Share this page : facebooktwitterlinkedinmailfacebooktwitterlinkedinmail
Codecs

 

A codec is a device or program capable of performing encoding and decoding on a digital data stream or signal, which works on presentation layer in VoIP.

Various types of codecs are used to encode and decode or compress and decompress data that would otherwise use large amounts of bandwidth on WAN links. Codecs are especially important on lower-speed serial links, where every bit of bandwidth is needed and utilized to ensure network reliability.

One of the most important factors for a network administrator to consider while building voice networks is proper capacity planning. Network administrators must understand how much bandwidth is used for each VoIP call. To understand bandwidth, the administrator must know which codec is being utilized across the WAN link. With a thorough understanding of VoIP bandwidth and codecs, the network administrator can apply capacity planning tools.

Coding techniques are standardized by the ITU. The ITU-T G-series codecs are among the most popular standards for VoIP applications. Following is a list of codecs supported by Cisco IOS gateways:

G.711: The international standard for encoding telephone audio on a 64-kbps channel. It is a PCM scheme operating at an 8-kHz sample rate, with 8 bits per sample.  It is widely used in the telecommunications field because it improves the signal-to-noise ratio without increasing the amount of data.
There are two subsets of the G.711 codec:

mu-law: Used in North American and Japanese phone networks
a-law: Used in Europe and elsewhere around the world
Both mu-law and a-law subsets use digitized speech carried in 8-bit samples. They use an 8-kHz sampling rate with 64 kbps of bandwidth demand.

G.726: An ITU-T Adaptive Differential Pulse-Code Modulation (ADPCM) coding at 40, 32, 24, and 16 kbps. ADPCM-encoded voice can be interchanged between packet voice, PSTN, and PBX networks if the PBX networks are configured to support ADPCM. The four bit rates associated with G.726 are often referred to by the bit size of a sample, which are 2 bits, 3 bits, 4 bits, and 5 bits, respectively.

■ G.728: Describes a 16-kbps Low-Delay Code Excited Linear Prediction (LDCELP) variation of CELP voice compression. CELP voice coding must be translated into a public telephony format for delivery to or through the PSTN.

■ G.729: Uses Conjugate Structure Algebraic Code Excited Linear Prediction (CSACELP) compression to code voice into 8-kbps streams. G.729a (that is, G.729 Annex A) requires less computation, but the lower complexity is not without a tradeoff because speech quality is marginally worsened. Also, G.729b (that is, G.729 Annex B) adds support for VAD and CNG, to cause G.729 to be more efficient in its bandwidth usage. The features of G.729a and G.729b can be combined into G.729ab. Standard G.729 operates at 8 kbps, but there are extensions that provide 6.4 kbps (Annex D) and 11.8 kbps (Annex E) rates for marginally worse and better speech quality, respectively.

■ G.723: Describes a dual-rate speech coder for multimedia communications. This compression technique can be used for compressing speech or audio signal components at a very low bit rate as part of the H.324 family of standards. This codec has two bit rates associated with it:

■ r63: 6.3 kbps; using 24-byte frames and the MPC-MLQ (Multipulse LPC with Maximum Likelihood Quantization) algorithm

■ r53: 5.3 kbps; using 20-byte frames and the ACELP algorithm

The higher bit rate is based on ML-MLQ technology and provides a somewhat higher quality of sound. The lower bit rate is based on CELP and provides system designers with additional flexibility.

■ GSM Full Rate Codec (GSMFR): Introduced in 1987, the GSMFR speech coder has a frame size of 20 ms and operates at a bit rate of 13 kbps. GSMFR is an RPE-LTP (Regular Pulse Excited–Linear Predictive) coder. To write VoiceXML scripts that can function as the user interface for a simple voice-mail system, the network must support GSMFR codecs. The network messaging must be capable of recording a voice message and depositing the message to an external server for later retrieval.

■ Internet Low Bit Rate Codec (iLBC): Designed for narrowband speech, it results in a payload bit rate of 13.33 kbps for 30-ms frames and 15.20 kbps for 20-ms frames. The algorithm is a version of Block-Independent Linear Predictive Coding, with the choice of data frame lengths of 20 and 30 ms. The encoded blocks have to be encapsulated in a suitable protocol for transport, such as RTP. This codec enables graceful speech quality degradation in the case of lost frames, which occurs in connection with lost or delayed IP packets.

Impact of voice samples and packet size on Bandwidth

Voice sample size is a variable that can affect total bandwidth used. A voice sample is defined as the digital output from a codec’s DSP encapsulated into a protocol data unit (PDU). Cisco uses DSPs that output samples based on digitization of 10 milliseconds’ worth of audio. Cisco voice equipment encapsulates 20 ms of audio in each PDU by default, regardless of the codec used. You can apply an optional configuration command to vary the number of samples encapsulated. When you encapsulate more samples per PDU, the total bandwidth is reduced. However, encapsulating more samples per PDU comes at the risk of larger PDUs, which can cause variable delay and severe gaps if PDUs are dropped.

