Summary:ASTERISK-19986: meetme - Error writing file for recording
Reporter:Reid Canavan (reidcanavan)Labels:
Date Opened:2012-06-12 14:12:45Date Closed:
Versions: 13.18.4 Frequency of
Environment:AsteriskNow 2.0Attachments:
Description:Conference recording will error if the directory structure is not already available with error:

[2012-06-12 12:36:44] WARNING[25297] file.c: Unable to open file /var/spool/asterisk/monitor/2012/06/12/conf-2887-2887-20120612-123642-1339519002.179349.WAV: No such file or directory

This error is not presented if the directory is available.  Typically this directory is created for call recording ( works fine ).  This was found when the conference started before any calls were recorded.
Comments:By: Matt Jordan (mjordan) 2012-06-22 08:40:29.344-0500

As far as I'm aware, there is no provision that states that MeetMe - or any application in Asterisk - will create a full directory structure for you unless that directory structure is already managed by the application.

Since the directory structure you've specified above is not managed by MeetMe, this does not seem to be a problem with the application so much as how you've configured it.

By: Reid Canavan (reidcanavan) 2012-06-22 13:59:34.335-0500

Just an FYI that I did open a ticket with FreePBX ( http://www.freepbx.org/trac/ticket/5878 ) and they advised it was a problem with Asterisk.  I have made note of your comments for them.

Thank you for advising where to focus our efforts.

By: Philippe Lindheimer (p_lindheimer) 2012-11-19 17:21:27.629-0600


I would request that you reopen this ticket on the premise that all other call recording mechanisms tested (mixmonitor directly and queues being the primary) will automatically create the directory if it is not there so for consistency with the rest of Asterisk, one would expect Asterisk to create these directories as well.

By: Matt Jordan (mjordan) 2012-11-20 09:52:14.775-0600

That's fair.  ConfBridge uses MixMonitor under the hood and it won't run into this problem either, so its fair to say MeetMe shouldn't (does feature parity run both ways?  Hopefully not too far... :-))


By: Matt Jordan (mjordan) 2012-11-20 09:53:05.753-0600

From Tony:

$ext->add($context, $exten, '', new ext_set('MEETME_RECORDINGFILE','${IF($[${LEN(${MIXMON_DIR})}]?${MIXMON_DIR}:${ASTSPOOLDIR}/monitor/)}${YEAR}/${MONTH}/${DAY}/${CALLFILENAME}')); $ext->add($context, $exten, '', new ext_set('MEETME_RECORDINGFORMAT','${MIXMON_FORMAT}'));

So this is coming in from MEETME_RECORDINGFILE.  We should use {{filename_parse}} in MeetMe to make sure the directory structure gets created.

By: Matt Jordan (mjordan) 2012-11-20 09:59:05.501-0600

Well that's odd.  MeetMe should already be doing that in its implementation of {{filename_parse}} (hooray for duplicated functions in both MeetMe and MixMonitor).

There might be a bit more here then meets the eye.