當您使用語音服務的API接口發送外呼后,可以通過MNS消息隊列消費模式或HTTP批量推送模式來接收語音服務的回執消息。
如果出現網絡異常、響應超時等情況,可能導致回執消息推送重復。
HTTP批量推送模式的響應超時時間為700 ms。
使用SDK拉取MNS消息,詳情請參見MNS消息隊列消費模式。
回執消息不保證冪等性,如果開發者后續處理邏輯需要考慮冪等性,需要根據業務場景做合適的冪等處理。
回執消息模式
接收回執消息的模式有MNS消息隊列消費模式和HTTP批量推送模式兩種,您可根據實際情況選擇合適的模式接收回執消息。
MNS消息隊列消費模式
MNS消息隊列消費模式表示通過輕量消息隊列(原 MNS)的Queue模型來接收回執消息。云通信的所有業務消息都支持輕量消息隊列(原 MNS)向外發送。用戶在語音服務控制臺啟用MNS消息服務訂閱指定的消息類型(MessageType)時,系統會自動生成該類型的獨立消息隊列及名稱(QueueName)。用戶可使用此消息隊列名稱(QueueName)和消息類型(MessageType),通過阿里云AccessKey信息換取臨時Token來獲取隊列中的詳細內容。
HTTP批量推送模式
HTTP批量推送模式表示通過HTTP POST方式發送消息到指定的Web URL。在語音服務控制臺設置HTTP回調URL(callback_url)后,當業務消息產生時,系統會使用HTTP請求以POST方式將業務消息發送到指定的回調URL上,用戶可直接接收此消息。
回執消息類型
語音服務提供的回執消息類型(MessageType)如下,您可根據業務需要進行選擇。
名稱 | 描述 | MNS消息隊列消費模式 | HTTP批量推送模式 |
VoiceReport(呼叫記錄消息) | 呼叫結束后獲取呼叫的記錄信息,包括通話類型、通話的開始及結束時間、通話時長、結束原因等。 | ||
VoiceCallReport(呼叫中間狀態消息) | 獲取呼叫過程中的通話狀態的信息,通常包括開始、振鈴、接聽、掛斷以及狀態產生的時間等。 | ||
VoiceRecordReport(錄音記錄消息) | 通話結束后獲取通話的錄音記錄。 |
配置回執消息接收模式
如果需要接受回執消息,必須先在控制臺上開啟消息接收。以下示例為呼叫記錄消息的配置流程。
登錄語音服務控制臺。
在左側導航欄,選擇
。找到需要訂閱的消息類型,開啟指定模式。
MNS消息隊列消費模式
開啟MNS消息隊列消費模式左側的功能開關。
HTTP批量推送模式
開啟HTTP批量推送模式左側的功能開關。
填寫接收地址,并單擊保存。
地址示例:http://push.example.com/contextpath/receive.do
常見問題
相關閱讀
語音服務各功能的回執消息數據結構: