Extras
Rapports de livraison
Le logiciel SMSEagle vous permet d’activer les rapports de livraison pour chaque SMS envoyé. Les rapports de livraison sont une fonctionnalité qui permet de recevoir une confirmation que le SMS a bien été reçu sur le téléphone du destinataire.
Afin d’activer les rapports de livraison, veuillez aller dans le web-GUI > menu Settings et régler « Delivery Reports » sur « Yes »

Une fois les rapports de livraison activés dans le web-GUI, vous pouvez vérifier si un SMS a été livré au destinataire :
Dans le web-GUI Dans le menu Folders > Sent items > ouvrez le message que vous voulez vérifier. Appuyez sur « Show Details » dans le coin supérieur droit du message. Le champ « Modem Status » contient les informations sur le statut de livraison

En utilisant les Webhooks La fonctionnalité CallbackURL permet de définir un webhook pour le changement de statut de livraison. Les webhooks sont des points de terminaison HTTP standards implémentés dans votre application externe qui accepteront les requêtes HTTP provenant de l’appareil SMSEagle. Les webhooks vous évitent d’avoir à envoyer continuellement des requêtes à l’appareil SMSEagle pour demander le statut du message. Voir plus de détails dans le chapitre Callback URL de ce manuel utilisateur.
En utilisant l’API
Utilisez la méthode « read_sms » pour récupérer les données d’un SMS sélectionné dans le dossier sentitems. Les données contiendront les colonnes « Status » et « DeliveryDateTime » qui contiennent des informations sur le statut de livraison du message. Pour plus d’informations sur les valeurs possibles de la colonne « Status », veuillez vous référer au tableau « Field Description Of Response Data – Sentitems Folder » dans la Référence APIv1.
Connexion directe à la base de données SMSEagle
La base de données de SMSEagle fonctionne sur le moteur de base de données PostgreSQL. Vous pouvez utiliser un accès direct à la base de données pour lire/écrire des messages SMS directement depuis/vers la base de données via des requêtes SQL.
L’accès à la base de données pour les applications externes est désactivé par défaut. Pour l’activer, allez dans le webGUI > menu Settings et activez le paramètre suivant :

