RTP proxy dialog impacted by async

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

RTP proxy dialog impacted by async

Callum Guy
Hi OpenSIPs Community,

I wanted to report an issue I discovered when attempting to use the rtpproxy module, using the dialog backed rtpproxy_engage() function. Finding that it was not engaging in certain scenarios I took a closer look at the activity on the control port and discovered that OpenSIPS never sent a request to open the session in this scenario.

To help illustrate, here is an example control port sequence of a properly engaged call:

65098_11 UR8.8.8.8c9,8,0,3,101,13 the-call-id 192.168.153.223 10248 from-tag;1
65118_19 LR8.8.8.8c8,101 the-call-id 192.168.153.223 10248 from-tag;1 to-tag;1

In my scenario the UR (create session) request was never received. Without claiming any expertise on the rtpproxy protocol this was clearly not correct and the LC (update session) request could not locate a session to act on.

Following a fairly lengthy investigation I traced the issue back to my usage of the async() function where i was issuing the rtpproxy_engage() request before calling async for another purpose. The solution was simply to move the rtpproxy_engage() call to after the async method.

I'm happy that the issue is resolved for my requirements however I thought I would share the experience to the list in case others found themselves having a similar issue.

Thanks!

Callum


0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: RTP proxy dialog impacted by async

Bogdan-Andrei Iancu-2
Hi,

Shortly said, if you do rtpproxy_engage() *before* an async call, the create session is not triggered  ?

Regards,
Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Summit 2019
  https://www.opensips.org/events/Summit-2019Amsterdam/
On 03/08/2019 04:30 PM, Callum Guy wrote:
Hi OpenSIPs Community,

I wanted to report an issue I discovered when attempting to use the rtpproxy module, using the dialog backed rtpproxy_engage() function. Finding that it was not engaging in certain scenarios I took a closer look at the activity on the control port and discovered that OpenSIPS never sent a request to open the session in this scenario.

To help illustrate, here is an example control port sequence of a properly engaged call:

65098_11 UR8.8.8.8c9,8,0,3,101,13 the-call-id 192.168.153.223 10248 from-tag;1
65118_19 LR8.8.8.8c8,101 the-call-id 192.168.153.223 10248 from-tag;1 to-tag;1

In my scenario the UR (create session) request was never received. Without claiming any expertise on the rtpproxy protocol this was clearly not correct and the LC (update session) request could not locate a session to act on.

Following a fairly lengthy investigation I traced the issue back to my usage of the async() function where i was issuing the rtpproxy_engage() request before calling async for another purpose. The solution was simply to move the rtpproxy_engage() call to after the async method.

I'm happy that the issue is resolved for my requirements however I thought I would share the experience to the list in case others found themselves having a similar issue.

Thanks!

Callum


0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: RTP proxy dialog impacted by async

Bogdan-Andrei Iancu-2
Let me try to reproduce it quickly.

Regards,
Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Summit 2019
  https://www.opensips.org/events/Summit-2019Amsterdam/
On 03/11/2019 10:37 AM, Callum Guy wrote:
Hi Bogdan,

Yes, that's correct. 

In my scenario I created the dialog, engaged rtpproxy and then performed an async rest_post. The result was that the session creation was not triggered on the remote rtpproxy.

Let me know if I can provide any further information.

Many thanks,

Callum

On Mon, 11 Mar 2019 at 07:26, Bogdan-Andrei Iancu <[hidden email]> wrote:
Hi,

Shortly said, if you do rtpproxy_engage() *before* an async call, the create session is not triggered  ?

Regards,
Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Summit 2019
  https://www.opensips.org/events/Summit-2019Amsterdam/
On 03/08/2019 04:30 PM, Callum Guy wrote:
Hi OpenSIPs Community,

I wanted to report an issue I discovered when attempting to use the rtpproxy module, using the dialog backed rtpproxy_engage() function. Finding that it was not engaging in certain scenarios I took a closer look at the activity on the control port and discovered that OpenSIPS never sent a request to open the session in this scenario.

To help illustrate, here is an example control port sequence of a properly engaged call:

65098_11 UR8.8.8.8c9,8,0,3,101,13 the-call-id 192.168.153.223 10248 from-tag;1
65118_19 LR8.8.8.8c8,101 the-call-id 192.168.153.223 10248 from-tag;1 to-tag;1

