The dialplan for extension I am testing looks like this:
<extension name="tts_commandline_test">
<condition field="destination_number" expression="^561$">
<action application="speak" data="tts_commandline|pico|This is an example of using tts_commandline"/>
</condition>
</extension>
The code lines mentioned in debug seem to be pretty mundane, not that I really know what I am looking for:
From mod_tts_commnandline line 160:
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Executing: %s\n", message);
I tried setting the /tmp directory to 777 but that didn't help and the error output was identical. mod_tts_commandline never reports an error on creation and it looks like the next part of of mod_tts_commandline would print an error if it did like this:
if (switch_system(message, SWITCH_TRUE) < 0) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to execute command: %s\n", message);
ret = SWITCH_STATUS_FALSE; goto done;
}
if (switch_core_file_open(info->fh, info->file, 0, //number_of_channels,
info->rate, //samples_per_second,
SWITCH_FILE_FLAG_READ | SWITCH_FILE_DATA_SHORT, NULL) != SWITCH_STATUS_SUCCESS) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to open file: %s\n", info->file);
ret = SWITCH_STATUS_FALSE; goto done;
}
Starting at line 279 in mod_sndfile (sorry for the space formatting):
| if (!context->handle) { |
| if (sndfile_perform_open(context, path, mode, handle) != SWITCH_STATUS_SUCCESS) { |
| switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Error Opening File [%s] [%s]\n", path, sf_strerror(context->handle)); |
| status = SWITCH_STATUS_GENERR; |
| goto end; |
| } |
| } |
According to the
dptools docs and libsndfile wav has been supported forever and it would seem highly unlikely that is an issue. I check the /tmp directory and no files are present but I don't know if they are being deleted by some cleanup process or just not created. Not knowing C, it seems like mod_sndfile never received a file handle but that is just a guess. Other Freeswitch apps are writing to the /tmp directory (at least there are some files in there). Maybe someone sees an error from mod_tts_commandline I don't see or knows I am doing something stupid. Any help would be appreciated. I only found 2 references to the error in the mail history and neither had anything to do with a similar issue.
Freeswitch version reports: FreeSWITCH Version 1.10.5-release-17-25569c1631~64bit (-release-17-25569c1631 64bit)
FusionPBX version, in case it matters, is : 4.5.21
OS is Debian 10 Buster
--