Vous êtes sur la page 1sur 11

Simulation d'un provider ToIP bas sur asterisk et a2billing

Laurent GALLON IUT des Pays de l'Adour dpt R&T Mont de Marsan
I. INTRODUCTION Les architectures ToIP sont de plus en plus prsentes dans les entreprises. Elles permettent la fois de faire converger les deux infrastructures classiques, tlphonique et informatique, et par l mme de rduire les cots. Mais les entreprises cherchent aussi rduire les cots des abonnements tlphoniques et des communications. Une solution est d'utiliser l'accs Internet de l'entreprise pour faire passer ses appels externes par un provider ToIP. Ce dernier offre l'entreprise la possibilit de passer du monde IP vers le monde de la tlphonie commute (3G/RNIS) des cots moindres que ceux engendrs par des accs directs ces rseaux. Dans ce papier, nous proposons un exemple d'implmentation de provider ToIP, utilisable en salle de TP. Nous abordons en particulier les problmes de l'authentification, de l'utilisation de passerelles vers le monde commut, du routage des appels entrants et sortants, et de la taxation des appels. La totalit de notre proposition repose sur l'IPBX libre Asterisk, coupl au logiciel libre de taxation a2billing, pour avoir une infrastructure la plus ouverte et la moins coteuse possible. L'architecture de la plateforme est dcrite sur la figure 1. par le provider pour mettre en place une communication avec un tiers. Cette communication peut tre destine un autre tlphone IP, o un tlphone du monde commut. L'authentification permet de vrifier les droits d'accs de l'appelant, et de le taxer correctement. Le routage des appels et l'utilisation de passerelles vers le monde commut. Ici, l'important est de pouvoir router les appels sortants (le client est l'initiateur de l'appel) soit vers un autre poste IP, soit vers une passerelle permettant d'accder aux rseaux commut. Mais il faut aussi penser aux appels entrants, qui doivent pouvoir aboutir au client. La taxation, qui permet dans un premier temps de comptabiliser la dure de chaque appel, et si ncessaire, d'estimer le cot de la communication.

Fig. 2 : Modules du Provider ToIP

Nptez enfin que le composant Provider ToIP fait partie d'une plateforme gnrique de ToIP, prsente par Patrick Charrin dans l'article Une plateforme pdagogique pour illustrer les diffrentes architectures de ToIP de ce mme workshop. II. ASTERISK ET A2BILLING

Fig. 1 : Schma gnral de la plateforme

Nous n'aborderons pas ici toutes les fonctionnalits d'un provider ToIP. Nous focalisons notre proposition sur les lments indispensables du provider, savoir (cf figure 2) : l'authentification de l'appelant, c'est--dire la reconnaissance de l'entreprise qui essaie de passer

