mirror of https://github.com/sipwise/rtpengine.git
Merge branch 'master' of https://github.com/avoylenko/rtpengine
Change-Id: I011c52552d9b7273b98ae07da438e27ecb36dc98pull/1403/merge
commit
ae988e2a36
@ -1,121 +0,0 @@
|
||||
rtpengine for Enterprise Linux
|
||||
==================================
|
||||
|
||||
Installing from RPMs
|
||||
--------------------
|
||||
|
||||
There are three RPMs:
|
||||
|
||||
- *ngcp-rtpengine*: the userspace daemon
|
||||
- *ngcp-rtpengine-kernel*: the iptables plugin
|
||||
- *ngcp-rtpengine-dkms*: the kernel module source
|
||||
|
||||
All of the RPMs have correctly set dependencies and if you just want the
|
||||
userspace daemon you can install it with yum (assuming you have access to a
|
||||
CentOS repository).
|
||||
|
||||
The *ngcp-rtpengine-kernel* package is dependent on the
|
||||
*ngcp-rtpengine*, and *ngcp-rtpengine-dkms* packages. The
|
||||
*ngcp-rtpengine-dkms* package has a dependency (DKMS) that cannot be met
|
||||
by the CentOS base repository. If you want to use in-kernel forwarding you
|
||||
need to add the [*EPEL*](http://fedoraproject.org/wiki/EPEL) repository and
|
||||
install the *dkms* package before attempting to install
|
||||
*ngcp-rtpengine-dkms* or *ngcp-rtpengine-kernel*.
|
||||
|
||||
Note: installing *ngcp-rtpengine-dkms* builds a kernel module which requires
|
||||
the sources for the running kernel. The *kernel-devel* and *kernel-headers*
|
||||
packages are meta-packages that install the headers and source for the latest
|
||||
kernel version. This will be what you want unless you are running a custom
|
||||
or older kernel. *ngcp-rtpengine-dkms* does not have *kernel-devel* and
|
||||
*kernel-headers* as dependencies as this could cause problems if you are using
|
||||
a custom or older kernel, so you need to install these manually.
|
||||
|
||||
|
||||
RPM Compilation
|
||||
---------------
|
||||
|
||||
To build the RPMs you need all of the packages listed in the Manual Compilation
|
||||
section (except for *kernel-devel* and *kernel-headers*) plus:
|
||||
|
||||
- *redhat-rpm-config*
|
||||
- *rpm-build*
|
||||
|
||||
To build the RPMs:
|
||||
- Checkout (clone) the Git repository
|
||||
- Create the `~/rpmbuild/SOURCES` directory
|
||||
- Create a tar archive. For example, from within the cloned directory you can
|
||||
use
|
||||
`git archive --output ~/rpmbuild/SOURCES/ngcp-rtpengine-<version number>.tar.gz --prefix=ngcp-rtpengine-<version number>/ master`
|
||||
where `<version number>` is the version number of the master branch
|
||||
- Build the RPMs. For example,
|
||||
`rpmbuild -ta ~/rpmbuild/SOURCES/ngcp-rtpengine-<version number>.tar.gz`
|
||||
|
||||
Once the build has completed the binary RPMs will be in `~/rpmbuild/RPMS`.
|
||||
|
||||
|
||||
Manual Compilation
|
||||
------------------
|
||||
|
||||
There are three parts to rtpengine, each of which can be found in the
|
||||
respective subdirectories.
|
||||
|
||||
* `daemon`
|
||||
|
||||
The userspace daemon and workhorse, minimum requirement for anything
|
||||
to work. Running `RTPENGINE_VERSION="\"<version number>\"" make` will
|
||||
compile the binary, which will be called `rtpengine`. The
|
||||
following software packages are required to compile the daemon:
|
||||
|
||||
- *gcc*
|
||||
- *make*
|
||||
- *pkgconfig*
|
||||
- *glib2-devel*
|
||||
- *hiredis-devel*
|
||||
- *libcurl-devel*
|
||||
- *openssl-devel*
|
||||
- *pcre-devel*
|
||||
- *xmlrpc-c-devel*
|
||||
- *zlib-devel*
|
||||
|
||||
* `iptables-extension`
|
||||
|
||||
Required for in-kernel packet forwarding. Running
|
||||
`RTPENGINE_VERSION="\"<version number>\"" make` will compile the plugin
|
||||
for `iptables` and `ip6tables`. The file will be called
|
||||
`libxt_RTPENGINE.so` and should be copied into the directory
|
||||
`/lib/xtables/` in 32-bit environments and `/lib64/xtables/` in 64-bit
|
||||
environments. The following software packages are required to compile
|
||||
the plugin:
|
||||
|
||||
- *gcc*
|
||||
- *make*
|
||||
- *iptables-devel*
|
||||
|
||||
* `kernel-module`
|
||||
|
||||
Required for in-kernel packet forwarding. Compilation of the kernel
|
||||
module requires the kernel development packages for the kernel version
|
||||
you are using (see output of `uname -r`) to be installed. Running
|
||||
`RTPENGINE_VERSION="\"<version number>\"" make` will compile the kernel
|
||||
module.
|
||||
|
||||
Successful compilation of the module will produce the file
|
||||
`xt_RTPENGINE.ko`. The module can be inserted into the running kernel
|
||||
manually through `insmod xt_RTPENGINE.ko` (which will result in an
|
||||
error if depending modules aren't loaded, for example the `x_tables`
|
||||
module), but it's recommended to copy the module into
|
||||
`/lib/modules/<version number>/updates/`, followed by running
|
||||
`depmod -a`. After this, the module can be loaded by issuing
|
||||
`modprobe xt_RTPENGINE`.
|
||||
|
||||
The following software packages are required to compile the plugin:
|
||||
|
||||
- *gcc*
|
||||
- *make*
|
||||
- *kernel-devel*
|
||||
- *kernel-headers*
|
||||
|
||||
Note: the *kernel-devel* and *kernel-headers* packages are meta-packages
|
||||
that install the headers and source for the latest kernel version. This
|
||||
will be what you want unless you are running a custom or older kernel.
|
||||
|
@ -0,0 +1,59 @@
|
||||
rtpengine for Enterprise Linux
|
||||
==================================
|
||||
|
||||
Installing from RPMs
|
||||
--------------------
|
||||
|
||||
There are four RPMs:
|
||||
|
||||
- *ngcp-rtpengine*: the userspace daemon
|
||||
- *ngcp-rtpengine-recording*: the recording daemon
|
||||
- *ngcp-rtpengine-kernel*: the iptables plugin
|
||||
- *ngcp-rtpengine-dkms*: the kernel module source
|
||||
|
||||
All of the RPMs have correctly set dependencies and if you just want the
|
||||
userspace daemon you can install it with yum (assuming you have access to a repository).
|
||||
|
||||
The *ngcp-rtpengine-kernel* package is dependent on the
|
||||
*ngcp-rtpengine*, and *ngcp-rtpengine-dkms* packages. The
|
||||
*ngcp-rtpengine-dkms* package has a dependency (DKMS) that cannot be met
|
||||
by the base repository. If you want to use in-kernel forwarding you
|
||||
need to add the [*EPEL*](http://fedoraproject.org/wiki/EPEL) repository and
|
||||
install the *dkms* package before attempting to install
|
||||
*ngcp-rtpengine-dkms* or *ngcp-rtpengine-kernel*.
|
||||
|
||||
Note: installing *ngcp-rtpengine-dkms* builds a kernel module which requires
|
||||
the sources for the running kernel. The *kernel-devel* and *kernel-headers*
|
||||
packages are meta-packages that install the headers and source for the latest
|
||||
kernel version. This will be what you want unless you are running a custom
|
||||
or older kernel. *ngcp-rtpengine-dkms* does not have *kernel-devel* and
|
||||
*kernel-headers* as dependencies as this could cause problems if you are using
|
||||
a custom or older kernel, so you need to install these manually.
|
||||
|
||||
|
||||
RPM Compilation
|
||||
---------------
|
||||
|
||||
To build the RPMs you need all of the packages listed in the Manual Compilation
|
||||
section (except for *kernel-devel* and *kernel-headers*) plus:
|
||||
|
||||
- *redhat-rpm-config*
|
||||
- *rpm-build*
|
||||
|
||||
To build the RPMs:
|
||||
- Checkout (clone) the Git repository
|
||||
- Create the `~/rpmbuild/SOURCES` directory
|
||||
- Create a tar archive. For example, from within the cloned directory you can
|
||||
use
|
||||
`git archive --output ~/rpmbuild/SOURCES/ngcp-rtpengine-<version number>.tar.gz --prefix=ngcp-rtpengine-<version number>/ master`
|
||||
where `<version number>` is the version number of the master branch
|
||||
- Build the RPMs. For example,
|
||||
`rpmbuild -ta ~/rpmbuild/SOURCES/ngcp-rtpengine-<version number>.tar.gz`
|
||||
|
||||
Once the build has completed the binary RPMs will be in `~/rpmbuild/RPMS`.
|
||||
|
||||
|
||||
Manual Compilation
|
||||
------------------
|
||||
|
||||
Check the main project README.
|
@ -1,17 +1,17 @@
|
||||
[Unit]
|
||||
Description=NGCP RtpEngine - RTP Recording Daemon
|
||||
Description=NGCP RTP/media Recording Daemon
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
User=ngcp-rtpengine
|
||||
Group=daemon
|
||||
Environment=CFGFILE=/etc/rtpengine/rtpengine-recording.conf
|
||||
Environment=CFG_FILE=/etc/rtpengine/rtpengine-recording.conf
|
||||
EnvironmentFile=/etc/sysconfig/rtpengine-recording
|
||||
PIDFile=/run/rtpengine-recording.pid
|
||||
ExecStart=/usr/sbin/rtpengine-recording --config-file=${CFGFILE} --pidfile=$PIDFILE
|
||||
ExecStart=/usr/sbin/rtpengine-recording --config-file=${CFG_FILE} --pidfile=${PID_FILE}
|
||||
TimeoutSec=15s
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Alias=ngcp-rtpengine-recording.service
|
||||
|
Loading…
Reference in new issue