从浏览器拨打电话时,如何以编程方式告知呼叫何时被应答?

时间:2014-06-22 02:31:00

标签: javascript python twilio

我正在使用Flask编写一个Web客户端,并集成Twilio让我从浏览器拨打电话。一切都很好,它主要是工作,但我有一些状态信息,我想要在接听电话时更新。

connection.status()方法似乎没有帮助,因为“打开”似乎意味着呼叫正在尝试通过,并且状态保持打开状态直到我在呼叫结束时“关闭”。 / p>

有没有什么好方法(通过浏览器或通过注册服务器上的python代码回调)来获取状态更新,以便在呼叫从“振铃”转换为“现场”时进行状态更新?

1 个答案:

答案 0 :(得分:7)

对于外拨电话

twilio.js库声明:

Twilio.Device is your main entry point for creating outbound connections, accepting incoming connections, and setting up your connection event handlers.

在Device文档中,它继续声明.status()方法:

Returns the status of the device.

此处的密钥位于代码段中:

Twilio.Device.incoming(function(conn) {
    console.log(conn.parameters.From); 
    conn.status // => "pending"
    conn.accept();
    conn.status // => "connecting"
});

现在关键是要记住,当您在浏览器中进行出站呼叫时,会使用Device.incoming:

The Device.incoming handler function is called when an incoming event is fired. 
This is triggered whenever an incoming connection from an outbound REST call or a TwiML <Dial> to this device is made.

使用上面的代码片段,我能够检查

 conn.status

连接&#34;当连接转换到打开状态和&#34;打开&#34;一旦拨打电话就接听了电话。因此,我可以设置一个标志,并在收到外拨电话后记录。这是使用的TwiML:

<Response>
  <Dial callerId="+1888XXXXXXX">
    {{INSERT PHONE NUMBER HERE}}
  </Dial>
</Response>

以下是设备规范和一般twilio.js库的文档:

http://www.twilio.com/docs/client/device

http://www.twilio.com/docs/client/twilio-js

如果您有任何其他问题,请与我们联系!

感谢您的时间,