ThunderPhone 2.0 正式上线。全程自助,低至2美分/分钟。查看发布公告

Connect tools & data

连接 VoIP 提供商

连接您已在使用的提供商(通过 API 密钥连接 Twilio 或 Telnyx;通过 SIP 连接 SignalWire、Vonage、Plivo 或任何 SIP 中继),或通过引导式设置开通新的 Telnyx 账户。

生产流量应通过您自有的号码和您自己的 VoIP 提供商运行。控制台的 连接 → VoIP 页面 (/dashboard/voip-connections)可连接您的提供商账户;连接后, 您可以导入支持呼入和呼出通话的号码。

点击新建连接,然后选择以下两种方式之一:连接您已在使用的提供商,或设置新的 Telnyx 账户。

连接您已在使用的服务商

选择您的号码所属的服务商:

服务商连接方式
TwilioAPI 密钥:粘贴您的 Account SID 和 Auth Token
TelnyxAPI 密钥:粘贴您的 v2 API 密钥
SignalWireSIP 设置
VonageSIP 设置
PlivoSIP 设置
其他服务商使用 ThunderPhone 的设置向导进行 SIP 设置,适用于任何其他运营商或您运行的 PBX

对于 Twilio 和 Telnyx,粘贴凭据并点击 连接并 测试。ThunderPhone 会验证凭据,并为您配置服务商一侧。 对于 Telnyx,ThunderPhone 会在您的 Telnyx 账户中添加一个自己的 SIP 连接(名为 thunderphone-production-<org>-outbound-<id>),并通过该连接发起外呼,因此 Telnyx 会向您收取这些通话的费用。它使用您的号码所在 Telnyx 连接的外呼语音配置文件,因此该配置文件允许的国家/地区和消费限额将会生效。如果该连接没有外呼语音配置文件,而您的账户恰好有一个已启用的配置文件,ThunderPhone 会使用该配置文件。要使用其他配置文件,请在 Telnyx 门户中将其分配给该连接,然后再次保存 ThunderPhone 连接。如果账户没有已启用的配置文件,或有多个已启用的配置文件,请在 Telnyx 门户中为该连接分配一个配置文件,然后再次保存 ThunderPhone 连接。在此之前,外呼会因 outbound_trunk_unavailable 而失败;呼入将继续正常工作。

当 Telnyx 拒绝外呼时(例如 SIP 403 Forbidden),该拒绝来自您自己的 Telnyx 账户。常见原因包括没有可用余额、主叫号码不在该 Telnyx 账户中,或者外呼语音配置文件不允许目标国家/地区。

SignalWire、Vonage 和 Plivo 的 SIP 设置

这三个服务商都会打开手动 SIP 表单,其中顶部提供该服务商的操作步骤、指向服务商自有设置指南的链接,以及示例 SIP 域名:

  • SignalWire:为外呼创建 SIP 凭据,输入 SIP 域名、用户名和密码,并为每个号码配置一个 SWML 脚本,将呼入连接至 ThunderPhone SIP 端点。
  • Vonage:在 SIP Trunking 控制台中,创建具有外呼凭据的中继,输入其域名(例如 your-trunk.sip-us.vonage.com)和凭据,将 ThunderPhone SIP 端点添加为该中继的呼入 SIP URI,然后将您的号码关联到该中继。
  • Plivo:创建具有凭据的外呼中继,并输入其 Termination SIP Domain(<trunk-id>.zt.plivo.com)、用户名和密码;创建一个呼入中继,其 Primary URI 为 ThunderPhone SIP 端点,后接 ;transport=tcp;然后将每个号码的 Application Type 设置为该中继。

结果是一个手动 SIP 连接(API 中的 provider: "manual"),其测试和验证方式与手动输入的连接完全相同。连接卡片会显示服务商名称,例如 SignalWire · SIP。

设置新的 Telnyx 账户

还没有服务提供商?引导流程将带您创建 Telnyx 账户并完成连接:

  1. 创建账户

    点击 打开 Telnyx 注册页面,创建您的账户,然后勾选 “我已创建账户”。

  2. 获取 API 密钥

    点击 打开 API 密钥页面,生成密钥并将其粘贴到 API 密钥(v2)。您也可以为连接命名。

  3. 连接并测试

    点击 连接并测试 —— ThunderPhone 会验证凭据, 并在保存前于 Telnyx 端配置所需资源。

ThunderPhone 在 Telnyx 中设置的内容

