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 dansshort_messageest utilisé à la place. - Si
sm_default_msg_id > 0, alors le message avec cet ID est utilisé, et le champshort_messagedoit 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ètementshort_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