Files
slowbrain.net/content/humeurs/freepbx.md
2025-12-31 01:01:23 +01:00

8.7 KiB
Raw Blame History

title, date, draft, tags
title date draft tags
À la découverte de la VOIP OpenSource 2024-03-22 false
Hacking
VOIP
Asterisk

Comme tout hacker qui se respecte, jai une certaine tendance à laccumulation de matériel divers, sous lexcuse que cest toujours utile pour apprendre de nouveaux trucs. Dans tout cela quelques téléphones VOIP auxquels il ne manquerait quun serveur pour reprendre vie.

Et justement, je connais assez peu le domaine de la téléphonie, et jai cherché un petit serveur VOIP tout simple, juste pour apprendre, à peine plus que faire communiquer quelques téléphones en local … jai beaucoup cherché … et pas beaucoup trouvé.

Asterisk : La référence

Asterisk (qui na rien à voir avec le petit gaulois) est une référence quand on cherche à faire de la VOIP avec du logiciel libre. Il est, à lorigine, développé pour et par la société Digium.

FreePBX est un projet, lui aussi en Open-Source, qui vise à simplifier laccès à Asterisk en lui fournissant une interface Web, et un kit prêt à installer : Une distribution Linux dérivé de CentOS (lui-même dérivé de RedHat), incluant linterface Web, le serveur Asterisk et plusieurs composants complémentaires.

Sangoma Technologies Corporation a racheté FreePBX en 2015 et Digium en 2018, ce qui explique, entre autres, que la solution «tout-en-un» proposé sur le site dAsterisk soit FreePBX, les deux appartenant à la même entreprise.

Une installation … classique

Même si loutil à tout faire quest la solution Asterisk / FreePBX dépasse de très loin ce que je pourrais attendre pour mes propres besoins, et en labsence dalternative qui me semble convainquante, je décide de my lancer avec un petit serveur, pas bien puissant, mais qui suffira largement pour mes quelques découvertes.

Devoir fournir une identité et des moyens de contacts avant de pouvoir charger limage disque ma toujours paru une pratique commerciale un peu douteuse et agressive, même si Libre nest pas gratuit et que je comprends parfaitement quil y a une entreprise qui essaye au moins de survivre derrière ce projet.

La solution, basé ici sur une CentOS7, se déroule plutôt honorablement. Je connais assez bien Anaconda linterface dinstallation de chez RedHat & Fedora, et seul le fait davoir sauté la première partie de lassistant (erreur de manipulation de ma part, ou automatisation spécifique) me pose un souci de clavier, qui est donc configuré comme clavier US.

Linstallation elle-même est un peu longue, peut-être dû au manque de vélocité de mon serveur, et me laisse tout le temps de profiter de lespace publicitaire pour le matériel de VOIP vendu par Sangoma. Rien dinsurmontable, jai surtout bien avancé sur le petit jeu que javais à côté.

Je nai que le mot de passe super-administrateur (root) à définir au moment de linstallation.

Libre & Open-Source

Le système est installé et démarre comme une CentOS, qui nen a pas le nom, tout ce qui est de plus classique. Presque trop … il faut soit se connecter (en root), soit aller voir dans la configuration du routeur pour récupérer ladresse IP sur laquelle se connecter pour retrouver linterface WEB «FreePBX» tant attendue.

Un premier assistant pour créer le compte administrateur, choisir la langue, le nom du serveur et configurer leMail, fait affaire de premier assistant post-installation. Je trouve cette question deMail confuse : Et il ladresse au nom de laquelle il va communiquer avec les utilisateurs, ou celle à qui il va adresser les messages à ladministrateur ? Je nai toujours pas la réponse.

Il nous est ensuite chaudement recommandé de senregistrer auprès de léditeur pour profiter au mieux des services proposés. Je veux juste bricoler, pas installer une solution de production et encore moins pour une entreprise aussi petite soit elle : Je refuse !

Vous êtes sûr ? Certaines fonctions ne seront pas disponibles : Oui !

S'ensuit plusieurs écrans pour nous parler des multiples modules optionnels, propriétaires et payants … assez pour créer ce sentiment de lassitude à cliquer sur refuser / suivant.

