Skip to main content

CPaaS Voice SIP Response Codes

Overview

SIP (Session Initiation Protocol) response codes are standardized three-digit codes defined in RFC 3261 that indicate the outcome of call setup attempts. These codes appear in Voice Call Action (VCA) and Voice Call Status (VCS) webhooks as sipCode and help diagnose call failures, network issues, and endpoint behavior.

Note: CDRs (Call Detail Records) are a separate feature available to SIP trunk customers and when a support ticket is created with 8x8 CPaaS Support. For CPaaS Voice products (Voice Messaging, IVR, Number Masking, Programmable SIP), call outcomes are available via Voice Session Summary webhooks and the Reporting API, while SIP response codes are exposed via Voice Call Action and Voice Call Status webhooks.

SIP Response Code Categories

1xx - Provisional Responses

Indicates the request has been received and is being processed.

CodeReason PhraseDescription
100TryingRequest received, processing continues
180RingingDestination is being alerted (phone is ringing)
181Call Is Being ForwardedCall is being forwarded to another destination
182QueuedDestination is temporarily unavailable, request queued
183Session ProgressConveys information about the progress of a call

2xx - Success Responses

Indicates the request was successful.

CodeReason PhraseDescription
200OKRequest successful (call answered)
202AcceptedRequest accepted for processing, but processing not complete

3xx - Redirection Responses

Further action is needed to complete the request (typically forwarding scenarios).

CodeReason PhraseDescription
300Multiple ChoicesMultiple options available for the requested resource
301Moved PermanentlyUser can no longer be found at the original address
302Moved TemporarilyUser temporarily moved to a different address
305Use ProxyRequested resource must be accessed through a proxy
380Alternative ServiceCall failed but alternative services are available

4xx - Client Error Responses

The request contains bad syntax or cannot be fulfilled by the server.

CodeReason PhraseDescriptionCommon Cause
400Bad RequestMalformed request syntaxMalformed number or SIP headers
401UnauthorizedAuthentication requiredInvalid credentials
402Payment RequiredReserved for future use (billing/prepaid scenarios)-
403ForbiddenServer refuses to authorize the requestUnauthorized Caller ID or restricted destination
404Not FoundUser does not exist at the domain specifiedInvalid phone number
405Method Not AllowedRequest method not supported for the target-
406Not AcceptableResponse doesn't match acceptable values in request headers-
407Proxy Authentication RequiredClient must authenticate with a proxy-
408Request TimeoutServer did not receive a complete request in timeNetwork issues or destination unreachable
410GoneUser previously existed but is no longer availableNumber disconnected
413Request Entity Too LargeRequest body is larger than the server is willing to process-
414Request-URI Too LongRequest-URI is longer than the server can interpret-
415Unsupported Media TypeMessage body format is not supportedCodec incompatibility
416Unsupported URI SchemeRequest-URI scheme is not recognized-
420Bad ExtensionServer did not understand a required protocol extension-
421Extension RequiredServer requires a specific extension not listed in request-
423Interval Too BriefExpiration time is too short-
480Temporarily UnavailableCallee's endpoint is currently unavailableDevice offline or out of coverage
481Call/Transaction Does Not ExistServer received a request that doesn't match any dialog or transaction-
482Loop DetectedServer detected a loop in the request routing-
483Too Many HopsMax-Forwards header reached zero-
484Address IncompleteRequest-URI is incomplete-
485AmbiguousRequest-URI is ambiguous-
486Busy HereCallee's endpoint is busy (user declined or DND enabled)Line in use
487Request TerminatedRequest cancelled before completion (caller hung up during ringing)Caller hung up before answer
488Not Acceptable HereSome aspect of the session description is not acceptableSDP/codec mismatch
491Request PendingServer has a pending request from the same dialog-
493UndecipherableRequest contains an encrypted body that cannot be decrypted-

5xx - Server Error Responses

Indicates a server-side issue prevented call completion.

CodeReason PhraseDescriptionCommon Cause
500Server Internal ErrorUnexpected server errorTemporary system issue
501Not ImplementedServer does not support the functionality required-
502Bad GatewayInvalid upstream responseCarrier connectivity issue
503Service UnavailableService temporarily unavailableSystem maintenance or capacity
504Server TimeoutUpstream timeoutCarrier response delay
505Version Not SupportedSIP protocol version is not supported-
513Message Too LargeMessage length exceeds server capabilities-

6xx - Global Failure Responses

Indicates the call cannot be completed anywhere.

CodeReason PhraseDescriptionCommon Cause
600Busy EverywhereAll destinations busyNo available endpoints
603DeclineCall declinedRecipient rejected the call
604Does Not Exist AnywhereDestination invalid globallyNumber does not exist
606Not AcceptableCall parameters rejectedIncompatible session requirements

Call Status in Voice Session Summary

The Voice Session Summary (VSS) webhook provides call outcome information via the sessionStatus field (for the overall session) and the callStatus field (for individual call legs).

Session Status Values (sessionStatus)

StatusDescription
COMPLETEDSession was connected and completed successfully
NO_ANSWERCall rang but was not answered
BUSYDestination was busy
CANCELEDCall was cancelled before connection
FAILEDCall could not be completed
ERRORAn error occurred during the session

Call Leg Status Values (callStatus)

StatusDescription
COMPLETEDCall leg was connected and completed successfully
NO_ANSWERCall leg rang but was not answered
BUSYDestination was busy
CANCELEDCall leg was cancelled before connection
FAILEDCall leg could not be completed

Note: The ERROR status only applies to sessionStatus and does not appear in callStatus for individual call legs.

SIP Code in Webhooks

The sipCode field is available in Voice Call Action (VCA) and Voice Call Status (VCS) webhooks. This field typically shows 200 for connected calls.

For call outcome information, use the callStatus and sessionStatus fields from Voice Session Summary webhooks rather than sipCode.

For detailed webhook payload structure, see:

Best Practices

Number Formatting

  • Use E.164 format for all phone numbers (e.g., +14155551234)
  • Include the + prefix and country code

Caller ID (CLI)

  • Use a verified 8x8 virtual number as your Caller ID
  • Ensure CLI is authorized for the destination country

Error Handling

  • Implement retry logic with exponential backoff for 5xx errors
  • Do not retry 4xx errors without correcting the request
  • Log SIP response codes for troubleshooting

Codec Support

8x8 CPaaS Voice supports the following codecs:

  • G.711 µ-law (PCMU)
  • G.711 A-law (PCMA)
  • G.722
  • Opus (coming soon)

Troubleshooting

IssuePossible SIP CodesAction
Call not connecting480, 408, 487Check destination availability and number validity
Call rejected immediately403, 603Verify caller ID, check if number is blocked
Invalid number format404, 484Validate E.164 format, ensure country code is correct
Network/routing issues500, 502, 503, 504Contact 8x8 CPaaS Support if persistent
Call drops during ringing487Normal user behavior (caller hung up)

References

Support Channels