SIP 中继
通过 SIP 中继将现有电话系统连接到 ElevenLabs Agents
概述
SIP(会话发起协议)中继可让你将现有电话基础设施直接连接到 ElevenLabs Agents。 通过此集成,所有客户都能在使用现有电话系统的同时,利用 ElevenLabs 先进的语音 AI 功能。
使用 SIP 中继,你可以:
- 将专用交换机(PBX)或支持 SIP 的电话系统连接到 ElevenLabs 语音 AI 平台
- 无需更改现有电话基础设施,即可将通话路由到 AI 智能体
- 处理呼入和呼出通话
- 利用加密 TLS 传输和媒体加密,提升安全性
刚接触 SIP?请查看 SIP 参考,了解本指南中使用的 SIP、SBC、SDP、RTP 和 MTU 等术语的通俗定义。
静态 IP SIP 服务器
ElevenLabs 为安全策略要求进行 IP 允许列表配置的企业客户提供具有静态 IP 地址的 SIP 服务器。
静态 IP 基础设施使用一个 /24 IP 地址块,包含分布在多个地区(美国、欧盟、印度和新加坡)的 256 个地址。必须在防火墙配置中允许整个 /24 地址块。
对于默认(美国/国际)环境,请使用 sip-static.rtc.elevenlabs.io 作为 SIP 端点。
对于隔离区域,请使用 sip-static.rtc.<region>.residency.elevenlabs.io,其中 <region> 是数据驻留区域代码(例如 eu、in 或 sg)。使用这些端点时,所有流量将仅来自该区域。无法按区域进行特定允许列表配置。可用区域列表请参阅数据驻留。
此功能适用于企业版账户,也可在企业版试用期间启用以供测试。如需申请访问权限,请发送邮件至 support@elevenlabs.io 联系支持团队,或联系客户经理。欲了解更多信息,请联系销售。
SIP 中继的工作原理
SIP 中继会在电话基础设施与 ElevenLabs 平台之间建立直接连接:
- 呼入通话:SIP 中继中的通话会通过已配置的 SIP INVITE 地址路由到 ElevenLabs 平台。
- 呼出通话:由 ElevenLabs 发起的通话会通过已配置的主机名路由到 SIP 中继,让智能体能够拨打外线电话。
- 身份验证:信令连接安全通过摘要身份验证(用户名/密码)或基于信令源 IP 的访问控制列表(ACL)身份验证来保障。
- 信令和媒体:初始通话建立过程(信令)支持多种传输协议,包括用于加密通信的 TLS。通话建立后,实际音频数据(RTP 流)可根据媒体加密设置进行加密。
传输安全:证书和密码套件
使用 TLS 传输时,双方会在交换任何 SIP 信令前执行 TLS 握手。在握手期间,双方会验证证书并协商密码套件。接受连接的一方充当 TLS 服务器并提供证书;发起连接的一方充当 TLS 客户端并验证证书。ElevenLabs 要求使用 TLS 1.2 或更高版本。
角色取决于通话方向:
- 呼入 ElevenLabs 的通话:系统会发起连接,因此 ElevenLabs 充当 TLS 服务器。ElevenLabs 会提供适用于
sip.rtc.elevenlabs.io的有效证书,系统则作为 TLS 客户端验证该证书。 - 从 ElevenLabs 呼出的通话:ElevenLabs 会向所配置的地址发起连接,因此 SIP 服务器或 SBC 会充当 TLS 服务器。系统必须提供有效且受信任的证书,ElevenLabs 将作为 TLS 客户端验证该证书。
确保双方信任彼此的证书,并至少共享一个通用密码套件。否则,TLS 握手会在通话建立前失败。有关这些术语的定义,请参阅 SIP 参考。
后续连接
当原始连接已关闭时,某些对话内请求(如 BYE 或 REFER)可能需要建立新的 TLS 连接。这些后续连接的证书行为与初始通话建立不同:
- 连接到 ElevenLabs 的后续连接:系统会与响应中返回的
Contact标头地址建立连接,该地址会解析为形式为<ip>.hosts.rtc.elevenlabs.io的特定 SIP 服务器。该服务器会提供适用于*.hosts.rtc.elevenlabs.io的证书,系统则作为 TLS 客户端验证该证书。 - 来自 ElevenLabs 的后续连接:当 ElevenLabs 为
BYE或REFER发起 TLS 连接时,会连接到最顶部Via标头中的地址,该地址通常是 IP 地址。系统通常返回适用于完全限定域名(FQDN)而非该 IP 地址的证书。若要验证此证书,请在电话号码设置中配置 远程域名 字段。如果收到的证书所适用的任一域名与配置的远程域名匹配,验证便会成功;否则将失败。
如果通过 TLS 发送的呼出 BYE 或 REFER 请求未通过证书验证,请将 SIP 服务器证书签发所对应的 FQDN 添加到电话号码设置中的 远程域名 字段。
向 ElevenLabs SIP 中继发起通话
向 ElevenLabs 平台发起通话时,需要使用正确的 SIP URI 格式。ElevenLabs SIP 中继 URI 取决于希望用于信令的传输方式:
- TCP:
sip:sip.rtc.elevenlabs.io:5060;transport=tcp - TLS:
sip:sip.rtc.elevenlabs.io:5061;transport=tls - UDP:
sip:sip.rtc.elevenlabs.io:5060;transport=udp(实验性功能;仅用于测试,不适用于生产环境)
要发起通话,请构建包含标识符的完整 SIP URI。例如,要通过 TCP 呼叫电话号码 +19991234567:
其中:
+19991234567是标识符(通常是 E.164 格式的电话号码)- 标识符也可以是任意字符串值,例如
1000或john
常见错误:请勿直接向不含标识符的 sip@sip.rtc.elevenlabs.io:5060 发起通话。SIP URI 必须在 sip: 前缀之后、@ 符号之前包含电话号码或标识符。
SIP URI 格式:SIP URI 遵循 sip:identifier@domain:port 格式,其中标识符是正确路由通话所必需的。
要求
设置 SIP 中继前,请确保具备:
- 兼容 SIP 的 PBX 或电话系统
- 要连接到 ElevenLabs 的电话号码
- SIP 中继配置的管理员访问权限
- 允许 SIP 流量的适当防火墙设置
- TLS 支持:为提升安全性,请确保 SIP 中继提供商支持 TLS 传输
- 音频编解码器兼容性: 系统必须至少支持 G.722 或 G.711(PCMU 或 PCMA)音频编解码器之一,或者能够自行对音频进行重新采样。这与为智能体直接 websocket 连接配置的任何音频格式无关。
设置 SIP 中继
配置呼入设置
配置 ElevenLabs 如何处理到达 SIP 中继的通话,包括媒体加密和访问控制:
- 媒体加密:配置 RTP 媒体流的加密方式:
- 已禁用:不加密媒体
- 允许:允许加密媒体流
- 必需:强制使用加密媒体流
- 允许的号码(可选):获准呼叫此号码的电话号码。留空以允许所有号码。
- 允许的源 IP 地址(可选):仅适用于 TCP/TLS 传输,不适用于 UDP。允许向此中继发送通话的 IP 地址或 CIDR 范围。保留为
0.0.0.0/0以允许所有地址。 - 远程域名(可选):指定发起通话的 SIP 服务器 FQDN 域名,例如
example.pstn.twilio.com。这些域名用于 TLS 证书验证。如果不使用 TLS,请将此字段留空。 - 身份验证(可选):提供用于验证呼入通话的摘要身份验证凭据。
- SIP 中继用户名:用于 SIP 摘要身份验证的用户名
- SIP 中继密码:用于 SIP 摘要身份验证的密码

