Sign inGet started

发起呼叫

您的 PBX(企业电话交换系统)向中继的 SIP 域发送 SIP INVITE 来发起呼叫。Bird 检查请求、将其路由到运营商并转发音频。本页涵盖前提条件、请求字段、身份验证和费用。

发起呼叫前的准备

需要准备好四项内容(顺序不限),其中三项由您自行设置:
  • 一条接受您流量的中继。 创建一条 SIP 中继启用外呼。添加您设备的 IP 范围、一个允许的 API 密钥,或两者都添加。无法保存长期密钥的客户端可以使用会话凭证
  • 一个已验证的主叫号码。 注册您要呈现的号码并完成验证呼叫,这是工作区证明其拥有所呈现号码的方式。验证并不保证 CLI 的端到端送达,也不保证在 CLI 并非通过 Bird 获取的号码时呼叫能够接通:请参阅 CLI 验证与送达免责声明
  • 已启用目的地国家/地区。目的地页面开启您需要服务的国家/地区。
  • 路由已关联到您的工作区。 Bird 会为您完成此设置,选择哪些运营商服务哪些目的地。在路由就绪之前,呼叫会被拒绝并返回 routing_not_configured,这是被拒绝的呼叫所涵盖的原因之一。

Bird 对 INVITE 的要求

将请求发送到中继的 SIP 域及其支持的端口之一。两个请求头包含 Bird 所需的全部信息:
请求头Bird 的处理方式
To被叫号码。Bird 读取其国家/地区以选择运营商并计算呼叫费用
From您作为主叫方呈现的号码。它必须是该工作区中已验证的主叫号码
两个请求头均使用 E.164 格式的完整国际号码:以 + 开头,后接国家代码和国内号码。这是 Bird 在呼叫记录中保存的格式,也是其目的地匹配所期望的格式。
除这两个请求头外,这是一次普通的 SIP 呼叫,双方都不使用自定义请求头。

每次呼叫的身份验证

呼叫经历的验证流程取决于中继的开通方式:
  • 仅 IP 允许列表。 一次请求。Bird 将源地址与列表匹配后路由呼叫,无需应答质询。
  • 仅允许的 API 密钥。 Bird 先通过 SIP Digest 交换要求呼叫提供密码。
  • 两者兼有。 源地址在 Bird 发起质询之前即被检查,因此来自未列入允许列表地址的呼叫无论携带什么凭证都会被拒绝。
  • 会话凭证已开启。 Bird 对呼叫发起质询,无论其来源地址,即使该地址不在允许列表中,数分钟前签发的凭证即可应答。在没有允许密钥的中继上,已通过允许列表准入的设备仍可无需质询即可连接。
当中继配置了允许的 API 密钥时,您的电话系统使用 API 密钥密文的哈希值而非密文本身进行应答,这就是 SIP Digest 身份验证的工作原理:
  1. 您的 PBX 发送 INVITE
  2. Bird 以 407 Proxy Authentication Required 应答,每种中继提供的算法对应一行质询,默认先 SHA-256MD5
  3. 您的 PBX 重新发送 INVITE,附带以用户名 bird 和 API 密钥的密文作为密码计算出的 Proxy-Authorization 请求头。
  4. Bird 验证应答并继续路由。
抢先发送的 Proxy-Authorization 请求头在质询之前发出,因此您的设备必须选择中继提供的算法之一。如果中继同时配有 IP 允许列表,请求仍必须来自已列入列表的地址。
Bird 在 SIP 层应答失败的握手,因此该尝试在平台创建呼叫记录之前即被拒绝。如果您的呼叫完全没有出现在呼叫日志中,请检查凭证而非路由。

呼叫签名认证

拨往美国和法国的呼叫会携带 STIR/SHAKEN 签名认证。运营商在标记呼叫时使用此签名。Bird 默认应用 B 级认证,无需额外配置。如需 A 级认证,请联系支持团队。

呼叫被拒绝时

Bird 在拨打运营商之前检查主叫号码、目的地、限制和钱包余额。拒绝以 SIP 503 的形式到达您的电话系统;具体原因保存在已认证的呼叫记录中。在呼叫日志中打开该呼叫,或查看被拒绝的呼叫了解每种原因和解决方法。
重试前请先解决记录的原因。例如,calls_per_second_exceeded 会持续出现,直到您降低拨号速率。

不承载紧急呼叫

Bird Voice 不承载拨往紧急服务的呼叫。 拨往 112911999 或任何其他紧急号码的呼叫会被拒绝,适用于所有中继、所有国家/地区。您的电话系统必须通过其他线路接入紧急服务。
此行为不受您的套餐、余额或目的地设置影响。请将电话系统配置为通过支持紧急呼叫的服务路由紧急呼叫,例如本地 PSTN 线路、本地网关或其他提供商。测试该路由。Bird 对被拒绝的紧急呼叫返回 503,以便具有备用拨号计划路由的电话系统尝试该路由。
紧急服务依赖呼叫者的注册位置,而 Bird 不会为中继存储此信息。不要依赖 Bird 路由进行紧急呼叫。

费用与计费

语音服务从您组织的钱包中预付费,与其他通道相同:
  • 计费时间从接听开始到结束,不论呼叫之前响铃了多久。呼叫记录中会同时显示总时长,后者从 Bird 收到呼叫的时刻开始计算。
  • 费率取决于目的地国家/地区。 您的费率卡以钱包的币种为每个国家/地区定价。费率定义了最低计费时长和超出最低时长后使用的递增单位。例如,最低计费一分钟、递增单位为六秒的费率会将一个 10 秒的呼叫按一分钟计费。
  • 拨打运营商前先检查钱包余额。 余额不足以支付的呼叫会被预先拒绝并返回 insufficient_balance,而非事后向您收费。请保留缓冲余额,或开启自动充值。
  • 每日语音消费限额适用。 超过限额后,呼叫会被拒绝并返回 daily_spend_exceeded,直到下一个 UTC 日开始。限额金额取决于您的套餐。
  • 费用在呼叫完成评定后显示,以完整精度展示,不含税。
如需汇总多次呼叫的花费,请从呼叫页面将筛选后的呼叫列表导出为 CSV,或查看您的账单与用量

后续步骤

页面涵盖内容
呼叫日志浏览、筛选和导出呼叫记录
语音事件将呼叫结果推送到您自己的系统
支付方式与钱包充值、自动充值以及钱包扣款方式

相关资源

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

获取实施简报