简介
当您使用语音的API接口发送外呼后,可以通过使用MNS的Queue模型来接收语音的回执消息。
消息的订阅
云通信的所有业务消息都用过MNS消息服务向外发送。用户每订阅一个类别的消息(比如语音呼叫消息VoiceReport),系统都会为用户分配一个独立的消息队列。用户可以通过阿里云账号拿到一个临时的token用于获取队列中的消息。用户可以下载demo,编写简单的消息处理类即可完成消息处理的任务。在页面上订阅消息,订阅完消息后,能拿到消息队列名称(queueName)。比如:Alicom-Queue-xxxxxx-VoiceReport 。队列名字每个用户都不同。
消息类型
语音提供一种消息类型,呼叫记录消息(VoiceReport)
语音呼叫记录消息VoiceReport消息体格式
名称 | 类型 | 描述 | 示例 | 是否必须 |
call_id | String | 呼叫ID | 100001616500^100001871490 | 必须 |
start_time | String | 通话开始时间,未接通则为空 | 2017-06-01 10:00:00 | 可选 |
end_time | String | 通话结束时间,未接通则为空 | 2017-06-01 10:00:00 | 可选 |
duration | String | 通话时长,未接通为0 | 10 | 可选 |
status_code | String | 呼叫结果状态码 | 200010 | 必须 |
status_msg | String | 结果描述 | 执行完成 | 可选 |
out_id | String | 扩展字段回传,将调用api时传入的字段返回 | 123456 | 可选 |
dtmf | String | DTMF按键 | 123456 | 可选 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云提供了丰富的API和SDK来帮助用户便捷地使用其服务,您提到的是关于语音服务的回执消息处理流程,特别是通过阿里云的消息服务MNS(Message Service)来接收语音呼叫的回执信息。下面我将根据您的描述,简要概述技术对接步骤及关键点:
订阅消息类型:首先,您需要在阿里云控制台针对语音服务订阅特定的消息类型,比如VoiceReport
(语音呼叫记录消息)。一旦订阅成功,系统会为您的账户分配一个专属的消息队列,每个用户的队列名称都是唯一的,例如Alicom-Queue-xxxxxx-VoiceReport
。
获取访问凭证:为了从队列中读取消息,您需要通过阿里云账号获取一个临时的访问令牌(token),这个token用于认证并获取队列中的消息。
准备环境:确保您的开发环境中已安装Python 2.6.5或以上版本。
下载SDK包:从阿里云官方文档或GitHub上找到相关的SDK工具包,它通常包含以下三个部分:
aliyun-python-sdk-core
:核心代码库,支持阿里云API调用。mns_python_sdk
:专门用于MNS消息服务的SDK。aliyunsdkdybaseapi
:云通信服务的基础接口代码,用于获取token和账号信息等。安装SDK:分别进入上述目录,并执行python setup.py install
命令来安装这些依赖库。
编写消息处理逻辑:在安装完SDK后,您可以参考提供的示例代码(如alicom-mns-receive-samples-python
目录下的sample.py
),编写自己的消息处理类。这通常涉及监听队列、解析消息内容以及根据消息内容执行相应的业务逻辑。
执行示例程序:在完成代码修改后,执行python sample.py
来启动程序,开始监听队列并处理收到的VoiceReport
消息。
VoiceReport
消息体的格式,包括call_id
、start_time
、end_time
、duration
、status_code
等字段,以便于正确解析并根据消息状态进行后续操作。通过上述步骤,您可以实现基于阿里云MNS服务的语音呼叫回执消息处理,从而实时监控和管理语音服务的呼叫状态,提升服务质量与效率。