[OpenSIPS-Users] Strange behavior with BYE message on Opensips 2.1

Bogdan-Andrei Iancu bogdan at opensips.org
Wed Nov 16 15:17:50 CET 2016


Hi Guillaume,

You need to keep in mind that the fix_nated_contact() should be done 
(usually) for replies coming from users (potentially behind a NAT). You 
should not do it for traffic coming from other SIP servers.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 16.11.2016 15:36, guillaume Montassier wrote:
> Hi Bogdan,
>
> Thank you for your answer.
> You were right, our SBC was sending us a broken BYE.
>
> Thank you for your enlightenment, it really save me this time.
>
> Guillaume,
>
>
> On 15/11/2016 18:33, Bogdan-Andrei Iancu wrote:
>> Hi Guillaume,
>>
>> The incoming BYE is broken - the IP of your OpenSIPS can be found 
>> both in RURI and in the top Route header. As the IP is found in RURI 
>> makes OpenSIPS think that the previous hop was a strict router. and 
>> this leads to the infinite loop.
>>
>> Looking at it, I see the typical mistake of doing a 
>> fix_nated_contact() and overwriting the original contact URI in the 
>> 200 OK for INVITE (this contact is used as part of the routing set 
>> for routing back sequential requests like BYE)
>>
>> Regards,
>> Bogdan-Andrei Iancu
>> OpenSIPS Founder and Developer
>> http://www.opensips-solutions.com
>> On 15.11.2016 19:12, guillaume Montassier wrote:
>>> Hello all,
>>>
>>> I'm working a project with multiples opensips (each handling a 
>>> particular role).
>>> So when an invite goes in our plateform, it crosse multiples openips 
>>> and can even sometime go though a specific opensips multiples times.
>>> My problem is: When the called send a BYE I have a strange behavior. 
>>> One of my opensips which receive the BYE resend it to itself and 
>>> suppress the wrong route (last route instead of the first route...).
>>>
>>> - For example this is the BYE message my opensips receive :
>>>
>>> 2016/11/15 15:24:08.316573*172.99.37.70:5060* -> *172.99.37.52:5060*
>>> BYE sip:*test2-o36onlarnncrd at 172.99.37.52:5060*;transport=udp SIP/2.0
>>> Route: <sip:*172.99.37.52*;lr;did=7bb.ca4be925>                     
>>>                 =>*itself*
>>> Route: <sip:*172.99.37.52:5061*;lr;ftag=as2d12af76;did=7bb.af095117> 
>>>                                     =>*Next hope*
>>> Route: <sip:172.99.37.70;lr;did=7bb.40f20381>
>>> Route: <sip:172.99.37.59;lr;ftag=as2d12af76;did=7bb.70c3b743>
>>> Route: <sip:172.99.37.52:5062;lr;ftag=as2d12af76;did=7bb.bc13056>
>>> Route: <sip:172.99.37.52:5061;lr;ftag=as2d12af76;did=7bb.9f095117>
>>> Route: <sip:172.99.37.52;lr;did=7bb.ba4be925>
>>>
>>>
>>> - This is what I should have as result (It remove itself from the 
>>> Route header and send the BYE to the next hop (which is 
>>> 172.99.37.52:5061) ):
>>>
>>> 2016/11/15 15:24:08.316573 *172.99.37.52:5060* -> 
>>> *172.99.37.52:5061*                                     =>*Send to 
>>> Next hope*
>>> BYE sip:test2-o36onlarnncrd at 172.99.37.52:5060;transport=udp SIP/2.0
>>> *Route*: 
>>> <sip:*172.99.37.52:5061*;lr;ftag=as2d12af76;did=7bb.af095117>     
>>>                                 =>*Next hope is the first route header*
>>> Route: <sip:*172.99.37.70*;lr;did=7bb.40f20381>
>>> Route: <sip:172.99.37.59;lr;ftag=as2d12af76;did=7bb.70c3b743>
>>> Route: <sip:172.99.37.52:5062;lr;ftag=as2d12af76;did=7bb.bc13056>
>>> Route: <sip:172.99.37.52:5061;lr;ftag=as2d12af76;did=7bb.9f095117>
>>> Route: <sip:172.99.37.52;lr;did=7bb.ba4be925>
>>>
>>>
>>> - This is what I have (send to itself and remove the wrong route...):
>>>
>>> 2016/11/15 15:24:08.316573 *172.99.37.52:5060* -> 
>>> *172.99.37.52:5060*                                     =>*send to 
>>> itself*
>>> BYE*sip:172.99.37.52:5060*;transport=udp SIP/2.0                     
>>>             =>*modify bye?*
>>> *Route*: <sip:*172.99.37.52*;lr;did=7bb.ca4be925>                 
>>>                     =>*don't supress the route header*
>>> Route: <sip:172.99.37.52:5061;lr;ftag=as2d12af76;did=7bb.af095117>
>>> Route: <sip:172.99.37.70;lr;did=7bb.40f20381>
>>> Route: <sip:172.99.37.59;lr;ftag=as2d12af76;did=7bb.70c3b743>
>>> Route: <sip:172.99.37.52:5062;lr;ftag=as2d12af76;did=7bb.bc13056>
>>> Route: <sip:172.99.37.52:5061;lr;ftag=as2d12af76;did=7bb.9f095117>
>>> =>*The last route is suppress*
>>>
>>>
>>> I know that my first header route is the same than my last header 
>>> route, and maybe this is why I have this beavior, but this seems 
>>> really odd to me.
>>>
>>> Thank you all,
>>>
>>> /Guillaume
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20161116/8f6658a1/attachment.htm>


More information about the Users mailing list