Re: [splices] Answering a Call Using Two Separate Devices proposal

Paul Kyzivat <pkyzivat@cisco.com> Tue, 03 May 2011 01:46 UTC

Return-Path: <pkyzivat@cisco.com>
X-Original-To: splices@ietfa.amsl.com
Delivered-To: splices@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5034FE0664 for <splices@ietfa.amsl.com>; Mon, 2 May 2011 18:46:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.504
X-Spam-Level:
X-Spam-Status: No, score=-110.504 tagged_above=-999 required=5 tests=[AWL=0.095, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id G+aPOpNL4Q2h for <splices@ietfa.amsl.com>; Mon, 2 May 2011 18:46:08 -0700 (PDT)
Received: from ams-iport-2.cisco.com (ams-iport-2.cisco.com [144.254.224.141]) by ietfa.amsl.com (Postfix) with ESMTP id 42343E0782 for <splices@ietf.org>; Mon, 2 May 2011 18:46:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=pkyzivat@cisco.com; l=17496; q=dns/txt; s=iport; t=1304387167; x=1305596767; h=message-id:date:from:mime-version:to:subject:references: in-reply-to:content-transfer-encoding; bh=56Zcfa4w4hTgyW5JNuESRJ8vjx6ludpMNwYvlaMDXp4=; b=h75hqAqB1xzgMYcQjv1dpt0oNWRlLnYbZ+aUbDU/4xJW2H59Wd7R71zM heUGUCNZ9ymPl0X1Nl6qhqWdD4LpO+r12T+/Ey3ybxWfJ500xDl4jGhUP 7F+agfTzRqQf97G7Cx00Df1q4yZ/hUInEWAn02GQWHjFBHu72WYg2xdyt 0=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AuIAABhdv02Q/khMgWdsb2JhbACYB44KFAEBFiYlqC6cRIYABI55hBmKJQ
Received: from ams-core-3.cisco.com ([144.254.72.76]) by ams-iport-2.cisco.com with ESMTP; 03 May 2011 01:46:05 +0000
Received: from [161.44.174.124] (dhcp-161-44-174-124.cisco.com [161.44.174.124]) by ams-core-3.cisco.com (8.14.3/8.14.3) with ESMTP id p431k5wr004264 for <splices@ietf.org>; Tue, 3 May 2011 01:46:05 GMT
Message-ID: <4DBF5E5C.9000700@cisco.com>
Date: Mon, 02 May 2011 21:46:04 -0400
From: Paul Kyzivat <pkyzivat@cisco.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10
MIME-Version: 1.0
To: splices@ietf.org
References: <OF72946BD9.9432A2C6-ON4825787D.001619F0-4825787D.001882DE@zte.com.cn> <4DB56C9C.1080004@cisco.com> <6369CB70BFD88942B9705AC1E639A33822CB26E13D@DC-US1MBEX4.global.avaya.com> <4DB853B0.5060506@cisco.com> <6369CB70BFD88942B9705AC1E639A33822CB33B18C@DC-US1MBEX4.global.avaya.com> <BFB07BED-2EAC-4FAE-A213-841DB4261A87@magorcorp.com> <4DBEBC15.5050600@ericsson.com> <6369CB70BFD88942B9705AC1E639A33822CB54B67C@DC-US1MBEX4.global.avaya.com>
In-Reply-To: <6369CB70BFD88942B9705AC1E639A33822CB54B67C@DC-US1MBEX4.global.avaya.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Subject: Re: [splices] Answering a Call Using Two Separate Devices proposal
X-BeenThere: splices@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Loosely-coupled SIP Devices \(splices\) working group discussion list" <splices.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/splices>, <mailto:splices-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/splices>
List-Post: <mailto:splices@ietf.org>
List-Help: <mailto:splices-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/splices>, <mailto:splices-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 03 May 2011 01:46:09 -0000

The trouble with this is that it depends on the PC discovering the 
problem before Bob does. If Bob notices first then he will abort the call.

	Thanks,
	Paul

On 5/2/2011 9:11 PM, Shekh-Yusef, Rifaat (Rifaat) wrote:
> How about the following:
>
>     Alice                 Alice                Proxy                  Bob
>      PC                 Desk Phone
>      |                     |                     |                     |
> Alice is on a call with Bob as described below (the result of the
> previously discussed flows)
>      |                     |                     |                     |
>      |<----dialog2-------->|<---dialog1------------------------------->|
>      |                     |                     |                     |
>      |                     |<======audio==============================>|
>      |<============================video==============================>|
>      |                     |                     |                     |
> Alice's devices have a keep-alive mechanism that allows each one of them
> to discover if the other is gone (the mechanism is TBD).
> Let us assume that the PC discovers that the phone is gone. The PC is
> aware of the dialog with Bob because of the subscription to the dialog
> event package. The PC then clears dialog2, but Bob's phone is not yet
> aware that Alice's phone is gone and it still has dialog1.
> The PC can do the following:
>      |                     |                     |                     |
>      |                     |                     |                     |
>      | INVITE Replaces dialog1                   |                     |
>      |------------------------------------------>|                     |
>      |                     |                     | INVITE Replaces dialog1
>      |                     |                     |-------------------->|
>      |                     |                     | BYE                 |
>      |                     |    BYE              |<--------------------|
>      |                     | x<-----------------|                     |
>      |                     |                     | 200 OK              |
>      |                     |                     |<--------------------|
>      | 200 OK              |                     |                     |
>      |<------------------------------------------|                     |
>      | ACK                 |                     |                     |
>      |------------------------------------------>|                     |
>      |                     |                     | ACK                 |
>      |                     |                     |-------------------->|
>      |                     |                     |                     |
>
>
> Regards,
>   Rifaat
>
>
>> -----Original Message-----
>> From: splices-bounces@ietf.org [mailto:splices-bounces@ietf.org] On Behalf Of
>> Salvatore Loreto
>> Sent: Monday, May 02, 2011 10:14 AM
>> To: splices@ietf.org
>> Subject: Re: [splices] Answering a Call Using Two Separate Devices proposal
>>
>> I think it is a good step forward,
>>
>> the only comment I have
>> it is that in order to call it a "loosely coupled" scenario we have
>> still to define what happens
>> if "Alice Desk phone" can not remain in the session for the entire
>> session duration...
>>
>> as the charter defines:
>>
>>     The objective of this working group is to develop a framework for
>>     disaggregated media in "loosely-coupled" scenarios, where no single
>>     device needs to remain in the session for its entire duration and no
>>     single device needs to act as a master.
>>
>>
>> /Sal
>>
>> On 5/2/11 3:45 PM, Peter Musgrave wrote:
>>> Hi Rifaat,
>>>
>>> I think this works well. Thanks for re-stating this clearly.
>>>
>>> I see a couple of next steps here:
>>> - how is in incoming call which has an initial A+V answered?
>>> - how is an outgoing call which has an initial A+V audio created?
>>> - if both ends are "loosely coupled" are there any optimizations or
>> shortcuts that seem worthwhile?
>>>
>>> I don't think there is anything too tricky about these - but they will need
>> to be worked through. I agree with Simon that it seems time to start to
>> capture this work in a draft.
>>>
>>> Regards,
>>>
>>> Peter Musgrave
>>>
>>> On 2011-05-01, at 11:41 AM, Shekh-Yusef, Rifaat (Rifaat) wrote:
>>>
>>>> Hi,
>>>>
>>>> In the following flow, I have tried to incorporate all the feedback that I
>> received so far.
>>>> The only open issue that I am aware of is the issue of what to present to
>> the user on the PC when the phone initiates a video call to the PC (see (#)
>> below).
>>>>
>>>> Can you please review the flow below and let me know if we have any other
>> open issues?
>>>>
>>>> Regards,
>>>> Rifaat
>>>>
>>>>
>>>>
>>>>     Alice                 Alice                Proxy                  Bob
>>>>      PC                 Desk Phone
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>> Both Alice's devices subscribe to the reg event package, which allows each
>> device to
>>>> discover the capabilities of the other device based on the feature tags
>> provided by each device.
>>>> The Desk Phone knows that the PC supports Video, while the PC knows that
>> the Desk Phone only supports audio.
>>>>      |                     |                     |                     |
>>>>      |                     | SUBSCRIBE reg       |                     |
>>>>      |                     |-------------------->|                     |
>>>>      |                     | 200 OK              |                     |
>>>>      |                     |<--------------------|                     |
>>>>      |                     |                     |                     |
>>>>      | SUBSCRIBE reg       |                     |                     |
>>>>      |------------------------------------------>|                     |
>>>>      | 200 OK              |                     |                     |
>>>>      |<------------------------------------------|                     |
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>> The two devices also subscribe to the dialog of each other.
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>      | SUBSCRIBE dialog    |                     |                     |
>>>>      |-------------------->|                     |                     |
>>>>      | 200 OK              |                     |                     |
>>>>      |<--------------------|                     |                     |
>>>>      |                     |                     |                     |
>>>>      | SUBSCRIBE dialog    |                     |                     |
>>>>      |<--------------------|                     |                     |
>>>>      | 200 OK              |                     |                     |
>>>>      |-------------------->|                     |                     |
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>> The scenario starts with an audio call from Bob to Alice
>>>>      |                     |                     |                     |
>>>>      |                     |                     | INVITE Alice [Audio]|
>>>>      |                     |                     |<--------------------|
>>>>      |                     | INVITE Alice [Audio]|                     |
>>>>      |                     |<--------------------|                     |
>>>>      | INVITE Alice [Audio]|                     |                     |
>>>>      |<------------------------------------------|                     |
>>>>      |                     |                     |                     |
>>>> Let's assume that Alice used her PC to instruct the phone to answer the
>> call
>>>>      |                     |                     |                     |
>>>>      | REFER Refer-To: urn:sip-action:call:answer;transducer=speaker|headset
>>>>      |-------------------->|                     |                     |
>>>>      | 200 OK              |                     |                     |
>>>>      |<--------------------|                     |                     |
>>>>      |                     |                     |                     |
>>>>      |                     | 200 OK [Audio]      |                     |
>>>>      |                     |-------------------->|                     |
>>>>      |                     |                     | 200 OK [Audio]      |
>>>>      |                     |                     |-------------------->|
>>>>      | CANCEL              |                     |                     |
>>>>      |<------------------------------------------|                     |
>>>>      |                     |                     |                     |
>>>>      |                     |<---dialog1------------------------------->|
>>>>      |                     |                     |                     |
>>>>      |                     |<======audio==============================>|
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>
>>>> (*)
>>>>
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>> The following is a re-INVITE from the remote party (Bob) to add video to
>> the existing audio call
>>>>      |                     |                     |                     |
>>>>      |                     |                     | reINVITE Alice [A/V]|
>>>>      |                     |                     |<--------------------|
>>>>      |                     | reINVITE Alice [A/V]|                     |
>>>>      |                     |<--------------------|                     |
>>>>      |                     | 100 Trying          |                     |
>>>>      |                     |-------------------->|                     |
>>>>      |                     |                     | 100 Trying          |
>>>>      |                     |                     |-------------------->|
>>>>      |                     |                     |                     |
>>>> The Desk Phone cannot handle video, but it knows that the PC can handle
>> video,
>>>> so the Desk Phone initiates a new video INVITE to the PC.
>>>> Alert-Info is used to control the alerting level.
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>> (#) | INVITE [Video]      |                     |                     |
>>>>      |        Alert-Info: whatever               |                     |
>>>>      |<--------------------|                     |                     |
>>>>      | 180                 |                     |                     |
>>>>      |-------------------->|                     |                     |
>>>>      |                     |                     |                     |
>>>> The user can answer the video call using his PC, which would result on
>>>> 200 OK with video answer being sent to the phone.
>>>> If the user chose to answer the incoming video call using his Desk Phone,
>>>> the following REFER will be sent to the PC, before the 200 OK with the
>>>> video answer is sent from the PC.
>>>>      |                     |                     |                     |
>>>>      | REFER Refer-To: urn:sip-action:call:answer                      |
>>>>      |<--------------------|                     |                     |
>>>>      | 200 OK              |                     |                     |
>>>>      |-------------------->|                     |                     |
>>>>      |                     |                     |                     |
>>>>      | 200 OK [Video]      |                     |                     |
>>>>      |-------------------->|                     |                     |
>>>>      |                     |                     |                     |
>>>>      |                     | 200 OK [A/V]        |                     |
>>>>      |                     |-------------------->|                     |
>>>>      |                     |                     | 200 OK [A/V]        |
>>>>      |                     |                     |-------------------->|
>>>>      |                     |                     |                     |
>>>>      |<----dialog2-------->|<---dialog1------------------------------->|
>>>>      |                     |                     |                     |
>>>>      |                     |<======audio==============================>|
>>>>      |<============================video==============================>|
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>
>>>>
>>>>
>>>> Now let's assume that Alice is the side that wants to add video to the
>>>> existing audio call. The scenario continues after the (*) above.
>>>>
>>>> Alice can use her phone to add video to the existing audio call. The phone
>>>> must present a UI to Alice to allow her to do just that. If Alice chooses
>>>> to use her phone, the following REFER will be sent from the phone to the
>> PC,
>>>> which will instruct the PC to immediately send an INVITE with video offer
>>>>
>>>>      | REFER Refer-To: urn:sip-action:call:join;dialog=dialog1;media=video
>>>>      |<--------------------|                     |                     |
>>>>      | 200 OK              |                     |                     |
>>>>      |-------------------->|                     |                     |
>>>>      |                     |                     |                     |
>>>>
>>>> Alice can use her PC to add video to the existing audio call.
>>>> The PC knows that there is an existing dialog between the Desk Phone
>>>> and Bob and present this to Alice for her to choose if she wants to
>>>> add video to the existing audio call or not. In this case Alice chose
>>>> to add video to the existing audio call, so the PC sends the following
>>>> request:
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>      | INVITE with Join [Video]                  |                     |
>>>>      |-------------------->|                     |                     |
>>>>      | 100                 |                     |                     |
>>>>      |<--------------------|                     |                     |
>>>>      |                     | re-INVITE [A/V]     |                     |
>>>>      |                     |-------------------->|                     |
>>>>      |                     |                     | re-INVITE [A/V]     |
>>>>      |                     |                     |-------------------->|
>>>>      |                     |                     | 200 OK [A/V]        |
>>>>      |                     | 200 OK [A/V]        |<--------------------|
>>>>      |                     |<--------------------|                     |
>>>>      | 200 OK [Video]      |                     |                     |
>>>>      |<--------------------|                     |                     |
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>      |<----dialog2-------->|<---dialog1------------------------------->|
>>>>      |                     |                     |                     |
>>>>      |                     |<======audio==============================>|
>>>>      |<============================video==============================>|
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>      |                     |                     |                     |
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> splices mailing list
>>>> splices@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/splices
>>> _______________________________________________
>>> splices mailing list
>>> splices@ietf.org
>>> https://www.ietf.org/mailman/listinfo/splices
>> _______________________________________________
>> splices mailing list
>> splices@ietf.org
>> https://www.ietf.org/mailman/listinfo/splices
> _______________________________________________
> splices mailing list
> splices@ietf.org
> https://www.ietf.org/mailman/listinfo/splices
>