SIP Trunking

SIP response codes: a quick reference to every SIP code and error

SIP response codes, SIP codes and SIP error codes explained in two minutes: the full 1xx to 6xx list, what each code means, and which ones to retry or fix.

Laptop SIP trace showing 486 Busy Here

Takeaways

SIP response codes are three-digit replies in six classes, 1xx to 6xx, and each one tells you whether to retry, fix your request or accept the outcome.

  • SIP codes and SIP error codes are one vocabulary. "Error code" usually means the 4xx, 5xx and 6xx classes.
  • The full list comes from RFC 3261 and the IANA registry, including 425, 603 Network Blocked and 608, which most lookup pages skip.
  • 486, 487 and 480 are normal call outcomes. 403, 404, 408 and 503 usually point at something to fix or retry.
  • 603, 607 and 608 are call-blocking codes, and carrier-issued STIR/SHAKEN attestation is how Telnyx keeps your outbound calls out of that bucket.

What are SIP codes and who sends them?

SIP response codes, or SIP codes, are three-digit status codes a SIP server returns when your PBX, contact center or voice app sends a request such as INVITE or REGISTER. The first digit sets the class, 1xx to 6xx, much like an HTTP status, though not every HTTP code is valid in SIP. "SIP error codes" are the same vocabulary, usually the 4xx to 6xx classes you see when your call fails.

INVITE call flow with SIP response codes

A normal call produces two provisional codes and one final 200 OK before the ACK completes setup.

Who sends a SIP response code on your call

A User Agent Client (UAC) sends the request and a User Agent Server (UAS) answers it, so your SIP phone is a UAC when calling and a UAS when answering. A Back-to-Back User Agent (B2BUA), such as a PBX, plays both roles and can rewrite the code it passes to you. As SIP trunking vs VoIP explains, the 503 on your phone may have begun as a 480 upstream.

Provisional versus final SIP responses

1xx codes are provisional and can arrive more than once. Everything from 2xx upward is final and ends the transaction, and for an INVITE you answer the final response with an ACK.

What a SIP response message contains

A response opens with a status line, the SIP version, code and reason phrase, as in SIP/2.0 486 Busy Here. The reason phrase is only a default the sender may reword or translate, so match on the number, never the text. Five headers change what you do next.

HeaderWhat it tells youSeen with
ContactThe new address to try301, 302, 305
Retry-AfterWhen to try again503, 603
ReasonWhy the call ended, with any Q.850 causeBYE and 6xx
WarningA warning code plus textAny final response
ExpiresHow long to cache the result302

Troubleshoot codes on a trunk you can read

Telnyx SIP trunking returns standard codes on a network Telnyx owns, with a published response-codes guide.

Complete list of SIP response codes by class

Each class below carries the codes you will meet on a trunk.

1xx: Informational

A 1xx code tells you the far end has your request and your call is still being set up.

1xx informational SIP response codes: the call is still being set up

CodeReason phraseWhat it means for the call
100TryingThe next hop has your INVITE
180RingingThe called device is alerting
181Call Is Being ForwardedForwarded to another destination
182QueuedYour call is waiting in a queue
183Session ProgressEarly media, usually ringback or an announcement
199Early Dialog TerminatedAn early dialog ended before answer

A call that plays an announcement and then fails shows you a 183 first, because 183 carries early media, and a 182 repeats as the queue moves.

2xx: Success

A 2xx code means your request succeeded. 202 Accepted is deprecated in the registry, though older guides still list it for referrals.

2xx success SIP response codes: the request worked

CodeReason phraseWhat it means for the call
200OKThe call was answered
202Accepted (deprecated)Accepted for later processing, avoid in new code
204No NotificationSucceeded, no NOTIFY coming

3xx: Redirection

A 3xx code means your next INVITE goes somewhere else, and the new address is in the Contact header.

3xx redirection SIP response codes: try the address in the Contact header

