Promouvoir et soutenir le logiciel libre

Expérience d'un déploiement Asterisk dans une entreprise française

Auteur : Alexis de Lattre <alexis _arobase_ via.ecp.fr>

Vous avez le droit de copier, distribuer et/ou modifier ce document selon les termes de la GNU General Public License version 3 ou n'importe quelle version ultérieure, telle que publiée par la Free Software Foundation.

La version la plus à jour de ce document se trouve à l'adresse http://people.via.ecp.fr/~alexis/asterisk/

N'hésitez pas à m'envoyer un mail pour me faire part de votre propre expérience, qu'elle soit positive ou négative, me donner un conseil, me suggérer une solution alternative, me signaler une erreur ou une faute d'orthographe dans le document, etc...

A propos de l'auteur

Dans le cadre de ma nouvelle activité professionnelle, je propose mes services de déploiement et d'expertise sur les solutions Asterisk. Je propose par exemple de réaliser des installations d'IPBX Asterisk et de téléphones IP dans des PMEs pour un prix forfaitaire. Si vous êtes intéressé, n'hésitez pas à me contacter par mail à l'adresse qui figure au début de ce document.

Par ailleurs, j'ai publié en Septembre 2010 un module de click2dial Asterisk pour OpenERP, un ERP en logiciel libre. Ce module est sous licence AGPL, la même licence qu'OpenERP. Il est hébergé sur Launchpad.net, avec les autres modules OpenERP de la section extra-addons. Une documentation complète est disponible en anglais. Ce module a 2 fonctionnalités :

Je suis membre de la sympatique association Asterisk France ; mon nom sur le forum est sixela.

Historique

