Operation

Hangup Causes: what code your customer gets

When NEXIA rejects a call, the SIP code it answers decides what the customer's equipment does next: a 503 tells their dialer "try another carrier", while a 486 or 404 is final — the dialer reads it as "this number is dead" and does not retry. Picking the wrong code costs traffic.

Under Settings → Hangup Causes you control exactly which code the switch answers for each rejection reason, with no restart: save and it applies to the next call.

The golden rule

If the call never reached a carrier, the rejection is our problem — not the destination's. That is why every internal rejection (balance, rates, routes, channel caps, account) answers 503 Service Unavailable, which is re-routable: the customer's dialer moves on to its next carrier and their traffic keeps flowing. NEXIA never invents a final code.

And the other way around: if the call did reach a carrier, whatever that carrier answered (486 busy, 404 unallocated, etc.) passes through to the customer as-is. A 486 in your history is a real busy from the destination, not a switch decision. Automatic failover only runs on carrier 5xx or timeout; a carrier 4xx is a definitive answer about that number and is relayed without retrying.

The causes

CategoryCauseWhat it means
AccountNEXIA_ACCOUNT_NOT_FOUNDNo customer matches the source IP/credentials.
NEXIA_ACCOUNT_DISABLEDThe account is disabled.
NEXIA_ACCOUNT_BLOCKEDThe account is blocked.
NEXIA_INSUFFICIENT_BALANCEThe customer's balance is exhausted.
NEXIA_BAD_ORIG_PREFIXMissing or wrong tech prefix on the inbound call.
NEXIA_BLOCKED_DESTINATIONThe destination is on a block list.
CapacityNEXIA_CHANNEL_LIMITThe customer hit their concurrent-channel cap.
NEXIA_OP_CHANNEL_LIMITOrigination-point channel cap reached.
NEXIA_DP_CHANNEL_LIMITDial-peer channel cap reached.
NEXIA_TP_CHANNEL_LIMITTermination-trunk channel cap reached: the carrier has no free channel right now. Its tariff and rates are fine.
NEXIA_TP_CPS_LIMITThe termination trunk went over its calls-per-second cap.
RatesNEXIA_NO_USER_TARIFFThe customer has no sell tariff assigned.
NEXIA_NO_USER_RATENo sell rate covers that destination.
NEXIA_NO_PROVIDER_TARIFFThe outbound trunk has no buy tariff.
NEXIA_NO_PROVIDER_RATENo buy rate covers that destination.
RoutingNEXIA_NO_ROUTING_GROUPNo routing group is configured for that traffic.
NEXIA_NO_ROUTE_IN_GROUPThe group has no peer covering that number.
NEXIA_NO_LCR_ROUTELCR found no route.
NEXIA_NO_TRUNK_FOR_PREFIXNo outbound trunk matches the dialled prefix.
NEXIA_GW_OFFLINEA dial peer covers the number, but none of its gateways is registered or reachable right now.
NEXIA_GATE_REFUSEDThe core refused for a policy reason (margin/price rule or a policy module).
NEXIA_FAILOVER_EXHAUSTEDEvery candidate carrier was tried and none accepted.

All of them answer 503 out of the box. You can change the code for a specific cause if your operation needs it — the selector only offers valid SIP codes and marks which ones are re-routable.

Where you see it day to day

In Calls → Last Calls, the disposition column shows the compact result — e.g. FAILED (503) — and hovering it shows the breakdown: the exact cause and its explanation, as configured on this page. The per-call ⓘ report carries the same detail.

If a customer reports "you are giving us busy", check the real cause in the history first: a carrier 486 is a real busy at the destination; an internal rejection should never reach them as 486.
© 2026 NEXIA Networks · This wiki grows with every install: if something was missing, tell us and we add it.
On this page