Zustellberichte

Die SMSEagle-Software ermöglicht es Ihnen, Zustellberichte für jede gesendete SMS zu aktivieren. Zustellberichte sind eine Funktion, mit der Sie eine Bestätigung erhalten, dass die SMS auf dem Telefon des Empfängers empfangen wurde.

Um Zustellberichte zu aktivieren, gehen Sie bitte im Web-GUI zum Menü Settings und setzen Sie „Delivery Reports“ auf „Yes“

Sobald Zustellberichte im Web-GUI aktiviert sind, können Sie überprüfen, ob eine SMS an den Empfänger zugestellt wurde:

  • Im Web-GUI Öffnen Sie im Menü Folders > Sent items die Nachricht, die Sie überprüfen möchten. Klicken Sie auf „Show Details“ in der oberen rechten Ecke der Nachricht. Das Feld „Modem Status“ enthält Informationen zum Zustellstatus

  • Mit Webhooks Die CallbackURL-Funktion ermöglicht es, einen Webhook für die Änderung des Zustellstatus zu definieren. Webhooks sind standardmäßige HTTP-Endpunkte, die in Ihrer externen Anwendung implementiert sind und HTTP-Anfragen vom SMSEagle-Gerät entgegennehmen. Webhooks ersparen es Ihnen, kontinuierlich Anfragen an das SMSEagle-Gerät senden zu müssen, um den Nachrichtenstatus abzufragen. Weitere Details finden Sie im Kapitel „Callback URL“ dieses Benutzerhandbuchs.

  • Mit API

Verwenden Sie die Methode „read_sms“, um Daten für eine ausgewählte SMS im Ordner sentitems abzurufen. Die Daten enthalten die Spalten „Status“ und „DeliveryDateTime“ mit Informationen zum Zustellstatus der Nachricht. Weitere Informationen zu den möglichen Werten der Spalte „Status“ finden Sie in der API-Dokumentation.

Direkte Verbindung zur SMSEagle-Datenbank

Die Datenbank von SMSEagle basiert auf dem PostgreSQL-Datenbank-Engine. Sie können einen direkten Zugriff auf die Datenbank nutzen, um SMS-Nachrichten direkt über SQL-Abfragen aus der bzw. in die Datenbank zu lesen/schreiben.

Der Datenbankzugriff für externe Anwendungen ist standardmäßig deaktiviert. Um ihn zu aktivieren, gehen Sie im Web-GUI zum Menü Settings und aktivieren Sie die folgende Einstellung:

Sobald der Datenbankzugriff aktiviert ist, ist es möglich, sich von einer externen Anwendung aus mit den folgenden Anmeldedaten mit der Datenbank zu verbinden:

  • Host: IP-Adresse Ihres Geräts

  • Datenbankname: smseagle

  • Benutzer: smseagleuser

  • Passwort: postgreeagle

Einfügen kurzer SMS mittels SQL

Das einfachste Beispiel ist eine kurze Textnachricht (begrenzt auf 160 Zeichen):

INSERT INTO outbox (
    DestinationNumber,
    TextDecoded,
    CreatorID,
    Coding,
    Class,
    SenderID
) VALUES (
    '1234567',
    'This is a SQL test message',
    'Program',
    'Default_No_Compression',
    -1,
    'smseagle1'
);
INSERT INTO user_outbox (
    id_outbox,
    id_user
) SELECT CURRVAL(pg_get_serial_sequence('outbox','ID')), 1;

Im obigen Beispiel gehört die Nachricht zum Benutzer mit id_user 1 (standardmäßig ‚admin‘). Die id_user-Werte für andere Benutzer finden Sie in der Tabelle public.“user“.

Einfügen langer SMS mittels SQL

Das Einfügen mehrteiliger Nachrichten ist etwas komplizierter, Sie müssen auch den UDH-Header erstellen und ihn hexadezimal geschrieben im UDH-Feld speichern. Sofern Sie keinen guten Grund haben, dies manuell zu tun, verwenden Sie die API.

