SMPP-Lieferberichtsformat

SMPP-Lieferberichte werden vom smpp submit_sm-Anfrage übermittelt. Wenn der submit_sm vom SMPP-Server akzeptiert wird, gibt er eine submit_sm_resp-Antwort mit einer SMS-Referenz-ID zurück. Der Lieferbericht kommt zu einem späteren Zeitpunkt. Er enthält den Zeitpunkt der Zustellung und die SMS-Referenz-ID, die die SMS identifiziert. Das folgende Dokument erklärt den Inhalt eines SMPP-Lieferbericht-PDUs und gibt Ihnen ein Beispiel für einen Lieferbericht.

Was ist das SMPP-Lieferberichtsformat?

Ein SMPP-Lieferbericht wird als Standard-Textnachricht empfangen. Der Nachrichtentext hat ein spezielles Format, das verschiedene Felder über die ursprünglich übermittelte SMS enthält. Diese Felder können verwendet werden, um den Zustellungsstatus der SMS zu bestimmen.

Beispiel für einen Lieferbericht

Lieferbericht erhalten. +44251234567->+0000000 'Delivered; To: +44251234567; At: 2022-10-03 12:07:00; 
Ref: 636445148; id:636445148 sub:000 dlvrd:001 submit date:2210031207 done date:2210031207 
stat:DELIVRD err: text:'

Erfolgreiche Zustellung an admin@localhost gemeldet. Task-ID: cdfd66e1-880e-4ead-a559-7ca46d9ec669. 
Delivered; To: +44251234567; At: 2022-10-03 12:07:00; Ref: 636445148; id:636445148 sub:000 dlvrd:001 
submit date:2210031207 done date:2210031207 stat:DELIVRD err: text:

Wie man einen SMPP-Lieferbericht empfängt

Um einen SMPP-Lieferbericht zu empfangen

  1. Verbinden Sie den SMPP-Client
  2. Binden Sie als Transceiver
  3. Senden Sie die SMS mit dem submit_sm-PDU
  4. Notieren Sie die SMS-ID der submit_sm_resp
  5. Warten Sie, bis die SMS beim Mobiltelefon ankommt
  6. Empfangen Sie den SMS-Lieferbericht-PDU
  7. Vergleichen Sie die SMS-ID mit der gesendeten Nachricht
  8. Notieren Sie den Zeitstempel der SMS-Zustellung

SMPP-Lieferberichtsparameter

SMPP unterstützt Zustellbestätigungen/-berichte (DLRs) für SMS-Nachrichten, damit Ihre Anwendung den Zustellungsstatus ermitteln kann.

Die Rückgabe einer Nachrichtenzustellbestätigung/-bericht (DLR) hängt vom Wert im registered_delivery-Feld der ursprünglich vom ESME an den MC in einer submit_sm-Operation gesendeten Nachricht ab. Dies kann für Nicht-Zustellungs- und Nur-Zustellungsszenarien konfiguriert werden, was dazu führen kann, dass die Bestätigung nicht zurückgegeben wird. Nachrichtenzustellbestätigungen werden in den deliver_sm- und data_sm-Operationen zurückgegeben.

Die folgenden Felder sind in den deliver_sm- und data_sm-Operationen relevant, wenn sie für die Übermittlung von Zustellbestätigungen verwendet werden.

  • Quelladresse (d.h. source_addr_ton, source_addr_npi, source_addr) - Die Quelladresse wird von der Zieladresse der ursprünglichen Kurznachricht übernommen, die die Zustellbestätigung generiert hat. Die Bestätigung erscheint so, als ob sie vom Empfänger der ursprünglichen registrierten Nachricht stammt.
  • Zieladresse (d.h. dest_addr_ton, dest_addr_npi, destination_addr) - Die Zieladresse wird von der Quelladresse der ursprünglichen Kurznachricht übernommen, die die Zustellbestätigung generiert hat. Die Bestätigung ist an das SME gerichtet, das ursprünglich die registrierte Nachricht gesendet hat.
  • esm_class - Bit 2 des esm_class ist auf 1 gesetzt, um anzuzeigen, dass die Nachricht eine MC-Zustellbestätigung ist. Wenn Bit 5 gesetzt ist, handelt es sich um eine Zwischenbenachrichtigung.
  • message_state TLV - Gibt den endgültigen Status der ursprünglichen Nachricht an. Siehe Nachrichtenstatus unten.
  • network_error_code TLV - Siehe Fehlercodes unten.
  • receipted_message_id TLV - Nachrichten-ID, die dem ESME vom MC im submit_sm_resp-PDU zurückgegeben wurde.

MC-Zustellbestätigung

