draft-ietf-siprec-callflows-06.txt   draft-ietf-siprec-callflows-07.txt 
SIPREC Ram. Ravindranath SIPREC Ram. Ravindranath
Internet-Draft Cisco Systems, Inc. Internet-Draft Cisco Systems, Inc.
Intended status: Informational Parthasarathi. Ravindran Intended status: Informational Parthasarathi. Ravindran
Expires: August 2, 2016 Nokia Networks Expires: December 17, 2016 Nokia Networks
Paul. Kyzivat Paul. Kyzivat
Huawei Huawei
January 30, 2016 June 15, 2016
Session Initiation Protocol (SIP) Recording Call Flows Session Initiation Protocol (SIP) Recording Call Flows
draft-ietf-siprec-callflows-06 draft-ietf-siprec-callflows-07
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
these environments, all calls must be recorded for regulatory, organizations. In some of these environments, all calls must be
compliance, and consumer protection reasons. Recording of a session recorded for regulatory, compliance, and consumer protection reasons.
is typically performed by sending a copy of a media stream to a The recording of a session is typically performed by sending a copy
recording device. This document lists call flows that has snapshot of a media stream to a recording device. This document lists call
of metadata sent from a Session Recording Client to Session Recording flows with metadata snapshots sent from a Session Recording
Server. This is purely an informational document that is written to Client(SRC) to a Session Recording Server(SRS).
support the model defined in the metadata draft.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
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 August 2, 2016. This Internet-Draft will expire on December 17, 2016.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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 18 skipping to change at page 2, line 17
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Metadata XML Instances . . . . . . . . . . . . . . . . . . . 3 3. Metadata XML Instances . . . . . . . . . . . . . . . . . . . 3
3.1. Sample Call flow . . . . . . . . . . . . . . . . . . . . 3 3.1. Sample Call flow . . . . . . . . . . . . . . . . . . . . 3
3.2. Call Scenarios with SRC recording streams with out mixing 4 3.2. Call Scenarios with SRC recording streams without mixing 5
3.2.1. Example 1: Basic Call . . . . . . . . . . . . . . . . 4 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 . . . 18 3.3. Call Scenarios with SRC recording streams by mixing . . . 19
3.3.1. Example 1: Basic call with SRC mixing streams . . . . 18 3.3.1. Example 1: Basic call with SRC mixing streams . . . . 19
3.3.2. Example 2: Hold/resume with SRC recording by mixing 3.3.2. Example 2: Hold/resume with SRC recording by mixing
streams . . . . . . . . . . . . . . . . . . . . . . . 21 streams . . . . . . . . . . . . . . . . . . . . . . . 21
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 . . . . . . . . . . . . . . 24 participant to a session . . . . . . . . . . . . . . 24
3.3.4. Example 4: Call disconnect . . . . . . . . . . . . . 27 3.3.4. Example 4: Call disconnect . . . . . . . . . . . . . 27
3.4. Call scenarios with persistent RS between SRC and SRS . . 27 3.4. Call scenarios with persistent RS between SRC and SRS . . 27
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 . . . . . . . 27 with persistent RS between SRC and SRS . . . . . . . 27
3.5. Turrent-Case: Multiple CS into single RS with mixed 3.5. Turret-Case: Multiple CS into single RS with mixed stream 28
stream . . . . . . . . . . . . . . . . . . . . . . . . . 28
4. Security Considerations . . . . . . . . . . . . . . . . . . . 31 4. Security Considerations . . . . . . . . . . . . . . . . . . . 31
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31
6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 31 6. Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . 31
7. Informative References . . . . . . . . . . . . . . . . . . . 32 7. Informative References . . . . . . . . . . . . . . . . . . . 32
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33
1. Overview 1. Overview
[I-D.ietf-siprec-metadata] document focuses on the recording metadata Session recording is a critical requirement in many communications
which describes the communication session(CS). This document lists environments, such as call centers and financial trading
few examples and shows the snapshots of metadata sent from a Session organizations. In some of these environments, all calls must be
Recording Client (SRC) to Session Recording Server (SRS). For the recorded for regulatory, compliance, and consumer protection reasons.
sake of simplicity the entire Session Initiation Protocol (SIP) The recording of a session is typically performed by sending a copy
[RFC3261] messages are not shown at various points, instead only of a media stream to a recording device. [RFC7865] focuses on the
recording metadata which describes the Communication Session(CS).
This document lists few examples and shows the snapshots of metadata
sent from a Session Recording Client(SRC) to Session Recording Server
(SRS). For the sake of simplicity the entire Session Initiation
Protocol (SIP) [RFC3261] messages are not shown, instead only
snippets of the SIP and Session Description Protocol (SDP)[RFC4566] snippets of the SIP and Session Description Protocol (SDP)[RFC4566]
messages and the XML snapshot of metadata is shown. messages and the XML snapshot of metadata is shown.
2. Terminology 2. Terminology
The terms using in this document are defined in The terms using in this document are defined in [RFC7865] and
[I-D.ietf-siprec-metadata] and [RFC6341]. No new definitions are [RFC6341]. No new definitions are introduced in this document.
introduced in this document.
3. Metadata XML Instances 3. Metadata XML Instances
The following sub-sections has examples showing the metadata snapshot The following sub-sections has examples showing the metadata snapshot
sent from SRC to SRS. In all these use-cases, the SRC is a B2BUA. sent from SRC to SRS. In all these use-cases, the SRC is a B2BUA.
3.1. Sample Call flow 3.1. Sample Call flow
The following is a sample call flow that shows the SRC establishing a The following is a sample call flow that shows the SRC establishing a
Recording Session(RS) towards the SRS. The SRC in this example could Recording Session(RS) towards the SRS. The SRC in this example could
skipping to change at page 4, line 6 skipping to change at page 4, line 33
| ................................................... | | ................................................... |
| | | |
|====================================================>| |====================================================>|
|====================================================>| |====================================================>|
|(7) UPDATE/RE-INVITE (metadata update n-1) Fn-1 | |(7) UPDATE/RE-INVITE (metadata update n-1) Fn-1 |
|---------------------------------------------------->| |---------------------------------------------------->|
| 200 OK | | 200 OK |
|<----------------------------------------------------| |<----------------------------------------------------|
For the sake of simplicity, ACKs to RE-INVITES and BYEs are not For the sake of simplicity, ACKs to RE-INVITES and BYEs are not
shown. The subsequent sections describes the snapshot of metadata shown. The subsequent sections describe the snapshot of metadata
sent from SRC to SRS for each of the above transactions (F1 ... Fn- sent from SRC to SRS for each of the above transactions (F1 ... Fn-
1). There may be multiple UPDATES/RE-INVITES mid call to indicates 1). There may be multiple UPDATES/RE-INVITES mid call to indicate
snapshots of different CS changes. Depending on the architecture snapshots of different CS changes. Depending on the architecture
described in section 3 of [RFC7245] an SRC may be a endpoint or B2BUA described in section 3 of [RFC7245] an SRC may be a endpoint or B2BUA
or as part of MEDIACTRL or Conference Focus. The subsequent sections or as part of MEDIACTRL or Conference focus. The subsequent sections
in this document tries to list some example metadata snapshots for in this document try to list some example metadata snapshots for
three major categories. three major categories.
o SRC recording streams unmixed to SRS. This includes cases where o SRC recording streams unmixed to SRS. This includes cases where
SRC is SIP UA or B2BUA. SRC is SIP UA or B2BUA.
o SRC recording mixed streams to SRS. This includes cases where SRC o SRC recording mixed streams to SRS. This includes cases where SRC
is part of SIP conference model explained in [RFC4353]. is part of SIP conference model explained in [RFC4353].
o SRC having a persistent RS with SRS. o SRC having a persistent RS with SRS.
o Special flows like Turrent flows. o Special flows like Turret flows.
Note that only those examples for which metadata changes are listed Note that only those examples for which metadata changes are listed
in each category. For some of the call flows the snapshots may be in each category. For some of the call flows the snapshots may be
same (like in case of endpoint or B2BUA acting as SRC) and the same same (like in case of endpoint or B2BUA acting as SRC) and the same
is mentioned in the text preceding the example. is mentioned in the text preceding the example.
3.2. Call Scenarios with SRC recording streams with out mixing 3.2. Call Scenarios with SRC recording streams without mixing
This section describes few example flows where SRC can be a SIP-UA or This section describes example flows where SRC can be a SIP-UA or
B2BUA as described in section 3 of [RFC7245]. The SRS here can be a B2BUA as described in section 3 of [RFC7245]. The SRS here can be a
SIP-UA or an entity part of MEDIACTRL architecture described in SIP-UA or an entity part of MEDIACTRL architecture described in
[RFC6230]. section 3 of [RFC7245].
3.2.1. Example 1: Basic Call 3.2.1. Example 1: Basic Call
Basic call between two participants Alice and Bob who are part of the Basic call between two participants Alice and Bob who are part of the
same CS. In this use case each participant sends two media same CS. In this use case each participant sends two media
streams(audio and video). Media streams sent by each participant are streams(audio and video). Media streams sent by each participant are
received by the other participant in this use-case. In this example received by the other participant in this use-case. In this example
the SRC is a B2BUA in the path between Alice and Bob as described in the SRC is a B2BUA in the path between Alice and Bob as described in
section 3.1.1 of [RFC7245]. Below is the initial snapshot sent by section 3.1.1 of [RFC7245]. Below is the initial snapshot sent by
SRC in the INVITE to SRS. This snapshot has the complete metadata. SRC in the INVITE to SRS. This snapshot has the complete metadata.
For the sake of simplicity only snippets of SIP/SDP are shown. The For the sake of simplicity only snippets of SIP/SDP are shown. In
SRCs records the streams of each participant to SRS with out mixing this example the SRCs records the streams of each participant to SRS
in this example. without mixing.
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
skipping to change at page 7, line 46 skipping to change at page 8, line 27
<send>8zc6e0lYTlWIINA6GR+3ag==</send> <send>8zc6e0lYTlWIINA6GR+3ag==</send>
<send>EiXGlc+4TruqqoDaNE76ag==</send> <send>EiXGlc+4TruqqoDaNE76ag==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc> </participantstreamassoc>
</recording> </recording>
3.2.2. Example 2: Hold/resume 3.2.2. Example 2: Hold/resume
A call between two participants Alice and Bob is established and a RS A call between two participants Alice and Bob is established and a RS
is created for recording as in example1. One of the participants Bob is created for recording as in example 1. One of the participants
puts Alice hold and then resumes as part of the same CS. The send Bob puts Alice hold and then resumes as part of the same CS. The
and recv XML elements of a participantstreamassoc XML element is used 'send' and 'recv' XML elements of a 'participantstreamassoc' XML
to indicate whether a participant is contributing to a media stream element is used to indicate whether a participant is contributing to
or not. SRC sends a snapshot with only the changed XML elements. a media stream or not. SRC sends a snapshot with only the changed
XML elements.
During hold During hold
F2 mid call RE-INVITE SRC-------------------->SRS F2 mid call 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 9, line 23 skipping to change at page 10, line 7
</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>
</participantstreamassoc> </participantstreamassoc>
</recording> </recording>
In the above snippet, Alice with participant_id In the above snippet, Alice with participant_id
srfBElmCRp2QB23b7Mpk0w== only receives media streams and does not srfBElmCRp2QB23b7Mpk0w== only receives media streams and does not
send any media. The same is indicated by the absence of send XML send any media. The same is indicated by the absence of 'send' XML
element. Bob(participant_id zSfPoSvdSDCmU3A3TRDxAw==) on the other element. Bob(participant_id zSfPoSvdSDCmU3A3TRDxAw==) on the other
hand would be sending media but does not receive any media from Alice hand would be sending media but does not receive any media from Alice
and so recv XML element is absent in this instance. and so 'recv' XML element is absent in this instance.
During resume During resume
The snapshot now has send and recv XML elements for both Alice and The snapshot now has 'send' and 'recv' XML elements for both Alice
Bob indicating that both are receiving and sending media. and Bob indicating that both are receiving and sending media.
F3 mid call RE-INVITE SRC-------------------->SRS F3 mid call 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
Session-ID: ab30317f1a784dc48ff824d0d3715d86 Session-ID: ab30317f1a784dc48ff824d0d3715d86
;remote=f81d4fae7dec11d0a76500a0c91e6bf6 ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
skipping to change at page 10, line 38 skipping to change at page 11, line 20
.... ....
--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:1'> <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>EiXGlc+4TruqqoDaNE76ag==</recv>
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<send>UAAMm5GRQKSCMVvLyl4rFw==</send> <send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>8zc6e0lYTlWIINA6GR+3ag==</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>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
</participantstreamassoc> </participantstreamassoc>
</recording> </recording>
skipping to change at page 11, line 20 skipping to change at page 11, line 49
the participants(Alice). After the transfer is completed, SRC sends the participants(Alice). After the transfer is completed, SRC sends
a snapshot of the participant changes to SRS. In this transfer a snapshot of the participant changes to SRS. In this transfer
scenario, Alice drops out after transfer is completed and Bob and scenario, Alice drops out after transfer is completed and Bob and
Carol gets connected and recording of media between Bob and Carol is Carol gets connected and recording of media between Bob and Carol is
done by SRC. There are two flows that can happen here as described done by SRC. There are two flows that can happen here as described
below. below.
Transfer with in the same session - (.e.g. RE-INVITE based Transfer with in the same session - (.e.g. RE-INVITE based
transfer). Participant Alice drops out and Carol is added to the transfer). Participant Alice drops out and Carol is added to the
same session. No change to session/group element. A same session. No change to session/group element. A
participantsessassoc element indicating that Alice has disassociated 'participantsessassoc' XML element indicating that Alice has
from the CS will be present in the snapshot. A new participant XML disassociated from the CS will be present in the snapshot. A new
element representing Carol with mapping to the same RS SDP stream 'participant' XML element representing Carol with mapping to the same
used for mapping earlier Alice's stream is sent in the snapshot. A RS SDP stream used for mapping earlier Alice's stream is sent in the
new sipSessionID XML element that has UUID tuples which corresponds snapshot. A new 'sipSessionID' XML element that has UUID tuples
to Bob and Carol is sent in the snapshot from SRC to SRS. Note that which corresponds to Bob and Carol is sent in the snapshot from SRC
one half of the session ID that corresponds to Bob remains same. to SRS. Note that one half of the session ID that corresponds to Bob
remains same.
mid call RE-INVITE SRC-------------------->SRS mid call 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
Session-ID: ab30317f1a784dc48ff824d0d3715d86 Session-ID: ab30317f1a784dc48ff824d0d3715d86
;remote=f81d4fae7dec11d0a76500a0c91e6bf6 ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
skipping to change at page 12, line 35 skipping to change at page 13, line 19
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<recording xmlns='urn:ietf:params:xml:ns:recording:1'> <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>
<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> </participantsessionassoc>
<participantsessionassoc <participantsessionassoc
participant_id="srfBElmCRp2QB23b7Mpk0w==" participant_id="srfBElmCRp2QB23b7Mpk0w=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disassociate-time>2013-12-16T23:41:07Z</disassociate-time> <disassociate-time>2013-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </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>
skipping to change at page 13, line 23 skipping to change at page 14, line 10
<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>
Transfer with new session - (.e.g. REFER based transfer). In this Transfer with new session - (.e.g. REFER based transfer). In this
case a new session (CS) is created and shall be part of same CS-group case a new session (CS) is created and shall be part of same CS-group
(done by SRC). (done by SRC).
SRC first sends an optional snapshot indicating disassociation of SRC first sends an optional snapshot indicating disassociation of
participant from the old CS. Please note this is a optional message. participant from the old CS. Please note this is an optional
An SRC may choose to just send a INVITE with a new session element to message. An SRC may choose to just send an INVITE with a new
implicitly indicate that the participants are now part of a different 'session' XML element to implicitly indicate that the participants
CS with out sending disassociation from the old CS. The SRC in this are now part of a different CS without sending disassociation from
example uses the same RS. In case the SRC wishes to use a new RS, it the old CS. The SRC in this example uses the same RS. In case the
will tear down the current RS using normal SIP procedures (BYE) with SRC wishes to use a new RS, it will tear down the current RS using
metadata as in example 4. normal SIP procedures (BYE) with metadata as in example 4.
mid call RE-INVITE SRC-------------------->SRS mid call 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
Session-ID: ab30317f1a784dc48ff824d0d3715d86 Session-ID: ab30317f1a784dc48ff824d0d3715d86
;remote=f81d4fae7dec11d0a76500a0c91e6bf6 ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
skipping to change at page 14, line 34 skipping to change at page 15, line 19
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:1'> <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
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disasociate-time>2010-12-16T23:41:07Z</disassociate-time> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </participantsessionassoc>
</recording> </recording>
In the above snapshot, the participantsessionassoc element is In the above snapshot, the 'participantsessionassoc' XML element is
optional as indicating session XML element with a stop-time optional as indicating 'session' XML element with a 'stop-time'
implicitly means that all the participants associated with that implicitly means that all the participants associated with that
session have been disassociated. session have been disassociated.
SRC sends another snapshot to indicate the participant change (due to SRC sends another snapshot to indicate the participant change (due to
REFER) and new session information after transfer. In this example REFER) and new session information after transfer. In this example
it is assumed SRC uses the same RS to continue recording the call. it is assumed SRC uses the same RS to continue recording the call.
The sipSessionID XML element in metadata snapshot now indicates Alice The 'sipSessionID' XML element in metadata snapshot now indicates Bob
and Carol in the (local, remote) uuid pair. and Carol in the (local, remote) uuid pair.
mid call RE-INVITE SRC-------------------->SRS mid call 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
Session-ID: ab30317f1a784dc48ff824d0d3715d86 Session-ID: ab30317f1a784dc48ff824d0d3715d86
;remote=f81d4fae7dec11d0a76500a0c91e6bf6 ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
CSeq: 101 INVITE CSeq: 101 INVITE
Max-Forwards: 70 Max-Forwards: 70
Require: siprec Require: siprec
skipping to change at page 16, line 19 skipping to change at page 16, line 51
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:1'> <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>
<sipSessionID>3363127f0d084c10876dddd4f8e5eeb9 <sipSessionID>3363127f0d084c10876dddd4f8e5eeb9
;remote=2272bb7e70fe41dba0025ae9a26d54cf</sipSessionID> ;remote=2272bb7e70fe41dba0025ae9a26d54cf</sipSessionID>
<start-time>2010-12-16T23:41:07Z</start-time>
</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
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<nameID aor="sip:carol@example.com"/> <nameID aor="sip:carol@example.com"/>
</participant> </participant>
<stream stream_id="60JAJm9UTvik0Ltlih/Gzw==" <stream stream_id="60JAJm9UTvik0Ltlih/Gzw=="
skipping to change at page 18, line 17 skipping to change at page 18, line 44
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:1'> <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
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
skipping to change at page 18, line 30 skipping to change at page 19, line 15
</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
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disasociate-time>2010-12-16T23:41:07Z</disassociate-time> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </participantsessionassoc>
</recording> </recording>
3.3. Call Scenarios with SRC recording streams by mixing 3.3. Call Scenarios with SRC recording streams by mixing
The section describes a few example call flows where SRC may be part The section describes a few example call flows where SRC may be part
of conference model either as Focus or a participant in conference as of conference model either as focus or a participant in conference as
explained in section 3.1.5 of [RFC7245]. The SRS here can be a SIP explained in section 3.1.5 of [RFC7245]. The SRS here can be a SIP
UA or an entity part of MEDIACTRL architecture. Note that the UA or an entity part of MEDIACTRL architecture. Note that the
disconnect case is not shown since the metadata snapshot will be same disconnect case is not shown since the metadata snapshot will be same
as for a non-mixing case. 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 call into a conference server CS. In this use case each participant calls into a conference server
(say, an MCU) to attend one of many conferences hosted on or managed (say, an MCU) to attend one of many conferences hosted on or managed
by that servers. Media streams sent by each participant is received by that server. Media streams sent by each participant are received
by all the other participants in the conference. Below is the by all the other participants in the conference. Below is the
initial snapshot sent by SRC in the INVITE to SRS that has the initial snapshot sent by SRC in the INVITE to SRS that has the
complete metadata. For the sake of simplicity only snippets of SIP/ complete metadata. For the sake of simplicity only snippets of SIP/
SDP are shown. The SRC records the streams of each participant to SDP are shown. The SRC records the streams of each participant to
SRS by mixing in this example. The SRC here is part of conference SRS by mixing in this example. The SRC here is part of conference
model described in section 3 of [RFC7245] as a Focus and does mixing. model described in section 3 of [RFC7245] as a focus and does mixing.
The SRC here is not a participant by itself and hence it does not The SRC here is not a participant by itself and hence it does not
contribute to media. contribute to media.
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
skipping to change at page 19, line 42 skipping to change at page 20, line 27
... ...
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:1'> <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>
<sipSessionID>fa3b60f27e91441e84c55a9a0095f075 <sipSessionID>fa3b60f27e91441e84c55a9a0095f075
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSessionID>ca718e1430474b5485a53aa5d0bea45e <sipSessionID>ca718e1430474b5485a53aa5d0bea45e
;remote=68caf509b9284b7ea45f84a049febf0a</sipSessionID> ;remote=68caf509b9284b7ea45f84a049febf0a</sipSessionID>
<start-time>2010-12-16T23:41:07Z</start-time>
</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
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<nameID aor="sip:bob@biloxy.com"> <nameID aor="sip:bob@biloxy.com">
skipping to change at page 20, line 27 skipping to change at page 21, line 11
</participant> </participant>
<stream stream_id="i1Pz3to5hGk8fuXl+PbwCw==" <stream stream_id="i1Pz3to5hGk8fuXl+PbwCw=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label> <label>96</label>
</stream> </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>
<participantsessionassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time>
</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>
<participantsessionassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ==">
<associate-time>2010-12-16T23:41:07Z</associate-time>
</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>
</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. In this use-case, the SIP session between Bob and conference focus. In this use-case,
since Alice and Bob calls into the conference these Session-ID's are since Alice and Bob calls into the conference these Session-ID's are
different. 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 This is the continuation of Example 1: Basic call with SRC mixing
and a RS is created for recording as in example 5. This is the streams. Given a call between two participants Alice and Bob is
continuation of above use-case. One of the participants Bob puts established and a RS is created for recording as in example 5. One
Alice hold and then resumes as part of the same CS. The send and of the participants, Bob puts Alice hold and then resumes as part of
recv XML elements of a participant is used to indicate whether a the same CS. The 'send' and 'recv' XML elements of a 'participant'
participant is contributing or not to a media stream. The metadata XML element are used to indicate whether a participant is
snapshot looks as below: contributing or not to a media stream. The metadata snapshot looks
as below:
During hold During hold
mid call hold RE-INVITE SRC --------------> SRS mid call hold 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
Session-ID: a358d2b81a444a8c8fb05950cef331e7 Session-ID: a358d2b81a444a8c8fb05950cef331e7
skipping to change at page 23, line 51 skipping to change at page 24, line 4
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<label>96</label> <label>96</label>
</stream> </stream>
<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>
<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>
</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. Below is a snapshot sent from SRC to SRC in
SRC in these case. Note the SRC here can be a focus or a participant this case. Note the SRC here can be a focus or a participant in the
in the conference. In case where the SRC is a participant it may conference. In the case where the SRC is a participant it may learn
learn the information required for metadata by subscribing to the information required for metadata by subscribing to conference
conference event package [RFC4575]. Assume Alice and Bob were in the event package [RFC4575]. Assume Alice and Bob were in the conference
conference and a third participant Carol joins, then SRC sends the and a third participant Carol joins, then SRC sends the below
below snapshot with the indication of new participant. snapshot with the indication of new participant.
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
Session-ID: a358d2b81a444a8c8fb05950cef331e7 Session-ID: a358d2b81a444a8c8fb05950cef331e7
;remote=f81d4fae7dec11d0a76500a0c91e6bf6 ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
skipping to change at page 25, line 25 skipping to change at page 25, line 27
<participant <participant
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<nameID aor="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> </participantsessionassoc>
<participantstreamassoc <participantstreamassoc
participant_id="Atnm1ZRnOC6Pm5MApkrDzQ=="> participant_id="Atnm1ZRnOC6Pm5MApkrDzQ==">
<send>i1Pz3to5hGk8fuXl+PbwCw==</send> <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
<recv>i1Pz3to5hGk8fuXl+PbwCw==</recv> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
</participantstreamassoc> </participantstreamassoc>
</recording> </recording>
Assume Alice drops after some time from the conference. SRC Given Alice drops after some time from the conference. SRC generates
generates a new snapshot showing Alice disassociating from the a new snapshot showing Alice disassociating from the session.
session
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
Session-ID: a358d2b81a444a8c8fb05950cef331e7 Session-ID: a358d2b81a444a8c8fb05950cef331e7
;remote=f81d4fae7dec11d0a76500a0c91e6bf6 ;remote=f81d4fae7dec11d0a76500a0c91e6bf6
CSeq: 101 INVITE CSeq: 101 INVITE
skipping to change at page 26, line 46 skipping to change at page 26, line 48
<datamode>partial</datamode> <datamode>partial</datamode>
<session session_id="hVpd7YQgRW2nD22h7q60JQ=="> <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
<sipSessionID>ca718e1430474b5485a53aa5d0bea45e <sipSessionID>ca718e1430474b5485a53aa5d0bea45e
;remote=68caf509b9284b7ea45f84a049febf0a</sipSessionID> ;remote=68caf509b9284b7ea45f84a049febf0a</sipSessionID>
<sipSessionID>497c0f13929643b4a16858e2a3885edc <sipSessionID>497c0f13929643b4a16858e2a3885edc
;remote=0e8a82bedda74f57be4a4a4da54167c4</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> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </participantsessionassoc>
</recording> </recording>
3.3.4. Example 4: Call disconnect 3.3.4. Example 4: Call disconnect
When a CS is disconnected, SRC sends BYE with a snapshot of metadata When a CS is disconnected, SRC sends BYE with a snapshot of metadata
having session stop-time and participant dis-associate times. The having session stop time and participant dis-associate times. The
snapshot looks same as listed in section 3.2.4 snapshot looks same as listed in section 3.2.4
3.4. Call scenarios with persistent RS between SRC and SRS 3.4. Call scenarios with persistent RS between SRC and SRS
The section shows the snapshots of metadata for the cases there a The section shows the snapshots of metadata for the cases where a
persistent RS exists between SRC and SRS. An SRC here may be SIP UA persistent RS exists between SRC and SRS. An SRC here may be SIP UA
or a B2BUA or may be part of Conference model either as Focus or a or a B2BUA or may be part of Conference model either as focus or a
participant in a conference. The SRS here could be a SIP UA or an participant in a conference. The SRS here could be a SIP UA or an
entity part of MEDIACTRL architecture. Except disconnect case, the entity part of MEDIACTRL architecture. Except in the disconnect
snapshot remains same as mentioned in previous sections. case, the snapshot remains same as mentioned in previous sections.
3.4.1. Example 1: Metadata snapshot during CS disconnect with 3.4.1. Example 1: Metadata snapshot during CS disconnect with
persistent RS between SRC and SRS persistent RS between SRC and SRS
RE-INVITE sent from SRC -----------> SRS RE-INVITE sent from SRC -----------> SRS
INVITE sip:2001@example.com SIP/2.0 INVITE sip:2001@example.com SIP/2.0
Via: SIP/2.0/UDP src.example.com;branch=z9hG4bK47c8eb30 Via: SIP/2.0/UDP src.example.com;branch=z9hG4bK47c8eb30
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>
skipping to change at page 28, line 28 skipping to change at page 28, line 28
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:1'> <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
participant_id="zSfPoSvdSDCmU3A3TRDxAw==" participant_id="zSfPoSvdSDCmU3A3TRDxAw=="
session_id="hVpd7YQgRW2nD22h7q60JQ=="> session_id="hVpd7YQgRW2nD22h7q60JQ==">
<disasociate-time>2010-12-16T23:41:07Z</disassociate-time> <disassociate-time>2010-12-16T23:41:07Z</disassociate-time>
</participantsessionassoc> </participantsessionassoc>
</recording> </recording>
3.5. Turrent-Case: Multiple CS into single RS with mixed stream 3.5. Turret-Case: Multiple CS into single RS with mixed stream
In trading floor environments, in order to minimize storage and In trading floor environments, in order to minimize storage and
recording system resources, it may be preferable to mix multiple recording system resources, it may be preferable to mix multiple
concurrent calls (each call is one CS) on different handsets/ concurrent calls (each call is one CS) on different handsets/
speakers on the same turret into a single RS. This would means media speakers on the same turret into a single RS. This would means media
in each CS is mixed and recorded as part of single media stream and in each CS is mixed and recorded as part of single media stream and
multiple such CSs are recording in one RSfrom a SRC to SRS. multiple such CSs are recording in one RSfrom a SRC to SRS.
Lets take a example where there are two CS[CS1 and CS2]. Assume Taking an example where there are two CS [CS1 and CS2]. Assume
mixing is done in each of these CS and both these CS are recorded as mixing is done in each of these CS and both these CS are recorded as
part of single RS from a single SRC which is part of both the CS. part of single RS from a single SRC which is part of both the CS.
There are three possibilities here: There are three possibilities here:
o CS1 and CS2 uses the same Focus for fixing and that Focus is also o CS1 and CS2 uses the same focus for fixing and that focus is also
acting as SRC in each of the CS. acting as SRC in each of the CS.
o In of the CS(say CS1), SRC is Focus and in the other CS(say CS2), o One of the CS (e.g. CS1), SRC is Focus and the other CS (e.g.
SRC is just one of the participant of the conference. CS2), SRC is just one of the participant of the conference.
o In both CS1 and CS2, SRC is just a participant of conference. o In both CS1 and CS2, SRC is just a participant of conference.
The following example shows the first possibility where CS1 and CS2 The following example shows the first possibility where CS1 and CS2
uses the same Focus for fixing and that Focus is also acting as SRC uses the same focus for fixing and that focus is also acting as SRC
in each of the CS. in each of the CS.
snapshot of metadata INVITE SRC --------------> SRS snapshot of metadata 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
skipping to change at page 29, line 47 skipping to change at page 29, line 47
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:1'> <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>
<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=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSessionID>497c0f13929643b4a16858e2a3885edc <sipSessionID>497c0f13929643b4a16858e2a3885edc
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
</session>
<session session_id="zzlafnvvjlCHllaHF6mn8kkSS==">
<group-ref>7+OTCyoxTmqmqyA/1weDAg==</group-ref> <group-ref>7+OTCyoxTmqmqyA/1weDAg==</group-ref>
<start-time>2010-12-16T23:43:07Z</start-time> <start-time>2010-12-16T23:41:07Z</start-time>
</session>
<session session_id="e6370VVGEeWAG6886p18uA==">
<sipSessionID>ae10731ca50343a5aaae2dd0904a65de <sipSessionID>ae10731ca50343a5aaae2dd0904a65de
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSession>33c77aac7deb414cbc8c10f363fccb71 <sipSessionID>33c77aac7deb414cbc8c10f363fccb71
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<sipSessionID>fd6932e9e5fc489fae2d5b3779723b7e <sipSessionID>fd6932e9e5fc489fae2d5b3779723b7e
;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID> ;remote=a358d2b81a444a8c8fb05950cef331e7</sipSessionID>
<group-ref>7+OTCyoxTmqmqyA/1weDAg==</group-ref>
<start-time>2010-12-16T23:43:07Z</start-time>
</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
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
<nameID aor="sip:Bob@biloxy.com"> <nameID aor="sip:Bob@biloxy.com">
skipping to change at page 31, line 6 skipping to change at page 31, line 6
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="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="e6370VVGEeWAG6886p18uA==">
<associate-time>2010-12-16T23:43:07Z</associate-time> <associate-time>2010-12-16T23:43:07Z</associate-time>
</participantsessionassoc> </participantsessionassoc>
<participantsessionassoc <participantsessionassoc
participant_id="EiXGlc+4TruqqoDaNE76ag==" participant_id="EiXGlc+4TruqqoDaNE76ag=="
session_id="zzlafnvvjlCHllaHF6mn8kkSS=="> session_id="e6370VVGEeWAG6886p18uA==">
<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=="> participant_id="srfBElmCRp2QB23b7Mpk0w==">
<send>UAAMm5GRQKSCMVvLyl4rFw==</send> <send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
</participantstreamassoc> </participantstreamassoc>
<participantstreamassoc <participantstreamassoc
participant_id="zSfPoSvdSDCmU3A3TRDxAw=="> participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
skipping to change at page 31, line 34 skipping to change at page 31, line 34
</participantstreamassoc> </participantstreamassoc>
<participantstreamassoc <participantstreamassoc
participant_id="EiXGlc+4TruqqoDaNE76ag=="> participant_id="EiXGlc+4TruqqoDaNE76ag==">
<send>UAAMm5GRQKSCMVvLyl4rFw==</send> <send>UAAMm5GRQKSCMVvLyl4rFw==</send>
<recv>UAAMm5GRQKSCMVvLyl4rFw==</recv> <recv>UAAMm5GRQKSCMVvLyl4rFw==</recv>
</participantstreamassoc> </participantstreamassoc>
</recording> </recording>
4. Security Considerations 4. Security Considerations
Security considerations mentioned in [I-D.ietf-siprec-metadata] and Security considerations mentioned in [RFC7865] and [RFC7866] has to
[I-D.ietf-siprec-protocol] has to be followed by SRC and SRS for be followed by SRC and SRS for setting up RS SIP dialog and sending
setting up RS SIP dialog and sending metadata. metadata.
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 and Yaron Pdut for their review Thanks to Ofir Rath, Charles Eckel, Yaron Pdut, Dmitry Andreyev and
comments. Charles Armitage for their review comments.
7. Informative References 7. Informative References
[I-D.ietf-siprec-metadata] [RFC7865] Ravindranath, R., Ravindran, P., and P. Kyzivat, "Session
R, R., Ravindran, P., and P. Kyzivat, "Session Initiation Initiation Protocol (SIP) Recording Metadata", RFC 7865,
Protocol (SIP) Recording Metadata", draft-ietf-siprec- DOI 10.17487/RFC7865, May 2016,
metadata-18 (work in progress), August 2015. <http://www.rfc-editor.org/info/rfc7865>.
[RFC7866] Portman, L., Lum, H., Ed., Eckel, C., Johnston, A., and A.
Hutton, "Session Recording Protocol", RFC 7866,
DOI 10.17487/RFC7866, May 2016,
<http://www.rfc-editor.org/info/rfc7866>.
[RFC7245] Hutton, A., Ed., Portman, L., Ed., Jain, R., and K. Rehor, [RFC7245] Hutton, A., Ed., Portman, L., Ed., Jain, R., and K. Rehor,
"An Architecture for Media Recording Using the Session "An Architecture for Media Recording Using the Session
Initiation Protocol", RFC 7245, DOI 10.17487/RFC7245, May Initiation Protocol", RFC 7245, DOI 10.17487/RFC7245, May
2014, <http://www.rfc-editor.org/info/rfc7245>. 2014, <http://www.rfc-editor.org/info/rfc7245>.
[RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, Ed., "A [RFC4575] Rosenberg, J., Schulzrinne, H., and O. Levin, Ed., "A
Session Initiation Protocol (SIP) Event Package for Session Initiation Protocol (SIP) Event Package for
Conference State", RFC 4575, DOI 10.17487/RFC4575, August Conference State", RFC 4575, DOI 10.17487/RFC4575, August
2006, <http://www.rfc-editor.org/info/rfc4575>. 2006, <http://www.rfc-editor.org/info/rfc4575>.
skipping to change at page 32, line 47 skipping to change at page 33, line 5
[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,
DOI 10.17487/RFC3261, June 2002, DOI 10.17487/RFC3261, June 2002,
<http://www.rfc-editor.org/info/rfc3261>. <http://www.rfc-editor.org/info/rfc3261>.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, DOI 10.17487/RFC4566, Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
July 2006, <http://www.rfc-editor.org/info/rfc4566>. July 2006, <http://www.rfc-editor.org/info/rfc4566>.
[I-D.ietf-siprec-protocol]
Portman, L., Lum, H., Eckel, C., Johnston, A., and A.
Hutton, "Session Recording Protocol", draft-ietf-siprec-
protocol-18 (work in progress), September 2015.
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. 77 change blocks. 
142 lines changed or deleted 148 lines changed or added

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