PyFreeBilling : softswitch voip 2.0 démo

La version définitive 2.0 de PyFreeBilling approche. La version beta publique a été rendue disponible.

Qu’est-ce que PyFreeBilling ?

Le logiciel PyFreeBilling est une solution sous licence Open Source AGPL permettant de gérer une activité d’opérateur télécom VoIP : gestion des clients, gestion des fournisseurs, gestion des grilles tarifaires ventes et achats, routage des appels et gestion des balances et reporting.

Merci à Hichem Ghazouani qui a mis à disposition la version 2.0 en démo.

Vous trouverez le lien ci-dessous :

https://51.255.173.122/ ( customer )
https://51.255.173.122/extranet/ (admin )

username : ghvoip
password: demo123 ( pmerci de ne pas changer le mot de passe !)

À qui est destiné PyFreeBilling ?

PyFreeBilling dans sa version 2 est destiné aux opérateurs VoIP permettant de router les appels entrants et sortants de ses clients vers différents opérateurs-fournisseurs de manière sûre, souple et simple.

 

freeswicth ansible role 2.0 just released

Je viens de publier la nouvelle version du role ansible permettant une installation / mise à jour automatisée de FreeSwitch avec plusieurs bonus optionnels comme fail2ban, sngrep … Le role est fait pour fonctionner exclusivement avec Debian Jessie. J’intégrerai Stretch le moment venu.

Contrairement à la version précédente, l’installation se fait à partir des paquets fournis par la team FreeSwitch (je suis leurs recommandations).

L’utilisation est présentée dans le README.

Vous le trouverez dans la galaxy ansible : https://galaxy.ansible.com/mwolff44/freeswitch-mw/

N’hésitez pas à me faire des retours.

Note : le repo officiel est hébergé par framagit : https://framagit.org/mwolff44/freeswitch-mw/ même si une copie existe sur github pour ansible-galaxy.

 

Modifications :

  • 12/04/2017 : v2.1 : mise à jour du kernel via les backports (performance) / installation de locales spécifiques / installation de paquets complémentaires – Ces 3 fonctions sont désactivées par défaut.

Installer FreeSwitch sur Ubuntu à partir des paquets

L’équipe de FreeSwitch vient de publier les paquets pour Ubuntu 14.04 LTS et 16.04 LTS. Une excellente nouvelle pour les utilisateurs d’Ubuntu. L’installation est maintenant simplifiée.

Pour Ubuntu 16.04 LTS, voici les commandes à taper pour installer la dernière version stable de FreeSwitch :

wget -O - https://files.freeswitch.org/repo/ubuntu-1604/freeswitch-unstable/freeswitch_archive_g0.pub | apt-key add -
 
echo "deb http://files.freeswitch.org/repo/ubuntu-1604/freeswitch-unstable/ xenial main" > /etc/apt/sources.list.d/freeswitch.list
 
# you may want to populate /etc/freeswitch at this point.
# if /etc/freeswitch does not exist, the standard vanilla configuration is deployed
apt-get update && apt-get install -y freeswitch-all

Pour Ubuntu 14.04 LTS :

wget -O - https://files.freeswitch.org/repo/ubuntu/freeswitch-unstable/freeswitch_archive_g0.pub | apt-key add -
 
echo "deb http://files.freeswitch.org/repo/ubuntu/freeswitch-unstable/ trusty main" > /etc/apt/sources.list.d/freeswitch.list
 
# you may want to populate /etc/freeswitch at this point.
# if /etc/freeswitch does not exist, the standard vanilla configuration is deployed
apt-get update && apt-get install -y freeswitch-all

Attention : les paquets permettant de gérer les flux vidéos ne sont pas installés. Des étapes complémentaires sont à prévoir.

Toutefois, l’équipe de FreeSwitch ne recommande d’utiliser cette méthode pour un usage en production pour le moment. Sur Ubuntu, seule la méthode en téléchargeant et compilant les sources est recommandée.

La documentation de la team FreeSwitch pour installer FreeSwitch sur Ubuntu.

Lancement du forum de support pour FreeSwitch

Afin de combler un manque, j’ai décidé de lancer un forum de support dédié à la communauté francophone de FreeSwitch. En effet, je reçois pas mal de demandes d’aide par email, et je trouve dommage de ne pas faire profiter la communauté des réponses.

FreeSwitch est un outil fantastique permettant de créer des applications VoIP et vidéo (mais pas seulement) complexes et performantes. J’ai créé plusieurs sections (d’autres sections peuvent être envisagées) : actualités, installation, configuration, programmation et matériels. L’objectif est de créer une communauté d’entre-aide.

