- From: Kis, Zoltan <zoltan.kis@intel.com>
- Date: Wed, 24 Oct 2012 20:22:11 +0300
- To: Mounir Lamouri <mounir@lamouri.fr>
- Cc: Göran Eriksson <gaperik@gmail.com>, "public-sysapps@w3.org" <public-sysapps@w3.org>
- Message-ID: <CANrNqUcR6rDKB=_f7kfVupScnjwLC1D7w49kWVXHmdBhaGzgcA@mail.gmail.com>
OK, this whole conversation is future talk, not about the current spec, but if we got into it, I answer. On Wed, Oct 24, 2012 at 5:39 PM, Mounir Lamouri <mounir@lamouri.fr> wrote: > On 10/24/2012 02:27 PM, Göran Eriksson wrote: > > Hi > > > > Perhaps a stupid question but may I ask about the assumptions around the > implementation of the API: do You assume it to be directly tied to the > telephony stack on the modem- be that a CS Telephony stack or an IMS based- > or will there be a layer beneath allowing the user/ developer to pick > underlying provider, similar to the approach in some Android API's? > > In my opinion, this API should only take care of the hardware telephony > stack. At the current version of the proposal, this is happening indeed, that's what we agreed. However, the question is very relevant, since we are not in the 90's any more and IMS, RCS, VoLTE do raise issues. Our focus in this API development is all kinds of dialers that may add value compared to the basic ones. So they will need exactly these sort of features the question was about. You probably know that e.g. VoLTE is SIP with (often proprietary) 3GPP extensions working together with CS telephony, and it's knocking on the door. We need to cover at least the domain selection use case. With RCS there will be other inter-domain use cases. I would like to have an API which can handle these, especially if it doesn't take many changes. But that is future development anyway. > Open protocols like XMPP or SIP or closed ones like Google Voice > or Skype can be implemented without a full API on top. Of course we can, and will have dedicated VoIP APIs. I am pretty sure there will be JS bindings to Skype and others, even for full frameworks like Telepathy, which can handle both CS and VoIP too. We could also have JS bindings to full CS telephony middleware like oFono. However, in any case we will need a standard API to control calls and manage policy between the VoIP calls and CS calls, and middleware for handling audio and video policy. All these calls can have specific properties characteristic to their kind, but the common things could be managed by the API we are working on. Note that the Telephony API is not a full API either, not even for the CS telephony stack. The subset what we define for telephony is also enough for controlling VoIP calls, and to implement local policies like "should incoming CS calls put on hold SIP calls" etc. There are also enterprise VoIP networks with handover from CS calls when you enter the enterprise zone. All these use cases would be easy to cover by a minimal extension of the current Telephony API. I understand the wish to not overengineer the API, if we can get a lot of use cases covered for minimal change, and it would still continue to work in a simple way with the old use cases. Besides, we are not targeting generic app or game developers, but ones who will write dialers (including operators), so they will know about telephony... This is a system API, so let us design it with keeping that in mind. > If we allow the > Web Platform to create and use TCP/UDP raw sockets, there is no reasons > why a Javascript library couldn't implement a wrapper around SIP and > XMPP. And that will or could look much like the Telephony API. There are some protocol state differences, and connectivity/service setup differences, but we use UI interaction states for calls in the current API rather than protocol states, and the API focuses on controlling the calls, not on service initialization. I have worked with all these protocols, and also on products that manage all of the above using the same API for the common things. In my experience this approach is clearly simpler and covers use cases and corner cases better. I agree there will be products which won't care about this level of integration at their targeted use cases. But the API should be designed so that it does not decide this instead of its users. Anyway, let the code speak: we will see how much we can get for what changes in the specifications. > Requesting this to be in the Web Platform just increase to cost > for any new comer to comply with the Web Standards and will uselessly > bloat it. > > Not at all bloat it, and not uselessly: this is rude generalization without knowing the proposal. For platforms which don't support e.g. VoIP, will just support CS telephony, and they need to implement minimal extra functionality for telling which telephony services they support (may be just one). I propose that we move on with approving the current version of the Telephony API, and wait with this discussion until you see the proposed changes. Regards, Zoltan
Received on Wednesday, 24 October 2012 17:22:46 UTC