[英]How do I find out when a twilio call has actually been answered when using the JavaScript SDK?
[英]When making a call from the browser, how can I tell programmatically when the call has been answered?
我正在使用Flask編寫一個Web客戶端,並集成Twilio讓我從瀏覽器撥打電話。 一切都很好,它主要是工作,但我有一些狀態信息,我想要在接聽電話時更新。
connection.status()方法似乎沒有幫助,因為“打開”似乎意味着呼叫正在嘗試通過,並且狀態保持打開,直到我在呼叫結束時“關閉”。
有沒有什么好的方法(通過瀏覽器或通過從服務器上的python代碼注冊回調)來獲取狀態更新,以便在呼叫從“振鈴”轉換為“實時”時?
對於外撥電話
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
當連接轉換到打開狀態時“連接”,並且一旦從呼出中接聽呼叫,則“打開”。 因此,我可以設置一個標志,並在收到外撥電話后記錄。 這是使用的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
如果您有任何其他問題,請告訴我!
感謝您的時間,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.