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