Spécifications SMPP

Le protocole Short Message Peer to Peer (SMPP) est le standard de facto pour l'envoi et la réception de SMS pour les opérateurs de télécommunications, les agrégateurs SMS et les opérateurs de réseau pour échanger des messages SMS entre des centres de services de messages courts (SMSC) et/ou des entités de messagerie courte externes (ESME). SMPP est un protocole TCP/IP de niveau 7 qui permet l'envoi rapide de messages SMS.

La connexion entre l'application et le serveur SMPP seven.io est SMPP version 3.4 - les versions 3.3 ou 5.0 ne sont pas supportées.

Spécifications SMPP Version 3.4 Issue 1.2

Si vous avez besoin d'un accès SMPP à notre passerelle, veuillez nous écrire un court message avec votre volume mensuel approximatif de SMS et votre IP ou plage d'IP à partir de laquelle vous souhaitez vous connecter à notre serveur SMPP.


Hôte et port

Chacun de nos serveurs SMPP vous permet la connexion régulière (texte brut) ou une connexion chiffrée via TLS. Si vous avez besoin d'une connexion tunnelée via VPN, veuillez nous contacter.

Nom d'hôtePortPort TLS
smpp0.seven.io27752776

PDU supportées

Les unités de données de paquets (PDU) suivantes sont supportées :

  • bind_transmitter
  • bind_receiver
  • bind_transceiver
  • unbind
  • submit_sm
  • deliver_sm
  • enquire_link

Bind et débit

Selon la configuration de votre accès SMPP, plusieurs binds sont possibles. Par défaut, nous autorisons une connexion maximale de 2 sessions et 5 SMS/s par session.

Vous avez trois options pour établir une connexion via SMPP. Pour pouvoir recevoir des rapports de statut, vous devez configurer un bind comme transceiver ou receiver.

  • transmitter - envoyer des messages courts au SMSC et recevoir des réponses du SMSC
  • receiver - recevoir des rapports de statut du SMSC et retourner les réponses correspondantes
  • transceiver - envoyer et recevoir des messages vers et depuis le SMSC via une seule session SMPP

Paramètres de Bind

Une requête PDU SMPP bind_receiver, bind_transceiver ou bind_transmitter a un ensemble fixe de champs. Certains champs sont non pertinents ou sont ignorés par notre serveur.

  • Name
    system_id
    Type
    string
    Description

    Nom d'utilisateur - vous sera fourni

  • Name
    password
    Type
    string
    Description

    Mot de passe - vous sera fourni

  • Name
    system_type
    Type
    string
    Description

    Sera ignoré

  • Name
    interface_version date
    Type
    timestamp
    Description

    3.4

  • Name
    addr_ton
    Type
    timestamp
    Description

    Sera ignoré

  • Name
    addr_npi
    Type
    timestamp
    Description

    Sera ignoré

  • Name
    address_range
    Type
    string
    Description

    Sera ignoré


Rapports de statut

Les rapports de statut SMPP sont envoyés dans le format suivant :

  • Name
    id
    Type
    string
    Description

    L'ID du message attribué par notre serveur

  • Name
    sub
    Type
    string
    Description

    Le nombre de SMS envoyés à l'origine

  • Name
    dlvrd
    Type
    string
    Description

    Le nombre de SMS livrés

  • Name
    submit date
    Type
    timestamp
    Description

    Date et heure d'envoi original du SMS

  • Name
    done date
    Type
    timestamp
    Description

    Date et heure du rapport de statut final

  • Name
    stat
    Type
    string
    Description

    Rapport de statut final du SMS. Voir le tableau ci-dessous.

  • Name
    err
    Type
    integer
    Description

    Si nécessaire, peut contenir un code d'erreur spécifique au réseau ou un code d'erreur SMSC.

  • Name
    text
    Type
    timestamp
    Description

    Les 20 premiers caractères du message court

Exemple de rapport de statut

