12. Aug 2015 09:08
Keine Kommentare

Asterisk SMS unter Ubuntu

SMS über Ubuntu Server mit Asterisk und Gigaset VoIP Telefon
SMS über Ubuntu Server mit Asterisk und Gigaset VoIP Telefon

Die SMS Funktionalität von Asterisk ist nicht nur eine nette Spielerei, sondern erlaubt auch viele interessante Dienste. Das habe ich bereits in meinem Artikel "SMS mit Asterisk und DECT-Telefon" beschrieben. Der Artikel drehte sich um den Raspberry Pi. Da ich mittlerweile jedoch einen Asterisk auf meinem Ubuntu Server in der Schweiz betreibe, wollte ich auch hier SMS Empfand und Versand mit meinem neuen Gigaset C430 IP Telefon umsetzen. Normalerweise wäre dieser Vorgang auch keinen Artikel wert, wenn die Installation und Konfiguration nicht wieder Anpassung von Quelltexten und das Kompilieren des Hilfsprogramms "smsq" beinhalten würde.

67,99 €
Jetzt bestellen »
Gigaset C430A Go Telefon, Schnurlostelefon / Mobilteil, TFT-Farbdisplay, Dect-Telefon, 3 Anrufbeantworter, Freisprechfunktion, IP-Telefon, schwarz
Versandfertig in 1 - 2 Werktagen

Empfangen der SMS von Gigaset VoIP DECT Telefonen

Der Empfang der SMS Nachrichten von Gigaset VoIP DECT Telefonen gestaltet sich wie auch beim Raspberry Pi Artikel mit dem VoIP Adapter und dem analogen Gigaset Telefon. Zuerst aber muss das Gigaset Telefon dafür konfiguriert werden.

Konfiguration des Gigaset C430 IP für den SMS-Versand

Gigaset C430 IP und Asterisk SMS unter Ubuntu
Gigaset C430 IP und Asterisk SMS unter Ubuntu

Zuerst konfigurieren wir das Gigaset VoIP Telefon. In meinem Fall ist dies ein Gigaset C430 IP welches SMS sowohl direkt über das Festnetz also auch über VoIP unterstützt. Für die Konfiguration benötigt das Gerät bereits eine vollständige Konfiguration des Asterisk Servers für VoIP und muss an diesem auch angemeldet sein. Ist dies der Fall, dann findet man nach Drücken der Menütaste die Konfiguration unter: "Messaging > SMS > Einstellungen > SMS-Zentren > SMS-Zentrum 1". Dort geben wir die folgenden Konfigurationsdaten an.

  • Sendezentrum: Ja
  • Nr. des SMS-Zentrums: 4711
  • Nr. für E-Mail Versendung: 4711
  • Sende über:

Mit diesen Daten ist die Konfiguration des Gigaset VoIP DECT Telefons auch bereits abgeschlossen. Wir wenden uns nun Asterisk zu, um dort die Konfiguration für den SMS-Empfang einzurichten. 

Asterisk-Konfiguration für den Empfang der SMS vom Gigaset Telefon

Ähnlich wie die Konfiguration in meinem anderen Artikel, muss auch die Konfiguration auf meiner Ubuntu Maschine entsprechend angepasst werden, sodass Asterisk Anrufe auf die Nummer 47110 mit dem SMS Befehl verarbeitet. Ich habe es bisher zwar nicht verstanden, aber aus irgendeinem Grund hängen die Telefone an die Rufnummer der SMS-Zentrale immer eine "0" an. Sodass wir als Zielrufnummer in Asterisk 47110 konfigurieren, auf dem Telefon jedoch nur 4711.

Die Konfiguration gibt an, dass alle Anrufe auf die 47110 enstprechend die SMS-Verarbeitung durchführen. Genauere Beschreibungen der Parameter finden sich in meinem früheren Artikel "SMS mit Asterisk und DECT-Telefon". Bis hier ist die Konfiguration analog zu dem was auch mit dem ATA Adapter und dem Raspberry Pi durchgeführt werden musste.

