开发者社区 问答 正文

语音回执消息---Python



简介


当您使用语音的API接口发送外呼后,可以通过使用MNS的Queue模型来接收语音的回执消息。

消息的订阅


云通信的所有业务消息都用过MNS消息服务向外发送。用户每订阅一个类别的消息(比如语音呼叫消息VoiceReport),系统都会为用户分配一个独立的消息队列。用户可以通过阿里云账号拿到一个临时的token用于获取队列中的消息。用户可以下载demo,编写简单的消息处理类即可完成消息处理的任务。在页面上订阅消息,订阅完消息后,能拿到消息队列名称(queueName)。比如:Alicom-Queue-xxxxxx-VoiceReport 。队列名字每个用户都不同。

消息类型


语音提供一种消息类型,呼叫记录消息(VoiceReport)

语音呼叫记录消息VoiceReport消息体格式

名称类型描述示例是否必须
call_idString呼叫ID100001616500^100001871490必须
start_timeString通话开始时间,未接通则为空2017-06-01 10:00:00可选
end_timeString通话结束时间,未接通则为空2017-06-01 10:00:00可选
durationString通话时长,未接通为010可选
status_codeString呼叫结果状态码200010必须
status_msgString结果描述执行完成可选
out_idString扩展字段回传,将调用api时传入的字段返回123456可选
dtmfStringDTMF按键123456可选


技术对接步骤



下载消息SDK


SDK工具包中一共包含了3个目录:
aliyun-python-sdk-core:阿里云api调用的核心代码库,python版本。
mns_python_sdk:阿里云mns产品消息订阅sdk代码库。
aliyunsdkdybaseapi:云通信业务(语音、流量、短信)基础接口代码,用于订阅消息时获取token以及账号信息。
确定本机已经安装了python,版本要求:2.6.5 或以上版本。
进入aliyun-python-sdk-core 目录执行:python setup.py install。
进入mns_python_sdk目录执行:python setup.py install。
运行demo示例。进入alicom-mns-receive-samples-python目录执行:python sample.py 。
SDK&DEMO[ 下载地址]

编写样例代码(以短信回执报告为例)

展开
收起
猫饭先生 2017-10-25 13:34:10 2043 分享 版权
阿里云 AI 助理回答

阿里云提供了丰富的API和SDK来帮助用户便捷地使用其服务,您提到的是关于语音服务的回执消息处理流程,特别是通过阿里云的消息服务MNS(Message Service)来接收语音呼叫的回执信息。下面我将根据您的描述,简要概述技术对接步骤及关键点:

1. 消息订阅与队列创建

  • 订阅消息类型:首先,您需要在阿里云控制台针对语音服务订阅特定的消息类型,比如VoiceReport(语音呼叫记录消息)。一旦订阅成功,系统会为您的账户分配一个专属的消息队列,每个用户的队列名称都是唯一的,例如Alicom-Queue-xxxxxx-VoiceReport

  • 获取访问凭证:为了从队列中读取消息,您需要通过阿里云账号获取一个临时的访问令牌(token),这个token用于认证并获取队列中的消息。

2. 下载与安装SDK

  • 准备环境:确保您的开发环境中已安装Python 2.6.5或以上版本。

  • 下载SDK包:从阿里云官方文档或GitHub上找到相关的SDK工具包,它通常包含以下三个部分:

    • aliyun-python-sdk-core:核心代码库,支持阿里云API调用。
    • mns_python_sdk:专门用于MNS消息服务的SDK。
    • aliyunsdkdybaseapi:云通信服务的基础接口代码,用于获取token和账号信息等。
  • 安装SDK:分别进入上述目录,并执行python setup.py install命令来安装这些依赖库。

3. 运行Demo示例

  • 编写消息处理逻辑:在安装完SDK后,您可以参考提供的示例代码(如alicom-mns-receive-samples-python目录下的sample.py),编写自己的消息处理类。这通常涉及监听队列、解析消息内容以及根据消息内容执行相应的业务逻辑。

  • 执行示例程序:在完成代码修改后,执行python sample.py来启动程序,开始监听队列并处理收到的VoiceReport消息。

4. 消息体格式与处理

  • 理解消息结构:熟悉VoiceReport消息体的格式,包括call_idstart_timeend_timedurationstatus_code等字段,以便于正确解析并根据消息状态进行后续操作。

5. 注意事项

  • 权限管理:确保您的阿里云账号有足够的权限来订阅消息和服务。
  • 错误处理:在处理消息时,不要忘记加入异常处理逻辑,以应对网络问题、消息格式错误等情况。
  • 资源清理:如果不再需要某个订阅,记得在控制台取消订阅,避免不必要的费用和资源占用。

通过上述步骤,您可以实现基于阿里云MNS服务的语音呼叫回执消息处理,从而实时监控和管理语音服务的呼叫状态,提升服务质量与效率。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答