Quatre icônes se présentent enfin face à moi : Me voici face à laccueil réel de linterface web.

Après un essai de connexion, infructueux, en utilisateur, je comprends que je nai quun mot de passe pour la partie administrateur (et que ladministrateur nest donc pas un utilisateur).

Simple ? … Pas vraiment

Jarrive sur le tableau de bord, mindiquant quelques informations utiles sur le système et létat du serveur installé. La barre supérieure est pleine de plein de menus dans tous les senspente raide pour le découvreur que je suis. Tout est dans un anglais technique que je ne maîtrise que très peu sur ce domaine : La configuration initiale de la langue ne sapplique pas à linterface dadministration.

Mais même une fois configuré en français, la traduction est au mieux partielle, même pour ce qui semble les modules de base.

Jexplore un peu et constate assez amèrement quune bonne dizaine dentrées de menus ne sont là que pour renvoyer vers lachat des options payantesBusiness is business, mais la cest un peu insistant quand même.

Retour au tableau de bord, qui est la partie qui me laisse la meilleure impression pour le moment, pour voir les alertes sur les modules non mis à jour.

Faire les mises à jour … une option semi-payante.

Jarrive à comprendre un bout de la logique générale, et arrive sur les options de mises à jour.

Voulez-vous vous enregistrer ? … Si votre choix est non, le système de mise à jour est limité.

En clair, pour espérer faire les mises à jour à peu près correctement, il faut payer. Pas en monnaie, mais en donnée personnelle pour rentrer dans les fichiers clients : Oui, cest une façon de payer.

Mise à jour système

Les mises à jour du système sont finalement les plus simples. Longlet web vous indique avec un long paragraphe que vous allez devoir vous démerder tout seul, ou vous enregistrer.

Je reprends le clavier et lécran encore connecté pour faire linstallation, me connecte en administrateur et lance un yum update … ce nest ici quune CentOS très classique.

Mais alors que la force dun système Gnu/Linux moderne est davoir des mises à jour centralisées pour tous les composants du système … Ça serait ici bien trop simple (et standard) …

Mise à jour des modules

Il faut donc passer par lassistant intégré pour faire les mises à jour des modules. Donc lancer une recherche … qui prend du temps … sélectionner les modules à mettre à jour et utiliser le bouton « appliquer ».

Les modules dépendent parfois les uns des autres, ce qui est assez classique dans le domaine informatique. Tant que lon sait faire les mises à jour dans un ordre correct, ça ne pose aucun problème … Ce que ne sais pas faire ce système de gestion des modules (ou alors cest aussi dans les options)

Et il faut enchainer les cycles recherche / sélection / demande de mise à jour / erreur pour arriver à enfin tous les mettre à jour … dont tous ceux qui ne font que de la publicité.

Et alors, au final, ça donne quoi ?

À attendre, dans les différents cycles dinstallation, de mise à jour, et de pause publicitaire, jai surtout beaucoup avancé sur le jeu vidéo que jutilisais à côté …

Jai désactivé une bonne part des modules qui ne me servirait pas, et jétais juste fatigué pour essayer daller sortir mes téléphones après avoir dû faire face à ce qui serait presque une forme de mauvaise foi.

Oui, les modules sont OpenSource, sans doute possible. Mais la philosophie du Logiciel libre, celle de libérer les utilisateurs, ne me semble simplement plus y être. Je ny vois simplement pas mieux que ce qui pourrait être une version « éducation » dun logiciel propriétaire quelconque … et encore, ils auraient pris soin de faire quelque chose de moins brouillon.

Ça ne me donne même pas lenvie de conseiller cette solution à une structure qui chercherait à payer un système professionnel.

Lalternative libre aurait pu être FreeSWITCH qui est un produit de la société SignalWire. Mais vu que la documentation officielle demande un enregistrement pour télécharger les fichiers dinstallation, lesprit me semble le même. Ici aussi, on respecte parfaitement lOpenSource : Le code source est lui parfaitement disponible pour qui voudrait, et pourrait y mettre les pattes.

Fatiguant