Comment Installer Asterisk PBX sur Raspberry Pi ?


Asterisk est un PBX libre et open source pour gérer vos appels automatiquement (parfait pour une petite entreprise).
Dans ce tutoriel, je vais vous montrer comment l’installer sur Raspberry Pi.

Asterisk est un logiciel open source, donc son code source est disponible directement.
L’installation peut être faite comme depuis les dépôts Raspberry Pi OS ou le code source disponible sur le dépôt Git officiel.

Le site officiel vous donne la documentation complète pour tout, mais dans ce post, je vais vous donner la version courte, spécifiquement pour Raspberry Pi.

Conditions préalables

  • Un Raspberry Pi : si possible un Raspberry Pi 4. La compilation est un processus très long sur un ancien modèle, et plus de puissance peut être utile en fonction de ce que vous allez faire avec.
  • Raspberry Pi OS : si vous ne l’avez pas encore sur une carte SD. La version lite est très bien, car il n’y a pas d’interface graphique pour Asterisk. (téléchargez ici).
  • Une carte SD basique : si nécessaire, elle n’a pas besoin d’être gigantesque, Asterisk ne nécessite pas tant d’espace. Un modèle SanDisk de base a d’excellents résultats pour un prix bon marché (mes recommandations ici)

Installation d’Asterisk

Installer Raspberry Pi OS

Si vous utilisez une nouvelle carte SD pour Asterisk, vous devez d’abord installer Raspberry Pi OS dessus. Comme je vous l’ai dit, la version Lite est parfaite.
Si vous avez besoin d’un tutoriel étape par étape sur la façon de le faire, vous pouvez voir celui-ci.

Une fois fait, n’oubliez pas d’activer SSH et de mettre à jour votre système avant d’aller plus loin :
sudo apt update
sudo apt upgrade

Comme je vais vous donner de nombreuses commandes pour installer et configurer Asterisk, il est préférable de les copier et de les coller à partir de votre ordinateur directement.

Télécharger Asterisk sur le site officiel

Remarque : Asterisk est disponible dans le dépôt Raspberry Pi OS (sudo apt install asterisk), mais c’est une version qui date un peu. C’est OK pour un essai rapide, mais je ne le recommande pas en production.

Tous les téléchargements d’Asterisk sont disponibles sur cette page. Le premier lien est pour FreePBX, c’est un système Asterisk intégré avec une interface pour gérer Asterisk, mais il n’y a pas d’image pour Raspberry Pi.
Ensuite vous avez une offre pour Switchvox, et enfin le code source juste en dessous (Asterisk Communications Framework).
Vous pouvez télécharger une tarball ou utiliser git pour télécharger la dernière version.

Je vais vous montrer comment le faire avec Git, de cette façon, ça sera toujours la dernière version, mais vous pouvez télécharger les archives si vous préférez :

  • Installez git :
    sudo apt install git
  • La documentation recommande de compiler Asterisk depuis /usr/local/src, donc nous allons le faire :
    cd /usr/local/src
  • Téléchargez ensuite les fichiers du dépôt git :
    sudo git clone https://gerrit.asterisk.org/asterisk asterisk

Si vous vous demandez ce que sont DAHDI et LIBPRI dans la documentation officielle, ils ne sont pas nécessaires sur Raspberry Pi.
DAHDI est une interface pour gérer les cartes d’interface (comprend de nombreux pilotes), mais vous n’en avez probablement pas besoin sur Raspberry Pi.
LIBPRI n’est pas non plus nécessaire, comme c’est pour les interfaces ISDN.
Comme la plupart d’entre nous utiliseront asterisk comme un IPBX avec SIP et Internet, nous n’en avons pas besoin.

Maîtrisez Raspberry Pi en 30 jours
Téléchargez le livre numérique.
Découvrez les secrets du Raspberry Pi à travers un challenge de 30 jours.

Compiler Asterisk sur le Raspberry Pi

Comme pour la plupart des logiciels compilés à partir de la source, la première étape est de vérifier que vous avez toutes les dépendances Asterisk installées:

  • Allez au dossier asterisk :
    cd /usr/local/src/asterisk
  • Installez les dépendances requises :
    sudo apt install libedit-dev sqlite3 libsqlite3-dev libjansson-dev libxml2-dev uuid-dev
  • Exécutez le script configure, pour vérifier que vous avez toutes les dépendances installées :
    sudo ./configure
    S’il y a une erreur, il y a probablement un paquet manquant sur votre système.
    Utilisez « apt search » pour trouver le paquet correspondant et l’installer.
  • Ensuite, vous devez choisir les fonctionnalités que vous souhaitez utiliser avec menuselect :
    sudo make menuselect
  • Une fenêtre comme celle-ci s’affiche :

    Vérifiez dans chaque sous-menu que tout ce dont vous avez besoin est coché. Appuyez sur Espace pour sélectionner/désélectionner toute option. Certaines d’entre elles ne sont pas disponibles si le paquet correspondant n’est pas installé.

Si vous ne savez pas trop ce dont vous avez besoin, vous pouvez laisser la configuration par défaut.
Appuyez sur ESC et S une fois fait pour sauvegarder et quitter.

  • Vous pouvez maintenant exécuter make pour compiler Asterisk :
    sudo make
    Cela peut prendre plus ou moins du temps en fonction de votre modèle Raspberry Pi et des fonctionnalités que vous avez choisies (15-20 min sur un Raspberry Pi 4 avec la configuration par défaut).
  • Vous pouvez maintenant utiliser la commande suivante pour installer tous les fichiers :
    sudo make install