Bei einer langen Textnachricht beginnt der UDH mit 050003, gefolgt von einem Byte als Nachrichtenreferenz (Sie können dort einen beliebigen Hex-Wert einsetzen, er sollte jedoch für jede Nachricht unterschiedlich sein, im folgenden Beispiel D3), einem Byte für die Anzahl der Nachrichten (im Beispiel 02, es sollte für jede Nachricht, die Sie an dieselbe Telefonnummer senden, eindeutig sein) und einem Byte für die Nummer der aktuellen Nachricht (01 für die erste Nachricht, 02 für die zweite usw.).

Zum Beispiel könnte eine lange Textnachricht aus zwei Teilen wie folgt aussehen:

INSERT INTO outbox (
    "DestinationNumber",
    "CreatorID",
    "MultiPart",
    "UDH",
    "TextDecoded",
    "Coding",
    "Class",
    "SenderID"
) VALUES (
    '1234567',
    'Program',
    'true',
    '050003D30201',
    'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, qui',
    'Default_No_Compression',
    -1,
    'smseagle1'
)
INSERT INTO outbox_multipart (
    "ID",
    "SequencePosition",
    "UDH",
    "TextDecoded",
    "Coding",
    "Class"
) SELECT
    CURRVAL(pg_get_serial_sequence('outbox','ID')),
    2,
    '050003D30202',
    's nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
    'Default_No_Compression',
    -1;
INSERT INTO user_outbox (
    id_outbox,
    id_user
) SELECT
    CURRVAL(pg_get_serial_sequence('outbox','ID')),
    1;

*Hinweis: Das Hinzufügen des UDH bedeutet, dass Sie weniger Platz für Text haben. Im obigen Beispiel können Sie nur 153 Zeichen in einer einzelnen Nachricht verwenden. *

Skripte zur Datenbankbereinigung

Wir haben einige nützliche Skripte hinzugefügt, die verwendet werden können, um SMS-Nachrichten über die Linux-CLI aus der Datenbank zu löschen. Die Skripte befinden sich im folgenden Verzeichnis: /mnt/nand-user/scripts/

  • db_delete – Skript zum Löschen von SMS aus den Ordnern Inbox und SentItems, die älter als das angegebene Datum sind. Verwendung: ./db_delete YYYYMMDDhhmm

  • db_delete_7days – Skript zum Löschen von SMS aus den Ordnern Inbox und Sentitems, die älter als 7 Tage sind. Verwendung: ./db_delete_7days

  • db_delete_allfolders – Skript zum Bereinigen der PostgreSQL-Datenbankordner (Inbox, SentItems, Outbox). Speziell dafür konzipiert, regelmäßig über cron ausgeführt zu werden. Verwendung: ./db_delete_allfolders

  • db_delete_select - Skript zum Löschen von SMS aus einem ausgewählten Datenbankordner (Inbox, Outbox, SentItems, Trash). Verwendung: ./db_delete_select {inbox|outbox|sentitems|trash}

Hinzufügen des Skripts zum System-cron-Daemon

  1. Erstellen Sie eine Datei im Verzeichnis /etc/cron.d/ mit einem gewünschten Namen (z. B. pico db_cleaner)

  2. Beispielinhalt dieser Datei: 0 0 1 * * root /mnt/nand-user/scripts/db_delete_allfolders

Dadurch wird das Bereinigungsskript jeden 1ten Tag des Monats ausgeführt.

SNMP-Agent

„Simple Network Management Protocol (SNMP) ist ein Internetstandard-Protokoll zur Verwaltung von Geräten in IP-Netzwerken. Es wird hauptsächlich in Netzwerkmanagementsystemen eingesetzt, um netzwerkgebundene Geräte auf Zustände zu überwachen, die administrative Aufmerksamkeit erfordern” (Quelle: Wikipedia).

Das SMSEagle-Gerät verfügt über einen integrierten Net-SNMP-Agenten. Der SNMP-Agent bietet Zugriff auf den Linux Host MIB-Baum des Geräts und ermöglicht zusätzlich (mittels der Erweiterung NET-SNMP-EXTEND-MIB) den Zugriff auf benutzerdefinierte, SMSEagle-spezifische Metriken.

