Archiv der Kategorie: Daily Work

Preiswerte Webserver bei SolNet

SolNet Webserver Light

Eine eigene Webseite für wenig Geld, das gibt es heute fast überall. Bei manchen Anbietern sogar kostenlos – zum Beispiel als Dreingabe beim Bestellen anderer Produkte. Somit ist ein Webserverangebot für weniger als 10 Fr. pro Monat keine Besonderheit mehr. Was das neue SolNet Angebot dennoch interessant macht, ist die Tatsache, dass darin auch die Gebühren der Registrierstelle Switch enthalten sind. Im Preis von Fr. 29.90 ist also alles inklusive. Ausserdem stehen die Server von SolNet in einem modernen Datacenter in Solothurn, zentral in der Schweiz.

Was bekommt man nur für die 29.90 pro Jahr? 3 GB Webspace, beliebig viele E-Mail Adressen, unlimitierten Traffic, unlimitierte FTP-Accounts, PHP/CGI und noch einiges mehr. Zum tiefen Preis gehören sogar Extras, die nicht alltäglich sind, Cronjobs zum Beispiel. Im Paket ist somit alles enthalten, was es für eine zeitgemässe Webpräsenz braucht. Weitere Infos und ein Bestellformular gibt es auf der SolNet Produktseite.

Android Tablet mit chinesischem Akzent

Tablet Computer sind im Moment in aller Munde. Und wenn man den IT-Auguren Glauben schenken will, dann wird dieser neue und trendige Computertyp in den kommenden Monaten und Jahren neue Akzente in der Computerwelt setzen. Tablets unterstreichen mit einem dicken Stift den Trend der zunehmenden Mobilität und des «Internet everywhere». Und während PC’s und Notebooks eher als Arbeitsgeräte wahrgenommen werden, sind Tablets reine «Joypads» – Alleskönner in der medialen Vielfalt des Internet. Wer unterwegs ein Tablet aus der Tasche zieht, will damit E-Mails lesen, kurz bei Facebook vorbeisehen, Musik hören oder die Fahrzeit im Zug mit einem Film verkürzen. Das heisst natürlich nicht, dass mit einem Tablet nur konsumiert werden kann, so wie dies hin und wieder zu hören ist. Mit etwas Übung lässt sich auch auf dem Tablet prima schreiben, malen oder zeichnen!

Im Tabletmarkt gibt es Pioniere und es erstaunt kaum, dass sie zuerst genannt werden, wenn von diesen neuen Pads, Tablets oder Slate-PC’s die Rede ist: Apple’s iPad, Samsung mit dem Galaxy Tab, Archos und Dells’s Streak gelten als Vorreiter, gefolgt von zahlreichen anderen Herstellern, die eifrig dabei sind, noch dieses Jahr ein Tablet auf den Markt zu bringen!
Und einmal mehr gelang es Unternehmen aus China alle zu überraschen. Denn wer glaubt, in China würden nur Kopien gebaut, der irrt gründlich: als in Japan das iPad von Apple eingeführt wurde, gab es in zahlreichen Shops bereits Tablets zu kaufen, die «IPed» oder «APad» genannt wurden. Die Geräte verblüfften die Fachwelt durch einen markant tieferen Preis und dadurch, dass sie wesentlich mehr boten als das Original. Durch den Einsatz von Google’s Android gab es ferner eine riesige Auswahl verschiedenster Applikationen.

Mittlerweile gibt es das APad, das auch unter den Bezeichnungen «IRobot Tablet», «Orphan» oder schlicht «M16» angeboten wird, auch in der Schweiz zu kaufen. Angeboten wird das Tablet auf Ricardo oder auf kleineren Online Shops. Ich wollte es genau wissen und bestellte mir auf Ricardo ein APad mit einem 10-Zoll Display und Android 2.1. Erfreulich schnell kam das Gerät nach Vorauszahlung (bei Ricardo üblich) – und war kaputt! Der Akku lief trotz mehrstündigem Aufladen nur wenige Minuten und weil es Probleme mit dem Memory gab, stürzte das Tablet immer wieder ab und musste jedesmal komplett neu eingerichtet werden. Der Verkäufer verhielt sich aber vorbildlich; er tauschte das Geräte sofort aus und schon nach wenigen Tagen war ein neues, diesmal funktionierendes APad im Briefkasten. Es hat wie schon erwähnt ein 10” Display, 256 MB RAM, eine USB2 Schnittstelle und zwei Slots für Mini-SD Cards. Der Speicher lässt sich so auf 8 GB Memory oder mehr erweitern. Als Betriebssystem wird Android 2.1 verwendet.

Geliefert wurde das APAd in einem schmucken Karton, zusammen mit einem Netzteil und einer Schutzhülle. Das kleine User’s Manual verdient seinen Namen leider nicht. Besteht es doch nur aus wenigen Seiten, die zum Teil veraltete Informationen enthalten.
Eingeschaltet wird das APAd mit einem kleinen Knopf auf der Oberseite, der zwei Sekunden gedrückt werden muss und dann den rund 45 Sekunden dauernden Bootprozess startet. Ein zweimaliges Drücken des Knopfes versetzt das Gerät in einen Standbymodus. Wer es ganz ausschalten will, hält den Knopf fünf Sekunden gedrückt.

Android Desktop