Table 1-14 demonstrates how the number of packets required to transmit one second of audio varies with voice sample sizes.

Codec Bandwidth(bps) Sample Size(bytes) Packets
G.711  64000 240 33
G.711  64000 160 50
G.726r32  32000  120 33
G.726r32  32000 80 50
G.726r24 24000 80 25
G.726r24 24000 60 33
G.726r16 16000 80 25
G.726r16  16000 40 50
 G.728 16000 80 13
G.728 16000 40 25
G.729 8000 40 25
G.729 8000 20 50
G.723r63 6300 48 16
G.723r63 6300 24 33
G.723r53 5300 40 17
G.723r53 5300 20 33

 

Using a simple formula, it is possible for you to determine the number of bytes encapsulated in a PDU based on the codec bandwidth and the sample size (20 ms is the default):

Bytes_per_Sample = (Sample_Size * codec_Bandwidth) / 8

If you apply G.711 numbers, the formula reveals the following:
Bytes_per_Sample = (.020 * 64000) / 8
Bytes_per_Sample = 160

Notice from Table 1-14 that the larger the sample size, the larger the packet, and the fewer the encapsulated samples that have to be sent (which reduces bandwidth).

Mean Opinion Score

Mean opinion score (MOS) is a scoring system for voice quality. An MOS is generated when listeners evaluate prerecorded sentences that are subject to varying conditions, such as compression algorithms. Listeners then assign values to the sentences based on a scale from 1 to 5, where 1 is the worst and 5 is the best.  The test results are subjective, because they are based on the opinions of the listeners.

Perceptual Evaluation of Speech Quality

Perceptual Evaluation of Speech Quality (PESQ) is a family of standards comprising a test methodology for automated assessment of the speech quality as experienced by a user of a telephony system. Defined as ITU-T recommendation P.862 (February 2001), it is a worldwide applied industry standard for objective voice quality testing, used by phone manufacturers, network equipment vendors, and telco operators. PESQ can take into account codec errors, filtering errors, jitter problems, and delay problems that are typical in a VoIP network. PESQ scores range from 1 (worst) to 4.5 (best), with 3.8 considered toll quality that can be mapped to MOSs. PESQ replaces its predecessor, Perceptual Speech Quality Measurement (PSQM).

Perceptual Evaluation of Audio Quality

Perceptual Evaluation of Audio Quality (PEAQ) is a standardized algorithm for objectively measuring perceived audio quality, not only speech. Defined as ITU-R recommendation BS.1387, it utilizes software to simulate perceptual properties of the human ear and then integrate multiple model output variables into a single metric. PEAQ characterizes the perceived audio quality as subjects would do in a listening test. PEAQ results principally model MOSs that cover a scale from 1 (bad) to 5 (excellent). The PEAQ technology is protected by several patents and is available under license, together with the original code for commercial applications. However, free, unvalidated PEAQ model implementations exist.

Evaluating overhead

The packetization period and the related voice payload size affect the raw voice bandwidth. Table 1-17 illustrates the most common codecs with selected packetization periods, payload sizes, packet ratios, and the resulting voice bandwidth, including the overhead introduced by Layer 3 and above. The longer the packetization period is, the larger the sample size is, and the lower the Layer 3+ voice bandwidth is.

Table 1-17 Evaluating Overhead
Codec Packetization Period Voice Payload Packets per second Layer 3+ Bandwidth Per call (kpbs)
G.711 20 ms 160 byte 50 80
G.711 30 ms 240 byte 33 74
G.729 20 ms 20 byte 50 24
G.729 30 ms 30 byte 33 19

To compute the total call bandwidth, this formula is used:

Bandwidth_per_call = (Voice_payload + Layer 3_overhead + Layer 2_overhead) *PACKET_ratio) * 8 bits/byte

 

Layer 2 Overhead (Data link)

A significant contributing factor to bandwidth is the Layer 2 protocol that is used to transport VoIP. VoIP alone carries a 40-byte IP, User Datagram Protocol (UDP), and RealTime Transport Protocol (RTP) header. The larger the Layer 2 overhead, the more bandwidth that is required to transport VoIP:

■ IEEE 802.3 Ethernet: Carries 18 bytes of overhead: 6 bytes for source MAC, 6 bytes for destination MAC, 2 bytes for type, and 4 bytes for CRC.

■ IEEE 802.1Q Ethernet: In addition to the 802.3 overhead, there is a 32-bit 802.1Q header that carries, among others, a 12-bit VLAN ID.

■ PPP: Carries 4 to 8 bytes of overhead. The PPP header includes a 1- to 2-byte flag to indicate the beginning or end of a frame (in successive frames, only one character is used), 0 to 1 address byte, 0 to 1 control byte, 1- to 2-byte protocol field, and 2 bytes for CRC. If both PPP peers agree to perform address and control field compression during Link Control Protocol (LCP) negotiation, the control and address fields are not included. If both PPP peers agree to perform protocol field compression during LCP negotiation, the protocol field is 1 byte.

