Asterisk : Comment configurer odbc pour stocker les cdr dans mysql

Procédure afin d’installer et configurer odbc pour un serveur linux debian afin d’y stocker nos précieux CDR.

Introduction

Tout d’abord nous allons supposer que les serveurs Asterisk et MySQL sont parfaitement installés et configurés (et sécurisés 🙂 ). Ce n’est pas l’objet de ce guide (Howto).

Installation d’ODBC

Nous allons commencer par installer les drivers ODBC nécessaires. Installer les paquets nécessaires pour le bon fonctionnement de ODBC et MySQL :

apt-get install unixodbc libmyodbc unixodbc iodbc

Maintenant, nous allons configurer odbc afin de se connecter à notre serveur MySQL.

Paramétrage de ODBC

Editer le fichier suivant /etc/odbcinst.ini, et copier les éléments suivants :

[MySQL]
Description = MySQL ODBC Driver
Driver = /usr/lib/odbc/libmyodbc.so
Setup = /usr/lib/odbc/libodbcmyS.so
CPTimeout = 0
CPReuse = 0

Maintenant, il faut éditer /etc/odbc.ini et ajouter le code suivant :

[MySQL-asterisk]
Description = Connection to MySQL
Driver = MySQL
Socket = /var/run/mysqld/mysqld.sock
Server = localhost
User = YourUsername
Password = YourPassword
Database = YourDatabase
Option = 3

N’oublier pas d’adapter le User, Password et Database selon vos éléments, sinon vous obtiendrez une belle erreur !.

Création de la base de données CDR

Connectez vous à votre serveur MySQL et entrez le code suivant (attention aux espaces qui peuvent causer des erreurs)

CREATE TABLE cdr(calldate DATETIME NOT NULL,clid varchar(80) NOT NULL DEFAULT'aDefaultValue',src varchar(80) NOT NULL DEFAULT 'aDefaultValue',dstVARCHAR(80) NOT NULL DEFAULT 'aDefaultValue',dcontext VARCHAR(80) NOT NULLDEFAULT  'aDefaultValue',channel VARCHAR(80) NOT NULL DEFAULT 'aDefaultValue',dstchannel VARCHAR(80) NOT NULL DEFAULT'aDefaultValue',lastapp VARCHAR(80) NOT NULL DEFAULT  'aDefaultValue',lastdataVARCHAR(80) NOT NULL DEFAULT  'aDefaultValue',duration int(11) NOT NULLDEFAULT '0',billsec int(11) NOT NULL DEFAULT '0',disposition VARCHAR(45) NOTNULL DEFAULT  'aDefaultValue',amaflags int(11) NOT NULL DEFAULT'0',accountcode VARCHAR(20) NOT NULL DEFAULT  'aDefaultValue',uniqueidVARCHAR(32) NOT NULL DEFAULT  'aDefaultValue',userfield VARCHAR(255) NOT NULLDEFAULT 'aDefaultValue');

GRANT ALL PRIVILEGES ON YourDatabase.* TO YourUsername@localhost IDENTIFIED BY 'YourPassword';

FLUSH PRIVILEGES;

Il faut tester le bon fonctionnement de notre connecteur ODBC avant d’aller plus loin. Entrez cette commande dans votre terminal :

isql -v MySQL-asterisk

Si tout fonctionne correctement, vous êtes connecté, sinon vous devriez voir un gentil message d’erreur 🙁 .

Paramétrage d’asterisk

Configuration d’ODBC

Nous allons commencer par paramétrer les fichiers de configuration d’Asterisk afin qu’il puisse utiliser ODBC afin de se connecter au serveur MySQL. Pour cela, nous allons éditer le fichier /etc/asterisk/res_odbc.conf et y ajouter :

[mysql]
enabled => yes
dsn => MySQL-asterisk
username => YourUsername
password => YourPassword
pre-connect => yes

puis, éditer le fichier /etc/asterisk/cdr_odbc.conf, et remplacer les lignes par celles-ci :

[global]
dsn=MySQL-asterisk
;username=asterisk
;password=asterisk
loguniqueid=yes
dispositionstring=yes
table=cdr ;"cdr" is default table name
usegmtime=no

Configuration de cdr.conf

Pour cela, nous allons éditer le fichier /etc/asterisk/cdr.conf et activer l’enregistrement des CDR dans une base de données via ODBC. Pour cela modifier au début du fichier :

