Comment configurer le champ Priorité SMPP

Qu'est-ce que le champ Priorité ?

Le drapeau de Priorité dans SMPP (Short Message Peer-to-Peer Protocol) est un champ de 1 octet dans les PDU SMPP comme submit_sm et deliver_sm. Il indique l'urgence d'un message, influençant la manière dont les SMSC (Short Message Service Centers) gèrent la mise en file d'attente, les nouvelles tentatives de livraison et le routage. Les principaux cas d'utilisation incluent :

  • Prioriser les alertes d'urgence par rapport aux SMS promotionnels
  • Optimiser l'allocation des ressources réseau
  • Répondre aux exigences SLA pour les messages haute priorité

Valeurs et interprétation du champ Priorité

Défini dans SMPP v3.4, le drapeau de priorité utilise une valeur de 4 bits (bien que seules les valeurs 0-3 soient généralement utilisées) :

Priorité (Hex) Décimal Description
0x00 0 Priorité la plus basse (messages en masse)
0x01 1 Priorité normale (SMS standard)
0x02 2 Priorité interactive (sensibilité au temps)
0x03 3 Priorité la plus haute (alertes d'urgence)
Note : Les valeurs 0x04-0x0F sont réservées. La plupart des SMSC ignorent ces bits.

Comment la priorité affecte le traitement des messages

1. Comportement de mise en file d'attente

Les messages haute priorité passent devant dans les files d'attente des SMSC. Exemple :

Priorité 3 : Livré avant les messages de Priorité 0
    

2. Nouvelles tentatives de livraison

Les priorités plus élevées peuvent obtenir plus de tentatives de nouvelle livraison. Exemple de politique SMSC :

Priorité 3 : 5 tentatives sur 24 heures
Priorité 0 : 2 tentatives sur 2 heures
    

3. Routage réseau

Certains SMSC routent les messages haute priorité via des canaux dédiés.

Exemples de PDU SMPP

Exemple 1 : SMS en masse (Priorité=0x00)

0000001D  // Longueur de commande (29 octets)
00000004  // ID de commande (SubmitSM)
00000001  // Numéro de séquence
00        // TON source
00        // NPI source
736F7572636500  // Adresse source ("source")
00        // TON destination
00        // NPI destination
36353433323100  // Adresse de destination ("654321")
00        // Classe ESM
00        // ID de protocole (PID)
00        // Drapeau de priorité (0x00 : Plus basse)
00        // Heure de livraison planifiée
00        // Période de validité
00        // Livraison enregistrée
00        // Remplacer-si-présent
00        // Codage des données (DCS=0x00)
00        // ID de message par défaut SM
07        // Longueur SM (7 septets)
C8329BFD06DDDF72  // Charge utile ("Hello!")
    

Exemple 2 : Alerte d'urgence (Priorité=0x03)

0000001D  // Longueur de commande (29 octets)
00000004  // ID de commande (SubmitSM)
00000002  // Numéro de séquence
00        // TON source
00        // NPI source
736F7572636500  // Adresse source ("source")
00        // TON destination
00        // NPI destination
36353433323100  // Adresse de destination ("654321")
00        // Classe ESM
00        // ID de protocole (PID)
03        // Drapeau de priorité (0x03 : Plus haute)
00        // Heure de livraison planifiée
FF        // Période de validité (max)
01        // Livraison enregistrée (reçu)
00        // Remplacer-si-présent
00        // Codage des données (DCS=0x00)
00        // ID de message par défaut SM
0A        // Longueur SM (10 septets)
E8329BFD0E...  // Charge utile ("ALERTE : Inondation !")
    

Interactions avec d'autres champs

  • Bits de priorité de la classe ESM : Les bits 3-2 de la classe ESM peuvent remplacer ce champ sur certains SMSC.
  • validity_period : Les messages haute priorité ont souvent une validité plus courte (par exemple, 1 heure contre 3 jours).
  • registered_delivery : Les messages de Priorité 3 nécessitent fréquemment des reçus de livraison.

Pièges courants

  • Supposer que tous les SMSC respectent les niveaux de priorité (vérifier avec le fournisseur)
  • Confondre la Priorité SMPP avec TP-Status-Report-Indication GSM
  • Définir Priorité=3 pour du contenu non urgent (peut violer les réglementations)
  • Incompatibilité entre Priorité et validity_period (par exemple, Priorité=3 avec validity=7 jours)
Note réglementaire :
Certains pays restreignent l'utilisation de Priorité=3 aux entités autorisées (par exemple, alertes gouvernementales).

Priorité vs Bits de priorité de la classe ESM

Champ Bits Niveaux de priorité Utilisation typique
Drapeau de Priorité SMPP Octet entier 0-3 Priorité de bout en bout
Classe ESM (bits 3-2) 2 bits 00=Normal, 01=Interactif, 10=Urgent, 11=Urgence Priorisation au niveau réseau

Conclusion

Le champ Priorité est crucial pour gérer l'urgence de la livraison des SMS, mais nécessite une coordination minutieuse avec les capacités des SMSC et les réglementations. Testez toujours le comportement de priorité avec votre fournisseur et alignez les paramètres avec les directives locales des télécoms. Pour des implémentations détaillées, reportez-vous à la section 5.2.12 de SMPP v3.4 et à la documentation GSM 03.40.

More information