Hi Liviu,

Here is the dump from the time when the socket is opened and when the request 
sent out.
Highlighted in RED color. Any clue for this 10 sec delay?

17:29:56.430379 IP6 sturn-test.novalocal.44797 > 
destination.rtc.sys.comcast.net.webcache: Flags [S], seq 3356294440, win 28800, 
options [mss 1440,sackOK,TS val 3588300781 ecr 0,nop,wscale 7], length 0
        0x0000:  6000 0000 0028 0640 2001 0558 fc0b 0100  
`....([email protected]<mailto:[email protected]>....
        0x0010:  f816 3eff fed5 0bfe 2001 0558 fc11 0000  ..>........X....
        0x0020:  f816 3eff fe11 d5aa aefd 1f90 c80c fd28  ..>............(
        0x0030:  0000 0000 a002 7080 90bb 0000 0204 05a0  ......p.........
        0x0040:  0402 080a d5e1 1fed 0000 0000 0103 0307  ................
17:29:56.436526 IP6 destination.rtc.sys.comcast.net.webcache > 
sturn-test.novalocal.44797: Flags [S.], seq 4065018495, ack 3356294441, win 
28560, options [mss 1440,sackOK,TS val 1771678349 ecr 3588300781,nop,wscale 9], 
length 0
        0x0000:  6000 0000 0028 063a 2001 0558 fc11 0000  `....(.:...X....
        0x0010:  f816 3eff fe11 d5aa 2001 0558 fc0b 0100  ..>........X....
        0x0020:  f816 3eff fed5 0bfe 1f90 aefd f24b 427f  ..>..........KB.
        0x0030:  c80c fd29 a012 6f90 755f 0000 0204 05a0  ...)..o.u_......
        0x0040:  0402 080a 6999 aa8d d5e1 1fed 0103 0309  ....i...........
17:29:56.436575 IP6 sturn-test.novalocal.44797 > 
destination.rtc.sys.comcast.net.webcache: Flags [.], ack 1, win 225, options 
[nop,nop,TS val 3588300787 ecr 1771678349], length 0
        0x0000:  6000 0000 0020 0640 2001 0558 fc0b 0100  `[email protected]....
        0x0010:  f816 3eff fed5 0bfe 2001 0558 fc11 0000  ..>........X....
        0x0020:  f816 3eff fe11 d5aa aefd 1f90 c80c fd29  ..>............)
        0x0030:  f24b 4280 8010 00e1 90b3 0000 0101 080a  .KB.............
        0x0040:  d5e1 1ff3 6999 aa8d                      ....i...

17:30:06.667279 IP6 sturn-test.novalocal.44797 > 
destination.rtc.sys.comcast.net.webcache: Flags [P.], seq 1:681, ack 1, win 
225, options [nop,nop,TS val 3588311018 ecr 1771678349], length 680
PUT./RTCGSessionManager/rest/tel/session/createroom?uid=pp&[email protected]/1.1..Host:.tr-sm-as-a-001.rtc.sys.comcast.net:8080..Accept:.*/*..Conten<mailto:PUT./RTCGSessionManager/rest/tel/session/createroom?uid=pp&[email protected]/1.1..Host:.tr-sm-as-a-001.rtc.sys.comcast.net:8080..Accept:.*/*..Conten>
 
t-Type:.application/json..Uid:.pp..serviceId:.tel..custguid:[email protected].
 
239...x-tracking-id:.820..X-Trace:[email protected]:.RTCGSM..x-client-name:.IMS
x-source-id:.OpenSIP..user-agent:.OpenSIPv1.11.3..device-id:[email protected].
 239...Content-Length:.211....{"participantsInfo" 
:["2155551212"],"callType":"audio","instanceId": "[email protected]. 
231.239.<mailto:[email protected].%20231.239.>","fromUID":"pp","fromTN":"pp","isOpenSipRequest":true,"
 displayName":"Call.From.IMS","deviceType":"Android/iOS/STB/IMS"}

17:30:06.672819 IP6 destination.rtc.sys.comcast.net.webcache > 
sturn-test.novalocal.44797: Flags [.], ack 681, win 59, options [nop,nop,TS val 
1771688585 ecr 3588311018], length 0
        0x0000:  6000 0000 0020 063a 2001 0558 fc11 0000  `......:...X....
        0x0010:  f816 3eff fe11 d5aa 2001 0558 fc0b 0100  ..>........X....
        0x0020:  f816 3eff fed5 0bfe 1f90 aefd f24b 4280  ..>..........KB.
        0x0030:  c80c ffd1 8010 003b c0cd 0000 0101 080a  .......;........
        0x0040:  6999 d289 d5e1 47ea                      i.....G.
