Hardware Media Resources on CUCME

Hello again, my dear colleagues! 🙂
Finally I got some time for another blog post. As always, there was a lot of work, despite the summer period, there was a business trip to our branch in Almaty, where I delivered my traditional Cisco voice courses. And, of course, there was a long-awaited vacation. 🙂
The reason for writing today’s message was my joint work with one of my students – Adonis Troitsky from Almaty. Recently, I assisted him in solving a problem with the registration of hardware media resources (conference bridge and transcoder) on CUCME 8.0. The Cisco Authorized Courses go into some detail about how media resources work with the “server” Cisco Call Manager (CUCM), but they don’t cover how to use it with CUCME (Cisco Unified Communication Manager Express). Let’s compensate the vendor’s omission and cover this topic in more detail.
Media resources in Cisco terminology are hardware or software devices that perform certain processing of voice streams / sessions. Voice stream processing operations include:
  • Voice Termination – conversion of “traditional” (ie analog or digital) speech signals into VoIP packets;
  • Conferencing – combining (multiplexing) several voice streams into a conference, i.e. a conversation of several users at the same time;
  • Transcoding – converting a codec used in a voice session by one device into a codec that can be used by another device.
  • Media Termination Point (MTP) – connection (“bridging”) of two voice sessions with each other, for example, in cases where the session uses the same codec, but different packetization intervals or companding laws.
  • Music on Hold – play music when one of the participatns is put on hold
  • Annunciator – playing voice messages or acoustic signals in various situations, for example, when dialing a non-existent number, etc.
Some voice stream processing operations can only be performed in hardware (Voice Termination, Transcoding), while others can only be performed in software (Music on Hold, Annunciator). Conferencing and MTP can be implemented on both hardware and software resources. The use of hardware is preferable, since software resources increase the load on the processors of the servers and voice gateways. In most cases, DSP (Digital Signal Processor) of voice gateways are used as hardware. To work as a transcoder, conference bridge or MTP DSP chips are combined into a construction called dspfarm (literally: DSP farm). A dspfarm should always register on the CUCM. The CUCM uses the SCCP signaling protocol to manage media resources.
Let’s consider the configuration of hardware media resources for CUCME using the example of a conference bridge and a transcoder. To use the DSP for transcoding or conference, you must perform the following steps (here I provide an example configuration of a Cisco 2811 router with CUCME functionality, explanations are given in italics; values ​​of matching parameters are highlighted in the same color):

voice-card 0
– the slot number where the  DSP cards are installed

dsp services dspfarm
enable dspfarm in slot 0

!

!
interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
!
interface FastEthernet0/0.124
 – Voice VLAN subinterface
 description BR-2 Phones
 encapsulation dot1Q 124
 ip address 10.2.4.102 255.255.255.0
!


interface FastEthernet0/0.125
Data VLAN subinterface  
 description BR-2 Data


 encapsulation dot1Q 125
 ip address 10.2.5.102 255.255.255.0
!


interface Loopback 0

description For_CUCME

ip address 10.2.250.102 255.255.255.0

!
!
sccp local FastEthernet0/0.124
 bind local interface for SCCP signaling

sccp ccm 10.2.250.102 identifier
1 version 7.0
 configure the CUCME IP address on which media resources will be registered, its identifier and software version

sccp
enable SCCP signaling

!


sccp ccm group 1
configure a CCM group for media resources registration (this is similar to CUCM media resources registration)  

associate ccm
1 priority 1
configure the priority of the CUCME for media resources registration

associate profile
2 register Transcoder
configure the name of the profile for transcoder registration

associate profile
1 register HW_CFB
configure the name of the profile for conference bridge registration

!

dspfarm profile
2 transcode
create a profile for transcoder
 codec g711ulawspecify the codecs, which can be processed by the transcoder 
 codec g711alaw

 codec g729ar8
 codec g729abr8
 codec g729r8


 maximum sessions 2
maximum number of transcoder sessions
 associate application SCCP – activate SCCP signaling for this profile 
 no shutdownenable the transcoder

!

dspfarm profile
1 conference
create a profile for conference bridge
 codec g711ulaw – specify the codecs, which can be used during conference  
 codec g711alaw


 codec g729ar8
 codec g729abr8
 codec g729r8
 codec g729br8


 maximum sessions 2
– maximum number of conference sessions
 associate application SCCP – activate SCCP signaling for this profile  
 no shutdownenable conference bridge 

!


!
telephony-service
CUCME settings

 conference hardware – enable hardware conference 
 sdspfarm units 2 – number of the profiles for this CUCME 
 sdspfarm tag 1 HW_CFBconference profile name (must match with the name of the DSP profile)
 sdspfarm tag 2 Transcoder  transcoder profile name (must match with the name of the DSP profile)
 max-ephones 10


 max-dn 10
 ip source-address 10.2.250.102 port 2000
CUCME IP address

When configuring dspfarm profiles, a situation may arise when the system will not allow you to enter the required number of sessions (maximum sessions). This indicates a lack of DSP resources. It is necessary either to add DSP card to your router, or to reduce the number of traditional telephony ports (analog phones, time slots on E1 links).
After configuring, check the registration of media resources:
BR-2#sh dspfarm profile 1

Dspfarm Profile Configuration

 Profile ID = 1, Service = CONFERENCING, Resource ID = 1
 Profile Description :
 Profile Service Mode : Non Secure
 Profile Admin State : UP Profile Operation State : ACTIVE Application : SCCP   Status : ASSOCIATED Resource Provider : FLEX_DSPRM   Status : UP
 Number of Resource Configured : 2
 Number of Resource Available : 2
 Codec Configuration
 Codec : g711ulaw, Maximum Packetization Period : 30 , Transcoder: Not Required
 Codec : g711alaw, Maximum Packetization Period : 30 , Transcoder: Not Required
 Codec : g729ar8, Maximum Packetization Period : 60 , Transcoder: Not Required
 Codec : g729abr8, Maximum Packetization Period : 60 , Transcoder: Not Required
 Codec : g729r8, Maximum Packetization Period : 60 , Transcoder: Not Required
 Codec : g729br8, Maximum Packetization Period : 60 , Transcoder: Not Required


BR-2#sh dspfarm profile 2
Dspfarm Profile Configuration

 Profile ID = 2, Service = TRANSCODING, Resource ID = 2
 Profile Description :
 Profile Service Mode : Non Secure
 Profile Admin State : UP Profile Operation State : ACTIVE Application : SCCP   Status : ASSOCIATED Resource Provider : FLEX_DSPRM   Status : UP
 Number of Resource Configured : 1
 Number of Resource Available : 1
 Codec Configuration
 Codec : g711ulaw, Maximum Packetization Period : 30
 Codec : g711alaw, Maximum Packetization Period : 30
 Codec : g729ar8, Maximum Packetization Period : 60
 Codec : g729abr8, Maximum Packetization Period : 60
 Codec : g729r8, Maximum Packetization Period : 60
From the output above, it can be seen that our hardware media resources have been successfully registered with CUCME and are ready for use (Operation State: ACTIVE, SCCP Status: ASSOSIATED). Sometimes it is not possible to immediately get the registration of hardware resources, in this case, the reinitialization of the SCCP protocol helps:
BR-2#(Config) no sccp

BR-2#(Config) sccp