siprec Ram Mohan. Ravindranath Internet-Draft Parthasarathi. Ravindran Intended status: Standards Track Paul. Kyzivat Expires: September 9, 2011 Cisco Systems, Inc. March 8, 2011 Session Initiation Protocol (SIP) Recording Metadata Format draft-ram-siprec-metadata-format-01 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 September 9, 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 September 9, 2011 [Page 1] Internet-Draft SIP Recording Metadata March 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 . . . . . . . . . . . . . . . . . . . . . . 5 4.2.2. recording-metadata . . . . . . . . . . . . . . . . . . 5 4.2.3. recording . . . . . . . . . . . . . . . . . . . . . . 5 4.2.4. group . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2.5. session . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.6. participant . . . . . . . . . . . . . . . . . . . . . 6 4.2.7. stream . . . . . . . . . . . . . . . . . . . . . . . . 6 4.2.8. extensiondata . . . . . . . . . . . . . . . . . . . . 7 4.2.9. start-time/stop-time . . . . . . . . . . . . . . . . . 7 5. SIP Recording Metadata Example . . . . . . . . . . . . . . . . 7 5.1. Complete SIP Recording Metatdata Example . . . . . . . . . 7 5.2. Partial Update of Recording metadata XML body . . . . . . 9 6. XML Schema definition for Recording metadata . . . . . . . . . 9 7. XML element usage in SIP methods . . . . . . . . . . . . . . . 13 8. Example with SIP and metadata XML+SDP . . . . . . . . . . . . 14 8.1. SRC Initiated Recording . . . . . . . . . . . . . . . . . 14 9. Security Considerations . . . . . . . . . . . . . . . . . . . 16 9.1. Connection Security . . . . . . . . . . . . . . . . . . . 16 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 17 10.1. SIP recording metadata Schema Registration . . . . . . . . 17 11. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 17 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 12.1. Normative References . . . . . . . . . . . . . . . . . . . 17 12.2. Informative References . . . . . . . . . . . . . . . . . . 18 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 19 Ravindranath, et al. Expires September 9, 2011 [Page 2] Internet-Draft SIP Recording Metadata March 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 September 9, 2011 [Page 3] Internet-Draft SIP Recording Metadata March 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 recording-metadata element MUST present in all recording metadata XML document. recording-metadata acts as container for all other elements in this XML document. o Elements like recording, session, participant, stream are under recording-metadata element directly with appropriate parent id and have separate URN UUID for passing the partial information of metadata. In case of partial metadata, recording-metadata 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 Open item: Whether partial data has to be passed in the level metadata block like stream, participant or individual elements in metadata block. The current approach is based on metadata block which helps is reducing the number URN UUID maintained in SRC and SRS. This decision of which approach needs discussion before closure o recording element MUST be present in the first metadata XML document of a given session. recording element has unique id based on URN UUID [RFC4122]. o Group 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 CS and participants o ExtensionData element provides the mechanism by which namespace/ element shall be extended with standard or proprietary information. 4.2. XML data format Recording-metadata 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. Ravindranath, et al. Expires September 9, 2011 [Page 4] Internet-Draft SIP Recording Metadata March 2011 Syntax and semantics error in recording XML document has to be informed to the originator using application specific mechanism. 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-metadata recording-metadata element MUST contain an xmlns namespace attribute with value as urn:ietf:params:xml:ns:siprec. Atleast one recording- metadata element MUST present in the all recording metadata XML document. recording-metadata element has recording, group, session, stream elements. dataMode element shows whether the XML document is complete document or partial update. The default value is complete. 4.2.3. recording recording element has unique id based on URN UUID [RFC4122] attribute and this attribute helps to uniquely identify recording element. There are other elements associated in the recording 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. 4.2.4. group Each communication session group (CSG) has one group tuple. Each group element has unique URN UUID attribute which helps to uniquely identify CSG. 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. Ravindranath, et al. Expires September 9, 2011 [Page 5] Internet-Draft SIP Recording Metadata March 2011 4.2.5. session Each communication session(CS) has one session tuple. Each session element has unique URN UUID attribute which helps to uniquely identify CS and group URN UUID to associate session with specific group element. Reason element MAY be included to indicate the reason for termination. 4.2.6. 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. send/recv tuple 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 pariticipant 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 identify the participant. AOR element is SIP/SIPS URI FQDN or IP address which represents the user. 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.7. 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. Ravindranath, et al. Expires September 9, 2011 [Page 6] Internet-Draft SIP Recording Metadata March 2011 4.2.8. 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. 4.2.9. 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. 5. SIP Recording Metadata Example 5.1. Complete SIP Recording Metatdata Example The following example provides all the tuples involved in Recording Metadata XML body. SRC selective sip:alice@cisco.com FOO! bar Ravindranath, et al. Expires September 9, 2011 [Page 7] Internet-Draft SIP Recording Metadata March 2011 sip:romeo@example.com FOO! bar FOO! bar sip:romeo@example.com Romeo Montague urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 FOO! bar sip:juliet@example.net Juliet Capulet urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b Ravindranath, et al. Expires September 9, 2011 [Page 8] Internet-Draft SIP Recording Metadata March 2011 FOO! bar 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. partial 2010-12-16T23:41:07Z 2010-12-16T23:41:07Z 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 September 9, 2011 [Page 9] Internet-Draft SIP Recording Metadata March 2011 7. XML element usage in SIP methods Table 1 just provides the guidelines of XML element usage in SIP methods and the table does not mandate SIP as a transport for this XML body. 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 | - | - | - | o | - | - | - | | | | | | | | | | | | | | | |group | R | o | o | - | o | - | - | o | o | - | o | o | | | | | | | | | | | | | | | |group | 2xx | - | o | - | o | - | - | - | o | - | - | - | | | | | | | | | | | | | | | |session | R | o | o | - | o | - | - | o | o | - | o | o | | | | | | | | | | | | | | | |session | 2xx | - | o | - | o | - | - | - | o | - | - | - | | | | | | | | | | | | | | | |participant | R | 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 September 9, 2011 [Page 13] Internet-Draft SIP Recording Metadata March 2011 Open item: Whether it is allowed to have SIP specific table in this draft? Pls provide your comments. 8. Example with SIP and metadata XML+SDP This section describes the different use cases/messages for delivering Metadata in a Recording Sessions. 8.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 mode (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 Max-Forwards: 70 To: From: RecrdingClient ;tag=ds43d76263 Call-ID: 12548086970261@192.168.1.67 CSeq: 100 INVITE Content-Length: xxx Contact: ;audio; Date: Tue, 23 Mar 2010 23:29:00 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 a=label:96 a=sendonly Ravindranath, et al. Expires September 9, 2011 [Page 14] Internet-Draft SIP Recording Metadata March 2011 ... 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 SRC selective sip:partha@rc1.cisco.com urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b urn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17 sip:paul@rc1.cisco.com Ravindranath, et al. Expires September 9, 2011 [Page 15] Internet-Draft SIP Recording Metadata March 2011 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 --unique-boundary-1-- 9. 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. 9.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 Ravindranath, et al. Expires September 9, 2011 [Page 16] Internet-Draft SIP Recording Metadata March 2011 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. 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 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), 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) for their inputs and comments. 12. References 12.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 Ravindranath, et al. Expires September 9, 2011 [Page 17] Internet-Draft SIP Recording Metadata March 2011 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. 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. [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model with Session Description Protocol (SDP)", RFC 3264, 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. [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. 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-07 (work in progress), March 2011. Ravindranath, et al. Expires September 9, 2011 [Page 18] Internet-Draft SIP Recording Metadata March 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-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-04 (work in progress), March 2011. [I-D.portman-siprec-protocol] Portman, L., Lum, H., Johnston, A., and A. Hutton, "The SIP-based Media Recording Protocol (SIPREC)", draft-portman-siprec-protocol-03 (work in progress), March 2011. 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 Ravindranath, et al. Expires September 9, 2011 [Page 19] Internet-Draft SIP Recording Metadata March 2011 P. Kyzivat Cisco Systems, Inc. 1414 Massachusetts Avenue Boxborough, MA 01719 USA Email: pkyzivat@cisco.com Ravindranath, et al. Expires September 9, 2011 [Page 20]