Шрифт:
exten => 123,n,GotoIf($["${AMDSTATUS}" = "HUMAN"]?human:machine) exten => 123,n(machine),WaitForSilence(2000) exten => 123,n,Playback(asterisk-friend) exten => 123,n,Hangup
exten => 123,n(human),Verbose(3, We've got a human on the line!)
exten => 123,n,Playback(transfer)
exten => 123,n,Dial(SIP/bob)
exten => 123,n,Playback(im-sorry)
exten => 123,n,Hangup
Смотрите также
WaitForSilence
Answer
Устанавливает соединение, если по каналу поступает вызов
Answer([задержка])
Обусловливает установление соединения Asterisk с каналом, если по нему в настоящий момент поступает вызов. Если по текущему каналу вызов не производится, это приложение ничего не делает. Если задана задержка, Asterisk ответит на вызов и перейдет к следующему приоритету диалплана только по прошествии заданного количества миллисекунд.
Если нет веских оснований не делать этого, Answer рекомендуется использовать для канала перед вызовом всех остальных приложений. Существует несколько ключевых приложений, которые требуют, чтобы перед их выполнением было выполнено приложение Answer. В противном случае они могут работать некорректно: exten => 123,1,Answer(750) exten => 123,n,Playback(tt-weasels)
Смотрите также
Hangup
AppendCDRUserField
Добавляет значение в поле пользователя записи Call Detail Record
AppendCDRUserField( .значение)
Добавляет значение в поле пользователя записи Call Detail Record (CDR). Поле пользователя часто используется для хранения произвольных данных о вызове, которые не подходят для всех остальных полей:
; задаем в поле пользователя значение 'abcde' exten => 123,1,SetCDRUserField(abcde) ; теперь добавлям в конец 'xyz' exten => 123,1,AppendCDRUserField(xyz)
Это приложение было признано устаревшим и заменено CDR- функцией.
exten => 123,1,Set(CDR(userfield)=${CDR(userfield)}12345)
Смотрите также
SetCDRUserField, ForkCDR, NoCDR, ResetCDR, CDR
Authenticate
Требует от вызывающего абонента введения правильного пароля для продолжения выполнения
Authenticate(пaроль[,опции[, максимумсимволов]])
Требует от вызывающего абонента ввести заданный пароль, чтобы продолжать выполнение следующего приоритета диалплана. Authenticate дает вызывающему абоненту три попытки для правильного введения пароля. Если за эти три попытки вызывающий абонент так и не смог ввести правильный пароль, выполняется разрыв соединения.
Если пароль начинается с символа /, он трактуется как файл, содержащий список действительных паролей (по одному в строке). Пароли также могут храниться в базе данных Asterisk (AstDB); см. опцию d ниже. Параметр максимумсимволов задает максимальное число символов, которое может ввести вызывающий абонент. Если этот параметр не задан, приложение будет принимать неограниченное число символов и станет ожидать от вызывающего абонента нажатия кнопки # после введения кода аутентификации.
Может быть задана одна или несколько опций из следующего списка:
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...][,опции[, язык]])