获取Twilio Softphone / Twilio.js传入/传出呼叫的CallSID

时间:2014-06-03 16:14:57

标签: voip twilio

我使用https://www.twilio.com/docs/howto/twilio-client-browser-soft-phone作为模板创建了一个应用程序。我正在尝试为呼入和呼出呼叫记录CallSid,以便我可以在本地标记呼叫并使用Callsid在我的本地数据和twilio的呼叫存储之间建立链接。我可以通过以下方式轻松获取来电的CallSid:

Twilio.Device.incoming(function (conn) {
   if (confirm('Accept incoming call from ' + conn.parameters.From + '?')){
      connection=conn;
      conn.accept();
      callsid = connection.parameters.CallSid;
   }
   else {
      connection=conn;
      conn.reject();
   }
});

但是,我似乎无法从软电话发起的任何拨出电话中获取它。我试过这里:

$("#call").click(function() {
   params = { "tocall" : $('#tocall').val()};
   connection = Twilio.Device.connect(params);
   callsid = connection.parameters.CallSid;
});

在这里:

Twilio.Device.connect(function (conn) {
   $('#status').text("Successfully established call");
   toggleCallStatus();
   callsid = connection.parameters.CallSid;
   // And also tried
  callsid = conn.parameters.CallSid;
});

但是,这两个都返回undefined。我在https://www.twilio.com/docs/client/connection上看到CallSid设置在页面底部的Outgoing .parameters中,所以我认为它应该在其中一个函数调用中可用。

CallSid是否可用于客户端发出的呼叫?如果是这样,我在哪里/如何访问它?

2 个答案:

答案 0 :(得分:1)

嗯,你得到的connection.parameters是空的,你可以通过插入来检查 console.dir(连接)

然而,原因是: Twilio不会为传入连接上的twilio.js V:1.1填充参数 所以请使用twilio.js 1.2使它工作:)

答案 1 :(得分:0)

使用adnanonline推荐的TwilioJS 1.2是正确的选择。此版本设置了所有适当的参数供您访问。

//static.twilio.com/libs/twiliojs/1.2/twilio.min.js