Here’s a detailed list of SIP response codes as they apply to SkySwitch (NetSapiens PBX), along with insights specific to how they handle calls.
A more in-depth outside link
100 Trying
- Meaning: The SkySwitch PBX has received the SIP request and is attempting to process it.
- Usage in SkySwitch:
- Seen in outbound call logs when dialing through SkySwitch SIP trunks.
- If the call hangs at this stage, it might indicate a routing issue or an unresponsive trunk.
180 Ringing
- Meaning: The destination VoIP device is ringing.
- Usage in SkySwitch:
- If 180 is missing, check if early media is being used (183 Session Progress instead).
- If you hear a ringback but don’t see 180, the provider might be sending early media instead of a SIP response.
181 Call Is Being Forwarded
- Meaning: The call is being redirected to another destination.
- Usage in SkySwitch:
- If a call is forwarded via PBX rules (e.g., Find Me/Follow Me), you may see 181 before the next INVITE.
182 Queued
- Meaning: The call is waiting in a queue before routing.
- Usage in SkySwitch:
- Often seen in call center or hunt group environments.
183 Session Progress
- Meaning: Call is in progress with early media (audio before answering).
- Usage in SkySwitch:
- Used for call announcements, ringback tones, or IVRs before the call is answered.
2xx - Success Responses
These indicate that the request was successfully processed.
200 OK
- Meaning: Call setup was successful.
- Usage in SkySwitch:
- Received when a call is answered.
- Seen in successful SIP registrations.
202 Accepted
- Meaning: The request is accepted for processing but not completed.
- Usage in SkySwitch:
- May appear if external API or third-party integrations are processing the call asynchronously.
204 No Notification
- Meaning: Request processed successfully, but no further action is needed.
- Usage in SkySwitch:
- Rarely used but may appear in certain SIP message exchanges where no response is required.
3xx - Redirection Responses
These indicate that further action is needed to reach the recipient.
300 Multiple Choices
- Meaning: Multiple destinations exist for the request.
- Usage in SkySwitch:
- If a user has multiple devices registered, the system may respond with 300 to indicate multiple available endpoints.
301 Moved Permanently
- Meaning: The user’s location has changed permanently.
- Usage in SkySwitch:
- Seen if an extension has been reassigned or permanently forwarded.
302 Moved Temporarily
- Meaning: The user is temporarily available at a different address.
- Usage in SkySwitch:
- Common in call forwarding settings.
305 Use Proxy
- Meaning: A proxy server is required for routing.
- Usage in SkySwitch:
- Seen in carrier-level call routing when a different outbound proxy is required.
380 Alternative Service
- Meaning: Another service is available to complete the call.
- Usage in SkySwitch:
- Typically used when a call is redirected to a different call-handling service.
4xx - Client Error Responses
These indicate that the request contained an error or cannot be fulfilled by the recipient.
400 Bad Request
- Meaning: The request contains a syntax error.
- Usage in SkySwitch:
- Happens if an outbound call is malformed or contains an invalid header.
401 Unauthorized
- Meaning: Authentication is required.
- Usage in SkySwitch:
- Common in SIP registration failures (e.g., when a SIP trunk requires credentials).
403 Forbidden
- Meaning: The server refuses to fulfill the request.
- Usage in SkySwitch:
- If a user is trying to dial a restricted number, SkySwitch returns 403 Forbidden.
404 Not Found
- Meaning: The requested SIP extension or number does not exist.
- Usage in SkySwitch:
- Can indicate:
- A nonexistent extension.
- A deactivated SIP trunk.
- A routing misconfiguration.
- Can indicate:
407 Proxy Authentication Required
- Meaning: Authentication is required at the proxy level.
- Usage in SkySwitch:
- Appears when SIP trunks require authentication.
408 Request Timeout
- Meaning: No response was received from the called party.
- Usage in SkySwitch:
- Often indicates a network issue or unresponsive endpoint.
480 Temporarily Unavailable (DND - Do Not Disturb)
- Meaning: The user is unavailable.
- Usage in SkySwitch:
- Used when Do Not Disturb (DND) is enabled.
486 Busy Here
- Meaning: The user is actively on a call.
- Usage in SkySwitch:
- Appears if the extension is already on another call.
487 Request Terminated
- Meaning: The request was canceled.
- Usage in SkySwitch:
- Seen if the caller hangs up before the recipient answers.
488 Not Acceptable Here
- Meaning: Media negotiation failed.
- Usage in SkySwitch:
- Seen in codec mismatches between endpoints.
5xx - Server Error Responses
These indicate that the server encountered an issue.
500 Server Internal Error
- Meaning: A generic server failure.
- Usage in SkySwitch:
- Often indicates PBX misconfigurations.
503 Service Unavailable
- Meaning: The service is down or unavailable.
- Usage in SkySwitch:
- Appears if the SIP trunk provider is unreachable.
504 Server Timeout
- Meaning: The SIP request timed out.
- Usage in SkySwitch:
- Happens when carrier networks are slow to respond.
6xx - Global Failure Responses
These indicate a global rejection of the request.
600 Busy Everywhere
- Meaning: The recipient is busy on all devices.
- Usage in SkySwitch:
- Used if a user has multiple devices and all are busy.
603 Decline
- Meaning: The call was manually rejected.
- Usage in SkySwitch:
- Sent if a user presses "Reject" on their phone.
604 Does Not Exist Anywhere
- Meaning: The number does not exist in the entire SIP system.
- Usage in SkySwitch:
- Common when a user dials an invalid number.
607 Unwanted (Spam Call Blocked)
- Meaning: The recipient has blocked the caller.
- Usage in SkySwitch:
- Used when a call is blocked due to spam detection or user preferences.
Summary of SkySwitch-Specific Behavior
- 480 Temporarily Unavailable = DND Mode
- 486 Busy Here = User is on a call
- 603 Decline = Manual Call Rejection
- 607 Unwanted = Blocked Call
- 404 Not Found = Number doesn’t exist or PBX misconfigured
- 503 Service Unavailable = SIP Trunk Down