Adds a module for sending DTMF tones.

pull/232/merge
Boris Grozev 10 years ago
parent ecf9c6fc6b
commit 795ec24246
  1. 1
      app.js
  2. 44
      modules/DTMF/DTMF.js
  3. 1
      modules/xmpp/xmpp.js

@ -15,6 +15,7 @@ var APP =
this.keyboardshortcut = require("./modules/keyboardshortcut/keyboardshortcut");
this.translation = require("./modules/translation/translation");
this.settings = require("./modules/settings/Settings");
this.DTMF = require("./modules/DTMF/DTMF");
}
};

@ -0,0 +1,44 @@
/* global APP */
/**
* A module for sending DTMF tones.
*/
var DTMFSender;
var initDtmfSender = function() {
// TODO: This needs to reset this if the peerconnection changes
// (e.g. the call is re-made)
if (DTMFSender)
return;
var localAudio = APP.RTC.localAudio;
if (localAudio && localAudio.getTracks().length > 0)
{
var peerconnection =
APP.xmpp.getConnection().jingle.activecall.peerconnection.peerconnection;
if (peerconnection) {
DTMFSender =
peerconnection.createDTMFSender(localAudio.getTracks()[0]);
console.log("Initialized DTMFSender");
}
else {
console.log("Failed to initialize DTMFSender: no PeerConnection.");
}
}
else {
console.log("Failed to initialize DTMFSender: no audio track.");
}
};
var DTMF = {
sendTones: function (tones) {
if (!DTMFSender)
initDtmfSender();
if (DTMFSender){
DTMFSender.insertDTMF(tones);
}
}
};
module.exports = DTMF;

@ -142,6 +142,7 @@ function setupEvents() {
}
var XMPP = {
getConnection: function(){ return connection; },
sessionTerminated: false,
/**

Loading…
Cancel
Save