siprec Ram Mohan. Ravindranath Internet-Draft Parthasarathi. Ravindran Intended status: Standards Track Paul. Kyzivat Expires: July 25, 2011 Cisco Systems, Inc. January 21, 2011 Session Initiation Protocol (SIP) Recording Metadata Format draft-ram-siprec-metadata-format-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. The requirements for which are described in [I-D.ietf-siprec-req], the architecture for which is described in [I-D.ietf-siprec-architecture], and the metadata model viewed by Session Recording Server is described in [I-D.ram-siprec-metadata]. 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 July 25, 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 Ravindranath, et al. Expires July 25, 2011 [Page 1] Internet-Draft SIP Recording Metadata January 2011 (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. 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 . . . . . . . . . . . . . . . . . . . . . . 4 4.2.2. recording . . . . . . . . . . . . . . . . . . . . . . 4 4.2.3. group . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2.4. sessions . . . . . . . . . . . . . . . . . . . . . . . 5 4.2.5. session . . . . . . . . . . . . . . . . . . . . . . . 5 4.2.6. participants . . . . . . . . . . . . . . . . . . . . . 5 4.2.7. participant . . . . . . . . . . . . . . . . . . . . . 5 4.2.8. streams . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.9. stream . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.10. appdata . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.11. timestamp . . . . . . . . . . . . . . . . . . . . . . 6 5. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. XML Schema definition for Recording metadata . . . . . . . . . 8 7. XML element usage in SIP methods . . . . . . . . . . . . . . . 11 8. Usecases with SIP message . . . . . . . . . . . . . . . . . . 12 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 10.1. SIP recording metadata Schema Registration . . . . . . . . 12 11. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 12 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 12.1. Normative References . . . . . . . . . . . . . . . . . . . 12 12.2. Informative References . . . . . . . . . . . . . . . . . . 13 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13 Ravindranath, et al. Expires July 25, 2011 [Page 2] Internet-Draft SIP Recording Metadata January 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 which are described in [I-D.ietf-siprec-req], the architecture for which is described in [I-D.ietf-siprec-architecture], and the metadata model viewed by Session Recording Server is described in [I-D.ram-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) SHALL initiate the Recording Session. It should be noted that the 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 and SRS may send metadata to convey Key information to SRC. 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/recording. The linkage between application/recording XML schema and metadata SDP is done using the SDP label attribute (a=label:xxx) referenced in [RFC4574]. Metadata is passed across in Recording Session(RS) incrementally whenever there is a change in CS. Ravindranath, et al. Expires July 25, 2011 [Page 3] Internet-Draft SIP Recording Metadata January 2011 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 Entity parameter in recording-metadata to specify the recording client URI o Participant Tuple provides the information about the individual participants involved in the recording o Stream Tuple indicates the SDP media lines associated with the CS and participants 4.2. XML data format REC 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 conformant to this specification MUST accept the UTF-8 character encoding to ensure the minimal interoperability. 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:siprec 4.2.2. recording recording element MUST contain an xmlns namespace attribute with value as urn:ietf:params:xml:ns:siprec. recording object shall be uniquely identified by RS transaction id with RS dialog id. There are other elements associated in the recording-metadata element. The element information is as follows: o recording requestor attribute indicates whether SRC or SRS initiates the particular session. The default value is SRC. o recording type shows whether the type of recording belongs to selective or persistent. The default value is selective. Ravindranath, et al. Expires July 25, 2011 [Page 4] Internet-Draft SIP Recording Metadata January 2011 o Open Issue: whether Partial update of Metadata XML document is required ? 4.2.3. group Each communication session group (CSG) has one group tuple. All group element have one sessions element. Each communication session is defined by one session tuple. Each group element has unique id attribute which helps to uniquely identify CSG. Whether id element has to be generated by SRC or SRS is an open issue. Each group MAY have initiator entity attribute which contains SIP/ SIPS URI to identify the device which acts as Session Recording Client (SRC). The entity attribute SIP/SIPS URI FQDN or IP address represents the device and may not have user part. 4.2.4. sessions All sessions element have one or more session element. This is a container element to list of communication session in a given recording session. 4.2.5. session Each communication session(CS) has one session tuple. All session element have zero or one participants element. Each session element has unique id attribute which helps to uniquely identify CS. Whether id element has to be generated by SRC or SRS is an open issue. 4.2.6. participants All Participants element have one or more participant element. This is a container element to list the participant in the session. 4.2.7. participant Each communication session user is defined by one participant tuple. The streams tuple in each participant is associating SDP m-lines with the participant. Participant MUST have AOR element which contains SIP/SIPS URI to identify the participant. AOR element is SIP/SIPS URI FQDN or IP Ravindranath, et al. Expires July 25, 2011 [Page 5] Internet-Draft SIP Recording Metadata January 2011 address which represents the user. 4.2.8. streams All Streams element have one or more stream element. This is a container element to list the stream in the session. 4.2.9. stream This element indicates the SDP m-line properties like label attributes, media mode. Label attribute is used to link m-line SDP body. Label attribute MUST be unique within the given recording session. The media mode helps in understanding whether the media is mixed or not. 4.2.10. appdata Appdata element SHALL include any other XML namespace. Multiple namespace MAY exists under appdata. Appdata element exist in each level like recording, session, participant, stream to provide to provide appdata specific to each element. 4.2.11. timestamp Timestamp element 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. As a security measure, the timestamp element SHOULD be included in all tuples unless the exact time of the status change cannot be determined. 5. Example The example provides all the tuples involved in Recording Metadata XML body. SRC selective 42 Ravindranath, et al. Expires July 25, 2011 [Page 6] Internet-Draft SIP Recording Metadata January 2011 FOO! bar FOO! bar sip:romeo@example.com b13d7bb0-2a9f-48a8-85be-43557269aab8 sip:romeo@example.com Romeo Montague FOO! bar sip:juliet@example.net Juliet Capulet FOO! bar 2010-12-16T23:41:07Z Ravindranath, et al. Expires July 25, 2011 [Page 7] Internet-Draft SIP Recording Metadata January 2011 2010-12-16T23:41:07Z FOO! bar FOO! bar 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 July 25, 2011 [Page 8] Internet-Draft SIP Recording Metadata January 2011 Ravindranath, et al. Expires July 25, 2011 [Page 9] Internet-Draft SIP Recording Metadata January 2011 7. XML element usage in SIP methods Table 1 provides the XML element usage in SIP methods. Most of the columns are defined in [RFC3261], the column 'PRA' is for the PRACK method [RFC3262],'UPD' is for the UPDATE method [RFC3311], 'SUB' is for the SUBSCRIBE method [RFC3265], 'NOT' is for the NOTIFY method [RFC3265] and 'INF' is for the INFO method [RFC3261] . +----------------+-----+---+---+---+---+---+---+---+---+---+---+---+ |XML Element |where|ACK|BYE|CAN|INV|OPT|REG|PRA|UPD|SUB|NOT|INF| +----------------+-----+---+---+---+---+---+---+---+---+---+---+---+ |recording | R | o | o | - | o | - | - | o | o | - | o | o | | | | | | | | | | | | | | | |recording | 2xx | - | o | - | o | - | - | - | - | - | - | - | | | | | | | | | | | | | | | |group | R | o | o | - | o | - | - | o | o | - | o | o | | | | | | | | | | | | | | | |group | 2xx | - | o | - | o | - | - | - | - | - | - | - | | | | | | | | | | | | | | | |session | R | o | o | - | o | - | - | o | o | - | o | o | | | | | | | | | | | | | | | |session | 2xx | - | o | - | o | - | - | - | - | - | - | - | | | | | | | | | | | | | | | |participant | R | o | o | - | o | - | - | o | o | - | o | o | | | | | | | | | | | | | | | |participant | 2xx | - | o | - | o | - | - | - | - | - | - | - | | | | | | | | | | | | | | | |stream | R | o | - | - | o | - | - | o | o | - | - | - | | | | | | | | | | | | | | | |stream | 2xx | - | - | - | o | - | - | - | o | - | - | - | | | | | | | | | | | | | | | +------------- --+-----+---+---+---+---+---+---+---+---+---+---+---+ Table 1: XML element usage in SIP Methods Ravindranath, et al. Expires July 25, 2011 [Page 11] Internet-Draft SIP Recording Metadata January 2011 8. Usecases with SIP message TBD 9. Security Considerations TBD 10. IANA Considerations This specification registers a new XML namespace, and a new XML schema. 10.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 11. Acknowledgement We wish to thank Joe Hildebrand (Cisco) for the valuable XML related guidance. Thanks to Michael Benenson(Cisco) for his inputs. 12. References 12.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2141] Moats, R., "URN Syntax", RFC 2141, May 1997. [RFC2648] Moats, R., "A URN Namespace for IETF Documents", RFC 2648, August 1999. [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A., Peterson, J., Sparks, R., Handley, M., and E. Ravindranath, et al. Expires July 25, 2011 [Page 12] Internet-Draft SIP Recording Metadata January 2011 Schooler, "SIP: Session Initiation Protocol", RFC 3261, June 2002. [RFC3262] Rosenberg, J. and H. Schulzrinne, "Reliability of Provisional Responses in Session Initiation Protocol (SIP)", RFC 3262, June 2002. [RFC3265] Roach, A., "Session Initiation Protocol (SIP)-Specific Event Notification", RFC 3265, June 2002. [RFC3311] Rosenberg, J., "The Session Initiation Protocol (SIP) UPDATE Method", RFC 3311, October 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. [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. 12.2. Informative References [I-D.ietf-siprec-req] Rehor, K., Portman, L., Hutton, A., and R. Jain, "Requirements for SIP-based Media Recording (SIPREC)", draft-ietf-siprec-req-06 (work in progress), December 2010. [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-01 (work in progress), October 2010. [I-D.ram-siprec-metadata] R, R., R, P., and P. Kyzivat, "Session Initiation Protocol (SIP) Recording Metadata", draft-ram-siprec-metadata-03 (work in progress), January 2011. Ravindranath, et al. Expires July 25, 2011 [Page 13] Internet-Draft SIP Recording Metadata January 2011 Authors' Addresses Ram Mohan R Cisco Systems, Inc. Cessna Business Park, Kadabeesanahalli Village, Varthur Hobli, Sarjapur-Marathahalli Outer Ring Road Bangalore, Karnataka 560103 India Email: rmohanr@cisco.com R Parthasarathi 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 July 25, 2011 [Page 14]