siprec Ram Mohan. Ravindranath Internet-Draft Parthasarathi. Ravindran Intended status: Standards Track Paul. Kyzivat Expires: December 19, 2011 Cisco Systems, Inc. June 17, 2011 Session Initiation Protocol (SIP) Recording Metadata Format draft-ram-siprec-metadata-format-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 focuses on the Recording metadata format which describes the communication session. Status of this Memo This Internet-Draft is submitted to IETF 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 December 19, 2011. Copyright Notice Copyright (c) 2011 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 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 Ravindranath, et al. Expires December 19, 2011 [Page 1] Internet-Draft SIP Recording Metadata June 2011 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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Recording Metadata Format . . . . . . . . . . . . . . . . . . 3 4. SIP Recording Metadata document format . . . . . . . . . . . . 4 4.1. Contents . . . . . . . . . . . . . . . . . . . . . . . . . 4 4.2. XML data format . . . . . . . . . . . . . . . . . . . . . 4 4.2.1. Namespace . . . . . . . . . . . . . . . . . . . . . . 5 4.2.2. recording . . . . . . . . . . . . . . . . . . . . . . 5 4.2.3. group . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2.4. session . . . . . . . . . . . . . . . . . . . . . . . 5 4.2.5. participant . . . . . . . . . . . . . . . . . . . . . 5 4.2.6. stream . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.7. extensiondata . . . . . . . . . . . . . . . . . . . . 6 4.2.8. start-time/stop-time . . . . . . . . . . . . . . . . . 6 5. SIP Recording Metadata Example . . . . . . . . . . . . . . . . 7 5.1. Complete SIP Recording Metadata Example . . . . . . . . . 7 5.2. Partial Update of Recording metadata XML body . . . . . . 8 6. XML Schema definition for Recording metadata . . . . . . . . . 9 7. Example with SIP and metadata XML+SDP . . . . . . . . . . . . 12 7.1. SRC Initiated Recording . . . . . . . . . . . . . . . . . 12 7.2. SRC updates about participant change . . . . . . . . . . . 14 8. Security Considerations . . . . . . . . . . . . . . . . . . . 16 8.1. Connection Security . . . . . . . . . . . . . . . . . . . 16 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 9.1. SIP recording metadata Schema Registration . . . . . . . . 17 10. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 17 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 11.1. Normative References . . . . . . . . . . . . . . . . . . . 17 11.2. Informative References . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 Ravindranath, et al. Expires December 19, 2011 [Page 2] Internet-Draft SIP Recording Metadata June 2011 1. Introduction 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. The requirements for such recording is described in [I-D.ietf-siprec-req], the related architecture is described in [I-D.ietf-siprec-architecture], and the metadata model viewed by Session Recording Server is described in [I-D.ietf-siprec-metadata]. This document focuses on the Recording metadata format which describes the communication session. The delivery mechanism for passing metadata is outside the scope of this document. The Session Recording Client (SRC) initiates the Recording Session. Here, Recording Session is a completely independent from the Communication Session that is being recorded at both the SIP dialog level and at the session level. 2. Terminology The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. This document only uses these key words when referencing normative statements in existing RFCs. 3. Recording Metadata Format Recording Metadata is the data that describes the communication session. Metadata has to be conveyed from SRC to SRS, further the metadata MAY be conveyed in the Recording Session dialog. Few metadata information SHALL be derived from RS dialog. Recording dialog-id SHALL be used as recording specific unique id, Date header SHALL be used as start and stop time of recording metadata block. The media related details of metadata SHALL be passed across using session description protocol (SDP) [RFC4566]. SDP attributes describes about different media formats like audio, video. The other metadata attributes like participant details MUST be passed across in new Recording specific XML document namely application/ rs-metadata+xml. The linkage between application/rs-metadata+xml XML schema and metadata SDP is done using the SDP label attribute (a=label:xxx) referenced in [RFC4574]. Ravindranath, et al. Expires December 19, 2011 [Page 3] Internet-Draft SIP Recording Metadata June 2011 Metadata is passed across in Recording Session(RS) incrementally whenever there is a change in CS. 4. SIP Recording Metadata document format 4.1. Contents Recording Metadata document is an XML document which will be embedded as a message body. The document contains o recording element MUST present in all recording metadata XML document. recording acts as container for all other elements in this XML document. o Elements like session, participant, stream and group are under recording element directly with appropriate parent id and have separate URN UUID for passing the partial information of metadata. In case of partial metadata, recording element and the relevant updated elements will be passed by SRC and the elements are identified in SRS using URN UUID and parent id. o Group element is an optional element provides the information about the communication session group o Session element provides the information about the communication session o Participant element provides information regarding the specific participant involved in the recording o Stream element indicates SDP media lines associated with the session and participants o Extensiondata element provides the mechanism by which namespace/ element MAY be extended with standard or proprietary information. 4.2. XML data format Recording object is a XML document. It MUST have the XML declaration and it SHOULD contain an encoding declaration in the XML declaration, e.g., "". If the charset parameter of the MIME content type declaration is present and it is different from the encoding declaration, the charset parameter takes precedence. Every application conforms to this specification MUST accept the UTF-8 character encoding to ensure the minimal interoperability. Syntax and semantics error in recording XML document has to be informed to the originator using application specific mechanism. Ravindranath, et al. Expires December 19, 2011 [Page 4] Internet-Draft SIP Recording Metadata June 2011 4.2.1. Namespace The namespace URI for elements defined by this specification is a Uniform Resource Namespace (URN) [RFC2141], using the namespace identifier 'ietf' defined by [RFC2648] and extended by [RFC3688]. The URN is as follows: urn:ietf:params:xml:ns:recording 4.2.2. recording recording element MUST contain an xmlns namespace attribute with value as urn:ietf:params:xml:ns:siprec. One recording element MUST present in the all recording metadata XML document. recording element has group, session, stream, participant elements. dataMode element shows whether the XML document is complete document or partial update. The default value is complete. 4.2.3. group Each communication session group (CSG) is represented using one group element. Each group element has unique URN UUID attribute which helps to uniquely identify CSG. 4.2.4. session Each communication session(CS) has one session element. Each session element has unique URN UUID attribute which helps to uniquely identify CS. Reason element MAY be included to indicate the reason for termination. group-ref element MAY exist to indicate the group where the mentioned session belongs. 4.2.5. participant Each communication session user is defined by one participant element and there MUST be atleast 2 participant for any given session. "send" or "receive" element in each participant is associating SDP m-lines with the participant. send element indicates that participant is sending the stream of media with the mentioned media description. recv element indicates that participant is receiving the stream and by default all participant will receive the stream. recv element has relevance in case whisper call scenario wherein few of the participant in the session receives the stream and not others. Participant MUST have AOR element which contains SIP/SIPS URI to Ravindranath, et al. Expires December 19, 2011 [Page 5] Internet-Draft SIP Recording Metadata June 2011 identify the participant. AOR element is SIP/SIPS URI FQDN or IP address which represents the user. name is an optional element to represent display name. Each participant element has unique URN UUID attribute which helps to uniquely identify participant and session URN UUID to associate participant with specific session element. URN UUID of participant *MUST* used in the scope of CSG and no new URN UUID has to be created for the same element (participant, stream) between different CS in the same CSG. In case URN UUID has to be used permanent, careful usage of URN UUID to original AoR has to be decided by the implementers and it is implementer's choice. 4.2.6. stream This element indicates the SDP m-line properties like label attributes, media mode. Label attribute is used to link m-line SDP body using label attribute in SDP m-line. The media mode helps in understanding whether the media is mixed or not. Each stream element has unique URN UUID attribute which helps to uniquely identify stream and session URN UUID to associate stream with specific session element. The open item here is whether to use URN UUID (global id) or xml:id (local id). 4.2.7. extensiondata extensiondata element SHALL include any other XML namespace. Multiple namespace MAY exists under extensiondata. extensiondata element exist in each level like recording, session, participant, stream to provide extensiondata specific to each element. extensiondata element has unique id based on URN UUID [RFC4122] attribute and its parent id. The open item in extensiondata is whether any need of separate metadata block or not. 4.2.8. start-time/stop-time start-time/stop-time contains a string indicating the date and time of the status change of this tuple. The value of this element MUST follow the IMPP datetime format [RFC3339]. Timestamps that contain 'T' or 'Z' MUST use the capitalized forms. At a time, any of the time tuple start-time or stop-time MAY exist in the element namely group, session, participant, stream and not both timestamp at the same time. As a security measure, the timestamp element SHOULD be included in all tuples unless the exact time of the status change cannot be determined. Ravindranath, et al. Expires December 19, 2011 [Page 6] Internet-Draft SIP Recording Metadata June 2011 5. SIP Recording Metadata Example 5.1. Complete SIP Recording Metadata Example The following example provides all the tuples involved in Recording Metadata XML body. 2010-12-16T23:41:07Z sip:alice@cisco.com FOO! bar urn:uuid:efe3930b-2a31-4e6a-a6ab-203fd7078302 2010-12-16T23:41:07Z FOO! bar sip:partha@blr.cisco.com urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 2010-12-16T23:41:07Z FOO! bar sip:paul@box.cisco.com urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b 2010-12-16T23:41:07Z FOO! bar 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z SIP Recording Metadata Example XML body 5.2. Partial Update of Recording metadata XML body The following example provides partial update in Recording Metadata XML body for the above example. The example illustrate the stop time of the specific stream. Ravindranath, et al. Expires December 19, 2011 [Page 8] Internet-Draft SIP Recording Metadata June 2011 partial Partial update of SIP Recording Example XML body 6. XML Schema definition for Recording metadata This section defines XML schema for Recording metadata document Ravindranath, et al. Expires December 19, 2011 [Page 9] Internet-Draft SIP Recording Metadata June 2011 Ravindranath, et al. Expires December 19, 2011 [Page 10] Internet-Draft SIP Recording Metadata June 2011 Ravindranath, et al. Expires December 19, 2011 [Page 11] Internet-Draft SIP Recording Metadata June 2011 7. Example with SIP and metadata XML+SDP This section describes the different use cases/messages for delivering Metadata in a Recording Sessions. This section is written in the draft for better readability and the example will be moved to solution document or removed when this draft is adopted as WG item. 7.1. SRC Initiated Recording An SRC initiates Recording Session(RS) for recording a communication session with audio and video media. SRC initiates the dialog by sending an INVITE request to the SRS. INVITE is formed as specified in [RFC3261] , SRC inserts recording metadata as an XML document and SDP in multipart MIME message body [RFC2046]. The content type of SIP header is set to application/rs-metadata+xml [I-D.portman-siprec-protocol]. SRC MUST form SDP offer using the normal procedures defined in [RFC3261]and [RFC3264]. SRC SHALL include one m-line for each stream of each participant. If the recording has to be started immediately then SRC MUST include an SDP attribute of "a=sendonly" for each media line or "a=inactive" if it is not ready to transmit the media. SRC MAY also include only one m-line for all streams of same type for all participants depending on whether it has the capability to mix the streams. SRC indicates the modes (mixed or single) for each stream using a mode attribute. An example wherein INVITE sent by an SRC is shown below: INVITE sip:1041@recordingserver.cisco.com:5060;transport=tcp SIP/2.0 Via: SIP/2.0/TCP 192.0.2.58;branch=z9hG4bK-19935-1-7 Max-Forwards: 70 To: From: RecrdingClient ;tag=ds43d76263 Call-ID: 12548086970261@192.0.2.58 CSeq: 100 INVITE Content-Length: xxx Contact: Date: Tue, 16 Dec 2010 23:41:07 GMT Content-Type: multipart/mixed;boundary=unique-boundary-1 MIME-Version: 1.0 --unique-boundary-1 Content-Type: application/SDP ... m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Ravindranath, et al. Expires December 19, 2011 [Page 12] Internet-Draft SIP Recording Metadata June 2011 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 .... --unique-boundary-1 Content-type:application/rs-metadata+xml urn:uuid:efe3930b-2a31-4e6a-a6ab-203fd7078302 2010-12-16T23:41:07Z sip:partha@blr.cisco.com urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 2010-12-16T23:41:07Z sip:paul@box.cisco.com urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z --unique-boundary-1-- 7.2. SRC updates about participant change An SRC updates about participant change without impact any change in MS, CSG using RE-INVITE. An example wherein RE-INVITE sent by an SRC for the participant update is shown below: INVITE sip:1041@recordingserver.cisco.com:5060;transport=tcp SIP/2.0 Via: SIP/2.0/TCP 192.0.2.58;branch=z9hG4bK-19935-1-7 Max-Forwards: 70 To: From: RecrdingClient ;tag=ds43d76263 Call-ID: 12548086970261@192.0.2.58 CSeq: 100 INVITE Content-Length: xxx Contact: Date: Tue, 16 Dec 2010 23:41:07 GMT Content-Type: multipart/mixed;boundary=unique-boundary-1 MIME-Version: 1.0 --unique-boundary-1 Content-Type: application/SDP ... Ravindranath, et al. Expires December 19, 2011 [Page 14] Internet-Draft SIP Recording Metadata June 2011 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 .... --unique-boundary-1 Content-type:application/rs-metadata+xml partial urn:uuid:efe3930b-2a31-4e6a-a6ab-203fd7078302 2010-12-16T23:45:07Z 2010-12-16T23:45:07Z sip:partha@blr.cisco.com urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 2010-12-16T23:45:07Z 2010-12-16T23:45:07Z sip:ram@blr.cisco.com urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b --unique-boundary-1-- 8. Security Considerations The metadata information sent from SRC to SRS MAY reveal sensitive information about different participants in a session. For this reason, it is RECOMMENDED that a SRC use a strong means for authentication and metadata information protection and that it apply comprehensive authorization rules when using the metadata format defined in this document. The following sections will discuss each of these aspects in more detail. 8.1. Connection Security It is RECOMMENDED that a SRC authenticate SRS using the normal SIP authentication mechanisms, such as Digest as defined in Section 22 of [RFC3261]. The mechanism used for conveying the metadata information MUST ensure integrity and SHOULD ensure confidentially of the information. In order to achieve these, an end-to-end SIP encryption mechanism, such as S/MIME described in [RFC3261], SHOULD be used. Ravindranath, et al. Expires December 19, 2011 [Page 16] Internet-Draft SIP Recording Metadata June 2011 If a strong end-to-end security means (such as above) is not available, it is RECOMMENDED that a SRC use mutual hop-by-hop Transport Layer Security (TLS) authentication and encryption mechanisms described in "SIPS URI Scheme" and "Interdomain Requests" of [RFC3261]. TBD: Other detailed security aspects 9. IANA Considerations This specification registers a new XML namespace, and a new XML schema. 9.1. SIP recording metadata Schema Registration URI: urn:ietf:params:xml:ns:recording Registrant Contact: IETF SIPREC working group, Ram mohan R(rmohanr@cisco.com) XML: the XML schema to be registered is contained in Section 6. Its first line is and its last line is 10. Acknowledgement We wish to thank Joe Hildebrand(Cisco), Peter Saint-Andre(Cisco) for the valuable XML related guidance. Thanks to Michael Benenson(Cisco), Leon Portman(Nice), Henry Lum(Alcatel-lucent), John Elwell(Siemens-Enterprise), Hadriel Kaplan (ACME), Brian Rosen(Neustar), Scott Orton(Broadsoft), Charles Eckel(Cisco) for their inputs and comments. 11. References 11.1. Normative References [RFC2046] Freed, N. and N. Borenstein, "Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types", RFC 2046, November 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. Ravindranath, et al. Expires December 19, 2011 [Page 17] Internet-Draft SIP Recording Metadata June 2011 [RFC2141] Moats, R., "URN Syntax", RFC 2141, May 1997. [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. [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, June 2002. [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004. [RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, July 2002. [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally Unique IDentifier (UUID) URN Namespace", RFC 4122, July 2005. [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session Description Protocol", RFC 4566, July 2006. [RFC4574] Levin, O. and G. Camarillo, "The Session Description Protocol (SDP) Label Attribute", RFC 4574, August 2006. 11.2. Informative References [I-D.ietf-siprec-req] Rehor, K., Portman, L., Hutton, A., and R. Jain, "Use Cases and Requirements for SIP-based Media Recording (SIPREC)", draft-ietf-siprec-req-12 (work in progress), June 2011. [I-D.ietf-siprec-architecture] Hutton, A., Portman, L., Jain, R., and K. Rehor, "An Architecture for Media Recording using the Session Initiation Protocol", draft-ietf-siprec-architecture-02 (work in progress), April 2011. [I-D.ietf-siprec-metadata] R, R., R, P., and P. Kyzivat, "Session Initiation Protocol (SIP) Recording Metadata", draft-ietf-siprec-metadata-00 (work in progress), April 2011. [I-D.portman-siprec-protocol] Portman, L., Lum, H., Johnston, A., and A. Hutton, Ravindranath, et al. Expires December 19, 2011 [Page 18] Internet-Draft SIP Recording Metadata June 2011 "Session Recording Protocol", draft-portman-siprec-protocol-04 (work in progress), May 2011. [RFC2648] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, August 1999. 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 Parthasarathi Ravindran Cisco Systems, Inc. Cessna Business Park, Kadabeesanahalli Village, Varthur Hobli, Sarjapur-Marathahalli Outer Ring Road Bangalore, Karnataka 560103 India Email: partr@cisco.com P. Kyzivat Cisco Systems, Inc. 1414 Massachusetts Avenue Boxborough, MA 01719 USA Email: pkyzivat@cisco.com Ravindranath, et al. Expires December 19, 2011 [Page 19]