WebAPI/WebTelephony
< WebAPI
Jump to navigation
Jump to search
Proposed API
(lkcl29dec11: remember also to include data calls as well as voice calls, so that internet access can be initiated)
navigator.telephony would return an object with the following interface
interface Telephony : EventTarget { TelephonyCall dial(DOMString number); // Returns a object in "dialing" state 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; } interface TelephonyCall : EventTarget { readonly attribute DOMString number; readonly attribute DOMString readyState; // "dialing", "ringing", "busy", "connecting", "connected", "disconnecting", "disconnected", "incoming" attribute Function onreadystatechange; attribute Function onringing; attribute Function onbusy; attribute Function onconnecting; attribute Function onconnected; attribute Function ondisconnecting; attribute Function ondisconnected; void answer(); // Should this make the call the active one? void disconnect(); // void hold(); These need to be made async. Also not sure if they are needed with a proper async 3-way API // void resume(); } interface CallEvent : Event { readonly attribute TelephonyCall call; }