Translate

2008-07-17

Ma rencontre avec A2billing la plateforme de cartes prepayees et postpayees d'Asterisk

Le Contexte

Heureux administrateur d'une dizaine de serveurs Asterisk, je me suis vu confier un projet de gestion de comptes prépayés couplé avec notre IPBX Open Source favori.
La configuration étant simple
a priori , le client reçoit le numéro de téléphone du serveur, un code d'accès (ou reconnaissance de son numero appelant) et il peut composer et communiquer dans la limite du crédit lui restant.

La perte de temps idiote

Je me dit dans un premier temps que ça doit être faisable "maison" avec un petit script agi qui va taper dans une base de données pour identifier l'appelant (soit par un code tape soit par son CID) et qui lance la commande Dial qui va bien si il est authentifié (avec une limite de temps maximale correspondant a un calcul basé sur le coût de l'appel et son crédit restant).Une fois l'appel terminé une petite décrémentation de son crédit restant epicetou.
En fait j'y a ai pass
é deux jours et c'etait pas si trivial, je me suis meme carrément fait chier avec plein de petits détails galère.

Eureka

Je me dirige alors vers la recherche d'outils Open Source gérant cela (je sais j'ai fait les choses a l'envers faites pas chier, c'est ma fierté mal placée) franchement pas convaincu de trouver un truc pareil en libre.
Je commence donc a arpenter le wiki de voip-info et a essayer divers trucs plus ou moins réussis, plus ou moins payants, plus ou moins ininstallables.
Et la je tombe sur A2biling ,LE TRUC DE LA MORT QUI TUE SA RACE, le produit PHP/MySQL qui gere non seulement tout ce que je cherche mais meme dix fois plus (prépayé,postpayé,identification par CID,recharge de cartes...)!



Apres 3 saltos arriere, une danse du ventre et 1/4 d'heure d'installation sans encombres (franchement génial le wiki http://wiki.asterisk2billing.org/index.php/Installation_guide , je n'ai fait que le suivre a la lettre ) le truc est direct opérationnel et la c'est franchement la folie au niveau de l'ergonomie et de la simplicité de mise en route.

  • Tu crées tes utilisateurs (cartes) qui sont authentifiés soit par leur CID soit par un code a taper.
  • Tu crées tes cartes prepayées, tout est paramétrable.
  • Tu crées tes offres
  • Tu sors des stats, des factures ...
  • Bref une multitude de fonctionnalités (dont je suis loin d'avoir faite le tour tellement c'est vaste)
Vous avez compris je suis fan de a2billing et je vous encourage vivement a aller le tester

http://www.asterisk2billing.org/cgi-bin/trac.cgi

16 comments:

Anonymous said...

bonjour
merci pour ce tuto
moi aussi j'en suis fan , je l'ai d'ailleurs tester l'année dernière, mais je ne suis pas arrivé a le faire fonctionné dans la config que je souhaite mettre en place , c'est a dire du billing direct pour des revendeur avec des compte approvisionné directement par les revendeur.
si t'a une idée je suis preneur

Samuel Levy said...

a vrai dire je ne suis pas arrive a ce niveau de compétences sur le produit mais je ne vois pas de difficultés majeures apparemment, ou se situe ton problème?

DecIRC said...

Salut,

Tu as installé sur quelle version d'Asterisk ?
Je trouve des infos pour du 1.2 alors que je suis sur du 1.4 et cela m'inquiète...

Aussi, la fonction que je cherche, c'est pas que les gens appellent puis peuvent appeler, c'est pas le callback, c'est plus simple : c'est des utilisateurs enregistrés sur mon Asterisk et connecté avec un SoftPhone ou un HardPhone en VoIP.

Cela te semble possible ?

cEd

Samuel Levy said...

C'est tout a fait possible, c'est la fonction basique d'Asterisk.
Tes users inscrits dans ton sip.conf ou iax.con qui se connectent a ton Asterisk via leur softphone/Hardphone SIP ou IAX.

Alexis said...

Bonjour,

Je suis en dernier année d'ingénieur avec pour spécialité les réseaux de télécommunications.J'ai un projet où mon but et de mettre en place un système prépaid sur des téléphone IP. La solution est dde mettre en place A2billing. Hélas depuis une bonne semaine je n'arrive pas à l'installer meme en suivant le tutorial que vous avez mis en lien. J'ai surtout un probleme pour la création d'un nouvelle database sur MySQL; En effet meme quand je suis en root j'ai l'acces denied au 'root'@'localhost'. Est ce que vous pouvez me donner un petit conseil pour que je puisse avancer et faire fonctionner le tout.
Cordialement,

Alexis

Samuel Levy said...

Bonjour
Quel genre d'accès utilisez vous?

Alexis said...

Bonjour,

Tout d'abord merci de repondre assez vite.
Pour te situer le probleme, je suis sur un mini réseau local avec un switch de 8 port. J ai rattaché deux tel IP avec mon PC et j'ai virtualisé trixbox a l'aide de Vmware. J'ai reussi a configurer mes telephones et je peu passer des appel interne(mon but n'est pas de passer des appels vers l'exterieur). Maintenant j'aimerais mettre en place A2billing afin de faire un système prepaid sur ces telephones et je suis le tutorial de Wiki (celui que vous avez donné). Pas de probleme sur l'installation de des mises a jour et pareil avec postgres meme si je pense que j'ai un souci avec le port 5432 car quand j'enleve le # (donc le commentaire je pense) mon serveur postgres ne se relance plus quand je fais restart.
Des que j'arrive pour lancer mysql de la facon que dit le tuto (cad mysql mysql) j'ai l'erreur access denied root@localhost ( peut etre que je n'ai pas le bon mot de passe). Pourtant quand je me met en root ca ne marche pas non plus.
J'ai essayé aussi des ligne comme mysql -u mysql et la j'arrive sur le prompt de mysql mais des que je tente de taper les lignes avec les GRANT le probleme d'acces denied revienne. Est que j'utilise la bonne ligne de commande ou est ce que je ne me suis pas mis sous le bon nom d'utilisateur, je ne sais pas.
Sinon j'ai du mal a comprendre ta question de quel acces j'utilise je pense que vous voulez dire quel commande j'utilise.
En esperant que vous pourrez me donnez une aide,
Cordialement
Alexis