In my scenario the UR (create session) request was never received. Without claiming any expertise on the rtpproxy protocol this was clearly not correct and the LC (update session) request could not locate a session to act on.

Following a fairly lengthy investigation I traced the issue back to my usage of the async() function where i was issuing the rtpproxy_engage() request before calling async for another purpose. The solution was simply to move the rtpproxy_engage() call to after the async method.

I'm happy that the issue is resolved for my requirements however I thought I would share the experience to the list in case others found themselves having a similar issue.

Thanks!

Callum


0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: RTP proxy dialog impacted by async

Bogdan-Andrei Iancu-2
In reply to this post by Bogdan-Andrei Iancu-2
Hi Callum,

I looked a bit into this. Checking the code, I see that the session creation is triggered on the spot when the rtpproxy_engage() is called...so it is a bit difficult to miss :D...

Also I tried by running a simple cfg like:

route {
    ....
    if (is_method("INVITE")) {
        create_dialog();
        do_accounting("log");
        rtpproxy_engage();
    }

    if (!lookup("location","m")) {
        t_reply("404", "Not Found");
        exit;
    }
    async( usleep("1000"), after_usleep );
}

route[after_usleep] {
    route(relay);
}

And I got both U and L

U 2019/03/14 19:15:51.618487 127.0.0.1:60966 -> 127.0.0.1:4545
  3793_11 Uc0,2,4,8,18,96,97,98,101 [hidden email] 10.0.0.12 163
  90 d6119dad8d81e378o2;1    

U 2019/03/14 19:16:05.813619 127.0.0.1:58127 -> 127.0.0.1:4545
  3795_11 Lc0,3,110,8,98,101 [hidden email] 10.10.0.15 8000 d6119
  dad8d81e378o2;1 5a60fb3a;1   

Am I missing something here ?

Regards,
Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Summit 2019
  https://www.opensips.org/events/Summit-2019Amsterdam/
On 03/11/2019 10:37 AM, Callum Guy wrote:
Hi Bogdan,

Yes, that's correct. 

In my scenario I created the dialog, engaged rtpproxy and then performed an async rest_post. The result was that the session creation was not triggered on the remote rtpproxy.

Let me know if I can provide any further information.

Many thanks,

Callum

On Mon, 11 Mar 2019 at 07:26, Bogdan-Andrei Iancu <[hidden email]> wrote:
Hi,

Shortly said, if you do rtpproxy_engage() *before* an async call, the create session is not triggered  ?

Regards,
Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Summit 2019
  https://www.opensips.org/events/Summit-2019Amsterdam/
On 03/08/2019 04:30 PM, Callum Guy wrote:
Hi OpenSIPs Community,

I wanted to report an issue I discovered when attempting to use the rtpproxy module, using the dialog backed rtpproxy_engage() function. Finding that it was not engaging in certain scenarios I took a closer look at the activity on the control port and discovered that OpenSIPS never sent a request to open the session in this scenario.

To help illustrate, here is an example control port sequence of a properly engaged call:

65098_11 UR8.8.8.8c9,8,0,3,101,13 the-call-id 192.168.153.223 10248 from-tag;1
65118_19 LR8.8.8.8c8,101 the-call-id 192.168.153.223 10248 from-tag;1 to-tag;1

In my scenario the UR (create session) request was never received. Without claiming any expertise on the rtpproxy protocol this was clearly not correct and the LC (update session) request could not locate a session to act on.

Following a fairly lengthy investigation I traced the issue back to my usage of the async() function where i was issuing the rtpproxy_engage() request before calling async for another purpose. The solution was simply to move the rtpproxy_engage() call to after the async method.

I'm happy that the issue is resolved for my requirements however I thought I would share the experience to the list in case others found themselves having a similar issue.

Thanks!

Callum


0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
Reply | Threaded
Open this post in threaded view
|

Re: RTP proxy dialog impacted by async

Callum Guy
Hi Bogdan,

Thank you for taking the time to look into this.

I've jumped back onto the system and have repeated the test this morning and am finding that it now is working as expected.

I'm baffled as my original test scenario was reproducible on every call. I will have to put this down to "external unknown factors" and apologise for reporting an issue that doesn't exist!