id:c0296bc5-e4d2-4ed7-bcc9-9e9b502dd302
sub:001
dlvrd:001
submit date:221206094424
done date:22106094426
stat:DELIVRD
err:000
text:

Exemple de rapport de statut

    id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm 
    done date:YYMMDDhhmm stat:DDDDDDD err:E text:

Codes de statut

DLRDescription
DELIVRDLe message a été livré à la destination
ACCEPTDMessage accepté par le SMSC
EXPIREDPériode de validité du SMS expirée
DELETEDLe message a été supprimé
UNDELIVLe message n'a pas pu être livré
UNKNOWNStatut du SMS inconnu
REJECTDLe message a été rejeté

Codes d'erreur

DecHexCode d'erreurDescription
00x000000ESME_ROKOk - Message accepté
10x000001ESME_RINVMSGLENLongueur de message invalide
20x000002ESME_RINVCMDLENLongueur de commande invalide
30x000003ESME_RINVCMDIDID de commande invalide
40x000004ESME_RINVBNDSTSStatut de bind invalide
50x000005ESME_RALYBNDTentative de bind si déjà lié
60x000006ESME_RINVPRTFLGDrapeau de priorité invalide
70x000007ESME_RINVREGDLVFLGDrapeau de livraison enregistrée invalide
80x000008ESME_RSYSERRErreur système SMSC
100x00000aESME_RINVSRCADRAdresse source invalide
110x00000bESME_RINVDSTADRAdresse de destination invalide
120x00000cESME_RINVMSGIDID de message invalide
130x00000dESME_RBINDFAILErreur de bind générale
140x00000eESME_RINVPASWDMot de passe invalide
150x00000fESME_RINVSYSIDID système invalide
170x0000011ESME_RCANCELFAILErreur d'abandon
190x0000013ESME_RREPLACEFAILErreur de remplacement
200x0000014ESME_RMSGQFULTrop de messages dans la file d'attente
220x0000016ESME_RINVSERTYPType de services invalide
510x0000033ESME_RINVNUMDESTSNombre d'adresses de destination invalide
520x0000034ESME_RINVDLNAMENom invalide
640x0000040ESME_RINVDESTFLAGOption de drapeau de destination invalide
660x0000042ESME_RINVSUBREPInvalide pour submit avec option de remplacement
670x0000043ESME_RINVESMCLASSValeur invalide pour le champ esm_class
680x0000044ESME_RCNTSUBDLImpossible d'envoyer à une liste de distribution
690x0000045ESME_RSUBMITFAILErreur de transmission générale
720x0000048ESME_RINVSRCTONType de numéro source invalide
730x0000049ESME_RINVSRCNPIDrapeau invalide pour le plan de numérotation de la source
740x000004aESME_RINVDSTTONType de numéro invalide pour la destination
750x000004bESME_RINVDSTNPIDrapeau invalide pour le plan de numérotation de l'adresse de destination
770x000004dESME_RINVSYSTYPType esm invalide
780x000004eESME_RINVREPFLAGOption de drapeau submit avec remplacement invalide
850x0000055ESME_RINVNUMMSGSNombre de messages invalide
880x0000058ESME_RtdROTTLEDSMSC limite les messages entrants
980x0000062ESME_RINVEXPIRYDate de validité invalide
1030x0000067ESME_RQUERYFAILLa requête query_sm a échoué
1940x00000c2ESME_RINVPARLENLongueur de paramètre invalide
1950x00000c3ESME_RMISSINGOPTPARAMParamètres optionnels manquants
1960x00000c4ESME_RINVOPTPARAMVALValeur de paramètre optionnel invalide
2540x00000feESME_RDELIVERYFAILUREErreur de livraison générique
2550x00000ffESME_RUNKNOWNERRErreur inconnue

Codes d'erreur spécifiques

En plus des codes d'erreur SMPP standardisés, nous envoyons nos propres codes d'erreur spécifiques :

DecHexCode d'erreurDescription
10350x0000040bESME_RINVBALANCECrédit insuffisant pour envoyer le SMS