enabled = yes

puis ajouter à la fin du fichier les lignes suivantes :

[odbc]
usegmtime=yes
loguniqueid=yes
loguserfiled=yes

Et maintenant redémarrer votre serveur Asterisk, connectez vous à la console et vérifier que le module res_odbc est bien chargé (reload res_odbc). faites de même avec le module cdr_odbc.

Puis faites un appel afin de vérifier que son CDR est bien dans la base de données.

Conclusion

Après avoir suivi attentivement ce guide, vous avez maintenant une installation Asterisk où vous pouvez enregistrer vos CDR via ODBC dans une base de données MySQL locale ou distante. Vous pouvez ainsi par exemple stocker les CDRs de vos serveurs Asterisk dans une base de données centralisées afin d’exploiter des données riches avec une application comme CDR-STATS, afin d’analyser vos appels et extraire de jolies stats pour les chefs.

 

[revue de presse] Asterisk présenté dans Linux Magazine Avril 2014

Ce mois-ci vous découvrirez un article présentant Asterisk. N’ayant pas encore reçu mon magazine, je ne vous donnerais donc pas d’avis. Mais, si cet article est dans ce magazine, c’est qu’il est de bon niveau. Je vous ferais un retour après lecture. Un autre article qui me tente concerne la planificateur de requête de PostgreSQL. Et hop, un copié-collé du sommaire.

News
p.04 Inside Android : Jelly Bean (4.1 à 4.3)
Sysadmin
p.16 Planificateur de requêtes de PostgreSQL – Les parcours
En couverture
p.28 Asterisk en routeur d’appels : Par Toutatis, ça capte mal dans ce tunnel !
Repères
p.38 Retour d’expérience sur l’optimisation d’un projet libre
p.48 La documentation de code ne sert à rien !
Netadmin
p.50 Collectd et PerfWatcher : découverte
p.56 Collectd et PerfWatcher : installation
p.66 Graphing, logging et monitoring 2.0 : vos alertes avec Sensu
Code(s)
p.80 YAML et Python

IPBX : sortie de Astlinux 1.14, plateforme de communication sécurisée embarquée

Découvrez les détails de cette nouvelle version qu’il faut absolument découvrir

Cette nuit, une nouvelle version de Astlinux vient de sortir. Astlinux est une distribution intégrant Asterisk, et l’ensemble des outils nécessaires afin de gérer votre PABX. Il est plutôt destiné aux petites entreprises du fait de son interface simple. Mais un administrateur connaissant asterisk ne sera nullement bridé et pourra pousser asterisk dans ses retranchements.

Présentation de Astlinux

Astlinux se différencie de ses concurrents Trixbox, Xivo, Elastix par le fait qu’il est optimisé pour fonctionner sur des environnements avec peu de ressources. Je l’ai utilisé pendant des années sur des cartes Soekris. On obtient un système solide : pas de disque dur (on utilise une carte mémoire et le stockage de la prog et des messages se font sur une clé usb ou un disque flash par exemple), pas de ventilateur et une faible consommation (il est facile de tenir de nombreuses heures avec une petite batterie).

Fonctionnalités

AstLinux fournit une plateforme de communication sécurisée intégrant les éléments suivant :

  • Asterisk 1.8 and 11: SIP, DAHDI – IPBX
  • Asterisk Operator Panel: FOP2 – optional Add-On Package
  • Prosody 0.9: XMPP – Presence et Message
  • Linux: Kernel 2.6.35, basé sur Busybox avec iproute2, e2fsprogs et util-linux
  • VPN : OpenVPN IPSec VPN and PPTP
  • Languages: bash, php, lua and perl
  • Server web: Linux-Lighttpd-SQLite3-PHP
  • Monitoring: Zabbix SNMP et UPS Equipment
  • Routeur IPv4 / IPv6 et Stateful Filtering Firewall
  • Serveurs DHCP, DNS, TFTP NTP et FTP
  • Notifications par email
  • Serveur LDAP pour distribuer l’annuaire
  • ODBC afin de supporter SQLite3
  • RUNNIX bootloader permettant la gestion des versions de firmware et les diagnostiques matériels
  • Interface pour l’administration

Nouveautés

