Hi Mickael,
Try to start a ngrep on the proxy. You will see exactly who sends the
second BYE.
Does this scenario happen for every call?
Regards,
Razvan Crainea
OpenSIPS Developer
On 29.07.2011 16:33, mick...@winlux.fr wrote:
Hi Razvan,
I crated:
/#The local route is executed automatically when a new SIP request is generated
by TM, internally (no UAC side)
local_route {
xlog("L_INFO","Local Route Method $rm - fu : $fu , ru : $ru , si : $si
\n");
if (is_method("BYE") ) {
xlog("L_INFO","internally generated BYE");
}
}
/
But I see no BYE sent by my proxy!
Function is working correctly because I see the local OPTIONS drouting
generated.
And yet, with wireskark, I see that the second BYE,comes from my OpenSIPS.
I don't understand ...
On Fri, 29 Jul 2011 15:38:47 +0300, Razvan Crainea wrote:
> Hi Mickael,
>
> The function was also added in OpenSIPS 1.6.4 in svn revision 8195.
> If you script is dialog aware, then using this function will work.
> You can catch the locally generated BYE in a local_route. There you
> can use this function to test if the BYE has already been relayed.
>
> Regards,
>
> Razvan Crainea
> OpenSIPS Developer
>
>
> On 29.07.2011 15:20, mick...@winlux.fr wrote:
>> Thanks Razvan,
>> my version is 1.6.4-2-tls (svn revision: 2:8151)
>> but this function will work in ? knowing that my OpenSIPS generate this
second BYE.
>>
>> Ex:
>> - UAC --> BYE --> Opensips --> BYE --> provider
>> after 0,01s
>> - Opensips --> BYE --> provider
>> after
>> - provider --> 500 error -> opensips
>>
>> Regards,
>>
>> On Fri, 29 Jul 2011 15:11:29 +0300, Razvan Crainea wrote:
>>> Hi Mickael,
>>>
>>> What version of OpenSIPS are you using? You can find a useful
>>> function on trunk: test_and_set_dlg_flag [1]
>>> This function is executed atomically, so you can set a flag for the
>>> first BYE. When the second BYE comes, if the flag is set you can
>>> ignore it.
>>>
>>> Regards,
>>>
>>> [1]
>>> http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480
>>> [3]
>>>
>>> Razvan Crainea
>>> OpenSIPS Developer
>>>
>>> On 29.07.2011 14:54, mick...@winlux.fr [4] wrote:
>>>
>>>> I'm sorry if you receive this message twice, I had a problem sending
>>>> mail to users mailing list
>>>>
>>>> So ....
>>>>
>>>> I list,
>>>>
>>>> I have a little problem with my proxy
>>>> (OpenSIPS/1.6.4-2-tls/i386/freebsd) and my voip provider
>>>> (CISCO-SBC/2.x and CS2000_NGSS/9.0).
>>>>
>>>> In fact, my opensips send 2 BYE (Screenshot below)
>>>>
>>>> 2.2.2.2, 1.1.1.1, 3.3.3.3 are public IP
>>>>
>>>> - My UAC (2.2.2.2) send BYE to my proxy Opensips (1.1.1.1), Opensips
>>>> resend this BYE to my provider (3.3.3.3).
>>>> - But after 0.01s my proxy send second BYE to my provider.
>>>> - Therefore my provider answer with 500 error.
>>>> - I think my proxy hangup dial and transfer this error to my UAC.
>>>> - But my provider send a 200OK after this error.
>>>>
>>>> Why my proxy send 2 BYE ? Timer is to short ? how to change this
>>>> timer? Is T1 default value 500ms ?
>>>>
>>>> -- BYE configuration (simple configuration):
>>>>
>>>> _if (is_method("BYE"))_
>>>> _ {_
>>>> _ t_on_reply("4");_
>>>> _
>>>>
>>>
>>>
xlog("L_INFO","################################################################################
>>>
>>>> n");_
>>>> _ xlog("L_INFO","END OF CALL : call-id $ci n");_
>>>> _ if($avp(s:debugcall)=~"yes"){ xlog("L_INFO","In HAS_TOTAG - Method
>>>> BYE - fu : $fu , ru : $ru , si : $si n"); }_
>>>> _
>>>>
>>>
>>>
xlog("L_INFO","################################################################################
>>>
>>>> n");_____
>>>>
>>>> _ setflag(1); # do accounting ..._
>>>> _ setflag(2); #missed call ..._
>>>> _ setflag(3); # ... even if the transaction fails_
>>>> _ setflag(4); #flag dialog___
>>>>
>>>> _ if(is_present_hf("Proxy-Authorization"))_
>>>> _ {_
>>>> _ remove_hf("Proxy-Authorization");_
>>>> _ }_
>>>>
>>>> _ t_relay();_
>>>> _ }_
>>>>
>>>> -- On reply configuration (for a test I wanted to delete the 500
>>>> message, but impossible to remove) :
>>>>
>>>> _onreply_route[4]_
>>>> _{_
>>>> _ xlog("L_INFO","$ci In ONREPLY ROUTE 4 - fu : $fu , ru : $ru , si :
>>>> $si , status : $rs n");_
>>>> _ if( t_check_status("500") ){_
>>>> _ xlog("L_INFO","DROP 500n");_
>>>> _ drop();___
>>>> _ }_
>>>> _}_
>>>>
>>>> After several days of searching, Im stranded. So Id like your
>>>> opinion about it.
>>>>
>>>> PS: complete sip capture.
>>>>
>>>> thank in advance
>>>>
>>>> Mickael
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users@lists.opensips.org [1]
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users [2]
>>>
>>>
>>> Links:
>>> ------
>>> [1] mailto:Users@lists.opensips.org
>>> [2] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>> [3] http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480
>>> [4] mailto:mick...@winlux.fr
>>
>
> _______________________________________________
> Users mailing list
> Users@lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users