SIP Error Codes & Troubleshooting Guide
This table lists SIP response codes you may encounter, what they usually mean in real deployments, where the issue most likely lies, and what to check next.
1) Provisional Responses (1xx – Informational)
SIP Code | Meaning | What It Means | What to Check |
|---|---|---|---|
100 | Trying | SIP request received and being processed | Normal behavior |
180 | Ringing | Destination endpoint is ringing | Normal behavior |
183 | Session Progress | Early media (IVR / announcements) | If audio missing → RTP ports |
2) Successful Responses (2xx)
SIP Code | Meaning | What It Means | What to Check |
|---|---|---|---|
200 | OK | Call successfully connected | If no audio → RTP / NAT |
3) Client Errors (4xx – Most Common)
SIP Code | Meaning | Likely Root Cause | What to Check |
|---|---|---|---|
400 | Bad Request | Malformed SIP headers or SDP | SIP logs for invalid headers |
401 | Unauthorized | Authentication required | Credentials (if applicable) |
403 | Forbidden | IP not allowed | ACL / whitelisted IP |
404 | Not Found | Invalid DID or routing | Phone number mapping |
408 | Request Timeout | No SIP response | Firewall / reachability |
410 | Gone | Number inactive or removed | DID status |
415 | Unsupported Media | Codec not supported | Ensure G.711 A-law enabled |
480 | Temporarily Unavailable | Endpoint unreachable | PBX availability |
484 | Address Incomplete | Invalid number format | E.164 format |
486 | Busy Here | Destination busy | Normal behavior |
488 | Not Acceptable Here | SDP / codec mismatch | G.711 A-law only |
4) Server Errors (5xx)
SIP Code | Meaning | Likely Root Cause | What to Check |
|---|---|---|---|
500 | Server Error | Internal processing failure | Retry call |
502 | Bad Gateway | Upstream routing issue | Retry |
503 | Service Unavailable | Destination unreachable | Network / routing |
504 | Gateway Timeout | No upstream response | Firewall / latency |
580 | Precondition Failure | Media negotiation failed | RTP / NAT |
5) Global Failures (6xx)
SIP Code | Meaning | Likely Root Cause | What to Check |
|---|---|---|---|
600 | Busy Everywhere | All endpoints busy | Retry |
603 | Decline | Call rejected by endpoint | PBX dialplan |
604 | Does Not Exist Anywhere | Invalid number | DID correctness |
606 | Not Acceptable | Media policy failure | Codec / SDP |
6) Media (Audio) Issues – No SIP Error Shown
These are the most common issues and do not always show SIP error codes.
Symptom | Likely Cause | What to Check |
|---|---|---|
No audio both ways | RTP blocked | UDP 10000–40000 open |
One-way audio | NAT / firewall | Public IP in SDP |
Audio drops after answer | RTP timeout | Firewall idle timeout |
IVR audio but no agent audio | Asymmetric RTP | Symmetric RTP enabled |
7) Codec Requirements (India)
Item | Requirement |
|---|---|
Supported codec | G.711 A-law |
Other codecs | Not supported |
Common failure | 415 / 488 errors |
Ensure:
- G.711 A-law is enabled
- No other codec is forced ahead of it
- Transcoding is disabled (recommended)
8) API-Level Errors (Exotel)
API Error Code | HTTP Status | Meaning | What It Indicates | Common Endpoints | What the Customer Should Do |
|---|
1000 | 404 | Not Found | Resource does not exist | POST /trunks/{trunk_sid}/phone-numbers POST /trunks/{trunk_sid}/whitelisted-ips POST /trunks/{trunk_sid}/destination-uris PUT /trunks/{trunk_sid}/phone-numbers/{id} | Verify trunk_sid, phone number ID, or API path |
|---|
1001 | 400 | Mandatory parameter missing | Required field not sent in request | POST /trunks POST /phone-numbers PUT /phone-numbers/{id} | Ensure all mandatory fields are present |
|---|
1002 | 400 | Invalid parameter | Field value is invalid or not allowed | POST /trunks POST /destination-uris POST /whitelisted-ips | Validate parameter format (IP, FQDN, E.164 number) |
|---|
1007 | 400 | Invalid request body | JSON is malformed or not parsable | All POST / PUT APIs | Fix JSON syntax, remove trailing commas, ensure valid JSON |
|---|
1008 | 409 | Duplicate resource | Resource already exists | POST /trunks POST /phone-numbers POST /whitelisted-ips | Safe to ignore if config already exists |
|---|
1011 | 415 | Unsupported content type | Incorrect Content-Type header | All POST / PUT APIs | Use Content-Type: application/json |
|---|
9) Before Contacting Exotel Support
Please verify:
- SIP signaling port (443 / 5070) reachable
- UDP 10000–40000 open
- Correct Exotel IPs allowed
- Correct trunk domain used
- Correct mode (pstn or flow)
- Correct destination URI configured
- G.711 A-law enabled
10) When to Contact Exotel Support
Raise a ticket at support.exotel.com([email protected]) only after verification.
Please share:
- Trunk SID
- CallSID
- Call direction (Inbound / Outbound)
- SIP response code (if any)
- Timestamp (with timezone)
- PBX SIP logs or PCAP (if available)