Sign inGet Started

语音故障排查

从通话记录开始。记录是否存在及其字段决定了应遵循哪些检查步骤。

对于通过 API 发起的通话,请先检查 Create Call 响应和运行历史。有关预览、发布、按键路径和来电序列路由的问题,请参阅序列故障排查。下面的连接检查适用于通过 SIP 中继进行的通话。

如果完全看不到任何通话记录,请先检查以下几项:

  1. 您位于正确的工作区。 通话记录属于持有该号码或中继的工作区。请切换到该工作区,然后打开 Voice > Legs。
  2. 通话已到达 Bird。 对于来电,由主叫方的运营商决定通话的去向;如果号码指向的中继没有已保存的网关,通话会在生成记录之前被拒绝。对于外呼通话,请参阅外呼通话在通话记录中缺失:准入被拒绝不会留下记录。
  3. 筛选条件没有隐藏该记录。 清除状态筛选条件并扩大日期范围。

外呼通话在通话记录中缺失

对于通过 SIP 中继发起的呼叫,准入检查可能在生成通话分段记录之前失败。请检查以下常见原因:

  • 中继尚未启用外呼。 新中继在您于其页面上开启外呼功能之前不会承载任何通话,无论通话携带何种凭据,所有尝试都会被拒绝。
  • 中继尚无法识别您的身份。 新中继在您添加 IP 范围、允许的 API 密钥或会话凭据之前,会拒绝所有通话。
  • 通话来源地址不在中继的 IP 允许列表中。 在 NAT 后面时,请将路由器的公网地址与中继的 IP 允许列表进行比对。电话系统的私有地址无法到达 Bird。
  • 密码质询失败。 检查用户名是否为 bird。密码必须是允许的 API 密钥密文或未过期的会话凭据。中继还必须提供您的电话系统所使用的 Digest 算法。
  • 通话被发送到 Bird 无法识别的 SIP 域名。 您的设备必须在 Request-URI 主机中填入中继的 SIP 域名。请从中继页面完整复制域名,不要自行拼接。发往其他 Bird 主机名或地址的通话无法到达您的中继。

您的设备收到的响应可以说明哪项检查失败。407 Proxy Authentication Required 表示中继要求提供密码;开启会话凭据后,中继会向每个主叫方要求密码。403 Forbidden 表示中继未准入该通话,原因可能是 Request-URI 主机不是您中继的 SIP 域名、外呼已关闭、地址不在允许列表中,或密码未通过验证。503 Auth Unavailable 表示 Bird 无法检查该通话,请重试。

对于序列通话,先检查通话请求是否已被接受,以及是否存在运行记录。模拟器预览不会发起通话。真实测试需要已保存的草稿或生效的发布版本、Voice 管理和呼叫写入权限、符合条件的主叫号码,以及已启用的目的地。序列构建器指南说明了这些检查。

通话被拒绝且有拒绝原因

Bird 在拨打运营商之前拒绝了通话,原因会指出未通过的检查项。打开通话详情,使用拒绝面板中的链接前往相关设置。被拒绝的通话列出了所有拒绝原因及其修复方法。

caller_id_not_verified 是新客户端最常遇到的问题,通常是因为客户端将 digest 用户名填入了主叫号码字段:两者是不同的字段。

通话状态为失败而非被拒绝

失败不是拒绝。通话已尝试但未成功,SIP response 携带了返回的状态码。486 表示对方忙线,404 表示号码未分配。这通常指向您拨打的号码,而非您的配置。

被 Bird 拒绝的通话状态为已拒绝而非失败,因此在查找未通过 Bird 检查的通话时,请按已拒绝筛选日志。

通话被拒绝但无拒绝原因

对于外呼通话,对端直接拒接,SIP response 中携带了其状态码。

对于来电,被叫号码拒接了通话。通话未在任何检查中失败,因此未列出拒绝原因。打开通话详情,查看 Inbound route:reject 路由表示该号码被设置为拒接,或者该号码未配置自己的路由而工作区默认路由为拒绝。接收来电说明了如何根据路由和原因排查每种入站拒绝情况。

被叫方看到的号码与您发送的不同

通话有记录且无拒绝原因,说明它通过了 Bird 的所有检查。问题出在 Bird 的下游:终端运营商替换了主叫号码,或拒绝了携带该号码的通话。同样的原因也会表现为某个号码在一个国家能接通,在另一个国家始终无法接通。

验证证明您控制某个主叫号码。但这并不要求递送通话的运营商必须接受它,运营商会对未通过 Bird 购买的号码执行各自的国家规则。请参阅 CLI 验证与递送免责声明了解相关做法,包括境内 CLI 要求、基于来源的拦截以及禁止发起列表。

