Hello, 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.
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. Cheers, Daniel On 04/06/15 17:00, Ali Taher wrote: > > Hi, > > > > I tried to not calling append_branch() when last successful next_gw() > using below code : > > > > $var(z)=0; > > $var(a)=0; > > if (!load_gws(1, $rU, $fu)) > > { > > sl_send_reply("502", "Unable To lOad GatEwAyS"); > > exit; } > > while(next_gw()) $var(z) = $var(z) +1; > > xlog("L_INFO", "number of gateways : $var(z)\n"); > > load_gws(1, $rU, $fu); > > > > while (next_gw()){ > > xlog("L_INFO", "gateway is : $ru\n"); > > $var(a)=$var(a)+1; > > if($var(a)!=$var(z))append_branch(); > > > > } > > > > In this case I’m getting in contact headers the following gateways : 3,1,2 > > > > Regards, > > Ali > > *From:*Ali Taher [mailto:ata...@vanrise.com] > *Sent:* Thursday, June 04, 2015 5:44 PM > *To:* mico...@gmail.com; 'Kamailio (SER) - Users Mailing List' > *Cc:* 'Ali Taher~Vanrise Technical Support' > *Subject:* RE: [SR-Users] Kamailio second contact header > > > > Hi Daniel, > > > > If it is the case then the ordering shouldn’t be 1,2,3,3 ? but I’m > getting 3,1,2,3. > > I tried to set $(branch(uri)[-1]) = $null; after the while block , but > nothing changed L > > > > Thanks, > > Ali > > > > *From:*Daniel-Constantin Mierla [mailto:mico...@gmail.com] > *Sent:* Thursday, June 04, 2015 5:28 PM > *To:* Ali Taher; 'Kamailio (SER) - Users Mailing List' > *Subject:* Re: [SR-Users] Kamailio second contact header > > > > Hello, > > 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: > > $(branch(uri)[-1]) = $null; > > Cheers, > Daniel > > On 04/06/15 16:01, Ali Taher wrote: > > Hi Daniel, > > > > I’m using this method because I’m having issue with append_branch > where last gateway is listed first. > > 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 > > > > I’m using below code : > > > > if (!load_gws(1, $rU, $fu)) { > > > > sl_send_reply("502", "Unable To lOad GatEwAyS"); > > > > exit;} > > > > while(next_gw()){ > > append_branch(); } > > sl_send_reply("302","Moved Temporary"); > > exit; > > } > > > > Any hint regarding the above would be appreciated. > > > > Regards, > > Ali > > > > *From:*sr-users [mailto:sr-users-boun...@lists.sip-router.org] *On > Behalf Of *Daniel-Constantin Mierla > *Sent:* Thursday, June 04, 2015 4:41 PM > *To:* Kamailio (SER) - Users Mailing List > *Subject:* Re: [SR-Users] Kamailio second contact header > > > > Hello, > > 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). > > 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. > > Cheers, > Daniel > > On 04/06/15 13:59, Ali Taher wrote: > > Hello, > > > > I’m trying to build new contact header that will be sent from > Kamailio as below : > > > > > > load_gws(1, $rU, $fu); > > append_to_reply("Contact:"); > > while (next_gw()) > > { > > > append_to_reply("$ru"); > > } > > append_to_reply("\r\n"); > > sl_send_reply("300","Multiple > Choices"); > > exit; > > > > > > yet I’m getting two Contact headers as shown in below SIP message. > > How can I remove second contact header (highlighted below in gray) > > > > Via: SIP/2.0/UDP > > 192.168.26.3:42528;branch=z9hG4bK-d8754z-4c2cc56c3145b446-1---d8754z-;rport=42528;received=192.168.26.3 > > To: “9612"<sip:9612@192.168.110.181> > <sip:9612@192.168.110.181>;tag=b27e1a1d33761e85846fc98f5f3a7e58.1a8d > > From: "test"<sip:test@192.168.110.181> > <sip:test@192.168.110.181>;tag=8571af74 > > Call-ID: Y2MzOTNiOGRhMTc2NDkwZjIxNzZhYTAzZmM0OGE3NDY > > CSeq: 2 INVITE > > Contact: > > sip:9612@C001,sip:9612@192.168.26.1,sip:9612@192.168.26.6,sip:9612@192.168.26.8 > > Contact: sip:9612@192.168.26.8 > > Server: kamailio (4.1.8 (x86_64/linux)) > > Content-Length: 0 > > > > > > Thanks, > > Ali > > > > > _______________________________________________ > > SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing > list > > sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org> > > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users > > > > -- > > Daniel-Constantin Mierla > > http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda> - > http://www.linkedin.com/in/miconda > > Book: SIP Routing With Kamailio - http://www.asipto.com > > > > -- > Daniel-Constantin Mierla > http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda> - > http://www.linkedin.com/in/miconda > Book: SIP Routing With Kamailio - http://www.asipto.com -- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Book: SIP Routing With Kamailio - http://www.asipto.com
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users