SMS-Versand an Gigaset VoIP DECT Telefone

Damit wir vom Ubuntu Server aus mit unserem Asterisk auch SMS Nachrichten an das Gigaset C430 IP VoIP Telefon versenden können, müssen wir sowohl das Hilfsprogramm "smsq" installieren als auch den entsprechenden Kontext im Dialplan erstellen.

Konfiguration von Asterisk für den SMS-Versand an das Gigaset VoIP Telefon

Die Konfiguration gestaltet sich relativ einfach. Es muss ein zusätzlicher Kontext zum Wählplan in der Datei "/etc/asterisk/extensions.conf" hinzugefügt werden. Dieser Konfigurationseintrag umfasst nur zwei Zielen sieht bei mir wie folgt aus.

Da ich nur über ein einziges Gigaset C430 IP an einer Basisstation verfüge, gibt es hier nicht allzu viel zu bemerken. Wer jedoch mehrere SMS-fähige Clients in Asterisk hat, sollte den Kontext etwas dynamischer erstellen. Möchte man z.B. den Versand der Geräte untereinander ermöglichen, dann muss entsprechend ein dynamischer Parameter an die Dial-Funktion übergeben werden.

SMSQ unter Ubuntu für Asterisk kompilieren

Kommen wir zum ätzenden, nervigen Teil und einer kurzen Erläuterung. Ich hatte bereits vor zwei Jahren bei Arch Linux und Raspbian das Problem, dass das Hilfsprogramm "smsq" nicht in den Paketen vorhanden war und ich es von Hand kompilieren musste. So ist es nun bei Ubuntu 14.04 bedauerlicherweise auch. Wir gehen also so vor, dass wir zuerst zwei notwendige Pakete installieren. Das erste ist die popt-Bilbiothek, die smsq für das Auslesen der Kommandozeilenparameter verwendet. G++ ist der Compiler für das ganze Paket.

Anschließend setzen wir die Umgebungsvariable, damit der Compiler auch die popt-Bilbiothek findet, wenn er smsq kompilieren möchte. Das tun wir mit folgendem Befehlen und prüfen vorher, ob besagte Bibliothek wirklich in diesem Pfad existiert.

Ist das der Fall und wir haben die Umgebungsvariable gesetzt, machen wir uns auf und laden den Quelltext unserer Asterisk-Version herunter. Wer sich nicht sicher ist, welche Asterisk-Version er betreibt, der loggt sich einfach mit "asterisk -r" in die Konsole ein und dort erscheint auch der Versionshinweis.

Bei mir handelt es sich also um Asterisk 11.7.0 und den zu der Version zugehörigen Quelltext finden wir unter folgender URL, wo sich auch alle anderen Asterisk-Versionen bzw. deren Quelltext befindet.

Für meine Version 11.7.0 lade ich mir die Datei "asterisk-11.7.0.tar.gz" herunter. Wer eine andere Version hat, lädt sich entsprechend den dazugehörigen Quelltext herunter. Jetzt entpacken wir den Quelltext mit folgendem Befehl.

Wir sehen jetzt wie wunderhübsch viele Ordner erstellt werden. Die brauchen wir nicht alle, denn wir wollen ja nicht gleich Asterisk neu kompilieren sondern lediglich das Hilfsprogramm smsq. Wir wechseln dazu in den Ordner "/asterisk-11.7.0/utils/". Dort sehen wir die Quelltextdatei "smsq.c". Mit dem Befehl "make" könnten wir sie jetzt kompilieren, jedoch hat dies bei mir eine Fehlermeldung ausgegeben. Der Kompiler konnte die Datei "Asterisk.h" nicht finden. Ich habe also folgende Zeile im Quelltext von smsq.c entsprechend geändert.

Danach einmal den Befehl "make smsq" eingeben und schon läuft der Kompiler durch und erzeugt uns eine ausführbare Datei mit dem Namen "smsq". Die Kompiler-Ausgabe sollte wie folgt aussehen.

