[OpenSIPS-Users] FW: Asynchronous operation for REST queries

Liviu Chircu liviu at opensips.org
Wed Sep 14 18:25:27 CEST 2016


So you are doing the $rc < 0 check in the beginning of the resume_route? 
If yes, could you treat ASYNC_SYNCas a success (it actually is!), and 
see if your output variables are properlypopulated with the transferred 
data?

Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com

On 14.09.2016 18:58, Ramachandran, Agalya (Contractor) wrote:
>
> Hi Liviu,
>
> I understand this way.
>
> When we are getting more calls in opensips, and  the TCP port is been 
> open in that particular time window.
>
> At that time when it tries to send HTTP request, start_async_http_req 
> is called, since is the port is already open, it is assuming that 
> async is completed.
>
> Am I right?
>
> *most of the call fails*– meaning that for first 15 to 20 calls call 
> is successful from end to end.
>
> After that for the rest of the calls, it fails because *ASYNC_SYNC* is 
> returned and hits resume_route.
>
> Here $rc is -4 (ASYNC_SYNC), which is $rc < 0, and am sending 403 
> Forbidden, due to which other calls are failing.
>
> In the resume function, I have added some logic after getting the HTTP 
> response, what should be done for further handling INVITE request.
>
> In these failure calls,  it never had a chance to hit the resume 
> function and hence other calls are failing.
>
> Regards,
>
> Agalya
>
> *From:*Liviu Chircu [mailto:liviu at opensips.org]
> *Sent:* Wednesday, September 14, 2016 4:45 AM
> *To:* Ramachandran, Agalya (Contractor) 
> <Agalya_Ramachandran at comcast.com>; OpenSIPS users mailling list 
> <users at lists.opensips.org>
> *Subject:* Re: [OpenSIPS-Users] FW: Asynchronous operation for REST 
> queries
>
> If you notice that log, then the transfer was completed together with 
> the TCP connect operation, an ideal situation! There is no need to 
> call the resume function anymore, since we already have all the data. 
> As soon as we return ASYNC_SYNC, the resume_route will be called.
>
> What do you mean by "most of the call fails"? Are you missing any data?
>
> Liviu Chircu
> OpenSIPS Developer
> http://www.opensips-solutions.com
>
> On 13.09.2016 21:56, Ramachandran, Agalya (Contractor) wrote:
>
>     Hi Liviu,
>
>     One more observance.  Am trying to load test on the main branch
>     where you have provided your fix.
>
>     Am using REST API as, async. After receiving the response for the
>     HTTP request, I will process the incoming SIP INVITE.
>
>     If am sending 50 calls at 2 calls per sec from sipp, -in this case
>     it works perfectly fine.
>
>     If am sending 50 calls at 5 calls per sec from sipp, most of the
>     call fails.
>
>     If I look at logs I could able to see that for failure case, it
>     hits start_async_http_req, but never resume function is called.
>
>     It is printing LM_DBG("done, no need for async!\n"); and returns
>     ASYNC_SYNC;
>
>     Any idea why for few calls, it is not acting as async?
>     Particularly if I increase cps, am seeing this behavior.
>
>     Please let me know if am missing something.
>
>     Regards,
>     Agalya
>
>     *From:*users-bounces at lists.opensips.org
>     <mailto:users-bounces at lists.opensips.org>
>     [mailto:users-bounces at lists.opensips.org] *On Behalf Of
>     *Ramachandran, Agalya (Contractor)
>     *Sent:* Tuesday, September 13, 2016 2:14 PM
>     *To:* Liviu Chircu <liviu at opensips.org>
>     <mailto:liviu at opensips.org>; OpenSIPS users mailling list
>     <users at lists.opensips.org> <mailto:users at lists.opensips.org>
>     *Subject:* Re: [OpenSIPS-Users] FW: Asynchronous operation for
>     REST queries
>
>     Hi Liviu,
>
>     I have configured “Connection_timeout” value as ‘1’ and ran 2 sipp
>     calls.
>
>     After TCP port is opened, HTTP request is sent out approx. 95 to
>     100ms later. Am attaching the log of the opensips by enabling
>     debugging log.
>
>     I took the code from master branch and tested it out. If you find
>     everything OK let me know.
>
>     Or if you feel to test any specific scenario please update me, so
>     that I can test and share you the results.
>
>     P.S:
>
>     One more observance.
>
>     In the case of synchronous, TCP port is opened within 8 ms,
>     whereas in the case of async TCP port is opening after 100 ms.
>
>     Is it the expected behavior?.
>
>     What will be expected time to give this fix in a branch version?
>
>     Log file ~70 MB if I enable the debug calls for single call and
>     couldn’t post you that log, since it says limit for email is 40 MB.
>
>     Regards,
>     Agalya
>
>     *From:*Liviu Chircu [mailto:liviu at opensips.org]
>     *Sent:* Monday, September 12, 2016 4:06 AM
>     *To:* OpenSIPS users mailling list <users at lists.opensips.org
>     <mailto:users at lists.opensips.org>>; Ramachandran, Agalya
>     (Contractor) <Agalya_Ramachandran at comcast.com
>     <mailto:Agalya_Ramachandran at comcast.com>>
>     *Subject:* Re: FW:[OpenSIPS-Users] Asynchronous operation for REST
>     queries
>
>     Hi Agalya,
>
>     The "connection_timeout" is a configurable module parameter, so
>     tuning it properly might just solve your problem.
>
>     If you need more assistance, please enable debug logging
>     (log_level = 4), run the query and post the full log output.
>
>     Best regards,
>
>     Liviu Chircu
>
>     OpenSIPS Developer
>
>     http://www.opensips-solutions.com
>
>     On 09.09.2016 23:04, Ramachandran, Agalya (Contractor) wrote:
>
>         Hi Liviu,
>
>         I have tested the patch. Now I see the delay is 2 secs. i.e
>         after 2 secs it sends the HTTP request out.
>
>         I suspect this 2000 ms delay is due to the below field:
>
>         long connection_timeout = 20;
>
>         Can we reduce this field to 5 or 10, so that it waits only
>         half a second or second to send the request out.
>
>         Let me know your thoughts on this.
>
>         Am seeing the below message in logs. Is everything working as
>         you expected?
>
>         rest_client:start_async_http_req: libcurl TCP connect: we
>         should wait up to 1ms (timeout=20000ms)!
>
>         Regards,
>
>         Agalya
>
>         *From:*Liviu Chircu [mailto:liviu at opensips.org]
>         *Sent:* Thursday, September 08, 2016 7:05 AM
>         *To:* Ramachandran, Agalya (Contractor)
>         <Agalya_Ramachandran at comcast.com>
>         <mailto:Agalya_Ramachandran at comcast.com>; Bogdan-Andrei Iancu
>         <bogdan at opensips.org> <mailto:bogdan at opensips.org>; OpenSIPS
>         users mailling list <users at lists.opensips.org>
>         <mailto:users at lists.opensips.org>
>         *Subject:* Re: FW:[OpenSIPS-Users] Asynchronous operation for
>         REST queries
>
>         Hi, Agalya!
>
>         Regarding the 10s delay problem, a fix was pushed to the
>         development branch [1]. If you are running on 2.1.4 git
>         branch, could you please pull the latest changes (git pull
>         --rebase), and test it out? You can import it with:
>
>         git cherry-pick -x 66c337cc
>
>         [1]:
>         https://github.com/OpenSIPS/opensips/commit/66c337cc89a2b5c3e1bbd78c289371efcda21886
>
>         Best regards,
>
>         Liviu Chircu
>
>         OpenSIPS Developer
>
>         http://www.opensips-solutions.com
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20160914/c245f115/attachment-0001.htm>


More information about the Users mailing list