配置呼出设置
配置 ElevenLabs 应将此电话号码的通话发送至何处:
-
地址:发送 SIP INVITE 的主机名或 IP 地址(例如
sip.telnyx.com)。这里只应填写主机名或 IP 地址,而不是完整的 SIP URI。如果使用 TLS,请使用具有有效证书的主机名。 -
传输类型:选择 SIP 信令的传输协议:
- TCP:标准 TCP 传输
- TLS:更安全的加密 TLS 传输
- UDP:无连接传输(实验性功能;生产环境请使用 TCP 或 TLS)
-
媒体加密:配置 RTP 媒体流的加密方式:
- 已禁用:不加密媒体
- 允许:允许加密媒体流
- 必需:强制使用加密媒体流
-
启用的编解码器:在呼出通话的 SDP 中提供的编解码器(G.722、PCMU、PCMA)。当 SIP 提供商仅支持特定编解码器时很有用。
-
自定义标头(可选):添加要随呼出通话发送的自定义 SIP 标头。点击“添加标头”,输入提供商要求的标头名称和值;可按需添加多个标头。自定义标头可用于通话路由和识别、计费和跟踪,以及满足特定提供商要求。
-
身份验证(可选):如果 SIP 中继提供商要求,请提供摘要身份验证凭据。
- SIP 中继用户名:用于 SIP 摘要身份验证的用户名
- SIP 中继密码:用于 SIP 摘要身份验证的密码
如果留空,将使用访问控制列表(ACL)身份验证,这要求你在提供商设置中将 ElevenLabs IP 地址加入允许列表。

