Session recordings are used for various purposes such as complying with regulations, monitoring quality of service of representatives, and storing call information for quality analysis.
The SIPREC protocol defines the interaction between a Session Recording Client (SRC) and a Session Recording Server (SRS), and controls the recording of media transmitted in the context of a communications session (CS) between multiple user agents.
The
NICE and Media Packet Capture cannot be used simultaneously because the Splitter resource can only be configured for one feature.
Session recording is used for various purposes such as complying with regulation, monitoring quality of service of representatives as well as storing call information for quality analysis. The SBC Core supports the following proprietary SIP recording interfaces: Access to the Media Capture Tool is restricted to privileged, password-protected user accounts. Tracking of its use is tracked by AUD logging. The SBC can record all the calls in the system. The number of recording sessions depends on the available interface bandwidth.
The overall
The
In the SBC SIP Recording Strategy figure, the basic call is established between SIP phone 1 and SIP phone 2 through the
The two methods to trigger a call recording are:
The need to record a call is decided from the PSX based on the following criteria in the given order of priority:
The PSX/ERE uses the following configurable objects when determining whether a call needs to be recorded:
recordingType
to "both legs" or "all legs".Supported SIPREC features include:
Recording RTP session for a call by providing its GCID via CLI. The user provides the IP Address/port for the corresponding session recorder via the same CLI command.
Listing the calls currently being recorded using a CLI command. The
Record any type of call leg (SIP, SIP-I ) by specifying the call to be recorded via CLI.
The called and calling party numbers in the recording criteria may be configured as a prefix.
PSX support provisioning 128 Recording criteria and 128 Recorder profiles.
Sending and receiving “+sip.src” feature tag extension in the Contact URI
Options Tag “siprec” in INVITE towards SRS.
Sending and receiving the rs-call specific data in the rs-metadata XML body
If a INVITE is received from a SRS or UE with a options tag “require: siprec”, the
Transparently passing the SIPREC specific feature tags from the UE to the registrar.
If the original call uses any codecs other than the above, it is assumed that the SRS will terminate the RS. So SRC continues operating the CS and RS until this happens.
The
If any request except session keepalive Re-INVITE/UPDATE or BYE is received in the context of a RS, the
If Options PING mechanism is configured on the IP peer, it is used as a keep-alive mechanism for all the RSs.
Troubleshooting a SIPREC recorded call using MCT is only possible when initiated via CLI.
The SBC supports SIPREC on the multiple recorders based on the Internet Engineering Task Force (IETF) standard.The SBC acts as an SRC and a Real-time Transport Protocol (RTP) to initiate SIP RS on the SRS(s).
numOfStreams
received is 1
, the SBC sends the INVITE to the first reachable SRS IP address and uses the rest of the IP addresses for SRS redundancy.2
, the SBC sends the Fork INVITE to the first two reachable SRS IP addresses.Refer to NICE Session Recording for the list of supported codecs.
The SIPREC feature is controlled by a system-wide
To enable/disable SIPREC feature, use following syntax:
% set addressContext <ADDRESS-CONTEXT> zone <ZONE> sipSigPort <SIP SIGNALLING PORT> siprec <disabled|enabled>
To start/stop a recording, the following CLI syntax applies:
% request global sipRec startRecord gcid <GCID> callLeg ingress numOfStreams <Number of recorders 1 or 2> srsIpAddress <SRS IP ADDRESS> srsPort <SRS PORT> transport <tcp | udp> trunkGroup <TRUNK GROUP NAME> srsIpAddress2 <SRS IP ADDRESS> srsPort2 <SRS Port> transport2 <tcp | udp> trunkGroup2 <SIP Trunk Group> % request global sipRec stopRecord gcid <GCID> recorderAddress <IP Address> recorderPort <Port Number>
If only the GCID value is mentioned in the stopRecord
, all the multiple recordings for that GCID are stopped at once.
To view SIPREC status, use CLI syntax:
> show table global SipRecStatus RECORDER RX RTP TX RTP RECORDING GCID ADDRESS ADDRESS ADDRESS LEG 1 10.11.12.13:5060 10.11.12.13:8000 10.11.12.13:8002 ingress
Refer to Zone - SIP Sig Port - CLI and Request Global - CLI pages for CLI command details.