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

Paul Kyzivat <pkyzivat@alum.mit.edu> Fri, 10 May 2013 02:37 UTC

Return-Path: <pkyzivat@alum.mit.edu>
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 BFF9621F8FDF for <siprec@ietfa.amsl.com>; Thu, 9 May 2013 19:37:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.834
X-Spam-Level:
X-Spam-Status: No, score=0.834 tagged_above=-999 required=5 tests=[AWL=-0.529, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, J_CHICKENPOX_15=0.6, J_CHICKENPOX_18=0.6, J_CHICKENPOX_54=0.6, RDNS_NONE=0.1]
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 yh07W5FeEQmy for <siprec@ietfa.amsl.com>; Thu, 9 May 2013 19:37:09 -0700 (PDT)
Received: from qmta14.westchester.pa.mail.comcast.net (qmta14.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:44:76:96:59:212]) by ietfa.amsl.com (Postfix) with ESMTP id 1253621F85E8 for <siprec@ietf.org>; Thu, 9 May 2013 19:37:08 -0700 (PDT)
Received: from omta23.westchester.pa.mail.comcast.net ([76.96.62.74]) by qmta14.westchester.pa.mail.comcast.net with comcast id a00w1l00J1c6gX85E2d7AZ; Fri, 10 May 2013 02:37:07 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta23.westchester.pa.mail.comcast.net with comcast id a2d71l0053ZTu2S3j2d7Aq; Fri, 10 May 2013 02:37:07 +0000
Message-ID: <518C5D53.30101@alum.mit.edu>
Date: Thu, 09 May 2013 22:37:07 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: siprec@ietf.org
References: <E92E67B176B8B64D8D3A8F5E44E9D8F41EBCE9DF@xmb-aln-x05.cisco.com>
In-Reply-To: <E92E67B176B8B64D8D3A8F5E44E9D8F41EBCE9DF@xmb-aln-x05.cisco.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1368153427; bh=tPLwVvq1ir/6vw+O2sXYhpOjyOH5hsUQrZu0Kzvor5E=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=lK1QbPvE2Hy/GWks7n7jdIcqg0P6hqPR4xTbKL3gQzZb8QFjZ0chWNwwckql9hfV/ O0F4hoi/Dd7y0cxHO/DfDq/wPGPIkYjsb9MXFuomTaD0hyeh0In/CG1DpRv5jXLTr8 Mi0yHN6m+w1qcpBV6YQewMPDSBwealCSd83rw53rXAev7PJYsUy9rBKcdHeRbRVx/p sOlnCvCOoW8rLgm1iuSGzXL3XS276L/FLfo0ksqVYr13y36bx4Xk5UTGf/ROuLLCXd PMMJ1okB+VkaFUzstfEx7sd5r5MdHOdifOnAtgDSYLLtseQKW9PvVgRuG4/dVpOur+ sfdc05rhN/0Nw==
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 02:37:14 -0000

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
>