- •Перелік скорочень
- •Перелік визначень
- •Теоретичні відомості
- •1.1 Технологія Asterisk
- •1.2 Функціональні можливості Asterisk
- •1.3 Переваги та недоліки Asterisk
- •1.4 Архітектура Asterisk
- •1.5 Основи дiалплана ip-aтс Asterisk
- •Контекст
- •Додаткові номери
- •Прiоритети
- •Програми
- •Лiтература
- •2. Налаштування сервісів ip-атс asterisk
- •2.1 Схема мережі
- •2.2 Встановлення та налаштування VirtualBox, Ubuntu та ip-pbx Asterisk
- •2.2.1 Встановлення та налаштування платформи віртуалізації Oracle vm VirtualBox
- •2.2.2 Встановлення Ubuntu версії 10.04
- •2.2.3 Встановлення Asterisk на Ubuntu
- •Контрольні питання
- •Лiтература
- •2.3 Відображення номеру абонента, що викликає
- •2.3.1 Короткі теоретичні відомості
- •2.3.2 Приклад налаштування послуги відображення номеру абонента, що викликає
- •Контрольні питання
- •Лiтература
- •2.4 Повтор останнього набраного номеру
- •2.4.1 Короткі теоретичні відомості
- •2.4.2 Приклад налаштування послуги повтору останнього набраного номера
- •Контрольні питання
- •Лiтература
- •2.5 Прослуховування розмов
- •2.5.1 Короткі теоретичні відомості
- •2.5.2 Приклад налаштування послуги прослуховування розмов
- •Контрольні питання
- •Лiтература
- •2.6. Музика на утриманні
- •2.6.1 Короткі теоретичні відомості
- •2.6.2 Приклад налаштування послуги музики на утриманні
- •Контрольні питання
- •Лiтература
- •2.7 Голосова пошта
- •2.7.1 Короткі теоретичні відомості
- •2.7.1.1 Створення поштових скриньок
- •2.7.1.2 Додавання голосової пошти в діалплан
- •2.7.1.3 Організація доступу до голосової пошти
- •2.7.2 Приклад налаштування послуги голосової пошти
- •Контрольні питання
- •Лiтература
- •2.8. Запис розмов
- •2.8.1 Короткі теоретичні відомості
- •2.8.2 Приклад налаштування послуги запису розмови
- •Контрольні питання
- •Лiтература
- •2.9 Автоматичний дзвінок в заданий час
- •2.9.1 Короткі теоретичні відомості
- •2.9.1.1 .Call файли
- •2.9.2 Приклад налаштування послуги автоматичного дзвінка в заданий час
- •Контрольні питання
- •Лiтератури
- •2.10 Постановка викликів на паркування
- •2.10.1 Короткі теоретичні відомості
- •2.10.2 Приклад налаштування послуги постановки викликів на парркування
- •Контрольні питання
- •Література
- •2.11 Умовне та безумовне перенаправлення викликів
- •2.11.1 Короткі теоретичні відомості
- •2.11.2 Приклад налаштування умовного та безумовного перенаправлення викликів
- •Контрольні питання
- •Література
- •2.12 Вибіркове обмеження вхідних та вихідних викликів
- •2.12.1 Короткі теоретичні відомості
- •2.12.2 Приклад налаштування послуги вибіркового обмеження вхідних та вихідних викликів
- •Контрольні питання
- •Література
- •2.13 Інтерактивне голосове меню
- •2.13.1 Короткі теоретичні відомості
- •2.13.2 Приклад налаштування послуги інтерактивного голосового меню
- •Контрольні питання
- •Лiтература
- •2.14 Конференц-зв’язок
- •2.14.1 Короткі теоретичні відомості
- •2.14.2 Приклад налаштування послуги конференц–зв’язку
- •Контрольні питання
- •Лiтература
- •Додаток 1 Завдання до лабораторниз робіт з дисципліни «Проектування телекомунікаційних мереж наступного покоління»
- •Порядок виконання лабораторних робіт
- •Лабораторна робота № 1. Налаштування відображення номеру абонента, що викликає, на базі ip-атс Asterisk
- •Обладнання, прилади і матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Контрольні питання
- •Лабораторна робота № 2. Налаштування повтору останнього набраного номеру на базі ip-атс Asterisk
- •Обладнання, прилади і матеріали
- •Варіанти завдань
- •Контрольні питання
- •Лабораторна робота № 3. Налаштування сервісу прослуховування розмов на базі ip-атс Asterisk
- •Обладнання та матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Контрольні питання
- •Лабораторна робота № 4. Налаштування сервісу музики на утриманні на базі ip-атс Asterisk
- •Обладнання та матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Контрольні питання
- •Лабораторна робота № 5. Налаштування голосової пошти на базі ip-атс Asterisk
- •Обладнання, прилади і матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Лабораторна робота № 6. Налаштування запису розмови на базі ip-атс Asterisk
- •Варіанти завдань
- •Контрольні питання
- •Лабораторна робота № 7. Налаштування автоматичного дзвінка в заданий час на базі ip-атс Asterisk
- •Обладнання, прилади і матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Контрольні питання
- •Лабораторна робота № 8. Налаштування постановки викликів на паркування за допомогою засобів ip-pbx Asterisk
- •Обладнання, прилади і матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Контрольні питання
- •Оформлення звіту та порядок його подання
- •Лабораторна робота № 9. Налаштування умовного та безумовного перенаправлення викликів за допомогою засобів ip-pbx Asterisk
- •Обладнання, прилади і матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Контрольні питання
- •Оформлення звіту та порядок його подання
- •Лабораторна робота № 10. Налаштування вибіркового обмеження вхідних та вихідних викликів за допомогою засобів ip-pbx Asterisk
- •Обладнання, прилади і матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Лабораторна робота № 11. Налаштування сервісу інтерактивного голосового меню на базі ip-атс Asterisk
- •Контрольні питання
- •Лабораторна робота № 12. Налаштування конференц-зв’язку на базі ip-атс Asterisk
- •Обладнання, прилади і матеріали
- •Завдання на лабораторну роботу
- •Варіанти завдань
- •Контрольні питання
2.11.2 Приклад налаштування умовного та безумовного перенаправлення викликів
За допомогою VirtualBox запустити образ ОС Ubuntu 10.04.
Для внесення змін в конфігураційні файли IP-PBX Asterisk необхідно зайти в «Термінал». Виконаємо наступні дії: «Додатки» → «Стандартні» → «Термінал».
Для того, щоб отримати права доступу адміністратора вводимо команду # sudo su, після чого з’явиться запит паролю. За умовчанням: 1234.
Після того, як отримали права адміністратора (root) стає можливим редагування конфігураційного файлу extensions.conf, який відповідає за налаштування умовного та безумовного переведення виклику.
Відкриваємо файл extensions.conf за допомогою текстового редактору nano, попередньо перейшовши в каталог з конфігураційними файлами: # cd /etc/asterisk.
# nano extensions.conf
У цьому файлі необхідно додати наступні рядки:
exten=>102,n,GotoIf($[DIALSTATUS}=BUSY] ?ZANAT, 1)
exten=>102,n,Dial(SIP/101, 30,rtwwT)
exten=>ZANAT,1,Hangup
На рис. 30 зображений остаточний вигляд файлу extensions.conf.
Рис. 30 Вигляд файлу extensions.conf
Після того як конфігураційний файл був налаштований, ініціюємо запуск IP-PBX Asterisk. Для цього необхідно виконати наступні дії:
# asterisk start
# asterisk –r (вхід до консольного режиму IP-PBX Asterisk).
Якщо сервер Asterisk вже був запущений до початку редагування конфігураційного файлу extensions.conf, то необхідно виконати зчитування нової інформації за допомогою команди, яка вводиться в консолі Asterisk:
> dialplan reload
Контрольні питання
Що таке запис розмови в Asterisk?
Яка схема організації зв’язку використовується в лабораторному макеті?
Який SIP-клієнт використовується в лабораторній роботі?
Який конфігураційний файл відповідає за створення сервісу умовного та безумовного переведення викликів?
Які способи переведення викликів існують?
Яким чином у реальному житті використовується функція умовного та безумовного переведення виклику в Asterisk?
Що відбувається, якщо абонент, на якого переводиться виклик (безумовне перенаправлення виклику), також не в мережі?
Література
Меггелен Дж., Мадлен Л., Смит Дж. Asterisk: будущее телефонии, 2-е издание. – Пер. с англ. – СПБ: Символ_Плюс, 2009. – 656 с., ил.
Asterisk переадресация. [Електронний ресурс] // – Режим доступу: http://invoip.net/2012/04/asterisk-pereadresaciya/
2.12 Вибіркове обмеження вхідних та вихідних викликів
2.12.1 Короткі теоретичні відомості
Основною задачею функції вибіркового обмеження вхідних та вихідних викликів (blacklist) цифрової IP-PBX є занесення деяких номерів в «чорний список» і заборона комутації дзвінків з них і на них [1]. За реалізацію даної функції відповідає команда BLACKLIST(). Вона перевіряє, чи є поточний номер у базі даних.
IP-PBX Asterisk має потужний механізм для зберігання даних - AstDB. AstDB забезпечує простий спосіб зберігання даних, які в подальшому можуть використовуватись у діалплані. База даних Asterisk зберігає дані в групи, які називаються сім'ями, зі значеннями певних клавіш. У сім'ї, ключ може бути використаний тільки один раз.
Таким чином, команда BLACKLIST (), працюючи у поєднанні з базою даних AstDB, виявляє чи занесений номер в «чорний список», якщо так, то повертається значення 1, в іншому випадку повертається 0. У поєднанні з GotoIf (), ці значення можуть бути використані для контролю виклику.
Для налаштування цієї функції необхідно внести деякі зміни в конфігураційний файл extensions.conf, що знаходиться за адресою: /etc/asterisk/extensions.conf.
Розглянемо структуру даного файлу [2, 3]. Для роботи цього сервісу необхідно, щоб були присутніми чотири контексти:
[main-menu] – слугує загальним налаштуванням для роботи файлу;
[incoming] – допоміжні налаштування, які відповідають за обробку вхідних викликів;
[blacklist-add] – допоміжні налаштування, які відповідають за внесення номеру до «чорного спуску» за допомогою IVR;
[blacklist-rmv] – допоміжні налаштування, які відповідають за видалення номеру з «чорного спуску» за допомогою IVR.
Далі розглянемо кожний з цих контекстів більш детально.
Приклад простого контексту [main-menu]:
include = incoming
include = blacklist-add
include = blacklist-rmv
Кожен з цих рядків відповідає за активацію контекстів: incoming, blacklist-add, blacklist-rmv відповідно.
Контекст [incoming] має більш складну структуру і є головним контекстом, що відповідає, безпосередньо, за дозвіл комутації певного номеру. Він виглядає наступним чином:
exten=>XXX,1,Answer()
exten=>XXX,n,GotoIf($[${BLACKLIST()}=1]?102) – перевірка номеру на належність до «чорного списку», якщо належить, то присвоюється пріоритет 102;
exten=>XXX,n,Dial(SIP/XXX,20,t) – виклик номеру ХХХ;
exten=>XXX,102,Playback(privacy-you-are-blacklisted) – програвання аудіозапусу «номер заблоковано, через належність до чорного списку»;
exten=>XXX,103,Hangup() – завершення виклику.
На рис. 31 приведено приклад простої реалізації розглянутих вище контекстів конфігураційного файлу extensions.conf.
Рис. 31 Вигляд контекстів [main-menu] та [incoming]
Також необхідно налаштувати контекст [blacklist-add], для того щоб у користувача була можливість заносити номера абонентів до «чорного списку». Ці налаштування також виконуються в конфігураційному файлі – extensions.conf.
Контекст [blacklist-add] буде виглядати наступним чином:
exten=>ZZZ,1,Answer
exten=>ZZZ,n,Playback(enter-num-blacklist) - пропонується ввести номер, який буде занесений до «чорного списку»;
exten=>ZZZ,n,Read(blacklist,then-press-pound,4,,2,10) – зчитується введений номер;
exten=>ZZZ,n,SayDigits(${blacklist}) – озвучується введений номер;
exten=>ZZZ,n,Playback(if-correct-press&digits/2) – підтвердження занесення номеру до «чорного списку» шляхом натиснення кнопки «2»;
exten=>ZZZ,n,WaitExten(60,) – очікування введення;
exten=>ZZZ,n,Playback(sorry-youre-having-problems&goodbye) - по закінченню часу очікування, програється повідомлення про виникнення проблем;
exten=>2,1,Set(DB(blacklist/${blacklist})=1) – номеру присвоюється значення 1 у базі даних AstDB;
exten=>2,n,Playback(num-was-successfully&added) – програється повідомлення про успішне виконання операції;
exten=>2,n,Hangup – завершення виклику.
Наступний крок – налаштування контексту [blacklist-rmv], що відповідає за видалення номеру з «чорного спуску». Він виглядає наступним чином:
exten=>YYY,1,Playback(entr-num-rmv-blklist) – пропонується ввести номер, який необхідно видалити з «чорного списку»;
exten=>YYY,n,Read(blacklist,then-press-pound,4,,2,10) - зчитується введений номер;
exten=>YYY,n,SayDigits(${blacklist}) – озвучується введений номер;
exten=>YYY,n,Playback(if-correct-press&digits/1) – підтвердження видаленя номеру з «чорного списку» шляхом натиснення кнопки «1»;
exten=>YYY,n,WaitExten(60,) – очікування введення;
exten=>YYY,n,Playback(sorry-youre-having-problems&goodbye) - по закінченню часу очікування, програється повідомлення про виникнення проблем;
exten=>1,1,DBdel(blacklist/${blacklist}) – номер видаляється з бази даних AstDB;
exten=>1,n,Playback(removed) – програється повідомлення про успішне виконання операції;
exten=>1,n,Hangup – завершення виклику.
На рис 32 приведено приклад простої реалізації розглянутих вище контекстів конфігураційного файлу extensions.conf.
Рис. 32 Вигляд контекстів [blacklist-add] та [blacklist-rmv]
де YYY – номер, при наборі якого відбувається занесення абонента до «чорного списку»; ZZZ - номер, при наборі якого відбувається видалення абонента з «чорного списку».
