[Serusers] Is there a way to force the added Via: to contain a specific IP addr != send socket

Frank Durda IV frank.durda at hypercube-llc.com
Mon Jun 15 06:52:12 CEST 2009


I have a configuration where SER sits immediately
adjacent to a NAT translation between 10.x.x.x on
the SER side and public Internet on the other side
of the NAT.  This a PSTN gateway that has only
handled inbound SIP traffic, but now I am trying
to send outbound and have run into issues.

I am able to fix Contact: and SDP payload IP addresses
and such with various force commands, but I have
not found a way to alter Via:, and that is causing
problems.

To get the INVITE to forward out the right interface,
we have to do a force_send_socket of say 10.2.4.6
which does get the packet out on the right interface
headed toward the NAT router, but that same value
also gets put in the Via: header and so none of the
public IP address destinations (eg 208.22.33.44) can
send SIP messages back to our public IP address
gateway (205.66.77.88).

So the INVITE that reaches 208.22.33.44 has
packet source of 205.66.77.88), but the Via:
is 10.2.4.6 and 208.22.33.44 replies to the Via:
address, so we don't get any of the responses.

So, is there a way to force the Via: to put out
the needed value so that things will come out right?





More information about the sr-users mailing list