Les bases de la téléphonie IP avec Asterisk
Par Alexandre le jeudi, novembre 29 2007, 18:00 - Téléphonie - asterisk - bell - digium - fxo - fxs - unlimitel - vidéotron - voip
J'ai découvert Asterisk il y a quelques mois en cherchant à gérer ma boîte vocale avec ma station Linux. En fait, je voulais simplement une boîte vocale qui m'enverrait mes messages vocaux dans ma boîte courriel. Google m'a mené vers des forums de discussion sur Asterisk. C'était une solution largement overkill pour ce que je souhaitais faire au départ, mais extrêmement prometteuse. Voici donc l'aperçu plus théorique (je viendrai au concret dans des billets subséquents) de mes premiers pas dans le domaine.
Asterisk - à ne pas mélanger avec un personnage d'un petit village gaullois - c'est une application libre de PBX (Private Branch Exchange).
Pour résumer, ça permet d'avoir toutes les fonctions auxquelles on s'attend d'un poste téléphonique dans un environnement de travail, à savoir :
- extensions téléphoniques pour chaque poste
- boîtes vocales
- appels conférence
- afficheur
Là où ça devient intéressant, c'est que Asterisk permet également d'avoir accès à tous les avantages de la téléphonie IP. Mais pas la téléphonie IP proposée par Vidéotron, Primus et compagnie. Avec Asterisk, vous êtes davantage dans la position de Bell Canada : la tonalité vient de votre système Asterisk et vous choisissez vos fournisseurs pour la réception et l'acheminement des appels. Concrètement, ça rend possible des choses comme :
- Obtenir des numéros de téléphones montréalais... newyorkais, parisiens ou berlinois à une fraction du coût d'une ligne fixe de Bell ;
- Choisir ses fournisseurs pour l'acheminement de ses appels interurbains (vous pouvez choisir des fournisseurs différents selon les tarifs offerts selon les destinations) et ainsi d'une part faire ces appels à une fraction du coût ;
- Intégrer de manière transparente pour l'usager l'utilisation de lignes PSTN (comme une ligne fixe de Bell Canada) et VOIP (où les données voyagent par Internet) ;
- Un paquet d'autres choses impressionnantes (mais moins pertinentes dans le contexte résidentiel où j'utilise Asterisk !).
Un peu de jargon
Voici quelques mots qui reviennent souvent quand il est question de téléphonie IP et d'Asterisk. Suivez les liens vers Wikipedia pour plus de détails.
VOIP - Voice Over Internet Protocol. Autrement dit, la téléphonie IP. (Wikipedia)
PSTN - Public Switched Telephone Network. Réseau téléphonique commuté (RTC) en français. Il s'agit essentiellement du réseau téléphonique traditionnel tel qu'on le connaît. Votre ligne téléphonique de Bell en fait partie. (Wikipedia)
POTS - Plain Old Telephone Service. Votre ligne de Bell. (Wikipedia)
DID - Direct Inward Dialing. C'est la fonctionnalité offerte par les compagnie de téléphone permettant l'acheminement des appels à un numéro de téléphone précis sur le système téléphonique (PBX) d'un client. Vous souhaitez un numéro local pour vos clients du Vermont ? Vous installez un DID du Vermont (802-xxx-xxxx). (Wikipedia)
SIP - Session Initiation Protocol. Un des deux protocoles utilisés l'acheminement des appels en téléphonie IP. (Wikipedia)
IAX - Inter-Asterisk eXchange protocol. Protocole utilisé nativement parAsterisk PBX et supporté par nombre d'autres systèmes. Fait référence au protocole IAX2 (IAX est déprécié). Asterisk supporte également SIP. (Wikipedia)
Trunk - Dans un PBX, il y a généralement plus de postes différents que de lignes branchées vers l'extérieur, parce que tous les postes ne sont jamais utilisés en même temps. Dans le contexte d'Asterisk, un trunk c'est grossièrement un canal de communication vers l'extérieur : soit une "ligne fixe" (Bell) connectée au système, soit un fournisseurs VOIP configuré dans le système. (Wikipedia)
FXS - Foreign Exchange Station. Sur une carte interface PCI installée dans un ordinateur (par exemple celles de Digium), les ports FXS sont ceux qui permettent de brancher des téléphones traditionnels. Autrement dit, le port FXS se charge de fournir les mêmes fonctionnalités que votre prise murale de Bell, notamment la tonalité. (Wikipedia)
FXO - Foreign Exchange Office. En bref, c'est l'inverse. Si vous souhaitez relier votre système Asterisk à une ligne de Bell, c'est dans un port FXO qu'il faudra brancher celle-ci. (Wikipedia)
Matériel requis
Essentiellement, pour un projet dont le but est de remplacer une ligne téléphonique traditionnelle par un système Asterisk, ça prend :
- Un ordinosaure. J'ai monté un système très rapide sur un vieux Celeron (mais je ne gagerais pas sur la performance de quelque chose de vraiment préhistorique) ;
- Une carte PCI avec un port FXS. Mais seulement si vous souhaitez continuer d'utiliser vos téléphones traditionnels et pas des téléphones VOIP. C'est le choix que j'ai fait, les téléphones traditionnels étant encore largement moins dispendieux pour l'instant, et le câblage existant pouvant être utilisé. Il existe un grand choix de cartes sur le marché conçues pour fonctionner avec Asterisk, notamment celles fabriquées par Digium. La série des cartes DGM-TGM (par exemple la TDM10B avec un port FXS) vous permet d'ajouter jusqu'à 3 ports (total de 4) par l'ajout de modules FXS et FXO supplémentaires. Entre 75 et 100 $ par port, ce sera de loin la plus grande dépense du projet, qui peut toutefois se payer facilement toute seule par la suite dépendant de votre situation.
Il s'agit du système minimal. Il est clair que tout ça devient plus intéressant avec plusieurs postes (autant de ports FXS sont requis).
Le coût des appels
Voici une comparaison sommaire des frais.
J'ai choisi mon fournisseur VOIP actuel (Unlimitel) comme comparatif.
| Bell (ligne fixe non VOIP) | Vidéotron | Asterisk + Unlimitel | |
| Produit | Ensemble téléphonie résidentielle sélection | Ligne de base | VOIP à la carte |
| Installation | 55 $ | Gratuit (?) | 100 $ (coût approximatif de chaque port FXS) |
| Ligne téléphonique | 34,95 $ | 19,95 $ | 2,50 $ (coût d'un DID 514-xxx-xxxx) |
| Boîte vocale, afficheur, etc. | Inclus | 10 $ | --- |
| Appels entrants (min.) | Inclus | Inclus | 0,011 $ |
| Appels locaux (sortants) (min.) | Inclus | Inclus | 0,02 $ (tarif Canada) |
| Canada (min.) | 0,05 $ +5,00 $ / mois | 0,07 $ | 0,02 $ |
| États-Unis (min.) | 0,05 $ | 0,07 $ | 0,02 $ |
| France (min.) | 0,06 $ + 4,00 $ / mois | 0,10 $ | 0,03 $ |
Notez que j'ai fait quelques choix en construisant ce tableau : l'abonnement aux plans d'interurbains de Bell pour avoir accès aux plus bas tarifs. J'ai aussi pris pour acquis que le client de Vidéotron était abonné au câble. Et aucun bloc de minutes payées d'avance : j'haïs ça.
Voici maintenant ce que ça pourrait donner concrètement :
Scénario 1 : Roger a une ligne téléphonique. Par mois, il reçoit 10 heures d'appel, en fait 10 locales, 3 au Canada, 1 aux États-Unis et 1 à son amie Facebook Française par mois.
Frais pour un an :
Bell : 769 $
Vidéotron : 633 $
Asterisk + Unlimitel : 432 $
Scénario 2 : Franz et Angela ont deux lignes téléphoniques (Franz travaille a la maison et a une ligne dans son bureau). Ensemble ils reçoivent 25 heures d'appels par mois, en font 25 locales, 10 au Canada, 3 aux États-Unis et 4 en France (à cause de vains mais persistants efforts pour passer à Ça se discute avec Jean-Luc Delarue).
Frais pour un an :
Bell : 1 806 $
Vidéotron : 1 542 $
Asterisk + Unlimitel : 1091 $
Résultat : une bonne différence, même dans ces deux worst case scenario. En effet, j'aurais pu diminuer la facture Asterisk + Unlimitel des façons suivantes :
- Acheter des DID avec des minutes entrantes illimitées (plus économique).
- Magasiner des fournisseurs VOIP moins dispendieux (Voxee, offre par exemple les appels vers la France à deux fois moins cher).
- Faire sortir les appels locaux par une ligne fixe.
Est-ce que c'est pour tout le monde, Asterisk ?
Asterisk est fantastique, mais est-ce que c'est pour moi ? La réponse courte est : probablement pas. Asterisk dans un contexte résidentiel, ça veut dire que vous devenez vous-même votre compagnie de téléphone. Avec les responsabilités que ça implique. Mais si vous avez une base de connaissances en Linux, foncez ! C'est un projet très intéressant à réaliser... et qui sauve des sous en bout de ligne. Et après tout, une fois que vous avez le bon matériel, votre système Asterisk peut être installé et fonctionnel en moins d'une heure. J'y reviendrai dans un prochain billet.
Quelques items à considérez si vous vous sentez prêt à envoyer promener votre fournisseur téléphonique actuel pour toujours :
911 - Vous devez avoir le service 911. Ce n'est pas vraiment un choix de laisser tomber cette fonctionnalité, en 2007, et les DID utilisés en téléphonie IP n'étant pas reliés à une adresse précise, vous aurez probablement un des deux choix suivants. 1. Avoir un fournisseur VOIP qui offre un service 911 de base (où l'appelant doit décliner son adresse - peut-être pas idéal dans une situation d'urgence). 2. Faire sortir les appels 911 de votre système Asterisk par une bonne vieille ligne de Bell (si vous avez un système d'alarme, vous êtes probablement pris pour en garder une de toutes façons... et vous pourrez faire sortir la plupart des appels locaux par cette ligne question de diminuer encore plus vos factures).
Un lien Internet rapide ET fiable - Si votre réseau est congestionné parce que quelqu'un dans la maison télécharge des gigs de vidéo, vos appels vont en arracher. Même chose si votre lien se déconnecte, même momentanément. Il y a moyen de configurer de plus en plus de routeurs pour prioriser le trafic VOIP mais ça prend au départ un lien Internet rapide et stable.
Panne d'électricité - La tonalité de vos téléphones venant de votre système Asterisk, si celui-ci tombe en panne, votre service téléphonique aussi. Pensez-y et planifiez minimalement en conséquence.
Utilisation dans un contexte commercial - J'ai parlé d'Asterisk pour un geek qui veut déployer ça comme loisir, dans un contexte résidentiel. En ce qui concerne le bureau, je suis d'accord avec l'essentiel de ce billet.
Commentaires
Wow, bien hâte de lire la suite, surtout de savoir si Franz va passer à la TV.
Au bureau où je travaille, un geekollègue s'est occupé de la mise en place d'un tel système il y a quelques mois, avec une vingtaine de postes sortant sur quatre (lignes traditionnelles/DID, pas clair). Je n'ai vécu aucun problème en tant qu'utilisateur et les fonctionnalités (courriel lorsqu'un message est déposé sur ma boîte vocale, redirection d'appel, appels conférence) répondent vraiment très bien.
Dans le domaine des possibles, il se pourrait que le bureau de New York s'équipe de la sorte aussi; nous pourrons alors tester un scénario de relais via un VPN et économiser des centaines de trilliards de dollars en frais de communication par jour.
Bonjour,
Votre article est vraiment très intéressant. Savez-vous où je pourrais trouver les procédures à suivre pour me monter un système PBX? Merci beaucoup!
Pour un système PBX simple avec AsteriskNow (j'insiste sur "simple" par contre !), j'ai écrit un autre billet : http://blogue.jaunorange.com/post/2...
Sinon, pour monter un système PBX avec Asterisk, il y a quelques distributions qui permettent de faciliter la configuration, et il est facile de trouver de l'information sur chacune d'entre elles :
http://blogue.jaunorange.com/post/2...
je ss un etudiant
Si je comprends bien avec la carte de base "TDM10B", il est possible d'avoir une ligne téléphonique?
Merci!
Plutôt un téléphone relié? Pour la prise d'appel? Il pourrait y avoir plusieurs lignes mais une prise pour y répondre?
TDM10B: Oui si tu choisis comme je l'ai fait) d'utiliser des "vieux téléphones" analogues, qui fonctionnent avec le câblage, les prises RJ11 et l'équipement existants de ton appart / maison / château. Bref, tu paies la carte Digium cher mais les téléphones sont peu dispendieux.
L'alternative c'est d'acheter des téléphones IP, qui fonctionnent avec un câble RJ45. Bref, c'est l'inverse, tu paies les téléphones (relativement) chers mais pas de carte Digium requise. À considérer :
J'ai choisi la carte Digium, j'ai pensé que cette solution vieillirait moins vite et serait plus économique sur quelques années. Les deux approchent se valent.
Plusieurs lignes / une prise : tu configures ce qui sonne et quand comme tu veux, selon les limitations de la saveur d'Asterisk (SwitchVox, TrixBox, Elastix, AsteriskNow, etc.) que tu choisis d'utiliser. Si tu as plusieurs DID, tu pourras choisir pour chacun où tu fais tomber les appels : un poste téléphonique, une boîte vocale, une chanson de Richard Abel, les possibilités sont infinies! :) Idem avec les appels entrants par des ports FXO (si tu gardes une ligne de Bell et que tu la relies à ton système).
Et si tu as plusieurs ports FXS, les téléphones qui y sont branchés pourront s'appeler entre eux en pitonnant seulement les numéros d'extensions.
Wow quoi demander de mieux.. Ça ne peut pas être plus clair.... :) Merci beaucoup! J'ai fait l'installation de Switchvox Free Edition 1.0 hier.. Un vrai charme... Pour un débutant avec Linux, c'est vraiment TRÈS simple d'utilisation. Incroyable de voir toutes les possiblités offertes. Comment j'ai pu m'en passer? Il ne me manque que la carte (le principal). As-tu un site ou un endroit où tu me suggères de faire l'achat?
J'ai acheté mes cossins sur http://www.canadianvoipstore.com/ C'est probablement pas le moins cher, mais je voulais éviter Ebay qui regorge de copies cheaps de cartes PCI présentées comme des Digium (au moment où j'ai acheté en tous cas).
Tout ce qui manque à SwitchVox Free Edition c'est des prompts vocaux Français. Remarque, je n'ai pas beaucoup cherché, c'est peut-être facile à trouver.
J'ai regardé la description de "Elastix" et ça semble vraiment très bien aussi et même un peu plus complet que Switchvox, est-ce que je me trompe? En plus d'être en français.
Essaie le. :)
Ça dépend vraiment de tes besoins. Souvent, less is more. Switchvox est facile et la machine se remonte en 20 minutes si elle est subitement victime d'un terrible accident. Je reçois mes messages vocaux par courriel. Bref, ça répond à mes besoins, ça va en prendre pas mal pour que je change mon setup. :)
Une petite dernière question; quand nous "achetons" une ligne avec Unlimitel est-ce que nous avons automatiquement l'afficheur?
JE CAPOTE!!
Tout à fait. C'est inclus dans les frais mensuels exhorbitants de 2,50 $ par DID (numéro). Donc concrètement, quand tu reçois un message vocal par courriel (par exemple), il est identifié clairement avec nom + numéro.
Avec Switchvox il n'y a rien de particulier à configurer pour l'afficheur, et probablement pas non plus avec les autres saveurs de distributions Linux + Asterisk.
Merci beaucoup de prendre le temps de répondre à mes questions, j'apprécie.
De rien... donnes-moi des nouvelles si tu essaies autre chose que SwitchVox Free.
Bonjour, j'ai un compte avec un numéro unique chez Bell Canada. C'est un numéro virtuel de service d'urgence à domicile. Lorsqu'on compose ce numéro, la personne tombe sur le professionnel de garde du jour et de la plage horaire que ce dernier a choisi.
En établissant mes horaires de transfert d'appel, j'ai remarqué que je pouvais établir seulement 7 horaires différents. Cela est pratique pour qu'UNE personne soit rejoignable soit au bureau, au domicile ou sur son
cellulaire.
Cependant je voudrais établir différentes plages horaires, pour plusieurs personnes différentes et ce peu importe l'heure de la semaine et de la fin de semaine. Mon entreprise commence à se développer.
Asterisk serait il la solution ? est ce que je garde le numero unique chez Bell Canada? Quels matériels aurais je besoin?
Merci beaucoup !
Asterisk peut faire ça. Facile ou difficile, ça dépend de la saveur d'Asterisk utilisée. Cela dit, deux remarques importantes:
1. Vous lancer dans l'installation d'un système Asterisk me semble overkill si le seul problème à régler est une question de nombre d'horaires. Appelez Bell, ils offrent sûrement des béBelles (quel jeu de mots délirant!) pour une couple de piasses de plus.
2. Vous parlez d'un service d'urgence. Ça commande une fiabilité vraiment convaincante. Avez vous un UPS? Des liens internet redondants? Des connaissances en administration Linux?