draft-ietf-siprec-callflows-04.txt   draft-ietf-siprec-callflows-05.txt 
SIPREC Ram Mohan. Ravindranath SIPREC Ram Mohan. Ravindranath
Internet-Draft Cisco Systems, Inc. Internet-Draft Cisco Systems, Inc.
Intended status: Standards Track Parthasarathi. Ravindran Intended status: Standards Track Parthasarathi. Ravindran
Expires: September 1, 2015 Nokia Networks Expires: January 31, 2016 Nokia Networks
Paul. Kyzivat Paul. Kyzivat
Huawei Huawei
February 28, 2015 July 30, 2015
Session Initiation Protocol (SIP) Recording Call Flows Session Initiation Protocol (SIP) Recording Call Flows
draft-ietf-siprec-callflows-04 draft-ietf-siprec-callflows-05
Abstract Abstract
Session recording is a critical requirement in many communications Session recording is a critical requirement in many communications
environments such as call centers and financial trading. In some of environments such as call centers and financial trading. In some of
these environments, all calls must be recorded for regulatory, these environments, all calls must be recorded for regulatory,
compliance, and consumer protection reasons. Recording of a session compliance, and consumer protection reasons. Recording of a session
is typically performed by sending a copy of a media stream to a is typically performed by sending a copy of a media stream to a
recording device. This document lists call flows that has snapshot recording device. This document lists call flows that has snapshot
of metadata sent from SRC to SRS. This is purely an informational of metadata sent from SRC to SRS. This is purely an informational
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 1, 2015. This Internet-Draft will expire on January 31, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2015 IETF Trust and the persons identified as the Copyright (c) 2015 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 21 skipping to change at page 2, line 21
Table of Contents Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Metadata XML schema Instances . . . . . . . . . . . . . . . . 3 3. Metadata XML schema Instances . . . . . . . . . . . . . . . . 3
3.1. Sample Call flow . . . . . . . . . . . . . . . . . . . . . 3 3.1. Sample Call flow . . . . . . . . . . . . . . . . . . . . . 3
3.2. Call Scenarios with SRC recording streams with out 3.2. Call Scenarios with SRC recording streams with out
mixing . . . . . . . . . . . . . . . . . . . . . . . . . . 5 mixing . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2.1. Example 1: Basic Call . . . . . . . . . . . . . . . . 5 3.2.1. Example 1: Basic Call . . . . . . . . . . . . . . . . 5
3.2.2. Example 2: Hold/resume . . . . . . . . . . . . . . . . 7 3.2.2. Example 2: Hold/resume . . . . . . . . . . . . . . . . 8
3.2.3. Example 3:Call Transfer (RE-INVITE and REFER based) . 11 3.2.3. Example 3:Call Transfer (RE-INVITE and REFER based) . 11
3.2.4. Example 4: Call disconnect . . . . . . . . . . . . . . 17 3.2.4. Example 4: Call disconnect . . . . . . . . . . . . . . 18
3.3. Call Scenarios with SRC recording streams by mixing . . . 19 3.3. Call Scenarios with SRC recording streams by mixing . . . 20
3.3.1. Example 1: Basic call with SRC mixing streams . . . . 19 3.3.1. Example 1: Basic call with SRC mixing streams . . . . 20
3.3.2. Example 2: Hold/resume with SRC recording by 3.3.2. Example 2: Hold/resume with SRC recording by
mixing streams . . . . . . . . . . . . . . . . . . . . 21 mixing streams . . . . . . . . . . . . . . . . . . . . 22
3.3.3. Example 3: Metadata snapshot of joining/dropping 3.3.3. Example 3: Metadata snapshot of joining/dropping
of a participant to a session . . . . . . . . . . . . 25 of a participant to a session . . . . . . . . . . . . 26
3.3.4. Example 4: Call disconnect . . . . . . . . . . . . . . 28 3.3.4. Example 4: Call disconnect . . . . . . . . . . . . . . 29
3.4. Call scenarios with persistent RS between SRC and SRS . . 28 3.4. Call scenarios with persistent RS between SRC and SRS . . 29
3.4.1. Example 1: Metadata snapshot during CS disconnect 3.4.1. Example 1: Metadata snapshot during CS disconnect
with persistent RS between SRC and SRS . . . . . . . . 28 with persistent RS between SRC and SRS . . . . . . . . 29
3.5. Turrent-Case: Multiple CS into single RS with mixed 3.5. Turrent-Case: Multiple CS into single RS with mixed
stream . . . . . . . . . . . . . . . . . . . . . . . . . . 29 stream . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4. Security Considerations . . . . . . . . . . . . . . . . . . . 32 4. Security Considerations . . . . . . . . . . . . . . . . . . . 33
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 32 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 33
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 32 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 33
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 33 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 34
7.1. Normative References . . . . . . . . . . . . . . . . . . . 33 7.1. Normative References . . . . . . . . . . . . . . . . . . . 34
7.2. Informative References . . . . . . . . . . . . . . . . . . 33 7.2. Informative References . . . . . . . . . . . . . . . . . . 34
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 33 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 34
1. Overview 1. Overview
[I-D.ietf-siprec-metadata] document focuses on the Recording metadata [I-D.ietf-siprec-metadata] document focuses on the Recording metadata
which describes the communication session. The document lists a few which describes the communication session. The document lists a few
examples and shows the snapshots of metadata sent from SRC to SRS. examples and shows the snapshots of metadata sent from SRC to SRS.
For the sake of simplicity the entire SIP [RFC3261] messages are not For the sake of simplicity the entire SIP [RFC3261] messages are not
shown at various points, instead only a snippets of the SIP/SDP shown at various points, instead only a snippets of the SIP/SDP
messages and the XML snapshot of metadata is shown. messages and the XML snapshot of metadata is shown.
skipping to change at page 5, line 26 skipping to change at page 5, line 26
Basic call between two Participants Alice and Bob who are part of one Basic call between two Participants Alice and Bob who are part of one
CS. In this use case each participant sends two Media Streams. CS. In this use case each participant sends two Media Streams.
Media Streams sent by each participant are received all other Media Streams sent by each participant are received all other
participants in this use-case. In this example the SRC is a B2BUA in participants in this use-case. In this example the SRC is a B2BUA in
the path between Alice and Bob as described in section 3.1.1 of the path between Alice and Bob as described in section 3.1.1 of
[RFC7245]. Below is the initial snapshot sent by SRC in the INVITE [RFC7245]. Below is the initial snapshot sent by SRC in the INVITE
to SRS that has complete metadata. For the sake of simplicity only to SRS that has complete metadata. For the sake of simplicity only
snippets of SIP/SDP are shown. The SRCs records the streams of each snippets of SIP/SDP are shown. The SRCs records the streams of each
participant to SRS with out mixing in this example. participant to SRS with out mixing in this example.
F1 INVITE SRC --------------> SRS F1 INVITE SRC --------------> SRS
INVITE sip:recorder@example.com SIP/2.0 INVITE sip:recorder@example.com SIP/2.0
Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9 Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9
From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247 From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247
To: <sip:recorder@example.com> To: <sip:recorder@example.com>
Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a
Session-ID: ab30317f1a784dc48ff824d0d3715d86 Session-ID: ab30317f1a784dc48ff824d0d3715d86
;remote=00000000000000000000000000000000 ;remote=00000000000000000000000000000000
CSeq: 101 INVITE CSeq: 101 INVITE
Max-Forwards: 70 Max-Forwards: 70
Require: siprec Require: siprec
Accept: application/sdp, application/rs-metadata, Accept: application/sdp, application/rs-metadata,
application/rs-metadata-request application/rs-metadata-request
Contact: <sip:2000@src.example.com>;+sip.src Contact: <sip:2000@src.example.com>;+sip.src
Content-Type: multipart/mixed;boundary=foobar Content-Type: multipart/mixed;boundary=foobar
Content-Length: [length] Content-Length: [length]
--foobar
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
....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/SDP
Content-Disposition: recording-session ...
<?xml version="1.0" encoding="UTF-8"?> m=audio 49170 RTP/AVP 0
<recording xmlns='urn:ietf:params:xml:ns:recording'> a=rtpmap:0 PCMU/8000
<datamode>complete</datamode> a=label:96
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> a=sendonly
<start-time>2010-12-16T23:41:07Z</start-time> ...
<sipSessionID>47755a9de7794ba387653f2099600ef2 m=video 49174 RTP/AVPF 96
;remote=3363127f0d084c10876dddd4f8e5eeb9</sipSessionID> a=rtpmap:96 H.264/90000
</session> a=label:97
<participant a=sendonly
participant_id="srfBElmCRp2QB23b7Mpk0w=="> ...
<nameID aor=sip:alice@atlanta.com> m=audio 51372 RTP/AVP 0
<name xml:lang="it">Alice</name> a=rtpmap:0 PCMU/8000
</nameID> a=label:98
</participant> a=sendonly
<participantsessionassoc ...
participant_id="srfBElmCRp2QB23b7Mpk0w==" m=video 49176 RTP/AVPF 96
session_id="hVpd7YQgRW2nD22h7q60JQ=="> a=rtpmap:96 H.264/90000
<associate-time>2010-12-16T23:41:07Z</associate-time> a=label:99
</participantsessionassoc> a=sendonly
<participantstreamassoc ....
participant_id="srfBElmCRp2QB23b7Mpk0w=="> --foobar
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> Content-Type: application/rs-metadata
<send>UAAMm5GRQKSCMVvLyl4rFw==</send> Content-Disposition: recording-session
<recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <?xml version="1.0" encoding="UTF-8"?>
<recv>EiXGlc+4TruqqoDaNE76ag==</recv> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
</participantstreamassoc> <datamode>complete</datamode>
<participant <group group_id="7+OTCyoxTmqmqyA/1weDAg==">
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> <associate-time>2010-12-16T23:41:07Z</associate-time>
<nameID aor=sip:bob@biloxy.com> <!-- Standardized extension -->
<name xml:lang="it">Bob</name> <call-center xmlns='urn:ietf:params:xml:ns:callcenter'>
</nameID> <supervisor>sip:alice@atlanta.com</supervisor>
</participant> </call-center>
<participantsessionassoc <mydata xmlns='http://example.com/my'>
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" <structure>FOO!</structure>
session_id="hVpd7YQgRW2nD22h7q60JQ=="> <whatever>bar</whatever>
<associate-time>2010-12-16T23:41:07Z</associate-time> </mydata>
</participantsessionassoc> </group>
<participantstreamassoc <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> <sipSessionID>ab30317f1a784dc48ff824d0d3715d86;
<send>8zc6e0lYTlWIINA6GR+3ag==</send> remote=47755a9de7794ba387653f2099600ef2</sipSessionID>
<send>EiXGlc+4TruqqoDaNE76ag==</send> <group-ref>7+OTCyoxTmqmqyA/1weDAg==
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> </group-ref>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <!-- Standardized extension -->
</participantstreamassoc> <mydata xmlns='http://example.com/my'>
<stream id="UAAMm5GRQKSCMVvLyl4rFw==" <structure>FOO!</structure>
session_id="hVpd7YQgRW2nD22h7q60JQ=="> <whatever>bar</whatever>
<label>96</label> </mydata>
</stream> </session>
<stream id="i1Pz3to5hGk8fuXl+PbwCw==" <participant
participant_id="srfBElmCRp2QB23b7Mpk0w==">
<nameID aor="sip:alice@atlanta.com">
<name xml:lang="it">Alice</name>
</nameID>
<!-- Standardized extension -->
<mydata xmlns='http://example.com/my'>
<structure>FOO!</structure>
<whatever>bar</whatever>
</mydata>
</participant>
<participant
participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<nameID aor="sip:bob@biloxy.com">
<name xml:lang="it">Bob</name>
</nameID>
<!-- Standardized extension -->
<mydata xmlns='http://example.com/my'>
<structure>FOO!</structure>
<whatever>bar</whatever>
</mydata>
</participant>
<stream stream_id="UAAMm5GRQKSCMVvLyl4rFw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<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>
<sessionrecordingassoc session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time>
</sessionrecordingassoc>
<participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>97</label> <associate-time>2010-12-16T23:41:07Z</associate-time>
</stream> </participantsessionassoc>
<stream id="8zc6e0lYTlWIINA6GR+3ag==" <participantsessionassoc
session_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
<label>98</label> session_id="hVpd7YQgRW2nD22h7q60JQ==">
</stream> <associate-time>2010-12-16T23:41:07Z</associate-time>
<stream id="EiXGlc+4TruqqoDaNE76ag=="
session_id="zSfPoSvdSDCmU3A3TRDxAw=="> </participantsessionassoc>
<label>99</label> <participantstreamassoc
</stream> participant_id="srfBElmCRp2QB23b7Mpk0w==">
</recording> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
<recv>EiXGlc+4TruqqoDaNE76ag==</recv>
</participantstreamassoc>
<participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>8zc6e0lYTlWIINA6GR+3ag==</send>
<send>EiXGlc+4TruqqoDaNE76ag==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc>
</recording>
3.2.2. Example 2: Hold/resume 3.2.2. Example 2: Hold/resume
Assume a call between two Participants Alice and Bob is established Assume a call between two Participants Alice and Bob is established
and a RS is created for recording as in example1. This is the and a RS is created for recording as in example1. This is the
continuation of above use-case. One of the participants Bob puts continuation of above use-case. One of the participants Bob puts
Alice hold and then resumes as part of the same session. The send Alice hold and then resumes as part of the same session. The send
and recv XML elements of a participant is used to indicate whether a and recv XML elements of a participant is used to indicate whether a
participant is sending not sending a particular media stream whose participant is sending not sending a particular media stream whose
properties are represented by stream element. SRC sends a snapshot properties are represented by stream element. SRC sends a snapshot
skipping to change at page 8, line 51 skipping to change at page 9, line 37
a=rtpmap:96 H.264/90000 a=rtpmap:96 H.264/90000
a=label:99 a=label:99
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>partial</datamode> <datamode>partial</datamode>
<participantstreamassoc <participantstreamassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
<recv>EiXGlc+4TruqqoDaNE76ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv>
</participantstreamassoc> </participantstreamassoc>
<participantstreamassoc <participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>8zc6e0lYTlWIINA6GR+3ag==</send>
<send>EiXGlc+4TruqqoDaNE76ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send>
skipping to change at page 10, line 31 skipping to change at page 11, line 17
m=video 49176 RTP/AVPF 96 m=video 49176 RTP/AVPF 96
a=rtpmap:96 H.264/90000 a=rtpmap:96 H.264/90000
a=label:99 a=label:99
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>partial</datamode> <datamode>partial</datamode>
<participantstreamassoc <participantstreamassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
<recv>EiXGlc+4TruqqoDaNE76ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv>
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<send>UAAMm5GRQKSCMVvLyl4rFw==</send> <send>UAAMm5GRQKSCMVvLyl4rFw==</send>
</participantstreamassoc> </participantstreamassoc>
<participantstreamassoc <participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
skipping to change at page 12, line 27 skipping to change at page 13, line 11
m=video 49178 RTP/AVPF 96 m=video 49178 RTP/AVPF 96
a=rtpmap:96 H.264/90000 a=rtpmap:96 H.264/90000
a=label:99 a=label:99
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>partial</datamode> <datamode>partial</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<sipSessionID>3363127f0d084c10876dddd4f8e5eeb9 <sipSessionID>3363127f0d084c10876dddd4f8e5eeb9
;remote=2272bb7e70fe41dba0025ae9a26d54cf</sipSessionID> ;remote=2272bb7e70fe41dba0025ae9a26d54cf</sipSessionID>
</session> </session>
<participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disassociate-time>2013-12-16T23:41:07Z</disassociate-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
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<nameIDaor=sip:carol@example.com> <nameIDaor="sip:carol@example.com">
<name xml:lang="it">Carol</name> <name xml:lang="it">Carol</name>
</nameID> </nameID>
</participant> </participant>
<participantsessionassoc <participantsessionassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==" participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2013-12-16T23:41:07Z</associate-time> <associate-time>2013-12-16T23:41:07Z</associate-time>
</participantsession> </participantsession>
<participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disassociate-time>2013-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc>
<participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>8zc6e0lYTlWIINA6GR+3ag==</send>
<send>EiXGlc+4TruqqoDaNE76ag==</send>
<recv>60JAJm9UTvik0Ltlih/Gzw==</recv>
<recv>AcR5FUd3Edi8cACQJy/3JQ==</recv>
</participantstreamassoc>
<participantstreamassoc <participantstreamassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<send>60JAJm9UTvik0Ltlih/Gzw==</send> <send>60JAJm9UTvik0Ltlih/Gzw==</send>
<send>AcR5FUd3Edi8cACQJy/3JQ==</send> <send>AcR5FUd3Edi8cACQJy/3JQ==</send>
<recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
<recv>EiXGlc+4TruqqoDaNE76ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv>
<associate-time>2013-12-16T23:42:07Z</associate-time> <associate-time>2013-12-16T23:42:07Z</associate-time>
</participantstreamassoc> </participantstreamassoc>
</recording> </recording>
skipping to change at page 14, line 33 skipping to change at page 15, line 18
a=rtpmap:96 H.264/90000 a=rtpmap:96 H.264/90000
a=label:99 a=label:99
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>Partial</datamode> <datamode>Partial</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<stop-time>2010-12-16T23:41:07Z</stop-time> <stop-time>2010-12-16T23:41:07Z</stop-time>
</session> </session>
<participantsessionassoc <participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w==" participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disassociate-time>2010-12-16T23:41:07Z</disassociate-time> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </participantsessionassoc>
<participantsessionassoc <participantsessionassoc
skipping to change at page 16, line 17 skipping to change at page 16, line 48
m=video 49178 RTP/AVPF 96 m=video 49178 RTP/AVPF 96
a=rtpmap:96 H.264/90000 a=rtpmap:96 H.264/90000
a=label:99 a=label:99
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>complete</datamode> <datamode>complete</datamode>
<session session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> <session session_id="bfLZ+NTFEeCNxQTuRyQBmw==">
<start-time>2010-12-16T23:41:07Z</start-time> <start-time>2010-12-16T23:41:07Z</start-time>
<sipSessionID>3363127f0d084c10876dddd4f8e5eeb9 <sipSessionID>3363127f0d084c10876dddd4f8e5eeb9
;remote=2272bb7e70fe41dba0025ae9a26d54cf</sipSessionID> ;remote=2272bb7e70fe41dba0025ae9a26d54cf</sipSessionID>
</session> </session>
<participant <participant
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<nameID aor=sip:Bob@biloxy.com/> <nameID aor="sip:Bob@biloxy.com"/>
</participant> </participant>
<participant
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<nameID aor="sip:carol@example.com"/>
</participant>
<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>
<participantsessionassoc <participantsessionassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="bfLZ+NTFEeCNxQTuRyQBmw=="> session_id="bfLZ+NTFEeCNxQTuRyQBmw==">
<associate-time>2010-12-16T23:32:03Z</associate-time> <associate-time>2010-12-16T23:32:03Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
<participantsessionassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="
session_id="bfLZ+NTFEeCNxQTuRyQBmw==">
<associate-time>2010-12-16T23:41:07Z</associate-time>
</participantsessionassoc>
<participantstreamassoc <participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>8zc6e0lYTlWIINA6GR+3ag==</send>
<send>EiXGlc+4TruqqoDaNE76ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send>
<recv>60JAJm9UTvik0Ltlih/Gzw==</recv> <recv>60JAJm9UTvik0Ltlih/Gzw==</recv>
<recv>AcR5FUd3Edi8cACQJy/3JQ==</recv> <recv>AcR5FUd3Edi8cACQJy/3JQ==</recv>
</participantstreamassoc> </participantstreamassoc>
<participant
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<nameID aor=sip:carol@example.com/>
</participant>
<participantsessionassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="
session_id="bfLZ+NTFEeCNxQTuRyQBmw==">
<associate-time>2010-12-16T23:41:07Z</associate-time>
</participantsessionassoc>
<participantstreamassoc <participantstreamassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<send>60JAJm9UTvik0Ltlih/Gzw==</send> <send>60JAJm9UTvik0Ltlih/Gzw==</send>
<send>AcR5FUd3Edi8cACQJy/3JQ==</send> <send>AcR5FUd3Edi8cACQJy/3JQ==</send>
<recv>8zc6e0lYTlWIINA6GR+3ag==</recv> <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
<recv>EiXGlc+4TruqqoDaNE76ag==</recv> <recv>EiXGlc+4TruqqoDaNE76ag==</recv>
</participantstreamassoc> </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> </recording>
3.2.4. Example 4: Call disconnect 3.2.4. Example 4: Call disconnect
This example shows a snapshot of metadata sent by an SRC at CS This example shows a snapshot of metadata sent by an SRC at CS
disconnect where the participants of CS are Alice and Bob disconnect where the participants of CS are Alice and Bob
SRC SRS SRC SRS
| | | |
|(1) BYE (metadata snapshot) F1 | |(1) BYE (metadata snapshot) F1 |
|---------------------------------------------------->| |---------------------------------------------------->|
skipping to change at page 18, line 33 skipping to change at page 19, line 33
Accept: application/rs-metadata, Accept: application/rs-metadata,
application/rs-metadata-request application/rs-metadata-request
Contact: <sip:2000@src.example.com>;+sip.src Contact: <sip:2000@src.example.com>;+sip.src
Content-Type: multipart/mixed;boundary=foobar Content-Type: multipart/mixed;boundary=foobar
Content-Length: [length] Content-Length: [length]
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>Partial</datamode> <datamode>Partial</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<stop-time>2010-12-16T23:41:07Z</stop-time> <stop-time>2010-12-16T23:41:07Z</stop-time>
</session> </session>
<participantsessionassoc <participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w==" participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disassociate-time>2010-12-16T23:41:07Z</disassociate-time> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </participantsessionassoc>
skipping to change at page 19, line 17 skipping to change at page 20, line 17
The section covers the models mentioned in the architecture document The section covers the models mentioned in the architecture document
in section 3 of [RFC7245] where an SRC may be part of Conference in section 3 of [RFC7245] where an SRC may be part of Conference
model either as Focus or a participant in Conference. The SRS here model either as Focus or a participant in Conference. The SRS here
could be a SIP UA or an entity part of MEDIACTRL architecture. Note could be a SIP UA or an entity part of MEDIACTRL architecture. Note
that the disconnect case is not shown since the metadata snapshot that the disconnect case is not shown since the metadata snapshot
will be same as for a non-mixing case. will be same as for a non-mixing case.
3.3.1. Example 1: Basic call with SRC mixing streams 3.3.1. Example 1: Basic call with SRC mixing streams
Basic call between two Participants Alice and Bob who are part of one Basic call between two Participants Alice and Bob who are part of one
CS. In this use case each participant sends one Media Streams. CS. In this use case each participant call into a conference server
Media Streams sent by each participant is received by the other (say, an MCU) to attend one of many conferences hosted on or managed
participant. Below is the initial snapshot sent by SRC in the INVITE by that servers. Media Streams sent by each participant is received
to SRS that has complete metadata. For the sake of simplicity only by the other participant. Below is the initial snapshot sent by SRC
snippets of SIP/SDP are shown. The SRCs records the streams of each in the INVITE to SRS that has complete metadata. For the sake of
participant to SRS by mixing in this example. The SRC here is part simplicity only snippets of SIP/SDP are shown. The SRCs records the
of conference model described in section 3 of [RFC7245] as a Focus streams of each participant to SRS by mixing in this example. The
and does mixing. The SRC here is not a participant by itself and SRC here is part of conference model described in section 3 of
hence it does not contribute to streams. [RFC7245] as a Focus and does mixing. The SRC here is not a
participant by itself and hence it does not contribute to streams.
F1 INVITE SRC --------------> SRS F1 INVITE SRC --------------> SRS
INVITE sip:recorder@example.com SIP/2.0 INVITE sip:recorder@example.com SIP/2.0
Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9 Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9
From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247 From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247
To: <sip:recorder@example.com> To: <sip:recorder@example.com>
Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a
Session-ID: a358d2b81a444a8c8fb05950cef331e7 Session-ID: a358d2b81a444a8c8fb05950cef331e7
;remote=00000000000000000000000000000000 ;remote=00000000000000000000000000000000
skipping to change at page 20, line 11 skipping to change at page 21, line 12
m=audio 49170 RTP/AVP 0 m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=label:96 a=label:96
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>complete</datamode> <datamode>complete</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<start-time>2010-12-16T23:41:07Z</start-time> <start-time>2010-12-16T23:41:07Z</start-time>
<sipSessionID>fa3b60f27e91441e84c55a9a0095f075 <sipSessionID>fa3b60f27e91441e84c55a9a0095f075
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSessionID>ca718e1430474b5485a53aa5d0bea45e <sipSessionID>ca718e1430474b5485a53aa5d0bea45e
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=68caf509b9284b7ea45f84a049febf0a</sipSessionID>
</session> </session>
<participant <participant
participant_id="srfBElmCRp2QB23b7Mpk0w=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<nameID aor=sip:alice@atlanta.com> <nameID aor="sip:alice@atlanta.com">
<name xml:lang="it">Alice</name> <name xml:lang="it">Alice</name>
</nameID> </nameID>
</participant> </participant>
<participant
participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<nameID aor="sip:bob@biloxy.com">
<name xml:lang="it">Bob</name>
</nameID>
</participant>
<stream stream_id="i1Pz3to5hGk8fuXl+PbwCw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
<participantsessionassoc <participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w==" participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time> <associate-time>2010-12-16T23:41:07Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
<participantstreamassoc <participantstreamassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc> </participantstreamassoc>
<participant
participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<nameID aor=sip:bob@biloxy.com>
<name xml:lang="it">Bob</name>
</nameID>
</participant>
<participantsessionassoc <participantsessionassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time> <associate-time>2010-12-16T23:41:07Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
<participantstreamassoc <participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc> </participantstreamassoc>
<stream id="i1Pz3to5hGk8fuXl+PbwCw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
</recording> </recording>
In the above example there are two participants Alice and Bob in the In the above example there are two participants Alice and Bob in the
conference. Among other things, SRC sends Session-ID in the metadata conference. Among other things, SRC sends Session-ID in the metadata
snapshot. There are two Session-ID's here, one that corresponds to snapshot. There are two Session-ID's here, one that corresponds to
the SIP session between Alice and Conference Focus and the other for the SIP session between Alice and Conference Focus and the other for
the SIP session between Bob and Conference Focus. One half of both the SIP session between Bob and Conference Focus. In this use-case,
these Session-ID's will have the same value (which is added by the since Alice and Bob calls into the conference these Session-ID's are
Focus). different.
3.3.2. Example 2: Hold/resume with SRC recording by mixing streams 3.3.2. Example 2: Hold/resume with SRC recording by mixing streams
Assume a call between two Participants Alice and Bob is established Assume a call between two Participants Alice and Bob is established
and a RS is created for recording as in example 5. This is the and a RS is created for recording as in example 5. This is the
continuation of above use-case. One of the participants Bob puts continuation of above use-case. One of the participants Bob puts
Alice hold and then resumes as part of the same session. The send Alice hold and then resumes as part of the same session. The send
and recv XML elements of a participant is used to indicate whether a and recv XML elements of a participant is used to indicate whether a
participant is sending not sending a particular media stream whose participant is sending not sending a particular media stream whose
properties are represented by stream element. The metadata snapshot properties are represented by stream element. The metadata snapshot
skipping to change at page 22, line 35 skipping to change at page 23, line 35
m=audio 49170 RTP/AVP 0 m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=label:96 a=label:96
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>partial</datamode> <datamode>partial</datamode>
<stream stream_id="i1Pz3to5hGk8fuXl+PbwCw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
<participantstreamassoc <participantstreamassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc> </participantstreamassoc>
<participantstreamassoc <participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
</participantstreamassoc> </participantstreamassoc>
<stream id="i1Pz3to5hGk8fuXl+PbwCw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
</recording> </recording>
During resume a snapshot shown below will be sent from SRC to SRS During resume a snapshot shown below will be sent from SRC to SRS
mid call resume RE-INVITE SRC --------------> SRS mid call resume RE-INVITE SRC --------------> SRS
INVITE sip:recorder@example.com SIP/2.0 INVITE sip:recorder@example.com SIP/2.0
Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9 Via: SIP/2.0/TCP src.example.com;branch=z9hG4bKdf6b622b648d9
From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247 From: <sip:2000@example.com>;tag=35e195d2-947d-4585-946f-09839247
To: <sip:recorder@example.com> To: <sip:recorder@example.com>
Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a Call-ID: d253c800-b0d1ea39-4a7dd-3f0e20a
skipping to change at page 24, line 35 skipping to change at page 25, line 35
m=audio 49170 RTP/AVP 0 m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=label:96 a=label:96
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>partial</datamode> <datamode>partial</datamode>
<participantstreamassoc <stream stream_id="i1Pz3to5hGk8fuXl+PbwCw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
<participantstreamassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc> </participantstreamassoc>
<participantstreamassoc <participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc> </participantstreamassoc>
<stream id="i1Pz3to5hGk8fuXl+PbwCw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
</recording> </recording>
3.3.3. Example 3: Metadata snapshot of joining/dropping of a 3.3.3. Example 3: Metadata snapshot of joining/dropping of a
participant to a session participant to a session
In a conference model, participants can join and drop a session any In a conference model, participants can join and drop a session any
time during the session. The below shows a snapshot sent from SRC to time during the session. The below shows a snapshot sent from SRC to
SRC in these case. Note the SRC here can be a focus or a participant SRC in these case. Note the SRC here can be a focus or a participant
in the conference. In case where the SRC is a participant it may in the conference. In case where the SRC is a participant it may
learn the information required for metadata by subscribing to learn the information required for metadata by subscribing to
skipping to change at page 25, line 48 skipping to change at page 26, line 48
m=audio 49170 RTP/AVP 0 m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=label:96 a=label:96
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>partial</datamode> <datamode>partial</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<sipSessionID>fa3b60f27e91441e84c55a9a0095f075 <sipSessionID>fa3b60f27e91441e84c55a9a0095f075
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSessionID>ca718e1430474b5485a53aa5d0bea45e <sipSessionID>ca718e1430474b5485a53aa5d0bea45e
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=68caf509b9284b7ea45f84a049febf0a</sipSessionID>
<sipSessionID>497c0f13929643b4a16858e2a3885edc <sipSessionID>497c0f13929643b4a16858e2a3885edc
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=0e8a82bedda74f57be4a4a4da54167c4</sipSessionID>
</session> </session>
<participant <participant
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<nameIDaor=sip:carol@example.com> <nameID aor="sip:carol@example.com">
<name xml:lang="it">Carol</name> <name xml:lang="it">Carol</name>
</nameID> </nameID>
</participant> </participant>
<participantsessionassoc <participantsessionassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==" participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2013-12-16T23:41:07Z</associate-time> <associate-time>2013-12-16T23:41:07Z</associate-time>
</participantsession> </participantsession>
<participantstreamassoc <participantstreamassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
skipping to change at page 27, line 35 skipping to change at page 28, line 35
m=audio 49170 RTP/AVP 0 m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=label:96 a=label:96
a=sendonly a=sendonly
.... ....
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
Content-Disposition: recording-session Content-Disposition: recording-session
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>partial</datamode> <datamode>partial</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<sipSessionID>ca718e1430474b5485a53aa5d0bea45e <sipSessionID>ca718e1430474b5485a53aa5d0bea45e
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=68caf509b9284b7ea45f84a049febf0a</sipSessionID>
<sipSessionID>497c0f13929643b4a16858e2a3885edc <sipSessionID>497c0f13929643b4a16858e2a3885edc
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=0e8a82bedda74f57be4a4a4da54167c4</sipSessionID>
</session> </session>
<participantsessionassoc <participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w==" participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time> <associate-time>2010-12-16T23:41:07Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
</recording> </recording>
3.3.4. Example 4: Call disconnect 3.3.4. Example 4: Call disconnect
skipping to change at page 29, line 27 skipping to change at page 30, line 27
Accept: application/rs-metadata, Accept: application/rs-metadata,
application/rs-metadata-request application/rs-metadata-request
Contact: <sip:2000@src.example.com>;+sip.src Contact: <sip:2000@src.example.com>;+sip.src
Content-Type: multipart/mixed;boundary=foobar Content-Type: multipart/mixed;boundary=foobar
Content-Length: [length] Content-Length: [length]
--foobar --foobar
Content-Type: application/rs-metadata Content-Type: application/rs-metadata
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>Partial</datamode> <datamode>Partial</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<stop-time>2010-12-16T23:41:07Z</stop-time> <stop-time>2010-12-16T23:41:07Z</stop-time>
</session> </session>
<participantsessionassoc <participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w==" participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disassociate-time>2010-12-16T23:41:07Z</disassociate-time> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </participantsessionassoc>
skipping to change at page 30, line 40 skipping to change at page 31, line 40
Session-ID: a358d2b81a444a8c8fb05950cef331e7 Session-ID: a358d2b81a444a8c8fb05950cef331e7
;remote=00000000000000000000000000000000 ;remote=00000000000000000000000000000000
Content-Type: application/SDP Content-Type: application/SDP
... ...
m=audio 49170 RTP/AVP 0 m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000 a=rtpmap:0 PCMU/8000
a=label:96 a=label:96
a=sendonly a=sendonly
... ...
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording'> <recording xmlns='urn:ietf:params:xml:ns:recording:1'>
<datamode>complete</datamode> <datamode>complete</datamode>
<group group_id="7+OTCyoxTmqmqyA/1weDAg=="> <group group_id="7+OTCyoxTmqmqyA/1weDAg==">
<associate-time>2010-12-16T23:41:07Z</associate-time> <associate-time>2010-12-16T23:41:07Z</associate-time>
</group> </group>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<group-ref>7+OTCyoxTmqmqyA/1weDAg==</group-ref> <group-ref>7+OTCyoxTmqmqyA/1weDAg==</group-ref>
<start-time>2010-12-16T23:41:07Z</start-time> <start-time>2010-12-16T23:41:07Z</start-time>
<sipSessionID>fa3b60f27e91441e84c55a9a0095f075 <sipSessionID>fa3b60f27e91441e84c55a9a0095f075
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSessionID>ca718e1430474b5485a53aa5d0bea45e <sipSessionID>ca718e1430474b5485a53aa5d0bea45e
skipping to change at page 31, line 22 skipping to change at page 32, line 22
<start-time>2010-12-16T23:43:07Z</start-time> <start-time>2010-12-16T23:43:07Z</start-time>
<sipSessionID>ae10731ca50343a5aaae2dd0904a65de <sipSessionID>ae10731ca50343a5aaae2dd0904a65de
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSession>33c77aac7deb414cbc8c10f363fccb71 <sipSession>33c77aac7deb414cbc8c10f363fccb71
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSessionID>fd6932e9e5fc489fae2d5b3779723b7e <sipSessionID>fd6932e9e5fc489fae2d5b3779723b7e
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
</session> </session>
<participant <participant
participant_id="srfBElmCRp2QB23b7Mpk0w=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<nameID aor=sip:alice@atlanta.com> <nameID aor="sip:alice@atlanta.com">
<name xml:lang="it">Alice</name> <name xml:lang="it">Alice</name>
</nameID> </nameID>
</participant> </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
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<nameID aor=sip:Bob@biloxy.com> <nameID aor="sip:Bob@biloxy.com">
<name xml:lang="it">Bob</name> <name xml:lang="it">Bob</name>
</nameID> </nameID>
</participant> </participant>
<participant
participant_id="EiXGlc+4TruqqoDaNE76ag==">
<nameID aor="sip:Carol@example.com">
<name xml:lang="it">Carol</name>
</nameID>
</participant>
<stream stream_id="UAAMm5GRQKSCMVvLyl4rFw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
<participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time>
</participantsessionassoc>
<participantsessionassoc <participantsessionassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time> <associate-time>2010-12-16T23:41:07Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
<participantsessionassoc <participantsessionassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="zzlafnvvjlCHllaHF6mn8kkSS=="> session_id="zzlafnvvjlCHllaHF6mn8kkSS==">
<associate-time>2010-12-16T23:43:07Z</associate-time> <associate-time>2010-12-16T23:43:07Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
<participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
</participantstreamassoc>
<participant
participant_id="EiXGlc+4TruqqoDaNE76ag==">
<nameID aor=sip:Carol@example.com>
<name xml:lang="it">Carol</name>
</nameID>
</participant>
<participantsessionassoc <participantsessionassoc
participant_id="EiXGlc+4TruqqoDaNE76ag==" participant_id="EiXGlc+4TruqqoDaNE76ag=="
session_id="zzlafnvvjlCHllaHF6mn8kkSS=="> session_id="zzlafnvvjlCHllaHF6mn8kkSS==">
<associate-time>2010-12-16T23:43:07Z</associate-time> <associate-time>2010-12-16T23:43:07Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
<participantstreamassoc <participantstreamassoc
participant_id="srfBElmCRp2QB23b7Mpk0w==">
<send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
</participantstreamassoc>
<participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
</participantstreamassoc>
<participantstreamassoc
participant_id="EiXGlc+4TruqqoDaNE76ag=="> participant_id="EiXGlc+4TruqqoDaNE76ag==">
<send>UAAMm5GRQKSCMVvLyl4rFw==</send> <send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
</participantstreamassoc> </participantstreamassoc>
<stream id="UAAMm5GRQKSCMVvLyl4rFw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label>
</stream>
</recording> </recording>
4. Security Considerations 4. Security Considerations
There is no security consideration as it is informational callflow There is no security consideration as it is informational callflow
document. document.
5. IANA Considerations 5. IANA Considerations
This document has no IANA considerations This document has no IANA considerations
6. Acknowledgement 6. Acknowledgement
Thanks to Ofir Rath, Charles Eckel for their review comments. Thanks to Ofir Rath, Charles Eckel and Yaron Pdut for their review
comments.
7. References 7. References
7.1. Normative References 7.1. Normative References
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E. A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261, Schooler, "SIP: Session Initiation Protocol", RFC 3261,
June 2002. DOI 10.17487/RFC3261, June 2002,
<http://www.rfc-editor.org/info/rfc3261>.
7.2. Informative References 7.2. Informative References
[I-D.ietf-siprec-metadata] [I-D.ietf-siprec-metadata]
R, R., Ravindran, P., and P. Kyzivat, "Session Initiation R, R., Ravindran, P., and P. Kyzivat, "Session Initiation
Protocol (SIP) Recording Metadata", Protocol (SIP) Recording Metadata",
draft-ietf-siprec-metadata-17 (work in progress), draft-ietf-siprec-metadata-17 (work in progress),
February 2015. February 2015.
[RFC7245] Hutton, A., Portman, L., Jain, R., and K. Rehor, "An [RFC7245] Hutton, A., Ed., Portman, L., Ed., Jain, R., and K. Rehor,
Architecture for Media Recording Using the Session "An Architecture for Media Recording Using the Session
Initiation Protocol", RFC 7245, May 2014. Initiation Protocol", RFC 7245, DOI 10.17487/RFC7245,
May 2014, <http://www.rfc-editor.org/info/rfc7245>.
[RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, "A Session [RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, Ed., "A
Initiation Protocol (SIP) Event Package for Conference Session Initiation Protocol (SIP) Event Package for
State", RFC 4575, August 2006. Conference State", RFC 4575, DOI 10.17487/RFC4575,
August 2006, <http://www.rfc-editor.org/info/rfc4575>.
[RFC4353] Rosenberg, J., "A Framework for Conferencing with the [RFC4353] Rosenberg, J., "A Framework for Conferencing with the
Session Initiation Protocol (SIP)", RFC 4353, Session Initiation Protocol (SIP)", RFC 4353,
February 2006. DOI 10.17487/RFC4353, February 2006,
<http://www.rfc-editor.org/info/rfc4353>.
[RFC6230] Boulton, C., Melanchuk, T., and S. McGlashan, "Media [RFC6230] Boulton, C., Melanchuk, T., and S. McGlashan, "Media
Control Channel Framework", RFC 6230, May 2011. Control Channel Framework", RFC 6230, DOI 10.17487/
RFC6230, May 2011,
<http://www.rfc-editor.org/info/rfc6230>.
Authors' Addresses Authors' Addresses
Ram Mohan Ravindranath Ram Mohan Ravindranath
Cisco Systems, Inc. Cisco Systems, Inc.
Cessna Business Park, Cessna Business Park,
Kadabeesanahalli Village, Varthur Hobli, Kadabeesanahalli Village, Varthur Hobli,
Sarjapur-Marathahalli Outer Ring Road Sarjapur-Marathahalli Outer Ring Road
Bangalore, Karnataka 560103 Bangalore, Karnataka 560103
India India
 End of changes. 66 change blocks. 
250 lines changed or deleted 291 lines changed or added

This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/