By SIP definition if the port is the default (5060 for udp/tcp, 5061 for
tls) it's not mandatory, that's why if you choose any other port you
specifically see it in the RR.
On Thu, Mar 28, 2019 at 3:30 AM Lợi Đặng <loi.dangthanh(a)gmail.com> wrote:
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(a)gmail.com
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users