<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><tt>Hi, <tt>Khaled!<br>
          <br>
          <tt>The match_dialog() function also matched the dialog and <tt>updates
              the timer, there<tt>fore you should also set the pse<tt>udo
                  variable <tt>for ACK before the match<tt>_dialog()
                      call<tt>.<br>
                        <br>
                        <tt>B<tt>est regar<tt>ds,<br>
                              <br>
                            </tt></tt></tt></tt></tt></tt></tt></tt></tt><tt></tt></tt></tt></tt>
      <pre class="moz-signature" cols="72">Razvan Crainea
OpenSIPS Core Developer
<a class="moz-txt-link-freetext" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a>
</pre>
      On 03/18/2013 03:38 PM, M.Khaled W Chehab wrote:<br>
    </div>
    <blockquote cite="mid:00c601ce23e6$49dc07d0$dd941770$@icucall.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator" content="Microsoft Word 14 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";
        color:black;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle25
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Dear
            Bogdan,<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">I
            set the timer as below and all my calls have now 3 sec
            duration ,please advice <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">if (has_totag() &amp;&amp; (uri ==
            myself) &amp;&amp; is_method("INVITE|ACK|BYE|UPDATE")) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              if(match_dialog()) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     xlog("L_INFO",
            "&lt;&lt;&lt;&lt;&lt; in-dialog topology hiding request -
            $DLG_dir &gt;&gt;&gt;&gt;&gt; \n");<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     if
            (check_route_param("nat=yes")) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                           
            setflag(5);<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                           
            setbflag(6);<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     if (
            is_method("INVITE")) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                           
            $avp(timeout2) = 3;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     } else if
            (is_method("ACK")) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                           
            $avp(timeout2) = 3540;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     route(1);<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     exit;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              }<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">if (has_totag()) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              if (is_method("ACK"))
            {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     $avp(timeout2)
            = 3540; <o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              # sequential request
            withing a dialog should<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              # take the path
            determined by record-routing<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              if (loose_route()) {<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">etc……..<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">} else {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     if (
            is_method("ACK") ) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                            if (
            t_check_trans() ) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                                  
            # non loose-route, but stateful ACK; must be an ACK after <o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                                  
            # a 487 or e.g. 404 from upstream server<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                                  
            t_relay();<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                                  
            exit;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                            } else
            {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                                  
            # ACK without matching transaction -&gt;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                                  
            # ignore and discard<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                                  
            exit;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                            }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                    
            sl_send_reply("404","Not here");<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              exit;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              <o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">       } else {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              if (
            is_method("INVITE")) {<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">                     $avp(timeout2)
            = 3;<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">              }<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:#1F497D">       }<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Regards<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #B5C4DF
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span
style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">From:</span></b><span
style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">
                Bogdan-Andrei Iancu [<a class="moz-txt-link-freetext" href="mailto:bogdan@opensips.org">mailto:bogdan@opensips.org</a>] <br>
                <b>Sent:</b> Thursday, March 14, 2013 6:59 PM<br>
                <b>To:</b> OpenSIPS users mailling list<br>
                <b>Cc:</b> M.Khaled W Chehab; 'Brito Nicolas'<br>
                <b>Subject:</b> Re: [OpenSIPS-Users] ACK Timer<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><tt><span
              style="font-size:10.0pt">Hi Khaled,</span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
            <br>
            <tt>your mistake here is to set the timeout for INVITE under
              the </tt></span><tt><span style="font-size:9.0pt">has_totag()
              branch - initial INVITEs do not have TO tags.</span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
            <br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">Try:</span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
            <br>
            <br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">if
              (has_totag()) {</span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">            
              if (is_method("ACK")) {</span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">                    
              $avp(timeout2) = 3540; </span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">             
              }</span></tt><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:windowtext"><br>
          </span><tt><span style="font-size:10.0pt;color:windowtext">   
                        ..... (loose_route)</span></tt><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:windowtext"><br>
          </span><span style="font-size:10.0pt;font-family:&quot;Courier
            New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">}
              else {</span></tt><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:windowtext"><br>
          </span><span style="font-size:10.0pt;font-family:&quot;Courier
            New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">   
              if ( is_method("INVITE")) {</span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">       
              $avp(timeout2) = 3; </span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">   
              }</span></tt><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:windowtext"><br>
            <br>
          </span><tt><span style="font-size:10.0pt;color:windowtext">   
              .......</span></tt><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:windowtext"><br>
          </span><span style="font-size:10.0pt;font-family:&quot;Courier
            New&quot;"><br>
          </span><tt><span style="font-size:9.0pt;color:windowtext">}</span></tt><span
            style="font-size:9.0pt;font-family:&quot;Courier
            New&quot;;color:windowtext"><br>
          </span><span style="font-size:10.0pt;font-family:&quot;Courier
            New&quot;"><br>
          </span><tt><span style="font-size:10.0pt;color:windowtext">Regards,</span></tt><span
            style="font-size:10.0pt;font-family:&quot;Courier
            New&quot;;color:windowtext"><br>
            <tt>Bogdan</tt></span><o:p></o:p></p>
        <pre>Bogdan-Andrei Iancu<o:p></o:p></pre>
        <pre>OpenSIPS Founder and Developer<o:p></o:p></pre>
        <pre><a moz-do-not-send="true" href="http://www.opensips-solutions.com">http://www.opensips-solutions.com</a><span style="color:#1F497D"><o:p></o:p></span></pre>
        <pre><o:p> </o:p></pre>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a>
<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>
</pre>
    </blockquote>
    <br>
  </body>
</html>