你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Python 的 Azure 通信呼叫自动化客户端库 - 版本 1.1.0

此包包含用于 Azure 通信呼叫自动化的 Python SDK。 呼叫自动化使开发人员能够构建基于服务器的智能呼叫工作流,以及语音和 PSTN 通道的呼叫录制。

呼叫自动化 | 概述产品文档

免责声明

对 Python 2.7 的 Azure SDK Python 包支持已于 2022 年 1 月 1 日结束。 有关详细信息和问题,请参阅 https://github.com/Azure/azure-sdk-for-python/issues/20691

入门

先决条件

安装

安装 Azure 通信服务呼叫自动化 SDK。

pip install azure-communication-callautomation

关键概念

名称 说明
CallAutomationClient CallAutomationClient 是使用此客户端库的开发人员的主要接口。 它可用于通过 createCallanswerCall发起调用。 它还可用于执行录制操作,例如 startRecording
CallConnectionClient CallConnectionClient 表示正在进行的调用。 使用 createCallanswerCall建立调用后,可以对调用执行进一步的操作,例如 transferplay_media
回调事件 回调事件是在调用期间发送回的事件。 它提供调用的信息和状态,例如 CallConnectedCallbackUrl必须在 和 answerCall期间createCall提供,并且回调事件将发送到此 URL。
传入呼叫事件 当传入呼叫发生 (可以使用) 应答 answerCall 时,将发送传入呼叫 eventgrid 事件。 这与上述回调事件不同,应在Azure 门户进行设置。 有关详细信息 ,请参阅传入呼叫

示例

初始化 CallAutomationClient

from azure.communication.callautomation import (CallAutomationClient)

# Your unique Azure Communication service endpoint
endpoint_url = '<ENDPOINT>'
client = CallAutomationClient.from_connection_string(endpoint_url)

创建呼叫

from azure.communication.callautomation import (
    CallAutomationClient,
    CommunicationUserIdentifier
)

# target endpoint for ACS User
user = CommunicationUserIdentifier("8:acs:...")

# callback url to receive callback events
callback_url = "https://<MY-EVENT-HANDLER-URL>/events"

# send out the invitation, creating call
result = client.create_call(user, callback_url)

# this id can be used to do further actions in the call
call_connection_id = result.call_connection_id

播放媒体

# using call connection id, get call connection
call_connection = client.get_call_connection(call_connection_id)

# from callconnection of result above, play media to all participants
my_file = FileSource(url="https://<FILE-SOURCE>/<SOME-FILE>.wav")
call_connection.play_media(my_file)

故障排除

后续步骤

提供反馈

如果遇到任何 bug 或有建议,请在项目的“ 问题 ”部分中提出问题

贡献

本项目欢迎贡献和建议。 大多数贡献要求你同意贡献者许可协议 (CLA),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 https://cla.microsoft.com

提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。

此项目已采用 [Microsoft 开源行为准则][code_of_conduct]。 有关详细信息,请参阅“行为准则常见问题解答”,如有其他任何问题或意见,请联系 opencode@microsoft.com。