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 – dépt R&T Mont de Marsan
I. INTRODUCTION Les architectures ToIP sont de plus en plus présentes dans les entreprises. Elles permettent à la fois de faire converger les deux infrastructures classiques, téléphonique et informatique, et par là même de réduire les coûts. Mais les entreprises cherchent aussi à réduire les coûts des abonnements téléphoniques et des communications. Une solution est d'utiliser l'accès 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 téléphonie commutée (3G/RNIS) à des coûts moindres que ceux engendrés par des accès directs à ces réseaux. Dans ce papier, nous proposons un exemple d'implémentation de provider ToIP, utilisable en salle de TP. Nous abordons en particulier les problèmes 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 coûteuse possible. L'architecture de la plateforme est décrite sur la figure 1. par le provider pour mettre en place une communication avec un tiers. Cette communication peut être destinée à un autre téléphone IP, où à un téléphone du monde commuté. L'authentification permet de vérifier les droits d'accès 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'accéder aux réseaux 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 durée de chaque appel, et si nécessaire, d'estimer le coût de la communication.

Fig. 2 : Modules du Provider ToIP

Nptez enfin que le composant « Provider ToIP » fait partie d'une plateforme générique de ToIP, présentée par Patrick Charrin dans l'article « Une plateforme pédagogique pour illustrer les différentes architectures de ToIP » de ce même workshop. II. ASTERISK ET A2BILLING

Fig. 1 : Schéma général de la plateforme

