[OpenSIPS-Users] Opensips doesn't react to 200 on BYE

Daniel Moreira Yokoyama moreira.yokoyama at gmail.com
Thu Mar 17 15:20:05 CET 2016


Hi Daniel.

Thanks for the advice.

I wonder, once opensips sends the 200 to the UAC, how should it deal with
the BYE to the UAS from now on?


Thanks again.


Atenciosamente,

Daniel Moreira Yokoyama.
@dmyoko
http://twitter.com/dmyoko

TrafficTalks
Um podcast sobre cinema feito a partir de conversas de trânsito.
http://traffictalks.com.br


2016-03-17 10:55 GMT-03:00 Daniel Zanutti <daniel.zanutti at gmail.com>:

> Hi Daniel
>
> SIPP is a litte tricky to work with proxies, you need to double check
> routes and Via headers.
>
> Here is what I'm using on BYE:
>
>       BYE [next_url] SIP/2.0
>       Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
>       [routes]
>       From: <sip:[$1]@[$2]:[local_port]>;tag=[pid]SIPpTag00[call_number]
>       To: <sip:[field0]@[$2]:[remote_port]>[peer_tag_param]
>       Call-ID: [call_id]
>       CSeq: 2 BYE
>       Contact: sip:sipp@[local_ip]:[local_port]
>       Max-Forwards: 70
>       Subject: Performance Test
>       Content-Length: 0
>
> Using these vars:
>       <assignstr assign_to="1" value="fromuser" />
>       <assignstr assign_to="2" value="fromdomain" />
>
> About Opensips, you can manipulate the BYE on loose_route and send
> anything you want, but you have to make sure you don't break something
> else. Like this:
>
> if(loose_route())
> {
>         ...
> if (is_method("BYE"))
> {
> xlog("L_NOTICE", "LOG BYE -> SEND 200 OK");
> sl_send_reply("200", "OK");
> }
>         ...
> }
>
> On Thu, Mar 17, 2016 at 10:35 AM, Daniel Moreira Yokoyama <
> moreira.yokoyama at gmail.com> wrote:
>
>> Hi.
>>
>> During stress tests (using SIPP as UAC and UAS) Opensips receives a BYE
>> request from UAC and relays it to UAS.
>>
>> The problem is, when the UAS responds 200 to it, Opensips seems to be
>> ignore it (may it be because of it misses it among the thousands of other
>> messages being exchanged, may it be for any other reason I can't figure
>> out).
>>
>> The RFC says that on BYE, in case of a 4xx or a timeout, the dialog
>> should be considered terminated... but what opensips does in this scenario
>> is to retry the BYE a couple of times (and SIPP seems to ignore it, once it
>> consider the dialog finished, i guess) and finally opensips sends a 408 to
>> the UAC.
>>
>> The way I see it, unless I'm missing something, I should be able to react
>> to a BYE by immediately send a 200 to the UAC despite of what happens
>> between opensips and UAS (accodingly to what I learn from the RFC). And,
>> concerning to the UAS, Opensips also should send the BYE and consider the
>> dialog finished regardless of receiving the 200 or not (it should not try
>> to send the BYE again).
>>
>> If I'm right, how should I set opensips to behave this way?
>>
>> If I'm wrong, what should be the way to handle this scenario?
>>
>> Atenciosamente,
>>
>> Daniel Moreira Yokoyama.
>> @dmyoko
>> http://twitter.com/dmyoko
>>
>> TrafficTalks
>> Um podcast sobre cinema feito a partir de conversas de trânsito.
>> http://traffictalks.com.br
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>
> _______________________________________________
> 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/20160317/ff08d786/attachment.htm>


More information about the Users mailing list