Alexis said...

Finallement, j'ai reussi a acceder a mon serveur mysql c'etait juste un probleme de MDP. Desole de vous avoir opportuné et je vous remercie de vos reponses rapides.
Cordialement,
Alexis

Alexis said...

Bonjour,

C'est encore moi qui vient vers vous pour une dernière question.
Depuis un moment j'ai réussi à installer A2billing j'essai de naviguer un peu dans le menu mais ca reste un peu complexe.
J'ai une petite question à vous poser. En effet je n'ai pas pris de provider SIP donc je fais que des appels en interne mais je n'arrive pas à mettre en place des cartes pré payé sur mes IPphone. DOnc ma question : est-il obligatoire de prendre un provider pour mettre en place des cartes pré payé???
En attente de votre reponse,
Cordialement
Alexis

Samuel Levy said...

oui il te faut bien une manière de ressortir vers le PSTN

Anonymous said...

Bonjour,
Je vois que tu es fan d'A2Billing et moi j'ai du mal a comprendre, j'espère donc que tu pourra m'aider. J'utilise la solution Elastix qui intègre A2Billing. Le but est de créer des carte prépayer pour un opérateur VoIP qui les revendra par la suite. Mais le problème c'est que je ne comprend la méthode de création des cartes.
Je créé tout d'abord un 'customer' il crée un card number aléatoire, card alias et un secret, je rempli la case 'balance' pour définir le crédit de la carte. Jusque là tout va bien.
Je ne voit pas comment définir un numéro qui permettra au client de composer leur code et mdp de la carte.
Je ne sais pas si je suis très clair.
Merci de ta réponse

Samuel Levy said...

il s'agit du numéro qui , dans ton dialplan (extensions.conf) exécute le script Agi a2billing.

Anonymous said...

Salut, besoin de votre aide svp.
J'utilise a2billing integre a Elastix.
J'ai fait la config au niveau d 'elastix et a2billing, mais il me manque une très importante information, c'est le trunk a2billing qui va fair sortir mes appels sur le PSTN. J'ai tenté avec le trunk zap qui marche avec elastix mais pas dans a2billing.
Aidez moi svp.

Chiheb Jebabli said...
This comment has been removed by the author.
Chiheb Jebabli said...

Bonjour,
Je ne sais pas si t'as trouver une solution depuis mais ce que tu dois faire c'est suivre cette démarche
1- créer un provider puis un trunk dans la rubrique provider.
rq: le trunk doit être enregistré au préalable.
2- créer un call plan
3- créer une rate card ou importer une ( 2 et 3 dans le menu rate)
4- dans call plan ajouter le rate
5- créer un customer qui va générer un compte sip et un compte iax , tu les trouve dans la rubrique Voip setting.
voila, j'espère que ça t'aidera

mola said...

bonjour, suis un fan de a2billing également
je d'installer elastix 2.4.0 avec a2billing 1.9.4 sous asterisk 1110.0
la simulation passe sans problème
mais lorsque je lance un appel , l'appel n'abouti pas, mais on vois les traces dans les CDR de a2billing, aussi il ne voit les destinations décrite dans mes rates
pouvez vous m'aider svp