CUC (6) CUCM (28) Jabber (6) Python (2) Routing (3) Solarwinds Orion NPM (4) switching (1) Video (6) voice (3)

Sunday, 27 April 2014

Automatic Call recording using DMS and Verint

In this post I want to show how to set up call recording in CUCM, using DMS in conjunction with, for instance, Verint.  But before I do this I want to dig into the theory behind this setup.

DMS stands for Dual Media Streaming. Call recording solutions that use DMS, make use of a phone's ability to fork an incoming call, to a second destination, such as a call recording server or supervisor, for quality monitoring purposes.

Previous/older versions of Verint Call recording, required each phone's physical network port to be set up with SPAN and its SPAN session was sent to a Voice Acquisition Module (VAM), where the RTP stream got captured and indexed, using CTI. A very laborious and error prone process. But let me get this straight, it still is a drag to configure a phone for call recording, even though SPAN is no longer required. 


The basis for DMS, is the phone's Built in Bridge (BIB). This BIB allows an incoming call to be forked to a recording server, or to a supervisor for monitoring. 


the mechanics behind this, in conjunction with Verint Call recording, are as follows:

  • A Call comes into CUCM
  • Through the Verint CTI application user in CUCM, the Verint recording server (All in One server), is made aware that a call is going to take place that needs to be recorded.
  • The Verint recording server will send a "START RECORD" message to CUCM, again through CTI (This is why the phone is configured with application invoked recording from a CUCM perspective. see step 4, in configuration).
  • CUCM will now invoke its recording profile and will use SIP as the signalling protocol and will now find out from the verint server, what the IP address is of the server that the forked RTP stream will need to be set up to, for recording.
I know some of this stuff is not very intuitive, especially the application invoked recording,  and it took me  a bit of effort to get my head around it as well.

Recording Profile configuration (CUCM)

The recording profile is basically a way to tell CUCM what to do when it receives a request to record a call (also called selective call recording) or when it simply has to do automatic call recording, of course based on the phone's recording profile, as there can be multiple profiles on a single cluster.

First of all allocate an extension that can be used for the Call recording profile (in my example x7777). I prefer to stick it in a separate CSS, to keep it separated from all else.

Essentially what is required now, is to create a Route Pattern that points to the Verint server (All in One server), using a SIP trunk, so start off with that.

  • configure a SIP trunk on CUCM and point it to your Verint All in One server (use the appropriate partition, as I argumented above)

  • Put the SIP trunk in a Route Group.
  • Put the RG in  a Route list
  • Add a Route Pattern (7777 in my example):

Phone Configuration

Step 1

Add the phone (as well as the device profile, if extension mobility is used) to the CTI application user. Remember that this is vital so Verint can initiate and request CUCM  to start recording an incoming call.


On the phone itself, switch on the built in bridge.

please remember, that is you are an organisation, that uses extension mobility, this will will need to be set to "On" , on each and every phone that might need to get recorded (this goes for step 1 as well). 

Step 3 (optional)

If recording tones are required:

Step 4

On the actual extension, configure the recording option and  profile

Namaste mofos!

No comments:

Post a Comment