Cette nouvelle version apporte l’intégration d’un serveur d’annuaire LDAP permettant de distribuer l’annuaire, la’intégration du paquet Nut pour la supervision de l’UPS et quelques correctifs de bugs et de failles de sécurité.

Conclusion

Attention, Astlinux n’est pas un clicodrome. Il faut donc savoir ce que l’on fait quand on souhaite l’utiliser. Des notions de Linux, d’Asterisk, de réseau et de VPN (si vous souhaitez l’utiliser, mais c’est tout de même recommandé pour les postes distants) sont indispensables.

Vous trouverez sur le site de Astlinux les images afin de pouvoir l’utiliser ou le tester sur VirtuialBox ou VMWare (mais dans ces 2 derniers cas, pas en prod !!!).

L’image pour la carte 5501 de Soekris est bien entendu disponible. Si vous avez dans vos placard quelques cartes 4801, il est possible de créer votre propre image assez simplement.

Asterisk : comment lire un numéro de téléphone à l’appelant

Nous allons voir comment asterisk peut annoncer un numéro de téléphone à l’appelant. En France, on ne lit un numéro de téléphone en annonçant chaque nombre le composant, mais par groupe de 2 ( 014012… est lu zero un, quarante, douze … et non zero, un, quatre, zero, un , deux …). Pour cela nous allons utiliser l’application app_playpack.so.

Fonctionnement

L’application app_playback.so se paramètre dans le fichier de configuration say.conf. L’application utilisée afin de lire le numéro est Playback().

Pré requis

Il faut s’assurer que dans sip.conf, dans la section [general] que vous ayez la définition suivante :

language=fr

Ensuite, éditez asterisk.conf et ajoutez dans le context [options] et ajouter :

languageprefix = yes

Les fichiers de voix française sont bien entendu installés.

Ensuite, vous devez avoir le fichier say.conf dans /etc/asterisk et ce fichier doit contenir les patterns pour le français.

Configuration

Modifiez say.conf afin d’avoir les lignes suivantes :

[fr](date-base,digit-base)
_[n]um:0X => num:${SAY:0:1}, num:${SAY:1:1}

...

;numeros 0800 : 0800, 0811... 0899
_pho[n]e:08XXXXXXXX => num:${SAY:0:1}, num:${SAY:1:3},num:${SAY:4:2}, num:${SAY:6:2},num:${SAY:8:2}

;numeros de telephones fixes et mobiles
_pho[n]e:0[1-79]XXXXXXXX => num:${SAY:0:1}, num:${SAY:1:1}, num:${SAY:2:2}, num:${SAY:4:2}, num:${SAY:6:2}, num:${SAY:8:2}

Ensuite, faites un reload ( ou juste « module reload app_playback.so ») afin de prendre en compte les changements.

Un exemple d’utilisation

Voici un exemple de code à ajouter dans un contexte du fichier extensions.conf :

[pres-num-tel-fr]
exten => 0011,1,Playback(phone:0140456789,say)
exten => 0011,n,Hangup

ou si vous souhaitez utiliser votre AGI en utilisant le PERL :

$AGI->exec("PLAYBACK num:0140456789,say ""n");

Voilà votre asterisk programmé afin d’énoncer à la manière française les numéros de téléphone.

Configurer correctement les appels anonymes avec un asterisk

Pour certaines raisons, vous souhaitez émettre des appels sans présenter votre numéro à partir de votre serveur asterisk. Mais, en jouant sur le CallerID, vos appels sont toujours rejetés. La cause est simple : pour des raisons de traçabilité réglementaire, il faut que l’opérateur puisse tracer l’origine de l’appel. Il faut donc que votre numéro soit correctement indiqué dans les entêtes SIP.

Voici le code à intégrer (et modifier selon votre dialplan) pour vous conformer à la règlementation et éviter d’être rejeté :

exten => _X.,1,NoOp(Mon appel avec mon numero masqué)
exten => _X.,n,SIPAddHeader(P-Asserted-Identity: <sip:${CALLERID(num)}@${SYSTEMNAME}>) ;RFC3323
exten => _X.,n,SIPAddHeader(P-Preferred-Identity: <sip:${CALLERID(num)}@${SYSTEMNAME}>) ;RFC3325
exten => _X.,n,SIPAddHeader(Privacy: id)
exten => _X.,n,Set(CALLERID(num)=)
exten => _X.,n,Set(CALLERID(name)=Anonymous)
exten => _X.,n,Dial ...
exten => _X.,n,Hangup

