- Ya
- 26 Agosti 2026, 23:54 UTC
- Mwandishi
- Kamo
- Ahadi ya
- c6909b4
Inbound calls had nowhere to go: the `incoming` table was completely empty, so even a delivered call would have dead-ended. Adds the attendant context plus the two tunables it reads. WaitExten's m() option is the mechanism — it plays a music-on-hold class AND collects digits simultaneously. Background()/Playback() stop at the end of the file and MusicOnHold() collects nothing, so neither can express "music until the caller dials". The IVR module is not installed on this box (no ivr_details table) and would want a recorded announcement rather than music anyway. Appended to extensions_custom.conf under a grep guard rather than written over it: kamo-asterisk-support owns a marker-delimited block in the same file and preserves everything outside it byte-for-byte. Also creates /var/log/asterisk/cdr-csv. cdr_csv logged an ERROR *and* a WARNING for every call leg because that directory is absent from the image. The MySQL CDR is the one we read so nothing was broken, but it buried the Asterisk log — the same log used to diagnose call faults. Verified live: attendant answers and holds in WaitExten(45,m(default)); an invalid extension plays pbx-invalid and loops back to the music; a valid extension reaches from-did-direct and rang PJSIP/8080 (ANSWERED, 20s). The ATTENDANT_TRIES counter is initialised at the label too — reaching `menu` without it left $[ + 1] a parse error that then corrupted the following GotoIf, sending the call somewhere unintended instead of failing loudly. The inbound route and Custom Destination rows live in the FreePBX MariaDB (persistent StatefulSet) and are not reproduced here.