Twilio .sendDigits()不使用WebRTC客户端出站调用

时间:2016-08-26 09:03:57

标签: javascript twilio dtmf

我正在创建一个几乎完成的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 solutionTwilio.connection文档。

1 个答案:

答案 0 :(得分:2)

我能够找到问题所在。我只需要在connect函数中添加connection = conn; ...

Twilio.Device.connect(function (conn) {
        $("#log").text("Successfully established call");
        connection = conn;
      });