Verfügbare SNMP-Metriken, die den Zustand eines SMSEagle-Geräts beschreiben, sind:

Metrikname

Beschreibung

OID

GSM_Signal

Gibt die 3G/4G/5G-Signalstärke in Prozent zurück. Wertebereich: 0-100. Wenn das Modem nicht mit dem 3G/4G/5G-Netzwerk verbunden ist, gibt GSM_Signal 0 zurück.

.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.49

GSM_NetName1

Gibt den Netzwerknamen der aktuell verwendeten SIM-Karte zurück

.1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.49

GSM_ModemState[X], wobei X die Modemnummer ist

Gibt Informationen zum Modemstatus (aktiviert/deaktiviert) zurück

.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.77.111.100.101.109.83.116.97.116.101.49

FolderOutbox_Total

Gibt die Anzahl der SMS-Nachrichten im Outbox-Ordner zurück (Länge der ausgehenden Warteschlange)

.1.3.6.1.4.1.8072.1.3.2.3.1.2.18.70.111.108.100.101.114.79.117.116.98.111.120.95.84.111.116.97.108

FolderInbox_Total

Gibt die Anzahl der SMS-Nachrichten im Inbox-Ordner zurück

.1.3.6.1.4.1.8072.1.3.2.3.1.2.17.70.111.108.100.101.114.73.110.98.111.120.95.84.111.116.97.108

FolderSent_Last24H

Gibt die Anzahl der SMS-Nachrichten zurück, die innerhalb der letzten 24 Stunden vom Gerät gesendet wurden

.1.3.6.1.4.1.8072.1.3.2.3.1.2.18.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.50.52.72

FolderSent_Last1M

Gibt die Anzahl der SMS-Nachrichten zurück, die innerhalb des letzten Monats vom Gerät gesendet wurden

.1.3.6.1.4.1.8072.1.3.2.3.1.2.17.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.49.77

FolderSent_Last24HSendErr

Gibt die Anzahl der SMS-Nachrichten zurück, die innerhalb der letzten 24 Stunden mit Fehler gesendet wurden. Ein Fehler tritt auf, wenn das 3G/4G/5G-Modem die SMS-Nachricht nicht senden kann oder die Nachricht vom 3G/4G/5G-Netzbetreiber abgelehnt wird

.1.3.6.1.4.1.8072.1.3.2.3.1.2.25.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.50.52.72.83.101.110.100.69.114.114

Temp

Gibt den letzten Wert der Temperatur (in °C) vom internen Temperatursensor zurück. Erfordert, dass der Sensor aktiviert ist.

.1.3.6.1.4.1.8072.1.3.2.4.1.2.4.84.101.109.112.1

Humidity

Gibt den letzten Wert der Luftfeuchtigkeit (in %) vom internen DHT22-Sensor zurück. Erfordert, dass der Sensor aktiviert ist.

.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.72.117.109.105.100.105.116.121

Temp[X] wobei X zwischen 1 und 4 liegt

Gibt den letzten Wert der Temperatur (in °C) zurück von: Temp1: internem Temperatursensor Temp2-Temp4: externen 1-Wire-Temperatursensoren.

.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.84.101.109.112.49.1 (für den 1. Sensor)
.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.84.101.109.112.50.1 (für den 2. Sensor)
usw.

SIM_State[X] wobei X die Nummer des Modems ist

Gibt Informationen zum physischen SIM-Status zurück

.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.83.73.77.95.83.116.97.116.101.49

SIM_RegState[X] wobei X die Nummer des Modems ist

Gibt Informationen zum Registrierungsstatus der SIM-Karte im Mobilfunknetz zurück.

.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.83.73.77.95.82.101.103.83.116.97.116.101.49

Ergebniswerte

  • Mit OID

Ergebniswerte für jede benutzerdefinierte Metrik sind verfügbar und können von der in der obigen Tabelle angegebenen OID abgerufen werden.

  • Mit textuellem Namen

Alternativ können Ergebniswerte für jede benutzerdefinierte Metrik mithilfe textueller Namen aus dem OID-Baum unter: NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“[METRIC NAME]“ abgerufen werden

