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.