CodeReason phraseWhat it means for the call
300Multiple ChoicesSeveral targets in Contact, pick one and re-send
301Moved PermanentlyRe-send to Contact and keep using it
302Moved TemporarilyRe-send to Contact for this call
305Use ProxyRe-send through the proxy named in Contact
380Alternative ServiceFailed, an alternative is in the body

A 301 has no expiry, so update your routing for good.

4xx: Client Error

A 4xx code means the request itself is the problem, usually on your side.

4xx client error SIP codes: the request itself is wrong

CodeReason phraseWhat it means for the call
400Bad RequestMalformed request
401UnauthorizedA UAS or registrar wants credentials
403ForbiddenUnderstood and refused
404Not FoundNo such user, or a domain the recipient does not handle
407Proxy Authentication RequiredA proxy wants credentials
408Request TimeoutNo response in time
480Temporarily UnavailableReachable but not available right now
486Busy HereBusy at this address
487Request TerminatedCancelled, usually the caller hung up
488Not Acceptable HereThe session description was refused

A 401 on your REGISTER is the registrar challenging you, as in SIP registration with Kamailio, while a 407 comes from a proxy. 483 Too Many Hops means Max-Forwards reached 0, usually a routing loop, and an endpoint that sees 430 Flow Failed should treat it as a 400.

Deprecated and reserved SIP codes: 402 Payment Required is reserved. 409 Conflict and 411 Length Required are deprecated and absent from the IANA registry.

5xx: Server Error

A 5xx code means the far end failed, not your request, so the same request may succeed later or on another server.

5xx server error SIP codes: the far end failed

CodeReason phraseWhat it means for the call
500Server Internal ErrorUnexpected failure at the server
501Not ImplementedMethod not implemented
502Bad GatewayInvalid response from downstream
503Service UnavailableOverloaded or in maintenance, may carry Retry-After
504Server Time-outUpstream server did not respond
505Version Not SupportedSIP version not supported
513Message Too LargeToo large to process
555Push Notification Service Not SupportedPush service unsupported
580Precondition FailureMedia preconditions could not be met

A 501 means the server does not implement your method at all, while a 405 means it knows the method and disallows it here.

6xx: Global Failure

A 6xx code means your request will fail anywhere, not only at this address.

6xx global failure SIP codes: the call fails everywhere

CodeReason phraseWhat it means for the call
600Busy EverywhereBusy, no other location will answer
603DeclineThe callee declined, no alternative available
603Network BlockedBlocked by network analytics
604Does Not Exist AnywhereThe user does not exist anywhere
606Not AcceptableSession description or request not acceptable anywhere
607UnwantedA human rejected the call as unwanted
608RejectedAn intermediary machine or process rejected it
  • 486 vs 600 vs 603: a 486 means only this address is busy, so your PBX may still forward the call. A 600 or 603 means the far end knows there is no alternative such as voicemail.
  • 607 vs 608: 607 means a person rejected your call, 608 means an intermediary machine or process did.

SIP response codes reference table

Registered codes run from 100 to 608, and twelve of them cover most of what your trunk returns.

Which SIP code are you looking at?

  • Seeing 100, 180 or 183 in the trace: keep waiting, the call is still being set up.
  • Got a 200 OK or 202 Accepted: the request worked, so there is nothing to retry or fix.
  • Got a 301 or 302 redirect: resend to the address in the Contact header.
  • Got a 4xx such as 403 or 404: fix your request, unless it is busy 486, cancelled 487 or unavailable 480.
  • Got a 5xx or 6xx such as 503 or 603: wait for any Retry-After before you try again, and treat 603, 607 or 608 as a block.

SIP response codes cheat sheet with the 12 codes to know

These twelve cover most lines in your trunk CDRs, with the move each one calls for.

