Skip to main content

Troubleshoot a pending number or Sender ID

Two surfaces gate on regulatory approval before they carry traffic: a phone number waiting on a compliance profile, and an alphanumeric Sender ID waiting on a country registration. Until the gate clears, sends to that surface stay blocked. This page walks each status to its cause and to the fix you can run yourself.
Compliance posture is yours to configure — Orbit gives you the controls and defaults them open. Final approval of a number or Sender ID always comes from the carrier or regulator, not from the platform, so lead time in this page is an expectation, not a guarantee.

Map the status to its meaning

Phone numbers — a number at pending_compliance is blocked from sending or receiving until an approved compliance profile is attached to it. Orbit re-submits the profile to the carrier and a carrier webhook flips the number to active. See the full flow in Number Lifecycle. Sender IDs — a country entry at pending means the registration was submitted and is awaiting review by the regulator or carriers in that country. approved means traffic may flow; rejected or expired block traffic until you re-submit. The four states are documented on Sender-ID Registration.

Fix a pending number

Attach an approved compliance profile to the number:
The number flips to active when the carrier accepts the profile. If you do not yet hold an approved profile, create one from your KYC documents first, then attach it.

Fix a pending or rejected Sender ID

Re-submit the registration packet with the documents the destination country requires — the per-country sender types, registration flag, and required documents are in Country Compliance Requirements. Re-submitting the same Sender ID is an idempotent upsert: countries you already hold approved keep their approval, and countries that were rejected or expired return to pending for a fresh review. See Sender-ID Registration.

Read the rejection reason

For numbers, check the Numbers page in the dashboard — the row for a pending_compliance number shows what the carrier flagged. Profile-level failures — a purchase refused for a missing or non-approved profile, a mutation refusal, or a delete/detach refusal — take four dedicated codes and are covered by Compliance profile lifecycle errors. For Sender IDs, open Settings → Compliance → Sender IDs in the dashboard. Each country entry carries its status and the notes the reviewer left; a rejected entry names what to fix before you re-submit. Team members with access to the admin review queue can also see the packet notes there.

Error codes at the compliance gate

Four country codes and India surface a country-specific rejection; everywhere else, the alphanumeric-Sender-ID approval gate answers with a generic code: Numeric senders — E.164 phone numbers and short codes — are exempt from this alphanumeric-Sender-ID gate; their ownership is enforced separately. See Send Gates. India is a separate regime. Sender IDs there are DLT “Headers” paired with DLT content templates — sends without an approved DLT template return MESSAGING_IN_DLT_TEMPLATE_REQUIRED, and a body or header that does not match the registered template returns MESSAGING_IN_DLT_CONTENT_MISMATCH. Register your Principal Entity, Headers, and templates on a DLT portal, then record them in Orbit. See DLT-India Onboarding. Separate from the country-specific codes, a generic pre-send alphanumeric-sender gate fires on any destination when the from value is a custom sender ID the account has not registered (SENDER_ID_NOT_REGISTERED), a registered ID not yet approved (SENDER_ID_NOT_APPROVED), or a transient failure of the approval check itself (SENDER_ID_CHECK_UNAVAILABLE, 503). See Troubleshooting: alphanumeric sender ID rejected before send.

Send-path rejections — which failure class did you hit?

The codes above appear in two distinct failure classes, and the fix is different for each:
  1. Registration-state pending — the gate evaluated the entry and its status is not yet approved. The send fails with SENDER_ID_NOT_APPROVED (or a country-specific code) and the fix is the approval itself: wait out pending, or re-submit a rejected or expired entry. This is the scope of the rest of this page.
  2. Gate-read errors and generic rejects — SENDER_ID_CHECK_UNAVAILABLE means the gate could not even read the entry, so no re-submission helps; retry. A generic SENDER_ID_NOT_REGISTERED means there is no entry to evaluate, so register first instead of retrying.
Match the code to the class before you act — a 503 retried is nothing, a 503 classified as a pending registration stall wastes the lead time this page asks you to budget. The full status lifecycle — pending → approved / rejected / expired — is on Sender-ID Registration.

Lead time and when to escalate

Approval lead time is set by the regulator or carrier, not by Orbit. A few examples from the registry:
  • Many EU markets clear within days; some take a couple of weeks.
  • Brazil and Singapore routinely take days to weeks.
  • India DLT artifacts clear on the registrar’s timeline, then mirror into Orbit as the registrar updates their status.
Escalate to support when:
  • A number has stayed pending_compliance for more than two weeks after the profile was attached.
  • A Sender-ID entry has stayed pending beyond the lead time the country registry publishes.
  • A rejected entry gives a reason you cannot resolve with the documents you hold.
Include the number ID or Sender-ID value, the country, and the current status so the reviewer can pull the packet directly.