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
supports the following SIP recording interfaces:
- SIPREC SIP-based session recording
- Call monitoring MCT
- NICE session recording
- UDP/TCP towards the recording server
Include Page |
---|
| NICE_vs_MediaPacketCapture |
---|
| NICE_vs_MediaPacketCapture |
---|
|
Multiexcerpt include |
---|
MultiExcerptName | Recording Limit |
---|
PageWithExcerpt | Session Recording Support |
---|
|
Caption |
---|
0 | Table |
---|
1 | Supported ieft-draft Versions |
---|
|
Category | ieft-draft Version |
---|
Media Recording Architecture | draft-ietf-siprec-architecture-06 | Protocol | draft-ietf-siprec-protocol-06 | Recording Metadata | Fixed version of draft-ietf-siprec-metadata-07 |
|
The overall
SIPREC strategy is depicted in the following diagram (this example uses SBC 5000 series platform):
Caption |
---|
0 | Figure |
---|
1 | SBC SIP Recording Strategy |
---|
3 | SBC SIP Recording Strategy |
---|
|
|
The
can act as a Session Recording Client (SRC) and an RTP translator. As an SRC, the
initiates SIP recording session (RS) towards Session Recording server (SRS) with metadata. Unlike NICE, it is the responsibility of the
to determine if a call requires recording.
Info |
---|
|
note |
- The SBC supports transmitting only the signaling data to the SRS over TCP.
- LSWU is supported for SIPREC SIP-based session recording from 5.1.1 version on-wards.
|
In the SBC SIP Recording Strategy figure, the basic call is established between SIP phone 1 and SIP phone 2 through the
and called as communication session (CS). The
establishes a Recording session (RS) based on CS towards SRS. The
and SRS may exist in the same or different administrative domains. Each
Recording session is mapped to a single call (communication session), and the communication session is based on called or calling party number.
The two methods to trigger a call recording are:
- A call matches call recording criteria causing the PSX to trigger the to record the call.
- Initiate recording via CLI using GCID.
The need to record a call is decided from the PSX based on the following criteria in the given order of priority:
- Recorder type
- Next hop signaling IP address
- Previous hop signaling IP address
- Calling Party Number
- Called Party number
- Ingress TG ID
- Egress TG ID
The PSX uses the following configurable objects when determining whether a call needs to be recorded:
- Recording Entity—contains information about recording criterion
- Recorder—contains information about the recorder to use for a particular Recording Entity.
Include Page |
---|
| Recordertype_recordingtype |
---|
| Recordertype_recordingtype |
---|
|
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
displays their GCID, and the RTP destinations and the SRS IP address.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
rejects the request with a 4xx message.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 recording session. So SRC shall still continue operating the CS and RS until this happens.
The
transparently duplicates the packets coming/going to the UE towards the SRS using the same Codec as the Original stream.If any request except session keepalive Re-INVITE/UPDATE or BYE is received in the context of a recording session, the
rejects the request with a 405 "Method Not Allowed" message.If Options PING mechanism is configured on the IP peer, it is used as a keep-alive mechanism for all the recording sessions.
- Stop recording a call in one of three ways:
- Providing GCID via CLI
- Via normal CS Sessions disconnect
- Receiving Bye from SRS
Troubleshooting a SIPREC recorded call using MCT is only possible when initiated via CLI.
Refer to NICE Session Recording for the list of supported codecs.
Info |
---|
|
note |
The SIPREC feature is controlled by a system-wide license (-SIPREC). If the license is not available, any SIPREC recording returned by a PSX is ignored. |
To enable/disable SIPREC feature, use following syntax:
Code Block |
---|
|
% set addressContext <ADDRESS-CONTEXT> zone <ZONE> sipSigPort <SIP SIGNALLING PORT> siprec <disabled|enabled> |
To start/stop a recording, the following CLI syntax applies:
Code Block |
---|
|
% request global sipRec startRecord gcid <GCID> callLeg ingress trunkGroup <TRUNK GROUP NAME> srsIpAddress <SRS IP ADDRESS> srsPort <SRS PORT>
% request global sipRec stopRecord gcid <GCID> |
To view SIPREC status, use CLI syntax:
Code Block |
---|
|
% 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.