[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