Как установить VoIP-сервер Asterisk 17 на Ubuntu 20.04
На этой странице
- Предпосылки
- Начало работы
- Установить Астериск
- Создание пользователя Astersik
- Настройка Asterisk
- Включить графический интерфейс Asterisk
- Установить графический интерфейс Asterisk
- Доступ к графическому интерфейсу Asterisk
- Заключение
Asterisk — это бесплатный VoIP-сервер с открытым исходным кодом, созданный Sangoma. Он используется для построения инфраструктуры VoIP-телефонии для организаций любого размера. VoIP — это протокол передачи голоса через Интернет, используемый для совершения вызовов с использованием стека TCP/IP. С помощью VoIP вы можете бесплатно звонить со своего мобильного устройства или компьютера на другие устройства. Он работает в операционных системах на базе Unix и Linux и может подключаться к любой традиционной глобальной телефонной сети. Он предлагает набор функций, включая конференц-связь, голосовую почту, IVR и автоматическое распределение вызовов.
В этом руководстве мы узнаем, как установить сервер Asterisk и графический интерфейс Asterisk в Ubuntu 20.04.
Предпосылки
- Сервер под управлением Ubuntu 20.04.
- На вашем сервере настроен статический IP-адрес.
- На сервере настроен пароль root.
Начиная
Сначала обновите системные пакеты до последней версии с помощью следующей команды:
apt-get update -y
После обновления вашей системы вам нужно будет установить другие зависимости, необходимые для Asterisk. Вы можете установить их все с помощью следующей команды:
apt-get install gnupg2 software-properties-common git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev -y
После установки всех пакетов можно переходить к следующему шагу.
Установить Астериск
По умолчанию последняя версия Asterisk недоступна в стандартном репозитории Ubuntu 20.04. Поэтому вам нужно будет скачать и скомпилировать его из исходников.
Сначала загрузите последнюю версию Asterisk с помощью следующей команды:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
После загрузки извлеките загруженный файл с помощью следующей команды:
tar -xvzf asterisk-17-current.tar.gz
Затем измените каталог на извлеченный каталог и установите все необходимые модули MP3 с помощью следующей команды:
cd asterisk-17.7.0
contrib/scripts/get_mp3_source.sh
Вы должны получить следующий результат:
A addons/mp3 A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c Exported revision 202.
Затем установите другие зависимости с помощью следующей команды:
contrib/scripts/install_prereq install
Вы должны увидеть следующий вывод:
############################################# ## install completed successfully #############################################
Далее настройте Астериск с помощью следующей команды:
./configure
Вы должны получить следующий результат:
configure: Menuselect build configuration successfully completed .$$$$$$$$$$$$$$$=.. .$7$7.. .7$$7:. .$$:. ,$7.7 .$7. 7$$$$ .$$77 ..$$. $$$$$ .$$$7 ..7$ .?. $$$$$ .?. 7$$$. $.$. .$$$7. $$$$7 .7$$$. .$$$. .777. .$$$$$$77$$$77$$$$$7. $$$, $$$~ .7$$$$$$$$$$$$$7. .$$$. .$$7 .7$$$$$$$7: ?$$$. $$$ ?7$$$$$$$$$$I .$$$7 $$$ .7$$$$$$$$$$$$$$$$ :$$$. $$$ $$$$$$7$$$$$$$$$$$$ .$$$. $$$ $$$ 7$$$7 .$$$ .$$$. $$$$ $$$$7 .$$$. 7$$$7 7$$$$ 7$$$ $$$$$ $$$ $$$$7. $$ (TM) $$$$$$$. .7$$$$$$ $$ $$$$$$$$$$$$7$$$$$$$$$.$$$$$$ $$$$$$$$$$$$$$$$. configure: Package configured for: configure: OS type : linux-gnu configure: Host CPU : x86_64 configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu : configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
Затем выполните следующую команду, чтобы выбрать и установить некоторые рекомендуемые модули:
make menuselect
Вам будет предложено выбрать нужный модуль. Используйте клавиши со стрелками для навигации и нажмите клавишу Enter, чтобы выбрать, как показано ниже:
Включите надстройки, как показано ниже:
Включите основные звуковые модули, как показано ниже:
Включите пакеты MOH, как показано ниже:
Включите дополнительные звуковые пакеты, как показано ниже:
Когда вы закончите, нажмите кнопку «Сохранить и выйти», чтобы сохранить изменения и установить все дополнения.
Далее вам нужно будет создать Asterisk. Вы можете сделать это с помощью следующей команды:
make
Вы должны увидеть следующий вывод:
+--------- Asterisk Build Complete ---------+ + Asterisk has successfully been built, and + + can be installed by running: + + + + make install + +-------------------------------------------+
Затем установите Астерсик, конфигурацию и образец, выполнив следующую команду:
make install
make samples
make config
ldconfig
Как только вы закончите, вы можете перейти к следующему шагу.
Создать пользователя Астерсик
Далее вам нужно будет создать пользователя Asterisk, группу и изменить владельца каталога конфигурации Asterisk.
Сначала создайте пользователя и группу с помощью следующей команды:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
Затем добавьте пользователя аудио и дозвона в группу Asterisk, выполнив следующую команду:
usermod -aG audio,dialout asterisk
Затем измените владельца каталога конфигурации Asterisk с помощью следующей команды:
chown -R asterisk.asterisk /etc/asterisk
chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
chown -R asterisk.asterisk /usr/lib/asterisk
Как только вы закончите, вы можете перейти к следующему шагу.
Настроить Астериск
Затем отредактируйте файл /etc/default/asterisk и установите для пользователя по умолчанию Asterisk:
nano /etc/default/asterisk
Раскомментируйте следующие строки:
AST_USER="asterisk" AST_GROUP="asterisk"
Сохраните и закройте файл, когда закончите, затем отредактируйте файл конфигурации Asterisk по умолчанию и установите для запуска от имени пользователя значение asterisk:
nano /etc/asterisk/asterisk.conf
Раскомментируйте следующие строки:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Сохраните и закройте файл, затем запустите службу Asterisk и включите ее запуск при перезагрузке системы с помощью следующей команды:
systemctl restart asterisk
systemctl enable asterisk
Теперь вы можете проверить статус службы Asterisk с помощью следующей команды:
systemctl status asterisk
Вы должны получить следующий результат:
? asterisk.service - LSB: Asterisk PBX Loaded: loaded (/etc/init.d/asterisk; generated) Active: active (running) since Mon 2020-10-19 12:39:41 UTC; 2min 49s ago Docs: man:systemd-sysv-generator(8) Process: 47946 ExecStart=/etc/init.d/asterisk start (code=exited, status=0/SUCCESS) Tasks: 71 (limit: 4691) Memory: 41.7M CGroup: /system.slice/asterisk.service ??47965 /usr/sbin/asterisk -U asterisk -G asterisk Oct 19 12:39:41 ubunt4 systemd[1]: Starting LSB: Asterisk PBX... Oct 19 12:39:41 ubunt4 asterisk[47946]: * Starting Asterisk PBX: asterisk Oct 19 12:39:41 ubunt4 asterisk[47946]: ...done.
Затем проверьте подключение Asterisk с помощью следующей команды:
asterisk -rvv
Вы должны получить следующий результат:
Asterisk 17.7.0, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Running as user 'asterisk' Running under group 'asterisk' Connected to Asterisk 17.7.0 currently running on ubunt4 (pid = 47965) ubunt4*CLI>
Включить графический интерфейс Астериск
Чтобы получить доступ к Asterisk из веб-браузера, вам необходимо включить графический интерфейс Asterisk. Сначала отредактируйте файл /etc/asterisk/http.conf:
nano /etc/asterisk/http.conf
Раскомментируйте и измените следующие строки:
enabled = yes bindaddr = 0.0.0.0 bindport = 8088 prefix = asterisk enable_static = yes enablestatic = yes redirect = / /static/config/index.html uploads = /var/lib/asterisk/uploads/
Сохраните и закройте файл, затем отредактируйте файл /etc/asterisk/manager.conf и установите пользователя-администратора:
nano /etc/asterisk/manager.conf
Добавьте/измените следующие строки:
enabled = yes webenabled = yes port = 5038 bindaddr = 0.0.0.0 [admin] secret = admin1234 read = system,call,log,verbose,command,agent,user,config write = system,call,log,verbose,command,agent,user,config,originate
Сохраните и закройте файл, когда закончите.
Установить графический интерфейс Астериск
Затем загрузите последнюю версию графического интерфейса Asterisk с помощью следующей команды:
svn checkout http://svn.digium.com/svn/asterisk-gui/branches/2.0
После загрузки измените каталог на загруженный каталог и настройте его с помощью следующей команды:
cd 2.0/
./configure
Затем создайте графический интерфейс Asterisk с помощью следующей команды:
make
Вы должны получить следующий результат:
+------- Asterisk-GUI Build Complete -------+ + Asterisk-GUI has successfully been built, + + and can be installed by running: + + + + make install + +-------------------------------------------+
Затем выполните следующую команду, чтобы установить его в свою систему:
make install
Вы должны увидеть следующий вывод:
+---- Asterisk GUI Installation Complete ---+ + + + YOU MUST READ THE SECURITY DOCUMENT + + + + Asterisk-GUI has successfully been + + installed. + + + +-------------------------------------------+ + + + BEFORE THE GUI WILL WORK + + + + Before the GUI will run, you must perform + + some modifications to the Asterisk + + configuration files in accordance with + + the README file. When done, you can + + check your changes by doing: + + + + make checkconfig + + + +-------------------------------------------+
Наконец, перезапустите службу Asterisk, чтобы применить изменения:
systemctl restart asterisk
Доступ к графическому интерфейсу Asterisk
Теперь откройте веб-браузер и войдите в графический интерфейс Asterisk, используя URL-адрес http://ваш-сервер-ip:8088/asterisk/static/config/index.html. Вы будете перенаправлены на следующую страницу:
Укажите имя пользователя и пароль администратора и нажмите кнопку «Войти». Вы должны увидеть панель инструментов Asterisk GUI на следующей странице:
Заключение
Поздравляем! вы успешно установили Asterisk и графический интерфейс Asterisk на сервер Ubuntu 20.04. Теперь вы можете подключить свой сервер к любой сети PSTN и начать звонить абсолютно бесплатно.