Zurück zum Blog SMS-Betrieb

Ablauf von Nachrichten in der A2P-SMS-Kette: Gültigkeit, Warteschlangen und Wiederholungsversuche abstimmen

Eine in einer Plattform konfigurierte Gültigkeitsdauer belegt nicht für sich allein, wann die Zustellversuche in jedem Zwischensystem enden. Erfahre, was vereinbart, protokolliert und getestet werden sollte, um veraltete Zustellungen zu reduzieren, ohne Garantien anzunehmen, die die Übertragungskette nicht bietet.

Betriebsdiagramm einer A2P-SMS-Kette mit angeforderter Gültigkeitsdauer, zwischengeschalteten Warteschlangen, Wiederholungsversuchen und Zustellstatus

Die angeforderte Gültigkeitsdauer beschreibt nicht zwangsläufig die gesamte Übertragungskette

Im A2P-SMS-Betrieb sollte zwischen den Vorgaben der Anwendung und dem tatsächlichen Verhalten der einzelnen Komponenten in der Route unterschieden werden. Eine Anwendung kann eine Gültigkeitsdauer angeben, während eine Plattform oder ein Vermittler eine eigene Warteschlange und eigene Regeln für Wiederholungsversuche verwendet. Ohne spezifische Dokumentation für jeden Übertragungsabschnitt lässt sich nicht schlussfolgern, dass der vom Absender konfigurierte Wert bestimmt, wann sämtliche Zustellversuche enden.

Ebenso sollte ein protokollierter Ablauf nicht als allgemeiner Beweis dafür verstanden werden, dass die Nachricht später keinesfalls auf dem Telefon erscheint. Aus den technischen und vertraglichen Nachweisen für die Route muss hervorgehen, was dieser Status bedeutet und welches Verhalten zu erwarten ist. Fehlen solche Nachweise, sollte die Unsicherheit bestehen bleiben, statt eine verbindliche Zustellfrist zu versprechen.

  • Behandle die angeforderte Gültigkeitsdauer als einen Schnittstellenparameter, der überprüft werden muss, nicht als Ende-zu-Ende-Garantie.
  • Stelle getrennt fest, wer die Nachricht annimmt, speichert, erneut zuzustellen versucht und ihren Status meldet.
  • Verwechsle einen von einer Plattform gemeldeten Status nicht mit einer unabhängigen Bestätigung des Empfangs auf dem Endgerät.
Die angeforderte Gültigkeitsdauer beschreibt nicht zwangsläufig die gesamte Übertragungskette

Gültigkeit, Warteschlange, Wiederholungsversuche und Ablauf im Netz sind unterschiedliche Konzepte

Definiere bei der Analyse eines Vorfalls jeden Begriff anhand der Dokumentation der jeweils zuständigen Komponente. Die angeforderte Gültigkeitsdauer ist der Wert, den das sendende System anwenden möchte. Die Speicherung in einer Warteschlange beschreibt, wie lange eine Komponente eine ausstehende Nachricht aufbewahrt. Wiederholungsversuche sind die weiteren Zustellversuche, die diese Komponente nach ihren Regeln unternimmt. Ein Ablauf im Netz – sofern er für die verwendete Schnittstelle verfügbar und dokumentiert ist – bezieht sich auf das Verhalten dieses Teils der Route.

Leite nicht ab, dass für diese vier Konzepte derselbe Zählerstart, dieselbe Einheit, dieselbe Grenze oder dieselbe Bedeutung gilt. Die verfügbaren Quellen erlauben keine allgemeingültigen Aussagen dazu, wie diese Konzepte bei A2P-SMS zusammenwirken. Die Dokumentation von Microsoft Exchange beschreibt einen Ablauf nach einem festgelegten Zeitraum, in dem alle Zustellversuche fehlgeschlagen sind. Das gilt für Exchange und belegt kein entsprechendes oder allgemeingültiges Verhalten in einer A2P-SMS-Kette.

Die 3GPP-Spezifikationen sind eine offizielle Referenz. Der allgemeine Serienindex reicht jedoch nicht aus, um die konkreten Regeln für eine bestimmte Schnittstelle oder Route festzustellen. Prüfe die einschlägige technische Dokumentation sowie die betrieblichen Bedingungen des Anbieters und des Mobilfunkbetreibers, bevor Entscheidungen getroffen werden.

  • Protokolliere getrennt den von der Anwendung gesendeten Wert und den Wert, dessen Annahme jede Schnittstelle bestätigt.
  • Bitte für jeden beteiligten Übertragungsabschnitt um schriftliche Definitionen von Warteschlange, Wiederholungsversuchen und Ablauf.
  • Übertrage keine Regeln aus anderen Nachrichtensystemen und mache aus einem konfigurierten Wert weder eine Zustellgarantie noch eine Garantie, dass keine Zustellung erfolgt.
