Configuring Cisco Unified Border Element (CUBE) based recording

In order to take advantage of the CUBE RTP forking method with Verba, configuration of the CUBE is required. This technology lets you record voice and video calls passing the CUBE.

You can learn more from official Cisco documents about CUBE based recording:

http://www.cisco.com/en/US/docs/ios-xml/ios/voice/cube_proto/configuration/xe-3s/voi-ntwk-based.html
http://www.cisco.com/en/US/docs/ios-xml/ios/voice/cube_proto/configuration/xe-3s/voi-ntwk-based-rec-video-calls.html

Prerequisites for CUBE recording

You must have an ISR G2 router equipped with the unified communication technology package configured as a CUBE in RTP flow-through mode.

Cisco Unified Border Element

  • Cisco IOS Release 15.2(1)T or a later release must be installed and running on your Cisco Unified Border Element (voice only recording)
  • Cisco IOS Release 15.3(3)T or a later release must be installed and running on your Cisco Unified Border Element (voice & video recording).

Cisco Unified Border Element (Enterprise)

  • Cisco IOS XE Release 3.8S or a later release must be installed and running on your Cisco ASR 1000 Series Router (voice only recording).
  • Cisco IOS XE Release 3.10S or a later release must be installed and running on your Cisco ASR 1000 Series Router (voice & video recording).

Restrictions for CUBE recording

  • SIP-SIP call flows are only supported, For TDM, H.323 please check our /wiki/spaces/v90/pages/4388100141 solution. TDM and H.323 recording can be also achieved with a trick: TDM calls should be forced to pass through CUBE
  • ISR G2 platforms (2901, 2911, 2921, 2951, 3925, 3945, 3945E) are supported
  • If the main call has multiple video streams (m-lines), the video streams other than the first video m-line are not forked
  • Application media streams of the primary call are not forked to the recording server
  • Forking is not supported if the anchor leg or recording server is on IPv6
  • High availability is not supported on forked video calls

Configuration concept

The recording method and and configuration steps are very similar to UCM phone forking based recording solution. Recorder servers are invited into the to be recorded calls via SIP, RTP forking is done by the recorded endpoint. Configuration steps are also similar, UCM phone forking based recording analogous steps are highlighted to make it easier to understand the concept for users who has been using phone based recording as well.

  • Create dial-peer(s) pointing to recorder server(s) (similar to UCM recorder trunk configuration)
  • Create media profile dedicated to the recording, enumerate dial-peers pointing to the recorder servers. This is a logical link between recorders - to be recorded calls (similar to UCM central recording recorder profile configuration)
  • If you want to record video calls then create a video profile, specify reference frame requesting method
  • Assign the media profile and optional video profile to a media class
  • Assign the media class to the to be recorded incoming dial-peer(s) (similar to UCM central recording extension specific recording options)

Configuration steps in gateway's IOS

The following steps with example values will enable voice and video recording of all 4 digit called number on recorder 192.168.1.200. Commands should be issued in terminal configuration mode.

Step 1 - Allow voice connections to recorder servers

Add all of your recorder servers IP or IP subnets so gateway will trust and allow communication over SIP with them

voice service voip
ip address trusted list
ipv4 192.168.1.0 255.255.255.0

Step 2. - Create codec class enumerating supported codecs and codec preferences by the recorder

You can skip this step and assign specific codec to recorder dialpeer but with codec class enumerating multiple codecs you can save transcoding resources since we support most of the codecs natively.

voice class codec 1
codec preference 1 g722-64
codec preference 2 g711alaw
codec preference 3 g711ulaw
codec preference 4 g729r8
codec preference 5 g729br8
video codec h264

Step 3. - Create dialpeer pointing to recorder

dial-peer voice 9999 voip
description Verba CUBE Forking Recorder 0
destination-pattern 9999
session protocol sipv2
session target ipv4:192.168.1.206:5060 (specify the address on which Verba Unified Call Recorder is listening)
session transport tcp
voice-class codec 1 (specify the codec list supoorted by the recorder natively)
dtmf-relay rtp-nte (RFC 4733/2833 based DTMF is supported by the recorder)

Step 4. - Create recorder profile

media profile recorder 100
media-recording 9999 (here you can enumerate the destination number of recorder servers)

High Availability

You can configure failover and load-balancing for recorder servers:

    • Failover: media-recording command should enumerate the destination number of recorders. If the active recorder become unavailable the GW will assign the next recorded call to the next available recorder in the list.
    • Load-balancing: Load-balancing of recorder servers can also be achieved. In this case the recorder dial-peers should be configured for the same destination number and with the same priority. In this case CUBE will randomly distribute the calls between recorders with the same destination number
    • Failover + Load-balancing: You can also combine the two method and so have an active and backup recorder pools

Step 5. - Create video profile (optional, only if you want to record video calls)

media profile video 101
monitor-ref-frames
ref-frame-req sip-info

Since video compression algorithms are recursive and contains referencing to previous frames (inter-frame, motion compensated prediction) it is crucial to start the recording at a key/reference frame. CUBE is able to request keyframe automatically after recorder establish connection with the call session from participating endpoints

To control keyframe request two generally used method is available and configurable:

    • SIP INFO request with Fast Picture Update encoder request: can be set by ref-frame-req sip-info command
    • RTCP FIR: can be set by ref-frame-req rtcp retransmit-count 4 command

Step 6. - Create media class and assign media and video profile

media class 100
recorder profile 100
video profile 101 (optional, only if video calls are to be recorded)

Step 7. - Assign recorder media class to the to be recorded incoming dial-peers

It is important to assign it to incoming and not to outgoing peer.

dial-peer voice 9999 voip
description Inbound dial-peer for recorded calls
session protocol sipv2
incoming called-number ....
voice-class codec 1
media-class 100