<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body>
<pre>Hi Razvan,</pre>
<p>It's my opensips generate second BYE:</p>
<p><span style="text-decoration: underline;">First BYE not generate, just transmit to provider:</span></p>
<p><em>U 1.1.1.1:5060 -&gt; 3.3.3.3:5060</em><br /><em>BYE sip:3.3.3.3:5060;transport=udp SIP/2.0.</em><br /><em>Via: SIP/2.0/UDP 1.1.1.1;branch=z9hG4bK6f1e.1ae76cf3.0.</em><br /><em>Via: SIP/2.0/UDP 1.1.1.1:5060;received=1.1.1.1;rport=5060;branch=z9hG4bKc70647f52389844ecd8d1103e651514c.</em><br /><strong><em>Route: &lt;sip:1.1.1.1;lr=on;ftag=9592a99927b4cd21;xyz=d32.73032395&gt;.</em></strong><br /><em>From: "Direction" &lt;sip:+33326793005@2.2.2.2&gt;;tag=9592a99927b4cd21.</em><br /><em>To: &lt;sip:+33262626262@1.1.1.1&gt;;tag=sip+1+347c0010+ea2ac41.</em><br /><em>Call-ID: c2fb7803cb9af9e4d85b965d731259a0@192.168.254.200.</em><br /><em>CSeq: 1613414671 BYE.</em><br /><em>Contact: "Direction" &lt;sip:+33326793005@1.1.1.1:5060;transport=udp&gt;.</em><br /><em>Max-Forwards: 69.</em><br /><em>Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, INFO, UPDATE.</em><br /><em>Supported: timer.</em><br /><em>Content-Length: 0.</em><br /><em>.</em></p>
<p><span style="text-decoration: underline;">Second BYE generate by my proxy:</span></p>
<p><br /><em>#</em><br /><em>U 1.1.1.1:5060 -&gt; 3.3.3.3:5060</em><br /><em>BYE sip:3.3.3.3:5060;transport=udp SIP/2.0.</em><br /><em>Via: SIP/2.0/UDP 1.1.1.1;branch=z9hG4bK6f1e.1ae76cf3.1.</em><br /><em>Via: SIP/2.0/UDP 1.1.1.1:5060;received=1.1.1.1;rport=5060;branch=z9hG4bKc70647f52389844ecd8d1103e651514c.</em><br /><em>From: "Direction" &lt;sip:+33326793005@2.2.2.2&gt;;tag=9592a99927b4cd21.</em><br /><em>To: &lt;sip:+33262626262@1.1.1.1&gt;;tag=sip+1+347c0010+ea2ac41.</em><br /><em>Call-ID: c2fb7803cb9af9e4d85b965d731259a0@192.168.254.200.</em><br /><em>CSeq: 1613414671 BYE.</em><br /><em>Contact: "Direction" &lt;sip:+33326793005@1.1.1.1:5060;transport=udp&gt;.</em><br /><em>Max-Forwards: 69.</em><br /><em>Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, INFO, UPDATE.</em><br /><em>Supported: timer.</em><br /><em>Content-Length: 0.</em></p>
<p>After this message, my provider (3.3.3.3) send error 500 (SIP/2.0 500 Server Internal Error).</p>
<p><span id="result_box"><span class="hps">The</span> <span class="hps">senario</span> <span class="hps">is repeated at each</span> <span class="hps">call</span><span>, even with</span> <span class="hps">different</span> <span class="hps">UAC.</span><br /> <span class="hps">If the</span> <span class="hps">BYE</span> <span class="hps">is generated by</span> <span class="hps">my provider</span> <span class="hps atn">(</span><span>3.3.3.3</span><span>)</span> <span class="hps">there is no</span> error<span class="hps">.</span></span></p>
<p><br />Ex:</p>
<p>My customer BYE --&gt; Proxy --&gt; Provider = Not OK error 500</p>
<p>Provider BYE --&gt; Proxy --&gt; My customer = OK</p>
<p>regards.</p>
<p>&nbsp;</p>
<p>On Fri, 29 Jul 2011 16:57:25 +0300, Razvan Crainea wrote:</p>
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%"><!-- html ignored --><!-- head ignored --><!-- meta ignored --> Hi Mickael,<br /><br /> Try to start a ngrep on the proxy. You will see exactly who sends     the second BYE.<br /> Does this scenario happen for every call?<br /><br /> Regards,<br />
<pre class="moz-signature">Razvan Crainea
OpenSIPS Developer</pre>
<br /> On 29.07.2011 16:33, <a class="moz-txt-link-abbreviated" href="mailto:mickael@winlux.fr">mickael@winlux.fr</a> wrote:
<blockquote type="cite" style="padding-left:5px; border-left:#1010ff 2px solid; margin-left:5px; width:100%">
<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>
<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>
<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>.
</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">&nbsp;</span><span>.</span></span>
<span id="result_box"><span><span class="hps">I don't understand</span> <span class="hps">...</span></span>


 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, <a class="moz-txt-link-abbreviated" href="mailto:mickael@winlux.fr">mickael@winlux.fr</a> 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; <a class="moz-txt-link-freetext" href="http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480">http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480</a>
&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, <a class="moz-txt-link-abbreviated" href="mailto:mickael@winlux.fr">mickael@winlux.fr</a> [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; <a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a> [1]
&gt;&gt;&gt;&gt; <a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a> [2]
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; Links:
&gt;&gt;&gt; ------
&gt;&gt;&gt; [1] <a class="moz-txt-link-freetext" href="mailto:Users@lists.opensips.org">mailto:Users@lists.opensips.org</a>
&gt;&gt;&gt; [2] <a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
&gt;&gt;&gt; [3] <a class="moz-txt-link-freetext" href="http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480">http://www.opensips.org/html/docs/modules/devel/dialog.html#id294480</a>
&gt;&gt;&gt; [4] <a class="moz-txt-link-freetext" href="mailto:mickael@winlux.fr">mailto:mickael@winlux.fr</a>
&gt;&gt;
&gt; 
&gt; _______________________________________________
&gt; Users mailing list
&gt; <a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
&gt; <a class="moz-txt-link-freetext" href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a>
</span></pre>
</blockquote>
</blockquote>
</body></html>