Call Quality & Transcoding

Status
Not open for further replies.

cparker_RCT

Customer
Advanced Certified
Joined
Jun 3, 2019
Messages
113
Reaction score
25
In migrating my old sipX installation to 3CX I'm noticing on the old system that when I have a PSTN call, the phones do not negotiate G722 (knocking them back to G711) while leaving internal calls at G722.
Is something like this possible in 3CX? I've found the settings for external call codec preference but if I place an outbound / inbound call the phone still shows "HD" and the call quality is reduced versus forcing the phone to only do G711. The phones in question are Polycom VVX.
 
The more I dig around, even after disabling "PBX delivers audio" on the trunk it seems the PBX never relays to the phone that it shouldn't do a G722 call... and permits the transcoding. Is this just the nature of the beast with 3CX that you either pick muffled SIP trunks due to transcoding with internal HD calls - or outright disabling G722 on the desk phones?
 
Hi,

This is how it works, the instigator of the call (ie. an extension) will make the first leg of the call towards the PBX and the PBX will follow the codec priority for the internal call.

Then, the next call leg is the PBX calls the provider using their codec, which is different from the first leg and hence transcoding will take place.

I would recommend to have your trunk's codec (G.711 in this case) as the highest priority for internal and external calls so you can avoid transcoding altogether, but you will be giving up HD for internal calls.
 
When I call into 3CX over the trunk, the instigator is the PBX itself when sending to a phone. When I watch the SIP flow in Wireshark, 3CX offers the phone the same codecs as per the phone's configured priority list, not what is listed in the "external call" codec priority list.

This is really unfortunate and makes the settings of "internal v external" codecs seemingly useless since they don't do what they're claiming.

Switchvox/Asterisk and sipX/FreeSwitch have the ability to do this negotiation (since I'm coming from a sipX install) and every single call inbound or outbound will automatically drop to G711u while internal calls function at G722.

If this is the case, with this trade off I feel like it should be a more well known issue. Since this effectively renders HD phones standard definition if you want your trunks to sound fine. HD is no longer a selling point.

I really hope this brings up a "we should fix this" if other open source competitors can manage it.

In trying to understand this issue I've come across countless dead end threads that boil down to "huh sucks, turn off HD or deal with unbearable transcoding" - I can't be the only one that finds this super frustrating. :\
 
This is not surely what you would have as answer but to avoid transcoding, Set preferred codecs according to what your sip Provider needs and set same in extensions in same order
 
This is not surely what you would have as answer but to avoid transcoding, Set preferred codecs according to what your sip Provider needs and set same in extensions in same order
I realize this, as this is what I'm doing at a customer site that isn't picky. But part of my frustration is that other systems handle this issue with ease, and do not subject you to unbearable transcoding.
 
Yes, some 3cx behavior are not always what we'd like to use but for now they are like this so we have only choice to do with ;)
 
This might be a provider issue. I had something similar recently with E911 calls and codecs. The 911 provider doesn't support G722 but my SIP provider does, so when relaying the call, my provider wasn't negociating G711u with the E911 so the call failed. I had incoming like this too.

Never subject to transcoding, only failed calls or no audio at all.
 
Pray4OPUS
 
  • Like
Reactions: Evolute IT
The reason I keep bringing up sipX being capable of doing auto-force G711u for in/out external calls is because it seems trivial to do. I just wish the internal/external codec priority list did exactly that.
 
I noticed another interesting issue that I thought would be rectified with the global priority lists.
The web client seems to always offer G722 regardless of the global / per extension settings.

Am I really missing something here? Just scratching my head real hard about all this.
 
Did you see this in a capture?
 
I think you are probably seeing the highest priority codec that you set under Settings > General > Codec Priority for Local/Internal Calls. The webclient does not appear in the logs.

That aside, the best way to ensure no transcoding takes place is to set whatever codec your provider prefers as the highest priority in General, in Trunks, and in Extensions.
 
I think you are probably seeing the highest priority coded that you set under Settings > General > Codec Priority for Local/Internal Calls. The webclient does not appear in the logs.

That aside, the best way to ensure no transcoding takes place is to set whatever codec your provider prefers as the highest priority in General, in Trunks, and in Extensions.
I would like to think that, but no... I have G711u in every single place possible as the highest priority. Even restarted services / rebooted after.
 
did you reprovision phones ? each time you change codecs order you need to provision phone to send new settings on phones
 
How does one reprovision the web client? Is that even possible? The VVX template is broken and doesn't remove G722 so I have to hand-edit that... But I have, yes reprovisioned the Yealink phones in this test.
 
  • Like
Reactions: AWS2P
How does one reprovision the web client? Is that even possible? The VVX template is broken and doesn't remove G722 so I have to hand-edit that... But I have, yes reprovisioned the Yealink phones in this test.
Under each extensions, in Phone Provisioning, select 3CX App and check codecs order. I believe the Webclient uses that list like the mobile app and softphone app.
 
The test web client extension also has G711u as the only available codec.
 
  • Like
Reactions: Evolute IT
Status
Not open for further replies.

Forum statistics

Threads
112,067
Messages
590,598
Members
165,023
Latest member
whitney1984