Si vous souhaitez devenir modérateur, envoyez moi un message privé.

L’adresse : forum FreeSwitch France

Ansible : installation automatisée de Freeswitch Ubuntu Debian – v1.3

Nouvelle mise à jour (v1.3) du role FreeSwitch pour Ansible, le célèbre moteur d’orchestration. Installation automatisée de FreeSwitch à partir des sources sur les systèmes linux basés sur Debian/Ubuntu.

Je viens de publier la mise à jour du role FreeSwitch pour Ansible, le célèbre moteur d’orchestration, la version 1.3. Ce role permet d’installer FreeSwitch de manière automatique à partir des sources sur les systèmes linux basés sur Debian et Ubuntu.

Un bug de dépendances touchant Debian Jessie a été corrigé, plus quelques modifications mineures.

L’utilisation est simple. Il faut dans un premier temps installer Ansible, puis ajouter mwolff44.freeswitch-mw à vos roles.

Installation d’Ansible recommandée (il faut une version supérieure à la 1.8, les paquets de Jessie ne fournissant que la 1.7 !) :

apt-get install -y python-apt python-pycurl libtiff5-dev git python-pip python-dev autoconf g++ libgmp-dev
pip install ansible makupsafe

Pour un usage rapide du script, voici la démarche.

git clone https://github.com/mwolff44/freeswitch-mw.git
echo localhost > inventory
ansible-playbook -i inventory freeswitch-mw/test.yml --connection=local

Bien entendu, vous pouvez utiliser vos fichiers de configuration et des options spécifiques (le détail est sur le github de freeswitch-mw – role d’installation automatisée de FreeSwitch). Voici un exemple de configuration ci-dessous (le fichier test.yml appelé ci-dessus) :

- hosts: all
  vars_files:
    - 'defaults/main.yml'
  tasks:
    - include: 'tasks/main.yml'
  handlers:
    - include: 'handlers/main.yml'

Le repository du role Ansible pour FreeSwitch est hébergé chez Github et est bien sûr validé en intégration continue grâce au service de travis-ci.org.

Si vous voyez des idées d’amélioration, n’hésitez pas.

 

Mise à jour du 11/02/2016 : mise à jour des paquets Debian / Ubuntu à installer pour Ansible. Installation avec pip de markupsafe

PyFreeBilling V2 : quelles sont les news ?

Nouvelles de la v2 de PyFreeBilling, solution open source softswitch VoIP. PyFB gère les trunks, les comptes SIP, le routage, les tarifs, la facturation

Cela fait maintenant très longtemps que je n’ai pas communiqué sur la version 2 de PyFreeBilling, solution open source de softswitch VoIP. PyFB gère les clients, les fournisseurs, les trunks, les comptes SIP (mode user/mdp ou authentification par IP), les règles de routage, les tarifs, la facturation et le reporting.

La version 2 apporte de nombreuses nouveautés. La plus importante est la prise en charge native de plusieurs serveurs FreeSwitch de manière intégrée et simple. La V1 permet de le faire, mais il faut utiliser des scripts ssh et communiquer plusieurs ip à ses clients et fournisseurs. La V2 intègre Kamailio en frontal qui gère l’authentification et le load balancing entre les différents serveurs média (FreeSwitch).

La seconde nouveauté est une nouvelle interface plus moderne, plus rapide et plus réactive grâce à la technologie Ajax. Une API permet aussi d’intégrer PyFreeBilling à votre site web ou votre backoffice. Au passage, je cherche des traducteurs pour la documentation et l’interface. Pour le moment seul la langue anglaise est prévue.

La troisième importante nouveauté est la gestion des services (abonnement de canaux SIP par exemple) et des factures pdf.

Cette version est toujours en développement mais avance vite.

J’en profite pour remercier les sponsors qui me permettent de consacrer autant de temps à ce projet.

Quand la version 2 est prévue : j’espère libérer une beta pour la fin d’année (cadeau de Noël ?). Elle sera présentée avec le nouveau site de PyFreeBilling qui sera basé sur Pluxml.

FreeSwitch : mettre à jour une ancienne installation

Mise à jour ancienne installation FreeSwitch : résoudre les problèmes liés au changement de repository de FreeSwitch et de certificats.

Vous devez mettre à jour une ancienne installation de FreeSwitch. La procédure est assez simple. Soit vous souhaitez utiliser la même branche, dans ce cas cette commande est suffisante :

make current

ou vous souhaitez en profitez pour migrer vers la dernière version stable ou une version de dev, pour cela vous devez au préalable saisir cette commande :