Gültigkeit, Warteschlange, Wiederholungsversuche und Ablauf im Netz sind unterschiedliche Konzepte

Was für jeden Übertragungsabschnitt dokumentiert werden sollte

Führe für jede Schnittstelle und jeden Anbieter ein eigenes Datenblatt. Es soll nicht unterstellen, dass alle dieselben Parameter anbieten, sondern festhalten, was verfügbar ist, was akzeptiert wird und was außerhalb der Kontrolle der jeweiligen Partei liegt. Gibt es ein Feld nicht oder lässt es sich nicht bestätigen, ist es als unbekannt zu kennzeichnen, statt sein Verhalten abzuleiten.

Achte darauf, dass Betriebsangaben vergleichbar sind: Ein in Sekunden angegebener Wert lässt sich ohne Kenntnis von Rundungsregeln und Grenzen nicht direkt mit einem Wert in einer anderen Einheit gleichsetzen. Ein Zeitstempel ohne Zeitzone kann die Rekonstruktion des Ablaufs erschweren. Kläre außerdem, ab welchem Ereignis die Frist läuft und welches System die jeweilige Zeitangabe liefert.

Lass klären, ob ein Vermittler empfangene Parameter beibehält oder ersetzt, eigene Grenzen anwendet, ausstehende Nachrichten behandelt und bestimmte Statusmeldungen zurückgibt. Die verfügbaren Nachweise erlauben keine allgemeingültige Regel für diese Funktionen.

  • Schnittstelle und Übertragungsabschnitt: Absender, Empfänger der Nachricht und Komponente, die den Status meldet.
  • Parameter: Bezeichnung, Einheit, angeforderter Wert sowie bestätigter Wert oder dokumentierte Grenze.
  • Zeitangaben: Ereignis, ab dem der Zähler läuft, Format, Zeitzone und Quelle des Zeitstempels.
  • Regeln: Höchstwerte, Ersetzungen, Speicherung, Bedingungen und Grenzen von Wiederholungsversuchen – nur, sofern sie dokumentiert sind.
  • Status: vertragliche Definitionen von Annahme, ausstehend, Ablehnung, Ablauf und nicht eindeutigem Ergebnis.
  • Nachweise: korrelierbare Kennung, verfügbare Protokolle und zuständige Stelle für die Untersuchung von Abweichungen.

Kontrollierte Tests planen, ohne daraus Garantien abzuleiten

Ein Test kann zeigen, wie sich eine Route unter bestimmten Bedingungen verhalten hat. Er beweist jedoch nicht, dass sich alle Routen, Ziele oder Situationen gleich verhalten. Stimme den Testumfang vorab mit den Beteiligten ab und verwende ausschließlich legitimen, genehmigten Testverkehr an kontrollierten Zielen, für die eine Autorisierung vorliegt. Sende keine Nachrichten an unbeteiligte Dritte und nutze Tests nicht, um Kontrollen zu umgehen.

Plane getrennte Testfälle für eine angenommene und ausstehende Nachricht, ein vorübergehend nicht erreichbares Ziel – sofern eine autorisierte Testumgebung verfügbar ist – und den Eingang eines DLR, nachdem die Anwendung bereits nicht mehr auf eine Antwort wartet. Protokolliere die gesendeten Werte, die Annahmen jeder Schnittstelle, Zeitstempel, Kennungen und beobachteten Status. Setze weder voraus, dass sich ein bestimmter Zustand im Netz simulieren lässt, noch dass ein einzelner Test das allgemeine Verhalten abbildet.

Vergleiche die Ergebnisse mit der vereinbarten Dokumentation. Lässt sich ein verspäteter Status nicht der ursprünglichen Nachricht zuordnen oder ist seine Bedeutung nicht definiert, kennzeichne ihn als noch zu klärende Abweichung – nicht als schlüssigen Beweis für eine Zustellung oder Nichtzustellung.

  • Vorab ein kontrolliertes Ziel, den zulässigen Testverkehr und ein Abbruchkriterium vereinbaren.
  • Ursprüngliche Anfrage, Antworten je Übertragungsabschnitt und Zeitstempel aufbewahren.
  • Tests nur innerhalb des genehmigten Umfangs wiederholen und die Bedingungen jedes Durchlaufs dokumentieren.
  • Beobachtete Ergebnisse von vertraglichen Erwartungen und allgemeinen Schlussfolgerungen trennen.

