Re: [siprec] CS hold/resume clarification in protocol draft

"Ram Mohan R (rmohanr)" <rmohanr@cisco.com> Fri, 10 May 2013 11:12 UTC

Return-Path: <rmohanr@cisco.com>
X-Original-To: siprec@ietfa.amsl.com
Delivered-To: siprec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 17DC721F8FED for <siprec@ietfa.amsl.com>; Fri, 10 May 2013 04:12:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.099
X-Spam-Level:
X-Spam-Status: No, score=-9.099 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_15=0.6, J_CHICKENPOX_18=0.6, J_CHICKENPOX_54=0.6, RCVD_IN_DNSWL_HI=-8]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 5eSMMQShKtok for <siprec@ietfa.amsl.com>; Fri, 10 May 2013 04:12:41 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) by ietfa.amsl.com (Postfix) with ESMTP id EC65E21F8F25 for <siprec@ietf.org>; Fri, 10 May 2013 04:12:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=15599; q=dns/txt; s=iport; t=1368184361; x=1369393961; h=from:to:subject:date:message-id:in-reply-to:content-id: content-transfer-encoding:mime-version; bh=vOnxxH7yE7GGIbwH9xd21YRl3/tiFxQ0uhH7O027e7Y=; b=KskYX5swJaGzjKz7xEgoIlCHTmt/uCnPrklACybx7H+Yr//7qYXNunJ8 NusgjxKiIaijZZlIJNDfK0mJ5blogZnKzI0UB0KVwzUVp9RDzFYTsmRNg 4mB1GrNf0n6BHtyAMQht4+eWIoGVjBfF5e7eTLXvJ6IfO3ZlI+JZAlk5e 8=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AhQFABfVjFGtJXG8/2dsb2JhbABSgwc3wAx/Fm0Hgh8BAQEDAQEBASQTLgYQBwYBCBEDAQEBAQoUCSgGCxQJCAIEEwiHcgMJBgydb5dwDYgyjFKBLnUCBjICBIJuYQOVSIMKim2FIoMPgWkGHho
X-IronPort-AV: E=Sophos;i="4.87,647,1363132800"; d="scan'208";a="208783230"
Received: from rcdn-core2-1.cisco.com ([173.37.113.188]) by rcdn-iport-5.cisco.com with ESMTP; 10 May 2013 11:12:40 +0000
Received: from xhc-rcd-x14.cisco.com (xhc-rcd-x14.cisco.com [173.37.183.88]) by rcdn-core2-1.cisco.com (8.14.5/8.14.5) with ESMTP id r4ABCetZ025696 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL) for <siprec@ietf.org>; Fri, 10 May 2013 11:12:40 GMT
Received: from xmb-aln-x05.cisco.com ([169.254.11.52]) by xhc-rcd-x14.cisco.com ([173.37.183.88]) with mapi id 14.02.0318.004; Fri, 10 May 2013 06:12:39 -0500
From: "Ram Mohan R (rmohanr)" <rmohanr@cisco.com>
To: "siprec@ietf.org" <siprec@ietf.org>
Thread-Topic: [siprec] CS hold/resume clarification in protocol draft
Thread-Index: AQHOTW9Idkikm4vM2U6dYsAzh2L9ow==
Date: Fri, 10 May 2013 11:12:38 +0000
Message-ID: <E92E67B176B8B64D8D3A8F5E44E9D8F41EBD0799@xmb-aln-x05.cisco.com>
In-Reply-To: <518C5D53.30101@alum.mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.3.2.130206
x-originating-ip: [72.163.191.57]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E3A32ACD3012A04FA93DCA4D21558A65@emea.cisco.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [siprec] CS hold/resume clarification in protocol draft
X-BeenThere: siprec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: SIP Recording Working Group Discussion List <siprec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/siprec>, <mailto:siprec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/siprec>
List-Post: <mailto:siprec@ietf.org>
List-Help: <mailto:siprec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/siprec>, <mailto:siprec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 10 May 2013 11:12:46 -0000

Let me know if others have any concern with this proposal before 5/17.

If no concern I will go ahead and update the metadata draft with text and
call-flow draft with examples to have the below notation for pause/resume
and CS hold/CS resume indication.

