ниже. Параметр максимумсимволов задает максимальное число символов, которое может ввести вызывающий абонент. Если этот параметр не задан, приложение будет принимать неограниченное число символов и станет ожидать от вызывающего абонента нажатия кнопки # после введения кода аутентификации.

Может быть задана одна или несколько опций из следующего списка:

a

Присваивает CDR-полю accountcode, а переменной канала ACCOUNTCODE - значение введенного пароля.

d

Трактует путь не как файл, а как ключ базы данных Asterisk, в которой следует искать пароль. При использовании ключа базы данных значением, ассоциированным с ключом, может быть все что угодно.

j

Поддерживает переход к приоритету n + 101 в случае неудачной аутентификации.

m

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

r

Удаляет ключ базы данных после успешного входа (действительна только с опцией d).

; вынуждаем вызывающего абонента ввести пароль,

; прежде чем выполнять остальные действия,

; и сохраняем введенный пароль в CDR-поле 'accountcode'

exten => 123,1,Answer()

exten => 123,n,Authenticate(1234,a)

exten => 123,n,Playback(pin-number-accepted)

exten => 123,n,SayDigits(${ACCOUNTCODE})

Смотрите также

VMAuthenticate(), DISA(), главу 6

Background()

Воспроизводит файл, принимая при этом сигналы тонального набора (DTMF)

Background(имяфайла1[&имяфайла2...][,опции[, язык]])

Воспроизводит заданные аудиофайлы в процессе ожидания введения пользователем DTMF-кодов. Как только пользователь начинает вводить DTMF-коды, воспроизведение прекращается. Asterisk пытается найти соответствующий добавочный номер в целевом контексте (или текущем контексте, если целевой контекст не задан), и, как только будет найдено однозначное соответствие, выполнение диалплана продолжится в соответствующем добавочном номере.

имяфайла должно быть задано без расширения файла, поскольку Asterisk автоматически выбирает формат файла с минимальными затратами на преобразование.

Допустимыми опциями являются следующие:

s

Сообщение воспроизводиться не будет, если канал находится не в состоянии «соединен» (то есть еще не получен ответ на вызов). Если s задана, приложение будет возвращаться сразу же, как только канал окажется не в состоянии «соединен».

n

Не отвечать на вызов до воспроизведения заданного файла. Без этой опции ответ на вызов будет произведен автоматически перед воспроизведением звука. Не все каналы поддерживают воспроизведение сообщений до ответа на вызов.

m

Прерывать воспроизведение, только если введенный код соответствует одноразрядному добавочному номеру в целевом контексте.

Аргумент язык может использоваться для задания языка воспроизводимого приглашения, если он отличается от используемого языка канала.

exten => 123,1,Answer()

exten => 123,2,Background('exter-ext-of-person');

Смотрите также

ControlPlayback(), WaitExten(), BackgroundDetect(), TIMEOUT

BackgroundDetect()

Воспроизводит файл в фоновом режиме и выявляет разговор

BackgroundDetect(имяфайла[, sil[,min[, max]]])

Аналогично Background(), но пытается выявить разговор.

Во время воспроизведения файла выполняется отслеживание аудиосигналов во входящем потоке. Если период отсутствия тишины длится больше min миллисекунд, но еще меньше max миллисекунд и за ним следует пауза продолжительностью как минимум sil миллисекунд, воспроизведение звука прерывается и выполнение переходит в добавочный номер talk (разговор), если таковой доступен.

Если не заданы, параметры sil, min и max по умолчанию принимают значения 1000 мс, 100 мс и бесконечное количество соответственно.

exten => 123,1,BackgroundDetect(tt-monkeys) exten => 123,2,Playback(im- sorry) exten => talk,1,Playback(yes-dear)

Смотрите также

Playback(), Background()

Busy()

Обозначает состояние занятости канала

Busy([времяожидaния])

Указывает каналу обозначить состояние «занято», а затем ожидает, когда пользователь повесит трубку или разрыва соединения по истечении времени ожидания (заданного необязательным параметром вре- мяожидания в секундах).

Это приложение сигнализирует о состоянии занятости только для соединенных каналов. У каждого типа каналов имеется собственный

способ оповещения вызывающего абонента о состоянии занятости. Можно использовать Playtones(busy) для воспроизведения сигнала «занято».

exten => 123,1,Playback(im-sorry) exten => 123,2,Playtones(busy) exten => 123,3,Busy()

Смотрите также

Congestion(), Progress(), Playtones(), Hangup()

ChangeMonitor()

Меняет имя файла для записи разговора по каналу

ChangeMonitor(базовое_имяфайла)

Меняет имя записанного файла для канала, созданного приложением Monitor(). Это приложение не оказывает никакого эффекта, если на канале не производится запись разговора. Аргумент базовое_имяфайла - это новое базовое имя файла, которое должно использоваться для записи разговора в канале.

; начинаем запись разговора в данном канале, ; используя базовое имя файла 'sample' exten => 123,1,Monitor(sample) ; меняем базовое имя файла на 'example' exten => 123,2,ChangeMonitor(example)

Смотрите также

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату