AFAIK bye is usually sent to the address stored in record_route. Try setting changing record_route() to record_route_preset("PUBLICIP:5060;nat=yes:)
2015-12-23 16:28 GMT+02:00 Nelson Migliaro eng.migliaro@gmail.com:
Hello,
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"); #set_contact_alias(); if (!add_contact_alias("PUBLIC-IP", "$Rp", "udp")) { xlog("L_ERR", "Error in aliasing contact $ct\n"); send_reply("400", "Bad request"); exit; } }
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@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
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users