Nous n'aborderons pas ici toutes les fonctionnalités d'un provider ToIP. Nous focalisons notre proposition sur les éléments 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 téléphonique 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 société Digium. Il permet à des terminaux ToIP de communiquer entre eux, en utilisant différents protocoles de communications, comme SIP, IAX, … Il implémente les services téléphoniques traditionnels (renvois et transferts d'appels, Ne Pas Déranger, boîtes vocales, …) et les services avancés

…). centre d'appel. III. mais ils doivent être exploités par une application extérieure. afin de stocker les utilisateurs et leurs profils. Asterisk peut aussi être couplé à une base de données. …). B. très complet. Il permet en outre de passer du monde IP vers les réseaux téléphoniques publics (analogique / RNIS / 2G-3G) par l'adjonction de cartes ou boîtiers passerelles.(messagerie unifiée. et le LCD qui revient à rechercher le coût le plus avantageux pour le client.conf. Un client (« customer ») pourra passer des appels à travers a2billing. Aussi. d'autant que certaines modifications nécessitent une intervention dans plusieurs fichiers. de créditer de différentes manières ces comptes (« cartes prépayées ». a2billing reconnait ses clients grâce à une authentification De plus. différentes interfaces graphiques pouvant se coupler à Asterisk ont vu le jour : Asterisk@home. A2billing a2billing est un logiciel de taxation. et de les débiter en fonction des appels passés.conf. Aussi. MISE EN PLACE DU PROVIDER TOIP A. c'est-à-dire des tarifications en fonction de la destination des appels (préfixe). qui contient la liste et les profils des utilisateurs utilisant le protocole IAX pour communiquer avec Asterisk • le fichier extensions. qui contient la liste et les profils des utilisateurs utilisant le protocole SIP pour communiquer avec Asterisk • le fichier iax.conf. Néanmoins. paiement à la facture. dans lequel on configure le plan de numérotation et les règles de routage des appels entrants et sortants • le fichier musiconhold. a2billing permet de définir des « rates ». On y trouve en particulier : • le fichier sip. en se voyant affecter d'une certaine tarification. Nous allons nous appuyer sur ces fonctionnalités pour simuler un Provider ToIP à partir d'Asterisk et de a2billing. Fig. 4) : Figure 4 : architecture du réseau de TP On retrouve les éléments présentés dans le papier « Une plateforme pédagogique pour illustrer les différentes architectures de ToIP » de Patrick Charrin : • Chaque entreprise est représentée par un IPBX configuré par un binôme d'étudiant. nous ne pouvons tous les citer ici. Les tickets existent. et leur facturation. il est capable d'appliquer deux types de routage : le LCR qui revient à rechercher le chemin coutant le moins au provider. en règle générale. … Ces interfaces sont une aide à la modification des fichiers de configuration d'Asterisk. et enregistrer les tickets de taxation. L'ensemble des tarifs qui peuvent être appliqués à ce client sont regroupés dans une « rate card ». Les « rate cards » correspondent donc aux différentes offres tarifaires proposées par a2billing à ses clients. La configuration d'Asterisk est effectuée en utilisant différents fichiers de configuration (contenus dans le répertoires /etc/asterisk). qui permet non seulement de gérer les tickets d'appels. Cependant.conf.conf. 3 : a2billing Bien entendu. dans lequel on configure la musique d'attente • le fichier chan_dahdi. c'est-à-dire les tickets indiquant la durée des appels et leur coûts. les administrateurs sont amenés à modifier « à la main » les fichiers de configuration pour effectuer certaines opérations spécifiques. trixbox. Architecture du TP Nous considérons l'architecture de TP suivante (Fig. Dans nos . type MySQL par exemple (ce n'est pas la seule possibilité !). Asterisk ne fournit pas par défaut de logiciel de taxation. elles sont parfois limitées (elles n'offrent pas toutes les possibilités de configuration). comme par exemple a2billing. L'ensemble de ces fichiers constitue une « jungle » qu'il est parfois difficile à maîtriser. dans lequel on configure l'accès aux cartes et boitiers permettant l'accès aux réseaux téléphoniques publics Bien d'autres fichiers sont disponibles. IVR. ou spécifique à une implémentation particulière (ex : Trixbox). mais aussi de gérer des comptes clients.

on peut utiliser le CLI (Command Line Interface) d'Asterisk. sur lequel nous avons installé une carte Digium B410P qui offre 4 accès de base T0. Configuration de a2billing Nous considérons que l'installation d'Asterisk et de a déjà été effectuée (voir annexes A et B). à l'heure où nous écrivons. Le réseau RNIS est réalisé par un simulateur Patapsco.php|1|did) Le contexte a2billing sera associé aux profils SIP des clients (customers) du provider ToIP. Quelques téléphones sont connectés sur ce simulateur . de asterisk La première opération à effectuer est de dire à Asterisk d'utiliser a2billing.AGI(a2billing. nous aurons une seule entreprise.. qui seront taxés différemment. et la documentation d'a2billing ne laisse pas apparaître la possibilité d'utiliser mISDN ou Dahdi. Le contexte did sera utilisé par les appels en provenance d'une entité non cliente du Provider. Nous allons détailler la configuration de a2billing dans la suite de ce chapitre.. Il faut penser à relancer Asterisk pour prendre en compte ces modifications : #/etc/init. représentera le monde des téléphones IP (tout numéro qui commence par 09xxxxxxxx) La Voice Gateway (ou Media Gateway) est implémentée par un Asterisk.AGI(a2billing. 06xxxxxxxx).1. dont la plage SDA est 05584004xx. et à destination de l'une de ses entreprises clientes.• • • • manipulations. un Asterisk. Ceci étant. les composants « Provider ToIP » et « Voice Gateway » peuvent facilement être regroupés en un seul en installant la carte B410P directement dans l'Asterisk du composant « Provider ToIP ». … Plusieurs téléphones sont connectés à cet IPBX. a2billing et did. Si cette information se vérifie. cet IPBX doit supporter le protocole SIP. 08xxxxxxxx. B. déclaré sur l'Asterisk du composant « Provider ToIP ». et plus exactement la directive context dans le contexte [general] : [general] context = did Notez que le simulateur de réseau RNIS peut être remplacé par la solution basée sur Asterisk.Wait(2) exten => _X.php)).d/asterisk restart De manière générale. avec des numéros SDA. dans une fenêtre de commande : #asterisk -rvvvv On peut d'ores et déjà vérifier que le nouveau plan de numérotation a bien été pris en compte. Dans le cadre de ce TP.conf). il faut définir deux nouveaux contextes. Bien entendu. ces appels seront taxés différemment en fonction de la destination. cela signifie que les accès RNIS ne peuvent être directement gérés par a2billing. ce sera le cas si un téléphone du réseau public cherche à appeler le numéro 0558400400.Answer() exten => _X. Pour que ces appels aboutissent au contexte did.HangUp() [did] exten => _X.conf.1.5. présentée dans le papier d'Angel Abénia. et permettent de disposer de numéros SDA caractéristiques (15/18. Pour cela. Le réseau IP est en réalité un réseau Ethernet. un matracom AXS. mise en œuvre par un simple switch. 0467xxxxxx.4. instructions suivantes : [a2billing] exten => _X. Pour cela. Dans notre exemple.2. Un téléphone IP.. Le provider ToIP est constitué d'un Asterisk sur lequel est rajouté a2billing.. grâce à la commande : #CLI>dialplan show a2billing 1) Utilisation de a2billing dans le plan de num.Wait(2) exetn => _X. dans le plan de numérotation d'Asterisk (c'est-à-dire à la fin du fichier \etc\asterisk\extensions. qui contiennent les Le résultat doit être : . et cela complexifie le regroupement des deux composants. il faut modifier le fichier /etc/asterisk/sip.3. Ainsi. nous n'avons pas testé cette possibilité. les appels en provenance de ses clients seront traités par a2billing (instruction AGI(a2billing. ON peut utiliser un Alcatel OxO.php) exten => _X.. il est toujours intéressant d'avoir une fenêtre de commande dans laquelle s'affichent les messages relatifs aux différentes opérations effectuées par Asterisk. De plus.. Nous allons décrire maintenant les différentes phases de configuration nécessaires au bon fonctionnement du Provider ToIP a2billing Ces appels ne seront a priori pas taxés.

