Wie funktionieren SMPP submit_sm und SMPP deliver_sm?

Diese Seite gibt Informationen darüber, wie das SMS-Einreichungsverfahren funktioniert. Sie werden auch sehen, was im Mobilfunknetz passiert, nachdem Sie Ihre SMS-Nachricht an den SMPP-Server mit dem SUBMIT_SM-PDU gesendet haben.

Was ist SMPP submit_sm?

SMPP submit_sm ist die SMPP-Protokolldateneinheit (SMPP PDU), die verwendet wird, um eine SMS-Nachricht an den Ozeki SMPP-Server zu senden.

SMPP submit_sm

Das SMPP submit_sm-PDU ist das PDU, das an den SMPP-Server gesendet wird, wenn ein SMPP-Client eine SMS-Nachricht über das SMPP-Protokoll senden möchte. Nachdem dieses PDU vom SMPP-Server empfangen wurde, wird die Telefonnummer im Home Location Register (HLR) des Mobilfunknetzbetreibers nachgeschlagen. Die HLR-Abfrage ist erforderlich, um herauszufinden, in welchem Netz sich das Mobiltelefon derzeit befindet. Sobald diese Information verfügbar ist, wird die SMS an die Mobile Switching Station (MSC) des Netzwerks weitergeleitet. Diese Station ist für die Zustellung der SMS an das Empfängergerät verantwortlich. Der letzte Schritt wird von der MSC durchgeführt. Sie leitet die SMS an das Empfängerhandy weiter (Abbildung 1).

Abbildung 1 - Der Weg der SMS-Nachricht im Mobilfunknetz

SMPP submit_sm SMS-Zustellung erklärt

  • Die SMS wird vom SMPP-Client eingereicht
  • Die SMS wird vom SMPP-Server empfangen
  • Der SMPP-Server sendet einen Einreichungsbericht (submit_sm_resp)
  • Eine HLR-Abfrage wird vom SMSC durchgeführt
  • Die SMS wird an die MSC weitergeleitet
  • Die SMS wird an das Mobiltelefon gesendet
  • Das Mobiltelefon bestätigt die Nachricht
  • Die MSC sendet eine Bestätigung an das SMSC
  • Der SMPP-Server im SMSC erstellt einen Zustellungsbericht
  • Der SMPP-Server sendet den Zustellungsbericht an den SMPP-Client
  • Der SMPP-Client bestätigt den Zustellungsbericht

Wie Sie in Abbildung 1 sehen können, ist der zweite Teil des SMS-Einreichungsverfahrens die Zustellung des SMS-Zustellungsberichts. Dies geschieht durch den SMPP-Server mit dem SMPP deliver_sm-PDU. Der Zustellungsbericht wird auf die gleiche Weise an den SMPP-Client zurückgesendet wie eine Standard-SMS.

SMPP submit_sm Beispiel erklärt

Das folgende Diagramm zeigt ein Beispiel für ein SMPP submit_sm-PDU, das vom SMPP-Client von Ozeki 10 SMS Gateway gesendet wurde. In der Abbildung sehen Sie ein SMPP bind PDU namens smpp bind_transmitter. Diesem folgt das SMPP submit_sm-PDU und das SMPP deliver_sm-PDU. (Abbildung 2)

Abbildung 2 - SMPP submit_sm PDU-Beispiel

SMPP submit_sm Beispiel

2021-04-06 12:06:25.356 INFO SMPP_client_1: <- 00000098000000040000000000000002000101303030303030300001013336323035343630363930000000010000010000006548656C6C6F2C205468697320697320612074657374206D6573736167652066726F6D204F7A656B6920534D5320476174657761792E20506C65617365207669736974207777772E6F7A656B692E687520666F72206D6F726520696E666F726D6174696F6E2E
2021-04-06 12:06:25.356 INFO SMPP_client_1: -> 0000001B8000000400000000000000023339373439363831303500

SMPP deliver_sm Beispiel

2021-04-06 12:06:27.033 INFO SMPP_client_1: -> 000000AA000000050000000000000001000101303030303030300001013336323035343630363930000400000000000003007769643A33393734393638313035207375623A30303120646C7672643A303031207375626D697420646174653A3231303430363132303620646F6E6520646174653A3231303430363132303620737461743A44454C49565244206572723A30303020746578743A44656C697665727920737563636573732E
2021-04-06 12:06:27.033 INFO SMPP_client_1: <- 0000001180000005000000000000000100