Une fois l’accès à la base de données activé, il est possible de se connecter à la base de données depuis une application externe en utilisant les identifiants suivants :
Host : adresse IP de votre appareil
Nom de la base de données :
smseagleUtilisateur :
smseagleuserMot de passe :
postgreeagle
Injection d’un SMS court en utilisant SQL
L’exemple le plus simple est un message texte court (limité à 160 caractères) :
INSERT INTO outbox (
DestinationNumber,
TextDecoded,
CreatorID,
Coding,
Class,
SenderID
) VALUES (
'1234567',
'This is a SQL test message',
'Program',
'Default_No_Compression',
-1,
'smseagle1'
);
INSERT INTO user_outbox (
id_outbox,
id_user
) SELECT CURRVAL(pg_get_serial_sequence('outbox','ID')), 1;
Dans l’exemple ci-dessus, le message appartiendra à l’utilisateur avec id_user 1 (par défaut “admin”). Vous pouvez trouver les valeurs id_user pour les autres utilisateurs dans la table public. »user ». Le champ SenderID contient le numéro d’identification du modem SMSEagle. Pour le modem 1, SenderID = smseagle1, SenderID = smseagle2 pour le modem 2, etc.
Injection d’un long SMS en utilisant SQL
L’insertion de messages multipartites est un peu plus délicate, vous devez également construire un en-tête UDH et le stocker écrit hexadécimalement dans le champ UDH. À moins d’avoir une bonne raison de le faire manuellement, utilisez l’API.
Pour un message texte long, l’UDH commence par 050003 suivi d’un octet servant de référence de message (vous pouvez y mettre n’importe quelle valeur hexadécimale, mais elle doit être différente pour chaque message, D3 dans l’exemple suivant), un octet pour le nombre de messages (02 dans l’exemple, il doit être unique pour chaque message que vous envoyez au même numéro de téléphone) et un octet pour le numéro du message actuel (01 pour le premier message, 02 pour le second, etc.).
Par exemple, un message texte long en deux parties pourrait ressembler à ceci :
INSERT INTO outbox (
"DestinationNumber",
"CreatorID",
"MultiPart",
"UDH",
"TextDecoded",
"Coding",
"Class",
"SenderID"
) VALUES (
'1234567',
'Program',
'true',
'050003D30201',
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, qui',
'Default_No_Compression',
-1,
'smseagle1'
)
INSERT INTO outbox_multipart (
"ID",
"SequencePosition",
"UDH",
"TextDecoded",
"Coding",
"Class"
) SELECT
CURRVAL(pg_get_serial_sequence('outbox','ID')),
2,
'050003D30202',
's nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
'Default_No_Compression',
-1;
INSERT INTO user_outbox (
id_outbox,
id_user
) SELECT
CURRVAL(pg_get_serial_sequence('outbox','ID')),
1;
Remarque : Ajouter un UDH signifie que vous avez moins d’espace pour le texte, dans l’exemple ci-dessus vous ne pouvez utiliser que 153 caractères dans un seul message.
Scripts de nettoyage de la base de données
Nous avons ajouté quelques scripts utiles qui peuvent être utilisés pour supprimer des messages SMS de la base de données via la CLI Linux. Les scripts se trouvent dans le répertoire suivant : /opt/scripts/
db_delete – script permettant de supprimer les SMS des dossiers Inbox, SentItems antérieurs à la date fournie. Utilisation :
./db_delete YYYYMMDDhhmmdb_delete_7days – script permettant de supprimer les SMS des dossiers Inbox, Sentitems antérieurs à 7 jours. Utilisation :
./db_delete_7daysdb_delete_allfolders – script permettant de nettoyer les dossiers de la base de données PostgreSQL (Inbox, SentItems, Outbox). Spécialement conçu pour être exécuté périodiquement via cron. Utilisation :
./db_delete_allfoldersdb_delete_select - script permettant de supprimer les SMS d’un dossier de base de données choisi (Inbox, Outbox, SentItems, Trash). Utilisation :
./db_delete_select {inbox|outbox|sentitems|trash}
Ajout du script au démon système cron
Créez un fichier dans le répertoire /etc/cron.d/ avec le nom souhaité (par exemple pico db_cleaner)
Exemple de contenu de ce fichier :
0 0 1 * * root /opt/scripts/db_delete_allfoldersCeci exécutera le script de nettoyage chaque 1er jour du mois.
Agent SNMP
« Simple Network Management Protocol (SNMP) est un protocole standard Internet permettant de gérer les périphériques sur les réseaux IP. Il est principalement utilisé dans les systèmes de gestion de réseau pour surveiller les appareils connectés au réseau et détecter les conditions nécessitant une intervention administrative » (source : Wikipédia).
L’appareil SMSEagle dispose d’un agent Net-SNMP intégré. L’agent SNMP donne accès à l’arborescence MIB Linux Host de l’appareil et permet également, via l’extension NET-SNMP-EXTEND-MIB, d’accéder à des métriques personnalisées spécifiques à SMSEagle.
Les métriques SNMP disponibles décrivant l’état d’un appareil SMSEagle sont les suivantes :
Nom de la métrique |
Description |
OID |
|---|---|---|
GSM_Signal1 |
Renvoie la force du signal 3G/4G en pourcentage pour le modem 1. Plage de valeurs : 0-100. Si le modem est déconnecté du réseau cellulaire, GSM_Signal renvoie 0. |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.49 |
GSM_Signal[X] |
Renvoie la force du signal 3G/4G en pourcentage pour le modem X. Plage de valeurs : 0-100. Si le modem est déconnecté du réseau cellulaire, GSM_Signal renvoie 0. |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.[48+X] |
GSM_NetName1 |
Renvoie le nom du réseau cellulaire sur le modem 1 |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.49 |
GSM_NetName[X] |
Renvoie le nom du réseau cellulaire utilisé sur le modem X |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.[48+X] |
GSM_ModemState[X] où X est le numéro du modem |
Renvoie l’information sur l’état du modem activé/désactivé |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.77.111.100.101.109.83.116.97.116.101.49 (pour le 1er modem) |
FolderOutbox_Total |
Renvoie le nombre de messages SMS dans le dossier Outbox (longueur de la file d’attente sortante) |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.18.70.111.108.100.101.114.79.117.116.98.111.120.95.84.111.116.97.108 |
FolderInbox_Total |
Renvoie le nombre de messages SMS dans le dossier Inbox |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.17.70.111.108.100.101.114.73.110.98.111.120.95.84.111.116.97.108 |
FolderSent_Last24H |
Renvoie le nombre de messages SMS envoyés depuis l’appareil au cours des dernières 24 heures |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.18.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.50.52.72 |
FolderSent_Last1M |
Renvoie le nombre de messages SMS envoyés depuis l’appareil au cours du dernier mois |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.17.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.49.77 |
FolderSent_Last24HSendErr |
Renvoie le nombre de messages SMS envoyés avec erreur au cours des dernières 24h. Une erreur se produit lorsque le modem 3G ne peut pas envoyer le message SMS ou que le message est rejeté par l’opérateur 3G/4G (cela se produit le plus souvent lorsque le crédit d’une carte SIM prépayée est épuisé) |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.25.70.111.108.100.101.114.83.101.110.116.95.76.97.115.116.50.52.72.83.101.110.100.69.114.114 |
SIM_State[X] où X est le numéro du modem |
Renvoie les informations sur l’état physique de la carte SIM |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.83.73.77.95.83.116.97.116.101.49 (pour le 1er modem) |
SIM_RegState[X] où X est le numéro du modem |
Renvoie les informations sur l’état d’enregistrement de la carte SIM dans le réseau mobile. |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.13.83.73.77.95.82.101.103.83.116.97.116.101.49 (pour le 1er modem) |
Valeurs de résultat
Utilisation de l’OID
Les valeurs de résultat pour chaque métrique personnalisée sont disponibles et peuvent être récupérées à partir de l’OID indiqué dans le tableau ci-dessus.
Utilisation du nom textuel
Alternativement, les valeurs de résultat pour chaque métrique personnalisée peuvent être récupérées en utilisant les noms textuels depuis l’arborescence OID sous : NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »[METRIC NAME] »
Par exemple : Valeur de résultat pour le paramètre GSM_Signal1 : NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »GSM_Signal1 »
Si l’outil SNMP que vous avez choisi ne peut pas accéder aux objets NET-SNMP-EXTEND-MIB, vous pouvez télécharger les définitions MIB à partir de : https://www.smseagle.eu/download/NET-SNMP-EXTEND-MIB.txt
Lecture des valeurs de résultat Afin de tester la lecture des valeurs des paramètres depuis l’agent SNMP, vous pouvez utiliser n’importe quel outil disponible pour le protocole SNMP (par exemple : la bibliothèque NET-SNMP pour Linux ou iReasoning MiB-Browser pour Windows).
Exemple de lecture de la valeur GSM_Signal1 à l’aide de la bibliothèque NET-SNMP
a) Commande pour lire la valeur du résultat :
snmpget -v 2c -c public localhost .1.3.6.1.4.1.8072.1.3.2.3.1.2.11.71.83.77.95.83.105.103.110.97.108.49
Résultat :
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »GSM_Signal1 » = STRING: 54
Commentaire : la valeur de la puissance du signal 3G/4G est de 54%
Exemple de lecture de la valeur GSM_NetName1 à l’aide de la bibliothèque NET-SNMP
a) Commande pour lire la valeur du résultat :
snmpget -v 2c -c public localhost .1.3.6.1.4.1.8072.1.3.2.3.1.2.12.71.83.77.95.78.101.116.78.97.109.101.49
Résultat :
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »GSM_NetName1 » = STRING: PLAY
Commentaire : le réseau actuellement utilisé pour la carte SIM #1 est PLAY
Exemple de lecture de la valeur FolderOutbox_Total à l’aide de la bibliothèque NET-SNMP (et du nom textuel de la métrique)
a) Commande pour lire la valeur du résultat :
snmpget -v 2c -c public ip-of-smseagle “NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »FolderOutbox_Total »”
Résultat :
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »FolderOutbox_Total » = STRING: 0
Commentaire : le nombre de messages SMS en attente dans la file d’attente de la boîte d’envoi est de 0
Exemple de lecture du temps de fonctionnement du système depuis un hôte Linux à l’aide de la bibliothèque NET-SNMP
a) Commande pour lire la valeur du résultat :
snmpget -v 2c -c public ip-of-smseagle system.sysUpTime.0
Résultat :
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (216622) 0:36:06.22
Commentaire : le système Linux fonctionne depuis 36 heures et 6,22 minutes
Exemple de navigation dans l’arborescence MIB des paramètres d’extension SMSEagle à l’aide de la bibliothèque NET-SNMP
a) Commande pour lire la valeur du résultat :
snmpwalk -v 2c -c public ip-of-smseagle .1.3.6.1.4.1.8072.1.3.2.3.1.2
Résultat :
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »GSM_Signal1 » = STRING: 54
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »GSM_Signal2 » = STRING: 54
…
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »GSM_NetName1 » = STRING: PLAY
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »GSM_NetName2 » = STRING: PLAY
…
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »FolderInbox_Total » = STRING: 15
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »FolderSent_Last1M » = STRING: 19
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »FolderOutbox_Total » = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »FolderSent_Last24H » = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutputFull. » FolderSent_Last24HSendErr » = STRING: 0
Exemple de navigation dans l’arborescence MIB des paramètres d’extension SMSEagle à l’aide d’un navigateur MIB

