Установка Asterisk на Ubuntu 16

Установка Asterisk на Ubuntu 16

В данной статье рассматривается установка Asterisk из исходников на Ubuntu 16. Статья описывается как набор пунктов для действий и может расцениваться как шпаргалка к действию. Информация по установке ориентирована на wiki.

1. Обновляем пакетную базу
apt-get update

2. Создаем папку где будем хранить наши исходные коды
mkdir /usr/local/src/soft
cd /usr/local/src/soft/

3. Скачиваем исходники Asterisk
wget downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz

4. Если будем использовать потоки E1, то дополнительно устанавливаем софт для работы с платой потока – libpri, dahdi-linux, dahdi-tools, dahdi-complete. У меня платы нет использовать потоки не планирую, поэтому пропускаю

5. Распаковываем
tar -zxvf asterisk-14-current.tar.gz

6. Устанавливаем необходимые пакеты
apt-get install build-essential
apt-get install libncurses5-dev
apt-get install openssl libxml2-dev

7. Устанавливаем pjsip
wget pjsip.org/release/2.6/pjproject-2.6.tar.bz2
tar -xjvf pjproject-2.6.tar.bz2
./configure --prefix=/usr --enable-shared --disable-sound --disable-resample --disable-video --disable-opencore-amr CFLAGS='-O2 -DNDEBUG'
make dep
make
make install
ldconfig
ldconfig -p | grep pj
 libpjsua2.so.2 (libc6,x86-64) => /usr/lib/libpjsua2.so.2