For example:
Result value for parameter GSM_Signal1:
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“GSM_Signal1“

Wenn Ihr gewähltes SNMP-Tool nicht auf NET-SNMP-EXTEND-MIB-Objekte zugreifen kann, können Sie die MIB-Definitionen hier herunterladen: https://www.smseagle.eu/download/NET-SNMP-EXTEND-MIB.txt

Lesen der Ergebniswerte Um die Parameterwerte vom SNMP-Agenten testweise auszulesen, können Sie beliebige für das SNMP-Protokoll verfügbare Tools verwenden (zum Beispiel: NET-SNMP-Bibliothek für Linux oder iReasoning MiB-Browser für Windows).

Beispiel für das Auslesen des Werts GSM_Signal1 mit der NET-SNMP-Bibliothek

a) Befehl zum Auslesen des Ergebniswerts:

snmpget -v 2c -c public localhost .1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.49

Ergebnis:

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“GSM_Signal1“ = STRING: 54

Kommentar: Der Wert der GSM/3G/4G/5G-Signalstärke beträgt 54 %

Beispiel für das Auslesen des Werts GSM_NetName1 mit der NET-SNMP-Bibliothek

a) Befehl zum Auslesen des Ergebniswerts:

snmpget -v 2c -c public localhost .1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.49

Ergebnis:

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“GSM_NetName1“ = STRING: PLAY

Kommentar: Das derzeit auf der SIM-Karte verwendete Netz ist PLAY

Beispiel für das Auslesen des Werts FolderOutbox_Total mithilfe der NET-SNMP-Bibliothek (und des textuellen Namens der Metrik)

a) Befehl zum Auslesen des Ergebniswerts:

snmpget -v 2c -c public ip-of-smseagle ‚NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“FolderOutbox_Total“‘

Ergebnis:

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“FolderOutbox_Total“ = STRING: 0

Kommentar: Die Anzahl der in der Outbox-Warteschlange wartenden SMS-Nachrichten beträgt 0

Beispiel für das Auslesen der Systemlaufzeit eines Linux-Hosts mithilfe der NET-SNMP-Bibliothek

a) Befehl zum Auslesen des Ergebniswerts:

snmpget -v 2c -c public ip-of-smseagle system.sysUpTime.0

Ergebnis:

DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (216622) 0:36:06.22

Kommentar: Das Linux-System läuft seit 36 Stunden, 6,22 Minuten

Beispiel für das Durchsuchen der SMSEagle-Erweiterungsparameter IM MIB-Baum mithilfe der NET-SNMP-Bibliothek

a) Befehl zum Auslesen des Ergebniswerts:

snmpwalk -v 2c -c public ip-of-smseagle .1.3.6.1.4.1.8072.1.3.2.3.1.2

Ergebnis:

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“GSM_Signal1“ = STRING: 54

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“GSM_NetName1“ = STRING: PLAY

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“FolderInbox_Total“ = STRING: 15

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“FolderSent_Last1M“ = STRING: 19

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“FolderOutbox_Total“ = STRING: 0

NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“FolderSent_Last24H“ = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutputFull.“ FolderSent_Last24HSendErr“ = STRING: 0

Beispiel für das Durchsuchen der SMSEagle-Erweiterungsparameter IM MIB-Baum mithilfe des MIB-Browsers

Einrichten der SNMP-v3-Zugriffskontrolle

Standardmäßig verwenden SMSEagle-Geräte die SNMP-v2-Zugriffskontrolle. Die Verwendung von v3 kann die Sicherheit erhöhen, ist jedoch nicht zwingend erforderlich. Um einfach auf die SNMP-v3-Zugriffskontrolle umzustellen, haben wir ein spezielles Shell-Skript vorbereitet, das sich im Verzeichnis /mnt/nand-user/smseagle befindet.

  1. Melden Sie sich per SSH mit dem root-Konto an

  2. Navigieren Sie zu: cd /mnt/nand-user/smseagle/

  3. Konfigurationsskript: ./snmpv3

  4. Das Skript kann mit folgenden Parametern ausgeführt werden:

    1. add

    2. del

    3. enablev2

    4. disablev2

  5. Um einen v3-BENUTZER hinzuzufügen, führen Sie bitte aus:

