Поиск по сайту:

Как установить VoIP-сервер Asterisk 17 на Ubuntu 20.04


На этой странице

  1. Предпосылки
  2. Начало работы
  3. Установить Астериск
  4. Создание пользователя Astersik
  5. Настройка Asterisk
  6. Включить графический интерфейс Asterisk
  7. Установить графический интерфейс Asterisk
  8. Доступ к графическому интерфейсу Asterisk
  9. Заключение

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 и начать звонить абсолютно бесплатно.