RTCP reinvite not working since installing Asterisk 16 FreePBX distro

Hi Everyone,

I have never posted before and normally find answers from existing threads but I can’t seem to locate any help on this one.

I was previously using Asterisk 13 freepbx distro and when making a call over WiFi could transition to LTE/4g without an issue using the RTCP to tell Asterisk to divert the RTP stream to a new IP.

However since moving to Asterisk 16 on FreePBX15 distro this seems to no longer function.
(Currently Asterisk 16.4.1 freshly updated all modules today as well)

I have all the settings as I would expect and have been using Asterisk now for many years. The output from an RTP debug shows the RTCP packet comes in to tell Asterisk to divert the traffic yet nothing happens see below extract (IP’s changed to protect the innocent):

Sent RTP packet to IPADDR1:20000 (type 09, seq 006267, ts 193614, len 000160)
Sent RTP packet to IPADDR1:20000 (type 09, seq 006268, ts 193774, len 000160)
[2019-11-06 13:24:19] DEBUG[11389][C-00000054]: res_rtp_asterisk.c:5916 ast_rtcp_interpret: RTCP NAT: Got RTCP from other end. Now sending to address IPADDR2:7919
Sent RTP packet to IPADDR1:20000 (type 09, seq 006269, ts 193934, len 000160)
Sent RTP packet to IPADDR1:20000 (type 09, seq 006270, ts 194094, len 000160)
Sent RTP packet to IPADDR1:20000 (type 09, seq 006271, ts 194254, len 000160)

Previously this would work (I still have the old PBX available to spin up and test on). I see the RTCP packet come in and it clearly states to now send the traffic to IPADDR2 but nothing changes. I left the call running in case there was a delay and I have tested on multiple apps in case there was a delay in the registration moving across and therefore a timing issue that prevented the RTCP packet from being actioned.

This one issue is preventing me from taking this image live but I can not seem to find an answer.

Can anyone point me in the right direction.

Many thanks in advance to any and all that offer assistance.



RTCP does not alter where RTP itself goes. A received RTP packet, could, but Asterisk has protection[1] which is enabled by default to prevent that behavior. This is to stop attackers from being able to hijack the media. You could try disabling it and seeing if it works.

[1] https://github.com/asterisk/asterisk/blob/master/configs/samples/rtp.conf.sample#L24

Hi Joshua,

Many thanks for getting back to me.

I have not had to turn that off before and as the RTCP packet specifically states to “Now sending to address XXXX” This is telling Asterisk to redirect the media to this new IP at least that is how I have always understood it.

Having said this I made the change and all now works. I am a little confused as to why I did not need to do this on the previous setup which I will investigate further.

Many thanks for the response and enlightenment.



That line is referring to sending of RTCP, not RTP, so it would have no impact on media.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.