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

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

  • asterisk/app/record.txt
  • Последние изменения: 2018/12/09