除非您输入自己的 Connection ID,否则两种 Telnyx 路径(引导式 设置和粘贴 API 密钥)都会在您的 Telnyx 账户中创建相同的内容:一个名为 thunderphone-<your organization id> 的 SIP 连接。它是一个 FQDN 连接, 其 FQDN 记录指向 ThunderPhone 的 SIP 端点,您导入的每个 号码都会分配给它。Telnyx 会通过 SIP 将这些号码的呼叫直接发送到 ThunderPhone。

  • 其 webhook 字段特意留空。不会涉及 webhook、Call Control 应用、TeXML 应用或已注册的 SIP 电话。
  • 请勿将导入的号码移至其他连接或应用,也不要在其上注册设备。
  • 如果您在连接时输入了自己的 Connection ID,ThunderPhone 将改用该连接且绝不会更改它;它必须是指向 ThunderPhone SIP 端点的 FQDN 连接。

在 2026 年 8 月 30 日之前,ThunderPhone 创建的 thunderphone-… 连接是 凭据连接,无法接听呼叫。 如果您的连接仍显示为凭据连接,请联系支持团队,我们会将其转换。

手动 SIP 配置

SignalWire、Vonage 和 Plivo 磁贴会打开此表单,其他提供商下的 我将自行输入所有设置也会打开此表单。任何 SIP 中继均可使用,包括 DIDWW 或您自行运行的 PBX。输入连接名称、SIP 域名 / URI、 可选的用户名和密码、端口及传输协议;高级设置 可添加媒体加密(SRTP)。表单还会显示您的中继必须将入站呼叫发送至的 SIP 地址:sip.thunderphone.com,UDP 或 TCP 使用端口 5060,TLS 使用端口 5061。通过 TLS,SIP 信令会一直保持加密,直至 ThunderPhone 在 LiveKit Cloud 中处理呼叫;音频绝不会经过 sip.thunderphone.com,因此 SRTP 仍可照常使用。将每通呼叫定址到采用 E.164 格式的已拨号码, 并在请求行和 To 标头中使用相同的号码,包括 +:例如 sip:+14155550142@sip.thunderphone.com。+ 可让 ThunderPhone 在正确的区域处理呼叫(请参阅 IP 允许列表下的说明)。 先前使用 <your-project>.sip.livekit.cloud 地址设置的中继会在允许的源 IP 地址为空时继续正常工作;您无需更改它们。ThunderPhone 会将这些设置转换为 LiveKit Cloud 上的一对专用 SIP 中继:使用连接号码发起的出站呼叫 会通过您的凭据转接至您的 SIP 域名;除非您填写可选的允许的源 IP 地址字段,否则对这些号码的入站呼叫 可从任何地址接入。 仅当您的运营商公布固定信令 IP 时才填写此字段:错误或不完整的列表会导致 ThunderPhone 拒绝您运营商的入站 呼叫。两个按钮可完成主要操作:

  • 生成 AI 设置指南——为您所需的中继端配置生成特定于服务商的说明。
  • 测试并保存连接——检查 SIP 端点是否解析为公网地址;对于 TCP/TLS,还会检查所选端口是否接受连接(UDP 主机仅进行 DNS 检查),然后保存。由于连接尚未配置号码,因此暂时无法拨打电话;实际验证将在导入时进行(见下文)。

之后编辑连接时,会先针对您更改后的 设置重新运行相同的检查,确认无误后再保存,随后重建中继,并在后台通过简短的测试呼叫重新验证连接中的每个号码——在测试 呼叫成功前,这些号码会显示为配置中。仅更改处于已连接 状态的连接中的允许的源 IP 地址则有所不同:这绝不会影响出站呼叫,因此 ThunderPhone 会立即更新入站中继上的列表,号码仍保持活跃。其入站呼叫测试会重置为未测试; 请再次运行测试,或通过您的运营商发起真实呼叫,以确认新列表允许呼叫接入。若测试呼叫会根据该列表被拒绝,测试将失败。已存储的密码绝不会再次显示;如需保留密码,请将密码字段留空;对于基于 IP 身份验证的中继,请勾选“删除已存储的密码”。

IP 允许列表和中继认证

某些运营商(DIDWW、Telnyx IP 身份验证连接,以及大多数位于防火墙后的 PBX)仅接受来自您已加入允许列表的地址的 SIP 流量,或通过源 IP 对外呼叫进行身份验证。ThunderPhone 使用两组地址。

