BroadNet
SS7 / MAPLivraison SMS

Flux de livraison MT-SMS sur SS7, étape par étape

Mis à jour le 3 min de lectureFondé sur des normes
Réponse directe

Livrer un SMS mobile-terminated sur SS7 prend deux étapes MAP. D'abord, le SMSC envoie SendRoutingInfoForSM au HLR du destinataire, qui renvoie l'IMSI et l'adresse du MSC/SGSN de service. Ensuite, le SMSC envoie MT-ForwardSM à ce MSC, qui page le combiné et remet le message, renvoyant le résultat au SMSC.

§01

Étape 1 — recherche de routage (SRI-SM)

Le SMSC démarre avec seulement le MSISDN du destinataire. Il envoie un MAP SendRoutingInfoForSM au HLR propriétaire de ce numéro, adressant le HLR par global title (SSN 6). Le HLR recherche l'abonné et, s'il est joignable, répond avec l'IMSI plus locationInfoWithLMSI — l'adresse du MSC (ou SGSN) qui sert actuellement l'abonné. C'est l'information de routage dont le SMSC a besoin pour livrer le message.

§02

Étape 2 — livraison (MT-ForwardSM)

Muni de l'adresse du MSC de service, le SMSC envoie un MAP MT-ForwardSM à ce MSC (SSN 8), portant la TPDU SMS-DELIVER — le contenu réel du message, l'adresse d'origine et le codage des données — à l'intérieur du paramètre MAP. Le MSC page le combiné et, au contact, remet le message court sur l'interface radio. Un ReturnResult réussi remonte via le MSC jusqu'au SMSC.

La livraison MT-SMS en deux phasestext
1  SMSC → HLR   MAP sendRoutingInfoForSM { MSISDN, SC address }
2  HLR  → SMSC MAP result { IMSI, servingMSC address }
3  SMSC → MSC  MAP mt-ForwardSM { IMSI, SMS-DELIVER TPDU }
4  MSC  → MS   paging + radio delivery of the short message
5  MSC  → SMSC MAP result (delivered)  →  SMSC generates delivery report
§03

Quand l'abonné est injoignable

Si le combiné est éteint ou hors couverture, le MSC renvoie une erreur MAP telle qu'absentSubscriber, ou le HLR signale l'abonné comme injoignable à l'étape 1. Le SMSC stocke alors le message et demande au HLR de positionner les indicateurs Message Waiting Data (MWD) — les indicateurs Mobile-station-Not-Reachable et Memory-Capacity-Exceeded — via ReportSM-DeliveryStatus. Le message reste en file au SMSC jusqu'à ce que l'abonné devienne joignable, dans la limite de sa période de validité.

Erreurs MAP MT-SMS courantes
ErreurSignification
absentSubscriber(SM)Terminal éteint / hors couverture — positionner MWD, réessayer plus tard
subscriberBusyForMT-SMSL'abonné est occupé à traiter un autre SMS MT — réessayer
sm-DeliveryFailureÉchec de la livraison (mémoire pleine, erreur de protocole de l'équipement…)
unknownSubscriberMSISDN non provisionné sur le HLR — échec définitif
callBarredLe blocage par l'opérateur/l'abonné empêche la livraison
§04

La réémission — Alert et ReadyForSM

Lorsque l'abonné réapparaît — se rallume, revient en couverture ou libère la mémoire du combiné — le MSC/SGSN de service signale ReadyForSM au HLR, qui consulte la liste MWD et envoie AlertServiceCentre à chaque SMSC en attente. Chaque SMSC répète alors la séquence SRI-SM/MT-ForwardSM pour livrer le message en file. Ce mécanisme d'alerte explique qu'un SMS envoyé à un téléphone éteint arrive dans les instants suivant son rallumage.

§05

Pourquoi ce flux compte pour la sécurité

Chaque étape expose de l'information ou de la confiance exploitable. Un SRI-SM envoyé depuis un réseau étranger peut extraire l'IMSI d'un abonné et l'adresse de son MSC de service — la matière première du traçage de localisation et des attaques ultérieures — sans qu'aucun message ne soit livré. Une adresse de MSC de service usurpée peut rediriger un MT-SMS, y compris des codes à usage unique, vers un attaquant. Les pare-feu de signalisation filtrent donc SRI-SM et MT-ForwardSM par origine, plausibilité et vélocité.

FAQ

Questions fréquemment posées

Quelles sont les deux étapes principales pour livrer un SMS sur SS7 ?

D'abord, SendRoutingInfoForSM : le SMSC demande au HLR du destinataire l'IMSI et l'adresse du MSC qui sert actuellement l'abonné. Ensuite, MT-ForwardSM : le SMSC envoie le message à ce MSC, qui page le combiné et le remet.

Que renvoie le HLR dans la réponse SRI-SM ?

Pour un abonné joignable, le HLR renvoie l'IMSI et locationInfoWithLMSI — l'adresse du MSC ou SGSN de service. Le SMSC utilise cette adresse pour cibler le MT-ForwardSM de suivi. Si l'abonné est injoignable, le HLR renvoie une erreur à la place.

Que se passe-t-il quand j'envoie un SMS à un téléphone éteint ?

La livraison échoue avec absentSubscriber et le SMSC met le message en file, demandant au HLR de positionner les indicateurs Message Waiting Data. Quand le téléphone revient en ligne, le MSC envoie ReadyForSM, le HLR émet AlertServiceCentre, et le SMSC retente la livraison.

Qu'est-ce que le Message Waiting Data (MWD) ?

Le MWD est une liste que le HLR tient des SMSC ayant des messages en attente pour un abonné injoignable, avec les indicateurs MNRF et MCEF. Il pilote les notifications AlertServiceCentre qui déclenchent la réémission dès que l'abonné redevient joignable.

Comment ce flux peut-il être détourné pour intercepter un OTP ?

Un attaquant qui usurpe un UpdateLocation, ou fournit une fausse adresse de MSC de service, peut faire router par le réseau les MT-SMS — y compris les codes à usage unique — vers un nœud qu'il contrôle. Filtrer l'origine des SRI-SM/MT-ForwardSM et appliquer des contrôles de vélocité est la défense standard.

Références

Spécifications sources

Les normes publiées sur lesquelles repose cette page. S'ouvre dans un nouvel onglet.

BNMaintenu par l'équipe d'ingénierie BroadNet·Messagerie de qualité opérateur depuis 2003
Placez-le sur le fil

Conçu avec une véritable liaison SMPP et une API REST.

Demandez un accès de test avec de véritables clés de test : envoyez d’abord à votre propre numéro vérifié, puis passez en production dans plus de 200 pays une fois que votre identité d’expéditeur et vos routes seront approuvées.