SIP codes

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.

SIP 503 in the reference
Code503
Official nameService Unavailable
Class5xx: server failure
Defined inRFC 3261
Q.850 causes that usually come with it34 (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 numberReading
A greeting or recorded message (the IVR)Down
A test tone or echo serviceDown
Other: it may ring or be answeredDown

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

  1. Capture the call with sngrep and identify who generated the 503 from the Via, Server and User-Agent headers.
  2. Turn on pjsip set logger on (or sip set debug on in chan_sip) and read the Reason, such as Reason: Q.850;cause=34, and the Retry-After.
  3. Run pjsip show registrations to confirm the trunk is registered and core show channels to count the active calls.
  4. Compare the number of active calls with the channel limit in your contract. If you are at the ceiling, the 503 is about capacity.
  5. In 3CX, turn on verbose logging and check the Activity Log for which trunk responded and whether there was an alternate route.
  6. 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 Unavailable line 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.

Know before your customers do

Monitor calls every voice circuit all day and delivers each failure with the SIP code and the Q.850 cause as evidence.