Nach dem Konfigurieren der wichtigsten Parameter (Wireless Netz, Zeitzone, Ländereinstellung, etc.) und dem Einlegen einer SD-Card konnte es losgehen. Der Google Browser startet innert Sekunden und zeigt auch umfangreiche Seiten mühelos und schnell an. Nur mit dem Flash Plugin gibt es Probleme. Das läuft nämlich auf Android nicht – oder nur sehr eingeschränkt. Also doch kein YouTube? Nein, denn es gibt Hilfsprogramme wie FREEdi oder FreeTube, mit denen YouTube Videos heruntergeladen oder auch in Echtzeit angezeigt werden können. Der FireFly Browser, der speziell für mobile Geräte entwickelt wurde, konvertiert Flash Filme ebenfalls zur Laufzeit.
Beim Start fällt noch etwas auf: das APad kann seine asiatische Herkunft nicht verleugnen. Nach dem ersten Start zeigt der Bildschirm das Wetter in Peking an und es tauchen immer wieder chinesische Schriftzeichen auf. All dies lässt sich aber anpassen. Nicht anpassen lässt sich hingegen die regelmässige Frage nach einer Lizenznummer. Zwar kann dieser Dialog ignoriert werden, dafür ist dann aber der Upgrade des Android-Systems nicht möglich. eine Lösung dieses Problems kann ich zurzeit leider noch nicht anbieten.

Die Frage ist natürlich: wo kommen alle diese Applikationen her? Android Apps werden meistens im Google’s Android Market zur Verfügung gestellt. Dies ist eine Applikation von Google, die bei kostenpflichtigen Programmen auch den Bezahlprozess abwickelt und nach der Installation dafür sorgt, dass die Apps aktuell bleiben. Nachteil: auf meinem Tablet funktioniert der Market nicht, Downloads werden stets mit einer Fehlermeldung quittiert. Gut, dass es Alternativen gibt. Ich fand alles bei SlideME, AndAppStore oder direkt auf der Seite des Softwareherstellers. Dort habe ich einen FTP-Client (AndFTP), eine Facebook-Applikation und den Opera-Mini Browser heruntergeladen. Bei Android ist der Installationsprozess meist eine Angelegenheit von wenigen Sekunden.

Opera Mini in Aktion

Wie sieht es mit Multimedia aus? Das APad kennt zahlreiche Audio- und Videoformate, wobei MP3-Playlists auch im Hintergrund abgespielt werden können. Aber Achtung: die Wiedergabequalität des integrierten Lautsprechers ist bescheiden und auch das Display kann es sicher nicht mit einem Galaxy Tab aufnehmen. Dies gilt übrigens auch für den berührungsempfindlichen Bildschirm. Dieser ist nicht kapazitiv; reagiert also deutlich träger und es braucht auch etwas mehr Druck, bis ein Bedienelement reagiert. Vielleicht ist das ein Grund, weshalb ein Stylus mitgeliefert wird.

Fazit: Das APad ist mehr eine Alternative als eine Konkurrenz zu den Tablets von Dell oder Apple. Technisch liegt es etwas zurück und kann diesen Rückstand mit den zusätzlichen Schnittstellen nur zum Teil wett machen. Hinzu kommt, dass es schwierig ist, bei Problemen Unterstützung zu erhalten. Das APad ist ein Gerät für Experimentierfreudige, die es nicht stört, wenn etwa nicht wie gewohnt funktioniert. Es ist ein Gerät, das an die Homecomputerzeit der frühen 80er Jahre anklingt. Auch auf einem Commodore C64 oder ZX Spectrum musste das meiste zuerst “zum Laufen gebracht” werden. Wen dies nicht stört und wer vor den technischen Mängeln nicht zurückschreckt, darf das Wagnis eingehen. Mit etwas Geduld kann das APad zu einem spannenden und multifunktionalen Tablet-Computer ausgebaut werden.

Wireless Zugang zeitlich beschränken

Auf den DrayTek ADSL Routern Vigor 27nn und 28nn kann ein Zeitschalter (Scheduler) verwendet werden, um den Wireless Zugang zeitlich zu begrenzen. Das hat zwei Vorteile: erstens kann damit verhindert werden, dass mobile Geräte oder PC’s mit Wireless-Karte rund um die Uhr auf das Internet zugreifen. Und zweitens lässt sich so die Strahlenbelastung während der Nacht absenken. Solange es kein gesichertes Wissen darüber gibt, ob und wie stark elektromagnetische Strahlung den Organismus schädigt, ist dies eine gute und begründbare Vorsichtsmassnahme.

Ich verwende im folgenden ein DrayTek Vigor 2700G, das auf diesem Blog bereits vorgestellt wurde. Es verfügt über ein Wireless LAN, das schnell und einfach aktiviert werden kann. Anschliessend können Smartphones, Netbooks oder PC’s mit einem Wireless-Stick kabellos auf das Internet zugreifen. Während den Nachtstunden wird der Wireless-Zugang aber von niemandem genutzt, deshalb soll er automatisch deaktiviert werden, währendem der Router eingeschaltet bleibt. Ebenso soll am Morgen der WiFI-Zugang automatisch wieder eingeschaltet werden.

Um den Kabellos-Zugang zeitlich zu limitieren, sind nur wenige Schritte erforderlich, ich verwende im Beispiel eine Deaktivierung, die von Abends 22.00 bis Morgens 6.00 dauert. Um die Einstellung vorzunehmen, muss zuerst das Webinterface des Vigor 2700 über die IP Adresse 192.168.1.1 aufgerufen werden. Nun wird im Menu zuerst die Rubrik Applications, dann im aufgeklappten Untermenu der Punkt Scheduler gewählt.

DrayTek Scheduler

DrayTek Scheduler

Damit wird die Zeitsteuerung aufgerufen. Es können bis zu 15 Zeitperioden festgelegt werden, an denen bestimmte Einstellungen des Routers aktiv oder inaktiv gestellt werden. Es kann nun auf den ersten freien, mit einem “x” markierten Index geklickt werden. Darauf werden die zugehörigen Einstellungen angezeigt. Es können nun die gewünschten Parameter so wie im Screenshot eingetragen und gespeichert werden.

Im zweiten Schritt muss bestimmt werden, dass diese Einstellung für den Wireless Zugang gültig sein soll. Also wird im Menu zuerst Wireless LAN und dann General Setup gewählt. Jetzt muss im ersten der vier Schedule Felder der Index der zuvor erfassten Zeitperiode (1) eingetragen werden:

Sobald die Änderung gespeichert ist, wird der Scheduler den Wireless-Zugang zur gegebenen Zeit deaktivieren. Massgebend für die Zeitnahme ist die interne Uhr des Routers, die im Menu System Maintenance kontrolliert und ggf. eingestellt werden kann. Wichtig: bei manchen DrayTek Routern hat das zeitbedingte Anschalten keinen Einfluss auf die WiFi-LED am Gerät – diese leuchtet auch dann, wenn der Router keine WiFi-Verbindungen annimmt.

Neue Webserver von SolNet

Der Solothurner ISP lanciert neue Webserver-Produkte mit bemerkenswerten Eigenschaften: bereits ab Fr. 6.90 gibt es ein Hosting-Angebot, das auch für anspruchsvolle Web-Projekte genügend Ressourcen bietet: 15 Gigabyte Speicherplatz, bis zu 5 Datenbanken, sowie beliebig viele E-Mail und FTP Accounts. Die leistungsfähigen Server stehen alle im eigenen Rechenzentrum in Solothurn.

Wem die Grundausstattung nicht genügt, findet im Developer Webserver noch mehr Speicherplatz und eine nicht mehr limierte Anzahl an MySQL Datenbanken. Wer schliesslich für Shops und E-Commerce ein eigenes SSL-Zertifikat und eine Saferpay-Anbindung benötigt, wählt die Pro-Version.

websererpanel

Webserver Panel

Zum Webserver gibt es ein übersichtliches und gut dokumentiertes Verwaltungs-Panel. Hier können neben den üblichen Verwaltungsaufgaben auch ganze DNS-Zonen oder Hintergrund-Prozesse erstellt und bearbeitet werden. Entwickler werden die Funktionen zum Steuern der PHP Fehlermeldungen und das Erzeugen eigener Logdateien schätzen.

SolNet PBX

Ich habe ja schon einmal angedeutet, dass ich an einer digitalen Telefonzentrale (PBX – Private Branch Exchange) arbeite. Nun, da das Produkt der Version 1.0 entwachsen ist und bereits einige Kunden damit arbeiten, dachte ich dass die Zeit gekommen ist, die Software auch an dieser Stelle kurz vorzustellen.

Die SolNet PBX ist auf die Bedürfnisse von KMU’s abgestimmt. Sie bietet also die Funktionen, die in einem kleinen bis mittleren Unternehmen benötigt werden. Dazu gehören unter anderem ein flexibles Verwalten von internen und externen Nummern, das Festlegen von Mitteilungen für verschiedene Tageszeiten und Feiertage, sowie Funktionen für Sammelanschlüsse und Ringrufe. Alle Einstellungen der PBX können bequem mit dem Webbrowser angezeigt und verändert werden. Da die PBX zentral auf Servern bei SolNet gehostet ist, entstehen dem Kunden keine Wartungs- oder Unterhaltsarbeiten.

Bei der Entwicklung der PBX gab es zwei wichtige Aspekte: zum einen wurde (und wird) grosser Wert auf Offenheit und Flexibilität gelegt. So kommt als Telefoniesoftware die Realtime Version von Asterisk zum Einsatz. Bei der Realtime-Erweiterung werden alle Einstellungen in einer Datenbank gespeichert. So wird sichergestellt, dass Änderungen an der Konfiguration sofort wirksam werden: modifiziert ein Teilnehmer also sein Passwort oder seine Einstellungen für ausgehende Anrufe, werden diese ohne Verzögerung wirksam.
Da für die Kommunikation standartisierte Protokolle der Digitaltelefonie verwendet werden, können die verschiedensten Telefone an die PBX angeschlossen werden, etwa die Modelle von SNOM oder Linksys/Cisco. Aber auch Softphones und Smartphones (z.B. iPhone) werden unterstützt.

pbx-user

Einstellungen eines Teilnehmers

Der zweite wichtige Punkt ist die Verwendung von SolNet Digital Voice Konten. Damit können alle Vorteile der Digitaltelefonie genutzt und mit PBX-Funktionen ergänzt werden. Kunden können bestehende Nummern auf Digital Voice portieren oder neue Nummern bestellen. Anschliessend können diese Nummern nach Belieben einem Teilnehmer oder Sammelanschluss zugewiesen werden. Das schöne daran: bei jeder Nummer kann genau festgelegt werden, was bei einem Anruf passiert: Ringruf, Meldung mit VoiceMail nach Feierabend, spezielle Meldung für Wochenenden und Feiertage, etc.

pbx-calls

Verbindungsnachweis

Da Asterisk die Grundlage der PBX ist, kommen zahlreiche Funktionen hinzu, die das Arbeiten mit der Zentrale erleichtern. SNOM-Telefone beispielsweise bieten praktische Rezeptionsfunktionen. Damit kann mit LED’s auf dem Apparat angezeigt werden, bei welchen Teilnehmern gerade das Telefon läutet oder wer aktiv ein Gespräch führt. Natürlich kann dafür auch die Telefonzentrale auf der Webseite der PBX verwendet werden. Und es gibt Indikatoren für verpasste Anrufe, für VoiceMail (Sprachnachrichten) oder für aktive Umleitungen, beispielsweise auf ein Handy.
Damit nicht jedesmal die Webseite der PBX bemüht werden muss, können wichtige Einstellungen auch per Kürzel auf dem Telefon vorgenommen werden: Das Umleiten des Anschlusses erfolgt wie gewohnt über die Kombination *21. Um lästige anonyme Anrufer zu sperren, wird *99 verwendet, usw.

Häufig genutzte Telefonnummern können in einem Telefonbuch gespeichert werden. Auch hier kommen offene Standards zum Einsatz: das Verzeichnis ist auf einem LDAP Server abgelegt und kann von jedem Gerät, das LDAP unterstützt, genutzt werden.

Den Abschluss dieser Produktvorstellung macht ein kurzes Fallbeispiel. Ein kleines Unternehmen mit vier Mitarbeitern soll mit der SolNet PBX ausgerüstet werden. Zum Einsatz können fünf externe Nummern, wobei eine als Hauptnummer des Unternehmens genutzt wird.

