воскресенье, 14 апреля 2019 г.

Debian: ставим kamailio+rtpengine

Имеется: debian 8 (jessie), кама штатно - говно мамонта
Unpacking kamailio (4.2.0-2+deb8u5) ...
Ставим адекватную версию. Прямо с офсайта можно скачать с версии 3.3 по самую свежую 5.2
https://deb.kamailio.org (2)
Сначала добавить ключ
 wget -O- http://deb.kamailio.org/kamailiodebkey.gpg | sudo apt-key add -
а потом ставим репу, для этого выбираем нужную версию камы и в /etc/apt/sources.list.d/kamailio.list пишем нужные строки из доки выше.
Потом как обычно, apt-get update; apt-get install kamailio



С rtpengine сложнее, готовые пакеты не гуглятся, только что нужно собирать.
Вообще можно зайти сюда
https://github.com/sipwise/rtpengine
оттуда попасть сюда
https://deb.sipwise.com/spce/mr6.2.1/pool/main/n/ngcp-rtpengine/
и поискать нужные версии. В частности, тут есть разные версии. (обращаю внимание что deb файлы из https://deb.sipwise.com/spce/ это installation scripts for Sipwise C5 platform под debian 9. Хотя можно его расковырять и например из "/usr/share/ngcp-installer/packages.inc" взять PPA, в частности
wget -qO - https://deb.sipwise.com/spce/sipwise.gpg | sudo apt-key add -
cat > /etc/apt/sources.list.d/sipwise.list" << EOF
deb [arch=amd64] https://deb.sipwise.com/spce/mr7.2.1/ stretch main
#deb-src [arch=amd64] https://deb.sipwise.com/spce/mr7.2.1/ stretch main
EOF

При этом обращаю внимание: если система умеет systemd то по умолчанию просто демон (не recording) запустить не получится даже через /etc/init.d/ngcp-rtpengine-daemon, потому что systemd перехватит запуск скрипта, так как
systemctl cat ngcp-rtpengine-daemon.service
# /dev/null
Фикс:
systemctl unmask ngcp-rtpengine-daemon.service

Если же хотим собрать сами.

Чтобы не захламлять основную систему, можно собирать в докере.
Считаем что докер стоит, инструкция по установке есть раньше
docker run -ti debian:8
оказываемся в консоли.
Для контроля что версия нужная, набираем такое
apt-get update; apt-get install lsb-release; lsb_release -a

Процесс сборки:
apt-get update; apt-get install -y git fakeroot build-essential dpkg-dev dialog apt-utils
cd /usr/src/

git clone https://github.com/sipwise/rtpengine.git rtpengine

apt-get install -y libavcodec-dev libavfilter-dev libavformat-dev libavresample-dev  libavutil-dev libjson-glib-dev libpcap0.8-dev libpcap-dev nfs-common libbencode-perl libcrypt-rijndael-perl libdigest-hmac-perl libio-socket-inet6-perl libsocket6-perl
apt-get install -y debhelper gperf iptables-dev libcrypt-openssl-rsa-perl  libdigest-crc-perl libevent-dev libhiredis-dev libio-multiplex-perl libssl-dev libsystemd-dev libxmlrpc-core-c3-dev  markdown

cd rtpengine
Проверяем зависимости
dpkg-checkbuilddeps
Устраняем. Будет ругаться в частности на libbcg729-dev - про 729 есть в readme в гите, нужно собирать или качать собранное.
Также надо сделать выбор, какую ссл либу возьмём в основу, openssl или gnutls.

Собираем
dpkg-buildpackage

Инструкция для лузеров, которые делают make install прямо в системе

Комментариев нет:

Отправить комментарий