Benutzer-Werkzeuge

Webseiten-Werkzeuge


projekte:opensips_auf_debian_lenny

Dies ist eine alte Version des Dokuments!


OpenSIPS

OpenSIPS ist eine quelloffene Server-Software, welche IP-Telefonie basierend auf SIP ermöglicht. So kann OpenSIPS als Vermittlungsstelle, über welche Clients Verbindungen herstellen, agieren. Darüber hinaus eignet sich OpenSIPS auch als XMPP- und SMS-Gateway.

OpenSIPS ist eine Software-Sammlung, welche es vorkompiliert für folgende Distirbutionen gibt:

  • Debian
    • 4.0 Etch
    • 5.0 Lenny
    • unstable
  • openSUSE
    • 11.0
    • 11.1
    • 11.2
  • CentOS 5
  • Fedora

Darüber hinaus gibt es einen SVN-Tree und für Selbstbastler einen Tarball.

Szenario

Logischer Aufbau

OpenSIPS ist flexibel und skalierbar, von einer einfacher „Zwei-Mann-Lösung“ bis hin zur Telefonieanlage für 2000 Benutzer sind keine Grenzen gesetzt.

In meinem Beispiel geht es aber nur um eine simple Konfiguration mit einem Server und zwei Clients, welche über den SIP-Server miteinander kommunizieren wollen.

Installation Server

Überlegung

Debian und OpenSIPS allein macht auch nicht glücklich - meine Idee zum Aufbau des SIP-Servers:

  • Debian Lenny als Betriebssystem
  • OpenSIPS Server
  • OpenSIPS Control zur Steuerung über die Konsole
  • OpenSIPS Control Panel zur Steuerung über den Webbrowser
  • SSH-Server zur Fernwartung

Insbesondere OpenSIPS CP ist eine hübsche Erweiterung, welche es kinderleicht macht, den OpenSIPS zu verwalten. Das CP beöntigt einen Webserver und eine Datenbank, unterstützt werden:

  • PostgreSQL
  • MySQL
  • Oracle

Ich verwende hier MySQL, da ich hier die meisten Vorkenntnisse habe. Wer allerdings eine Oracle-Lizenz übrig hat, kann auch gerne Oracle benutzen. ;-)

Installation von Debian Lenny

Da OpenSIPS nur eine Software-Sammlung und keine eigene Distribution ist, bedarf es der Installation einer Distribution, wie beispielsweise Debian. Unter dieser wird dann OpenSIPS installiert.

Ich habe mich hier für ein Debian Lenny entschieden und eine Minimal-Installation ohne zusätzliche „Aufgaben“ installiert.

Die benötigten Komponenten, wie beispielsweise Webserver, installiere ich immer manuell nachträglich, da in diesem Beispiel die Aufgabe „Webserver“ bei der Paketinstallation noch viel unnötigen Ballast mit installiert.

Die Fähigkeit, Debian zu installieren, setze ich hier einfach mal vorraus - darauf gehe ich hier nicht weiter ein. Neben der klassichen Konsoleninstallation gibt es mitlerweile auch ein grafisches Installationsfrontend, welches die Installation ein wenig „benutzerfreundlicher“ gestaltet.

Apache2, PHP5, MySQL

Nachdem nach der Installation alle Updates installiert wurden (sehr wichtig!), bedarf es nun der Installation der benötigten Webserver- und Datenbank-Pakete:

# apt-get install apache2 php5 php-pear php5-mysql php5-cli mysql-server phpmyadmin

Bei der Installation wird ein root-Passwort für MySQL abgefragt - dieses bitte unbedingt merken, es wird später benötigt, um eine Verbindung mittels „phpMyAdmin“ herzustellen, um beispielsweise die spätere OpenSIPS-Datenbank mit benötigten Inhalten zu füllen.

Nach der Installation sollte die Funktionsfähigkeit desd PHP-Interpreters verifiziert werden, da ansonsten später das OpenSIPS Control Panel nicht funktionieren wird:

# /etc/init.d/apache2 restart
# echo "<?php phpinfo(); ?>" > /var/www/test.php
# w3m http://localhost/test.php

Wenn PHP korrekt installiert wurde, wird mit dem letzten Aufruf die PHP5-Konfiguration auf dem Bildschirm ausgegeben.

Perl-Pakete

Als weitere Abhängigkeit wird auch Perl benötigt, um unter anderem Datenbank-Konnektivität zu ermöglichen. Die benötigten Perl-Module sind glücklicherweise im Repository vorhanden:

# apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl

Hinweis: Wird Oracle als Datenbank benutzt, muss das hierfür benötigte Modul (DBD::Oracle) aus dem CPAN bezogen und kompiliert werden!

OpenSIPS-Pakete

Anschließend folgen die OpenSIPS-Pakete - diese befinden sich in Form von vorkompilierten Debian-Paketen auf einem Webserver. Für Debian Lenny wäre das: http://opensips.org/pub/opensips/latest/packages/debian/5.0-lenny/

Die enthaltenen Pakete können einfach mittels wget bezogen und danach mithilfe von dpkg installiert werden:

# mkdir sip_pkgs && cd sip_pkgs
# wget -r -l1 -nd -A deb http://opensips.org/pub/opensips/latest/packages/debian/5.0-lenny/
# dpkg -i *.deb

Aufgrund fehlender Abhängigkeiten wird die Installation mit einem Fehler abgebrochen, mithilfe von apt-get können die Abhängigkeiten aufgelöst werden. Es werden in diesem Fall die fehlenden Pakete und anschließend die OpenSIPS-DEBs installiert:

# apt-get install -f

Nach erfolgreicher Installation muss der Dienst über die Konfigurationsdatei noch aktiviert werden, bevor er gestartet werden kann:

# vim /etc/default/opensips

Hier wird die folgende Zeile

RUN_OPENSIPS=no

in

RUN_OPENSIPS=yes

geändert. Anschließend kann die Datei gespeichert und der Dienst gestartet werden:

:wq

# /etc/init.d/opensips start
Starting opensips: opensipsListening on
             udp: 127.0.0.1 [127.0.0.1]:5060
             ...
             tcp: 127.0.0.1 [127.0.0.1]:5060
Aliases:
             tcp: localhost:5060
             udp: localhost:5060

.

Internetverweise

projekte/opensips_auf_debian_lenny.1276867699.txt.gz · Zuletzt geändert: 2010/06/18 15:28 von christian