SMPP submit_sm Video-Tutorial

Das folgende Video zeigt, wie Sie eine SMPP-Client-Verbindung einrichten und wie Sie SMS-Nachrichten mit dem SMPP submit_sm-PDU senden können.

Video 1 - Wie Sie eine SMPP-Client-Verbindung einrichten und SMS-Nachrichten mit dem SMPP submit_sm-PDU senden (Video-Tutorial)

SMPP submit_sm Parameter (Schnellliste)

submit_sm Parameter

  1. Befehlslänge
  2. Befehls-ID
  3. Befehlsstatus
  4. Sequenznummer
  5. Diensttyp
  6. Quelladresse
  7. Zieladresse
  8. SMS-Flags
  9. Zeitstempel
  10. Datenkodierungsschema
  11. Kurznachricht
Feldname Größe in Oktetten Typ Beschreibung
command_length 4 Integer Gesamtlänge des PDU.
command_id 4 Integer 0x00000004
command_status 4 Integer 0x00000000
sequence_number 4 Integer Eindeutige Sequenznummer. Die zugehörige submit_sm_resp PDU wird diese Sequenznummer zurückgeben.
service_type Var. max 6 C-Octet String Der service_type Parameter kann verwendet werden, um den mit der Nachricht verbundenen SMS-Anwendungsdienst anzugeben. Die Angabe des service_type ermöglicht es dem ESME, erweiterte Nachrichtendienste wie „replace by service_type“ zu nutzen oder das Teleservice auf der Luftschnittstelle zu steuern.
Auf NULL setzen für Standard-MC-Einstellungen.
source_addr_ton 1 Integer Typ der Nummer für die Quelladresse.
Wenn unbekannt, auf NULL (Unbekannt) setzen.
source_addr_npi 1 Integer Nummernplan-Indikator für die Quelladresse.
Wenn unbekannt, auf NULL (Unbekannt) setzen.
source_addr Var. max 21 C-Octet String Adresse des SME, das diese Nachricht erstellt hat.
Wenn unbekannt, auf NULL (Unbekannt) setzen.
dest_addr_ton  1  Integer  Typ der Nummer für das Ziel
dest_addr_npi1IntegerNummernplan-Indikator für das Ziel
destination_addr Var. max 21 C-Octet String Zieladresse dieser Kurznachricht. Für mobile Terminierungsnachrichten ist dies die Verzeichnisnummer des Empfänger-MS.
esm_class1IntegerGibt den Nachrichtenmodus und den Nachrichtentyp an.
protocol_id1IntegerProtokollkennung. Netzwerkspezifisches Feld.
priority_flag1IntegerLegt die Prioritätsstufe der Nachricht fest.
schedule_delivery_time 1 or 17 C-Octet String Die Kurznachricht soll vom MC für die Zustellung eingeplant werden.
Auf NULL setzen für sofortige Nachrichtenzustellung.
validity_period 1 or 17 C-Octet String Die Gültigkeitsdauer dieser Nachricht.
Auf NULL setzen, um die Standard-Gültigkeitsdauer des MC anzufordern.
Hinweis: Dies wird durch das qos_time_to_live TLV überschrieben, falls angegeben.
registered_delivery 1 Integer Kennzeichen, das angibt, ob eine MC-Zustellungsbestätigung, manuelle Bestätigung, Zustellungsbestätigung oder eine Zwischenbenachrichtigung erforderlich ist.
replace_if_present_flag 1 Integer Kennzeichen, das angibt, ob die übermittelte Nachricht eine vorhandene Nachricht ersetzen soll.
data_coding1IntegerDefiniert das Kodierungsschema der Kurznachrichten-Benutzerdaten.
sm_default_msg_id 1 Integer Gibt die Kurznachricht an, die aus einer Liste von vordefinierten ('konservierten') Kurznachrichten auf dem MC gesendet werden soll. Wenn keine MC-konservierte Nachricht verwendet wird, auf NULL setzen.
sm_length1IntegerLänge der short_message-Benutzerdaten in Oktetten.
short_message Var. 0-255 Octet String Bis zu 255 Oktetten Kurznachrichten-Benutzerdaten.
Die genaue physische Grenze für die short_message-Größe kann je nach zugrunde liegendem Netzwerk variieren.
Hinweis: Dieses Feld wird durch das message_payload TLV überschrieben, falls angegeben.
Message Submission TLVs Var. TLV

More information