Введение
Asterisk — популярная платформа АТС с открытым исходным кодом для разработки коммуникационных приложений, таких как серверы конференций и шлюзы VoIP. Он используется частными лицами, малыми предприятиями, крупными корпорациями и правительствами по всему миру.
Функции Asterisk включают голосовую почту, музыку на удержании, конференц-связь, организацию очереди звонков, запись звонков, интерактивный голосовой ответ, SMS-сообщения и многое другое.
В этом руководстве объясняется, как установить Asterisk на Ubuntu 20.04 LTS Focal Fossa.
Репозитории Ubuntu включают более старую версию Asterisk. Мы установим последнюю версию Asterisk из исходного кода.
Если вы хотите установить Asterisk на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.
Подключение к серверу
Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:
ssh root@IP_DEL_SERVER
Далее вам нужно будет ввести пароль пользователя root.
Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:
ssh nome_utente@IP_DEL_SERVER
Затем вам будет предложено ввести пароль пользователя.
Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Предпосылки
Установите следующие пакеты, необходимые для загрузки и создания Asterisk:
sudo apt update
sudo apt install wget build-essential git autoconf subversion pkg-config libtool
Установите DAHDI и LibPRI
DAHDI — это набор драйверов и утилит, которые позволяют Asterisk взаимодействовать с аналоговыми и цифровыми телефонами. Библиотека LibPRI позволяет Asterisk взаимодействовать с соединениями ISDN. Если вам не нужны эти библиотеки, вы можете пропустить этот раздел.
Перейдите в каталог /usr/src
, загрузите и установите DAHDI:
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/linux dahdi-linux
cd dahdi-linux
sudo make
sudo make install
Впоследствии:
cd /usr/src/
sudo git clone -b next git://git.asterisk.org/dahdi/tools dahdi-tools
cd dahdi-tools
sudo autoreconf -i
sudo./configure
sudo make install
sudo make install-config
sudo dahdi_genconf modules
Выполните следующие команды, чтобы создать LibPRI:
cd /usr/src/
sudo git clone https://gerrit.asterisk.org/libpri libpri
cd libpri
sudo make
sudo make install
Установить Астериск
Клонируем исходники Asterisk в директорию /usr/src
:
cd /usr/src/
sudo git clone -b 18 https://gerrit.asterisk.org/asterisk asterisk-18
На момент написания последней версией Asterisk была 18.x. Если доступна новая версия, измените номер ветки в предыдущей команде.
Прежде чем перейти к следующим шагам, перейдите в исходный каталог Asterisk:
cd asterisk-18/
Загрузите исходники MP3, необходимые для сборки модуля MP3, и используйте файлы MP3 в Asterisk:
sudo contrib/scripts/get_mp3_source.sh
Запустите скрипт install_prereq
, чтобы установить необходимые зависимости:
sudo contrib/scripts/install_prereq install
Сценарий configure
выполняет несколько проверок, чтобы убедиться в наличии всех зависимостей от системы. Запустите скрипт, набрав:
sudo./configure
Следующим шагом является выбор модулей, которые вы хотите скомпилировать и установить. Войдите в меню выбора, набрав:
sudo make menuselect
Выберите параметр « format_mp3 », чтобы указать Asterisk создать модуль MP3:
После этого перейдите к кнопке « Сохранить и выйти » и нажмите « Ввод ».
Запустите процесс сборки:
sudo make -j2
Компиляция может занять некоторое время, в зависимости от вашей системы. Вы можете изменить флаг -j
в зависимости от количества ядер в процессоре.
После завершения установите Asterisk и его модули, набрав:
sudo make install
Вы можете установить общие файлы конфигурации со справочной документацией, набрав:
sudo make samples
Или установите базовые файлы конфигурации АТС:
sudo make basic-pbx
Последний шаг — установить скрипт инициализации Asterisk, набрав:
sudo make config
Также рекомендуется запустить ldconfig
для обновления кэша разделяемой библиотеки:
sudo ldconfig
Создайте пользователя Астериск
По умолчанию Asterisk запускается от имени пользователя root. Мы создадим нового системного пользователя и настроим Asterisk для запуска от имени вновь созданного пользователя из соображений безопасности.
Выполните следующую команду, чтобы создать нового системного пользователя с именем asterisk
:
sudo adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
Чтобы настроить Asterisk для запуска от имени пользователя asterisk
, откройте файл /etc/default/asterisk
и раскомментируйте следующие две строки:
sudo nano /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/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib/asterisk /etc/asterisk
Запустить Астериск
Теперь, когда вы готовы, запустите службу Asterisk с помощью следующей команды:
sudo systemctl start asterisk
Чтобы убедиться, что Asterisk работает, подключитесь к интерфейсу командной строки Asterisk (CLI), набрав:
sudo asterisk -vvvr
Вы увидите приглашение CLI Asterisk по умолчанию:
Connected to Asterisk GIT-18-759f906dr5 currently running on ubuntu2004 (pid = 82101)
ubuntu2004*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 20.04 LTS Focal Fossa.
Чтобы узнать больше о том, как настроить и использовать Asterisk, ознакомьтесь с официальной документацией.