Asterisk : IPBX et VoIP

Dans l’image E, il y a un nouveau composant 🙂 un IPBX.

Qu’est-ce que c’est ? Un PABX (acronyme de Private Automatic Branch EXchange) correspond à un commutateur téléphonique privé utilisé dans les entreprises, un standard téléphonique automatisé. Par extension, un IPBX est un standard téléphonique sur IP qui utilise la VoIP (Voix sur IP).

Pour quoi faire ? Mon objectif principal est de stopper les appels des télévendeurs et aussi, bien entendu, d’enrichir l’image de référence 😉 .

Comment ça marche ? J’ai installé un logiciel qui permet la gestion de la téléphonie sur IP : Asterisk sur un raspberry (où il y a déjà Domoticz et un blog WordPress) + un petit boitier SPA3102 entre ma box internet et mon téléphone fixe (40€ chez Ali). Le SPA3102 intercepte les appels entrants et sortants et les envoie vers Asterisk qui décide comment traiter ces appels. J’ai aussi utilisé un logiciel de gestion des listes blanches/noires proposé par un geek blogueur, le lien vers son blog est un peu plus loin dans cet article.

Je fais quoi avec tout ça ? Après une phase de mise au point assez longue car le paramétrage n’est pas des plus intuitifs, je suis en phase d’expérimentation (i.e. tous les appels de ma ligne fixe passent actuellement par Asterisk) et je corrige et j’adapte petit à petit.

Fonctionnement actuel :

  • Pour les correspondants qui sont dans ma liste blanche, mon téléphone sonne comme habituellement.
  • Pour les correspondants qui sont dans ma liste noire, il y a un décroché de la ligne plus 7 secondes de silence et un raccroché. Bien entendu, tout cela est transparent pour moi, le téléphone ne sonne pas, c’est Asterisk qui gère l’appel.  
  • Pour les numéros inconnus et les numéros masqués, après avoir décroché, Asterisk leur propose directement de laisser un message vocal.
  • Après chaque message vocal déposé, Asterisk m’envoie un mail avec le numéro de l’appelant (s’il n’est pas masqué), l’heure de l’appel et le message vocal en pièce jointe.
  • La messagerie vocale d’Asterisk est consultable depuis mon téléphone fixe via le 777 ou depuis un mobile en appelant le 777 avec une application softphone installée sur l’appareil. 
  • Limitation des appels sortants aux 01/02/03/04/05/06/07 ce qui permet d’éviter l’appel vers les numéros surtaxés en 08 et montre aussi le contrôle sur les appels sortants.
  • Il y a un fichier log avec les traces de tous les appels qui permet l’alimentation manuelle des listes. Pendant ma phase de mise au point, j’ai installé une surveillance du fichier Log, à chaque modification du fichier, je reçois un mail pour me prévenir avec le fichier Log en pièce jointe. Je mentionne ce point car le mécanisme peut être utile pour d’autres cas (envoi de capture vidéo en cas de détection de mouvement, …).
  • Accessoirement, comme c’est un IPBX, je peux téléphoner depuis un PC ou un Raspberry en VoIP vers un téléphone mobile ou une tablette avec un logiciel de téléphonie sur IP (j’utilise Linphone car il est disponible sur iOS, Android, Linux et Windows). Pour cela, il faut que les appareils soient connectés sur le réseau IP de la maison. Il est aussi possible de faire des appels vers l’extérieur en VoIP mais je n’ai pas encore creusé cet aspect.

Autre utilisation possible pour ceux qui appellent souvent des pays lointains, pour 1€19 par mois !

Inclus vers 99 numéros différents par ligne et par mois, au-delà les appels sont facturés à la seconde. Dans la limite de 60 minutes de communication par appel, au-delà le temps de communication supplémentaire est facturé à la seconde. Appels inclus vers : Allemagne, Argentine, Australie, Autriche, Belgique, Brésil, Canada, Chili, Chine, Chypre, Colombie, Danemark, Espagne, France métropolitaine, Royaume Uni, Grèce, Hong-Kong, Hongrie, Irlande, Israël, Italie, Kazakhstan, Luxembourg, Malaisie, Mexique, Norvège, Nouvelle Zélande, Panama, Pays Bas, Pologne, Portugal, Pérou, Russie, Singapour, Slovaquie, Suisse, Suède, Taïwan, Thaïlande, USA, Vénézuela.

Quelques infos à conserver:

Fabrication de ses propres messages vocaux :

  1. Création en TTS (Texte To Speech) avec le site Notesvibes et download d’un fichier .mp3 ou bien avec un autre site (ou un outil) de TTS
  2. Retouche avec Audacity (vitesse) et sauvegarde en .wav 8Khz
  3. Conversion en .wav utilisable par Asterisk avec le site Digium.com puis download
  4. Transfert vers la machine qui héberge Asterisk dans /usr/share/asterisk/sounds/fr avec Filezilla, puis renommer en enlevant « -8Khz »
  5. Utiliser dans extensions.conf

Commandes :

  • sudo asterisk -rvv dans /etc/asterisk pour suivre l’activité et trouver les anomalies (le nombre de v détermine le niveau des traces)
  • core reload pour recharger asterisk
  • voicemail reload pour ne recharger que la partie boites vocales
  • core show help pour connaitre les commandes possibles
  • sip show peers
  • sip show users
  • dialplan show pour voir le plan de routage des appels
  • voicemail show users
  • et bien entendu sudo service asterisk start ou stop ou status

Contrôle des numéros appelants avec plusieurs listes, tous les fichiers doivent être placés dans /etc et triés dans l’ordre croissant des numéros. Le format des numéros est +33612345678 , il est possible de rajouter un commentaire après le numéro (le propriétaire par exemple). 

Site du créateur du mécanisme de contrôle des numéros

  1. Liste Blanche des numéros autorisés (fichier TelWhite), pour ces numéros l’appel se déroulera normalement sans intervention d’Asterisk.
  2. Liste Noire des numéros interdits (fichier TelBlack), pour les numéros de cette liste le téléphone ne sonnera pas.
  3. Liste des préfixes interdits (fichier PreBlack) pour interdire tous les numéros d’une tranche de 10 000 numéros (ex : 0405060000-9999 pour interdire tous les numéros qui commencent par 040506)
  4. Liste des numéros à ignorer (fichier TelIgn), il s’agit des numéros identifiés à partie d’Asterisk (i.e. ceux qui ont essayé d’appeler). Il seront traités comme les numéros en liste noire.
  5. Les numéros masqués ne pourront pas appeler, il seront traités comme les numéros en liste noire.

Emplacement du fichier log : /var/log/asterisk/cdr-csv/Master.csv

Mise en place d’un niveau de log plus élevé pour debugger  : Dans /etc/asterisk/logger.conf ajouter myFichierLog => notice,warning,error,debug,verbose,dtmf 

Configuration du SPA3102 : Les pages à modifier pour changer de machine Asterisk sont Line 1 (2 adresses à modifier) et PSTN Line (3 adresses à modifier) dans l’onglet Voice. Il faut simplement modifier l’adresse IP qui point vers la machine qui héberge Asterisk.

Des choses possibles à traiter un jour ou l’autre (doto list) :

  • Mise en place d’un accès web pour gérer la messagerie vocale
  • Envoi du mail avec message vocal à 2 destinataires
  • Mise à jour automatique des fichiers TelBlack et TelIgn

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *