> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# SIP 参考文档

## 概览

[SIP 中继](/docs/zh/eleven-agents/phone-numbers/sip-trunking)将现有电话基础设施连接到 ElevenLabs Agents。配置时会涉及协议、网络设置和音频格式等专业术语。

本页用通俗语言解释这些术语。阅读 SIP 中继指南或排查连接问题时，可将本页作为参考。

术语按以下类别分组：

* [协议](#protocols) — 传输信令和音频的标准。
* [传输和网络](#transport-and-networking) — 数据包如何在系统之间传输。
* [基础设施组件](#infrastructure-components) — 处理通话的系统。
* [通话信令](#call-signaling) — 建立和结束通话的消息。
* [身份验证和安全](#authentication-and-security) — 如何验证和加密连接。
* [音频和编解码器](#audio-and-codecs) — 语音如何编码和传输。
* [寻址和路由](#addressing-and-routing) — 通话如何找到目标。
* [ElevenLabs 配置](#elevenlabs-configuration) — ElevenLabs 控制台专用设置。

## 协议

**SIP（会话发起协议）**

用于发起、修改和结束语音通话等实时通信会话的信令协议。SIP 协商谁呼叫谁以及如何交换音频，但不传输音频本身。该协议定义于 [RFC 3261](https://datatracker.ietf.org/doc/html/rfc3261)。

**SDP（会话描述协议）**

SIP 消息中携带的一种文本格式，用于描述通话媒体：各端支持的编解码器、音频流的 IP 地址和端口，以及加密参数。音频传输前，两个端点通过 SDP 协商共同配置。

**RTP（实时传输协议）**

SIP 完成通话建立后，传输实际通话音频的协议。RTP 数据包以连续流的形式传输，对延迟和丢包十分敏感，因此音质取决于网络状况。

**SRTP（安全 RTP）**

RTP 的加密版本。启用媒体加密后，音频流将由 SRTP 保护，无法在传输过程中被截获。要使用加密媒体，两个端点都必须支持 SRTP。

**RTCP（RTP 控制协议）**

RTP 的配套协议，用于报告丢包和抖动等统计信息，让端点能够监测通话质量。

## 传输和网络

**UDP（用户数据报协议）**

一种快速、无连接的传输协议，不保证数据包送达或顺序。RTP 音频通过 UDP 传输，因为实时语音更看重低延迟而非绝对无丢失。

> **Note**
>
> ElevenLabs 对 SIP 信令的 UDP 传输仍处于实验阶段。生产环境流量请使用 TCP 或 TLS，
> UDP 仅用于测试。

**TCP（传输控制协议）**

一种面向连接的传输协议，保证按序可靠传输。ElevenLabs 支持在端口 5060 上使用 TCP 传输 SIP 信令。

**TLS（传输层安全协议）**

运行在 TCP 之上的加密层。TLS 传输会加密 SIP 信令，避免凭据和通话元数据在传输过程中被读取。ElevenLabs 支持在端口 5061 上使用 TLS 信令。

**MTU（最大传输单元）**

网络链路无需拆分为更小部分即可承载的最大数据包大小，以字节计。UDP 上的 SIP 消息超过 MTU 时，可能被分片或丢弃，导致通话建立失败。通过 TCP 或 TLS 发送 SIP 信令可避免此问题，因为这些传输协议能可靠处理大型消息。

**NAT（网络地址转换）**

路由器用于让私有网络中多个设备共享一个公网 IP 地址的技术。NAT 可能导致 RTP 音频无法到达正确设备，这是单向音频或无音频的常见原因。

**延迟**

从发送音频到接收音频之间的时间差。高延迟会让对话显得不自然，因为双方需要等待更久才能听到对方。

**抖动**

音频数据包到达时间的波动。即使整体延迟可以接受，高抖动也会导致音频断续或失真。

**丢包**

未能到达的音频数据包百分比。即使少量丢包也会降低音质，因为 RTP 不会重传丢失的数据包。

**端口**

IP 地址上的编号端点，用于标识特定服务。SIP 信令使用端口 5060 传输 TCP、端口 5061 传输 TLS；RTP 媒体通常使用大量动态分配的端口。

## 基础设施组件

**SBC（会话边界控制器）**

位于网络边缘、用于管理和保护 SIP 流量的设备或服务。SBC 可防止未经授权的访问、规范化不同协议实现系统之间的 SIP 消息，以及管理 NAT 穿越等。许多 SIP 中继服务商会在其网络和你的网络之间部署 SBC。

**PBX（专用分组交换机）**

在组织内部路由通话并将其连接到外部线路的专用电话系统。支持 SIP 的 PBX 可通过 SIP 中继连接到 ElevenLabs。

**SIP 中继**

电话系统与语音服务之间的虚拟连接，通过互联网而非实体电话线路承载多个同时通话。SIP 中继将 PBX 或服务商连接到 ElevenLabs。

## 通话信令

**SIP INVITE**

请求建立新通话的 SIP 消息。INVITE 包含目标标识符以及对呼叫方媒体能力的 SDP 描述。

**200 OK**

确认请求成功的 SIP 响应。对于 INVITE，200 OK 包含应答方的 SDP，以及标识处理该通话的确切服务器的 `Contact` 地址。

**BYE**

结束已建立通话的 SIP 消息。应将 BYE 发送到 200 OK 返回的 `Contact` 地址，确保其到达处理该通话的同一服务器。

**Contact 标头**

SIP 响应中的字段，用于标识同一通话中后续消息所用的精确服务器和地址。ElevenLabs 通过共享的 `sip.rtc.elevenlabs.io` 地址后方的多个服务器处理 SIP 流量，因此将后续请求（如 BYE）发送到该共享地址而非 `Contact` 地址，可能会使其到达另一台服务器。

**对话**

两个端点在通话期间维护的共享状态。如果 BYE 等消息到达没有该对话记录的服务器，服务器会拒绝该消息。

**响应代码**

表示 SIP 请求结果的三位数代码，类似 HTTP 状态码。`1xx` 范围的代码是临时响应，用于报告进度：`100`（Trying）表示请求已接收并正在处理，`180`（Ringing）表示正在提醒目标方。最终响应报告结果：`200`（OK）表示成功，`401` 和 `407` 表示需要身份验证，`481` 表示服务器没有与该请求匹配的对话。

## 身份验证和安全

**摘要身份验证**

使用用户名和密码验证连接的身份验证方法，无需以明文发送密码。ElevenLabs 建议使用摘要身份验证，因为它不依赖固定 IP 地址。

**ACL（访问控制列表）**

基于可信 IP 地址允许列表的身份验证方法。使用 ACL 身份验证时，系统仅接受来自已批准源地址的 SIP 流量。IP 地址变更时，管理可能更困难。

**媒体加密**

使用 SRTP 对 RTP 音频流提供的保护。ElevenLabs 提供三种设置：`Disabled`（不加密）、`Allowed`（双方均支持时加密）和 `Required`（拒绝无法加密的通话）。

**证书**

TLS 握手期间用于证明服务器身份的 X.509 数字文档。接受连接的一方充当 TLS 服务器并提供证书；发起连接的一方充当 TLS 客户端，根据受信任证书颁发机构验证证书，并检查主机名和有效期。角色因通话方向而异：

* **呼入 ElevenLabs 的通话**：系统发起连接，因此 ElevenLabs 充当 TLS 服务器，并提供 `sip.rtc.elevenlabs.io` 的证书，由系统验证。
* **从 ElevenLabs 呼出的通话**：ElevenLabs 发起连接，因此 SIP 服务器或 SBC 充当 TLS 服务器，必须提供有效且受信任的证书，由 ElevenLabs 验证。

**密码套件**

TLS 连接用于交换密钥、加密数据和验证完整性的一组算法。握手期间，TLS 客户端提供其支持的密码套件，TLS 服务器从双方都支持的套件中选择一个。ElevenLabs 要求使用 TLS 1.2 或更高版本。对于呼入 ElevenLabs 的通话，ElevenLabs（作为 TLS 服务器）选择套件；对于从 ElevenLabs 呼出的通话，系统（作为 TLS 服务器）选择套件。双方必须至少共享一个现代密码套件，否则握手会在通话连接前失败。

## 音频和编解码器

**编解码器**

一种将音频压缩以便传输，并在另一端解压的算法。通话要有音频，两个端点必须支持一个共同的编解码器。

**G711**

广泛支持的未压缩编解码器，以 8 kHz 采样率传输音频。它是电话系统之间兼容性最高的选择。

**G722**

一种宽带编解码器，以 16 kHz 采样率传输音频；在两个端点均支持时，语音比 G711 更清晰。

**采样率**

每秒测量音频的次数，以千赫兹（kHz）表示。ElevenLabs 的 SIP 部署以 8 kHz 的 G711 或 16 kHz 的 G722 发送和接收音频。使用其他采样率的系统必须对音频进行重采样。

**DTMF（双音多频）**

按下电话键盘按键时产生的音调，用于操作自动菜单。有关智能体如何接收键盘数字，请参阅 [DTMF 输入](/docs/zh/eleven-agents/customization/multimodal-input#dtmf-input)；有关智能体如何发送 DTMF，请参阅 [播放键盘触摸音](/docs/zh/eleven-agents/customization/tools/system-tools/play-keypad-touch-tone)。

## 寻址和路由

**SIP URI**

用于访问 SIP 目标的地址，格式为 `sip:identifier@domain:port`。例如，`sip:+19991234567@sip.rtc.elevenlabs.io:5060` 会将通话路由至标识符 `+19991234567`。必须提供标识符才能路由通话。

**E.164**

国际电话号码格式标准，由前导 `+`、国家代码和用户号码组成，例如 `+15551234567`。SIP URI 与导入电话号码的格式必须一致。

**NAPTR 和 SRV 记录**

让 SIP 系统发现某个域应使用哪些服务器、传输协议和端口的 DNS 记录类型。ElevenLabs 发布 NAPTR 和 SRV 记录，以支持符合 [RFC 3263](https://datatracker.ietf.org/doc/html/rfc3263) 的服务器发现。

## ElevenLabs 配置

**传输类型**

控制台中为 SIP 信令选择的协议。ElevenLabs 支持 `TCP`（端口 5060）和 `TLS`（端口 5061）。建议在生产环境使用 TLS，因为它会加密信令。

**呼入配置**

控制来自 SIP 中继的通话如何到达 ElevenLabs 的设置，包括传输类型和应用于呼入通话的媒体加密。

**呼出配置**

控制 ElevenLabs 如何向系统发起通话的设置，包括传送 SIP INVITE 的 `Address`（主机名或 IP 地址，不含 `sip:` 前缀）。

**自定义标头**

可附加到通话的、以 `X-` 为前缀的额外 SIP 标头字段，用于路由、标识或满足服务商特定要求。呼入自定义标头也会在对话中作为[动态变量](/docs/zh/eleven-agents/customization/personalization/dynamic-variables)公开。通过 `outbound_trunk_config` 上的静态 `headers` 字段配置呼出 INVITE 标头。

**用户间信息（UUI）**

在 SIP `User-to-User` 标头中交换的小型应用载荷（[RFC 7433](https://www.rfc-editor.org/rfc/rfc7433)），常用于 Talkdesk 和 Genesys Cloud 等联络中心平台。对于**呼入**通话，当 INVITE 携带 `User-to-User` 标头时，其值会作为两个[动态变量](/docs/zh/eleven-agents/customization/personalization/dynamic-variables)提供给智能体：`{{sip_uui_raw}}`（原始标头值）和 `{{sip_uui_data}}`（解码后的载荷 — 经十六进制解码；若标头包含 `purpose=isdn-uui`，则会移除协议判别符八位组）。对于**呼出**通话，UUI 会附加到以 SIP URI 为目标的 SIP REFER 转接请求中，通过转接规则的 `uui` 设置配置 — 请参阅[转接到号码](/docs/zh/eleven-agents/customization/tools/system-tools/transfer-to-number)。

**属性到标头**

`inbound_trunk_config` 和 `outbound_trunk_config` 上仅限 API 使用的设置，用于将动态变量名称映射为 BYE 请求的 SIP 标头名称。每个键都是动态变量名称；每个值都是通话结束时要包含的标头名称。标头值为对话结束时变量的最终值。请参阅[通过动态变量设置 BYE 标头](/docs/zh/eleven-agents/phone-numbers/sip-trunking#bye-headers-from-dynamic-variables)。

**远程域名**

电话号码设置，列出 ElevenLabs 在验证其发起的后续连接（如 `BYE` 或 `REFER`）的 TLS 证书时接受的域名。由于 ElevenLabs 通常连接到最顶部 `Via` 标头中的 IP 地址而非主机名，因此无法仅通过主机名匹配证书。如果收到的证书所适用的任一域名与配置的远程域名匹配，验证即成功；否则将失败。请参阅[后续连接](/docs/zh/eleven-agents/phone-numbers/sip-trunking#follow-up-connections)。

**静态 IP SIP 服务器**

一项企业版选项，为安全策略要求 IP 允许列表的客户提供具有固定 IP 范围的 SIP 端点。详情请参阅 [SIP 中继指南](/docs/zh/eleven-agents/phone-numbers/sip-trunking)。

## 后续步骤

* [设置 SIP 中继](/docs/zh/eleven-agents/phone-numbers/sip-trunking)
* [了解如何创建 ElevenLabs 智能体](/docs/zh/eleven-agents/quickstart)