← 블로그 목록

1588·1566 대표번호 ClawOps 무료 연동 — 기존 8자리 번호 그대로 AI 응답

기존 1588·1566 대표번호를 통신사 착신전환만으로 ClawOps에 연동해 AI가 받게 만드는 방법. 별도 계약·서류·애드온 없이 070 번호 하나로 시작한다.

1588·1566 대표번호 ClawOps 무료 연동 — 기존 8자리 번호 그대로 AI 응답

이미 쓰고 있는 1588·1566·1577·1644 대표번호를 그대로 두고, 걸려오는 전화만 AI가 받게 만들 수 있다. 통신사 계약을 바꾸거나 번호를 옮길 필요가 없다.

먼저 결론부터. ClawOps 쪽에 신청하거나 등록할 것이 없다. 070 번호를 하나 발급받고, 통신사에 "착신전환 대상을 이 070 번호로 바꿔달라"고 요청하면 그게 전부다. 서류 제출도, 심사 대기도, 별도 애드온도 없다.

1. 어떻게 동작하나

[고객] → 1588-5678 다이얼
   ↓
[기존 통신사 (KT/LG U+/SKT)]
   ↓ 착신전환
[ClawOps 070 번호]
   ↓
[그 번호에 설정한 AI 에이전트 또는 webhook]
   ↓ 응답
[고객]

발신자는 평소처럼 1588 번호로 전화를 건다. 통신사가 그 콜을 지정된 070 번호로 넘기고, ClawOps는 그 070 번호에 설정된 방식대로 응대한다. 발신자에게는 아무 차이가 없고, 기존 통신사 계약과 월 사용료도 그대로다.

착신전환으로 넘어온 콜에는 원 대표번호 정보가 함께 실려 오지만, ClawOps에 그 대표번호를 등록해 둘 필요는 없다. 등록되지 않은 번호에서 전환된 콜은 실제로 다이얼된 070 번호 기준으로 처리된다. 그래서 사전 등록이나 승인 절차 없이 바로 동작한다.

2. 연동 절차

1단계 — 070 번호 발급

콘솔의 전화번호 메뉴에서 번호를 발급받는다. 발급은 즉시 끝난다.

2단계 — 그 번호에 응대 방식 설정

발급받은 070 번호가 전화를 어떻게 받을지 정한다. 두 가지 방법이 있다.

A. 콘솔에서 AI 에이전트 연결 — 코드 없이 콘솔에서 에이전트를 만들고 번호에 연결한다. 프롬프트로 응대 내용을 지정하고, 통화 중 담당자 연결 같은 도구도 콘솔에서 붙일 수 있다. 대부분의 경우 이쪽이 빠르다.

B. webhook 으로 직접 제어 — 걸려올 때마다 내 서버가 호출되고, 서버가 반환한 VoiceML(XML)대로 통화가 진행된다. 시간대나 대기열 상태에 따라 분기하고 싶을 때 쓴다.

from clawops import ClawOps

client = ClawOps()

# 발급받은 070 번호에 webhook 을 건다 (1회)
client.numbers.update(
    "07012340001",
    routing_type="webhook",
    webhook_url="https://your-app.com/inbound",
)

3단계 — 통신사에 착신전환 요청

계약한 통신사에 착신전환 대상을 발급받은 070 번호로 설정해 달라고 요청한다. 이 부분은 고객사와 통신사 사이에서 끝나는 일이고 ClawOps는 관여하지 않는다. 창구와 소요 기간은 통신사와 대표번호 상품에 따라 다르니 통신사에 직접 확인해야 한다.

파일럿이라면 순서를 뒤집는 편이 낫다. 먼저 070 번호로 응대를 원하는 대로 만들어 직접 걸어보며 테스트하고, 동작을 확인한 뒤에 통신사에 착신전환을 신청하면 된다. 그러면 통신사 처리를 기다리는 동안에도 검토를 진행할 수 있다.

3. 미리 알아둘 제약 — 수신 전용

착신전환은 걸려오는 전화를 넘겨받는 구조다. 따라서 기존 1588 번호로 발신하는 것은 이 방식으로 불가능하다.

  • ClawOps에서 나가는 전화는 발급받은 070 번호로 발신된다.
  • 발신자 표시를 기존 1588 번호로 바꾸는 것도 어렵다. 그 번호의 명의 확인이 필요한 영역이다.

아웃바운드가 필요한 시나리오라면 이 점을 먼저 확인해야 한다. 인바운드 AI 응대에는 제약이 없다.

참고로 ClawOps에서 새 대표번호를 발급받는 것은 별개 기능이다(월 30,000원). 이 경우에는 발신 시 070 번호 대신 그 대표번호가 표시되도록 지정할 수 있다. 기존에 쓰던 대표번호를 가져오는 것과는 다른 이야기다.

4. 영업시간에 따라 다르게 받기

ClawOps에는 routing_rules 같은 서버측 규칙 엔진이 없다. 영업시간 여부를 판단해 주는 콘솔 스케줄 기능도 없다. 시간대 분기가 필요하면 webhook 핸들러 안에서 직접 판단해서 VoiceML로 갈라준다.

