Re: [splices] Answering a Call Using Two Separate Devices proposal
"Shekh-Yusef, Rifaat (Rifaat)" <rifatyu@avaya.com> Tue, 03 May 2011 00:54 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 67E4BE07F4 for <splices@ietfa.amsl.com>; Mon, 2 May 2011 17:54:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.899
X-Spam-Level:
X-Spam-Status: No, score=-2.899 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, J_CHICKENPOX_18=0.6, RCVD_IN_DNSWL_LOW=-1]
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 ipqv5fJV6zVQ for <splices@ietfa.amsl.com>; Mon, 2 May 2011 17:54:02 -0700 (PDT)
Received: from de307622-de-outbound.net.avaya.com (de307622-de-outbound.net.avaya.com [198.152.71.100]) by ietfa.amsl.com (Postfix) with ESMTP id C0F7DE07F1 for <splices@ietf.org>; Mon, 2 May 2011 17:54:01 -0700 (PDT)
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: Ai8BAMRRv02HCzI1/2dsb2JhbACYBo4Kd6pXApoHhgAEky+KCA
X-IronPort-AV: E=Sophos;i="4.64,306,1301889600"; d="scan'208";a="244533742"
Received: from unknown (HELO p-us1-erheast.us1.avaya.com) ([135.11.50.53]) by de307622-de-outbound.net.avaya.com with ESMTP; 02 May 2011 20:53:47 -0400
X-IronPort-AV: E=Sophos;i="4.64,306,1301889600"; d="scan'208";a="646239058"
Received: from unknown (HELO DC-US1HCEX3.global.avaya.com) ([135.11.52.22]) by p-us1-erheast-out.us1.avaya.com with ESMTP; 02 May 2011 20:53:46 -0400
Received: from DC-US1MBEX4.global.avaya.com ([169.254.2.201]) by DC-US1HCEX3.global.avaya.com ([135.11.52.22]) with mapi; Mon, 2 May 2011 20:53:46 -0400
From: "Shekh-Yusef, Rifaat (Rifaat)" <rifatyu@avaya.com>
To: Paul Kyzivat <pkyzivat@cisco.com>
Date: Mon, 02 May 2011 20:53:44 -0400
Thread-Topic: [splices] Answering a Call Using Two Separate Devices proposal
Thread-Index: AcwITHxwRqy8BMQ/ReOUjn3IeqIaLgA35B1g
Message-ID: <6369CB70BFD88942B9705AC1E639A33822CB54B660@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> <6369CB70BFD88942B9705AC1E639A33822CB33B18C@DC-US1MBEX4.global.avaya.com> <4DBDDA27.5060804@cisco.com>
In-Reply-To: <4DBDDA27.5060804@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: Tue, 03 May 2011 00:54:03 -0000
Thanks Paul, Yes, the actions are just examples and they are open for discussion. The questions you listed below are good questions that must be answered in a future document that will define the overall solution. Regards, Rifaat > -----Original Message----- > From: Paul Kyzivat [mailto:pkyzivat@cisco.com] > Sent: Sunday, May 01, 2011 6:10 PM > To: Shekh-Yusef, Rifaat (Rifaat) > Cc: splices@ietf.org > Subject: Re: [splices] Answering a Call Using Two Separate Devices proposal > > Yes, this seems reasonable to me. The specific refer actions are a > little speculative and can be debated, but for now they're just > examples, and I think we could work them out. > > I've included one suggested wording revision inline below. > > Thanks, > Paul > > P.S. While we don't necessarily need to deal with it here and now, ISTM > it would be useful to work out some best practices for how to manage > multiple media in order to get the best user experience. E.g.: > > - when/how do devices with multiple media capabilities announce those > capabilities? (This scenario has suggested doing so in registrations. > Are the same capabilities announced as contact params on INVITEs, > etc.?) > > - Should media capabilities be announced in SDP, even if there is no > intent to use them at the moment? E.g. using the SDP capneg framework, > or perhaps by "offering" extra media with port set to zero, or with > a=inactive? > > - when forced to make an offer (by receipt of an INVITE without offer), > what media should be offered? Should the UAS defer the decision until > it can alert and get feedback to the alert about which media the > callee wants to use? Or should UAs be user configurable with the media > to initially offer, so they can offer *something* quickly. > > - in the latter case, should the UAS, while alerting, provide a way > for the user to influence which media are used in the call? > (via another o/a before answer). > > Not having anything like this opens call flows such as this one up to > much haggling over what assumptions it makes about behavior of the UAs. > > > > On 5/1/2011 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. > > In the last sentence above, it might be clearer to say "The Desk Phone > *learns* that the PC supports Video, while the PC *learns* 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] Answering a Call Using Two Separate Dev… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Peter Musgrave
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Peter Musgrave
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Peter Musgrave
- Re: [splices] Answering a Call Using Two Separate… gao.yang2
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Elwell, John
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Elwell, John
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Simon Pietro Romano
- Re: [splices] Answering a Call Using Two Separate… Peter Musgrave
- Re: [splices] Answering a Call Using Two Separate… Salvatore Loreto
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)
- Re: [splices] Answering a Call Using Two Separate… Paul Kyzivat
- Re: [splices] Answering a Call Using Two Separate… Shekh-Yusef, Rifaat (Rifaat)