201. c'est-à-dire de préciser tous les éléments techniques qui vont permettre à ce lien d'être utilisé. et @IP du téléphone IP pour « VersMondeIP » = 10. Les identifiants de connexion sont : login = root mot de passe = changepassword a) Déclaration des providers providers Les « Provider / Add Provider peuvent être créés à partir du menu ». il faut rattacher chaque trunk à son provider. nous créons deux providers. Ces deux trunks utiliseront le protocole de communication SIP. Un trunk permet de qualifier le canal de communication utilisé entre a2billing et un provider. Il faut aussi penser à préciser l'adresse IP à laquelle aboutie le trunk (ici. Il faut juste préciser le nom que l'on souhaite leur donner. Dans notre exemple. . qui représente l'accès au monde IP (numéros en 09xxxxxxxx) Ces trois entités peuvent être déclarées à partir de l'interface graphique de configuration de a2billing. qui permet d'accéder au réseaux téléphoniques publics ◦ le téléphone IP.2. nous aurons deux trunks. Dans notre exemple. l'un appelé « VersMondeRNIS ». nous avons • 1 client (« customer ») : l'entreprise • 2 fournisseurs d'accès : ◦ la Voice Gateway. accessible depuis un navigateur Web à l'adresse: http://<@IP du provider ToIP>/a2billing/admin Parallèlement à la création des deux providers. qui vont offrir un accès vers un réseau téléphonique • les « customers ». qui sont les clients du provider ToIP. il faut penser à créer les « trunks » associés. @IP de la Voice Gateway pour « VersMondeRNIS » = 10. Dans notre exemple.17. Enfin.17.2. l'autre « VersMondeIP ». appelés « MondeIP » et « MondeRNIS ».2) Déclaration et configuration des « providers » et des « customers » A2billing peut communiquer avec deux types d'entités : • les fournisseurs d'accès (« providers »).160). On peut créer les trunks à partir du menu « Provider / trunks / Add Trunk ».

