Extras
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 Gehen Sie im Menü Folders > Sent items > öffnen Sie die Nachricht, die Sie überprüfen möchten. Klicken Sie oben rechts in der Nachricht auf „Show Details“. 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 akzeptieren. Webhooks ersparen es Ihnen, kontinuierlich Anfragen an das SMSEagle-Gerät zu senden, 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 möglichen Werten der Spalte „Status“ finden Sie in der Tabelle „Field Description Of Response Data – Sentitems Folder“ in der APIv1-Referenz.
Direkte Verbindung zur SMSEagle-Datenbank
Die Datenbank von SMSEagle läuft auf der PostgreSQL-Datenbank-Engine. Sie können einen direkten Datenbankzugriff nutzen, um SMS-Nachrichten direkt über SQL-Abfragen aus der Datenbank zu lesen bzw. in diese zu schreiben.
Der Datenbankzugriff für externe Anwendungen ist standardmäßig deaktiviert. Um ihn zu aktivieren, gehen Sie im webGUI zum Menü Settings und aktivieren Sie die folgende Einstellung:

Sobald der Datenbankzugriff aktiviert ist, können Sie sich von einer externen Anwendung aus mit den folgenden Zugangsdaten mit der Datenbank verbinden:
Host: IP-Adresse Ihres Geräts
Datenbankname:
smseagleBenutzer:
smseagleuserPasswort:
postgreeagle
Einfügen einer kurzen 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“. Das Feld SenderID enthält die Identifikationsnummer des SMSEagle-Modems. Für Modem 1 gilt SenderID = smseagle1 und für Modem 2 SenderID = smseagle2.
Einfügen einer langen SMS mittels SQL
Das Einfügen mehrteiliger Nachrichten ist etwas komplizierter, Sie müssen auch einen UDH-Header konstruieren und diesen 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 hier 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.).
Eine lange Textnachricht mit zwei Teilen könnte beispielsweise 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 Ihnen weniger Platz für Text zur Verfügung steht, im obigen Beispiel können Sie in einer einzelnen Nachricht nur 153 Zeichen verwenden.
Datenbank-Bereinigungsskripte
Wir haben einige nützliche Skripte hinzugefügt, mit denen SMS-Nachrichten über die Linux-CLI aus der Datenbank gelöscht werden können. Die Skripte befinden sich im folgenden Verzeichnis: /mnt/nand-user/scripts/
db_delete – Skript zum Löschen von SMS aus den Ordnern Inbox, SentItems, die älter als das angegebene Datum sind. Verwendung:
./db_delete YYYYMMDDhhmmdb_delete_7days – Skript zum Löschen von SMS aus den Ordnern Inbox, SentItems, die älter als 7 Tage sind. Verwendung:
./db_delete_7daysdb_delete_allfolders – Skript zum Bereinigen der PostgreSQL-Datenbankordner (Inbox, SentItems, Outbox). Speziell dafür ausgelegt, regelmäßig über cron ausgeführt zu werden. Verwendung:
./db_delete_allfoldersdb_delete_select - Skript zum Löschen von SMS aus einem gewählten Datenbankordner (Inbox, Outbox, SentItems, Trash). Verwendung:
./db_delete_select {inbox|outbox|sentitems|trash}
Hinzufügen des Skripts zum System-cron-Daemon
Erstellen Sie eine Datei im Verzeichnis /etc/cron.d/ mit dem gewünschten Namen (z. B. pico db_cleaner)
Beispielinhalt dieser Datei:
0 0 1 * * root /mnt/nand-user/scripts/db_delete_allfoldersDadurch wird das Bereinigungsskript jeden 1sten Tag des Monats ausgeführt.
SNMP-Agent
„Simple Network Management Protocol (SNMP) ist ein Internet-Standardprotokoll 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 (unter Verwendung 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_Signal1 |
Gibt die 3G/4G-Signalstärke in Prozent für Modem 1 zurück. Wertebereich: 0-100. Wenn das Modem vom Mobilfunknetz getrennt 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_Signal[X] |
Gibt die 3G/4G-Signalstärke in Prozent für Modem X zurück. Wertebereich: 0-100. Wenn das Modem vom Mobilfunknetz getrennt 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.[48+X] |
GSM_NetName1 |
Gibt den Namen des Mobilfunknetzes auf Modem 1 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_NetName[X] |
Gibt den auf Modem X verwendeten Mobilfunknetznamen 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.[48+X] |
GSM_ModemState[X], wobei X die Nummer des Modems 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 (für 1. Modem) |
FolderOutbox_Total |
Gibt die Anzahl der SMS-Nachrichten im Ordner Outbox 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 Ordner Inbox 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 vom Gerät innerhalb der letzten 24 Stunden gesendeten SMS-Nachrichten zurück |
.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 vom Gerät innerhalb des letzten Monats gesendeten SMS-Nachrichten zurück |
.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 mit Fehler gesendeten SMS-Nachrichten innerhalb der letzten 24 Stunden zurück. Ein Fehler tritt auf, wenn das 3G-Modem die SMS-Nachricht nicht senden kann oder die Nachricht vom 3G/4G-Netzbetreiber abgelehnt wird (meist der Fall, wenn das Guthaben einer Prepaid-SIM-Karte aufgebraucht ist) |
.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 Temperaturwert (in °C) des internen DHT22-Sensors 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 Luftfeuchtigkeitswert (in %) des internen DHT22-Sensors 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] where X is between 1 and 4 |
Gibt den letzten Temperaturwert (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 (for 1st sensor) |
SIM_State[X] where X is the no of modem |
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 (for 1st modem) |
SIM_RegState[X] where X is the no of modem |
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 (for 1st modem) |
Ergebniswerte
Verwendung der OID
Ergebniswerte für jede benutzerdefinierte Metrik stehen zur Verfügung und können über die in der obigen Tabelle angegebene OID abgerufen werden.
Verwendung des Textnamens
Alternativ können Ergebniswerte für jede benutzerdefinierte Metrik über Textnamen 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“Falls Ihr gewähltes SNMP-Tool nicht auf NET-SNMP-EXTEND-MIB-Objekte zugreifen kann, können Sie die MIB-Definitionen herunterladen von: https://www.smseagle.eu/download/NET-SNMP-EXTEND-MIB.txt
Ergebniswerte auslesen Um die Parameterwerte testweise vom SNMP-Agenten auszulesen, können Sie jedes verfügbare Tool für das SNMP-Protokoll 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 3G/4G-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 aktuell verwendete Netzwerk für SIM-Karte #1 ist PLAY
Beispiel zum Auslesen des Werts FolderOutbox_Total mithilfe der NET-SNMP-Bibliothek (und des Textnamens 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 zum Auslesen der System-Laufzeit 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 Minuten, 6,22 Sekunden
Beispiel zum 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.“GSM_NetName2“ = 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 zum Durchsuchen der SMSEagle-Erweiterungsparameter im MIB-Baum mithilfe eines 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 zur SNMP v3-Zugriffskontrolle zu wechseln, haben wir ein spezielles Shell-Skript vorbereitet, das sich im Verzeichnis /mnt/nand-user/smseagle befindet.
Melden Sie sich per SSH mit dem root-Konto an
Navigieren Sie zu: cd /mnt/nand-user/smseagle/
Konfigurationsskript: ./snmpv3
Das Skript kann mit folgenden Parametern ausgeführt werden:
add
del
enablev2
disablev2
Um einen v3-BENUTZER hinzuzufügen, führen Sie bitte Folgendes aus:
./snmpv3 add USERNAME PASSWORD ENCRYPTIONPASSWORD
Um einen BENUTZER zu löschen, führen Sie bitte Folgendes aus:
./snmpv3 del
Um die v2-Zugriffsrichtlinie zu deaktivieren, führen Sie aus:
./snmpv3 disablev2
Um die v2-Zugriffsrichtlinie zu aktivieren, führen Sie aus:
./snmpv3 enablev2
Weiterleitung von Protokollen an einen externen Server
Unsere Geräte verwenden rsyslog zur Protokollverwaltung. Hier beschreiben wir, wie zusätzliche Regeln für den rsyslog-Daemon konfiguriert werden: rsyslogd. Dies ist nur ein kurzer Auszug aus dem rsyslog-Handbuch. Vollständige Informationen finden Sie unter: http://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 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“)
SSL-Verschlüsselung Ihres Log-Datenverkehrs: Bitte lesen Sie diesen Artikel: https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_summary.html
Automatische Prüfung auf Software-Updates
Die SMSEagle-Software wird kontinuierlich weiterentwickelt. Wir hören auf unsere Kunden, und neue Versionen basieren auf den Rückmeldungen/Anfragen unserer Kunden. Software-Updates werden häufig veröffentlicht und bieten Zugriff auf neue 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 erfolgen:
Manuelle Prüfung
Um manuell nach verfügbaren Software-Updates zu suchen, gehen Sie zum Menü Settings > Tab Updates. Klicken Sie auf die Schaltfläche „Check for software update now“. Oben erscheint eine rote Sprechblase mit der Information, ob die Software aktuell ist.
Automatische Prüfung
Um die automatische Prüfung 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-Admin-Konto (sofern die Telefonnummer im Konto hinterlegt ist) mit einer Benachrichtigung über das neue Software-Update.

Screenshot aus „General settings-Maintenance“
Hinweis: Ihr SMSEagle-Gerät muss über eine HTTPS-Verbindung zur Adresse updates.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 unserem Support-Portal unter: https://support.smseagle.eu