Cahiers de l'Admin
Asterisk
La téléphonie d'entreprise libre
Philippe Sultan
Eyrolles
Avant-propos1
Pourquoi ce livre ?
2
Que contient ce livre ?
3
Remerciements
5
Chapitre 1
Asterisk et la ToIP libre7
Qu'est-ce qu'Asterisk ?
7
Les fonctions assurées par Asterisk
8
Serveur d'audioconférences9
Messagerie vocale9
Serveur vocal interactif (SVI)10
Passerelle vers le RTC, interconnexion de sites11
Une plate-forme applicative pour la téléphonie : Asterisk et le CTI
12
Asterisk et les autres logiciels libres de ToIP
13
Kamailio (ex OpenSER) : un proxy SIP, un vrai14
Les concurrents d'Asterisk16
CallWeaver : un fork d'Asterisk
16
FreeSWITCH : la promesse de la fiabilité
17
Yate : encore un autre IPBX logiciel !
17
Chapitre 2
Présentation de l'étude de cas21
Situation géographique
21
Les raisons du changement de système téléphonique
22
Un existant vieillissant et coûteux22
La nécessité de nouveaux services22
Les raisons du choix de la ToIP libre
23
Réduire les coûts23
S'approprier réellement le système24
Maintenance et évolution du logiciel libre en téléphonie25
Pourquoi Asterisk ?
25
Les services offerts aux collaborateurs de l'entreprise
26
Reconduire l'existant : fax, transfert et notification d'appel26
Ajouter des services : la mobilité et l'intégration dans le système d'information27
L'accompagnement de la croissance de l'entreprise
28
Interconnexion de sites distants par SIP28
Travail collaboratif et gestion de présence28
Vidéo28
Chapitre 3
Description de l'existant29
Les autocommutateurs (PABX)
30
Un annuaire pour le PABX et un autre pour l'entreprise31
Des capacités de CTI prometteuses, mais jamais mises en oeuvre31
Les postes téléphoniques
33
Plan de numérotation33
Postes numériques, analogiques et fax33
Les services utiles : annuaire et traçabilité des appels
33
L'annuaire des collaborateurs de l'entreprise34
Le serveur RADIUS34
Un réseau informatique prêt pour la ToIP
35
Contraintes pour la ToIP36
Sécurisation des flux par séparation des réseaux37
Chapitre 4
Installation d'Asterisk39
Choix du système d'exploitation
40
Un logiciel pour systèmes Unix40
GNU/Linux, le choix naturel40
Quelle distribution GNU/Linux choisir ?
41
Prérequis (avant compilation)
42
DAHDI et libpri, les compléments d'Asterisk
43
Installation de DAHDI43
Téléchargement, compilation et installation des sources
44
Création du script de démarrage et installation des fichiers de configuration
46
Lancement de DAHDI et détection de la carte
50
Installation de libpri51
Adressage réseau53
Quelle distribution d'Asterisk ?
54
Installation d'Asterisk standard54
Choix des modules56
Fin de l'installation et lancement d'Asterisk57
À chaque module son attribution
58
Quelles différences entre les fonctions et les applications dans Asterisk ?59
Pourquoi un codec plutôt qu'un autre ?61
Chapitre 5
Intégration des postes téléphoniques63
Architecture réseau
63
Choix de l'architecture63
Filtrage sur les réseaux local et distant64
Configuration des postes téléphoniques IP
65
SIP : le protocole pour les postes physiques65
Configuration SIP sur Asterisk : le fichier / etc/ asterisk/ sip.conf66
Postes IP physiques68
Configuration sur le serveur Asterisk principal (voiceserver)
68
Éléments de configuration des postes Thomson ST2030
72
Téléphones logiciels (softphones)74
Le plan de numérotation, au coeur d'Asterisk
74
Contextes76
Extension, action !77
Les variables dans le dialplan83
Différents moyens pour passer des appels84
Placer des fichiers dans une file d'attente
84
AMI (Asterisk Manager Interface)
85
La console
85
AGI (Asterisk Gateway Interface)
86
Chapitre 6
Asterisk en point de terminaison télécom87
Interface vers le réseau de téléphonie classique
88
Installation et configuration d'Asterisk
89
DAHDI et libpri89
Asterisk91
Configuration SIP sur les serveurs secondaire et principal
94
Configuration du plan de numérotation sur les serveurs secondaire et principal
95
Chapitre 7
Services téléphoniques : messagerie vocale, notification d'appel, fax101
Asterisk en tant que SVI : les fichiers vocaux
101
Le choix de la langue102
Les applications jouant des fichiers vocaux103
Record : enregistrer ses propres fichiers vocaux104
La messagerie vocale
105
Activation de la boîte vocale par le Web107
Notification de message en attente108
MWI, la notification sur le poste
108
Notification par envoi de courriel
111
Renvoi vers la messagerie vocale112
Consultation des messages113
Le nouveau service de fax
115
Installation des modules nécessaires dans Asterisk115
Envoi de fax par le Web (serveur Apache 2.2.3, PHP 5.1.6)117
Formulaire d'envoi
118
Conversion du PDF en image TIFF
120
Envoi du fax
121
Configuration d'Asterisk pour l'envoi de fax123
La notification d'appel : détail du cas d'un chef de service et de son assistant
124
Configuration des postes téléphoniques125
Configuration d'Asterisk126
Chapitre 8
Accès à distance aux ressources téléphoniques129
Contraintes particulières à l'accès distant
130
SIP, IAX : quel protocole pour l'accès distant ?131
La sécurité132
Le code d'Asterisk
132
VPN IPSec pour la confidentialité
132
Gestion des comptes des utilisateurs
134
Impossible d'utiliser la base des comptes existante134
Réutiliser les comptes associés aux boîtes vocales135
Contrôle d'accès par le dialplan136
Installation d'Asterisk chez un particulier
137
NAT (Network Address Translation) : l'obstacle majeur137
Installer et configurer Asterisk144
Un minimum de fichiers de configuration
145
Enregistrer Asterisk148
Configurer un softphone152
Traitement des appels entrants
152
Traitement des appels émis par le softphone
154
Chapitre 9
Réunions téléphoniques (audioconférences)155
Des réunions téléphoniques plus sûres
155
Mise en place du serveur d'audioconférences : éléments indispensables
157
dahdi_dummy : DAHDI en version allégée157
La connexion vers le serveur Asterisk principal161
MeetMe : les audioconférences par Asterisk
163
Informations sur les conférences164
Intégration dans une application web165
Avec rasterisk
165
Via le répertoire de file d'attente
166
Accéder aux audioconférences par le Web (serveur Apache 2.2.3, PHP 5.1.6)
167
Configuration Apache/PHP167
Configuration du dialplan sur le serveur d'audioconférences (conferenceserver)175
Chapitre 10
CTI : l'intégration dans le système d'information179
AGI (Asterisk Gateway Interface) et l'intégration de scripts
179
Présentation du nom de l'appelant par interrogation de l'annuaire central181
Réception de fax par Asterisk et envoi par courriel au destinataire185
Appel par composition d'adresse de courriel depuis les softphones188
AMI (Asterisk Manager Interface) : le CTI par Asterisk
190
Un service de click-to-call par le Web (serveur Apache 2.2.3, PHP 5.1.6)196
Configuration Apache/PHP197
Configuration du dialplan d'Asterisk202
Dynamiser l'interface web du service d'audioconférences avec Ajam
204
AMI + Ajax = Ajam204
Activer Ajam et l'intégrer dans un serveur web Apache205
Publication des événements par Asterisk207
Configuration de l'interface web via les scripts PHP208
Chapitre 11
Administration des serveurs Asterisk213
Considérations générales sur la sécurité
213
Configuration du routeur filtrant213
Configuration des canaux et contrôle d'accès dans le dialplan214
Restriction du nombre de modules installés214
Choix d'une version stable du logiciel214
Les journaux d'activité (fichiers de log)
215
Configuration215
Archivage216
Tickets de taxation (CDR)
217
Les CDR sur le serveur Asterisk principal (voiceserver)219
Configuration d'Asterisk en tant que client RADIUS222
Informations enregistrées pour les services auxquels accède le Web225
Chapitre 12
Diagnostiquer un dysfonctionnement avec Asterisk227
Diagnostiquer un problème
228
La console et les fichiers de log pour le débogage228
Les commandes accessibles depuis la console229
L'application DumpChan229
Problèmes de connectivité SIP
231
Identification des terminaux SIP sur Asterisk231
SIP, RTP et NAT233
Les outils d'analyse réseau sont nos amis237
Problèmes d'accès RNIS primaire et de base
238
Chapitre 13
Interconnexion de sites241
Les systèmes de téléphonie sur les sites distants
242
SIP : le protocole de connexion
243
Une architecture construite autour de Kamailio
243
Installation de Kamailio244
Configuration de Kamailio246
Paramètres de configuration
247
Script de routage des messages SIP
247
Configuration du routage des messages SIP
250
Autres fonctionnalités utiles de Kamailio253
Chapitre 14
Domaines d'applications particuliers : IPv6, SRTP, vidéo et XMPP255
Des domaines d'applications à conquérir
255
IPv6, le futur protocole de l'Internet256
Confidentialité des communications SIP/RTP par SRTP257
Traitement de la vidéo257
Asterisk et XMPP (Jabber)
258
Implémentation XMPP dans Asterisk260
GoogleTalk et Jingle : le multimédia sur XMPP262
Le futur de XMPP dans Asterisk265
Jingle pour la ToIP par XMPP standard
265
JABBER_RECEIVE pour recevoir des messages instantanés
265
Notification d'état téléphonique par XMPP
267
Chapitre 15
Contribuer à Asterisk269
Une communauté nombreuse et ouverte à tous
269
Différentes versions pour différents usages
270
Des versions stables pour un service téléphonique fiable270
Une version de développement pour tester les dernières fonctionnalités272
Communiquer avec les utilisateurs d'Asterisk
273
Listes de diffusion et autres moyens de communication273
Le gestionnaire d'incidents (bug tracker) d'Asterisk275
Les rapports de bugs ou tickets d'incidents
275
Correctifs (patches)
276
Développement de nouvelles fonctionnalités
276
Les utilisateurs français d'Asterisk277
Index279