libpjsua2.so (libc6,x86-64) => /usr/lib/libpjsua2.so
libpjsua.so.2 (libc6,x86-64) => /usr/lib/libpjsua.so.2
libpjsua.so (libc6,x86-64) => /usr/lib/libpjsua.so
libpjsip.so.2 (libc6,x86-64) => /usr/lib/libpjsip.so.2
libpjsip.so (libc6,x86-64) => /usr/lib/libpjsip.so
libpjsip-ua.so.2 (libc6,x86-64) => /usr/lib/libpjsip-ua.so.2
libpjsip-ua.so (libc6,x86-64) => /usr/lib/libpjsip-ua.so
libpjsip-simple.so.2 (libc6,x86-64) => /usr/lib/libpjsip-simple.so.2
libpjsip-simple.so (libc6,x86-64) => /usr/lib/libpjsip-simple.so
libpjnath.so.2 (libc6,x86-64) => /usr/lib/libpjnath.so.2
libpjnath.so (libc6,x86-64) => /usr/lib/libpjnath.so
libpjmedia.so.2 (libc6,x86-64) => /usr/lib/libpjmedia.so.2
libpjmedia.so (libc6,x86-64) => /usr/lib/libpjmedia.so
libpjmedia-videodev.so.2 (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so.2
libpjmedia-videodev.so (libc6,x86-64) => /usr/lib/libpjmedia-videodev.so
libpjmedia-codec.so.2 (libc6,x86-64) => /usr/lib/libpjmedia-codec.so.2
libpjmedia-codec.so (libc6,x86-64) => /usr/lib/libpjmedia-codec.so
libpjmedia-audiodev.so.2 (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so.2
libpjmedia-audiodev.so (libc6,x86-64) => /usr/lib/libpjmedia-audiodev.so
libpjlib-util.so.2 (libc6,x86-64) => /usr/lib/libpjlib-util.so.2
libpjlib-util.so (libc6,x86-64) => /usr/lib/libpjlib-util.so
libpj.so.2 (libc6,x86-64) => /usr/lib/libpj.so.2
libpj.so (libc6,x86-64) => /usr/lib/libpj.so

8. Устанавливаем Asterisk
Сначала скриптом нужные пакеты
./install_prereq install
cd /usr/local/src/soft/asterisk-14.3.0
./configure
make menuselect
Добавил утилиту для работы с SMS, звуковые файлы для распространенных типов кодеков, проверил pjsip
make
make install
make samples
make config
make install-logrotate
Запускаем
/etc/init.d/asterisk status
/etc/init.d/asterisk start

9. Установим нужный софт
apt-get install ntp
apt-get install htop iotop atop ntop vim
apt-get install sendemail

10. Настроим правильный запуск asterisk по умолчанию от root
Подготавливаем пользователя от имени которого будет работать asterisk по умолчанию root
adduser --system --group --home /var/lib/asterisk --no-create-home --gecos "Asterisk PBX" asterisk
adduser asterisk dialout
adduser asterisk audio
adduser www-data asterisk
mkdir -p /var/run/asterisk
chown -R asterisk:asterisk /var/lib/asterisk
chown -R asterisk:asterisk /var/log/asterisk
chown -R asterisk:asterisk /var/run/asterisk
chown -R asterisk:asterisk /var/spool/asterisk
chown -R asterisk:asterisk /usr/lib/asterisk
chmod -R u=rwX,g=rX,o= /var/lib/asterisk
chmod -R u=rwX,g=rX,o= /var/log/asterisk
chmod -R u=rwX,g=rX,o= /var/run/asterisk
chmod -R u=rwX,g=rX,o= /var/spool/asterisk
chmod -R u=rwX,g=rX,o= /usr/lib/asterisk
chown -R root:asterisk /etc/asterisk
chmod -R u=rwX,g=rX,o= /etc/asterisk
nano /etc/default/asterisk
раскомментировать  
AST_USER="asterisk"
AST_GROUP="asterisk"
/etc/init.d/asterisk start
проверяем, что asterisk работает от нужного нам пользователя asterisk
ps aux | grep aster

11. Устанавливаем русскую озвучку для Asterisk
wget --no-check-certificate github.com/pbxware/asterisk-sounds/tarball/master -Ostandard-sounds.tar.gz
wget --no-check-certificate github.com/pbxware/asterisk-sounds-additional/tarball/master -Oadditional-sounds.tar.gz
tar -xvzf standard-sounds.tar.gz
tar -xvzf additional-sounds.tar.gz
cd /var/lib/asterisk/sounds/
mkdir ru
cp -R /usr/local/src/soft/pbxware-asterisk-sounds-92a92f9/* /var/lib/asterisk/sounds/ru/
cp -R /usr/local/src/soft/pbxware-asterisk-sounds-additional-1bc5821/* /var/lib/asterisk/sounds/ru/
chown -R asterisk:asterisk /var/lib/asterisk/sounds/ru/
chmod -R u=rwX,g=rX,o= /var/lib/asterisk/sounds/ru/
nano /etc/asterisk/sip.conf
language=ru

12. Настраиваем Asterisk
mkdir agents
mkdir extensions
mkdir fax
mkdir mail
mkdir musiconhold
mkdir queues
mkdir sipusers
mkdir trank
mkdir voice
cd /var/lib/asterisk/
mkdir record
chown asterisk:asterisk record
chmod -R u=rwX,g=rX,o= /var/lib/asterisk/record/
chown -R root:asterisk /etc/asterisk
chmod -R u=rwX,g=rX,o= /etc/asterisk
Правим
agents.conf
#include "agents/clt/*.conf"
nano confbridge.conf
#include "extensions/clt/conference/*.conf"
mv extensions.conf extensions.conf.sample
nano extensions.conf
#include "extensions/*.conf"
#include "extensions/tehpd/*.conf"
#include "extensions/clt/*.conf"
nano features.conf
nano followme.conf
#include "extensions/clt/followme/*.conf"
nano indications.conf
country=ru
nano modules.conf
; * => Main modules disabled <= *
noload => res_xmpp.so
noload => chan_unistim.so
;noload => res_statsd.so
;noload => res_stasis_snoop.so
;noload => res_stasis_recording.so
;noload => res_stasis_playback.so
;noload => res_stasis_device_state.so
;noload => res_stasis_answer.so
;noload => res_stasis.so
noload => smdi.so
noload => chan_skinny.so
noload => res_stun_monitor.so
noload => res_config_sqlite3.so
;noload => res_phoneprov.so
noload => chan_phone.so
noload => chan_motif.so
noload => cdr_manager.so
noload => cel_manager.so
noload => chan_iax2.so
noload => res_http_websocket.so
;noload => res_hep.so
noload => func_enum.so
noload => pbx_dundi.so
noload => cel_sqlite3_custom.so
noload => cdr_syslog.so
noload => cdr_sqlite3_custom.so
noload => res_ari.so
noload => res_ari_applications.so
noload => res_ari_asterisk.so
noload => res_ari_bridges.so
noload => res_ari_channels.so
noload => res_ari_device_states.so
noload => res_ari_endpoints.so
noload => res_ari_events.so
noload => res_ari_model.so
noload => res_ari_playbacks.so
noload => app_adsiprog.so
noload => app_alarmreceiver.so
noload => app_celgenuserevent.so
noload => app_zapateller.so
noload => codec_ilbc.so
noload => codec_lpc10.so
noload => codec_resample.so
noload => codec_speex.so
noload => format_siren14.so
noload => format_siren7.so
noload => format_sln.so
noload => res_phoneprov.so
nano musiconhold.conf
;Client class music on hold
#include "musiconhold/clt/*.conf"
nano queues.conf
;Client dir queues
#include "queues/clt/*.conf"
nano res_parking.conf
#include "extensions/clt/parkext/*.conf"
nano say.conf (взял с asterisk)
nano sip.conf
mkdir /var/spool/autodial

13. Тестируем sip Asterisk нагрузку
apt-get install sip-tester
sipp -rtp_echo -mi remote ip -sn uac local ip -d 200000 -s 100 -i remote ip -l 100

Поделиться:

Добавить комментарий

+ 5 = 13
Решите простой математический пример. Например для "два плюс четыре =?" введите "6".