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

The TelephonyCallGroup interface of the Web Telephony API represents a multi-person/conference call, providing functions to allow callers to be added and removed from the conference call, hanging up of the entire call, and more.

It is accessed through the Telephony.conferenceGroup property.


TelephonyCallGroup.calls Read only
Returns an array containing all the TelephonyCall objects representing the calls currently added to the call group.
TelephonyCallGroup.state Read only
Returns a DOMString indicating the state of the call group.

Event Handlers

A handler for the callschanged event; this CallEvent event is sent whenever the calls list changes.
A handler for the connected event; this CallEvent event is sent when the phone is connected to the call group.
A handler for the error event; this CallEvent event is sent when an error occurs with the call group.
A handler for the held event; this CallEvent event is sent when the call group is successfully put on hold.
A handler for the holding event; this CallEvent event is sent when an action is taken to put the call group on hold (i.e. the TelephonyCallGroup.hold() method is called.)
A handler for the resuming event; this CallEvent event is sent when an action is taken to resume a previously held call group (i.e. the TelephonyCallGroup.resume() method is called.)
A handler for the statechange event; this CallEvent event is sent when the call group's state (i.e. the value of Telephony.state) changes.


TelephonyCallGroup also inherits methods from its parent, EventTarget.

Adds a specific TelephonyCall object to the call group.
Removes a specific TelephonyCall object from the call group.
Hangs up the entire conference call, i.e. every TelephonyCall object within it.
Puts the entire conference call on hold, i.e. every TelephonyCall object within it.
Resumes a previously held conference call.


// Create your Telephony object
var tel = navigator.mozTelephony;

// Make two calls; assume they are both answered
var call1, call2;
tel.dial(number1).then(call => call1 = call);
tel.dial(number2).then(call => call2 = call);

// Add both calls to the conference call
// Two entries will appear in conference.calls (call1, call2)
// but nothing in tel.calls
var conference = tel.conferenceGroup;
conference.add(call1, call2);

// Make another call; this will appear in tel.calls, not conference.calls
var call3;
tel.dial(number3).then(call => call3 = call);

// Add call3 to the conference; it will now appear in conference.calls too

// Remove call2 from the conference
// Now we have two entries in conference.calls (call1, call3)
// and one entry in telephony.calls (call2)

// Hang up the entire conference call
// only one entry now remains, in telephony.calls (call2)


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
hangUp() No support 34.0 (34.0) 2.1 No support No support No support

See also

Document Tags and Contributors

 Contributors to this page: chrisdavidmills, teoli
 Last updated by: chrisdavidmills,