How to set mg_rpc_callf request timeout

When I call another device via mg_rpc_callf RPC and device is offline, callback function is never called, no request timeout error messages.

    struct mg_rpc_call_opts opts = {.dst = mg_mk_str("ws://192.168.50.153/rpc") };
    mg_rpc_callf(mgos_rpc_get_global(), mg_mk_str("FS.List"), handler, NULL, &opts, "{}");

Questions:

  1. Is it possible to get request timeout error response in the callback function? If yes, how to set timeout?
  2. By default is ws and wss schema are enabled. Is it any reasons to switch to HTTP?
  3. Does mongoose reopen websocket connection each time when you call mg_rpc_callf, or it caches socket connection?