Model Callback as two calls and one policy handoff
Sangoma documents Callback as hanging up the inbound caller, originating a new call to that person and then directing the answered leg to a selected destination. Record the inbound trigger, received calling identity, chosen callback number, delay, outbound route and post-answer destination as separate objects. The inbound leg ending normally is not evidence that the outbound leg was created or answered.
The PBX originates the new leg and is responsible for its carrier charges. Callback therefore belongs inside the same route authorization, fraud monitoring, spending controls and change ownership as any other automated outbound calling feature.
Do not authorize a callback from caller ID alone
The documented default uses the received caller ID when the configured callback number is blank. Received identity can be absent, malformed, transformed or spoofed, and it may not be callable from the PBX. Treat it as input to validation rather than proof of a person or destination.
Expose Callback only behind an approved inbound route, IVR choice or other gate. Restrict acceptable source paths and resulting destinations, normalize the number before route selection, exclude emergency, premium and unauthorized international ranges, and never broaden an outbound route merely to make one callback succeed.
Keep the configured number and received number distinct
FreePBX 17 source shows that a non-empty callback number replaces the received caller-ID number, while an empty value uses the received number. Preserve both values, the normalization applied, the exact number presented to outbound routing and the responsible owner. A fixed number is not a caller-confirmation mechanism; it is an administrator-selected destination.
Test one permitted received number, one invalid or withheld identity and any deliberately configured fixed number. A safe design fails closed when the number cannot be authorized.
Trace generated state, delay and call-file lifecycle
The current module source generates a Callback dialplan entry with the chosen number, destination, delay, timeout and caller ID, invokes the callback helper in the background and then hangs up the inbound leg. Asterisk documents that call files create an outbound channel and choose what happens only after answer. Saved GUI state, generated dialplan, helper invocation, spool file and originated channel are therefore distinct checkpoints.
Use supported FreePBX controls and bounded logs. Do not hand-edit generated dialplan or create files directly in the outgoing spool directory; Asterisk warns that a partial file can be consumed if it is written there rather than moved atomically from the same filesystem.
Separate alerting, answer and destination execution
An accepted outbound INVITE, remote 180 or 183, push-service result, device alert, voicemail answer and human answer are different observations. Only after the callback leg answers does Asterisk proceed to the configured destination. A remote voicemail system can therefore answer the callback without the intended person ever entering the IVR, queue, DISA or other selected target.
Record answer supervision, answering endpoint, bridge or destination entry, hangup cause and final application result. Do not interpret carrier acceptance or an answered status as proof that the intended person reached the intended business workflow.
Accept the feature with bounded positive and negative tests
Use approved non-emergency numbers and a destination that cannot place unrestricted calls. Test one authorized callback, withheld or malformed identity, disallowed range, no-answer or voicemail case, route failure and the intended post-answer destination. Confirm delay, displayed identity, charges, monitoring, rate limits, cleanup and rollback.
Keep ordinary Callback separate from commercial Web Callback and Queue Callback products, which have different entry, validation and queue-position semantics. The focused diagnostic follows one failed or misrouted ordinary Callback without importing those other modules’ controls.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- Sangoma: PBX GUI Callback Module User Guide ↗
- FreePBX Callback release/17.0 source ↗
- FreePBX Callback release/17.0 metadata ↗
- FreePBX Callback dialplan generation ↗
- Asterisk call-file interface ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.