// SIP REFERENCE

SIP response codes

Every SIP request gets a three-digit status code. The first digit is the class: 1xx provisional, 2xx success, 3xx redirection, 4xx client failure, 5xx server failure, 6xx global failure. Here is every registered code, what it means, and what it tells you when your SBC answers a SIP OPTIONS ping.

See which code your SBC returns. Run a free SIP OPTIONS check

1xx Provisional

The request was received and is still being processed. A provisional response is never the final answer, and a final response always follows.

Code Reason phrase Meaning Answer to SIP OPTIONS RFC
100 Trying The next hop received the request and is working on it. It stops retransmissions. Not a final answer. The check waits for the final response. RFC 3261
180 Ringing The called user agent is alerting the user. Not a final answer. The check waits for the final response. RFC 3261
181 Call Is Being Forwarded A proxy is forwarding the call to another destination. Not a final answer. The check waits for the final response. RFC 3261
182 Queued The callee is temporarily unavailable and the call is queued. Not a final answer. The check waits for the final response. RFC 3261
183 Session Progress Progress information, often with early media such as ringback or an announcement. Not a final answer. The check waits for the final response. RFC 3261
199 Early Dialog Terminated An early dialog was terminated before a final response. Not a final answer. The check waits for the final response. RFC 6228

2xx Success

The request was received, understood and accepted.

Code Reason phrase Meaning Answer to SIP OPTIONS RFC
200 OK The request succeeded. Up and answering. This is the healthy answer. RFC 3261
202 Accepted The request was accepted for processing. Deprecated by RFC 6665. Up and answering. RFC 3265
204 No Notification The subscription succeeded, but no NOTIFY will be sent because nothing changed. Up and answering. RFC 5839

3xx Redirection

The server points the request somewhere else. The client should retry at another address.

Code Reason phrase Meaning Answer to SIP OPTIONS RFC
300 Multiple Choices The address resolved to several locations, listed in Contact. Up. It answered with a redirect. RFC 3261
301 Moved Permanently The user is no longer at this address. Use the address in Contact. Up. It answered with a redirect. RFC 3261
302 Moved Temporarily Retry at the address in Contact for now. Common for call forwarding. Up. It answered with a redirect. RFC 3261
305 Use Proxy The request must go through the proxy given in Contact. Up. It answered with a redirect. RFC 3261
380 Alternative Service The call failed, but alternative services are possible. Up. It answered with a redirect. RFC 3261

4xx Client failure

The request was understood but rejected by this server, for example for missing credentials, an unknown address or an unsupported method. The server is working; it is saying no to this request.

Code Reason phrase Meaning Answer to SIP OPTIONS RFC
400 Bad Request The request was malformed. Up, but it could not parse our request. RFC 3261
401 Unauthorized The request needs user authentication. Registrars and user agents send it. Up. It wants credentials, which is normal for an SBC or registrar. RFC 3261
402 Payment Required Reserved for future use. Up. It rejected the request. RFC 3261
403 Forbidden The server understood the request and refuses to fulfil it. Authenticating again won't help. Up. It refused us, often because only listed IP addresses are allowed. RFC 3261
404 Not Found The user does not exist in the domain in the Request-URI. Up. It doesn't know the address we asked for. RFC 3261
405 Method Not Allowed The method is known but not allowed for this address. Up. It doesn't allow OPTIONS. RFC 3261
406 Not Acceptable The resource can only produce responses the request said it can't accept. Up. It rejected the request. RFC 3261
407 Proxy Authentication Required Like 401, but the client must authenticate with the proxy. Up. It wants proxy credentials, which is normal for an SBC. RFC 3261
408 Request Timeout The server could not produce a response in time, often while waiting on a downstream hop. Up, but timed out waiting on something behind it. RFC 3261
410 Gone The user existed but is no longer available, and no forwarding address is known. Up. It rejected the request. RFC 3261
412 Conditional Request Failed The precondition of a PUBLISH did not hold, for example an unknown entity tag. Up. It rejected the request. RFC 3903
413 Request Entity Too Large The request body is larger than the server will process. Up. It rejected the request. RFC 3261
414 Request-URI Too Long The Request-URI is longer than the server will interpret. Up. It rejected the request. RFC 3261
415 Unsupported Media Type The body format or encoding is not supported, for example an SDP the server can't handle. Up. It rejected the request. RFC 3261
416 Unsupported URI Scheme The Request-URI scheme is unknown to the server. Up. It rejected the request. RFC 3261
417 Unknown Resource-Priority The Resource-Priority header named an unknown namespace or value. Up. It rejected the request. RFC 4412
420 Bad Extension The request required an extension (in Proxy-Require or Require) that the server does not support. Up. It rejected the request. RFC 3261
421 Extension Required The server needs an extension that the request did not list in Supported. Up. It rejected the request. RFC 3261
422 Session Interval Too Small The session timer interval in the request is below the server's minimum. Up. It rejected the request. RFC 4028
423 Interval Too Brief The expiration time of the registration or subscription is too short. Up. It rejected the request. RFC 3261
424 Bad Location Information The location information in the request was malformed or unsatisfactory. Up. It rejected the request. RFC 6442
425 Bad Alert Message The Alert-Info or alert message in the request was not acceptable. Up. It rejected the request. RFC 8876
428 Use Identity Header The server requires an Identity header (STIR) and the request had none. Up. It rejected the request. RFC 8224
429 Provide Referrer Identity The REFER target requires a valid Referred-By token. Up. It rejected the request. RFC 3892
430 Flow Failed The outbound flow to the user agent has failed. Sent between proxies. Up. It rejected the request. RFC 5626
433 Anonymity Disallowed The server refuses anonymous requests. Up. It rejected the request. RFC 5079
436 Bad Identity Info The Identity header's info URI could not be dereferenced or used. Up. It rejected the request. RFC 8224
437 Unsupported Credential The credential used to sign the Identity header is not supported or not trusted. Up. It rejected the request. RFC 8224
438 Invalid Identity Header The Identity header signature did not validate. Up. It rejected the request. RFC 8224
439 First Hop Lacks Outbound Support The first-hop proxy does not support SIP Outbound. Up. It rejected the request. RFC 5626
440 Max-Breadth Exceeded Forking would exceed the Max-Breadth limit. Up. It rejected the request. RFC 5393
469 Bad Info Package The INFO package is not one the receiver supports. Up. It rejected the request. RFC 6086
470 Consent Needed The recipient has not consented to receive the request. Up. It rejected the request. RFC 5360
480 Temporarily Unavailable The callee is known but not reachable right now, for example not registered or busy with do-not-disturb. Up. It doesn't have the address we asked for available. RFC 3261
481 Call/Transaction Does Not Exist The request matches no existing dialog or transaction. Up. It rejected the request. RFC 3261
482 Loop Detected The request came back to a server it already passed through. Up, but our request looped between its proxies. RFC 3261
483 Too Many Hops Max-Forwards reached zero before the request reached its target. Up, but our request passed through too many proxies. RFC 3261
484 Address Incomplete The Request-URI is incomplete, for example a partially dialled number. Up. It doesn't recognise the address we asked for. RFC 3261
485 Ambiguous The Request-URI matched several users. Up. It rejected the request. RFC 3261
486 Busy Here The callee is reachable but busy at this location. Up. It rejected the request. RFC 3261
487 Request Terminated The request was cancelled by a CANCEL or BYE before it completed. Up. It rejected the request. RFC 3261
488 Not Acceptable Here Some part of the session description, often the codec list, is not acceptable at this endpoint. Up. It rejected the request. RFC 3261
489 Bad Event The event package in SUBSCRIBE or NOTIFY is not understood. Up. It rejected the request. RFC 6665
491 Request Pending Another request is already pending in this dialog, for example a re-INVITE glare. Up. It rejected the request. RFC 3261
493 Undecipherable The request has an encrypted body the server can't decrypt. Up. It rejected the request. RFC 3261
494 Security Agreement Required The server requires a security mechanism agreement before it will proceed. Up. It rejected the request. RFC 3329