A. Asterisk Asterisk est un IPBX (autocommutateur tlphonique IP) open source fonctionnant sous Linux ou Windows. Il a t cr en 1999 par Mark Spencer, et a t le support de lancement de la socit Digium. Il permet des terminaux ToIP de communiquer entre eux, en utilisant diffrents protocoles de communications, comme SIP, IAX, Il implmente les services tlphoniques traditionnels (renvois et transferts d'appels, Ne Pas Dranger, botes vocales, ) et les services avancs

(messagerie unifie, IVR, centre d'appel, ). Il permet en outre de passer du monde IP vers les rseaux tlphoniques publics (analogique / RNIS / 2G-3G) par l'adjonction de cartes ou botiers passerelles. La configuration d'Asterisk est effectue en utilisant diffrents fichiers de configuration (contenus dans le rpertoires /etc/asterisk). On y trouve en particulier : le fichier sip.conf, qui contient la liste et les profils des utilisateurs utilisant le protocole SIP pour communiquer avec Asterisk le fichier iax.conf, qui contient la liste et les profils des utilisateurs utilisant le protocole IAX pour communiquer avec Asterisk le fichier extensions.conf, dans lequel on configure le plan de numrotation et les rgles de routage des appels entrants et sortants le fichier musiconhold.conf, dans lequel on configure la musique d'attente le fichier chan_dahdi.conf, dans lequel on configure l'accs aux cartes et boitiers permettant l'accs aux rseaux tlphoniques publics Bien d'autres fichiers sont disponibles, nous ne pouvons tous les citer ici. L'ensemble de ces fichiers constitue une jungle qu'il est parfois difficile matriser, d'autant que certaines modifications ncessitent une intervention dans plusieurs fichiers. Aussi, diffrentes interfaces graphiques pouvant se coupler Asterisk ont vu le jour : Asterisk@home, trixbox, Ces interfaces sont une aide la modification des fichiers de configuration d'Asterisk. Cependant, elles sont parfois limites (elles n'offrent pas toutes les possibilits de configuration), ou spcifique une implmentation particulire (ex : Trixbox). Aussi, en rgle gnrale, les administrateurs sont amens modifier la main les fichiers de configuration pour effectuer certaines oprations spcifiques. Asterisk peut aussi tre coupl une base de donnes, type MySQL par exemple (ce n'est pas la seule possibilit !), afin de stocker les utilisateurs et leurs profils, et enregistrer les tickets de taxation, c'est--dire les tickets indiquant la dure des appels et leur cots. Nanmoins, Asterisk ne fournit pas par dfaut de logiciel de taxation. Les tickets existent, mais ils doivent tre exploits par une application extrieure, comme par exemple a2billing. B. A2billing
a2billing est un logiciel de taxation, trs complet, qui permet non seulement de grer les tickets d'appels, mais aussi de grer des comptes clients, de crditer de diffrentes manires ces comptes ( cartes prpayes , paiement la facture, ), et de les dbiter en fonction des appels passs, et leur facturation.

a2billing permet de dfinir des rates , c'est--dire des tarifications en fonction de la destination des appels (prfixe). Un client ( customer ) pourra passer des appels travers a2billing, en se voyant affecter d'une certaine tarification. L'ensemble des tarifs qui peuvent tre appliqus ce client sont regroups dans une rate card . Les rate cards correspondent donc aux diffrentes offres tarifaires proposes par a2billing ses clients.

Fig. 3 : a2billing

Bien entendu, a2billing reconnait ses clients grce une authentification De plus, il est capable d'appliquer deux types de routage : le LCR qui revient rechercher le chemin coutant le moins au provider, et le LCD qui revient rechercher le cot le plus avantageux pour le client. Nous allons nous appuyer sur ces fonctionnalits pour simuler un Provider ToIP partir d'Asterisk et de a2billing. III. MISE EN PLACE DU PROVIDER TOIP A. Architecture du TP Nous considrons l'architecture de TP suivante (Fig. 4) :

Figure 4 : architecture du rseau de TP

On retrouve les lments prsents dans le papier Une plateforme pdagogique pour illustrer les diffrentes architectures de ToIP de Patrick Charrin : Chaque entreprise est reprsente par un IPBX configur par un binme d'tudiant. Dans nos

manipulations, cet IPBX doit supporter le protocole SIP. ON peut utiliser un Alcatel OxO, un matracom AXS, un Asterisk, Plusieurs tlphones sont connects cet IPBX, avec des numros SDA. Dans le cadre de ce TP, nous aurons une seule entreprise, dont la plage SDA est 05584004xx. Le provider ToIP est constitu d'un Asterisk sur lequel est rajout a2billing. Nous allons dtailler la configuration de a2billing dans la suite de ce chapitre. Le rseau IP est en ralit un rseau Ethernet, mise en uvre par un simple switch. Un tlphone IP, dclar sur l'Asterisk du composant Provider ToIP , reprsentera le monde des tlphones IP (tout numro qui commence par 09xxxxxxxx) La Voice Gateway (ou Media Gateway) est implmente par un Asterisk, sur lequel nous avons install une carte Digium B410P qui offre 4 accs de base T0. Le rseau RNIS est ralis par un simulateur Patapsco. Quelques tlphones sont connects sur ce simulateur , et permettent de disposer de numros SDA caractristiques (15/18, 08xxxxxxxx, 0467xxxxxx, 06xxxxxxxx), qui seront taxs diffremment.

instructions suivantes :
[a2billing] exten => _X.,1,Answer() exten => _X.,2,Wait(2) exten => _X.,3,AGI(a2billing.php) exten => _X.,4,Wait(2) exetn => _X.,5,HangUp() [did] exten => _X.,1,AGI(a2billing.php|1|did)

Le contexte a2billing sera associ aux profils SIP des clients (customers) du provider ToIP. Ainsi, les appels en provenance de ses clients seront traits par a2billing (instruction AGI(a2billing.php)). Bien entendu, ces appels seront taxs diffremment en fonction de la destination. Le contexte did sera utilis par les appels en provenance d'une entit non cliente du Provider, et destination de l'une de ses entreprises clientes. Dans notre exemple, ce sera le cas si un tlphone du rseau public cherche appeler le numro 0558400400. Pour que ces appels aboutissent au contexte did, il faut modifier le fichier /etc/asterisk/sip.conf, et plus exactement la directive context dans le contexte [general] :
[general] context = did

Notez que le simulateur de rseau RNIS peut tre remplac par la solution base sur Asterisk, prsente dans le papier d'Angel Abnia. De plus, les composants Provider ToIP et Voice Gateway peuvent facilement tre regroups en un seul en installant la carte B410P directement dans l'Asterisk du composant Provider ToIP . Ceci tant, l'heure o nous crivons, nous n'avons pas test cette possibilit, et la documentation d'a2billing ne laisse pas apparatre la possibilit d'utiliser mISDN ou Dahdi. Si cette information se vrifie, cela signifie que les accs RNIS ne peuvent tre directement grs par a2billing, et cela complexifie le regroupement des deux composants. B. Configuration de a2billing Nous considrons que l'installation d'Asterisk et de a dj t effectue (voir annexes A et B). Nous allons dcrire maintenant les diffrentes phases de configuration ncessaires au bon fonctionnement du Provider ToIP
a2billing

Ces appels ne seront a priori pas taxs. Il faut penser relancer Asterisk pour prendre en compte ces modifications :
#/etc/init.d/asterisk restart

De manire gnrale, il est toujours intressant d'avoir une fentre de commande dans laquelle s'affichent les messages relatifs aux diffrentes oprations effectues par Asterisk. Pour cela, on peut utiliser le CLI (Command Line Interface) d'Asterisk, dans une fentre de commande :
#asterisk -rvvvv

On peut d'ores et dj vrifier que le nouveau plan de numrotation a bien t pris en compte, grce la commande :
#CLI>dialplan show a2billing

1) Utilisation de a2billing dans le plan de num. de asterisk La premire opration effectuer est de dire Asterisk d'utiliser a2billing. Pour cela, dans le plan de numrotation d'Asterisk (c'est--dire la fin du fichier \etc\asterisk\extensions.conf), il faut dfinir deux nouveaux contextes, a2billing et did, qui contiennent les

Le rsultat doit tre :

2) Dclaration et configuration des providers et des customers A2billing peut communiquer avec deux types d'entits : les fournisseurs d'accs ( providers ), qui vont offrir un accs vers un rseau tlphonique les customers , qui sont les clients du provider ToIP. Dans notre exemple, nous avons 1 client ( customer ) : l'entreprise 2 fournisseurs d'accs : la Voice Gateway, qui permet d'accder au rseaux tlphoniques publics le tlphone IP, qui reprsente l'accs au monde IP (numros en 09xxxxxxxx) Ces trois entits peuvent tre dclares partir de l'interface graphique de configuration de a2billing, accessible depuis un navigateur Web l'adresse:
http://<@IP du provider ToIP>/a2billing/admin

Paralllement la cration des deux providers, il faut penser crer les trunks associs. Un trunk permet de qualifier le canal de communication utilis entre a2billing et un provider, c'est--dire de prciser tous les lments techniques qui vont permettre ce lien d'tre utilis. On peut crer les trunks partir du menu Provider / trunks / Add Trunk . Dans notre exemple, nous aurons deux trunks, l'un appel VersMondeRNIS , l'autre VersMondeIP . Ces deux trunks utiliseront le protocole de communication SIP. Il faut aussi penser prciser l'adresse IP laquelle aboutie le trunk (ici, @IP de la Voice Gateway pour VersMondeRNIS = 10.2.17.201, et @IP du tlphone IP pour VersMondeIP = 10.2.17.160). Enfin, il faut rattacher chaque trunk son provider.

Les identifiants de connexion sont :


login = root mot de passe = changepassword

a)