SIP 边缘节点。 您发送至 sip.thunderphone.com 的入站通话会经过 ThunderPhone 的 SIP 边缘节点,该节点仅承载 SIP 信令。第一个 INVITE 会发送至 sip.thunderphone.com;其余通话信令(ACK、挂断、转接)则在您的运营商与接听该通话的边缘服务器 sip-1 或 sip-2 之间传输。如果您的防火墙会筛选 SIP 信令,请在 UDP 和 TCP 的 5060 端口以及 TLS 的 5061 端口允许这三个地址:

主机IP 地址
sip.thunderphone.com172.170.39.202
sip-1.thunderphone.com13.86.104.121
sip-2.thunderphone.com20.80.98.90

LiveKit Cloud。 每个通话的音频(RTP)以及外呼的 SIP 信令均在您的运营商与 LiveKit Cloud 之间传输,绝不经过 SIP 边缘节点。请对 SIP 信令和媒体均允许以下所有范围:

IP 范围
143.223.88.0/21
161.115.160.0/19
153.57.128.0/18

LiveKit 将这些范围应用于实时通信、SIP 信令和媒体以及 Webhook,并覆盖其加拿大、欧盟、印度、日本和美国区域处理的呼叫。固定端点的区域名称:canada、eu、india、japan、us。

以下是中继本身的一些经验规则:

  • ThunderPhone 不进行注册。 它绝不会向您的运营商发送 SIP REGISTER,因此请将中继配置为基于 IP 和/或凭据(用户名 + 密码)的身份验证,而非注册。
  • 外呼应使用凭据。 请在运营商侧启用用户名/密码身份验证,并在手动 SIP 表单中输入相同的值。请将 IP 允许列表视为第二层防护,而非唯一防护措施——发往覆盖区域之外目的地的外呼可能来自其他地址。
  • 入站方向相反。 表单中的可选 允许的源 IP 地址 字段用于输入您的运营商的信令地址,以便 ThunderPhone 仅接受来自这些地址的通话。请输入 IP 地址或 CIDR 范围;主机名永远不会匹配。除非您的运营商发布了固定列表,否则请将其留空。ThunderPhone 会在每次入站通话时,根据其 SIP 边缘节点看到的地址检查该列表,因此设置列表后,请将通话发送至 sip.thunderphone.com。来自不在列表中的地址的通话,或直接发送至 <your-project>.sip.livekit.cloud 地址的通话,都会被拒绝:它会失败,或在接通后立即结束。

这些范围由 LiveKit 发布在 区域、区域端点和静态 IP; ThunderPhone 每周检查该页面,并在内容变更时更新本指南。

连接后

从 电话号码 → 添加号码 → 连接 VoIP 提供商(或直接从连接页面)导入号码。每个导入的号码都会在启用前完成验证。对于手动 SIP 连接, 该验证会发起一次简短(几秒钟)的测试呼叫,从您的号码出发,经由您的 SIP 中继,呼叫 ThunderPhone 号码——因此会实际验证用户名、密码、传输协议以及您运营商的出站路由。 您的运营商会像对待其他呼叫一样对此呼叫收费。 如果运营商拒绝该呼叫,号码将保持在 正在配置 状态, 电话号码页面会显示运营商的回复(例如“拒绝了 ThunderPhone 的凭据(SIP 401)”);请修复连接后再次验证。 如果您的运营商接受中继,但其路由计划不覆盖 ThunderPhone 的测试号码(DIDWW 回复“路由计划已将目标号码列入黑名单”),该号码将显示为 已验证 · 运营商已接受:它可以使用,但未测试对其他目的地的呼叫。 该呼叫证明您的中继可以以该号码身份发起呼叫;它不能证明您拥有该号码,也不会测试呼叫至该号码;下方的可选入站测试会进行此项测试。 已验证的号码支持入站和出站——这会解锁 出站营销活动和以编程方式发起的 出站呼叫。

来电测试

