PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Mathias : PyFreeBilling : présentation du softswitch basé sur Freeswitch dédié au wholesale

vendredi 15 novembre 2013 à 09:32

PyFreeBilling est une solution Open Source de billing et de softswitch dédiée à une activité d'opérateur wholesale VoIP. Cette solution est basée sur Freeswitch, postgresql et python. Ces fonctionnalités sont complètes. PyFreeBilling a été développé avec un objectif de montée en charge (il est actuellement utilisé notament pour terminer les appels des call centers).

Introduction

Il est extrêmement difficile de trouver des solutions Open Source permettant de monter une infrastructure permettant de vendre des communications VoIP, de gérer la facturation (billing) avec une contrainte de montée en charge importante. beaucoup de petits opérateurs utilisent a2billing, mais malgré la qualité du projet, son utilisation est différente : il a été développé pour gérer les cartes d'appels (calling cards).

Explication des choix techniques

Je souhaitais utiliser Freeswitch comme switch VoIP pour ces nombreuses qualités :

Ensuite, naturellement la base de données choisie a été PostgreSQL. Je ne vais pas faire un article complet sur ce choix, mais il est important. PostgreSQL est un moteur de base de données performant et fiable, deux qualités indispensables pour cette application.

Enfin, la gestion doit s'effectuer via une interface web, et pour cela le langage python a été choisi : performance, lisibilité ... et puis j'aime bien ce langage (c'est important, non ?). Bien entendu, le choix d'un framework comme Django c'est imposé, car il apporte un ensemble de fonctionnalités indispensables (cadre de développement, ORM, sécurité, applications ...).

Fonctionnalités

PyFreeBilling intégre un ensemble de fonctionnalités nécessaires à une activité de vente de minutes VoIP :

Interface web

Toute la gestion s'effectue via l'interface web. Voici quelques screenshots :

Création d'un client :

Customer creation - PyFreeBilling

Customer creation - detail 1 - PyFreeBilling

Customer creation - detail 2 - PyFreeBilling

Vue générale de gestion des sociétés (clients / fournisseurs) :

Customers general view - PyFreeBilling

Création d'une grille tarifaire de vente :

Customer ratecard creation - PyFreeBilling

Affectation d'une grille tarifaire à un client :

Ratecard customer affectation - PyFreeBilling

Et enfin, la liste des gateways fournisseurs :

Provider gateways view - PyFreeBilling

D'autres copies d'écran sont disponibles sur le repo, n'hésitez pas à y aller. Elles ont été créées par ordre de programmation :

Documentation

La documentation est disponible sur readthedocs. La doc utilisateur sera enrichie au fil de l'eau, il me reste encore un peu de travail de rédaction.

Où est le code

Le code est hébergé sur Bitbucket.

Support

Vous pouvez ouvrir vos demandes de support (bug, amélioration, remarque constructive ...) sur bitbucket, qui fournit un bel outil de gestion des "issues".

Et maintenant ?

Je vais bientôt sortir la v1.2. Pour cela, je finis les tests sur un script de déploiement afin de simplifier cette tâche ainsi qu'une intégration dans l'interface web de quelques commandes cli de Freeswitch pour les allegriques de la ligne de commande.

J'ai plein d'idées pour la V2, comme l'intégration de la gestion multi devises, d'émission des factures, de gestion des abonnements et de gestion des appels entrants (DID ou SDA).

Nh'ésitez pas à commenter, émettre des suggestions, j'attache beaucoup d'importante aux retours.

 

 

Gravatar de Mathias
Original post of Mathias.Votez pour ce billet sur Planet Libre.