Session Initiation Protocol (SIP) Recording Call Flows
draft-ram-siprec-callflows-00
The information below is for an old version of the document.
Document | Type |
This is an older version of an Internet-Draft whose latest revision state is "Expired".
|
|
---|---|---|---|
Authors | Ram R , Parthasarathi Ravindran , Paul Kyzivat | ||
Last updated | 2012-07-09 | ||
RFC stream | (None) | ||
Formats | |||
Stream | Stream state | (No stream defined) | |
Consensus boilerplate | Unknown | ||
RFC Editor Note | (None) | ||
IESG | IESG state | I-D Exists | |
Telechat date | (None) | ||
Responsible AD | (None) | ||
Send notices to | (None) |
draft-ram-siprec-callflows-00
SIPREC Ram Mohan. Ravindranath Internet-Draft Cisco Systems, Inc. Intended status: Informational Parthasarathi. Ravindran Expires: January 10, 2013 Sonus Networks Paul. Kyzivat Unaffiliated July 9, 2012 Session Initiation Protocol (SIP) Recording Call Flows draft-ram-siprec-callflows-00 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 January 10, 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 January 10, 2013 [Page 1] Internet-Draft SIP Recording Callflows July 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. SIP Recording Metadata Example . . . . . . . . . . . . . . . . 3 3.1. Complete SIP Recording Metadata Example . . . . . . . . . 3 4. Metadata XML schema Instances . . . . . . . . . . . . . . . . 5 4.1. Sample Call flow . . . . . . . . . . . . . . . . . . . . . 5 4.2. Example 1: Basic Call . . . . . . . . . . . . . . . . . . 7 4.3. Example 2: Hold/resume . . . . . . . . . . . . . . . . . . 10 4.4. Example 3: Basic Call with transfer . . . . . . . . . . . 13 4.5. Example 4: Call disconnect . . . . . . . . . . . . . . . . 17 4.6. Example 5: Multiple CS into single RS with mixed stream . 18 5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 7. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 21 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 8.1. Normative References . . . . . . . . . . . . . . . . . . . 21 8.2. Informative References . . . . . . . . . . . . . . . . . . 21 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 21 Ravindranath, et al. Expires January 10, 2013 [Page 2] Internet-Draft SIP Recording Callflows July 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 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. SIP Recording Metadata Example 3.1. Complete SIP Recording Metadata Example The following example provides all the tuples involved in Recording Metadata XML body. Subsequent sections will show snapshot of metadata sent for different scenarios. <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>complete</dataMode> <group group_id="7+OTCyoxTmqmqyA/1weDAg=="> <associate-time>2010-12-16T23:41:07Z</associate-time> <!-- Standardized extension --> <call-center xmlns='urn:ietf:params:xml:ns:callcenter'> <supervisor>sip:alice@atlanta.com</supervisor> <uniqueid>FaXHlc+3WruaroDaNE87am==</uniqueid> </call-center> <mydata xmlns='http://example.com/my'> <structure>FOO!</structure> <whatever>bar</whatever> </mydata> </group> <session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <group-ref>7+OTCyoxTmqmqyA/1weDAg== </group-ref> <associate-time>2010-12-16T23:41:07Z</associate-time> <!-- Standardized extension --> <structure>FOO!</structure> Ravindranath, et al. Expires January 10, 2013 [Page 3] Internet-Draft SIP Recording Callflows July 2012 <whatever>bar</whatever> </session> <participant participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:bob@biloxi.com> <name xml:lang="it">Bob B</name> </nameID> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </participant> <participantsessionassoc participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <associate-time>2010-12-16T23:41:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant_id="srfBElmCRp2QB23b7Mpk0w=="> <send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>UAAMm5GRQKSCMVvLyl4rFw==</send> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv> </participantstreamassoc> <participant participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:paul@biloxi.com> <name xml:lang="it">Paul</name> </nameID> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </participant> <participantsessionassoc participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <associate-time>2010-12-16T23:41:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> <send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> </participantstreamassoc> <stream stream_id="UAAMm5GRQKSCMVvLyl4rFw==" session session_id="hVpd7YQgRW2nD22h7q60JQ=="> Ravindranath, et al. Expires January 10, 2013 [Page 4] Internet-Draft SIP Recording Callflows July 2012 <label>96</label> </stream> <stream stream_id="i1Pz3to5hGk8fuXl+PbwCw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <label>97</label> </stream> <stream stream_id="8zc6e0lYTlWIINA6GR+3ag==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <label>98</label> </stream> <stream stream_id="EiXGlc+4TruqqoDaNE76ag==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <label>99</label> </stream> </recording> SIP Recording Metadata Example XML body 4. 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. 4.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 January 10, 2013 [Page 5] Internet-Draft SIP Recording Callflows July 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 January 10, 2013 [Page 6] Internet-Draft SIP Recording Callflows July 2012 4.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 January 10, 2013 [Page 7] Internet-Draft SIP Recording Callflows July 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 .... <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>complete</dataMode> <group group_id="7+OTCyoxTmqmqyA/1weDAg=="> <associate-time>2010-12-16T23:41:07Z</associate-time> <!-- Standardized extension --> <call-center xmlns='urn:ietf:params:xml:ns:callcenter'> <supervisor>sip:alice@cisco.com</supervisor> </call-center> <mydata xmlns='http://example.com/my'> <structure>FOO!</structure> <whatever>bar</whatever> </mydata> </group> <session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <group-ref>7+OTCyoxTmqmqyA/1weDAg== </group-ref> <start-time>2010-12-16T23:41:07Z</start-time> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </session> <participant participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:ram@example.com> <name xml:lang="it">RamMohan R</name> </nameID> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </participant> <participantsessionassoc Ravindranath, et al. Expires January 10, 2013 [Page 8] Internet-Draft SIP Recording Callflows July 2012 participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <associate-time>2010-12-16T23:41:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant_id="srfBElmCRp2QB23b7Mpk0w=="> <send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>UAAMm5GRQKSCMVvLyl4rFw==</send> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv> </participantstreamassoc> <participant participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:partha@example.com> <name xml:lang="it">Parthasarathi R</name> </nameID> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </participant> <participantsessionassoc participant="zSfPoSvdSDCmU3A3TRDxAw==" session="hVpd7YQgRW2nD22h7q60JQ=="> <associate-time>2010-12-16T23:41:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant="zSfPoSvdSDCmU3A3TRDxAw=="> <send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> </participantstreamassoc> <stream id="UAAMm5GRQKSCMVvLyl4rFw==" session="hVpd7YQgRW2nD22h7q60JQ=="> <label>96</label> </stream> <stream id="i1Pz3to5hGk8fuXl+PbwCw==" session="hVpd7YQgRW2nD22h7q60JQ=="> <label>97</label> </stream> <stream id="8zc6e0lYTlWIINA6GR+3ag==" session="zSfPoSvdSDCmU3A3TRDxAw=="> <label>98</label> </stream> <stream id="EiXGlc+4TruqqoDaNE76ag==" session="zSfPoSvdSDCmU3A3TRDxAw=="> <label>99</label> Ravindranath, et al. Expires January 10, 2013 [Page 9] Internet-Draft SIP Recording Callflows July 2012 </stream> </recording> 4.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 January 10, 2013 [Page 10] Internet-Draft SIP Recording Callflows July 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 .... <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>partial</dataMode> <participantstreamassoc participant="srfBElmCRp2QB23b7Mpk0w==" session="hVpd7YQgRW2nD22h7q60JQ=="> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv> </participantstreamassoc> <participantstreamassoc participant="zSfPoSvdSDCmU3A3TRDxAw==" session="hVpd7YQgRW2nD22h7q60JQ=="> <send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send> </participantstreamassoc> </recording> During resume The snapshot will look pretty much same as above with just the SDP Ravindranath, et al. Expires January 10, 2013 [Page 11] Internet-Draft SIP Recording Callflows July 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 .... <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>partial</dataMode> <participantstreamassoc participant="srfBElmCRp2QB23b7Mpk0w==" session="hVpd7YQgRW2nD22h7q60JQ=="> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv> </participantstreamassoc> <participantstreamassoc participant="zSfPoSvdSDCmU3A3TRDxAw==" session="hVpd7YQgRW2nD22h7q60JQ=="> <send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send> </participantstreamassoc> </recording> Ravindranath, et al. Expires January 10, 2013 [Page 12] Internet-Draft SIP Recording Callflows July 2012 4.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 of 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 .... <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>partial</dataMode> <participantstreamassoc participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> <send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send> <recv>60JAJm9UTvik0Ltlih/Gzw==</recv> <recv>AcR5FUd3Edi8cACQJy/3JQ==</recv> </participantstreamassoc> Ravindranath, et al. Expires January 10, 2013 [Page 13] Internet-Draft SIP Recording Callflows July 2012 <participant participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameIDaor=sip:paul@example.com> <name xml:lang="it">Paul Kyzivat</name> </nameID> <send>60JAJm9UTvik0Ltlih/Gzw==</send> <send>AcR5FUd3Edi8cACQJy/3JQ==</send> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv> <associate-time>2010-12-16T23:41:07Z</associate-time> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </participant> <participantsessionassoc participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <associate-time>2010-12-16T23:41:07Z</associate-time> </participantsession> <participantstreamassoc participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> <send>60JAJm9UTvik0Ltlih/Gzw==</send> <send>AcR5FUd3Edi8cACQJy/3JQ==</send> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv> </participantstreamassoc> <stream stream_id="60JAJm9UTvik0Ltlih/Gzw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <label>96</label> </stream> <stream stream_id="AcR5FUd3Edi8cACQJy/3JQ==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <label>97</label> </stream> <stream stream_id="8zc6e0lYTlWIINA6GR+3ag==" session_id="zSfPoSvdSDCmU3A3TRDxAw=="> <label>98</label> </stream> <stream stream_id="EiXGlc+4TruqqoDaNE76ag==" session_id="zSfPoSvdSDCmU3A3TRDxAw=="> <label>99</label> </stream> </recording> Transfer with new session - (.e.g. REFER based transfer). In this case new session is part of same grouping (done by SRC). Ravindranath, et al. Expires January 10, 2013 [Page 14] Internet-Draft SIP Recording Callflows July 2012 SRC may send an optional snapshot indicating stop for the old session. <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>Partial</dataMode> <session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <group-ref>7+OTCyoxTmqmqyA/1weDAg== </group-ref> <stop-time>2010-12-16T23:41:07Z</stop-time> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </session> <participantsessionassoc participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time> </participantsessionassoc> <participantsessionassoc participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <disasociate-time>2010-12-16T23:41:07Z</disassociate-time> </participantsessionassoc> </recording> 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 Ravindranath, et al. Expires January 10, 2013 [Page 15] Internet-Draft SIP Recording Callflows July 2012 a=sendonly ... m=video 49176 RTP/AVPF 96 a=rtpmap:96 H.264/90000 a=label:99 a=sendonly .... <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>partial</dataMode> <session session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <group-ref>7+OTCyoxTmqmqyA/1weDAg== </group-ref> <start-time>2010-12-16T23:41:07Z</start-time> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </session> <participant participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <nameID aor=sip:partha@blr.sonus.com/> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </participant> <participantsessionassoc participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <associate-time>2010-12-16T23:32:03Z</associate-time> </participantsessionassoc> <participantstreamassoc participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> <send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send> <recv>60JAJm9UTvik0Ltlih/Gzw==</recv> <recv>AcR5FUd3Edi8cACQJy/3JQ==</recv> </participantstreamassoc> <participant participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==" session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <nameID aor=sip:paul@box.mit.com/> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </participant> <participantsessionassoc participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==" Ravindranath, et al. Expires January 10, 2013 [Page 16] Internet-Draft SIP Recording Callflows July 2012 session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <associate-time>2010-12-16T23:41:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> <send>60JAJm9UTvik0Ltlih/Gzw==</send> <send>AcR5FUd3Edi8cACQJy/3JQ==</send> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv> </participantstreamassoc> <stream stream_id="60JAJm9UTvik0Ltlih/Gzw==" session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <label>96</label> </stream> <stream stream_id="AcR5FUd3Edi8cACQJy/3JQ==" session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <label>97</label> </stream> <stream stream_id="8zc6e0lYTlWIINA6GR+3ag==" session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <label>98</label> </stream> <stream stream_id="EiXGlc+4TruqqoDaNE76ag==" session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <label>99</label> </stream> </recording> 4.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 Ravindranath, et al. Expires January 10, 2013 [Page 17] Internet-Draft SIP Recording Callflows July 2012 SRC SRS | | |(1) BYE (metadata snapshot) F1 | |---------------------------------------------------->| | 200 OK F2 | |<----------------------------------------------------| F1 BYE SRC -----------> SRS <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>Partial</dataMode> <session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <group-ref>7+OTCyoxTmqmqyA/1weDAg== </group-ref> <stop-time>2010-12-16T23:41:07Z</stop-time> <!-- Standardized extension --> <structure>FOO!</structure> <whatever>bar</whatever> </session> <participant participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:ram@blr.cisco.com/> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time> </participant> <participant participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:partha@blr.sonus.com/> <disasociate-time>2010-12-16T23:41:07Z</disassociate-time> </participant> </recording> 4.6. Example 5: Multiple CS into single RS with mixed stream In trading turret, the multiple audio stream in different communication sessions are mixed into single recording session. F1 INVITE SRC --------------> SRS Content-Type: application/SDP Ravindranath, et al. Expires January 10, 2013 [Page 18] Internet-Draft SIP Recording Callflows July 2012 ... m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=label:96 a=sendonly ... m=audio 51372 RTP/AVP 0 a=rtpmap:0 PCMU/8000 a=label:98 a=sendonly .... <?xml version="1.0" encoding="UTF-8"?> <recording xmlns='urn:ietf:params:xml:ns:recording'> <dataMode>complete</dataMode> <session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <start-time>2010-12-16T23:41:07Z</start-time> </session> <session session_id="zSfPoSvdSDCmU3A3TRDxAw=="> <start-time>2010-12-16T23:43:07Z</start-time> </session> <participant participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:ram@example.com> <name xml:lang="it">RamMohan R</name> </nameID> </participant> <participantsessionassoc participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <associate-time>2010-12-16T23:41:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant_id="srfBElmCRp2QB23b7Mpk0w=="> <send>UAAMm5GRQKSCMVvLyl4rFw==</send> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> </participantstreamassoc> <participant participant_id="zSfPoSvdSDCmU3A3TRDxAw==" session_id="hVpd7YQgRW2nD22h7q60JQ=="> <nameID aor=sip:partha@example.com> <name xml:lang="it">Parthasarathi R</name> </nameID> </participant> <participantsessionassoc participant="zSfPoSvdSDCmU3A3TRDxAw==" session="hVpd7YQgRW2nD22h7q60JQ=="> <associate-time>2010-12-16T23:41:07Z</associate-time> Ravindranath, et al. Expires January 10, 2013 [Page 19] Internet-Draft SIP Recording Callflows July 2012 </participantsessionassoc> <participantsessionassoc participant="zSfPoSvdSDCmU3A3TRDxAw==" session="zzlafnvvjlCHllaHF6mn8kkSS=="> <associate-time>2010-12-16T23:43:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant="zSfPoSvdSDCmU3A3TRDxAw=="> <send>UAAMm5GRQKSCMVvLyl4rFw==</send> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> </participantstreamassoc> <participant participant_id="srfBElmCRp2QB23b7Mpk0w==" session_id="zzlafnvvjlCHllaHF6mn8kkSS=="> <nameID aor=sip:paul@example.com> <name xml:lang="it">Paul kyzivat</name> </nameID> </participant> <participantsessionassoc participant="srfBElmCRp2QB23b7Mpk0w==" session="zzlafnvvjlCHllaHF6mn8kkSS=="> <associate-time>2010-12-16T23:43:07Z</associate-time> </participantsessionassoc> <participantstreamassoc participant="srfBElmCRp2QB23b7Mpk0w=="> <send>UAAMm5GRQKSCMVvLyl4rFw==</send> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> </participantstreamassoc> <stream id="UAAMm5GRQKSCMVvLyl4rFw==" session="hVpd7YQgRW2nD22h7q60JQ=="> <label>96</label> </stream> <stream id="UAAMm5GRQKSCMVvLyl4rFw==" session="zzlafnvvjlCHllaHF6mn8kkSS=="> <label>98</label> </stream> </recording> 5. Security Considerations The security considerations for metadata are defined in [I-D.ietf-siprec-metadata] Ravindranath, et al. Expires January 10, 2013 [Page 20] Internet-Draft SIP Recording Callflows July 2012 6. IANA Considerations This document has no IANA considerations 7. Acknowledgement TBD 8. References 8.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. 8.2. Informative References [RFC6341] Rehor, K., Portman, L., Hutton, A., and R. Jain, "Use Cases and Requirements for SIP-Based Media Recording (SIPREC)", RFC 6341, August 2011. [I-D.ietf-siprec-metadata] R, R., Ravindran, P., and P. Kyzivat, "Session Initiation Protocol (SIP) Recording Metadata", draft-ietf-siprec-metadata-07 (work in progress), July 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 January 10, 2013 [Page 21] Internet-Draft SIP Recording Callflows July 2012 Parthasarathi Ravindran Sonus Networks Prestige Shantiniketan - Business Precinct Whitefield Road Bangalore, Karnataka 560066 India Email: pravindran@sonusnet.com Paul Kyzivat Unaffiliated Boxborough, MA USA Email: pkyzivat@alum.mit.edu Ravindranath, et al. Expires January 10, 2013 [Page 22]