Comment configurer le champ sm_default_msg_id

Le champ sm_default_msg_id fait partie des PDUs submit_sm et deliver_sm dans le protocole SMPP (Short Message Peer-to-Peer). Il est utilisé pour référencer des messages courts prédéfinis (intégrés) stockés sur le SMSC, généralement par un identifiant numérique.

Détails du champ

  • Nom du champ : sm_default_msg_id
  • Taille : 1 octet (entier non signé)
  • Plage : 0–255
  • Utilisation : Indique quel message par défaut envoyer (le cas échéant)

Description de l'utilisation

Le champ sm_default_msg_id permet à un utilisateur de demander au SMSC d'envoyer un message prédéfini depuis son stockage de messages interne. Cela peut être utile dans des environnements contraints ou pour envoyer des messages système standard sans transmettre le texte complet à chaque fois.

Comportement par défaut

  • Si sm_default_msg_id = 0, alors le contenu du message défini par l'utilisateur dans short_message est utilisé à la place.
  • Si sm_default_msg_id > 0, alors le message avec cet ID est utilisé, et le champ short_message doit généralement être vide ou ignoré par le SMSC.

Pratique courante

Dans la plupart des systèmes SMS modernes et des API, sm_default_msg_id n'est pas utilisé et est généralement défini sur 0. Le contenu réel du message est envoyé via le champ short_message.

Exemple de PDU avec valeur par défaut

0000003B  // Longueur de commande (59 octets)
00000004  // ID de commande : submit_sm
00000000  // Statut de commande
00000001  // Numéro de séquence
00        // service_type
01        // source_addr_ton
01        // source_addr_npi
31323334  // source_addr ("1234")
00
01        // dest_addr_ton
01        // dest_addr_npi
35363738  // destination_addr ("5678")
00
00        // esm_class
00        // protocol_id
00        // priority_flag
00        // schedule_delivery_time
00        // validity_period
00        // registered_delivery
00        // replace_if_present_flag
00        // data_coding
00        // sm_default_msg_id = 0 (utiliser short_message)
05        // sm_length
48656C6C6F // short_message = "Hello"

Exemple de PDU avec ID de message prédéfini

...
00        // sm_default_msg_id = 1 (utiliser le message prédéfini 1)
00        // sm_length
(vide)    // short_message est vide ou ignoré

Quand l'utiliser

Bien que rare, vous pourriez utiliser sm_default_msg_id lorsque :

  • Vous travaillez avec des implémentations SMSC héritées qui prennent en charge les messages prédéfinis
  • Vous envoyez des alertes ou modèles système répétitifs et volumineux stockés sur le SMSC
  • Votre fournisseur SMS vous conseille d'utiliser cette fonctionnalité

Considérations importantes

  • Si sm_default_msg_id > 0, certains SMSC peuvent ignorer complètement short_message.
  • Si les deux sont utilisés, le comportement dépend de l'implémentation. Testez toujours ou consultez la documentation.
  • Définir une valeur non nulle sans un ID de message prédéfini valide peut entraîner un échec de livraison ou un rejet du message.

Conclusion

Le champ sm_default_msg_id est une fonctionnalité héritée du protocole SMPP qui permet de référencer des modèles de messages par défaut stockés sur le SMSC. Bien qu'il soit largement inutilisé dans les systèmes modernes, comprendre son rôle aide à garantir la compatibilité lors du travail avec des passerelles héritées ou des implémentations SMSC personnalisées.

Références

  • Spécification du protocole SMPP 3.4
  • Documentation SMSC SMPP spécifique au fournisseur

More information