SIP 503 Service Unavailable: what it means and how to fix it
Short answer: SIP 503 Service Unavailable means the server is temporarily unable to process the call because of overload or maintenance. On trunks, the most common reasons are the carrier running out of channels or routes, or an SBC being down. Read the Retry-After and the Q.850 cause in the Reason header and, if it persists, open a ticket with the Call-ID.
| Code | 503 |
|---|---|
| Official name | Service Unavailable |
| Class | 5xx: server failure |
| Defined in | RFC 3261 |
| Q.850 causes that usually come with it | 34 (No circuit/channel available), 38 (Network out of order), 41 (Temporary failure), 42 (Switching equipment congestion), 47 (Resource unavailable, unspecified), 58 (Bearer capability not presently available), 88 (Incompatible destination) |
How Monitor treats SIP 503
The reading depends on what should answer the number, which is the question 2N5 answers when it adds each circuit. These are the rules the product applies today, generated from the same function that judges every test call.
| What should answer the number | Reading |
|---|---|
| A greeting or recorded message (the IVR) | Down |
| A test tone or echo service | Down |
| Other: it may ring or be answered | Down |
What Monitor records for an IVR: The provider could not complete the call because of a fault on its side: the provider's service is unavailable (SIP 503).
A call read as Down alerts nobody on its own: it is repeated 3 times, every 2 minutes, and only 4 failures in a row open an incident, with each call's SIP code and Q.850 cause as evidence for the carrier. At the default pace, every circuit is tested every 15 minutes.
If the carrier returns SIP 503 when 2N5's calling account registers, before any call, the test is monitoring blind: it is a problem on 2N5's side, it does not count against the circuit and it does not alert the customer.
What does SIP 503 mean in practice?
SIP 503 Service Unavailable says the server is temporarily unable to process the request because of overload or maintenance. Under RFC 3261, it may carry Retry-After to say when to try again, and the recipient should look for an alternate server. Without Retry-After, the client treats the response as a 500.
On trunks, the SIP 503 error is the most common way of saying “there is no way to complete this right now.” The Q.850 cause in the Reason header helps explain why. Under RFC 3398, the following become a 503: cause 34 (No circuit/channel available), cause 38 (Network out of order), cause 41 (Temporary failure), cause 42 (Switching equipment congestion), cause 47 (Resource unavailable, unspecified), plus causes 58 and 88. In the other direction, a 503 becomes cause 41.
Common causes in Brazil
- Concurrent channels used up on the carrier’s trunk (Vivo, Claro, Algar, Embratel or another), with
Reason: Q.850;cause=34. - The calls-per-second limit reached by dialers and campaigns that place many calls at once.
- Scheduled maintenance or a restart of the carrier’s SBC, sometimes with Retry-After.
- Congestion or a temporary failure on the route to the destination network, with cause 41 or 42.
- A PBX (Asterisk, Issabel, FreePBX, 3CX) with no outbound trunk available, generating the 503 for the extension.
- An SBC license or capacity exhausted on your own network.
How to troubleshoot
- Capture the call with
sngrepand identify who generated the 503 from the Via, Server and User-Agent headers. - Turn on
pjsip set logger on(orsip set debug onin chan_sip) and read the Reason, such asReason: Q.850;cause=34, and the Retry-After. - Run
pjsip show registrationsto confirm the trunk is registered andcore show channelsto count the active calls. - Compare the number of active calls with the channel limit in your contract. If you are at the ceiling, the 503 is about capacity.
- In 3CX, turn on verbose logging and check the Activity Log for which trunk responded and whether there was an alternate route.
- Place the call again after the Retry-After time and through another trunk. If the 503 keeps happening on only one trunk, the problem is in that trunk.
What to send your carrier
- The exact date and time with the time zone, for example 2026-10-07 14:32:10 -03:00.
- The calling number (A), the called number (B) and the Call-ID.
- The full
SIP/2.0 503 Service Unavailableline and the Reason and Retry-After headers. - How many attempts failed, over what time window, and how many calls were active on the trunk.
- Whether the failure affects all destinations or only some.
- The pcap file of the capture, if you have one.
Frequently asked questions
What do I do with the Retry-After header in a SIP 503?
It says how many seconds to wait before sending new requests to that server. Under RFC 3261, whoever receives the 503 should try an alternate server and not send other requests to the same server during that time. Without Retry-After, the 503 should be treated as a 500. If your PBX has a second trunk, set it up as an alternate route.
Does a 503 always come from the carrier?
No. The PBX itself or an SBC on your network also generates 503s, for example when no outbound trunk is available. Before you open a ticket, capture the response and check the Via, Server and User-Agent headers. If the 503 originated inside your network, the carrier will not find anything.
Does a real test call catch this error?
Yes. A real test call goes through the trunk like any other call and receives the final SIP response the network returns, including a 503. When the result counts as a failure, the call is retried before any alert goes out, and the alert is sent by email and SMS.