■ Frame Relay: Carries 6 bytes of overhead: 2 bytes of header, 2 bytes of trailer (CRC), and 2 bytes of flags.

 

Layer 3 and upper layer Overhead

The IP and transport layers also have overhead to contribute to the size of the packets:

IP: Adds a 20-byte header
UDP: Adds an 8-byte header
RTP: Adds a 12-byte header

So an call will have 40 bytes IP and upper layer overhead.

VPN overhead

VPN encapsulation adds additional overhead to the VoIP packets:

Encapsulating Security Payload (ESP): Adds typically a 50- to 57-byte overhead. Two variables affect the ESP overhead: cipher block size and the authentication algorithm. The typical block size is 8 octets, but Advanced Encryption Standard (AES) works with 16-octet block sizes. The block size influences the size of the initialization vector field, which is the same as the block size plus the padding overhead, which can be up to block size minus 1 octet.

The authentication algorithm yields different fingerprint sizes:

Message Digest 5 (MD5): 16 octets
Secure Hash Algorithm 1 (SHA-1): 20 octets
Secure Hash Algorithm 192 (SHA-192): 24 octets
Secure Hash Algorithm 256 (SHA-256): 32 octets

Generic Routing Encapsulation (GRE), Layer 2 Tunneling Protocol (L2TP): Adds a 24-byte header.
Multiprotocol Label Switching (MPLS): Adds a 4-byte header for every label carried in the packet. A label stack might include multiple labels in an MPLS VPN or traffic engineering environment.

Bandwidth Calculation Example

The example calculates the total bandwidth for a G.711 voice call with 50 pps carried over an Ethernet network.

To compute the total call bandwidth, this formula is used:

Bandwidth_per_call = (Voice_payload + Layer 3_overhead + Layer 2_overhead) * PACKET_ratio) * 8 bits/byte

For the specified call, the bandwidth computes to the following:
Bandwidth_per_call = (160 + 40 + 18) * 50) * 8 bits/byte = 87,200 b/s = 87.2 kbps

The Layer 3 and above (Layer 3+) consumes : (160 + 40) * 50) * 8 bits/byte = 80,200 b/s = 80 kbps

Table below includes total call bandwidth used by the most common codecs. It lists the Layer 3+ bandwidth and the total call bandwidth over 802.3 Ethernet

Codec Voice Payload Packets Per second Layer 3+ Call over 802.3 Ethernet
G.711 160 bytes 50 80 kbps 87.2 kbps
G.711 240 bytes 33 74.66 kbps 79.47 kbps
G.729 20 bytes 50 24 kbps 31.2 kbps
G.729 30 bytes 33 18.66 kbps 23.47 kbps
WHAT CODEC SHOULD I USE ?

In modern network, with 10Gbps network becoming more and more popular, to eliminate transcoding voice quality issue, I would suggest use G711 for most of the scenario.

PCMU (G711u) is used by default. Both PCMU and PCMA will give you toll quality but their bandwidth consumption is also the highest. If your network bandwidth is low, you can choose a lower-bit-rate codec such as G723 or G729 which will give you near toll quality at much smaller bandwidth consumption. If bandwidth is not a concern try using PCMU or PCMA, or even the wideband codec G722 which will provide hi-fidelity voice.

For example: If you have a basic high-speed connection at home (768kbps/128kbps), configure your phone with either G723 or G729 to ensure best available voice quality. If you have T1 bandwidth capacity, configure your phone with either G711 (a/µ) or G722 to experience toll-quality or high-fidelity voice.

Single-site deployment: In this deployment model, the VoIP calls are made within the same site. The site consists of LAN or MAN networks where enough bandwidth is  available. G.711 and G.722 codecs are recommended to provide the best voice quality. The bandwidth usage of the codec is not a concern within a single site.

Multisite WAN with centralized or distributed call signaling and clustering over the WAN: In these models, intrasite calls should use the same codecs as in single site—G.711 or G.722—as these codecs offer the best voice quality and the bandwidth consumption is not a problem. Intersite calls should use G.729 using any annex

 

Digital Signal Processors (DSP)

A DSP is a specialized microprocessor designed specifically for digital signal processing.

DSPs enable Cisco platforms to efficiently process digital voice traffic. DSPs on a router provide stream-to-packet signal processing functionality that includes voice compression, echo cancellation, and tone- and voice-activity detection.

A media resource is a software-based or hardware-based entity that performs media-processing functions on the data streams to which it is connected. A few examples are media-processing functions that include mixing multiple streams to create one output stream (conferencing), passing the stream from one connection to another (media termination point), converting the data stream from one compression type to another (transcoding), echo cancellation, signaling, termination of a voice stream from a TDM circuit (coding/decoding), packetization of a stream, and streaming audio (annunciation).