Mitarbeiter Interne Nummer Externe Nummer
Sid 4040 034 517 40 40
Miranda 4041 034 517 40 41
Stef 4042 034 517 40 42
Greg 4043 034 517 40 43
Zentrale (keine) 034 517 40 10

Alle Teilnehmer haben interne Nummern, damit sie Gespräche innerhalb des Büros führen können. Ferner haben alle eine externe Nummer, damit sie mit einer Direktwahl von aussen erreichbar sind. Ruft jemand die Nummer der Zentrale (034 517 40 10), dann läuten alle vier Telefone entweder gleichzeitig oder schön der Reihe nach (je nach Einstellung). Kommt der Anruf wider Erwarten ausserhalb der Arbeitszeit, wird dies dem Anrufer freundlich mitgeteilt und er erhält die Gelegenheit, eine Nachricht zu hinterlassen.

Klein, einfach und schnell

Ein CMS (Web Content Management System) ist eine feine Sache. Der Inhalt einer Homepage kann damit rasch und ohne Fachkenntnisse aktuell gehalten werden. Und Templates sorgen dafür, dass sowohl Layout als auch Inhalt einer Seite stets ein sauberes und einheitliches Aussehen haben. Freie CMS gibt es heute in grosser Zahl und viele davon haben einen beachtlichen Umfang erreicht. So gilt etwa Typo3 als Schwergewicht; dieses CMS hat eine Myriade an Funktionen und eignet sich auch zur Realisierung von komplexen Firmenauftritten. Entsprechend ist die Komplexität hoch.

Am anderen Ende des Spektrums sind kleine, simple CMS zu finden. Sie bieten sich an für einfachere Aufgaben, wobei aber auch grössere Projekte durchaus im Bereich des Möglichen bleiben. Eines davon soll im folgenden kurz vorgestellt werden. NanoCMS von Kalyan Chakravarthy aus Indien. Kalyan nennt NanoCMS «das kleinste CMS, das du finden kannst!» Und in der Tat. Das in PHP entwickelte CMS ist weniger als 100 KB gross und damit ein echtes Leichtgewicht. Was Kalyan in diese 100 KB hineingepackt hat, ist verblüffend: Zum Grundpaket gehören ein bedienerfreundliches und mehrsprachiges Admintool zum Erstellen und Verwalten einer Website. Ferner ein simpler Template-Mechanismus mit verschiedenen Vorlagen. Ferner eine Programmierschnittstelle «Tweaks» mit der das CMS erweitert werden kann. Endlich eine Online-Dokumentation, die alle Schritte von der Installation bis zur fertigen Webseite erläutert.

Wer NanoCMS ausprobieren will, erlebt bereits bei der Installation die erste positive Überraschung. Das CMS wird lediglich in einen eigenen Ordner kopiert – mehr muss nicht gemacht werden. Kalyan formuliert es so:

«Simply extract the files and folders to your Hard Drive, and then upload them to the correct folder on your website host. Thats it. NanoCMS is installed!»

Das Admin-Tool

Zugegeben, es müssen noch einige wenige Permissions gesetzt werden, aber damit ist NanoCMS dann wirklich einsatzbereit. Selbst eine Datenbank benötigt das kleine CMS aus Indien nicht, denn alle Einstellungen und Seiten werden in Dateien gespeichert. Kalyan spricht deshalb auch von einem Flat-File CMS. Sobald NanoCMS installiert ist, kann die Startseite abgerufen werden. Von dort aus führt ein Link in das data-Verzeichnis und damit in den Admin-Modus. Hier können die einzelnen Seiten der neuen Homepage erstellt, editiert und angeordnet werden. Da auch der Admin-Bereich klein und überschaubar bleibt, ist auch dieser Schritt leicht und intuitiv zu bewältigen. Texte müssen mit HTML-Anweisungen formatiert werden. Wer es einfacher haben will, installiert den Tiny-MCE Tweak. Damit können Texte im WYSIWYG-Modus erfasst und mit Bildern und Tabellen ergänzt werden.

Natürlich drängt sich sehr bald eine entscheidende Frage auf: Wie kann ich das Aussehen der Homepage (Layout, Farben, Schriften) verändern? Antwort: Indem die Stildatei der Webseite verändert wird. Nahezu alle Layoutelemente der Homepage sind in einer zentralen CSS-Datei gespeichert. Hinzu kommen einige wenige PHP-Funktionen, mit denen das Grundlayout gesteuert werden kann. Folgt die neue Homepage beispielsweise dem vorgegebenen Grundgerüst (Header oben, Navigation links, Inhalt rechts), so genügt es, die Stildatei style.css anzupassen. In der aktuellen Version ist diese lediglich 80 Zeilen lang und gut dokumentiert. Mit etwas CSS-Kenntnissen ist es also ein Leichtes, das Aussehen der Seite den eigenen Wünschen anzupassen. Zum ausprobieren habe ich einige Anpassungen an den Farben gemacht und den Header mit einem Hintergrundbild versehen. So gelang es, das Grundgerüst für eine Vereinsseite in weniger als 60 Minuten zu erstellen:

Gewiss, die Hompage ist noch lange nicht fertig. Das Ergebnis nach so kurzer Zeit ist aber sehr ermutigend. Und dies ist zum grössten Teil das Verdienst dieses CMS. Der kleine und klare Aufbau der Software benötigt zum Erlernen und Anwenden nur wenig Zeit, die dann für die eigentliche Aufgabe – dem Webdesign – zur Verfügung steht.
NanoCMS kann als CMS für kleinere Projekte bedenkenlos empfolen werden. Nebst einer guten Dokumentation gibt es eine Community, die bei Fragen oder Problemen weiterhilft. Und es werden laufend neue Tweaks vorgestellt, mit denen das CMS erweitert und auch mit dynamischen Inhalten ergänzt werden kann.

