Как установить Asterisk в Ubuntu 18.04

Asterisk — самая популярная и широко используемая платформа PBX с открытым исходным кодом, которая поддерживает системы IP PBX, серверы конференций и шлюзы VoIP. Он используется частными лицами, малым бизнесом, крупными предприятиями и правительствами по всему миру.

Функции Asterisk включают голосовую почту, музыку в режиме ожидания, конференц-связь, постановку вызовов в очередь, запись разговоров, интерактивный голосовой ответ и многое другое.

Это руководство проведет вас через шаги, необходимые для установки Asterisk 15 в Ubuntu 18.04.

Более старая версия Asterisk (версия 13) доступна в репозитории программного обеспечения Ubuntu и может быть легко установлена с помощью apt install asterisk .

Подготовка

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Обновите свою систему Ubuntu и установите следующие пакеты, необходимые для загрузки и сборки Asterisk:

sudo apt update && sudo apt upgradesudo apt install wget build-essential subversion

Скачивание Asterisk

Мы собираемся загрузить исходный код Asterisk в каталог /usr/src который является обычным местом для размещения исходных файлов, перейдите в каталог с помощью:

cd /usr/src/

Загрузите последнюю версию Asterisk 15, используя следующую команду wget :

sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz

После завершения загрузки распакуйте архив с помощью:

sudo tar zxf asterisk-15-current.tar.gz

Прежде чем перейти к следующим шагам, убедитесь, что вы перешли в исходный каталог Asterisk, набрав:

cd asterisk-15.*/

Установка зависимостей Asterisk

Следующий скрипт загрузит исходники MP3, необходимые для сборки модуля MP3 и использования файлов MP3 в Asterisk:

sudo contrib/scripts/get_mp3_source.sh

Используйте сценарий install_prereq для разрешения всех зависимостей в вашей системе Ubuntu:

sudo contrib/scripts/install_prereq install

Скрипт установит все необходимые пакеты и после успешного завершения выведет следующее сообщение:

#############################################
## install completed successfully
#############################################

Установка Asterisk

Сценарий configure выполнит ряд проверок, чтобы убедиться, что все зависимости в вашей системе присутствуют, запустите сценарий, набрав:

sudo ./configure

После успешного завершения вы увидите следующий результат:

Следующим шагом является выбор модулей, которые вы хотите скомпилировать и установить. Войдите в систему Menuselect, набрав:

sudo make menuselect

Мы уже скачали исходные файлы MP3, и теперь нам нужно указать Asterisk создать модуль MP3, выбрав format_mp3 :

Когда вы закончите, нажмите F12 чтобы сохранить и выйти, или переключитесь на кнопку « Save and Exit и нажмите Enter .

Теперь мы можем запустить процесс компиляции с помощью команды make :

sudo make -j2
В зависимости от вашей системы компиляция может занять некоторое время. Вы можете изменить флаг -j соответствии с количеством ядер вашего процессора.

После завершения процесса сборки вам будет представлено следующее сообщение:

Как говорится в сообщении выше, следующим шагом будет установка Asterisk и его модулей, набрав:

sudo make install

По завершении установки сценарий отобразит следующее сообщение:

Теперь, когда у нас установлен Asterisk, нам нужно установить образцы файлов конфигурации.

Установите либо общие файлы конфигурации со справочной документацией, набрав:

sudo make samples

Или установите базовые файлы конфигурации АТС:

sudo make basic-pbx

Последний шаг — установить сценарий инициализации Asterisk, набрав:

sudo make config

Также неплохо запустить ldconfig для обновления кеша разделяемых библиотек:

sudo ldconfig

Создание пользователя Asterisk

По умолчанию Asterisk запускается от имени пользователя root. По соображениям безопасности мы создадим нового системного пользователя и настроим Asterisk для работы от имени вновь созданного пользователя.

Чтобы создать нового системного пользователя с именем asterisk выполните следующую команду:

sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk

Чтобы настроить Asterisk для запуска от имени пользователя asterisk , откройте файл /etc/default/asterisk и раскомментируйте следующие две строки:

/etc/default/asterisk
AST_USER="asterisk"
AST_GROUP="asterisk"

Добавьте пользователя asterisk в группы dialout и audio :

sudo usermod -a -G dialout,audio asterisk

Нам также необходимо изменить владельца и разрешения для всех файлов и каталогов asterisk, чтобы пользователь asterisk мог получить доступ к этим файлам:

sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisksudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk

Запуск Asterisk

Теперь, когда мы все настроены, мы можем запустить службу Asterisk с помощью следующей команды:

sudo systemctl start asterisk

Чтобы убедиться, что Asterisk работает, подключитесь к интерфейсу командной строки Asterisk (CLI), набрав:

sudo asterisk -vvvr

Вы увидите приглашение Asterisk CLI по умолчанию:

Последний шаг — разрешить запуск службы Asterisk при загрузке:

sudo systemctl enable asterisk

Настройка межсетевого экрана

Брандмауэр защитит ваш сервер от нежелательного трафика.

Если на вашем сервере не настроен брандмауэр, вы можете ознакомиться с нашим руководством о том, как настроить брандмауэр с ufw на ubuntu.

По умолчанию SIP использует UDP-порт 5060, чтобы открыть порт:

sudo ufw allow 5060/udp

Если вы включили протокол реального времени (RTP), вам также необходимо открыть следующий диапазон портов:

sudo ufw allow 10000:20000/udp

Не стесняйтесь настраивать брандмауэр в соответствии с вашими потребностями.

Выводы

В этом руководстве мы показали вам, как установить последнюю версию Asterisk из исходного кода в вашей системе Ubuntu.

Теперь вам следует проверить документацию по Asterisk и узнать больше о том, как настроить и использовать Asterisk.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Оставьте комментарий

Ваш адрес email не будет опубликован.