[SR-Users] Port 5060 omitted in Record-Route

Lợi Đặng loi.dangthanh at gmail.com
Thu Mar 28 11:28:30 CET 2019


Hi all, i was using kamailio 4.2.1 located in 2 networks

> listen = tcp:MY_ADDR:5060 advertise MY_ADDR:5060
> listen = tls:MY_ADDR:5061 advertise PUBLIC_NAT_ADDR:5061


when the call made from the inside network to out side, running
`record_route()` resulted in 2 Record-Route headers added
(enable_double_rr=1)

Record-Route: PUBLIC_NAT_ADDR:5061;transport=tls;lr
> Record-Route: MY_ADDR;transport=tcp;lr


That was totally fine omitting the port in the first Record-Route when
using tcp (or udp) on the first realm, but when i start switching to tls,
it caused trouble

Record-Route: PUBLIC_NAT_ADDR:5061;transport=tls;lr
> Record-Route: MY_ADDR;transport=tls;lr


The client is then told to send ACK/BYE to `MY_ADDR;transport=tls` located
at `MY_ADDR:5061` as per rfc3263, then the call would failed.

I had another try with
`record_route_preset("PUBLIC_NAT_ADDR:5061;transport=tls",
"MY_ADDR:5060;transport=tls");`, it really did add what i want with
explicit 5060 port on RR, `ACK/BYE` travel on the correct path, but
`loose_route()` only consumes the local `Route` header (it should consume
2). So my assumption is to stick with `record_route()` function to make
`loose_route()` work properly.

I tried using another port on the local realm, e.g: 5062 and the port is
explicitly added to the Record-Route header `MY_ADDR:5062;transport=tls;lr`
So is `5060` couldn't be explicitly added to the inbound Record-Route, or i
just missed something?

Any help will be appreciated.

P/S: I also tried 4.4.7 and it still omit my 5060 port in the RR.

rgds,
Loi Dang Thanh
Phone : +84. 774.735.448
Email : loi.dangthanh at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20190328/b5364e2a/attachment.html>


More information about the sr-users mailing list