Control Telephone Calls From the Browser!
Control telephone calls from the browser, yes browser! But Mozilla Mobile Browser as of now.
The phone functionality can be used with the help of navigator.mozTelephony, which is part of the WebTelephony API.
P.S : This is a nonstandard API and is subjected to change and works only with Firefox Mobile (Gecko) 12.
Here is a simple code example of playing with the mozTelephony API :
// Telephony object var tel = navigator.mozTelephony;
// Check if the phone is muted (read/write property) console.log(tel.muted);
// Check if the speaker is enabled (read/write property) console.log(tel.speakerEnabled);
// Place a call var call = tel.dial(โ123456789โ);
// Events for that call call.onstatechange = function (event) {
/*
Possible values for state:
"dialing", "ringing", "busy", "connecting", "connected",
"disconnecting", "disconnected", "incoming"
*/
console.log(event.state);
};
// Above options as direct events call.onconnected = function () {
// Call was connected
};
call.ondisconnected = function () {
// Call was disconnected
};
// Receiving a call tel.onincoming = function (event) {
var incomingCall = event.call;
// Get the number of the incoming call
console.log(incomingCall.number);
// Answer the call
incomingCall.answer();
};
// Disconnect a call call.hangUp();
// Iterating over calls, and taking action depending on their changed status tel.oncallschanged = function (event) {
tel.calls.forEach(function (call) {
// Log the state of each call
console.log(call.state);
});
};
Hope this becomes a standard in all Mobile Browser one fine day! Anyway cheers to Mozilla team from making this API!
About Hemanth HM
Hemanth HM is a Sr. Machine Learning Manager at PayPal, Google Developer Expert, TC39 delegate, FOSS advocate, and community leader with a passion for programming, AI, and open-source contributions.