Telephony compliance
Telephony compliance
In many countries you can't just buy a phone number and start dialling — the carrier (and the local telecom regulator behind it) needs to know who is using the number and for what. That means submitting KYC (know-your-customer) paperwork: proof the business exists, a tax registration, a verified address, and so on. Until that documentation is on file and accepted, the carrier won't sell or activate the number.
Telenow handles this end-to-end from the dashboard. You fill in your business details once, attach the required documents, submit, and Telenow tracks the application's status with the carrier. Once it's accepted, you link it to the numbers you want to buy.
Where it lives. Open Compliance in the sidebar. Anyone signed in to your workspace can view and submit applications; there's no separate permission to unlock. Compliance applications are org-wide and reusable — submit one for, say, India business local numbers and link it to as many matching numbers as you need.
This page is the deep dive. For the number-buying flow that consumes a compliance application, see Phone numbers.
When you actually need it
Compliance is per provider, per country, per number type, per end-user type — not a blanket requirement. Most numbers need none of it:
- US, UK, Canada (local & toll-free) — no purchase-time paperwork; you buy the number immediately. US calling rules (TCPA, DNC, and A2P 10DLC if you also send SMS) are covered in US calling compliance.
- India numbers on Plivo — require KYC for business end-users (more below).
- Twilio Regulatory Bundles — Twilio enforces regulated documentation for India and a number of European and APAC markets.
If you search for a number that needs paperwork, the Buy button on the Phone numbers search page is gated until you attach an accepted application. If a country/provider has no requirement, you simply buy the number and skip this page entirely.
Which carriers have an in-app workflow
Only providers that advertise compliance support appear in the application wizard's Provider dropdown:
| Provider | In-app compliance | Notes |
|---|---|---|
| Plivo | Yes | The primary flow. India business KYC is fetched live from Plivo and reviewed off-platform. |
| Twilio | Yes | Twilio Regulatory Bundles. Twilio uses the Address from your application, and resolves the country from the application rather than the number-purchase form. |
| Vobiz | No | KYC is handled at the carrier-account level, outside Telenow. |
| Exotel | No | KYC is handled at the carrier-account level, outside Telenow. |
| Tata Tele Smartflo | No | KYC/verification is handled in the Smartflo portal, outside Telenow. |
| Vonage | No | KYC is handled at the carrier-account level, outside Telenow. |
So if you use Vobiz, Exotel, Vonage, or Tata Tele Smartflo, you complete any verification directly in that carrier's own portal — there's nothing to submit in Telenow for them, and they won't appear in the wizard. The same applies to numbers on your own SIP trunk: your upstream carrier owns the regulatory relationship for those DIDs.
Submitting an application
Go to Compliance in the sidebar and click New application. The form is a single page in three sections — you can jump back to any earlier field at any time without losing what you've typed.
1 · Scope
This tells Telenow exactly which carrier rules to fetch.
| Field | What it does | Default |
|---|---|---|
| Provider | The carrier the application is filed with. Only compliance-capable providers (Plivo, Twilio) are listed; it pre-selects your workspace's default provider. | Default provider |
| Country (ISO) | ISO 3166-1 alpha-2 code (IN, US, GB, …). | IN |
| Number type | local, mobile, or tollfree. | local |
| End-user type | business or individual — who the number is registered to. | business |
As soon as all four are set, Telenow asks the carrier for that scope's exact document list and renders the upload fields in section 3.
India must be a business. India only sells local/mobile/tollfree numbers to business end-users — Plivo returns "no compliance requirement found" for individuals. If you pick
IN+individual, the form warns you to switch the end-user type to business (which is where the GST + incorporation documents come in). If you ever see that "no requirement found" error, double-check the scope: usually the end-user type or number type is the culprit.
2 · End user
This is the person or business the number is registered to. Give the application a friendly Alias (e.g. "Acme India — local numbers") so you can recognise it later in the list and in the purchase dropdown.
| Field | Required | Notes |
|---|---|---|
| Alias | Yes | A friendly label for the application. Shown in the list and the purchase picker. |
| Name | Yes | The legal name of the business (or individual). |
| Last name | — | For individual end-users. |
| — | Contact email. | |
| Registration number | — | Company/tax registration (e.g. your CIN or GSTIN). |
| Address line 1 / 2, City, State, Postal code, Country | — | The registered address. Twilio uses this as the Regulatory Bundle Address. |
Provide as complete an address and registration number as the carrier expects for your market — incomplete details are the most common cause of rejection.
3 · Documents
Telenow renders one upload row per document the carrier requires for your scope. Each row shows the document's name, a short description, and — when the carrier marks it mandatory — a file required badge. Some documents also carry extra text fields (the carrier's data_fields), which appear as plain inputs to fill in.
- A document tagged file required must have a file attached before you can submit.
- Documents without that badge can be submitted with their text fields only.
Additional documents (always available)
Below the carrier-driven list there's an Additional documents section you can use no matter what — it's there even when the carrier returns no predefined requirements, so you're never stuck unable to attach a file.
For Indian business numbers it comes pre-seeded with the two documents these typically need:
- Certificate of Incorporation / Udyam registration
- GST certificate
Each row has a Document type label (the carrier's document_type_id) and a File picker. You can:
- Edit the pre-seeded document-type labels to match the exact ids your carrier expects (e.g.
gst_certificate,incorporation_certificate). - Remove a row with the trash icon if it doesn't apply.
- Add document to attach more files.
Not sure of the document-type id? Attach the file with a clear, descriptive label anyway — the carrier validates the document during its review. Empty rows (no document type) are simply skipped on submit.
When everything required has a file, click Submit application. The application is created with status pending and you land on its detail page.
Tracking status
Carrier review happens off-platform and can take time — from minutes to days depending on the market. Telenow tracks it for you:
- The application's detail page auto-refreshes every 15 seconds while it's pending, so accepted / rejected appears without a manual reload.
- Status also updates via a carrier callback (webhook) when configured on the deployment — the detail page shows the Callback URL and the last callback at time.
- If an application is rejected, the reason is shown in a banner at the top of the detail page.
The detail page also surfaces the carrier's External id (the provider's own reference for the application), the submitted End user block, and a Documents summary. The Compliance applications list gives you the at-a-glance view: alias, provider, scope (country · type · end-user type), status, and submission time.
| Status | Meaning |
|---|---|
| pending | Submitted; awaiting carrier review. The detail page polls every 15s. |
| accepted | Approved — you can now link it to numbers and buy. |
| rejected | Declined. See the rejection-reason banner, fix the issue, and submit a fresh application. |
Linking an application to a number
An accepted application is what unlocks a regulated number. There are two ways to attach it:
- At purchase — on the Phone numbers → Search page, when the scope (country + type) matches an accepted application, pick it from the compliance dropdown before clicking Buy. The number is bought with the bundle linked.
- After purchase — open the number's detail page and use Link compliance application to attach an accepted application to an existing number.
Buying or porting a regulated number without an accepted application is rejected by the carrier, which is exactly why the Buy button stays gated until one is attached.
Deleting an application
On an application's detail page, Delete withdraws it at the carrier. You can't delete an application that's still linked to active numbers — unlink or release those numbers first. Deletion is confirmed in a modal before it runs.
Tips
- Plan ahead. In regulated markets, approval is off-platform and out of Telenow's control — submit the application before you need the numbers, not on the day you want to launch.
- One application, many numbers. Because applications are org-wide and matched by country + number type, you usually file one per market and reuse it for every matching number you buy.
- Keep details consistent. The business name, registration number, and address on the application should match your incorporation and tax documents exactly — mismatches are the usual rejection cause.
- Twilio uses your Address. For Twilio Regulatory Bundles, the Address fields and Country on the application drive the bundle, so fill them in carefully even though they're not marked required in the form.
Troubleshooting
- "No compliance requirement found." The carrier has no rule for this exact scope. For India, set End-user type to business and a number type of local / mobile / tollfree; individual end-users aren't supported for Indian numbers.
- The provider I want isn't in the dropdown. Only Plivo and Twilio have an in-app workflow. Vobiz, Exotel, Vonage and Tata Tele Smartflo handle KYC in their own portals — there's nothing to submit here for them.
- The Buy button is still gated after approval. Confirm the application is accepted (not pending) and that its country + number type match the number you're buying; only matching, accepted applications appear in the purchase dropdown.
- Can't delete an application. It's still linked to one or more active numbers. Release or unlink those numbers, then delete.
API
The whole flow is available over the REST API, all under /api/voice/numbers:
| Method & path | Purpose |
|---|---|
GET /api/voice/numbers/compliance/requirements?provider=&country=&type=&endUserType= | The carrier's required documents for a scope. |
POST /api/voice/numbers/compliance | Submit an application (returns 201 with the created application). |
GET /api/voice/numbers/compliance | List your applications ({ applications, total }). |
GET /api/voice/numbers/compliance/{id} | Fetch one (refreshes status from the carrier). |
DELETE /api/voice/numbers/compliance/{id} | Withdraw an application. |
POST /api/voice/numbers/{id}/compliance | Link an accepted application to a number. |
Submit payload (dashboard envelope, camelCase):
{
"provider": "plivo",
"countryIso": "IN",
"numberType": "local",
"alias": "Acme India — local numbers",
"endUser": {
"type": "business",
"name": "Acme Pvt Ltd",
"email": "[email protected]",
"registration_number": "22AAAAA0000A1Z5",
"address_line1": "1 MG Road",
"city": "Bengaluru",
"state": "KA",
"postal_code": "560001",
"country": "IN"
},
"documents": [
{
"documentTypeId": "gst_certificate",
"file": {
"filename": "gst.pdf",
"mime": "application/pdf",
"contentBase64": "JVBERi0xLjQ..."
}
}
]
}
To link an accepted application to a number:
POST /api/voice/numbers/{id}/compliance
{ "complianceApplicationId": "00000000-0000-0000-0000-000000000000" }
Or buy a number with one attached in a single call by passing complianceApplicationId to POST /api/voice/numbers/purchase. See the Phone numbers API for the full surface, Phone numbers for the dashboard flow, and Telephony providers for per-provider details.