SMS-Versand und -Empfang im Container

Es sollen vom Router empfangene SMS in Container weitergeleitet werden. SMS sollen im Container erstellt und vom Router versendet werden. Für erste Versuche kann dafür in vom Router erstellten Containern das Tool "sms-tool" verwendet werden.

Container SMS

Kurzanleitung für das Webinterface

Es wird vorausgesetzt, dass der konfigurierende PC via Konfigurationsnetzwerk die Netze LAN und WAN bereits auf dem Router schon eingerichtet hat und anschließend umkonfiguriert wurde, so dass er sich nun selber im LAN befindet. Ein Container wurde erzeugt und eingerichtet (Erzeugen eines Containers mit Boardmitteln).

  1. Webinterface des Routers mit einem Browser aufrufen:
  2. Im Menü "Interfaces -> Slot 2: LTE" die PIN und den zu benutzenden Provider einstellen. Die SMS Center Nummer darf leer bleiben.
  3. Im Menü "Administration -> Container" die Checkbox aktivieren "Eingehende SMS in die Container weiterleiten"
  4. Im Menü "Administration -> Container" die Konfiguration des Containers aufrufen (Stift-Symbol)
  5. Bei "Benutzergruppe für CLI ohne Authentifizierung" den Eintrag "Lesen/Schreiben" auswählen.
  6. Profil aktivieren durch Klick auf das blinkende Zahnrad in der Titelleiste
  7. Einloggen im Container, Das Kennwort lautet "root":
    $ ssh root@192.168.2.3
  8. SMS versenden:
    sms-tool -s -i lte2 -n 00491234567890 -t "Ich bin die erste SMS"
  9. SMS empfangen:
    sms-tool -l