Configuration du contrôle d’accès SNMP v3
Par défaut, les appareils SMSEagle utilisent le contrôle d’accès SNMP v2. L’utilisation de la version v3 peut renforcer la sécurité, mais elle n’est pas obligatoire. Pour passer facilement au contrôle d’accès SNMP v3, nous avons préparé un script shell spécial situé dans le répertoire /opt/smseagle.
Connectez-vous via SSH en utilisant le compte root
Naviguer vers : cd /opt/smseagle/
Script de configuration : ./snmpv3
Le script peut être exécuté avec les paramètres suivants :
add
del
enablev2
disablev2
Pour ajouter un USER v3, veuillez exécuter :
./snmpv3 add USERNAME PASSWORD ENCRYPTIONPASSWORD
Pour supprimer un USER, veuillez exécuter :
./snmpv3 del
Pour désactiver la politique d’accès v2, exécutez :
./snmpv3 disablev2
Pour activer la politique d’accès v2, exécutez :
./snmpv3 enablev2
Transfert des journaux vers un serveur externe
Nos appareils utilisent rsyslog pour la gestion des journaux. Nous décrivons ici comment configurer des règles supplémentaires pour le démon rsyslog : rsyslogd. Ceci n’est qu’un bref extrait du site du manuel rsyslog. L’information complète est disponible sur : https://www.rsyslog.com/
La configuration de rsyslogd est gérée à l’aide d’un fichier de configuration situé à /etc/rsyslog.conf
En bas du fichier de configuration, ajoutez :
*.* action(type= »omfwd » target= »SERVER_IP » port= »PORT » protocol= »PROTOCOL »
action.resumeRetryCount= »10 »
queue.type= »linkedList » queue.size= »10000 »)
où : SERVER_IP – adresse IP (ou FQDN) du serveur récepteur PORT – port sur le serveur récepteur PROTOCOL une des valeurs : tcp, udp
Exemple :
*.* action(type= »omfwd » target= »192.168.0.250 » port= »10514 » protocol= »tcp »
action.resumeRetryCount= »10 »
queue.type= »linkedList » queue.size= »10000 »)
Chiffrement SSL de votre trafic de journaux : veuillez consulter cet article : https://www.rsyslog.com/doc/v8-stable/tutorials/tls_cert_summary.html
Vérification automatique des mises à jour du logiciel
Le logiciel SMSEagle est en constante amélioration. Nous sommes à l’écoute de nos clients, et les nouvelles versions sont basées sur les retours/demandes de nos clients. Les mises à jour logicielles sont publiées fréquemment et offrent l’accès à de nouvelles fonctionnalités ainsi que des corrections aux problèmes signalés. L’interface Web-GUI vous offre la possibilité de vérifier automatiquement les nouvelles mises à jour logicielles. Cela peut se faire de deux manières :
Vérification manuelle
Afin de vérifier manuellement la disponibilité des mises à jour logicielles, allez dans le menu Settings > onglet Maintenance. Cliquez sur le bouton « Check manually now ». En haut apparaît une bulle rouge indiquant si le système est à jour.
Vérification automatique
Pour activer les vérifications automatiques des mises à jour logicielles, accédez au menu Settings > onglet Updates, et cochez l’option « Automatically check for software updates ». Cela activera des vérifications périodiques (une fois par mois) des mises à jour logicielles disponibles. Si une nouvelle mise à jour est disponible, un message « Update Available » apparaîtra dans le menu Settings> Sysinfo – à côté du numéro de version logicielle actuel.
Si vous sélectionnez « Notify Admin about new software version by SMS », l’appareil enverra en plus un SMS au compte administrateur par défaut (si le numéro de téléphone est saisi dans le compte) avec une notification concernant la nouvelle mise à jour logicielle.

Capture d’écran de « General settings-Updates »
Remarque : Votre appareil SMSEagle doit disposer d’une connectivité HTTPS avec l’adresse www.smseagle.eu pour que cette fonctionnalité fonctionne.
Base de connaissances et portail d’assistance
Vous trouverez plus d’informations et des astuces utiles sur la configuration de l’appareil SMSEagle dans notre base de connaissances en ligne et notre portail d’assistance à l’adresse : https://support.smseagle.eu