C’est tout, alors vous avez quelques commandes qui ne sont pas obligatoires, mais recommandé si vous êtes nouveau sur Asterisk :

  • Installation des fichiers d’exemples :
    sudo make samples
    Le but ici est de commencer par une configuration par défaut.
    Cela va créer tous les fichiers dans le dossier Asterisk pour vous (avec de nombreux commentaires dedans), cela vous évitera de commencer de zéro.
  • Installation des scripts d’initialisations :
    sudo make config
    Je recommande de le faire, cela va ajouter un initscript, pour démarrer automatiquement Asterisk au démarrage.
    C’est également utile pour démarrer ou arrêter le serveur si nécessaire.
  • Rotation des fichiers journaux :
    sudo make install-logrotate
    Comme nous sommes sur Raspberry Pi (avec un petit espace disque en général), c’est probablement une bonne idée de le faire. Cela installera un script qui gère la rotation du journal.

À cette étape, l’installation est terminée, et vous pouvez continuer avec la partie configuration.

Gestion du service Asterisk

Juste au cas où vous en avez besoin (probablement), voici les commandes que vous pouvez utiliser si vous avez installé le script d’initialisation :

  • Démarrez Asterisk :
    sudo /etc/init.d/asterisk start
  • Arrêtez Asterisk :
    sudo /etc/init.d/asterisk stop
  • Vérifiez le statut :
    sudo /etc/init.d/asterisk status

Je recommande de vérifier le statut avant d’aller plus loin (et de démarrer le service si nécessaire).
Si cela ne fonctionne pas à ce stade avec la configuration par défaut, il ne fonctionnera probablement pas après vos modifications 🙂

Si vous n’avez pas le script d’initialisation, vous pouvez démarrer asterisk avec :
sudo asterisk -gcv

Asterisk s’arrête lorsque vous fermez votre fenêtre ou connexion SSH (vous pouvez utiliser screen pour le garder en cours d’exécution en arrière-plan).

Configuration d’Asterisk

Emplacement des fichiers

La configuration asterisk est située dans /etc/asterisk.
Il y a beaucoup de fichiers (119 dans mon test), il est donc difficile d’expliquer en quelques lignes, mais je vais vous donner le plus important juste après.

Juste une note rapide ici, si vous voulez utiliser ou télécharger des sons dans votre configuration, ils sont situés sous /var/lib/asterisk/sounds.
Par défaut, vous n’obtiendrez que des sons en anglais, mais de nombreuses langues sont disponibles dans menuselect si vous en avez besoin d’autres.

Fichiers de configuration principaux

Comme je vous l’ai dit, vous n’avez pas besoin de tous les fichiers de configuration, donc je vous donne ici les plus importants et ce qu’ils sont :

  • sip.conf : Dans ce fichier, vous devez configurer vos comptes SIP. SIP est un protocole de gestion des appels sur Internet. Vous devez trouver un fournisseur (certains sont disponibles gratuitement comme LinPhone), et voir avec eux comment le configurer sur Asterisk.
  • users.conf : C’est la même chose pour chaque utilisateur (=téléphone ou softphone). Si vous utilisez un softphone sur votre ordinateur, vous devez définir le compte SIP dans ce fichier (numéro et mot de passe au moins). Regardez le fichier d’exemple pour vous guider.
  • extensions.conf : C’est le cerveau d’Asterisk. Dans ce fichier, vous gérez ce qui devrait se passer lorsque vous recevez ou faites un appel. Vous pouvez faire une configuration très courte qui fait juste sonner votre téléphone quand quelqu’un appelle. Ou faire quelque chose de plus compliqué, avec des heures d’ouverture, message de bienvenue ou plusieurs téléphones. C’est probablement le fichier le plus compliqué à comprendre lorsque vous commencez.

Fondamentalement, vous n’avez pas besoin de modifier un autre fichier si vous voulez une configuration de base.

Allez plus loin

Je ne vais pas expliquer en détail toute la configuration ici (faites-moi savoir si vous êtes intéressé, je peux faire un tutoriel spécifique à ce sujet).
Vous trouverez de l’aide sur ce site :

Et vous trouverez également beaucoup d’aide sur d’autres sites web et forums, Asterisk est un produit très bien connu, avec beaucoup d’utilisateurs à travers le monde.

Conclusion

C’est tout, vous savez maintenant comment installer Asterisk sur un Raspberry Pi.
Il semble fonctionner correctement sur un Raspberry Pi 4, donc cela pourrait être une bonne idée à la maison ou dans une petite entreprise.

J’utilise Asterisk depuis des années au travail, avec 70 personnes qui répondent aux appels pour notre service clientèle. Pas sur un Raspberry Pi, mais la charge moyenne reste très faible, même avec ce nombre d’appels simultanés, donc je pense que ça peut bien fonctionner pour une petite entreprise ou à la maison.
Vous pouvez faire tout ce que vous voulez avec, et une fois que vous comprenez comment cela fonctionne, il est puissant et pas si compliqué, mais cela prendra du temps à prendre en main.
Faites-moi savoir si vous voulez plus de détails sur Asterisk, j’aime vraiment ce sujet et ça sera avec plaisir de faire d’autres tutoriels dessus (même si la partie de configuration n’est pas vraiment spécifique au Raspberry Pi).

Restez connectés!

Tenez vous informés des dernières nouveautés en vous inscrivant ici. Pas de panique, il s'agit seulement d'un mail par mois histoire de rester à jour :)


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Patrick Fromaget

Je suis l'auteur principal et le créateur de RaspberryTips. Mon but est de vous aider sur tous vos problèmes qui concernent Raspberry Pi en publiant des guides détaillés et des tutoriels rapides. Dans la vraie vie, je suis administrateur système (Linux principalement) avec une solide expérience dans le développement web.

Recent Posts

Maîtrisez Raspberry PiTéléchargez le livre numérique

Découvrez les secrets du Raspberry Pi dans un défi de 30 jours