Using Cisco Unified Communications Manager (CallManager) to Convert Audio Format

I was helping someone with a contact center express project recently and it became necessary to convert some G.711 audio prompts to G.729. Back in the good ol’ days of CallManager 3.x – 4.x this was a very simple task, but I had never attempted using a Linux based version of CUCM (CallManager) to do the same. You will need an SFTP server to act as the destination for the converted files. I highly recommend SilverSHielD if you are running Windows (there’s a free version available at the link).

Enough background. Here’s the process:

  1. Login to the CUCM admin web page and navigate to the Media Resources -> MOH Audio File Management
  2. Upload the audio file(s) that you want to convert to G.729
  3. Login to the CUCM command line interface via SSH
  4. Run the following command to see all current MOH files “file list activelog mohprep
  5. Run the following command to transfer the file to an SFTP server: “file get activelog mohprep/<filename>.wav” (where filename is obtained in step 4)
  6. You will be prompted to enter the following details about the SFTP server:

SFTP server IP: <SERVER IP>

SFTP server port [22]:

User ID: <SFTP username>

Password: <SFTP password>

Download directory: \

(NOTE: Use ‘\’ for Windows based SFTP servers or ‘/’ for Linux/Unix based SFTP servers)

Cisco IOS SIP dial-peer status notifications

This configuration will create a syslog message as well as an SNMP trap either of which your monitoring/alerting systems should be able to use as a trigger to take action.

1. Copy the linked TCL file to the root of the flash filesystem on the router that connects to the SIP trunk(s). Download TCL Script
2. Add the command to “voice-class sip options-keepalive” to one of the dial-peers pointing to the service provider and make a note of the dial-peer number you are adding the command to

Example:

dial-peer voice 100 voip
voice-class sip options-keepalive

3. Add the command track 100 stub-object to the global config.
4. Add the command snmp-server enable traps event-manager to the global config (this is needed for the SNMP trap functionality).

4. Finally the following configuration template can be applied to the router. Notice the number 100 below is a reference to the dial-peer and tracking number from above and must match for this to work.

event manager environment dial_peer_number 100
event manager environment check_interval 30
event manager directory user policy "flash:/"
event manager applet siptrunk_down
event track 100 state down
action 10 snmp-trap strdata "SIP Trunk Down"
action 20 syslog msg "Alert - SIP Trunk Down"
event manager policy check_dial_peer_status.tcl

This was documented at the following Cisco page as well: Link