How do you route in-dialog messages? LB and
proxy/registrar should use
record-route on initial request to stay in the proxy-chain. LB and
proxy/registrar should route in-dialog requests with loose_route() and
t_relay().
Also, on the LB you have to do the NAT traversal for the clients: i.e.
fix_nated_contact() on messages from the client. If the LB is
multihomed
and uses double-record-routing I think you could the same mechanism
like
path (adding "received" to the record-route header) too.
I already found my problem. It was as you mentioned a NAT problem. In the preloaded-route
(which is added by the proxy for path support) the nat-flag is not set. In the response I
check for the existence of the nat flag for diciding to do fix_nated_contact. Since it
does not exist, I have the wrong contact in the response.
I am checking now for both ";nat=yes" and "received=", because if
there is a received header it is a natted device.
Best regards,
Florian