SIPREC Configuration

The Session Recording Protocol (SIPREC) is an open SIP-based protocol for call recording standard, defined by Internet Engineering Task Force (IETF). It is supported by many IP-telephony platforms and call recording system vendors.

Imagicle SIPREC-based Call Recording solution, available starting from 2019.Spring.1 release, is a good fit in all Always-On recording scenarios where offnet and optionally on-net calls must be recorded. Many vendors’ PBXs and gateways already support SIPREC standard. Cisco supports it on CUBE and CCME, starting from Cisco IOS 15.6(1)T or Cisco IOS XE 3.17S versions.

Architecture

In order to record audio conversations leveraging SIPREC technology, all calls should be routed using SIP protocol. A SIPREC media forking trigger point should be configured within your IP-PBX or your gateway, to generate recording RTP streams toward Imagicle Call Recording appliance.

See below a general architecture scenario:

It is very important to understand that SIPREC requires SIP-to-SIP routing, so basically a SIP IP Phone can record calls if they are coming/routed from/to a SIP Trunk toward PSTN (Cisco CME case) or a SIP Trunk toward a SIPREC-enabled Voice Gateway/CUBE (IP-PBX case).

Limitations

Configurations described by this article have the following limitations:

See here for further details.

SIPREC recording of PSTN calls on Cisco CUBE or Cisco CME

This record method is suitable for the following scenarios:

Both Cisco CUBE or Cisco CME should include NN x trunk licenses "CUBE-T-STD" to trigger SIPREC recording, where NN is the total number of concurrent calls to be recorded (calculation must include conversations on hold, on phone lines enabled to Imagicle Call Recording).

Configurations on Cisco Gateway (CUBE or CME appliance)

In this scenario, two media class with relevant media profile should be defined, respectively for inbound and outbound PSTN calls recording using SIPREC:

media profile recorder 101
  description MEDIA PROFILE TO IMAGICLE RECORDER - INBOUND CALLS
  media-type audio
  media-recording 9001
!

media class 101
  recorder profile 101 siprec

media profile recorder 100
  description MEDIA PROFILE TO IMAGICLE RECORDER - OUTBOUND CALLS
  media-type audio
  media-recording 9000
!

media class 100
  recorder profile 100 siprec

Then you need to amend existing dial-peers to route inbound and outbound calls, by respectively adding above defined SIPREC media-class. See below sample: 

dial-peer voice 7100 voip
  description INCOMING CALLS FROM PSTN
            |
            |
            |
  media-class 101
  codec g711alaw 
  dtmf-relay cisco-rtp
  no vad
!
dial-peer voice 7000 voip
  description OUTGOING CALLS TO CARRIER SIP TRUNK
            |
            |
            |
  media-class 100
  codec g711alaw
  dtmf-relay cisco-rtp
  no vad
!

The following dial-peer voip must be created from scratch, to record incoming PSTN calls, including a specific voice class sip-profile to customize SIP INVITE “From” header:

voice class sip-profiles 101
  request INVITE sip-header From modify "<sip:(.*)>(.+)" "<sip:\1;x-incoming;x-anchor-index=1>\2"
!

 dial-peer voice 9001 voip
  description Imagicle SIPREC Server (incoming calls recording)
  destination-pattern 9001
  session protocol sipv2
  session target ipv4:<IAS_IP>:5070     <-- Imagicle Recorder’s IP
  voice-class sip profiles 101
  session transport tcp
  voice-class sip options-keepalive up-interval 10 down-interval 10 retry 3
  codec g711ulaw
  dtmf-relay rtp-nte
  no vad
!

The following dial-peer voip must be created from scratch, to record outgoing PSTN calls, including a specific voice class sip-profile to customize SIP INVITE “From” header:

voice class sip-profiles 100
  request INVITE sip-header From modify "<sip:(.*)>(.+)" "<sip:\1;x-outgoing;x-anchor-index=1>\2"
!
dial-peer voice 9000 voip
  description Imagicle SIPREC Server (recording outgoing calls)
  destination-pattern 9000
  session protocol sipv2
  session target ipv4:<IAS_IP>:5070     <-- Imagicle Recorder’s IP
  voice-class sip profiles 100
  session transport tcp
  voice-class sip options-keepalive up-interval 10 down-interval 10 retry 3
  dtmf-relay rtp-nte
  codec g711ulaw
  no vad
!

Other supported SIPREC recording scenarios

SIPREC recording with analog/TDM trunks to PSTN

Imagicle Call Recording allows to leverage SIPREC technology to record calls routed to analog or TDM-based PSTN trunks. In this case, while the call is not fully SIP-to-SIP, it is required to add "Hairpin" dial-peers to engage a SIP-to-SIP call leg and trigger SIPREC recording streams. See below sample scenario including Cisco CME:

SIPREC to record internal calls between analog phones

Internal calls involving analog phones can be recorded too, again involving "Hairpin" dial-peers to loopback analog calls through a Cisco CUBE. See below a sample scenario including IP-PBX and a dedicated CUBE for recording purposes:

Configuration on Imagicle side

In order to enable SIPREC recording, it is required to properly license the UC Suite by channels or users. Moreover, the following settings should be applied from Imagicle UC Suite web portal for Administrators:



Article ID: 837
Last updated: 24 Nov, 2023
Revision: 8
Imagicle UC Suite for Cisco UC -> Call Recording -> Administration Guide -> SIPREC Configuration
https://kbp.imagicle.com/kb/entry/837/