Dclaration des providers


providers

Les

Provider / Add Provider

peuvent tre crs partir du menu .

Il faut juste prciser le nom que l'on souhaite leur donner. Dans notre exemple, nous crons deux providers, appels MondeIP et MondeRNIS .

(http://<@IP du provider ToIP>/a2billing/customer) qui lui permettra, aprs authentification ( WebUI login + WebUI password ), de visualiser son compte, et ventuellement recharger son crdit de communications. Remarque importante : dans le cadre de nos TPs, nous avons exclusivement utilis des IPBX Asterisk, que ce soit en tant que Voice Gateway, ou en tant que Client. Dans ce cas, la mise en place d'un Trunk ncessite une authentification. Nous avons rsolu ce problme en crant un customer (voir section suivante) correspondant la Voice Gateway sur le Provider ToIP, et en configurant un enregistrement automatique de la Voice Gateway auprs du Provider ToIP (la configuration de la Voice Gateway est similaire celle d'un client classique pour l'enregistrement automatique : voir plus loin dans ce document). Si le nom donn par le Provider ToIP au client Voice Gateway est 0102030405 par exemple, alors il faudra dclarer le trunk VersMondeRNIS avec la place de l'adresse IP :
0102030405/%dialingnumber%

b)

Dclaration du customer

