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 .... complete 2010-12-16T23:41:07Z RamMohan R 2010-12-16T23:41:07Z i1Pz3to5hGk8fuXl+PbwCw== UAAMm5GRQKSCMVvLyl4rFw== 8zc6e0lYTlWIINA6GR+3ag== EiXGlc+4TruqqoDaNE76ag== Parthasarathi R 2010-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 .... partial 8zc6e0lYTlWIINA6GR+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 .... partial 8zc6e0lYTlWIINA6GR+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 .... partial 8zc6e0lYTlWIINA6GR+3ag== EiXGlc+4TruqqoDaNE76ag== 60JAJm9UTvik0Ltlih/Gzw== AcR5FUd3Edi8cACQJy/3JQ== Ravindranath, et al. Expires April 25, 2013 [Page 10] Internet-Draft SIP Recording Callflows October 2012 Paul Kyzivat 2010-12-16T23:41:07Z 60JAJm9UTvik0Ltlih/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 Partial 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 2010-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 partial 2010-12-16T23:41:07Z 2010-12-16T23:32:03Z 8zc6e0lYTlWIINA6GR+3ag== EiXGlc+4TruqqoDaNE76ag== 60JAJm9UTvik0Ltlih/Gzw== AcR5FUd3Edi8cACQJy/3JQ== 2010-12-16T23:41:07Z 60JAJm9UTvik0Ltlih/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 Partial 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 2010-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 ... complete 2010-12-16T23:41:07Z 7+OTCyoxTmqmqyA/1weDAg== 2010-12-16T23:41:07Z 7+OTCyoxTmqmqyA/1weDAg== 2010-12-16T23:43:07Z RamMohan R 2010-12-16T23:41:07Z UAAMm5GRQKSCMVvLyl4rFw== UAAMm5GRQKSCMVvLyl4rFw== Ravindranath, et al. Expires April 25, 2013 [Page 15] Internet-Draft SIP Recording Callflows October 2012 Parthasarathi R 2010-12-16T23:41:07Z 2010-12-16T23:43:07Z UAAMm5GRQKSCMVvLyl4rFw== UAAMm5GRQKSCMVvLyl4rFw== Paul 2010-12-16T23:43:07Z UAAMm5GRQKSCMVvLyl4rFw== 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]