Carrier rejecting calls (503/603): what it means
A 503 means the carrier could not take the call right now — overload, CPS limit, or no route. A 603 means it actively declined. Here is how to tell them apart and fix each.
When a carrier rejects your call it sends back a SIP response code explaining why. A SIP 503 Service Unavailable (Service Unavailable) means the carrier could not handle the call right now — overload, a rate limit, or no route to the number. A 603 (Decline) means the carrier received it fine and chose to refuse it. Same failed call, two very different fixes.
503 — the carrier could not take it
503 is a temporary, capacity-flavored rejection. The Carrier is telling you it is unavailable for this attempt, not that the destination is bad. The usual causes:
- CPS exceeded: you are placing more calls per second than the carrier allows. A predictive dialer ramps fast, so a tight Calls per second (CPS) limit on the carrier side throws bursts of 503s during peak dialing.
- Channel cap reached: you have hit the maximum concurrent calls the carrier permits on your account.
- No route: the carrier has no path to that destination, often a country or area code you are not provisioned for.
- Low or zero balance: prepaid accounts return 503 (sometimes 403) once funds run out.
603 — the carrier declined
603 is a deliberate refusal. The call reached the carrier and was rejected on purpose. Common reasons: the destination is blocked on your account, the number is on a do-not-call or fraud filter, or your caller ID is not permitted for that route. A flood of 603s on calls that used to work usually means a policy or filtering change on the carrier side, not a network fault on yours.
Telling them apart
flowchart TD
A[Call rejected] --> B{Response code}
B -->|503| C{Capacity issue}
C -->|too fast| D[Lower CPS / dial level]
C -->|out of funds| E[Top up balance]
C -->|no path| F[Check route coverage]
B -->|603| G{Policy issue}
G -->|number blocked| H[Check destination + caller ID]
G -->|auth/filter| I[Verify account permissions]The branch you land on decides the fix. 503 sends you to capacity and routing; 603 sends you to account policy and permissions.
What to check, in order
- Read the code on the Asterisk CLI or with sip set debug on. Confirm it is really 503 vs 603 before guessing — they look identical to an agent (a fast hangup or a fast busy).
- For 503: lower your dial level or the carrier's CPS, and check your balance and channel count. If only one destination fails, it is a routing gap, not a rate problem.
- For 603: log into the carrier portal and check whether the destination, prefix, or caller ID is blocked. Confirm your Trunk is authorized to dial that route at all.
- If every call fails the same way, suspect authentication or a disabled trunk rather than the destination.
Once you know which code you are getting, the fix is usually fast. For the full picture of how trunks are wired and authorized, see our carrier integration guide, and if the rejection turns out to be an auth problem, review registration vs IP authentication to confirm your server is recognized by the carrier.
If you are setting up a fresh dialer and want the trunk side already healthy on a clean static IP, see our plans — you bring the carrier credentials, the box is provisioned and reachable in under 40 seconds.
About VICIfast LLC
VICIfast LLC operates a managed VICIdial hosting + BYOI service for outbound and inbound call centers. We run the dialers, the carriers, the recordings pipeline, and the compliance plumbing so operators don’t have to.
Citing this article
VICIfast Engineering. “Carrier rejecting calls (503/603): what it means”. VICIfast LLC, June 24, 2026. Retrieved from https://vicifast.com/blog/vicidial-carrier-call-rejected-503
Have questions?
Related posts
You might be interested in
VICIfast newsletter
Liked this? Get the next one in your inbox.
We ship the kind of stuff you just read — concrete, numbers-first, no drip. One email when a new post goes live. Unsubscribe in one click.
Comments
No comments yet — be the first.