The 4 major functions of DSPs in a voice gateway are as follows:

Transcoding: Transcoding is the direct digital-to-digital conversion from one codec to another.

Transcoding compresses and decompresses voice streams to match endpoint-device capabilities. Transcoding is required when an incoming voice stream is digitized and compressed (by means of a codec) to save bandwidth, but the local device does not support that type of compression. Ideally, all IP telephony devices would support the same codecs, but this is not the case. Rather, different devices support different codecs.

Transcoding is processed by DSPs on a DSP farm. Sessions are initiated and managed by Cisco Unified Communications Manager. Cisco Unified Communications Manager also refers to transcoders as hardware MTPs.

If an application or service can handle only one specific codec type, which is usually G.711, a G.729 call from a remote site must be transcoded to G.711. This can be done only via DSP resources. Because applications and services are often hosted in main sites, DSP transcoding resources are most common in central sites.

Voice termination: Voice termination applies to a call that has two call legs, one leg on a TDM interface and the second leg on a VoIP connection. The TDM leg must be terminated by hardware that performs coding/decoding and packetization of the stream. DSPs perform this termination function. The DSP also provides echo cancellation, voice activity detection, and jitter management at the same time it performs voice termination.

Media termination point (MTP): An MTP is an entity that accepts two full-duplex voice streams using the same codec. It bridges the media streams and allows them to be set up and torn down independently. The streaming data received from the input stream on one connection is passed to the output stream on the other connection, and vice versa. In addition, the MTP can be used to transcode a-law to mu-law and vice versa, or it can be used to bridge two connections that utilize different packetization periods. MTPs are also used to provide further processing of a call, such as RFC 2833 support.

Audio conferencing: In a traditional circuit-switched voice network, all voice traffic goes through a central device (such as a PBX system), which provides audio conferencing services as well. Because IP phones transmit voice traffic directly between phones, a network-based conference bridge is required to facilitate multiparty conferences.

For a single site design, Use G.711 codecs for all endpoints. This practice eliminates the consumption of DSP resources for transcoding, and those resources can be allocated to other functions, such as conferencing and MTPs.

Conference bridge

A conference bridge is a resource that joins multiple participants into a single call. It can accept any number of connections for a given conference, up to the maximum number of streams allowed for a single conference on that device. A one-to-one correspondence exists between media streams connected to a conference and participants connected to the conference. The conference bridge mixes the streams together and creates a unique output stream for each connected party. The output stream for a given party is the composite of the streams from all connected parties minus their own input stream. Some conference bridges mix only the three loudest talkers on the conference and distribute that composite stream to each participant (minus their own input stream if they are one of the talkers).

Hardware conference bridges are used in two environments. They can be used to increase the conferencing capacity in a central site without putting an additional load on Cisco Unified Communications Manager servers, which can host software-based conference bridges. More important is the use of hardware conference bridges in remote sites. If no remote-site conference resources are deployed, every conference will be routed to central resources, resulting in sometimes-excessive WAN usage.

In addition, DSP-based conference bridges can mix G.711 and G.729 calls, thus supporting any call-type scenario in multisite environments.

In contrast, software-based conference bridges deployed on Cisco Unified Communications Manager servers can mix only G.711 calls.

Hardware Conferencing and Transcoding Resources

Figure 1-84 shows a multisite environment with deployed DSP resources. Router2 in Chicago is offering DSP-based conferencing services to support mixed codec environments and optimal WAN usage. The central gateway, Router1, offers transcoding and conferencing services. The transcoding resources can be used to transcode G.729 to G.711 and then connect to an application server or even a software-based Cisco Unified Communications Manager conference bridge.

 

DSP Chip

The DSP chip plays a crucial role in the Cisco Unified Communications system. The DSP chip comes in several form factors, from soldered on to the main board of the Cisco Unified IP phone or gateway, to the modular packet voice DSP module (PVDM). The PVDM can have multiple DSPs on the module.

The type of DSP chip, the number of DSP resources, and the type of codec that is used all factor into the calculation of how many simultaneous calls can be processed.

DSP Modules

Currently, there are two major types of high-density PVDMs: PVDM generation 2 (PVDM2) and PVDM generation 3 (PVDM3). The Cisco 2800 and 3800 Series platforms support only the PVDM2 modules. The Cisco 2900 and 3900 Series platforms support both the PVDM2 and PVDM3 modules. The PVDM3 modules provide higher density (up to four times higher) than the PVDM2s. They also provide improved performance in terms of the number of conference and transcoding sessions supported.

Each series includes multiple models that differ in the number and capacity of the DSPs that they have on board. The number (8, 16, 32, 64, and so on) in the model name indicates the maximum number of G.711 voice calls that a particular module can support.

All features supported by PVDM2s are supported on PVDM3s, except Cisco Fax Relay, which is no longer supported on PVDM3s. PVDM3 modules have a number of new features, including video support.

How they Coexistence:

The PVDM2 and PVDM3 modules can coexist as long as they are not both installed in the same domain. The motherboard PVDM slots form one domain, and each service module slot forms a separate domain. The motherboard domain can contain either all PVDM2 modules or all PVDM3 modules. A service module domain can contain only PVDM2 modules housed by the NM-HDV2 carrier card. If a mix of PVDM2s and PVDM3s are detected on the motherboard slots, then the PVDM2s will be deactivated, allowing only the PVDM3s to be used actively. If PVDM2s are detected in service module slots and PVDM3s are installed on the motherboard, then both will continue to function in their own domains and coexist.

Codec Complexity
Codec complexity refers to the amount of processing that is required to perform voice compression. Codec complexity affects call density, which is the number of calls that are reconciled on the DSPs. With higher codec complexity, fewer calls can be processed, as illustrated in Table below. A higher codec complexity might be required to support a particular codec or combination of codecs. A lower codec complexity supports the greatest number of voice channels, if the lower complexity is compatible with the particular codecs in use.

For easier DSP calculation, a DSP calculator tool is available at the following URL (and requires appropriate login credentials for the Cisco website):
https://www.cisco.com/c/en/us/applications/dsp-calc.htmlhttps://www.cisco.com/c/en/us/applications/dsp-calc.html

Fine tune DSP resource

The DSP resources, when installed on a voice gateway, do not have to be configured to support voice termination. In certain situations, it is necessary to fine-tune their operations. For fine-tuning, the voice-card slot command is used to enter the voice card configuration mode. The voice card corresponds to a service module installed on the gateway.

 Router(config)#voice-card slot

The dspfarm command adds a specified voice card to the DSP resource pool. If there are not enough DSPs on the motherboard to terminate the required PRI and CAS channels, you can use the dspfarm command under the available voice card (NM-HDV2 or another network module with PVDM2s). The DSPs of that voice card will be added to the shared resource pool. This method allows the termination of PRI and CAS channels, but not analog circuits.

Router(config-voicecard)#dspfarm

The codec complexity command sets the codec complexity on a voice card.

Router(config-voicecard)#codec complexity {flex | high | medium | secure}

The codec sub-sample command is used for applications that have strict requirements for round-trip delay times. This command reduces the G.711 sampling period inside the DSP from the default value of 10 ms to 5 ms, thus reducing the delay. However, this reduces the channel density of G.711 channels from 16 to 14. There is no difference in secure channel density if this mode is enabled.

 Router(config-voicecard)#codec sub-sample

For codec complexity to change, all of the DSP voice channels must be in the idle state.

The complexity of DSPs can be verified with the show voice dsp command

 

Configuring Transcoding and conferencing

The configuration of transcoding and conferencing on a voice gateway involves DSP resource requirements, Skinny Client Control Protocol (SCCP) configuration, DSP farm and DSP farm profile configuration, and hardware configurations.

The basic steps for configuring conferencing and transcoding on voice gateway routers are as follows:

Step 1. Determine DSP resource requirements: DSPs reside either directly on a voice network module (such as the NM-HD-2VE), on PVDM2s that are installed in a voice network module (such as the NM-HDV2), or on PVDM2s that are installed directly onto the motherboard (such as on the Cisco 2800 and 3800 Series voice gateway routers). You must determine the number of PVDM2s or network modules required to support your conferencing and transcoding services and install the modules on your router.

Step 2. Enable SCCP: The Cisco IOS router containing DSP resources communicates with Cisco Unified Communications Manager using SCCP. Therefore, SCCP needs to be enabled and configured on the router.

Step 3. Configure enhanced conferencing and transcoding: Configuring conferencing and transcoding on the voice gateway includes the following substeps:

■ Enable DSP farm services.

■ Configure a DSP farm profile.

■ Associate a DSP farm profile to a Cisco Unified Communications Manager group.

■ Verify DSP farm configuration.

The remainder of this section explores DSP farm configuration tasks, including both Cisco IOS configuration and Cisco Unified Communications Manager configuration.

DSP Farm Configuration Commands for Enhanced Media Resources

 

Prior to creating a DSP farm profile, you need to enable the DSPs for DSP services. You do this in the respective voice card configuration mode. After you have enabled DSPs for media resources, you can configure a DSP farm profile for conferencing, transcoding, or as an MTP. The commands required to perform this initial DSP farm configuration are provided below:

To enter voice card configuration mode and configure a voice card, use the voice-card command in global configuration mode:

Voice-card slot

The router must be equipped with one or more voice network modules that provide DSP resources. DSP resources are used only if this command is configured for the particular voice card.

dsp services dspfarm

To enter DSP farm profile configuration mode and define a profile for DSP farm services, use the dspfarm profile command in global configuration mode. To delete a disabled profile, use the no form of this command. If the profile is successfully created, the user enters the DSP farm profile configuration mode. Multiple profiles can be configured for the same service. If a profile is active, the user will not be allowed to delete the profile. The profile identifier uniquely identifies a profile. If the service type and profile identifier are not unique, a message is displayed that asks the user to choose a different profile identifier. You can choose the profile type by using one of these options:

