2013-07-15 12:27:19 +04:00
|
|
|
/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*/
|
|
|
|
|
2013-09-14 23:46:35 +04:00
|
|
|
[Pref="dom.telephony.enabled"]
|
2013-07-15 12:27:19 +04:00
|
|
|
interface TelephonyCall : EventTarget {
|
2013-10-31 16:05:50 +04:00
|
|
|
// Indicate which service the call comes from.
|
|
|
|
readonly attribute unsigned long serviceId;
|
|
|
|
|
2014-04-09 14:17:43 +04:00
|
|
|
readonly attribute TelephonyCallId id;
|
2013-07-15 12:27:19 +04:00
|
|
|
|
2013-08-06 16:07:40 +04:00
|
|
|
// In CDMA networks, the 2nd waiting call shares the connection with the 1st
|
2014-04-09 14:17:43 +04:00
|
|
|
// call. We need an additional attribute for the CDMA waiting call.
|
|
|
|
readonly attribute TelephonyCallId? secondId;
|
2013-08-06 16:07:40 +04:00
|
|
|
|
2015-09-02 06:21:00 +03:00
|
|
|
readonly attribute TelephonyCallState state;
|
2013-07-15 12:27:19 +04:00
|
|
|
|
|
|
|
// The property "emergency" indicates whether the call number is an emergency
|
|
|
|
// number. Only the outgoing call could have a value with true and it is
|
|
|
|
// available after dialing state.
|
|
|
|
readonly attribute boolean emergency;
|
|
|
|
|
2014-02-18 13:30:04 +04:00
|
|
|
// Indicate whether the call state can be switched between "connected" and
|
|
|
|
// "held".
|
|
|
|
readonly attribute boolean switchable;
|
|
|
|
|
|
|
|
// Indicate whether the call can be added into TelephonyCallGroup.
|
|
|
|
readonly attribute boolean mergeable;
|
|
|
|
|
2013-07-15 12:27:19 +04:00
|
|
|
readonly attribute DOMError? error;
|
|
|
|
|
2015-03-26 11:39:39 +03:00
|
|
|
readonly attribute TelephonyCallDisconnectedReason? disconnectedReason;
|
|
|
|
|
2013-07-20 10:46:35 +04:00
|
|
|
readonly attribute TelephonyCallGroup? group;
|
|
|
|
|
2015-01-12 19:52:25 +03:00
|
|
|
[NewObject]
|
2014-12-24 03:34:00 +03:00
|
|
|
Promise<void> answer();
|
2015-01-12 19:52:25 +03:00
|
|
|
[NewObject]
|
2014-12-24 03:34:00 +03:00
|
|
|
Promise<void> hangUp();
|
2015-01-12 19:52:25 +03:00
|
|
|
[NewObject]
|
2014-12-24 03:34:00 +03:00
|
|
|
Promise<void> hold();
|
2015-01-12 19:52:25 +03:00
|
|
|
[NewObject]
|
2014-12-24 03:34:00 +03:00
|
|
|
Promise<void> resume();
|
2013-07-15 12:27:19 +04:00
|
|
|
|
|
|
|
attribute EventHandler onstatechange;
|
|
|
|
attribute EventHandler ondialing;
|
|
|
|
attribute EventHandler onalerting;
|
|
|
|
attribute EventHandler onconnected;
|
|
|
|
attribute EventHandler ondisconnected;
|
|
|
|
attribute EventHandler onheld;
|
|
|
|
attribute EventHandler onerror;
|
2013-07-20 10:46:35 +04:00
|
|
|
|
|
|
|
// Fired whenever the group attribute changes.
|
|
|
|
attribute EventHandler ongroupchange;
|
2013-07-15 12:27:19 +04:00
|
|
|
};
|
2015-03-26 11:39:39 +03:00
|
|
|
|
2015-09-02 06:21:00 +03:00
|
|
|
enum TelephonyCallState {
|
|
|
|
"dialing",
|
|
|
|
"alerting",
|
|
|
|
"connected",
|
|
|
|
"held",
|
|
|
|
"disconnected",
|
|
|
|
"incoming",
|
|
|
|
};
|
|
|
|
|
2015-03-26 11:39:39 +03:00
|
|
|
enum TelephonyCallDisconnectedReason {
|
|
|
|
"BadNumber",
|
|
|
|
"NoRouteToDestination",
|
|
|
|
"ChannelUnacceptable",
|
|
|
|
"OperatorDeterminedBarring",
|
|
|
|
"NormalCallClearing",
|
|
|
|
"Busy",
|
|
|
|
"NoUserResponding",
|
|
|
|
"UserAlertingNoAnswer",
|
|
|
|
"CallRejected",
|
|
|
|
"NumberChanged",
|
|
|
|
"CallRejectedDestinationFeature",
|
|
|
|
"PreEmption",
|
|
|
|
"DestinationOutOfOrder",
|
|
|
|
"InvalidNumberFormat",
|
|
|
|
"FacilityRejected",
|
|
|
|
"ResponseToStatusEnquiry",
|
|
|
|
"Congestion",
|
|
|
|
"NetworkOutOfOrder",
|
|
|
|
"NetworkTempFailure",
|
|
|
|
"SwitchingEquipCongestion",
|
|
|
|
"AccessInfoDiscarded",
|
|
|
|
"RequestedChannelNotAvailable",
|
|
|
|
"ResourceUnavailable",
|
|
|
|
"QosUnavailable",
|
|
|
|
"RequestedFacilityNotSubscribed",
|
|
|
|
"IncomingCallsBarredWithinCug",
|
|
|
|
"BearerCapabilityNotAuthorized",
|
|
|
|
"BearerCapabilityNotAvailable",
|
|
|
|
"BearerNotImplemented",
|
|
|
|
"ServiceNotAvailable",
|
|
|
|
"IncomingCallExceeded",
|
|
|
|
"RequestedFacilityNotImplemented",
|
|
|
|
"UnrestrictedBearerNotAvailable",
|
|
|
|
"ServiceNotImplemented",
|
|
|
|
"InvalidTransactionId",
|
|
|
|
"NotCugMember",
|
|
|
|
"IncompatibleDestination",
|
|
|
|
"InvalidTransitNetworkSelection",
|
|
|
|
"SemanticallyIncorrectMessage",
|
|
|
|
"InvalidMandatoryInfo",
|
|
|
|
"MessageTypeNotImplemented",
|
|
|
|
"MessageTypeIncompatibleProtocolState",
|
|
|
|
"InfoElementNotImplemented",
|
|
|
|
"ConditionalIe",
|
|
|
|
"MessageIncompatibleProtocolState",
|
|
|
|
"RecoveryOnTimerExpiry",
|
|
|
|
"Protocol",
|
|
|
|
"Interworking",
|
|
|
|
"Barred",
|
|
|
|
"FDNBlocked",
|
|
|
|
"SubscriberUnknown",
|
|
|
|
"DeviceNotAccepted",
|
|
|
|
"ModifiedDial",
|
|
|
|
"CdmaLockedUntilPowerCycle",
|
|
|
|
"CdmaDrop",
|
|
|
|
"CdmaIntercept",
|
|
|
|
"CdmaReorder",
|
|
|
|
"CdmaSoReject",
|
|
|
|
"CdmaRetryOrder",
|
|
|
|
"CdmaAcess",
|
|
|
|
"CdmaPreempted",
|
|
|
|
"CdmaNotEmergency",
|
|
|
|
"CdmaAccessBlocked",
|
|
|
|
"Unspecified",
|
|
|
|
};
|