WebAPI/WebTelephony: Difference between revisions

Jump to navigation Jump to search
consolidate and update WebTelephony
(consolidate and update WebTelephony)
Line 1: Line 1:
== Goals ==
== Goals ==


The aim of WebTelephony is to establish a DOM API, which allows web content to dial out and mediate incoming calls.
The aim of WebTelephony is to establish a DOM API, which allows web content to dial out and mediate calls, i.e. answer, reject, hold or resume a call.


== Status ==
== Status ==
Line 7: Line 7:
WebTelephony meta bug: {{bug|674726}}
WebTelephony meta bug: {{bug|674726}}


B2G meta telephony bug: {{bug|699235}}
B2G telephony meta bug: {{bug|699235}}


== Implementation Specifics ==
== Implementation Specifics ==


=== DOM API ===
=== Telephony call states ===


=== Proposal: Enhance telephony call states to hold a call  ===
The diagram below shows the current design of B2G telephony call states.  
 
The diagram below shows the current design of B2G telephony call states (white blocks) and the proposal for holding a call (yellow blocks).  


<br>  
<br>  
Line 27: Line 25:
&nbsp;[[Image:Proposal TelephonyCallStates v2.png|842x936px|Proposal of telephony call states to support call holding]]<br>
&nbsp;[[Image:Proposal TelephonyCallStates v2.png|842x936px|Proposal of telephony call states to support call holding]]<br>


=== Proposal: Enhance WebTelephony API to hold a call  ===
=== DOM API ===


interface nsIDOMTelephony: nsIDOMEventTarget
interface nsIDOMTelephony: nsIDOMEventTarget
  {
  {
   nsIDOMTelephonyCall dial(in DOMString number);
   nsIDOMTelephonyCall dial(in DOMString number);
Line 47: Line 45:
   
   
   attribute nsIDOMEventListener onincoming;
   attribute nsIDOMEventListener onincoming;
    
   attribute nsIDOMEventListener oncallschanged;
  //attribute nsIDOMEventListener oncallschanged;
 
  /* new events */
  attribute nsIDOMEventListener onoutgoing;
  attribute nsIDOMEventListener onconnected;
  attribute nsIDOMEventlistener ondisconnected;  
  };
  };
   
   
Line 60: Line 52:
   readonly attribute DOMString number;
   readonly attribute DOMString number;
   
   
   // "dialing", "alerting", "busy", "connecting", "connected", "disconnecting", "disconnected", "incoming"
   // "dialing", "alerting", "busy", "connecting", "connected", "disconnecting", "disconnected", "incoming", "holding", "held", "resuming"
  // Add new states: "holding", "held", "resuming"
   readonly attribute DOMString state;
   readonly attribute DOMString state;
   
   
Line 74: Line 65:
   attribute nsIDOMEventListener onstatechange;
   attribute nsIDOMEventListener onstatechange;
   
   
   //attribute nsIDOMEventListener ondialing;
   attribute nsIDOMEventListener ondialing;
 
   attribute nsIDOMEventListener onalerting;
   attribute nsIDOMEventListener onalerting;
   attribute nsIDOMEventListener onbusy;
   attribute nsIDOMEventListener onbusy;
Line 82: Line 72:
   attribute nsIDOMEventListener ondisconnecting;
   attribute nsIDOMEventListener ondisconnecting;
   attribute nsIDOMEventListener ondisconnected;
   attribute nsIDOMEventListener ondisconnected;
   attribute nsIDOMEventListener onincoming;
   // attribute nsIDOMEventListener onincoming;
  /* new events */
   attribute nsIDOMEventListener onholding;  
   attribute nsIDOMEventListener onholding;  
   attribute nsIDOMEventListener onheld;  
   attribute nsIDOMEventListener onheld;  
   attribute nsIDOMEventListener onresuming;  
   attribute nsIDOMEventListener onresuming;  
  };
  };
Confirmed users
978

edits

Navigation menu