Open Source im professionellen Einsatz
Linux-Magazin 01/2013
© nyul, 123RF.com

© nyul, 123RF.com

VoIP-Telefone provisionieren

Ruf-Bereitschaft

IP-Telefone lassen sich fast ohne Handarbeit konfigurieren. Dieser Artikel erklärt, wie das mit der Open-Source-Telefonanlage Gemeinschaft funktioniert, und gibt einen Ausblick auf deren kommende Version 5.

1026

Mit freier Software und PC-Hardware lässt sich kostengünstig eine Telefonanlage aufsetzen. Mit steigender Teilnehmerzahl wird es aber unangenehm, alle Telefone von Hand zu konfigurieren. Der kluge Admin lässt diese Aufgabe von Software erledigen. Dieser Artikel zeigt die automatische Konfiguration von SIP-Telefonen am Beispiel der freien IP-Telefonanlage Gemeinschaft [1].

Ursprünglich als Anpassung von Asterisk an den deutschsprachigen Raum gedacht, stieg Gemeinschaft mit Version 4 von Anfang 2012 auf Freeswitch [2] als Basis um. Diese Version bietet wie die für Dezember 2012 angekündigte Release 5 Unterstützung für das Provisioning von SIP-Telefonen. Um einem Telefon mitzuteilen, woher es seine Konfiguration beziehen kann, kommt in der Regel ein DHCP-Server zum Einsatz.

Dabei benutzt der Admin zwei Optionen des DHCP-Protokolls, die eigentlich für vom Netzwerk bootende Computer vorgesehen sind (RFC 2132). Über die Option 66 (»TFTP server name« ) übergibt er dem Gerät den Provisioning-Server inklusive Protokoll, beispielsweise »https://gemeinschaft.example.com« , und über die Option 67 (»Bootfile name« ) den Namen der Konfigurationsdatei.

In den meisten Fällen sorgt die MAC-Adresse des Telefons für die Zuordnung. Eine der Ausnahmen stellen die Openstage-Geräte von Siemens dar, da sie Option 67 in dieser Form nicht unterstützen und einen Soap-artigen Mechanismus für das Provisioning verwenden.

Der leicht zu konfigurierende DHCP-Server Dnsmasq [3] ist Teil von Gemeinschaft 4. Er benötigt im einfachsten Fall lediglich drei Zeilen in seiner Konfiguration (Listing 1). Wer die Telefonanlage in eine bestehende Infrastruktur integriert und keine Änderungen am vorhandenen DHCP-Server vornehmen möchte, kann Dnsmasq auch als DHCP-Proxy verwenden. Um nicht alle Geräte im Netzwerk mit Optionen zu belästigen, lässt sich der DHCP-Server auch auf eine Herstellerkennung in den ersten drei Bytes der MAC-Adresse beschränken.

Listing 1

dnsmasq.conf

01 dhcp-range=192.168.1.1,192.168.1.100,12h
02 dhcp-option=66,https://192.178.254:443
03 dhcp-option=67,settings-{mac}

Gemeinschaft 4 ist wegen seines Sicherheitskonzepts sehr viel restriktiver aufgebaut als die kommende Version 5. Aus diesem Grund muss der Anwender jedes neue Telefon in die Datenbank der Software eintragen, bevor das Gerät eine Konfigurationsdatei abrufen kann. Gemeinschaft 5 wird ein neues Telefon automatisch in der Datenbank anlegen und mit einem neuen SIP-Account versehen. Damit entfällt der manuelle Eingriff.

Die MAC macht's

Über die Weboberfläche von Gemeinschaft 4 gibt der Admin die MAC-Adresse des Telefons ein und wählt das Modell aus. Die MAC-Adresse ist auf den meisten Telefonen in Form eines Barcodes zu finden, der sich mit einem Scanner einlesen lässt. Danach verbindet er das Telefon mit dem Netzwerk. Die Weboberfläche zeigt nun zu jedem angelegten Telefon an, ob es bereits eine Konfigurationsdatei erhalten hat oder nicht. Diese Funktion ermöglicht vor allem bei größeren Installationen eine einfache Kontrolle der Endgeräte (Abbildung 1).

Abbildung 1: Die Weboberfläche von Gemeinschaft zeigt ein neu angelegtes Telefon und dessen Status.

Das neu angelegte Telefon erhält in der XML-Datei (Listing 2) neben den zwingend zum Betrieb notwendigen Zugangsdaten zum SIP-Server noch weitere nützliche Parameter, die nicht nur dem Administrator das Leben erleichtern. Dazu zählen drei Telefonbücher (intern, global, persönlich), ein XML-Menü zum Setzen der Server-seitigen Rufumleitungen sowie ein XML-Menü, um einen User an- oder abzumelden (Hotdesking). Gemeinschaft erzeugt diese Datei automatisch.

Listing 2

settings.xml

