Файл – план набору (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.