# ElevenLabs Agents (/docs/sip-trunk/elevenlabs)

## 개요

한국AI통신 070 번호를 ElevenLabs 의 SIP 게이트웨이 (`sip.rtc.elevenlabs.io`) 로 라우팅합니다. ElevenLabs 는 INVITE 의 **수신번호 (To user part)** 를 대시보드에 import 된 번호와 매칭해 해당 번호에 할당된 에이전트가 통화를 받습니다.

**SIP 트렁크 연결 부가서비스** 가 활성화되어 있어야 합니다.
[대시보드 → 부가서비스](https://platform.claw-ops.com/addons) 에서 켜주세요.

## 동작 흐름

```mermaid
sequenceDiagram
  autonumber
  participant Caller as 발신자
  participant Co as 한국AI통신
  participant El as sip.rtc.elevenlabs.io
  participant Agent as ElevenLabs Agent
  Caller->>Co: PSTN 발신 (070 번호)
  Co->>El: SIP INVITE over TLS (To: +8270xxxxxxxx)
  El->>El: 번호 → import 된 phone number 매칭
  El->>Agent: 할당된 에이전트로 연결
  Agent-->>Caller: 음성 대화
```

## 사전 준비물

| 항목 | 출처 |
| --- | --- |
| **ElevenLabs 계정 + Agent** | [elevenlabs.io](https://elevenlabs.io) → Agents 에서 에이전트 생성 |
| **한국AI통신 070 번호** | [대시보드 → 번호](https://platform.claw-ops.com/phone-numbers) |

---

## 1단계 — ElevenLabs 에 전화번호 import

ElevenLabs 대시보드 → **Phone Numbers** → **Import a phone number from SIP trunk**

| 필드 | 값 |
| --- | --- |
| Label | `한국AI통신 070` (자유) |
| Phone number | **E.164 형식** — 예: `+827052358012` |
| Inbound authentication | 비워두기 (또는 digest 사용 시 username/password 설정) |

번호 import 후 해당 번호를 선택해 **Assign Agent** 로 에이전트를 할당합니다.

**여기서 입력한 번호 표기가 2단계의 User 값과 문자열까지 정확히 일치해야 합니다.**
`+82` 로 import 했으면 User 도 `+82...` 로 — 선행 `+` 포함 여부가 다르면 ElevenLabs 가 즉시 거절합니다.

---

## 2단계 — 한국AI통신 콘솔에서 SIP 엔드포인트 등록

[platform.claw-ops.com/phone-numbers/sip-endpoints](https://platform.claw-ops.com/phone-numbers/sip-endpoints) → **엔드포인트 추가**

| 필드 | 값 |
| --- | --- |
| 엔드포인트 이름 | `ElevenLabs` (자유) |
| **User** | 1단계에서 import 한 번호 그대로 (예: `+827052358012`) |
| Host | `sip.rtc.elevenlabs.io` |
| Port | `5061` |
| Transport | **TLS** |
| 외부 SIP 인증 사용 | 1단계에서 digest 를 설정한 경우만 체크 |

라이브 프리뷰가 `sip:+827052358012@sip.rtc.elevenlabs.io:5061` 로 표시되면 정상입니다.

**자주 하는 실수**
- User 에 **agent ID (`agent_xxx`) 를 넣으면 라우팅되지 않습니다.** 번호→에이전트 매핑은 ElevenLabs 대시보드의 Assign Agent 가 담당합니다.
- **UDP 는 ElevenLabs 가 지원하지 않습니다.** 반드시 TLS(5061) 를 사용하세요.
- User 를 비워두면 수신번호가 국내형 (`07052358012`) 으로 주입됩니다. ElevenLabs 에 `+82` 형식으로 import 했다면 매칭되지 않으므로 User 를 직접 입력하세요.

---

## 3단계 — 070 번호 라우팅을 SIP 로 전환

[platform.claw-ops.com/phone-numbers](https://platform.claw-ops.com/phone-numbers) → 번호 선택 → **인바운드 라우팅** 카드의 **수정** → **SIP** 토글 → 2단계의 엔드포인트 선택 → 저장.

이제 해당 번호로 걸려오는 콜은 ElevenLabs 로 전달되고, 1단계에서 할당한 에이전트가 응답합니다.

---

## 트러블슈팅

| 증상 | 원인 |
| --- | --- |
| 통화가 0초 만에 `failed` 로 종료 | User part 가 import 된 번호와 불일치 (선행 `+` 포함 여부 확인), 또는 agent ID 를 입력함 |
| 라우트의 실패 횟수만 증가하고 마지막 사용 시각이 비어있음 | ElevenLabs 가 INVITE 를 거절 중 — 위 항목 + Transport 가 TLS 인지 확인 |
| ElevenLabs 측에 인바운드 로그 없음 | 번호가 import 되지 않았거나 표기 불일치로 매칭 실패 |

## 참고

- [SIP trunking](https://elevenlabs.io/docs/agents-platform/phone-numbers/sip-trunking) — ElevenLabs 공식 가이드
- 한국AI통신이 ElevenLabs 로 보내는 통화의 코덱은 G711(PCMU·PCMA) 8kHz 입니다
