Saturation de la mémoire modem 4G D-Link DWM221 avec Gammu

Bonjour,

Je rencontre un dysfonctionnement. J’utilise Gammu (python-gammu) sur une raspberry PI OS avec une cle USB Modem GSM 4G D-Link DWM221. Globalement tout fonctionnement correctement mais j’ai tout de même un dysfonctionnement.

Les alarmes proviennent de l’ensemble du matériel informartique. Il est donc possible des plusieurs SMS arrivent en même temps sur la carte SIM. Pour simuler, j’ai envoyé une dizaine de SMS depuis un numéro de téléphone portable vers la SIM. Les premiers arrivent mais ensuite ca bloque. Ils ne s’affichent plus. Par contre, je peux quand même envoyer des SMS vers le numéro de téléphone portable qui sert de test.

La mémoire du modem sature comme le montre les logs ci-dessous :

Interrogation de la mémoire de la carte SIM du modem avec « SM »
Commande envoyée par Gammu : AT+CPMS="SM","SM"

Réponse du modem : +CPMS: 50,50,50,50,50,50

  • 50 messages utilisés.
  • 50 est la capacité maximale de stockage.

Interrogation de la mémoire interne du modem avec « ME »
Commande envoyée par Gammu : AT+CPMS="ME","ME"

Réponse du modem : Identique : +CPMS: 50,50,50,50,50,50

Cela indique que la mémoire interne est également pleine.

A partir d’ici, il faut vider les mémoires donc j’utilise, pour débloquer la commande gammu deleteallsms 1.

Pour éviter celà, est-il possible de faire des modifications dans le fichier gammu ou un autre pour éviter la saturation du modem ?
.
Voici mon fichier de configuration Gammu : (Si des commandes ne servent à rien n’hésitez pas à me le dire pour que je les supprimer afin que le fichier de configuration Gammu soit plus propre).
[gammu]
device = /dev/ttyUSB-GSM
model = unknown (DWM-221)
name = Modem USB-GSM
connection = at115200
synchronizetime = yes
logfile = /var/log/raspisms/gammu_2001:7e19.log
logformat = textalldate
gammu_coding = utf8
use_locking = yes
gammuloc = locfile
debuglevel = 255
atgen_setCNMI = 2,1,0,0,0
#atgen_setCNMI = 2,2,0,1,0
#UseSM = 1
DelayAfterSend = 10
DelayAfterReceive = 5
Delay = 2
ReadMessages = 1
`
En vous remerciant par avance.

hello,

j’ai trouvé cette page (AT+CMGD – Delete a Received Message | Diafaan SMS Server)
je ne sais pas comment tu gères la réception d’un sms et sa lecture mais l’idée c’est qu’une fois le sms pris en compte, tu le « delete » !

Bonjour,
Je vous avoue que je suis un peu perdu après différents tous les tests faits.

Oui pour moi, je suis du même avis que vous. Il faut que le message soit supprimé apreès avoir été lu ou après avoir été stocké.

Je rencontre un problème de saturation de mémoire. Je n’ai pas encore fait le test si lorsque je reçois 20 messages et que j’en renvoie 20 ça sature.

Est ce que le mieux ca ne sera pas de stocker dans la mémoire de la carte SIM, qui provoque sûrement moins de risque de sature ?

Le but final de transférer des SMS reçus depuis l’ API Free provenant d’un serveur (du numéro 07123456789 de chez Free) vers le numéro 07987654321 automatiquement.

Je pense que je dois configurer de la manière suivante :
- AT+CMGF=1 pour configurer en mode texte
- AT+CMGR=1 pour lire un message
- AT+CMGD=1,4 pour supprimer un message après qu’il soit sauvegardé

j avais développer une petite appli en utilisant gammu-smsdrc avec une base de donnée
et je suppose que une fois le SMS reçu et intégré dans la base il est supprimé sur le modem puisque je n’ai pas eu de problème de saturation.
tu trouveras les infos utiles ici : MySQL Backend — Gammu 1.42.0 documentation et là
MySQL Backend — Gammu 1.42.0 documentation

J’avais cru voir ca mais j’aimerai rester avec Raspisms tout en configurant le fonctionnement souhaité.

J’ai du mal comprendre comment bien configurer le modem pour éviter la saturation a environ 50 messages.

Je voudrais avoir le fonctionnement suivant :
1 - Réception d’un SMS avec le numéro de la SIM provenant d’une serveur via l’api free
2 - Stockage du SMS dans la mémoire du modem ou de la carte sim le temps du transfert automatique du SMS vers le numéro de chez Orange
3 - Transfert automatique du SMS vers le numéro chez Orange.
4 - Suppression du SMS stocké dans la mémoire du modem ou de la carte SIM

Pour éviter une saturation si tous les messages arrivent en même temps, il faudrait une fil d’attente.

Il faudrait que je puisse recevoir 20-25 messages + 20-25 messages en l’espace de 30 secondes en cas de grosse panne.

Interrogation de la mémoire de la carte SIM du modem avec « SM »
Commande envoyée par Gammu :
AT+CPMS=« SM »,« SM »

Réponse du modem :
+CPMS: 50,50,50,50,50,50

  • 50 messages utilisés.
  • 50 est la capacité maximale de stockage.

Interrogation de la mémoire interne du modem avec « ME »
Commande envoyée par Gammu :
AT+CPMS=« ME »,« ME »

Réponse du modem :
Identique : +CPMS: 50,50,50,50,50,50
Cela indique que la mémoire interne est également pleine.

En développement mon niveau est proche de 0.