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

Reply via email to