Info
Configuring the codec used on the phone can intentionally increase or reduce the voice quality on phone calls. Certain codecs like G729 compress the audio stream to save on bandwidth usage. Other codecs like PCMU (G711), or G722 are utilized for increasing the voice quality but as a trade-off the bandwidth usage increases.
Important Note: Currently, TotalCX only allows PCMU/G711 on inbound/outbound calls to external callers/callees. However, any permitted payload type should be allowed for on-net calls (internal calling or calling DIDs to any existing TotalCX customer). This makes it important to watch your priority and have PCMU/G711 in the codec priority list somewhere.
You may also need to refresh how overrides are given to phones in this article.
Yealink
With Yealink configurations there are two configurations necessary to make:
Enabling the Codec: account.x.codec.<payload_type>.enable
Priority of the Codec: account.x.codec.<payload_type>.priority
You must substitute the x for the account (usually 1) and the permitted payload types for the <payload_type>.
Permitted Payload Types:
g722
pcmu
g729
Once a payload type is determined, you'll have to set the configuration value:
0 - Disabled
1 - Enabled
Example
account.1.codec.pcmu.enable="1"
account.1.codec.g729.enable="1"
account.1.codec.g722.enable="0"
account.1.codec.pcmu.priority="2"
account.1.codec.g729.priority="1"
In this example PCMU and G729 are enabled while G722 is disabled. It also sets the priority to use G729 over PCMU.
Other Configurations to Consider
Voice Activity Detection (VAD)
VAD can avoid unnecessary coding or transmission of silence packets in VoIP applications, saving on computation and network bandwidth.
Parameter |
voice.vad
|
Description | It enables or disables the VAD (Voice Activity Detection) feature. |
Permitted Values |
0-Disabled 1-Enabled |
Default | 0 |
Web UI | Settings > Voice > Echo Cancellation > VAD |
Comfort Noise Generation (CNG)
Comfort Noise Generation (CNG) is used to generate background noise for voice communications during periods of silence in a conversation.
Note: VAD is used to send CN packets when the phone detects a “silence” period; CNG is used to generate comfortable noise when the phone receives CN packets from the other side.
Parameter |
voice.cng
|
Description | It enables or disables the CNG (Comfortable Noise Generation) feature. |
Permitted Values |
0-Disabled 1-Enabled |
Default | 1 |
Web UI | Settings > Voice > Echo Cancellation > CNG |
TotalCX Default Configuration
account.1.codec.pcmu.enable="1"
account.1.codec.g722.enable="1"
account.1.codec.g722_1_24kpbs.enable="1"
account.1.codec.g722_1c_24kpbs.enable="1"
account.1.codec.g722_1c_32kpbs.enable="1"
account.1.codec.g722_1c_48kpbs.enable="1"
account.1.codec.g729.enable="1"
account.1.codec.pcmu.priority="1"
account.1.codec.g722.priority="2"
account.1.codec.g729.priority="3"
account.1.codec.g722_1c_48kpbs.priority="4"
account.1.codec.g722_1c_32kpbs.priority="5"
account.1.codec.g722_1c_24kpbs.priority="6"
account.1.codec.g722_1_24kpbs.priority="7"
voice.vod="1"
voice.cng="0"
Poly
For Poly you simply need to set up the priority.
Relevant Overrides:
voice.codecPref.G711_Mu
voice.codecPref.G722
voice.codecPref.G729AB
Available Values:
- Permitted values to set audio codec priority are 1 - 27.
- A value of 1 is the highest priority, 27 the lowest.
- If 0 or Null, the codec is disabled.
TotalCX Defaults/Example Configuration
voice.codecPref.G711_Mu="1"
voice.codecPref.G722="2"
voice.codecPref.G729AB="3"
Cisco
Relevant Overrides:
Preferred_Codec_1_
Second_Preferred_Codec_1_
Third_Preferred_Codec_1_
Use_Pref_Codec_Only_1_
Available Values:
G711u
G711a
G726-16
G726-24
G726-32
G726-40
G729a
G722
TotalCX Default/Example Usage:
Preferred_Codec_1_="G711u" Use_Pref_Codec_Only_1_="Yes"