- •Звіт Про асистентську практику
- •Індивідуальне завдання на асистентську практику
- •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 хв.)
Метки приоритетов
Начиная с версии 1.2 в Asterisk стало общепринятой практикой при-сваивать приоритетам текстовые метки. Это обеспечивает возможность ссылаться на приоритет не по номеру, который может быть неизвес-тен, потому что теперь в диалпланах, как правило, используются нену-мерованные приоритеты. Чтобы присвоить приоритету текстовую мет-ку, просто добавляем ее в круглых скобках после приоритета:
exten => 123,n(метка),приложение()
Очень распространенной ошибкой является использование за-пятой между символами n и (, как в данном примере:
exten => 123,n,(метка),приложение() ;<-- ЭТО НЕ БУДЕТ РАБОТАТЬ
Это приведет к нарушению данной части диалплана, будет вы-дано сообщение об ошибке, из-за того что приложение не найдено.
Приложения
Приложения – это рабочие лошадки диалплана. Каждое приложение выполняет определенное действие над данным каналом, например воспроизведение звука, прием тонального ввода, вызов канала, разрыв соединения и т. д. В предыдущем примере было представлено два простых приложения: Answer() и Hangup(). Сейчас мы подробнее рассмот-рим, как они работают.
Для выполнения некоторых приложений, таких как Answer() и Hangup(), не требуется никаких дополнительных инструкций. Некоторым приложениям необходима дополнительная информация. Эти данные, называемые аргументами, могут передаваться в приложения, чтобыоказывать влияние на то, как они выполняют свои действия. Чтобы передать аргументы в приложение, разместите их через запятую в круглых скобках, следующих за именем приложения.
Простой диалплан
Теперь мы готовы создать наш первый диалплан. Давайте начнем с очень простого примера. Asterisk должна будет ответить на звонок, воспроизвести звуковой файл и разорвать соединение. Используем этот простой пример, чтобы обозначить наиболее важные концепции диалплана.
Предложенные примеры разработаны исходя из предположения, что был создан и сконфигурирован по крайней мере один канал (SIP или IAX2 – неважно) и что все вызовы, поступающие на этот канал, направляются в контекст диалплана [incoming]. Если к какому-то из предыдущих примеров вы подошли творчески, вероятно, вам придется вносить некоторые поправки, чтобы обеспечить соответствие имен каналов.
Добавочный номер s
В наших каналах мы применяем определенную технологию, и поэтому, прежде чем приступить к настройке диалплана, придется остановиться еще на одном вопросе. Необходимо рассмотреть добавочный номер s. Когда в контекст поступают вызовы, для которых не указан конкретный добавочный номер, они передаются на добавочный номер s. (s – сокращение от start (начало), поскольку именно здесь начнется обработка вызова, если с ним не передана информация о добавочном номере.)
Поскольку это именно то, что требуется для нашего диалплана, перейдем к делу. Для каждого вызова будет выполняться три действия (ответ на него, воспроизведение звукового файла и разъединение), поэтому добавочному номеру s понадобится три приоритета. Поместимтри приоритета в контекст [incoming], поскольку было принято решение о том, что все входящие вызовы должны обрабатываться в этом контексте.
[incoming]
exten => s,1,приложение()
exten =>s,n,приложение()
exten =>s,n,приложение()
Теперь осталось только вставить приложения – и наш первый диалплан готов.
Обратите внимание, что можно было бы пронумеровать каждый приоритет, как показано ниже, но теперь так делать не рекомендуется, поскольку это сильно усложняет внесение изменений в диалплан впоследствии:
[incoming]
exten => s,1,приложение()
exten => s,2,приложение()
exten => s,3,приложение()