alarmreceiver.conf
AMD()
AMD(
Это приложение пытается установить наличие автоответчика на основании шаблонов синхронизации. Это приложение обычно используется исходящими вызовами, берущими начало или в файлах вызовов, или в интерфейсе Asterisk Manager. Приложение сообщает, какой тип вызова был выявлен, задавая переменной AMDSTATUS одно из следующих значений: MACHINE (машина)
Считается, что вызываемая сторона является автоответчиком. HUMAN (человек)
Считается, что вызываемая сторона является человеком, а не автоответчиком.
NOTSURE (не уверен)
Приложение не смогло определить, является ли вызываемая сторона человеком или автоответчиком.
HANGUP (разрыв)
В процессе определения произошел разрыв соединения. Приложение AMD() также указывает в переменной канала AMDCAUSE причину, на основании которой делается заключение, обозначенное в переменной AMDSTATUS. Для переменной AMDCAUSE будет задано одно из следующих значений: TOOLONG-
INITIALSILENCE-
Максимальная продолжительность паузы перед приветствием. Если это значение превышено, для переменной AMDSTATUS будет задано значение MACHINE.
Максимальная продолжительность приветствия. Если превышена, для переменной AMDSTATUS будет задано значение MACHINE.
Максимальная пауза после обнаружения приветствия. Если превышена, для переменной AMDSTATUS будет задано значение MACHINE.
Максимальное время, предоставляемое алгоритму для принятия решения о том, является ли вызываемая сторона человеком или автоответчиком.
Если продолжительность разговора короче, чем minimumWordLength, это не будет считаться речью человека.
Минимальная пауза после слова, чтобы считать следующий аудиосигнал новым словом.
Максимальное число слов в приветствии. Если это значение превышено, для переменной AMDSTATUS будет задано значение MACHINE.
; Используем алгоритм выявления автоответчика. Если ; вызываемая сторона является человеком, устанавливаем ; соединение с Бобом. В противном случае воспроизводим ; сообщение и разрываем соединение exten => 123,1,Answer()
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(). В противном случае они могут работать некорректно:
Смотрите также
Hangup()
AppendCDRUserField()
AppendCDRUserField(
Добавляет значение в поле пользователя записи Call Detail Record (CDR). Поле пользователя часто используется для хранения произвольных данных о вызове, которые не подходят для всех остальных полей:
; задаем в поле пользователя значение 'abcde' exten => 123,1,SetCDRUserField(abcde) ; теперь добавлям в конец 'xyz'
Это приложение было признано устаревшим и заменено CDR- функцией.
exten => 123,1,Set(CDR(userfield)=${CDR(userfield)}12345)
Смотрите также
SetCDRUserField(), ForkCDR(), NoCDR(), ResetCDR(), CDR
Authenticate()
Требует от вызывающего абонента ввести заданный пароль, чтобы продолжать выполнение следующего приоритета диалплана. Authenticate() дает вызывающему абоненту три попытки для правильного введения пароля. Если за эти три попытки вызывающий абонент так и не смог ввести правильный пароль, выполняется разрыв соединения.
Если пароль начинается с символа /, он трактуется как файл, содержащий список действительных паролей (по одному в строке). Пароли также могут храниться в базе данных Asterisk (AstDB); см. опцию d