• To create a conference bridge, use the conference option.

• To create a transcoder, use the transcode option.

• To create a media termination point, use the mtp option.

Router(config)#dspfarm profile profileidentifier {conference | mtp | transcode}

Within the DSP farm configuration, you need to specify the supported codecs and maximum number of sessions. This configuration directly affects the number of required DSPs, so ensure that the configuration matches the design specifications.

You also need to associate the DSP farm profile with SCCP. This is done using the associate application sccp command. The DSP farm configuration mode commands:

1. To specify the codecs supported by a DSP farm profile, use the codec command in DSP farm profile configuration mode. To remove the codec, use the no form of this command. Depending on the media resource, multiple codecs can be configured. Using higher-complexity codecs, such as G.729, might decrease the number of sessions per DSP. The pass-through option is available only for MTPs and is typically used for RSVP-based call admission control.

Router(config-dspfarm-profile)# codec {codec-type | pass-through} 

2. To specify the maximum number of sessions supported by a profile, use the maximum sessions command in DSP farm profile configuration mode. To reset to the default, use the no form of the command. For conferencing, the number specifies the number of conferences, not participants.

Router(config-dspfarm-profile)# maximum sessions number

3. To associate the SCCP to the DSP farm profile, use the associate application command in DSP farm profile configuration mode. To remove the protocol, use the no form of this command. This also requires a correct sccp group configuration to work correctly.

Router(config-dspfarm-profile)#associate application sccp
SCCP Configuration Commands for Enhanced Media Resources

Configuring enhanced media resources includes the SCCP configuration that will be used to register with Cisco Unified Communications Manager. Global configuration includes the configuration of the individual Cisco Unified Communications Managers, the local SCCP interface used for signaling, and activating SCCP.

The SCCP configuration commands:

1.  To add a Cisco Unified Communications Manager server to the list of available servers and set various parameters, including the IP address or Domain Name System (DNS) name, port number, and version number, use the sccp ccm command in global configuration mode. To remove a particular server from the list, use the no form of this command.

You can configure up to four Cisco Unified Communications Manager servers, a primary and up to three backups, to support DSP farm services. To do this, use the priority option, with 1 being the highest priority and 4 being the lowest.

To add the Cisco Unified Communications Manager server to a Cisco Unified Communications Manager group, use the associate ccm command.

Router(config)# sccp ccm {ip-address | dnsidentifier identifier-number [priority priority] [port portnumber] [version version_ number]

2. To select the local interface that SCCP applications (transcoding and conferencing) use to register with Cisco Unified Communications Manager, use the sccp local command in global configuration mode. To deselect the interface, use the no form of this command.

This should be either a LAN interface or a loopback interface and needs to be reachable from Cisco Unified Communications Manager. WAN interfaces should be avoided. The port option should be used only if the default port 2000 has been changed on Cisco Unified Communications Manager.

Router(config)# sccp local interface-type interface-number [port port-number]

3. To enable the SCCP protocol and its related applications (transcoding and conferencing), use the sccp command in global configuration mode. To disable the protocol, use the no form of this command. SCCP and its related applications (transcoding and conferencing) become enabled only if DSP resources for these applications are configured, DSP farm service is enabled, and the Cisco Unified Communications Manager registration process is completed. The no form of this command disables SCCP and its applications by unregistering from the active Cisco Unified Communications Manager, dropping existing connections, and freeing allocated resources.

Router(config)# sccp

4. After globally configuring SCCP, you need to create an SCCP group. An SCCP group references previously configured Cisco Unified Communications Managers and then associates a DSP profile with the group. To bind an SCCP group to a local interface, use the bind interface command.

To create a Cisco Communications Manager group and enter SCCP Cisco Unified Communications Manager configuration mode, use the sccp ccm group command in global configuration mode. To remove a particular Cisco Unified Communications Manager group, use the no form of this command. Use this command to group Cisco Unified Communications Manager servers that are defined with the sccp ccm command. You can use the associate profile command to associate designated DSP farm profiles so that the DSP services are controlled by the Cisco Unified Communications Manager servers in the group.

Router(config)# sccp ccm group group_number

5. To associate a Cisco Unified Communications Manager with a Cisco Communications Manager group and establish its priority within the group, use the associate ccm command in the SCCP Cisco Unified Communications Manager configuration mode. The identifier-number references the Cisco Unified Communications Managers that were previously configured using the sccp ccm command. You can configure up to four Cisco Unified Communications Manager servers, a primary and up to three backups, to support DSP farm services. To do this, use the priority option, with 1 being the highest priority and 4 being the lowest.

Router(config-sccp-ccm)#associate ccm identifiernumber priority priority

