SIP Response Codes Reference

All SIP 1xx-6xx response codes with RFC source and telephony context.

Searchable SIP response code reference from RFC 3261. Look up any code from 100 Trying to 604 Does Not Exist Anywhere, see its class and reason phrase, and read the VoIP/telephony meaning. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

How are SIP response codes structured?

SIP borrows HTTP's six-class model. 1xx are provisional (the request is in progress, like 180 Ringing), 2xx are success (200 OK answers a call), 3xx are redirection, 4xx are client or request errors at this server, 5xx are server failures, and 6xx are global failures that apply to the whole call across every endpoint.

The SIP Response Codes Reference is a searchable lookup for the response codes carried by the Session Initiation Protocol, the signalling layer behind VoIP calls, video conferencing and messaging. From 100 Trying to 486 Busy Here to 604 Does Not Exist Anywhere, this tool decodes every code with its reason phrase, class and the call-flow context you need when reading a SIP trace.

How it works

SIP, defined in RFC 3261, deliberately mirrors HTTP’s status-code model with six classes keyed off the first digit:

1xx  Provisional  — request received, still processing (180 Ringing)
2xx  Success      — request succeeded (200 OK answers the call)
3xx  Redirection  — try a new location (302 Moved Temporarily)
4xx  Client error — request failed at THIS server (486 Busy Here)
5xx  Server error — this server failed (503 Service Unavailable)
6xx  Global       — failure for the WHOLE call (600 Busy Everywhere)

The crucial SIP-specific distinction is between 4xx and 6xx. When a proxy forks an INVITE to several registered devices, a 4xx rejects only that one branch, so other devices may still answer. A 6xx is authoritative for the entire call — it tells the proxy to abandon every branch. This tool keeps the full table in your browser and filters it by number, reason or keyword.

Reading a real call trace — common sequences

Successful outbound call: 100 Trying180 Ringing200 OKACK(media flows)BYE200 OK

The 100 Trying is sent by the first proxy to acknowledge the INVITE before it forwards it. 180 Ringing reaches the caller once the destination endpoint is alerting the user. 200 OK in response to the INVITE means the callee answered. The ACK is sent by the caller to complete the three-way handshake.

Caller hung up while ringing: 100 Trying180 RingingCANCEL487 Request Terminated200 OK (for CANCEL)

487 Request Terminated is a normal part of call cancellation, not an error to investigate. Look for the preceding CANCEL to confirm.

Callee rejected the call: 100 Trying180 Ringing603 Decline

603 is a global 6xx failure — the callee explicitly declined at all registered devices.

The codes you will encounter most often

CodeReasonAction
180RingingNormal — wait
200OKCall answered
302Moved TemporarilyFollow Contact header
407Proxy Auth RequiredNormal challenge — send credentials
408Request TimeoutNo response from callee; retry or escalate
480Temporarily UnavailableUser offline or in DND; retry later
486Busy HereThis device busy; fork may try others
487Request TerminatedCANCEL was sent; not a fault
488Not Acceptable HereCodec mismatch; check SDP
503Service UnavailableServer overloaded; retry with backoff
600Busy EverywhereUser busy at all devices; stop forking
603DeclineCall rejected globally

For codec or SDP negotiation failures, 488 and 415 Unsupported Media Type both point at the offer/answer exchange — compare the m= lines in the SDP to find the mismatch. For authentication, 407 Proxy Authentication Required is a normal challenge-response step and is not an error as long as it is followed by a successful re-INVITE with credentials.