Информация на этой странице находится в доработке. Информация может добавляться (и / или) изменяться.
Устанавливаем #Asterisk на ОС #Debian и создаём под него отдельного пользователя.
Перед сборкой #Asterisk необходимо обновить пакеты ОС #Debian:
1
| apt update && apt --yes full-upgrade
|
Сборку #Asterisk необходимо выполнять находясь в его директории.
Добавляем возможность использования MP3 и устанавливаем все зависимости для сборки:
1
| bash ./contrib/scripts/get_mp3_source.sh && bash ./contrib/scripts/install_prereq install
|
Выполняем конфигурирование и настройку компонентов:
1
| ./configure && make menuselect.makeopts && menuselect/menuselect --enable app_macro --enable chan_ooh323 --enable format_mp3 --enable codec_opus --enable CORE-SOUNDS-EN-WAV --enable CORE-SOUNDS-EN-ULAW --enable CORE-SOUNDS-EN-ALAW --enable CORE-SOUNDS-EN-GSM --enable CORE-SOUNDS-RU-WAV --enable CORE-SOUNDS-RU-ULAW --enable CORE-SOUNDS-RU-ALAW --enable CORE-SOUNDS-RU-GSM menuselect.makeopts
|
Устанавливаются следующие компоненты:
app_macro
chan_ooh323
format_mp3
codec_opus
CORE-SOUNDS-EN-WAV
CORE-SOUNDS-EN-ULAW
CORE-SOUNDS-EN-ALAW
CORE-SOUNDS-EN-GSM
CORE-SOUNDS-RU-WAV
CORE-SOUNDS-RU-ULAW
CORE-SOUNDS-RU-ALAW
CORE-SOUNDS-RU-GSM
После конфигурирования, начинаем сборку:
1
| make && make install && make basic-pbx && make config && ldconfig
|
По умолчанию, #Asterisk использует пользователя root
для работы. Это немного не правильно, сделаем так, чтобы #Asterisk работал под своим пользователем. Создаём пользователя:
1
| u='asterisk'; groupadd ${u} && useradd -r -d /var/lib/${u} -g ${u} ${u} && usermod -aG audio,dialout ${u} && chown -R ${u}:${u} /etc/${u} && chown -R ${u}:${u} /var/{lib,log,spool}/${u} && chown -R ${u}:${u} /usr/lib/${u}
|
После создания пользователя, необходимо отредактировать конфигурационные файлы, чтобы указать Asterisk’у под каким пользователем осуществлять запуск:
1
| sed -i -e 's|#AST_USER="asterisk"|AST_USER="asterisk"|g' -e 's|#AST_GROUP="asterisk"|AST_GROUP="asterisk"|g' '/etc/default/asterisk' && sed -i -e 's|;runuser = asterisk|runuser = asterisk|g' -e 's|;rungroup = asterisk|rungroup = asterisk|g' '/etc/asterisk/asterisk.conf'
|
Указываем автоматический запуск службы #Asterisk:
1
| systemctl enable --now asterisk
|
Проверяем:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| systemctl status asterisk
● asterisk.service - LSB: Asterisk PBX
Loaded: loaded (/etc/init.d/asterisk; generated)
Active: active (running) since Thu 2024-04-04 11:51:43 UTC; 2h 5min ago
Docs: man:systemd-sysv-generator(8)
Process: 791 ExecStart=/etc/init.d/asterisk start (code=exited, status=0/SUCCESS)
Tasks: 35 (limit: 1013)
Memory: 61.1M
CPU: 36.239s
CGroup: /system.slice/asterisk.service
└─871 /usr/sbin/asterisk -U asterisk -G asterisk
Apr 04 11:51:42 phone systemd[1]: Starting LSB: Asterisk PBX...
Apr 04 11:51:43 phone asterisk[791]: * Starting Asterisk PBX: asterisk
Apr 04 11:51:43 phone asterisk[791]: ...done.
Apr 04 11:51:43 phone systemd[1]: Started LSB: Asterisk PBX.
|
Заходим в консоль #Asterisk и проверяем работу:
1
2
3
4
5
6
7
8
9
10
11
12
13
| asterisk -rvv
Asterisk 20.7.0, Copyright (C) 1999 - 2022, Sangoma Technologies Corporation and others.
Created by Mark Spencer <markster@digium.com>
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 20.7.0 currently running on phone (pid = 871)
phone*CLI>
|
1
| mkdir /etc/asterisk/keys
|
1
| nano /etc/asterisk/pjsip.conf
|
1
2
3
4
5
6
| [transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:5061
cert_file=/etc/asterisk/keys/asterisk.crt
priv_key_file=/etc/asterisk/keys/asterisk.key
|