WebAPI/WebTelephony: Difference between revisions
< WebAPI
Jump to navigation
Jump to search
No edit summary |
(mention that data calls also need to be included as well as voice calls) |
||
Line 1: | Line 1: | ||
== Proposed API == | == 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 | navigator.telephony would return an object with the following interface |
Revision as of 09:10, 29 December 2011
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; }