I have an AWS ec2 instance with Kamailio and rtpengine configured. I am having a challenge of no voice on calls. I have sip client on my mobile phone and soft phone on my laptop and the two are on different networks behind nat. Signaling is working fine but there is no media and when I check on on the SDP the call logs are showing private ips instead of public ips : o=- 3 2 IN IP4 192.168.1.33 and c=IN IP4 172.31.36.50. I understand this is a NAT issue but I am failing to see where is the challenge. My rtpengine seems to be working fine .
Below is my Kamailio.cfg file link :
https://docs.google.com/document/d/1MKZJGlQjxYbdtw6QcCm9_EmvVPOkMs-YXjlq1ZM2 mmY/edit?usp=drive_link
PCAP file for the call:
https://docs.google.com/document/d/12gofLYhN0-lYIZORngIeuaYxLudLjiNdZgY504Ei XFs/edit?usp=drive_link
rtpengine.conf
https://docs.google.com/document/d/1QPxey49UzuN3Wd8jp8jc0mFhh31rr1alIO-gl4gP JEI/edit?usp=drive_link
Please help.
On 09/05/2024 10.16, palany via sr-users wrote:
I have an AWS ec2 instance with Kamailio and rtpengine configured. I am having a challenge of no voice on calls. I have sip client on my mobile phone and soft phone on my laptop and the two are on different networks behind nat. Signaling is working fine but there is no media and when I check on on the SDP the call logs are showing private ips instead of public ips : o=- 3 2 IN IP4 192.168.1.33 and c=IN IP4 172.31.36.50. I understand this is a NAT issue but I am failing to see where is the challenge. My rtpengine seems to be working fine .
Most likely you need to use the "advertised address" notation in your interface config as on AWS generally you don't have the public IP address bound on a local interface. So something like
interface = external/172.31.36.50!13.246.88.123;internal/172.31.36.50
Cheers
Thank you Richard. I have changed my rtpengine.conf as per your instruction and now sdp m is now showing the correct ip but the o is still showing the private ip as below.
v=0.
o=- 1 2 IN IP4 192.168.1.33.
s=CounterPath X-Lite 3.0.
c=IN IP4 13.246.88.123.
t=0 0.
m=audio 30016 RTP/AVP 8 0 101.
a=mid:audio.
a=rtpmap:8 PCMA/8000.
a=rtpmap:0 PCMU/8000.
a=rtpmap:101 telephone-event/8000.
a=fmtp:101 0-15.
a=sendrecv.
a=rtcp:30017
From: Richard Fuchs via sr-users [mailto:sr-users@lists.kamailio.org] Sent: Thursday, 9 May 2024 5:36 PM To: sr-users@lists.kamailio.org Cc: Richard Fuchs Subject: [SR-Users] Re: [EXTERNAL] Kamailio and RTPengine and no voice on calls
On 09/05/2024 10.16, palany via sr-users wrote:
I have an AWS ec2 instance with Kamailio and rtpengine configured. I am having a challenge of no voice on calls. I have sip client on my mobile phone and soft phone on my laptop and the two are on different networks behind nat. Signaling is working fine but there is no media and when I check on on the SDP the call logs are showing private ips instead of public ips : o=- 3 2 IN IP4 192.168.1.33 and c=IN IP4 172.31.36.50. I understand this is a NAT issue but I am failing to see where is the challenge. My rtpengine seems to be working fine .
Most likely you need to use the "advertised address" notation in your interface config as on AWS generally you don't have the public IP address bound on a local interface. So something like
interface = external/172.31.36.50!13.246.88.123;internal/172.31.36.50
Cheers
On 10/05/2024 04.49, palany wrote:
Thank you Richard. I have changed my rtpengine.conf as per your instruction and now sdp m is now showing the correct ip but the o is still showing the private ip as below.
The o= line is not relevant for the media flow, but you can add `replace-origin` to your signalling flags to also replace it.
Cheers