我正在创建一个几乎完成的Twilio WebRTC软电话。我需要代理能够在出站呼叫过程中手动输入任何10位DTMF按键音。我正在使用.sendDigits()
功能,但它不会在通话中产生按键音。我的所有其他功能都有效,但我有点卡住......
<script type="text/javascript">
Twilio.Device.setup("<?php echo $token; ?>");
Twilio.Device.ready(function (device) {
$("#log").text("Client '<?php echo $clientName ?>' is ready");
});
Twilio.Device.error(function (error) {
$("#log").text("Error: " + error.message);
});
Twilio.Device.connect(function (conn) {
$("#log").text("Successfully established call");
});
Twilio.Device.disconnect(function (conn) {
$("#log").text("Call ended");
});
var connection;
Twilio.Device.incoming(function(conn) {
connection = conn;
$("#number").val(conn.parameters.From);
var ss= "Incomging Call:\n"+conn.parameters.From;
$("#log").text("Incoming connection from " + conn.parameters.From);
//enable the accept button
$(".accept").prop('disabled', false);
});
function accept() {
connection.accept();
}
function call() {
// get the phone number to connect the call to
params = {"PhoneNumber": $("#number").val()};
Twilio.Device.connect(params);
}
function hangup() {
Twilio.Device.disconnectAll();
}
function senddigits() {
if (connection!=null)
connection.sendDigits("1");
}
</script>
我用一个简单的按钮调用该函数......
<button onclick="senddigits();">1</button>
我的代码基于this solution和Twilio.connection文档。
答案 0 :(得分:2)
我能够找到问题所在。我只需要在connect函数中添加connection = conn;
...
Twilio.Device.connect(function (conn) {
$("#log").text("Successfully established call");
connection = conn;
});