17:30:06.778978 IP6 destination.rtc.sys.comcast.net.webcache > 
sturn-test.novalocal.44797: Flags [P.], seq 1:358, ack 681, win 59, options 
[nop,nop,TS val 1771688691 ecr 3588311018], length 357
        0x0000:  6000 0000 0185 063a 2001 0558 fc11 0000  `......:...X....
        0x0010:  f816 3eff fe11 d5aa 2001 0558 fc0b 0100  ..>........X....
        0x0020:  f816 3eff fed5 0bfe 1f90 aefd f24b 4280  ..>..........KB.
        0x0030:  c80c ffd1 8018 003b 8583 0000 0101 080a  .......;........
        0x0040:  6999 d2f3 d5e1 47ea 4854 5450 2f31 2e31  i.....G.HTTP/1.1
        0x0050:  2032 3030 204f 4b0d 0a53 6572 7665 723a  .200.OK..Server:

...

Regards,
Agalya
From: Ramachandran, Agalya (Contractor)
Sent: Friday, August 26, 2016 12:01 PM
To: 'Liviu Chircu' <[email protected]>
Subject: RE: FW: [OpenSIPS-Users] Asynchronous operation for REST queries

Hi Liviu,

As I already emailed you, to contribute the source code there is some approval 
process in our organization.
If that goes though I can contribute the REST PUT code.

But I have a question in async operation in opensips.
When a async mode REST API is called either POST/PUT, I see that opensips waits 
for 10 sec of time and then only it sends out the HTTP request out to the 
network.
Why there is a huge wait time of 10sec?

When I tried to debug, I found it is looping inside the below for loop for long 
time in rest_methods.c  file, (but all that looping are taking same seconds, 
later 10 sec am getting HTTP response)
for (i = 0; i < busy_wait; i += check_time) {.....}

Wondering and interested to know about this delay time.
Please bear some of your time:). Thanks in advance.

Regards,
Agalya

From: Liviu Chircu [mailto:[email protected]]
Sent: Thursday, August 18, 2016 10:14 AM
To: Ramachandran, Agalya (Contractor) 
<[email protected]<mailto:[email protected]>>
Subject: Re: FW: [OpenSIPS-Users] Asynchronous operation for REST queries


Hi Agalya,

I am very busy these days and cannot afford to troubleshoot random problems 
with libcurl usage. Do you intend to open source the PUT function by making a 
Pull Request, after we fix it? If yes, it will definitely go up in my priority 
queue.

Liviu Chircu

OpenSIPS Developer

http://www.opensips-solutions.com
On 18.08.2016 16:13, Ramachandran, Agalya (Contractor) wrote:
Hi Liviu,

Please help me by giving some clue that what am missing on the below topic.
Your guidance here would be much helpful for me.

Regards,
Agalya

From: Ramachandran, Agalya (Contractor)
Sent: Tuesday, August 16, 2016 10:54 AM
To: [email protected]<mailto:[email protected]>
Subject: RE: [OpenSIPS-Users] Asynchronous operation for REST queries

Hi Bogdan/Liviu,

I have downloaded 2.1.4 version if opensips and trying to use rest_put call in 
async mode.

I have added the necessary code for rest_put () similar to rest_post() in 
rest_methods.c, rest_methods.h and rest_client.c
If I just call, rest_put from config file, without async it works fine. I could 
see rest_put() is called and do the necessary steps.

And am trying to call async from config file as,
 async(rest_put("http://***url*** <http://***url***%20> ", "$fU,$tU,$ci ", 
"application/json", "$var(body)", "$var(ct)", "$var(rcode)"),resume_put);

Further debugging I got some info that I can share with you so that you can 
help me out easily.
Instead of calling rest_put asynchronously I have tried to call rest_post async 
. I could able to see that HTTP request went out(from Wireshark traces) and I 
got 4xx response for the same.

With my code changes in place and when I call rest_put, am not seeing HTTP 
request sent out.
Assuming rest_put only is not working, there should be some libcurl stuffs not 
handled properly in 'start_async_http_req' for 'REST_CLIENT_PUT' case.

Am attaching the files that  contains code changes for rest_put only. I have 
removed other code in order to reduce the file size. Can you please take a look 
guide me here?.
Please let me know if you need more information on this.

Regards,
Agalya


From: [email protected]<mailto:[email protected]> 
[mailto:[email protected]] On Behalf Of Liviu Chircu
Sent: Friday, August 05, 2016 4:47 AM
To: [email protected]<mailto:[email protected]>
Subject: Re: [OpenSIPS-Users] Asynchronous operation for REST queries

Hi Agalya,

1.11 has no async support at core level. If you need that, you will have to use 
2.1+

Async rest_put() is currently not implemented, but its logic would be fairly 
similar to the GET and POST counterparts.

Liviu Chircu

OpenSIPS Developer

http://www.opensips-solutions.com
On 04.08.2016 23:14, Ramachandran, Agalya (Contractor) wrote:
Hi team,

We are using opensips1.11.3 version for our project.
I have a question here. Right now we are using a REST API call from config file 
for our project requirement and it is in synchronous mode currently.
>From the opensips document, I see asynchronous support at script level can be 
>done in 2.1 version.
Is it possible to change in asynchronous mode in 1.11 version?
If not, is there a way to achieve asynchronous REST calls for the version of 
opensips what we are using?

Also I see from documentation,

The following functions may also be called asynchronously:

  *   
avp_db_query<http://www.opensips.org/html/docs/modules/2.1.x/avpops.html#id294986>
  *   
rest_get<http://www.opensips.org/html/docs/modules/2.1.x/rest_client.html#id293741>
  *   
rest_post<http://www.opensips.org/html/docs/modules/2.1.x/rest_client.html#id293886>
  *   exec<http://www.opensips.org/html/docs/modules/2.1.x/exec#id294052>
Can rest_put can also be called asynchronously if we use 2.1 version ?
Please clarify.

Regards,
Agalya



_______________________________________________

Users mailing list

[email protected]<mailto:[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

Reply via email to