Файл – план набору (Dialplan)

Структура файлу extensions.conf

Extensions.conf - файл, який керує всіма з'єднаннями, що проходять через Ваш сервер Asterisk. Файл розбитий на блоки, укладені в квадратні дужки. На початку файлу в секціях [general] і [globals] задаються загальні налаштування.

секція [general].

У цьому розділі визначається низка основних опцій.

  • static: Ця опція має значення тільки для CLI команди "dialplan save" (Asterisk 1.6) або "save dialplan" (Asterisk 1.4). Стандартне значенняno. Зверніть увагу на те, що при встановленні встановлено приклад і в ньому стоїть значенняyes.
  • writeprotect: Якщоwriteprotect=noіstatic=yes, ви можете зберігати план набору з CLI, але врахуйте, що це перезапише ваш файл extensions.conf.
  • autofallthrough: Цей параметр відповідає за набрані розширення, якщо встановлено значенняyesі розширення не відповідає плану набору, то дзвінок буде відбито з кодами BUSY, CONGESTION або HANGUP. Якщо встановленоno, буде очікувано правильний набір.
  • clearglobalvars: Очищення глобальних змінних при перезавантаженні Asterisk. Якщоno, змінні будуть зберігатися і після перезавантаження.
  • priorityjumping: Підтримка "стрибка" за пріоритетами працює тільки з тими додатками, які це підтримують.

Секція [globals].

У цій секції задаються глобальні змінні зі своїми значеннями.

Переглянути задані змінні Ви можете командою CLI 'core show globals'

Решта файлу відводиться розширенням і контекстам.

Розширення (extensions) та контексти (context)

У документації на темуустановка Asterisk ми з Вами вже писали правила набору, давайте тепер ближче з ними познайомимося.

Що таке розширення? Розширення це перелік додатків з їхніми пріоритетами виконання та аргументами. Коли користувач набрав розширення, воно буде виконувати до повного виконання або до роз'єднання. І як же вони записуються?

Давайте розглянемо на прикладі.

У квадратних дужках вказує контекст, у якому використовуватиме це правило. Контексти ми вказували у файлі sip.conf. При наборі розширення 777 потрапляємо з початку в один пріоритет, в першому пріоритеті сервер Asterisk зніме трубку, далі переходимо в другий, і програємо файл з ім'ям "hello-world", далі перейде на пріоритет 'n', він позначає next, це зручно використовувати коли точно відомо, що цей елемент повинен слідувати за елементами з числовими пріоритетами. У цьому розширення сервер покладе слухавку.

У розглянутому прикладі замість номера може бути вказаний шаблон. Шаблон повинен починатися з символу нижнього підкреслення "_" і далі сам шаблон. В іменах шаблону використовуються такі спеціальні символи:

  • X будь-яке число від 0 до 9
  • Z будь-яке число від 1 до 9
  • N будь-яке число від 2 до 9
  • [125-9] відповідає будь-якому числу чи діапазону чисел, які укладені у квадратні дужки (у прикладі: 1,2,5,6,7,8,9)
  • . спеціальний символ, що відповідає будь-якому символу та кількості символом, не тільки цифрі, а й скажемо "+"
  • ! спеціальний символ, що відповідає будь-якому символу та кількості символом. Схожий на символ ".", з однією лише різницею, що як тільки шаблон із цим символом спрацював, він не чекатиме повного набору номера, а відразу передаватиме номер у лінію,зберігаючи аудіоконтроль лінії.

Функції та програми в Asterisk

У прикладі вище ми розглянули три функції Answer, Playback та Hangup. Далі я наведу список функцій, звертаю вашу увагу, що функції та програми реєстрозалежні.

Ось такий багатий функціонал є у сервера Asterisk.