git checkout v1.4.stable

Mais l’équipe de FreeSwitch ayant changé l’hébergement des repos, il y a de grandes chances pour que vous obteniez des erreurs comme celle-ci :

error: server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none while accessing https://stash.freeswitch.org/scm/fs/freeswitch.git/info/refs

ou une erreur indiquant que le repo est inaccessible (l’ancien repo FreeSwitch git).

Voici la solution :

git remote set-url origin https://freeswitch.org/stash/scm/fs/freeswitch.git

Et vous n’avez plus qu’à relancer une nouvelle compilation de FreeSwitch.

Liste des IPBX libres

Le choix d’un IPBX est parfois compliqué : l’offre est importante et complexe. Sur le papier toutes les solutions se valent, proposent toutes les fonctionnalités utiles, sont sécurisées, facilement administrables … Quand on doit choisir une solution IPBX libre, le choix est plus difficile. La première difficulté est de lister les différentes solutions.

Je vais lister pour vous les différentes solutions qui s’offrent à vous, la contrainte étant que la solution doit-être libre et à même de mettre en place un IPBX en entreprise. Pas d’autre contrainte ! Les voici classées par ordre alphabétique :

  • Astlinux
  • Blue.box
  • FreePBX Distro
  • FusionPBX
  • Incredible PBX
  • PIAF : PBX in a flash
  • Wazo
  • Xivo
  • Yate (avec le module pbxassist)

Il existe d’autres solutions, je n’ai indiqué que les plus utilisées. Le choix n’est pas simple. Vous pouvez commencer par choisir un moteur VoIP (Asterisk, FreeSwitch ou Yate) et regarder l’interface graphique. Des critères peuvent-être éliminatoires comme le support de certains protocoles (comme IAX2 ou H323 par exemple), de montée en charge …

Un IPBX doit être facile à administrer. N’oubliez pas non plus de regarder les évolutions des différents projets. Malheureusement certains projets prometteurs sont devenus propriétaires comme TrixBox CE qui est devenu Fonality et AskoziaPBX qui a changé de licence.

Le mieux est de les tester au sein d’une VM afin de se faire une bonne idée après avoir rédigé un cahier des charges précis.

Je me dois de répondre à la question qui brule vos lèvres : quelles solutions d’IPBX libres je préfère ? Selon l’usage, je vais préférer soit Astlinux soit Xivo. FusionPBX est intéressant mais est un peu lourd d’usage. L’interface d’administration mériterait un lifting.

Quelles solutions avez-vous testées ? et quel est votre retour d’informations ?

 

Historique :

  • 06/02/2019 : ajoût de Wazo (fork de Xivo par son créateur) et suppression d’Elastix (ce dernier est mort suite au rachat)

Installation FreeSwitch sur Ubuntu automatisée

Installation automatisée de FreeSwitch à partir des sources sur Ubuntu/Debian

L’installation de FreeSwitch à partir des sources n’est pas une tâche bien compliquée. Il suffit de suivre le guide expliquant le processus sur le site de FreeSwitch. Mais cette tâche est longue et si vous installez de manière régulière de serveurs FreeSwitch, cela devient vite répétitif et source d’erreur.

Je vais vous présenter une manière simple et automatique pour installer FreeSwitch sur votre serveur tout neuf Ubuntu 14.04 64 bits LTS. (Cela marche aussi pour Debian 7).

Voici le process d’installation FreeSwitch :

sudo apt-get install -y python-apt python-pycurl libtiff5-dev
sudo git clone https://github.com/mwolff44/freeswitch-mw.git
sudo echo localhost > inventory
sudo ansible-playbook -i inventory freeswitch-mw/test.yml --connection=local

Prenez un grand café, prenez votre temps pendant que vous voyez FreeSwitch se compiler et s’installer.

Vous pouvez personnaliser les modules à installer, pour cela il faut utiliser la variable « freeswitch_modules_template » pour pointer sur votre propre fichier. Je vous laisse découvrir les autres options sur le Readme de github pour le script freeswitch-mw.

PyFreeBilling : démo en ligne

Suite à de nombreuses demandes, j’ai pris le temps d’installer un serveur de démo de PyFreeBilling, le logiciel de routage et de facturation opérateur basé sur FreeSwitch.

Certaines fonctions sont désactivées comme la possibilité d’émettre ou de recevoir des appels.

Pour se connecter, le username est « admin » et le password « pyfreebilling ».

Essayez de garder la démo propre, merci d’avance.

Si vous souhaitez avoir plus d’information sur la solution open source de billing FreeSwitch, le site de PyFreeBilling vous attend.