Configuration de fail2ban selon les différentes versions d’asterisk

Fail2ban est un outil indispensable à installer sur ses serveurs asterisk. Il permet de bloquer de manière proactive les tentatives de scan et ainsi de protéger vos deniers. Mais selon la version d’asterisk, le filtre doit être configurer de manière différente.

Il faut ajouter au fichier jail.conf la partie le code suivant :

[asterisk-iptables]
# if more than 4 attempts are made within 6 hours, ban for 24 hours
enabled  = true
filter   = asterisk
action   = iptables-allports[name=ASTERISK, protocol=all]
              sendmail[name=ASTERISK, dest=, sender=]
logpath  = /var/log/asterisk/messages
maxretry = 4
findtime = 21600
bantime = 86400

et créer le fichier suivant :

filter.d/asterisk.conf

et copier le code suivant pour asterisk 1.4 et 1.6 :

# Fail2Ban configuration file
#
#
# $Revision: 251 $
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]

#_daemon = asterisk

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>S+)
# Values:  TEXT
#

failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Wrong password
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - No matching peer found
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Username/auth name mismatch
            NOTICE.* <HOST> failed to authenticate as '.*'$
            NOTICE.* .*: No registration for peer '.*' (from )
            NOTICE.* .*: Host  failed MD5 authentication for '.*' (.*)
            NOTICE.* .*: Registration from '.*' failed for '<HOST>' - Device does not match ACL
            NOTICE.* .*: Registration from '.*" .* failed for '<HOST>' - Peer is not supposed to register
            VERBOSE.*SIP/<HOST>-.*Received incoming SIP connection from unknown peer

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

et pour la version 1.8, le code suivant :

# Fail2Ban configuration file
#
#
# $Revision: 251 $
#

[INCLUDES]

# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf

[Definition]

#_daemon = asterisk

# Option:  failregex
# Notes.:  regex to match the password failures messages in the logfile. The
#          host must be matched by a group named "host". The tag "<HOST>" can
#          be used for standard IP/hostname matching and is only an alias for
#          (?:::f{4,6}:)?(?P<host>S+)
# Values:  TEXT
#
# Asterisk 1.8 uses Host:Port format which is reflected here

failregex = NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Wrong password
            NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - No matching peer found
            NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - No matching peer found
            NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Username/auth name mismatch
            NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Device does not match ACL
            NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Peer is not supposed to register
            NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - ACL error (permit/deny)
            NOTICE.* .*: Registration from '.*' failed for '<HOST>:.*' - Device does not match ACL
            NOTICE.* .*: Registration from '".*".*' failed for '<HOST>:.*' - No matching peer found
            NOTICE.* .*: Registration from '".*".*' failed for '<HOST>:.*' - Wrong password
            NOTICE.* <HOST> failed to authenticate as '.*'$
            NOTICE.* .*: No registration for peer '.*' (from <HOST>)
            NOTICE.* .*: Host <HOST> failed MD5 authentication for '.*' (.*)
            NOTICE.* .*: Failed to authenticate user .*@<HOST>.*
            NOTICE.* .*: <HOST> failed to authenticate as '.*'
            NOTICE.* .*: <HOST> tried  to authenticate with nonexistent user '.*'
            VERBOSE.*SIP/<HOST>-.*Received incoming SIP connection from unknown peer

# Option:  ignoreregex
# Notes.:  regex to ignore. If this regex matches, the line is ignored.
# Values:  TEXT
#
ignoreregex =

Ce code fonctionne pour asterisk 10 et 11 même si je bosse sur une amélioration.

Comment sécuriser le SIP d’un serveur asterisk ?

Comme convenu lors de mes voeux, voici mon premier article technique de 2012 touchant la sécurité informatique et plus précisément comment sécuriser le SIP d’un serveur asterisk.

Je ne vais pas vous rappeler l’intérêt (quand on touche au portefeuille, on comprend de suite beaucoup plus vite) de bien sécuriser son serveur de téléphonie. Asterisk est de plus en plus déployé en entreprise, apportant une flexibilité et des fonctionnalités pour un coût incomparable. Asterisk sait gérer plusieurs protocoles de communications dont le SIP. Nous allons voir dans cet article comment sécuriser le SIP.

