Hello Liviu thank you for your time,you are correct I increased the
timeout to 5 sec and once the connections were established everything
was working as it should.
I feel foolish for this but I think i learned something.
Anyway here is the opensips.log with the extra logging just in case
Feb 26 13:52:25 /sbin/opensips[2114]:
INFO:rest_client:start_async_http_req: curl_multi_timeout(): retry_time
is 0ms
Feb 26 13:52:25 /sbin/opensips[2114]:
INFO:rest_client:start_async_http_req: curl_multi_timeout(): retry_time
is 2999ms
Feb 26 13:52:28 /sbin/opensips[2114]:
INFO:rest_client:start_async_http_req: curl_multi_timeout() returned -1,
pausing 500ms...
Feb 26 13:52:29 /sbin/opensips[2114]:
ERROR:rest_client:start_async_http_req: timeout while connecting to
'http://192.168.100.1:2080/jsonrpc' (3 sec)
Feb 26 13:52:29 /sbin/opensips[2114]:
INFO:rest_client:start_async_http_req: curl_multi_timeout(): retry_time
is 1ms
Feb 26 13:52:29 /sbin/opensips[2114]:
INFO:rest_client:start_async_http_req: curl_multi_timeout(): retry_time
is 2994ms
Feb 26 13:52:29 /sbin/opensips[2114]: RETURNED NOT NULL #xlog line for
async_request
Feb 26 13:52:29 /sbin/opensips[2114]:
INFO:rest_client:start_async_http_req: curl_multi_timeout(): retry_time
is 1ms
Hello koce!
Most likely, the issue is due to your restricting "connection_timeout =
1" module parameter. To quote from libcurl's documentation [1]: /"You
must not wait too long (more than a few seconds perhaps)". /This is why
I chose that 500 ms pause time upon running into that error condition,
which is basically 50% of your allowed blocking time already!
To better understand how much libcurl expects you to wait, you can apply
an extra logging patch:
/git apply <(wget -qO -
http://opensips.org/patches/rest_client_connect_timeout_logging.patch)
/Please re-compile your rest_client and re-run the test, and we'll draw
final conclusions afterwards!
[1]: https://curl.haxx.se/libcurl/c/curl_multi_timeout.html
Best regards,
Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com
On 23.02.2016 15:46, [email protected] wrote:
Hello I'm using OpenSIPS 2.1 latest from git and every time I call the
first async(rest_post) function from my script I experience
timeout,and the other calls to async(rest_post) after that point in
the script are OK, as if the first call is like a ping to the http
server it does not send any data to it,it only completes the TCP
handshake.
But if I put a dummy rest_post() function in front of the first
async(rest_post) it will send the data that is assigned to it and
after that the first async(rest_post) call and the rest that follow
will execute as planned.
To test if there is something wrong with the server that I'm
connecting to I tried another server that had nothing to do with the
original just to see if I get the same result and YES the
async(rest_post) to that server failed but the other async(rest_post)
who are interacting with the original server executed without a hitch.
Also I think it's related to this
https://github.com/OpenSIPS/opensips/issues/493 which is closed.
Could this be a possible bug,or am I missing something obvious ?
Also I installed curl 7.47.1 just to make sure it wasn't libcurl in
question and the same scenario happened again.
the errors that I got in opensips.log
====================
Feb 23 10:49:43 /sbin/opensips[25985]:
INFO:rest_client:start_async_http_req: curl_multi_timeout() returned
-1, pausing 500ms...
Feb 23 10:49:44 /sbin/opensips[25985]:
ERROR:rest_client:start_async_http_req: timeout while connecting to
'http://192.168.100.3:2080/jsonrpc' (1 sec)
====================
Feb 23 12:28:08 /sbin/opensips[26219]:
INFO:rest_client:start_async_http_req: curl_multi_timeout() returned
-1, pausing 500ms...
Feb 23 12:28:08 /sbin/opensips[26219]:
ERROR:rest_client:start_async_http_req: timeout while connecting to
'http://192.168.100.2:80/jsonrpc' (1 sec)
====================
NOTE: the IP's are substituted from the real ones which are public.
I'm attaching 2 flows from wireshark.
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users