SIP Fundamentals

SIP Response Codes (1xx-6xx)

SIP response codes are 3-digit status codes patterned after HTTP. The first digit indicates the class: 1xx provisional, 2xx success, 3xx redirection, 4xx client error, 5xx server error, 6xx global failure.

Cheat-sheet of the codes you will actually see

CodeMeaningWhat to do
100 TryingProvisional — request receivedWait for next response
180 RingingCallee is being alertedShow ringback to caller
183 Session ProgressEarly media (audio before answer)Connect early media
200 OKSuccess — call answeredSend ACK, start RTP
301 Moved PermanentlyUse new SIP URIRedirect
302 Moved TemporarilyUse new URI for this call onlyRedirect
400 Bad RequestMalformed SIP messageFix request format
401 UnauthorizedAuth requiredRe-send with Authorization header
403 ForbiddenAuthenticated but not authorizedCheck permissions / ACL
404 Not FoundNumber / URI does not existCheck destination
407 Proxy Auth RequiredProxy needs authRe-send with Proxy-Authorization
408 Request TimeoutNo response from upstreamRetry / failover
480 Temporarily UnavailableCallee not reachableTry voicemail / next route
486 Busy HereCallee is busyTry forwarding
487 Request TerminatedCaller hung up before answerNormal cancellation
488 Not Acceptable HereCodec / SDP mismatchRenegotiate codec
500 Server Internal ErrorCarrier internal failureRetry / report
503 Service UnavailableUpstream overloadedFailover to secondary
504 Gateway TimeoutUpstream did not respondFailover
603 DeclineCallee declinedEnd

Mapping to PSTN cause codes

SIP response codes map to ISDN Q.850 cause codes via RFC 3398. Q.850 17 (User busy) ↔ SIP 486; Q.850 16 (Normal clearing) ↔ SIP BYE with no special code; Q.850 21 (Call rejected) ↔ SIP 603. Carriers often add a Reason: Q.850;cause=21 header so you can see the underlying PSTN reason.

Related terms

Ready to get a number?

Pick a DID in 130+ countries from $1.99/month. Activates instantly on most numbers.