Regards,
Ram

> On 10/05/13 8:07 AM, "Paul Kyzivat" <pkyzivat@alum.mit.edu> wrote:

>WFM
>
>On 5/9/13 2:30 AM, Ram Mohan R (rmohanr) wrote:
>> Hi Charles,
>>
>> Sorry for delay. Please see inline
>>
>>> On 04/05/13 10:09 AM, "Charles Eckel (eckelcu)" <eckelcu@cisco.com>
>>> wrote:
>>
>>> Hi Ram,
>>>
>>> My thinking on this is that we should use changing of the direction of
>>> media descriptions in the RS from sendonly to inactive and vice versa
>>>to
>>> indicate stopping/starting the recording of the associated media stream
>>> as a whole. This does not imply anything about the state of the media
>>>in
>>> the CS.
>>
>> I gave some thought about this and I tend to agree with you that we
>>could
>> use the SDP direction attribute  of RS to indicate stop/re-start the
>> recording of media represented by that m-line. Now how an SRC decides to
>> start/stop should be left outside the scope of SIPREC and may be
>>dictated
>> by a policy.
>>
>>> A hold/resume of the CS could result in the SRC deciding to stop the
>>> recording, but this is not necessarily the case. The SRC could let the
>>> recording continue, and indicate in XML which participants in the CS
>>>are
>>> actively contributing media.
>>
>> To represent hold/resume or any other change in CS media, we could still
>> do with the existing metadata XML. We could use the <send> and <recv>
>>XML
>> elements of a <participant> to indicate whether a participant is sending
>> media/not sending  a particular media stream whose properties are
>> represented by <stream> element. Note with this we only convey if a
>> participant is sending/not sending media but an SRC still cannot convey
>> why a CS participant is not sending media(like hold e.t.c). I don't
>>think
>> an SRC can really know this, all it can leo is by looking at CS
>>signaling
>> SDP and learn the direction attributes of media and send a snapshot
>> metadata which has the information on participant sending/not sending a
>> particular media stream.
>>
>> For example, in your below case for a two party call if one participant
>> Alice puts the call on hold  by sending a SDP with a=sendonly and Bob
>> responds with a=recvonly then a snapshot of metadata at that instance
>>from
>> SRC to SRS would look as below. Assume here a snapshot was sent
>>initially
>> with both participants having <send> to the two streams:
>>
>> Snapshot sent from SRC to SRS after initial RS setup.
>>
>> F1  INVITE SRC --------------> SRS
>>
>>        Content-Type: application/SDP
>>        ...
>>        m=audio 49170 RTP/AVP 0
>>        a=rtpmap:0 PCMU/8000
>>        a=label:96
>>        a=sendonly
>>        ...
>>
>>        m=audio 51372 RTP/AVP 0
>>        a=rtpmap:0 PCMU/8000
>>        a=label:97
>>        a=sendonly
>>
>>        ....
>>     <?xml version="1.0" encoding="UTF-8"?>
>>         <recording xmlns='urn:ietf:params:xml:ns:recording'>
>>                <datamode>complete</datamode>
>>           <session session_id="hVpd7YQgRW2nD22h7q60JQ==">
>>              <start-time>2010-12-16T23:41:07Z</start-time>
>>           </session>
>>            <participant
>>               participant_id="srfBElmCRp2QB23b7Mpk0w==">
>>              <nameID aor=sip:Alice@atlanta.com>
>>               <name xml:lang="it">Alice</name>
>>              </nameID>
>>            </participant>
>>            <participantsessionassoc
>>               participant_id="srfBElmCRp2QB23b7Mpk0w=="
>>               session_id="hVpd7YQgRW2nD22h7q60JQ==">
>>             <associate-time>2013-05-09T23:41:07Z</associate-time>
>>            </participantsessionassoc>
>>            <participantstreamassoc
>>               participant_id="srfBElmCRp2QB23b7Mpk0w==">
>>               <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
>>               <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
>>            </participantstreamassoc>
>>            <participant
>>                participant_id="zSfPoSvdSDCmU3A3TRDxAw==">
>>                <nameID aor=sip:Bob@biloxy.com>
>>                 <name xml:lang="it">Bob</name>
>>              </nameID>
>>            </participant>
>>            <participantsessionassoc
>>                participant="zSfPoSvdSDCmU3A3TRDxAw=="
>>                     session_id="hVpd7YQgRW2nD22h7q60JQ==">
>>               <associate-time>2013-05-09T23:42:07Z</associate-time>
>>            </participantsessionassoc>
>>            <participantstreamassoc
>>                participant="zSfPoSvdSDCmU3A3TRDxAw==">
>>              <send>8zc6e0lYTlWIINA6GR+3ag==</send>
>>              <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
>>            </participantstreamassoc>
>>             <stream id="i1Pz3to5hGk8fuXl+PbwCw=="
>>                session="hVpd7YQgRW2nD22h7q60JQ==">
>>                <label>96</label>
>>            </stream>
>>            <stream id="8zc6e0lYTlWIINA6GR+3ag=="
>>                session="zSfPoSvdSDCmU3A3TRDxAw==">
>>                <label>97</label>
>>            </stream>
>>          </recording>
>>
>>
>>
>> Partial metadata Snapshot sent when Alice puts Bob on hold:
>>
>> F2 INVITE SRC --------------> SRS
>>
>>        Content-Type: application/SDP
>>        ...
>>        m=audio 49170 RTP/AVP 0
>>        a=rtpmap:0 PCMU/8000
>>        a=label:96
>>        a=sendonly
>>        ...
>>
>>        m=audio 51372 RTP/AVP 0
>>        a=rtpmap:0 PCMU/8000
>>        a=label:97
>>        a=sendonly
>>
>>
>>
>> Partial Snapshot after Alice resumes with Bob
>> <?xml version="1.0" encoding="UTF-8"?>
>>    <recording xmlns='urn:ietf:params:xml:ns:recording'>
>>      <dataMode>partial</dataMode>
>>      <participantstreamassoc
>>               participant_id="srfBElmCRp2QB23b7Mpk0w==">
>>               <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
>> </participantstreamassoc>
>> <participantstreamassoc
>>                participant="zSfPoSvdSDCmU3A3TRDxAw==">
>> <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
>>            </participantstreamassoc>
>> </recording>
>>
>> Here in the above snapshot the absence of <recv> for participant_id
>> srfBElmCRp2QB23b7Mpk0w== (Alice) could be used to indicate that Alice is
>> only sending media and not receiving any thing. Same way for Bob.
>>
>> Partial metadata Snapshot sent when Alice resumes call with Bob:
>>
>> F3 INVITE SRC --------------> SRS
>>
>> Content-Type: application/SDP
>> ...
>> m=audio 49170 RTP/AVP 0
>> a=rtpmap:0 PCMU/8000
>> a=label:96
>> a=sendonly
>> ...
>>
>> m=audio 51372 RTP/AVP 0
>> a=rtpmap:0 PCMU/8000
>> a=label:97
>> a=sendonly
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>>    <recording xmlns='urn:ietf:params:xml:ns:recording'>
>>      <dataMode>partial</dataMode>
>>    <participantstreamassoc
>>               participant_id="srfBElmCRp2QB23b7Mpk0w==">
>>               <send>i1Pz3to5hGk8fuXl+PbwCw==</send>
>>               <recv>8zc6e0lYTlWIINA6GR+3ag==</recv>
>>       </participantstreamassoc>
>>    <participantstreamassoc
>>                participant="zSfPoSvdSDCmU3A3TRDxAw==">
>>              <send>8zc6e0lYTlWIINA6GR+3ag==</send>
>>              <recv>i1Pz3to5hGk8fuXl+PbwCw==</recv>
>>        </participantstreamassoc>
>>   </recording>
>>
>>
>> Here in the above snapshot both Alice and Bob send and recv streams.
>>
>> Note the above approach would work for all cases (stream mixed from SRC
>>to
>> SRS or one of the endpoint is Focus in which case SRC received mixed
>> streams e.t.c). In all the flows the presence /absence of <send> and
>> <recv> tags could be used to indicate whether a participant is
>> contributing to a stream or not and whether it is receiving a stream or
>> not.
>>
>> Let me know if this approach is fine and if this works for every one in
>> the WG.
>>
>> Regards,
>> Ram
>>
>>> As an example, if the CS is a two party call, a hold of the CS might
>>> result in the SRC stopping/pausing the recording. If it is a conference
>>> call, one party going on hold would have might have no effect on the
>>> direction of the media descriptions in the RS, but may result in the
>>> generation of some XML indicating that a specific participant is no
>>> longer contributing any media. I thought the existing XML allowed for
>>> this, but perhaps I am mistaken about that?
>>>
>>> Cheers,
>>> Charles
>>>
>>>> -----Original Message-----
>>>> From: siprec-bounces@ietf.org [mailto:siprec-bounces@ietf.org] On
>>>> Behalf Of Ram Mohan R (rmohanr)
>>>> Sent: Wednesday, May 01, 2013 8:21 PM
>>>> To: siprec@ietf.org
>>>> Subject: Re: [siprec] CS hold/resume clarification in protocol draft
>>>>
>>>> A question here:
>>>>
>>>> In the current metadata draft to indicate CS hold/resume from SRC to
>>>> SRS
>>>> we re-use the SIP/SDP semantics and indicate the same with
>>>> a=inactive/a=sendonly respectively.
>>>> In the below discussion, I see we want to give a special meaning for
>>>> a=inactive/a=sendonly sent from SRC to SRS. This would mean CS
>>>> hold /
>>>> resume cannot be indicated using SDP semantics from SRC to SRS as
>>>> the SRS
>>>> cannot differentiate between CS hold/resume and Recording
>>>> stop/resume if
>>>> we use the same semantics for both.
>>>>
>>>> The current metadata XML draft does not have any means to indicate
>>>> CS
>>>> hold/resume in XML. The general approach followed in the metadata
>>>> (as a
>>>> result of past feedback received) is to re-use SIP/SDP semantics
>>>> wherever
>>>> possible to represent metadata attributes and have XML
>>>> representation for
>>>> only those attributes that does not have a semantics in SIP/SDP  to
>>>> represent. And hence the current draft re-uses SDP semantics to
>>>> represent
>>>> CS HOLD/RESUME.
>>>>
>>>> I want to hear feedback on - if the WG wants CSC hold/resume to be
>>>> represented in XML ?
>>>>
>>>> Ram
>>>>
>>>>
>>>>> On 01/05/13 1:10 PM, "Hutton, Andrew"
>>>>> <andrew.hutton@siemens-enterprise.com> wrote:
>>>>
>>>>> My view is that this is enough of an issue to make it a MUST as you
>>>> say
>>>>> the fact that this would result in a misunderstanding and therefore
>>>>> probably a trouble ticket being raised against the implementation
>>>> is
>>>>> reason enough.
>>>>>
>>>>> Andy
>>>>>
>>>>>
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Henry Lum [mailto:Henry.Lum@genesyslab.com]
>>>>>> Sent: 01 May 2013 05:39
>>>>>> To: Alan Johnston; Hutton, Andrew
>>>>>> Cc: siprec@ietf.org
>>>>>> Subject: Re: [siprec] CS hold/resume clarification in protocol draft
>>>>>>
>>>>>> The only interop issue this can cause is an SRS would mistaken a
>>>> hold
>>>>>> as pause/resume. Would there be any harm done in this case?
>>>> It's
>>>>>> undesirable but I dont think it's broken as there should be
>>>>>> corresponding metadata to note the media stream change.
>>>>>>
>>>>>> Henry
>>>>>>
>>>>>>
>>>>>> -------- Original message --------
>>>>>> From: Alan Johnston <alan.b.johnston@gmail.com>
>>>>>> Date: 04-30-2013 11:00 AM (GMT-05:00)
>>>>>> To: "Hutton, Andrew" <andrew.hutton@siemens-enterprise.com>
>>>>>> Cc: Henry Lum <Henry.Lum@genesyslab.com>,siprec@ietf.org
>>>>>> Subject: Re: [siprec] CS hold/resume clarification in protocol draft
>>>>>>
>>>>>>
>>>>>> We definitely want to discourage this behavior, but MUSTs relate
>>>> to
>>>>>> interop failures. Is that what we are trying to avoid?
>>>>>>
>>>>>> Another thought - If an implementer used 1 RS for each CS, would
>>>> this
>>>>>> hold/resume behavior be wrong?
>>>>>>
>>>>>> - Alan -
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Apr 30, 2013, at 8:19 AM, "Hutton, Andrew"
>>>> <andrew.hutton@siemens-
>>>>>> enterprise.com> wrote:
>>>>>>
>>>>>>> Hi Henry,
>>>>>>>
>>>>>>> Only question I have is whether the "SHOULD NOT" in the
>>>> following
>>>>>> text could be a "MUST NOT"
>>>>>>>
>>>>>>> "The SRC SHOULD NOT modify the media stream in the RS to
>>>> convey media
>>>>>> stream direction changes in the CS"
>>>>>>>
>>>>>>> What does everybody think?
>>>>>>>
>>>>>>> Regards
>>>>>>> Andy
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>> -----Original Message-----
>>>>>>>> From: siprec-bounces@ietf.org [mailto:siprec-
>>>> bounces@ietf.org] On
>>>>>>>> Behalf Of Henry Lum
>>>>>>>> Sent: 18 April 2013 05:15
>>>>>>>> To: siprec@ietf.org
>>>>>>>> Subject: [siprec] CS hold/resume clarification in protocol draft
>>>>>>>>
>>>>>>>> Following up on the clarification in the protocol draft, I
>>>> propose
>>>>>> to
>>>>>>>> re-word the last paragraph in section 7.1.1.1. I removed
>>>> mentions on
>>>>>>>> the word mute/unmute:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>    The SRC can temporarily discontinue streaming and collection
>>>> of
>>>>>>>>    recorded media from the SRC to the SRS for reason such as
>>>> masking
>>>>>>>> the
>>>>>>>>    recording.  In this case, the SRC sends a new SDP offer and
>>>> sets
>>>>>> the
>>>>>>>>
>>>>>>>>    media stream to inactive (a=inactive) for each recorded
>>>> stream to
>>>>>> be
>>>>>>>>    paused, as per the procedures in
>>>>>>>> [RFC3264<http://tools.ietf.org/html/rfc3264>].  To resume
>>>> streaming
>>>>>> and
>>>>>>>>    collection of recorded media, the SRC sends a new SDP offer
>>>> and
>>>>>> sets
>>>>>>>>    the media streams with a=sendonly attribute.
>>>>>>>>
>>>>>>>>
>>>>>>>>    Note that a CS itself may change the media stream direction
>>>> by
>>>>>>>> updating
>>>>>>>>
>>>>>>>>    the SDP, for example, by setting a=inactive for SDP hold. Media
>>>>>>>> stream
>>>>>>>>
>>>>>>>>    direction changes in CS are conveyed in the metadata by the
>>>> SRC.
>>>>>> The
>>>>>>>> SRC
>>>>>>>>
>>>>>>>>    SHOULD NOT modify the media stream in the RS to convey
>>>> media
>>>>>> stream
>>>>>>>>
>>>>>>>>    direction changes in the CS, as media stream direction
>>>> changes in
>>>>>>>> the RS
>>>>>>>>
>>>>>>>>    are reserved for pausing and resuming the recorded media.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> Henry
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> siprec mailing list
>>>>>>>> siprec@ietf.org
>>>>>>>> https://www.ietf.org/mailman/listinfo/siprec
>>>>>>> _______________________________________________
>>>>>>> siprec mailing list
>>>>>>> siprec@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/siprec
>>>>>
>>>>> _______________________________________________
>>>>> siprec mailing list
>>>>> siprec@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/siprec
>>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> siprec mailing list
>>>> siprec@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/siprec
>>>
>>
>>
>> _______________________________________________
>> siprec mailing list
>> siprec@ietf.org
>> https://www.ietf.org/mailman/listinfo/siprec
>>
>
>_______________________________________________
>siprec mailing list
>siprec@ietf.org
>https://www.ietf.org/mailman/listinfo/siprec
>