Utiliser une ligne de téléphonie IP à la maison avec Asterisk

Il y a une infinité de configurations possibles et je vous partage la mienne qui n’est pas la plus optimale mais qui répond à mes besoins. Ce guide a été écrit avec FreeNAS 11.2 et Asterisk 16.2.1.

1. Souscrire à un abonnement SIP

SIP ou Session Initiation Protocol est le protocole utilisé pour les communications VoIP ou Voice over IP.

Il faut d’abord souscrire à un forfait de téléphonie IP auprès d’un fournisseur spécialisé. On a l’option de transférer un numéro que l’on possède déjà, comme lorsqu’on change de compagnie de cellulaire ou d’obtenir un nouveau numéro. Je fais affaire avec unlimitel mais il y en a plusieurs autres, bien que je ne les ai pas essayés.

2. Héberger son propre serveur Asterisk

Matériel requis

  1. PC capable de rouler un serveur Asterisk
  2. Un ATA ou Analog Telephone Adapter
  3. Un téléphone filaire

On suppose que votre maison est déjà câblée avec des fils téléphoniques (4 conducteurs). Sinon il est possible de brancher votre téléphone analogique directement dans l’ATA.

PC: N’importe quel ordinateur fera l’affaire pour une ligne domestique. J’utilise le même ordinateur que mon NAS car il roule déjà 24/7.

ATA: J’ai acheté un module SPA122 sur amazon pour 50$. Cet appareil permet de brancher le réseau filaire de votre maison à votre réseau local. Il faut le configurer pour se connecter au serveur Asterisk.

SPA112

Installation et configuration des logiciels

Configuration du SPA112

  • Créer la connection avec le serveur asterisk au moyen de l’interface web. On peut obtenir l’adresse IP du ATA en composant 4 fois la touche * avec le téléphone analogique connecté au ATA.
  • Configurer une adresse statique pour le ATA. Dans mon cas 192.168.1.100.
  • Entrer les détails de votre serveur asterisk (adresse IP, nom d’utilisateur et mot de passe).

Pour plus d’informations sur la configuration du SPA112

Installation du serveur Asterisk

J’ai créé un jail (une machine virtuelle) dédié à rouler Asterisk sur mon NAS. Les fichiers de la machine virtuelle résident sur le RAID miroir du NAS, ce qui assure une plus haute fiabilité et permet de maintenir la ligne téléphonique en cas de bris d’un disque dur.

Le jail est créé via l’interface graphique d’admnistration de FreeNAS. Il est important de donner au jail plein accès au réseau de l’hôte FreeBSD. Dans les options de configuration du jail:

  • Lui donner une adresse IP statique (dans mon cas 192.168.1.10) liée à l’interface physique (bge0)
  • Cocher les options allow.rawsockets et allow.socketsaf

Le logiciel Asterisk est installé via les paquets de FreeBSD:

# pkg add asterisk16

Activer asterisk au démarrage:

# echo asterisk_enable="YES" >> /etc/rc.conf

Configuration de Asterisk

Les fichiers de configurations se trouvent dans /usr/local/etc/asterisk. Au minimum il faut modifier les fichiers suivants.

  • extensions.conf : Configure le dial plan (les règles d’appel, l’afficheur, les extensions, etc).
  • sip.conf : Configure les canaux SIP externes (connection avec le fournisseur) et internes (connection avec le ATA) et contient les mots de passe.

Mon fournisseur de service fournit un utilitaire web pour générer les fichiers de configuration asterisk. Il vous suffit alors de les modifier selon vos besoins.

Pour plus d’informations sur la configuration de Asterisk

3. Tester votre nouvelle ligne téléphonique

Redémarrer la machine virtuelle et s’assurer que le serveur asterisk roule bien.

root@Asterisk:/ # service asterisk status
asterisk is running as pid 83092

Vous pouvez désormais faire des appels si vos fichiers de configuration sont corrects.

Diagnostiquer le serveur asterisk

Voici quelques astuces si les appels entrants ou sortants ne fonctionnent pas. On peut analyser le log des appels dans /var/log/asterisk.

$ cat /var/log/asterisk/cdr-csv/Master.csv

Pour obtenir plus d’informations du serveur, appeler l’utilitaire de console:

# asterisk -r

Voici quelques commandes utiles pour vérifier le bon fonctionnement du serveur:

  • sip show users : pour afficher les utilisateurs SIP définis.
  • sip show peers : pour afficher l’état des clients à votre serveur. Vous devriez y voir la connection du ATA.
  • sip show registry : pour valider votre connection avec le fournisseur de serveur VOIP. Votre connection devrait afficher “State:Registered” normalement.
  • sip reload : recharge le fichier de configuration sip.conf.
  • help : affiche toutes les commandes disponibles.

Pour plus d’information sur les commandes asterisk

Tutoriel en français avec un SPA112 sans serveur Asterisk