Asterisk перебуває в авангарді сучасних телекомунікаційних технологій. Будучи платформою АТС з відкритим вихідним кодом, вона пропонує універсальний набір інструментів для управління голосовим зв’язком через IP (VoIP), конференц-зв’язком, системами інтерактивної голосової відповіді (IVR) і комплексним управлінням викликами. Гнучкість і міць цієї платформи роблять її привабливим вибором для компаній, які прагнуть оптимізувати свою комунікаційну інфраструктуру.
Попередні умови
Перш ніж приступити до процесу встановлення, необхідно переконатися, що ваша система відповідає необхідним вимогам і належним чином підготовлена. У цьому розділі описано основні передумови для успішного встановлення Asterisk на Ubuntu 24.04.
Системні вимоги
- Машина під керуванням Ubuntu 24.04 LTS (серверна або настільна версія)
- Мінімум 1 ГБ оперативної пам’яті (для виробничого використання рекомендується 2 ГБ або більше)
- Багатоядерний процесор (мінімум 2 ядра, рекомендується 4 і більше для більшої продуктивності)
- Не менше 10 ГБ вільного дискового простору
- Активне підключення до інтернету для завантаження пакетів і залежностей
Дозволи користувача
Щоб встановити Asterisk, вам знадобляться права адміністратора в системі Ubuntu. Переконайтеся, що у вас є доступ sudo або ви увійшли в систему як користувач root. У цьому посібнику ми будемо використовувати sudo для виконання команд, які потребують підвищених привілеїв.
Конфігурація мережі
Переконайтеся, що ваша система має стабільне підключення до Інтернету. Воно знадобиться для завантаження пакетів і залежностей під час інсталяції. Якщо ви використовуєте брандмауер, переконайтеся, що він дозволяє вихідні з’єднання з репозиторіями пакетів і серверами завантаження.
Огляд залежностей
Для правильної компіляції та роботи Asterisk потрібно кілька залежностей. Ми встановимо ці пакети в процесі встановлення, але не зайвим буде знати про них:
- build-essential: Надає необхідні інструменти для компіляції
- git: Для контролю версій і завантаження додаткових ресурсів
- curl: Використовується для завантаження файлів і скриптів
- libssl-dev: Файли розробки OpenSSL для безпечних комунікацій
- libncurses5-dev: Файли розробки для бібліотеки ncurses
- libxml2-dev: Бібліотека для розбору XML
- libsqlite3-dev: Движок бази даних SQLite
- uuid-dev: бібліотека універсальних унікальних ідентифікаторів
З огляду на ці попередні умови, давайте перейдемо до покрокового процесу встановлення.
Покроковий посібник зі встановлення
Дотримуйтесь цих детальних кроків, щоб встановити Asterisk на вашу систему Ubuntu 24.04. Кожен крок має вирішальне значення для успішного встановлення, тому виконуйте їх по порядку та уважно.
Крок 1: Оновлення системи та встановлення залежностей
Почніть з оновлення списку пакетів системи та оновлення наявних пакетів до останніх версій. Це гарантує наявність найостанніших оновлень програмного забезпечення та безпеки.
sudo apt update && sudo apt upgrade -y
Потім встановіть необхідні залежності для компіляції та запуску Asterisk:
sudo apt install -y unzip git sox gnupg2 curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev libedit-dev uuid-dev
Ці пакети містять необхідні бібліотеки та інструменти, необхідні для процесу складання Asterisk і його різних функцій.
Крок 2: Завантаження та вилучення вихідного коду Asterisk
Тепер давайте завантажимо останню стабільну версію Asterisk. Для зберігання вихідних файлів ми будемо використовувати каталог /usr/src:
cd /usr/src/
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz
Після завантаження розпакуйте tarball:
sudo tar zxf asterisk-22-current.tar.gz
Перейдіть у розпакований каталог:
cd asterisk-*/
Підставний знак «зірочка-*» гарантує, що ви введете правильний каталог, незалежно від номера версії.
Крок 3: Підготовка до компіляції
Перед компіляцією Asterisk нам потрібно підготувати середовище збірки і переконатися, що всі необхідні модулі доступні.
Спочатку візьміть вихідні коди MP3 для підтримки звуку:
sudo contrib/scripts/get_mp3_source.sh
Потім запустіть сценарій встановлення попередніх умов, щоб переконатися, що всі необхідні пакети встановлені:
sudo contrib/scripts/install_prereq install
Тепер налаштуйте середовище складання:
sudo ./configure
Після налаштування скористайтеся інструментом menuselect, щоб вибрати модулі для компіляції. Цей крок дасть вам змогу налаштувати встановлення Asterisk:
sudo make menuselect
В інтерфейсі menuselect переконайтеся, що основні звукові модулі ввімкнено. Також увімкніть підтримку MP3, вибравши модуль format_mp3. Використовуйте клавіші зі стрілками для навігації, пробіл для вибору/скасування опцій і Enter для підтвердження вибору.
Крок 4: Компіляція та встановлення Asterisk
Після завершення налаштування настав час скомпілювати Asterisk. Цей процес може зайняти деякий час, залежно від продуктивності вашої системи:
sudo make -j$(nproc)
Опція -j$(nproc) вказує make використовувати всі доступні ядра процесора, що прискорює процес компіляції.
Після компіляції встановіть Asterisk:
sudo make install
Встановіть зразки конфігураційних файлів, які стануть відправною точкою для налаштування Asterisk:
sudo make samples
Для базової конфігурації АТС ви також можете виконати:
sudo make basic-pbx
Крок 5: Налаштування системних служб для Asterisk
Щоб Asterisk автоматично запускався в системі і міг управлятися як служба, встановіть скрипти init:
sudo make config
Оновіть кеш загальних бібліотек, щоб переконатися, що всі бібліотеки Asterisk розпізнані системою:
sudo ldconfig
Крок 6: Створіть виділеного користувача для Asterisk
З метою безпеки найкраще запускати Asterisk під виділеним обліковим записом користувача. Створіть користувача і групу asterisk:
sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
Встановіть правильні права власності та дозволи для каталогів Asterisk:
sudo chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk
Крок 7: Запуск і перевірка Asterisk
Коли все готово, настав час запустити службу Asterisk:
sudo systemctl start asterisk
Увімкніть автоматичний запуск Asterisk під час завантаження системи:
sudo systemctl enable asterisk
Переконайтеся, що Asterisk працює правильно, зайшовши в інтерфейс командного рядка (CLI) Asterisk:
sudo asterisk -rvvv
Якщо ви бачите запрошення Asterisk CLI, вітаємо! Ваше встановлення Asterisk запущено.
Конфігурація після встановлення
Після успішного встановлення Asterisk необхідно виконати кілька додаткових кроків з налаштування, щоб забезпечити оптимальну продуктивність і безпеку.
Налаштування брандмауера
Якщо ви використовуєте вбудований в Ubuntu брандмауер ufw, вам потрібно буде відкрити необхідні порти для зв’язку Asterisk. Ось як дозволити SIP-трафік:
sudo ufw allow proto udp from any to any port 5060,5061 comment 'Allow SIP'
Для потокового передавання мультимедіа за протоколом RTP відкрийте низку портів (зазвичай 10000-20000, але можна налаштувати за потребою):
sudo ufw allow proto udp from any to any port 10000:20000 comment 'Allow RTP Media'
Базове налаштування плану набору номера
План набору номера – це серце логіки маршрутизації викликів в Asterisk. Ось простий приклад для початку роботи. Відредагуйте файл /etc/asterisk/extensions.conf:
sudo nano /etc/asterisk/extensions.conf
Додайте таку базову конфігурацію:
[internal]
exten => 100,1,Answer()
same => n,Wait(1)
same => n,Playback(hello-world)
same => n,Hangup()
[from-external]
exten => 200,1,Answer()
same => n,Dial(SIP/internal/100,20)
same => n,Voicemail(100@default)
same => n,Hangup()
Цей простий план набору створює внутрішній внутрішній номер (100), який відтворює повідомлення «hello world», і зовнішній номер (200), який дзвонить на внутрішній номер 100 і переходить на голосову пошту, якщо не відповідає.
Усунення загальних проблем
Навіть за ретельного встановлення ви можете зіткнутися з деякими проблемами. Нижче наведено рішення поширених проблем:
Помилки залежностей під час встановлення
Якщо ви зіткнулися з помилками залежностей, спробуйте запустити сценарій install_prereq ще раз:
sudo contrib/scripts/install_prereq install
Якщо проблеми зберігаються, встановіть відсутні пакети вручну за допомогою apt.
Служба не запускається
Якщо Asterisk не запускається, перевірте системні журнали на наявність підказок:
sudo journalctl -xe | grep asterisk
До поширених проблем належать проблеми з правами доступу або конфлікти портів. Переконайтеся, що всі каталоги Asterisk мають правильне право власності і що жодні інші служби не використовують порти Asterisk.
Проблеми з підключенням SIP-клієнтів
Якщо клієнти SIP не можуть підключитися, перевірте налаштування брандмауера:
sudo ufw status
Переконайтеся, що необхідні порти (5060, 5061 і ваш діапазон RTP) відкриті. Також перевірте SIP-налаштування Asterisk в /etc/asterisk/sip.conf або /etc/asterisk/pjsip.conf на наявність неправильних конфігурацій.
Вітаємо! Ви успішно встановили Asterisk. Для отримання додаткової допомоги або корисної інформації ми рекомендуємо вам відвідати офіційний сайт Asterisk.