Dies ist eine alte Version des Dokuments!
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:
Darüber hinaus gibt es einen SVN-Tree und für Selbstbastler einen Tarball.
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.
Debian und OpenSIPS allein macht auch nicht glücklich - meine Idee zum Aufbau des SIP-Servers:
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:
Ich verwende hier MySQL, da ich hier die meisten Vorkenntnisse habe. Wer allerdings eine Oracle-Lizenz übrig hat, kann auch gerne Oracle benutzen.
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.
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 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.
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 .