Liaison SMPP utilisant bind_transceiver
Cette page concerne la procédure de liaison SMPP. La liaison SMPP est la demande de configuration de connexion sur le lien SMPP. Ce guide explique comment un serveur SMPP en envoyant une demande de liaison SMPP. Il explique les différences entre les modes de connexion possibles (émetteur, récepteur et transceiver) et donne des insights sur la connexion de plusieurs clients utilisant le même compte utilisateur SMPP.
Qu'est-ce que la liaison SMPP
La liaison SMPP est la première PDU envoyée après l'établissement d'un lien SMPP. Les logiciels SMPP, tels que la passerelle SMS Ozeki, envoient la PDU de liaison SMPP pour se connecter à un SMSC. Une PDU de liaison SMPP contient le nom d'utilisateur et le mot de passe.
Comment une connexion SMPP est-elle créée
Lorsque vous configurez une connexion SMPP, les étapes suivantes sont effectuées :
- Le client SMPP initie la connexion
- Le lien TCP/IP est établi
- Sur les connexions SMPPS, une poignée de main SSL est effectuée
- Le client définit le numéro de séquence de la PDU bind_transceiver à 0
- Le client place le nom d'utilisateur SMPP dans la PDU bind_transceiver
- Le client place le mot de passe SMPP dans la PDU bind_transceiver
- Le client envoie la PDU bind_transceiver
- Le serveur vérifie le nom d'utilisateur (ID système SMPP) et le mot de passe
- Si l'authentification est OK, le code d'erreur 0 est défini.
- Le serveur renvoie la PDU bind_transceiver_resp.
- Le client SMPP est prêt à envoyer des SMS
Explication de la configuration de la connexion SMPP
La figure 1 explique la configuration de la connexion SMPP. Vous pouvez voir que le client SMPP initie la connexion et qu'une seule transaction est utilisée pour l'authentification. Vous pouvez également voir qu'après une connexion réussie, les messages SMS peuvent être envoyés en utilisant la PDU submit_sm. Et les rapports de livraison entrants et les messages SMS entrants peuvent être reçus en utilisant la PDU deliver_sm.
Introduction aux demandes de liaison SMPP
Les demandes de liaison SMPP sont utilisées pour configurer une connexion SMPP. Elles sont envoyées par le client SMPP au serveur SMPP lorsque le client SMPP tente de se connecter. Il existe 3 types de demandes de liaison : SMPP bind_transmitter, SMPP bind_receiver, SMPP bind_transceiver. Le SMPP bind_transmitter ne peut être utilisé que pour envoyer des SMS, le bind_receiver est uniquement pour recevoir des SMS, et le bind_transceiver peut être utilisé pour les deux. Le SMPP bind_transceiver est la méthode la plus courante. Elle est populaire car elle permet à une seule connexion d'envoyer et de recevoir des SMS simultanément.
Qu'est-ce que bind_transmitter
La PDU SMPP bind_transmitter est envoyée par les connexions client SMPP pour se connecter d'une manière dédiée à l'envoi de messages SMS. Cette connexion ne peut pas être utilisée pour recevoir des messages SMS. Cette méthode de liaison est rarement utilisée. La plupart des clients se connectent maintenant en utilisant bind_transceiver.
Qu'est-ce que bind_receiver
La PDU SMPP bind_receiver est envoyée par les connexions client SMPP pour se connecter d'une manière dédiée à la réception de messages SMS. Cette connexion ne peut pas être utilisée pour envoyer des messages SMS. Cette méthode de liaison est rarement utilisée. La plupart des clients se connectent maintenant en utilisant bind_transceiver.
Qu'est-ce que bind_transceiver
La PDU SMPP bind_transceiver est envoyée par les connexions client SMPP pour se connecter d'une manière permettant à la fois d'envoyer et de recevoir des messages SMS. La plupart des connexions client SMPP sont configurées en utilisant cette méthode de connexion.
Dois-je me lier avec transceiver, transmitter ou bind_receiver ?
Parmi les trois modes de fonctionnement SMPP. Le client SMPP (souvent appelé ESME) devrait choisir le mode bind_transceiver. Cela permet à la même connexion d'être utilisée à la fois pour envoyer et recevoir des messages SMS. Utiliser une seule connexion bind_transceiver est similaire à avoir une connexion émetteur et récepteur sur le même lien réseau et permet d'envoyer et de recevoir simultanément.
Tutoriel vidéo sur la configuration de la connexion SMPP
La vidéo suivante montre comment vous pouvez configurer une connexion client SMPP et comment vous pouvez envoyer une connexion au serveur SMPP en utilisant la PDU bind_transceiver SMPP. La vidéo montre du point de vue du client SMPP.
Comment un client SMPP se connecte-t-il au serveur SMPP ?
Lorsqu'un client SMPP se connecte à votre serveur SMPP, il établit d'abord une connexion TCP/IP. Si vous utilisez un serveur SMPP sécurisé basé sur SMPPS, après l'établissement de la connexion TCP/IP, une poignée de main SSL a lieu. L'étape suivante se produit au niveau de la couche application, qui est la couche SMPP. Dans la couche du protocole SMPP, la première PDU envoyée par le client est une PDU bind_transceiver SMPP. Cette PDU contient le nom d'utilisateur (souvent appelé ID système SMPP) et le mot de passe. Le serveur vérifie ces informations de connexion et décide si la connexion client est acceptée. Si les informations de connexion sont correctes, le serveur renvoie une réponse bind_transceiver_resp SMPP sans code d'erreur. (Figure 2)
Exemple de bind_transceiver SMPP
L'extrait de journal suivant a été pris à partir du journal de connexion du client SMPP Ozeki 10. Vous pouvez voir une configuration standard de connexion SMPP. Si vous lisez le journal, vous verrez que d'abord le lien de connexion TCP/IP est établi et qu'ensuite une PDU bind_transceiver SMPP est envoyée. Le serveur SMPP a répondu avec une réponse bind_transceiver_resp. La passerelle SMS Ozeki 10 a accepté cette réponse et a écrit "Connexion réussie." dans le journal.
2021-04-06 12:06:09.082 INFO SMPP_client_1: [TCP client] Connexion à 192.168.93.113:9550. 2021-04-06 12:06:09.082 INFO SMPP_client_1: Connecté de 192.168.93.6:33444 à 192.168.93.113:9550. 2021-04-06 12:06:09.082 INFO SMPP_client_1: <- 00000030000000090000000000000001736D703100717765313233004F5A454B493130003401012B3030303030303000 2021-04-06 12:06:09.082 INFO SMPP_client_1: -> 0000001C8000000900000000000000014F5A454B4953595354454D00 2021-04-06 12:06:09.082 INFO SMPP_client_1: Connexion réussie. 2021-04-06 12:06:09.082 INFO SMPP_client_1: Connexion en ligne.
Acceptation des clients SMPP sur le serveur SMPP
Lorsque vous opérez votre propre serveur SMPP, vous créerez des noms d'utilisateur et des mots de passe SMPP afin d'accepter les connexions client SMPP entrantes. Vos clients entreront leurs noms d'utilisateur et mots de passe ainsi que l'adresse IP et le port SMPP de votre serveur SMPP dans la configuration de leur logiciel client SMPP. Après cela, leur logiciel se connectera à votre système.
Certains serveurs SMPP n'autoriseront qu'une seule connexion avec le même nom d'utilisateur et mot de passe. Le serveur SMPP Ozeki 10 permet à vos clients de se connecter à partir de plusieurs ordinateurs simultanément. Alternativement, ils peuvent créer plusieurs liens TCP depuis le même ordinateur et se connecter avec le même nom d'utilisateur et mot de passe. Cela s'appelle une liaison SMPP multiple.
Comment utiliser la liaison SMPP pour connecter plusieurs clients SMPP
La figure 3 montre comment un seul client appelé Client "A" peut se connecter au même serveur SMPP avec un seul nom d'utilisateur et mot de passe en utilisant plusieurs demandes de liaison SMPP. Dans cette configuration, le client peut envoyer une PDU bind_transceiver sur tous ses liens.
Tutoriel vidéo sur l'acceptation de plusieurs connexions client
La vidéo suivante montre comment vous pouvez configurer la passerelle SMS Ozeki 10 avec un seul compte utilisateur SMPP pour accepter plusieurs connexions client. En bref, aucune configuration spéciale n'est nécessaire. Dès que vous attribuez le nom d'utilisateur et le mot de passe à la connexion, plusieurs clients peuvent se connecter. Dans ce cas, nous recommandons d'activer la journalisation bas niveau SMPP (comme démontré dans la vidéo) pour s'assurer de savoir où chaque message SMPP aboutira. Le journal bas niveau SMPP vous montrera quel client SMPP a envoyé une PDU SMPP particulière et vous verrez la réponse correspondante du serveur SMPP.
Débogage des demandes bind_transceiver entrantes
Si vous examinez attentivement le journal de communication SMPP, vous remarquerez que les demandes de liaison SMPP entrantes ne sont pas présentes dans le journal d'un utilisateur SMPP particulier. C'est parce que, lorsque cette PDU arrive, aucun utilisateur n'est encore attribué à la connexion. Pour voir les demandes de liaison SMPP, vous devez ouvrir le formulaire de configuration du serveur SMPP. Cela peut être fait en cliquant sur le bouton Avancé dans la barre d'outils, puis en sélectionnant la page Détails du serveur SMPP (Figure 4).
Sur la page des détails SMPP, vous verrez immédiatement les PDU de liaison SMPP entrantes. Il est à noter que les PDU de réponse ne sont pas listées ici. Pour être plus précis, elles ne sont listées ici que pour les tentatives de connexion échouées. Une fois qu'un utilisateur SMPP a été identifié avec succès avec un nom d'utilisateur et un mot de passe, les journaux des connexions client SMPP correspondantes sont écrits dans le journal de cet utilisateur. (Figure 5)
Qui est connecté à mon serveur SMPP ?
Si vous ouvrez la page des détails d'un utilisateur SMPP, vous pouvez voir les clients actuellement connectés dans la section "Clients connectés" du panneau de gauche. Ici, vous verrez les points de terminaison TCP/IP distants pour chaque client. Ces points de terminaison sont utilisés pour identifier les entrées de journal pour un client donné dans le journal de communication SMPP bas niveau, que vous pouvez trouver dans le panneau de gauche (Figure 6).
Comment les messages entrants sont-ils gérés ?
Si un client SMPP envoie un SMS en utilisant la demande submit_sm SMPP, son rapport de soumission SMPP correspondant (appelé submit_sm_resp) sera renvoyé sur la même connexion. Cela permet aux clients SMPP de traiter correctement les rapports de soumission de SMS même s'ils fonctionnent sur différents ordinateurs.
Pour les messages SMS entrants et les rapports de livraison, la passerelle SMS Ozeki 10 effectue une répartition de charge entre les clients connectés. Cela signifie qu'à mesure que de la capacité devient disponible sur une connexion client SMPP entrante, les messages SMS entrants et les rapports de livraison seront envoyés à ce client. Si aucun client n'est connecté ou si les connexions client sont occupées à envoyer ou recevoir des messages SMS, les messages SMS entrants seront stockés dans le dossier de réception.
Notez que les rapports de livraison entrants ne seront pas associés aux clients émetteurs. En effet, lorsqu'un rapport de livraison arrive, il est possible que le client émetteur ne soit pas connecté ou connecté depuis une adresse différente. Rappelez-vous que les rapports de livraison peuvent arriver beaucoup plus tard. Cela signifie qu'il est possible qu'un rapport de livraison soit renvoyé sur un lien différent de celui sur lequel le SMS a été envoyé. Cela n'arrive que si plusieurs clients sont connectés en utilisant le même nom d'utilisateur et mot de passe SMPP. Pour éviter cette situation, vous pouvez créer plusieurs comptes utilisateur SMPP pour votre client et leur dire qu'ils doivent se lier avec un lien par compte utilisateur.
More information
- Utilisateur SMPP
- Comment configurer un service SMPP
- Comment créer un serveur SMPP sécurisé avec SMPPS
- Liaison SMPP en mode transceiver
- Comment fonctionnent les PDU SMPP submit_sm et deliver_sm
- Certificat SSL sécurisé pour SMPP
- Comment suivre un SMS dans les logs SMPP
- Codes d'erreur SMPP et statuts
- Introduction au protocole SMS
- Comment configurer une limite de liaison