- From: JOSE MANUEL CANTERA FONSECA <jmcf@tid.es>
- Date: Thu, 25 Apr 2013 10:50:06 +0000
- To: "Kis, Zoltan" <zoltan.kis@intel.com>
- Cc: "public-sysapps@w3.org" <public-sysapps@w3.org>, Jonas Sicking <jonas@sicking.cc>, Mounir Lamouri <mounir@lamouri.fr>, "mandyam@quicinc.com" <mandyam@quicinc.com>, "Sullivan, Bryan" <bs3131@att.com>, "DRUTA, DAN" <dd5826@att.com>, EDUARDO FULLEA CARRERA <efc@tid.es>, Hsin-Yi Tsai <htsai@mozilla.com>
Hsin.Yi made very good points below. I think the current proposal with two
Telephony-realted objects in navigator is weird. If we go forward with
multiple objects let's do it consistently
best
El 18/04/13 10:58, "Hsin-Yi Tsai" <htsai@mozilla.com> escribi¨®:
>Hi Zoltan,
>
>I am not sure I got a clear difference between the interfaces
>TelephonyManager and TelephonyService. I am a little confused at the
>purpose and definition of TelephonyManager in this proposal. For
>example, I am wondering shouldn't onincoming and oncallschanged be
>exposed on TelephonyService since we can't receive any calls without
>telephony service, and since you propose a separate API for that
>service. It seems not intuitive to me that we use TelephonyService to
>make an outgoing call but receive incoming calls via TelephonyManager.
>Also, shouldn't each telephony service contain its calls?
>
>In this proposal navigator.telephony is 'active' telephony service
>according to the comment. It looks not so right to me because there
>could be more than 1 active service at that same time. Isn't it? Or
>please let me know if I misunderstood something. Thanks!
>
>Best regards,
>Hsinyi
>
>On 2013Äê04ÔÂ17ÈÕ 22:13, Kis, Zoltan wrote:
>> Hello,
>>
>> Here is an alternative way to do Telephony, compatible with the
>> previous version, but cleaner, better aligned with how telephony
>> works, more extensible, and also aligned with the Messaging API.
>>
>> I kindly ask for comments at least from the persons named in the To
>>field :).
>>
>> In the current API we support multiple services, but they are not
>> exposed as objects.
>> Only the serviceId's can be seen, and specified as parameters for
>> methods like dial(), sendTones(), startTone(), stopTone(), and also
>> for errors (e.g. on which service the error occured).
>>
>> Also, there were requests to support telephony services (like network
>> selection, SIM info, call barring, call forwarding, USSD, etc) in
>> Phase 2, the TelephonyService objects will likely be exposed in the
>> API, but of course documented in a separate specification.
>>
>> The proposal here is to encapsulate the telephony service specific
>> methods and error handling to service objects (just like with
>> messaging), and expose the default service on the navigator object,
>> along with the telephony manager object.
>> This keeps the example unchanged:
>> var telCall = navigator.telephony.dial('+1234567890');
>>
>> This design could also be applied to Messaging (in a separate email,
>> later, eventually), by exposing an active/default service for sms,
>> mms, (im, email) and the messagingManager.
>>
>> For comparison, the current design can be seen at
>> http://telephony.sysapps.org/ .
>>
>> The WebIDL for the alternative proposal is here:
>>
>> ======================
>>
>> partial interface Navigator {
>> readonly attribute TelephonyManager telephonyManager;
>> attribute TelephonyService telephony; // active telephony service
>> };
>>
>> [NoInterfaceObject]
>> interface TelephonyManager : EventTarget {
>> readonly attribute CallHandler? activeCall;
>> readonly attribute CallHandler[] calls;
>> readonly attribute TelephonyService[] services;
>>
>> attribute EventHandler onincoming; // for incoming and waiting
>> attribute EventHandler oncallschanged;
>> attribute EventHandler onserviceadded;
>> attribute EventHandler onserviceremoved;
>> };
>>
>> [NoInterfaceObject]
>> interface TelephonyService : EventTarget {
>> readonly attribute DOMString serviceId;
>> attribute DOMString displayName; // to be shown in a
>>UI
>> attribute boolean enabled;
>> readonly attribute DOMString provider;
>> readonly attribute DOMString type;
>> readonly attribute DOMError error;
>> readonly attribute DOMString[] emergencyNumbers;
>>
>> attribute EventHandler onerror;
>>
>> TelephonyCall dial(DOMString remoteParty, optional DialParams
>>params);
>> TelephonyCall dialEmergency();
>> void sendTones(DOMString tones, optional ToneParams params);
>> void startTone(DOMString tone);
>> void stopTone();
>> };
>>
>> [NoInterfaceObject]
>> interface TelephonyEvent : Event {
>> readonly attribute TelephonyCall call;
>> };
>>
>> [NoInterfaceObject]
>> interface TelephonyServiceEvent : Event {
>> readonly attribute TelephonyService service;
>> };
>>
>> dictionary ToneParams {
>> unsigned long duration;
>> unsigned long gap;
>> };
>>
>> dictionary DialParams {
>> boolean hideCallerId;
>> // later: e.g. video related settings
>> };
>> ======================
>>
>> An example on how cellular services could be implemented in Phase 2
>> (shown here in order to demonstrate forward compatibility):
>>
>> interface CellularService : TelephonyService {
>> // telephony service (provider + SIM + modem) related interfaces
>> // if an interface is not supported, the property is null
>> readonly attribute SimInfo? siminfo; // IMSI, MCC,
>>MNC, ...
>> readonly attribute SimSettings? simsettings; //PIN, PUK,
>>...
>> readonly attribute SimToolkit? simtoolkit;
>> readonly attribute TelephonyNetwork? network;
>> readonly attribute CallForwarding? forwarding;
>> readonly attribute CallBarring? barring;
>> readonly attribute CallMeters? meters; // costs
>> readonly attribute USSD? ussd; // USSD, ...
>> // further extensible
>> };
>>
>> Note that this proposal is independent from how conference calls are
>>handled.
>>
>> Best regards,
>> Zoltan
>>
>
>--
>Hsin-Yi Tsai ²ÌÐÀÒË
>Mozilla Taiwan
>T: +886-2-87861100 ext:312
>htsai@mozilla.com
>
>
>
________________________________
Este mensaje se dirige exclusivamente a su destinatario. Puede consultar nuestra pol¨ªtica de env¨ªo y recepci¨®n de correo electr¨®nico en el enlace situado m¨¢s abajo.
This message is intended exclusively for its addressee. We only send and receive email on the basis of the terms set out at:
http://www.tid.es/ES/PAGINAS/disclaimer.aspx
Received on Thursday, 25 April 2013 10:54:20 UTC