Hinweise zur Kurzanleitung

  1. Vorausgesetzt wird, dass der Router über den Konfigurationsport 1 eingerichtet und das LAN und ein Container konfiguriert wurde. Der Router hat die LAN-IPv4-Adresse 192.168.2.1/24. Der PC, mit dem konfiguriert wurde, hat die IPv4-Adresse 192.168.2.2/24 aus dem Bereich des LANs erhalten und ist nun am Ethernet-Port Port 2 des LANs angesteckt.

  2. Die SMS wird vom Router versendet. Dafür benötigt er Modem mit eingelegter und aktivierter SIM-Karte. In diesem Beispiel wird davon ausgegangen, dass sich im Slot 2 ein LTE-Modem befindet. Sofern die SIM-Karte eine PIN zur Freischaltung benötigt, muss sie in der Konfiguration enthalten sein. Die SMS Center Nummer kann optional konfiguriert werden. Wenn das Feld leer bleibt, wird die Nummer benutzt, die auf der SIM-Karte gespeichert ist. Die Angabe eines APNs ist für den reinen SMS-Versand und Empfang nicht notwendig. Das Interface muss dafür auch nicht zwingend in einer WAN-Kette enthalten sein.

  3. Beim SMS-Empfang werden die Nachrichten immer an alle Container weitergeleitet, wenn diese Checkbox aktiv ist. Es ist nicht möglich, die SMS nur einzelnen Containern weiterzuleiten. Die Weiterleitung erfolgt intern über MCIP. Daher muss eine MCIP-OID angegeben sein. Im Container muss ein Dienst mit dieser MCIP-OID angemeldet sein. Hierfür bringt jeder vom Router erstellte Container das Tool "sms-tool" mit.

  4. Der SMS-Versand kann für jeden einzelnen Container separat aktiviert werden.

  5. Zum Versand von SMS wird die CLI des Routers benutzt. Dazu benötigt der Container schreibenden Zugriff auf die CLI. Alternativ zur telnet- oder SSH-Verbindung zur CLI, wie sie für Benutzer vorgesehen ist, kann im Container ein UDS (Unix Domain Socket) benutzt werden, um keine Netzwerkkonfiguration zu benötigen. Der UDS "/devices/cli.socket" kann aus jedem Container benutzt werden, allerdings wird hier Benutzername und Kennwort abgefragt. Wurde ein Zugriff ohne Authentifizeriung konfiguriert (siehe oben), kann der USD "/devices/cli_no_auth/cli.socket" benutzt werden.
    Vorsicht! Wird diesem Container der schreibende Zugriff auf die CLI gewährt, darf dieser Container alle Einstellungen im Profil ändern, nicht nur SMS versenden!

  6. Erst wenn das Profil aktiviert wurde, werden die Container mit den geänderten Einstellungen erneut gestartet.

  7. Im folgenden wird das Tool "sms-tool" benutzt, um SMS zu senden und zuempfangen. Für den automatisierten Betrieb kann "sms-tool", das allgemeinere Tool "mcip-tool" oder MCIP direkt verwendet werden.

  8. Das Tool "sms-tool" benutzt den UDS-Socket für "/devices/cli_no_auth/cli.socket". Unauthentifizierter Schreib-Zugriff muss deshalb vorher unbedingt konfiguriert sein.
    Weitere Hilfe erscheint nach "sms-tool -h".
    Um SMS mit einer eigenen Applikation anstatt von "sms-tool" versenden zu können, wird ein Programm oder eine Funktion notwendig, die über die CLI die folgenden Befehle absetzt:
    help.debug.sms.modem=lte2
    help.debug.sms.recipient=00491234567890
    help.debug.sms.text=-----BEGIN-----Ich bin die erste SMS-----END-----
    help.debug.sms.submit=1

  9. Das Tool "sms-tool" meldet sich mit der MCIP-OID 3 beim MCIP-Server an und gibt alle empfangenen SMS direkt auf der Console aus. Ohne die Option "-p" (permanent) beendet sich das Tool sofort nach dem Empfang einer SMS.
    Alternativ kann ein eigenes Programm eine MCIP-Verbindung zum MCIP-Server über den UDS "/devices/mcip.socket"aufgebaut werden. Ein MCIP-Telegram mit einer empfangenen SMS ist ein Telegram mit dem Kommando "write" (0x08). Es enthält nach der Ziel-OID (0x03 0x00) die Rufnummer gefolgt von einem Leerzeichen (0x20) und dem SMS-Text. Beispiel:
    55 0800 0000 0300 2B3439313233343536373839 20 4963682062696E6465722054657874
    55: Startbyte 0800: Kommando "write" 1F00: Anzahl der kommenden Bytes: 31 2B343931323334353637383930: Rufnummer +491234567890 20: Leerzeichen, das Rufnummer vom Text trennt 4963682062696E6465722054657874: Text "Ich bin der Text"

Troubleshooting

  • Wenn keine SMS empfangen oder versendet werden können, sollten als erstes die Logs des Routers durchsucht werden. Das Log mit allen Modem-Einträgen findet sich im Menü "Status -> Log-Ansicht Modem"
    Empfangene SMS müssen auf alle Fälle im Log auftauchen. Der SMS-Versand wird einmal versucht, im Fehlerfall wird er nicht wiederholt.

  • Ob generell SMS versendet werden können, kann getestet werden indem im Menü "Hilfe -> Debugging" die Aktion "SMS versenden" manuell ausgelöst wird.

  • Schlägt ein SMS-Versand auch manuell fehl, sollte die Empfangssituation und der Einbuchzustand des Modems geprüft werden im Menü "Status -> Slot 2: LTE". Das Modem sollte zumindest eingebucht sein. Für den SMS-Versand ist es nicht notwendig, dass das Modem im Zustand "Online" ist.

  • In sehr seltenen Fällen kann es notwendig sein, die Service Center Nummer zu ändern.

  • Bei eigenen Implementierungen zum SMS-Empfang können mit dem "mcip-tool" die eingehenden MCIP-Telegramme dargestellt werden.

  • Bei eigenen Implementierungen zum SMS-Empfang kann mit dem OpenSource-Tool "socat" eine Kommunikikation mit dem UDS-Socket der CLI getestet werden:
    " $ socat -u /devices/cli_no_auth/cli.socket -". Das Tool ist allerdings nicht im Container enthalten, das vom Router erstellt wird und muss erst cross kompiliert werden.

Konfiguration herunterladen