270 likes | 630 Views
Présentation Asterisk Juillet 2007. Plan. Présentation générale (a quoi ça sert, historique…) Présentation fonctionnelle Architecture logique Fonctions IPBX (transfert d’appels, messagerie vocale; conférences...) Fonctions ACD (déclaration agents, routage sur occupation…)
E N D
Présentation Asterisk Juillet 2007
Plan • Présentation générale (a quoi ça sert, historique…) • Présentation fonctionnelle • Architecture logique • Fonctions IPBX (transfert d’appels, messagerie vocale; conférences...) • Fonctions ACD (déclaration agents, routage sur occupation…) • Fonctions IVR (langage…) • Présentation technique • Architecture physique • Codecs supportés • Interfaces avec les SI/CRM • Tenue en charge et robustesse • Haute-disponibilité • Scalabilité et partage de charge • Installation/administration/supervision • Cas d’utilisation • Parts de marché / références • Positionnement par rapport à Genesys (concurrent ACD/IVR + partenaire IPBX) • Eco-système • Distributions • Extensions (VoiceXML, Idefix, intégration CRM…) • Gateways/cartes compatibles • Hardphones/softphones compatibles • Schéma plate-forme de démo Atos Origin (serveurs, adresse IP,…) + démos
Présentation générale • Asterisk : implémentation logicielle d’un PBX en VoIP (IPBX) • Projet open source, développé par Mark Spencer (qui a fondé par la suite la société Digium), qui : • Commercialise une distribution de Asterisk • Commercialise des cartes téléphoniques spécifiques pour interconnexion en MICs aux réseaux RTC • Compatible Linux, publié sous licence GPL • Asterisk 1.0 sorti en septembre 2004 • Version actuelle : 1.4.6 (sortie le 29 juin 2007) • Diverses fonctionnalités : PBX, messagerie, conférence, SVI, ACD • Interconnexion possible avec les équipements de téléphonie standard (gateways, cartes téléphoniques, postes téléphoniques) • Extensible : • Par script en utilisant une interface (AGI = Asterisk Gateway Interface) dédiée fournie avec Asterisk • Par ajout de modules (exemples de modules disponibles sur le marché : interpréteur VxML, codecs supplémentaires…)
Architecture logique • Architecture monobloc comportant plusieurs parties • IPBX • Messagerie • ACD • IVR • Base de données interne (AstDB) • Similaire à la base de registre Windows • Fonctions permettant d’ajouter ou de récupérer des variables depuis le plan de numérotation
Fonctions IPBX • Conférence (application MeetMe) • Call Parking • Dial By Name • Authentification • Messagerie vocale • MWI (Message Waiting Indication). Sur softphones/hardphones compatibles ? • Notification par email • Transfert d’appel (aveugle ou accompagné) • Transmission et réception de télécopies • Conversion de protocoles (SIP <-> H323,…), transcodage
Fonctions ACD • Déclaration dynamique d’agents par AgentLogin (par appel d’une extension et saisie de l’ID, mot de passe) ou par AgentCallbackLogin (A PRECISER ???) • Assignation statique d’agents à une file d’attente • Routage sur occupation • Génération de CDR (détail du CDR ???) • Music on Hold • Gestion des groupes de boites de message • Répartition des appels vers les agents suivant différentes stratégies : • Ring all • Round Robin • Round Robin with memory (le sytème se souvient où il a placé le dernier appel) • Least Recent • Fewest Calls • Random • Lien CTI (« bandeau agent ») : rien n’est fourni actuellement, il faut passer par l’interface de script (AGI). Compatibilité MSTAPI / JTAPI ???
Fonctions IVR • Fourni avec prompts libres de droit (???exemples, langues) • Possibilité d’utiliser ses propres prompts • Pré-enregistrés • Enregistrement depuis un téléphone (fonctionnalité Asterisk) • Intégration avec ACD (transfert de contexte) • Gestion des timeout et des extensions invalides • Détection de boucles (raccrochage après n répétitions du même prompt).
Architecture physique • Application monobloc • APIs spécifiques définies autour d’un noyau PBX central
Protocoles VoIP supportés • H.323 • SIP • IAX (Inter-Asterisk eXchange) versions 1 et 2 ???fonctionnalités/intérêts (signalisation et média sont le même port, contrairement à SIP => plus facile niveau NAT et firewall) • MGCP • SCCP (Cisco Skinny) ???ça fait quoi
Codecs supportés • ADPCM • G.711 (A-law et µ-law) • G.722 • G.723.1 • G.726 • G.729 ( A ou B ??? à l’achat d’une licence) • GSM • iLBC ??? • Linear ??? • LPC-10 • Speex ??? • Pas de contraintes sur les transcodages
Interface avec les SI/CRM • Click to Dial • AstTapi : langage??? • Appel d’un utilisateur directement depuis son adresse dans Outlook • MSTAPI • SugarCRM • CRM open source • Intégration d’un module e-commerce • Solution de type base de connaissance • API Manager • Utilisable en ligne de commande • Lien avec AstTaPI ??? • Permet à un programme client de se connecter à une instance d’Asterisk • Envoi de commandes ou récupération d’évènements PBX
Tenue en charge et robustesse • Tests effectués par génération automatique d’appels sur un serveur bi-processeur Intel Xeon 2,8 GHz équipé d’un Go de RAM • Outil utilisé : SIPp (génération de traffic SIP) • Possibilité de définir ses propres scénarios • Tests en charge : • Jusqu’à 1000 appels simultanés (à un taux de 100 caps) • Temps de réponse majoritairement inférieurs à 20 ms (% ??? 95% ???) • Charge processeur : environ 60 % • Au-delà : message d’erreur d’Asterisk
Haute disponibilité et load-balancing • RedFone foneBRIDGE2 • Bridge PRI-to-Ethernet • Partage de ressources entre plusieurs serveurs Asterisk • Haute disponibilité par actif-secours • Configuration flexible • 2 E1 : $1 195 • 4 E1 : $1 695 • UltraMonkey • Suite logicielle open source • Load-balancing avec solutions « Linux HA » et « LVS » (Linux Virtual Services) • Haute disponibilité (Linux HA+logiciel Heartbeat pour vérifier la disponibilité des serveurs) ou clustering (logiciel Rsync pour répliquer les données) • SER/OpenSER • Implémentation logicielle open source d’un SIP Server • Ecriture de services dans les fichiers de configuration ser.cfg/openser.cfg • Module dispatcher pour HA et load-balancing • Est parfois utilisé en amont de serveurs Asterisk pour répartir la charge
Installation • Téléchargement des différentes archives .tar.gz sur www.asterisk.org • Zaptel : drivers pour cartes d’interface TDM • Libpri : librairies PRI ISDN pour interfaces T1/E1/J1 • Asterisk : package principal • Asterisk sounds (optionnel) • Asterisk addons (optionnel) : ??? En particulier : MySQL • Extraction des archives • Configuration et installation • ./configure • make • make install • Existence de distributions centrées sur Asterisk (CD d’installation)
Administration • Edition manuelle de fichiers de configuration situés dans /etc/asterisk : • sip.conf, iax.conf, zaptel.conf… : définition des utilisateurs et de leurs extensions • extensions.conf : plan de numérotation, mise en place d’IVR • agents.conf, queues.conf : configuration de l’ACD • voicemail.conf : messagerie vocale • … • Interface graphique pour configuration d’un serveur Asterisk : FreePBX • Administration simplifiée • Attention : pas de manipulation directe des fichiers de configuration, création de fichiers « .custom »
Supervision • Possible grâce à la MIB SNMP asterisk-mib.txt • Contenue dans le répertoire /doc des sources d’Asterisk • Permet de monitorer le nombre de channels en cours d’utilisation • Tous les channels • Par protocole • Visualisation graphique à l’aide de Cacti • Affiche également par défaut la charge moyenne et l’utilisation de la RAM
Références • Université de Pennsylvanie • Services vocaux par département • Messagerie vocale avec notification • ACD • Couplage avec SIP Express Router (SER) • ENSEIRB ??? • CNAM ??? • ??? En France ??? • VoicePulse • VoIP provider • Messagerie basée sur Asterisk • Prompts IVR Asterisk pour le service client • OVH.com • Hébergeur Web • Utilise Asterisk pour sa plateforme de support téléphonique
Positionnement vis-à-vis de Genesys • Concurrent IVR : non : tenue en charge, modularité, VXML, ASR, TTS via MRCP (compatible avec les éditeurs majeurs), HA • Partie ACD peu compétitive • Pas de CTI intégré • Stratégies de routage basiques • Partenaire IPBX • Utilisé par Genesys comme IPBX d’entreprise • Messagerie vocale Asterisk complémentaire
Distributions • Trixbox • Anciennement Asterisk@Home • Sponsorisée par Fonality • Distribution basée sur CentOS et centrée sur Asterisk • Intègre différents logiciels développés par la communauté Asterisk : FreePBX, FOP, SugarCRM, A2Billing… • AsteriskNOW • Développé par Digium • Distribution Linux personnalisée intégrant Asterisk, son interface GUI, et tous les packages requis pour un système Asterisk • Installation et administration facilitées
Extensions • VXIasterisk • Plugin développé par i6net • Ajoute un navigateur VoiceXML (compatible 2.0 et 2.1) à Asterisk, base OpenVXI • Payant : 100€ par port • Festival • Système de synthèse vocale (TTS) • Open source (CSTR, université d’Edimbourg) • Commande Asterisk : Festival(text, [intkeys]) • Flite • Moteur de synthèse vocale open source (CMU Speech Group) • Plus adapté aux configurations modestes • Sphinx • Logiciel de reconnaissance vocale (CMU Speech Group) • Open source, licence BSD • Intégré à Asterisk via AGI • Asterisk Business Edition • Intègre le logiciel de reconnaissance vocale LumenVox et le moteur TTS Cepstral • Achat d’une licence séparée nécessaire pour activer ces produits
Gateways/Cartes compatibles • Gamme de cartes PCI Digium • Série TC : transcodage • Série TE : cartes T1/E1, avec ou sans annulation d’écho (PCI ou PCI Express) • Série TDM : cartes FXO/FXS • Série B : cartes BRI ISDN • Autres cartes T1/E1 : • OpenVox D110PG, D210P, D410P • PhonicEQ PH-E100P, PH-E200P, PH-E400P • Rhino R1T1, R2T1, R4T1 • Sangoma A101, A102, A104, A108 • Varion V401P-E1 • Potentiellement, toute gateway TDM/SIP ou TDM/H323
Hardphones et Softphones compatibles • Hardphones : • Cisco • Snom • Grandstream • Sipura • Thomson • Polycom • Linksys • Softphones : • X-Lite • Idefisk (SIP et IAX2) • Wengophone • Bol SipPhone • Kapanga • Express Talk • Snom360 • SJphone • Windows Messenger
Box • Asterisk Appliance • Pour les PME (2 à 50 utilisateurs) • Solution entièrement VoIP ou hybride • Fourni avec Asterisk Business Edition et AsteriskGUI • LumenVox (reconnaissance vocale) et Cepstral (TTS) • Un an de support Digium • 5 ports Ethernet (4 LAN, 1 WAN) • Jusqu’à 8 ports TDM • Annulation d’écho • Carte Compact Flash 1 Go • 8 Mo de mémoire Flash embarquée • 64 Mo de RAM embarquée • VoIP seulement : $995 • 4 FXS / 4 FXO : $1,540 • 8 FXO : $1,595
Démos • Asterisk intégré à la plateforme Genesys Atos • IPBX externe • Téléphonie administrative • Notation préfixée • Messagerie vocale • Consultation • Dépôt de messages