Taille: 12586
Commentaire: lien vers le trac
|
← Version 39 à la date du 2012-04-11 19:54:45 ⇥
Taille: 9055
Commentaire: changement de proprio...
|
Texte supprimé. | Texte ajouté. |
Ligne 1: | Ligne 1: |
[[TableOfContents]] | ||<tablestyle="float:right; font-size: 0.9em; width:40%; background: #f0f0f0; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>|| |
Ligne 3: | Ligne 3: |
= Avant propos = Cette page présente l'installation du logiciel '''Asterisk''' qui est un commutateur téléphonique privé (PABX) que nous utilisons à l'AUF pour notre système de voix sur IP (["VoIP"]). |
= Préambule = |
Ligne 6: | Ligne 5: |
Cette page se concentre sur les aspects spécifiques à l'installation "AUF". Pour des informations plus générales, voir : * /QuelquesNotions : un guide (et support de cours) pour découvrir rapidement et concrétement Asterisk, par Ousmane Wilane * Le site du logiciel Asterisk : http://www.asterisk.org/ * Le ["Projet/VoIP"] de l'AUF, ainsi que la description du système ["VoIP"] qui en débouche |
* '''Lire d'abord les pré-requis concernant les [[../Infrastructures|infrastructures à mettre en place]].''' |
Ligne 11: | Ligne 7: |
= Infrastructure matériel et réseau nécessaire = Installer une machine Debian sur la DMZ. Dans un premier temps, si possible, prendre une machine qui ne fait rien d'autre, cela permettrait de voir la charge (une petite machine de test suffit) et d'éviter de casser d'autres choses autour. Une fois que tout sera testé, vous pourrez déployer sur une machine de production qui fait éventuellement autre chose. |
* Si vous avez déjà un serveur en Debian Etch qui tourne avec l'ancienne version Asterisk 1.2, vous devez le mettre à jour. Ces paquets ne sont en effet plus maintenus. La mise à jour est simple et ne demande que 10 minutes d'interruption de service VoIP. La procédure est disponible ici : [[../MiseAJour14]] |
Ligne 14: | Ligne 9: |
La machine doit : | * Si votre serveur est encore en Debian Sarge, vous devez le migrer vers Etch (et avoir honte !). Les paquets VoIP pour Debian Sarge ne sont plus maintenus (depuis très longtemps !). |
Ligne 16: | Ligne 11: |
* être accessible directement depuis le réseau local 10.x.x.x (pas de NAT), au moins pour les protocoles IAX (4569/UDP), SIP (5060/UDP) et RTP (7000 à 8000/UDP, selon les clients SIP que vous utilisez) * pouvoir acceder directement au réseau local 10.x.x.x, au moins pour le protocole IAX (4569/UDP). Si vous utilisez des clients SIP, le plus simple est de permettre l'envoie de paquet vers tous les ports UDP. Il faut en effet que le serveur puisse faire sonner les téléphones des postes clients... * recevoir et envoyer des paquets IAX vers Internet Note : si votre DMZ est en IP privée, ajoutez un DNAT vers cette machine pour le protocole IAX (4569/UDP). |
= Installation du système Asterisk AUF = |
Ligne 21: | Ligne 13: |
Note 2 : suivant les clients SIP que vous utilisez, vous pourrez fixer sur ces clients les ports SIP et RTP. Avec x-lite par exemple on peut forcer 5060 et 8000, ce qui simplifie un peu les règles de pare-feu. Ceci étant, avoir des clients IAX simplifie beaucoup la vie ! Si possible, '''évitez d'utiliser le protocole SIP'''. | La version Asterisk fournie par Debian Etch est la 1.2, elle un peu ancienne et non supportée par les développeurs d'Asterisk. Nous avons donc construit des paquets compatibles avec Debian Etch proposant la version 1.4 d'Asterisk. Ces paquets sont en partie construits à partir des paquets disponibles dans la future version Debian Lenny. |
Ligne 23: | Ligne 15: |
= Installation du système Asterisk de base = Debian Sarge ne dispose pas de la dernière version d'Asterisk, mais un backport est facile à réaliser. Nous l'avons fait, et pour installer Asterisk il faut : |
L'installation n'est disponible que pour Debian Etch i386. Une version amd64 suivra. En revanche, aucune version pour Sarge n'est prévue. |
Ligne 26: | Ligne 17: |
1. Ajouter la source de paquets suivante dans le fichier `/etc/apt/sources.list`: | == Ajout des sources == Il faut ajouter les sources de paquets suivantes dans le fichier `/etc/apt/sources.list`: |
Ligne 28: | Ligne 23: |
# Source pour le système Asterisk à ajouter dans /etc/apt/sources.list : deb http://voip.ca.auf.org/asterisk ./ |
# # (... extrait de /etc/apt/sources.list ...) # # Source AUF Etch commune (pour auf-keyring) deb http://apt.auf.org/ etch auf # Source AUF Etch voip deb http://apt.auf.org/ etch voip |
Ligne 32: | Ligne 32: |
1. Comme après toute modification de `sources.list`, mettre à jour la liste des paquets disponibles dans les sources : | Comme après toute modification de `sources.list`, mettre à jour la liste des paquets disponibles dans les sources : |
Ligne 37: | Ligne 37: |
1. Installer asterisk avec | Notez bien : ces sources de paquets sont signées, pour que APT leur fasse confiance il vous faut ajouter la clé publique du [[DépôtAPT|dépôt AUF]]. Si vous ne l'avez pas déjà fait, il suffit d'installer le paquet `auf-keyring` puis de recharger à nouveau la liste des paquets : {{{ # aptitude install auf-keyring ; aptitude update }}} == Installation d'Asterisk == Installer Asterisk avec : |
Ligne 40: | Ligne 47: |
# aptitude install asterisk-prompt-fr # (optionnel, pour des messages en français) | |
Ligne 42: | Ligne 48: |
Il faut maintenant le configurer pour l'intégrer au réseau VoIP de l'AUF. | |
Ligne 44: | Ligne 49: |
= Création d'une clé privée / clé publique pour l'interconnexion = | Les paquets suivants seront installés automatiquement, par dépendance : * `asterisk` : le "moteur" principal * `asterisk-config-auf` : configuration spécifique AUF pour Asterisk * `asterisk-config-auf-connexions` : liste des clés publiques AUF pour la reconnaissance entre sites * `asterisk-app-conference` : application Conference pour Asterisk * `asterisk-prompt-fr` : voix française pour Asterisk * `asterisk-sounds-main` : vois anglaises pour Asterisk * `asterisk-moh-auf` : musiques d'attente par défaut * ainsi que plusieurs bibliothèques nécessaires à Asterisk 1.4 telles que : `libasound2 libgsm1 libiksemel3 libogg0 libpri1.0 libradiusclient-ng2 libsensors3 libsnmp-base libsnmp9 libspeex1 libsqlite0 libsysfs2 libtonezone1 libvorbis0a libvorbisenc2` Note : durant cette installation, un message vous sera affiché de la part du paquet `asterisk-config-auf` vous signalant que vous n'avez pas encore de clefs pour Asterisk. C'est normal... vous n'en avez pas encore ;-) Continuez la lecture de cette procédure d'installation, tout y est expliqué. == Création d'une paire clé privée + clé publique pour l'interconnexion == |
Ligne 47: | Ligne 65: |
'''ATTENTION''' : si vous avez déjà vos clés Asterisk (par exemple dans le cas d'une migration ou d'une ré-installation), conservez-les ! Faites-en une copie quelque part. | /!\ '''Attention : si vous installez un nouveau serveur mais que vous aviez déjà le service VoP en place, utilisez la clé privée de votre ancien serveur au lieu d'en gérer une nouvelle.''' Il suffira ensuite de mettre à jour votre enregistrement DNS `voip.xx.auf.org` pour qu'il pointe vers l'adresse IP de votre nouveau serveur. |
Ligne 49: | Ligne 67: |
1. Pour générer vos clés : | 1. Pour générer vos clés (uniquement si vous n'en aviez pas déjà) : |
Ligne 51: | Ligne 69: |
$ /usr/sbin/astgenkey -q -n auf-implantation | $ /usr/sbin/astgenkey -q -n auf-implantation # exemples : auf-dakar, auf-ifmt, auf-montreal |
Ligne 53: | Ligne 71: |
Note : `astgenkey` nécessite `openssl`. Si astgenkey ne marche pas, faites un `aptitude install openssl` | Note : `astgenkey` nécessite `openssl`. Si `astgenkey` ne fonctionne pas, faites un `aptitude install openssl` |
Ligne 55: | Ligne 73: |
1. Puis copiez vos clés pour que Asterisk les prennent en compte : | 1. Puis copiez ces clés pour que Asterisk les prenne en compte : |
Ligne 57: | Ligne 75: |
# cp auf-implantation.pub auf-implantation.key /var/lib/asterisk/keys # chown -R root.asterisk /var/lib/asterisk/keys/* # chmod 644 /var/lib/asterisk/keys/*.pub # chmod 640 /var/lib/asterisk/keys/*.key |
# cp auf-implantation.pub auf-implantation.key /usr/share/asterisk/keys # chown -R root.asterisk /usr/share/asterisk/keys/* # chmod 644 /usr/share/asterisk/keys/*.pub # chmod 640 /usr/share/asterisk/keys/*.key |
Ligne 62: | Ligne 80: |
Ligne 64: | Ligne 83: |
Indiquez votre clé publique sur ["/Clefs"] et prévenez-moi (ThomasNoël) afin que je l'ajoute à la liste des clés à distribuer. Notez bien : tant que votre clé publique n'a pas été distribuée vous ne pourrez pas appeler les sites distants car ils refuseront votre identification. | == Diffusion de la clé publique == |
Ligne 66: | Ligne 85: |
= Interconnexion : installation de la configuration AUF d'Asterisk = Nous avons créée un paquet `asterisk-config-auf` qui va configurer pour vous toute la base du système. Il suffit donc de faire : |
Indiquez votre clé '''publique''' sur la page [[../Clefs]] et prévenez-moi (JeanChristopheAndré) afin que je l'ajoute à la liste des clés à distribuer. Cette clé sera ajoutée au paquet `asterisk-config-auf-connexions`. Vous pourrez ensuite appeler tous les sites qui mettront à jour ce paquet sur leur système, puisqu'ils disposeront de votre clé publique et sauront donc vous reconnaître. == Utilisation de la clé privée == Pour que votre clé privée soit utilisée par Asterisk, vous devez (re)configurer le paquet `asterisk-config-auf`. Celui-ci va détecter votre clé privée (si elle est correctement installée dans /usr/share/asterisk/keys/) et vous poser quelques questions de base. Pour effectuer cette configuration : |
Ligne 70: | Ligne 94: |
# aptitude install asterisk-config-auf | # dpkg-reconfigure asterisk-config-auf |
Ligne 72: | Ligne 96: |
Le système va alors vous demander le nom de votre noeud VoIP. Nous avons décidé de nommer les noeuds `auf-implantation`, où implantation peut être simplement le nom de la ville, ou bien un nom plus distinctif s'il y a plusieurs serveurs VoIP AUF dans cette ville. Quelques exemples : `auf-dakar`, `auf-paris`, `auf-bap1` et `auf-bap2`, `auf-caimaurice`, etc. Attention, choisissez bien votre nom car il sera compliqué de le changer ensuite. | |
Ligne 74: | Ligne 97: |
Quelques explications techniques sur le paquet `asterisk-config-auf` : * Ce paquet remplace `asterisk-config` qui est la configuration basique livrée d'Asterisk. * Il adapte les fichiers `/etc/asterisk/sip.conf`, `iax.conf` et `extensions.conf` à nos principes (codecs utilisés, langue, etc) * Il génère des fichiers `/etc/asterisk/auf/sip.local`, `iax.local` et `extensions.local` de base, dans lesquels il vous faudra ajouter la configuration des postes clients * Il dépend de `asterisk-config-auf-connexions` qui contient tout ce qui est nécessaire à l'interconnexion des noeuds (les clé publiques et préfixes correspondants) |
Le paquet va alors vous demander de confirmer le nom de votre noeud VoIP, sous la forme `auf-implantation` où `implantation` est en général le nom de la ville de votre implantation. Quelques exemples : `auf-dakar`, `auf-paris`, `auf-bap1` et `auf-bap2`, `auf-caimaurice`, etc. Quelques explications rapides sur le paquet `asterisk-config-auf` : * Ce paquet remplace `asterisk-config` qui est la configuration basique livrée d'Asterisk. Il propose un ensemble de fichier de configuration `/etc/asterisk/*.conf` adapté au contexte AUF. Plusieurs de ces fichiers sont surchargeables par des `/etc/asterisk/auf/*.local` via des ''include''. * Il configure le fichier `/etc/asterisk/auf/extensions-globals.local` qui contient entre autre votre code d'authentification, c'est-à-dire le nom de votre implantation VoIP et la clé privée à utiliser pour se connecter. * S'ils n'existent pas déjà, il génère des fichiers modèles dans `/etc/asterisk/auf/` (`sip.local`, `iax.local`, `extensions.local`, `voicemail.local`). Vous devrez adapter ces fichiers et y ajouter tous vos postes clients * Il dépend de `asterisk-config-auf-connexions` qui contient tout ce qui est nécessaire à l'interconnexion des noeuds, c'est-à-dire les clefs publiques et préfixes correspondants de tous les serveurs Asterisk de l'AUF. |
Ligne 81: | Ligne 106: |
1. Activer le démarrage automatique d'asterisk au démarrage de la machine dans `/etc/default/asterisk` : | Activer le démarrage automatique d'asterisk au démarrage de la machine dans `/etc/default/asterisk` : |
Ligne 83: | Ligne 109: |
# A modifier dans /etc/default/asterisk : | # (... extrait de /etc/default/asterisk ...) # RUNASTERISK: If set to anything other that 'yes', the asterisk init.d script # will not run. The default is 'yes'. |
Ligne 85: | Ligne 113: |
# (...) | |
Ligne 87: | Ligne 116: |
1. Lancer le serveur : | Puis lancer le serveur : |
Ligne 92: | Ligne 121: |
Ligne 93: | Ligne 123: |
'''draft, à finir''' : connexion avec le compte "test" (mot de passe "test"), essayer d'appeler le 600. Si la clé publique a été distribuée auparavant, essayer d'appeler 0033600 (echo Paris) et 001600 (echo Montreal) et demander à quelqu'un d'essayer d'appeler votre echo puis votre poste (00xxx100 ou 00xxxtest). | |
Ligne 95: | Ligne 124: |
= Configuration des comptes clients = Pour chaque poste client qui sera installé dans votre implantation (softphone ou téléphone IP), vous devez créer un compte. Tout se passe dans `/etc/asterisk/auf`. Les fichiers dont le nom se termine par `.local` sont ceux que vous devez adapter. |
Configurez un client (IAX de préférence) et enregistrez-le sur votre Asterisk avec le compte "test", mot de passe "test". Essayez d'appeler le *11 (echo). |
Ligne 98: | Ligne 126: |
1. `/etc/asterisk/auf/sip.local` : les comptes SIP locaux 1. `/etc/asterisk/auf/iax.local` : les comptes IAX locaux. Par défaut, c'est un lien symbolique vers `sip.local` car les comptes IAX et SIP sont similaires. Cependant, si un jour vous avez besoin d'une configuration différente, faites-en un fichier autonome... et expliquez-nous pourquoi vous avez eu besoin de faire la distinction (il y a des options qui différent). 1. `/etc/asterisk/auf/extensions.local` : les associations entre numéro de téléphone et compte local à appeler. Quand vous touchez à ces fichiers, n'oubliez pas ensuite de faire un `/etc/init.d/asterisk reload`. |
Si votre clé publique a déjà été distribuée, essayer d'appeler 0033*11 (echo Paris) et 001*11 (echo Montreal). Puis, demandez à quelqu'un hors de votre implantation d'essayer d'appeler votre echo puis son poste (00xxx*11, où xxx est l'extension internationale de votre pays). |
Ligne 103: | Ligne 128: |
= Annexes = == Annexe 1 : suivi et débogage du serveur == Les commandes de base : |
Dès que ça marche, '''supprimez le compte test''' (dans les fichiers `/etc/asterisk/auf/*.local`) ! |
Ligne 107: | Ligne 130: |
* démarrer le serveur : `/etc/init.d/asterisk start` (mais cela est normalement fait au boot de la machine) * si vous avez modifié la configuration, demandez à Asterisk de la relire : `/etc/init.d/asterisk reload`. Attention : ne faites JAMAIS de `restart` sinon vous coupez les communications en cours !! Asterisk dispose d'un '''mode console''', en ligne de commande, très pratique et qu'il est conseillé d'approfondir si vous voulez vraiment vous amuser avec Asterisk. Ce mode console est disponible avec `asterisk -r` ou `rasterisk`. En ajoutant l'option `-v` vous pouvez de plus déboguer en direct (affichage des logs sur la console). Plus vous mettez de `-v` plus le niveau de débogage est élevé. Pour bien comprendre comment fonctionne Asterisk il est donc conseiller de lancer carrément la commande suivante : |
= Activation de SIP (facultatif pour l'instant) = |
Ligne 111: | Ligne 132: |
{{{ $ sudo asterisk -rvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv == Parsing '/etc/asterisk/asterisk.conf': Found == Parsing '/etc/asterisk/extconfig.conf': Found Asterisk , Copyright (C) 1999 - 2005 Digium. Written by Mark Spencer <markster@digium.com> ========================================================================= Connected to Asterisk currently running on gatekeeper (pid = 29958) Verbosity is at least 80 serveur-voip*CLI> }}} Vous êtes alors en mode ligne de commande. Ca fonctionne un peu comme un Cisco. Tapez `help` pour avoir la liste des commandes, la touche [Tab] ou `?` pour la complétion automatique, etc. |
* '''Appels SIP sortants''' : essayez d'appeler le numéro `*341` (avec une étoile au début). Vous devez arriver sur un système de conférence. Si ça ne fonctionne pas : vérifiez d'abord que votre infrastructure réseau correspond à ce qui est indiqué sur la page [[../Infrastructures]], notamment en ce qui concerne le filtrage des ports. Si votre serveur est en IP publique, les appels SIP vers Internet doivent fonctionner. Si votre serveur est joignable via DNAT, adaptez le paramètre `externip` dans le fichier `/etc/asterisk/auf/sip-general.local` puis rechargez Asterisk. * '''Appels SIP entrants''' : cette partie de la configuration n'est pas encore stable, et donc pas documentée. Si tout va bien, elle le sera à la fin de l'été 2008. Page à suivre pour se tenir au courant de ce projet en cours : [[Projet/VoIP/SIP]]. |
Ligne 124: | Ligne 135: |
Une commande extrémement utile est `reload` : | = La suite = |
Ligne 126: | Ligne 137: |
{{{ gatekeeper*CLI> reload == Parsing '/etc/asterisk/extconfig.conf': Found (...) == Parsing '/etc/asterisk/cdr_pgsql.conf': Found gatekeeper*CLI> }}} qui va demander à asterisk de relire tous ses fichiers de configuration. Vous pouvez être plus précis en ne demandant que la recharge de certains modules, par exemple : * `reload pbx_config.so` rechargera le fichier extensions.conf (c'est à dire, grosso modo le plan de numérotation des postes) * `reload chan_iax2.so` ne re-chargera que ce qui concerne IAX == Annexe 2 : quand tout est cassé, réinstallation complète d'Asterisk == 1. Suppression complète (n'oubliez pas de copier au moins votre clé privée !) : {{{ # /etc/init.d/asterisk stop # mkdir -p /root/asterisk # cp -a /etc/asterisk /root/asterisk/etc # cp -a /var/lib/asterisk/keys /root/asterisk/keys # (on fait une copie des clés) # apt-get --purge remove asterisk asterisk-sounds-main # apt-get --purge remove asterisk-config-auf asterisk-config-auf-connexions # rm -rf /etc/asterisk /var/lib/asterisk /var/spool/asterisk /var/run/asterisk }}} 1. Reinstallation : {{{ # aptitude install asterisk asterisk-config-auf }}} 1. Reconfiguration : reprendre les clés et les configurations des postes clients (sip.local, iax.local, extensions.local) == Annexe 4: installation d'un timer pour Asterisk (notamment pour "MeetMe") == '''Note''' : avec un peu de chance, cela ne sera plus nécessaire en Asterisk 1.4. Espérons ! Pour certaines utilisations, Asterisk a besoin d'un système de timing précis. C'est le cas pour le chouette système de conférence !MeetMe (voir `/etc/asterisk/meetme.conf`). Il existe des timers matériels et des émulations logicielles. Nous allons utiliser cette dernière solution et installer le module `ztdummy` (un "faux périphérique zaptel"). La procédure la suivante : 1. vérifier que vous avez un noyau 2.6 (c'est une bonne idée car le 2.6 gère mieux les problèmatiques temps réel). Si vous ne compilez pas sur la machine où est installé Asterisk (ce qui serait mieux), vérifiez que vous avez bien exactement le même noyau sur les deux machines, et que la machine où vous allez compiler le module possède la source "`deb http://voip.ca.auf.org/asterisk ./`" dans son sources.list). 1. installer les sources du module : {{{ # aptitude install zaptel-source }}} 1. compiler les sources et installer le paquet : {{{ # module-assistant build zaptel ... patienter, ça peut durer quelques minutes. # module-assistant install zaptel (si vous avez compilé sur la machine Asterisk) }}} Note : si vous avec compilé sur une autre machine, copiez `/usr/src/zaptel-module*.deb` sur la machine avec Asterisk puis installez le paquet avec `dpkg -i zaptel-module-*.deb` 1. incorporer le module dans le noyau : {{{ # modprobe ztdummy }}} 1. vous devez voir une ligne `Zapata Telephony Interface Registered on major 196` dans les logs (visible avec `dmesg | tail`). 1. faites un test de !MeetMe si possible (vous n'aviez pas installé ztdummy sans savoir ce qu'était !MeetMe, n'est-ce pas ? ;-) ) 1. si tout marche, ajouter `ztdummy` à la liste des modules à incorporer au noyau lors du démarrage du serveur (dans `/etc/modules`) == Annexe 5 : paquets asterisk-config-auf* == Les sources et l'actualité du développement ici : http://trac.sn.auf.org/asterisk-auf == Annexe 6 : statistiques == Voir la sous page ["/Stats"] : mise en place d'un système de statistiques pour Asterisk ---- CatégorieLogiciel |
Rendez-vous maintenant sur la page de [[../ConfigurationClients|configuration des clients VoIP]]. |
Préambule
Lire d'abord les pré-requis concernant les infrastructures à mettre en place.
Si vous avez déjà un serveur en Debian Etch qui tourne avec l'ancienne version Asterisk 1.2, vous devez le mettre à jour. Ces paquets ne sont en effet plus maintenus. La mise à jour est simple et ne demande que 10 minutes d'interruption de service VoIP. La procédure est disponible ici : ../MiseAJour14
- Si votre serveur est encore en Debian Sarge, vous devez le migrer vers Etch (et avoir honte !). Les paquets VoIP pour Debian Sarge ne sont plus maintenus (depuis très longtemps !).
Installation du système Asterisk AUF
La version Asterisk fournie par Debian Etch est la 1.2, elle un peu ancienne et non supportée par les développeurs d'Asterisk. Nous avons donc construit des paquets compatibles avec Debian Etch proposant la version 1.4 d'Asterisk. Ces paquets sont en partie construits à partir des paquets disponibles dans la future version Debian Lenny.
L'installation n'est disponible que pour Debian Etch i386. Une version amd64 suivra. En revanche, aucune version pour Sarge n'est prévue.
Ajout des sources
Il faut ajouter les sources de paquets suivantes dans le fichier /etc/apt/sources.list:
# # (... extrait de /etc/apt/sources.list ...) # # Source AUF Etch commune (pour auf-keyring) deb http://apt.auf.org/ etch auf # Source AUF Etch voip deb http://apt.auf.org/ etch voip
Comme après toute modification de sources.list, mettre à jour la liste des paquets disponibles dans les sources :
# aptitude update
Notez bien : ces sources de paquets sont signées, pour que APT leur fasse confiance il vous faut ajouter la clé publique du dépôt AUF. Si vous ne l'avez pas déjà fait, il suffit d'installer le paquet auf-keyring puis de recharger à nouveau la liste des paquets :
# aptitude install auf-keyring ; aptitude update
Installation d'Asterisk
Installer Asterisk avec :
# aptitude install asterisk
Les paquets suivants seront installés automatiquement, par dépendance :
asterisk : le "moteur" principal
asterisk-config-auf : configuration spécifique AUF pour Asterisk
asterisk-config-auf-connexions : liste des clés publiques AUF pour la reconnaissance entre sites
asterisk-app-conference : application Conference pour Asterisk
asterisk-prompt-fr : voix française pour Asterisk
asterisk-sounds-main : vois anglaises pour Asterisk
asterisk-moh-auf : musiques d'attente par défaut
ainsi que plusieurs bibliothèques nécessaires à Asterisk 1.4 telles que : libasound2 libgsm1 libiksemel3 libogg0 libpri1.0 libradiusclient-ng2 libsensors3 libsnmp-base libsnmp9 libspeex1 libsqlite0 libsysfs2 libtonezone1 libvorbis0a libvorbisenc2
Note : durant cette installation, un message vous sera affiché de la part du paquet asterisk-config-auf vous signalant que vous n'avez pas encore de clefs pour Asterisk. C'est normal... vous n'en avez pas encore Continuez la lecture de cette procédure d'installation, tout y est expliqué.
Création d'une paire clé privée + clé publique pour l'interconnexion
Afin d'être intégré au système VoIP de l'AUF, vous devez disposer d'un couple de clés, privée et publique. La clé publique sera diffusée sur l'ensemble des autres noeuds VoIP de l'Agence afin qu'ils vous autorisent à appeler leurs postes. La clé privée sera, comme son nom l'indique, connue de votre serveur Asterisk seul.
Attention : si vous installez un nouveau serveur mais que vous aviez déjà le service VoP en place, utilisez la clé privée de votre ancien serveur au lieu d'en gérer une nouvelle. Il suffira ensuite de mettre à jour votre enregistrement DNS voip.xx.auf.org pour qu'il pointe vers l'adresse IP de votre nouveau serveur.
- Pour générer vos clés (uniquement si vous n'en aviez pas déjà) :
$ /usr/sbin/astgenkey -q -n auf-implantation # exemples : auf-dakar, auf-ifmt, auf-montreal
Note : astgenkey nécessite openssl. Si astgenkey ne fonctionne pas, faites un aptitude install openssl
- Puis copiez ces clés pour que Asterisk les prenne en compte :
# cp auf-implantation.pub auf-implantation.key /usr/share/asterisk/keys # chown -R root.asterisk /usr/share/asterisk/keys/* # chmod 644 /usr/share/asterisk/keys/*.pub # chmod 640 /usr/share/asterisk/keys/*.key
Conservez précieusement le fichier auf-implantation.key : sans cette clé privée vous ne pourrez plus appeler d'autres systèmes !
Diffusion de la clé publique
Indiquez votre clé publique sur la page ../Clefs et prévenez-moi (JeanChristopheAndré) afin que je l'ajoute à la liste des clés à distribuer.
Cette clé sera ajoutée au paquet asterisk-config-auf-connexions. Vous pourrez ensuite appeler tous les sites qui mettront à jour ce paquet sur leur système, puisqu'ils disposeront de votre clé publique et sauront donc vous reconnaître.
Utilisation de la clé privée
Pour que votre clé privée soit utilisée par Asterisk, vous devez (re)configurer le paquet asterisk-config-auf. Celui-ci va détecter votre clé privée (si elle est correctement installée dans /usr/share/asterisk/keys/) et vous poser quelques questions de base. Pour effectuer cette configuration :
# dpkg-reconfigure asterisk-config-auf
Le paquet va alors vous demander de confirmer le nom de votre noeud VoIP, sous la forme auf-implantation où implantation est en général le nom de la ville de votre implantation. Quelques exemples : auf-dakar, auf-paris, auf-bap1 et auf-bap2, auf-caimaurice, etc.
Quelques explications rapides sur le paquet asterisk-config-auf :
Ce paquet remplace asterisk-config qui est la configuration basique livrée d'Asterisk. Il propose un ensemble de fichier de configuration /etc/asterisk/*.conf adapté au contexte AUF. Plusieurs de ces fichiers sont surchargeables par des /etc/asterisk/auf/*.local via des include.
Il configure le fichier /etc/asterisk/auf/extensions-globals.local qui contient entre autre votre code d'authentification, c'est-à-dire le nom de votre implantation VoIP et la clé privée à utiliser pour se connecter.
S'ils n'existent pas déjà, il génère des fichiers modèles dans /etc/asterisk/auf/ (sip.local, iax.local, extensions.local, voicemail.local). Vous devrez adapter ces fichiers et y ajouter tous vos postes clients
Il dépend de asterisk-config-auf-connexions qui contient tout ce qui est nécessaire à l'interconnexion des noeuds, c'est-à-dire les clefs publiques et préfixes correspondants de tous les serveurs Asterisk de l'AUF.
Lancement du serveur
Activer le démarrage automatique d'asterisk au démarrage de la machine dans /etc/default/asterisk :
# (... extrait de /etc/default/asterisk ...) # RUNASTERISK: If set to anything other that 'yes', the asterisk init.d script # will not run. The default is 'yes'. RUNASTERISK=yes # (...)
Puis lancer le serveur :
# /etc/init.d/asterisk start Starting Asterisk PBX: asterisk.
Premiers tests
Configurez un client (IAX de préférence) et enregistrez-le sur votre Asterisk avec le compte "test", mot de passe "test". Essayez d'appeler le *11 (echo).
Si votre clé publique a déjà été distribuée, essayer d'appeler 0033*11 (echo Paris) et 001*11 (echo Montreal). Puis, demandez à quelqu'un hors de votre implantation d'essayer d'appeler votre echo puis son poste (00xxx*11, où xxx est l'extension internationale de votre pays).
Dès que ça marche, supprimez le compte test (dans les fichiers /etc/asterisk/auf/*.local) !
Activation de SIP (facultatif pour l'instant)
Appels SIP sortants : essayez d'appeler le numéro *341 (avec une étoile au début). Vous devez arriver sur un système de conférence. Si ça ne fonctionne pas : vérifiez d'abord que votre infrastructure réseau correspond à ce qui est indiqué sur la page ../Infrastructures, notamment en ce qui concerne le filtrage des ports. Si votre serveur est en IP publique, les appels SIP vers Internet doivent fonctionner. Si votre serveur est joignable via DNAT, adaptez le paramètre externip dans le fichier /etc/asterisk/auf/sip-general.local puis rechargez Asterisk.
Appels SIP entrants : cette partie de la configuration n'est pas encore stable, et donc pas documentée. Si tout va bien, elle le sera à la fin de l'été 2008. Page à suivre pour se tenir au courant de ce projet en cours : Projet/VoIP/SIP.
La suite
Rendez-vous maintenant sur la page de configuration des clients VoIP.