> 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(Session Initiation Protocol) 트렁킹을 사용하면 기존 전화 인프라를 ElevenLabs Agents에 직접 연결할 수 있습니다.
이 통합을 통해 모든 고객은 기존 전화 시스템을 그대로 사용하면서 ElevenLabs의 고급 음성 AI 기능을 활용할 수 있습니다.

SIP 트렁킹으로 다음을 할 수 있습니다:

* Private Branch Exchange(PBX) 또는 SIP 지원 전화 시스템을 ElevenLabs 음성 AI 플랫폼에 연결
* 기존 전화 인프라를 변경하지 않고 AI 에이전트로 통화 라우팅
* 수신 및 발신 통화 모두 처리
* 강화된 보안을 위한 암호화된 TLS 전송 및 미디어 암호화 활용

> **Tip**
>
> SIP가 처음이신가요? 이 가이드 전반에서 사용되는 SIP, SBC, SDP, RTP, MTU 등의 용어를 쉽게 설명한
> [SIP 레퍼런스](/docs/ko/eleven-agents/phone-numbers/sip-reference)를 확인하세요.

> **Note**
>
> **고정 IP SIP 서버**
>
> ElevenLabs는 보안 정책상 IP 허용 목록이 필요한 엔터프라이즈 고객을 위해 고정 IP 주소의 SIP 서버를 제공합니다.
>
> 고정 IP 인프라는 여러 리전(미국, EU, 인도, 싱가포르)에 분산된 256개 주소를 포함하는 /24 IP 주소 블록을 사용합니다. 방화벽 설정에서 전체 /24 블록을 허용 목록에 추가해야 합니다.
>
> 기본(미국/국제) 환경에서는 SIP 엔드포인트로 `sip-static.rtc.elevenlabs.io`를 사용하세요.
> 격리된 리전에서는 `sip-static.rtc.<region>.residency.elevenlabs.io`를 사용하세요. 여기서 `<region>`은 데이터 레지던시 리전 코드입니다(예: `eu`, `in`, `sg`). 이 엔드포인트를 사용할 경우 모든 트래픽은 해당 리전 내에서만 발생합니다. 리전별 세부 허용 목록 설정은 지원되지 않습니다. 사용 가능한 리전 목록은 [데이터 레지던시](/docs/ko/overview/administration/data-residency)를 참조하세요.
>
> 이 기능은 엔터프라이즈 계정에서 사용할 수 있으며, 테스트 목적으로 엔터프라이즈 평가판에서도 활성화할 수 있습니다. 액세스를 요청하려면 [support@elevenlabs.io](mailto:support@elevenlabs.io)로 지원팀에 이메일을 보내거나 담당자에게 문의하세요. 자세한 내용은 [영업팀에 문의](https://elevenlabs.io/contact-sales?utm_source=docs\&utm_medium=referral\&utm_campaign=static_ip_sip)하세요.

## SIP 트렁킹 작동 방식

SIP 트렁킹은 전화 인프라와 ElevenLabs 플랫폼 간에 직접 연결을 설정합니다:

1. **수신 통화**: SIP 트렁크에서 오는 통화는 구성된 SIP INVITE 주소를 사용해 ElevenLabs 플랫폼으로 라우팅됩니다.
2. **발신 통화**: ElevenLabs에서 시작한 통화는 구성된 호스트명을 사용해 SIP 트렁크로 라우팅되므로, 에이전트가 발신 전화를 걸 수 있습니다.
3. **인증**: 시그널링 연결 보안은 다이제스트 인증(사용자 이름/비밀번호) 또는 시그널링 소스 IP 기반의 액세스 제어 목록(ACL) 인증을 통해 유지됩니다.
4. **시그널링 및 미디어**: 초기 통화 설정(시그널링)은 암호화된 통신을 위한 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 레퍼런스](/docs/ko/eleven-agents/phone-numbers/sip-reference#authentication-and-security)를 참조하세요.

### 후속 연결

`BYE` 또는 `REFER` 같은 일부 인다이얼 요청은 원래 연결이 이미 닫힌 경우 새 TLS 연결이 필요할 수 있습니다. 이러한 후속 연결의 인증서 동작은 초기 통화 설정과 다릅니다:

* **ElevenLabs로의 후속 연결**: 시스템은 응답에서 반환된 `Contact` 헤더 주소에 연결합니다. 이 주소는 `<ip>.hosts.rtc.elevenlabs.io` 형식의 특정 SIP 서버로 확인됩니다. 해당 서버는 `*.hosts.rtc.elevenlabs.io`에 유효한 인증서를 제시하며, 시스템은 TLS 클라이언트로서 이를 검증합니다.
* **ElevenLabs에서의 후속 연결**: ElevenLabs가 `BYE` 또는 `REFER`를 위해 TLS 연결을 시작하면 최상위 `Via` 헤더의 주소에 연결하며, 이는 흔히 IP 주소입니다. 시스템은 일반적으로 해당 IP 주소가 아닌 FQDN(정규화된 도메인 이름)에 유효한 인증서를 반환합니다. 이 인증서를 검증하려면 전화번호 설정에서 **원격 도메인** 필드를 구성하세요. 수신한 인증서가 유효한 도메인 중 하나가 구성된 원격 도메인과 일치하면 검증에 성공하고, 그렇지 않으면 실패합니다.

> **Tip**
>
> 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`로 통화하려면 다음과 같이 합니다:

```
sip:+19991234567@sip.rtc.elevenlabs.io:5060
```

설명:

* `+19991234567`은 식별자입니다(일반적으로 E.164 형식의 전화번호).
* 식별자는 `1000` 또는 `john`과 같은 임의의 문자열 값일 수도 있습니다.

> **Warning**
>
> **일반적인 실수**: 식별자 없이 `sip@sip.rtc.elevenlabs.io:5060`으로 직접 통화를 시작하지 마세요.
> SIP URI에는 `sip:` 접두사 뒤와 `@` 기호 앞에 전화번호 또는 식별자가 반드시 포함되어야 합니다.

> **Info**
>
> **SIP URI 형식**: [SIP URI](https://en.wikipedia.org/wiki/SIP_URI_scheme)는
> `sip:identifier@domain:port` 형식을 따르며, 통화를 올바르게 라우팅하려면 식별자가 필요합니다.

## 요구 사항

SIP 트렁킹을 설정하기 전에 다음을 준비하세요:

1. SIP 호환 PBX 또는 전화 시스템
2. ElevenLabs에 연결할 전화번호
3. SIP 트렁크 구성에 대한 관리자 액세스 권한
4. SIP 트래픽을 허용하는 적절한 방화벽 설정
5. **TLS 지원**: 보안 강화를 위해 SIP 트렁크 공급자가 TLS 전송을 지원하는지 확인
6. **오디오 코덱 호환성**:
   시스템은 G.722 또는 G.711(PCMU 또는 PCMA) 오디오 코덱 중 하나 이상을 지원하거나, 자체적으로 오디오를 리샘플링할 수 있어야 합니다. 이는 직접 WebSocket 연결을 위해 에이전트에 구성된 오디오 형식과는 무관합니다.

## SIP 트렁킹 설정하기

#### 전화번호로 이동

ElevenLabs Agents 대시보드의 [전화번호 섹션](https://elevenlabs.io/app/agents/phone-numbers)으로 이동하세요.

#### SIP 트렁크 가져오기

"번호 가져오기" 버튼을 클릭한 다음 "SIP 트렁크에서"를 선택하여 구성 대화 상자를 여세요.

![SIP 트렁크에서 옵션이 있는 번호 가져오기 메뉴](/docs/_fern-files/_img/5c6e4969f3ae086d4876674a1399e3f1f2b964d15b955d5f46ad95da655829fb.webp)

#### 기본 구성 입력

다음 정보를 입력하여 기본 구성을 완료하세요:

* **레이블**: 전화번호를 설명하는 이름
* **전화번호**: 연결할 E.164 형식 전화번호(예: +15551234567)

![레이블 및 전화번호 필드가 있는 SIP 트렁크 기본 구성](/docs/_fern-files/_img/682cc9b519dc50553e4849c528837ae3f6ff9ebeef005464004474d201cccb95.webp)

#### 수신 설정 구성

미디어 암호화 및 액세스 제어를 포함하여 SIP 트렁크에 도착하는 통화를 ElevenLabs가 처리하는 방식을 구성하세요:

* **미디어 암호화**: RTP 미디어 스트림의 암호화를 구성합니다:
  * **비활성화됨**: 미디어 암호화 없음
  * **허용됨**: 암호화된 미디어 스트림 허용
  * **필수**: 암호화된 미디어 스트림 강제
* **허용된 번호** (선택 사항): 이 번호로 통화할 수 있도록 승인된 전화번호입니다. 모든 번호를 허용하려면 비워 두세요.
* **허용된 소스 IP 주소** (선택 사항): UDP가 아닌 TCP/TLS 전송에서만 작동합니다. 이 트렁크로 통화를 보낼 수 있는 IP 주소 또는 CIDR 범위입니다. 모든 주소를 허용하려면 `0.0.0.0/0`으로 유지하세요.
* **원격 도메인** (선택 사항): 통화를 시작하는 SIP 서버의 FQDN 도메인을 지정하세요(예: `example.pstn.twilio.com`). 이 도메인은 TLS 인증서 검증에 사용됩니다. TLS를 사용하지 않는 경우 이 필드를 비워 두세요.
* **인증** (선택 사항): 수신 통화 인증에 사용할 다이제스트 인증 자격 증명을 입력합니다.
  * **SIP 트렁크 사용자 이름**: SIP 다이제스트 인증용 사용자 이름
  * **SIP 트렁크 비밀번호**: SIP 다이제스트 인증용 비밀번호

![미디어 암호화, 허용된 번호, 허용된 소스 IP 주소, 원격 도메인 및 인증을 포함한 수신 구성 설정](/docs/_fern-files/_img/83a3ee6dd135f8f0206c08703ade8324d7993d88cc0572eaa1f65246313ccf90.webp)

#### 발신 설정 구성

ElevenLabs가 전화번호의 통화를 전송할 위치를 구성하세요:

* **주소**: SIP INVITE가 전송되는 호스트명 또는 IP 주소(예: `sip.telnyx.com`)입니다. 전체 SIP URI가 아닌 호스트명 또는 IP 주소만 입력해야 합니다. 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 주소를 허용 목록에 추가해야 합니다.

![주소, 전송 유형, 미디어 암호화, 활성화된 코덱, 사용자 지정 헤더 및 인증을 포함한 발신 구성 설정](/docs/_fern-files/_img/91e0283cb11362220b862856c2365c56fb47388f1b618007c1902d4515390253.webp)

> **Tip**
>
> **보안 모범 사례**: 최고 수준의 보안을 위해 필수 미디어 암호화와 함께 TLS 전송을 사용하세요. 이렇게 하면 시그널링과 미디어가 모두 종단 간 암호화됩니다.

> **Info**
>
> **인증 방법**:
>
> * **다이제스트 인증**: 안전한 인증에 사용자 이름/비밀번호 자격 증명 사용(권장)
> * **ACL 인증**: 액세스 제어에 IP 주소 허용 목록 사용
>
> **다이제스트 인증을 강력히 권장합니다**. 동적 IP 주소에서는 관리가 복잡할 수 있는 IP 허용 목록에 의존하지 않고 더 나은 보안을 제공하기 때문입니다.

> **Note**
>
> **주소** 필드는 ElevenLabs가 AI 에이전트의 발신 통화를 보낼 위치를 지정합니다. `sip:` 프로토콜 접두사 없이 호스트명 또는 IP 주소만 입력하세요.

#### 설정 완료

"가져오기"를 클릭하여 구성을 완료하세요.

## 클라이언트 데이터 및 개인화

통화 메타데이터를 올바르게 전달하고 추적할 수 있도록 웹훅 페이로드와 SIP INVITE 요청에 다음 사용자 지정 SIP 헤더를 포함하세요:

* **X-CALL-ID**: 통화의 고유 식별자
* **X-CALLER-ID**: 발신자 식별자

이 헤더를 통해 시스템은 통화 메타데이터를 대화와 연결하고 개인화를 위한 컨텍스트를 제공할 수 있습니다.

### 대체 헤더 지원

위의 표준 헤더가 없는 경우 시스템은 자동으로 Twilio 전용 SIP 헤더를 찾습니다:

* **sip.twilio.callSid**: Twilio의 고유 통화 식별자

이 대체 방식은 구성 변경 없이 Twilio의 Elastic SIP Trunking과의 호환성을 보장합니다.

### 처리 흐름

지원되는 헤더를 통해 관련 메타데이터가 수신되면 [대화 시작 웹훅](/docs/ko/eleven-agents/customization/personalization#conversation-initiation-webhooks) 및 [시스템 동적 변수](/docs/ko/eleven-agents/customization/personalization/dynamic-variables#system-dynamic-variables)에서 `caller_id` 및/또는 `call_id`를 사용할 수 있습니다.

### 동적 변수로서의 수신 사용자 지정 헤더

수신 SIP 트렁킹 통화의 사용자 지정 SIP `X-` 헤더는 대화에서 자동으로 [동적 변수](/docs/ko/eleven-agents/customization/personalization/dynamic-variables)로 노출됩니다.

헤더 이름은 `X-` 접두사를 제거하고, 이름을 소문자로 변환하고, 하이픈을 밑줄로 대체한 다음 `sip_` 접두사를 추가하여 정규화됩니다. 예를 들어 `X-Contact-ID`는 `{{sip_contact_id}}`가 되고, `X-Campaign-ID`는 `{{sip_campaign_id}}`가 됩니다.

이 변수를 에이전트 프롬프트, 첫 메시지 및 도구에서 사용하여 발신자가 제공한 컨텍스트로 대화를 개인화하세요. 값은 대화 기록의 **전화 통화** 탭에서도 확인할 수 있습니다.

> **Note**
>
> `X-Call-ID` 및 `X-Caller-ID` 같은 예약된 헤더는 계속해서 `system__call_sid` 및
> `system__caller_id`에 매핑됩니다. 사용자 지정 수신 헤더는 이러한 시스템 변수를 재정의할 수 없습니다.

### 동적 변수의 BYE 헤더

통화가 종료되면 ElevenLabs는 대화 세션을 종료하기 위해 SIP BYE를 전송합니다. SIP 트렁크 구성에서 [동적 변수](/docs/ko/eleven-agents/customization/personalization/dynamic-variables)를 헤더 이름에 매핑하여 해당 BYE에 사용자 지정 헤더를 첨부할 수 있습니다.

API를 통해 SIP 트렁크 전화번호를 [생성](/docs/ko/api-reference/phone-numbers/create)하거나 [업데이트](/docs/ko/api-reference/phone-numbers/update)할 때 `inbound_trunk_config` 또는 `outbound_trunk_config`에 `attributes_to_headers`를 설정하세요. 각 항목은 동적 변수 이름을 BYE에 포함할 SIP 헤더 이름에 매핑합니다:

```json
"inbound_trunk_config": {
  "attributes_to_headers": {
    "dynamic_variable_name": "bye_header_name"
  }
}
```

헤더 값은 대화 종료 시점의 동적 변수 최종 값입니다. 에이전트 도구, 웹훅 재정의 또는 기타 런타임 업데이트를 통해 통화 중 설정된 값은 BYE에 반영됩니다.

예를 들어 `attributes_to_headers`에 `"disposition_code": "X-Disposition"`가 포함되어 있고 대화 종료 시 `disposition_code` 동적 변수의 값이 `resolved`이면, BYE에는 `X-Disposition: resolved`가 포함됩니다.

## 전화번호에 에이전트 할당하기

SIP 트렁크 전화번호를 가져온 후 ElevenLabs 에이전트에 할당할 수 있습니다:

1. ElevenAgents 대시보드의 전화번호 섹션으로 이동합니다
2. 가져온 SIP 트렁크 전화번호를 선택합니다
3. "에이전트 할당"을 클릭합니다
4. 이 번호로 걸려오는 통화를 처리할 에이전트를 선택합니다

## 문제 해결

#### 연결 문제

연결 문제가 발생하는 경우:

1. ElevenLabs 측과 제공업체 측 모두에서 SIP 트렁크 구성을 확인합니다
2. 방화벽에서 구성된 전송 프로토콜 및 포트(TCP는 5060, TLS는 5061)의 SIP 시그널링 트래픽을 허용하는지 확인하고, 허용 목록이 적용되어 있지 않은지 확인합니다
3. 주소 호스트명이 올바른 형식이며 접근 가능한지 확인합니다
4. 다이제스트 인증 자격 증명을 사용한 경우와 사용하지 않은 경우 모두 테스트합니다
5. TLS 전송을 사용하는 경우 제공업체의 TLS 인증서가 유효하고 올바르게 구성되어 있는지 확인합니다
6. TLS 관련 문제를 분리하기 위해 다른 전송 유형(TCP 또는 TLS, UDP 지원은 실험적)을 사용해 봅니다

**중요한 네트워크 아키텍처 정보:**

* ElevenLabs는 공유 주소 `sip.rtc.elevenlabs.io` 뒤에 있는 여러 SIP 서버에서 SIP 트래픽을 제공합니다
* 이 SIP 서버들은 사용자의 SIP 서버와 직접 통신합니다
* 분산 인프라로 인해 SIP 요청은 서로 다른 IP 주소에서 올 수 있습니다
* 보안 정책상 인바운드 트래픽에 대한 허용 목록이 필요한 경우 지원팀에 문의하세요.

#### 인증 실패

인증 문제로 통화가 실패하는 경우:

1. 다이제스트 인증을 사용하는 경우 SIP 트렁크 사용자 이름과 비밀번호를 다시 확인합니다
2. SIP 트렁크 제공업체의 로그에서 구체적인 인증 오류 메시지를 확인합니다
3. 구성된 경우 커스텀 헤더가 제공업체의 요구사항과 일치하는지 확인합니다
4. 인증 문제를 분리하기 위해 단순화된 구성(커스텀 헤더 없음)으로 테스트합니다

#### TLS 및 암호화 문제

TLS 전송 또는 미디어 암호화 관련 문제가 발생하는 경우:

1. SIP 트렁크 제공업체가 포트 5061에서 TLS 전송을 지원하는지 확인합니다
2. 인증서 유효성, 만료일 및 신뢰 체인을 확인합니다
3. "Required" 미디어 암호화를 사용하는 경우 제공업체가 SRTP 미디어 암호화를 지원하는지 확인합니다
4. 암호화 문제를 분리하기 위해 "Required"를 사용하기 전에 "Allowed" 미디어 암호화로 테스트합니다
5. TLS 관련 문제를 분리하기 위해 TCP 전송을 사용해 봅니다(UDP 지원은 실험적)
6. SIP 트렁크 제공업체에 문의하여 TLS 및 SRTP 지원 여부를 확인합니다

#### 커스텀 헤더 문제

커스텀 헤더에 문제가 있는 경우:

1. 제공업체에서 요구하는 정확한 헤더 이름과 값을 확인합니다
2. 헤더 이름의 대소문자 구분 여부를 확인합니다
3. 헤더 값에 이스케이프가 필요한 특수 문자가 포함되어 있지 않은지 확인합니다
4. 먼저 커스텀 헤더 없이 테스트한 후 점진적으로 추가합니다
5. 인바운드 커스텀 헤더 동적 변수의 경우, 헤더가 `X-` 접두사를 사용하는지 확인하고 대화 기록의 **Phone Call** 탭을 검토합니다
6. 지원되는 커스텀 헤더는 제공업체의 문서에서 확인합니다

#### 오디오 없음 또는 단방향 오디오

통화는 연결되지만 오디오가 없거나 한 방향으로만 오디오가 흐르는 경우:

1. 방화벽에서 RTP 미디어 스트림용 UDP 트래픽(일반적으로 포트 10000\~60000)을 허용하는지 확인합니다
2. RTP는 동적 IP 주소를 사용하므로 방화벽 규칙이 특정 정적 IP로 제한되지 않았는지 확인합니다
3. RTP 스트림을 차단할 수 있는 네트워크 주소 변환(NAT) 문제를 확인합니다
4. "Required" 미디어 암호화를 사용하는 경우 양쪽 엔드포인트가 SRTP를 지원하는지 확인합니다
5. 암호화 관련 오디오 문제를 분리하기 위해 "Disabled" 미디어 암호화로 테스트합니다

#### 오디오 품질 문제

오디오 품질이 좋지 않은 경우:

1. 네트워크에 충분한 대역폭(통화당 최소 100 Kbps)이 있고 UDP 트래픽의 지연 시간/지터가 낮은지 확인합니다
2. 특히 UDP 경로에서 네트워크 혼잡이나 패킷 손실이 있는지 확인합니다
3. 양쪽의 코덱 설정이 일치하는지 확인합니다
4. 미디어 암호화를 사용하는 경우 양쪽 엔드포인트가 SRTP 처리를 효율적으로 수행하는지 확인합니다
5. 품질 문제를 분리하기 위해 다양한 미디어 암호화 설정으로 테스트합니다

#### BYE 요청을 보낸 후 통화가 종료되지 않음(481 응답 수신)

BYE에 대한 481 응답은 일반적으로 요청이 해당 통화의 다이얼로그 상태를 가지고 있지 않은 SIP 서버에 도달했다는 의미입니다.
이는 초기 TCP 연결이 이미 종료된 후 BYE가 일반 공유 주소(예: `sip.rtc.elevenlabs.io`)로 다시 전송되고
200 OK 응답에서 반환된 특정 `Contact` URI로 전송되지 않을 때 자주 발생합니다.

1. BYE를 위해 TCP 연결을 다시 설정할 때는 요청이 다이얼로그를 처리한 동일한 SIP 서버에 도달하도록 항상 INVITE 응답의 `Contact` 주소를 대상으로 지정합니다.
2. 공유 `sip.rtc.elevenlabs.io` 주소로 BYE를 보내지 마세요. 요청이 다른 SIP 노드에 도달해 481로 거부될 수 있습니다.

> **Note**
>
> Contact 헤더 및 다이얼로그 라우팅을 규정하는 표준 동작은 [RFC 3261 섹션 8.1.1.8](https://datatracker.ietf.org/doc/html/rfc3261#section-8.1.1.8)을 참조하세요.

## 제한 사항 및 고려 사항

* 동시 통화 여러 건 지원 여부는 구독 등급에 따라 달라집니다. 한도에 도달했을 때 인바운드 발신자를 거부하는 대신 대기시키려면 [통화 대기열](/docs/ko/eleven-agents/guides/call-queueing)을 활성화하세요
* 통화 녹음 및 분석 기능을 사용할 수 있지만 추가 구성이 필요할 수 있습니다
* 아웃바운드 통화 기능은 SIP 트렁크 제공업체에 따라 제한될 수 있습니다
* **TLS 지원**: 암호화된 전송을 위해 SIP 트렁크 제공업체가 TLS 1.2 이상을 지원하는지 확인하세요
* **미디어 암호화**: SRTP 지원 여부는 제공업체마다 다릅니다. 암호화를 요구하기 전에 호환성을 확인하세요
* **오디오 형식**: ElevenLabs의 SIP 배포는 PCMU 또는 PCMA(G.711, 8kHz) 또는 G.722(16kHz) 코덱을 사용하여 오디오를 송수신합니다. 이는 직접 WebSocket 연결을 위해 에이전트에 구성된 오디오 형식과는 무관합니다. SIP 트렁크 시스템은 이러한 코덱 중 하나를 기본적으로 지원하거나 시스템 요구사항에 맞게 리샘플링해야 합니다

## FAQ

#### 기존 전화번호를 ElevenLabs에서 사용할 수 있나요?

예. SIP 트렁킹을 사용하면 기존 전화번호를 포팅하지 않고도 ElevenLabs의
ElevenAgents에 직접 연결할 수 있습니다.

#### 어떤 SIP 트렁크 제공업체가 ElevenLabs와 호환되나요?

ElevenLabs는 Twilio, Vonage, Sinch,
Infobip, Telnyx, Exotel, Plivo, Bandwidth를 비롯해 SIP 프로토콜 표준을 지원하는 대부분의 표준 SIP 트렁크 제공업체와 호환됩니다. 보안 강화를 위해 TLS
전송 및 SRTP 미디어 암호화도 지원합니다.

#### 보안을 강화하려면 TLS 전송을 사용해야 하나요?

예. 프로덕션 환경에서는 TLS 전송을 강력히 권장합니다. 통화 보안을 강화하는 암호화된 SIP
시그널링을 제공합니다. 필수 미디어 암호화와 함께 사용하면 통신을 포괄적으로 보호할 수 있습니다. 활성화하기 전에 항상 SIP 트렁크 제공업체가
TLS를 지원하는지 확인하세요.

#### 전송 유형의 차이점은 무엇인가요?

* **TCP**: 신뢰할 수 있지만 암호화되지 않은 시그널링 - **TLS**: 암호화되고 신뢰할 수 있는 시그널링
  (프로덕션 권장) - **UDP**: 비연결형 시그널링, 현재 실험적

> **Note**
>
> UDP 전송은 실험적 기능이며 테스트용으로만 사용해야 합니다. 프로덕션 및
> 보안이 중요한 애플리케이션에서는 항상 TLS 전송을 사용하세요.

#### 커스텀 헤더는 무엇에 사용되나요?

커스텀 SIP 헤더를 사용하면 아웃바운드 통화에 제공업체별 정보를 포함할 수 있습니다. 일반적인
용도로는 통화 라우팅, 청구 코드, 발신자 식별, 제공업체별 특정 요구사항
충족 등이 있습니다.

#### 동시 통화는 몇 건까지 지원되나요?

동시 통화 수는 구독 플랜에 따라 달라집니다. 엔터프라이즈 플랜은 일반적으로 더 많은 수의
동시 통화를 지원합니다. 한도에 도달하면 인바운드 발신자는 거부되지만, 에이전트에 [통화 대기열](/docs/ko/eleven-agents/guides/call-queueing)이 활성화된 경우에는
대기 오디오와 함께 대기하며 여유 용량이 생기면 연결됩니다.

#### 조건에 따라 통화를 다른 에이전트로 라우팅할 수 있나요?

예. 기존 PBX 시스템의 라우팅 규칙을 사용하여 서로 다른 전화번호로 통화를 연결할 수 있으며,
각 전화번호는 서로 다른 ElevenLabs 에이전트에 연결할 수 있습니다.

#### 전화번호를 가져올 때 앞의 + 형식을 일치시켜야 하나요?

예. 전화번호 형식은 SIP URI와 가져온 전화번호 구성 간에 일관되어야 합니다. SIP URI를 앞에 +를 붙여 호출하는 경우(예:
`sip:+19991234567@sip.rtc.elevenlabs.io:5060`)에는 전화번호도 앞에 +를 붙여 가져와야 합니다(예:
`+19991234567`). 마찬가지로 앞에 + 없이 호출하는 경우 전화번호도 + 없이 가져오세요. 형식이 일치하지 않으면 올바른 통화 라우팅이 되지 않습니다.

#### SIP용 SRV 레코드 조회를 지원하나요?

예. ElevenLabs는 RFC 3263을 준수하는 SIP 서버 검색을 위한 NAPTR 및 SRV 레코드를 제공합니다.

## 다음 단계

* [SIP 레퍼런스: SIP 및 네트워킹 용어집](/docs/ko/eleven-agents/phone-numbers/sip-reference)
* [ElevenLabs 에이전트 만들기 알아보기](/docs/ko/eleven-agents/quickstart)