Difference between revisions of "Open5gs: Install Apps Pendukung dan RTPEngine"

From OnnoWiki
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
==Install Aplikasi Pendukung Sekaligus==
 +
 +
sudo su
 +
apt update
 +
apt upgrade
 +
apt -y install debhelper libxtables-dev libip6tc-dev libip4tc-dev libcurl4-openssl-dev libpcre3-dev libxmlrpc-core-c3-dev markdown libavfilter-dev libavformat-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 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 bind9 curl tcpdump screen ntp ntpdate git gcc flex bison 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 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 debhelper dh-autoreconf gcc g++ make software-properties-common net-tools ant plocate
 +
 
==Install Aplikasi Pendukung==
 
==Install Aplikasi Pendukung==
  
Line 4: Line 11:
 
  apt upgrade
 
  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-get -y install debhelper libcurl4-openssl-dev libpcre3-dev libxmlrpc-core-c3-dev markdown libavfilter-dev libavformat-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 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
 +
 
 +
apt -y install bind9 curl
 +
 
 +
apt -y install tcpdump screen ntp ntpdate git dkms gcc flex bison 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==
 
==Install RTPEngine==
  
  apt -y install debhelper dh-autoreconf
+
  apt -y install debhelper dh-autoreconf default-libmysqlclient-dev
  
 
  cd /usr/local/src
 
  cd /usr/local/src
Line 30: Line 43:
  
 
==Konfigurasi==
 
==Konfigurasi==
 +
 +
Copy konfigurasi,
 +
 +
cp /etc/rtpengine/rtpengine-recording.sample.conf /etc/rtpengine/rtpengine-recording.conf
  
 
  cp /etc/rtpengine/rtpengine.sample.conf /etc/rtpengine/rtpengine.conf
 
  cp /etc/rtpengine/rtpengine.sample.conf /etc/rtpengine/rtpengine.conf
Line 35: Line 52:
 
Masukan nama interface dibawah [rtpengine]:
 
Masukan nama interface dibawah [rtpengine]:
  
 +
vi /etc/rtpengine/rtpengine.conf
 +
 +
[rtpengine]
 +
...
 +
...
 +
# interface = any
 
  interface = 10.45.0.1
 
  interface = 10.45.0.1
  
Line 42: Line 65:
 
  modparam("rtpengine", "rtpengine_sock", "1 == udp:localhost:2223")
 
  modparam("rtpengine", "rtpengine_sock", "1 == udp:localhost:2223")
  
Edit
 
  
/etc/default/ngcp-rtpengine-daemon
+
Edit sebagai berikut,
/etc/default/ngcp-rtpengine-recording-daemon
 
  
Sebagai berikut,
+
vi /etc/default/ngcp-rtpengine-daemon
  
 
  RUN_RTPENGINE=yes
 
  RUN_RTPENGINE=yes
 +
 +
dan,
 +
 +
vi /etc/default/ngcp-rtpengine-recording-daemon
 +
 
  RUN_RTPENGINE_RECORDING=yes
 
  RUN_RTPENGINE_RECORDING=yes
  
  cp /etc/rtpengine/rtpengine-recording.sample.conf /etc/rtpengine/rtpengine-recording.conf
+
   
 
 
 
Restart,
 
Restart,
  
  mkdir /var/spool/rtpengine
+
  mkdir -p /var/spool/rtpengine
 
  systemctl restart ngcp-rtpengine-daemon.service ngcp-rtpengine-recording-daemon.service ngcp-rtpengine-recording-nfs-mount.service
 
  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 enable ngcp-rtpengine-daemon.service ngcp-rtpengine-recording-daemon.service ngcp-rtpengine-recording-nfs-mount.service
Line 69: Line 94:
 
  echo 'del 1' > /proc/rtpengine/control
 
  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
 
  /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
 +
 +
==Referensi==
 +
 +
* https://github.com/surendratiwari3/RTP-Engine/blob/master/Ubuntu-Install.md
 +
* https://stackoverflow.com/questions/68799929/issue-in-compiling-rtpengine
 +
* https://launchpad.net/~davidlublink/+archive/ubuntu/rtpengine
  
  

Latest revision as of 08:36, 19 August 2023

Install Aplikasi Pendukung Sekaligus

sudo su
apt update
apt upgrade
apt -y install debhelper libxtables-dev libip6tc-dev libip4tc-dev libcurl4-openssl-dev libpcre3-dev libxmlrpc-core-c3-dev markdown libavfilter-dev libavformat-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 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 bind9 curl tcpdump screen ntp ntpdate git gcc flex bison 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 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 debhelper dh-autoreconf gcc g++ make software-properties-common net-tools ant plocate

Install Aplikasi Pendukung

apt update
apt upgrade
apt-get -y install debhelper libcurl4-openssl-dev libpcre3-dev libxmlrpc-core-c3-dev markdown libavfilter-dev libavformat-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 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
apt -y install bind9 curl
apt -y install tcpdump screen ntp ntpdate git dkms gcc flex bison 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 default-libmysqlclient-dev
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

Copy konfigurasi,

cp /etc/rtpengine/rtpengine-recording.sample.conf /etc/rtpengine/rtpengine-recording.conf
cp /etc/rtpengine/rtpengine.sample.conf /etc/rtpengine/rtpengine.conf

Masukan nama interface dibawah [rtpengine]:

vi /etc/rtpengine/rtpengine.conf
[rtpengine]
...
...
# interface = any
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 sebagai berikut,

vi /etc/default/ngcp-rtpengine-daemon
RUN_RTPENGINE=yes

dan,

vi /etc/default/ngcp-rtpengine-recording-daemon
RUN_RTPENGINE_RECORDING=yes


Restart,

mkdir -p /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

Referensi


Pranala Menarik