LED’s auf SNOM Telefonen ein-/ausschalten

SNOM IP Telefone verfügen – je nach Modell – über sechs, resp. 12 programmierbare Funktionstasten. Jede dieser Tasten kann mit verschiedenen Aktionen belegt werden, das Wählen einer fest eingestellten Nummer ist dabei nur das einfachste Beispiel. Es ist auch möglich, Gespräche weiterzuleiten, für ein Gespräch einen bestimmten SIP Kanal zu verwenden oder den Anruf auf einer anderen Leitung entgegenzunehmen. Und da zu jeder Taste eine LED (Leuchtdiode) gehört, ist es auch möglich, einer Taste verschiedene Stati zuzuweisen. Mit der «hint»-Extension von Asterisk kann beispielsweise der Status einer Leitung angezeigt werden: frei, läutet oder belegt.

Damit die LED’s einzelner Tasten auch unabhängig von bestimmten Stati ein- oder ausgeschaltet werden können, hat SNOM eine einfache Notation eingeführt, die das entfernte Steuern der Dioden via SIP Message erlaubt. Das Dokument beschreibt sehr detailliert die einzelnen Betriebsmodi der Funktionstasten und die jeweils dazu gehörende Umsetzung. Was leider fehlt, ist ein Praxisbeispiel, etwa mit dem sipsak Utility von Nils Ohlmeier. Dies soll an dieser Stelle nachgeholt werden. Im folgenden Beispiel geht es lediglich darum, die LED der Funktionstaste 6 ein- und wieder auszuschalten. Ich verwenden dazum ein SNOM 370 mit einer Firmware Version 7.1.30 und sipsak 0.9.6. SNOM Telefone mit einer Firmware < 7.0 müssen auf 7.x aktualisiert werden. Zuerst muss eine SIP Message erstellt werden, diese hat folgendes Aussehen. Die Sequenznummern stehen hier in der Datei, was noch zu verbessern wäre: Datei: led.txt

MESSAGE $user$@$dsthost$;transport=udp SIP/2.0
From: sip:sipsak@$srchost$:1036;tag=38473
To: $user$@$dsthost$
Call-ID: 6algjorv@test
CSeq: 59620 MESSAGE
Max-Forwards: 70
Contact: < $user$@$dsthost$;transport=udp>
Subject: buttons
Content-Type: application/x-buttons
Content-Length: 10

k=6
c=on

Zu der SIP Message ist folgendes zu beachten:

  • Die Länge der SIP Message (Content-Length: 10) muss in jedem Fall angegeben werden. Hinweise darauf, dass sipsak diese Aufgaben übernimmt, scheinen nicht zu stimmen. Wird keine oder eine falsche Content-Length angegeben, sendet das SNOM zwar ein 200-OK, das Kommando wird aber nicht verarbeitet.
  • Bei $user$, $srchost$ und $dsthost$ handelt es sich um sipsak Tags, die bei der Verarbeitung durch die tatsächlichen Werte ersetzt werden. Siehe dazu die sipsak Manpage, insbesondere die Argumente -s und -G.
  • Mit k=6 wird bestimmt, welche Taste genau angesprochen wird. Die Ziffer 6 bezeichnet dabei nicht den Wert, der im Nummernfeld angegeben wurde, sondern den Index der Taste (1-12 bei einem SNOM 370). Mit k=1 wird die erste programmierbare Taste angesprochen, mit k=6 die Taste ganz unten links und mit k=12 die letzte, unten rechts.

Damit das ganze nun ausprobiert werden kann, wird ein SNOM Telefon benötigt, auf dem mindestens eine SIP Identität registriert worden ist. In meinem Beispiel kommen die folgenden Werte zur Anwendung:

IP des SNOM 370: 212.101.99.40
Identität 1 – Nutzerkennung: demo-3437
Identität 1 – Authorisierungsname: demo-3437
Identität 1 – Registrar: 212.101.99.41

Damit registriert sich das SNOM auf dem Asterisk Server, der auf einem Rechner mit der IP 212.101.99.41 installiert ist. Infos über das Erstellen von SIP Accounts gibt es auf voip-info.org. Wichtig: Damit das Beispiel funktioniert, sollte das SNOM Telefon ordnungsgemäss registriert sein. Der Grund dafür ist die SIP-User Kennung demo-3437, die im Folgenden verwendet wird.

Bevor die aufbereitete SIP Message an das SNOM gesendet werden kann, muss eine Funktionstaste mit dem Tastentyp «Button» belegt werden. Dies geht am einfachsten über das Webinterface des SNOM Telefones, in der Rubrik Funktionstasten. Ich verwende im Folgenden die Taste P6. Alles was hier eingestellt werden muss, ist der Tastentyp, der auf «Button» stehen muss, so wie im Beispiel rechts.

Damit sind wir schon fast am Ziel. Auf dem Asterisk Server wird nun mit sipsak die Datei sip.txt an das SNOM Telefon gesendet. Das sipsak Utility ist auf sipsak.org zu finden und kann von dort heruntergeladen und installiert werden. Das folgende Kommando sollte die sechste Funktionstaste (P6) auf dem SNOM zum Leuchten bringen.

sipsak -G --hostname 212.101.99.41 -s sip:demo-3437@212.101.99.40 
--filename led.txt

Wie so oft im Leben geht gerne etwas schief. Falls P6 nun nicht leuchtet, sollte folgendes kontrolliert werden:

  • Ist das SNOM so konfiguriert, dass es SIP Messages entgegennimmt? Ein FAQ-Artikel auf dem Snom WIKI gibt Auskunft, welche Einstellungen ggf. angepasst werden müssen.
  • Klappt der Transfer der SIP Message. sipsak kennt mehrere Verbosity-Level, mit denen die gesendeten und empfangenen SIP Blöcke angezeigt werden können: sipsak -vvv …
  • Auf dem Webinterface des SNOM gibt es zwei Seiten, die bei der Fehlersuche hilfreich sein können: Log und SIP-Protokollierung. Das SNOM muss bei der Antwort in jedem Fall ein «200 – OK» senden, wenn eine andere Meldung daherkommt, stimmt mit der SIP Nachricht etwas nicht.

