<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    the last address from next_gw() becaomes the last r-uri and that is
    added as first contact. You will have to shift the URIs. Maybe the
    simplest way would be to disable adding r-uri as contact in 3xx via
    a mod param in sl module.<br>
    <br>
    Also, if you use 4.3, might worth looking at rtjson module, you can
    build a json holding the destination addresses in the order you want
    and the push them to r-uri and branches.<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 04/06/15 17:00, Ali Taher wrote:<br>
    </div>
    <blockquote cite="mid:063701d09ed7$3ed99af0$bc8cd0d0$@vanrise.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"Times New Roman \,serif";}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        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;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
span.EmailStyle19
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle20
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle23
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.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="color:#1F497D">Hi,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">I tried to not
            calling append_branch() when last successful next_gw() using
            below code :<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">$var(z)=0;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">$var(a)=0;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">if
            (!load_gws(1, $rU, $fu)) <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                                                               
              {<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                 
            sl_send_reply("502", "Unable To lOad GatEwAyS");<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                 
            exit; }<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">while(next_gw())
            $var(z) = $var(z) +1;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">xlog("L_INFO",
            "number of gateways : $var(z)\n");   <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">load_gws(1,
            $rU, $fu);<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                                               
            while (next_gw()){<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                               
            xlog("L_INFO", "gateway is : $ru\n");  <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                               
            $var(a)=$var(a)+1;<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                               
            if($var(a)!=$var(z))append_branch();<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                               
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="color:#1F497D;background:silver;mso-highlight:silver">                               
            }</span><span style="color:#1F497D"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">In this case
            I’m getting in contact headers the following gateways :
            3,1,2<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Regards,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Ali<o:p></o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> Ali Taher
                [<a class="moz-txt-link-freetext" href="mailto:ataher@vanrise.com">mailto:ataher@vanrise.com</a>] <br>
                <b>Sent:</b> Thursday, June 04, 2015 5:44 PM<br>
                <b>To:</b> <a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a>; 'Kamailio (SER) - Users
                Mailing List'<br>
                <b>Cc:</b> 'Ali Taher~Vanrise Technical Support'<br>
                <b>Subject:</b> RE: [SR-Users] Kamailio second contact
                header<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D">Hi Daniel,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">If it is the
            case then the ordering shouldn’t be 1,2,3,3  ?  but I’m
            getting 3,1,2,3.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">I tried to set
            $(branch(uri)[-1]) = $null; after the while block , but
            nothing changed </span><span
            style="font-family:Wingdings;color:#1F497D">L</span><span
            style="color:#1F497D"><o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Thanks,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Ali<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> Daniel-Constantin Mierla [<a
                  moz-do-not-send="true" href="mailto:miconda@gmail.com">mailto:miconda@gmail.com</a>]
                <br>
                <b>Sent:</b> Thursday, June 04, 2015 5:28 PM<br>
                <b>To:</b> Ali Taher; 'Kamailio (SER) - Users Mailing
                List'<br>
                <b>Subject:</b> Re: [SR-Users] Kamailio second contact
                header<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal" style="margin-bottom:12.0pt">Hello,<br>
          <br>
          next_gw() is also setting the r-uri, so for the last
          successful next_gw() you should not call anymore
          append_branch(). Try to remove the last branch after the while
          block:<br>
          <br>
          $(branch(uri)[-1]) = $null;<br>
          <br>
          Cheers,<br>
          Daniel<span style="font-size:12.0pt"><o:p></o:p></span></p>
        <div>
          <p class="MsoNormal">On 04/06/15 16:01, Ali Taher wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal"><span style="color:#1F497D">Hi Daniel,</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">I’m using
              this method because I’m having issue with append_branch
              where last gateway is listed first.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">For example
              if gateways are ordered in LCR_rule_target as 1,2,3  , I’m
              having them in contact header as : 3,1,2,3</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">I’m using
              below code : </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">if
              (!load_gws(1, $rU, $fu)) {</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">                 
              sl_send_reply("502", "Unable To lOad GatEwAyS");</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">                 
              exit;}</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">                 
              while(next_gw()){</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">                 
              append_branch(); }</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">                 
              sl_send_reply("302","Moved Temporary");</span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">                 
              exit;                                     </span><o:p></o:p></p>
          <p class="MsoNormal"><span
              style="color:#1F497D;background:silver;mso-highlight:silver">                }</span><span
              style="color:#1F497D">  </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">Any hint
              regarding the above would be appreciated.</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">Regards,</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D">Ali</span><o:p></o:p></p>
          <p class="MsoNormal"><span style="color:#1F497D"> </span><o:p></o:p></p>
          <div>
            <div style="border:none;border-top:solid #E1E1E1
              1.0pt;padding:3.0pt 0in 0in 0in">
              <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                  style="color:windowtext"> sr-users [<a
                    moz-do-not-send="true"
                    href="mailto:sr-users-bounces@lists.sip-router.org">mailto:sr-users-bounces@lists.sip-router.org</a>]
                  <b>On Behalf Of </b>Daniel-Constantin Mierla<br>
                  <b>Sent:</b> Thursday, June 04, 2015 4:41 PM<br>
                  <b>To:</b> Kamailio (SER) - Users Mailing List<br>
                  <b>Subject:</b> Re: [SR-Users] Kamailio second contact
                  header</span><o:p></o:p></p>
            </div>
          </div>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal" style="margin-bottom:12.0pt">Hello,<br>
            <br>
            the r-uri is added as a Contact address for 3xx replies -- I
            don't remember if this is some RFC requirement or just an
            implementation of the sl function for 3xx replies (well, I
            haven't implemented those function either).<br>
            <br>
            The active branches of the request are added as contact
            header to the reply. So you can practically use
            append_branch() as many times as you need and then do
            sl_send_reply("3xx", ...). You don't need to append headers
            to replies explicitely.<br>
            <br>
            Cheers,<br>
            Daniel<o:p></o:p></p>
          <div>
            <p class="MsoNormal">On 04/06/15 13:59, Ali Taher wrote:<o:p></o:p></p>
          </div>
          <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
            <p class="MsoNormal">Hello,<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">I’m trying to build new contact header
              that will be sent from Kamailio as below :<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">load_gws(1,
                $rU, $fu);</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">append_to_reply("Contact:");</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">                                               
                while (next_gw())</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">                               
                {</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">                               
                                                append_to_reply("$ru");</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">                               
                }</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">                               
                append_to_reply("\r\n");</span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">                               
                sl_send_reply("300","Multiple Choices");</span><o:p></o:p></p>
            <p class="MsoNormal" style="margin-left:.5in"><span
                style="background:silver;mso-highlight:silver">             
                  exit;</span>   <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">yet I’m getting two Contact headers as
              shown in below SIP message.<o:p></o:p></p>
            <p class="MsoNormal">How can I remove second contact header
              (highlighted below in gray)<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Via: SIP/2.0/UDP