Ablauf, Ablehnung und ungewisse Ergebnisse richtig einordnen

Der Name eines Status allein reicht nicht aus, um seine Bedeutung festzustellen. Prüfe, wer ihn erzeugt hat, welches Ereignis er abbildet, ob er gemäß Vereinbarung endgültig ist und ob er nach einem anderen Status eintreffen kann. Setze nicht voraus, dass „abgelaufen“ in einer Anwendung, bei einem Aggregator und in einem Mobilfunknetz dasselbe bedeutet.

Eine Ablehnung kann von einer bestimmten Komponente stammen und für sich allein nicht erklären, was zuvor oder danach in anderen Übertragungsabschnitten passiert ist. Ein ungewisses Ergebnis bedeutet, dass die verfügbaren Nachweise kein endgültiges Ergebnis bestätigen. Deute es nicht als Erfolg oder Fehlschlag um, nur um Berichte abzugleichen. Trifft ein DLR verspätet ein, bewahre den ursprünglichen Status und die Aktualisierung auf und verknüpfe sie, soweit möglich, mit derselben Kennung.

Ein von einer Plattform gemeldeter DLR ist ein Statussignal des meldenden Systems. Ohne unabhängige Überprüfung sollte er nicht als Beweis dafür beschrieben werden, dass die Nachricht physisch am Endgerät eingegangen ist. Dokumentiere die Herkunft und die erklärte Bedeutung des Status.

  • Den unveränderten empfangenen Status, seinen Absender und den Eingangszeitpunkt aufbewahren.
  • Ein ungewisses Ergebnis nicht durch eine unbelegte Interpretation überschreiben.
  • Widersprüchliche, undefinierte oder nicht ausreichend zuordenbare Statusmeldungen an die zuständige Stelle des betreffenden Übertragungsabschnitts eskalieren.
  • Klären, ob der betriebliche Abschluss das Ende der Nachverfolgung, einen gemeldeten Ablauf oder eine Zustellbestätigung bedeutet.

Betriebsverfahren zum Konfigurieren und Überprüfen von Fristen

Beginne mit den geschäftlichen Anforderungen: Wie lange ist die Nachricht noch nützlich, und welches Risiko entsteht, wenn sie später eintrifft? Ein Einmalpasswort, eine Transaktionsbenachrichtigung und eine Kampagne können unterschiedliche Anforderungen haben. Die Richtlinie sollte den Anwendungsfall und die geltenden Verpflichtungen berücksichtigen, ohne anzunehmen, dass eine technische Konfiguration das Risiko allein beseitigt.

Vereinbare anschließend mit jedem Anbieter, welcher Parameter angewendet werden kann, welche Grenzen gelten und welche Nachweise zurückgegeben werden. Konfiguriere nur Werte, die mit den für die relevanten Übertragungsabschnitte bestätigten Informationen vereinbar sind. Bestätigt eine Partei nicht, wie sie Gültigkeit oder Wiederholungsversuche behandelt, halte diese Einschränkung fest und entscheide, ob sich die Route für den Anwendungsfall eignet. Fülle die Informationslücke nicht mit einer Vermutung.

Bewahre im Betrieb Zeitstempel und Status jeder Schnittstelle auf und prüfe die Unterschiede zwischen angeforderten und gemeldeten Werten. Untersuche zuerst die Übertragungsabschnitte, für die eine Bestätigung fehlt oder eine nicht dokumentierte Änderung vorliegt.

  • Den zeitlichen Nutzen der Nachricht und die Auswirkungen einer veralteten Zustellung bestimmen.
  • Zuständigkeiten und Statusbedeutungen mit allen Beteiligten der Route vereinbaren.
  • Nur Parameter konfigurieren, deren Bedeutung und Grenzen bestätigt sind.
  • Angeforderte und akzeptierte Werte, Zeitstempel und Statusänderungen protokollieren.
  • Abweichungen prüfen und das Betriebsdatenblatt aktualisieren, wenn sich eine Schnittstelle oder Vereinbarung ändert.

Checkliste vor dem Abschluss einer Nachricht

