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

"Shekh-Yusef, Rifaat (Rifaat)" <rifatyu@avaya.com> Sun, 01 May 2011 15:41 UTC

Return-Path: <rifatyu@avaya.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 6FB3DE06CD for <splices@ietfa.amsl.com>; Sun, 1 May 2011 08:41:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.716
X-Spam-Level:
X-Spam-Status: No, score=-2.716 tagged_above=-999 required=5 tests=[AWL=-0.117, BAYES_00=-2.599]
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 Oqz23i6UWDN4 for <splices@ietfa.amsl.com>; Sun, 1 May 2011 08:41:20 -0700 (PDT)
Received: from p-us1-iereast-outbound.us1.avaya.com (p-us1-iereast-outbound.us1.avaya.com [135.11.29.13]) by ietfa.amsl.com (Postfix) with ESMTP id 66687E0659 for <splices@ietf.org>; Sun, 1 May 2011 08:41:17 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAIB9vU2HCzI1/2dsb2JhbACmHXepIQKZBYYABJMvigg
X-IronPort-AV: E=Sophos;i="4.64,298,1301889600"; d="scan'208";a="186612616"
Received: from unknown (HELO p-us1-erheast.us1.avaya.com) ([135.11.50.53]) by p-us1-iereast-outbound.us1.avaya.com with ESMTP; 01 May 2011 11:41:16 -0400
X-IronPort-AV: E=Sophos;i="4.64,298,1301889600"; d="scan'208";a="645768352"
Received: from dc-us1hcex2.us1.avaya.com (HELO DC-US1HCEX2.global.avaya.com) ([135.11.52.21]) by p-us1-erheast-out.us1.avaya.com with ESMTP; 01 May 2011 11:41:16 -0400
Received: from DC-US1MBEX4.global.avaya.com ([169.254.2.201]) by DC-US1HCEX2.global.avaya.com ([::1]) with mapi; Sun, 1 May 2011 11:41:15 -0400
From: "Shekh-Yusef, Rifaat (Rifaat)" <rifatyu@avaya.com>
To: Paul Kyzivat <pkyzivat@cisco.com>
Date: Sun, 1 May 2011 11:41:14 -0400
Thread-Topic: [splices] Answering a Call Using Two Separate Devices proposal
Thread-Index: AcwFAXKAyZ5nmzYAQ5eLfIWePgR6tQDE5OMg
Message-ID: <6369CB70BFD88942B9705AC1E639A33822CB33B18C@DC-US1MBEX4.global.avaya.com>
References: <OF72946BD9.9432A2C6-ON4825787D.001619F0-4825787D.001882DE@zte.com.cn> <4DB56C9C.1080004@cisco.com> <6369CB70BFD88942B9705AC1E639A33822CB26E13D@DC-US1MBEX4.global.avaya.com> <4DB853B0.5060506@cisco.com>
In-Reply-To: <4DB853B0.5060506@cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "splices@ietf.org" <splices@ietf.org>
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: Sun, 01 May 2011 15:41:21 -0000

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==============================>|
    |                     |                     |                     |
    |                     |                     |                     |
    |                     |                     |                     |