cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
17589
Views
55
Helpful
5
Comments

I just thought to put down a summary list of codecs used in CUCM

  • G.711: It has two versions, A-Law & Mu-Law. You can disable CUCM support for G711 using the service parameter G.711 mu-law Codec Enabled or G.711 a-law Codec Enabled
  • G.722: This is wideband codec that is always preferred by CUCM over G.711, unless Advertise G.722 Codec enterprise parameter is Disabled.

 

Enterprise Parameter Setting

Phone (Product-Specific) Parameter Setting

Phone Advertises G.722

Advertise G.722 Codec Enabled

Use System Default

Yes

Advertise G.722 Codec Enabled

Enabled

Yes

Advertise G.722 Codec Enabled

Disabled

No

Advertise G.722 Codec Disabled

Use System Default

No

Advertise G.722 Codec Disabled

Enabled

Yes

Advertise G.722 Codec Disabled

Disabled

No

 

When users use a headset that supports wideband, they can enable Wideband Headset feature from the phone settings for better quality. On the phone navigate to Settings > User Preferences > Audio Preferences > Wideband Headset.

 

Enabling the Advertise G.722 Codec parameter causes interoperability problems with UCCX CAD, call park and ad hoc conferences. Keep it disabled.

 

You can disable CUCM support for G722 from the service parameter G.722 Codec Enabled. If G722 Codec is disabled, Advertise G722 Codec enterprise parameter is ignored

 

  • G.722.1: A low-complexity wideband codec operating at 24 and 32 kb/s.
  • G.723.1: Low-bit-rate codec with 6.3 or 5.3 kb/s compression for Cisco IP Phone 12 SP+ and Cisco IP Phone 30 VIP devices.
  • G.728: Low-bit-rate codec that video endpoints support.
  • G.729: Low-bit-rate codec with 8-kb/s compression. The codec has 4 versions:
    • G729: original codec. Uses high-complexity algorithm
    • G729A or A annex: medium complexity variant of G.729 and it is compatible with G729. It is less complex but has slightly lower voice quality
    • G729B or B annex: G729 with VAD and not compatible with the previous ones. It requires a transcoder
    • G729AB: G729A with silence suppression and only compatible with G729B.

 

IOS can distinguish between all versions of G729 while CUCM can't. CUCM will treat G729r8 and G729ar8 equally. Similarly, CUCM will treat G729br8 and G729abr8 similarly.

 

By default Annex-B support is turned off in IOS and CUCM.

 

To enable AnnexB in IOS,

 

voice service voip

 sip

  g729 annexb-all

 

To enable AnnexB in CUCM, set the service parameter 'Strip G.729 Annex B (Silence Suppression) from Capabilities' to False

 

v=0

o=CiscoSystemsSIP-GW-UserAgent 2385 707 IN IP4 10.170.170.2

s=SIP Call

c=IN IP4 10.170.170.2

t=0 0

m=audio 29384 RTP/AVP 18 8 0 19

c=IN IP4 10.170.170.2

a=rtpmap:18 G729/8000

a=fmtp:18 annexb=yes

a=rtpmap:8 PCMA/8000

a=rtpmap:0 PCMU/8000

a=rtpmap:19 CN/8000

a=ptime:20

 

  • GSM: GSM enables the MNET system for GSM wireless handsets to operate with CUCM. Assign GSM devices to a device pool that specifies 13 kb/s as the audio codec for calls within the GSM region and between other regions. Depending on device capabilities, this includes GSM EFR (enhanced full rate) and GSM FR (full rate).
  • L16-Uncompressed: 16-bit linear pulse-code modulation (PCM) encoded audio with a 16-kHz sampling rate provides wideband audio at 256 kb/s.
  • AAC-LD (mpeg4-generic): Super-Wideband codec
  • AAC-LD (MP4A-LATM)Super-Wideband codec

AAC-LD (mpeg4-generic) and AAC-LD (MPA4-LATM) are not compatible

 

  • iSAC
    • This is a wideband codec uses an adaptive bit rate of between 10 and 32 kb/s
    • Each packet can contain 30 or 60 msec of payload). It has better tolerance to jitter and packet loss compared to G722 at half the bit rate

 

It has two modes:

  • Adaptive: In this mode the target bit rate is adapted to give a bit rate corresponding to the available bandwidth on the channel. The available bandwidth is continuously estimated at the receiving iSAC and signaled in-band in the iSAC bit stream
  • Independent: In this mode target bit rate has to be provided to iSAC prior to encoding; the target bit rate can be changed over the time of the call.

 

  • iLBC: iLBC provides audio quality between that of G.711 and G.729 at bit rates of 15.2 kbps (38-bytes or 20msec) and 13.3 kbps (50 bytes or 30 msec). iLBC handles lossy networks in better way than G729 because it treats each packet independently. G729 depends on the previous packet to handle packet loss, jitter and delay which doesn't tolerate well in lossy networks.

 

Codec

Complexity

Protocol Support

Device Support

G711

Low

All

All

G722

High

    • SIP, H323, SCCP
    • MGCP isn't supported

All

G722.1

Low

SIP and H323

All

G729

    • G729A & AB are medium
    • G729 & G729B are high

All

All

iLBC

High

    • SIP, SCCP, MGCP
    • H323 Slow Start
    • H323 Inbound Fast Start Only (Outbound Fast Start not supported)

All

LATM

High

SIP

    • Video Endpoints and CUBE are supported
    • RSVP is supported
    • Xcoder isn't supported

iSAC

High

SIP and SCCP

    • CUBE and new endpoints are supported (7945/65 aren't supported)
    • Media resources aren't supported
Comments
aalejo
Level 5
Level 5

For CUCM 9.0 (Released around 2012 and following releases):

 

CUCM codec preference is based on "Audio Codec Region Preference list". There is no hardcoded behavior between G722 and G711 . Nothing is hardcoded preferred.

 

In other words, you don't have to disable G.722: you need to create a new "Audio Codec Region Preference list" where G711 is on top of G722. 

 

For releases before CUCM 9.0, yes, there is a hardcoded preference list where G722 is on top of G711.

Alex

adambaack
Level 1
Level 1

Regarding this part: "Enabling the Advertise G.722 Codec parameter causes interoperability problems with UCCX CAD, call park and ad hoc conferences. Keep it disabled."

 

Is this still accurate for year 2020 and versions 11.5+ running Finesse, etc?

 

We are running CUCM/Finesse 11.5(1) and looking at enabling G.722 codecs.  We use Calabrio for recording, which does support G.722.

We are on CM 11.5.  All of our CCX agents are using Jabber remotely.  We use QM for recording.  We are finding out that Jabber to Jabber calls are negotiating 722.1.  When the leg of the call goes to QM for recording, it doesn't get recorded because QM doesn't support 722.1.

 

We are getting a lot of this:

MediaResourceListName : NULL_LIST

MediaResourceType : 2

MediaResourceTypeValue : Transcoder

AppID : Cisco CallManager

AK007
Cisco Employee
Cisco Employee

Excellent concise compilation as always. Tysm !

 samthedog99@gmail.comadambaack 

Hi Guys,

 

Did you find any solution for this Jabber to Jabber recording issue?

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: