WebAPI/WebTelephony: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 8: Line 8:
     TelephonyCall dial(DOMString number); // Returns a object in "dialing" state
     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 speakerEnabled;
    
    
     attribute any active; // Active call, for now. Could be a group in the future.
     attribute any active; // Active call, for now. Could be a group in the future.
Line 16: Line 16:
     void startTone(DOMString tone);
     void startTone(DOMString tone);
     void stopTone();
     void stopTone();
    void sendTones(DOMString tones,
                  [optional] unsigned long toneDuration,
                  [optional] unsigned long intervalDuration);
    
    
     attribute Function onincoming;
     attribute Function onincoming;

Revision as of 08:56, 22 February 2012

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 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;
 }
 
 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 disconnect();
 }
 
 interface CallEvent : Event {
   readonly attribute TelephonyCall call;
 }