1 Système d'autoconfiguration des IP Phone 5 AUF
3 NB : ceci est un _prototype_ largement améliorable, voir le TODO à la fin de ce
6 Rappel sur le fonctionnement de l'autoprovisioning sur les IP Phone 5 :
7 =======================================================================
8 1. on configure le téléphone en mode autoconfig avec
9 type de mise à jour = MAC
10 adresse de mise à jour = http://nom.du.serveur
11 2. lorsque le téléphone démarre, il cherche le fichier
12 http://nom.du.serveur/xx-xx-xx-xx-xx-xx.set où xx-xx-xx-xx-xx-xx
13 est son adresse MAC. Ce fichier contient entre autre deux lignes :
14 BIN firmware:version_f
17 firmware = le fichier binaire du micrologiciel du téléphone
18 version_f = le numéro de version du micrologiciel, sur 5 chiffres
19 config = le fichier de configuration du téléphone (fichier texte)
20 version_c = le numéro de version de la configuration
21 3. Si le numéro de version du micrologiciel est supérieur à la version
22 actuellement présente dans le téléphone, celui-ci télécharge le
23 fichier binaire (http://nom.du.serveur/firmware) et redémarre dessus.
24 4. Si la version de la configuration est supérieure à la version actuelle le
25 téléphone télécharge le fichier http://nom.du.serveur/config, met à jour
26 sa configuration avec les nouvelles données puis redémarre.
29 Principe du système proposé ici :
30 =================================
31 Il s'agit d'un script CGI qui sait générer les fichiers .set et .cfg en
32 fonction du dernier micrologiciel et de la dernière configuration présents dans
36 Télécharger le logiciel :
37 =========================
38 Il est pour l'instant disponible uniquement via Subversion. Si vous ne l'avez
39 pas déjà fait, installez "subversion" sur votre poste de travail (ou même sur
40 le serveur cible) avec "aptitude install subversion"
42 Puis téléchargez le répertoire avec :
43 svn co http://trac.sn.auf.org/svn/ipphone/autoconfig
45 Ça vous créera un répertoire "autoconfig" contenant le script, entre autre.
46 Faites alors l'installation en copiant les fichiers depuis ce répertoire (voir
47 ci-dessous). Si une nouvelle version du script est disponible, il vous suffira
48 de revenir dans ce répertoire source et de taper "svn update" pour l'obtenir.
53 1. créer un répertoire où seront placés le script CGI et les fichiers
54 micrologiciels et configuration (/srv/www/voip-autoconfig dans la suite de ce
56 2. monter un serveur Web (éventuellement un VirtualHost) avec les ré-écritures
59 RewriteRule ^/([0-9a-f-]{17}).(set|cfg) /autoconfig?$2=$1 [passthrough]
60 ScriptAlias /autoconfig /srv/www/voip-autoconfig/autoconfig.cgi
61 3. placer un micrologiciel dans le répertoire, avec un nom au format
62 ipphone5-VVV-aufNN.bin, avec VVV le numéro de version du micrologiciel sur
63 3 chiffres et NN le numéro de sous-version spécifique AuF
64 3a. faire un lien dessus avec le nom "micrologiciel" pour que ce soit celui
66 3b. faire un lien dessus avec le nom "micrologiciel-xx-xx-xx-xx-xx-xx" si vous
67 voulez qu'un téléphone spécifique l'utilise
68 4. placer un fichier "configuration-base" contenant les données de configuration
69 générales à tous les téléphones. Penser à modifier le numéro de série
70 en cas de mise à jour (NUMERO_DE_SERIE_BASE:NNN)
71 5. Si besoin, écrire un fichier configuration-xx-xx-xx-xx-xx-xx pour
74 Déploiement d'un téléphone :
75 ============================
76 1. configurer le téléphone en mode "autoprovisioning" (type de mise à jour = MAC
77 et adresse de mise à jour = http://nom.du.serveur au niveau de l'interface
78 web de configuration de l'IP Phone)
79 2. afin d'éviter d'avoir à envoyer des données confidentielles en clair via le
80 script, indiquez le nom d'utilisateur et les différents mots de passe
81 directement au niveau de l'interface web du téléphone (et non pas dans
82 le fichier de configuration dédié au téléphone)
83 3. rebooter le téléphone, il doit se mettre à jour. C'est tout.
87 - Préférez utiliser des liens symboliques pour le micrologiciel, par exemple:
88 micrologiciel-stable -> ipphone5-156-auf4.bin
89 micrologiciel-test -> ipphone5-156-auf5.bin
90 - Pour proposer un micrologiciel spécifique à un téléphone :
91 micrologiciel-00-09-45-ba-00-01 -> micrologiciel-test
96 - Regardez les logs apache
97 - Faites des wget pour voir ce qui se passe
98 - rappel : ce script CGI est une proposition, un prototype. S'il plante,
99 demandez de l'aide sur la liste technique de l'AUF ;)
103 - vérifier que l'IP qui fait les requêtes correspond bien à l'adresse MAC,
104 ça serait le minimum de sécurité acceptable si on transmet des mots de
105 passe dans les configurations
106 - permettre des configurations "groupes" via des configuration-xx-xx
107 où "xx-xx" est le début de l'adresse MAC (xx, xx-xx, xx-xx-xx, etc)
108 - adapter pour les autres types de mise à jour (IP, username, etc.)
109 - virer les bachismes (marche pas avec dash qui sera le shell par
110 défaut dans Etch je crois) => fait
112 - trouver le moyen de connaitre le numéro de version de la configuration
113 actuellement stockée dans un IP phone 5 (affichage sur l'écran
114 lors du boot ?) => plutôt supprimer le mot "VoIP" de l'affichage lors de
115 l'appui sur [Local IP] et ajouter la version de la config' en fin de ligne