Ajouter des sonneries de téléphone personnalisées via provisionning XIVO (Pour Yealink)

Image

Dans cette page, nous vous détaillons les étapes à suivre pour convertir puis importer automatiquement des pistes audio lors du provisionning des terminaux. Cette manipulation est possible pour l’ensemble des séries T1x/T2x/T3x/T4x/T5x puisqu’ils supportent le provisionning.

Fichiers de son clé en main

Nous vous mettons à disposition un pack de sonneries supplémentaires libres de droits (Creative Common) provenant de freesound.org. Celles-ci remplissent déjà les critères requis et sont donc prêtes à l’emploi. Vous pouvez le télécharger en cliquant ici.

Extraction d’un fichier .tgz :

tar -xvzf additional_ringtones.tar.gz

CONVERTIR LA PISTE AUDIO DANS UN FORMAT UTILISABLE PAR LES TERMINAUX

Yealink prend en charge des formats audio bien spécifiques détaillés dans le tableau ci-dessous.yealink_audio_formatyealink_audacity_conversion

Si vous disposez d’une piste audio, mais que celle-ci ne se trouve pas dans le bon format, je vous invite à télécharger un logiciel de traitement de son, tel que « Audacity » qui vous permettra de l’exporter dans le bon format :

  • Mono (supprimez une des deux pistes après avoir cliqué sur « Séparer stéréo vers mono »)
  • 8KHz
  • PCMU 16 bits
  • .wav

Vous pouvez ensuite exporter votre fichier son (Fichier > Exporter Audio ou CTRL + Shift + E) en prenant soin de choisir le format « Autres formats non compressés », cliquez sur « Options », puis choisissez « Wav (Microsoft) » en entête et « U-Law » en encodage.

Il est possible d’effectuer une manipulation similaire en CLI sous Linux. Tout d’abord, vous pouvez utiliser mpg321 pour convertir votre fichier au format .wav si ce n’est pas déjà fait :

for file in *.mp3; do mpg321 --wav "${file%.*}.wav" "${file}"; done;

Une fois en possession de votre fichier .wav, il faudra le convertir avec sox pour qu’il remplisse bien les critères énumérés plus haut :

for file in *.wav; do sox $file -t .wav -r 8000 -c 1 -e u-law converted_$file; done;

Si vous voulez donner des noms uniformes aux sonneries de votre liste (ringtone_x.wav) :

find . -maxdepth 1 -type f | cat -n | while read n f; do mv "$f" "acipia_$n.wav"; done;

IMPORTER VOTRE SONNERIE DANS LE SERVEUR DE PROVISIONNING XIVO

Une fois votre fichier son prêt, déplacez-le dans le dossier /var/lib/xivo-provd/plugins/xivo-yealink-votre_version/var/tftpboot ou un sous dossier de votre choix afin que les terminaux puissent aller rechercher le fichier.

MODIFICATION DU TEMPLATE DE CONFIGURATION

Il nous faut maintenant modifier le template (base.tpl pour tous les terminaux utilisant le plugin ou TXXX.tpl pour un modèle spécifique) afin que les téléphones récupèrent un fichier de configuration qui importe la sonnerie.

Il peut être judicieux configurer l’import des sonneries directement dans les templates correspondant aux modèles. En effet, cela permettra d’adapter le nombre de sonneries récupérées à la capacité de stockage des terminaux.

Pour rappel, le fichier base.tpl se trouve dans /var/lib/xivo-provd/plugins/xivo-yealink-votre_version/var/templates. Si le fichier n’existe pas, copiez-le ici depuis /var/lib/xivo-provd/plugins/xivo-yealink-votre_version/templates.

ringtone.url = http://{{ ip }}:{{ http_port }}/acipia_1.wav
ringtone.url = http://{{ ip }}:{{ http_port }}/acipia_1.wav
phone_setting.ring_type = acipia_1.wav

Les deux premières lignes importent la piste audio se trouvant dans tftpboot. La dernière ligne définie la sonnerie par défaut qui sera utilisée.

APPLICATION DES MODIFICATIONS

Pour appliquer les modifications à l’ensemble des terminaux utilisant le template modifié, lancez les commandes suivantes :

xivo-provd-cli -c 'devices.using_plugin("nom_du_plugin").reconfigure()'
xivo-provd-cli -c 'devices.using_plugin("nom_du_plugin").synchronize()'

Vous pouvez également appliquer la modification à un seul terminal à l’aide de son adresse MAC :

xivo-provd-cli -c 'devices.using_mac("FFFFFFFFFFFF").reconfigure()'
xivo-provd-cli -c 'devices.using_mac("FFFFFFFFFFFF").synchronize()'

NB : Les modifications seront prises en compte dans un délai de quelques secondes à plusieurs minutes suivant les modèles.

Pour rappel, ces commandes doivent être effectuées dès que vous souhaitez appliquer des modifications entrées dans le fichier base.tpl.