Установка Asterisk на Ubuntu
Давайте рассмотрим как происходит установка Asterisk на Ubuntu. Последние события об отказе IBM от дальнейшей поддержки Centos подталкивают к выбору другой ОС. Из самых популярных и поддерживаемых это конечно Ubuntu, вот её и возьмем для наших экспериментов. Тестировать буду на самой свежей версии на данный момент Ubuntu 20.04 LTS и Asterisk 18.
Для удобства сразу перейдем в режим root
sudo su
Установка необходимого ПО
Установим необходимые пакеты для компиляции приложений
apt-get install build-essential git
Далее необходимо установить библиотеку PJSIP
cd /opt/
git clone https://github.com/pjsip/pjproject.git
cd pjproject
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
make dep
make
make install
ldconfig
Открываем порты в брандмауэре
Если у вас активирован брандмауэр необходимо открыть стандартные порты используемые asterisk
ufw allow 5060/udp
ufw allow 5060/tcp
ufw allow 10000:20000/udp
Предварительная подготовка закончена можно перейти к установке самой Asterisk
Установка Asterisk
cd /opt
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
tar -xvf asterisk-*.tar.gz
cd asterisk-*/
Установим зависимости
./contrib/scripts/install_prereq install
По окончанию установки будет сообщение
Очистим систему от временных файлов установочного пакета
make distclean
Добавим возможность использования mp3
./contrib/scripts/get_mp3_source.sh
Конфигурация исходника Asterisk
./configure --libdir=/usr/lib64
После завершения работы команды конфигурации исходника будет изображение как на картинке ниже
Приступим к выбору дополнительных параметров Asterisk
make menuselect
В первом пункте меню Add-ons отмечаем * все записи под —Extended—
Переходим в пункт Codec Translators и выбираем все кодеки
Заходим в Core Sound Packages и выделяем звуковые пакеты с нужным вам языком, в моем случае это русский RU
И последним пунктом заходим в меню Music On Hold File Packages и отмечаем все пункты
Нажимаем кнопку Save & Exit
Перейдем к компиляции Asterisk из исходников
make
По окончанию отработки команды будет сообщение об успешном завершении
Следом запустим
make install
Понять что все закончилось хорошо можно по сообщению
С установкой Asterisk мы закончили. Добавим примеры настроек в конфигурационные файлы. Данный пункт не обязателен, если примеры вам не нужны, можете пропустить данный пункт.
make samples
Выполним make config
make config
Создаем файл конфигурации
nano /etc/ld.so.conf.d/asterisk.conf
Добавляем в него путь к библиотекам Asterisk
/usr/lib64
Необходимо сохранить файл и выполнить команду
ldconfig
Включим ротацию логов Asterisk
make install-logrotate
Создаём пользователя asterisk
Для работы Asterisk необходимо создать пользователя и дать ему права
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
usermod -aG audio,dialout asterisk
Поменяем владельца папок asterisk на вновь созданного пользователя
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/lib/asterisk
chown -R asterisk.asterisk /var/log/asterisk
chown -R asterisk.asterisk /var/spool/asterisk
chown -R asterisk.asterisk /usr/lib64/asterisk
Запуск сервиса от пользователя asterisk
Укажем сервису asterisk от какого пользователя запускаться. Откроем на редактирование файл asterisk.conf
nano /etc/asterisk/asterisk.conf
Найдем следующие строки и раскомментируем их
runuser = asterisk
rungroup = asterisk
Сохраним файл и запустим asterisk
systemctl start asterisk
Проверить что сервис запустился можно узнав его статус
systemctl status asterisk
Выделенный зеленым цветом статус active говорит о том что сервис запущен.
Добавим сервис asterisk в автозагрузку
systemctl enable asterisk
Проверка работы
Запустим консоль asterisk и удостоверимся что все работает
asterisk -r
Как видно на картинке выше мы успешно вошли в консоль и выполнили команду pjsip show version сообщающую нам о версии библиотеки PJSIP.
Видео процесса установки asterisk на ubuntu смотрите ниже
вуа
не получается исходный код запустить ./configure –libdir=/usr/lib64 выдаёт ошибку
/tmp/pjproject-2.12.1.tar.bz2 повреждённый архив, а почему непонятно
1
Отличный гайд, всё установилось без ошибок:)
Спасибо)
Пожалуйста
Спасибо! Все установилось.
Очень хотелось бы еще гайдо сборки с mysql.
Несколько найденных не запустились.
Пожалуйста