Dropped audio after muting softphone

Centos: 6.8
Host: Google Compute Engine
Asterisk: 13.11.2

I’m having a slight issue with audio; Whether the calls is incoming or outgoing if the agent places the softphone on MUTE instead of HOLD, after about 25 seconds the audio drops and when the agent unmutes the call the caller/callee can’t hear them.

If placing the call on hold there is no issue because their is a constant audio stream going on and have tested it up to 10 minutes and no issues. Issue happens whether it is a SIP or IAX extension and on any softphone client.

Agents are using CounterPath eyeBeam clients and have tested with Zoiper, Kiak, Voix, and X-lite.

I have tried setting RTP keep alive and a few other options (client specific) dealing with silence and sending packets.

Any idea or help would be much appreciated, very much a novice Freepbx/Asterisk user, Thank you for any help in advance.

Also wanted to add that I have adjusted my “rtptimeout” and “rtpholdtimeout”,

Nothing popping out with “rtp set debug on” nothing other than rtp traffic no errors, warnings, or notices.

When the call is unmuted the caller/callee can’t hear either audio or moh but they can hear key presses

Something to look at: don’t know if this is going to apply, but here goes.

If you are using a different codec for your on-hold music than you are for your connections, you can run into a problem where the audio (when you come off hold) doesn’t work for a number of seconds (up to 30). We found this to be a problem with Chan-SCCP-B - we would get one-way audio when the on-hold music was Ulaw and we were using GSM (or was it the other way around?), but we found that transcoding the on-hold music to match the codec we were using for out connections solved the problem.

Thank you for the reply,

Unfortunately this isn’t my case, as when using the HOLD everything works fine; it’s only if the user chooses MUTE instead.

(*Mute: Muting the users microphone so they can still hear the caller on the line but the caller can’t hear the user.)

What I tried was,

Place the callee/caller on mute,
After taking the call off mute, if no audio set hold

But this resulted in just dead air, as I thought maybe there was something going on with the stream or codecs like you said.

I believe the issue to be something either NAT or RTP related, main reasoning is that the call stays connected the entire time it never drops, only the audio stream seems to and only in one direction but again key tones can be heard on the other end even without the audio.

One step froward is we disabled “Preserve Bandwidth During Silence”, which made it last about 2 minutes until the stream stopped working.

Something that I haven’t tried that I just thought of and might try is transferring that call to another user and see if the stream is still dead or if it picks it back up.

Check also if VAD / Voice Activity Detection (probably same function as “Preserve Bandwidth During Silence” - I’m seeing this first time) isn’t enabled.
Are softphones behind NAT?
Running Wireshark might tell something - often you may see ICMP Port Unreachable messages when there are NAT problems.
It might be not the case, but SIP ALG in network equipment can cause really weird problems. I’ve seen TP-LINK switches, I think TL-SG108E model, crashing after using it for VoIP video calls where media address for video was different than for audio. Changing SIP local (listen) ports to other than 5060/5061 usually helps.
You might make test with my tSIP softphone - when using Mute it doesn’t stop streaming, just sending silence. Mute button is not present in default configuration so you have to add it as one of the programmable keys with right click (similar to desk phones with programmable BLF keys).