WebAPI/WebTelephony
< WebAPI
Jump to navigation
Jump to search
Proposed API
navigator.telephony would return an object with the following interface
interface Telephony : EventTarget {
attribute boolean muted; // Should these live on the call/group?
attribute boolean speakerOn;
attribute double speakerVolume;
attribute boolean doNotDisturb; // Automatically drops calls. Not sure if needed. Only seems needed
// if supported as a network feature.
attribute any active; // Either a call or a group
readonly attribute TelephonyCall[] liveCalls;
readonly attribute CallGroup[] liveGroups;
void startTone(DOMString tone);
void stopTone();
void sendTones(DOMString tones,
[optional] unsigned long toneDuration,
[optional] unsigned long intervalDuration);
attribute Function onincoming;
}
[Constructor(DOMString)]
interface TelephonyCall : EventTarget {
readonly attribute DOMString number;
readonly attribute DOMString readyState; // "calling", "incomming", "connected", "closed", "busy"
// Can we get info on when a call goes from "trying to place call" to "calling"?
attribute Function onconnect;
attribute Function ondisconnect;
attribute Function onbusy;
attribute CallGroup? group;
void answer(); // Should this make the call the active one?
void disconnect();
// void hold(); Not sure if needed for now. We might need to remake group APi to make it async
// void resume();
}
[Constructor()]
interface CallGroup {
TelephonyCall item(unsigned long index);
readonly attribute unsigned long length;
}
interface CallEvent : Event {
readonly attribute TelephonyCall call;
}