Cette page explique comment mettre à jour votre serveur VoIP «AUF» pour qu'il utilise la version 1.4 d'Asterisk proposée par l'AUF.
Attention, la mise à jour implique un arrêt du service VoIP de quelques minutes. Faites-là en période creuse. |
La mise à jour n'est disponible que pour Etch i386. Une version amd64 suivra.
Pour la version Sarge de Debian, il y a très longtemps que les paquets Asterisk ne sont plus maintenus... Vous devez passer à Etch. Maintenant.
Sauvegardes des anciens fichiers de configuration
Même si la procédure a déjà été testée et validée, on ne sait jamais : faites des copies de sauvegarde des répertoires /etc/asterisk et /var/lib/asterisk/keys.
Mise à jour des sources
Supprimez les anciennes références aux paquets VoIP et ajoutez les nouvelles :
# (... extrait de /etc/apt/sources.list ...) # # Suppression des anciennes sources : # deb http://voip.ca.auf.org/asterisk-etch ./ # # 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
Vérifiez que la version du paquet asterisk n'est pas bloquée dans /etc/apt/preferences. Si c'est le cas, supprimez ce blocage : il aurait normalement déjà dû être supprimé lors de la migration vers Debian/Etch#asterisk !
Puis, comme après toute mise à jour des sources de paquets, mettez à jour la liste des paquets avec :
# aptitude update
Note : les sources sont dans le nouveau dépôt de paquets AUF. La liste des paquets de ce dépôt est signée, si vous n'avez pas déjà ajoutée la clé publique cela provoquera une alerte lors de la mise à jour des sources. Pour ajouter la clé, il suffit d'installer le paquet auf-keyring :
# aptitude install auf-keyring # aptitude update
L'installation du paquet auf-keyring provoquera un message d'alerte vous indiquant qu'APT ne fait pas confiance à l'émetteur de ce paquet. Forcez l'installation en répondant "Oui". A partir de là, APT validera le dépôt de paquets AUF comme une source de confiance.
Note: C'est aussi important de vérifier le fichier /etc/apt/preferences, qui empêche à aptitude de faire une mise à jour de 1.2 à 1.4 parce qu'il retienne l'ancienne version.
Téléchargement des paquets avant installation
La téléchargement des paquets peut être long (plusieurs Mo). Pour éviter une coupure trop longue du service VoIP, il peut être utile de d'abord télécharger l'ensemble des paquets qui devront être mis à jour :
# aptitude -d dist-upgrade # notez l'option -d !
Attendez la fin du téléchargement avant de continuer la procédure...
Arrêt du service Asterisk
Si vous laissez le service VoIP en route pendant la mise à jour, il est possible que des réactions imprévues surviennent. En effet, le format de certains fichiers de configuration a changé entre Asterisk 1.2 et 1.4, et vous risquez de vous retrouver avec un Asterisk 1.2 qui essaye de fonctionner avec une configuration pour 1.4, ou l'inverse... Il est difficile de contrôler les effets secondaires induits, aussi est-il conseillé d'arrêter le service VoIP durant la phase de mise à jour.
La phase de mise à jour ne devrait pas durer plus de 10 minutes. Pendant ce temps, arrêtez le service VoIP :
# /etc/init.d/asterisk stop
Mise à jour
Lancez ensuite la mise à jour elle-même. Comme les paquets ont déjà été téléchargés, cela devrait aller très vite :
# aptitude dist-upgrade
On utilise dist-upgrade car la mise à jour ajoute de nouvelles dépendance, un simple aptitude upgrade ne suffit pas et rendra même votre système non-fonctionnel...
Pendant de dist-upgrade, acceptez toutes les proposition de mise à jour de fichier /etc/asterisk/*.conf et /etc/default/asterisk
Comme d'habitude après toute mise à jour modifiant des fichiers, lancer un find /etc/asterisk/ -name "*.dpkg*" : cela vous donnera une idée des éventuelles modifications à intégrer avant de relancer votre service. Si vous n'aviez pas touché aux fichiers /etc/asterisk/*.conf, vous ne devez rien avoir à faire.
Redémarrage du service
Modifiez le fichier /etc/default/asterisk pour demander le démarrage automatique d'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 relancez votre serveur :
# /etc/init.d/asterisk start
Vérifiez que la version d'Asterisk est bien en 1.4 :
# rasterisk -x "core show version" Asterisk 1.4.17~dfsg-1auf3 built by thomas @ thomas-sandbox on a i686 running Linux on 2008-02-20 13:00:10 UTC
C'est fini !
Votre système VoIP doit fonctionner à nouveau. Vérifiez que les clients s'y connectent bien, testez l'écho local (*11) puis les échos de Paris et Montréal (0033*11 et 001*11). S'ils fonctionnent comme avant, tout le reste devrait passer aussi...
En cas de soucis, contactez votre responsable technique régional ou la liste <discussion-technique@auf.org> ou ThomasNoël (par jabber et en cas d'urgence uniquement, pour le mail utilisez la liste de discussion).