La dclaration des clients se fait partir du menu CUSTOMER.

Il faut dans un premier temps crer le client ( Add::Search Notez qu'il est possible de crer un seul client, o un ensemble de clients d'un seul coup. Ainsi, quand une nouvelle entreprise veut utiliser les services du Provider ToIP, il suffit de lui affecter une identit client dj cre, mais non encore utilise. Dans notre cas, nous ne crons qu'un seul client, que nous appelons Binome*7.
/ Add Customer).

Notez qu'ici, nous avons opt pour un paiement la facture ( POSTPAID CARD ). En cas de choix PREPAID CARD , le client devra crditer son compte avant de pouvoir passer des appels. De plus, nous avons laiss coch les options de cration de profils SIP et IAX ( CREATE SIP CONFIG et CREATE IAX CONFIG ). Ainsi, a2billing modifie automatiquement les fichiers additional_a2billing_sip.conf et additional_a2billing_iax.conf pour rajouter la dclaration du profil du client. L'administrateur n'a donc pas intervenir.

Ici, le numro de compte account number + WebUI servent d'identifiants pour le client. Notez que ce dernier peut accder une interface Web sur a2billing
password

Dans l'exemple que nous avons choisi, nous n'utiliserons qu'un seul callplan, bas sur un routage LCD, avec diffrents rates, mais au travers de deux providers ( MondeIP et MondeRNIS). Nous auront donc deux rate cards diffrents. Nous commenons par crer les deux rate cards ( Rates :
/

RateCards / Add RateCard)

3) Dfinition des rates, rates

card

et callplan

Comme nous l'avons prcdemment, a2billing est avant tout un logiciel de taxation. Tout appel tlphonique qui passe par lui (sortants ou entrants, c'est--dire vers les rseaux publics ou vers les entreprises clientes) doit pouvoir tre tax. Pour cela, a2billing utilise 3 notions : un rate (taux en franais) est un tarif appliqu vers une destination (pays ou client, appel national, international, ) un rate card est un ensemble de rates appliqus diffrentes destinations, travers le mme trunk (le mme provider) Un callplan est un ensemble de rate cards, que l'on utilise sur la base de la mme rgle de routage : LCR (Least Cost Routing) si on recherche le cot le plus pletit pour le Provider ToIP LCD (Least Cost Dialling) si on recherche le cot le plus petit pour le client Pour rsum, un callplan est un ensemble de tarifs ( rate cards) disponibles travers diffrents providers, que l'on chois partir d'une rgle de routage prdfinie.

Puis il faut crer les diffrents rates dans chaque Rate en les associant la bonne RateCard et au bon trunk :
Card (Rates / Rates / Add Rate),

Notez que l'on peut facilement distinguer le cot pour le provider (buying rate), et le cot pour le client ( selling rate). C'est sur la base de ces informations que les routages LCR et LCD pourront tre faits.

Une fois tous les rates crs, on obtient :

Il faut pour cela modifier le fichier sip.conf (on suppose que le trunk entre le client et le provider ToIP est un trunk sip). Dans ce fichier, il faut dclarer un profil sip de type peer qui correspond au profil sip qui a t cr automatiquement sur le provider ToIP.

faut maintenant crer la callplan (Rates / et lui rattacher les deux rate cards :
CallPlan / Add Callplan),