要确定您使用的号码类型,请在 Voice > Numbers 下打开该号码,查看其页面顶部的面板。从 Bird 购买的号码会显示订阅信息,购买后又经过验证的号码也会显示。只有从其他渠道拥有的号码才只显示验证信息。订阅意味着号码是通过 Bird 购买的,因此免责声明不适用于它。使用通过 Bird 购买的号码,可以在那些拒绝经验证号码的目的地提高递送率和接通率。

来电始终无法到达您的电话系统

号码已接听通话,但递送失败。请按以下顺序检查:

  1. 查看通话的 Inbound route。 它会显示通话到达时该号码指向的中继或转接。reject 路由表示该号码自身的路由设置为拒绝,或者该号码没有自己的路由且工作区默认路由为拒绝。打开该号码查看具体情况:设置为拒绝的号码会忽略默认路由。如果号码所属的中继已被删除或关闭了入站呼叫,该号码会回退到默认路由;而指向该中继的默认路由则会回退到拒绝。
  2. 检查中继能否递送。 打开中继的 Inbound routing。网关必须属于某个组,并且 Default route(或某条规则)必须将通话发送到该组。设置为 Reject 的默认路由会拒绝所有通话且不给出拒绝原因;没有已保存网关的中继会在生成记录之前拒绝通话。如果保存时控制台显示警告 Calls never reach some gateways,请修复该问题。
  3. 检查网关地址。 Bird 按组设定的顺序拨打组内网关,全部无应答则放弃。确认 SIP URI 主机地址及其端口,并确认您的电话系统在该地址上接受来自 Bird 的通话。
  4. 对于转发,检查目标是否仍然已验证。 转发目标在每次通话时都会被重新检查,因此您移除的主叫号码会从该时刻起停止转发。
  5. 检查您设备的应答。 已到达您的网关但在那里被拒绝的通话通常显示为 Failed(6xx 应答显示为 Rejected),SIP response 中携带您设备返回的状态码,例如 403 或 412。Bird 已尝试该通话,因此需要在您这一侧修复:检查您的 SBC 是否接受来自 Bird 信令地址的通话,以及网关发送的号码格式。

如果号码使用 Run a sequence,请检查绑定的序列和呼叫入口,而不是中继。确认序列有生效的发布版本、入口可以接受空数据,并检查来电者是否为草稿测试者。查看序列的运行结果和失败分支。修改草稿不会改变普通来电者使用的版本。

浏览器电话不响铃或无法拨号

请先检查电话底部的状态:

  1. 选择 Online 才能接听来电。 振铃组会跳过状态为 Offline、Busy、正在通话中,或因连续三次未接而处于 Not accepting calls 的成员。您的状态说明了每种状态。
  2. 上线后才能拨号。 处于 Offline 状态的电话无法发起通话。Online、Busy 和 Not accepting calls 状态下可以拨号。
  3. 将通话转到此浏览器。 在每个工作区中,您同一时间只能在一台设备的一个标签页中在线。Offline · Active on another device 会提供 Take over,Offline · Calls are handled in another tab 会提供 Use here。
  4. 检查在线用户数上限。 Offline · Limit of users online reached 表示您的组织在线用户数已达到允许的上限。请参阅在线用户数上限。
  5. 开启声音。 页面重新加载后,浏览器可能会屏蔽铃声,直到您与页面进行交互。此时状态菜单会提供 Turn on sound。

如果电话已在线但来电仍未向您振铃,请在通话记录中查看该通话的 Inbound route。它会显示通话所振铃的振铃组,您可以据此检查自己是否为该组成员,以及号码是否路由到该组。

您的客户端回应 MD5 但无法连接

某些设备无法正确处理以 SHA-256 开头的质询。将中继设置为仅 MD5。

通话已接通但音频是单向的

您的客户端位于 NAT 后面,其媒体流被发送到私有地址。请在客户端中启用 NAT 或 STUN 处理。

如果您的设备可以访问,但音频仍有一个方向不通,请检查防火墙是否允许 UDP 端口 2500 至 32499 上来自 Bird 媒体地址的流量。

后续步骤

页面涵盖内容
通话记录通话记录中的每个字段,以及所有拒绝原因
SIP 中继IP 允许列表、密钥、会话凭据和 Digest
SIP 客户端配置各软电话和 PBX 所需的设置
发起通话Bird 在 INVITE 上的要求,以及握手流程
接收来电将号码指向中继或转发,以及记录的内容
电话上线、您的状态,以及在浏览器中接听来电

继续查看此主题的文档、指南和示例。