Infos zu TR-069

Die Abkürzung «TR-069» steht für «Technical Report 69». Eine Bezeichnung die ideenlos, wenn nicht gar langweilig klingt. Aber das wofür TR69 steht, sorgt zurzeit für Kontroversen. TR69 wird als «Einfallstor für Spionagesoftware» oder gar als «Modem-Trojaner» bezeichnet. Was ist dran an diesen Behauptungen? Der folgende Artikel enthält eine kurze Einführung zum Thema.

TR69 ist bei Lichte betrachtet nicht mehr als ein Protokoll, das die Kommunikation zwischen einem Endgerät und einem Kontrollserver regelt. Endgeräte werden CPE’s (Customer Premises Equipment) genannt und sind in aller Regel Endgeräte beim Kunden: DSL-Modems, Router, ATA-Boxen, usw. CPE kann per Definition aber auch weiter gefasst werden. Nahezu bei jeder Komponente in einem Netzwerk kann TR69 zum Einsatz kommen. Auf der anderen Seite steht der Kontrollserver, der ACS (Access Control Server) genannt wird. Seine Aufgabe besteht darin, vermöge des TR69 Protokolles Informationen mit einem CPE auszutauschen. Dabei ist klar geregelt, wie die Kommunikation aufgebaut ist, welche Informationen dabei fliessen und welche Authorisierungsmechanismen zum Zuge kommen. Die erste wichtige Frage lautet nun aber: was sind das für Informationen, die ausgetauscht werden?

Leistungsumfang

Um diese Frage beantworten zu können, muss kurz auf das Leistungsspektrum von TR69 eingegangen werden. Dieses umschliesst drei Funktionen zur automatischen Fernkonfiguration und Fernwartung eines CPE:

  1. Konfiguration – Um die Konfiguration eines CPE beim Kunden zu erleichtern sieht TR69 vor, dass ein CPE nach der ersten Inbetriebnahme mit einem ACS Kontakt aufnimmt und von diesem seine Basiskonfiguration erhält. Dabei ist genau festgelegt, welcher (oder welche) ACS für diese Operation in Frage kommen. Bei DSL-Modems ist dies der DSL-Provider, mit dem der Kunden einen Vertrag abgeschlossen hat.

    Im Detail funktioniert das Spiel so: Das CPE bestimmt, welche Konfigurationsparameter von einem ACS abgefragt und verändert werden können. Beim einer Fritz!Box 7170 sind dies mehr als 400 Parameter! Das CPE liefert dem ACS auf Anfrage eine Liste dieser Parameter und ihrer Werte. Der ACS kann nun seinerseits diese Werte verändern und an das CPE zurück senden. Dieses Abfragen und Modifizieren von Parametern auf dem CPE kann beliebig oft vom ACS initiiert werden, ist also nicht an die Erstkonfiguration des CPE gebunden.

  2. Firmware Upgrade – TR69 beschreibt einen Mechanismus, der das Aktualisieren der CPE-Firmware, also zum Beispiel der Betriebssoftware auf dem DSL-Modem ermöglicht. Hierbei erhält das CPE eine enstprechende Anfrage vom Server, in der enthalten ist, wo eine neue Version der Firmware heruntergeladen werden soll. Der ACS sendet dem CPE also nicht die Firmware selbst, sondern nur eine Adresse, von der die Firmware heruntergeladen und installiert wird. In der Regel ist dies eine durch Passwort geschützte Datei auf einem Webserver des Providers.
    Der Vollständigkeit halber muss erwähnt werden, dass die Download-Funktion noch weitere Optionen bietet. Neben der Firmware ist auf einigen Geräten der Austausch von Webseiten des integrierten Webservers oder von anderen Dateien möglich. Bei der Download-Operation wird jeweils ein Funktionsnummer mitgeliefert, die den Typ des Downloads bestimmt.
  3. Wartung – Dazu gehören Funktionen wie das Auswerten von Logdateien, das Ermitteln von Traffic-Statistiken oder ein Neustart des Gerätes.

Sicherheit

Grundsätzlich gilt: Wer mit TR69 auf ein CPE zugreifen kann, ist klar festgelegt. Der TR69 Client auf einem CPE enthält die IP-Adresse eines ACS und die Authorisierungsparameter (Benutzername/Passwort), die vom ACS bei jeder Sitzung mitgeliefert werden müssen. Damit Passwörter nicht im Klartext durch das Netz gesendet werden, kommen SSL oder eine HTTP Digest-Authorisierung zum Einsatz. Obwohl TR69 ein asynchrones Protokoll ist, erfolgt der Aufbau einer Sitzung stets vom CPE aus. Dieser Sitzungsaufbau erfolgt periodisch, kann aber auch nach bestimmten Ereignissen (z.B Reboot) initiiert werden. Beim Sitzungsaufbau sendet das CPE eine sogenannte «Inform» Anfrage an den ACS. Dieser entscheidet dann, was damit zu geschehen hat. Antwortet er gemäss den TR69 Regeln auf die Anfrage, kommt die Sitzung zustande und der Server kann nun seinerseits Anfragen an das CPE stellen.

Eine Sitzung kann auch vom ACS eingeleitet werden. Dazu sendet der Server eine Anfrage an eine vom CPE festgelegte Webadresse. Die Anfrage ist jedoch nur gültig, wenn der ACS sich korrekt authorisiert. Dazu muss der Server eine Benutzer/Passwort-Kombination senden, die auf dem Modem vor der Auslieferung gespeichert worden ist und vom ACS nicht verändert werden kann! Zusätzlich empfiehlt TR69, dass die vom CPE zur Verfügung gestellte Adresse nach jeder Sitzung verändert wird. Damit wird dem Missbrauch des asynchronen Modus zusätzlich vorgebeugt.

