SIP response codes
On one of the projects I worked on recently I had to implement a Python based sip stack. The sip stack basically listens to port 5060 and when a connection is made to that port, a code is sent describing what the other device wants to do, or what state it is in.
One of the problems I had when implementing this was the lack of information about what the responce codes are, so, this page displays a table of sip response codes used in communication between viop servers and clients (aka. the sip stack).
| Code | Meaning | RFC |
| Provisional 1xx | ||
|---|---|---|
| 100 | Trying | RFC3261 |
| 180 | Ringing | RFC3261 |
| 181 | Call is being forwarded | RFC3261 |
| 182 | Queued | RFC3261 |
| 183 | Session in progress | RFC3261 |
| Successful 2xx | ||
| 200 | OK | RFC3261 |
| 202 | Accepted | RFC3265 |
| Redirection 3xx | ||
| 300 | Multiple choices | RFC3261 |
| 301 | Moved permanently | RFC3261 |
| 302 | Moved temporarily | RFC3265 |
| 305 | Use proxy | RFC3261 |
| 380 | Alternative service | RFC3261 |
| Request failure 4xx | ||
| 400 | Bad request | RFC3261 |
| 401 | Unauthorized | RFC3261 |
| 402 | Payment required | RFC3261 |
| 403 | Forbidden | RFC3261 |
| 404 | Not found | RFC3261 |
| 405 | Method not allowed | RFC3261 |
| 406 | Not acceptable | RFC3261 |
| 407 | Proxy authentication required | RFC3261 |
| 408 | Request timeout | RFC3261 |
| 410 | Gone | RFC3261 |
| 412 | Conditional request failed | RFC3903 |
| 413 | Request entity too large | RFC3261 |
| 414 | Request-URI too long | RFC3261 |
| 415 | Unsupported media type | RFC3261 |
| 416 | Unsupported URI scheme | RFC3261 |
| 417 | Unknown resource-priority | RFC4412 |
| 420 | Bad extension | RFC3261 |
| 421 | Extension required | RFC3261 |
| 422 | Session interval too small | RFC4028 |
| 423 | Interval too brief | RFC3261 |
| 428 | Use identity header | RFC4474 |
| 429 | Provide referrer identity | RFC3892 |
| 436 | Bad identity-info | RFC4474 |
| 437 | Unsupported certificate | RFC4474 |
| 438 | Invalid identity header | RFC4474 |
| 480 | Temporarily unavailable | RFC3261 |
| 481 | Call/Transaction does not exist | RFC3261 |
| 482 | Loop detected | RFC3261 |
| 483 | Too many hops | RFC3261 |
| 484 | Address incomplete | RFC3261 |
| 485 | Ambiguous | RFC3261 |
| 486 | Busy here | RFC3261 |
| 487 | Request terminated | RFC3261 |
| 488 | Not acceptable here | RFC3261 |
| 489 | Bad event | RFC3265 |
| 491 | Request pending | RFC3261 |
| 493 | Undecipherable | RFC3261 |
| 494 | Security agreement required | RFC3329 |
| Server failure 5xx | ||
| 500 | Server internal error | RFC3261 |
| 501 | Not implemented | RFC3261 |
| 502 | Bad gateway | RFC3261 |
| 503 | Service unavailable | RFC3261 |
| 504 | Server time-out | RFC3261 |
| 505 | Version not supported | RFC3261 |
| 513 | Message too large | RFC3261 |
| 580 | Precondition failure | RFC3312 |
| Global failures 6xx | ||
| 600 | Busy everywhere | RFC3261 |
| 603 | Decline | RFC3261 |
| 604 | Does not exist anywhere | RFC3261 |
| 606 | Not acceptable | RFC3261 |