Date Changement
2008-01-13 Version initiale
2008-01-27 Relecture et ajout du diagramme (vive OpenClipart !)
2008-02-01 C'est bon, j'ai réussi à faire marcher le call pick-up sur les ST2030, cf l'explication dans ce fil de discussion sur le forum d'Asterisk France. Nouveau fichier Common Config de ST2030 mis en partage.
2008-04-27 Mise à jour concernant l'émission de fax. Mise en partage d'un certain nombre de mes fichiers de configuration d'Asterisk.
2008-06-03 Ajout sur les channel bank Ethernet/RNIS comme alternative à une carte RNIS PCI.
2008-08-12 Selon ce message dans le forum Asterisk France, le firmware 1.62.3 des téléphones ST2030 permettrait d'utiliser le call pick-up avec les touches de fonction sans patcher Asterisk... il va falloir que je teste ça !
2008-09-06 J'ai trouvé un bug dans les firmwares 1.62 des téléphones ST2030 quand ils sont utilisés avec le module d'extension. Le firmware 1.63 est a priori également affecté. Tous les détails sont sur ce fil de discussion dans le forum Asterisk France. Du coup j'ai downgradé mes deux téléphones qui ont le module d'extension en firmware 1.58 et tout marche bien.
2008-10-28 Thomson a releasé un firmware 1.64, qui, selon les release notes de Thomson et ce message dans le forum Asterisk France corrige le bug que j'avais trouvé dans les firmwares précédent et qui affectait les téléphones ST2030 dotés d'une extension. Je n'ai pas encore eu le temps d'essayer ce nouveau firmware.
2008-11-16 Quelques ajouts sur les channel bank RNIS, suite à une recherche sur le sujet.
2009-01-04 Baisse de prix des channel bank RNIS Patton... je vais peut-être finir par en acheter un quand j'aurai le temps de le déployer !
2009-03-01 Remontée brutale des prix des channel bank RNIS Patton chez IP and Go, ce qui ramène ces boitiers à leurs prix antérieurs. Début de mes recherches sur les interphones SIP avec commande d'ouverture de porte. Mise à jour des URLs vers Asterisk-France.net. Info intéressante : les drivers mISDN font maintenant partie du kernel 2.6.27, comme expliqué ici.
2009-03-22 MAJ au niveau des channel bank RNIS et sur les opérateurs VoIP (suite à mes nouvelles recherches sur le sujet).
2009-04-08 J'ai reçu aujourd'hui au bureau l'interphone SIP (modèle PanTel IP d'ITS Telecom). 1ère surprise : le bouton "Call" n'est pas vraiment un bouton ! En fait, il n'y a pas réellement de bouton sur le boitier mais seulement une marque noire qui délimite l'emplacement du bouton sur le boitier. Apparemment, il s'agit d'un bouton Piezzo-électrique qui détecte la pression sur le métal du boitier à ce endroit. Le seul souci est que ça ne donne pas du tout l'impression que c'est un vrai bouton sur lequel il faut appuyer pour appeler ! J'espère pouvoir jouer avec cet interphone et donner mes premières impressions très bientôt.
2009-04-10 L'interphone SIP PanTel IP fonctionne... à un détail près : on entend la personne qui parle dans l'interphone, mais la personne à l'interphone n'entend pas son interlocuteur. J'ai essayé d'ajuster le niveau sonore du haut parleur de l'interphone, mais sans succès. D'après le support, je suis en dernière version de firmware. Il va donc falloir que je creuse le sujet...
2009-04-11 J'ai testé il y a quelques semaines le firmware 2.67 des téléphones ST2030, mais j'ai découvert un bug : le call pickup avec les touches de monitoring ne fonctionne plus ! J'ai remonté le problème dans ce fil de discussion du forum Asterisk-France, et d'autres utilisateurs ont confirmé le bug et en ont trouvé d'autres. Décidément, il devient difficile de trouver un firmware ST2030 récent qui fonctionne correctement, et on est obligé de déployer différentes versions de firmware sur nos téléphones en fonction de l'utilisation qui en est faite et de la présence ou non d'un module d'extension. Je ne suis pas le seul à faire ce constat : dans le même fil de discussion, l'utilisateur yold en a également marre. Après réflexion, j'ai donc décidé de modifier mes commentaires sur le téléphone ST2030 pour souligner la mauvaise qualité des firmwares Thomson, jusqu'à ce que Thomson se décide à sortir des firmwares moins buggés. Même si l'audience de cette page Web reste modeste, elle est quand même en bonne position dans Google quand on recherche "ST2030 asterisk", et j'espère que cela réveillera certaines personnes en charge du développement produit chez Thomson !
2009-06-08 Nous avons déployé notre interphone SIP Pantel IP avec succès. Le problème de communication où on entend la personne qui parle dans l'interphone mais pas l'inverse a disparu comme par enchantement. Tout marche bien, y compris la commande d'ouverture de porte : pendant la communication avec l'interphone, on appuie sur une touche et le signal DTMF est interprété par l'interphone pour déclencher l'ouverture de la porte. La commande d'ouverture de notre porte est faite par un contact sec ouvert par défaut i.e. il faut que le contact soit fermé pour que la porte s'ouvre. Il est aussi possible d'avoir un contact sec fermé par défaut, mais aussi de commander une gache électrique en mode "ouvert si alimenté" ou en mode "fermé si alimenté". Il reste encore à résoudre le problème d'écho entre les téléphones ST2030 et l'interphone, qui est probablement causé par un écho acoustique... à creuser.
2009-06-14 Nous avons déployé cette semaine un Channel bank RNIS/Ethernet, modèle Patton SN4638. Pourquoi ? Parce qu'on avait des problèmes d'écho sur certaines conversations téléphoniques (cela restait très rare), et que nous avions de toute façon besoin d'avoir une redondance sur notre accès RNIS. Notre Patton SN4683 est donc en production depuis 3 jours maintenant et tout se passe bien. En cas de panne du Patton, nous rebasculerons sur la B410P en changeant le branchement des câbles qui vont aux lignes RNIS et en adaptant le dialplan dans Asterisk. Nous avons fait cette migration avec Christophe Jeannot de la société Azylis, société qui fait notamment de l'intégration Asterisk et qui est aussi opérateur VoIP. En relisant nos fichiers de configuration mISDN avec Christophe, nous nous sommes aperçus que nous avions désactivé l'anti-écho de la B410P dans le fichier /etc/asterisk/misdn.conf, car nous avions suivi une documentation qui s'appliquait à une carte RNIS 4 ports de Beronet possédant le même chipset et le même driver... mais qui n'était pas pour autant identique à la B410P de Digium car elle ne possède pas d'anti-écho hardware ! J'ai donc mis à jour mon fichier de configuration mISDN d'exemple.
2009-06-16 Mise en place d'un partage d'anciens firmwares ST2030, pour permettre aux utilisateurs de downgrader pour tenter de trouver des firmwares sans bug critique : http://people.via.ecp.fr/~alexis/asterisk/st2030/firmware/ J'ai pris cette initiative car actuellement seule la dernière version de firmware est disponible sur le site de Thomson... et ce n'est pas la moins buggée de toutes !
2009-07-10 Beaucoup de nouvelles choses en perspective : nous avons reçu un téléphone Aastra 6731i, un pont de conférence Polycom IP 6000 et un switch Linksys SRW224G4P qui permet de faire du PoE. Je suis entrain de m'amuser à configurer tout ça... plus d'infos très bientôt.
2009-07-11 J'ai configuré notre téléphone Aastra 6731i, et ça s'est très bien passé. La configuration est beaucoup plus simple qu'avec les ST2030 : nombre de fichiers de configuration réduit (1 fichier commun à tous les téléphones, 1 fichier spécifique au téléphone), pas besoin de penser à changer le nom du fichier ou à mettre un jour un certain paramètre pour que le téléphone tienne compte des modifications du fichier de configuration (une aberration des ST2030 !). J'ai réussi à faire marcher tout ce que je voulais : monitoring de ligne, call pickup, MWI, transfert d'appel, conférence, tag diffserv des packets IP émis, etc... J'ai ajouté une section Déploiement et configuration des téléphones Aastra 6731i où je mets en partage mes fichiers de configuration pour ceux que ça intéresse. Si tout se passe bien dans les prochaines semaines, je compte acheter des téléphones Aastra plutôt que des ST2030 pour mes prochaines extensions de parc.
2009-07-19 J'ai configuré notre pieuvre de conférence IP 6000. Je n'ai testé que le fonctionnement de base, mais ça a l'air de bien marcher. J'ai ajouté une section Déploiement et configuration d'une pieuvre de conférence Polycom IP 6000. J'ai reçu un mail m'indiquant une solution concernant une des imperfections que j'avais relevé sur notre installation. J'ai donc mis à jour la section en question avec les informations que j'ai reçu et mes recherches complémentaires. J'en profite pour remercier la personne qui m'a donné la solution !
2009-07-26 Le téléphone Aastra 6731i que nous testons depuis 2 semaines fonctionne parfaitement, et c'est donc maintenant notre nouveau téléphone de référence. Les prochains téléphones que nous achèterons seront donc des Aastra 6731i. J'ai mis à jour la section choix des téléphones IP en conséquence.
2009-08-31 J'ai passé les téléphones ST2030 de notre parc en firmware 1.65, qui est le seul firmware récent sans bug trop gênant, en tout cas pour l'utilisation qu'on en fait !
2009-09-14 J'ai mis en partage mes fichiers de configuration des téléphones ST2030 pour le firmware 1.65, à télécharger ici !
2009-10-04 Je suis entrain de faire mon 2ème déploiement, dans une petite entreprise française. Pour ce déploiement, j'ai choisi les téléphones Aastra 31i, une passerelle SIP/RNIS Patton, et un serveur Elastix. Je n'ai pas encore réussi à tout faire marcher, car il faut que j'apprenne FreePBX, mais j'espère y arriver rapidement !
2009-10-18 Ma deuxième installation est maintenant en production. Il reste encore quelques détails à améliorer, mais ça fonctionne. Je suis globalement assez content de FreePBX, même si j'ai l'impression que c'est pas très bien documenté (mais je n'ai peut-être pas trouvé la bonne doc...). J'ai ajouté un tableau récapitulatif des différentes distributions Asterisk, et ajouté Xivo à la liste des distributions Asterisk.
2009-12-06 Le firmware 2.69 pour les téléphones ST2030 est sorti ; le bug sur le call pickup du firmware 2.68 est apparemment toujours présent. Je remarque d'ailleurs, et c'est la première fois, que les membres du form Asterisk-france ne sont plus motivés pour tester les nouveaux firmwares Thomson, comme si ils avaient perdu l'espoir que Thomson sorte un jour un firmware sans bug gênant ! De mon côté, j'utilise toujours le firmware 1.65, qui ne souffre que d'un seul petit bug (cf détail des bugs par version de firmware dans cette section).
2010-04-24 Ajout de précisions sur mon avis concernant les téléphones ST2030, l'interphone Pantel IP et le switch Linksys PoE. Mise à jour de la partie réseau, car nous utilisons maintenant un VLAN dédié à la VoIP, ce qui n'était pas le cas initialement. Partout où il est écrit Zaptel, je rappelle que le nouveau nom est DAHDI. Ajout d'un tableau récapitulatif des composants logiciels d'un IPBX dans la section choix du packaging Asterisk. Revue complète de la section choix des interfaces téléphoniques (anciennement appelée "choix des cartes téléphoniques). Ajout d'une section Annexes avec les anciens schémas d'architecture. Passage au correcteur orthographique. Correction des liens morts.
2010-04-27 Ajout d'éléments dans le tableau récapitulatif des avantages et des inconvénients des différentes solutions pour le packaging d'Asterisk.
2010-04-29 Un élément de plus dans les défauts de l'interphone Pantel.
2010-05-03 Ajout de précisions concernant les switchs PoE et un exemple de PC fanless.
2010-05-07 Ajout d'une colonne sur Asterisk 1.6 dans le tableau de comparaison des distributions Asterisk.
2010-05-31 Ajout des commandes de diagnostic Patton que j'utilise.
2010-06-03 Etape importante dans l'évolution de notre déploiement Asterisk : nous avons choisi un nouvel opérateur de téléphonie fixe et c'est un opérateur IP : Acropolis Telecom. Nous allons donc passer de nos accès Numéris France Telecom à un accès SDSL avec une interconnexion en trunk IAX entre notre serveur Asterisk et les équipements d'Acropolis Telecom. Nos numéros de téléphone fixe actuels seront portés chez Acropolis. Cette page va donc évoluer dans les prochaines semaines pour vous faire part de notre retour d'expérience une fois que le nouvel accès sera mis en place, c'est à dire d'ici fin Juin.
2010-06-10 Mise à jour de notre serveur Asterisk de Debian Etch à Lenny. Utilisation des paquets Debian pour Asterisk, en remplacement de notre ancien Asterisk compilé à la main. J'ai mis à jour le tableau regroupant les versions des composants logiciels utilisés ainsi que la section concernant le choix du packaging d'Asterisk.
2010-06-11 Petit souci concernant les conférences téléphoniques : la combinaison de DAHDI 2.3.0 avec Asterisk 1.4.21 ne marche pas. Par contre, Asterisk 1.4.21 marche bien avec Zaptel 1.4.11. D'après mes recherches, la première version d'Asterisk 1.4 qui supporte DAHDI est Asterisk 1.4.22.
2010-06-24 Nous avons mis en place le trunk IAX avec Acropolis Telecom, notre nouvel opérateur de téléphonie fixe, via la liaison SDSL dédiée. Nous l'utilisons pour les appels sortants et cela marche bien... mais c'est encore trop tôt pour porter un réel jugement. Nous continuons de recevoir les appels par nos lignes Numéris et notre passerelle SIP/RNIS Patton jusqu'au portage de nos numéros chez Acropolis, qui aura lieu la semaine prochaine. Je mettrai alors à jour le schéma avec la nouvelle architecture.
2010-07-03 Le portage des numéros a été réalisé avant-hier ; ça s'est globalement bien passé, même si ça n'a malheureusement pas été parfait. Je donnerai plus de détails très prochainement ; il faut aussi que je m'attaque à la mise à jour du schéma d'architecture suite à cette migration.
2010-07-09 Mise à jour du schéma d'architecture suite au basculement vers notre nouvel opérateur IP ; l'ancien schéma d'architecture a été déplacé à la fin du document. Mise à jour de la section sur les fax, de la section choix du canal de communication avec l'extérieur et création d'une section choix d'un opérateur IP, qui devra encore être complétée.
2010-07-23 Relecture complète. Suppression de tout ce qui était obsolète dans la partie sur l'installation du serveur Asterisk. Suppression de toutes les références à mISDN, car on m'a dit que les cartes RNIS PCI B410P étaient maintenant bien supportées par DAHDI ; comme je ne sais pas si il vaut mieux utiliser mISDN ou DAHDI, je préfère ne rien dire et ne pas inciter à choisir mISDN. Amélioration du schéma d'architecture. Ajout d'une colonne "Produit que je recommande ?" dans le tableau du budget. Beaucoup d'ajouts aux sections choix de l'opérateur IP et choix du canal de communication avec l'extérieur avec notamment une comparaison des coûts entre la solution RNIS et la solution d'un opérateur IP. Ajout d'une section sur le choix du codec, qui demande encore à être complétée. Nouvelle section Interconnexion avec un opérateur IP.
2010-08-10 Ajout d'un point supplémentaire (négatif) sur notre expérience avec Acropolis Telecom.
2010-09-12 Ajout d'une section sur le call pickup, et en particulier la distinction entre le directed pickup et le group pickup... une subtilité que j'ai compris seulement récemment !
2010-09-23 Annonce de mon module de click2dial Asterisk pour OpenERP, un ERP en logiciel libre. Ce module est sous licence AGPL, la même licence qu'OpenERP.
2010-10-20 Petite mise-à-jour pendant la conférence Asterisk au salon IP Convergence !
2010-11-02 J'ai déjà trouvé un bug dans le firmware 2.72 des téléphones ST2030 (le tableau qui résume les bugs par version a été mis-à-jour), et c'est confirmé par les témoignages sur le forum Asterisk-France. Thomson est donc fidèle à sa tradition de firmwares buggés... alors que, sur les téléphones Aastra, je n'ai pour l'instant jamais trouvé le moindre bug !
2010-11-12 Mise à jour de la partie sur le choix du hardware.
2010-12-06 Depuis Décembre 2010, Acropolis Telecom émet une seule facture par mois (au lieu de 2)... un point négatif en moins pour Acropolis !
2010-12-29 Mise à jour du descriptif concernant le module asterisk_click2dial pour OpenERP que j'ai développé, pour mentionner la nouvelle fonctionnalité de présentation du nom du correspondant sur un appel entrant. Voilà le lien vers l'annonce de cette nouvelle fonctionnalité.
2011-02-18 Grosse mise à jour : mes déconvenues avec Acropolis Telecom qui m'ont fait changer ma recommandation concernant les canaux de communications avec l'extérieur et les opérateurs IP. Ma troisième expérience de déploiement Asterisk, cette fois-ci avec Xivo, qui est une très bonne distribution Asterisk que je recommande comme choix de packaging Asterisk.
2011-03-21 Ajout du problème de fiabilité des combinés des téléphones ST2030, que nous ne sommes apparemment pas les seuls à constater.
2011-05-12 Une remarque en plus sur le téléphone ST2030 : défauts du port "PC".
2011-10-26 J'ai complété la partie choix du serveur avec l'expérience de mon 4ème déploiement Asterisk où j'ai choisi un serveur no moving parts c'est à dire un serveur fanless avec un SSD.
2011-11-29 J'ai pu faire marcher la fonctionnalité p-asserted avec Asterisk 1.8, ce qui permet d'avoir la mise à jour de la présentation du numéro lors d'un transfert d'appel, cf cette section. Ma section liste des imperfections qu'il reste à corriger est donc maintenant vide !
2011-12-29 Suite à ce que j'ai appris sur mes déploiements récents, j'ai ajouté une partie sur le choix des téléphones sans-fil et j'ai complété l'information sur les opérateurs IP avec la nouvelle offre de trunk SIP d'OVH.
2012-04-09 Ajout d'infos sur Xivo 1.2 ainsi que sur l'offre SIP trunk + connexion dédiée d'OVH. Un downtime ajouté au tableau de suivi de nos downtimes Acropolis Telecom.

Introduction

Ce document a pour objectif de faire profiter les personnes envisageant un déploiement d'Asterisk dans leur entreprise de l'expérience que j'ai acquise ; il détaille l'architecture mise en place, les choix techniques que nous avons fait et la motivation de ces choix, les erreurs à éviter et il fourni des liens vers nos fichiers de configuration à titre d'exemple. C'est d'une certaine façon ma contribution à la communauté Asterisk francophone. Ce document n'est pas un tutoriel sur Asterisk ; il existe déjà suffisamment de tutoriels qui expliquent la configuration et le paramétrage d'Asterisk.

La version initiale de ce document a été rédigée à l'issue du déploiement d'Asterisk dans mon entreprise en Août 2007. Ce déploiement a été réalisé par Baptiste Sadoul et moi-même pour toute la phase d'étude, de test et de déploiement, avec le support d'Adrien Pestel de la société Morea pour la phase finale de déploiement. Quand nous avons réalisé ce déploiement, nous n'avions aucune compétence et aucune expérience en VoIP. Par contre, nous avions une solide expérience en administration Linux et en réseaux IP. Ce document a été mis à jour au gré des évolutions de notre installation VoIP, des ajouts de matériel, des mises à jour logicielles, etc...

Depuis ce premier déploiement, j'ai réalisé deux autres déploiements Asterisk :

Les choix de matériel et d'architecture que j'ai fait pour ces deux autres déploiements sont inspirés des réussites et des erreurs que j'ai fait lors de mon premier déploiement. Je parlerai donc également à certains moments de ces deux autres déploiements dans ce document.

Pourquoi préciser dans le titre dans une entreprise française ? La plupart des informations contenues dans ce document ne sont pas spécifiques à la France. Seules certaines informations sur les opérateurs télécom et les sociétés de service sont spécifiques à la France. Les lignes RNIS sont très classiques pour les installations téléphoniques d'entreprise en Europe, mais pas forcément sur les autres continents.

Pré-requis conseillés pour la lecture de ce document :

Installation précédente

Notre installation téléphonique précédente était centrée autour d'un PABX Alcatel Diatonis S2 (loué à France Telecom) qui était doté de :

Ce PABX était relié à 3 lignes RNIS T0 de France Telecom. Rappel : une ligne T0 permet d'avoir 2 conversations téléphoniques simultanées.

Ce PABX ne convenait plus à nos besoins car, avec la croissance des effectifs de l'entreprise, il n'y avait plus de ports libres pour brancher des téléphones supplémentaires !

Installation VoIP avec Asterisk

Schéma d'architecture

Architecture actuelle de mon premier déploiement

Voilà l'architecture de mon premier déploiement ; le schéma correspond à la solution en place depuis l'arrêt de l'utilisation de nos lignes RNIS et le passage vers l'opérateur IP Acropolis Telecom en Juillet 2010 (une architecture que je ne recommande plus, sauf dans certains cas) :

diagramme d'architecture VoIP après le passage à un opérateur IP

Architecture que je recommande

Voilà l'architecture que je recommande, et qui est à peu de choses près l'architecture que j'ai retenu pour mon 3ème déploiement :

diagramme d'architecture VoIP recommandé

Les principales différences par rapport à l'architecture actuellement utilisée dans mon premier déploiement sont les suivantes :

Version des composants logiciels actuellement utilisés

Pour mon premier déploiement

Composant Version du logiciel
Distribution Linux Debian Lenny 5.0
Noyau Linux 2.6.26 (noyau de Debian Lenny)
Zaptel (DAHDI) 1.4.11 (paquet Debian Lenny)
libpri 1.4.3 (paquet Debian Lenny)
Asterisk 1.4.21.2 (paquet Debian Lenny)
cdr-stats 1.0.2
Téléphones Technicolor ST2030 firmware 1.65
Téléphones Aastra 6731i firmware 2.5.2.1010
Pieuvre de conférence Polycom IP 6000 Bootrom 4.1.2B et application SIP 3.1.3B
Interphone Pantel firmware 1.00.39

Ce que je recommande

Composant Version du logiciel
Distribution Asterisk Xivo Dernière version de la branche 1.2
Téléphones Aastra 6731i Dernière version en date de la série 2.6.0
Pieuvre de conférence Polycom IP 6000 Dernière version en date
Patton SN4638 firmware 4.2 (la seule version que j'arrive à faire marcher)

Matériel utilisé et budget

Voilà la liste de tout la matériel que nous avons acheté pour mon premier déploiement VoIP avec les prix associés ; cela vous permet de connaître le budget de mon premier déploiement. J'ai laissé les prix payés lors de l'achat ; certains prix ont donc évolué depuis. Les éléments sur fond gris sont les éléments qui ne sont plus utilisés dans l'architecture actuellement en production.

Composant Produit retenu Utilisation Acheté chez Prix unitaire HT Quantité Total HT Produit que je recommande ?
Serveur Dell Optiplex GX620 depuis le début Dell 700 € 1 700 € Oui, mais il y a mieux je pense
Téléphone IP filaire Technicolor/Thomson ST2030 depuis le début HL2D 80 € 40 3 200 € Non, je recommande les téléphones Aastra
Extension standard Technicolor/Thomson ST2030e depuis le début HL2D 65 € 3 195 € Non, je suggère d'utiliser les extensions pour les téléphones Aastra 5Xi
Interphone IP ITS Telecom Pantel depuis Mai 2009 MPI Networks 390 € 1 390 € Non, je suggère d'essayer l'interphone 2N Helios IP
Téléphone IP filaire Aastra 6731i depuis Juillet 2009 IP and Go 80 € 6 480 € Oui
Pieuvre de conférence Polycom IP 6000 depuis Juillet 2009 IP and Go 465 € 1 465 € Oui
Switch PoE 24 ports Linksys SRW224G4P-EU depuis Juillet 2009 Busiboutique 336 € 1 336 € Si vous avez plusieurs VLAN, non, je suggère de tester les switchs HP Procurve 2510-24-POE
Passerelle SIP/RNIS Patton SN4638 de Juin 2009 à Juillet 2010 Azylis 600 € 1 600 € Oui, si vous conservez vos lignes RNIS
Carte RNIS Digium B410P du début à Juin 2009 Opcom 570 € 1 570 € Sans avis, dépend de l'architecture retenue
Carte pour téléphonie analogique Digium TDM400P avec 1 port FXS n'est plus utilisée Opcom 117 € 1 117 € Sans avis, dépend de l'architecture retenue

Mes bookmarks

Voilà un peu en vrac les sites Web actuellement présents dans la catégorie Asterisk / VoIP de mes bookmarks :

Retour d'expérience global

Globalement, le déploiement s'est très bien passé. Notre nouvelle installation est :

Au niveau technique, les 3 choses que je voudrais dire à ceux qui se lanceraient dans le même type de migration sont :

  1. Asterisk et la VoIP ne sont pas des technologies simples qui "tombent en marche" tous seuls : il faut s'y intéresser vraiment et s'y plonger à fond pour bien maîtriser tous les paramètres techniques... et ils sont nombreux ! Il faut bien mûrir les choix techniques à faire (ils sont listés ci-dessous) et cela prend du temps.
  2. le plus long n'est pas de comprendre et d'écrire les fichiers de configuration d'Asterisk mais ceux des téléphones IP !
  3. n'achetez pas de téléphone Technicolor/Thomson ST2030 (ou autre de la même famille) car les firmwares de ces téléphones sont trop buggés... cf détails ci-dessous.

Choix et motivation des choix

Les 3 choix les plus importants, sur lesquels vous devrez concentrer toute votre attention avant le déploiement, sont à mon avis :

Téléphones IP filaires

Choix initial : téléphone Technicolor/Thomson ST2030 (que je déconseille fortement aujourd'hui).

Choix actuel : téléphone Aastra 6731i.

Le choix du téléphone IP est très important pour plusieurs raisons :

Vous allez choisir un téléphone IP professionnel qui utilisera le protocole SIP. Ne cherchez pas sur les sites de vente grand public du type LDLC ou Rue du commerce, vous ne les trouverez pas ou très peu. Il vous faudra plutôt consulter les sites des constructeurs pour avoir les spécifications et les sites de vente spécialisés dans la téléphonie (IP & Go, One Direct, Wildix) pour avoir les prix. Les principaux constructeurs qui proposent des téléphones IP à des prix abordables (i.e. prix unitaires compris entre 80 et 130 euros HT) sont :

J'exclus Cisco de la liste ; leurs téléphones IP sont très chers et leur support du SIP n'a pas toujours été bon car Cisco essayait d'imposer un autre protocole.

Les critères de choix sont à mon avis, par ordre d'importance :

  1. la qualité du rendu et de la captation audio du combiné et du haut parleur éventuel,
  2. la qualité physique du combiné et des touches,
  3. le niveau de compatibilité avec Asterisk (c'est rare qu'il y ait des problèmes chez les grands constructeurs de téléphones IP),
  4. les fonctionnalités du téléphone : codecs supportés, PoE, haut parleur, fonction main-libre, fonction d'interception des appels, le nombre de voyants de supervision de lignes, possibilité d'avoir une "extension standard" qui permet de monitorer un grand nombre de lignes, possibilité d'autoconfiguration des téléphones via des fichiers de configuration partagés en TFTP ou en HTTP.

Les fonctionnalités suivantes sont proposées aujourd'hui par tous les téléphones IP : présentation du numéro, notification des appels en absence et des messages présents sur le répondeur, mise en attente d'un appel, transfert d'appel, possibilité d'avoir un carnet d'adresse.

Pour faire notre choix lors du déploiement initial en 2007, nous avions décidé de faire une pré-sélection en utilisant les informations disponibles sur Internet puis d'acheter un téléphone de chaque modèle pré-sélectionné. Nous avons pré-sélectionné le téléphone Technicolor ST2030 et le téléphone Dlink DPH120S. Mon idée était d'avoir un téléphone orienté professionnel dont j'avais entendu du bien à l'époque (le ST2030) et un téléphone d'une marque orientée grand public (le Dlink), en apparence moins cher. Lors de nos tests, nous avons rapidement constaté que le firmware du téléphone Dlink n'était pas maintenu et souffrait de plusieurs bugs mineurs non corrigés. De l'autre côté, le téléphone ST2030 donnait globalement satisfaction et avait un firmware qui avait l'air bien maintenu (en tout cas en comparaison du Dlink... la suite de notre expérience nous a prouvé que le firmware du téléphone Technicolor était assez buggé), nous l'avons donc retenu pour le déploiement initial.

Le téléphone Technicolor ST2030 que nous avons choisi initialement a certaines qualités :

Ce que je reproche à ce téléphone :

Pour permettre aux utilisateurs de downgrader leur téléphone ST2030 pour tenter de trouver une version de firmware sans bug gênant, j'ai rassemblé d'anciennes versions de firmware ST2030 à l'URL suivante : http://people.via.ecp.fr/~alexis/asterisk/st2030/firmware/ J'ai été obligé de prendre cette initiative car, à une époque, Technicolor ne prenait pas la peine de donner accès aux anciens firmwares sur son site (au 16 Juin 2009, seul le firmware 2.67 était disponible sur le site, or ce firmware souffre de 2 bugs critiques !).

Après avoir entendu beaucoup de bien des téléphones Aastra et lu à plusieurs reprises que les téléphones Aastra étaient les meilleurs téléphones pour Asterisk, j'ai finalement décidé d'acheter un téléphone Aastra 6731i à des fins d'évaluation. Attention, ce téléphone est livré sans bloc d'alimentation, donc pensez à l'acheter en plus si vous n'avez pas de switch PoE (ou prenez un Aastra 6730i, qui est livré avec un bloc d'alimentation mais ne supporte pas le PoE). Nous sommes très satisfaits de ce téléphone pour les raisons indiquées ci-dessous et tous les téléphones IP que nous achetons désormais sont des Aastra 6731i. Voilà pourquoi :

Si vous avez besoin d'une "extension standard" pour avoir de nombreuses touches de monitoring, orientez-vous vers les modèles 53i, 55i ou 57i d'Aastra avec le module d'extension 536M (M670i).

Téléphones IP sans-fil

Concernant les téléphones IP sans-fil, il faut tout d'abord choisir une technologie : WiFi ou DECT. Sur ce point, les choses sont claires aujourd'hui : DECT a gagné et la question ne se pose plus. En voici les raisons :

Ensuite, il nous faut choisir une infrastructure DECT (bornes, repeaters, ...) avec une sortie SIP et des téléphones DECT. La première question qui se pose est : doit-on prendre une infrastructure DECT et des téléphones DECT chez le même constructeur ? En théorie, la réponse est non, grâce à la norme GAP, qui assure une compatibilité entre tous les téléphones et les bornes DECT qui respectent cette norme. La quasi-totalité des téléphones et des bornes DECT actuellement commercialisés respectent cette norme. Mais cette norme se limite à la partie voix, et ne couvre pas les "à côtés", tels que le journal d'appel (sur les téléphones Siemens Gigaset par exemple, le journal d'appel est stocké sur la borne apparemment), l'envoi de messages texte, la notification de messages sur le répondeur, etc... autant de petites fonctions qui ne sont pas vitales mais dont l'absence peut agacer. Si on veut profiter de ces "à côtés", il est donc conseillé de prendre des téléphones DECT et une infrastructure DECT chez le même constructeur.

Il nous faut maintenant choisir le constructeur. D'après mes recherches, il faut distinguer deux catégories :

Je vous propose un petit zoom sur les solutions DECT de Polycom et de Siemens.

Chez Siemens, les solutions DECT-SIP ont longtemps été cantonnées aux produits C470IP et à ses successeurs C590IP, C610IP et A510IP. Ces produits sont composés d'un combiné et d'une borne qui a les caractéristiques suivantes :

Le coût est de 75 € HT environ pour l'ensemble borne + 1 combiné. Le combiné supplémentaire avec sa base de charge coûte environ 45 € HT (référence C610H ou autres).

Siemens a annoncé en Février 2011 un nouveau produit dans sa gamme Gigaset Pro : la borne N510 IP Pro. Le produit a d'abord été commercialisé en Allemagne, et il est arrivé en France en Octobre 2011. C'est une borne DECT-SIP qui présente les caractéristiques suivantes :

Son prix est de 100 € HT environ. Il faut ensuite acheter des combinés, en choisissant de préférence des combinés "certifiés" pour un bon fonctionnement avec la borne N510. Pour avoir la liste des combinés "certifiés", il faut compiler les informations disponibles dans la datasheet, dans le manuel et dans les release notes ; au final, on obtient une liste d'une petite dizaine de combinés, ce qui donne un grand choix en terme de caractéristiques (encombrement, autonomie, taille de l'écran, vibreur, bluetooth, résistance aux chocs et aux projections d'eau), et de prix (de 30 à 90 € HT).

Les bornes Siemens DECT-SIP (tous les modèles a priori) peuvent être utilisées avec des repeaters qui permettent d'étendre la couverture radio. Le repeater est en lien radio avec la base ; il n'est pas relié en IP. Attention, chez Siemens, le repeater doit être en lien radio avec la base ; il ne peut pas être en lien radio avec un autre repeater (contrairement à Polycom par exemple). Une base peut avoir jusqu'à 6 repeaters. Le handover fonctionne entre la base et ses repeaters. Le repeater peut déporter jusqu'à 2 communications simultanées. Le Siemens Gigaset repeater coûte 140 € HT environ.

Chez Polycom (ex Kirk), il existe deux gammes pour la partie infrastructure :

La borne KWS 300 a les caractéristiques suivantes :

Cette borne coûte 290 € HT environ. Pour le repeater, un modèle pour une infra mono-cellule (le KWS 300 est une infra mono-cellule i.e. mono borne DECT) qui peut déporter jusqu'à 4 communications simultanées (référence 0233 4600) coûte 230 € HT environ.

Dans le domaine des infra multi-cellules, Polycom propose la solution KWS 6000 qui est composée de plusieurs éléments :

La solution KWS 6000 avec ses multiples éléments permet d'avoir jusqu'à 4096 téléphones DECT et 1024 communications simultanées en G711 ! Elle est donc très scalable. Elle supporte le roaming et le handover d'une borne à une autre.

Avec la solution KWS 6000, pour une infrastructure jusqu'à 32 appels simultanés en G711, il faut donc prévoir :

Dernier élément à prendre en compte au niveau de la solution Polycom : les téléphones. Les prix vont de 90 à 300 euros HT. On vous déconseillera peut-être le téléphone d'entrée de gamme modèle 2010 à 90 € HT car il ne s'agit pas d'un téléphone développé par Kirk mais d'un téléphone OEMisé chez un constructeur chinois... le "vrai" téléphone Kirk d'entrée de gamme est donc en réalité le modèle 4020 à 200 € HT. Mais, pour ce prix, on vous vantera une qualité et une solidité sans commune mesure avec un téléphone Siemens...

Avec ce zoom sur la gamme de Siemens et la gamme de Polycom, j'espère avoir pu vous éclairer sur la différence entre une infrastructure DECT "simplifiée" (Siemens) et une infrastructure DECT "complète" (Polycom), à la fois en terme de capacité (nombre de combinés, nombre de communications simultanées), de fonctionnalité (roaming/handover), de prix et de complexité.

Canal de communication avec l'extérieur

Choix initial : conserver les lignes RNIS utilisées dans l'installation précédente pour les appels entrants et sortants.

Choix actuel (depuis Juillet 2010) : utilisation d'un opérateur IP pour les appels entrants et sortants, sur une ligne SDSL dédiée. Au vu de notre expérience, c'est un choix que je déconseille, sauf dans certains cas particuliers.

Choix recommandé : si vous n'avez pas d'accès fibre optique et que vous recherchez la qualité et la disponibilité maximale, je vous conseille de conserver vos lignes RNIS existantes pour les appels entrants et sortants. Si vous recherchez d'abord le meilleur prix, je vous conseillerai l'offre de SIP trunk + connexion dédiée d'OVH.

Pour la sélection du canal de communication avec l'extérieur, trois choix s'offrent à vous. Leurs avantages et inconvénients respectifs sont résumés ci-dessous. Par la suite, quand je parle d'un lien xDSL, je désigne un lien ADSL ou SDSL.

Numéro Communications entrantes Communications sortantes Avantages Inconvénients
1 RNIS RNIS
  • Rien à changer à l'installation existante
  • Je n'ai jamais vu une ligne RNIS en dérangement (sauf en cas de facture France Telecom impayée !) ; qui peut dire la même chose d'un lien ADSL ?
  • Conservation de la dépendance vis-à-vis de France Telecom pour le lien RNIS
  • Nécessite l'achat et le déploiement d'une passerelle SIP/RNIS (ou carte PCI RNIS)
2 VoIP sur xDSL ou fibre optique VoIP sur xDSL ou fibre optique
  • Vous pouvez bénéficier des tarifs agressifs sur les communications de certains opérateurs VoIP (mais attention, la réalité est moins idyllique que la grille tarifaire).
  • Vous évitez l'achat et le déploiement d'une passerelle SIP/RNIS.
  • Si vous choisissez un lien SDSL avec une GTR (Garantie de Temps de Rétablissement) de 4h, ne négligez pas son coût. Si vous choisissez un lien ADSL, il faut prévoir une solution de secours quand le lien est down !
  • Si votre opérateur VoIP n'est pas le même que l'ISP qui vous fourni le lien xDSL ou fibre optique, il faut s'assurer que l'opérateur VoIP a une collecte IP spéciale chez l'ISP (i.e. ils ont un lien direct entre leurs deux réseaux sans passer par Internet), sinon vos flux VoIP passeront par Internet, or il n'y a pas de garantie de qualité de service sur Internet, donc pas de garantie sur la qualité audio de vos communications vers ou depuis l'extérieur.
  • Il faut réaliser le portage des numéros de téléphones existants vers votre opérateur VoIP ; cela se passe généralement bien quand l'ancien opérateur et le nouveau sont sérieux.
3 RNIS VoIP sur xDSL ou fibre optique
  • Vous bénéficiez de la fiabilité parfaite du lien RNIS pour les appels entrants.
  • Pas de portage des numéros de téléphone à réaliser.
  • Votre lien RNIS sert aussi de lien de backup pour les appels sortants.
  • Vous pouvez bénéficier des tarifs agressifs sur les communications de certains opérateurs VoIP.
  • Il faut payer à la fois l'abonnement pour le lien RNIS et l'abonnement pour le lien ADSL ou SDSL.
  • Nécessite l'achat et le déploiement d'une passerelle SIP/RNIS (ou carte PCI RNIS)
  • Il faut que l'opérateur IP accepte de présenter un numéro qui ne lui "appartient" pas. Certains refusent, car, si vous présentez les numéros de vos lignes RNIS lors de vos appels sortants via votre opérateur IP, vos appels entrants vont tous arriver sur les lignes RNIS et l'opérateur IP ne pourra jamais facturer des frais de terminaison d'appel à des opérateurs tiers. (les frais de terminaison d'appel sont des frais que votre opérateur facture à l'opérateur de votre correspondant quand on vous appelle)

Nous avons initialement choisi la solution n°1 car c'était la solution la plus simple à mettre en œuvre et qu'elle n'ajoutait aucun délai.

La solution n°3, qui est apparemment souvent adoptée par les entreprises qui migrent vers un IPBX, est un bon compromis.

En ce qui concerne la solution n°2, mon étude des offres disponibles sur le marché français ne m'a permis d'identifier qu'un seul opérateur capable de proposer à la fois le lien ADSL ou SDSL avec ses propres DSLAM et les communications en VoIP via des comptes SIP, IAX, MGCP ou autre (dans le cas d'une interconnexion SIP, on appelle l'offre un trunk SIP) : OVH. Mais OVH n'a pour l'instant dégroupé qu'une centaine de NRA dans quelques grandes villes (liste complète des NRAs dégroupés par OVH disponible ici). Aujourd'hui, seuls Orange, Free, SFR, Bouygues Telecom, Completel et OVH possèdent leurs propres DSLAM dans les NRAs (i.e. les centraux téléphoniques). Parmi ces opérateurs, ceux qui ont une offre pour les PMEs (i.e. tous sauf Free) proposent généralement deux types d'offres :

Malheureusement, à part OVH, aucun des opérateurs ayant ses propres DSLAM dans les NRAs ne propose, à ma connaissance, une offre de type "trunking" aux PMEs. Dans ce type d'offre, l'IPBX interne à l'entreprise se connecte directement en VoIP aux serveurs de téléphonie de l'opérateur via le lien xDSL de ce même opérateur. Comme l'interconnexion entre l'IPBX de l'entreprise et l'opérateur se fait en VoIP, il faut préciser le protocole et le codec utilisé. Pour le protocole, on utilise en général SIP ou IAX ; comme l'interconnexion via ce protocole doit permettre d'avoir plusieurs communications simultanées dans une même connexion, on parle de trunk SIP ou de trunk IAX. Pour le codec, on a généralement le choix entre G711A et G729 (et parfois d'autres). Aujourd'hui, Free propose dans son offre standard Freebox un compte SIP qui est limité à une seule communication simultanée. Du côté de SFR, il était annoncé une offre en trunking en Novembre 2008, mais elle a apparemment été retirée (info de Mars 2009) et seule l'offre en mode Centrex subsiste.

Pour avoir une offre en mode "trunking", il faut alors se tourner vers des opérateurs qui ne possèdent pas leurs propres DSLAM dans les NRAs. Ces opérateurs sont moins connus, et doivent être répartis en deux catégories :

Je conseille de ne prendre en considération que les opérateurs de la première catégorie, sauf si vous recherchez l'offre la moins chère possible ou si vous disposez d'une connexion à Internet par fibre optique. Dans le cas où vous seriez amené à considérer un opérateur de la 2ème catégorie, vérifiez la latence entre une machine de votre LAN (par exemple l'IPBX) et le serveur téléphonique de l'opérateur sur une longue période (plusieurs jours au moins) ; cette latence ne doit jamais dépasser 100 millisecondes pour pouvoir assurer une qualité de communication correcte. Pour mesurer la latence, vous pouvez tout simplement faire un ping et regarder le temps affiché ; pour mesurer la latence sur une longue période, utilisez un outil dédié qui va lancer un ping chaque minute, va en extraire le temps de latence et va construire un graph à partir de ces informations. Ce test permettra par la même occasion de vérifier que l'uptime du lien entre votre LAN et l'opérateur est bon. Pour réaliser ce test, l'outil smokeping (packagé dans Debian/Ubuntu) semble bien adapté. Attention, avoir une bonne latence et un bon uptime n'est pas suffisant, il faut aussi avoir le débit nécessaire ; mais vous aurez du mal à avoir l'information de débit sans faire un test réel avec l'opérateur sur une longue période (plusieurs jours ou plusieurs semaines).

Au niveau des coûts, voilà un tableau qui compare la structure de coût de la solution RNIS de France Télécom avec la solution en trunking sur lien SDSL d'Acropolis Telecom et la même sur lien ADSL. Les prix affichés dans le tableau sont les prix publics hors taxes.

France Telecom - RNIS Acropolis Telecom - trunk sur ligne SDSL Acropolis Telecom - trunk sur ligne ADSL OVH - trunk SIP sur ligne xDSL
Prix mensuel du lien 35,60 € par ligne T0 (2 communications simultanées) 110 € pour notre ligne SDSL 600 kbit/s garantis GTR 4h. Ce prix varie très fortement en fonction de votre département et de votre éloignement par rapport au NRA. 39 € pour la ligne ADSL max inclus dans le prix de l'interconnexion
Prix mensuel de l'interconnexion 0 13,34 € par communication simultanée maximum dans le trunk idem 20 € par communication simultanée (2 minimum)
Prix mensuel des SDAs 0,91 € par SDA 8 € par tranche de 10 SDAs consécutifs idem 1 € par SDA (non facturé pour les SDA pré-existants portés chez OVH ? à confirmer)
Prix des communications Selon une grille que je n'ai jamais réussi à me procurer ! Ce n'est pas une facturation à la seconde depuis la première seconde. Illimité vers les fixes en France métropolitaine. Autres destinations : selon une grille très précise par pays et par opérateur. idem Illimité vers les fixes en France métropolitaine et dans 40 pays, ainsi que vers les mobiles en France. Attention à la clause de fair-use : 60 minutes maximum par appel, 99 numéros différents par ligne simultanée et par mois (limite mutualisable ; si vous avez 3 lignes simultanées, la limite est de 3x99 numéros différents par mois). Au delà de ces limites, se référer à la grille tarifaire par destination.
Prix mensuel du service fax2mail - 5 € idem 1 € (offre EcoFax Pro)
Frais de mise en service 55 € de frais de déplacement du technicien
45 € par ligne T0 [TODO vérifier]
700 € pour la ligne SDSL (-50% si engagement 24 mois, -100% si engagement 36 mois), varie en fonction de votre département et de votre éloignement par rapport au NRA
30 € par communication simultanée maximum dans le trunk IAX
30 € pour le service fax2mail
130 € pour la ligne ADSL. Idem pour le reste. 250 €
Frais de portage des numéros ? 50 € par tranche de 10 numéros idem aucun
Durée d'engagement ? 12 mois minimum idem 12 mois
Lien de backup à prévoir ? Non Pas forcément Oui Conseillé

Suite à la mise en concurrence, nous avons pu obtenir des réductions par rapport aux prix publics de la part d'Acropolis Telecom ; nous n'avons obtenu aucune réduction de la part de France Telecom.

Dans notre cas, nous avons remplacé 3 lignes T0 de France Telecom par une ligne SDSL avec un trunk IAX pour 6 communications simultanées en G711 d'Acropolis Telecom. Au niveau du coût fixe mensuel hors SDA, on est passé de 107 € (3 x 35,60) chez France Telecom à 190 € (110 + 6 x 13,34) chez Acropolis Telecom. Pour que l'opération de migration soit bénéfique en terme de coût, il faut donc que le gain sur le coût mensuel des communications soit au minimum de 83 €. Au niveau du coût des communications, en comparant notre facture détaillée de France Telecom (à défaut d'avoir réussi à obtenir la grille tarifaire !) à la grille tarifaire d'Acropolis Telecom, nous avons pu constater que le gain était important au niveau du coût d'appel vers les mobiles en France, vers les mobiles à l'étranger et très important vers les fixes à l'étranger, sauf pour les communications vers le Moyen-Orient. D'après notre simulation, l'économie sur les communications dépasse largement les 83 €, et devrait nous permettre une économie de l'ordre de 20% sur le prix mensuel total.

Mais attention, pour estimer le gain de la migration, il faut tenir compte des frais importants de mise en service de la ligne SDSL. On remarque d'ailleurs que les frais de mise en service sont beaucoup plus élevés pour la solution IP dans le cas d'utilisation d'une ligne SDSL, que pour la solution RNIS. Nous avons choisi un engagement de 24 mois pour réduire de 50% les frais de mise en service de la ligne SDSL. Dans le cas d'une nouvelle installation téléphonique, les frais de mise en service importants de la ligne SDSL seront à comparer aux frais réduits de mise en service des lignes RNIS T0, mais sans oublier d'ajouter pour la solution RNIS le prix non négligeable d'une passerelle SIP/RNIS ou d'une carte PCI RNIS (cf section budget).

Au final, il est difficile de prédire dans l'absolu si la solution la moins chère est la solution IP ou la solution RNIS, car cela dépend de très nombreux paramètres :

Mais, en règle générale, le tableau sur la structure de coût montre bien que :

Dans le cas d'une solution RNIS, on ne prévoit généralement pas de lien de backup en cas de panne du lien RNIS, car les liens RNIS sont très fiables ; en 6 ans d'utilisation de 3 lignes T0, nous n'avons jamais été en dérangement. Il faut aussi penser que, si vous avez plusieurs lignes T0, vos lignes se backupent entre-elles : si une ligne T0 est down (par exemple à cause d'une erreur de câblage entre le NRA et l'entreprise de la part de France Telecom, comme cela nous est arrivé lors de l'installation de la ligne SDSL), votre installation RNIS continue de fonctionner pour les appels entrants et sortants avec seulement 2 appels simultanés maximum en moins.

Par contre, dans le cas d'un lien ADSL, il est plus difficile de trouver des gens qui peuvent témoigner que leur lien ADSL fonctionne sans discontinuer depuis plusieurs années ! Personnellement, j'observe en moyenne une ou deux pannes d'un lien ADSL chaque année. Si votre entreprise tient à avoir une disponibilité maximale de son installation téléphonique, il faut donc songer à une solution de backup en cas de panne du lien ADSL. Dans le cas d'un lien SDSL, l'opérateur s'engage généralement sur une GTR (Garantie de Temps de Rétablissement) de 4h. Attention, cela ne veut pas dire que toute panne sera réparée en moins de 4h ! Cela veut dire que l'opérateur a une pénalité financière pour toute panne qui dure plus de 4h.

Il y a principalement 2 méthodes pour assurer une solution de backup pour un lien ADSL ou SDSL :

Même si nous avons un lien SDSL, nous avons quand même mis en place une solution de backup ; nous avons opté pour la 2ème solution car elle est simple et n'engendre aucun surcoût.

Choix d'un opérateur IP

Choix actuel : Acropolis Telecom.

Si c'était à refaire : pour les entreprises à la recherche de la meilleure qualité et disponibilité possible, j'éviterai d'utiliser un opérateur IP et je resterai chez France Telecom sur des lignes RNIS. Pour les entreprises à la recherche de la solution la plus compétitive, je suggère de choisir l'offre de trunk SIP d'OVH.

Si, pour le choix du canal de communication vers l'extérieur, vous êtes tenté par la solution n°2 ou n°3, cette section vous intéressera ; si vous avez choisi la solution n°1, cette partie ne vous intéressera pas.

Pour le choix d'un opérateur IP, nous avons considéré plusieurs opérateurs, qui ont tous une collecte auprès d'Orange et/ou SFR pour assurer une qualité de service entre notre IPBX et le serveur SIP ou IAX de l'opérateur. Tous les opérateurs que nous avons considéré proposent le portage des numéros. Voilà la liste des opérateurs que nous avons consulté :

Nous avons également interrogé l'opérateur Direct Centrex qui propose des trunks SIP et IAX avec des coûts de communication très compétitifs. Cet opérateur ne propose pas de liens ADSL ni SDSL, et, quand on l'interroge sur la problématique de la qualité de service entre le lien xDSL qu'on aura pris chez un ISP et leur réseau, leur réponse est "ça ne pose généralement pas de problème", ce qui ne nous convenait pas ! En effet, nous ne voulions que des opérateurs de téléphonie IP ayant une collecte directement auprès de l'opérateur assurant la liaison xDSL. De plus, un petit tour par les forums d'Asterisk-France montre que cet opérateur n'a pas bonne réputation (cf de nombreux posts datant du 1er trimestre 2009).

Finalement, nous avons retenu l'offre d'Acropolis Telecom pour les raisons suivantes :

Après quelques mois d'utilisation du service de trunking d'Acropolis Telecom, le bilan est globalement positif sur les aspects techniques, mais globalement négatif sur le process d'administration des ventes et sur l'aspect commercial :

Voici un tableau récapitulatif des downtimes que nous avons eu depuis le début :

Date Durée Symptôme
à retrouver 30 minutes Trunk IAX down
22/06/2011 6h (5h30 à 11h30) Toute l'infra Acropolis était down, à cause d'un acte de vandalisme sur une fibre optique
28/03/2012 0h45 (10h48 à 11h32) Problème sur le serveur Asterisk d'Acropolis. Résolu 15 min après l'appel du support technique (reload d'IAX)

Au final, l'arnaque dont nous avons été victime concernant la présentation du numéro à l'étranger m'oblige à déconseiller Acropolis Telecom. J'ai eu des discussions intéressantes avec d'autres professionnels de la téléphonie sur IP à qui j'ai raconté mes mesaventures et qui n'ont pas été surpris par ce que je leur ai raconté. Ils m'ont décrit les dessous du business des minutes, où plein d'entreprises au nom inconnu s'improvisent opérateur télécom et proposent des minutes de communication téléphonique à prix cassé vers certaines destinations à d'autres opérateurs qui ont pignon sur rue. Pour casser les prix, ces opérateurs super-low-cost utilisent des interconnexions "non officielles" avec les opérateurs locaux à l'étranger. Par exemple, ils ouvrent des lignes téléphoniques comme un client lambda auprès de l'opérateur local à l'étranger et renvoient leurs communications IP entrantes sur ces lignes téléphoniques où ils payent le coût d'une communication locale. Evidemment, avec ce genre d'interconnexion "non officielle", ces opérateurs super-low-cost ne peuvent pas assurer la présentation du numéro, car l'opérateur local à l'étranger n'acceptera pas, via la ligne téléphonique classique ouverte par l'opérateur, de relayer un appel avec pour numéro présenté un numéro qui n'est pas celui de la ligne téléphonique.

Sur un autre de mes déploiements Asterisk qui est passé en production fin Décembre 2011, l'entreprise a fait le choix de l'offre de SIP trunk + connexion dédiée d'OVH avec 3 communications simultannées (3x20 € HT / mois). La ligne téléphonique du site avait une longueur d'un peu plus de 4 km et le NRA n'était pas dégroupé par OVH ; OVH a installé un lien ADSL en passant par les DSLAM de SFR. La latence entre le serveur Asterisk et le serveur SIP d'OVH est stable à 50 ms (ce qui est un peu élevé, mais quand même acceptable). Après plusieurs mois d'utilisation en production, un seul incident est à déplorer : à cause d'une erreur de comptabilité côté OVH, les appels sortants ont été suspendus pour cause de facture impayée ; la facture avait en réalité bien été payée par prélèvement automatique ! OVH a confirmé son erreur et a rétabli les appels sortants dès le lendemain. Les appels entrants n'ont pas été impactés.

Mon conseil est donc le suivant :

Le codec

Choix réalisé : utilisation du codec G711A partout.

Il existe un très grand nombre de codecs dans le monde de la VoIP : G711A, G711µ, G723, G726, G727, G729, GSM, G722 (codec "HD"), etc... le choix semble donc très large à premier abord. En réalité, seuls deux codecs sont vraiment répandus et supportés par la quasi-totalité des équipements et des opérateurs IP :

G711A G729
Compression Non Oui
Débit du flux audio 64 kbps 8 kbps
Débit IP avec signalisation SIP 82 kbps 24 kbps
Tolérance à la perte de paquets Non Oui
Brevets avec royalties Non Oui

Dans le monde de l'audio comme dans celui de la vidéo, les opérations de transcodage (i.e. conversion d'un codec à un autre) ne sont pas anodines car :

Pour garder la meilleure qualité possible, on essayera donc de minimiser le nombre de transcodages entre la source et la destination.

Si on fait de la VoIP uniquement sur un LAN, le choix est facile : étant donné qu'il n'y a normalement pas de problème de débit ni de problème de perte de paquets, on choisira le codec G711.

Le packaging d'Asterisk

Choix initial : Asterisk et drivers compilés à la main sur une Debian stable.

Choix actuel : Asterisk et drivers Zaptel/DAHDI packagés dans notre distribution Linux habituelle (Debian stable).

Choix recommandé : Distribution Asterisk Xivo (c'est la solution que je retiens maintenant pour tous mes déploiements).

Tout d'abord, il me faut clarifier ce que j'entends par "packaging" d'Asterisk. Asterisk, comme tous les logiciels libres importants, peut être installé soit via le package de votre distribution Linux habituelle (fichier de package .rpm ou .deb), soit en téléchargeant les sources sur le site Web du projet et en les compilant à la main (via la procédure classique ./configure && make && make install).

Mais il ne faut pas seulement considérer le logiciel Asterisk lui-même, mais également les autres composants logiciels utiles au fonctionnement d'un IPBX complet. Au final, voilà l'ensemble des composants logiciels requis ou facultatifs sur un IPBX :

Nom du composant Fonction Obligatoire ?
Distribution Linux Il faut bien un système d'exploitation ! Requis
DAHDI Drivers des cartes téléphoniques et création de devices virtuels nécessaires au bon fonctionnement d'Asterisk Requis, même si on n'utilise aucune carte téléphonique (sauf si on utilise Asterisk 1.6 avec la fonction ConfBridge au lieu de MeetMe pour les conférences téléphoniques)
Asterisk et ses librairies Le cœur du système ! Requis
FreePBX ou Xivo Interface Web de management. Permet de réaliser l'ensemble de la configuration de l'IPBX dans une interface Web simple et intuitive. Fournit des fonctions "prêtes à l'emploi" pour le fonctionnement de l'IPBX. Dépend d'un serveur Web et d'une base SQL. Facultatif, mais très pratique !
IAXmodem + Hylafax Outils de traitement des fax. Permet notamment de convertir un fax en PDF. Requis si vous voulez faire du fax2mail ou autre conversion de ce type
Serveur de mail Permet l'envoi de mails Requis si vous voulez faire du fax2mail
Stats d'appel (cdr-stats ou autre) Consultation des logs d'appel et génération de statistiques sur les appels. Nécessite qu'Asterisk soit configuré pour envoyer ses logs d'appel dans une base SQL (MySQL, PostgreSQL ou autre). Facultatif
Logiciel de billing Gère la refacturation des communications téléphoniques aux utilisateurs Facultatif

Cette multiplicité de composants logiciels explique l'émergence de distributions Linux spécialisées sur Asterisk... nous en parlons justement ci-dessous.

Il existe en tout 4 solutions pour le packaging d'Asterisk :

  1. utiliser le package Asterisk de votre distribution Linux habituelle et les packages des autres composants logiciels requis fournis en standard dans votre distribution. Par exemple, sur une distribution Ubuntu, des packages sont fournis pour Asterisk, DAHDI, IAXmodem et Hylafax, mais pas pour FreePBX.
  2. sur votre distribution Linux habituelle, télécharger les sources d'Asterisk sur le site asterisk.org et les compiler "à la main" ainsi que les drivers DAHDI et les autres composants que vous voulez utiliser.
  3. acheter Asterisk Business Edition auprès de Digium ou un de ses revendeurs : c'est une version payante d'Asterisk proposée par Digium. Cette version a passé des tests de qualité avant sa release et est accompagnée d'un support technique. L'ordre de grandeur du prix est de 300 euros HT pour 10 communications simultanées, puis environ 170 euros HT par tranche de 10 communications simultanées supplémentaires (tarif dégressif en fonction du nombre de communications simultanées).
  4. utiliser une distribution Linux spécialisée Asterisk, i.e. une distribution Linux dont l'objet est de contenir Asterisk et tous les composants logiciels listés dans le tableau précédent, et parfois plus (certaines distributions packagent en plus un webmail, un logiciel de CRM, etc...). Il existe de nombreuses distributions Linux specialisées Asterisk ; elle sont présentées ci-dessous :

    Distribution Editeur Interface de management Fourni Asterisk 1.6 ou 1.8 ? OS Commentaire
    Trixbox Fonality, USA FreePBX Asterisk 1.6 est fourni dans Trixbox 2.8 et supérieurs CentOS Distribution Asterisk la plus ancienne. Il existe une version communautaire gratuite et une version "entreprise" payante.
    AsteriskNow Digium, USA FreePBX Asterisk 1.6 est fourni. CentOS La version 1.0.0 est sortie en Février 2008. Elle utilisait jusqu'à fin 2008 l'interface Web de configuration AsteriskGUI, mais les développeurs ont finalement décidé de passer à FreePBX par défaut.
    Elastix PaloSanto Solutions, Equateur FreePBX Oui, dans Elastix 2.0 CentOS Distribution lancée en 2006. Ce projet a l'air très dynamique et possède une bonne réputation. Communauté espagnole très forte.
    PBX in a Flash aucun, développement 100% communautaire FreePBX Donne le choix d'utiliser Asterisk 1.4, 1.6 ou 1.8 lors de l'installation CentOS Projet créé en Novembre 2007 par d'anciens développeurs de Trixbox en réaction à l'orientation de plus en plus propriétaire de Trixbox (explications ici).
    Xivo Avencall (anciennement Proformatique), France Xivo Xivo 1.2.x utilise Asterisk 1.8 (Xivo 1.1.x utilisait Asterisk 1.4). Debian Projet initialement non communautaire qui constituait la base des solutions commerciales de la société française Avencall ; le projet est devenu communautaire début 2009. C'est la seule distribution Asterisk basée sur Debian. C'est la seule distribution à ne pas utiliser FreePBX : Xivo possède sa propre interface Web de configuration. Elle a aussi beaucoup d'autres qualités, cf mon retour d'expérience ci-dessous.

    Note : CentOS est un clone gratuit de RedHat Enterprise Linux, qui est la distribution Linux payante de RedHat pour les serveurs d'entreprise ; le projet CentOS reprend les packets source de RedHat Enterprise Linux et se contente de les recompiler en enlevant les logos RedHat.

Je vais essayer de récapituler les avantages et inconvénients de chaque approche :

Numéro Choix Avantages Inconvénients
1 Asterisk packagé dans votre distribution Linux habituelle
  • Vous avez déjà l'habitude de l'administration de cette distribution que vous connaissez bien
  • En cas de faille de sécurité, n'avez qu'à mettre à jour votre distribution selon la procédure habituelle (style apt-get update && apt-get upgrade sous Debian/Ubuntu)
  • Ce n'est pas la solution la plus courante, donc ce n'est pas celle sur laquelle vous pourrez trouver de l'aide le plus facilement
  • Les paquets Asterisk sont parfois vieux et pas toujours très bien maintenus (ça dépend des distribs)
  • Vous aurez probablement envie d'utiliser la dernière version officielle des drivers des cartes téléphoniques, or les packages de votre distrib contenant les drivers sont parfois anciens
  • Certains composants logiciels que vous comptez utiliser risquent de ne pas être packagés dans votre distribution (par exemple, FreePBX n'est packagé ni dans Debian ni dans Ubuntu)
2 Asterisk compilé à la main sur sa distribution Linux habituelle
  • Vous avez déjà l'habitude de l'administration de cette distribution que vous connaissez bien
  • Vous choisissez vous-même les versions d'Asterisk, des librairies et des drivers des cartes téléphoniques
  • C'est la solution qui est documentée dans la doc officielle d'Asterisk et dans la plupart des docs sur Asterisk
  • Requiert un minimum d'expérience de la compilation d'un logiciel libre et d'un driver Linux (rien de très compliqué !)
  • Il faut vous occuper vous-même des mises à jour de sécurité : recevoir les mails d'annonce des failles de sécurité, télécharger les versions corrigées si nécessaire, recompiler, etc...
  • Choisir soi-même les versions des différents composants logiciels n'est pas chose facile pour un débutant. Si votre combinaison de version des différents composants logiciels marche parfaitement, tout va bien... mais dans le cas contraire, vous serez probablement peu nombreux à avoir choisi la même combinaison et donc à être confronté aux mêmes problèmes.
3 Asterisk Business Edition
  • Inclus un support professionnel fourni par Digium pendant 1 an
  • Tests de qualité logicielle effectués par Digium sur chaque release
  • Cette offre introduit un coût de licence, en sachant que ce coût augmentera si le nombre de postes téléphoniques augmente
  • On sort un peu du domaine du logiciel libre, puisque cette version est sous une licence propriétaire et non sous licence GPL
  • Asterisk n'est pas le seul composant logiciel qui entre en jeu dans la construction d'un IPBX... et donc avoir une garantie de qualité sur un seul composant ne garanti pas la bonne marche de l'ensemble
4 Distribution Linux spécialisée Asterisk (Trixbox, AsteriskNow, Elastix, PBX in a Flash, Xivo)
  • Vous êtes normalement assuré d'avoir une combinaison "noyau + drivers de cartes téléphoniques + librairies + Asterisk + interface de management" qui marche bien ; et si c'est n'est pas le cas, vous serez probablement nombreux à remonter le problème !
  • Mises à jour de sécurité simplifiées
  • Dans le cas de Trixbox et Elastix, je sais que ce sont des solutions répandues sur lesquelles vous trouverez du support de la communauté
  • Ces distributions proposent par défaut une interface Web d'administration (FreePBX ou Xivo) qui permet de gagner du temps et de profiter de certaines fonctions prêtes-à-l'emploi
  • Ces distributions packagent systématiquement les outils de fax (fax2mail notamment) et souvent des applications de billing, de statistiques sur l'utilisation des lignes, etc...
  • Fonctionnalités annexes fournies en plus. Par exemple, dans le cas de Xivo : Xivo client à installer sur son PC, serveur de provisionning pour les téléphones IP, intégration des annuaires téléphoniques des différentes marques de téléphones IP.
  • Il vous faudra peut-être apprendre à administrer une nouvelle distribution Linux (Debian pour Xivo, CentOS pour toutes les autres)
  • Vous êtes dépendant du support matériel de la version de la distribution Linux sur laquelle repose la distribution spécialisée Asterisk. Debian et CentOS sont très "conservateurs" au niveau des versions de noyau... si vous comptez utiliser pour votre IPBX un hardware récent avec un chipset de carte réseau récent, vérifiez au préalable qu'il est supporté en standard par la version de CentOS ou Debian sur laquelle repose votre distribution spécialisée Asterisk.
  • Vous n'avez pas la maîtrise complète des versions d'Asterisk, des librairies, des drivers, etc... mais pour les utilisateurs débutants, c'est un gros souci en moins, et donc plutôt un avantage !

Dans notre déploiement initial, nous avons éliminé d'office la première solution car notre distribution habituelle est Debian et les packages Asterisk dans la distribution Debian stable à l'époque de notre déploiement étaient vieux (la Etch contenait Asterisk 1.2.13 et ne proposait pas Asterisk 1.4). Nous avons un peu testé Trixbox, mais nous n'avions aucune expérience des distributions CentOS ce qui ne nous a pas aidé à nous motiver pour explorer plus à fond cette piste. Xivo n'était pas encore OpenSource à l'époque.

Nous avons donc initialement décidé de partir sur la 2ème solution en installant une Debian stable avec un noyau Linux compilé à la main et l'ensemble "Zaptel (renommé DAHDI depuis) + libpri + Asterisk" compilé également à la main. Nous avons choisi de ne pas installer d'interface Web d'administration comme par exemple FreePBX, car nous avions déjà passé du temps à lire les docs d'Asterisk qui apprennent à se servir des fichiers de configuration et éditer un fichier de configuration avec notre éditeur de texte préféré ne nous fait pas peur ; c'était en fait une erreur car nous n'avions pas réalisé à l'époque que FreePBX apporte beaucoup plus que le simple fait de ne pas avoir à éditer les fichiers de configuration. En effet, FreePBX ou Xivo apportent de nombreuses fonctionnalités prêtes à l'emploi qu'ils implémentent en standard dans le dialplan d'Asterisk, comme par exemple le call pick-up, le follow-me, le routage d'appel intelligent, la présentation du numéro adaptée au contexte (appel interne ou vers l'extérieur), etc...

En Juin 2010, nous avons upgradé notre Debian Etch en Lenny, et nous en avons profité pour passer à la solution n°1, à savoir utiliser les packages Asterisk de notre distribution Linux. C'est maintenant possible car Debian Lenny fournit une version pas trop vieille d'Asterisk (1.4.21). Comme nous étions sur le point de passer à un opérateur IP et que cela nous obligeait à faire communiquer notre Asterisk en IP avec l'extérieur, nous voulions avoir les packages Asterisk de Debian et ainsi pouvoir facilement faire les éventuelles mises à jour de sécurité par simple mise à jour des paquets Debian. Ainsi, les composants logiciels Asterisk, libpri, Zaptel et le noyau Linux sont désormais des packages Debian et non des logiciels compilés à la main depuis les sources. On pourrait penser que, comme nous n'utilisons plus aucune carte téléphonique dans notre serveur Asterisk, nous n'avions plus besoin d'installer Zaptel/DAHDI... mais en fait Zaptel/DAHDI reste nécessaire pour faire des conférences téléphoniques avec la fonction MeetMe du dialplan ; en effet, en l'absence de carte téléphonique, MeetMe a besoin du module noyau ztdummy / dahdi_dummy pour avoir une source de timing pour la synchronisation des multiples conversations. D'après ce que j'ai lu sur cette page, l'utilisation de la fonction ConfBridge, fournie en standard dans Asterisk 1.6, permet de faire des conférences téléphoniques avec Asterisk sans avoir besoin de dahdi_dummy. D'après ce que j'ai lu dans les release notes de DAHDI, à partir de la version 2.2.0.2, le module dahdi_dummy n'existe plus et sa fonctionnalité est désormais fournie directement par le module dahdi. J'ai aussi constaté que DAHDI 2.3.0 ne permettait pas de faire fonctionner la fonction MeetMe d'Asterisk 1.4.21 ; l'explication de ce problème est que les deux releases sont incompatibles car Asterisk 1.4.21 a été releasé avant le changement de nom de Zaptel en DAHDI ; en tout cas c'est ce que laisse penser ce billet, quand il dit "Asterisk 1.4 will continue to have support for Zaptel, although it will be enhanced to also transparently support DAHDI instead". Asterisk 1.4.22 est donc a priori la première version d'Asterisk à supporter DAHDI ; en tout cas, c'est la première à avoir un module chan_dahdi et à être livrée avec un fichier Zaptel-to-DAHDI.txt qui explique la problématique de la transition. Plus de détail dans mes posts (mon pseudo est sixela) sur ce fil de discussion.

Si nous devions refaire complètement notre installation, nous ferions le choix des distributions "dédiées Asterisk"... et c'est la solution que j'ai choisi pour mes deux autres déploiements. Pour mon 2ème déploiement, réalisé fin 2009, j'ai choisi Elastix car j'en avais entendu du bien de la part d'une personne très expérimentée sur Asterisk. J'ai été satisfait d'Elastix car FreePBX est vraiment une bonne solution pour gagner du temps sur le paramétrage et profiter de certaines fonctions "prêtes à l'emploi". La seule petite difficulté pour moi résidait dans le fait qu'Elastix est basé sur CentOS et que je n'ai jamais administré une RedHat de ma vie... mais il n'est jamais trop tard pour s'y mettre !

Pour mon 3ème déploiement réalisé fin 2010 et pour tous les déploiements que j'ai réalisé depuis cette date, j'ai choisi Xivo et c'est maintenant la solution que je recommande. Voilà mon retour d'expérience sur Xivo :

Xivo 1.2 apporte de très nombreuses améliorations :

D'une façon générale, installer Xivo permet de se doter d'un vrai IPBX très complet, avec plein de fonctionnalités pratiques qui sont appréciées des utilisateurs.

Serveur

Choix initial : récupération d'un ordinateur Dell Optiplex de bureau.

Choix lors de mes derniers déploiements : mini-PC fanless Linutop 4 avec SSD.

Lors du déploiement initial, nous cherchions un serveur rackable fiable avec 2 slots PCI 32 bit 33 Mhz pour accueillir la carte RNIS et la carte avec le port FXS pour le fax (car c'était l'architecture prévue au tout début) et deux emplacements SATA pour avoir des disques en RAID 1. Malheureusement, la contrainte d'avoir 2 ports PCI 32 bit 33 Mhz impose souvent des serveurs 2U voir 3 ou 4U, ce qui devient assez imposant et coûte généralement un peu cher. Nous avons donc finalement choisi de prendre un de nos ordinateurs de bureau Dell Optiplex GX620, qui a l'avantage d'être peu couteux et facilement remplaçable en cas de panne. Ses caractéristiques techniques sont les suivantes :

Cette configuration matérielle est en réalité très surdimensionnée par rapport à notre utilisation. En effet, quand on ne fait pas de transcodage systématique des flux audio (tous nos téléphones utilisent le codec G711A) et qu'on n'utilise l'audioconférence que de façon ponctuelle, les besoins en RAM et en CPU sont modestes.

Pour mes déploiements suivants, maintenant que nous avons une solution sans carte PCI ce qui enlève une contrainte importante dans le choix, je me suis intéressé aux serveurs "no moving parts", c'est à dire un serveur sans ventilateurs et doté d'un disque SSD. Sur le wiki dédié à l'auto-hébergement, maintenu par mon ami Tanguy Ortolo, vous trouverez une liste de PCs basse consommation, dont certains sont fanless, sur la page choisir son serveur. Attention, vérifiez que l'architecture du processeur (certains sont des processeurs ARM !) est bien supportée par la distribution que vous envisagez d'installer.

Lors de mon 4ème déploiement qui a été mis en production en Octobre 2011, j'ai choisi un serveur Linutop 4 dont voici les caractéristiques :

Pour les gens intéressés par le Linutop 4, je donne ici les détails techniques qu'on ne trouve malheureusement pas sur le site du constructeur : cpuinfo, dmesg, lspci et lspci -nv. Cette machine est bien supportée par Debian Lenny 5.0, qui est la distribution sur laquelle se base la branche 1.1 de Xivo. Le prix public du Linutop 4 est de 380 euros HT, ce qui est assez cher vu les caractériques techniques (on paye la rareté des offres de PC fanless !), mais le constructeurs propose des réductions pour les intégrateurs. Tout compris avec le SSD Intel, la configuration a coûté un peu moins de 400 euros HT. Pour ce déploiement, nous avons fait le choix d'acheter deux Linutop 4, pour avoir une redondance du matériel sur place.

Comme ce déploiement est assez récent, je ne peux pas encore faire un bilan sur le long terme de la fiabilité de cette configuration. Par contre, je peux déjà donner un premier avis :

Fax

Choix initial : branchement du fax sur l'IPBX via une carte Digium TDM400P (choix que je déconseille fortement à cause de problèmes techniques).

Choix suivant jusqu'à Juillet 2010 :

Choix actuel :

Il n'existe pas aujourd'hui de fax IP à la façon d'un téléphone IP ; il en existera peut-être à l'avenir avec l'adoption par les constructeurs de fax de la norme T38.

D'une manière générale, la problématique du fax n'est pas simple dans le monde de la VoIP. Je vous conseille la lecture de cette page pour mieux comprendre les problématiques techniques qui se posent.

Le choix doit donc se faire entre garder son fax traditionnel et mettre en place un système de type fax2mail pour la réception et de print2fax pour l'envoi.

Dans un souci de simplicité pour les utilisateurs et les administrateurs, nous avons choisi de conserver notre fax traditionnel pour l'émission et la réception lors du déploiement initial en utilisant la carte TDM400P.

Malheureusement, nous avons constaté une recrudescence des erreurs à l'émission des faxs (pas de problème par contre pour la réception) : régulièrement, le fax signalait une erreur à l'envoi et, comme on ne peut pas savoir si le fax est passé quand même ou pas, il faut refaire un envoi. J'ai essayé quelques changements de paramètres au niveau de Zaptel (renommé DAHDI depuis), mais sans succès. J'ai fait quelques recherches sur Internet, et je suis tombé sur la section "Zap and Digium cards issues" de la page Asterisk and fax calls, ainsi que cette page.

Je me suis alors rappelé que le numéro de fax de provenance qui est écrit sur l'entête du fax reçu par le destinataire n'est pas le numéro de téléphone depuis lequel est émis le fax mais le numéro de téléphone qui est paramétré dans le fax lui-même. J'ai donc décidé de simplement brancher notre fax sur une de nos lignes analogiques (il ne nous en reste plus qu'une actuellement) pour réaliser l'envoi de fax, et d'installer un système de fax2mail pour la réception des fax avec IAXmodem et Hylafax. A chaque fax reçu, un mail est envoyé vers une adresse mail dédiée avec en pièce jointe un PDF contenant le fax.

Ce système a plusieurs avantages :

Ce système avait un petit inconvénient : le mail contenant le fax était adressé à deux personnes chargées de faire la distribution du fax, mais quand ces personnes étaient absentes, le reste du personnel n'avait pas accès aux fax. D'où l'idée d'avoir un archivage Web des fax reçus, qui est une fonctionnalité proposée par Avantfax. Avantfax permet aussi d'envoyer un fax à partir d'une interface Web : il suffit d'indiquer le numéro de téléphone du destinataire et de sélectionner un fichier PDF de son ordinateur (Avantfax propose aussi de générer facilement une page de garde).

Avec le passage à un opérateur IP en Juillet 2010, la question du fax s'est de nouveau posée. Après discussion avec notre nouvel opérateur IP, Acropolis Telecom, nous avons appris qu'ils ne faisaient pas de fax sur IP, pour éviter les problèmes techniques associés. Ils considèrent que le T38 n'est pas encore assez mature et standardisé dans l'industrie pour pouvoir le déployer sereinement avec leurs clients. Ils nous proposaient donc deux solutions pour la réception des fax :

  1. soit renvoyer les appels contenant des fax vers une de nos lignes téléphoniques analogiques, sur laquelle un fax traditionnel serait branché. Le coût de cette solution était simplement le coût de la communication téléphonique pour le renvoi.
  2. soit réaliser la convertion fax2mail au niveau de leurs serveurs et nous envoyer le fax en PDF sur une de nos adresses mail. Le coût de cette solution était la souscription à une option fax2mail à 5 euros HT par mois.

Nous avons finalement adopté la solution n°2 pour la réception de nos fax. L'émission des fax continue de se faire par un fax classique branché sur une de nos lignes analogiques avec présentation du numéro de notre SDA dédiée à la réception des fax.

Choix des interfaces téléphoniques

Choix initial : carte PCI Digium B410P pour le RNIS et carte PCI Digium TDM400P pour relier le fax.

Choix actuel : nous n'utilisons plus aucune carte téléphonique PCI. Nous avons arrêté d'utiliser la carte Digium TDM400P, cf section précédente. La carte RNIS Digium B410P a été remplacée par une passerelle SIP/RNIS Patton SN4638 en Juin 2009, puis la passerelle Patton a été mise à la retraite quand nous avons migré vers un opérateur IP en Juillet 2010.

Quand nous avons fait notre choix initial, notre motivation était la suivante : en tant qu'auteur principal d'Asterisk et développeur des drivers Linux des cartes, les cartes téléphoniques de Digium devaient sûrement être le meilleur choix pour les interfaces téléphoniques.

Au final, je ne recommande pas ce choix initial pour plusieurs raisons :

Je trouve donc qu'il vaut mieux acheter un boitier dédié qu'une carte téléphonique pour remplir la même fonction ; par exemple :

Avec ces boitiers dédiés :

Si vous faites le choix de prendre des boitiers dédiés, il faut bien sûr faire attention à acheter un produit qui a bonne réputation dans la communauté Asterisk, ce qui vous garantira à la fois sa fiabilité et sa compatibilité Asterisk (je vous conseille de faire une recherche dans les forums d'Asterisk-France avant d'acheter), et qui a une large diffusion (la probabilité d'être le seul à rencontrer un problème donné est plus faible !). En effet, les problèmes de drivers que l'on pouvait rencontrer avec les cartes téléphoniques peuvent être remplacés par des problèmes de firmware buggé qui vient affecter la bonne marche du boitier dédié... pour éviter ces soucis, prenez le temps de bien choisir votre boitier dédié.

Comme je l'explique dans le paragraphe précédent, nous n'utilisons plus la carte TDM400P pour le fax, car le fax est maintenant connecté directement à une de nos lignes analogiques.

Je me suis ensuite posé la question de la redondance de la carte B410P ; en effet, si elle tombe en panne, je n'avais rien sous la main pour la remplacer immédiatement. Je pouvais bien sûr m'acheter une 2ème carte B410P... mais j'ai préféré creuser la possibilité d'utiliser un channel bank Ethernet/RNIS, que je préfère appeler Passerelle SIP/RNIS. Un channel bank Ethernet/RNIS est un boitier qui converti une ligne RNIS en channel SIP. Le gros avantage est que cela évite la contrainte d'installer une carte PCI dans le serveur Asterisk, d'installer les drivers Linux de la carte, etc... Dans cette configuration, le serveur Asterisk se connecte en SIP au boitier channel bank pour envoyer ou recevoir des communications téléphoniques par les lignes RNIS. Ce fil de discussion sur le site d'Asterisk-France parle des différentes marques de channel bank RNIS.

Voilà les modèles de channel bank Ethernet/RNIS que j'ai trouvé :

Dans la communauté Asterisk-France, on trouve seulement quelques utilisateurs du boitier Patton, cf ce post. Selon ce fil de discussion, la configuration du boitier n'est pas triviale et requière une lecture approfondie de la documentation (ce que confirme mon expérience).

Notre déploiement du boitier Patton s'est très bien passé et nos sommes très contents de la qualité audio et de la fiabilité du produit (aucun problème à signaler depuis son déploiement). Je mets notre fichier de configuration en partage ; vous le trouverez plus bas sur cette même page.

Réseau

Choix initial : garder la VoIP dans le même VLAN que tout le reste, et utiliser de la QoS au niveau IP (DiffServ, et plus précisément le champ DSCP) pour mettre les flux voix en priorité par rapport au trafic data. Pas de PoE.

Choix actuel : Création d'un VLAN dédié à la VoIP pour éviter que les équipements VoIP soient impactés quand on a un problème de multicast dans le VLAN principal. Ajout d'un switch PoE Linksys SRW224G4P pour alimenter certains téléphones, notamment les Aastra et la pieuvre Polycom pour lesquels le bloc d'alimentation est vendu en option.

Si c'était à refaire : idem que la solution actuelle, mais avec un autre switch PoE qui gère mieux les VLANs que le Linksys SRW224G4P ; j'essayerais par exemple le switch HP Procurve 2520-24-POE (ce modèle n'existait pas à l'époque du choix du switch PoE Linksys).

Le choix est très lié à l'architecture réseau existante et au matériel réseau déjà en place. On vous conseillera sûrement de mettre les flux VoIP dans un VLAN dédié. Dans nos locaux, nous manquons de prises réseau dans un certain nombre de bureaux et nous avons donc recours à de petits switchs non administrables au niveau de ces bureaux pour raccorder les différents ordinateurs du bureau et les téléphones IP au reste du réseau. Il y a donc de toute façon une cohabitation des flux data et voix au niveau de ces petits switchs. Ensuite, notre préoccupation n'est pas tant de séparer les flux voix des flux data que de s'assurer que les flux voix ne seront jamais perturbés par le volume des flux data ; par exemple, nous voulions que si un lien entre 2 switchs du réseau est saturé, les flux voix ne soient pas impactés. D'où le recours à la QoS. Nous avons choisi de faire de la QoS au niveau IP plutôt que de la QoS au niveau Ethernet car nos switchs supportent la QoS IP et les téléphones Technicolor, Aastra et Polycom sont capables de tagger les flux en QoS IP (et Asterisk également, ainsi que la passerelle Patton), ce qui simplifie la configuration des switchs, qui n'ont alors qu'à se baser sur les tags des paquets IP pour attribuer le niveau de priorité.

Alors qu'initialement nous n'avions pas crée de VLAN dédié à la VoIP, nous en avons finalement crée un, dans lequel se trouvent maintenant le serveur Asterisk ainsi que les téléphones IP, l'interphone IP et la passerelle Patton. Dans notre société, nous utilisons beaucoup le multicast, et nous avons parfois des problèmes de multicast quand nous réalisons certains tests ; une conséquence possible de ces problèmes est que les flux multicast se retrouvent broadcastés dans le VLAN où se trouve(nt) le(s) émétteur(s) de flux multicast, ce qui peut sérieusement perturber le réseau si les flux multicast sont d'un gros débit (par exemple, si la somme des débits des flux multicast qui se retrouvent broadcastés est supérieure à 100 Mb, on arrive à une paralysie de tous les équipements branchés sur des ports Fast Ethernet et/ou ayant des interfaces Fast Ethernet). Nous avons notamment remarqué que les téléphones Aastra ont une qualité audio dégradée quand ils recoivent plusieurs flux multicast de quelques Mbit/s auxquels ils ne sont pas abonnés. Le fait de créer un VLAN dédié à la VoIP nous a permis de ne plus avoir de problème de téléphonie quand on a des problèmes de multicast dans le VLAN principal. Comme nous utilisons des switchs non administrables dans certains bureaux pour connecter des PCs et des téléphones IP, nous avons configuré les téléphones pour qu'ils taggent leurs paquets audio et SIP avec le numéro du VLAN dédié à la VoIP ; cela permet aux switchs administrables situés en aval des switchs non administrables d'aiguiller les paquets issus des téléphones IP vers le VLAN dédié à la VoIP.

Attention, il ne faut pas perdre de vue l'essentiel : si on veut avoir une bonne qualité audio, il faut simplement un réseau où il n'y a aucune perte de paquet. En effet, les flux VoIP sont envoyés en UDP sans algorithme particulier de correction d'erreur ni de renvoi de paquet perdu ; toute perte de paquet, si il s'agit d'un paquet transportant le son d'une conversation VoIP, va donc très certainement entraîner une dégradation ponctuelle de la qualité audio. Cette affirmation est valable quand on utilise le codec G711, mais certains codecs comme le G729 sont conçus pour tolérer un certain niveau de perte de paquet sans dégradation de la qualité audio (j'imagine qu'ils utilisent des techniques de type FEC i.e. Forward Error Correction). Si vous avez du matériel réseau de bonne qualité (j'entends par là des switchs administrables qui tiennent un peu la charge, et pas des hubs non administrables même si ils sont de marque) et que vous ne l'utilisez que pour échanger des fichiers bureautique et des mails (c'est à dire que vous l'utilisez à 1% de ses capacités), alors vous n'aurez même pas besoin de mettre en place de QoS, la VoIP marchera très bien sans cela. Par contre, si vous avez des vieux hubs 10 Mb sur lesquels la diode de collision s'allume régulièrement, il faudra absolument faire quelque chose : mettre en place de la QoS ne vous apportera rien car votre hub n'a certainement pas de files de priorité, mais il faudra plutôt mettre votre vieux hub au placard et le remplacer par un vrai switch administrable qui tient la route.

Dans notre entreprise, nous avons un réseau composé uniquement de switchs administrables de bonne qualité (différents modèles de switchs HP Procurve) mis à part les petits switchs non administrables dans certains bureaux, mais certains trafics de données autres sont susceptibles de saturer des liens entre les switchs, d'où l'idée de mettre en place de la QoS.

La fonctionnalité PoE (Power over Ethernet) permet d'alimenter les téléphones en électricité par le câble réseau plutôt que par un bloc d'alimentation spécifique. Il faut que cette fonctionnalité soit supportée par les téléphones IP (ce qui est le cas des téléphones Technicolor ST2030, Aastra 6731i et Polycom IP 6000) et par les switchs sur lesquels ils sont branchés (ce n'est pas une fonctionnalité courante sur les switchs ; il vous faudra probablement acheter de nouveaux switchs dans le but de supporter le PoE). L'avantage du PoE est de n'avoir qu'un seul câble utilisé pour les téléphones IP au lieu de deux, ce qui fait plus propre sur les bureaux !

Nous n'avons pas utilisé la fonctionnalité PoE pour notre déploiement initial, mais nous avons par la suite acheté un switch Linksys SRW224G4P ayant 24 ports PoE et 4 ports Giga non PoE. Ce modèle a été choisi en m'aidant des messages dans ce fil de discussion que j'ai lancé sur le forum Asterisk-France. Ce switch donne globalement satisfaction et est simple à utiliser ; il se configure par une interface Web (il y a aussi une interface telnet qui permet d'accéder à un menu très basique). Il permet, tout comme les switchs HP Procurve, de mettre en priorité les flux ayant un champ DSCP particulier. Ce switch possède néanmoins deux gros défauts :

Au final, si vous ne comptez pas utiliser plusieurs VLANs, le switch Linksys SRW224G4P est à recommander pour une utilisation en PoE ; si vous comptez utiliser plusieurs VLANs, choisissez un autre constructeur de switchs PoE. Par exemple, vous pouvez regarder les nouveaux switchs HP Procurve 2520, notamment le switch 2520-24-POE, qui propose 20 ports Fast Ethernet PoE et 4 ports Giga à 570 euros HT chez Busiboutique.

Fonction standard

Le PABX Alcatel de notre installation précédente proposait une solution intéressante pour la gestion du standard. Nous avions un poste dédié au standard, qui sonne quand on reçoit un appel de l'extérieur sur le numéro de téléphone du standard. En plus de cela, il était possible, sur les autres téléphones Alcatel, d'activer ou non une "fonction standard" par simple pression d'une touche dédiée : quand la fonction standard est activée sur un poste, ce poste sonne en plus du poste dédié au standard quand on reçoit un appel de l'extérieur sur le numéro du standard, et c'est le premier qui décroche qui obtient la communication. Cela permet de ne pas rater des appels au standard quand la standardiste est déjà au téléphone ou quand elle n'est pas à son poste.

Malheureusement, il n'existe pas d'équivalent de cette fonctionnalité prêt à l'emploi avec Asterisk et un téléphone IP. Dans le but de ne pas perdre cette fonctionnalité lors de la migration, ce qui n'aurait pas manqué d'alimenter les critiques des utilisateurs, nous avons développé nous-même cette fonctionnalité grâce à de simples scripts AGI. Malheureusement, nous n'avons pas trouvé le moyen de programmer une touche du téléphone Technicolor ou de personnaliser son menu pour reproduire le fonctionnement de la touche dédiée à la fonction standard sur les téléphones Alcatel (il aurait fallu être capable d'afficher l'état d'une variable binaire et de la modifier, via un protocole quelconque). Nous avons donc implémenté le système suivant :

  1. pour savoir si son poste est en "mode standard" ou non, l'utilisateur compose un numéro de téléphone qui l'amène à un menu vocal programmé dans Asterisk,
  2. ce menu vocal va consulter une variable binaire dans AstDB (Asterisk Database) pour le poste en question. Cette variable binaire a été crée spécialement pour cette fonctionnalité : si elle contient 1 alors la fonctionnalité standard est activée, si elle contient zéro elle est désactivée. Le serveur vocal annonce donc à l'utilisateur si la fonctionnalité est activée pour le poste ou non (via des phrases pré-enregistrées par nos soins).
  3. ce menu propose alors d'appuyer sur une touche pour modifier l'état de la variable ou de raccrocher si on ne veut pas la modifier.

Au final, cela donne par exemple une annonce vocale du style "La fonctionnalité standard de votre poste est actuellement désactivée. Si vous voulez activer la fonctionnalité standard, appuyez sur la touche 1, sinon, vous pouvez raccrocher". C'est un peu fastidieux, mais ça marche bien. Quand on reçoit un appel au standard :

  1. un script AGI s'exécute et consulte l'état de la variable binaire dédié à la fonction standard pour chaque poste. Ce script retourne la liste des postes pour lesquels la variable est à 1
  2. Asterisk fait sonner, en plus du poste dédié au standard, tous les autres postes de la liste renvoyée par le script AGI
  3. avec cette configuration, c'est le premier qui décroche qui prend la communication.

Cette solution marche bien mais n'est pas très pratique à l'utilisation. Nous ne l'avons finalement pas retenue et nous avons adopté une solution beaucoup plus radicale :

  1. quand on reçoit un appel au standard, le poste dédié au standard sonne pendant 15 secondes ;
  2. s'il n'a pas décroché au bout de ce temps là, tous les postes présents dans une liste définie par moi-même se mettent à sonner en plus du standard, pendant 15 secondes supplémentaires ;
  3. si toujours aucun poste ne décroche, l'appel est basculé sur le répondeur du standard.

L'avantage de cette solution est qu'il permet de pallier au problème suivant : les utilisateurs avaient tendance à ne pas activer la fonction standard sur leur poste pour ne pas assumer la corvée de prendre des appels du standard quand la standardiste n'est pas disponible pour prendre l'appel. L'inconvénient est qu'il faut faire appel à l'administrateur de l'IPBX quand on veut modifier la liste des postes déclarés "solidaires" du standard après les 15 premières secondes.

Société de service

Pour nous accompagner en cas de besoin pendant le déploiement et pour assurer la maintenance du système dans les cas où nous ne saurions pas résoudre les problèmes techniques nous-même, nous avons choisi de faire appel à une société de service. Cela permet aussi de s'entourer de gens expérimentés sur Asterisk et la VoIP et d'avoir une personne qui peut intervenir sur le système quand je suis absent de l'entreprise.

Lors du déploiement initial, nous avons mis en concurrence deux sociétés :

Les deux sociétés sont à mon avis un bon choix, mais Avencall a l'avantage d'être focalisé sur la téléphonie sur IP et d'être un acteur majeur de l'écosystème Asterisk. Nous avons finalement choisi la société Morea car nous connaissions un des associés de la société, qui nous avait prouvé son sérieux sur des projets antérieurs.

Après notre déploiement initial, nous avons travaillé ponctuellement avec Christophe Jeannerot de la société Azylis pour nous assister dans le déploiement de la passerelle SIP/RNIS Patton. Cette société est également un bon choix et possède de très bonnes compétences sur les solutions Asterisk.

Grâce à mes rencontres au sein de l'association Asterisk-France, je peux recommander d'autres intégrateurs dont je sais qu'ils ont le sérieux et les compétences requises pour un déploiement Asterisk :

Et, comme expliqué au début de cette page, je propose maintenant, dans le cadre de ma nouvelle activité professionnelle, mes services de déploiement d'IPBX Asterisk, en utilisant la distribution Xivo.

Interphone IP avec ouverture de porte

Choix réalisé : interphone PanTel IP d'ITS Telecom.

Si c'était à refaire : j'essayerais l'interphone 2N Helios IP.

Je me suis mis à la recherche début 2009 d'un interphone IP capable de déclencher l'ouverture d'une porte. Notre vieil interphone analogique n'était pas relié à notre IPBX et cela nous manquait. Après la lecture de cette page et quelques recherches Google, j'ai identifié 3 interphones SIP avec commande d'ouverture de porte :

Note : il est possible de relier un interphone analogique à un IPBX via un port FXO/FXS, mais ce n'est pas la solution que nous recherchions.

J'ai finalement choisi le Pantel IP d'ITS Telecom.

Nous avons eu la mauvaise surprise de constater assez rapidement après la configuration initiale de l'interphone (qui se fait par interface Web) que, lors d'une communication entre l'interphone et un téléphone ST2030, la personne à l'interphone n'entendait pas la voix de la personne au téléphone. Dans un premier temps, nous avons vérifié le réglage du niveau du haut-parleur côté interphone (réglage soft dans l'interface Web et réglage hard via un potentiomètre présent sur la carte électronique). Ensuite, nous avons testé en remplaçant le ST2030 par un softphone, et, surprise : le problème n'était pas présent avec un softphone ! Après une longue séance de debug au tcpdump/wireshark, une tentative de bidouillage du SIP via un patch sur Asterisk, des essais avec d'autres versions de firmware sur le ST2030, une demande de mise-à-jour du firmware de l'interphone (en fait, nous avions déjà la dernière version), nous nous apprêtions à envoyer un bug report au fournisseur... et l'interphone s'est alors mis à fonctionner comme par miracle ! Nous n'avons depuis jamais rencontré le problème de nouveau... cela reste inexpliqué pour nous !

Nous avons alors décidé de déployer l'interphone IP en gardant en parallèle notre interphone analogique en cas de problème ; ceci était tout à fait possible de part le mécanisme de commande de notre porte d'entrée (contact sec ouvert par défaut). Nous avons fait venir notre installateur habituel de solutions de contrôle d'accès, la société Paris 15 Sécurité, qui a réalisé la pose de l'interphone et le lien avec la commande d'ouverture de porte. Tout s'est bien passé et l'interphone fonctionne parfaitement depuis qu'il a été posé. Nous avons seulement constaté lors du déploiement que l'interphone ne fonctionnait pas avec les quelques téléphones ST2030 qui étaient encore en firmware 1.58 ; nous les avons donc upgradé en firmware 1.65 et tout est rentré dans l'ordre.

Actuellement, l'interphone est configuré pour composer un numéro spécial de notre dialplan qui exécute une fonction qui fait sonner plusieurs téléphones en fonction de l'heure de la journée. La personne qui décroche l'appel de l'interphone est alors immédiatement en conversation avec son interlocuteur à l'interphone et n'a plus qu'à appuyer sur une touche du téléphone pour déclencher l'ouverture de la porte ; en fait, l'interphone reçoit le signal DTMF envoyé par le téléphone lors de l'appui sur la touche et, si il correspond au paramètre Door opening code from extension configuré dans l'interface Web de l'interphone, ferme le contact sec qui déclenche l'ouverture de la porte.

Au final, voilà mon avis sur l'interphone Pantel IP :

Conseils sur l'installation et la configuration des différents composants

Le serveur Asterisk

Comme notre déploiement initial date d'Août 2007, ce qui était expliqué dans cette section sur l'installation d'Asterisk était en grande partie obsolète. J'ai donc supprimé cette partie et je n'ai gardé que les éléments qui pourraient encore être utiles aujourd'hui.

Voici certains de mes fichiers de configuration d'Asterisk, dans l'espoir que cela puisse être utile à d'autres personnes :

Ces fichiers utilisent un encodage UTF-8. Pour qu'ils s'affichent correctement dans votre navigateur, vous aurez peut-être besoin d'aller dans le menu Affichage, Encodage des caractères, Unicode UTF-8 (sous Firefox).

Pour l'installation du fax2mail à l'époque où on recevait les fax sur notre serveur Asterisk, j'ai procédé en deux temps :

  1. Installation d'IAXmodem et de Hylafax en suivant ce tutoriel. Pour ceux qui utilisent Debian, les versions d'IAXmodem et de Hylafax présentes dans Debian stable sont suffisamment récentes pour pouvoir être utilisées, pas besoin de prendre les sources des logiciels et de les compiler.
  2. Installation d'Avantfax en suivant la doc d'installation (il faut avoir un peu de temps devant soi !)

La passerelle SIP/RNIS Patton SN4683

Nous n'utilisons plus le boitier Patton depuis Juillet 2010, date à laquelle nous avons migré vers un opérateur IP. Je laisse quand même cette section, car elle pourra intéresser les personnes qui déploient des passerelles SIP/RNIS Patton.

Nous avons déployé la passerelle Patton en version de firmware 4.2 (la dernière version du firmware en Juin 2009 était la 5.3), car la personne d'Azylis avec qui nous avons déployé ce boitier nous a dit que les firmwares 5.x avaient intégré une évolution majeure qui permettait au boitier de faire office de serveur SIP simple (ce qui transforme le boitier en mini-IPBX !), et qu'il valait mieux pour le moment utiliser les firmwares antérieurs à cette évolution majeure.

Voici notre fichier de configuration du boitier Patton.

Nous avons réalisé la configuration par l'interface Web. Il est aussi possible d'utiliser la ligne de commande (accès telnet) pour configurer le boitier.

Le port WAN est connecté à notre réseau local ; nous n'utilisons pas le port LAN, mais il est quand même configuré avec un serveur DHCP qui écoute sur ce port ; cela permet, en cas de problème au niveau du réseau local ou de la configuration du port WAN, de venir brancher son ordinateur portable directement sur le port LAN et d'avoir ainsi facilement accès au serveur telnet du boitier.

Je vous conseille de lire au moins le chapitre 2 de la doc qui explique les concepts de configuration et notamment les deux contexts : IP et CS. On retrouve d'ailleurs certains concepts Unix dans la configuration d'une Patton, notamment la nécessité de binder un élément sur un autre : par exemple, dans mon fichier de config, l'interface SIP gw-sip est bindé sur la gateway SIP sip (c'est au niveau de la gateway qu'est configuré le compte SIP d'Asterisk), qui est elle-même bindée sur l'interface WAN (qui porte l'adresse IP). On retrouve aussi la nécessité de binder une interface sur un port physique : toujours dans mon fichier de config, l'interface IP WAN est bindée sur le port Ethernet 0 0 ; le port BRI 0 0 est bindé sur l'interface T0-1, le port BRI 0 1 est bindé sur l'interface T0-2, etc....

Une fois que toutes les interfaces sont configurées et que les différents éléments sont bien bindés, il reste 2 choses importantes à faire, qui se paramètrent dans le context CS :

Mon pense-bête Patton :

Les téléphones Technicolor/Thomson ST2030

Je ne vais pas réexpliquer ici ce qui est expliqué dans la documentation de Technicolor, mais plutôt vous faire part de mon expérience dans ce domaine.

Vu que la taille de notre parc (plusieurs dizaines de téléphones), il est hors de question de les configurer un par un via leur interface Web. Nous avons donc opté pour la configuration en provisionning TFTP. Le plus long et fastidieux a été de mettre au point les fichiers de configuration, car il y a énormément de paramètres, qui n'ont pas tous la même importance... Je vous fourni mes fichiers de configuration, en espérant que ça vous fera gagner du temps.

Premier piège à éviter : quand on fait une modification dans un fichier de configuration du téléphone en partage TFTP, si on veut que le téléphone daigne tenir compte de la modification à son prochain reboot, il y a souvent une manipulation supplémentaire à faire, qui est détaillée dans le tableau ci-dessous.

Nom du fichier Appellation en anglais dans la doc Technicolor Rôle Mes modifications En cas de modification d'un paramètre du fichier
ST2030S_MACtelephone.inf Provisioning INF Lien vers les autres fichiers de configuration Personnalisation simple : changement des noms des fichiers Rien à faire. Comme ce fichier contient les noms de presque tous les autres fichiers, il faut bien sûr le mettre à jour à chaque fois qu'un autre fichier change de nom
ST2030S_MACtelephone.txt MAC-specific config file Fichier contenant les paramètres spécifiques à chaque téléphone Personnalisation complète Changer le paramètre config_sn du fichier
ComConf2030S_version.txt Common Config Fichier contenant les paramètres communs à tous les téléphones Personnalisation complète Changer le nom du fichier
TelConf2030SG_version.txt Telephone Config Paramètres "bas niveau" du téléphones et paramètres des codecs 1 seul paramètre modifié : vad mis à off pour le codec G711A Changer le nom du fichier
v2030SG.version.zz Firmware Fichier contenant le micrologiciel du téléphone Fichier binaire, aucune modification possible -
Melodies.txt Melody Fichier contenant les musiques d'attente (je crois) Aucune Changer le nom du fichier
Sys_Ringtones.txt System Melodies Fichier contenant les sonneries Aucune Changer le nom du fichier
Bellcore_CW.txt Call Waiting tones Fichier contenant les tonalités d'attente Aucune Changer le nom du fichier

Au niveau de mon serveur TFTP, tous les fichiers ST2030S_MACtelephone.inf sont des liens symboliques vers le même fichier que j'ai appelé ST2030S_all.inf.

J'ai mis en ligne mes fichiers :

J'ai mis un maximum de commentaires à l'intérieur des fichiers. Vous êtes libres de les utiliser... j'espère qu'ils vous seront utiles ! Ces fichiers sont en encodage ASCII ou ISO-8859.

Deuxième piège : il faut toujours partir du fichier TelConf fourni par Technicolor. Je veux dire qu'à chaque fois que vous voulez mettre à jour vers un nouveau firmware, il ne faut pas garder le fichier TelConf que vous utilisiez avec le firmware précédent (qu'il ait été personnalisé ou non), mais toujours prendre le fichier TelConf fourni avec le nouveau firmware, et le re-personnaliser si besoin. Dans mon cas, la seule modification que j'apporte au fichier TelConf de Technicolor est la désactivation de l'auto-détection de la voix (paramètre VAD comme Voice Auto Détection) pour le codec que j'utilise, à savoir le G711A. Dans la section G711A du fichier TelConf, j'ai donc :

set coding 0 vad  off

Truc et astuce : pour rebooter facilement le téléphone, il suffit d'appuyer simultanément sur les touches répertoire, haut-parleur et bis (touche avec une double flèche vers le haut).

Les téléphones Aastra 6731i

La configuration des téléphones Aastra 6731i est beaucoup plus simple celle des téléphones ST2030 : moins de fichiers de configuration, rien de particulier à faire quand on met à jour un fichier de configuration (pas besoin de changer son nom ou de changer un paramètre comme avec les ST2030). Vous trouverez les firmwares et la documentation sur le site d'Aastra dans la rubrique Support / Download Area.

Pour configurer les téléphones de façon centralisée, il suffit de mettre en partage TFTP 4 fichiers, dont le détail est donné ci-dessous. L'IP du serveur TFTP contenant les fichiers de configuration sera donnée au téléphone par le serveur DHCP via l'option tftp-server-name (comme pour les téléphones ST2030).

Nom du fichier Rôle Fichier exemple
aastra.cfg Fichier contenant les paramètres communs à tous les téléphones aastra.cfg (encodage UTF-8)
MACtelephone.cfg Fichier contenant les paramètres spécifiques à chaque téléphone MAC_telephone.cfg (encodage UTF-8)
6731i.st Fichier contenant le micrologiciel du téléphone Fourni dans la Software release du téléphone
lang_fr.txt Fichier contenant la traduction des menus du téléphone en français Fourni dans le Language pack du téléphone

La pieuvre de conférence Polycom IP 6000

Tout d'abord, armez-vous de patience, car la configuration est au moins aussi compliquée que celle des téléphones ST2030. De plus, elle n'est pas particulièrement pratique car il faut personnaliser d'énormes fichiers XML de plusieurs centaines de lignes. Justement, une des choses qui m'a fait perdre plusieurs heures est que j'ai commencé à préparer mes fichiers de configuration après avoir lu le Administrator guide... et je n'avais pas encore lu le white paper Configuration File Management on SoundPoint IP Phones. Or ce white paper contient une information importante qui n'est apparemment pas présente dans le guide Administrateur : quand on veut mettre à jour le firmware du téléphone, il faut impérativement repartir des fichiers de configuration livrés avec le firmware sinon on risque d'avoir des problèmes. Or ces fichiers de configuration, en particulier sip.cfg, sont énormes (700 lignes de XML pour sip.cfg). Il faut donc créer soi-même un dérivé du fichier de configuration original qui ne contiendra que les paramètres ayant besoin d'être changés, et indiquer à la fois le fichier original et le fichier dérivé dans le fichier de configuration maître du téléphone, en faisant attention à ce que le nom du fichier dérivé précède celui du fichier original pour que les paramètres définis dans le fichier dérivé overrident ceux du fichier original.

Je mets en partage les fichiers à personnaliser :

La QoS sur le réseau

Comme je l'ai expliqué dans la section Réseau du chapitre Choix et motivation des choix, nous avons choisi d'utiliser de la QoS au niveau IP, appelée DiffServ, pour mettre le trafic VoIP en priorité par rapport à tous les autres trafics. La méthode retenue a été de tagger les paquets IP avec un champ DSCP particulier et de déclarer au niveau du matériel réseau que les flux ainsi taggés ont une priorité maximale.

Tout d'abord, je vous conseille la lecture de l'article sur DiffServ dans Wikipedia. Pour vérifier que vous avez bien tout compris, voilà une petit résumé : dans l'entête des paquets IP, il y a 8 bits réservés au champ TOS (Type of Service), aussi appelé DiffServ. Les 6 premiers bits du champ TOS constituent le champ DSCP. Par convention, on met ce champ à la valeur 101 110 pour les flux de priorité maximale ; cela s'appelle la classe DSCP Expedited Forwarding (EF). Les 2 derniers bits forment le champ ECN (Explicit Congestion Notification), qui ne nous intéressent pas dans notre cas.

Nous voulons donc que les flux VoIP soient taggés ainsi :

Champ Binaire Hexadecimal Décimal
DSCP 101 110
TOS/DiffServ 101 110 00 0xB8 46

Pour mettre en place la QoS, il faut :

Sur les switchs HP Procurve modèles 2510, 2810, 2824 et 2848 (la fonctionnalité de QoS n'est pas disponible sur les Procurve 2524), cela se configure de la façon suivante. Tout d'abord, il faut activer la gestion de la QoS DiffServ :

switch(config)# qos type-of-service diff-services

Pour vérifier que la fonctionnalité QoS DiffServ a bien été activée :

switch# show qos type-of-service

  Type of Service [Disabled] : Differentiated Services


  Codepoint DSCP Policy | Priority   
  --------- ----------- + -----------
  000000                | No-override
[...]
  101101                | No-override
  101110                | 7          
  101111                | No-override
[...]

Il faut dire au switch que les flux dont le champ DSCP est 101 110 doit être traité en priorité maximale, qui est la priorité 7. En fait, c'est le réglage par défaut, comme on peut le voir ci-dessus.

Pour les switchs Linksys SRW224G4P, cela se configure dans l'interface Web du switch.

Le call pickup : group ou directed ?

Le call pickup est une fonctionnalité d'une installation téléphonique qui permet à un utilisateur d'intercepter un appel en attente de décroché qui faisait sonner un téléphone qui n'était pas le sien. L'exemple typique est le suivant : un bureau est partagé par deux personnes ayant chacun leur téléphone. Un des deux poste sonne, mais la personne n'est pas à son bureau et ne peut donc pas décrocher ; son collègue fait alors un call pickup depuis son propre poste et prend la communication. Cela lui évite de se lever et d'aller décocher le téléphone sur le bureau de son collègue.

J'ai fini par comprendre certaines subtilités du call pickup que je n'avais pas compris lors du déploiement initial, et comme je n'ai pas trouvé sur Internet d'explication claire et précise sur les subtilités en question, je profite de cette page pour vous les révéler.

La principale subtilité à bien comprendre, c'est qu'il existe deux types de call pickup différents :

Si mon explication sur les deux types de call pickup n'est pas assez claire, vous pouvez lire celle de voip-info.org.

Directed call pickup Group call pickup
Fichier extensions.conf Utiliser la fonction Pickup (ou DPickup si vous avez le patch bristuff, comme c'est le cas de la version d'Asterisk fournie par Debian Lenny). Si vous voulez associer des touches de fonction du téléphone au monitoring de certains postes, ajoutez les hint nécessaires. Aucun paramétrage à faire
Fichier features.conf Aucun paramétrage à faire Définir la séquence de touches qui va déclencher le group pickup via le paramètre pickupexten. Dans mon exemple : pickupexten=*8
Fichier sip.conf Aucun paramétrage à faire pour la fonction de directed pickup. Si on veut faire du monitoring de postes par les touches de fonction des téléphones, il faut mettre dans la section [general] les paramètres notifyringing=yes et notifyhold=yes. Pour chaque poste, définir les groupes de pickup auxquels le poste appartient via le paramètre callgroup et les groupes sur lesquels le poste peut faire un group pickup via le paramètre pickupgroup.
Configuration des téléphones IP Facultatif. Si vous voulez éviter à vos utilisateurs d'avoir à taper la séquence de touches nécessaire pour faire un directed pickup, dans mon exemple **<numéro du poste qui sonne> (la séquence exacte depend de ce qui a été configuré dans extensions.conf), vous pouvez configurer des touches de fonction pour monitorer et faire des pickups sur les postes que vous avez choisi (une touche par poste) ; ainsi, quand un des postes monitorés sonne, la touche de fonction correspondante se met à clignoter et vous pouvez faire un directed pickup sur ce poste en appuyant sur la touche qui clignote. Facultatif. Si vous voulez éviter à vos utilisateurs d'avoir à taper la séquence de touches du group pickup que vous avez défini au niveau du paramètre pickupexten du fichier features.conf, vous pouvez configurer une touche de fonction du téléphone pour faire en sorte que l'appui sur cette touche déclenche la composition de la séquence de touches du group pickup, soit *8 dans mon exemple.
Avantages
  • On sait exactement sur quel poste cible on fait l'interception d'appel.
  • Possibilité d'associer des touches de fonction du téléphone au monitoring de certains postes (une touche par poste) et ainsi d'avoir la touche qui clignote quand le téléphone monitoré sonne et pouvoir intercepter l'appel par simple pression sur la touche qui clignote.
  • Très facile à configurer.
  • On peut facilement mettre en place des "droits d'accès" sur l'interception d'appel, pour contrôler qui a le droit de faire une interception d'appel sur qui.
Inconvénients
  • Pas facile à configurer si on écrit son fichier extensions.conf soi-même, notamment si on veut faire de l'interception sur les appels provenant de l'intérieur ET de l'extérieur et/ou si on veut mettre en place des "droits d'accès" sur l'interception d'appel.
  • Combinaison de touches pour faire l'interception d'appel plus longue à taper (et il faut la taper rapidement, avant que le téléphone cible n'arrête de sonner !). Si on passe par les touches de fonction du téléphone, on est alors limité par le nombre de touches de fonction disponibles.
  • Si on fait un group pickup alors que deux téléphones sont entrain de sonner dans les groupes sur lesquels on a le droit de faire cette interception d'appel, alors on ne peut pas prévoir laquelle des deux communications va nous être transmise.
  • A ma connaissance, on ne peut pas faire clignoter une touche de fonction du téléphone quand un poste sonne dans un groupe et l'associer à la combinaison de touches du group pickup.

Vous trouverez ci-dessous un exemple de configuration du dialplan (extensions.conf) pour faire du directed pickup :

Tout d'abord, il faut comprendre que la fonction Pickup prend en argument l'extension par laquelle passe l'appel, et non le numéro du poste qui sonne.

Au final, comme on veut généralement faire du directed pickup sur les appels venant de l'intérieur ET de l'extérieur en composant **<numéro du poste qui sonne>, on va enchainer les deux appels à la fonction Pickup, dans le contexte où se trouvent les téléphones IP (contexte appelé interne dans cet exemple) :

[interne]
exten => _**.,1,Pickup(${EXTEN:2})
exten => _**.,n,Pickup(${PICKUPEXT_${EXTEN:2}}@reception)
exten => _**.,n,Hangup()

Note : n'oubliez pas de remplacer la fonction Pickup par DPickup si vous utilisez le patch bristuff, en sachant que les paquets Debian Lenny utilisent ce patch.

En conclusion, si vous avez du mal à choisir entre faire du directed pickup ou du group pickup, sachez que rien n'empêche de mettre en place les deux !

Interconnexion avec un opérateur IP

Portage des numéros

Le portage des numéros de téléphone de France Télécom vers le nouvel opérateur IP est une opération qui se fait directement entre les deux opérateurs, sans notre intervention. Après avoir convenu du jour du basculement avec le nouvel opérateur, celui-ci nous confirme la date du portage et l'heure approximative (dans notre cas, on nous avait dit que cela aurait lieu entre 10h et 12h... l'intervalle était plutôt large ! Et pour l'anecdote, la portabilité a eu lieu à 12h20 !). D'après ce que j'ai compris, l'opération de portage est "manuelle" et se fait par téléphone entre des techniciens de France Telecom et des techniciens du nouvel opérateur.

Concrètement, d'après ce que j'ai compris, l'opération consiste en une mise à jour des tables de routage téléphonique du côté de France Télécom ; en effet, les numéros de téléphone continuent d'être associés à France Télécom, et France Télécom met en place une sorte de renvoi d'appel permanent vers le nouvel opérateur. D'après ce que m'a dit Acropolis Telecom, les communications téléphoniques en cours au moment du portage ne sont pas coupées. Je voulais le vérifier à l'occasion du portage de nos numéros, mais l'heure exacte du portage était trop imprécise pour que je le fasse.

Comme quand on change d'opérateur de téléphone mobile avec portage du numéro, la résiliation des lignes chez l'ancien opérateur est automatique, pas besoin d'écrire une lettre de résiliation.

Pour que l'opération de portage soit transparente, il faut préparer plusieurs jours à l'avance le serveur Asterisk :

  1. connecter le serveur Asterisk à la ligne SDSL et mettre à jour sa configuration réseau.
  2. mettre en place le trunk IAX via la ligne SDSL. Dès que le trunk IAX est "tombé en marche", nous avons modifié le dialplan pour que les appels sortants passent par le trunk IAX ; cela nous a permis de tester le bon fonctionnement du trunk et de la ligne SDSL et de vérifier la qualité audio des communications plusieurs jours avant le portage des numéros. Je conseille de faire cela suffisamment à l'avance par rapport à la date de portage prévue pour pouvoir la repousser si un problème est constaté sur les appels sortants par le trunk ; en effet, notre nouvel opérateur nous avait dit qu'il fallait le prévenir plusieurs jours à l'avance si on souhaitait changer la date de portage des numéros. Il faut aussi tenir compte des instructions données par l'opérateur IP pour :
  3. adapter le dialplan pour le préparer à recevoir les appels par le trunk : dans notre cas, cela a simplement consisté à dupliquer temporairement le code du contexte de réception des appels pour matcher à la fois sur les 4 derniers numéros (fonctionnement avec les lignes RNIS) et sur les numéros complets (fonctionnement avec le trunk). Par exemple :
    ; le code pour la réception d'appel via RNIS
    exten => _3341,1,Macro(dial-voicemail-ext,20)
    
    ; le même code pour la réception d'appel via le trunk IAX
    exten => _0142993341,1,Macro(dial-voicemail-ext,20)
    

Si l'interconnexion avec votre opérateur IP se fait par un trunk IAX, ce sera peut-être la première fois que vous aurez affaire à ce protocole. Je vous conseille de lire cette petite doc qui explique en très résumé (5 petites pages) le fonctionnement d'IAX et les différences avec SIP.

La problématique du fax dans l'opération de basculement vers l'opérateur IP est expliquée dans la section concernant le fax.

Dès que le portage a été effectif, nous avons tout de suite procédé à des tests pour vérifier que tout fonctionnait bien :

Architecture d'interconnexion

Nous avons choisi de relier notre serveur Asterisk directement au modem SDSL, en ajoutant une 2ème carte réseau dans le serveur Asterisk.

Acropolis Telecom nous avait fourni un routeur Zyxel Prestige 334 à installer entre le serveur Asterisk et le modem SDSL. Nous avons demandé à Acropolis Telecom à quoi servait exactement ce routeur. En fait, ce routeur fait du NAT entre son interface WAN qui porte l'IP publique de la ligne SDSL et son interface LAN qui porte une IP privée (il y a aussi un serveur DHCP qui tourne sur l'interface LAN). Ce routeur permet en fait à Acropolis d'être sûr que l'IP publique de la ligne SDSL répond bien au ping, de vérifier la négociation Ethernet (10/100 Mb, half/full duplex) des deux côtés du routeur et d'avoir un NAT pour "protéger" le serveur Asterisk. Nous avons finalement décidé de ne pas utiliser ce routeur Zyxel et de brancher directement le modem SDSL au serveur Asterisk, en faisant porter l'IP publique de la ligne SDSL par le serveur Asterisk, car nous avons préféré ne pas ajouter un équipement non essentiel et susceptible de tomber en panne entre notre serveur Asterisk et le serveur IAX d'Acropolis. Par contre, on a fait attention à ce que notre serveur Asterisk réponde bien aux pings du côté de la ligne SDSL et qu'il soit maintenu à jour au niveau de la sécurité (même si en fait l'IP publique de notre ligne SDSL n'est pas joignable par Internet).

Pour l'anecdote, on n'avait initialement pas réussi à connecter la 2ème interface réseau de notre serveur Asterisk directement au modem SDSL... et on s'est ensuite aperçu que le problème venait du fait qu'on avait utilisé un câble droit au lieu d'un câble croisé ! On a tellement l'habitude aujourd'hui de travailler avec des interfaces Ethernet qui font de l'auto MDI/MDI-X, qu'on en vient à oublier la question des câbles droits ou croisés, or l'interface Ethernet du modem SDSL ne faisait pas d'auto MDI/MDI-X et la vieille carte Ethernet que j'avais ajoutée dans le serveur Asterisk n'en faisait pas non plus !

Pour la solution de backup en cas de panne du lien SDSL, comme expliqué dans la section choix du canal de communication vers l'extérieur, nous avons choisi d'avoir un basculement automatique du trunk IAX vers la connexion Internet de l'entreprise, qui est en fait une connexion ADSL classique.

Pour cela, nous avons développé un script qui est lancé au démarrage du serveur Asterisk et qui tourne en tâche de fond. Ce script fait régulièrement un ping vers le serveur IAX d'Acropolis ; si le ping ne répond pas pendant un certain temps, il en déduit que le lien SDSL est down et il ajoute une route spéciale dans la table de routage du serveur Asterisk pour router le traffic vers le serveur IAX d'Acropolis via l'interface d'Asterisk connectée au LAN de l'entreprise, qui est lui-même relié à Internet par un accès ADSL classique. Après ce basculement vers le lien de backup, le script se met alors à pinguer un autre serveur Acropolis habituellement joignable par la ligne SDSL (en l'occurence un serveur DNS) et, si il se met à répondre, il supprime la route qu'il avait précédemment ajoutée, ce qui a pour conséquence de faire de nouveau passer le trunk IAX par la ligne SDSL.

Les imperfections qu'il reste à corriger

Ce paragraphe contenait la liste des points qu'il me restait à résoudre pour être parfaitement satisfait de mon déploiement VoIP avec Asterisk. Cette liste s'est réduite au fur et à mesure et ne comporte actuellement plus aucun élément !

Présentation du numéro et transfert d'appel

Lors de mon déploiement initial, j'ai rencontré un problème de présentation du numéro lors d'un transfert d'appel. Voilà le scénario du problème : le poste A reçoit un appel de l'extérieur et voit le numéro du correspondant qui s'affiche sur son écran ; il décroche puis transfère l'appel vers le poste B ; le poste B est alors en ligne avec le correspondant extérieur mais le numéro qui est présenté sur son écran est celui du poste A.

J'ai reçu un éclairage de Sylvain Boily de Avencall sur ce sujet, et il m'indique que ce problème a été résolu par un commit qui ajoute le support du p-asserted et qu'il faut activer la fonction dans sip.conf et dans les téléphones IP. D'après mes recherches complémentaires, cette fonctionnalité est arrivée suite au travail sur le bug 8824 d'Asterisk, et est inclus dans la version 1.8.0 d'Asterisk, qui est sortie le 21 Octobre 2010, cf ce commit. Cela est confirmé par les informations du fichier CHANGES qui mentionne bien au niveau des modifications SIP : The 'sendrpid' parameter has been expanded to include the options 'rpid' and 'pai'. Setting sendrpid to 'rpid' will cause Remote-Party-ID header to be sent (equivalent to setting sendrpid=yes) and setting sendrpid to 'pai' will cause P-Asserted-Identity header to be sent. . Plus d'infos sur le paramètre sendrpid ici. Il faut aussi activer la fonction adéquate sur les téléphones IP ; sur les téléphones ST2030, cela se fait a priori avec le paramètre CodeDisplayPrior ; sur les téléphones Aastra, cette fonctionnalité est activée par défaut.

J'ai pu faire marcher cette fonctionnalité avec un Asterisk 1.8.4 et un téléphone Aastra : le numéro du correspondant est bien mis à jour à l'issue du transfert d'appel. Pour cela, j'ai juste eu à ajouter le paramètre suivant dans sip.conf :

[general]
sendrpid=pai

Par contre, je n'ai pas pu faire marcher cette fonctionnalité avec un téléphone DECT Gigaset Siemens... ce qui montre bien que le support dans cette fonctionnalité doit être présent à la fois dans Asterisk et dans le téléphone IP pour que cela marche bien.

Les commandes de diagnostic

pour les téléphones ST2030

Voici une liste de commandes que j'utilise pour diagnostiquer un problème sur un téléphone ST2030, après m'être connecté en telnet sur le poste :

pour Asterisk

En cas de problème avec Asterisk, j'ai le réflexe d'utiliser les commandes suivantes au prompt d'Asterisk ou au prompt du shell du serveur :

pour la passerelle Patton

Voilà les commandes que j'utilise pour diagnostiquer un problème sur la passerelle SIP/RNIS Patton à travers l'interface telnet :

Anciens schémas d'architecture

Schéma d'architecture de Juin 2009 à Juillet 2010

Voilà l'architecture après le déploiement de la passerelle SIP/RNIS et avant l'utilisation d'un opérateur IP :

diagramme d'architecture VoIP après déploiement de la passerelle Patton

Schéma d'architecture jusqu'en Juin 2009

Voilà l'architecture avant le déploiement de la passerelle SIP/RNIS, quand on utilisait la carte PCI B410P pour accéder aux lignes RNIS, et après l'utilisation d'une ligne analogique pour l'envoi des fax :

diagramme d'architecture VoIP avant le déploiement de la passerelle Patton

Schéma d'architecture initial

Voilà l'architecture initiale de notre déploiement VoIP avant l'utilisation d'une ligne analogique pour l'envoi des fax et avant le déploiement de la passerelle SIP/RNIS :

diagramme d'architecture VoIP avant l'utilisation d'une ligne analogique pour l'envoi des fax

XHTML 1.1 et CSS valides