Asterisk™: будущее телефонии Второе издание - Меггелен Джим Ван
Смотрите также
Goto(),GotoIfTime(), GosubIf(), MacroIf()
GotoIfTime()
Выполняет переход по условию на основании времени и дня
GotoIfTime(время,дни_недели,дни_месяца,месяцы?метка)
Выполняет переход в заданный добавочный номер, если текущее время соответствует заданному. Каждый элемент может быть определен или как * (для всех случаев), или как диапазон. Аргументы приложения: время
Диапазоны времени в 24-часовом формате.
дни_недели
Дни недели (mon, tue, wed, thu, fri, sat, sun).
дни_месяца
Дни месяца (1-31).
месяцы
Месяцы (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() сохраняет в заданную переменную количество сообщений в заданной папке.
Если для аргумента опции задано значение j, Asterisk в случае наличия нового сообщения голосовой почты будет направлять вызов в приоритет n + 101.
; проверяем наличие непрослушанного сообщения ; голосовой почты в INBOX почтового ящика 123 ; в контексте голосовой почты по умолчанию
exten =>=> 123,1,Answer() exten => 123,n,HasNewVoicemail([email protected]) exten => 123,n,GotoIf($[${HASVMSTATUS} > 0]?newvm) exten => 123,n,Playback(vm-youhave) exten => 123,n,Playback(vm-no) exten => 123,n,Playback(vm-messages) exten => 123,n,Goto(done) exten => 123,n(newvm),Playback(vm-youhave) exten => 123,n,SayNumber(${HASVMSTATUS}) exten => 123,n,Playback(vm-INBOX) exten => 123,n,Playback(vm-messages) exten => 123,n(done),NoOp()Смотрите также
HasVoicemail(), MailboxExists(), VMCOUNT
HasVoicemail()
Показывает, имеются ли сообщения голосовой почты в указанном ящике голосовой почты
HasVoicemail(vmящик[@контекст][:папка][|имяпеременной[, опции]])
Задает значение переменной канала HASVMSTATUS, чтобы информировать о наличии сообщений в ящике голосовой почты утящик. Аргумент контекст соответствует контексту голосовой почты, а папка - папке голосовой почты. Если папка не задана, используется папка по умолчанию, INBOX. Если передается аргумент имяпеременной, приложение сохраняет в этой переменной количество сообщений в указанной папке. Если для аргумента опции задано значение j, Asterisk в случае наличия голосовой почты в заданной папке будет направлять вызов в приоритет n + 101.
; проверяем, есть ли хотя бы одно сообщение ; голосовой почты в INBOX почтового ящика 123 ; в контексте голосовой почты по умолчанию exten => 123,1,Answer()
exten => 123,2,HasVoicemail([email protected],COUNT) exten => 123,3,GotoIf(${VMSTATUS}?1000) exten => 123,4,Playback(vm-youhave) exten => 123,5,Playback(vm-no) exten => 123,6,Playback(vm-messages) exten => 123,1000,Playback(vm-youhave) exten => 123,10O1,SayNumber($COUNT) exten => 123,1002,Playback(vm-messages)
Смотрите также
HasNewVoicemail(), MailboxExists()
IAX2Provision()
Выполняет подготовку вызывающего IAXy-устройства
IAX2Provlslon([шаблон])
Выполняет подготовку к работе вызывающего устройства IAXy (предполагая, что вызывающий субъект - это IAXy) с использованием заданного шаблона. Если шаблон не задан, используется шаблон по умолчанию. Шаблоны подготовки IAXy описаны в конфигурационном файле iaxprov.conf.
; выполняем подготовку IAXy-устройств с использованием ; шаблона по умолчанию, когда они набирают этот ; добавочный номер
exten => 123,1,IAX2ProviSion(default)
ICES()
Выполняет потоковую передачу аудиоданных на сервер Icecast
ICES([конфигурация])
Выполняет потоковую передачу аудиоданных на сервер Icecast (или
совместимый) с помощью приложения ices.
См. файл-образец config в contrib/asterisk-ices.xml.
exten => 123,1,Answer()
exten => 123,n,ICES(/tmp/my-ices-config.xml)
ImportVar()
Задает переменную на основании переменной канала, полученной от другого канала
ImportVar(новаяпеременная=канал, .значение)
Задает переменной новаяпеременная значение, вычисленное для заданного канала (не текущего канала). Если новаяпеременная начинается с символа _, предполагается простое наследование. Если она начинается с символов _ _, предполагается множественное наследование. ; читаем информацию Caller ID из канала Zap/1 exten => 123,1,Answer()
exten => 123,n,ImportVar(cidinfo=Zap/1,CALLERID(all))
Смотрите также
Set()
Log()
Протоколирует специальное сообщение из диалплана
Log(уровень| сообщение)
Посылает специальное сообщение из диалплана в файлы журнала. Это приложение может быть полезным для протоколирования в файлах журнала исключительных обстоятельств с целью последующего их изучения. Параметр уровень может принимать одно из следующих значений:
DEBUG (отладка)
Сообщение отладки. Обычно не регистрируется в системе, находящейся в производственной эксплуатации.