<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<pre>Hi Razvan,

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