SIP 500 / 503

SIP 503 Service Unavailable in Asterisk

A 503 means the server that received your request is refusing to handle it right now. It is a statement about the far end's health, which makes it the one rejection where the first thing to check is not your own configuration.

What it looks like in the log

[2026-08-17 13:55:19] VERBOSE[11207][C-00001042] res_pjsip_logger.c: <--- Received SIP response (604 bytes) --->
SIP/2.0 503 Service Unavailable
Retry-After: 30
CSeq: 102 INVITE

What it means

500 and 503 are the SIP equivalents of a server error and a server overload. The request was valid, the destination exists, and something on the receiving side went wrong or decided it had no capacity to help.

The practical difference between them is that a 503 often carries a Retry-After header and is expected to be transient, while a 500 usually reflects a genuine fault. Both point away from your dial string.

Most common causes

  1. 01A carrier outage or maintenance window

    The most common cause of a sudden burst of 503s across every route on one trunk. Check the provider status page before reading any config.

  2. 02Carrier-side capacity exhausted

    Trunks with a channel limit frequently return 503 rather than 486 when the account is at its cap. The failure looks like an outage but is a quota.

  3. 03A failed DNS SRV failover

    If the carrier publishes multiple hosts and one is down, an endpoint configured with a single static IP has nowhere to fail over to and reports 503 while the service itself is up on another host.

  4. 04Asterisk generating its own 503 under load

    When the box hits a resource limit - file descriptors, memory, a full task queue - it can return 503 to inbound requests. A 503 sent by Asterisk rather than received is a local problem and a serious one.

  5. 05A downstream PBX or SBC in the path

    On calls that traverse an SBC, the 503 may come from the middle of the path rather than either end, which is why the address in the Via chain is worth reading.

How to tell which one it is

First establish direction. A 503 in a received response block is the far end. A 503 in a transmitted block is your box, and that changes the investigation entirely.

Then look at the spread. If every call on one trunk is failing and calls on other trunks are fine, it is that carrier. If calls across all trunks are failing at the same time, look at the box - and at whether anything else on it is also unhealthy at that timestamp.

How to fix it

Related failures