Dans notre cas. Notez qu'ici. Ainsi. le numéro de compte « account number » + « WebUI » servent d'identifiants pour le client.(http://<@IP du provider ToIP>/a2billing/customer) qui lui permettra. que nous appelons Binome*7. De plus. a2billing modifie automatiquement les fichiers additional_a2billing_sip. nous ne créons qu'un seul client. L'administrateur n'a donc pas à intervenir. nous avons opté pour un paiement à la facture (« POSTPAID CARD »). Ici. Si le nom donné par le Provider ToIP au « client » Voice Gateway est 0102030405 par exemple. après authentification (« WebUI login » + « WebUI password »). / Add Customer). où un ensemble de clients d'un seul coup. mais non encore utilisée. le client devra créditer son compte avant de pouvoir passer des appels. quand une nouvelle entreprise veut utiliser les services du Provider ToIP. et en configurant un enregistrement automatique de la Voice Gateway auprès 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). il suffit de lui affecter une identité client déjà créée. Remarque importante : dans le cadre de nos TPs. Nous avons résolu ce problème en créant un « customer » (voir section suivante) correspondant à la Voice Gateway sur le Provider ToIP. de visualiser son compte. Il faut dans un premier temps créer le client ( Add::Search Notez qu'il est possible de créer un seul client. Dans ce cas. Ainsi. que ce soit en tant que Voice Gateway. ou en tant que Client. et éventuellement recharger son crédit de communications. la mise en place d'un Trunk nécessite une authentification. nous avons laissé coché les options de création de profils SIP et IAX (« CREATE SIP CONFIG » et « CREATE IAX CONFIG »).conf pour rajouter la déclaration du profil du client.conf et additional_a2billing_iax. En cas de choix « PREPAID CARD ». alors il faudra déclarer le trunk « VersMondeRNIS » avec à la place de l'adresse IP : 0102030405/%dialingnumber% b) Déclaration du customer La déclaration des clients se fait à partir du menu CUSTOMER. Notez que ce dernier peut accéder à une interface Web sur a2billing password . nous avons exclusivement utilisé des IPBX Asterisk.

et le coût pour le client ( selling rate). international. Tout appel téléphonique qui passe par lui (sortants ou entrants. que l'on utilise sur la base de la même règle de routage : ◦ LCR (Least Cost Routing) si on recherche le coût le plus pletit pour le Provider ToIP ◦ LCD (Least Cost Dialling) si on recherche le coût le plus petit pour le client Pour résumé. à travers le même trunk (le même provider) • Un callplan est un ensemble de rate cards. Puis il faut créer les différents rates dans chaque Rate en les associant à la bonne RateCard et au bon trunk : Card (Rates / Rates / Add Rate). a2billing est avant tout un logiciel de taxation.Dans l'exemple que nous avons choisi. Pour cela. c'est-à-dire vers les réseaux publics ou vers les entreprises clientes) doit pouvoir être taxé. …) • un rate card est un ensemble de rates appliqués à différentes destinations. un callplan est un ensemble de tarifs ( rate cards) disponibles à travers différents providers. Notez que l'on peut facilement distinguer le coût pour le provider (buying rate). Nous commençons par créer les deux rate cards ( Rates : / RateCards / Add RateCard) 3) Définition des rates. basé sur un routage LCD. C'est sur la base de ces informations que les routages LCR et LCD pourront être faits. rates card et callplan Comme nous l'avons précédemment. que l'on chois à partir d'une règle de routage prédéfinie. mais au travers de deux providers ( MondeIP et MondeRNIS). Nous auront donc deux rate cards différents. appel national. a2billing utilise 3 notions : • un rate (taux en français) est un tarif appliqué vers une destination (pays ou client. avec différents rates. nous n'utiliserons qu'un seul callplan. .

Il Notez que la section sip est appelée provider. il faut remplacer provider par 4412358181 dans la ligne ci-dessus. cela ne va pas marcher tout de suite … en effet. ajoutez la ligne suivante dans la partie register su fichier sip. a2billing n'a pas . faut maintenant créer la callplan (Rates / et lui rattacher les deux rate cards : CallPlan / Add Callplan). il faut aller modifier le callplan ExempleTP (voir figure ci-après. en haut de la colonne suivante) 4) Configuration du client Nous considérons ici que le client Binome*7 est un IPBX Asterisk.conf (on suppose que le trunk entre le client et le provider ToIP est un trunk sip). A partir de ce moment. on peut appeler la section sip 4412358181. on obtient : Il faut pour cela modifier le fichier sip. b) Enregistrement auprès du provider ToIP Il faut ensuite faire l'enregistrement automatique du client sur le provider ToIP. ce qui évitera tout problème futur. mais cela demande un peu plus de gymnastique au niveau de l'authentification … pour plus de simplicité. alors que le nom d'utilisateur sur le Provider ToIP est 4412358181. La configuration du client se déroule en deux étapes : • enregistrement auprès du provider ToIP • routage des appels sortants vers le provider ToIP a) enregistrement auprès du provider Là encore. Cela ne pose pas de problème au sens Asterisk. Dans ce fichier. Après recharge des paramètres SIP sur l'Asterisk du client (commande sip reload dans le CLI).Une fois tous les rates créés. il faut déclarer un profil sip de type peer qui correspond au profil sip qui a été créé automatiquement sur le provider ToIP. vous devriez être capable de passer un appel à travers votre Provider.conf de l'Asterisk du client : Pour rattacher les deux rate cards. vous devriez voir apparaître un message d'enregistrement du client sur le CLI du provider ToIP. si on a décidé d'appeler 4412358181 la section sip définissant le provider ToiP (et non pas provider comme dans l'exemple ci-dessus). Pour cela. Ceci étant.

Les destinations se crééent dans le menu Inbound DID / Destination / Add destination (figure colonne suivante). Ainsi. il faut lui indiquer quel client possède quel numéro SDA. Une destination indique à a2billing. Le prochain destinataire sera alors la VoiceGateway La configuration de ces destinations est effectuée de la même manière que celle concernant les appels entrants. il faut modifier la variable Use DNID dans la partie System settings / Global list. Ici. il y aura deux cas de figure : • on cherche à appeler un numéro SDA d'un autre client de a2billing. Enfin. 7) Conclusions Notez que l'on peut choisir de taxer ou non les appels entrants (option BILLING). et plus exactement au poste 100 de ce client (équivalent d'un Dial(SIP/100@4412358181) sous Asterisk). Pour supprimer l'annonce de la balance (crédit restant). vous devez être capable de passer des appels d'un client vers un réseau public. Les numéros donnés par des providers ToIP à leur clients sont appelés DID (Direct Inward Dialling = Sélection Directe à l'Arrivée (SDA) en français). Une fois les DID créés. il faut positionner la variable Say Balance after Auth à No dans la partie System settings / Global list. On créé les DID. nous avons voulu guider le lecteur vers une première configuration d'Asterisk + a2billing la plus simple possible. C'est ce que nous expliquons dans le paragraphe suivant. 6) Accueil de appels sortants sur le Provider ToIP Si toutes vos destinations sont créées. De nombreuses options n'ont pas été . Le prochain destinataire sera alors l'IPBX du client • on cherche à joindre un numéro public (IP / RNIS / GSM/UMTS). Dans un premier temps. Un coût de location peut aussi être rajouté (Selling Rate / monthly rate). puis on créé les destinations. si on souhaite que le Provider ne demande pas le numéro à appeler. Cependant. toujours dans la partie System settings / Global list. Plus exactement. 5) Configuration des appels entrants Comme pour tout IPBX. et la positionner à Yes. il faut créer ses numéros DID (Inbound DID / Add::Search / Add DID) : Une fois toutes vos destinations créées. Notez qu'ici. mais vers le réseau public. • il demande ensuite de composer le numéro à appeler Si vous n'avez plus de crédit. c'est-à-dire des lignes de routage qui disent quel est le prochain destinataire quand on cherche à joindre un certain numéro. En ce qui concerne les destinations qui ne vont pas vers un client. il dit combien de crédit il reste au client. et à destination de ses clients. et combine de temps l'appel peut durer. vous remarquerez que lors d'un tel appel. quel numéro de DID est associé à quel client. il faut créer les destination associées. pour ne pas annoncer la durée maximale autorisée de l'appel. positionnez la variable Say Duration à No. le principe est le même. c'est-à-dire les appels en provenance des réseaux publics. a2billing utilisera le numéro destinataire de la requête SIP comme numéro à appeler.encore tous les éléments pour router les appels sortants : il lui manque la définition des destinations pour ces appels. A travers ce chapitre. et qu'il compose directement le numéro fourni lors de l'appel. il est nécessaire de dire au Provider comment router les appels entrants. en mettant comme destinataire la Voice Gateway. le provider ToIP effectue plusieurs opérations : • dans un premier temps. et si vos clients sont bien enregistrés. vous pouvez recharger votre compte dans le menu Customers / add::Search / add credit to this card (icône dollar sur la ligne du client). la destination associe le DID 0558004000 au client 4412358181. vos clients doivent être en mesure de recevoir des appels en provenance des réseaux publics. Enfin.