01 <?xml version="1.0" encoding="UTF-8"?>
02 <settings>
03   <phone-settings>
04     <auto_reboot_on_setting_change perm="RW">on</auto_reboot_on_setting_change>
05     <settings_refresh_timer perm="RW">60</settings_refresh_timer>
06     <reset_settings perm="RW">main net stack user fkey speeddial phonebook</reset_settings>
07     <setting_server perm="RW">https://192.168.110.89:443/settings-000413331FDB.xml</setting_server>
08   </phone-settings>
09 </settings>

In Version 5 von Gemeinschaft kommen noch weitere Komfortfunktionen hinzu: Jeder User darf seine Funktionstasten nach Wunsch belegen. Dabei muss er sich keine Gedanken darüber machen, welches Telefonmodell er in Zukunft verwendet. Das Provisioning belegt automatisch nur Funktionen, die das jeweilige Telefon auch unterstützt. Zu den wichtigsten zählen die Überwachung von Nebenstellen mit der Möglichkeit, Gespräche zu übernehmen (BLF), das An- und Abmelden an Warteschlangen sowie die Rufumleitung.

Hinter den Kulissen

Hinter dem Provisioning steckt außer dem DHCP-Server auch eine Ruby-on-Rails-Anwendung. In Listing 3 landen Anfragen an die URL »http://gemeinschaft.example.com/settings-000413271FDB« bei dem Controller »manufacturer_snom« . Dabei hängt der Code den Parameter »mac_address=000413271FDB« an und verlangt das Ausgabeformat XML, sofern die MAC-Adresse mit 000413 beginnt.

Listing 3

Controller

01 match 'settings-:mac_address' => 'manufacturer_snom#show',
02         :format => 'xml',
03         :constraints => { :mac_address => /000413.*/ }

Der Controller versucht über den Parameter »mac_address« zu erfahren, ob das Telefon bereits in der Datenbank existiert, und findet im Erfolgsfall alle Daten, die für das Telefon relevant sind. Im nächsten Schritt wandelt Gemeinschaft die generisch gespeicherten Daten in das von diesem Telefon benötigte Format um und lässt sie von der View »show« ausliefern.

Um ein weiteres Telefonmodell in das Provisioning aufzunehmen, sind daher drei Dinge erforderlich: Die Route zum neuen Controller, ein neuer Controller, der die MAC-Adresse entgegennimmt und die Daten für das Telefon aus der Datenbank liest, sowie eine View, um die Konfigurationsdatei im richtigen Format auszugeben. Ein Admin mit Ruby-on-Rails-Kenntnissen kann die Open-Source-Telefonanlage somit selbst erweitern. Das kann nötig sein, weil Gemeinschaft 4 nur Telefone der Reihen 3xx (Abbildung 2) und 8xx des Herstellers Snom unterstützt. Die kommende Version 5 ermöglicht das Provisioning für Geräte der Hersteller Snom, Siemens (Openstage-Reihe) und Polycom (Soundpoint-Reihe).

Abbildung 2: Gemeinschaft 4 unterstützt Telefone wie das Snom 370.

Es gibt mehrere Möglichkeiten, ein provisioniertes Telefon über Änderungen in der Konfiguration zu informieren. Um immer eine direkte Rückmeldung vom Telefon zu erhalten, ist die sicherste Methode eine Anfrage an den Webserver des Telefons mit der Aufforderung, einen Neustart auszuführen. Das ist für den User leider unbequem, da das Telefon bei jeder Änderung für eine kurze Zeit nicht betriebsbereit ist. Ab Gemeinschaft 5 ist es aber möglich, alle unterstützten Telefone ohne Neustart zu provisionieren. In diesem Fall schickt die Telefonanlage eine »SIP Info« -Nachricht mit der Aufforderung, die Konfiguration neu zu laden.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Gemeinschaft an der Strippe

    Asterisk-Toolkits wie das auf deutsche Verhältnisse angepasste Projekt mit dem schönen Namen Gemeinschaft helfen den Admins und Systemintegratoren, eine Telefonanlage ab mittlerer Größe mit überschaubarem Aufwand zu migrieren und zu betreiben.

  • Gemeinschaft 2.1 für VoIP als Live-Version

    Die Amooma GmbH hat eine neue Version ihrer auf deutsche Verhältnisse spezialisierten Telefonanlage veröffentlicht. Die Asterisk-basierte VoIP-Software gibt es erstmals als Live-CD.

  • Gemeinschaft 2.3 mit Videotelefonie

    Die unter der GPL veröffentlichte Telefonanlage "Gemeinschaft" aus dem Hause Amooma bietet in der aktuellen Version 2.3 eine verbesserte Weboberfläche an.

  • Gemeinschaft 2.2 integriert Hylafax

    Die Amooma GmbH hat Version 2.2 ihrer GPL-Telefonanlage "Gemeinschaft" veröffentlicht. Zu den Neuerungen gehört ein integrierter Fax-Server.

  • Gefüttert

    Mit ein wenig Know-how und dem passenden Skript können VoIP-Telefone Rufnummern und Namen aus einem Groupware-Server verwenden. Manche zeigen sogar Termine oder Fußballergebnisse an.

comments powered by Disqus

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.