Faire un logo personnalisé pour son Cisco 7940/7960

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 :

Ce n'était pas tout à fait ce que j'avais dessiné...

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.

Créer une image de 90 par 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.

Réalisation du logo dans GIMP.

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.

Ne pas oublier de cocher cette case...

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.

Le résultat final, qui est cette fois correctement affiché.

Posté par x0r à 7 commentaires • Tags : voip cisco 7940 7960 phone custom logo

Commentaires

Poster un commentaire

#1 — tadja henri dumont

salut à vous. comment modifier "your current option" sur la ligne d'état s'il vous plait

#2 — x0r

Je ne crois pas que ce soit possible sur cet écran.

#3 — 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.

#4 — 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.

#5 — 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

#6 — x0r

La procédure est détaillée dans ce billet.

#7 — Burak Tokgozoglu

I solved the issue by reading your tutorial. Thank you very much, your work is very much appreciated.

Poster un commentaire