Demande #6484
ferméLa messagerie Asterisk était pleine
0%
Description
Je me suis rendu compte qu'il n'était plus possible de laisser un message sur la messagerie Asterisk. On avait un message « messagerie pleine ».
Sur le serveur avec rasterisk j'ai vu le message " leave_voicemail: No more messages possible".
Les messages sont stockés dans /var/spool/asterisk/voicemail/default/80/INBOX et il y avait 100 messages, le dernier datant d'avril 2023.
C'est sans doute du au fait que pour faire ouvrir la porte d'entrée du bureau les personnes sonnent à April à la porte et ça génère un appel sur le téléphone. On appuie directement sur * pour ouvrir la porte. Mais visiblement ça laisse des messages.
J'ai viré tous les fichiers dans /var/spool/asterisk/voicemail/default/80/INBOX mais ça va se reproduire.
Mis à jour par Frédéric Couchet il y a 4 mois
- Assigné à mis à Frédéric Couchet
- Version cible changé de Backlog à Été 2024
Mis à jour par Frédéric Couchet il y a 4 mois
J'ai essayé de voir comment empêcher le numéro appelant de la porte d'entrée de laisser un message. Sans succès.
Donc, temporairement :), création du fichier /etc/cron.d/asterisk avec
0 1 * * * root find /var/spool/asterisk/voicemail/default/80/INBOX -type f -name "msg*" -mtime +21 -exec -f rm {} \;
Suppression des messages plus anciens que 21 jours, chaque jour à 1h.
Mis à jour par Frédéric Couchet il y a 4 mois
Benjamin Renard a fait une réécriture des règles dans /etc/asterisk/extensions.conf pour empêcher le numéro appelant de la porte d'entrée de laisser un message :
exten = 80,1,GotoIf(${DB_EXISTS(blacklist/${CDR(src)})}?blacklisted,s,1) ; No welcome message for call from intercom (07000005681110) exten = 80,n,GotoIf($["${CALLERID(num)}" != "07000005681110"]?welcome:dial) exten = 80,n(welcome),Answer exten = 80,n,Read(myvar,custom/20230420-message-repondeur-April,1,,,1) exten = 80,n,Read(myvar,custom/accueil-free-software-song,1,,,1) exten = 80,n(dial),Wait(1) exten = 80,n,AGI(dtc.agi) exten = 80,n,Dial(SIP/isabellavanni,25,tT) ; Redirect to voicemail if the call was not answered (except for call from intercom) exten = 80,n,GotoIf($[$["${DIALSTATUS}" != "ANSWER"] & $["${CALLERID(num)}" != "07000005681110"]]?voicemail) exten = 80,n,Hangup() exten = 80,n(voicemail),Voicemail(80) exten = 80,n,Hangup()
Ses commentaires :
- le Answer doit être fait avant la lecture des messages
- les étiquettes (anciennement dial1 & dial2) doivent être mise qu'une seule fois sur la ligne de destination du Goto
- l'envoi sur la voicemail ne doit être fait que si l'appel n'as pas été pris, donc on ajoute un contrôle sur DIALSTATUS != ANSWER
- pas de voicemail pour les appels de l'interphone, donc exclusion du callerid(num) 07000005681110 lors du renvoi vers la voicemail
J'ai testé appel depuis un téléphone extérieur, et appel depuis la porte. Cela fonctionne.