Installation d'Asterisk et de ses composants Prérequis : Nous supposons que nous utilisons un systèmes Linux Ubuntu (version 10. qui pourront être utilisés en remplacement des prompts vocaux anglais installés par défaut. On peut notamment mettre en place différents niveaux de fidélisation pour ses clients. Outre l'aspect création de providers. Les étudiants peuvent aborder les notions de « buying cost » et de « selling cost ». Notez que cette installation ne prend en compte que les paquetages indispensables au bon fonctionnement d'Asterisk. • il peut aussi faire l'objet d'un TP. le lecteur trouvera très certainement d'autres utilisations possibles à cet outil. DIFFÉRENTES UTILISATIONS POSSIBLES DU PROVIDER TOIP EN TP Sans trop rentrer dans les détails. nous avons toujours utilisé madplay: #apt-get install madplay La configuration des musiques d'attente se fait dans le fichier /etc/asterisk/musiconhold. nous avons présenté une solution pour mettre en place un Provider ToIP utilisable en TPs de téléphonie sur IP. Asterisk doit faire appel à un player externe (par exemple un player mp3). Cela reste néanmoins un composant support intéressant.conf . et le logiciel de taxation gratuit a2billing. Enfin nous avons donné différentes pistes d'utilisation dans les séries de TP. Après avoir présenté ces différents logiciels. nous estimons pouvoir utiliser notre Provider ToIP de plusieurs façons dans les TPs de téléphonie sur IP : • il peut être utilisé comme passerelle entre le réseau téléphonique privé de l'entreprise. De plus. se rapprochant de ce que l'on trouve dans la réalité. et la possibilité de regarder la taxation des appels passés sur l'interface Web « customer ». et notamment les aspects taxation. OR. Dans nos manipulations. en nous appuyant sur un exemple utilisable en salle de TP. IV. aux coûts différents. Il est possible ensuite d'installer d'autres paquetages. d'autres peuvent être installés. c'est-à-dire la différence entre ce que coûte réellement une communication au Provider ToIP. puisqu'elle nécessite un serveur informatique sous Ubuntu. l'IPBX logiciel gratuit Asterisk. d'autres points nous semblent intéressants. mais nécessitent une mise à jour. si ce n'est l'aspect authentification. en fonction de ses propres TPs.abordées. Certains de ces paquets sont peut être déjà installés. ANNEXES A. Ainsi. V. nous supposons que l'accès au réseau Internet est déjà configuré. en créant des « call plans » différents (IVOIRE. afin de rajouter des fonctionnalités à Asterisk. ou à travers le logiciel de gestion des paquets Synaptic. Dans tous les cas. apt-get vous donne toutes ces informations. et de customers. il n'est pas nécessaire de récupérer les sources du logiciel. ARGENT. Nous ne présentons ici que l'installation par lignes de commande. et de les compiler. les étudiants peuvent mettre en avant la différence entre choisir le coût d'exploitation le moins cher (LCR) et le coût de facturation le moins cher (LCD).04). pour les mêmes appels. ou de le personnaliser. PLATINE) qui implémenteront un écart coût facturé – coût d'exploitation plus ou moins grand (plus le client est fidèle. et plusieurs solutions décrites ici doivent pouvoir être largement améliorées. et attend votre accord pour commencer le téléchargement des paquets (nouveaux + mises à jour) et leur installation. en créant plusieurs providers. c'est-à-dire plus il passe d'appels au travers du provider ToIP. La différence d'utilisation par rapport à une Media Gateway n'est pas flagrante. En particulier. Quoi qu'il en soit. Il suffit juste d'installer les paquetages pré-compilés : #apt-get install asterisk La gestion automatique de dépendances de paquets va automatiquement calculer la liste des paquets nécessaires à l'installation d'Asterisk. Par exemple : #apt-get install asterisk-prompt-fr-proformatique va installer des prompts vocaux français supplémentaires. nous avons détaillé la configuration du Provider ToIP. et les réseaux publics. VI. Les paquetages d'installation d'Asterisk sont depuis plusieurs années intégrés dans la distribution Ubuntu (Debian). et enfin certains paquets doivent être nouvellement installés. les notions de LCR (Least Cost Routing) et LCD (Least Cost Dialling) pourront aussi être abordées. plus il aura un niveau de fidélité lui permettant d'atteindre des coûts de facturation proches des coûts de facturation). L'installation d'Asterisk peut être effectuée en lignes de commande depuis un terminal. si l'on souhaite pour jouer des musiques d'attente. Aussi. De plus. La solution est peu onéreuse. et le coût qui est facturé au client. dans la section [default]: . CONCLUSION Dans cet article.

