VoIP.info Guide

FreePBX Misc Destinations: selectable handoffs and dial-string ownership

Publish an already understood dialable target for another FreePBX module while keeping the selecting module, stored dial string, generated handoff, outbound policy and final call result independently provable.

Reviewed 2026-10-12Sangoma Misc Destinations overview and PBX GUI 13 user guide, FreePBX Misc Destinations release/17.0 repository metadata and generated-dialplan source, current Sangoma outbound-route documentation, and current Asterisk dialplan documentation reviewed October 12, 2026; the Sangoma screen guide is explicitly version 13, repository state does not prove an installed module or generated configuration, and no PBX, module, destination, consumer, route, trunk, dialplan, endpoint or call was inspected or testedIntermediateDocumentation based · not lab tested

Use a Misc Destination as a selectable target, not a new access code

Sangoma describes a Misc Destination as a destination that another FreePBX module can select, including an IVR or inbound route. Its stored dial value can represent something already dialable from an internal extension, such as an extension, feature code or external number. Record the consuming object, selection branch, intended callers and final owner before adding the wrapper.

This differs from a Misc Application, which gives an internal user a code to dial, and from a Custom Destination, which exposes an owned context, extension and priority. A descriptive label does not create a new authorization boundary, endpoint or application.

Record the exact digits and the object that selected them

Preserve the Misc Destination record identifier, description and exact dial string, plus every IVR key, inbound route, time condition, announcement, callback or other module that references it. Normalize neither star codes nor public numbers in the change record: a leading prefix, country code or feature code can select a different path.

Treat the description as operator-facing metadata. It is not the dial string and does not prove which saved object a consumer selected. Duplicate names, copied objects and later edits make the stable record and generated target more useful evidence than a screenshot label alone.

Follow the release/17.0 generated handoff

The FreePBX release/17.0 module source generates an ext-miscdests entry for a saved record and hands its configured digits into the from-internal dialplan. Verify that exact behavior in the installed module, generated files and loaded Asterisk dialplan before relying on it; source-repository state is not runtime state.

That handoff reuses the PBX's existing internal dialing logic. It does not itself decide whether the digits name an extension, feature, emergency code, outbound pattern or invalid target. Continue the trace into the first loaded match and its owning module.

Keep caller access separate from destination reachability

A caller can reach a Misc Destination through an inbound route or IVR without becoming an authenticated internal user. Because the generated handoff can enter internal dialing logic, review whether the selected digits can invoke DISA, mailbox control, forwarding, paging, premium or international routes, emergency services or other privileged effects.

Do not use an obscure IVR key or label as access control. Preserve the source route, caller context, intended permission, outbound restrictions, feature permissions and any explicit authentication that belongs to the target workflow.

Treat external numbers as complete outbound calls

When the dial string is an external number, prove digit transformation, matched outbound route, caller-ID policy, trunk selection, provider response, answer supervision and media separately. Sangoma's documentation says anything dialable from a user extension can be used, but that does not guarantee that every caller context has the same permission or that the carrier accepts the resulting identity.

A generated Goto into the configured digits proves only a dialplan handoff. It does not prove a trunk attempt, ringing, answer, billing outcome, two-way audio or safe emergency handling.

Change the wrapper and its consumers as one controlled unit

Before editing or deleting a record, inventory all consumers and capture their selected destination IDs. Apply configuration through supported FreePBX controls, compare the generated and loaded dialplan, and place bounded authorized calls through each intended source branch plus one unauthorized boundary.

Rollback includes the prior record, dial string, every consumer selection and the prior generated state. This workflow is documentation-derived and was not reproduced on an installed or laboratory FreePBX system.

Sources & applicability

Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.

Examples require adaptation to your topology. No live PBX or hardware testing is claimed.