Empfangsberichte

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

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

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

  • Im Web-GUI Im Menü Folders > Sent items > öffnen Sie 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 akzeptieren. 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 Tabelle „Field Description Of Response Data – Sentitems Folder“ in der APIv1-Referenz.

Direkte Verbindung zur SMSEagle-Datenbank

Die Datenbank von SMSEagle basiert auf der PostgreSQL-Datenbank-Engine. Sie können einen direkten Datenbankzugriff verwenden, 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 zu 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 Zugangsdaten mit der Datenbank zu verbinden:

  • Host: IP-Adresse Ihres Geräts

  • Datenbankname: smseagle

  • Benutzer: smseagleuser

  • Passwort: 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 ist SenderID = smseagle1, für Modem 2 ist SenderID = smseagle2, usw.

Einfügen einer langen SMS mittels SQL

Das Einfügen von mehrteiligen Nachrichten ist etwas komplizierter, Sie müssen auch einen UDH-Header konstruieren 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 hier einen beliebigen Hexwert einsetzen, er sollte jedoch für jede Nachricht unterschiedlich sein, D3 im folgenden Beispiel), einem Byte für die Anzahl der Nachrichten (02 im Beispiel, 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 in einer einzelnen Nachricht nur 153 Zeichen verwenden.

Datenbank-Bereinigungsskripte

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: /opt/scripts/

  • db_delete – Skript zum Löschen von SMS aus den Ordnern Inbox, 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, 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 ausgelegt, regelmäßig über cron ausgeführt zu werden. Verwendung: ./db_delete_allfolders

  • db_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

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

  2. Beispielinhalt dieser Datei: 0 0 1 * * root /opt/scripts/db_delete_allfolders

Dadurch wird das Bereinigungsskript jeden 1.sten 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 meist 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_Signal1

Gibt die 3G/4G-Signalstärke in Prozent für Modem 1 zurück. Wertebereich: 0-100. Wenn das Modem nicht mit dem Mobilfunknetz 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_Signal[X]

Gibt die 3G/4G-Signalstärke in Prozent für Modem X zurück. Wertebereich: 0-100. Wenn das Modem nicht mit dem Mobilfunknetz 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.[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 Namen des von Modem X verwendeten Mobilfunknetzes 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 den 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)
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.77.111.100.101.109.83.116.97.116.101.50 (für 2. Modem)
usw.

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 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 einem Fehler gesendet wurden. Ein Fehler tritt auf, wenn das 3G-Modem die SMS-Nachricht nicht senden kann oder die Nachricht vom 3G/4G-Anbieter abgelehnt wird (meistens der Fall, wenn das Guthaben auf 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

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 (für 1. Modem)
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.83.73.77.95.83.116.97.116.101.50 (für 2. Modem)
usw.

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 (für 1. Modem)
.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.50 (für 2. Modem)
usw.

Ergebniswerte

  • Über OID

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

  • Über textuellen Namen

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

Zum Beispiel: Ergebniswert für den 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 hier herunterladen: https://www.smseagle.eu/download/NET-SNMP-EXTEND-MIB.txt

Ergebniswerte auslesen Um die Parameterwerte des 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 von GSM_Signal1 mithilfe der NET-SNMP-Bibliothek

a) Befehl zum Lesen des Ergebniswertes:

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 Lesen des Ergebniswertes:

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 für SIM-Karte #1 verwendete Netzwerk ist PLAY

Beispiel zum Lesen des Wertes FolderOutbox_Total mithilfe der NET-SNMP-Bibliothek (und des textuellen Namens der Metrik)

a) Befehl zum Lesen des Ergebniswertes:

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 Lesen der Systemlaufzeit eines Linux-Hosts mithilfe der NET-SNMP-Bibliothek

a) Befehl zum Lesen des Ergebniswertes:

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 zum Durchsuchen der SMSEagle-Erweiterungsparameter im MIB-Baum mithilfe der NET-SNMP-Bibliothek

a) Befehl zum Lesen des Ergebniswertes:

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_Signal2“ = 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 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 zur SNMP v3-Zugriffskontrolle zu wechseln, haben wir ein spezielles Shell-Skript vorbereitet, das sich im Verzeichnis /opt/smseagle befindet.

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

  2. Navigieren Sie zu: cd /opt/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 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 von der rsyslog-Handbuchseite. 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 Prüfung auf Software-Updates

Die SMSEagle-Software wird kontinuierlich weiterentwickelt. Wir hören auf unsere Kunden, und neue Versionen basieren auf den Anregungen/Wünschen unserer Kunden. Software-Updates werden häufig veröffentlicht und bieten Zugang zu neuen Funktionen sowie Behebungen gemeldeter 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 Maintenance. Klicken Sie auf die Schaltfläche „Check manually now“. Oben erscheint eine rote Sprechblase mit der Information, ob die Software auf dem neuesten Stand 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 periodische 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 eingetragen 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.

Knowledgebase & Support-Portal

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