6. To associate a DSP farm profile with a Cisco Unified Communications Manager group, use the associate profile command in SCCP Cisco Unified Communications Manager configuration mode. To disassociate a DSP farm profile from a Cisco Unified Communications Manager, use the no form of this command. The profile option references the identifier of a DSP farm profile configured using the dspfarm profile command. The device name must match the name configured in Cisco Unified Communications Manager. Otherwise, the profile is not registered to Cisco Unified Communications Manager. Each profile can be associated to only one Cisco Unified Communications Manager group.

Router(config-sccp-ccm)# associate profile profileidentifier register devicename

7. To bind an interface to a Cisco Communications Manager group, use the bind interface command in SCCP Cisco Unified Communications Manager configuration mode. To unbind the selected interface, use the no form of this command. The selected interface is used for all calls that belong to the profiles associated to this Cisco Unified Communications Manager group. If the interface is not selected, it uses the best interface’s Cisco IP address in the gateway. Interfaces are selected according to user requirements. If only one group interface exists, configuration is not needed.

Router(config-sccp-ccm)# bind interface interfacetype interface-number

8. Verify Media Resources :   To verify the configuration of a DSP farm profile, use the show dspfarm profile command.

To check the DSP status used for DSP farm profiles, use the show dspfarm dsp all command.

Examples are provided for each configuration task.

 

DSP Farms

A DSP farm is the collection of DSP resources available for conferencing, transcoding, and MTP services. DSP farms are configured on the voice gateway and managed by Cisco Unified Communications Manager through SCCP.
The DSP farm can support a combination of transcoding sessions, MTP sessions, and conferences simultaneously. The DSP farm maintains the DSP resource details locally. Cisco Unified Communications Manager requests conferencing or transcoding services from the gateway, which either grants or denies these requests, depending on resource availability. The details of whether DSP resources are used, and which DSP resources are used, are transparent to Cisco Unified Communications Manager.

The DSP farm uses the DSP resources in network modules on Cisco routers to provide voice conferencing, transcoding, and hardware MTP services.

Prior to actual media resource configuration, the DSPs need to be enabled for DSP farm usage. The dsp services dspfarm voice card configuration mode command allocates the DSPs to the DSP farm. These commands are issued on both gateways, Router1 and Router2, as illustrated in Examples below:

Allocating DSPs to a DSP farm on Router1

Router1(config)#voice-card 0
Router1(config-voicecard)#dsp services dspfarm

Allocating DSPs to a DSP Farm on Router2

Router2(config)#voice-card 0
Router2(config-voicecard)#dsp services dspfarm
DSP Profiles

DSP farm profiles are created to allocate DSP farm resources. Under the profile, you select the service type (conference, transcode, MTP), associate an application, and specify service-specific parameters such as codecs and the maximum number of sessions. A DSP farm profile allows you to group DSP resources based on the service type. Applications associated with the profile, such as SCCP, can use the resources allocated under the profile. You can configure multiple profiles for the same service, each of which can register with one Cisco Unified Communications Manager group. The profile ID and service type uniquely identify a profile, allowing the profile to uniquely map to a Cisco Unified Communications Manager group that contains a single pool of Cisco Unified Communications Manager servers.

When the DSPs are ready, the DSP profile is configured using the dspfarm profile command. In this example, because transcoding is required on Router1, the dspfarm profile 1 transcoding command is used. On Router2, the dspfarm profile 1 conferencing command creates a profile for conferencing.

Because both G.711 and G.729 are used in this deployment, multiple codecs are enabled in both the transcoding and conferencing profiles using the codec codec-type command.

Configurations for Router1 and Router2 are provided in Example

Creating a DSP Profile on Router1

Router1(config)#dspfarm profile 1 transcode
Router1(config-dspfarm-profile)#codec g711ulaw
Router1(config-dspfarm-profile)#codec g711alaw
Router1(config-dspfarm-profile)#codec g729ar8
Router1(config-dspfarm-profile)#codec g729abr8
Router1(config-dspfarm-profile)#codec g729r8
Router1(config-dspfarm-profile)#maximum sessions 6
Router1(config-dspfarm-profile)#associate application SCCP
Router1(config-dspfarm-profile)#no shutdown

Creating a DSP Profile on Router2

Router2(config)#dspfarm profile 1 conference
Router2(config-dspfarm-profile)#codec g711ulaw 
Router2(config-dspfarm-profile)#codec g711alaw
Router2(config-dspfarm-profile)#codec g729ar8
Router2(config-dspfarm-profile)#codec g729abr8
Router2(config-dspfarm-profile)#codec g729br8
Router2(config-dspfarm-profile)#maximum sessions 2
Router2(config-dspfarm-profile)#associate application SCCP
Router2(config-dspfarm-profile)#no shutdown
SCCP Configuration

 

After the profiles are set up, both routers should be configured for SCCP. As a reminder, the SCCP protocol is used for signaling between Cisco Unified Communications Manager and the router containing the DSP resources.

