Table of Contents

Kamailio (OpenSER) - Howto make Debian packages (Kamailio <=1.5)

This Howto was tested with Openser 1.0.0 and radiusclient 0.5.1. Nevertheless it should work also with newer versions.

The build process for Debian packages generates all Openser packages (also mysql, postgres, radius …). Thus, the on PC used for compiling the Debian packages, all required libraries must be installed, even if you do not install all packages afterwards.

Thus, you need the client and development libraries for the database backends (mysql and postgres), openssl and the radiusclient-ng libraries. The database libraries are included in Debian and can be easily installed using apt-get.

For etch:

apt-get install dpatch fakeroot debhelper libtool dpkg-dev autoconf automake m4 bison flex gcc make subversion cvs

apt-get install xsltproc unixodbc-dev libxmlrpc-c3-dev libperl-dev libsnmp-dev libconfuse-dev libldap2-dev

apt-get install libmysqlclient15-dev libexpat1-dev libxml2-dev libpq-dev libdb4.4-dev libcurl3-gnutls-dev

Radiusclient-ng

The radiusclient-ng must be compiled manually, as it is not included in the Debian distribution. Here I used the version 0.5.6

1. checkout from berlios CVS (hit ENTER when asked for the password):

cd /usr/local/src
mkdir radiusclient-ng
cd radiusclient-ng
cvs -d:pserver:anonymous@cvs.radiusclient-ng.berlios.de:/cvsroot/radiusclient-ng login
cvs -z3 -d:pserver:anonymous@cvs.radiusclient-ng.berlios.de:/cvsroot/radiusclient-ng co -r RELENG_0_5_6 radiusclient-ng
mv radiusclient-ng radiusclient-ng-5.6
cd radiusclient-ng-5.6

Note: change the RELENG value to the release version you want to check out, and make the appropriate alterations to the following secitons

Note: cvs often makes problems when you are behind a firewall which blocks cvs (port 2401). To test if you can reach the CVS server try with telnet: “telnet cvs.radiusclient-ng.berlios.de 2401”

2. correct version labeling

We edit the debian/changelog file to have debian packages with the correct version number: change “radiusclient-ng (0.5.0) unstable; urgency=low” to “radiusclient-ng (0.5.6) unstable; urgency=low”

3. build the Debian packages

dpkg-buildpackage -rfakeroot -tc

4. install the packages

cd ..
su
dpkg -i libradius-ng-dev_0.5.6_i386.deb libradius-ng_0.5.6_i386.deb radiusclient-ng_0.5.6_i386.deb
exit

Note: I think, radiusclient-ng_0.5.6_i386.deb is not necessary, but it includes a default /etc/radiusclient-ng/server file.

Openser

1. checkout from sourceforge SVN:

please refer to the installation instruction from SVN for further advise on this topic.

2. optional: if you need Radius/Diameter accounting edit modules/acc/Makefile and uncomment the Radius configuration

3. optional: if you like to have TLS enabled openser, set the environment TLS=1 (this is only necessary for openser 1.0.x. since openser 1.1.x TLS is enabled by default):

export TLS=1

Note: If you are using openser-cvs there are separate packing directory for debian sarge and debian etch. By default it will use the build system for etch, which does not work. Thus, If you want to build openser-CVS packages on sarge rename the directories:

cd packaging
mv debian debian-etch
mv debian-sarge debian
cd ..

4. build the Debian packages

chmod +x packaging/debian/rules
make deb

5. Done. The packages are located in ..

Installation Stuff