Web Telephony API

This API is available on Firefox OS for internal applications only.

Web Telephony is an API that makes it possible for web content to handle voice phone calls using JavaScript.

Concepts and usage

The Web Telephony API was created by Mozilla to satisfy the requirements for an API to control Firefox OS telephony capabilities. It is an internal-only API, because allowing 3rd party developers to gain control over such a critical device function is a major security concern.

The API's entry point is via the Navigator.mozTelephony property. This returns a Telephony object that provides access to the device's telephony system, with methods and properties for controlling the microphone and speakerphone, generating dial tones (DTMF), starting and receiving calls, and more.

When a call is initiated, either started by the device using Telephony.dial(), or received from elsewhere via the Telephony.onincoming handler, a TelephonyCall object is created to represent the call. This can be manipulated via its properties and methods to allow programmatic answering, hanging up, and putting on hold of calls, responding to different call states, and much more.

The TelephonyCallGroup interface is also available, for representing and controlling multi-person calls.

Note: For sample code showing how to get started with Web Telephony API, see Using the Web Telephony API.

Manifest permissions

To use this API in a Firefox OS app, the manifest.webapp file needs to contain the following:

JavaScript
"type": "certified",
"permissions": {
  "telephony": {
    "description": "Required to control telephony functions"
  }
},

Web telephony interfaces

Navigator.mozTelephony
The entry point for the Web Telephony API; allows access to the Telephony object.
Telephony
Provides control over device telephony functions.
TelephonyCall
Represents a telephone call, allowing control over functions such as answering and hanging up the call.
MMICall
Represents an MMI call, allowing us to receive the result of the call.
TelephonyCallGroup
Represents a multi-person call, providing functions to allow callers to be added and removed from the conference call, hanging up of the entire call, and more.
CallEvent
Represents events related to telephone calls.

Specifications

Specification Status Comment
Web Telephony Draft Draft

Browser compatibility

For obvious reasons, support is primarily expected on mobile browsers.

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support No support No support No support No support No support
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support No support 12.0 (12.0) 1.0.1 No support No support No support

See also

Using the Web Telephony API

License

© 2016 Mozilla Contributors
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-us/docs/web/api/web_telephony_api

API Firefox OS Landing Phone Telephony Voice Web Telephony WebAPI