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).
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)
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.
SMPP submit_sm Parameter (Schnellliste)
submit_sm Parameter
- Befehlslänge
- Befehls-ID
- Befehlsstatus
- Sequenznummer
- Diensttyp
- Quelladresse
- Zieladresse
- SMS-Flags
- Zeitstempel
- Datenkodierungsschema
- 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_npi | 1 | Integer | Nummernplan-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_class | 1 | Integer | Gibt den Nachrichtenmodus und den Nachrichtentyp an. |
protocol_id | 1 | Integer | Protokollkennung. Netzwerkspezifisches Feld. |
priority_flag | 1 | Integer | Legt 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_coding | 1 | Integer | Definiert 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_length | 1 | Integer | Lä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
- SMPP-Benutzer
- Wie man einen SMPP-Dienst einrichtet
- Wie man einen sicheren SMPP-Server mit SMPPS erstellt
- SMPP-Bindungstransceiver
- Wie funktionieren SMPP submit_sm und deliver_sm PDUs
- Sicheres SMPP-SSL-Zertifikat
- Wie man eine SMS in den SMPP-Protokollen verfolgt
- SMPP-Fehlercodes und SMPP-Status
- Einführung in das SMS-Protokoll
- Wie man ein Bindungslimit konfiguriert