Je me suis acheté il y a quelques mois un magnifique téléphone Cisco 7960 (et depuis, deux 7940 également, juste parce que cela m'amusait) pour pouvoir faire mes expériences avec Asterisk mais aussi avec siproxd-orange.
Étant donné qu'il s'agit de matériel d'entreprise (après tout, l'appareil a l'air d'être conçu pour fonctionner encore même si on le jette quatre cents fois contre le mur), une des fonctionnalités est d'afficher un logo personnalisé en fond d'écran à partir d'une image au format BMP.
Cet article vous montrera comment faire, même s'il présume que vous avez déjà mis en place l'infrastructure réseau (serveurs DHCP, TFTP et HTTP notamment) permettant de gérer et de configurer automatiquement ces téléphones.
Je me suis cependant rendu compte que toutes les images BMP n'étaient pas acceptées, et qu'il faut donc faire particulièrement attention lorsqu'on exporte l'image depuis GIMP afin de le forcer à utiliser une révision du format BMP compatible avec le téléphone.
Il y a BMP... et BMP.
D'après l'article Wikipédia sur le format BMP (en anglais), le format BMP a connu en réalité plusieurs révisions différentes. En particulier, certaines révisions ont ajouté des éléments à l'en-tête du fichier BMP, comme par exemple les informations de profils de couleur ICC pour garantir l'affichage correct sur tous les types de moniteurs. Ces révisions sont compatibles avec les versions antérieures, et pour peu qu'une implémentation du format soit à peu près propre, elle peut être également compatible avec les révisions ultérieures, en ignorant les extensions ajoutées dans les nouveaux formats.
GIMP, par défaut, exporte en BMP avec toutes ces options activées. En revanche, le téléphone Cisco ne prend pas en charge les révisions les plus récentes du format BMP et vous vous retrouveriez donc avec une horreur comme celle-ci :
Avec file(1), on voit bien la différence entre un logo qui ne fonctionnera pas (badlogo.bmp) et un logo qui fonctionne (logo.bmp) :
# file badlogo.bmp logo.bmp
badlogo.bmp: PC bitmap, Windows 95/NT4 and newer format, 90 x 56 x 8
logo.bmp: PC bitmap, Windows 3.x format, 90 x 56 x 8
Heureusement, il n'y a point besoin d'utiliser une version antédiluvienne de Paint pour fabriquer des logos qui fonctionnent.
En pratique, avec GIMP
Pour faire votre propre logo, ouvrez GIMP et créez une nouvelle image en niveaux de gris, 90 × 56 pixels.
Réalisez ensuite votre logo en niveaux de gris. Il vaut mieux utiliser les couleurs #000000, #404040, #808080 et #ffffff pour votre image ; l'écran du Cisco n'accepte que quatre niveaux de gris. Les autres niveaux de gris seront tramées ("dither") par le téléphone. Mon image ne respecte pas cette contrainte, mais ce n'est pas très grave.
Exportez ensuite en BMP, en prenant bien soin de cliquer sur « Options de compatibilité » puis sur « Ne pas inscrire d'information d'espace couleur ». Je n'ai pas testé la compression Run-Length, mais nous sommes de toute façon sur un LAN à 100 Mbps et le logo non compressé fait déjà seulement 6 230 octets.
Configuration du téléphone
Uploadez ensuite votre logo sur un serveur Web accessible depuis le téléphone.
Il ne reste plus qu'à indiquer dans SIPDefault.cnf
(ou SIP<adresse_mac>.cnf
si
vous voulez un logo différent par téléphone) l'URL vers ce logo. Par exemple :
logo_url: "http://voip.example.com/cisco/logo.bmp"
Au prochain reset du téléphone, vous pourrez alors admirer votre travail.
Commentaires
Poster un commentaire
tadja henri dumont
salut à vous. comment modifier "your current option" sur la ligne d'état s'il vous plait
★ x0r
Je ne crois pas que ce soit possible sur cet écran.
tadja henri dumont
si c'est possible je l'ai déjà vu quelque part sur les téléphones ip 7960, sauf que mes recherches ne m’emmène nul part. Aide moi s'il vous plait j'en ai gravement besoin.
★ x0r
C'est peut-être possible sur les firmwares SCCP alors. Il me semblait que les fichiers contenant la localisation des firmwares SCCP de ces téléphones étaient distribués par TFTP. Dans ce cas, peut-être peut-on les modifier en les ouvrant dans un éditeur de texte ?
Ceci dit, je n'utilise plus ce téléphone mais un Polycom IP 450 qui s'intègre beaucoup mieux dans un environnement Asterisk ; de plus, je n'ai jamais utilisé mes Cisco IP 7940/60 avec les firmwares SCCP, uniquement avec leurs firmwares SIP qui manquent énormément de fonctionnalités par rapport aux SCCP ; en particulier, on dirait que Cisco n'a pas pris la peine de les internationaliser ni de les localiser en français.
Étant donné que je suis peu disposé à me payer une licence de CUCM pour faire marcher deux téléphones tout au plus chez moi, je ne me suis jamais penché sur la question.
Enfin, ces téléphones sont considérés comme obsolètes par Cisco depuis 2012. Je ne me substituerai pas au service technique de Cisco, à qui vous ferez mieux de poser cette question.
Moussa Coulibaly
Bonjour, Puis-je la procédure pour créer un logo compatible avec le Cisco 7940, car mon écran reste sans logo quand je suis le procédure avec GIMP
★ x0r
La procédure est détaillée dans ce billet.
Burak Tokgozoglu
I solved the issue by reading your tutorial. Thank you very much, your work is very much appreciated.
McBuzz
Bonjour bonjour, J'ai pu récupérer un téléphone IP CISCO 7970G pour quelques euros ( rien de très ruineux ;) ), j'ai ensuite réussi à télécharger le dernier firmware pour SIP (9.4) grâce à la fonction TFTP. Mais voilà je me retrouve bloqué pour réaliser tout le reste de la configuration et personnalisation du téléphone ... Je dispose d'un serveur HTTP en local afin d'y placer des scripts de déploiements mais je ne vois pas comment procéder pour paramétrer plus finement ce poste VoIp :/ Pouvez-vous me donner quelques pistes ?
Thomas
Bonjour, Je passais par là par hasard. La ligne en bas de l'écran indiquant "Your current options" n'est pas prévue pour être modifiée. En SIP le téléphone affiche ici des informations prédéfinies dans le firmware. Ils faudrait peut être le bricoler à coup d'éditeur hexa mais quid de la signature. En revanche en SCCP, cette ligne est provisionnée par le serveur qui peut faire afficher n'importe quoi dans la limite de 32 caractères si ma mémoire est bonne. Personnellement j'ai mis à jour mon parc progressivement. Des 40 je suis passé aux 41, puis aux 70 et maintenant les 7975 qui sont vraiment très agréables. Même avec Asterisk il vaut mieux les utiliser en SCCP d'autant que cela permet bien plus de choses. Voyez notamment du côté de chan-sccp-b. Après ces téléphones sont plutôt prévus pour l'entreprise avec les serveurs Cisco qui vont bien, donc leur configuration n'est pas vraiment straightforward, mais on s'y fait (et on finit par connaître les fichiers XML par coeur quand on abuse) et à la fin ça tourne quand même impeccable. N'hésitez pas si besoin d'un coup de main :)
Poster un commentaire