[SR-Users] Kamailio and NAT

Nelson Migliaro eng.migliaro at gmail.com
Wed Dec 23 15:28:22 CET 2015


I am running Kamailio behind NAT.

Kanailio has a private IP and I am relaying NAT to internet router.

I am using:

- #!define WITH_NAT
- listen=udp:PRIVATE-IP:5060 advertise PUBLIC-IP:5060

- Patched RTP proxy including the advertise option

And everything goes fine. I can make calls and have two way audio.

The problem begins when the callee ends the call. BYE is not received in
Kamailio (caller)

I included the public IP using "add_contact_alias" because
"set_contact_alias" was not adding the public IP. I included this in in
NATDETECT (pre loaded router)

        if(is_first_hop()) {
            xlog("L_NOTICE","Metodo: $rm \n");
            xlog("L_NOTICE","is first hop\n");
                 if (!add_contact_alias("PUBLIC-IP", "$Rp", "udp")) {
                 xlog("L_ERR", "Error in aliasing contact $ct\n");
                    send_reply("400", "Bad request");

I think the problem is related to destination that BYE is sent by the
vendor. From what I see IP and port is taken from advertised in contact
(PUBLIC-IP and 5060).
The problem is that internet router changes the source port.

Contact: <sip:999999999 at PRIVATE-IP:5060;alias=PUBLIC-IP~5060~1>

--- Is it correcto to add_contact_alias("PUBLIC-IP", "$Rp", "udp") in order
to received new transactions or should I follow a different procedure???

Thank you
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20151223/262518a8/attachment.html>

More information about the sr-users mailing list