Comme tout hacker qui se respecte, j’ai une certaine tendance à l’accumulation de matériel divers, sous l’excuse que c’est toujours utile pour apprendre de nouveaux trucs. Dans tout cela quelques téléphones VOIP auxquels il ne manquerait qu’un serveur pour reprendre vie.

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

Asterisk : La référence

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

FreePBX est un projet, lui aussi en Open-Source, qui vise à simplifier l’accè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 l’interface 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 d’Asterisk soit FreePBX, les deux appartenant à la même entreprise.

Une installation … classique

Même si l’outil à tout faire qu’est la solution Asterisk / FreePBX dépasse de très loin ce que je pourrais attendre pour mes propres besoins, et en l’absence d’alternative qui me semble convainquante, je décide de m’y 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 l’image disque m’a toujours paru une pratique commerciale un peu douteuse et agressive, même si Libre n’est pas gratuit et que je comprends parfaitement qu’il 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 l’interface d’installation de chez RedHat & Fedora, et seul le fait d’avoir sauté la première partie de l’assistant (erreur de manipulation de ma part, ou automatisation spécifique) me pose un souci de clavier, qui est donc configuré comme clavier US.

L’installation 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 l’espace publicitaire pour le matériel de VOIP vendu par Sangoma. Rien d’insurmontable, j’ai surtout bien avancé sur le petit jeu que j’avais à côté.

Je n’ai que le mot de passe super-administrateur (root) à définir au moment de l’installation.

Libre & Open-Source

Le système est installé et démarre comme une CentOS, qui n’en 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 l’adresse IP sur laquelle se connecter pour retrouver l’interface WEB «FreePBX» tant attendue.

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

Il nous est ensuite chaudement recommandé de s’enregistrer 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 à l’accueil réel de l’interface web.

Après un essai de connexion, infructueux, en utilisateur, je comprends que je n’ai qu’un mot de passe pour la partie administrateur (et que l’administrateur n’est donc pas un utilisateur).

Simple ? … Pas vraiment

J’arrive sur le tableau de bord, m’indiquant 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 s’applique pas à l’interface d’administration.

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.

J’explore un peu et constate assez amèrement qu’une bonne dizaine d’entrées de menus ne sont là que pour renvoyer vers l’achat des options payantesBusiness is business, mais la c’est 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.

J’arrive à 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, c’est une façon de payer.

Mise à jour système

Les mises à jour du système sont finalement les plus simples. L’onglet 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 l’installation, me connecte en administrateur et lance un yum update … ce n’est ici qu’une CentOS très classique.

Mais alors que la force d’un système Gnu/Linux moderne est d’avoir 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 l’assistant 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 l’on 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 c’est 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 d’installation, de mise à jour, et de pause publicitaire, j’ai surtout beaucoup avancé sur le jeu vidéo que j’utilisais à côté …

J’ai désactivé une bonne part des modules qui ne me servirait pas, et j’étais juste fatigué pour essayer d’aller 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 n’y vois simplement pas mieux que ce qui pourrait être une version « éducation » d’un logiciel propriétaire quelconque … et encore, ils auraient pris soin de faire quelque chose de moins brouillon.

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

L’alternative 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 d’installation, l’esprit me semble le même. Ici aussi, on respecte parfaitement l’OpenSource : Le code source est lui parfaitement disponible pour qui voudrait, et pourrait y mettre les pattes.

Fatiguant