Cisco CUBE SIPREC configuration

This guide provides instructions for configuring call recording on Cisco CUBE using SIPREC protocol.

How it works

The Session Recording Protocol (SIPREC) is an open SIP-based protocol for call recording. The standard is defined by Internet Engineering Task Force (IETF). Cisco CUBE acts as the Session Recording Client, while MiaRec acts as the Session Recording Server. Recording of a media session is done by sending a copy of a media stream to the recording server. Metadata is the information that is passed by the recording client to the recording server in a SIP session. The recording metadata describes the communication session and its media streams, and also identifies the participants of the call.

Cisco CUBE SIPREC call recording

Restrictions for Cisco CUBE SIPREC Recording

Cisco CUBE doesn't support SIPREC-based recording for the following calls:

  • IPv6-to-IPv6 call recording
  • IPv6-to-IPv4 call recording if the recording server is configured on the IPv6 call leg
  • Calls that do not use Session Initiation Protocol (SIP). Must be a SIP-to-SIP call flow
  • Flow-around calls
  • Session Description Protocol (SDP) pass-through calls
  • Real-time Transport Protocol (RTP) loopback calls
  • High-density transcoder calls
  • Secure Real-time Transport Protocol (SRTP) passthrough calls
  • SRTP-RTP calls with forking for SRTP leg (forking is supported for the RTP leg)
  • Multicast music on hold (MOH)
  • Recording is not supported if CUBE is running a TCL IVR application
  • Media mixing on forked streams is not supported
  • Digital Signal Processing (DSP) resources are not supported on forked legs

Restrictions for Video Recording

  • 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

Configuration of SIPREC on Cisco CUBE

Step 1. Enter the configuration mode

Device> enable
Device# configure terminal

Step 2. Choose a dummy dial-peer tag for the recorder.

Note, 8000 in this example is a dummy dial-peer tag for the recorder. You need to make sure it doesn't conflict the the existing dial-peers.

Execute the following command to view a list of the existing dial-peers:

Device# show dial-peer voice

Check if 8000 is not used yet. Otherwise, choose a different dial-peer tag like 8002 and make the corresponding changes to the commands in the next steps.

Step 3. Create a SIPREC recorder profile

Here we choose 200 for a recording profile tag. If 200 is not available, then choose a different value and make the corresponding changes to the commands in the next steps.

Device(config)# media profile recorder 200
Device(cfg-mediaprofile)# media-type audio
Device(cfg-mediaprofile)# media-recording 8000
Device(cfg-mediaprofile)# exit


  • 8000 is a dummy dial-peer for the recorder (see Step 2)
  • 200 is a recorder profile tag

Step 4. Create a media class that points to SIPREC recorder

Here we choose 100 for a media class tag. If 100 is not available, then choose a different value and make the corresponding changes to the commands in the next steps.

Device(config)# media class 100
Device(cfg-mediaclass)# recorder profile 200 siprec
Device(cfg-mediaclass)# exit


  • 100 is a media class tag
  • 200 is a recorder profile tag (configured above)

Step 5. Create s dial-peer pointing to the MiaRec recorder.

Device(config)# dial-peer voice 8000 voip
Device(config-dial-peer)# description MiaRec SIPREC recorder
Device(config-dial-peer)# media class 100
Device(config-dial-peer)# destination-pattern 8000
Device(config-dial-peer)# session protocol sipv2
Device(config-dial-peer)# session target ipv:
Device(config-dial-peer)# session transport tcp
Device(config-dial-peer)# exit


  • 8000 is a dummy dial-peer for the recorder (configured above)
  • is an IP address and port of the recorder (change it to the ip-address of your MiaRec recording server)
  • destination-pattern 8000 is a dummy configuration. It is ignored by CUBE because this dial-peer is a recorder rather than SIP trunk.

Step 6. Assign recorder to the existing dial peer(s).

It is recommended to assign the recorder to the incoming dial-peer rather than the outgoing peer.

First, check your existing dial-peers by running command:

Device# show dial-peer voice

In below example, we modify the existing dial-peer 1 that matches inbound call legs (your dial-peer tag may differ).

Second, modify the existing dial pear by adding command media-class 100. This command activates call recording on dial-peer.

dial-peer voice 1 voip
description Generic incoming dial match
session protocol sipv2
incoming called-number .
media-class 100

With such configuration, SIPREC recording will be enabled on all calls passing through CUBE.

If you need to enable SIPREC recording on selective call scenarios, then check [2].