Asterisk app: System
Выполнить системную команду Linux.
Описание
Выполняет системную команду указанную, как параметр команды system(). В случае неудачи консоль выводит соответствующее сообщение. Также возвращает переменную канала ${SYSTEMSTATUS} с одним из следующих значений:
- FAILURE: Неудача.
- SUCCESS: Успех.
Синтаксис
System(command)
Аргументы
Выполняемая команда
см. также
Asterisk app: TrySystem
Asterisk function 'SHELL'
Пример
Выполним mkdir и chown для создания директорий на основании текущий даты,
для сохранения записи разговора.
Также обратите внимание на строку, где системные команды сохраняются в переменной ${monopt},
а затем выполняются как параметр команды MixMonitor без использования команды System().
[sub-monitor-in] exten => s,1,Set(day=${STRFTIME(${NOW},,%d)}) exten => s,n,Set(month=${STRFTIME(${NOW},,%m)}) exten => s,n,Set(year=${STRFTIME(${NOW},,%Y)}) exten => s,n,System(mkdir -p "/var/spool/asterisk/monitor/mp3/${year}") exten => s,n,System(mkdir -p "/var/spool/asterisk/monitor/mp3/${year}/${month}") exten => s,n,System(mkdir -p "/var/spool/asterisk/monitor/mp3/${year}/${month}/${day}" && chown o+r "/var/spool/asterisk/monitor/mp3/${year}/${month}/${day}") exten => s,n,Set(WAV=/var/spool/asterisk/monitor/in-${UNIQUEID}) exten => s,n,Set(MP3=/var/spool/asterisk/monitor/mp3/${year}/${month}/${day}/in-${UNIQUEID}) exten => s,n,Set(monopt=nice -n 19 /usr/local/bin/lame -b 32 --silent "${WAV}.wav" "${MP3}.mp3" && rm -f "${WAV}.wav" && chmod o+r "${MP3}.mp3") exten => s,n,Set(CDR(recordingfile)=${MP3}.mp3) exten => s,n,MixMonitor(${WAV}.wav,b,${monopt})