Audio Dropped During Canceled Attended Transfer or Hold

Status
Not open for further replies.

xmicro

Free User
Joined
Jul 23, 2019
Messages
6
Reaction score
1
Hello All,
I just came across an issue while trying to setup 3CX in a SMB with about 10 extensions involving transfers.

Some Diagnostic Information:
Phones: Grandstream GXP2170 (1.0.9.132)
3CX: 16.0.2.910
SIP Provider: Vitelity

Steps to Reproduce Issue:

  1. Receive External Call on Ext. #1
  2. Begin Attended Transfer to Ext. #2
  3. Cancel Transfer
  4. Resume Call / Unhold

As a result of this, the external caller can hear the SIP phone, but no audio can be heard from the external caller. The SIP trunk has the "PBX Delivers Audio" button checked, no re-invite or replaces.

If the transfer is not canceled, OR if the call is started internally (i.e the call is placed from our office) there are no problems with the audio.
This one has me completely befuddled, I would really appreciate some help.

Cheers!
 
So you don't mention whether you've run the firewall checker, where 3CX is in relation to the phones nor how the phones are provisioned. Also, not sure if you checked 'PBX Delivers Audio' or if it was already checked based on the template but you definitely don't want to make any changes there.

Confirm the firewall checker status and fill in the blanks on the rest of the setup.
 
Firewall is fine, passed all tests.

PBX is on a local server. It has a dedicated, static IP address through 1:1 NAT. The server has two interfaces, one that heads towards the internet/SIP provider, and another directly connected to the Phone VLAN.

The phones are provisioned using the local provision option. I am using a custom template, however the only changes made were to the ringtones, no other modifications have been made.

They seem to work correctly in all other scenarios. I attempted the same procedure listed above with both me calling the external phone, and also testing it using 3 internal extensions. In both of theses cases it worked flawlessly, the issue seems to only present itself when receiving an external call.

Also, to be clear when I say external call, I mean a call going through our SIP provider, not an external SIP phone.

I did not check the 'PBX Delivers Audio', It was set by the template.

Thanks for your help!
 
Hello All,

I have diagnosed the issue. It appears that the network was not the issue, as removing one of the network interfaces did not solve the problem, however it did simplify things, so still thanks to cobaltit for their suggestion.

I had forgotten that I had enabled OPUS as a custom template option for the Grandstream phones. When I had the phone prefer G722 Instead, the hold / transfer worked correctly.

We had OPUS working before on Asterisk, so I don't know why its an issue here. Is this possibly a bug with transcoding OPUS < -- > G711 in 3CX?

Im going to test it with a soft client to see if it has the same issue with OPUS.
 
Update: The issue does not seem to be triggered by the soft clients, even when preferring OPUS. This specifically seems to be an issue with Grandstream + 3CX + Opus.
 
Thanks for the update. As far as I know 3CX has only enabled OPUS on certain Yealink models and not on any Grandstream models so in their minds, it's not ready yet. Seems your findings match up.
 
Hi xmicro,

Reprovision a couple of phones with our default template and run your test scenario again.

For support purposes we always ask the customer to replicate the issue using our supported scenarios, so you can use this method to ensure that what you are doing is compatible with what we tested before our release.
 
Hi John,

I did this yesterday and it fixed the issue. The default templates use G722, not OPUS (even though the phones themselves do, we were using opus with them on asterisk and it worked fine).

I then modified our custom templates to remove the OPUS option and default to G722, they all worked fine. Its a suitable workaround for the time being, but I would like to see official support for opus and grand stream devices at some point.

For anyone that comes to this thread via google, here are the symptoms I experienced before the fix:
  1. Dropped audio randomly
  2. Directional audio drop on holds / transfers
  3. Bad or Dropped DTMF handling with some external calls (this one may actually be related to our SIP provider, however switching the phones to G722 fixed it, but so did using our alternate provider)
Again, thanks to you John and CobaltIT for the help, we have been demoing 3CX for the past few weeks and it seems like a great product!
 
  • Like
Reactions: JohnS_3CX
OPUS is a bit of a mixed bag at this point. It's great for the station end but no 3CX supported SIP trunking providers offer OPUS that I know of, ourselves included. So if you do OPUS on the extension side, you are always going to be transcoding for external calls which is going to require more CPU resources. The main issue is no SIP trunk provider wants to take the transcoding hit so until everyone upstream of them (Bandwidth, Windstream, PSAPs, etc) will accept OPUS you won't see much adoption. It's kinda like IPv6 adoption.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
111,932
Messages
589,807
Members
164,805
Latest member
Diana Paladutsa