[SR-Users] Kamailio second contact header

Daniel-Constantin Mierla miconda at gmail.com
Fri Jun 5 09:04:18 CEST 2015


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:ataher at vanrise.com]
> *Sent:* Thursday, June 04, 2015 5:44 PM
> *To:* miconda at 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:miconda at 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-bounces at 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 at 192.168.110.181>
>         <sip:9612 at 192.168.110.181>;tag=b27e1a1d33761e85846fc98f5f3a7e58.1a8d
>
>         From: "test"<sip:test at 192.168.110.181>
>         <sip:test at 192.168.110.181>;tag=8571af74
>
>         Call-ID: Y2MzOTNiOGRhMTc2NDkwZjIxNzZhYTAzZmM0OGE3NDY
>
>         CSeq: 2 INVITE
>
>         Contact:
>         sip:9612 at C001,sip:9612 at 192.168.26.1,sip:9612 at 192.168.26.6,sip:9612 at 192.168.26.8
>
>         Contact: sip:9612 at 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 at lists.sip-router.org <mailto:sr-users at 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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20150605/1108fe49/attachment.html>


More information about the sr-users mailing list