Best Regards,

Callum

On Thu, 14 Mar 2019 at 17:31, Bogdan-Andrei Iancu <[hidden email]> wrote:
Hi Callum,

I looked a bit into this. Checking the code, I see that the session creation is triggered on the spot when the rtpproxy_engage() is called...so it is a bit difficult to miss :D...

Also I tried by running a simple cfg like:

route {
    ....
    if (is_method("INVITE")) {
        create_dialog();
        do_accounting("log");
        rtpproxy_engage();
    }

    if (!lookup("location","m")) {
        t_reply("404", "Not Found");
        exit;
    }
    async( usleep("1000"), after_usleep );
}

route[after_usleep] {
    route(relay);
}

And I got both U and L

U 2019/03/14 19:15:51.618487 127.0.0.1:60966 -> 127.0.0.1:4545
  3793_11 Uc0,2,4,8,18,96,97,98,101 [hidden email] 10.0.0.12 163
  90 d6119dad8d81e378o2;1    

U 2019/03/14 19:16:05.813619 127.0.0.1:58127 -> 127.0.0.1:4545
  3795_11 Lc0,3,110,8,98,101 [hidden email] 10.10.0.15 8000 d6119
  dad8d81e378o2;1 5a60fb3a;1   

Am I missing something here ?

Regards,
Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Summit 2019
  https://www.opensips.org/events/Summit-2019Amsterdam/
On 03/11/2019 10:37 AM, Callum Guy wrote:
Hi Bogdan,

Yes, that's correct. 

In my scenario I created the dialog, engaged rtpproxy and then performed an async rest_post. The result was that the session creation was not triggered on the remote rtpproxy.

Let me know if I can provide any further information.

Many thanks,

Callum

On Mon, 11 Mar 2019 at 07:26, Bogdan-Andrei Iancu <[hidden email]> wrote:
Hi,

Shortly said, if you do rtpproxy_engage() *before* an async call, the create session is not triggered  ?

Regards,
Bogdan-Andrei Iancu

OpenSIPS Founder and Developer
  https://www.opensips-solutions.com
OpenSIPS Summit 2019
  https://www.opensips.org/events/Summit-2019Amsterdam/
On 03/08/2019 04:30 PM, Callum Guy wrote:
Hi OpenSIPs Community,

I wanted to report an issue I discovered when attempting to use the rtpproxy module, using the dialog backed rtpproxy_engage() function. Finding that it was not engaging in certain scenarios I took a closer look at the activity on the control port and discovered that OpenSIPS never sent a request to open the session in this scenario.

To help illustrate, here is an example control port sequence of a properly engaged call:

65098_11 UR8.8.8.8c9,8,0,3,101,13 the-call-id 192.168.153.223 10248 from-tag;1
65118_19 LR8.8.8.8c8,101 the-call-id 192.168.153.223 10248 from-tag;1 to-tag;1

In my scenario the UR (create session) request was never received. Without claiming any expertise on the rtpproxy protocol this was clearly not correct and the LC (update session) request could not locate a session to act on.

Following a fairly lengthy investigation I traced the issue back to my usage of the async() function where i was issuing the rtpproxy_engage() request before calling async for another purpose. The solution was simply to move the rtpproxy_engage() call to after the async method.

I'm happy that the issue is resolved for my requirements however I thought I would share the experience to the list in case others found themselves having a similar issue.

Thanks!

Callum


0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.



_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.




0333 332 0000  |  www.x-on.co.uk  |        

X-on is a trading name of Storacall Technology Ltd a limited company registered in England and Wales.
Registered Office : Avaland House, 110 London Road, Apsley, Hemel Hempstead, Herts, HP3 9SD. Company Registration No. 2578478.
The information in this e-mail is confidential and for use by the addressee(s) only. If you are not the intended recipient, please notify X-on immediately on +44(0)333 332 0000 and delete the
message from your computer. If you are not a named addressee you must not use, disclose, disseminate, distribute, copy, print or reply to this email.
Views or opinions expressed by an individual
within this email may not necessarily reflect the views of X-on or its associated companies. Although X-on routinely screens for viruses, addressees should scan this email and any attachments
for viruses. X-on makes no representation or warranty as to the absence of viruses in this email or any attachments.


_______________________________________________
Users mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users