SIP 트렁크
ClawOps 070 인바운드를 외부 SIP URI 로 직접 전달. OpenAI Realtime · ElevenLabs · 자체 SIP 게이트웨이를 한국 번호에 연결합니다.
개요
ClawOps SIP 트렁킹은 070 번호 인바운드를 외부 SIP URI 로 직접 전달 할 수 있습니다. AI 음성 SaaS 가 자체 SIP 게이트웨이를 제공하면 우리 통화 엔진을 거치지 않고 바로 그쪽으로 미디어가 흐릅니다.
부가서비스 활성화 필요. SIP 트렁크 라우팅은 SIP 트렁크 연결 부가서비스 입니다. 대시보드 → 부가서비스 에서 활성화 후 진행하세요.
아키텍처
지원 패턴
| Provider | 라우팅 URI | 인증 |
|---|---|---|
| OpenAI Realtime | sip:proj_xxx@sip.api.openai.com:5061;transport=tls | project_id + webhook |
| ElevenLabs Agents | sip:+8270xxxxxxxx@sip.rtc.elevenlabs.io:5061;transport=tls | 번호 import + agent 할당 (digest 선택) |
공통 설정 흐름
- 대시보드 → 번호 에서 사용할 070 번호 선택
- 부가서비스 활성화 (대시보드 → 부가서비스 → SIP 트렁크 연결)
- SIP 엔드포인트 등록 — 외부 SaaS 도착지 URI 입력
- 번호의 인바운드 라우팅을 SIP 로 전환 + 위에서 만든 엔드포인트 선택
- (provider 측) webhook / agent / assistant 등록
방화벽/PBX 화이트리스트 — 사내 PBX·FreeSWITCH·Asterisk 등 자체 SIP 게이트웨이를 IP 허용목록으로 운영하신다면, 저희 SIP 시그널링·RTP 미디어 고정 IP를 함께 허용해 주세요. 전체 목록은 네트워크 (IP 허용목록) 을 참고하세요.
INVITE 에 실리는 값
ClawOps 가 SIP 엔드포인트로 보내는 INVITE 에서 아래 값을 읽을 수 있습니다.
| 값 | 어디에 | 설명 |
|---|---|---|
| 발신자 번호 | From | 통신사가 보내 준 발신자 번호를 형식 그대로 싣습니다(국내 휴대폰은 01012345678 형식). 발신자가 번호 표시를 제한하고 건 통화는 번호 대신 anonymous 를 싣습니다. |
| 걸려온 번호 | X-ClawOps-To | 이 SIP 트렁크로 연결된 ClawOps 번호입니다(착신전환을 거쳐 들어왔다면 최종으로 도착한 번호). 등록한 URI 와 관계없이 실립니다. |
| 걸려온 번호 | Request-URI · To 의 user 부분 | 등록한 URI 에 user 부분이 없을 때만(sip:pbx.example.com) 070 번호가 들어갑니다. user 부분이 있으면(sip:frontdesk@pbx.example.com) 입력하신 URI 그대로 보냅니다. |
| 통화 ID | X-ClawOps-CallId | ClawOps 통화 ID(CA…)입니다. 상태 콜백의 CallId, 통화 기록 조회의 통화 ID 와 같은 값이라 INVITE 와 상태 콜백을 한 통화로 묶을 때 씁니다. |
INVITE sip:07012345678@pbx.example.com SIP/2.0
From: <sip:01012345678@...>;tag=...
To: <sip:07012345678@pbx.example.com>
X-ClawOps-CallId: CA0123456789abcdef0123456789abcdef
X-ClawOps-To: 07012345678헤더 이름은 대소문자를 구분하지 않고 읽어 주세요(SIP 규약). 앞으로 X-ClawOps- 로 시작하는 헤더가 늘어날 수 있으니, 모르는 헤더는 무시하도록 처리해 주세요.
가이드
- OpenAI Realtime — 실시간 음성 모델 (gpt-realtime) 연동, webhook 핸들러 코드 포함
- ElevenLabs Agents — ElevenLabs Conversational AI 에이전트 연동, 번호 import 가이드 포함