WebAPI/WebTelephony: Difference between revisions
< WebAPI
Jump to navigation
Jump to search
No edit summary |
|||
Line 4: | Line 4: | ||
interface Telephony : EventTarget { | 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 muted; // Should these live on the call/group? | ||
attribute boolean speakerOn; | attribute boolean speakerOn; | ||
Line 24: | Line 25: | ||
} | } | ||
interface TelephonyCall : EventTarget { | interface TelephonyCall : EventTarget { | ||
readonly attribute DOMString number; | readonly attribute DOMString number; | ||
readonly attribute DOMString readyState; // " | readonly attribute DOMString readyState; | ||
// "dialing", "ringing", "busy", "connecting", "connected", "disconnecting", "disconnected", "incoming" | |||
attribute Function | |||
attribute Function | attribute Function onreadystatechange; | ||
attribute Function onringing; | |||
attribute Function onbusy; | attribute Function onbusy; | ||
attribute Function onconnecting; | |||
attribute | attribute Function onconnected; | ||
attribute Function ondisconnecting; | |||
attribute Function ondisconnected; | |||
void answer(); // Should this make the call the active one? | void answer(); // Should this make the call the active one? | ||
void disconnect(); | void disconnect(); | ||
// void hold(); | // void hold(); These need to be made async. Also not sure if they are needed with a proper async 3-way API | ||
// void resume(); | // void resume(); | ||
} | } | ||
Revision as of 23:55, 1 December 2011
Proposed API
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; }