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.