- •Звіт Про асистентську практику
- •Індивідуальне завдання на асистентську практику
- •1. Навчальні цілі:
- •1.2. Протокол smtp
- •1.3.Протокол рор
- •1.4. Формат подання поштових повідомлень mime
- •1.5. Служба архівів ftp
- •220- *** Welcomeat Ftp-serverftp.Itep.Ru ***
- •220 Ns.Itep.Ru ftp serverready.
- •1. Навчальні цілі:
- •2. Міжпредметні та міждисциплінарні зв’язки:
- •4. План:
- •1.2. Протокол smtp
- •1.3.Протокол рор
- •1.4. Формат подання поштових повідомлень mime
- •1.5. Служба архівів ftp
- •220- *** Welcomeat Ftp-serverftp.Itep.Ru ***
- •220 Ns.Itep.Ru ftp serverready.
- •Аналіз заняття
- •Вступна частина
- •Основна частина
- •Заключна частина
- •Цілеспрямованість заняття
- •Хід заняття
- •Обработка ошибочных вводов и времени ожидания
- •Использование приложения Dial()
- •Добавление контекста для внутренних вызовов
- •4. Підбиття підсумків заняття (до 5 хв.)
- •Хід заняття
- •Контексты
- •Добавочные номера
- •Приоритеты
- •Ненумерованные приоритеты
- •Метки приоритетов
- •Приложения
- •Простой диалплан
- •Добавочный номер s
- •Приложения Answer(), Playback() иHangup()
- •Первый диалплан
- •4. Підбиття підсумків заняття (до 5 хв.)
Добавление контекста для внутренних вызовов
До сих пор в наших примерах мы ограничивались одним контекстом, но, вероятно, справедливо предполагать, что в диалпланах практически всех установок Asterisk будет не один контекст, а больше. Как упоминалось в начале данной главы, одна из важных функций контекстов - разделение прав доступа (таких, как осуществление междугородних вызовов или звонков на определенные добавочные номера) для разных классов абонентов. В следующем примере наш диалплан будет дополнен созданием двух внутренних добавочных номеров, для которых будет настроена возможность звонить друг другу. Для этого создадим новый контекст, [employees] (служащие).
Как и в предыдущих примерах, предполагаем, что аналоговый канал FXS (Zap/1 в данном случае) уже сконфигурирован и что настройки файла zapata.conf таковы, что все вызовы, берущие начало в Zap/1, обрабатываются в контексте [employees].
В нескольких примерах в конце главы также будет предполагаться, что Zap-канал FXO сконфигурирован как Zap/4 и вызовы, поступающие на этот канал, направляются в контекст [incoming].
Также мы предположили, что имеется по крайней мере один SIP-канал (названный SIP/Jane), который используется в контексте [employees]. Это было сделано, чтобы показать пример использования других типов каналов.
Если вы не располагаете оборудованием для организации перечисленных выше каналов (таких, как Zap/4) или если используете другие имена каналов (например, не SIP/Jane), просто скорректируйте примеры соответственно конфигурации своей системы.
Теперь нашдиалплан выглядит так:
[incoming]
exten => 123,1,Answer()
exten => 123,n,Background(enter-ext-of-person)
exten => 123,n,WaitExten()
exten => 1,1,Dial(Zap/1,10)
exten => 1,n,Playback(vm-nobodyavail)
exten => 1,n,Hangup()
exten => 2,1,Dial(SIP/Jane,10)
exten => 2,n,Playback(vm-nobodyavail)
exten => 2,n,Hangup()
exten => i,1,Playback(pbx-invalid)
exten =>i,n,Goto(incoming,123,1)
exten => t,1,Playback(vm-goodbye)
exten =>t,n,Hangup()
[employees]
exten => 101,1,Dial(Zap/1)
exten => 102,1,Dial(SIP/Jane)
В этом примере в контекст [employees] было добавлено два новых добавочных номера. Таким образом, человек, использующий канал Zap/1, может поднять трубку телефона и позвонить человеку, находящемуся на линии SIP/Jane, набрав номер 102. Точно так же телефон, зарегистрированный как SIP/Jane, может позвонить Zap/1, если пользователь наберет 101.
Добавочные номера 101 и 102 выбраны для примера произвольно, для своих добавочных номеров вы можете использовать любые другие цифры. Также необходимо помнить, что вы не ограничены трехзначными добавочными номерами; номер может включать столько угодно цифр. (Скажем так, почти сколько угодно.Добавочные номера не должны быть длиннее 80 символов, и нельзя использовать добавочные номера длиной в один символ для собственных нужд, поскольку они зарезервированы.) Не забывайте, что могут применяться и имена, как в данном примере:
[incoming]
exten => 123,1,Answer()
exten => 123,n,Background(enter-ext-of-person)
exten => 123,n,WaitExten()
exten => 1,1,Dial(Zap/1,10)
exten => 1,n,Playback(vm-nobodyavail)
exten => 1,n,Hangup()
exten => 2,1,Dial(SIP/Jane,10)
exten => 2,n,Playback(vm-nobodyavail)
exten => 2,n,Hangup()
exten => i,1,Playback(pbx-invalid)
exten =>i,n,Goto(incoming,123,1)
exten => t,1,Playback(vm-goodbye)
exten =>t,n,Hangup()
[employees]
exten => 101,1,Dial(Zap/1)
exten => john,1,Dial(Zap/1)
exten => 102,1,Dial(SIP/Jane)
exten => jane,1,Dial(SIP/Jane)
Конечно, не помешало бы добавить именные добавочные номера, если предполагается, что пользователи могут получать звонки по VoIP-протоколу, такому как SIP, который поддерживает вызов по имени. Также нетрудно заметить, что в диалплане могут быть разные добавочные номера для вызова одной конечной точки, например добавочный номер 200 с выходом на канал SIP/George и добавочный номер 201, который воспроизводит некоторое сообщение, а затем звонит SIP/George. Теперь, когда наши внутренние абоненты могут звонить друг другу, мы значительно продвинулись на пути к созданию полного диалплана. Далее будет показано, как можно сделать диалплан более масштабируемым и пригодным к внесению изменений в будущем.