- •Перелік скорочень
- •Перелік визначень
- •Теоретичні відомості
- •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.8.2 Приклад налаштування послуги запису розмови
Необхідно:
1. Виконати процес конфiгурацiї запису розмови за допомогою цифрової програмної IP-АТС.
2. Провести тестові виклики, записати тестову розмову та прослухати її.
Послідовність дій:
exten => 123,1, Answer ()
; Записуємо розмову з поточного каналу
; І об'єднуємо звукові канали в кінці запису
exten => 123,2, Monitor (wav, monitor_test, mb)
exten => 123,3, SayDigits (12345678901234567890)
exten => 123,4, StopMonitor ()
Приклад створення змінної для імені записуваного файлу [3]:
exten=>123,n,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLER(number)} -${EXTEN})
де, STRFTIME(${EPOCH} – стандартний синтаксис;
%Y%m%d%H% - послідовність що показує рік, місяць, день, годину та хвилини запису розмови відповідно;
${CALLER(number) – номер абонента, який викликає;
${EXTEN} – номер абонента, якого викликають.
Контрольні питання
Що таке запис розмови в Asterisk?
Яка схема організації зв’язку використовується в лабораторному макеті?
Які SIP-клієнти можуть бути використані в лабораторній роботі?
Що таке функція Monitor() ?
Що таке функція MixMonitor() ?
Чи існує можливість захистити доступу до записаної розмови за допомогою пароля? Якщо так, то як?
Чи існує можливість запису розмови в інших форматах аудіо файлів? Якщо так, то як?
Яким чином у реальному житті використовується функція запису розмови в Asterisk?
Лiтература
Меггелен Дж., Мадлен Л., Смит Дж. Asterisk: будущее телефонии, 2-е издание. – Пер. с англ. – СПБ: Символ_Плюс, 2009. – 656 с., ил.
Функция MixMonitor(). [Електронний ресурс] // – Режим доступу: http://www.sipring.ru/overview/130-func-mixmonitor.html
Asterisk Dialplan - план набора (одной страницей). [Електронний ресурс] // – Режим доступу: http://asterisk-pbx.ru/wiki/doku.php/asterisk_dialplan
Офіційний сайт IP-ATC Asterisk. [Електронний ресурс] // – Режим доступу: www.asterisk.org
2.9 Автоматичний дзвінок в заданий час
2.9.1 Короткі теоретичні відомості
Система автодозвону застосовується не тільки для автоматичного інформування боржників або клієнтів, а й для екстрених оповіщень співробітників або населення. А також служить для збору інформації рейтингів про якість надавання послуг [1, 4]. Конфігурація плану набору в Asterisk - extensions.conf відповідає за те, щоб виклики, які надходять від кого-небудь потрапляли на потрібний екстеншен, через заданий канал [2]. Якщо ж виникає необхідність, щоб ініціатором виклику був якийсь зовнішній додаток, то існує метод для цього завдання. Для налаштування автоматичного дзвінка необхідно працювати з .call файлом ( файлом виклику).
2.9.1.1 .Call файли
Файли виклику Asterisk це структуровані файли, які при переміщенні у відповідний каталог, здатні автоматично виконувати виклики з використанням Asterisk [3]. Файли виклику є бездоганним рішенням для виконання автоматичного дзвінка без використання більш складних функцій, таких як Asterisk AGI, AMI. Також файли виклику вимагають дуже мало технічних знань для використання.
Синтаксис. Визначаємо куди і як потрібно здійснити виклик.
Channel: <channel>: Канал, який буде використовуватися для вихідного дзвінка.
CallerID: Name <number> - Ідентифікатор користувача.
MaxRetries: <number> Кількість спроб перед тим, як виклик вважатиметься невдалим (не включаючи першу спробу, тобто 0 = означає вчинити 1 спробу дзвінка). Значення за замовчуванням: 0.
RetryTime: <number> Кількість секунд між спробами виклику. Значення за замовчуванням: 300 (5 хвилин)
WaitTime: <number> Кількість секунд для очікування відповіді на дзвінок. Значення за замовчуванням: 45.
Account: Установка поля "account code" для запису в CDR.
Якщо перший учасник виклику відповів, то далі описуємо з ким і як його з'єднати
Context: <context-name> Контекст у файлі extensions.conf.
Extension: <ext> Назва екстеншена в extensions.conf ..
Priority: <priority> Номер пріоритету для екстеншена, з якого потрібно почати виконання.
Application: Ім'я програми Asterisk, яку необхідно виконати (використовується замість параметрів context, extension і priority).
Data: Параметри додатка який запускається.
Для здійснення виклику в. call файлі має бути визначено як мінімум один додаток або екстеншен, а також має бути визначений каналу, з якого здійснюється виклик.
Принцип роботи з .call файлами:
Поміщаємо заданий .call файл в директорію (за умовчанням): / var / spool / asterisk / outgoing
Якщо у файлі конфігурації modules.conf встановлено: autoload = no, переконайтеся, що у Вас завантажено модуль pbx_spool.so, інакше робота з .call файлами буде неможлива.
При виявленні .call файлу, Asterisk створить канал для виклику, який буде з'єднаний з вказаним екстеншеном і пріоритетом з плану набору. Всі ці параметри будуть узяті з .call файлу.
Якщо дата модифікації .call файлу більше поточної дати на сервері, то Asterisk відкладе обробку даного файлу до тих пір, поки час модифікації цього файлу не зрівняється або не стане більше поточного часу.
Як приклад див: "sample.call", який йде у складі дистрибутива.
2.9.1.2 Створення та переміщення .call файлів.
Внаслідок того, що сервер Asterisk може прочитати ці файли в будь-який час (наприклад, коли він ще записаний тільки наполовину), не створюйте їх безпосередньо в директорії, де їх читає Asterisk (/var/spool/asterisk/outgoing). Процедура їх створення повинна бути приблизно такою [5]:
Створіть Ваш. call файл в який-небудь інший тимчасової директорії, наприклад, в: /var/spool/asterisk/temp1234. Встановіть власника і групу для цього файлу, командою: chown asterisk: asterisk/var/spool/asterisk/temp1234 (якщо файл temp1234 створений від користувача root, а Asterisk працює від системного користувача asterisk). Перемістіть цей файл, командою:
mv /var/spool/asterisk/temp1234 var /spool/asterisk/outgoing
Цей метод буде коректно працювати в більшості випадків, бо в Unix операція переміщення файлу в межах одного розділу (команда mv) просто переміщає "inode" - покажчик на файл - і він з'явитися у вказаній директорії вже відразу цілком, що запобігає ситуацію, коли Asterisk зчитує частково записаний файл. (Зверніть увагу: Що все вищесказане відноситься тільки до того випадку, якщо джерело і точка переміщення файлу знаходяться в межах одного логічного розділу, інакше, буде використовуватися еквівалентна комбінація з команд "cp" і "rm", що може призвести до вищеописаної проблеми.)
Зауваження: Використання команди копіювання файлу (cp) не є безпечним методом для додавання .call файлу в директорію сервера Asterisk для його подальшої обробки, тому що він може бути прочитаний іншою програмою в середині процесу його копіювання, коли він ще не повністю скопійований.
