Новини високих технологій
» » Asterisk: установка та інструкція

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

21-01-2018, 21:29
1 358
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. Тому для успішної установки і роботи сервера її необхідно відключити.


<script type="text/jаvascript">
var blockSettings2 = {blockId:"R-A-70350-2",renderTo:"yandex_rtb_R-A-70350-2",async:!0};

if(document.cookie.indexOf("abmatch=") >= 0){
blockSettings2 = {blockId:"R-A-70350-2",renderTo:"yandex_rtb_R-A-70350-2",statId:70350async:!0};
}

!function(a,b,c,d,e){a[c]=a[c]||[],a[c]

Якщо система повідомляє, що 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 здійснюється в наведеній нижче послідовності.


<script type="text/jаvascript">
var blockSettings3 = {blockId:"R-A-70350-3",renderTo:"yandex_rtb_R-A-70350-3",async:!0};

if(document.cookie.indexOf("abmatch=") >= 0){
blockSettings3 = {blockId:"R-A-70350-3",renderTo:"yandex_rtb_R-A-70350-3",statId:70350async:!0};
}

!function(a,b,c,d,e){a[c]=a[c]||[],a[c].push(function(){Ya.Context.AdvManager.render(blockSettings3)}),e=b.getElementsByTagName("script")[0],d=b.createElement("script"),d.type="text/jаvascript",d.src="//an.yandex.ru/system/context.js",d.async=!0e.parentNode.insertBefore(d,e)}(this,this.document,"yandexContextAsyncCallbacks");

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

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

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,1Dial(SIP/${РОЗШИРЕННЯМИ})

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

Створення першого SIP транк

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

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

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

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


розширеннями => _XXXXXXX.,1Dial(SIP/trunk1/${РОЗШИРЕННЯМИ}) Це дозволить встановити зв'язок з провайдером для здійснення вихідних дзвінків.

Висновок

Налагодження повноцінної офісної АТС на базі Asterisk, установка якого була розглянута в цій статті, включає в себе набагато більше процедур, ніж описано вище. Докладна інформація про сервер телефонії та його можливості представлена до офіційної документації по Asterisk.
Цікаво по темі
Postfix: настройка, установка. Поштовий сервер Postfix
Postfix: настройка, установка. Поштовий сервер Postfix
У цій статті ми розберемо, як налаштувати поштовий сервер Postfix на базі Ubuntu Linux. Ознайомившись з рекомендаціями, ви зможете відправляти і
Як використовувати Putty: команди і корисні функції
Як використовувати Putty: команди і корисні функції
У цьому матеріалі ми познайомимося з PuTTY, безкоштовним клієнтом терміналу для Windows, який дозволяє віддалено керувати серверами на базі Linux по
Установка PhpMyAdmin в різних операційних системах
Установка PhpMyAdmin в різних операційних системах
Як встановити PhpMyAdmin в Ubuntu, CentOS і Debian. Особливості установки LAMP для використання PhpMyAdmin.
Огляд CentOS 7: установка, особливості налаштування та рекомендації
Огляд CentOS 7: установка, особливості налаштування та рекомендації
Коротка інструкція по роботі з серверної операційної системи CentOS 7. Керівництво по налаштуванню сервера і основних компонентів, необхідних для
Огляд характеристик відеокарти ATI Mobility Radeon HD 4200
Огляд характеристик відеокарти ATI Mobility Radeon HD 4200
ATI Mobility Radeon HD 4200 – це попередня серії інтегрована карта. Розглянемо основні характеристики цього інтегрованого рішення, а також результати
Asterisk - команди. Робота з консоллю Asterisk
Asterisk - команди. Робота з консоллю Asterisk
Огляд системи Asterisk і команд для роботи з нею. Консольний введення і використання віддаленого з'єднання.