Die meisten CPE Clients sind selbst konfigurierbar: Sie erlaube das Konfigurieren einzelner Funktionen oder können als ganzes ausgeschaltet werden. Bei ZyXEL Modems geschieht dies bequem über ein Menu, das via Telnet erreichbar ist. Bei der Fritz!Box ist es eine Datei tr069.cfg, die im Ordner /var/flash zu finden ist. Dort legt der Besitzer fest, ob er Firmware-Upgrades erlaubt und wie oft sein Gerät eine Session zum ACS initiiert. Duch das Ändern eines Passwortes kann zudem der asynchrone Modus deaktiviert werden. Und wem TR69 gänzlich suspekt ist, dem steht es frei, es komplett auszuschalten.

Für und Wider

Obwohl es grundsätzlich möglich ist, eine Überwachungssoftware via ACS zu installieren, ist die Bezeichnung «Einfallstor für Trojaner» übertrieben und führt zu falschen Ängsten und Verdächtigungen. Denn ausschliesslich der Provider hat Zugriff auf das CPE. Im Alltag ist TR69 nichts anderes als ein Protokoll, das dem Kunden die Arbeit abnimmt, wenn er seinen DSL-Router in Betrieb nimmt. Mit TR69 werden alle wichtigen Parameter für das Gerät beim ACS abgeholt und gespeichert, so dass dass das Gerät sofort betriebsbereit ist. Der Firmware-Upgrade kann den Kunden sogar vor Angriffen schützen, wenn damit Schwachstellen in der Betriebssoftware behoben werden.

Auf der anderen Seite kann TR69 für eine übertriebene Kontrolle des Providers missbraucht werden. Ein wichtiger Schlüssel dazu bieten die Parameter-Attribute. Jeder Parameter eines CPE kann mit zwei Attributen ausgezeichnet werden: «Notify» und «Access». Das Access-Attribut legt fest. wer diesen Parameter einsehen oder ändern darf. Theoretisch ist es möglich, damit den Zugriff des ACS einzuschränken. In der Praxis wird dieses Attribut von den meisten TR69-Clients noch nicht oder nur zum Teil genutzt. Interessanter ist das Notify-Attribut: Es legt fest, was geschieht, wenn der Besitzer des CPE den Wert eines Parameters verändert. Es kann bestimmt werden, dass der neue Wert sofort oder beim nächsten «Notify» (siehe oben) an den ACS gesendet wird. Mit andern Worten: Der Provider kann protokollieren, welche Parameter zu welchem Zeitpunkt vom Kunden verändert worden sind.

Dokumentation

Der Umfang und die Funktionsweise von TR69 ist im Dokument «TR-069 Amendment» genau beschrieben. Leider gebricht es dem Dokument an Struktur und Verständlichkeit. Es ist an vielen Stellen nur schwer verdaulich. Erschwerend kommt hinzu, dass der mehr als 100 Seiten umfassende Text nicht ein einziges Beispiel gibt. Wer also selbst eine TR69-Schnittstelle entwickeln will, steht einigen Schwierigkeiten gegenüber. Als weitere Informationsquelle kann der englische Wikipedia-Artikel genannt werden. Dieser enthält eine gute Zusammenfassung der Materie sowie Links zu einigen kommerziellen ACS-Anbietern.

…Ist das alles? Ja, leider. Jedenfalls im Moment. Ich habe selber eine ACS-Software entwickelt und viel Zeit damit verbracht, im Internet nach Informationen zu recherchieren. Die beiden gebotenen Links bleiben vorerst das spärliche Ergebnis dieser Suche. Auch wer nach freier Software fragt, wird enttäuscht. Denn im Moment gibt es noch keine TR69-Projekte.

Telefonieren mit Asterisk (I)

Asterisk Logo«…Was soll ich machen? Eine virtuelle PBX? Was um alles in der Welt ist das!?» Ich gebe es freimütig zu, ich hatte den Begriff «PBX» wirklich nie zuvor gehört. Dass hängt damit zusammen, dass ich bisher mit Telefonie so gut wie nichts zu tun hatte und mich für Telefone bis vor einigen Wochen auch kaum interessierte. Telefone waren für mich eher etwas langweiliges.

Also, PBX ist die Abkürzung für «Private Branch Exchange» und kann am einfachsten mit «Telefonanlage» übersetzt werden. Klingt ganz einfach, oder? Ist es aber nicht! Denn damit begeben wir uns in ein Fachgebiet, das eine unstillbare Neigung zur Unübersichtlichkeit und Komplexität hat. Das hängt damit zusammen, dass vieles neu und die Dokumentation dementsprechend spärlich ist.

Durch die zunehmende Rechenleistung und erhöhte Bandbreite in den weltumspannenden Netzen haben sich in den vergangenen Jahren verschiedene Technologien entwickelt, die das Telefonieren auf IP-Basis ermöglichen. Als Trägermedium dient also nicht mehr ein herkömmliche Telefonleitung sondern ein Computernetzwerk. Digitale Telefonzentralen ermöglichen es, eine firmen- oder hausinterne Telefonanlage aufzubauen, die weniger als herkömmliche Zentralen kostet, dafür aber in bezug auf Funktionsumfang und Flexibilität einiges mehr bietet.

Wer sich mit digitaler Telefonie beschäftigt, wird rasch mit einer Unmenge an Fachbegriffen konfrontiert: VoIP, SIP, IAX, DTMF, H232, OpenSER, Voicemail, etc. etc. Um mir ein Bild der der Sache machen zu können, habe ich mich zuerst durch die Online-Dokus der verschiedenen Websites durchgelesen, die sich mit diesem Thema beschäftigen. Etwas frustriert stellte ich dann fest, dass es nicht ganz simpel ist, sich einen Überblick zu verschaffen und etwas Ordnung in das umfangreiche Angebot zu bringen. Ein guter Einstiegspunkt ist nach meiner bisherigen Erfahrung voip-info.org. Die Wiki-Seite ist zwar stellenweise ziemlich chaotisch, aber sie enthält einen Bereich für Einsteiger, der die verschiedenen Möglichkeiten, Techniken und Produkte vorstellt.

