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:07Zsip:alice@cisco.comFOO!barurn:uuid:efe3930b-2a31-4e6a-a6ab-203fd7078302
2010-12-16T23:41:07ZFOO!barsip:partha@blr.cisco.comurn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0burn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b172010-12-16T23:41:07ZFOO!barsip:paul@box.cisco.comurn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b2010-12-16T23:41:07ZFOO!bar2010-12-16T23:41:07Z2010-12-16T23:41:07Z2010-12-16T23:41:07Z2010-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:07Zsip:partha@blr.cisco.comurn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0burn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b172010-12-16T23:41:07Zsip:paul@box.cisco.comurn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17urn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0b2010-12-16T23:41:07Z2010-12-16T23:41:07Z2010-12-16T23:41:07Z2010-12-16T23:41:07Z2010-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
partialurn:uuid:efe3930b-2a31-4e6a-a6ab-203fd7078302
2010-12-16T23:45:07Z2010-12-16T23:45:07Zsip:partha@blr.cisco.comurn:uuid:8b53f3de-da39-4846-93c7-ee5e5f8f6f0burn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b172010-12-16T23:45:07Z2010-12-16T23:45:07Z
sip:ram@blr.cisco.comurn:uuid:50000c9b-9191-40a4-8231-5bcbca5e2b17urn: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]