CALLFILENAME empty for one touch recording, directory inconsistent


I use a post-recording script to convert my on-demand recordings (mix mon triggered via *1) into MP3s. This has worked fine in the past, but on latest builds (framework 12.0.22, core 12.0.17, recordings 12.0.3, asterisk 12.8.0), two issues have arisen.

This is my MIXMON_POST as set in advanced settings:

"/var/lib/asterisk/bin/convertAudio  --file=^{MIXMON_DIR}^{YEAR}/^{MONTH}/^{DAY}/^{CALLFILENAME}.^{MIXMON_FORMAT} --outputdir=/var/spool/asterisk/mp3"


1 - CALLFILENAME is no longer being passed into my script. It’s empty. My script throws an error of:

No such file or directory: '/var/spool/asterisk/monitor/2014/12/30/.wav'

The file itself (in wav form) is where it should be (for inbound, see note 2 below), in this instance as


That ondemand prefix is also new, and looking at the source for one_touch_record.php, it seems to indicate that CALLFILENAME doesn’t make it into that script either so it autogenerates one.

2 - Outbound calls (from my extension and out over trunk) are now saved in root folder /var/spool/asterisk/monitor, rather than the dated folder beneath. YEAR, MONTH, and DAY are also passed blank into my script. For inbound calls, the wav is saved in the correct folder. I think this may also be related to CALLFILENAME not making it into one_touch_record.php.

Any hints as to setup/code changes that may have caused this? I did also have some issues with CDR now seeming to require ODBC and thus being janky, but I seem to have resolved this.