[OpenSIPS-Users] Problem Opensips send two BYE

Razvan Crainea razvancrainea at opensips.org
Fri Jul 29 15:57:25 CEST 2011


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, mickael at 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, mickael at 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, mickael at 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 at lists.opensips.org [1]
> >>>>  http://lists.opensips.org/cgi-bin/mailman/listinfo/users [2]
> >>>
> >>>
> >>>  Links:
> >>>  ------
> >>>  [1] mailto:Users at 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:mickael at winlux.fr
> >>
> >
> >  _______________________________________________
> >  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/20110729/9625306d/attachment.htm>


More information about the Users mailing list