安全最佳实践:使用 TLS 传输和必需媒体加密,以获得最高安全性。这可确保信令和媒体均进行端到端加密。
身份验证方式:
- 摘要身份验证:使用用户名/密码凭据进行安全身份验证(推荐)
- ACL 身份验证:使用 IP 地址允许列表进行访问控制
强烈建议使用摘要身份验证,因为它无需依赖 IP 允许列表,安全性更好;动态 IP 地址会使允许列表管理变得复杂。
地址 字段用于指定 ElevenLabs 从 AI 智能体发起的呼出通话应发送到何处。仅输入主机名或 IP 地址,不要包含 sip: 协议前缀。
客户数据和个性化
为确保正确转发和追踪通话元数据,请在 webhook 负载和 SIP INVITE 请求中包含以下自定义 SIP 标头:
- X-CALL-ID:通话的唯一标识符
- X-CALLER-ID:呼叫方标识符
这些标头可让系统将通话元数据与对话关联,并为个性化提供上下文。
后备标头支持
如果不存在上述标准标头,系统会自动查找 Twilio 专用 SIP 标头:
- sip.twilio.callSid:Twilio 的唯一通话标识符
此后备机制可确保兼容 Twilio 的 Elastic SIP Trunking,无需更改配置。
处理流程
通过任一受支持标头接收到相关元数据后,caller_id 和/或 call_id 将在对话发起 webhook中可用,也可作为系统动态变量使用。
将呼入自定义标头用作动态变量
呼入 SIP 中继通话中的自定义 SIP X- 标头会自动以动态变量的形式在对话中公开。
标头名称会进行规范化处理:移除 X- 前缀,将名称转换为小写,将连字符替换为下划线,并添加 sip_ 前缀。例如,X-Contact-ID 会变为 {{sip_contact_id}},X-Campaign-ID 会变为 {{sip_campaign_id}}。
在智能体提示词、首条消息和工具中使用这些变量,可根据呼叫方提供的上下文个性化对话。这些值也会显示在对话历史记录的 电话通话 标签页中。
X-Call-ID 和 X-Caller-ID 等保留标头仍会映射到 system__call_sid 和 system__caller_id。自定义呼入标头无法覆盖这些系统变量。
动态变量中的 BYE 标头
通话结束时,ElevenLabs 会发送 SIP BYE 以终止对话。你可以通过在 SIP 中继配置中将动态变量映射到标头名称,为该 BYE 附加自定义标头。
通过 API创建或更新 SIP 中继电话号码时,请在 inbound_trunk_config 或 outbound_trunk_config 上设置 attributes_to_headers。每个条目将动态变量名称映射到要包含在 BYE 中的 SIP 标头名称:
标头值是对话结束时动态变量的最终值。通话期间设置的值——通过智能体工具、webhook 覆盖或其他运行时更新——都会反映在 BYE 中。
例如,如果 attributes_to_headers 包含 "disposition_code": "X-Disposition",且对话结束时 disposition_code 动态变量为 resolved,则 BYE 将包含 X-Disposition: resolved。
将智能体分配给电话号码
导入 SIP 中继电话号码后,可以将其分配给 ElevenLabs 智能体:
- 前往 ElevenAgents 控制台的电话号码部分
- 选择导入的 SIP 中继电话号码
- 点击“分配智能体”
- 选择要处理此号码来电的智能体
故障排除
连接问题
如果遇到连接问题:
- 检查 ElevenLabs 端和提供商端的 SIP 中继配置
- 检查防火墙是否允许配置的传输协议和端口上的 SIP 信令流量(TCP 为 5060,TLS 为 5061),并确保未设置允许列表
- 确认地址主机名格式正确且可访问
- 分别使用和不使用摘要认证凭据进行测试
- 如果使用 TLS 传输,确保提供商的 TLS 证书有效且配置正确
- 尝试不同的传输类型(TCP 或 TLS;UDP 支持仍处于实验阶段),以排查 TLS 特有问题
重要网络架构信息:
- ElevenLabs 通过共享地址
sip.rtc.elevenlabs.io后的多个 SIP 服务器提供 SIP 流量服务 - 这些 SIP 服务器会直接与 SIP 服务器通信
- 由于采用分布式基础设施,SIP 请求可能来自不同的 IP 地址
- 如果安全策略要求将入站流量加入允许列表,请联系支持团队获取帮助。
认证失败
如果通话因认证问题失败:
- 如果使用摘要认证,请再次检查 SIP 中继用户名和密码
- 查看 SIP 中继提供商日志,了解具体的认证错误信息
- 如果配置了自定义标头,请确认其符合提供商要求
- 使用简化配置(不含自定义标头)测试,以排查认证问题
TLS 和加密问题
如果遇到 TLS 传输或媒体加密问题:
- 确认 SIP 中继提供商支持端口 5061 上的 TLS 传输
- 检查证书有效性、到期日期和信任链
- 如果使用“必需”媒体加密,确保提供商支持 SRTP 媒体加密
- 使用“必需”前,先用“允许”媒体加密测试,以排查加密问题
- 尝试 TCP 传输,以排查 TLS 特有问题(UDP 支持仍处于实验阶段)
- 联系 SIP 中继提供商,确认其支持 TLS 和 SRTP
自定义标头问题
如果自定义标头出现问题:
- 确认提供商要求的准确标头名称和值
- 检查标头名称是否区分大小写
- 确保标头值不含需要转义的特殊字符
- 先不使用自定义标头进行测试,再逐步添加
- 对于入站自定义标头动态变量,确认标头使用
X-前缀,并查看对话历史中的 电话通话 标签页 - 查看提供商文档,了解支持的自定义标头
无音频或单向音频
如果通话已连接,但没有音频或音频仅单向传输:
- 确认防火墙允许 RTP 媒体流使用的 UDP 流量(通常为端口 10000-60000)
- 由于 RTP 使用动态 IP 地址,确保防火墙规则未限制为特定静态 IP
- 检查是否存在可能阻断 RTP 流的网络地址转换(NAT)问题
- 如果使用“必需”媒体加密,确保两个端点都支持 SRTP
- 使用“已禁用”媒体加密测试,以排查与加密相关的音频问题
音频质量问题
如果音频质量不佳:
- 确保网络有足够带宽(每通电话至少 100 Kbps),且 UDP 流量的延迟和抖动较低
- 检查网络拥塞或丢包情况,尤其是 UDP 路径
- 确认两端的编解码器设置一致
- 如果使用媒体加密,确保两个端点都能高效处理 SRTP
- 使用不同的媒体加密设置测试,以排查质量问题
发送 BYE 请求后通话未断开(收到 481 响应)
BYE 收到 481 响应通常表示,请求到达的 SIP 服务器不保存该通话的对话状态。
当初始 TCP 连接已关闭,而 BYE 被重新发送到通用共享地址(例如 sip.rtc.elevenlabs.io)时,常会发生这种情况,
而不是发送到 200 OK 响应中返回的特定 Contact URI。
- 为 BYE 重新建立 TCP 连接时,始终以 INVITE 响应中的
Contact地址为目标,确保请求到达处理该对话的同一台 SIP 服务器。 - 避免将 BYE 发送到共享地址
sip.rtc.elevenlabs.io,因为请求可能会落到其他 SIP 节点,并被其以 481 拒绝。
有关 Contact 标头和对话路由的规范行为,请参阅 RFC 3261 第 8.1.1.8 节。
限制和注意事项
- 支持的并发通话数量取决于订阅套餐。达到上限时,启用通话排队可让入站来电者等待,而非直接拒绝
- 提供通话录音和分析功能,但可能需要额外配置
- 外呼功能可能受 SIP 中继提供商限制
- TLS 支持:确保 SIP 中继提供商支持 TLS 1.2 或更高版本,以实现加密传输
- 媒体加密:SRTP 支持因提供商而异;要求加密前,请先确认兼容性
- 音频格式:ElevenLabs 的 SIP 部署使用 PCMU 或 PCMA(G.711,8kHz)或 G.722(16kHz)编解码器发送和接收音频。这与为智能体直接 websocket 连接配置的任何音频格式无关。SIP 中继系统必须原生支持其中一种编解码器,或进行重采样以匹配系统要求
常见问题
能否将现有电话号码用于 ElevenLabs?
可以。SIP 中继可将现有电话号码直接连接到 ElevenLabs 的 ElevenAgents,无需转入号码。
哪些 SIP 中继提供商与 ElevenLabs 兼容?
ElevenLabs 与大多数标准 SIP 中继提供商兼容,包括 Twilio、Vonage、Sinch、 Infobip、Telnyx、Exotel、Plivo、Bandwidth,以及其他支持 SIP 协议标准的提供商。支持 TLS 传输和 SRTP 媒体加密,可提升安全性。
是否应使用 TLS 传输以提高安全性?
是。强烈建议在生产环境中使用 TLS 传输。它可对 SIP 信令进行加密,提高通话安全性。配合必需的媒体加密使用, 可为通信提供全面保护。启用前请务必确认 SIP 中继提供商 支持 TLS。
不同传输类型有什么区别?
- TCP:可靠但未加密的信令 - TLS:加密且可靠的信令 (推荐用于生产环境)- UDP:无连接信令,目前仍处于实验阶段
UDP 传输仍处于实验阶段,仅供测试使用。对于生产环境和 安全关键型应用,始终应使用 TLS 传输。
自定义标头有什么用途?
自定义 SIP 标头可让你在外呼时包含提供商特定信息。常见 用途包括通话路由、计费代码、主叫号码识别,以及满足特定提供商 要求。
支持多少路并发通话?
并发通话数量取决于订阅套餐。企业版套餐通常支持 更多并发通话。达到上限时,入站来电者会被拒绝, 除非已为智能体启用通话排队,在这种情况下, 来电者会在等待音频中保持等待,并在容量释放后接通。
能否按条件将通话路由到不同智能体?
可以。你可以使用现有 PBX 系统的路由规则,将通话转至不同电话号码, 每个号码都连接到不同的 ElevenLabs 智能体。
导入电话号码时,是否需要匹配前导 + 格式?
是。SIP URI 和导入电话号码配置中的号码格式必须一致。如果使用带前导 + 的方式呼叫 SIP URI(例如,
sip:+19991234567@sip.rtc.elevenlabs.io:5060),也必须导入带
前导 + 的电话号码(例如,+19991234567)。同样,如果呼叫时不带前导 +,请导入不带前导 + 的
电话号码。格式不匹配会导致通话无法正确路由。
是否支持 SIP 的 SRV 记录查询?
是。ElevenLabs 为符合 RFC 3263 的 SIP 服务器发现提供 NAPTR 和 SRV 记录。