Il

Notez que la section sip est appele provider, alors que le nom d'utilisateur sur le Provider ToIP est 4412358181. Cela ne pose pas de problme au sens Asterisk, mais cela demande un peu plus de gymnastique au niveau de l'authentification pour plus de simplicit, on peut appeler la section sip 4412358181, ce qui vitera tout problme futur.
b) Enregistrement auprs du provider ToIP

Il faut ensuite faire l'enregistrement automatique du client sur le provider ToIP. Pour cela, ajoutez la ligne suivante dans la partie register su fichier sip.conf de l'Asterisk du client : Pour rattacher les deux rate cards, il faut aller modifier le callplan ExempleTP (voir figure ci-aprs, en haut de la colonne suivante) 4) Configuration du client Nous considrons ici que le client Binome*7 est un IPBX Asterisk. La configuration du client se droule en deux tapes : enregistrement auprs du provider ToIP routage des appels sortants vers le provider ToIP
a) enregistrement auprs du provider

L encore, si on a dcid d'appeler 4412358181 la section sip dfinissant le provider ToiP (et non pas provider comme dans l'exemple ci-dessus), il faut remplacer provider par 4412358181 dans la ligne ci-dessus. Aprs recharge des paramtres SIP sur l'Asterisk du client (commande sip reload dans le CLI), vous devriez voir apparatre un message d'enregistrement du client sur le CLI du provider ToIP. A partir de ce moment, vous devriez tre capable de passer un appel travers votre Provider. Ceci tant, cela ne va pas marcher tout de suite en effet, a2billing n'a pas

encore tous les lments pour router les appels sortants : il lui manque la dfinition des destinations pour ces appels, c'est--dire des lignes de routage qui disent quel est le prochain destinataire quand on cherche joindre un certain numro. Ici, il y aura deux cas de figure : on cherche appeler un numro SDA d'un autre client de a2billing. Le prochain destinataire sera alors l'IPBX du client on cherche joindre un numro public (IP / RNIS / GSM/UMTS). Le prochain destinataire sera alors la VoiceGateway La configuration de ces destinations est effectue de la mme manire que celle concernant les appels entrants. C'est ce que nous expliquons dans le paragraphe suivant. 5) Configuration des appels entrants Comme pour tout IPBX, il est ncessaire de dire au Provider comment router les appels entrants, c'est--dire les appels en provenance des rseaux publics, et destination de ses clients. Plus exactement, il faut lui indiquer quel client possde quel numro SDA. Les numros donns par des providers ToIP leur clients sont appels DID (Direct Inward Dialling = Slection Directe l'Arrive (SDA) en franais). Dans un premier temps, il faut crer ses numros DID (Inbound DID / Add::Search / Add DID) :

Une fois toutes vos destinations cres, vos clients doivent tre en mesure de recevoir des appels en provenance des rseaux publics. En ce qui concerne les destinations qui ne vont pas vers un client, mais vers le rseau public, le principe est le mme. On cr les DID, puis on cr les destinations, en mettant comme destinataire la Voice Gateway. 6) Accueil de appels sortants sur le Provider ToIP Si toutes vos destinations sont cres, et si vos clients sont bien enregistrs, vous devez tre capable de passer des appels d'un client vers un rseau public. Cependant, vous remarquerez que lors d'un tel appel, le provider ToIP effectue plusieurs oprations : dans un premier temps, il dit combien de crdit il reste au client, et combine de temps l'appel peut durer. il demande ensuite de composer le numro appeler Si vous n'avez plus de crdit, vous pouvez recharger votre compte dans le menu Customers / add::Search / add credit to this card (icne dollar sur la ligne du client). Pour supprimer l'annonce de la balance (crdit restant), il faut positionner la variable Say Balance after Auth No dans la partie System settings / Global list. Enfin, pour ne pas annoncer la dure maximale autorise de l'appel, positionnez la variable Say Duration No, toujours dans la partie System settings / Global list. Enfin, si on souhaite que le Provider ne demande pas le numro appeler, et qu'il compose directement le numro fourni lors de l'appel, il faut modifier la variable Use DNID dans la partie System settings / Global list, et la positionner Yes. Ainsi, a2billing utilisera le numro destinataire de la requte SIP comme numro appeler. 7) Conclusions

