Asterisk. Команда Read.

Read() - Читает DTMF-коды, набираемые вызывающим абонентом, и сохраняет результат в переменной.

Read(переменная[,имяфайла[,максимумцифр[,опция[,попытки[,времяожидания]]]]])

Читает вводимую пользователем строку цифр, оканчивающуюся символом #, в заданную переменную.

Аргументы:
имяфайла - Определяет файл, воспроизводимый перед чтением цифр.
максимумцифр - Задает максимально допустимое количество цифр. Если этот аргумент задан, приложение прекращает чтение после того, как было введено максимально допустимое количество цифр (не требуя от пользователя нажатия кнопки #). Значение по умолчанию – 0 (ограничений нет, ожидает нажатия кнопки #). Любое значение меньше 0 означает то же самое. Максимально допустимое значение – 255.
опция - Нуль или более следующих опций:

  • s - Немедленно возвращается, если линия не отвечает.
  • i - Трактует имя файла как настройку тона из файла indications.conf.
  • n - Читает последовательность цифр, даже если нет ответа на вызов. 

попытки - Если больше 1, то означает количество попыток чтения при условии, что данные не были введены.
времяожидания - Если больше 0, это значение переопределит время ожидания по умолчанию.

 

Пример:

; читаем двузначный номер и воспроизводим его вызывающему абоненту
exten => 123,1,Read(NUMBER,,2)
exten => 123,2,SayNumber(${NUMBER})
exten => 123,3,Goto(1)

 

См. также: SendDTMF()