Asterisk. Команда Monitor.

Monitor() - Отслеживает (записывает) разговор по текущему каналу.

Monitor([формат_файла[:базовыйurl][,базовое_имяфайла][,опции]])

Приложение начинает запись разговора по каналу. Входные и выходные речевые пакеты канала записываются в файлы до тех пор, пока не будет разорвана связь по каналу или запись не будет остановлена приложением StopMonitor().

Аргументы команды Monitor:
формат_файла - Определяет формат файла (по умолчанию используется wav).
базовое_имяфайла - Если задан, меняет используемое имя файла на заданное.

Опции.

Может быть задана одна опция из двух:
m - По окончании записи, выполняется слияние двух файлов, содержащих список приоритетов, в один и удалить их.

Если задана переменная ${MONITOR_EXEC}, вместо soxmix будет выполнено указанное в ней приложение, и исходные файлы не будут удалены автоматически. soxmix (или ${MONITOR_EXEC}) принимает три аргумента: два файла приоритетов и имя создаваемого объединенного файла, которое аналогично именам исходных файлов, но без указателей in/out.

Если задана переменная ${MONITOR_EXEC_ARGS}, в качестве дополнительных аргументов в ${MONITOR_EXEC} будет передано содержимое. И ${MONITOR_EXEC}, и флаг m можно задать из интерфейса администратора.

b -  Не начинать запись, пока канал не будет соединен с другим каналом.

 

Пример:

exten => 123,1,Answer()
; записываем разговор по текущему каналу и объединяем звуковые каналы в конце записи
exten => 123,2,Monitor(wav,monitor_test,mb)
exten => 123,3,SayDigits(12345678901234567890)
exten => 123,4,StopMonitor()

 

См. также: ChangeMonitor(), StopMonitor(), MixMonitor(), PauseMonitor(), UnpauseMonitor()