Hi Jim,

Both functions attempt to rewrite the Contact - the former with SOURCE_IP:SOURCE_PORT, while the latter attempts to do it with ADV_IP:ADV_PORT. Due to the "lazy changes" optimization of the OpenSIPS stack, you cannot serialize these two function calls, rather you are forced to pick one of them.

Fortunately, there is another way around the above: you can have the mid-registrar insert itself through a Path header, rather than rewriting the Contact to point to its interface. So just switch the mid_registrar to "insertion_mode = 1" and you should be good.

PS: can you elaborate on what you are trying to achieve? IIRC, fix_nated_contact() should not be called on a REGISTER, rather you should use the fix_nated_register() which forces a ";received=" param into the Contact. Conceptually, at least - I'm pretty sure this also won't work well with mid_registrar_save().

Best regards,

Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com

On 26.10.2017 17:08, Jim DeVito wrote:
Hi All,

So if I call fix_nated_contact(); before mid_registrar_save(); It will correctly rewrite the Contact URI with the recived IP:PORT however it mid_register is then not able to append the contact_match_param to the new Contact URI.

The script looks like this...

if (is_method("REGISTER")) {
                fix_nated_contact();
                mid_registrar_save("location");

It fails with this error.

ERROR:mid_registrar:overwrite_all_contact_hostports: SCRIPT BUG - second attempt to change URI Contact

ERROR:mid_registrar:mid_reg_req_fwded: failed to overwrite Contact URI

Thoughts? And Thanks!!

-------------
Jim DeVito


_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to