Opensips
Inhaltsverzeichnis
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
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"