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})

Команды диалплана Asterisk

  • asterisk/app/system.txt
  • Последние изменения: 2018/11/15