Extras
Accusés de réception
Le logiciel SMSEagle vous permet d’activer les accusés de réception pour chaque SMS envoyé. Les accusés de réception 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 accusés de réception, veuillez aller dans le web-GUI > menu Settings et définir « Delivery Reports » sur « Yes »

Une fois les accusés de réception activés dans le web-GUI, vous pouvez vérifier si le SMS a été délivré au destinataire :
Dans le web-GUI Dans le menu Folders > Sent items > ouvrez le message que vous souhaitez 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 standard 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. Consultez plus de détails dans le chapitre Callback URL de ce Manuel de l’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 » contenant les 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 à la documentation de l’API.
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. Afin de l’activer, allez dans le web-GUI > 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 :
Hôte : 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 ».
Injection d’un SMS long en utilisant SQL
L’insertion de messages multiparties est un peu plus délicate, vous devez également construire l’en-tête UDH et le stocker écrit en hexadécimal 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 du 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 : /mnt/nand-user/scripts/
db_delete – script permettant de supprimer les SMS des dossiers Inbox, SentItems plus anciens que la date fournie. Utilisation :
./db_delete YYYYMMDDhhmmdb_delete_7days – script permettant de supprimer les SMS des dossiers Inbox, Sentitems plus anciens que 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 de votre choix (ex. pico db_cleaner)
Exemple de contenu de ce fichier :
0 0 1 * * root /mnt/nand-user/scripts/db_delete_allfolders
Ceci exécutera le script de nettoyage chaque 1er jour du mois.
Agent SNMP
« Simple Network Management Protocol (SNMP) est un protocole standard Internet pour la gestion des appareils 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 afin de détecter des conditions nécessitant une attention administrative » (source : Wikipedia).
L’appareil SMSEagle dispose d’un agent Net-SNMP intégré. L’agent SNMP fournit l’accès à l’arborescence MIB Linux Host de l’appareil, et permet en outre (grâce à 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 :
Nom de la métrique |
Description |
OID |
|---|---|---|
GSM_Signal |
Renvoie la force du signal 3G/4G/5G en pourcentage. Plage de valeurs : 0-100. Si le modem est déconnecté du réseau 3G/4G/5G, 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_NetName1 |
Renvoie le nom du réseau utilisé sur la carte SIM actuelle |
.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_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 |
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 |
Retourne 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 |
Retourne 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 |
Retourne le nombre de messages SMS envoyés avec erreur au cours des dernières 24h. Une erreur se produit lorsque le modem 3G/4G/5G ne peut pas envoyer le message SMS ou que le message est rejeté par l’opérateur 3G/4G/5G |
.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 |
Temp |
Retourne la dernière valeur de la température (en °C) provenant du capteur de température interne. Nécessite que le capteur soit activé. |
.1.3.6.1.4.1.8072.1.3.2.4.1.2.4.84.101.109.112.1 |
Humidity |
Retourne la dernière valeur de l’humidité (en %) provenant du capteur interne DHT22. Nécessite que le capteur soit activé. |
.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.72.117.109.105.100.105.116.121 |
Temp[X] where X is between 1 and 4 |
Retourne la dernière valeur de la température (en °C) provenant de : Temp1 : capteur de température interne Temp2-Temp4 : capteurs de température externes 1-Wire. |
.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.84.101.109.112.49.1 (pour le 1er capteur) |
SIM_State[X] where X is the no of modem |
Retourne l’information 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 |
SIM_RegState[X] where X is the no of modem |
Retourne l’information 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 |
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 à partir de l’arborescence OID sous : NET-SNMP-EXTEND-MIB::nsExtendOutputFull. »[METRIC NAME] »
For example:
Result value for parameter 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 depuis : https://www.smseagle.eu/download/NET-SNMP-EXTEND-MIB.txt
Lecture des valeurs de résultat Afin de tester la lecture des valeurs de paramètres depuis l’agent SNMP, vous pouvez utiliser tout 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 avec 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 force du signal GSM/3G/4G/5G est de 54%
Exemple de lecture de la valeur GSM_NetName1 avec 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é sur la carte SIM est PLAY
Exemple de lecture de la valeur FolderOutbox_Total en utilisant la bibliothèque NET-SNMP (et le 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 0
Exemple de lecture du temps de fonctionnement du système depuis un hôte Linux en utilisant 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 parcours des paramètres d’extension SMSEagle dans l’arborescence MIB en utilisant 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_NetName1 » = 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 parcours des paramètres d’extension SMSEagle dans l’arborescence MIB en utilisant mib-browser

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 v3 peut renforcer la sécurité, cependant 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 /mnt/nand-user/smseagle.
Connectez-vous via SSH en utilisant le compte root
Naviguer vers : cd /mnt/nand-user/smseagle/
Script de configuration : ./snmpv3
Le script peut s’exécuter 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. Il ne s’agit que d’un bref extrait du site du manuel rsyslog. Les informations complètes sont disponibles 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 logicielles
Le logiciel SMSEagle fait l’objet d’un processus d’amélioration continue. Nous écoutons nos clients, et les nouvelles versions sont basées sur leurs retours/demandes. Les mises à jour logicielles sont publiées fréquemment et offrent un accès à de nouvelles fonctionnalités ainsi que des correctifs pour les problèmes signalés. L’interface Web-GUI vous offre la possibilité de vérifier automatiquement la disponibilité de nouvelles mises à jour logicielles. Cela peut se faire de deux manières :
Vérification manuelle
Pour vérifier manuellement la disponibilité de 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
Afin de démarrer les vérifications automatiques des mises à jour logicielles, allez dans le menu Settings > onglet Updates, et cochez l’option « Automatically check for software updates ». Ceci 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 renseigné 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 & Portail d’assistance
Vous trouverez davantage d’informations et des astuces utiles sur la configuration de l’appareil SMSEagle dans notre base de connaissances et portail d’assistance en ligne à l’adresse : https://support.smseagle.eu