1. Скачиваем и распаковываем архив с исходниками с официального сайта
Код: Выделить всё
cd /usr/src/
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
sudo tar zxf asterisk-17-current.tar.gz
cd asterisk-17.*/
Код: Выделить всё
sudo apt install subversion
sudo contrib/scripts/get_mp3_source.sh
sudo contrib/scripts/install_prereq install
Код: Выделить всё
Current status: 27 (-2) upgradable.
#############################################
## install completed successfully
#############################################
Код: Выделить всё
sudo ./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 :
Код: Выделить всё
sudo make menuselect
Выбрав модули в меню нажимаем Save & Exit
5. Запускаем сборку
Код: Выделить всё
sudo make -j2
Код: Выделить всё
+--------- Asterisk Build Complete ---------+
+ Asterisk has successfully been built, and +
+ can be installed by running: +
+ +
+ make install +
+-------------------------------------------+
Код: Выделить всё
sudo make install
Код: Выделить всё
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ For generic reference documentation: +
+ make samples +
+ +
+ For a sample basic PBX: +
+ make basic-pbx +
+ +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+
7. Устанавливаем демо-настройки и производит окончательную конфигурацию
Код: Выделить всё
sudo make samples
sudo make basic-pbx
sudo make config
sudo ldconfig
8. Создаем пользователей и группы пользователей от имени которых будет работать Asterisk 17
Код: Выделить всё
sudo addgroup --quiet --system asterisk
sudo adduser --quiet --system --ingroup asterisk --no-create-home --disabled-password asterisk
Код: Выделить всё
sudo vim /etc/default/asterisk
....
AST_USER="asterisk"
AST_GROUP="asterisk"
....
ВНИМАНИЕ! УСТАНАВЛИВАТЬ ПРАВА ДОСТУПА ОБЯЗАТЕЛЬНО! Без этого при запуске сервиса (а он запустится!) вы "поймаете" кучу очень "интересных" ошибок. Т.е. с виду все будет работать, но не будут ходить звонки, например, не будут до конца отрабатываться exten-ы и т.д.
Код: Выделить всё
sudo usermod -a -G dialout,audio 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
Код: Выделить всё
sudo ufw allow 5060/udp
sudo ufw allow 16384:16684/udp
Код: Выделить всё
sudo ufw disable
Почему-то на некторых сборках сервис Asterisk 17 запускался только после первого "ручного" консольного старта приложения. Поэтому перед запуском сервиса рекомендуется запустить Asterisk 17 как приложение вручную
Код: Выделить всё
sudo asterisk -cvvvvvvvvv
Код: Выделить всё
sudo systemctl enable asterisk
sudo systemctl start asterisk
Код: Выделить всё
sudo asterisk -rvvvvvvvvv