./snmpv3 add USERNAME PASSWORD ENCRYPTIONPASSWORD

  1. Um einen BENUTZER zu löschen, führen Sie bitte aus:

./snmpv3 del

  1. Um die v2-Zugriffsrichtlinie zu deaktivieren, führen Sie aus:

./snmpv3 disablev2

  1. Um die v2-Zugriffsrichtlinie zu aktivieren, führen Sie aus:

./snmpv3 enablev2

Weiterleitung von Logs an einen externen Server

Unsere Geräte verwenden rsyslog zur Verwaltung von Logs. Hier beschreiben wir, wie zusätzliche Regeln für den rsyslog-Daemon konfiguriert werden: rsyslogd. Dies ist nur ein kurzer Auszug aus der rsyslog-Handbuch-Website. Vollständige Informationen finden Sie unter: https://www.rsyslog.com/

Die Konfiguration von Rsyslogd wird über eine Konfigurationsdatei verwaltet, die sich unter /etc/rsyslog.conf befindet

  • Fügen Sie am Ende der Konfigurationsdatei Folgendes hinzu:

    *.* action(type=“omfwd“ target=“SERVER_IP“ port=“PORT“ protocol=“PROTOCOL“

action.resumeRetryCount=“10“

queue.type=“linkedList“ queue.size=“10000“)

wobei: SERVER_IP – IP-Adresse (oder FQDN) des empfangenden Servers PORT – Port auf dem empfangenden Server PROTOCOL einer der Werte: tcp, udp

  • Beispiel:

*.* action(type=“omfwd“ target=“192.168.0.250“ port=“10514“ protocol=“tcp“

action.resumeRetryCount=“10“

queue.type=“linkedList“ queue.size=“10000“)

Automatische Überprüfung auf Software-Updates

Die SMSEagle-Software wird kontinuierlich verbessert. Wir hören auf unsere Kunden, und neue Versionen basieren auf den Anregungen/Anfragen unserer Kunden. Software-Updates werden häufig veröffentlicht und bieten Zugang zu neuen Funktionen sowie Fehlerbehebungen für gemeldete Probleme. Die Web-GUI bietet Ihnen die Möglichkeit, automatisch nach neuen Software-Updates zu suchen. Dies kann auf zwei Arten geschehen:

Manuelle Überprüfung

Um manuell nach verfügbaren Software-Updates zu suchen, gehen Sie zum Menü Settings > Tab Maintenance. Klicken Sie auf die Schaltfläche „Check manually now“. Oben erscheint eine rote Sprechblase mit der Information, ob die Software aktuell ist.

Automatische Prüfung

Um automatische Prüfungen auf Software-Updates zu starten, gehen Sie zum Menü Settings > Tab Updates und aktivieren Sie die Option „Automatically check for software updates“. Dadurch werden regelmäßige Prüfungen (einmal im Monat) auf verfügbare Software-Updates aktiviert. Wenn ein neues Update verfügbar ist, erscheint im Menü Settings> Sysinfo neben der aktuellen Softwareversionsnummer die Meldung „Update Available“.

Wenn Sie „Notify Admin about new software version by SMS“ auswählen, sendet das Gerät zusätzlich eine SMS an das Standard-Administratorkonto (sofern eine Telefonnummer im Konto hinterlegt ist) mit einer Benachrichtigung über das neue Software-Update.

A screenshot of a computer

Screenshot von „General settings-Updates“

Hinweis: Ihr SMSEagle-Gerät muss über eine HTTPS-Verbindung zur Adresse www.smseagle.eu verfügen, damit diese Funktion funktioniert.

Wissensdatenbank & Support-Portal

Weitere Informationen und nützliche Hinweise zur Konfiguration des SMSEagle-Geräts finden Sie in unserer Online-Wissensdatenbank und im Support-Portal unter: https://support.smseagle.eu