Opensips

Aus SchnallIchNet
Wechseln zu: Navigation, Suche

Version

diese beschreibung bezieht sich auf opensips-1.4.2

Quellen runterladen

http://opensips.org/pub/opensips/

Requirements

- gcc / suncc / icc : gcc >= 2.9x; 4.[012] recommended (it will work with
   older version but it might require some options tweaking for best
   performance)
- bison or yacc (Berkley yacc)
- flex
- GNU make (on Linux this is the standard "make", on FreeBSD and Solaris is
   called "gmake") version >= 3.79.
- sed and tr (used in the makefiles)
- GNU tar ("gtar" on Solaris) and gzip if you want "make tar" to work
- GNU install or BSD install (on Solaris "ginstall") if you want "make
  install", "make bin", "make sunpkg" to work
- openssl if you want to compile the TLS support
- libsctp if you want to compile the SCTP support
- libmysqlclient & libz (zlib) -libs and devel headers- if you want mysql DB
   support (the db_mysql module)
- libpq / postgresql -libs and devel headers- if you want postgres DB
   support (the db_postgres module)
- unixodbc -libs and devel headers- if you want unixodbc DB
   support (the db_unixodbc module)
- libexpat if you want the jabber gateway support (the jabber module) or the
   XMPP gateway support
- libxml2 if you want to use the cpl-c (Call Processing Language) or
   the presence modules (presence and pua*)
- libradius-ng -libs and devel headers- if you want to use functionalities
   with radius support - authentication, accounting, group support, etc
- unixodbc - libs and devel headers - if you want UNIXODBC support as
   DB underlayer
- libxmlrpc-c3 - libs and devel headers - if you want to have XML-RPC support
   for the Management interface (MI)
- libperl - libs and devel headers - if you want PERL connector to support
   perl scripting from you config file (perl module)
- libsnmp9 - libs and devel headers - if you want SNMP client functionality
   (SNMP AgentX subagent) for opensips
- libldap libs and devel headers v2.1 or greater - if you want LDAP support
- libconfuse and devel headers - if you want to compile the carrierroute
  module

to make modules-readme you need additionally:

apt-get install lynx docbook docbook-html-forms docbook-to-man docbook-utils docbook-website docbook-xml docbook-xsl

Installation

Achtung.jpeg Wenn man TLS aktivieren moechte sollte man dies im Makefile tun

eine der ersten zeilen is auskommentiert. hier das kommentarzeichen einfach entfernen:

[...]
TLS=1
#FREERADIUS=1
auto_gen=lex.yy.c cfg.tab.c   #lexx, yacc etc

#include  source related defs
include Makefile.sources
[...]

Configure/Build

configuriere und baue die software.

make \
prefix=/usr/local/opensips_1.4.2 \
exclude_modules="group_radius auth_diameter auth_radius avp_radius db_flatstore db_oracle osp" \
skip_modules="group_radius auth_diameter auth_radius avp_radius db_flatstore db_oracle osp" \
all

es empfiehlt sich hier, die noch einige module auszuschliessen, die man definitiv nicht brauchen wird.
wenn man sich z.b. fuer eine MySQL-DB entscheidet, kann/sollte man das postgres-module ausschliessen.
man erspart sich das aufloesen der abhaengigkeiten bzgl. postgres.
all = opensips core + modules

Readme-Files fuer alle module erstellen:

make \
prefix=/usr/local/opensips_1.4.2 \
exclude_modules="group_radius auth_diameter auth_radius avp_radius db_flatstore db_oracle osp" \
skip_modules="group_radius auth_diameter auth_radius avp_radius db_flatstore db_oracle osp" \
modules-readme

Install

erstelle ein debian-package nachdem fertig gebaut wurde

ln -s packaging/debian-etch ./debian
dpkg-buildpackage
dpkg -i ../*.deb

installiere per make install

make prefix=/usr/local/opensips_1.4.2 \
exclude_modules="group_radius auth_diameter auth_radius avp_radius db_flatstore db_oracle osp" \
skip_modules="group_radius auth_diameter auth_radius avp_radius db_flatstore db_oracle osp" \
install
{{Achtung|wenn hier die option 'prefix' verwendet wird <u>muss</u> sie in <u>allen</u> vorherigen aufrufen von 'make' ebenfalls enthalten sein!!}}

Configuration

copy init-script:

cp -a /usr/src/opensips/opensips-1.4.2-tls/debian/opensips.init /etc/init.d/opensips

link config-dir to /etc

ln -s /usr/local/opensips_1.4.2/etc/opensips /etc/

modify openserctlrc to your needs

vi /etc/opensips/opensipsctlrc

espacially modify the following vals:

SIP_DOMAIN=my.sip.domain.net
DBENGINE=MYSQL
DBHOST=ip/dns-name
DBNAME=opensips_1_4
DBRWUSER=opensips
DBRWPW="secret"
DBROUSER=opensipsro
DBROPW="secret"
DBROOTUSER="root"
MD5="md5sum"
AWK="awk"
GREP="egrep"
SED="sed"
ACL_GROUPS="local ld int voicemail free-pstn pp"
  • copy some uninstalled data.

in my case some things are not installed correctly:

cp -a /usr/src/openser/opensips-1.4.2-tls/scripts/opensipsdbctl.mysql /usr/local/opensips_1.4.2/lib/opensips/opensipsctl/opensipsdbctl.mysql
cp -a /usr/src/openser/opensips-1.4.2-tls/scripts/mysql /usr/local/opensips_1.4.2/share/opensips/

edit file: /usr/local/opensips_1.4.2/lib/opensips/opensipsctl/opensipsdbctl.mysql
set the correct path to your opensips 'share'-dir

# path to the database schemas
#DATA_DIR="/usr/local/share/opensips"
DATA_DIR="/usr/local/opensips_1.4.2/share/opensips"