Notez que l'on peut choisir de taxer ou non les appels entrants (option BILLING). Un cot de location peut aussi tre rajout (Selling Rate / monthly rate). Une fois les DID crs, il faut crer les destination associes. Une destination indique a2billing, quel numro de DID est associ quel client. Les destinations se crent dans le menu Inbound DID / Destination / Add destination (figure colonne suivante). Notez qu'ici, la destination associe le DID 0558004000 au client 4412358181, et plus exactement au poste 100 de ce client (quivalent d'un Dial(SIP/100@4412358181) sous Asterisk).

A travers ce chapitre, nous avons voulu guider le lecteur vers une premire configuration d'Asterisk + a2billing la plus simple possible. De nombreuses options n'ont pas t

abordes, et plusieurs solutions dcrites ici doivent pouvoir tre largement amliores. IV. DIFFRENTES UTILISATIONS POSSIBLES DU PROVIDER TOIP EN TP Sans trop rentrer dans les dtails, nous estimons pouvoir utiliser notre Provider ToIP de plusieurs faons dans les TPs de tlphonie sur IP : il peut tre utilis comme passerelle entre le rseau tlphonique priv de l'entreprise, et les rseaux publics. La diffrence d'utilisation par rapport une Media Gateway n'est pas flagrante, si ce n'est l'aspect authentification, et la possibilit de regarder la taxation des appels passs sur l'interface Web customer . Cela reste nanmoins un composant support intressant, se rapprochant de ce que l'on trouve dans la ralit. il peut aussi faire l'objet d'un TP. Outre l'aspect cration de providers, et de customers, d'autres points nous semblent intressants, et notamment les aspects taxation. Les tudiants peuvent aborder les notions de buying cost et de selling cost , c'est--dire la diffrence entre ce que cote rellement une communication au Provider ToIP, et le cot qui est factur au client. On peut notamment mettre en place diffrents niveaux de fidlisation pour ses clients, en crant des call plans diffrents (IVOIRE, ARGENT, OR, PLATINE) qui implmenteront un cart cot factur cot d'exploitation plus ou moins grand (plus le client est fidle, c'est--dire plus il passe d'appels au travers du provider ToIP, plus il aura un niveau de fidlit lui permettant d'atteindre des cots de facturation proches des cots de facturation). De plus, les notions de LCR (Least Cost Routing) et LCD (Least Cost Dialling) pourront aussi tre abordes, en crant plusieurs providers, aux cots diffrents. Ainsi, pour les mmes appels, les tudiants peuvent mettre en avant la diffrence entre choisir le cot d'exploitation le moins cher (LCR) et le cot de facturation le moins cher (LCD). Quoi qu'il en soit, le lecteur trouvera trs certainement d'autres utilisations possibles cet outil, en fonction de ses propres TPs. V. CONCLUSION Dans cet article, nous avons prsent une solution pour mettre en place un Provider ToIP utilisable en TPs de tlphonie sur IP. La solution est peu onreuse, puisqu'elle ncessite un serveur informatique sous Ubuntu, l'IPBX logiciel gratuit Asterisk, et le logiciel de taxation gratuit a2billing. Aprs avoir prsent ces diffrents logiciels, nous

avons dtaill la configuration du Provider ToIP, en nous appuyant sur un exemple utilisable en salle de TP. Enfin nous avons donn diffrentes pistes d'utilisation dans les sries de TP. VI. ANNEXES A. Installation d'Asterisk et de ses composants Prrequis : Nous supposons que nous utilisons un systmes Linux Ubuntu (version 10.04). De plus, nous supposons que l'accs au rseau Internet est dj configur. L'installation d'Asterisk peut tre effectue en lignes de commande depuis un terminal, ou travers le logiciel de gestion des paquets Synaptic. Nous ne prsentons ici que l'installation par lignes de commande. Les paquetages d'installation d'Asterisk sont depuis plusieurs annes intgrs dans la distribution Ubuntu (Debian). Aussi, il n'est pas ncessaire de rcuprer les sources du logiciel, et de les compiler. Il suffit juste d'installer les paquetages pr-compils :
#apt-get install asterisk