192.168.26.3:42528;branch=z9hG4bK-d8754z-4c2cc56c3145b446-1---d8754z-;rport=42528;received=192.168.26.3<o:p></o:p></p>
            <p class="MsoNormal">To: “9612"<a moz-do-not-send="true"
                href="sip:9612@192.168.110.181"><sip:9612@192.168.110.181></a>;tag=b27e1a1d33761e85846fc98f5f3a7e58.1a8d<o:p></o:p></p>
            <p class="MsoNormal">From: "test"<a moz-do-not-send="true"
                href="sip:test@192.168.110.181"><sip:test@192.168.110.181></a>;tag=8571af74<o:p></o:p></p>
            <p class="MsoNormal">Call-ID:
              Y2MzOTNiOGRhMTc2NDkwZjIxNzZhYTAzZmM0OGE3NDY<o:p></o:p></p>
            <p class="MsoNormal">CSeq: 2 INVITE<o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:yellow;mso-highlight:yellow">Contact:
                <a moz-do-not-send="true"
href="sip:9612@C001,sip:9612@192.168.26.1,sip:9612@192.168.26.6,sip:9612@192.168.26.8">sip:9612@C001,sip:9612@192.168.26.1,sip:9612@192.168.26.6,sip:9612@192.168.26.8</a></span><o:p></o:p></p>
            <p class="MsoNormal"><span
                style="background:silver;mso-highlight:silver">Contact:
                <a moz-do-not-send="true" href="sip:9612@192.168.26.8">sip:9612@192.168.26.8</a></span><o:p></o:p></p>
            <p class="MsoNormal">Server: kamailio (4.1.8 (x86_64/linux))<o:p></o:p></p>
            <p class="MsoNormal">Content-Length: 0<o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal"> <o:p></o:p></p>
            <p class="MsoNormal">Thanks,<o:p></o:p></p>
            <p class="MsoNormal">Ali<o:p></o:p></p>
            <p class="MsoNormal" style="margin-bottom:12.0pt"><span
                style="font-size:12.0pt;font-family:"Times New
                Roman \,serif""><br>
                <br>
                <br>
              </span><o:p></o:p></p>
            <pre>_______________________________________________<o:p></o:p></pre>
            <pre>SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list<o:p></o:p></pre>
            <pre><a moz-do-not-send="true" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a><o:p></o:p></pre>
            <pre><a moz-do-not-send="true" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><o:p></o:p></pre>
          </blockquote>
          <p class="MsoNormal" style="margin-bottom:12.0pt"><span
              style="font-size:12.0pt;font-family:"Times New Roman
              \,serif""><br>
              <br>
            </span><o:p></o:p></p>
          <pre>-- <o:p></o:p></pre>
          <pre>Daniel-Constantin Mierla<o:p></o:p></pre>
          <pre><a moz-do-not-send="true" href="http://twitter.com/#%21/miconda">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a><o:p></o:p></pre>
          <pre>Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com">http://www.asipto.com</a><o:p></o:p></pre>
        </blockquote>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman",serif"><o:p> </o:p></span></p>
        <pre>-- <o:p></o:p></pre>
        <pre>Daniel-Constantin Mierla<o:p></o:p></pre>
        <pre><a moz-do-not-send="true" href="http://twitter.com/#%21/miconda">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a><o:p></o:p></pre>
        <pre>Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com">http://www.asipto.com</a><o:p></o:p></pre>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a></pre>
  </body>
</html>