Freeze one affected call and its identity stages
Choose one authorized non-emergency inbound call and retain timestamp, timezone, SIP Call-ID where available, called DID, received caller number, received caller name and presentation state, matched inbound route, intended destination and the text shown on the endpoint. Record whether the symptom is blank, unchanged carrier text, wrong person, old value, truncation or inconsistent devices.
Do not begin by clearing every cache entry or changing carrier identity. A missing source assignment, number-format mismatch, empty response, stale key, later dialplan rewrite and endpoint display rule can produce similar screens but have different owners.
Prove the matched inbound route selected the intended source
Confirm the affected DID and optional caller-number route, their precedence and the selected CallerID Lookup source ID. The release/17.0 module adds a lookup subroutine to qualifying inbound-route paths; a source that exists but is not attached to the route cannot affect the call.
Compare the saved assignment with generated and loaded dialplan. If the call matched another inbound route, correct that route decision first. Do not edit the generated cidlookup context or widen an Any DID route to conceal the mismatch.
Compare the exact number used by the source
Preserve the number and presentation fields before lookup and the exact value sent to Contact Manager, OpenCNAM, ENUM, HTTP or HTTPS, MySQL or the internal directory. A leading plus, national prefix, privacy token, extension-like value or missing number can select a different record or no record.
Normalize in one documented owner only after proving the expected source key. Do not invent an identity for prohibited or unavailable caller information, and do not assume the endpoint-formatted number is the value the lookup subroutine evaluated.
Distinguish a cache hit from a live source result
For lookup types that permit it, the reviewed dialplan checks the AstDB cidname family before calling the source and can write the resulting name afterward. Inspect only the demonstrated caller-number key and retain its value. A correct live database or API result cannot replace an older cached value when the call returns before the query.
If the key is stale, preserve it, correct or delete that key through a bounded operational procedure and repeat the same call. Do not remove the entire family. If the call did not use the cache, continue to the source path rather than treating AstDB as the cause.
Prove the selected source returned a usable name
For a local directory or Contact Manager path, verify the selected group, stored number format and returned field. For HTTP, HTTPS, MySQL, OpenCNAM or ENUM, preserve the request boundary, timeout, authentication result, status, response text and empty-result handling without exposing credentials or personal data. The release/17.0 generated HTTP path uses a seven-second Asterisk CURL timeout; repository behavior does not prove the running configuration or elapsed call delay.
A transport success with an empty or malformed body is not a successful name lookup. A slow or failed enrichment service is also not proof of a carrier, inbound-route or phone defect. Correct only the demonstrated source contract, access path or result parser.
Follow the name from the channel to the endpoint and retest
Capture CALLERID(name) immediately after the lookup and again before the final Dial or Queue path. Identify any later Set operation, application, transfer leg, Local channel or endpoint directory that can replace or format it. Asterisk treats caller name, number, character set and presentation as separate fields; a correct channel name can still be truncated or superseded on one device.
After one evidenced correction, repeat the bounded call and preserve route, source or cache decision, returned name, post-lookup channel value and endpoint display. Retest an unknown caller and a privacy case so fallback does not fabricate or leak identity. Restore the prior assignment or key if acceptance fails. No live system or call was tested for this workflow.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- FreePBX CallerID Lookup metadata — release/17.0 ↗
- FreePBX CallerID Lookup generated dialplan — release/17.0 ↗
- FreePBX CallerID Lookup configuration and inbound-route hook — release/17.0 ↗
- Asterisk CALLERID dialplan function ↗
- Asterisk party-ID manipulation ↗
- Asterisk internal database ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.