2. MMS Relay
Le Relais gère le routage de tous les messages (vers des
téléphones, emails, VASP).
Le Relais observe la file d?attente globale pour des messages
entrants (de VASP, de MMSC externes ou de clients). Pour chaque message qui
arrive dans la file d'attente, le relais:
i. Détermine si le message est dû à une
tentative de livraison. Une tentative est faite pour transmettre le message
dès qu'il est reçu (demandes de livraison différées
toutefois sont respectées).
ii. Lors de la première tentative de livraison, un appel
est fait au module de facturation pour effectuer une facturation ou
génération CDR. Si le module de facturation indique que
l'expéditeur ne dispose pas de suffisamment de crédit, le message
est supprimé et l'expéditeur reçoit une notification.
iii. Si le message est une tentative de livraison,
l'émetteur global détermine, pour chaque destinataire, la
façon de livrer le message:
a) Si le message est destiné à un e-mail, il est
formaté au type MIME, l?adresse de l?émetteur et du
récepteur étant normalisée par le RFC 822, ensuite le
message est transmis à l?e-mail.
b) Si le message est destiné à un VASP
(identifié par code court), alors il est envoyé en utilisant les
protocoles MM7 à la VASP.
c) Si le message est destiné à un client MMS
local, le message est transféré vers la file d'attente
mobile/locale. Une copie du message est envoyée (au format MIME)
à un hôte MMBox (s?il est configuré).
d) Si le message est destiné à une passerelle
étrangère, il est codé en MIME et transmis à
l?email par une livraison SMTP
e) Si le message ne peut pas être livré,
l'expéditeur est informé.
Pour les messages placés dans la file d?attente
mobile/locale (c'est-à-dire ceux destinés au MSISDN dans la
région desservie par ce MMSC ou aux clients IP), le relais permet les
fonctions suivantes:
i. La notification est envoyée au client destinataire via
WAP Push
ii. La livraison d?autres notifications est rapportée aux
clients via le WAP Push
Le SMS est utilisé comme moyen de transport des messages
WAP Push, si le destinataire est un MSISDN, sinon, UDP est utilisé.
82
Souleymane THIONGANE Ousseynou NDOYE
Le relais maintient une file d'attente pour les messages en
attente de livraison. À intervalles réguliers (voir la section de
configuration), il envoie des notifications au destinataire. Il garde l'envoi
de notifications jusqu?à ce que le message soit
récupéré ou que le client indique qu'il souhaite reporter
la réception du message. Un mécanisme de retour est
utilisé pour prévenir les inondations de notifications. Un
message sera retiré de la file d'attente si:
· Il arrive à expiration, due soit au terme de la
période d?expiration (fixée dans le message) ou bien l?expiration
du système est atteinte.. (L'expéditeur est informé de
l'expiration, s'il a demandé un rapport d'envoi)
· Si le destinataire récupère le message
Gestion des files d'attente
Un simple système de gestion de la file d'attente est
utilisé. Chaque file d'attente de l'entrée se compose de deux
fichiers: le fichier « q » (qui est du texte brut) contient les
toutes les entrées de contrôle de données (liste de
destinataires, durée de la prochaine tentative de livraison, etc.), le
fichier « d », qui contient les données de messages. Ce
régime est semblable à celui utilisé par les MTA
populaires. Les processeurs de la file d?attente fonctionnent principalement
sur le fichier « q », et utilise des fichiers de verrouillage pour
éviter les doublons de livraison, fichier corrompu, etc.
Voir mms_queue.h pour plus de détails.
|