Asterisk app: Record
Краткий обзор
Записывает файл.
Описание
Если имя файла содержит '%d', эти символы будут заменены на число, увеличивающееся каждый раз при записи файла. Используйте 'core show file formats' для просмотра доступных в вашей системе форматов. Для завершения записи и перехода к следующему приоритету пользователь может нажать '#'. Если пользователь прервет связь во время записи, все данные будут потеряны и приложение завершится.
Окончательное имя записанного файла будет установлено в переменную ${RECORDED_FILE}.
Окончательный статус команды будет установлен в переменную ${RECORD_STATUS}. Возможные следующие значения:
DTMF - был получен завершающий DTMF сигнал ('#' или '*', в зависимости от опции 't').
SILENCE - прошло максимальное количество секунд тишины, после чего запись завершилась.
SKIP - Линия не ответила (если выбрана опция 's').
TIMEOUT - Достигнута максимальная длительность записи.
HANGUP - Связь на канале была разорвана.
ERROR - Произошла неустранимая ошибка, приведшая к записи предупреждения в журнал.
Синтаксис
Record(filename.format[,silence[,maxduration[,options]]])
Аргументы
format
Формат записываемого файла ((wav, gsm и т.д.)
silence
Количество секунд тишины, которое должно пройти перед возвратом.
maxduration
Максимальная продолжительность записи в секундах. Если отсутствует или равно '0', максимальная длительность не ограничена.
options
- 'a' Добавляется к существующей записи, а не заменяет ее.
- 'n' Не отвечает на вызов, но все равно производит запись.
- 'q' Тихий режим (не воспроизводит звуковой сигнал).
- 's' Не производит запись, если линия еще не ответила.
- 't' Использует альтернативную кнопку '*' для завершения записи вместо значения по умолчанию '#'.
- 'x' Игнорирует все кнопки завершения и продолжает запись до разрывы связи.
- 'k' Сохранить записанный файл при разрыве связи.
- 'y' Завершить запись если получена любая цифра DTMF.
Пример
В данном примере мы записываем звуковой файл с названием 'test' в формате 'gsm' в течение максимум 15 секунд, а затем воспроизводим его.
exten => 100,1,Record(test.gsm,15,15) exten => 100,n,Playback(${RECORDED_FILE})