Projet

Général

Profil

Actions

Demande #6484

fermé

La messagerie Asterisk était pleine

Ajouté par Frédéric Couchet il y a 4 mois. Mis à jour il y a 3 mois.

Statut:
Fermé
Priorité:
Normale
Assigné à:
Catégorie:
-
Version cible:
Début:
23/07/2024
Echéance:
% réalisé:

0%

Temps estimé:
Difficulté:
2 Facile

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.

Mis à jour par Frédéric Couchet il y a 4 mois

  • Statut changé de Nouveau à Résolu

Mis à jour par Quentin Gibeaux il y a 3 mois

  • Statut changé de Résolu à Fermé
Actions

Formats disponibles : Atom PDF