Weiter Leiter wrote:
2) What is the harm of calling fix_nated_contact() in addition to fix_nated_register() in a REGISTER message ? The configuration file [1] carefully avoids doing this.
The harm is the same as above: if you do fix_nated_contact(), an AVP (with the originating address of the REGISTER, the one that SER sees in the networking layer, not the SIP layer) is set, instructing the registrar to disregard the body of Contact HF and consider only this AVP as true Contact.
More importantly, fix_nated_contact() modifies the URI of the Contact-HF of the 200-OK, whereas fix_nated_register() only appends parameters to the URI.
I'm not entirely sure if modifying the Contact URI of responses to REGISTERs violates RFC3261, because I don't know exactly how to interpret paragraph 10.3, number 8, but there are at least UACs which don't accept a 200-OK with modified Contact-URI.
Andy