Hi Henning, Here is an example where I call set_advertised_address() and set_advertised_port() before relaying to the B2BUA:
route { ... ... t_on_reply("REPLY_FROM_B2BUA"); if (!add_contact_alias()) { xlog("L_ERR", "sip_call_id=$ci; Failed aliasing contact $ct "); send_reply("400", "Bad request"); exit; } rewritehostport("<%= @ipaddr %>:1024"); set_advertised_address("<%= @ipaddr %>"); set_advertised_port(5060); if (!t_relay_to_udp("<%= @ipaddr %>", "1024")) { xlog("L_ERR", "sip_call_id=$ci; Failed relaying $rm to b2bua"); sl_reply_error(); } } The SIP message sent from kamailio to B2BUA after that looks like: IP (tos 0x10, ttl 64, id 53886, offset 0, flags [none], proto UDP (17), length 1509) 10.99.8.107.5060 > 10.99.8.107.1024: [bad udp cksum 0x2b7e -> 0xf867!] UDP, length 1481 E....~..@.|. c.k c.k......+~INVITE sip:301@10.99.8.107:1024 SIP/2.0 Record-Route: <sip:18.156.22.8;lr=on;ftag=51c5ba2b8447498798a4e630dca6c17a> Via: SIP/2.0/UDP 10.99.8.107:5060 ;branch=z9hG4bKa09f.30a09da6e92bdfa999ccb517ecba6f97.0 Via: SIP/2.0/UDP 10.9.18.77:50342 ;received=37.202.8.10;rport=50342;branch=z9hG4bKPj888cd8a8501547fc851e5724ef3f7b1a Max-Forwards: 69 From: <sip:74807310@18.156.22.8>;tag=51c5ba2b8447498798a4e630dca6c17a To: <sip:301@18.156.22.8> Contact: <sip:74807310@10.9.18.77:50342 ;alias=37.202.8.10~50342~1;alias=37.202.8.10~50342~1;ob> Call-ID: f92450e6fad14d59bfea70100358bd05 CSeq: 232 INVITE Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS Supported: replaces, 100rel, timer, norefersub Session-Expires: 1800 Min-SE: 90 User-Agent: MicroSIP/3.19.28 Authorization: Digest username="74807310", realm=" hpbx200-1.euc1.telecomsvc.com", nonce="Xt3p017d6KfFSpRngRjuDCInFYIAVnPB", uri="sip:301@18.156.22.8", response="5e8f6a54064aba0d703c62dcbc746807" Content-Type: application/sdp Content-Length: 386 P-Debug-header: advertized local where 18.156.22.8 in the *'Record-Route'* header is an external IP set by the '*advertise*' setting in the '*listen*' block: listen=udp:<%= @ipaddr %>:5060 advertise <%= node['hpbx'][ 'nat_public_ipaddr'] %>:5060 and 10.99.8.107:5060 in the *'Via'* header is an internal IP:port replaced by *set_advertised_address*() and *set_advertised_port*() functions before relaying to B2BUA. So, I need '*Record-Route*' to be having internal IP just as in the '*Via*' header. The functions such enable_double_rr() and record_route_advertised_address() did not help here. Any ideas? Thanks, Andrey вс, 7 июн. 2020 г. в 12:35, Henning Westerholt <h...@skalatan.de>: > Hello, > > > > not know the details of your cfg, but did you tried already to deactivate > this parameter: > > > > > https://kamailio.org/docs/modules/devel/modules/rr.html#rr.p.enable_double_rr > > > > Another option could be not not use record_route() but this function > instead: > > > > > https://kamailio.org/docs/modules/devel/modules/rr.html#rr.f.record_route_adv_addr > > > > Cheers, > > > > Henning > > > > -- > > Henning Westerholt – https://skalatan.de/blog/ > > Kamailio services – https://gilawa.com > > > > *From:* sr-dev <sr-dev-boun...@lists.kamailio.org> *On Behalf Of *Andrey > Deykunov > *Sent:* Friday, June 5, 2020 2:33 PM > *To:* Kamailio (SER) - Development Mailing List <sr-dev@lists.kamailio.org > > > *Subject:* [sr-dev] Removing Record-Route header > > > > Hi guys, > > > > I'm using Kamailio 5.3.1 in the AWS cloud. For this purpose I'm setting up > a 'nat_public_ipaddr' in the 'advertise' feature: > > > > > > listen=tls:<%= @ipaddr %>:5061 advertise <%= node['hpbx'][ > 'nat_public_ipaddr'] %>:5061 > > listen=tcp:<%= @ipaddr %>:5060 advertise <%= node['hpbx'][ > 'nat_public_ipaddr'] %>:5060 > > listen=udp:<%= @ipaddr %>:5060 advertise <%= node['hpbx'][ > 'nat_public_ipaddr'] %>:5060 > > > > > > > > When I need relaying an incoming message to one of our internal services > (for example B2BUA, VMAIL etc) I'm setting up an internal address > '@ipaddr' in the Via header instead of 'nat_public_ipaddr' : > > > > > > set_advertised_address("<%= @ipaddr %>"); > > set_advertised_port(5060); > > > > > > > > All works fine, but Kamailio adds a 'Record-Route' header containing > 'nat_public_ipaddr' automatically into such messages. How can I remove this > header or insert my internal address instead before relaying the message? > Is it possible? > > > > Thanks, > > Andrey > > > > > > >
_______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev