Changes

Jump to: navigation, search

WebAPI/WebTelephony

70 bytes added, 03:17, 21 March 2012
m
Reformat the interface block.
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 speakerEnabled; attribute any active; // Active call, for now. Could be a group in the future. readonly attribute TelephonyCall[] calls; void startTone(DOMString tone); void stopTone(); attribute Function onincoming; attribute Function oncallschanged;
}
interface TelephonyCall : EventTarget { readonly attribute DOMString number; readonly attribute DOMString state; // "dialing", "ringing", "busy", "connecting", "connected", "disconnecting", "disconnected", "incoming" attribute Function onstatechange; 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 hangUp();
}
interface CallEvent : Event { readonly attribute TelephonyCall call;
}
 
=== Proposal: Enhance telephony call states to hold a call ===
*Scenario #3: User wants to hold a call when there's no waiting call<br>User can |HoldCall()| to change the call state from CALL_STATE_CONNECTED to CALL_STATE_HELD. User can |ResumeCall()| to make a call from CALL_STATE_HELD back to <br>CALL_STATE_CONNECTED.
[[Image:Proposal_TelephonyCallStatesProposal TelephonyCallStates.png]]<br> 
=== Proposal: Enhance WebTelephony API to hold a call ===
interface nsIDOMTelephony&nbsp;: nsIDOMEventTarget<br> {<br> nsIDOMTelephonyCall dial(in DOMString number); attribute boolean muted;<br> attribute boolean speakerEnabled; // The call that is "active", i.e. receives microphone input and tones<br> // generated via startTone.<br> readonly attribute jsval active; // Array of all calls that are currently connected.<br> readonly attribute jsval calls; void startTone(in DOMString tone);<br> void stopTone(); attribute nsIDOMEventListener onincoming;<br> attribute nsIDOMEventListener onwaiting; //new<br> attribute nsIDOMEventListener oncallschanged;<br> }; interface nsIDOMTelephonyCall&nbsp;: nsIDOMEventTarget<br> {<br> readonly attribute DOMString number;<br> readonly attribute DOMString state;<br> // "dialing", "ringing", "busy", "connecting", "connected", "disconnecting", "disconnected", "incoming",<br> // Add new states: "waiting", "holding", "held", "resuming" void answer(); //make an incoming call or a waiting call into <br> //"connected"<br> void hangUp(); <br> void holdCal(); //change a connected call into "held"<br> void resumeCall(); //change a "held" call into connected attribute nsIDOMEventListener onstatechange; attribute nsIDOMEventListener ondialing;<br> attribute nsIDOMEventListener onringing;<br> attribute nsIDOMEventListener onbusy;<br> attribute nsIDOMEventListener onconnecting;<br> attribute nsIDOMEventListener onconnected;<br> attribute nsIDOMEventListener ondisconnecting;<br> attribute nsIDOMEventListener ondisconnected;<br> <br> // attribute nsIDOMEventListener onincoming;<br> attribute nsIDOMEventListener onholding; //new<br> attribute nsIDOMEventListener onheld; //new<br> attribute nsIDOMEventListener onresuming; //new<br> }; <br>
Confirm
346
edits

Navigation menu