Re: [splices] Answering an A/V Call Using Two Separate Devices proposal

Paul Kyzivat <pkyzivat@cisco.com> Mon, 23 May 2011 03:03 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 35BEDE06EE for <splices@ietfa.amsl.com>; Sun, 22 May 2011 20:03:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.599
X-Spam-Level:
X-Spam-Status: No, score=-110.599 tagged_above=-999 required=5 tests=[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 RFAJL+T1VG7V for <splices@ietfa.amsl.com>; Sun, 22 May 2011 20:03:05 -0700 (PDT)
Received: from sj-iport-4.cisco.com (sj-iport-4.cisco.com [171.68.10.86]) by ietfa.amsl.com (Postfix) with ESMTP id 54974E06A4 for <splices@ietf.org>; Sun, 22 May 2011 20:03:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=pkyzivat@cisco.com; l=15962; q=dns/txt; s=iport; t=1306119785; x=1307329385; h=message-id:date:from:mime-version:to:cc:subject: references:in-reply-to:content-transfer-encoding; bh=cvG+PjofaSea4HPQyIDJTlH4mJa0oTGf9ZgboX73jqo=; b=fOM9L+z4Yba5k52QCKJjSiLwGng7XHszIviY4qkPMJTvKEH1665V+AKt DEjkM7EBTGvHbAofydYg/N8zYHtaHKzUZHMlMm23JHUKL3X6Ckcg5JHkM hAKcIlq8zIrCHUfk9Uqah0CYmcjZ2XKLwGmXxIbC5LEnXC04h2J85U/WF U=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AhUBAOPN2U2tJXHB/2dsb2JhbACXZY47eKUvnEWGGQSQEYQvimI
X-IronPort-AV: E=Sophos;i="4.65,254,1304294400"; d="scan'208";a="285661870"
Received: from rcdn-core2-6.cisco.com ([173.37.113.193]) by sj-iport-4.cisco.com with ESMTP; 23 May 2011 03:03:04 +0000
Received: from [10.86.244.32] ([10.86.244.32]) by rcdn-core2-6.cisco.com (8.14.3/8.14.3) with ESMTP id p4N333SX032559; Mon, 23 May 2011 03:03:03 GMT
Message-ID: <4DD9CE66.8010204@cisco.com>
Date: Sun, 22 May 2011 23:03:02 -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: "Shekh-Yusef, Rifaat (Rifaat)" <rifatyu@avaya.com>
References: <6369CB70BFD88942B9705AC1E639A33822CC01E548@DC-US1MBEX4.global.avaya.com> <4DD87FBF.5010504@cisco.com> <6369CB70BFD88942B9705AC1E639A33822CC7FCE3E@DC-US1MBEX4.global.avaya.com> <4DD97B5D.7040404@cisco.com> <6369CB70BFD88942B9705AC1E639A33822CC7FCE75@DC-US1MBEX4.global.avaya.com>
In-Reply-To: <6369CB70BFD88942B9705AC1E639A33822CC7FCE75@DC-US1MBEX4.global.avaya.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: "splices@ietf.org" <splices@ietf.org>
Subject: Re: [splices] Answering an A/V 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: Mon, 23 May 2011 03:03:06 -0000

On 5/22/2011 8:49 PM, Shekh-Yusef, Rifaat (Rifaat) wrote:
>
> You are then proposing the following:
>
>
> Alice used her *phone* to answer the incoming call
>      |                     |                     |                     |
>      |                     | 200 OK [Audio]      |                     |
>      |                     |-------------------->|                     |
>      |                     |                     | 200 OK [Audio]      |
>      |                     |                     |-------------------->|
>      | CANCEL              |                     |                     |
>      |<------------------------------------------|                     |
>      |                     |                     |                     |
>      |                     |<---dialog1------------------------------->|
>      |                     |<======audio==============================>|
>      |                     |                     |                     |
>      | INVITE Alert-Info and [Video]             |                     |
>      |<--------------------|                     |                     |
>
> What happens here?
> Will the user be required to take an action on the PC to accept the INVITE?
> Or you are expecting the PC to provide an answer without user intervention?

Could  be handled various ways.

The alert-info could suggest auto-answer. (The PC *honoring* such a 
request might be conditional on who it comes. But even if not honored 
for auto-answer it might still alert *differently*.) If it wasn't 
auto-answered, and returned 180, it could be followed up with an INVOKE 
to force the answer.

	Thanks,
	Paul

>      | 200 OK [Video]      |                     |                     |
>      |<--------------------|                     |                     |
>      |                     | re-INVITE [A/V]     |                     |
>      |                     |-------------------->|                     |
>      |                     |                     | re-INVITE [A/V]     |
>      |                     |                     |-------------------->|
>      |                     |                     | 200 OK [A/V]        |
>      |                     | 200 OK [A/V]        |<--------------------|
>      |                     |<--------------------|                     |
>      | ACK                 |                     |                     |
>      |<--------------------|                     |                     |
>      |                     |                     |                     |
>      |<------dialog2------>|<---dialog1------------------------------->|
>      |                     |                     |                     |
>      |                     |<======audio==============================>|
>      |<============================video==============================>|
>      |                     |                     |                     |
>
>
>> -----Original Message-----
>> From: Paul Kyzivat [mailto:pkyzivat@cisco.com]
>> Sent: Sunday, May 22, 2011 5:09 PM
>> To: Shekh-Yusef, Rifaat (Rifaat)
>> Cc: splices@ietf.org
>> Subject: Re: [splices] Answering an A/V Call Using Two Separate Devices
>> proposal
>>
>>
>>
>> On 5/22/2011 2:40 PM, Shekh-Yusef, Rifaat (Rifaat) wrote:
>>> Because a new INVITE will probably cause the PC to present the user with a
>> UI component and wait for the users input.
>>
>> Well, I suppose you would want the PC to indicate what is going on in
>> the UI in *some* way. But probably not exactly the same as getting a new
>> call.
>>
>> That could be handled via appropriate Alert-Info. To some extent this is
>> a matter of taste. I am inclined to prefer an economy of mechanism, and
>> I think the alert-info feels like less mechanism than the particular
>> INVOKE mechanism used in this scenario. (The invoke mechanism used here
>> requires the phone to assume that the PC is aware of the dialog, and
>> able to associate it with the appropriate contact address for doing the
>> invite.)
>>
>>        Thanks,
>>        Paul
>>
>>> Regards,
>>>    Rifaat
>>>
>>>
>>>> -----Original Message-----
>>>> From: splices-bounces@ietf.org [mailto:splices-bounces@ietf.org] On Behalf
>> Of
>>>> Paul Kyzivat
>>>> Sent: Saturday, May 21, 2011 11:15 PM
>>>> To: splices@ietf.org
>>>> Subject: Re: [splices] Answering an A/V Call Using Two Separate Devices
>>>> proposal
>>>>
>>>> I guess all of that can work. But for the last part, if the phone knows
>>>> enough to send the invoke to the pc, why can't it just send an INVITE to
>>>> the pc?
>>>>
>>>>     Thanks,
>>>>     Paul
>>>>
>>>> On 5/21/2011 8:56 AM, Shekh-Yusef, Rifaat (Rifaat) wrote:
>>>>> Hi,
>>>>>
>>>>> We are still working on a new version of the INVOKE document that removes
>>>> the implicit subscription.
>>>>>
>>>>> Meanwhile I would like to continue the discussion of the various possible
>>>> uses cases.
>>>>> The following is a proposal for Answering an A/V Call Using Two Separate
>>>> Devices.
>>>>>
>>>>> 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 A/V call from Bob to Alice
>>>>>        |                     |                     |                     |
>>>>>        |                     |                     | INVITE Alice [A/V]  |
>>>>>        |                     |                     |<--------------------|
>>>>>        |                     | INVITE Alice [A/V]  |                     |
>>>>>        |                     |<--------------------|                     |
>>>>>        | INVITE Alice [A/V]  |                     |                     |
>>>>>        |<------------------------------------------|                     |
>>>>>        |                     |                     |                     |
>>>>>
>>>>>
>>>>> (*)
>>>>>
>>>>>
>>>>> Let's assume that Alice used her PC to answer the incoming call
>>>>> The PC instructs the phone to answer the audio call
>>>>>        |                     |                     |                     |
>>>>>        | INVOKE Action:
>>>> urn:invoke:call:answer;media=audio;transducer=speaker|headset
>>>>>        |-------------------->|                     |                     |
>>>>>        | 200 OK              |                     |                     |
>>>>>        |<--------------------|                     |                     |
>>>>>        |                     |                     |                     |
>>>>>        |                     | 200 OK [Audio]      |                     |
>>>>>        |                     |-------------------->|                     |
>>>>>        |                     |                     | 200 OK [Audio]      |
>>>>>        |                     |                     |-------------------->|
>>>>>        | CANCEL              |                     |                     |
>>>>>        |<------------------------------------------|                     |
>>>>>        |                     |                     |                     |
>>>>>        |                     |<---dialog1------------------------------->|
>>>>>        |                     |                     |                     |
>>>>>        |                     |<======audio==============================>|
>>>>>        |                     |                     |                     |
>>>>>        |                     |                     |                     |
>>>>> The PC then adds Video to the existing audio call.
>>>>>        |                     |                     |                     |
>>>>>        | 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==============================>|
>>>>>        |                     |                     |                     |
>>>>>        |                     |                     |                     |
>>>>>
>>>>>
>>>>>
>>>>> The scenario continues after the (*) above
>>>>> Let's assume that Alice used her phone to answer the incoming call.
>>>>> The phone answers the audio call
>>>>>        |                     |                     |                     |
>>>>>        |                     | 200 OK [Audio]      |                     |
>>>>>        |                     |-------------------->|                     |
>>>>>        |                     |                     | 200 OK [Audio]      |
>>>>>        |                     |                     |-------------------->|
>>>>>        | CANCEL              |                     |                     |
>>>>>        |<------------------------------------------|                     |
>>>>>        |                     |                     |                     |
>>>>>        |                     |<---dialog1------------------------------->|
>>>>>        |                     |                     |                     |
>>>>>        |                     |<======audio==============================>|
>>>>>        |                     |                     |                     |
>>>>>        |                     |                     |                     |
>>>>> The phone then instructs the PC to initiate a video call to join the
>>>> existing call
>>>>>        |                     |                     |                     |
>>>>>        | INVOKE Action: urn:invoke:call:join;media=video;dialog=dialog1
>>>>>        |<--------------------|                     |                     |
>>>>>        | 200 OK              |                     |                     |
>>>>>        |-------------------->|                     |                     |
>>>>>        |                     |                     |                     |
>>>>> The PC then adds Video to the existing audio call.
>>>>>        |                     |                     |                     |
>>>>>        | 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
>>>
>