Asterisk, der Alleskönner

Eher früher als spät taucht der Begriff «Asterisk» auf, eine von Digium entwickelte Software-Telefonanlage, von der eine kommerzielle, aber auch eine freie, GPL-lizensierte Version gibt. Asterisk läuft auf den verschiedensten UNIX-Varianten, benötigt – je nach Verwendungszweck – keine zusätzliche Telefoniehardware und stellt durch einen modularen Aufbau eine Myriade an Funktionen zur Verfügung. Dabei ist das System in bezug auf die Ressourcen dennoch genügsam, ein kleines System mit bis zu 10 SIP-Telefonen läuft auf einem Server mit einer 700Mhz Intel-CPU mit 256 MB RAM problemlos.

Aber was genau ist Asterisk? Die Software als Telefonanlage zu bezeichnen ist zwar nicht falsch, aber eine glatte Untertreibung, denn Asterisk kann wesentlich mehr! Ausserdem muss Asterisk entsprechend konfiguriert und mit einem an die Bedürfnisse angepassten Wählplan ergänzt werden, damit es als Telefonanlage verwendet werden kann. Es ist treffender, Asterisk als Baukasten zu bezeichnen, der die Bausteine liefert mit denen verschiedensten Aufgaben gelöst werden können.

Der Wählplan

Das Herzstück des Asterisk Server ist der Wählplan (Dialplan), mit dem festgelegt wird, wer wen anrufen darf und welche Telefone klingeln, wenn eine bestimmte Nummer gewählt wird. Im Wählplan wird ferner festgelegt, wie das System reagiert, wenn ein Teilnehmer nicht abnimmt, besetzt ist oder selbst eine Umleitung definiert hat. Und endlich legt der Wählplan fest, welche externen Anschlüsse von welchen Teilnehmern benutzt werden dürfen und wie diese externen Anschlüsse basierend auf der gewählten Nummer selektiert werden. Und dies sind nur einige Standardfunktionen des Wählplans, er kann noch einiges mehr. Und das erfreuliche an der Sache: Die verschiedenen Kommandos des Wählplanes sind sehr gut dokumentiert und es gibt im Internet viele praxisnahe Beispiele.

Der Wählplan kann mit der Makrosprache einer Office-Anwendung verglichen werden. Dort gibt es Kommandos, die Anwendungsfunktionen wie «sortieren», «exportieren» oder «formatieren». Auch die Kommandos des Asterisk Wählplanes operieren auf einem entsprechend hohen Level. Eines der wichtigsten Kommandos ist «Dial». Dial() erwartet als Argument nebst verschiedenen Optionen eine Telefonnummer die in der Folge angerufen wird. Nimmt der Besitzer des angerufenen Telefones ab, kommt eine Verbindung zustande und Dial() bleibt solange aktiv, bis einer der Teilnehmer den Hörer auflegt oder die Verbindung anderweitig unterbrochen wird. Anschliessend wird das nächste Kommando im Wählplan ausgeführt, in einfacheren Beispielen ist dies meist «Hangup».

Anständige Makrosprachen ermöglichen auch Konstrollstrukturen, also das Verzweigen innerhalb des Makros, sobald gewisse Bedingungen erfüllt sind. Beim Wählplan ist dies nicht anders. Beispielsweise kann entsprechend reagiert werden, wenn eine externe Leitung vorübergehend nicht verfügbar ist oder wenn ein Teilnehmer seinen Appart auf «DND» (Do not disturb) gestellt hat. Im Wählplan können ausserdem externe ähnlich der CGI-Spezifikation Scripts aufgerufen werden, eine Gruppe von Anweisungen lässt sich in einem Makro zusammenfassen und beliebige Werte können für eine spätere Verwendung in einer Datenbank gespeichert werden.

Beispiele

Um das ganze zu veranschaulichen folgen nun einige praxisbezogene Beispiele, was mit Asterisk ohne grossen Aufwand realisiert werden kann:

snom360.jpg

Kann auch Wetterdaten und Fussballergebnisse anzeigen: snom 360

Aufwerten des privaten Telefonanschlusses durch Voicemail, Ansagetext und Anrufumleitung. Die Einstellungen können je nach Tageszeit ändern, so dass in der Nacht garantiert Ruhe herrscht. Einzelne Nummern oder auch ganze Nummernbereiche können gesperrt werden und eine Auswertung gibt Auskunft über alle ein- und ausgehenden Anrufe.

Teilen eines privaten Telefonanschlusses durch das Anschliessen mehrerer Telefone an einen Asterisk Server. Damit können intern kostenlos Gespräche geführt werden und wer eine externe Nummer wählt, wird automatisch weiterverbunden. Selbstverständlich können wiederum alle Funktionen aus dem ersten Beispiel genutzt werden.

Flexible und preiswerte KMU Telefonzentrale. Mit einem Asterisk Server wird das interne Firmennetz für die Telefongespräche genutzt. Alle angestellten erhalten eine Nummer für die interne Kommunikation. Wer externe Anrufe entgegennehmen können muss, bekommt zusätzlich eine externe Nummer, die global erreichbar ist. Für die verschiedenen Abteilungen der Firma können Gruppennummern definiert werden. Wer häufig im Aussendienst arbeitet, kann Gespräche per Knopfdruck auf ein Mobiltelefon umleiten oder ad hoc einen Ansagetext hinterlassen. Ausserhalb der Bürozeiten erhalten Anrufer eine entsprechende Meldung und können ihr Anliegen dem Voicemail-Dienst anvertrauen. Es können Konferenzgespräche geführt und direkte Verbindungen mit Partnerfirmen erstellt werden. Mit entsprechender Ausstattung sind auch Videokonferenzen möglich.

– Fortsetzung folgt –