Le firmware par défaut est disponible sur le site du constructeur du chipset : http://aredfox.com/eindex.htm
Mais on peut aussi télécharger le code source du firmware afin de le compiler soi-même, par exemple pour le compiler en Français. On peut aussi, bien sûr, faire quelques modifications ! Actuellement nous avons réussi à :
- produire des traductions plus jolies (plus "francophones" et plus "AUF")
- programmer certaines touches pour faire d'autres actions, notamment pour les transferts et la conversation à 3
OusmaneWilane a décortiqué le code et fait les premières modifs. ThomasNoël a pris la suite. Et à présent JeanChristopheAndré s'en mèle aussi...
Outils
- une machine avec wine
- le compilateur Keil C51
les sources du firmware PA1688 à demander à http://groups.yahoo.com/group/pa1688/, ou l'adaptation AUF disponible sur le dépôt git de l'AUF
la documentation pour savoir comment compiler (pas très claire, c'est le moins qu'on puisse dire...)
Compilation
installer Keil dans c:\keil\
décompresser les sources dans c:\palmh323\
si les sources sont la version AUF, il faut reconstruire les bibliothèques p_apps et p_iax2 :
> cd c:\palmh323 > mk lib p_iax2 > mk lib p_apps
compiler une version pour le protocole iax2, en français, silencieuse (none_ivr) :
> cd c:\palmh323 > setenv > mk ywh500 iax2 fr none_ivr
Résultat : un fichier ywh500_iax2_fr_none_ivr_NNNNNN.bin où NNNNNN est la version du firmware, par exemple 159197 pour la 1.59.197. C'est ce fichier qu'il faut envoyer au téléphone (via l'interface web, bouton "micrologiciel").
Adaptation AUF
Voir les correctifs (patches) sur le site de développement (git).
Les bogues et améliorations qui restent à gérer sont ici : /Bugs
Le correctif 19 propose (sur le firmware 1.56) :
- Une meilleure "francophonisation" ;
- Reprogrammation de touche :
(rev.14) reprogrammation de la touche "Transfer" : envoie le code ** à Asterisk, qui doit être programmé (cf features.conf) pour gérer le transfert quand il reçoit ce code...
- passe en mode silencieux (Mute) quand on appuie sur "backspace" en cours de communication
- reprogrammation de la touche Flash : elle coupe la communication en cours (comme une touche Flash devrait toujours le faire quoi). Quand on reçoit un appel, elle permet de le refuser (y compris quand c'est un appel sur la seconde ligne)
(rev.14) reprogrammation de la touche "Speed Dial" :
- en communication, elle fait un ##*33 pour envoyer l'interlocuteur vers la conf privée du poste
- hors communication, si aucun numéro n'est présent elle compose le *33 pour envoyer le poste vers sa conf privée
- sinon elle agit comme le speed dial classique
- touches "Local num", "Local IP", "Server IP" possibles lors d'un appel (sera peut-être utile pour le débogage "hotline")
- correction pour que la touche Vol+ fonctionne lors de l'affichage d'une liste (missed, answered, dialed, phonebook)
- amélioration de la gestion des listes "Missed", "Answered", "Dialed" et "Phone Book". On peut appuyer plusieurs fois sur un de ces boutons pour faire défiler la liste. La consultation est possible pendant un appel.
(rev.17) possibilité d'utiliser les touches vol+/vol- en dehors d'un appel pour regler le volume de la sonnerie (utilisable y compris et surtout pendant que le téléphone sonne)
(rev.19) reprogrammation de la touche "HF" (mains libres) : le téléphone bascule en main libre dès qu'on appuie dessus, sans voir besoin de raccrocher le combiné ensuite. C'est plus intuitif et plus simple dans la pratique.
- Amélioration d'affichage :
- affichage de la ligne actuelle en mode double appel (ligne 1 ou ligne 2)
- affichage du rang d'un enregistrement lorsqu'on consulte l'annuaire
pendant une communication, si on consulte une liste (Missed, Dialed, PhoneBook, etc) l'ip phone arrete d'afficher le temps de connexion (cet affichage écrasait celui de la liste)
- affiche "Ver AAA-BB/NNNNN" juste après le boot , avec AAA = version upstream du firmware, BB = version du correctif AUF, NNNNN = version de la configuration (pour suivi en mode auto-configuration)
- affiche le username (iax) en plus du numéro local quand on appuie sur "local num"
- n'affiche plus sans arrêt le username et le numéro local sur l'écran (inutile vu la correction ci dessus)
- affiche la version "Ver AAA-BB/NNNNN" en plus de l'IP quand on appuie sur "local ip"
(rev.18) quand on modifie un volume, affiche le type de volume modifié : "Sonnerie", "Mains libres" ou "Volume" (pour le combiné)
- Autres améliorations :
(rev.18) création d'un volume dédié à la sonnerie (au démarrage de l'ip phone c'est le même que pour les mains libres)
(rev.16) meilleure gestion "busy" : quand on est déjà avec deux correspondant, un nouvel appel est refusé avec le message iax "busy". Idem si on refuse avec l'utilisation de la touche "flash". Permet de programmer correctement des automates asterisk et aussi d'annoncer que "la personne est en communication" au niveau de la boite vocale. On avance.
(rev.13) écoute des messages envoyés en UDP/1025 (y compris multicast !) et affichage de l'info reçue sur la 2nde ligne ; fonction utilisable via l'outil ipphone5-message
- correction du problème de décallage de l'horloge parfois constaté sur certains postes (via des requêtes NTP forcées toutes les 10 minutes)
(rev.15) possibilité de savoir si la chaine d'info affichée est égale à une chaine : on envoie "?info" sur UDP/1025, ça répond (port UDP/61030) "=info" ou "!info" selon que la chaine affichée actuellement est "info" ou pas.
(rev.19) possibilité d'uploader même en mode debug=disable (FIXME: il faudra tout de même sécuriser un peu cela)
- la prise en compte de 5 chiffres de version pour le système d'auto-configuration (156XX au lieu de 156), afin de gérer les correctifs sur la 1.56 proposée par le constructeur
corrections sur le fichier cleanall.bat pour nettoyer les sources