[Freeswitch-users] RTP port rewriting stops working when combined with transcoding?

Kees Jan Koster kjkoster at gmail.com
Thu Jul 17 13:22:53 MSD 2014


Dear All,

I am trying to figure out why I see what I see.

When I make a call using the same codec (say, PCMA/8000 on both sides), FreeSwitch rewrites the RTP stream's IP address and port for me. That I like, since my FreeSwitch is behind NAT.

From the logs:

2014-07-16 12:32:36.815907 [INFO] switch_rtp.c:3738 Auto Changing port from 1.2.3.4:4040 to 5.6.7.8:4040
2014-07-16 12:32:36.995906 [INFO] switch_rtp.c:3738 Auto Changing port from 9.10.11.12:12345 to 13.14.15.16:41730

Now, when I try to use two different codecs, this behaviour stops. Say I use SILK/8000 on one leg and PCMA/8000 on the other.

From the logs and without changing the configuration or restarting FreeSwitch:

2014-07-16 12:35:36.495902 [INFO] switch_rtp.c:3738 Auto Changing port from 1.2.3.4:4042 to 5.6.7.8:4042

The other line is missing and ngrep reveals how FreeSwitch stubbornly sends RTP audio to the wrong port and IP address.

Further testing shows:

PCMA  -> PCMA: IP/port is rewritten
SILK  -> PCMA: IP/port is *not* rewritten
GSM   -> PCMA: IP/port is rewritten
Speex -> PCMA: IP/port is *not* rewritten

How can I have transcoding *and* RTP IP/port rewriting work at the same time, please?

Is this a per-codec thing?

--
Kees Jan

http://java-monitor.com/
kjkoster at kjkoster.org
+31651838192

Change is good. Granted, it is good in retrospect, but change is good.



--
Kees Jan

http://java-monitor.com/
kjkoster at kjkoster.org
+31651838192

The secret of success lies in the stability of the goal. -- Benjamin Disraeli


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list