CodeReason phraseWhat to do
100TryingWait
180RingingWait, play local ringback if no 183
183Session ProgressWait and play the early media
200OKSend the ACK and start media
302Moved TemporarilyRe-send to the Contact address
401UnauthorizedAnswer the challenge with credentials
403ForbiddenCheck credentials, policy and the source IP
404Not FoundCheck the dialled number and Request-URI domain
408Request TimeoutRetry later, unchanged
486Busy HereAccept the outcome
487Request TerminatedAccept the outcome, the caller cancelled
503Service UnavailableRetry after Retry-After

Full list of SIP codes, 100 to 608

Every registered code in numeric order, including 425 Bad Alert Message, which most lookup pages omit.

CodeReason phraseOne-line meaning
100TryingRequest received, locating the callee
180RingingCallee is being alerted
181Call Is Being ForwardedCall forwarded elsewhere
182QueuedCallee unavailable, call queued
183Session ProgressEarly media or progress detail
199Early Dialog TerminatedAn early dialog ended before answer
200OKRequest succeeded
202Accepted (deprecated)Accepted for later processing
204No NotificationSucceeded, no NOTIFY will follow
300Multiple ChoicesSeveral targets in Contact
301Moved PermanentlyUse the Contact address from now on
302Moved TemporarilyUse the Contact address for now
305Use ProxySend through the proxy in Contact
380Alternative ServiceFailed, alternative in the body
400Bad RequestMalformed request
401UnauthorizedAuthenticate with the UAS or registrar
402Payment Required (reserved)Reserved for future use
403ForbiddenUnderstood and refused
404Not FoundThe user does not exist at the domain in the Request-URI, or the domain is not one the recipient handles
405Method Not AllowedMethod known but not allowed here
406Not AcceptableNo response matches the Accept headers
407Proxy Authentication RequiredAuthenticate with the proxy
408Request TimeoutNo response from the far end in time
409Conflict (deprecated)RFC 2543 only, not registered
410GoneResource permanently gone
411Length Required (deprecated)RFC 2543 only, not registered
412Conditional Request FailedPrecondition on a PUBLISH not met
413Request Entity Too LargeBody too large
414Request-URI Too LongRequest-URI too long
415Unsupported Media TypeBody format not supported
416Unsupported URI SchemeURI scheme not understood
417Unknown Resource-PriorityResource-Priority value unknown
420Bad ExtensionA required extension is unknown
421Extension RequiredServer needs an extension you did not offer
422Session Interval Too SmallSession-Expires below the minimum
423Interval Too BriefExpires value too short
424Bad Location InformationLocation data unusable
425Bad Alert MessageAlert-Info content rejected
428Use Identity HeaderIdentity header required and missing
429Provide Referrer IdentityReferred-By token missing
430Flow FailedFlow to the registered endpoint failed, proxy use
433Anonymity DisallowedAnonymous requests refused
436Bad Identity-InfoIdentity-Info header unusable
437Unsupported CredentialIdentity credential cannot be validated
438Invalid Identity HeaderIdentity signature failed verification
439First Hop Lacks Outbound SupportFirst hop does not support outbound flows
440Max-Breadth ExceededToo many parallel forks
469Bad Info PackageInfo-Package not supported
470Consent NeededRecipient consent not granted
480Temporarily UnavailableReachable but not available now
481Call/Transaction Does Not ExistNo matching dialog or transaction
482Loop DetectedRequest looped back to this server
483Too Many HopsMax-Forwards reached 0
484Address IncompleteRequest-URI incomplete
485AmbiguousRequest-URI matched several users
486Busy HereBusy at this address
487Request TerminatedCancelled by a CANCEL or BYE
488Not Acceptable HereSession description refused at this address
489Bad EventEvent package not understood
491Request PendingAnother request is in progress on this dialog
493UndecipherableEncrypted body cannot be decrypted
494Security Agreement RequiredNegotiate a security mechanism first
500Server Internal ErrorUnexpected failure at the server
501Not ImplementedMethod not implemented
502Bad GatewayInvalid response from downstream
503Service UnavailableOverloaded or in maintenance, check Retry-After
504Server Time-outUpstream server did not respond in time
505Version Not SupportedSIP version unsupported
513Message Too LargeMessage too large to process
555Push Notification Service Not SupportedPush service unsupported
580Precondition FailureMedia preconditions cannot be met
600Busy EverywhereBusy, no alternative anywhere
603DeclineDeclined, no alternative anywhere
603Network BlockedBlocked by network analytics, see Reason
604Does Not Exist AnywhereUser does not exist anywhere
606Not AcceptableSession description or part of the request not acceptable anywhere
607UnwantedCalled human rejected the call
608RejectedIntermediary rejected the call, see Call-Info
Scope of this table: codes as registered in the IANA SIP Parameters registry, checked on 14 October 2026.

