I think that building these sorts of features into the web platform at
large is a very bad idea.

I appreciate that we operate under different constraints for Firefox
OS devices that might have native support for IMS on the baseband chip
and that we don't have much hope of convincing the industry of their
folly.  As a certified-only extension, it's still bad, but I recognize
that it may be an inevitability.  Drop the moz/Moz prefixing though.

(I don't have enough time to go through this immediately: my time over
the next two weeks is highly constrained, so forgive me for not
engaging in this thread to the extent that you might like.)

On Tue, Jul 21, 2015 at 11:50 PM, Bevis Tseng <bts...@mozilla.com> wrote:
>
> Hi all,
>
> I am from RIL team in Mozilla Taipei.
> I'm glad to propose you a new module/web api called "IMS Registration
> Manager". It is worth sharing you the details and having suggestion
> and feedback from you! :)
>
> IMS(IP Multimedia Subsystem) is a new infrastructure and is very
> important in mobile network especially for the carriers that enable
> LTE which relies more on IP-based network and technology compared to
> circuit-switched one in 3G/2G mobile network.
>
> With IMS enabled, carriers start to migrate current telephony services
> (Call Control, Text messaging) from legacy network to reduce the
> the maintenance expense on multiple infrastructures(LTE, GSM, CDMA).
> The mirgation takes couple of years. That means multiple technology
> will coexist for a while. Hence, an additional option for user to
> toggle this feature in device side becomes required from both
> carrier's and device vendor's perspective.
> In addition to traditional services, with IMS, carriers can introduce
> rich communication services like video call, video sharing, presence
> and instant-messaging to the users.
>
> This is also a big task to enable IMS in device side, so we'd like to
> work on this step by step. Introducing "IMS Registration Manager" is
> the first step to provide user 2 additional options in settings:
> 1. To enable/disable IMS.
>    There is no obvious difference from UX perspective when making
>    voice call or text messaging even the underlying technology is
>    changed.
>    (Note: audio quality will be better because AMR-WB is introduced.)
> 2. To choose the preferred IMS Porfile to have better service
>    quality according to the network condition where the device user
>    is located. The device will register to IMS network with preferred
>    bearrer that user seleted. Possible options are:
>    [wifi-preferred, wifi-only, cellular-preferred, cellular-only]
>
> Based on these requirements, the following webidl is proposed:
>
> enum ImsCapability {
>   "voice-over-cellular",
>   "voice-over-wifi",
>   "video-over-cellular",
>   "video-over-wifi"
> };
>
> enum ImsProfile {
>   "wifi-preferred",
>   "wifi-only",
>   "cellular-preferred",
>   "cellular-only"
> };
>
> interface MozImsRegManager {
>   getter MozImsRegHandler? handler(unsigned long index);
>          // with multi-sim support, will be null if not supported
>          // by the device configuration.
>
>   readonly attribute unsigned long length;
>                                    // with multi-sim supported, the
>                                    // value will be the same to the
>                                    // number of service-id/radio
>                                    // interfaces available in device.
> };
>
> interface MozImsRegHandler : EventTarget {
>     Promise<void> setEnabled(boolean enabled);
>     Promise<boolean> getEnabled();
>     Promise<void> setPreferredProfile(ImsProfile profile);
>     Promise<ImsProfile> getPreferredProfile();
>
>     readonly attribute ImsCapability? capability;
>                                       // available when ims registered.
>
>     readonly attribute DOMString? error;
>                                   // available when the ims is not
>                                   // registration to provide possible
>                                   // error cause.
>
>     attribute EventHandler oncapabilitychange;
>                            // triggered if capability or error is changed.
> };
>
> partial interface Navigator {
>   [Throws, Pref="dom.ims.enabled",
>    CheckPermissions="ims", // or "mobileconnection"
>    AvailableIn="CertifiedApps", UnsafeInPrerendering]
>   readonly attribute MozImsRegManager mozImsManager;
> };
>
> Any suggestion on this is really appreciated. :)
>
> Thanks,
> Bevis
> _______________________________________________
> dev-platform mailing list
> dev-platf...@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-platform
_______________________________________________
dev-b2g mailing list
dev-b2g@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-b2g

Reply via email to