A propos | Laboratoire | Voisinage | Meilleurs articles | Nous aider | Forums

Panoramisk / Le druide de la VoIP 

Configuration automatique d’un téléphone Grandstream

Tous les téléphones IP du marché peuvent être configurés via une interface en ligne. Autant ceci est pratique pour une ou deux téléphones, autant si vous planifiez de maintenir un parc d’une taille plus importante il vous faudra choisir des téléphones configurables automatiquement et opter pour une gestion centralisée. Parmi les téléphones du marché supportant cette fonctionnalité la gamme Grandstream propose ses très accessibles BT-100 et BT-200. Ces téléphones sont plus riches fonctionnellement que disposant d’un réel confort d’écoute, mais ils peuvent répondre à un besoin de téléphonie générale.

La méthode proposée ici nécessite un serveur Unix, nous l’avons exécutée sur Mac OS X (10.3) sans aucun problème1. Tout d’abord il est nécessaire de se procurer le petit logiciel en Java du constructeur permettant la traduction des fichiers de configuration en une forme compréhensible par le téléphone, vous le trouverez ici. Vous devez également récupérer les fichiers d’exemple, nous utiliserons comme base de travail celui du BT-200 (intitulé BT200_config_1.1.3.2.txt), celui-ci fonctionne sur notre téléphone modèle BT-100 (<50€).

Les paramètres à modifier

Chaque paramètre dans le fichier de configuration initial possède un code au format Pxxx, les commentaires permettent une lecture rapide de ceux-ci. De façon à garantir une cohérence dans le développement du produit, les développeurs ont utilisé les mêmes codes pour identifier les objets de saisie au niveau de l’interface web du téléphone. En scrutant le code source des pages de configurations, vous trouverez rapidement la correspondance du paramètre avec le code à modifier dans le fichier de configuration.

Paramètres réseau

# DHCP support. 0 - yes, 1 - no
P8 = 0

# NTP Server
P30 = 192.168.16.10

# Layer 3 QoS (IP Diff-Serv or Precedence value for RTP)
P38 = 48

Si vous souhaitez attribuer une adresse IP spécifique à chaque poste, il faudra alors regarder du côté des champs P9-P12 pour l’adresse IP, P13-P16 pour le masque de sous-réseau, P17-P20 pour le routeur par défaut et P21-P24 pour le serveur DNS.

Paramètres SIP

Les paramètres relatif à l’enregistrement de ce téléphone auprès d’un registrar SIP sont les suivants:

# Account Name
P270 = 14

# SIP Server
P47 = 192.168.16.14

# SIP User ID
P35 = 14

# Authenticate ID
P36 = 14

Ici, le téléphone sera joignable avec l’URI: sip:14@192.168.16.14.
Si votre téléphone est sur le même site que le registrar, par exemple sur le même réseau local, il peut être nécessaire de désactiver le NAT:

# NAT Traversal. 0 - yes, 1 - no, 2 - No, but send keep-alive
P52 = 1

Enfin, il est de bon ton de modifier la façon dont les informations DTMF sont envoyées, ici nous avons choisi le mode SIP INFO, surtout éviter la valeur de base qui encode les deux tons et les fait passer dans le codec, en fonction de celui-ci vous pourrez avoir ou pas les bonnes touches transmises.

# Send DTMF. 0 - in audio, 1 - via RTP, 2 - via SIP INFO
P73 = 2

Les codecs

L’ordre et le choix des codecs est effectué en affectant la valeur du codec (payload RTP) à une position P57 et supérieur.

# First codec.
P57 = 8

Ici, nous avons spécifié du G.711 loi A comme premier codec.

La configuration automatique

Il ne faut pas oublier de reporter les paramètres de configuration automatique afin d’éviter que celle-ci ne fonctionne qu’une seule fois.

# Firmware Upgrade. 0 - TFTP Upgrade,  1 - HTTP Upgrade.
P212 = 0

# Config Server Path
P237 = 192.168.16.181

