At Telnyx, we have many different situations and settings that can result in a particular SIP response code sent back to your client. We realized that there are so many situations that may result in the same response code, it was necessary to distinguish them so our customers can have further clarity on why some of their calls did not complete as expected.
The aim of this article is to list all the SIP response codes that can be expected and expand on their meaning, along with providing feedback on how to workaround them. We'll also discuss some special cases and include ISDN cause codes and their related hangup reasons.
SIP Response Codes
The format of the response codes is as follows: D1X, D2X, D3X...D9X
These mainly cover 4XX response codes from Telnyx. There are a few errors outside of the DX range such as PX, RX, TX, VX.
D1X
D1 - 403 User channel limit exceeded D1
The number of concurrent outbound calls for the account is over the limit. This relates to the global account concurrent call limit set in your outbound voice profile section. Should you need this increased, please reach out to our support team.
D10 - 403 Forbidden D10
The outbound call was rejected due to use of a SIP header in your SIP INVITE which is reserved for internal use only. Please reach out to support if this issue occurs so they can advise what header needs to be removed.
D11 - 403 Destination Number #{destination_number} is invalid D11
The outbound call was rejected as the destination number is invalid. Please reach out to support if this issue occurs.
D12 - 403 Destination Number #{destination_number} is not allowed for service plan #{service_plan} D12
The destination number is not authorized for the service plan of the OB profile associated with the connection making the call. The customer can change the service plan associated with the OB profile. This is a legacy code and will not be used moving forward. An example is using a legacy service plan such as "US-48/CAN" and attempting to dial Alaska or Hawaii, two states not considered apart of this service plan. The workaround is changing the service plan to International and including America as whitelisted destination in the North American region.
D13 - 403 Dialed number #{e164} (pertinent countries: #{pertinent_countries}) is not included in whitelisted countries: #{whitelisted_countries} D13
The dialled number is not a number from whitelisted countries present in the outbound voice profile associated with the connection making the call. To solve this, the customer can add the dialled numbers country to the whitelist of the given outbound voice profile.
D14 - 404 Dialed number is not valid D14
Simple put, the number dialed is invalid. We ask that the user verify that calls to this number can be reached outside of our network. There is also this great open source tool by google which can be used to validate whether a number is valid or not.
D15 - 403 Outbound Profile is disabled D15
The outbound voice profile associated with the SIP Connection used to place the termination call is not active. Go to your outbound voice profile section and ensure the status of the profile is active and in green. If it is, please refresh the status by toggling it off and back on again.
D16 - 403 Connection is disabled D16
The SIP Connection used to place the termination call is not active. Go to your SIP Connections page and ensure the status of the SIP Connection is active and in green. If it is, please refresh the status by toggling it off and back on again.
D17 - 403 Account is disabled D17
The Account used to place the termination call is blocked. Please contact support so they can investigate the cause for the account block. If your account was blocked, you would have received an email to indicate why.
D18 - 404 Not found D18
The SIP Connection used to receive the origination call is not active. Go to your SIP Connections page and ensure the status of the SIP Connection is active and in green. If it is, please refresh the status by toggling it off and back on again.
D19 - 404 Not found D19
The Account used to receive the origination call is billing blocked. Have you checked that your account is in positive balance, if not please top up your account to ensure services are restored.
D2X
D2 - 403 OB profile channel limit exceeded D2
The number of concurrent calls for the specific outbound voice profile is over the limit. This limit is configurable can be adjusted by customer in their outbound profile settings.
D20 - 480 Temporarily Unavailable D20
The destination number has no SIP connection associated with it. This means that there was an inbound call destined to your number but as there was no SIP connection associated to it, we are unable to route the call to your system. This tends to occur often post port, please ensure that you numbers have SIP Connections assigned to them if you want your system to receive calls.
D21 - 480 Temporarily Unavailable D21
The destination number has no associated destination, no other number to forward to has been found or no IP destinations or credential authentication information have been found. This can occur when a SIP Connection is assigned to a number but either the SIP Connection is not registered to our system (if credential based) or the IP's/FQDN's are not set at the DID's routing settings.
D22 - 403 Channel limit exceeded D22
User, outbound voice profile or SIP Connection channel limits have been exceeded. Please increase any channel limits specified on your DID's if using the channel billing method, SIP Connections or Outbound Voice Profiles.
D23 - 403 Configuration Error D23
A general Configuration Error has occurred, please reach out to support for further assistance.
D24 - 403 Maximum destination rate limit exceeded D24
This is when you dial a number in which the rate per minute exceeds the maximum rate per minute set on your outbound voice profile. Please increase the rate per minute on your outbound voice profile settings.
D25 - 403 Unable to locate an account/number using IP #{caller_ip} and username #{username} D25
We are unable to locate account/number with the IP and username used in your SIP INVITE to our system. Please reach out to support for further assistance.
D26 - 403 Connection for caller not present D26
Caller does not have a connection present when attempting outbound calls. Please check that a SIP Connection exists with the username and/or IP from which you are calling, and that it is associated with an outbound voice profile.
D29 - 403 Invalid X-Telnyx-Token #{telnyx_auth_token} or IP #{caller_ip} D29
The SIP INVITE we received contains an Invalid X-Telnyx-Token with IP. Please ensure the token matches what was set on the expert settings of the SIP Connection. Tokens are used to segregate traffic that come where different SIP Connections share the same IP address.
D3X
D3 - 403 Connection channel limit exceeded D3
The number of concurrent calls for the Connection is over the limit, this limit can be adjusted by the customer in the SIP Connection outbound settings.
D30 - 403 Invalid SIP URI calling preference D30
User SIP URI calling preference cannot be validated. This can apply on both inbound and outbound calls to SIP URI's. Please make sure the SIP URI you are calling is valid.
D31 - 403 Invalid SIP Subdomain Receive Settings D31
This can occur on outbound calls to SIP Subdomains where we were unable to validate the users SIP Subdomain. The user should refresh their SIP Subdomain settings on the SIP Connections inbound settings and retry - otherwise contact support for further assistance.
D34 - 403 Source country is not from EEA D34
The customers Outbound Voice Profile service plan is set to EEA but the caller ID in the SIP INVITE is not from EEA. This is a legacy code and will generally not be seen anymore as our service plans have since changed on our outbound voice profile offering.
D35 - 403 Invalid Caller Origination Number D35
Caller Origination Number is Invalid. The Caller ID in your SIP INVITE is not valid. Our caller ID policy is explained in more detail here. In short, please make sure your FROM/PAID/RPID headers contain +E.164 number formats.
D36 - 403 Forbidden D36
You are attempting to make an outbound call with a caller ID of a number which belongs to another Telnyx user. Please ensure you use your own DID's as Caller ID on your outbound calls.
D37 - 403 Emergency calls not authorized with call control D37
Emergency outbound calls aren't authorized using our call control product.
D38 - Connection has no Outbound Profile assigned D38
The SIP Connection has not outbound profile assigned in order to terminate outbound calls.
D39 - 403 International daily spent limit reached D39
This is a global limit not configurable by account users. It means that your account reached the daily spent limit for international calling. This is a fraud preventative measure. If you require this limit to be increased, please contact support for further assistance.
D4X
D4 - 486 User Busy D4
The number of concurrent calls for the Connection is over the limit, the limit can be adjusted by the customer in SIP Connection inbound settings.
D40 - 404 Not Found D40
For outbound calls, we know the destination exists but we were unable to find a route to connect the call. This usually applies to on-net calling. Please contact support for further assistance so they can advise.
D41 - 403 Forbidden D41
The dialled number matches a prefix that is forbidden to be used. This is a fraud preventative measure, especially for prefixes that are known for revenue sharing and toll pumping. Please contact support for further assistance.
D42 - 405 SIP Method Not Allowed D42
Call transfer (SIP REFER method) not allowed.
D44 - 403 Invalid value for connection_id D44
The requested connection_id is either invalid or does not exist.
D46 - 403 Originating number listed in do-not-originate registry D46
An originating number was used to make an outbound call even even though these numbers are used to only ever receive inbound calls.
D48 - 480 No IPs or FQDNs found for this number routing table D48
The SIP Connection does not have primary, secondary or tertiary routing set on the IP's or FQDN's. When the SIP Connection is assigned to a number, the number does not have routes set at the number level.
D49 - 403 The originator number is invalid D49
The origination number is from NANPA but does not have a valid LRN.
D5X
D5 - 486 User Busy D5
The number of concurrent calls for all numbers under Legacy Channel Billing is over the limit. The channel limit can be increased on the channels page. More information regarding channel billing is available here.
D50 - 404 The destination number is invalid. D50
The destination number is from NANPA but does not have a valid LRN.
D51 - 403 Unverified origination number D51
A call attempt using a non-Telnyx number that has not been verified will be rejected with a "403 Unverified Caller Origination Number D51" SIP error.
D52 - 603 Restricted origination number D52
Inbound call was rejected by Inbound Call Screening feature.
D53 - 403 Forbidden D53 origin same as destination number
The origination number is the same as the destination number (loop prevention).
D54 - 403 Restricted origination number D54
Outbound call rejection based on CLI. Number is on a deny list and no calls can be originated from it through Telnyx.
D56 - 486 User Busy D56
The number of concurrent calls for all numbers under Global Channel Billing is over the limit, this is set by users in the channels page. More information regarding global channel billing is available here.
D58 - 403 Restricted destination number D58
Please contact Telnyx support at support@telnyx.com .
D59 - 404 The special call is not supported D59
This error occurs when a call to a short or special number is not supported by the originating number’s country or region. For instance, a caller from France (+34xx) dialing 911 (a US emergency number) would trigger this error, as 911 is not recognized as a valid number for French origin numbers.
D7X
D7 - 403 Connection has no Outbound Profile assigned D7
The SIP Connection does not have an outbound voice profile associated with it. Please ensure you associate an outbound voice profile in order for calls to be terminated.
D71 - 403 Daily OB profile limit exceeded D71
The daily outbound concurrent call limit has been reached. This is a legacy sip response code and generally won't be seen. Please contact support if you require assistance with this.
D8X
D8 - 404 Invalid caller ID number for emergency services D8
An outbound call towards an emergency number where an valid caller ID number was not provided. Please make sure you use the DID's with E911 enabled on outbound calls toward emergency numbers. This is a legacy sip response code. At this time, we process all calls to emergency numbers but if a caller ID is used that is not a DID on your account or is a DID on your account but without E911 enabled, there will be a surcharge of $100.
D9X
D9 - 403 International destination rate limit reached D9
The international destination rate limit has been reached. This is a legacy SIP response code but may apply when attempting to call the same international number several times within a 60 second period. Please reach out to support to have this limit extended.
PE1
PE1 - 503 Service Unavailable
For outbound calls, we were unable to connect your call as no available routes were found. A 503 is returned in this instance to allow your system to failover to another carrier should you employ back ups. If you do not employ back ups, please reach out to our support team for assistance. This is generally considered a normal temporary failure.
P0X
P01 - 403 Forbidden P01
The Telnyx SIP Proxy responds with this error message when a request, such as a SIP BYE, contains an invalid R-URI. It typically occurs when the Telnyx SIP Proxy's own anycast IP address is specified in the R-URI instead of the contact header IP of our back to back user agent (see the 200 OK response).
Bad Example: BYE sip:12313456789@192.76.120.10:5060;transport=tcp SIP/2.0
Good Example: BYE sip:12313456789@10.13.67.4:5070;transport=tcp SIP/2.0
This is sometimes a tricky one to resolve. Often it's caused by a customer's SIP server seeing the private IP address in our SIP messages (which is perfectly fine and should not cause any problem) and presuming that it must be "fixed". It's also often caused by a customer's NAT/ALG, which can do the same thing. Sometimes, switching the UDP port used by the SIP server is enough to thwart the ALG.
Another possible solution to this problem is to enable the "encode contact header" feature on your SIP Connection. This obscures the private IP address in our Contact address so that the ALG won't recognise it.
When this error happens, it's often for BYE requests, as mentioned above, but it also happens for ACK requests (when a call is answered). When this happens, the SIP transaction is broken and the result is a dropped call after 32 seconds.
P02 - 403 Forbidden P02
This is a response to a CANCEL request. It means that our SIP proxy server can't find the INVITE. It's rare for this to happen, but can happen during maintenance periods, when our anycast IP address is moved from one server to another.
P03 - 403 Method Unsupported P03
A SIP request is received and the method doesn't match one of the standard 14 request methods, so it is rejected.
P03 - 403 Forbidden P03
A forbidden/unsupported request method is received
P06 - 513 Message too large P06
A SIP request is received and it's over the 6144-byte limit in size, so it is rejected.
P14
403 Request-URI Too Long P14
The RURI is too long, at over 512 bytes.
P18
403 Forbidden P18
This happens when we receive an INVITE that has an empty destination address in either the RURI or the To address. We must reject such a request that has no destination number.
P27
400 Non-ASCII character in header field P27
There's a non-ASCII (over 0x7F) character in the message.
P43
403 Forbidden P43
A SIP request was received on the websocket port, without websocket protocol.
P43
403 Contact header field too long P51
A request is received and the Contact lenght is over 512 bytes, so it is rejected.
P81 UO1
403 Forbidden P81 U01
This is a response that can be presented when attempting to send a SIP REGISTER request where the To-header user part contains 3 characters or less. SIP credential based Connection usernames must contain 4 or more alphanumeric characters, so shorter usernames can never work.
P82 UO2
403 Forbidden P82 UO2
This happens when a REGISTER request contains invalid characters in the username. Valid characters are letters (upper and lower case) and digits only.
P83 UO2
483 Too Many Hops P83
The call has had too many hops (lop prevention).
P93
403 Method unsupported P93
The method specified in the Request-Line is understood, but not allowed. An example is the MESSAGE method, which we do not currently support for sending messages through SIP.
PE1, PE2, PE3 & PE4
503 Service Unavailable or 503 No Routes Found
This error is returned when Telnyx could not identify an available route to terminate a customers outbound call. Please contact Telnyx support for assistance with this error.
R14, R16, R17 & R18
403 Forbidden R14
The authentication username is an empty string.
403 Forbidden R16
The authentication username has invalid characters in it.
403 Forbidden R17
The authentication username is shorter than four characters.
403 Forbidden R18
The authentication username does not match the TO and FROM user parts, which is a requirement of registration.
R42
403 Forbidden R42
This means that the authentication has been unsuccessful in a REGISTER request. Either the username or the password is incorrect. Be careful when copying passwords, because some letters look similar. Also be careful with usernames, which are case-sensitive.
R42
483 Too Many Hops R83
Too many hops (loop prevention).
RG1
480 Not Found RG1
User not registered. We could not connect the inbound call as the users credential based SIP Connection is not registered.
TV1
503 Service Unavailable TV1
Telnyx is unable to connect the call due to termination issues likely with multiple downstream carriers.
V83
Too Many Hops
Too many hops (loop prevention).
Others
SIP/2.0 504 Gateway Timeout
A response generated on outbound calls through our network where support for PRACK is indicated in the SIP INVITE but PRACKs are never received.
IDSN Cause Codes & Hangup Reasons
ISDN cause codes are used to describe reasons for hang up, they are PSTN based codes which are included in the "Reason" header of SIP response. When the ISDN network or remote user disconnects a call for any reason, the cause might be reported by any ISDN-aware application. They don't necessarily indicate an error as cause codes are shown at the end of normally terminated calls as-well. They are simply guidelines and are implementation-dependent.
An example is: Reason: Q.850;cause=21;text="CALL_REJECTED", where the ISDN cause code is 21 and the hangup reason is call rejected. This generally maps to a SIP 403 response.
Please reference this page which provides a detailed breakdown for each cause code, their relevant hangup reason and associated SIP response mapping.
Special Notes on SIP Response Code 488
At this moment in time, and specifically for 488 not acceptable responses with the reason header incompatible destination, we do not explicitly highlight the reasons for them. We list certain scenarios below where this response code can be seen and why it can occur.
At a high level, this error code generally relates to a misconfiguration in your SIP INVITEs SDP, 183 with SDP, 200 OK with SDP, ACK with SDP for late negotiation or a misconfiguration with a setting on your Telnyx account.
Example scenarios in which you may receive this response code if:
You send a private IP address in your SDP
For example: c=10.10.10.10
You send a re-invite for T.38 on inbound calls but do not have the T.38 fax gateway setting enabled on your DID's expert settings.
You send a re-invite for T.38 on your outbound calls but do not have the T.38 fax setting set to "Customer" or have it set to "Disabled" on your SIP Connections outbound settings.
You send a SIP INVITE with an IPV6 media IP address, something we do not currently support. Please ensure media IP address are IPV4.
You send a SIP INVITE, on your outbound calls, with a codec we do not currently support. For a list of supported codecs, please see this page.
You send a 200 OK, on your inbound calls, with a codec we do not currently support. In this scenario, we'll actually send a BYE with a hangup cause of INCOMPATIBLE_DESTINATION and an ISDN cause code of 88.
You send a SIP INVITE, on your outbound calls, with encryption media attributes in the SDP but have not specified the encryption type on your SIP Connections outbound settings such as SRTP.
You send a SIP INVITE, on your outbound calls, without encryption media attributes in the SDP but have specified the encryption type on your SIP Connections outbound settings such as SRTP. In this scenario, we'll actually send a BYE with a hangup cause of INCOMPATIBLE_DESTINATION and an ISDN cause code of 88.
You send a 183 or 200 OK, on your inbound calls, with encryption media attributes in the SDP but have not specified the encryption type on your SIP Connection inbound settings such as SRTP. In this scenario, we'll actually send a BYE with a hangup cause of INCOMPATIBLE_DESTINATION and an ISDN cause code of 88.
You send a 183 or 200 OK, on your inbound calls, without encryption media attributes in the SDP but have specified the encryption type on your SIP Connection inbound settings such as SRTP. In this scenario, we'll actually send a BYE with a hangup cause of INCOMPATIBLE_DESTINATION and an ISDN cause code of 88.
Final Notes on SIP Response codes
These errors are subject to change and may be updated in the future.
Most of these errors are self explanatory and following the above workaround suggestions and/or making the appropriate changes or refreshes on your account, will generally resolve these issues.
If you have attempted to resolve these issues but still have difficulty, please contact our support team providing example calls, SIP message logs or SIP Call ID. As a reminder, please leverage your debugging tool which can help provide insight into the SIP logs and the exact responses.