Overview
SIP status codes are three digit numbers indicating the type of a SIP response. They are similar to HTTP status code from which SIP incorporates many elements.
Categories
| Provisional | 1xx | Request received and being processed. |
| Success | 2xx | The action was successfully received, understood, and accepted. |
| Redirection | 3xx | Further action needs to be taken (typically by sender) to complete the request. |
| Client Error | 4xx | The request contains bad syntax or cannot be fulfilled at the server. |
| Server Error | 5xx | The server failed to fulfill an apparently valid request. |
| Global Failure | 6xx | The request cannot be fulfilled at any server. |
Sample Codes
We have the following codes so far being logged:
| code | description | mapped to |
| 200 | OK | ANSWERED |
| 401 | Unauthorized | FAILED |
| 403 | Forbidden | FAILED |
| 404 | Not Found | FAILED |
| 408 | Request Timeout | NO ANSWER |
| 476 | ? | FAILED |
| 480 | Temporarily Unavailable | FAILED |
| 483 | Too Many Hops | FAILED |
| 484 | Address Incomplete | FAILED |
| 486 | Busy Here | BUSY |
| 487 | Request Terminated | CANCELED |
| 488 | Not Acceptable Here | FAILED |
| 502 | Bad Gateway | FAILED |
| 503 | Service Unavailable | FAILED |
So we code in the 2xx, 4xx and 5xx categories, and we need to map them to one of the following:
- NULL
- FAILED
- CANCELED
- ANSWERED
- BUSY
- NO ANSWER
Mappings
qr/1\d{2}/ => ‘NULL’,
qr/2\d{2}/ => ‘ANSWERED’,
qr/3\d{2}/ => ‘NULL’,
qr/4\d{2}/ => ‘FAILED’,
qr/5\d{2}/ => ‘FAILED’,
qr/6\d{2}/ => ‘FAILED’,
Showing changes from previous revision. Removed | Added