Cet article est « presque » indépendant de la version d’Asterisk (les différences seront indiquées), ceci étant d’autant plus important que pour des questions de stabilité ou de compatibilité de code, beaucoup de solutions n’ont pas migré vers la dernière version stable. On trouve couramment en production des 1.4 .

Du point de vue SIP, Asterisk est un B2BUA. Un B2BUA (back-to-back user agent) est un élément logique du réseau dans les applications SIP. Il intervient entre les deux terminaisons d’un appel et divise la communication en deux appels indépendants. Tous les messages de controls passent par le B2BUA, ce qui lui permet d’intervenir lors de l’appel afin de lancer si nécessaire des applications comme l’interception, l’enregistrement, la diffusion de messages … Par contre asterisk n’est pas un proxy SIP. Il intègre quelques unes des fonctions (routage des appels, serveur registrar), mais gère de manière incomplète l’ensemble des messages SIP. Ce n’est tout simplement pas son job.

Afin de protéger notre serveur asterisk, il est judicieux de mettre en frontal un proxy SIP comme Opensips ou Kamailio. Ainsi, toutes les requêtes SIP seront dirigées vers l’interface publique du Proxy SIP. Cela va nous permettre ainsi d’isoler Asterisk. De plus, nous obtenons une architecture plus évolutive (load balancing ou fail over entre 2 serveurs asterisk synchronisés) et plus résistante aux attaques de déni de services. Un proxy SIP a été construit pour supporter un grand nombre de requêtes SIP, ce qui n’est pas le cas d’un serveur Asterisk.

Nous allons ainsi pouvoir paramétrer de manière précise comment notre proxy va répondre aux demandes selon leurs profils, bannir des adresses IP qui auraient un comportement anormal, et détecter des attaques selon des dictionnaires. On peut aussi bannir par défaut des IP selon leur origine géographique, ce qui est très utile si vos clients ne sont qu’en France ou en Europe par exemple.

De plus, Asterisk ne supporte les communications sécurisées (TLS) que depuis la version 1.8 (une version beta patchée 1.6 existe, mais il n’est pas conseillé de l’utiliser en production). Cela ajoute en plus une charge complémentaire sur le serveur. Dans notre schéma, les flux TLS seront gérés par le proxy SIP qui renverra un flux non crytpé à notre asterisk.

Voilà notre schéma :

SIP Channels (réseau public et privé) < —–> PROXY SIP < ——-> ASTERISK < ——> DAHDI, IAX …. channels (réseau privé)

Asterisk fonctionne en Realtime intégrant ainsi dans sa base de données les comptes utilisateurs SIP. Le proxy va vérifier les comptes et l’état des postes SIP dans cette base. L’authentification est gérée par le proxy SIP. Quand un appel arrive et qu’il est authentifié, le proxy le renvoie vers le serveur asterisk. Si l’utilisateur est est disponible (utilisateur interne ou externe via un trunk SIP opérateur), asterisk renvoie l’appel au proxy SIP qui renvoie l’appel au destinataire final.

Ainsi, lors d’une tentative d’attaque, le serveur asterisk est complètement isolé, et c’est le proxy SIP qui les gèrera.

Asterisk peut-il remplacer votre PABX ?

Lors de projet de renouvellement de leur PABX, beaucoup de personnes se pose la question de l’opportunité de migrer sur une solution open source comme Asterisk. La principale motivation étant de réaliser des économies, de récupérer l’exploitation en interne et de l’intégrer au sein de l’infrastructure informatique.

Historique

Asterisk a été créé en 1999 par Mark SPENCER (un gars exceptionnel que j’ai eu l’occasion de rencontrer plusieurs fois). Le code du logiciel est distribué en open source sous la licence GPL. Le site du projet est tout simplement www.asterisk.org

Présentation d’Asterisk

Asterisk est un logiciel permettant de mettre en oeuvre un PABX, c’est à dire de relier entre eux des téléphones de technologies différentes et des trunks. Les trunks sont des accès opérateurs, comme les accès numéris, analogique ou SIP. Asterisk est compatible avec tous les postes IP compatibles avec la norme SIP, IAX et SCCP. On peut aussi connecter des postes analogiques et des postes sans fil via des gateways. Une gamme impressionnante de carte permet de se raccorder aux réseaux des opérateurs.