Both routers use their Fast Ethernet 0/1 interface as the SCCP source interface, and the IP address of the primary Cisco Unified Communications Manager is 10.1.1.201. Because Cisco Unified Communications Manager 8.0 is deployed, 7.0+ is specified in the SCCP configuration on each router to ensure full interoperability between the router and Cisco Unified Communications Manager. Note that Cisco IOS 15.1(1)T1 is used in this example.

After the Cisco Unified Communications Manager servers have been defined, the SCCP groups can be configured. Again, Fast Ethernet 0/1 is used as the source interface for the group, and the previously defined Cisco Unified Communications Manager is associated using the associate ccm 1 priority 1 command. Note that the San Jose Cisco Unified Communications Manager server references the identifier option previously specified.

Then, the DSP farm profile is associated with the SCCP group using the associate profile command. The register XCODERouter1 option used on Router1 assigns the name XCODERouter1 to the profile. This name will be used when registering with Cisco Unified Communications Manager and will be required when configuring the Cisco Unified Communications Manager to point back to the DSP resource. On Router2, the register CFBRouter2 option is used, because this profile is a conference bridge.

To enable the Skinny Client Control Protocol (SCCP) protocol and its related applications (transcoding and conferencing), use the sccp command in global configuration mode.

These commands are issued on both gateways, Router1 and Router2:

Configuring SCCP on Router1

Router1(config)#sccp local FastEthernet 0/1
Router1(config)#sccp ccm 10.1.1.201 identifier 1 priority 1 version 7.0+
Router1(config)#sccp
Router1(config)#sccp ccm group 1
Router1(config-sccp-ccm)#bind interface FastEthernet 0/1
Router1(config-sccp-ccm)#associate ccm 1 priority 1
Router1(config-sccp-ccm)#associate profile 1
Router1(config-sccp-ccm)#register XCODERouter1 

The XCODERouter1 will be used in Cisco Unified Communications Manager for trancoder.

Configuring SCCP on Router2

Router2(config)#sccp local FastEthernet 0/1
Router2(config)#sccp ccm 10.1.1.201 identifier 1 priority 1 version 7.0+
Router2(config)#sccp
Router2(config)#sccp ccm group 1
Router2(config-sccp-ccm)#bind interface FastEthernet 0/1
Router2(config-sccp-ccm)#associate ccm 1 priority 1
Router2(config-sccp-ccm)#associate profile 1
Router2(config-sccp-ccm)#register CFBRouter2

The CFBRouter2 will be used in Cisco Unified Communications Manager for conference bridge.

Unified Communications Manager Configuration

 

After the Cisco IOS configuration is complete, the media resources need to be added to Cisco Unified Communications Manager.
Continuing with the current example, a conference bridge is defined in the
Media Resource > Conference Bridge menu option.

The newly added conference bridge now needs to be set up. Because the conference bridge is using a PVDM2 deployed on an ISR, the Conference Bridge Type needs to be Cisco IOS Enhanced Conference Bridge .

Conference Bridge Configuration
Parameter Value Description
Conference Bridge Type Cisco IOS Enhanced Media Termination Point Select the platform housing the DSPs to be used as a conferencing resource.
Conference Bridge Name CFBRouter2 This needs to match the name previously configured in the associate profile command on the gateway router 2.
Description CFBRouter2 Choose a meaningful description
Device Pool Default Select the correct device pool.
Common Device Configuration <None> Optionally select a common Device Configuratoin
Location <None> Select the correct location
Device Security Mode Non Secure Conference Bridge Set the conference bridge to either a nonsecure or an encrypted conference bridge.
Use Trusted Relay Point Default Optionally select a Trusted Relay Point (TRP), which identifies an MTP or transcoder that is identified as a TRP

 

Configure transcoder on call manager:

navigate to the Media Resource > Transcoder menu option. Because PVDM2s are also used for transcoding, select Cisco IOS Enhanced Media Termination Point as the Transcoder Type.

Parameter Value Description
Transcoder Type Cisco IOS enhanced media Terminal Point Select the plateform housing the DSPs to be used as a transcoder resource.
Description XCODERouter1 Choose a meaningful description
Device Name XCODERouter1 This needs to match the name previously configured in the associate profile command on the Router1 gateway
Device Pool Default Select the correct device pool
Common Device Configuration <none> Optionally select a common Device configuration
Special Load informaiton  – This should be left blank
Trusted Relay Point Check box  Unchecked Check to identify the transcoding resource as a Trusted Relay Point (TRP).

 

 

 

Related Error Messages

%DSPRM-5-SETCODEC:

The %DSPRM-5-SETCODEC error is due to a high complexity codec configured on a VoIP dial-peer while it still has the voice card set for the default of medium complexity. To fix this problem, you must remove the ds0-group configuration from the controller which causes the voice-port to be removed. After you remove the ds0-group, follow the procedures earlier in this document to change the complexity.

Reference

https://www.cisco.com/c/en/us/support/docs/voice/h323/14069-codec-complexity.html