簡體   English   中英

從瀏覽器撥打電話時,如何以編程方式告知呼叫何時被應答?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM