동시 통화 한도
구독 플랜에 따른 동시 통화 제한과 한도 초과 시 동작, 에러 처리 방법을 안내합니다.
동시 통화 한도
ClawOps는 구독 플랜에 따라 계정당 동시에 진행할 수 있는 통화 수를 제한합니다. 인바운드와 아웃바운드 통화를 합산하여 계산합니다.
플랜별 한도
| 플랜 | 월 요금 | 동시 통화 수 |
|---|---|---|
| Trial | 무료 | 1 |
| Individual | ₩19,000 | 1 |
| Business | ₩99,000 | 10 |
동시 통화 수는 현재 진행 중인(ringing + in-progress) 통화의 합계입니다. 종료된 통화는 포함되지 않습니다.
각 플랜은 통화 분량·메시지 건수 등의 월 포함량을 제공하며, 초과 사용 시 분/건 단위로 사용량 기반 과금됩니다. 최신 포함량과 요금은 대시보드 → 설정 → 결제에서 확인하세요.
한도 초과 시 동작
아웃바운드 통화
calls.create() 호출 시 동시 통화 한도를 초과하면 HTTP 429 응답과 함께 CALL_LIMIT_EXCEEDED 에러 코드가 반환됩니다.
{
"error": "Concurrent call limit: 1/1",
"code": "CALL_LIMIT_EXCEEDED"
}error 는 현재 진행 중인 통화 수/한도 형식입니다. 문구는 안내용이므로 분기는 code 로 하세요. 이 응답은 슬롯이 비면 성공하므로 잠시 후 재시도하면 됩니다.
이용이 제한된 계정
계정의 발신이 제한된 상태에서 calls.create() 를 호출하면 HTTP 403 응답과 함께 ACCOUNT_RESTRICTED 에러 코드가 반환됩니다.
{
"error": "발신이 제한된 계정입니다. 고객센터로 문의해 주세요.",
"code": "ACCOUNT_RESTRICTED"
}ACCOUNT_RESTRICTED 는 재시도해도 결과가 같습니다. 한도 초과(CALL_LIMIT_EXCEEDED)와 달리 시간이 지나도 해소되지 않습니다. SDK 는 429 를 자동 재시도하지만 403 은 재시도하지 않으므로, RateLimitError 가 아니라 PermissionDeniedError 로 잡아 즉시 중단하도록 처리하세요. 문자 발송에서는 같은 상황에 messaging_blocked 가 반환됩니다.
제한 사유와 해제 절차는 계정에 등록된 이메일로 안내되며, 대시보드 상단에도 표시됩니다.
인바운드 통화
동시 통화 한도를 초과한 상태에서 전화가 수신되면, 발신자에게 자동으로 안내 멘트("현재 통화 중입니다. 잠시 후 다시 걸어주세요.")가 재생된 후 통화가 종료됩니다. Webhook은 호출되지 않습니다.
SDK 에러 처리
Python
from clawops import ClawOps, RateLimitError
client = ClawOps()
try:
call = client.calls.create(
to="01012345678",
from_="07052358010",
url="https://my-app.com/twiml",
)
except RateLimitError as e:
print(f"동시 통화 한도 초과: {e.message}")Node.js
import ClawOps, { RateLimitError } from 'clawops';
const client = new ClawOps();
try {
const call = await client.calls.create({
to: '01012345678',
from: '07052358010',
url: 'https://my-app.com/twiml',
});
} catch (e) {
if (e instanceof RateLimitError) {
console.log(`동시 통화 한도 초과: ${e.message}`);
}
}Voice Agent
Voice Agent SDK의 agent.call() 사용 시에도 동일한 한도가 적용됩니다.
from clawops.agent import ClawOpsAgent, AgentError
agent = ClawOpsAgent(...)
try:
call = await agent.call(to="01012345678")
except AgentError as e:
if getattr(e, "status", None) == 429:
print("동시 통화 한도 초과")구독 없음 (403)
활성 구독이 없는 계정에서 통화를 시도하면 HTTP 403 응답과 함께 NO_SUBSCRIPTION 에러 코드가 반환됩니다.
{
"error": "활성 구독이 없습니다",
"code": "NO_SUBSCRIPTION"
}FAQ
한도를 늘리려면 어떻게 하나요?
대시보드에서 상위 플랜으로 업그레이드하면 동시 통화 한도가 자동으로 증가합니다.
인바운드와 아웃바운드를 별도로 제한할 수 있나요?
아닙니다. 동시 통화 한도는 인바운드와 아웃바운드를 합산하여 적용됩니다.
통화가 종료되면 즉시 슬롯이 해제되나요?
네. 통화가 종료(completed/failed)되면 즉시 슬롯이 해제되어 새로운 통화가 가능합니다.