SIPREC Ram Mohan. Ravindranath
Internet-Draft Cisco Systems, Inc.
Intended status: Standards Track Parthasarathi. Ravindran
Expires: April 25, 2013 Nokia Siemens Networks
Paul. Kyzivat
Huawei
October 22, 2012
Session Initiation Protocol (SIP) Recording Call Flows
draft-ram-siprec-callflows-02
Abstract
Session recording is a critical requirement in many communications
environments such as call centers and financial trading. In some of
these environments, all calls must be recorded for regulatory,
compliance, and consumer protection reasons. Recording of a session
is typically performed by sending a copy of a media stream to a
recording device. This document lists call flows that has snapshot
of metadata sent from SRC to SRS, the metadata format for which is
described in [I-D.ietf-siprec-metadata] . This is purely an
informational document that is written to support the model defined
the metadata draft.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 25, 2013.
Copyright Notice
Copyright (c) 2012 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Ravindranath, et al. Expires April 25, 2013 [Page 1]
Internet-Draft SIP Recording Callflows October 2012
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Metadata XML schema Instances . . . . . . . . . . . . . . . . 3
3.1. Sample Call flow . . . . . . . . . . . . . . . . . . . . . 3
3.2. Example 1: Basic Call . . . . . . . . . . . . . . . . . . 5
3.3. Example 2: Hold/resume . . . . . . . . . . . . . . . . . . 7
3.4. Example 3: Basic Call with transfer . . . . . . . . . . . 10
3.5. Example 4: Call disconnect . . . . . . . . . . . . . . . . 14
3.6. Example 5: Multiple CS into single RS with mixed stream . 15
4. Security Considerations . . . . . . . . . . . . . . . . . . . 17
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 17
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17
7.1. Normative References . . . . . . . . . . . . . . . . . . . 17
7.2. Informative References . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 17
Ravindranath, et al. Expires April 25, 2013 [Page 2]
Internet-Draft SIP Recording Callflows October 2012
1. Overview
[I-D.ietf-siprec-metadata] document focuses on the Recording metadata
which describes the communication session. The document lists a few
examples and shows the snapshots of metadata sent from SRC to SRS.
For the sake of simplicity the entire SIP [RFC3261] messages are not
shown at various points, instead only a snip of the SIP/SDP message
and the XML snapshot of metadata is shown. This document is
informational and is not normative on any aspect of SIP.
2. Terminology
The terms using in this defined are defined in
[I-D.ietf-siprec-metadata]. No new terms/definitions are introduced
in this document.
3. Metadata XML schema Instances
This section describes the metadata model XML instances for different
use cases of SIPREC. For the sake of simplicity the complete SIP
messages are NOT shown here.
3.1. Sample Call flow
The following is a sample call flow that shows the SRC establishing a
recording session towards the SRS. The call flow is essentially
identical when the SRC is a B2BUA or as the endpoint itself. Note
that the SRC can choose when to establish the Recording Session
independent of the Communication Session, even though the following
call flow suggests that the SRC is establishing the Recording Session
(message #5) after the Communication Session is established.
Ravindranath, et al. Expires April 25, 2013 [Page 3]
Internet-Draft SIP Recording Callflows October 2012
UA A SRC UA B SRS
|(1)CS INVITE | | |
|------------->| | |
| |(2)CS INVITE | |
| |---------------------->| |
| | (3) 200 OK | |
| |<----------------------| |
| (4) 200 OK | | |
|<-------------| | |
| |(5)RS INVITE with SDP | |
| |--------------------------------------------->|
| | | (6) 200 OK with SDP |
| |<---------------------------------------------|
|(7)CS RTP | | |
|=============>|======================>| |
|<=============|<======================| |
| |(8)RS RTP | |
| |=============================================>|
| |=============================================>|
| | | |
| Mid call updates(hold/resume/re-invite(new offer) |
| | | |
|(9)CS BYE | | |
|------------->| | |
| |(10)CS BYE | |
| |---------------------->| |
| |(11)RS BYE | |
| |--------------------------------------------->|
| | | |
The above call flow can also apply to the case of a centralized
conference with a mixer. For clarity, ACKs to INVITEs and 200 OKs to
BYEs are not shown. The conference focus can provide the SRC
functionality since the conference focus has access to all the media
from each conference participant. When a recording is requested, the
SRC delivers the metadata and the media streams to the SRS. Since
the conference focus has access to a mixer, the SRC may choose to mix
the media streams from all participants as a single mixed media
stream towards the SRS.
An SRC can use a single recording session to record multiple
communication sessions. Every time the SRC wants to record a new
call, the SRC updates the recording session with a new SDP offer to
add new recorded streams to the recording session, and
correspondingly also update the metadata for the new call.
Ravindranath, et al. Expires April 25, 2013 [Page 4]
Internet-Draft SIP Recording Callflows October 2012
3.2. Example 1: Basic Call
SRC SRS
| |
|(1) INVITE (metadata snapshot) F1 |
|---------------------------------------------------->|
| 200 OK F2 |
|<----------------------------------------------------|
|(3) ACK F3 |
|---------------------------------------------------->|
|(4) RTP |
|====================================================>|
|====================================================>|
|====================================================>|
|====================================================>|
|(5) UPDATE/RE-INVITE (metadata update 1) F4 |
|---------------------------------------------------->|
| 200 OK F5 |
|<----------------------------------------------------|
|====================================================>|
|====================================================>|
|(7) UPDATE/RE-INVITE (metadata update 2) F6 |
|---------------------------------------------------->|
| 200 OK F7 |
|<----------------------------------------------------|
Basic call between two Participants A(Ram) and B(Partha) who are part
of one session. In this use case each participant sends two Media
Streams. Media Streams sent by each participant is received all
other participants of that CS in this use-case. Below is the initial
snapshot sent by SRC in the INVITE to SRS that has complete metadata.
For the sake of simplicity snippets of SDP is shown. Here the RS
stream is unmixed.
F1 INVITE SRC --------------> SRS
Content-Type: application/SDP
...
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:96
a=sendonly
...
Ravindranath, et al. Expires April 25, 2013 [Page 5]
Internet-Draft SIP Recording Callflows October 2012
m=video 49174 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:97
a=sendonly
...
m=audio 51372 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:98
a=sendonly
...
m=video 49176 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:99
a=sendonly
....
complete2010-12-16T23:41:07ZRamMohan R2010-12-16T23:41:07Zi1Pz3to5hGk8fuXl+PbwCw==UAAMm5GRQKSCMVvLyl4rFw==8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==Parthasarathi R2010-12-16T23:41:07Z
Ravindranath, et al. Expires April 25, 2013 [Page 6]
Internet-Draft SIP Recording Callflows October 2012
8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==UAAMm5GRQKSCMVvLyl4rFw==i1Pz3to5hGk8fuXl+PbwCw==
3.3. Example 2: Hold/resume
Basic call between two Participants A and B. This is the continuation
of above use-case. One of the participants(say A) goes on hold and
then resumes as part of the same session. The metadata snapshot
looks as below
During hold
Ravindranath, et al. Expires April 25, 2013 [Page 7]
Internet-Draft SIP Recording Callflows October 2012
F4 RE-INVITE SRC-------------------->SRS
Content-Type: application/SDP
...
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:96
a=inactive
...
m=video 49174 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:97
a=inactive
...
m=audio 51372 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:98
a=sendonly
...
m=video 49176 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:99
a=sendonly
....
partial8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==
During resume
The snapshot will look pretty much same as above with just the SDP
Ravindranath, et al. Expires April 25, 2013 [Page 8]
Internet-Draft SIP Recording Callflows October 2012
dir change.
F5 RE-INVITE SRC-------------------->SRS
Content-Type: application/SDP
...
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:96
a=sendonly
...
m=video 49174 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:97
a=sendonly
...
m=audio 51372 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:98
a=sendonly
...
m=video 49176 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:99
a=sendonly
....
partial8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==
Ravindranath, et al. Expires April 25, 2013 [Page 9]
Internet-Draft SIP Recording Callflows October 2012
3.4. Example 3: Basic Call with transfer
Basic call between two Participants A and B is connected as in Use-
case 1. Transfer is initiated by one of the participants or by other
entity(3PCC case). SRC sends a snapshot of the participant changes
to SRS. In this instance participant A(Ram) drops out during the
transfer and Participant C(Paul) joins the session. There can be two
cases here, same session continues after transfer or a new session
(e.g. REFER based transfer) is created
Transfer with same session retained - (.e.g. RE-INVITE based
transfer). Participant A drops out and C is added to the same
session. No change to session/group element. C will be new stream
element which maps to RS SDP using the same labels in this instance.
Content-Type: application/SDP
...
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:96
a=sendonly
...
m=video 49174 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:97
a=sendonly
...
m=audio 51372 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:98
a=sendonly
...
m=video 49176 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:99
a=sendonly
....
partial8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==60JAJm9UTvik0Ltlih/Gzw==AcR5FUd3Edi8cACQJy/3JQ==
Ravindranath, et al. Expires April 25, 2013 [Page 10]
Internet-Draft SIP Recording Callflows October 2012
Paul Kyzivat2010-12-16T23:41:07Z60JAJm9UTvik0Ltlih/Gzw==AcR5FUd3Edi8cACQJy/3JQ==8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==2010-12-16T23:41:07Z
Transfer with new session - (.e.g. REFER based transfer). In this
case new session is part of same grouping (done by SRC).
SRC may send an optional snapshot indicating stop for the old
session.
Ravindranath, et al. Expires April 25, 2013 [Page 11]
Internet-Draft SIP Recording Callflows October 2012
Partial2010-12-16T23:41:07Z2010-12-16T23:41:07Z2010-12-16T23:41:07Z
SRC sends a snapshot to indicate the participant change and new
session information after transfer. In this example the same RS is
used.
Content-Type: application/SDP
...
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:96
a=sendonly
...
m=video 49174 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:97
a=sendonly
...
m=audio 51372 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:98
a=sendonly
...
m=video 49176 RTP/AVPF 96
a=rtpmap:96 H.264/90000
a=label:99
a=sendonly
....
Ravindranath, et al. Expires April 25, 2013 [Page 12]
Internet-Draft SIP Recording Callflows October 2012
partial2010-12-16T23:41:07Z2010-12-16T23:32:03Z8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==60JAJm9UTvik0Ltlih/Gzw==AcR5FUd3Edi8cACQJy/3JQ==2010-12-16T23:41:07Z60JAJm9UTvik0Ltlih/Gzw==AcR5FUd3Edi8cACQJy/3JQ==8zc6e0lYTlWIINA6GR+3ag==EiXGlc+4TruqqoDaNE76ag==
Ravindranath, et al. Expires April 25, 2013 [Page 13]
Internet-Draft SIP Recording Callflows October 2012
3.5. Example 4: Call disconnect
This example shows a snapshot of metadata sent by an SRC at CS
disconnect where the participants of CS are Ram and Partha
SRC SRS
| |
|(1) BYE (metadata snapshot) F1 |
|---------------------------------------------------->|
| 200 OK F2 |
|<----------------------------------------------------|
F1 BYE SRC -----------> SRS
Partial2010-12-16T23:41:07Z2010-12-16T23:41:07Z2010-12-16T23:41:07Z
Ravindranath, et al. Expires April 25, 2013 [Page 14]
Internet-Draft SIP Recording Callflows October 2012
3.6. Example 5: Multiple CS into single RS with mixed stream
In trading turret, audio mixing is done locally before forwarding to
the recording server. Sender and receiver audio is mixed for each
communication session. The audio from multiple communication
sessions is also mixed, or multiplexed, in a single RTP session to
the recording server.
F1 INVITE SRC --------------> SRS
Content-Type: application/SDP
...
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
a=label:96
a=sendonly
...
complete2010-12-16T23:41:07Z7+OTCyoxTmqmqyA/1weDAg==2010-12-16T23:41:07Z7+OTCyoxTmqmqyA/1weDAg==2010-12-16T23:43:07ZRamMohan R2010-12-16T23:41:07ZUAAMm5GRQKSCMVvLyl4rFw==UAAMm5GRQKSCMVvLyl4rFw==
Ravindranath, et al. Expires April 25, 2013 [Page 15]
Internet-Draft SIP Recording Callflows October 2012
Parthasarathi R2010-12-16T23:41:07Z2010-12-16T23:43:07ZUAAMm5GRQKSCMVvLyl4rFw==UAAMm5GRQKSCMVvLyl4rFw==Paul2010-12-16T23:43:07ZUAAMm5GRQKSCMVvLyl4rFw==UAAMm5GRQKSCMVvLyl4rFw==
Ravindranath, et al. Expires April 25, 2013 [Page 16]
Internet-Draft SIP Recording Callflows October 2012
4. Security Considerations
There is no security consideration as it is informatioal callflow
document.
5. IANA Considerations
This document has no IANA considerations
6. Acknowledgement
Thanks to Ofir Rath for his review comments.
7. References
7.1. Normative References
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002.
7.2. Informative References
[I-D.ietf-siprec-metadata]
R, R., Ravindran, P., and P. Kyzivat, "Session Initiation
Protocol (SIP) Recording Metadata",
draft-ietf-siprec-metadata-08 (work in progress),
October 2012.
Authors' Addresses
Ram Mohan Ravindranath
Cisco Systems, Inc.
Cessna Business Park,
Kadabeesanahalli Village, Varthur Hobli,
Sarjapur-Marathahalli Outer Ring Road
Bangalore, Karnataka 560103
India
Email: rmohanr@cisco.com
Ravindranath, et al. Expires April 25, 2013 [Page 17]
Internet-Draft SIP Recording Callflows October 2012
Parthasarathi Ravindran
Nokia Siemens Networks
Bangalore, Karnataka
India
Email: partha@parthasarathi.co.in
Paul Kyzivat
Huawei
Hudson, MA
USA
Email: pkyzivat@alum.mit.edu
Ravindranath, et al. Expires April 25, 2013 [Page 18]