# Common SIP Response Codes

> What each SIP response code means on an Edesy SIP trunk - including 403 Caller ID Not Authorized, 402 Payment Required and 503 Channel Limit Reached - and how to fix it.

Source: https://edesy.in/docs/sip-trunking/troubleshooting/common-sip-response-codes

When a call through an Edesy trunk fails, the SIP response code and reason phrase tell you why. Edesy-specific rejections, such as `403 Caller ID Not Authorized` or `503 Channel Limit Reached`, happen before the call is placed and cost nothing. Other codes come from the far end or the phone network. Find yours in the tables below.

## Responses from Edesy on outbound trunk calls

| Code and reason | Meaning | Fix |
|---|---|---|
| `400 Missing Destination` | The INVITE has no number to dial | Put the dialled number in the Request-URI |
| `401 Unauthorized` / `407 Proxy Authentication Required` | Normal digest challenge on a credentials trunk | Your PBX should retry with credentials. If it loops, check the username, password and From Domain. |
| `402 Payment Required` | Your wallet cannot cover the call | Top up the wallet |
| `403 Caller ID Not Authorized` | The `From` number is not a number you own on Edesy | Set the caller ID to your Edesy number. A PBX often sends its SIP username here by default. |
| `403 Call Not Authorized` | The call is not allowed as dialled, for example no rate for the destination | Check the number format (E.164) and destination |
| `403 Forbidden` (no Edesy reason) | Source IP not on the allowlist, or credentials wrong | Add your IP to the trunk, or fix the credentials |
| `503 Channel Limit Reached` | Your workspace's concurrent-call allowance is in use | Retry later, or ask support to raise it |
| `503 Call Rate Limit Exceeded` | Too many new calls per second | Pace new calls |
| `503 Billing Temporarily Unavailable` | A temporary problem on Edesy's side | Retry, or fail over to another route |

## Responses from the far end or phone network

| Code | Meaning | Common cause |
|---|---|---|
| `404 Not Found` | The number does not exist or is not routable | Number not in E.164; missing country code (`91` for India) |
| `408 Request Timeout` | No response in time | Network issue, or the far end is unreachable |
| `480 Temporarily Unavailable` | Callee not reachable | Phone off or out of coverage; endpoint not registered |
| `484 Address Incomplete` | Too few digits | Fix the dial pattern |
| `486 Busy Here` | Callee is busy | Retry later |
| `487 Request Terminated` | The caller hung up before answer | Normal for abandoned calls |
| `488 Not Acceptable Here` | No common codec | Enable G.711 μ-law and A-law only |
| `500 Server Internal Error` | Error at the far end | Retry; contact support if it persists |
| `503 Service Unavailable` | Far end overloaded or down | Retry or fail over |
| `603 Decline` | The far end refused the call | For a SIP destination, the endpoint rejected Edesy: check its allowlist, credentials or transport |

## Inbound calls to a SIP destination

| Code | Meaning | Fix |
|---|---|---|
| `401` / `407` repeated | Your endpoint wants credentials | Add SIP authentication on the number's inbound routing |
| `403` | Your endpoint rejects Edesy's IP | Allowlist Edesy's signalling IP on the endpoint |
| `404` | The URI's user part does not match an agent or number | Use `sip:<number>@host` with the number the platform expects |
| `603` | Declined by the endpoint, or a transport it does not accept | Check the transport. TLS is available on request. |

## Where to see the code

- The trunk page's test panel shows the hangup cause for test calls.
- Call status webhooks include `SipResponseCode` and `HangupReason`.
- Your PBX's SIP log (Asterisk: `pjsip set logger on`).

## FAQ

### Am I charged for a call that got a 4xx or 5xx response?

No. Unanswered and failed calls are free.

### Why do I see 401 and then 200 on every call?

That is normal digest authentication: Edesy challenges, your PBX answers with credentials, and the call proceeds.

### My PBX retries on 503. Is that safe?

Yes. Edesy uses 503 for limits and temporary problems so a PBX can retry or fail over.
