Voice

什么是语音 API?

语音 API 让应用程序通过文档化的软件接口配置、控制或检查电话呼叫。

回呼、电话菜单和语音助手使用呼叫平台的不同部分。

语音 API 可以控制什么?

语音 API 可以暴露配置、呼叫控制和报告功能,支持的操作由提供商定义。

配置涵盖中继线、主叫身份、目的地和号码路由。呼叫控制涵盖会话中的行为,例如语音提示或按键输入。报告返回呼叫的状态、时长和其他记录的结果。

不同提供商以不同方式实现呼叫控制。例如,Twilio 的 TwiML 通过返回给 Twilio 的指令描述操作。因此迁移应用程序意味着映射其行为和回调预期,而不仅仅是替换主机名。

读取呼叫的方法不等于发起呼叫的操作。

API 和 SIP 如何协同工作?

应用程序 API 可以配置或控制服务,而 SIP 在其下层建立电话会话。

SIP 是呼叫信令协议,用于创建、修改和终止会话,并协商参与者的连接方式。RTP 承载音频等实时媒体。

这些路径可以独立失败。呼叫可能在振铃,但媒体设置或网络路径阻止了某一方听到对方的声音。除了振铃和挂断之外,还要测试双向音频。

PBX(企业电话路由系统)可以保留自身的呼叫处理逻辑,同时使用提供商的 SIP 中继线。对话式运行时可以使用类似的连接,同时自行提供语音和业务工具。

我可以读取哪些呼叫信息?

通话记录标识该次尝试并报告其观测状态。可用字段取决于操作类型和呼叫所处的阶段。

  • 连接: 呼叫是否被接纳、振铃并收到应答。
  • 媒体: 参与者是否能听到彼此并进行交互。
  • 业务结果: 预期的预约、回呼或支持任务是否完成。

已接听的电话呼叫可能到达真人、语音信箱或另一个自动化系统。仅凭通话记录无法证明客户完成了某项任务。

事件帮助你的应用程序对变化做出响应。处理重复和延迟送达的事件,然后将缺失或不确定的更新与提供商的记录状态进行核对。

如何使用 Bird 构建?

你需要配置外呼,包括一条 SIP 中继线、一个已验证的主叫号码和一个已启用的目的地国家。

配置变更需要具有写入级别的 voice_management。

在中继线上,outbound_enabled 必须为 true。其 domain 是你的 SIP 客户端连接的地址。API 密钥认证将你的密钥列在 allowed_api_key_ids 中;该密钥需要具有写入级别的 voice。更新该列表会替换所有条目,因此请保留其他客户端仍在使用的密钥。

你的主叫号码需要 status: verified,这表示你的工作区已完成验证呼叫。其 phone_number 包含国际号码,含前导 +。

目的地国家需要同时满足 enabled: true 和 status: available。启用某个国家并不意味着不支持的目的地变为可呼叫。

浏览器电话还需要在中继线上设置 session_credentials_enabled: true,并在中继线的 digest_algorithms 列表中包含 MD5。

通话后,您可以查看 status、rejection_reason 和 sip_response_code。列出呼叫段和读取呼叫段操作会返回这些字段。这些操作报告呼叫尝试的情况。您的 SIP 应用负责发起这些尝试。

对于电话菜单,你需要在已连接的应用程序中配置语音提示和按键分支。语音 AI 运行时为对话提供语音、推理和业务工具。

简而言之

  1. 语音 API 提供不同的操作。

    配置、呼叫控制和通话记录是不同的接口。读取操作并不意味着可以发起呼叫。

  2. 信令和音频走不同的路径。

    SIP 建立和变更会话。媒体承载参与者听到的内容,因此信令成功并不能证明音频正常工作。

  3. 电话接通并不能证明任务已完成。

    已接听的呼叫可能到达语音信箱或其他系统。拥有该任务的应用程序负责确认任务是否完成。

付诸实践。

继续查阅此主题的文档、指南和示例。资源为英文。

获取实施简报

基于同一网络构建。

测试 API 密钥即刻获取。添加付款方式并验证发送者身份后,即可解锁生产环境。

你的下一个创意。
随时连接。