Codec complexity refers to the amount of processing required to perform voice compression. Codec complexity affects the call density—the number of calls reconciled on the digital signal processors (DSPs). With higher codec complexity, fewer calls can be handled the other way around. When you configure high complexity codecs, make sure the associated voice card complexity is also compatible. This document highlights the error that you can receive on misconfiguration and how to correct the problem.
Readers of this document should be familiar with the different types of codecs and their complexities. Refer to Understanding Codecs: Complexity, Hardware Support, MOS, and Negotiation for more information.
This document is not restricted to specific software and hardware versions.
Refer to Cisco Technical Tips Conventions for more information on document conventions.
In this document, the requirement is to setup a high complexity call (for example with G.729) with use of High Density Voice (HDV) modules. The VoIP dial-peer is configured with the correct codec by issuing the codec g729r8 command, but the router is unable to set up the call and a message similar to this appears on the console or in the logs:
21:12:54: %DSPRM-5-SETCODEC: Configured codec 10 is not supported with this dsp image.
This condition indicates that the codec complexity and the voice card complexity configurations are mismatched.
This problem can appear on these platforms:
Cisco 1750 and 1751 series routers
Cisco 2600, 2600XM, 3600, 3725, and 3745 series routers with HDV modules, High Density Analog (HDA) modules, and AIM-VOICE modules
NM-HD-1V/2V/2VE, NM-HDV2, NM-HDV2-1T1/E1, and NM-HDV2-2T1/E1 modules if they are configured explicitly with medium complexity
Cisco MC3810 with High Performance Voice Compression Modules (HCM)
Cisco IAD2430 Integrated access device if it is configured explicitly with medium complexity.
This problem can effect Cisco IOS® Software Releases 12.0(7)T and later.
Check these conditions to verify if you have this problem:
Check if the codec you use is a high complexity codec. Refer to Understanding Codecs: Complexity, Hardware Support, MOS, and Negotiation for an overview of used codecs. Check the release notes and command reference in VR: Cisco IOS Voice, Video, and Fax Command Reference, Release 12.2 for new codecs.
If you plan to use high complexity codecs, check the voice card configuration. The voice card should also be configured as high complexity.
The solution to this problem is explained in detail in this section.
This table lists the default complexity configuration values for different voice cards or devices:
|NM-HDV2, NM-HDV2-1T1/E1, and NM-HDV2-2T1/E1||Flex|
|Cisco IAD2430 Integrated access device||Flex|
In the example provided in this document, the problem is caused because of the use of a high complexity codec while the default codec complexity configuration for the HDV module is medium. In order to solve this problem and to allow the usage of high complexity codecs, issue the codec complexity high configuration command from Voice card configuration mode. The modules with the default complexity set to Flex (for example NM-HD-1V) can handle both high and medium complexity codecs and therefore the problem does not occur unless they are explicitly configured with medium complexity.
ecv-2610-13(config)#voice-card 2 ecv-2610-13(config-voicecard)#codec complexity high % Can't change codec complexity while voice port exist. % Please remove all voice ports on this voice card first % before changing codec complexity. ecv-2610-13(config-voicecard)#
Note: In order to change the voice card codec complexity, remove all voice ports bound to the card and remove the configuration from the E1 or T1 controller. This output shows the successful change of codec complexity to high after removing all the voice ports configuration bound to the card.
ecv-2610-13(config)#voice-card 2 ecv-2610-13(config-voicecard)#codec complexity high ecv-2610-13(config-voicecard)#
IOS Session Initiation Protocol (SIP) gateways are used to treat G.729 codec types G.729r8 and G.729br8 as interoperable, but according to RFC 3555 this is not true. IOS SIP gateways compliant to the RFC 3555 specification treat G.729r8 and G.729br8 as different codecs. This can cause codec mismatch problems if configured differently on the end points. This can happen with Cisco SIP end points such as the Cisco ATA 186/188, Linksys devices and SIP phones along with some third party SIP end points.
In IOS SIP gateways complaint to RFC 3555, you need to specify the exact G.729 type of codec in the configuration. Another solution is to downgrade the IOS to a version which is not RFC 3555 complaint. Refer to Enhanced Codec Support for SIP Using Dynamic Payloads for more information on G.729 codecs on SIP gateways.
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.