# 음성사서함 감지 (AMD) (/docs/build/amd)

## 개요

AMD(Answering Machine Detection)는 **발신 통화**에서 상대방의 응답이 사람인지
음성사서함/자동응답기인지 감지합니다. 결과는 `AnsweredBy`(human / machine / unknown)로
전달됩니다.

## 활성화

AMD는 가입 시 기본 활성화되어 있으며, 콘솔의 **부가서비스(/addons)** 에서 켜고 끌 수 있습니다.
한 번 끄면 결제 갱신 후에도 꺼진 상태가 유지됩니다.

AMD가 꺼진 상태에서 `MachineDetection` 을 보내면 통화 생성이 **HTTP 422
(`amd_addon_disabled`)** 로 거절됩니다. 먼저 부가서비스에서 활성화하세요.

## 사용

발신 통화 생성 시 `MachineDetection` 옵션을 지정합니다.

- `Enable` — 감지 후 `AnsweredBy` 를 통보하고 통화는 계속됩니다.
- `Hangup` — 음성사서함으로 판정되면 통화를 자동 종료합니다.

### REST

```bash
curl -X POST https://api.claw-ops.com/v1/accounts/$ACCOUNT_ID/calls \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "To": "01012345678",
    "From": "07011112222",
    "MachineDetection": "Enable"
  }'
```

### Python SDK

```python
client.calls.create(
    to="01012345678",
    from_="07011112222",
    machine_detection="Enable",
)
```

## 결과 수신

`AnsweredBy` 는 통화 응답 본문과 [status webhook](/docs/webhooks/status) 의 `completed`
이벤트에 포함됩니다 (`MachineDetection` 을 켠 발신 통화에 한해).

| AnsweredBy | 의미 |
| --- | --- |
| `human` | 사람이 응답 |
| `machine` | 음성사서함/자동응답기 |
| `unknown` | 판정 불가 |

## 과금

건당 3원. 실제 감지가 수행된 발신 통화(`amd_status` 기록분)만 과금되며, 미응답/실패
통화는 감지가 시작되지 않아 과금되지 않습니다.
