什么是语音 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 密钥即刻获取。添加付款方式并验证发送者身份后,即可解锁生产环境。

Start building with Bird in minutes.