La liste des versions disponibles peut être connue en se connectant sur le site http://svn. Avant d'aller plus loin. à l'aide des logiciels Apache (le serveur Web).1).1 par le numéro de version souhaité dans la commande ci-dessus.a2billing. il doit être installé sur un serveur LAMP. mot de passe a2billing.0. Dans un premier temps. il faut récupérer l'archive contenant les fichiers d'installation.sh demande le nom de la base de données (mya2billing).x/ install-db. Elle peut être trouvée sur le site svn de a2billing : #svn co --username guest --password guest http://svn. c'est-à-dire le résumé de chaque appel (heure de début. en vous y connectant : #mysql -u root -p mya2billing Vous devriez ensuite avoir 97 tables différentes dans votre base de données : mysql>show tables. #cd /usr/local/src/a2billing #mysql -u root -p < DataBase/mysql-5.--mono -R 8000 -a -12 pas déjà été fait. Le premier élément à mettre en place est la base de données dans laquelle a2billing va stocker ses tickets de taxation. Une fois cette opération effectuée. il suffit de remplacer 1. #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.a2billing. Il n'existe pas (du moins au moment de l'écriture de cet article) de paquetage pré-compilé pour ce logiciel. et on donne les droits à l'utilisateur www-data sur ces fichiers (pour qu'ils puissent être modifiés depuis l'interface . mysql>exit Il faut maintenant configurer a2billing pour qu'il utilise la base de données mya2billing. Il faut maintenant créer les tables adéquates dans cette base de données. l'adresse de la machine sur laquelle se trouve la base de données ( 127. Installation de A2billing L'installation de A2Billing se fait uniquement en ligne de commande.sh Rem : Si vous ne disposez pas de l'outil svn.0.sql Il ne reste alors qu'à mettre les fichiers mp3 que vous souhaitez utiliser comme musique d'attente dans le répertoire /var/lib/asterisk/mohmp3 B. appelant.0. …). sur la machine locale (host = 127.net/svn/asterisk2billing/tags /1.conf & Modifiez la section [database] comme suit : [database] hostname=127. Pour cela.0.1 (c'est l'exemple pris dans la commande ci-dessus). utilisateur guest. une arborescence complète de sous-répertoires et de fichiers est maintenant présente dans le répertoire /usr/local/src/a2billing.conf /etc #gedit /etc/a2billing.1 port=3306 user=a2billinguser password=a2billing dbname=mya2billing dbtype=mysql Bien entendu.x/a2billingcreatedb-user. MySQL (base de données) et PHP (interpréteur de scripts PHP pour construire des pages Web dynamiques).sql permet de créer une base de données appelée mya2billing.net/svn/asterisk2billing/tags. nous utilisons un autre script : #/usr/local/src/a2billing/Database/mysql-5. la version la plus récente est la 1.1 /usr/local/src/a2billing/ Le script createdb-user. Plus précisément. A l'issu de cette phase. Nous pouvons maintenant passer à la mise en place et configuration de a2billing. a2billing nécessite aussi Asterisk pour pouvoir mettre en place les appels et les router. appelé. le nom d'utilisateur (a2billinguser) et le mot de passe ( a2billing) pour insérer les tables dans la base de données. Si vous souhaitez utiliser une version antérieure. Si cela n'a On créé ensuite les fichiers de configuration d'Asterisk dans lesquels a2billing enregistrera les profils SIP / IAX des clients.1). tapez la commande suivante : #apt-get install subversion Attention. On parle de serveur LAMP pour qualifier un serveur Web mis en œuvre sous Linux. A l'heure où nous écrivons.8. mot de passe guest.8. tapez les commandes suivantes : #cp a2billing. A2billing a besoin de différents logiciels pour pouvoir fonctionner. vous pouvez vous référer à l'annexe A pour installer Asterisk.[default] mode=custom directory=/var/lib/asterisk/mohmp3 application=/usr/bin/madplay -Q -o raw:. associée à l'utilisateur a2billinguser. Pour cela.0. vous pouvez vérifier que la base de données est bien configurée. plusieurs versions de a2billing sont disponibles.8.0. coût. heure de fin.

verbose.call.conf #echo \#include additional_a2billing_iax.command. pour finir.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/*.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. Vous pouvez y accéder grâce aux identifiants de connexion suivants : http://<@IP du serveur>/a2billing/admin On installe ensuite les fichiers sons relatifs à dans les répertoires d'Asterisk : #/usr/local/src/a2billing/addons/sounds/ install_a2b_sounds_deb.conf #chown -Rf www-data /etc/asterisk/additional_a2billing_iax.conf & Rajoutez la section [myasterisk] : [myasterisk] secret=mycode read=system. et son interface Web doit être opérationnelle.verbose.d/asterisk restart A partir de ce niveau.call.conf #chown -Rf www-data /etc/asterisk/additional_a2billing_sip. 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 .conf >> /etc/asterisk/sip.php Enfin.agent.command. l'installation de a2billing est terminée.conf #touch /etc/asterisk/additional_a2billing_iax.conf >> /etc/asterisk/iax.conf Il ne reste plus qu'à relancer Asterisk pour prendre en compte les modifications : #/etc/init.agent.conf #echo \#include additional_a2billing_sip.Web de a2billing) : #chmod 777 /etc/asterisk #touch /etc/asterisk/additional_a2billing_sip.user write=system.log.log.