Die Datei "smsq" kopieren wir jetzt in den "/usr/bin/"-Ordner, damit sie systemweit ausführbar ist. Anschließend setzen wir für Asterisk noch die Berechtigungen für den Ordner in "/var/spool/".

In der Regel sollte das auch vorher schon so sein, man weiß aber nie und sicherheitshalber ist es immer gut die Berechtigungen zu prüfen. In diesem Verzeichnis legt Asterisk die eingehenden SMS ab und verarbeitet die zu versendenen, die smsq dort abgelegt hat.

SMS mit unter Ubuntu mit smsq und Asterisk versenden

Kommen wir nun abschließend zum erfreulichen Teil: dem Versenden einer SMS. Der folgende Befehl sendet eine einfache SMS an mein DECT Telefon:

Im Anschluss sehen wir auch in der Asterisk-Konsole, wenn wir uns dort mit "asterisk -r" einloggen, dass das System die Nachricht an das DECT-Telefon übermittelt. Wir sehen auf dem Display nun, dass eine neue Nachricht eingegangen ist. In der Absenderrufnummer und dem Text sind wir komplett frei und können alle möglichen Daten angeben. SMS, die jedoch nicht von einer Nummer stammen, scheint das Gigaset-Telefon nicht entgegen zu nehmen. Es erwartet zwingend eine Nummer.

Fazit zu Asterisk SMS unter Ubuntu

Im Grund genommen ist das ganze ziemlich banal, wenn ja wenn nicht smsq in allen möglichen Linux-Distributionen fehlen würde. So darf man den Hauptaufwand jedes Mal damit betreiben, diese kleine Anwendung zu komplieren. Es ist mir schleierhaft, wieso Ubuntu das Programm nicht mit ins Asterisk Hauptpaket mit aufnimmt. Gleiches gilt im Übrigen wohl auch für Debian und OpenSUSE. Ansonsten kann man mit Asterisk SMS sehr viel Spaß haben, muss sich jedoch für die Verarbeitung der SMS immer ein eigenes Skript bauen, was ich in meinem ursprünglichen Artikel auch beschrieben habe.

Bücher zum Thema „Ubuntu“

Die nachfolgenden Bücher behandeln das Thema "Ubuntu" und werden von Amazon empfohlen. Viele dieser Bücher habe ich selbst gelesen und teilweise auch zur Recherche für diesen Artikel genutzt.
49,90 €
Jetzt bestellen »
Ubuntu 16.04 LTS: Das umfassende Handbuch
Marcus Fischer, Rheinwerk Computing
19,99 €
Jetzt bestellen »
Ubuntu 16.04: Praxiswissen für Ein- und Umsteiger, inkl. Ubuntu 16.04 auf DVD-ROM (mitp Anwendung) (mitp Anwendungen)
Christoph Troche, mitp
4,00 €
Jetzt bestellen »
Linux Befehlsreferenz kompakt: Thematisches Shellkommando-Verzeichnis
Klaus Utech, Books on Demand
22,00 €
Jetzt bestellen »
Das UBUNTU Prinzip: Ein revolutionärer Plan für gerechteren Wohlstand
Michael Tellinger, Hesper Verlag

Diese Artikel könnten Dich auch interessieren

Besucher, die diesen Beitrag gelesen haben, haben sich auch die unten aufgeführten Beiträge angesehen. Schau' doch einfach mal in die Artikel rein.
16 Besucher haben auch das gelesen
11 Besucher haben auch das gelesen
6 Besucher haben auch das gelesen
5 Besucher haben auch das gelesen
5 Besucher haben auch das gelesen
3 Besucher haben auch das gelesen

Kommentare zum Thema „Asterisk SMS unter Ubuntu“

Wenn Du möchtest, kannst Du hier Kommentare zum Thema hinterlassen und Dich mit anderen Nutzern austauschen. Damit Du kommentieren kannst, musst Du Dich nur anmelden und schon kann es losgehen.
Jetzt zum Kommentieren anmelden