Codec guidelines for Cisco network based recording

Overview

Verba supports all Cisco supported voice codecs (G.711, G.722, G.729, iLBC) except iSAC.

However, when Cisco RTP-forking based central recording is used UCM and the phones might drop call recording sessions and even calls if transcoding is not properly configured.

The following call scenarios can trigger these events if transcoding resources are not available:

ScenarioDescriptionExample
Recorder and recorded phone are on different sites, WAN link bandwidth limitation requires low bitrate voice codec

In this case it is recommended to put the recorder into different UCM region, and set inter-region codec according to available bandwidth.

Phones at remote branch office are using G.722/G.711 codec for internal calls. Between recorder and remote office G.729 codec would be preferred due to the office's upload bandwidth limitations.
Recorder and recorded phones are in different UCM regionsIf the intra region codec bitrate (codec used in the "original" calls between phones/gateways in the same region) is higher than inter region codec between recorder and phone, then UCM is forced to insert a transcoder at the phone region to transcode the voice sent to the recorder, in order to match the inter-region codec bitrate.original call bitrate is 64 kbps (G.711 or G.722), recorder - phone region relationship dictates 8 kbps G.729 (default inter-region codec in UCM). 
Codec change in consultative transfer or joining a conference

If a different codec is involved in the consultation call leg, and after transfer/in conference leg UCM drops both the recording and original call session.

This is a known Cisco issue, consultation and after consultation legs are recorded in the same session (from transferee or conferee point of view), when the phone starts a recording session using a certain codec, it gets "locked" into that codec. Verba supports mid-call codec change, but UCM does not support this in case of recorder calls. A transcoder can handle this situation, and UCM tries to insert it into the call to do transcoding between new call leg's codec and the "locked" codec.

Consultative transfer, Agent A calls recorded Agent B to transfer Customer C calling from PSTN. A->B internal call leg use G.722 codec, after transfer C->B gateway call leg switches to G.711. These call legs from B's point of view are handled in the same recording session by UCM, and due to locking the Built-in Bridge to G.722 causes to drop the second call leg.

Verify configuration

Verify region configuration

Step 1 - Open Cisco Unified CM administration

Step 2 - Select System / Region menu item

Step 3 - Select the Verba recorder's region

Step 4 - Check whether region relationship and inter-region codecs are configured according to your needs as described above

Verify media resource configuration

Step 1 - Select the System / Device pool option

Step 2 - Select the recorded phones' pool(s)

Step 3 - Check whether valid transcoding resource is available in the Media Resource Group List if according to region relationships and other needs it might be required

 

Errors in above codec and transcoding configurations can lead to loss of recordings or dropped calls.

Avoid unneccessary MTP insertion

In case of G.711 calls CUCM might insert MTP in the media path if the call passes a gateway without any real need. This can be avoided if a media resource group not containing any MTP is assigned to recorder trunk:

Step 1 - Under Media Resources > Media Resource Group select Add New and give it a name.

Step 2 - For Selected Media Resources add anything (announcer, cfb...) except MTP and hit the Save button.

Step 3 - Under Media Resources > Media Resource Group List select Add New and give it a name.

Step 4 - For Selected Media Resource Groups select the previously created Media Resource Group and hit the Save button.

Step 5 - Navigate to Device > Trunk and select your SIP Trunk which is created for the Verba Recorder server(s).

Step 6 - For Media Resource Group List select your previously created list. Hit the Save button and then hit the Reset button.