La gestion automatique de dpendances de paquets va automatiquement calculer la liste des paquets ncessaires l'installation d'Asterisk. Certains de ces paquets sont peut tre dj installs, d'autres peuvent tre installs, mais ncessitent une mise jour, et enfin certains paquets doivent tre nouvellement installs. Dans tous les cas, apt-get vous donne toutes ces informations, et attend votre accord pour commencer le tlchargement des paquets (nouveaux + mises jour) et leur installation. Notez que cette installation ne prend en compte que les paquetages indispensables au bon fonctionnement d'Asterisk. Il est possible ensuite d'installer d'autres paquetages, afin de rajouter des fonctionnalits Asterisk, ou de le personnaliser. Par exemple :
#apt-get install asterisk-prompt-fr-proformatique

va installer des prompts vocaux franais supplmentaires, qui pourront tre utiliss en remplacement des prompts vocaux anglais installs par dfaut. En particulier, si l'on souhaite pour jouer des musiques d'attente, Asterisk doit faire appel un player externe (par exemple un player mp3). Dans nos manipulations, nous avons toujours utilis madplay:
#apt-get install madplay

La configuration des musiques d'attente se fait dans le fichier /etc/asterisk/musiconhold.conf , dans la section [default]:

[default] mode=custom directory=/var/lib/asterisk/mohmp3 application=/usr/bin/madplay -Q -o raw:- --mono -R 8000 -a -12

pas dj t fait, vous pouvez vous rfrer l'annexe A pour installer Asterisk. Nous pouvons maintenant passer la mise en place et configuration de a2billing. Le premier lment mettre en place est la base de donnes dans laquelle a2billing va stocker ses tickets de taxation, c'est--dire le rsum de chaque appel (heure de dbut, heure de fin, appelant, appel, cot, ).
#cd /usr/local/src/a2billing #mysql -u root -p < DataBase/mysql-5.x/a2billingcreatedb-user.sql

Il ne reste alors qu' mettre les fichiers mp3 que vous souhaitez utiliser comme musique d'attente dans le rpertoire
/var/lib/asterisk/mohmp3