5xx Server failure

The request may be valid, but the server failed to fulfil it: overloaded, in maintenance, misconfigured or unable to reach the next hop.

Code Reason phrase Meaning Answer to SIP OPTIONS RFC
500 Server Internal Error The server hit an unexpected condition. Answering, but it hit an internal error. RFC 3261
501 Not Implemented The server does not support the method at all. Up. It doesn't implement OPTIONS. RFC 3261
502 Bad Gateway A gateway or proxy got an invalid response from the next hop. Answering, but the server behind it sent a bad response. RFC 3261
503 Service Unavailable The server is overloaded, in maintenance or has no route onward. Retry-After may say when to come back. Answering, but overloaded, in maintenance or without a usable upstream. This is the most common "SBC up, trunk down" answer. RFC 3261
504 Server Time-out A gateway or proxy timed out waiting for the next hop. Answering, but the server behind it didn't reply in time. RFC 3261
505 Version Not Supported The SIP protocol version is not supported. Answering, but it reports a server-side problem. RFC 3261
513 Message Too Large The message is longer than the server can process. Answering, but it reports a server-side problem. RFC 3261
555 Push Notification Service Not Supported The push notification service named in the request is not supported. Answering, but it reports a server-side problem. RFC 8599
580 Precondition Failure The session preconditions (QoS, security) cannot be met. Answering, but it reports a server-side problem. RFC 3312

6xx Global failure

The server has definitive information that the request will fail everywhere, not only at this server.

Code Reason phrase Meaning Answer to SIP OPTIONS RFC
600 Busy Everywhere The callee is busy at every location. Answering, with a global refusal. RFC 3261
603 Decline The callee does not want to take the call, here or anywhere. Answering. It declined us. RFC 3261
604 Does Not Exist Anywhere The user does not exist anywhere. Answering, with a global refusal. RFC 3261
606 Not Acceptable The session description is not acceptable anywhere. Answering, with a global refusal. RFC 3261
607 Unwanted The callee marked the call as unwanted, for example spam. Answering, with a global refusal. RFC 8197
608 Rejected An intermediary such as an analytics engine rejected the call. Answering, with a global refusal. RFC 8688

No response to SIP OPTIONS

No response is not a SIP code. It means nothing came back. PingVo waits 2 seconds. The usual causes are a firewall or security group dropping traffic from unknown IPs, the server being down, the wrong port or transport (for example SIP on TCP only), or a NAT or SIP ALG eating the reply. A connection refused on TCP means the host is up but nothing listens on that port. Unreachable means a router or the host itself sent back an ICMP error.

Which SIP codes mean a server is up?

Any response, including 401, 403 or 503, proves the server is reachable and processing SIP. That is why PingVo's line check on a Route counts every response as reachable by default. You can narrow it to specific codes, for example only 200, in the Route's expected codes.

PingVo sends this check continuously and alerts you when your SBC stops answering: see how PingVo monitors SIP trunks.

Know a line is down before your callers do

Line checks, real test calls and IVR verification for your call-center numbers, with alerts that say whose side failed.

Start free trial

14 days · full Pro features · no credit card