Which SIP error codes you will see on live calls, and what to do

Most "SIP error codes" on a healthy trunk are not errors. 486 Busy Here, 487 Request Terminated, 480 Temporarily Unavailable and 603 Decline describe the called party, not your system, and need no fix.

403 Forbidden is often an authorisation or policy failure on your trunk, and 404, 408, 488 and 503 each point at a cause you can check.

Normal SIP codes versus real faults
Four of the most common codes describe the called party, not your trunk, so only the right column needs action.

Normal call outcomes versus real faults

Each cause and check follows the RFC 3261 meaning.

CodeLikely causeWhat to check
403Authorisation or policy failure, or receiver rejectionCredentials, source IP, outbound policy
404Wrong number or unhandled Request-URI domainDialled number and Request-URI domain, see SIP DIDs explained
408Far end did not answer in timeFar-end reachability and Max-Forwards
480Callee reachable but not availableNothing
486Callee busy at this addressNothing
487Caller cancelled before answerNothing
488Offered codec or session description refusedOffered codecs, including wideband, see HD voice on SIP
503Far end overloaded or in maintenanceRetry-After, then retry

The carrier-specific meaning of 403 and 503 on a Telnyx trunk is on the Telnyx response codes guide.

Find the code and its context in your trace: capture SIP with Wireshark, tcpdump or tshark, filter on the Call-ID, and read the status line plus Retry-After, Reason and Contact, as shown in troubleshooting SIP issues.

When to retry after 302, 408, 503 and 603

RFC 3261 states retry behaviour for a few codes:

  • 302: you may cache the result for the Expires period.
  • 408 Request Timeout: you may repeat the request unchanged at any later time.
  • 503 Service Unavailable and 603: both may carry Retry-After, so wait that long before you try again.
  • 404, 486 and 603 Decline: an immediate retry is wasted traffic.

Call blocking and caller identity codes

603 Network Blocked means the network's analytics blocked your call. A 607 Unwanted warns that your next attempt will likely be rejected too. A 608 Rejected should carry a Call-Info header with purpose jwscard and a jCard, so you can dispute the block.

428, 436, 437 and 438 relate to the Identity header used for STIR/SHAKEN. A run of them on your outbound calls means the identity is missing, unreadable or failed verification. Telnyx SIP trunking issues A-level STIR/SHAKEN attestation at the carrier, so your outbound calls go out verified rather than blocked.

Where SIP response codes are defined in RFC 3261 and the IANA registry

The codes come from RFC 3261, the SIP specification, which also created the IANA SIP Parameters registry where every later code is recorded.

RFC 3261 and the RFCs that added codes later

Later RFCs added codes, and old equipment on your trunk can still send codes from RFC 2543.

SourceWhat it definesExample codes
RFC 3261The six classes, base codes and the registry100, 200, 302, 404, 503, 603
RFC 2543Obsolete predecessor, codes marked obsolete409, 411
RFC 5626Outbound client-to-proxy flows430, 439
ATIS-1000099Reason header format for network blocking603 Network Blocked
IANA SIP Parameters registryCurrent authoritative list with references100 to 608