Dieser Nachrichtentyp wird verwendet, um eine MC-Zustellbestätigung zu transportieren. Der MC generiert normalerweise eine neue Bestätigungsnachricht, die an den Absender der ersten Nachricht gerichtet ist, wenn er den endgültigen Status einer registrierten Nachricht erkennt. Die MC-Zustellbestätigung wird dann dem ESME in einer deliver_sm- oder data_sm-Operation übermittelt.

ESME-zu-MC: Setzen Sie die Bits 0 und 1 im registered_delivery-Feld einer submit_sm-Operation, um eine MC-Zustellbestätigung anzufordern.

Bit 1Bit 0Bedeutung
00keine Bestätigung
01Bestätigung angefordert, wenn das endgültige Ergebnis eine erfolgreiche oder fehlgeschlagene Zustellung ist
10Bestätigung angefordert, wenn das endgültige Ergebnis eine fehlgeschlagene Zustellung ist
11Bestätigung angefordert, wenn das endgültige Ergebnis eine erfolgreiche Zustellung ist (nur SMPP v5)

MC-zu-ESME: Bit 2 im esm_class-Feld eines deliver_sm zeigt an, dass die Bestätigung eine MC-Zustellbestätigung ist.

Zwischenbenachrichtigung

Eine Zwischenbenachrichtigung ist eine spezielle Form einer Nachricht, die der MC an einen ESME für eine mobile Terminierungsnachrichtenzustellung senden kann. Sie gibt einen Zwischenstatus eines Nachrichtenzustellversuchs an.

Typische Anwendungen sind die Berichterstattung über das Ergebnis von Zustellversuchen während der Wiederholungslebensdauer einer Nachricht innerhalb des MC. Dies könnte verwendet werden, um die verschiedenen Gründe zu verfolgen, warum eine Nachricht nicht an ihr Ziel geliefert wird, und dies zu nutzen, um die Verfügbarkeit des Teilnehmers zu profilieren.

Die Unterstützung für Zwischenbenachrichtigungsfunktionen ist spezifisch für die MC-Implementierung und den MC-Service-Provider und geht über den Rahmen dieser Spezifikation hinaus.

ESME-zu-MC: Setzen Sie Bit 4 im registered_delivery-Feld eines submit_sm-PDU, um eine Zwischenbenachrichtigung anzufordern.

MC-zu-ESME: Bit 5 im esm_class-Feld eines deliver_sm zeigt an, dass die Bestätigung eine Zwischenbenachrichtigung ist.

Quittung im short_message-Feld

Viele APIs vor Version 3.4 und Message Center, die v3.3 unterstützen, haben wahrscheinlich eine Möglichkeit, Quittungsinformationen im short_message-Feld zu übermitteln. Dies gilt für MC-Lieferquittungen und Zwischenbenachrichtigungen. Die genauen Formate dieser Informationen sind SMS-Gateway- und SMSC-Plattform-spezifisch und gehen über den Rahmen der Spezifikation hinaus. Dennoch zeigt das Folgende den typischerweise gewählten Ansatz:

id:123A456B sub:1 dlvrd:1 submit date:1702281424 done date:1702281424 stat:DELIVRD err:0 text:


Die Felder sind wie folgt spezifiziert:

Feld Größe (Oktetten) Beschreibung
id Variabel Die vom SMSC bei der ursprünglichen Übermittlung zugewiesene Nachrichten-ID.
sub 3 Anzahl der ursprünglich übermittelten Kurznachrichten. Der Wert kann mit führenden Nullen aufgefüllt sein.
dlvrd 3 Anzahl der zugestellten Kurznachrichten. Der Wert kann mit führenden Nullen aufgefüllt sein.
submit date 10

Der Zeitpunkt und das Datum, zu dem die Kurznachricht übermittelt wurde. Im Falle einer ersetzten Nachricht ist dies das Datum, an dem die ursprüngliche Nachricht ersetzt wurde. Das Format ist wie folgt:

