Sox > Audacity

Far and away the best Global Knowledge teacher I ever had introduced me to this handy application.

I had always used audacity to convert WAV files to the proper format for Music on Hold on CUCM. Sox takes what was a convoluted process and makes it as easy as one line in command prompt.

The proper format for the WAV file is:

Encoding: 8-bit CCITT u-Law or a-Law
Data Rate: 8 Kbps
Sample Rates: 8 kHz, 16 kHz, 32 kHz, 48 kHz
Audio Sample Size: 16-bit PCM
Channels: 1

Now for the wonderfully easy part:

Download Sox here:

Install and run from a command prompt window

The proper syntax for conversion is:
sox.exe c:\PathToOldFileFormat.wav -r 8000 -c 1 -b 8 -e mu-law c:\PathToOutputOfNewFileFormat.wav

Voila! Upload the new file to your favorite Music on hold audio source or UCCX prompt directory and enjoy!


MeetMe UCCX Script

After our migration to a Cisco VoIP system we decided to save some money and migrate our conferencing off of a paid conference bridge to use MeetMe exclusively for our conferences. Of course MeetMe is what is and although it is very easy to operate and convenient it isn’t exactly loaded in the bells and whistles department.  It has no audio front end or passcode requirement capabilities and provides no way of holding a call if a conference hasn’t been started by the organizer.

There are several solutions floating around the interwebs to fix some of the limitations. Some use unity and some utilize UCCX for an audio front end. I have taken several of the ideas that use UCCX and tweaked/compiled those for the solution posted here.

This UCCX script allows for up to 30 MeetMe numbers with a passcode validation for those who join. It will check to see if the meeting has been started and place the caller on hold if it has not. If you configure an audio stream for it you can play MoH for those on hold. Once the conference is started by the organizer each participant will be taken off hold and placed into conference.

Step-by-Step the script will work like this:
1.       Users will call the DID set up for external conference users
2.       The DID is pointed via a CTI route point  to the UCCX trigger of the MeetMe application
3.       The UCCX application begins the script, welcomes the caller and prompts for the conference ID
4.       If the conference ID is incorrect it will prompt 3 times before ending the call
5.       After the conference ID is verified it will prompt for the corresponding passcode
6.       If the passcode is incorrect it will prompt 3 time before ending the call
7.       Once the passcode is verified it will attempt to place the caller into the conference
8.       If the conference is not active it will play an audio prompt telling the caller to wait and play MoH
9.       Every 10 seconds it loop through the script to check if the conference is active
10.   Once the conference is active it will place the caller in conference and the script will end

Each of the Meeting ID’s and Passwords are set as parameters and can be set from the Application Management page.

The port group should be set to the numeric ID of the UCCX Telephony Call Control Group you want to use.


The Script and audio files are – Here

It is clunky and long but functional.

The audio files are to be placed in en-US\MeetMe\

This solution is designed on CUCM 8.6 and UCCX 8.5

A shoutout to WIKLUNDS who gave me the foundation for this script HERE