# Use firmware pre/postfix to determine if f/w is required
# 0 = Always Check for New Firmware
# 1 = Check New Firmware only when F/W pre/suffix changes
# 2 = Always Skip the Firmware Check
P238 = 2

Ici, on spécifie le serveur TFTP (plus simple à mettre en place qu’un serveur web). On spécifie également le fait qu’il n’y aura pas de modification du firmware du téléphone à chaque reboot, il sera plus simple de piloter cette action, qui souvent nécessite une validation, via une nouvelle configuration spécifique.

Compilation du fichier de configuration

Une fois le fichier de configuration au format texte modifié pour le téléphone en question, il est nécessaire de le compiler en format compréhensible par le téléphone. Pour cela nous utiliserons le logiciel en Java fourni par le constructeur (il est nécessaire de modifier le fichier bin/encode.sh afin que les chemins soient corrects).
La commande à executer est la suivante:

./bin/encode.sh 000b8207a364 BT-100-14.config cfg000b8207a364

Ici, on fourni l’adress MAC du téléphone (inscrit sur l’étiquette sous le téléphone) ainsi que le nom du fichier source. La version compilée est à mettre dans un fichier dont le nom est composé de cfg et de l’adresse MAC du téléphone. Ce fichier sera positionné sur le serveur TFTP afin de pouvoir être récupéré lors du démarrage du téléphone.

Chargement de la configuration

Au démarrage du téléphone, il récupère automatiquement son fichier de configuration automatiquement par TFTP (méthode que nous avons choisie).

Automatisation

Mais il reste un problème important pour la mise en place de ces téléphones: comment configurer le téléphone dès sa sortie du carton et sa mise en place sur le réseau ?

La première installation est probablement la plus complexe. Par défaut, le téléphone récupère une adresse IP via le protocole DHCP, aussi il sera accessible sur le réseau. On peut mettre en place un VLan spécifique à l’installation de ces téléphones, avec un pool d’adresse restreint ainsi il ne sera pas difficile de trouver l’adresse des téléphones. Ensuite, il est nécessaire d’effectuer quelques modifications dans le téléphone, via l’interface de configuration en ligne, au minimum, les informations concernant le serveur TFTP et la méthode de récupération de la configuration par défaut.

Vous pouvez pour cette automatisation utiliser le script PERL écrit par Charles Howes et nommé gsutil, disponible chez Packets Consulting. Cet outil effectue de façon automatique la configuration du téléphone en simulant les actions que vous auriez faites sur votre navigateur. Il suffit de préparer un modèle de configuration et de l’appliquer.

Modèle de configuration initial

firmware_upgrade = 0
config_server_path = 192.168.16.181

Action de configuration

./gsutil -bnr -p admin 192.168.16.133 < template.conf
La commande execute un restore de configuration (r) puis un redémarrage du téléphone (bn). Il est nécessaire d’indiquer l’adresse IP du téléphone (plusieurs peuvent être fournies, ainsi que le mot de passe, par défaut admin.

Au redémarrage du téléphone, la procédure décrite précédemment sera exécutée (chargement par TFTP de la configuration spécifique du téléphone, basée sur son adresse MAC).

Conclusion

Il est donc possible et automatisable de réaliser la configuration de téléphones Grandstream:

  • modification de la méthode de configuration sur un téléphone neuf (via gsutil),
  • création d’un fichier de configuration spécifique pour le téléphone,
  • compilation du fichier de configuration en une version directement exploitable par le téléphone,
  • chargement automatique de la configuration via TFTP au démarrage.

Bien sûr, il existe des téléphones plus intelligents et disposant de mécanismes plus riches pour ce type de configuration, mais souvent le coût initial d’investissement est plus élevé.


  1. utilisation de languages interprétés: JAVA et PERL []
Posté par: Alexandre Chauvin-Hameau, le 02/05/2007
Trackback | Popularité: 25%
marqué , , et
AddThis Social Bookmark Button
UselessNothing newInformativeLearned a lotAmazingly helpful
Loading ... Loading ...

Voir aussi

Et pourquoi pas

Laisser un commentaire

© 2009 Panoramisk | Creative Commons License wordpress logo