Queue timeout and "press 0" both fall through to voicemail

FeatureKlusterServices
Ya
27 Agosti 2026, 03:07 UTC
Mwandishi
Kamo
Ahadi ya
55d4c9e

Replaces the hand-rolled Dial()+Goto queue loop with app_queue. The deciding factor is DTMF: digits are NOT matched against the dialplan while Dial() is running, so "press 0 while on hold" cannot be built on Dial() at all. The queue's `context = kamo-queue-exit` setting is what makes it possible. extension -> forwarded to that extension 1 or 2 -> queue 0 -> straight to voicemail, from the greeting or from hold 10 min -> voicemail bad exten -> "invalid" prompt, then queue Main-line voicemail is mailbox 8100, deliberately not one of the staff mailboxes so main-line messages do not land in someone's personal voicemail. The greeting is played with Playback() from sounds/ and VoiceMail() is then called with `s`. Two findings drove that: - A copy installed at **************** was silently REMOVED between a voicemail reload and the next call, and VoiceMail fell back to the built-in "the person at extension ... is unavailable". The spool is managed by app_voicemail/FreePBX; sounds/ is not. - The `s` option skips the greeting as well as the instructions, despite the docs describing it as instructions only. With `su` the recording never played at all. Playback + `s` gives recording -> beep -> record exactly. Verified live, each path separately: - queue timeout: queue_log EXITWITHTIMEOUT, then CDR dcontext=kamo-voicemail lastapp=Playback custom/kamocrm-highcallv..., userfield QS:TIMEOUT - press 0: queue_log EXITWITHKEY|0 with RINGCANCELED on the ringing member, then the same voicemail leg - record + store: msg0000.gsm written to mailbox 8100 - answer: queue_log CONNECT PJSIP/8080 -> COMPLETEAGENT Two testing notes worth keeping. `channel originate` caps calls at ~30s, which truncates any longer test and looks like a dialplan fault. And silent test recordings are discarded by maxsilence=10, so an empty INBOX does not mean recording is broken — proven by temporarily setting maxsilence=0 and restoring. Adds **************** queue outcomes are otherwise invisible outside queue_log.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei