Skip to content

unassigned_block

The regulator has not allocated the block the number sits in

The number is well-formed, but the allocation table of its regulator lists its block as unassigned (free, spare, protected, quarantined, frozen, cooling off or held in reserve) or, being complete, does not list it at all: no carrier holds it, so no subscriber can be reached on it.

appears in
reason
credits
Free. Invalid numbers never cost a credit.

What it means

Where a regulator publishes its number-block allocations (NANPA, the CNAC, Ofcom, ARCEP, ACMA, ACM, the NAD, the CRT (formerly the IFT), UKE and MIMIT today), Spaw reads the block a number sits in. A block the table itself lists as unassigned has no holder: Ofcom's free, protected, quarantined and reserved blocks, the CNAC's unassigned codes, ARCEP's frozen ranges, ACM's cooling-off ranges, the spare ranges of ACMA and the NAD, UKE's reserves, MIMIT's free and revoked ranges, and the thousands-blocks NANPA lists as available, and not contaminated, inside a pooled US code (while the copy is fresh). So does a geographic number missing from a fresh copy of a complete table (NANPA for the United States and its territories, the CNAC for Canada, ARCEP for France, ACM for the Netherlands, the CRT for Mexico). The plan allows the shape, but nobody can be reached there today.

Unlike the other reasons, the answer keeps the parsed number: e164, the display formats, the country facts and block_status "unassigned" are all filled in, and the table that decided it is named in sources. The inference from an absent block is withheld when the table is older than 45 days, so a code assigned since the last sync is never called free.

A number in one of Ofcom's drama ranges, reserved for fiction, does not answer this reason even where Ofcom's table lists its block as protected: it is valid, with is_fictional true and the fictional risk signal, and block_status still says "unassigned".

What to do

Reject it at signup like any invalid number; the block cannot ring. If you believe the number is in service, the version in sources says which copy of the table answered, and the regulator publishes the current one.

Example response

{
    "valid": false,
    "reason": "unassigned_block",
    "e164": "+442030130018",
    "country": "GB",
    "block_status": "unassigned",
    "risk_score": null
}

Abbreviated: a real answer carries every field, listed in the validate-phone reference.

Related

markdown version: /docs/reasons/unassigned_block.md