VoIP.info Troubleshooting

FreePBX prompt is wrong language or missing: channel, pack and fallback proof

Trace one prompt through the effective channel language, installed sound pack and format, Asterisk fallback chain, generated call flow and actual playback result.

Reviewed 2026-10-11Sangoma PBX GUI 13 Sound Languages and Languages guides, FreePBX release/17.0 Sound Languages 17.0.5 and Languages 17.0.1 metadata and dialplan source, and current Asterisk prompt-search documentation reviewed October 10, 2026; no PBX, installed module, package, database row, generated or loaded dialplan, sound file, channel, prompt selection, playback or call was inspected or testedAdvancedDocumentation based · not lab tested

Freeze one prompt on one exact call path

Record the timestamp and timezone, Asterisk linked identifier, ingress or originating extension, matched FreePBX destinations, exact prompt ID, expected spoken language, observed result and authorized listener. Classify whether the prompt is consistently wrong, mixed with the default language, absent or silent, distorted, stale after an update, or wrong only on one route, user or node.

Preserve one known-good prompt on the same call and, when safe, the same prompt on a known-good path. Do not change the global default, reinstall all packs or overwrite recordings before the failing branch is identified.

Prove the effective channel language before playback

Follow the live call through each language owner: global default, inbound-route selection, user or extension attribute, Languages destination and any later dialplan change. Current FreePBX 17 Languages source generates a destination that sets the channel language and continues, and also supplies managed route and user hooks. A saved GUI value or installed pack is not runtime channel evidence.

Inspect the generated and loaded dialplan through supported tools and correlate the effective language with the exact channel immediately before playback. If the intended branch never ran or a later boundary overwrote it, remain at call-flow selection rather than changing audio files.

Expand the exact lookup and fallback chain

Starting from the effective channel language and requested prompt ID, enumerate Asterisk's documented progressive lookup for underscore-separated codes and the final base-directory search. Compare the first existing candidate with the language the listener heard. A broader fallback can produce valid audio in the wrong language, while a missing base prompt can produce silence or an application error.

Keep core, extra and custom prompts distinct. Sangoma documents language-specific custom directories and a System Recordings custom location; a custom file in the wrong tree is not repaired by renaming a packaged core prompt. Record the selected fallback rather than treating it as random behavior.

Reconcile the installed pack, file and format

Verify the installed Sound Languages module and signature, selected language, core or extra package, package version and installed formats on the same PBX node. Then prove the expected file exists in the effective sounds tree with appropriate ownership and readability. Repository metadata and a successful package transaction do not establish local file state.

Compare the available file formats with the call codec, loaded format and codec modules and current translation path. A present file can still be unusable or silent, and an available language-format pair does not prove that playback chose it. Avoid installing every format or broadening filesystem permissions as a diagnostic shortcut.

Prove selected media and audible delivery

Correlate the exact channel, application or media URI, requested prompt, selected candidate, playback start and completion, delivered media frames and authorized listener result. If the chosen file is correct but no useful audio is delivered, move to codec, translation, bridge and endpoint media evidence. If audio is delivered but the words are wrong, compare the file content and release manifest under the organization's recording approval process.

Do not infer spoken content from a filename, optional text label or package description. Retain only the minimum call and audio evidence allowed by privacy policy, and do not place caller data or recordings in general-purpose tickets.

Repair the smallest boundary and retest fallback

Correct only the demonstrated owner: language code, route or user override, Languages destination order, installed pack, missing file, custom-recording placement, file access, format support or playback path. Submit and Apply Config through the supported FreePBX workflow when managed state changes; do not edit generated dialplan as the durable fix.

Retest the original prompt, a common packaged prompt, the intended explicit language, default language, one deliberate missing-localization fallback and an unaffected route. Record rollback and remove temporary logging. No PBX, module, prompt, channel, file, playback or call was inspected or tested for this guide.

Separate prompt-pack lookup from a reusable System Recording

When the failing media is a named FreePBX System Recording, use the recording-specific diagnostic to preserve its consumer, ordered media and replacement history. Continue here when the failure belongs to channel language, installed prompt packs or Asterisk fallback.

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.