Talk:WebAPI/WebTelephony: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Proposal for an improved and simplied Telephony API (José M. Cantera, Telefónica I+D)
== Proposal for an improved and simplied Telephony API (José M. Cantera, Telefónica I+D) ==


[[Sensor API]]
[[Sensor API]]
Line 33: Line 33:
   interface IncomingCallEvent : Event {
   interface IncomingCallEvent : Event {
     readonly attribute TelephonySession session;
     readonly attribute TelephonySession session;
  }
== philikon's thoughts ==
* IMHO
  var call = navigator.telephony.dial("numbergoeshere");
is nicer than
  var call = new TelephonyCall("numbergoeshere");
* We have a bunch of telephony-related functionality that's not reflected yet:
** controlling and reading radio power
** reading radio metadata (operator, signal strength, etc.)
** ...
My proposal on this (as a delta to the main proposal):
  interface Telephony {
    void power(bool on);
    EventListener onpowerchange
    EventListener onsignalstrengthchange
    EventListener onoperatorchange
   }
   }

Revision as of 20:44, 30 November 2011

Proposal for an improved and simplied Telephony API (José M. Cantera, Telefónica I+D)

Sensor API

navigator.telephony would return an object with the following interface

 interface Telephony : EventTarget {
   TelephonySession newSession(DOMString number); // Multiple number call??
   readonly attribute TelephonySession liveSession;
   attribute Function onincoming;
 }
 interface TelephonySession : EventTarget {
   readonly attribute DOMString originNumber;
   readonly attribute DOMString number;
   // Do the call
   void call();
  attribute boolean muted; 
  attribute boolean speakerOn;
  void startTone(DOMString tone);
  void stopTone();
  void sendTones(DOMString tones,
                 [optional] unsigned long toneDuration,
                 [optional] unsigned long intervalDuration);
   readonly attribute DOMString readyState; // "calling", "incomming", "connected", "closed", "busy"
   // Can we get info on when a call goes from "trying to place call" to "calling"?
   attribute Function onconnect;
   attribute Function ondisconnect;
   attribute Function onbusy;
   attribute Function onreadystatechange;
   void answer(); 
   void hangUp();
  }
 interface IncomingCallEvent : Event {
   readonly attribute TelephonySession session;
 }

philikon's thoughts

  • IMHO
 var call = navigator.telephony.dial("numbergoeshere");

is nicer than

 var call = new TelephonyCall("numbergoeshere");
  • We have a bunch of telephony-related functionality that's not reflected yet:
    • controlling and reading radio power
    • reading radio metadata (operator, signal strength, etc.)
    • ...

My proposal on this (as a delta to the main proposal):

 interface Telephony {
   void power(bool on);
   EventListener onpowerchange
   EventListener onsignalstrengthchange
   EventListener onoperatorchange
 }