Nous l’avons vu, au niveau des périphériques, l’offre est très importante et n’a pas à pâlir des solutions payantes concurrentes. Mais, car il y a un gros mais, quand vous installez Asterisk, vous n’obtenez pas un PABX. Vous avez une excellente base, mais sans programmation, il vous ne pouvait pas passer un appel. Afin de construire votre PABX, il vous faudra programmer toutes les fonctions dont vous avez besoin. C’est là que se situe toute la difficulté, car à moins de maîtriser les langages de programmation propre à Asterisk, vous arriverez juste à émettre et à recevoir des appels, mais sûrement pas à faire des interceptions et encore moins mettre en oeuvre la fonction patron-secrétaire. La mise en oeuvre de fonctionnalités évoluées et une intégration parfaite avec les postes nécessitent une excellente expertise. Vous remarquerez aussi que je n’ai pas parlé de fiabilité et de stabilité. Installer Asterisk pour une personne maîtrisant linux, n’est pas une chose compliquée notamment sur Centos. Sécuriser et fiabiliser cette même installation est autrement plus complexe, notamment quand le volume d’appels à traiter est assez important.

Les avantages d’Asterisk

Asterisk a pourtant des avantages à faire valoir par rapport aux PABX du marché. Quand vous achetez un PABX, vous ne pouvez installer que les postes du constructeurs, avec Asterisk vous avez le choix. Vous aurez (ou votre intégrateur) juste à adapter les scripts en conséquence. Vous n’avez plus de limite dans les programmations souhaitées et dans les circuits d’appels, problèmes par contre souvent rencontrés avec les PABX. Vous restez aussi maître des coûts d’évolution, en effet il n’y a pas de licences par utilisateurs, ou de cartes à ajouter. Il faudra par contre surveiller le dimensionnement du serveur.

Et la sécurité ?

J’ouvre un chapitre sur la sécurité. Le monde du PABX m’a souvent étonné par l’ignorance des risques associés. Combien d’entreprises ont vu leur PABX piratés ? mieux, combien se sont aperçues du piratage (en dehors de la facture) ?

Les PABX sont rarement en dernière version logicielle essentiellement pour des questions de coûts ou d’ignorance. Le parc est donc en production avec des failles de sécurité et des bugs non corrigés. Mais connaissez vous la liste des bugs et des failles de la version que utilisez chaque jour ? les hackers oui. Avec Asterisk, vous connaissez les bugs, vous pouvez ainsi mettre en place les procédures nécessaires pour les corriger ou les contourner, appliquer le dernier patch.

Le second point de la sécurité concerne les communications IP. A ce jour, Asterisk ne sait pas crypter les flux RTP (mais c’est en cours), mais peu de solutions constructeurs le proposent. Ceux qui ont ce besoin de part leur activité doivent garder cela en mémoire et bien étudier les fiches techniques des constructeurs afin de vérifier si ce point du cahier des charges est parfaitement rempli.

Asterisk est une solution logicielle qui demande de la maintenance logicielle. Souvent cet effort est oublié par les entreprises quand elles intègrent une solution open source. Et pourtant, cette maintenance va garantir la sécurité, la stabilité et l’évolutivité de votre PABX.

Alors, puis-je installer Asterisk dans mon entreprise ?

L’objectif de l’article étant de répondre à la question : puis-je installer Asterisk dans mon entreprise?

La réponse est oui.

Ai-je un intérêt financier à le faire ?

Cela va dépendre de votre expertise, de la taille de votre entreprise et de votre cahier des charges. Il existe des intégrateurs qui ont développé à partir d’Asterisk des PABX soit en mode licence soit en mode appliance (serveur + Asterisk + scripts). Pour les entreprises aux besoins standardisés et sans expertise, cette alternative peut permettre de réaliser des économies tout en bénéficiant des avantages d’Asterisk.

Il faut vérifier tout de même que la solution ne devient pas closed source (vous vous retrouverez dans le cadre d’un PABX constructeur).

Conclusion

En conclusion, je vais parler de mes propres expériences. Je travaille sur Asterisk depuis 2001 et j’ai donc suivi l’évolution impressionnante du projet. J’ai réalisé des intégrations pour des centres d’appels, des entreprises multi site et du centrex. J’utilise aussi Asterisk pour combler des lacunes de PABX en place. Le projet est extrêmement puissant et ouvre des possibilités infinies à qui sait les exploiter. 😉