B. Installation de A2billing L'installation de A2Billing se fait uniquement en ligne de commande. Il n'existe pas (du moins au moment de l'criture de cet article) de paquetage pr-compil pour ce logiciel. Dans un premier temps, il faut rcuprer l'archive contenant les fichiers d'installation. Elle peut tre trouve sur le site svn de a2billing :
#svn co --username guest --password guest http://svn.a2billing.net/svn/asterisk2billing/tags /1.8.1 /usr/local/src/a2billing/

Le script createdb-user.sql permet de crer une base de donnes appele mya2billing, associe l'utilisateur a2billinguser, mot de passe a2billing, sur la machine locale (host = 127.0.0.1). Il faut maintenant crer les tables adquates dans cette base de donnes. Pour cela, nous utilisons un autre script :
#/usr/local/src/a2billing/Database/mysql-5.x/ install-db.sh

Rem : Si vous ne disposez pas de l'outil svn, tapez la commande suivante :


#apt-get install subversion

Attention, plusieurs versions de a2billing sont disponibles. A l'heure o nous crivons, la version la plus rcente est la 1.8.1 (c'est l'exemple pris dans la commande ci-dessus). Si vous souhaitez utiliser une version antrieure, il suffit de remplacer 1.8.1 par le numro de version souhait dans la commande ci-dessus. La liste des versions disponibles peut tre connue en se connectant sur le site http://svn.a2billing.net/svn/asterisk2billing/tags, utilisateur guest, mot de passe guest. Une fois cette opration effectue, une arborescence complte de sous-rpertoires et de fichiers est maintenant prsente dans le rpertoire /usr/local/src/a2billing. Avant d'aller plus loin, A2billing a besoin de diffrents logiciels pour pouvoir fonctionner. Plus prcisment, il doit tre install sur un serveur LAMP. On parle de serveur LAMP pour qualifier un serveur Web mis en uvre sous Linux, l'aide des logiciels Apache (le serveur Web), MySQL (base de donnes) et PHP (interprteur de scripts PHP pour construire des pages Web dynamiques).
#apt-get #apt-get #apt-get #apt-get #apt-get #apt-get #apt-get #apt-get install install install install install install install install libapache2-mod-php5 php5 php5-common php5-cli php5-mysql mysql-server apache2 php5-gd openssh-server php5-mcrypt php-gettext php5-sqlite python-mysqldb python-psycopg2 python-sqlalchemy libperlspeak-perl

Le script install-db.sh demande le nom de la base de donnes (mya2billing), l'adresse de la machine sur laquelle se trouve la base de donnes ( 127.0.0.1), le nom d'utilisateur (a2billinguser) et le mot de passe ( a2billing) pour insrer les tables dans la base de donnes. A l'issu de cette phase, vous pouvez vrifier que la base de donnes est bien configure, en vous y connectant :
#mysql -u root -p mya2billing

Vous devriez ensuite avoir 97 tables diffrentes dans votre base de donnes :
mysql>show tables; mysql>exit

Il faut maintenant configurer a2billing pour qu'il utilise la base de donnes mya2billing. Pour cela, tapez les commandes suivantes :
#cp a2billing.conf /etc #gedit /etc/a2billing.conf &

Modifiez la section [database] comme suit :


[database] hostname=127.0.0.1 port=3306 user=a2billinguser password=a2billing dbname=mya2billing dbtype=mysql

Bien entendu, a2billing ncessite aussi Asterisk pour pouvoir mettre en place les appels et les router. Si cela n'a

On cr ensuite les fichiers de configuration d'Asterisk dans lesquels a2billing enregistrera les profils SIP / IAX des clients, et on donne les droits l'utilisateur www-data sur ces fichiers (pour qu'ils puissent tre modifis depuis l'interface

Web de a2billing) :
#chmod 777 /etc/asterisk #touch /etc/asterisk/additional_a2billing_sip.conf #touch /etc/asterisk/additional_a2billing_iax.conf #echo \#include additional_a2billing_sip.conf >> /etc/asterisk/sip.conf #echo \#include additional_a2billing_iax.conf >> /etc/asterisk/iax.conf #chown -Rf www-data /etc/asterisk/additional_a2billing_sip.conf #chown -Rf www-data /etc/asterisk/additional_a2billing_iax.conf

Il ne reste plus qu' relancer Asterisk pour prendre en compte les modifications :
#/etc/init.d/asterisk restart

A partir de ce niveau, l'installation de a2billing est termine, et son interface Web doit tre oprationnelle. Vous pouvez y accder grce aux identifiants de connexion suivants :
http://<@IP du serveur>/a2billing/admin

On installe ensuite les fichiers sons relatifs dans les rpertoires d'Asterisk :
#/usr/local/src/a2billing/addons/sounds/ install_a2b_sounds_deb.sh #chown -R asterisk:asterisk /usr/share/asterisk/sounds

a2billing

login = root mot de passe = changepassword

On configure ensuite le manager d'Asterisk pour qu'il accepte d'tre pilot par a2billing :
#gedit /etc/asterisk/manager.conf &

Rajoutez la section [myasterisk] :


[myasterisk] secret=mycode read=system,call,log,verbose,command,agent,user write=system,call,log,verbose,command,agent,user

On installe ensuite tous les composants AGI (scripts crits en php) de a2billing qui vont piloter Asterisk :
#mkdir /usr/share/asterisk/agi-bin #chown asterisk:asterisk /usr/share/asterisk/agi-bin #cp -Rf /usr/local/src/a2billing/AGI/* /usr/share/asterisk/agi-bin #chmod +x /usr/share/asterisk/agi-bin/*.php

Enfin, pour finir, on copie au bon endroit (Document Root du serveur apache2 = /var/www) toutes les pages web de l'interface Web de a2billing :
#mkdir /var/www/a2billing #chown www-data:www-data /var/www/a2billing #mkdir -p /var/lib/a2billing/script #mkdir -p /var/run/a2billing #cp -rf /usr/local/src/a2billing/admin /var/www/a2billing #cp -rf /usr/local/src/a2billing/agent /var/www/a2billing #cp -rf /usr/local/src/a2billing/customer /var/www/a2billing #cp -rf /usr/local/src/a2billing/common /var/www/a2billing #chmod 755 /var/www/a2billing/admin/templates_c #chmod 755 /var/www/a2billing/agent/templates_c #chmod 755 /var/www/a2billing/customer/templates_c #chown -Rf www-data:www-data /var/www/a2billing/admin/templates_c #chown -Rf www-data:www-data /var/www/a2billing/agent/templates_c #chown -Rf www-data:www-data /var/www/a2billing/customer/templates_c

Vous aimerez peut-être aussi