Hi,
We are adding TCP support to our load balancer and for some reason it adds two record route headers.
The instance have two IP addresses on which it binds: one if the VIP address and the second is the non-VIP address.
I explicitly set the tcp_source_ipv4 parameter with the VIP address so that it is used as source address for outbound TCP connection.
So, we get the following INVITE going from the load balancer to a proxy:
T 2015/05/05 12:08:49.715822 VIP:54667 -> PROXY:5060 [AP]
INVITE sip:123@mycompany.com SIP/2.0.
Record-Route: <sip:NONVIP;transport=tcp;r2=on;lr>.
Record-Route: <sip:VIP;transport=tcp;r2=on;lr>.
Via: SIP/2.0/TCP NONVIP;branch=z9hG4bK6f4.688efa90a17e02181ef7a11fecf8bb72.0;i=3.
Via: SIP/2.0/TCP 1.1.1.1:4598;received=2.2.2.2;branch=z9hG4bKmqFaCxNo6m3f5LW4;rport=40020.
You can see the INVITE is sent from the VIP address (as specified using the tcp_source_ipv4 parameter). However, the added Via corresponds to the non-VIP address. Also, you can see the two record route headers added for both addresses.
Any idea?
Thanks,
Mickael