Asterisk: установка і інструкція


Опубликованно 27.01.2018 07:52

Asterisk: установка і інструкція

Asterisk, встановлення якого буде розглянута в даному матеріалі, являє собою програмне забезпечення для організації так званої офісної телефонної станції або IP-АТС (англ. Private Branch eXchange, PBX). Воно об'єднує всі телефони в офісі в одну інформаційну мережу, на базі якої працюють різноманітні служби голосового зв'язку. Asterisk працює на Linux, BSD, OS X і Windows з використанням емулятора.

Asterisk може здійснювати передачу голосу за чотирма різними протоколами VoIP і взаємодіяти практично з усіма стандартизованими телефонними апаратами (включаючи мобільні) за допомогою недорогого обладнання. Asterisk реалізує різні можливості голосової пошти (voicemail), включаючи телефонний довідник, конференц-зв'язок, інтерактивний голосовий відповідь і черги дзвінків.

В даному матеріалі ми розглянемо процес установки Asterisk на ОС Linux, зокрема на популярних дистрибутивах CentOS і Debian, а також базові процедури налаштування сервера голосової пошти.

Установка сервера Asterisk з исходников

Для початку розглянемо алгоритм інсталяції сервера IP-телефонії, який доступний абсолютно на будь-якому дистрибутиві Linux, а саме збірку і установку програмного забезпечення з вихідного коду. Даний метод дозволяє виконати установку Asterisk з нуля.

Перед установкою сервера IP-телефонії в системі повинен бути забезпечений ряд умов. Asterisk повинен встановлюватися на систему, що працює на ядрі версії не нижче 2.6, при цьому в системі повинні бути присутні файли заголовків, щоб програма успішно скомпилировалась. Asterisk написаний на мові C, тому для складання в системі повинен бути встановлений компілятор gcc з супутніми бібліотеками, такими як termcap і openssl. Для складання доповнень Asterisk також потрібні передвстановлені бібліотеки і клієнт mysql, а також відповідні файли заголовків.

Коли система підготовлена для установки вам буде необхідно перейти в розділ Download на офіційному сайті і завантажити з нього такі архіви: asterisk. asterisk-sounds. asterisk-addons. zaptel. libpri.

Файли необхідно скопіювати на сервер, який буде здійснювати функції офісної АТС. Розмістіть їх у папці /usr/src/.

Після цього запустіть на сервері термінал. Перейдіть в каталог з архівами і розпакуйте кожен з них командою:

tar-xzf<имя_архива>tar.gz

Архіви будуть розпаковані у папки з іменами, що збігаються з назвами архівів. Послідовно перейдіть в кожну з папок командою:

cd<ім'я папки>

І виконайте в кожній папці нижченаведені команди.

1. Підготовка до збірки:

./configure

2. Збірка:

make

3. Установка:

make install

Якщо вищенаведені команди завершаться з успішним результатом, ви зберете і встановіть Asterisk на своєму сервері.

Процедура установки з исходников однакова для всіх дистрибутивів Linux, але не всім звична. Як правило, більшість користувачів надає перевагу методи установки, що пропонуються конкретним дистрибутивом.

У зв'язку з цим, розглянемо процедури інсталяції Asterisk на двох популярних платформах для створення офісних АТС: CentOS і Debian GNU/Linux. Установка Asterisk на CentOS

В рамках даного прикладу ми будемо встановлювати Asterisk 13. Ми виконаємо установку Asterisk на CentOS 7.

Передбачається, що інсталяція буде виконуватися в текстовому консольному режимі від імені суперкористувача (root).

Для початку необхідно встановити всі необхідні пререквизиты. Переконайтеся, що у системі присутні всі пакети, зазначені нижче. Їх досить багато:

У результаті в системі будуть присутні всі залежності, необхідні для успішного складання сервера телефонії Asterisk.

Наступним кроком має стати відключення SELinux. Система безпеки Security-Enhanced Linux CentOS включена за замовчуванням і дуже часто перешкоджає нормальному функціонуванню Asterisk. Тому для успішної установки і роботи сервера її необхідно відключити.

Перевіримо статус активності системи SELinux наступною командою:

sestatus

Якщо система повідомляє, що SELinux включений, виконаємо процедуру відключення. Для цього необхідно внести зміни в конфігураційний файл в папці /etc/selinux, встановивши відповідний прапорець.

sed -i 's/(^SELINUX=).*/SELINUX=DISABLED/' config

Далі потрібно перевірити параметри системного часу і, зокрема, вибрати правильний часовий пояс. Для вибору потрібно використовувати команди, які дозволять визначити і встановити поточний пояс:

tzselect

timedatectl set-timezone <имя_зоны> (наприклад, America/Los_Angeles)

Для того, щоб перевірити, чи був встановлений часовий пояс, можна використовувати наступну команду:

timedatectl status

Після цього буде потрібно перезавантажити систему, щоб активувати зміни. Для цього використовуйте команду reboot.

Тепер безпосередньо перейдемо до встановлення Asterisk.

Фактично, установка Asterisk на CentOS зводиться до тієї ж самої складанні з джерел, з якою ми познайомилися в попередньому розділі. Тут же ми розглянемо процес складання з урахуванням особливостей конкретного дистрибутива Linux, а саме CentOS 7.

Для початку завантажимо і встановимо сам сервер IP-телефонії.

Завантажити з розділу Завантаження на офіційному сайті продукту архів з Asterisk 13 і збережемо його в папку /usr/src. Распакуем архів командою:

tar zxvf <имя_архива>

Перейдемо в папку з розпакованим архівом і виконаємо команди, наведені нижче.

make distclean

./configure --libdir=/usr/lib64 --with-pjproject-bundled

Дана послідовність команд дозволить підготувати вихідні коди до складання.

Далі встановимо параметри компіляції:

make menuselect.makeopts

Після налаштування опцій компіляції виконайте наступну послідовність дій:

1. Створіть окремий обліковий запис користувача для сервера IP-телефонії.

adduser asterisk -s /sbin/nologin -c "Asterisk User"

2. Зберіть і встановіть сервер.

make && make install

3. Встановіть права доступу до Asterisk для новоствореного користувача.

chown -R asterisk. /var/lib/asterisk

В результаті базовий сервер Asterisk буде зібраний і встановлений.

Крім самого Asterisk, аналогічним способом на CentOS можна встановити корисні доповнення до сервера. Про це читайте нижче. FreePBX

FreePBX – це повнофункціональний графічний Веб-інтерфейс, призначений для налаштування і управління офісної АТС. Установка Asterisk з FreePBX здійснюється в наведеній нижче послідовності.

Запустимо базу даних:

systemctl start mariadb

Завантажити з сайту GitHub в папку /usr/src вихідний код FreePBX:

git clone -b release/13.0 https://github.com/FreePBX/framework.git freepbx

Далі виконаємо в папці наступні команди для встановлення:

./start_asterisk start

./install -n

І ряд команд для налаштування FreePBX:

DAHDI

DAHDI – це драйвер, що забезпечує взаємодію Asterisk з різним телефонним обладнанням. Він відповідає за роботу плат інтерфейсів телефонії, що встановлюються безпосередньо на сервер, на якому працює Asterisk. Процедура установки DAHDI описана нижче.

Скачайте в каталог /usr/src архів з драйвером, розпакуйте його і перейдіть в разархивированную папку. В ній виконайте команди:

PJSIP

PJSIP – це бібліотека, написана на С, яка відповідає за підтримку різних протоколів IP-телефонії. З версії Asterisk 13.8 включно бібліотека PJSIP може встановлюватися окремо. Втім, якщо Asterisk компілюється з прапором --with-pjproject-bundled (що ми і зробили в попередньому розділі), бібліотека PJSIP буде встановлена безпосередньо при компіляції сервера.

Для того, щоб встановити PJSIP окремо необхідно виконати наступну процедуру.

Скачайте з сайту pjsip.org в каталог /usr/src архів з драйвером, розпакуйте його і перейдіть в разархивированную папку. В ній виконайте команди:

Пост-інсталяційні процедури

По завершенню установки Asterisk необхідно виконати ряд додаткових дій. Дані процедури є обов'язковими.

1. Встановити захист для сервера бази даних:

mysql_secure_installation

Для виконання процедури просто відповідайте Y на всі питання.

2. Змінити налаштування веб-сервера:

3. Відкрити доступ до служб і портів, необхідним для роботи Asterisk:

firewall-cmd --permanent --zone=public --add-service={http,https} --add-port=5060-5061/tcp --add-port=5060-5061/udp --add-port=10000-20000/udp

4. Налаштувати автозавантаження бази даних:

systemctl enable mariadb

5. Налаштувати завантаження веб-сервера при запуску системи:

systemctl enable httpd

6. Налаштувати автозапуск FreePBX при завантаженні системи:

nano /etc/systemd/system/freepbx.service

systemctl enable freepbx

7. Налаштувати з'єднання з базою даних через ODBC. Якщо встановлений застарілий модуль cdr_mysql.so, цей пункт опційний, але все ж рекомендується:

nano /etc/odbc.ini

Для того, щоб перевірити зв'язок з ODBC, використовуйте наступну команду:

isql -v asteriskcdrdb <username> <password>

8. Перезавантажте систему, щоб застосувати зроблені зміни:

reboot Установка Asterisk 13 на Debian

В даному розділі ми розглянемо процедуру установки на іншій популярній платформі – Debian. Гарна новина для користувачів: вона відносно проста, незважаючи на те, що також включає в себе збірку з исходников. В якості прикладу ми виконаємо установку Asterisk на Debian 8.

Установка проводиться від імені суперкористувача (root). Відкрийте термінал, отримаєте відповідні права, після чого можна приступити до інсталяції.

Спочатку завантажте Asterisk 13 з офіційного сайт і розпакуйте завантажений архів. Перейдіть в папку з распакованными джерела.

Тепер встановимо необхідні залежності. Найважливіша – компілятор gcc – в Debian вже є. Тому просто завантажимо залишилися:

Після того, як всі залежно завантажені і встановлені, виконайте в папку з розпакованим архівом Asterisk наступну команду:

./configure

Команда повинна завершитися без помилок. Якщо в результаті виникне повідомлення про відсутність деяких залежностей, встановіть їх.

Перед компіляцією Asterisk є можливість включити або відключити окремі модулі:

make menuselect

Буде відкрито консольний додаток з переліком модулів. Переміщаючись клавішами вниз і вгору за списком, ви можете вмикати та вимикати їх. Деякі додаткові модулі вимагають встановлення залежностей. Це можна зробити за допомогою apt-get.

Тепер приступимо до компіляції Asterisk. Введіть в консолі вже знайомі команди:

1. Збірка джерел:

make

2. Установка в системні каталоги:

make install

Коли виконання компіляції завершиться без помилок, потрібно запустити команду:

make samples

На цьому завершується установка. Asterisk успішно проинсталлирован на ваш сервер. Наступна команда викличе консоль управління Asterisk:

asterisk -vvvvvvgc Налаштування Asterisk

Тепер розглянемо базові процедури налаштування сервера телефонії Asterisk. Вони принципово однакові для всіх дистрибутивів Linux.

Для початку потрібно додати наступний текст в файл sip.conf:

Тим самим ми створимо п'ять облікових записів, які можуть використовуватися будь-яким клієнтом SIP (Cisco SIP Phone, xlite, ATA і тому подібні). Всі користувачі будуть зареєстровані в Asterisk. Якщо дана конфігурація не працює, спробуйте відключити мережний екран до завершення налаштування програмного забезпечення. Створення першого номерного плану

Номерний план (диалплан) надає собою формалізований опис процесів обробки телефонних дзвінків. Диалплан в деталях вказує системі, що потрібно робити з вихідними і вхідними дзвінками. Наприклад, Asterisk може переадресовувати їх, відповідати на них за допомогою автовідповідача і так далі.

Відкрийте файл extension.conf в папці /etc/asterisk і додайте в нього рядок:

розширеннями=> _XXXX,1,Dial(SIP/${РОЗШИРЕННЯМИ})

Тепер всі настроєний клієнти SIP зможуть приймати і відправляти дзвінки. Завдяки простоті настройки диалплана, Asterisk і є однією з найбільш дружніх платформ IP-телефонії. Не так вже й багато навичок потрібно, щоб підняти офісну АТС. Створення першого SIP транк

Asterisk може виконувати вихідні та вхідні дзвінки. Для вихідних дзвінків нам потрібен провайдер, який буде перенаправляти виклики в нашу систему, а також публічний IP-адресу.

Для цього потрібно налаштувати SIP транк – канал віртуальної зв'язку між клієнтським обладнанням і телефонним оператором. Якщо в ролі обладнання клієнта буде виступати наш сервер Asterisk, налаштування транка дозволить підключити до нього будь-яку кількість міських телефонних номерів по протоколу SIP

Для створення транка додайте наступний код у файл sip.conf:

Після цього потрібно буде внести в extension.conf ще один рядок:

розширеннями => _XXXXXXX.,1,Dial(SIP/trunk1/${РОЗШИРЕННЯМИ})

Це дозволить встановити зв'язок з провайдером для здійснення вихідних дзвінків. Висновок

Налагодження повноцінної офісної АТС на базі Asterisk, установка якого була розглянута в цій статті, включає в себе набагато більше процедур, ніж описано вище. Докладна інформація про сервер телефонії та його можливості представлена до офіційної документації по Asterisk.



Категория: Техника