当您使用语音服务的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
常见问题
相关阅读
语音服务各功能的回执消息数据结构: