Learn how to – Install RTPProxy from Source on CentOS 7.
In our guide today, we will discuss the steps to install RTPProxy from Source on CentOS 7. RTPProxy is a software proxy delivering high-performance control to any kind of VoIP network infrastructure. RTPProxy enables the following services in a VoIP network.
- VoIP calls to traverse NAT firewalls systems
- Packet flow optimization
- Relaying of voice, video or any RTP stream of data
- Playing of pre-encoded in-band announcements
- Re-framing of RTP payload
- Routing VoIP to VPN links routing
- Real-time stream copying
Install RTPProxy on CentOS 7 Linux server using steps provided below:
Install GCC:
sudo yum -y install centos-release-scl
sudo yum -y install devtoolset-7-gcc devtoolset-7-gcc-c++ devtoolset-7-binutils
scl enable devtoolset-7 bash
Confirm version of GCC:
$ gcc --version
gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Step 1: Change directory to /usr/src.
cd /usr/src/
Step 2: Clone rtpproxy source from github.
sudo yum -y install git
sudo git clone -b master https://github.com/sippy/rtpproxy.git
Step 3: Change into rtpproxy source tree.
cd rtpproxy/
Step 4: Configure the source tree for installing rtpproxy
sudo git submodule update --init --recursive
sudo ./configure
Step 5: Compile RTPProxy on CentOS 7
sudo make
Step 6: Install RTPProxy on CentOS 7
sudo make install
Sample output:
......
libtool: install: /usr/bin/install -c udp_contention /usr/local/bin/udp_contention
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/usr/src/rtpproxy/pertools/udp_contention'
make[2]: Leaving directory `/usr/src/rtpproxy/pertools/udp_contention'
make[2]: Entering directory `/usr/src/rtpproxy/pertools'
make[3]: Entering directory `/usr/src/rtpproxy/pertools'
make[3]: Nothing to be done for `install-exec-am'.
make[3]: Nothing to be done for `install-data-am'.
make[3]: Leaving directory `/usr/src/rtpproxy/pertools'
make[2]: Leaving directory `/usr/src/rtpproxy/pertools'
make[1]: Leaving directory `/usr/src/rtpproxy/pertools'
Making install in tests
make[1]: Entering directory `/usr/src/rtpproxy/tests'
make[2]: Entering directory `/usr/src/rtpproxy/tests'
make[2]: Nothing to be done for `install-exec-am'.
make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/usr/src/rtpproxy/tests'
make[1]: Leaving directory `/usr/src/rtpproxy/tests'
make[1]: Entering directory `/usr/src/rtpproxy'
make[2]: Entering directory `/usr/src/rtpproxy'
make[2]: Nothing to be done for `install-exec-am'.
/usr/bin/mkdir -p '/usr/local/share/man/man8'
/usr/bin/install -c -m 644 rtpproxy.8 '/usr/local/share/man/man8'
make[2]: Leaving directory `/usr/src/rtpproxy'
make[1]: Leaving directory `/usr/src/rtpproxy'
Step 7: Copy init.d script to /etc/rc.d/init.d directory.
sudo cp rpm/rtpproxy.init /etc/rc.d/init.d/rtpproxy
Make the file executable:
sudo chmod +x /etc/rc.d/init.d/rtpproxy
Step 8: Change rtpproxy=/usr/bin/rtpproxy to /usr/local/bin/rtpproxy, pidfile in /etc/rc.d/init.d/rtpproxy file
$ sudo vi /etc/rc.d/init.d/rtpproxy
rtpproxy=/usr/local/bin/$prog
Step 9: Add a user that will run the program. I will add user called rtpproxy and group called rtpproxy:
sudo mkdir -p /var/run/rtpproxy
sudo groupadd -g 8002 rtpproxy
sudo useradd -u 8002 -g 8002 -d /var/run/rtpproxy -M -s /bin/false rtpproxy
sudo chown rtpproxy:rtpproxy -R /var/run/rtpproxy/
Step 10: Check the location of RTPProxy executable file
$ which rtpproxy
/usr/local/bin/rtpproxy
Step 12: You can include Additional Options like below (Optional)
$ sudo vi /etc/sysconfig/rtpproxy
OPTIONS=" -l 192.168.1.60 -s unix:/var/run/rtpproxy.sock"
Rtpproxy will listen on ip: 192.168.1.60 , control socket being unix:/var/run/rtpproxy.sock.
To make it listen on an UDP socket, add option:
CONTROL_SOCK=udp:127.0.0.1:7722
Step 13: Reload and start rtpproxy
sudo systemctl daemon-reload
sudo /etc/init.d/rtpproxy start
Step 14: To set to run at startup, type:
sudo chkconfig rtpproxy on
You are done with the installation. In case of any error, alert us via comment section.
Leave a Reply
You must be logged in to post a comment.