Remote extensions suddenly have one-way audio - "Address family not supported by protocol"

I am running FreePBX 15.0.17.64 with Asterisk 16.20.0

The FreePBX server is on my LAN - it is at 10.0.0.240. At the router, I port forward 5060 and 10001-20000 to the FreePBX box. We have several off-site extensions. At one location, we have 5 phones. That location is connected to the main location with a VPN (and IPs at that location are 10.0.1.x). We do not go through the VPN for the phones – they all register to our WAN IP. (Mainly so that they can up and take them home if they would like.) This has been working well for over a year.

Yesterday, suddenly, all of the remote phones at that location have one-way audio when you connect to them from an extension at the main location. Note that the remote phones can still make and receive normal phone calls (which all flow through the one FreePBX server at the main location). It is only when it is an extension-to-extension connect that we have this issue. The caller cannot hear the person that they call. The called extension CAN hear the main-location extension, but not the other way around. If a remote extension calls another remote extension, the same thing happens: called person cannot be heard by the one making the call. (Sometimes I can hear the first half-second of the other end.)

Checking the logs and comparing a working and non-working call, everything looks identical to me except this:

[2021-12-28 18:23:09] VERBOSE[22729] netsock2.c: Using SIP RTP Audio TOS bits 184
[2021-12-28 18:23:09] VERBOSE[22729] netsock2.c: Using SIP RTP Audio TOS bits 184 in TCLASS field.
[2021-12-28 18:23:09] VERBOSE[22729] netsock2.c: Using SIP RTP Audio CoS mark 5
[2021-12-28 18:23:09] VERBOSE[32167][C-0000000d] app_dial.c: PJSIP/218-00000023 is ringing
[2021-12-28 18:23:11] VERBOSE[32167][C-0000000d] app_dial.c: PJSIP/218-00000023 answered PJSIP/140-00000022
[2021-12-28 18:23:11] VERBOSE[32168][C-0000000d] bridge_channel.c: Channel PJSIP/218-00000023 joined ‘simple_bridge’ basic-bridge
[2021-12-28 18:23:11] VERBOSE[32167][C-0000000d] bridge_channel.c: Channel PJSIP/140-00000022 joined ‘simple_bridge’ basic-bridge
[2021-12-28 18:23:17] ERROR[18646] res_rtp_asterisk.c: RTCP SR transmission error to 104.178.xxx.xx:12015, rtcp halted Address family not supported by protocol
[2021-12-28 18:23:24] VERBOSE[32167][C-0000000d] bridge_channel.c: Channel PJSIP/140-00000022 left ‘native_rtp’ basic-bridge
[2021-12-28 18:23:24] VERBOSE[32168][C-0000000d] bridge_channel.c: Channel PJSIP/218-00000023 left ‘native_rtp’ basic-bridge

So, that is the moment where the other end picks up and I can’t hear them. They can hear me fine. I then hang up after 13 seconds. A search for that particular error literally finds it in only one thread where someone talked about an issue with a test build that went away on Stable. I can’t really find anything else related to that specific error at that specific time.

I did multiple test calls and all have that error between pick-up and hang-up.

I know that one-way audio is often NAT related, but I have made no changes there and I’ve triple-checked all of the settings to make sure that the NAT Settings under SIP Settings are all set correctly. ALG SIP is disabled on the routers involved.

I am using PJSIP for all extensions.

I am open to any ideas or I can check additional logs. I’ve worked on this for a few hours now and just can’t figure out what I’m missing. Thank you!

Does it only happen when your phone are behind that remote site? Or also when they are out of the office (like at home).

Maybe this will help

Just guessing here, pjsip may be incorrectly deciding that audio can be sent directly between the endpoints. Try turning Direct Media off for both extensions and retest.

If no luck, at the Asterisk command prompt, type
pjsip set logger on
make a failing test call, paste the Asterisk log for the call at pastebin.freepbx.org and post the link here.

1 Like

Hey! Thank you! It was Direct Media! I turned off Direct Media on the remote extensions and now they are working fine again.

So, my question now becomes: what has changed here on my config that has worked fine for a year? I’m not that familiar with the Direct Media stuff – other than knowing that it allows the data to flow directly between endpoints. So I’d like to determine why what was working before has suddenly stopped working – and what is preventing them from communicating directly now.

Any ideas of where I go from here to track it down? I mean, I know I can just disable Direct Media everywhere to resolve it – but I’d rather understand what is going on underneath since it worked fine before when we were allowing Direct Media. I’m using something on the router or firewall is now causing the issue – but I’d really like to figure it out for sure.

Thanks again!

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