YYMMDDhhmm wobei:
YY die letzten beiden Ziffern des Jahres (00-99) MM = Monat (01-12)
DD Tag (01-31)
hh Stunde (00-23)
mm Minute (00-59

done date 10 Der Zeitpunkt und das Datum, zu dem die Kurznachricht ihren endgültigen Zustand erreicht hat. Das Format ist das gleiche wie für das submit date.
stat 7 Der endgültige Status der Nachricht. Siehe Nachrichtenzustände unten. Der Statustext kann abgekürzt sein.
err 3 Ein Netzwerk- oder SMSC-Fehlercode für die Nachricht. Siehe Fehlercodes unten.
text 20 Unbenutztes Feld, das Ergebnis ist leer.

Ozeki SMPP-Verbesserungen

Da wir eine sehr große Anzahl von SMPP-Verbindungen implementiert haben, sind wir auf die folgenden Probleme in verschiedenen Implementierungen gestoßen:

Erkenntnis 1:

Der Wert des ID-Feldes im Lieferbericht (den wir in Ozeki als Submit Reference bezeichnen) unterscheidet sich oft von der ID, die wir vom SMS-Dienstleister erhalten. Der häufigste Unterschied ist, dass die ursprüngliche ID als Standard-Ganzzahl zurückgegeben wird und die ID im Lieferbericht als Hexadezimalzahl. Dies kann auch umgekehrt der Fall sein. Das Gute ist, dass in dieser Situation, wenn man sie zurückkonvertiert, die beiden Zahlen übereinstimmen, sodass die Lieferberichte übereinstimmen können. Die Ozeki-SMS-Implementierungen führen verschiedene Prüfungen durch und können die beschriebene Situation ordnungsgemäß handhaben.

Erkenntnis 2:

Der Wert der Datumsfelder kommt oft in einem nicht standardmäßigen Format. Ozeki analysiert derzeit die Datumsfelder mit den folgenden Mustern. Sie können auch ein benutzerdefiniertes Datumsfeldmuster auf dem Konfigurationsformular der Software definieren.

  • "yyMMddHHmm",
  • "yyMMddHHmmss",
  • "dd-MMM-yyHH:mm",
  • "dd-MMM-yyHH:mm:ss",
  • "dd-MMM-yy HH:mm",
  • "dd-MMM-yy HH:mm:ss",
  • "yyyyMMddHHmmss",
  • "yyyyMMddHHmm",
  • benutzerdefiniert

Nachrichtenstatus

Die folgende Liste zeigt die zulässigen Zustände für eine Kurznachricht. Der MC gibt den message_state-Wert als Teil des query_sm_resp, query_broadcast_sm_resp oder deliver_sm-Zustellungsbestätigungs-PDUs an das ESME zurück.

Zwischenzustände sind Zustände, die sich ändern können. Endzustände sind Zustände, die einen Endzustand für eine Nachricht darstellen.

Beispielsweise kann eine Nachricht im Wiederholungsmodus einen ENROUTE-Zustand zurückgeben. Zu einem späteren Zeitpunkt wird diese Nachricht entweder ablaufen oder zugestellt werden. Der Zustand wird dann zu EXPIRED oder DELIVERED fortschreiten. Somit befindet sich eine Nachricht im ENROUTE-Zustand in einem Zwischenzustand.

Eine Nachricht im DELIVERED- oder EXPIRED-Zustand kann nicht in einen anderen Zustand übergehen. Diese Zustände sind daher Endzustände.

< Was ist ein Zustellungsbericht?

Beim Versenden einer SMS ist die Bestätigung ihres Eingangs auf dem Handy des Empfängers entscheidend. SMS verwendet ein zweistufiges Bestätigungssystem, um dies sicherzustellen.

Wenn Sie Ihre Nachricht an das Short Message Service Centre (SMSC) des Mobilfunknetzes senden, erhalten Sie einen "Nachrichtenübermittlungsbericht". Dieser Bericht bestätigt, dass das SMSC Ihre Nachricht zur Zustellung angenommen hat. Er enthält auch eine eindeutige Kennung, oft als "Nachrichtenreferenz" oder "Callback-ID" bezeichnet, die die Nachricht im SMSC-System nachverfolgbar macht.

Nach der Annahme wird die Nachricht im SMSC gespeichert, bis die Zustellung möglich ist. Dies kann verzögert werden, wenn das Handy des Empfängers ausgeschaltet ist, was die Wartezeit möglicherweise auf Tage verlängert. Sobald das Handy des Empfängers verfügbar ist, wird die Nachricht zugestellt. Bei erfolgreicher Zustellung wird ein "Zustellungsbericht" als separate SMS an den Absender zurückgesendet.

Diese Bestätigungs-SMS enthält:

  • Telefonnummer des Empfängers: Bestätigt, dass die Nachricht beim vorgesehenen Empfänger angekommen ist.
  • Nachrichtenreferenz (Callback-ID): Stimmt mit der Kennung aus dem ursprünglichen Übermittlungsbericht überein und stellt eine klare Verbindung zwischen den beiden Schritten her.
  • Zustellungszeitstempel: Gibt den genauen Zeitpunkt an, zu dem die Nachricht das Handy des Empfängers erreicht hat.
Es ist wichtig zu beachten, dass sich "Zustellungsbericht" im Allgemeinen auf diese Bestätigungs-SMS bezieht, die der Absender erhält. Nicht alle Mobilfunknetze bieten Zustellungsberichte an, und bei einigen müssen sie vom Nutzer aktiviert werden.

Kann ich einstellen, wie lange eine Nachricht im SMSC gespeichert wird?

Obwohl SMS eine bequeme Kommunikationsmethode bietet, ist es entscheidend, dass eine Nachricht den Empfänger rechtzeitig erreicht. Hier kommt das Konzept der "Gültigkeitsdauer" ins Spiel.

Die Gültigkeitsdauer bezieht sich auf den Zeitraum, in dem eine SMS im Short Message Service Centre (SMSC) gespeichert wird, wenn das Handy des Empfängers nicht erreichbar ist. Wenn die Nachricht nach Ablauf dieser Frist nicht zugestellt wurde, wird sie automatisch aus dem SMSC gelöscht, um eine verspätete Zustellung zu verhindern.

Vorteile der Nutzung der Gültigkeitsdauer:

  • Zeitkritische Nachrichten: Stellen Sie sich vor, Sie senden eine SMS über ein zeitkritisches Ereignis, wie eine Live-TV-Sendung. Durch Festlegen einer angemessenen Gültigkeitsdauer wird sichergestellt, dass die Nachricht nicht nach Abschluss des Ereignisses zugestellt wird und somit irrelevant wird.
  • Netzwerkeffizienz: Indem unnötige Zustellversuche an nicht erreichbare Handys verhindert werden, optimiert die Gültigkeitsdauer die Netzwerkressourcen.
Während einige Mobilfunknetze die Möglichkeit bieten, die Gültigkeitsdauer für ausgehende Nachrichten direkt festzulegen, ist die Standardeinstellung oft das Maximum des Netzwerks (typischerweise eine Woche). Dieser Wert kann über die eingebauten Menüoptionen des Handys angepasst werden.

Es ist wichtig zu beachten, dass nicht alle Mobilfunknetze benutzerkonfigurierbare Gültigkeitsdauern anbieten und einige möglicherweise eine Aktivierung durch den Nutzer für Zustellungsberichte (Bestätigung, dass die Nachricht den Empfänger erreicht hat) erfordern.

More information

 
Nachrichtenstatus Wert Typ
SCHEDULED 0 Zwischenzustand
Die Nachricht ist geplant. Die Zustellung wurde noch nicht eingeleitet. Eine Nachricht mit geplantem Zustellungszeitpunkt kann diesen Zustand zurückgeben, wenn sie abgefragt wird. Dieser Wert wurde für SMPP v5.0 hinzugefügt. MCs, die frühere Versionen von SMPP v3.3 und SMPP v3.4 unterstützen, geben wahrscheinlich ENROUTE für geplante Nachrichten zurück.
ENROUTE
oder EN_ROUTE
1 Zwischenzustand
Die Nachricht befindet sich im Zustand "unterwegs". Dies ist ein allgemeiner Zustand, der eine Nachricht als aktiv innerhalb des MC beschreibt. Die Nachricht kann sich im Wiederholungsmodus befinden oder an ein Mobilfunknetz zur Zustellung an das Mobilgerät gesendet worden sein.
DELIVERED 2 Endzustand
Nachricht wurde an den Empfänger zugestellt. Die Nachricht wurde an den Empfänger zugestellt. Es erfolgen keine weiteren Zustellversuche.
EXPIRED 3 Endzustand
Die Gültigkeitsdauer der Nachricht ist abgelaufen. Die Nachricht konnte innerhalb ihrer Gültigkeitsdauer und/oder Wiederholungsperiode nicht zugestellt werden. Es werden keine weiteren Zustellversuche unternommen.
DELETED 4 Endzustand
Nachricht wurde gelöscht. Die Nachricht wurde im MC storniert oder gelöscht. Es erfolgen keine weiteren Zustellversuche.
UNDELIVERABLE 5 Endzustand
Nachricht ist nicht zustellbar. Die Nachricht ist auf einen Zustellungsfehler gestoßen und wird als dauerhaft nicht zustellbar eingestuft. Es werden keine weiteren Zustellversuche unternommen. Bestimmte Netzwerk- oder MC-interne Fehler führen zur dauerhaften Nichtzustellung einer Nachricht. Beispiele für solche Fehler wären ein unbekannter Teilnehmer oder ein Netzwerkfehler, der darauf hinweist, dass das angegebene Zielmobilgerät keinen SMS-Dienst erhalten kann oder SMS nicht unterstützt.
Next: Was ist ein SMPP-Simulator