Comment fonctionnent les PDU SMPP submit_sm et deliver_sm

Cette page fournit des informations sur le fonctionnement de la procédure de soumission des SMS. Vous verrez également ce qui se passe à l'intérieur du réseau mobile après avoir soumis votre message SMS au serveur SMPP en utilisant la PDU SUBMIT_SM.

Qu'est-ce que SMPP submit_sm

SMPP submit_sm est l'unité de données de protocole SMPP (PDU SMPP) utilisée pour soumettre un message SMS au serveur SMPP Ozeki.

SMPP submit_sm

La PDU SMPP submit_sm est la PDU envoyée au serveur SMPP, lorsqu'un client SMPP souhaite envoyer un message SMS en utilisant le protocole SMPP. Après réception de cette PDU par le serveur SMPP, le numéro de téléphone est recherché dans le registre de localisation des abonnés (HLR) de l'opérateur de réseau mobile. La consultation du HLR est nécessaire pour déterminer dans quel réseau le téléphone mobile se trouve actuellement. Une fois cette information disponible, le SMS est transféré à la station de commutation mobile (MSC) du réseau. Cette station est responsable de la livraison du SMS au terminal du destinataire. La dernière étape est effectuée par la MSC. Elle transmet le SMS au téléphone du destinataire (Figure 1).

Figure 1 - Le parcours du message SMS dans le réseau mobile

Explication de la livraison des SMS via SMPP submit_sm

  • Le SMS est soumis par le client SMPP
  • Le SMS est reçu par le serveur SMPP
  • Le serveur SMPP renvoie un rapport de soumission (submit_sm_resp)
  • Une consultation HLR est effectuée par le SMSC
  • Le SMS est transféré à la MSC
  • Le SMS est envoyé au téléphone mobile
  • Le téléphone mobile confirme le message
  • La MSC envoie un accusé de réception au SMSC
  • Le serveur SMPP dans le SMSC crée un rapport de livraison
  • Le serveur SMPP envoie le rapport de livraison au client SMPP
  • Le client SMPP accuse réception du rapport de livraison

Comme vous pouvez le voir sur la Figure 1, la deuxième partie de la procédure de soumission des SMS est l'acte de livraison du rapport de livraison du SMS. Cela est fait par le serveur SMPP en utilisant la PDU SMPP deliver_sm. Le rapport de livraison est renvoyé au client SMPP de la même manière qu'un SMS standard est renvoyé.

Explication d'un exemple SMPP submit_sm

Le diagramme suivant montre un exemple de PDU SMPP submit_sm envoyée par le client SMPP d'Ozeki 10 SMS Gateway. Sur la figure, vous pouvez voir une PDU SMPP bind appelée smpp bind_transmitter. Elle est suivie par la PDU SMPP submit_sm et la PDU SMPP deliver_sm. (Figure 2)

Figure 2 - Exemple de PDU SMPP submit_sm

Exemple SMPP submit_sm

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

Exemple SMPP deliver_sm

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

Tutoriel vidéo sur SMPP submit_sm

La vidéo suivante montre comment configurer une connexion client SMPP et comment envoyer des messages SMS en utilisant la PDU SMPP submit_sm.

Vidéo 1 - Comment configurer une connexion client SMPP et envoyer des messages SMS en utilisant la PDU SMPP submit_sm (Tutoriel vidéo)

Paramètres SMPP submit_sm (Liste rapide)

Paramètres submit_sm

  1. longueur de la commande
  2. identifiant de la commande
  3. statut de la commande
  4. numéro de séquence
  5. type de service
  6. adresse source
  7. adresse de destination
  8. indicateurs SMS
  9. horodatages
  10. schéma de codage des données
  11. message court

Paramètres SMPP submit_sm

Nom du champ Taille en octets Type Description
command_length 4 Entier Défini sur la longueur totale de la PDU.
command_id 4 Entier 0x00000004
command_status 4 Entier 0x00000000
sequence_number 4 Entier Défini sur un numéro de séquence unique. La PDU submit_sm_resp associée renverra ce numéro de séquence.
service_type Var. max 6 Chaîne C-Octet Le paramètre service_type peut être utilisé pour indiquer le service d'application SMS associé au message. Spécifier le service_type permet à l'ESME de bénéficier de services de messagerie améliorés tels que "remplacer par service_type" ou de contrôler le téléservice utilisé sur l'interface radio.
Défini sur NULL pour les paramètres MC par défaut
source_addr_ton 1 Entier Type de numéro pour l'adresse source.
Si inconnu, défini sur NULL (Inconnu).
source_addr_npi 1 Entier Indicateur de plan de numérotation pour l'adresse source.
Si inconnu, défini sur NULL (Inconnu).
source_addr Var. max 21 Chaîne C-Octet Adresse du SME qui a émis ce message.
Si inconnue, définie sur NULL (Inconnue).
dest_addr_ton  1  Entier  Type de numéro pour la destination
dest_addr_npi1EntierIndicateur de plan de numérotation pour la destination
destination_addr Var. max 21 Chaîne C-Octet Adresse de destination de ce message court. Pour les messages terminés sur mobile, il s'agit du numéro d'annuaire du MS destinataire
esm_class1EntierIndique le mode et le type de message
protocol_id1EntierIdentifiant de protocole. Champ spécifique au réseau.
priority_flag1EntierDésigne le niveau de priorité du message
schedule_delivery_time 1 ou 17 Chaîne C-Octet Le message court doit être planifié par le MC pour la livraison.
Défini sur NULL pour une livraison immédiate du message
validity_period 1 ou 17 Chaîne C-Octet La période de validité de ce message.
Défini sur NULL pour demander la période de validité par défaut du MC.
Remarque : ceci est remplacé par le TLV qos_time_to_live s'il est spécifié.
registered_delivery 1 Entier Indicateur pour signifier si un accusé de réception de livraison MC, un ACK manuel, un ACK de livraison ou une notification intermédiaire est requis.
replace_if_present_flag 1 Entier Indicateur indiquant si le message soumis doit remplacer un message existant.
data_coding1EntierDéfinit le schéma de codage des données utilisateur du message court.
sm_default_msg_id 1 Entier Indique le message court à envoyer à partir d'une liste de messages courts prédéfinis ('en conserve') stockés sur le MC. Si vous n'utilisez pas un message en conserve du MC, définissez sur NULL.
sm_length1EntierLongueur en octets des données utilisateur du short_message.
short_message Var. 0-255 Chaîne Octet Jusqu'à 255 octets de données utilisateur de message court.
La limite physique exacte pour la taille de short_message peut varier selon le réseau sous-jacent.
Remarque : ce champ est remplacé par le TLV message_payload s'il est spécifié.
TLV de soumission de message Var. TLV

More information