Hi All,
I have been struggling with this issue for a long and could not find a way
to solve it. I have setup FreeSWITCH and Kamailio on the single server but
on a private server with a private IP and fronted by firewall. Firewall has
all the ports opened.
FreeSWITCH is running with nonat. Kamailio has public IP advertised on port
5060 and private IP on 5070 for phones on LAN. Problem is with outbound
calls there is no audio and reason I can see is contact field in SDP has
the private IP of the server instead of the public IP.
Internal device to device calls is working fine. I have tried to rewrite
the SDP and have written below code, but got no success:
request_route
{
xlog("L_DBG", "Request Route Enter");
if (is_method("INVITE"))
{
xlog("L_DBG", "Request Route Enter in Invite");
if (has_body("application/sdp"))
{
xlog("L_DBG", "Request Route Enter in SDP of
Invite");
if (search("IN IP4 PRIVATE_IP"))
{
xlog("L_DBG", "Request Route Search IN
IP4
PRIVATE_IP");
fix_nated_sdp("8", "PUBLIC_IP");
fix_nated_sdp("2", "PUBLIC_IP");
}
}
}
}
Can anyone help me to get rid of this.
Thanks,
Anurag Mishra