验证号码会打开一个对话框,您也可以在其中测试来电。该测试会呼叫您的号码,检查通话是否到达 ThunderPhone,然后在不启动您的智能体的情况下挂断:

  • 拥有自身出站 SIP 中继的号码(手动 SIP 号码,以及 ThunderPhone 在您的 Twilio 账户中设置出站呼叫后使用的 Twilio 号码)会先呼叫自身:ThunderPhone 通过该中继,使用该号码呼叫该号码。对话框会在发起呼叫前告知您。通话会通过您的运营商呼出;如果您的入站路由配置正确,则会直接返回 ThunderPhone。当通话以该号码自身的主叫号码返回时,这一次呼叫即可证明您的运营商接受 ThunderPhone 以该号码发起的呼叫,也证明对该号码的呼叫能在任何国家到达 ThunderPhone。部分运营商会拒绝或无法接通号码呼叫自身的通话;这与您的路由无关,因此 ThunderPhone 会改用其自身的某个号码发起呼叫。如果您的号码转接到其他地方,该电话可能会响两次:第一次显示该号码自身的主叫号码,第二次显示 ThunderPhone 的测试号码。
  • 其他号码(以及上述备用方式)会由 ThunderPhone 自身的某个号码呼叫。ThunderPhone 目前只能向美国和加拿大号码发起这些呼叫;对于其他号码,测试会报告无法运行,并在自呼叫被拒绝时显示您的运营商的回复。

如果您的运营商在传输过程中更改主叫号码,ThunderPhone 将无法识别该通话,因此您的智能体可能会短暂接听。来电测试是可选的。您可以跳过它,号码仍可正常使用;电话号码页面随后会显示 来电未测试,您可以稍后通过 测试 或该号码的 测试来电 菜单项运行测试。导入后,电话号码页面也会要求您测试新号码的来电。在您于对话框中确认之前,不会发起任何呼叫。

如果您的提供商将号码转接到其他位置,该号码所指向的目标每次呼叫可能会响铃最长 8 秒,然后 ThunderPhone 才会挂断。如果有其他服务先接听(例如先接听再转接的 Twilio 应用或电话菜单),测试会等待转接后的通话到达 ThunderPhone:自呼叫最长等待 8 秒,从 ThunderPhone 号码发起的呼叫最长等待 15 秒。结果会保留在该号码上(来电通过或失败),直到您更改连接或重新导入号码,此时状态将重置为 未测试。更改连接会在后台重新验证出站呼叫,但绝不会在未经您同意的情况下呼叫您的号码。

排查呼入通话问题

连接的 测试 按钮会检查凭据,而验证会检查呼出拨号。要检查呼入,请运行上方的来电测试,或使用电话拨打该号码,然后在 通话记录 中查找该通话。 浏览器 通话 测试和智能体到智能体模拟不会经过您的运营商,因此无法显示呼入是否正常。以该电话号码为目标的模拟(SIP 回环)会通过您的运营商拨打该号码,因此接听后可验证呼入路由。

  • 您听到自己移动运营商的提示音(例如“欢迎使用 Verizon”或“您所拨打的号码未开通服务”):通话在到达 ThunderPhone 前失败。请检查该号码是否已在您的服务商账户中启用,并已分配给 ThunderPhone 连接或中继。
  • 忙音或通话响铃后无人接听:服务商已接受该通话,但无法将其送达。对于 Telnyx,请在 Telnyx 控制台中检查该号码的 连接:它应为上文所述的 thunderphone-… FQDN 连接,或指向 ThunderPhone SIP 端点的您自己的 FQDN 连接。对于 Twilio,该号码应附加到 ThunderPhone SIP 中继,而非 Voice webhook 或 TwiML 应用。
  • 您的运营商日志显示 404 No trunk found(手动 SIP):通话已到达 ThunderPhone,但未匹配任何中继。请检查该号码是否已导入此连接,以及中继是否指向 sip.thunderphone.com。如果它指向 <your-project>.sip.livekit.cloud 地址,允许的源 IP 地址 必须为空:设置列表后,仅接受发送到 sip.thunderphone.com 的通话。
  • 来自 sip.thunderphone.com 的 404 Not Found(手动 SIP):通话未指定给电话号码,或者请求行和 To 标头指定了不同的号码。如上所述,请在两者中都发送所拨号码。
  • 来自 sip.thunderphone.com 的 403 Forbidden:请求行指定了其他主机。请将通话指定到 sip.thunderphone.com,例如 sip:+14155550142@sip.thunderphone.com。
  • 通话到达 ThunderPhone,但由错误的智能体接听,或无人接听:请在 电话号码 中检查该号码的呼入智能体。

应用内智能副驾可以为您检查号码:请询问它为何拨打该号码的通话失败。对于 Telnyx 连接,它还可以为组织管理员以只读方式查找 Telnyx 将该号码分配到哪个连接。


后续步骤