Asterisk™: будущее телефонии Второе издание
Шрифт:
Смотрите также
GotoIf, GotoIfTime, Gosub, Macro
GotoIf
Выполняет переход по условию в заданный приоритет
GotoIf(условие? метка1:метка2)
Направляет вызов в метка1, если условие истинно, или в метка2, если условие ложно. Параметры метка1
В качестве метки может использоваться одно из нижеперечисленного:
• Приоритет, например 10.
• Добавочный номер и приоритет, например 123,10.
• Контекст, добавочный номер и приоритет, например incoming,
123,10.
• Именованный приоритет в рамках того же добавочного номера, например passed.
Все типы меток описаны в данном примере:
[globals]
; присвоим TEST какое-то значение, кроме 101, чтобы ; увидеть, что делает GotoIf, когда условие ложно TEST=101
[incoming] ; задаем переменную
; переходим в приоритет 10, если ${TEST} равна 101, ; в противном случае переходим в приоритет 20 exten => 123,1,GotoIf($[ ${TEST} = 101 ]?10:20) exten => 123,10,Playback(the-monkeys-twice) exten => 123,20,Playback(tt-somethingwrong)
; то же самое, что было сделано выше, но на этот раз ; зададим добавочный номер и приоритет для каждой метки exten => 124,1,GotoIf($[ ${TEST} = 101 ]?123,10:123,20)
; то же самое, что было сделано выше, но эти метки имеют ; контекст, добавочный номер и приоритет
exten => 125,1,GotoIf($[ ${TEST} = 101 ]?incoming,123,10:incoming,123,20)
; то же самое, что было сделано выше, но на этот раз ; будем переходить в именованные приоритеты exten => 126,1,GotoIf($[ ${TEST} = 101 ]?passed:failed) exten => 126,15(passed),Playback(the-monkeys-twice) exten => 126,25(failed),Playback(the-monkeys-twice)
Смотрите также
Goto,GotoIfTime, GosubIf, MacroIf
GotoIfTime
Выполняет переход по условию на основании времени и дня
GotoIfTime(время,дни_недели,дни_месяца,месяцы?метка)
Выполняет переход в заданный добавочный номер, если текущее время соответствует заданному. Каждый элемент может быть определен или как * (для всех случаев), или как диапазон. Аргументы приложения: время
Диапазоны времени в 24-часовом формате.
дни_недели
Дни недели (mon, tue, wed, thu, fri, sat, sun).
дни_месяца
Дни
месяцы
Месяцы (jan, feb, mar, apr и т. д.).
; Если мы открыты, переходим в контекст open ; Мы открыты с 9 утра до 6 вечера ; с понедельника по пятницу
exten => s,1,GotoIfTime(09:00-17:59,mon-fri,*,*?open,s,1)
; Также мы задерживаемся по вторникам и четвергам
exten => s,n,GotoIfTime(09:00-19:59,tue&thru,*,*?open,s,1)
; Также мы открыты с 9 утра до полудня по субботам exten => s,n,GotoIfTime(09:00-11:59,sat,*,*?open,s,1)
; Во все остальное время мы закрыты exten => s,n,Goto(closed,s,1)
Смотрите также
GotoIf, IFTIME
Hangup
Безусловный разрыв связи по текущему каналу
Hangup( код-причина)
Безусловно разъединяет текущий канал. Для удаленного конца соединения будет задан параметр код-причина как причина завершения вызова, если он поддерживается каналом. По умолчанию параметр код-причина принимает значение 16 (нормальное завершение вызова). Допустимые значения параметра код-причина: 16
Нормальное завершение вызова.
17
Занято.
19
Нет ответа.
21
Вызов отклонен.
34
Линия перегружена.
exten => 123,1,Answer
exten => 123,2,Playback(im-sorry)
exten => 123,3,Hangup
Смотрите также
Answer, Busy,Congestion
HasNewVokemail
Проводит проверку на наличие нового сообщения голосовой почты в указанном ящике голосовой почты
HasNewVoicemail(утящик[@контекст][:папка][, имяпеременной[, опции]])
Приложение было признано устаревшим и заменено функцией VMC0NNK ).
Л ^
Аналогично приложению HasVoicemail. Это приложение задает для VMSTATUS значение 1 или 0, чтобы обозначить наличие нового (непрослу- шанного) сообщения в ящике голосовой почты, заданном аргументом утящик. Аргумент контекст соответствует контексту голосовой почты, а папка соответствует папке голосовой почты. Если папка голосовой почты не задана, используется папка по умолчанию, INBOX. Если присутствует аргумент имяпеременной, HasNewVoicemail сохраняет в заданную переменную количество сообщений в заданной папке.