Schließe einen Vorgang nach einer vereinbarten, überprüfbaren Regel ab – nicht allein deshalb, weil die in der Anwendung konfigurierte Frist verstrichen ist. Lege fest, welcher Status die Untersuchung beenden darf, welche Nachweise aufzubewahren sind und wann eine verspätete Antwort den Vorgang wieder öffnet oder den Eintrag aktualisiert. Sind diese Punkte nicht vereinbart, halte die Einschränkung fest.

Ziel ist es, veraltete Zustellungen zu reduzieren und die Fehlerdiagnose zu beschleunigen – nicht zu versprechen, dass eine Konfiguration jede verspätete Zustellung verhindert. Sind die Folgen einer Zustellung nach Ablauf der Frist schwerwiegend, überprüfe das Verhalten gemeinsam mit den Verantwortlichen der Route und richte geeignete geschäftliche Kontrollen für den jeweiligen Nachrichtentyp ein.

  • Sind Zählerstart und Einheit jedes relevanten Parameters bekannt?
  • Ist dokumentiert, welche Komponente die Nachricht speichert und welche Regeln für Wiederholungsversuche gelten?
  • Ist bekannt, ob Parameter in einem späteren Übertragungsabschnitt ersetzt oder begrenzt werden können?
  • Sind die empfangenen Statusmeldungen mit eindeutiger Definition, Herkunft und Zeitstempel versehen?
  • Unterscheidet das Team zwischen einem gemeldeten DLR und einem unabhängig überprüften Empfang?
  • Gibt es ein Verfahren für ungewisse, verspätete oder widersprüchliche Statusmeldungen?
  • Verhindert das Abschlusskriterium, dass eine Schlussfolgerung ohne ausreichende Nachweise als endgültig dargestellt wird?
FAQ

Häufige Fragen

Garantiert eine in der Plattform konfigurierte Gültigkeitsdauer, dass die SMS danach nicht mehr zugestellt wird?

Ohne spezifische Dokumentation für alle Übertragungsabschnitte der Route lässt sich das nicht behaupten. Die von der Anwendung angeforderte Gültigkeitsdauer belegt für sich allein nicht, wie Zwischensysteme und Netz mit Warteschlangen, Wiederholungsversuchen oder Ablauf umgehen.

Was ist der Unterschied zwischen Gültigkeit und Speicherung in einer Warteschlange?

Die Gültigkeit ist die Frist, die ein System gemäß seiner Schnittstelle anfordert oder anwendet. Die Speicherung in einer Warteschlange beschreibt, dass eine ausstehende Nachricht aufbewahrt wird. Wie beides zusammenhängt, wann der Zähler startet und welche Grenzen gelten, muss für jedes System bestätigt werden. Sie sind nicht ohne Weiteres gleichzusetzen.

Bedeutet ein Ablaufstatus, dass der Empfänger die Nachricht nicht erhalten hat?

Nicht unbedingt. Es muss geprüft werden, wer den Status erzeugt hat und was er laut geltender Dokumentation bedeutet. Ohne definierte Semantik und ausreichende Nachweise sollte er nicht als allgemeingültige Bestätigung einer Nichtzustellung behandelt werden.

Bestätigt ein DLR, dass die SMS auf dem Telefon angezeigt wurde?

Ein DLR meldet einen Status gemäß dem System, das ihn ausgibt. Ohne unabhängige Überprüfung sollte er als gemeldeter Status und nicht als Beweis für den physischen Empfang auf dem Endgerät beschrieben werden.

Wie sollte ein ungewisses Ergebnis oder ein verspäteter DLR protokolliert werden?

Bewahre den ursprünglichen Status, seine Herkunft, Zeitstempel und eine korrelierbare Kennung auf. Trifft eine verspätete Aktualisierung ein, ergänze den Verlauf, ohne die vorherige Unsicherheit zu löschen, und wende die mit dem jeweiligen Anbieter oder der Schnittstelle vereinbarte Statusbedeutung an.

Welche Quellen können die Regeln für den Ablauf von SMS bestätigen?

Ziehe die einschlägigen technischen Spezifikationen sowie die betrieblichen und vertraglichen Dokumentationen jedes Anbieters und Mobilfunkbetreibers heran. Der allgemeine 3GPP-Index reicht allein nicht aus, um konkrete Regeln festzustellen. Die Dokumentation von Microsoft Exchange bezieht sich auf Exchange, nicht auf eine A2P-SMS-Kette.

Verwendete Quellen

  1. Especificaciones 3GPP por series3GPP
  2. Reintento, reenvío y expiración de mensajes en ExchangeMicrosoft Learn