Open5gs: Install Apps Pendukung dan RTPEngine

From OnnoWiki
Jump to navigation Jump to search

Install Aplikasi Pendukung

apt update
apt upgrade
apt-get -y install debhelper iptables-dev libcurl4-openssl-dev libpcre3-dev libxmlrpc-core-c3-dev markdown libavfilter-dev libavformat-dev libavresample-dev libevent-dev libglib2.0-dev libhiredis-dev libjson-glib-dev libpcap0.8-dev libpcap-dev libssl-dev dkms module-assistant nfs-common libb-hooks-op-check-perl libexporter-tidy-perl libbencode-perl libcrypt-rijndael-perl libdigest-hmac-perl libio-socket-inet6-perl libsocket6-perl
apt -y install default-libmysqlclient-dev dh-sequence-dkms gperf libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libbcg729-dev libbencode-perl libcrypt-openssl-rsa-perl libcrypt-rijndael-perl libdigest-crc-perl libdigest-hmac-perl libevent-dev libglib2.0-dev libhiredis-dev libio-multiplex-perl libio-socket-inet6-perl libiptc-dev libjson-glib-dev libjson-perl libmosquitto-dev libnet-interface-perl libopus-dev libpcap0.8-dev libpcre3-dev libsocket6-perl libspandsp-dev libssl-dev libswresample-dev libsystemd-dev libtest2-suite-perl libwebsockets-dev libxmlrpc-core-c3-dev libxtables-dev markdown pandoc python3-websockets zlib1g-dev libcurl4-openssl-dev libconfig-tiny-perl nfs-common libnfsidmap1 rpcbind keyutil 
apt -y install bind9 curl
apt -y install mysql-server tcpdump screen ntp ntpdate git dkms gcc flex bison \

libmysqlclient-dev make libssl-dev libcurl4-openssl-dev libxml2-dev \ libpcre3-dev bash-completion g++ autoconf rtpproxy libmnl-dev libsctp-dev strongswan \ libradcli-dev libradcli4 python3-dev mariadb-server

sudo apt -y install kamailio kamailio-mysql-modules kamailio-ims-modules kamailio-outbound-modules kamailio-presence-modules kamailio-xml-modules kamailio-tls-modules kamailio-utils-modules kamailio-sctp-modules kamailio-xmpp-modules

Install RTPEngine

apt -y install debhelper dh-autoreconf
cd /usr/local/src
git clone https://github.com/sipwise/rtpengine.git
cd rtpengine
./debian/flavors/no_ngcp
dpkg-buildpackage
cd ..
dpkg -i ngcp-rtpengine-daemon_11.5.0.0+0~mr11.5.0.0_amd64.deb
dpkg -i ngcp-rtpengine-iptables_11.5.0.0+0~mr11.5.0.0_amd64.deb
dpkg -i ngcp-rtpengine-kernel-dkms_11.5.0.0+0~mr11.5.0.0_all.deb
dpkg -i ngcp-rtpengine-iptables-dbgsym_11.5.0.0+0~mr11.5.0.0_amd64.ddeb
dpkg -i ngcp-rtpengine-recording-daemon-dbgsym_11.5.0.0+0~mr11.5.0.0_amd64.ddeb
dpkg -i ngcp-rtpengine-daemon-dbgsym_11.5.0.0+0~mr11.5.0.0_amd64.ddeb
dpkg -i ngcp-rtpengine-recording-daemon_11.5.0.0+0~mr11.5.0.0_amd64.deb
dpkg -i ngcp-rtpengine-utils_11.5.0.0+0~mr11.5.0.0_all.deb
dpkg -i ngcp-rtpengine_11.5.0.0+0~mr11.5.0.0_all.deb

Konfigurasi

cp /etc/rtpengine/rtpengine.sample.conf /etc/rtpengine/rtpengine.conf

Masukan nama interface dibawah [rtpengine]:

interface = 10.45.0.1

Set port yang digunakan rtpengine harus sesuai dengan kamailio_pcscf.cfg pada modparam(rtpengine …)

# ----- rtpproxy params -----
modparam("rtpengine", "rtpengine_sock", "1 == udp:localhost:2223")

Edit

/etc/default/ngcp-rtpengine-daemon
/etc/default/ngcp-rtpengine-recording-daemon

Sebagai berikut,

RUN_RTPENGINE=yes
RUN_RTPENGINE_RECORDING=yes
cp /etc/rtpengine/rtpengine-recording.sample.conf /etc/rtpengine/rtpengine-recording.conf

Restart,

mkdir /var/spool/rtpengine
systemctl restart ngcp-rtpengine-daemon.service ngcp-rtpengine-recording-daemon.service ngcp-rtpengine-recording-nfs-mount.service
systemctl enable ngcp-rtpengine-daemon.service ngcp-rtpengine-recording-daemon.service ngcp-rtpengine-recording-nfs-mount.service
systemctl stop rtpproxy
systemctl disable rtpproxy
systemctl mask rtpproxy

Second instance dari RTPENGINE dapat di run sebagai berikut (Optional)

iptables -I rtpengine -p udp -j RTPENGINE --id 1
ip6tables -I INPUT -p udp -j RTPENGINE --id 1
echo 'del 1' > /proc/rtpengine/control
/usr/sbin/rtpengine --table=1 --interface=10.45.0.1 --listen-ng=127.0.0.1:2224 --tos=184 --pidfile=ngcp-rtpengine-daemon2.pid --no-fallback --foreground


Pranala Menarik