Components Used
The information in this document is based on these software and hardware versions:
- CVP 11.0(1)
- Cisco Unified Communications Manager (CUCM) 11.0(1)
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, ensure that you understand the potential impact of any command.
Problem
The CUCM generated G729 file has a non-standard compression codec tag in the file header and these files do not play when passed to a VXML Gateway, since it does not recognize the codec type, by changing the compression codec type value to be the standard G729R8 then the gateway can play the file.
Note: The application UCMHEADERFIXER.EXE changes the compression codec type number in the file header of the CUCM converted file, from CUCM generated 0x0133 to the standard 0x14db (G729R8).
Solution
To Convert G711 announcements to G729 follow these steps:
Step 1. Get files converted to G729, using UCM MOH translator, then moving them on to a Windows machine.
Step 2. Run the utility UCMHEADERFIXER.EXE to correct the G729 compression identifier in the WAV header, which is wrongly set by CUCM.
This is the procedure where you can convert you own audio files:
Step 1. Start the CUCM administrator browser.
Step 2. From the Media menu, select the MOH Audio File Management option, and then click Upload File.
Step 3. Browse to location of the audio files to be converted and select them individually, uploading each in turn.
Step 4. To check if the files have been converted, navigate back through Media Resources > MOH Audio File Management, you must see an entry for each WAV file converted.Ensure the recording length is non-zero.
Note: the SFTP “file get” doesn’t like file names with spaces in so replace spaces with underscores.
- To copy the converted files to a Windows server you must have an SFTP server available
- Putty on to the CUCM server that you uploaded files to and login as Administrator
Step 5. At the prompt, type
File get activelog mohprep/*g729.wav and go through SFTP prompts,
Server = xxx.xxx.xxx.xx
Port = 22
User = sftpuser
Pwd = password
Target directory = /home/sftpuser
Step 6. From the Windows server navigate to the SFTPUSER directory. Navigate further down to the directory where converted files are located.
Step 7. Delete any extra G729 files and check if the files are present
Note: This cannot test them as the Windows Media player does not understand G729).
Correct G729 compression identifier:
Step 1. Copy the UCMHEADERFIXER.zip file to the Windows server
Note: .net V2.0 has to be installed for it to work, preferably in the same directory as announcements and extract UCMHEADERFIXER.EXE.
Step 2. Navigate to this directory within the command window.
Step 3. Run UCMHEADERFIXER *.*
This will correct the G729 ID, so that CVP VXML Gateway understand it and rename announcement file from name.g729.wav to name.wav.
Step 4. Upload the required media files to the IOS GWs through OAMP.
Step 5. Custom prompts must be stored in the IIS server of CVP.
The enhancement
CSCuq32947 was raised for this.