# 인바운드 webhook 핸들러 (FastAPI) — VoiceML 반환
import datetime
from zoneinfo import ZoneInfo
from fastapi import FastAPI, Request, Response

app = FastAPI()

@app.post("/inbound")
async def inbound(request: Request):
    form = await request.form()
    caller = form["From"]        # 발신자 번호
    called = form["To"]          # ClawOps 070 번호

    now = datetime.datetime.now(ZoneInfo("Asia/Seoul"))
    business_hours = 9 <= now.hour < 18 and now.weekday() < 5

    if business_hours:
        # 영업시간 — 기존 상담사 회선으로 전환
        xml = """<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Dial timeout="20" action="https://your-app.com/dial-status">
    <Number>07012340002</Number>
  </Dial>
</Response>"""
    else:
        # 영업시간 외 — AI 가 실시간 응대
        xml = """<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <Say language="ko-KR">지금은 영업시간이 아닙니다. 용건을 말씀해 주시면 다음 영업일에 연락드리겠습니다.</Say>
  <Connect>
    <Stream url="wss://your-app.com/after-hours"/>
  </Connect>
</Response>"""

    return Response(content=xml, media_type="application/xml")

같은 자리에서 대기열 길이를 보고 분기하면 폭주 시 overflow가 된다. 상담사가 바쁘면 AI가 먼저 받고, 여유가 있으면 <Dial>로 넘기는 식이다. 판단 기준은 자사 시스템에서 가져오면 된다.

콘솔의 콜 플로우 빌더에도 조건 분기 블럭이 있지만, 흐름 안에서 쓸 수 있는 시스템 변수에 시각과 요일이 없다. HTTP 블럭으로 외부 판단 결과를 받아 분기하는 우회는 가능하나, 시간 조건 하나 때문이라면 webhook 핸들러 쪽이 단순하다.

webhook 요청 파라미터

전화가 걸려오면 아래 파라미터가 application/x-www-form-urlencoded로 전달된다.

파라미터설명
CallId통화 고유 ID
AccountId계정 ID
From발신자 번호
ToClawOps 070 번호
CallStatus통화 상태
Directioninbound

번호 설정에 서명 키를 등록해 두면 X-Signature 헤더가 함께 온다.

5. 대표번호가 여러 개일 때 구분하기

주의할 점이 하나 있다. To 파라미터에는 070 번호가 담긴다. 발신자가 누른 1588 번호가 아니다.

대표번호를 여러 개 운영하면서 각각 다르게 응대하려면, 대표번호마다 070 번호를 따로 발급받아 1:1로 착신전환하면 된다. 그러면 To 값으로 어느 대표번호로 걸려온 콜인지 구분할 수 있다.

ROUTES = {
    "07012340001": "고객지원",
    "07012340002": "주문문의",
}

@app.post("/inbound")
async def inbound(request: Request):
    form = await request.form()
    desk = ROUTES.get(form["To"], "대표")
    ...

070 번호는 필요한 만큼 발급받을 수 있고, 하나의 webhook 핸들러가 여러 번호를 함께 처리해도 된다.

6. 가격

  • 기존 대표번호 연동: 무료. 연동 자체에 붙는 비용이 없다.
  • 070 번호와 통화 요금은 사용 중인 플랜을 따른다. 요금 안내를 참고.
  • 기존 통신사 월 사용료: 변동 없음.
  • SIP 직접연결 애드온은 이 용도에 필요하지 않다. 외부 플랫폼에서 ClawOps 인프라로 직접 SIP 연결할 때 쓰는 별개 기능이다.

7. FAQ

Q. 기존 통신사 계약을 해지해야 하나? A. 아니다. 대표번호 발급과 유지는 통신사 영역이고, ClawOps는 걸려온 전화를 받는 레이어만 얹는다. 계약은 그대로 두면 된다.

Q. 1588 외에 1566·1577·1644도 되나? A. 된다. 착신전환이 되는 번호면 대역과 무관하다. 일반 유선번호(02·031 등)를 070으로 돌리는 것도 같은 방식으로 동작한다.

Q. ClawOps에 대표번호를 등록해야 하나? A. 필요 없다. 착신전환만 걸면 된다.

Q. 1588 번호로 발신도 되나? A. 이 방식으로는 안 된다. 발신은 070 번호로 나간다. 자세한 내용은 §3 참고.

Q. 연동을 되돌리려면? A. 통신사에서 착신전환을 해제하면 즉시 원래대로 돌아간다. ClawOps 쪽에 해지 절차가 없다.

Q. 평일 낮은 상담사, 밤에는 AI로 받고 싶다. A. §4의 패턴 그대로다.

다음 단계

이전 글

내 Claude Code 로 전화비서 만들기 — 3분 완성, 진짜 전화 가는 비서

ClawOps AI 전화 API로 시작하기

070 번호 발급부터 AI 음성 통화까지, REST API 몇 줄이면 됩니다.