[Serusers] rport processing bug

Jakob Schlyter jakob at rfc.se
Sun Oct 17 16:27:46 CEST 2004


On Sun, 17 Oct 2004, Jan Janak wrote:

> This is necessary for phones behind NAT. They often put IP and port
> which is not accessible from the public internet -- the phone is
> typically reachable only through the NAT-binding that was created during
> the registration process, that's the reason why SER rewrites the contact
> with the IP and port assigned by the NAT device.

according to rfc 3581, rport is specified per transaction. I understand 
that this magic might be useful sometimes, but in this case it actually 
breaks stuff since the phone doesn't receive a response on this port after 
the transacation has ended.

> You can fine-tune this behaviour in the configuration file. SER will
> rewrite the Contact header field only if it detects that the phone is
> behind NAT (either src IP and IP in via do not match or there is a
> RFC1918-style IP address).

so why did it rewrite the contact header? the via and the contact was the 
same and no addresses used was rfc1918. can this feature be turned off?

when reading the docs, one might get the impression that this is what 
fix_contact() is used for but it seems (from your description above) it is 
performed anyway.

 	jakob




More information about the sr-users mailing list