inbound caller-name lookup
Add numbers.online as a server-side CRM source so 3CX can resolve unknown inbound callers to a business name, tenant-wide, with no client-side software. When a call arrives from a number that is not already one of your 3CX contacts, 3CX asks numbers.online for a caller-name (CNAM); if one is available it is shown on the call.
Positioning. The caller-name returned here is a supplementary signal derived from wholesale CNAM and number-range data. It is advisory, may be absent or stale, and is not an authoritative identity. Your operator keeps the routing decision and remains responsible for compliance. numbers.online never asserts that a call is lawful, unlawful, "safe", or "spam".
A numbers.online API key. Don't have one? Self-service signup:
POST https://numbers.online/v1/account/signup
Content-Type: application/json
{"email":"[email protected]","name":"Your Company"}
The key is returned exactly once. Free tier: 60 requests/min, unbilled. Docs: https://numbers.online/docs
3CX V18 or V20, with administrator access to the Admin Console.
https://numbers.online/integrations/3cx/numbers-online.crm.xmlnumbers-online.crm.xml.Use the built-in CRM Test button on the integration page (Settings > CRM >
Server side > numbers.online). Enter a known business number in +E.164 form
(e.g. +14155552671) and run the test:
3CX registers a contact only when the lookup yields all of: a contact URL, a
name field (company or person), and a phone number equal to the one searched.
This template emits a CompanyName, a PhoneBusiness that echoes the searched
number byte-for-byte, and a unique ContactUrl (https://numbers.online/lookup/<E.164>).
spam_score is therefore not
shown in 3CX. (It would be technically possible to fold a risk word into the
displayed company name, but this template intentionally does not do so, to
keep the displayed name clean and to avoid presenting a low-confidence signal
as an identity. Any risk-tagging belongs in an opt-in, operator-configured
surface — see the plain-text CID endpoint in the API docs.)If numbers.online is slow or unreachable, 3CX proceeds normally and shows the raw
number — call setup is never blocked or delayed by a failed lookup. The template
caps concurrency (MaxConcurrentRequests="2") so bursts of inbound calls cannot
overwhelm the lookup path. No raw phone numbers or API keys are logged by this
integration.
Lookups are billed per dip: $0.004 per lookup that performs a fresh CNAM dip, $0.002 for a cache hit or when no supplier returns a name. Invalid numbers are free. The free tier is unbilled at 60 requests/min. Because 3CX queries only for callers who are not already local contacts, billable volume tracks your unknown-caller traffic, not total call volume.
401 (bad/missing key) or 402
(insufficient balance) causes the lookup to return no contact; top up or reissue
the key. The integration still fails open — calls keep working.+<countrycode>... form in CRM Test.For API keys, higher rate limits, or volume pricing: [email protected].