Reading the IANA SIP Parameters registry

A code absent from the IANA SIP Parameters registry is deprecated.

A response can also carry a Warning header with its own three-digit code, so a 488 with Warning 304 Media type not available tells you which media was refused.

Why SIP codes matter for every call you place

The mix of codes in your CDRs is the fastest read of trunk health. More 503s point at the far end, more 403s or 404s at your configuration, and 603, 607 or 608 at your numbers being treated as spam.

Desk phone and trace showing 200 OK

A 200 OK in your trace means the call was answered and the dialog is set up.

What the codes tell you about your trunk and your carrier

Telnyx runs SIP trunking on a network it owns rather than rents, so you can check a 403 or 503 against the carrier that sent it. A 404 on one of your Telnyx phone numbers means it is not assigned to a connection.

Keeping outbound calls out of 603, 607 and 608

The networks your calls land on set the blocking codes. Telnyx issues STIR/SHAKEN A-level attestation at the carrier, manages CNAM and applies outbound voice profiles against fraud and spam. Usage-based pricing starts at $0.0032 per minute. If you run contact center voice or build voice for ISVs, you place the most exposed volume.

500M+ SIP calls processed monthly on the Telnyx network. Coverage in 230+ countries under a 99.999% uptime SLA.

How to set up a SIP trunk

Create a connection and place a first call with the SIP trunk setup guide.

Business SIP trunking

What business SIP trunking replaces and costs.

SIP trunking vs VoIP

Where a trunk ends and a hosted seat begins, in SIP trunking vs VoIP.

Troubleshooting SIP with Wireshark

Capture a failing call when troubleshooting SIP issues.

SIP trunk registration with Kamailio

The 401 challenge and its answer, in SIP registration with Kamailio.

SIP provider comparison

Prices and network ownership across carriers in this SIP provider comparison.

SIP response codes FAQ

What are SIP response codes?
Three-digit status codes a SIP server returns to a request such as INVITE, in six classes from 1xx to 6xx. The IANA registry lists every code from 100 to 608.
What do SIP codes look like?
A status line such as SIP/2.0 486 Busy Here: the SIP version, the three-digit code and a reason phrase, followed by headers such as Contact, Retry-After and Reason.
Why do SIP codes matter?
Because the code tells you what to do next. Leave a 486 or 487, retry a 408 or 503 on the RFC's timing, fix your request after a 403 or 404, and check your caller identity after a 603, 607 or 608.
What is the difference between a SIP code and a SIP error code?
None in the standard. "SIP error code" is the everyday name for the 4xx, 5xx and 6xx classes, while "SIP code" or "SIP response code" covers all six classes including 1xx progress reports and 200 OK.
What is the difference between a 401 and a 407 response?
Who is asking for your credentials. A 401 Unauthorized comes from a UAS or registrar, a 407 Proxy Authentication Required from a proxy, and you answer both by re-sending the request with credentials.

Read the code and know your next move

Telnyx SIP trunking returns standard SIP response codes from a network Telnyx owns, so when a call fails you know whether to retry, fix your request or leave it.

Get started with SIP trunking
Share on Social
Serhii
Serhii Omelchenko
Global AEO/SEO Manager

Serhii is Global AEO/SEO Manager at Telnyx, based in Amsterdam, he is focused on making communications infrastructure findable and credible across both traditional search and AI-driven discovery. He previously led SEO and GEO strategy for some of the world’s most recognized consu

Deniz Yakışıklı
Deniz Yakışıklı
Sr. Product Marketing Manager

Deniz is a Senior Product Marketing Manager at Telnyx with 10 years of experience in technology and healthtech marketing. She previously led go-to-market initiatives at Philips Healthcare, Vodafone, and The Coca-Cola Company. Originally from Türkiye and based in Amsterdam, she ho