Mot-clé - asterisk

Fil des billets

vendredi 18 décembre 2015

Asterisk : automatiser un redémarrage hebdomadaire

Pour forcer un redémarrage hebdomadaire d'Asterisk, vous pouvez utiliser la commande suivante :

/usr/sbin/asterisk -r -x "core restart gracefully"

ou encore

/usr/sbin/asterisk -r -x "core restart now"

si vous ne voulez pas attendre la fin des appels en cours (cela provoquera une coupure des appels en cours !)

Pour que le redémarrage s'effectue une fois par semaine, à 2h52 du matin, voici la ligne que vous pourrez introduire dans /etc/crontab :

25 2    * * 7   root    /usr/sbin/asterisk -r -x "core restart gracefully"

Xivo/Asterisk, message audio personnalisé pour la messagerie

Si, comme moi, vous avez longuement cherché le moyen de modifier le message d'absence dans l'interface de Xivo, ne cherchez plus ! Il se paramètre très facilement sans passer par l'interface graphique en plaçant le fichier .wav adapté à cet emplacement :

/var/spool/asterisk/voicemail/contexte_du_client/numéro_boite_vocale/unavail.wav

Il suffit de le savoir !

vendredi 14 août 2015

Xivo, activer l'annuaire inversé pour que les téléphones affichent un nom plutôt qu'un numéro

Il est souvent plus commode de voir s'afficher le nom de son correspondant plutôt qu'un numéro. Cela est bien sûr possible sur Xivo (au moins avec les terminaisons VOIP compatibles, mais je subodore non testé cependant que cela fonctionnerait pour toutes).

Nous allons voir ici comment faire.

Sur les téléphones

Il n'y a rien à faire :-)

Sur le serveur Xivo

Nous allons procéder en 3 temps :

  1. nous allons d'abord activer la fonction d'annuaire inversée sur Xivo en précisant quel(s) annuaires doivent être consultés pour la fonctionnalité
  2. nous allons ensuite paramétrer les champs qui seront interrogés pour la requête inversée
  3. et enfin nous définirons le champ retourné pour affichage si le numéro est reconnu*

Activer l'annuaire inversé

Il faut se rendre dans Services > CTI server > Directories > Reverse directories : 20150804-xivo-reverse.png puis faire glisser vers la boîte de droite les annuaires que l'on veut voir utilisés pour la fonction d'annuaire inversé.

Paramétrer les champs utilisés pour la requête inversée

Dans Services > CTI server > Directories > Definitions, on choisit de modifier l'annuaire xivodir : 20150804-xivo-reverse-2.png

Dans le champ Match reverse directories, on spécifie chaque champ qui est utilisé pour retrouver le numéro de téléphone de l'appelant, par ex.

phonebooknumber.office.number,phonebooknumber.mobile.number,phonebooknumber.home.number

Attention ! Il est très important d'avoir une ligne dans "Mapped fields" pour chacun des champs ! Ainsi, si Match reverse directories contient "phonebooknumber.office.number,phonebooknumber.mobile.number,phonebooknumber.home.number" alors il faut voir une ligne pour chacun dans la liste ci-dessous. On peut ajouter une nouvelle ligne à l'aide du bouton plus.

image4144.png

Paramétrer le champ affiché

Lorsqu'un numéro est trouvé dans l'annuaire, c'est le contenu du champ "reverse" qui est envoyé au téléphone pour affichage. Par défaut, "reverse" pointe vers "phonebook.fullname" : vous pouvez modifier ce champ à votre gré.

Redémarrer les services pour la bonne forme

Pour la bonne ferme, on pourra redémarrer les services en charge des annuaires :

service xivo-ctid restart
service xivo-agid restart

Xivo, un PBX libre et français : installation et premiers paramétrages

Xivo est un logiciel libre d'autocommutateur privé (PBX) basé sur Asterisk et Debian, et (cerise sur le gateau) développé par des français : que des bons arguments. Nous allons détailler ici l'installation de Xivo et quelques paramétrages pour bien démarrer.

logo-xivo.jpg

Installation à partir de l'iso Xivo sur une machine physique

La dernière version peut être téléchargée sur le site de Xivo : http://www.xivo.io/. Une fois placée sur une clé USB ou tout autre périphérique bootable, on peut lancer le processus d'installation qui est basé sur l'installateur de Debian.

Si Xivo ne m'a apporté que du bonheur une fois installé, il faut noter que l'installation a été quelque peu difficile. Avec l'installateur non graphique, en fin d'installation, on a l'impression que l'installateur se fige (souvent sur console-setup à 97%). Ce bug est déjà rapporté ici. Toutefois, dans mon expérience, le gel n'est qu'apparent : si l'on exécute Ctrl+Alt+F1 puis Ctrl+Alt+F2 on rafraîchit manuellement l'affichage. Clairement pas idéal, mais au moins cela permet d'achever l'installation.

Il se lit sur internet que l'installation ne pose pas de problème en mode graphique, je recommanderai donc ce choix par défaut à ceux qui veulent tenter l'aventure !

20150814-xivo-install.png

Il est également possible d'installer Xivo depuis une installation fraîche de Debian Wheezy en suivant les instructions détaillées ici. Cela fonctionne plutôt bien, cela me semble une bonne alternative !

Et pour le test ?

Xivo se déploie sans peine sur Virtualbox (4.3.30_Debian) à condition d'installer une version minimale de Debian Wheezy puis d'exécuter le script d'installation tel que détaillé ici. Pratique !

Premier démarrage

Là encore, mon premier démarrage n'a pas été aussi facile qu'espéré. Après plusieurs essais infructueux, je présente ici la suite d'actions qui a fonctionné chez moi. Notez que cela n'est pas tout à fait identique à la documentation officielle. Je vous conseille de suivre d'abord la documentation officielle et de n'utiliser ma petite "méthode" qu'en cas de besoin. Dans mon cas, le démon xivo-provd ne démarrait pas lors du premier démarrage de la machine ce qui bloquait la configuration avec l'interface web...

Au premier démarrage de la machine xivo, si nécessaire, on modifie la configuration réseau dans /etc/network/interfaces puis on affecte la valeur startup = yes dans /etc/default/xivo. Et on redémarre.

Une fois la machine à nouveau prête, on peut se connecter à l'interface d'administration de Xivo depuis une autre machine en saisissant l'adresse http://192.168.a.b où 192.168.a.b est l'adresse IP de la machine Xivo.

Et on peut alors se laisser guider dans la configuration avec l'utilitaire assisté.

wizard_step4_configuration.png

Quelques ressources pour bien démarrer

Paramétrer un SIP trunk

Si vous avez l'ambition d'atteindre l'extérieur depuis les postes connectés au PBX Xivo, il est probable que vous souhaitiez connecter un SIP trunk. Tout se passe dans IPBX > Trunk management > SIP protocol.

Pour ce faire, vous pouvez suivre cette documentation : http://xivo.readthedocs.org/en/latest/administration/interconnections/xivo_with_voip_provider.html

En sus des paramétrages évoqués, j'ai ajouté ces 2 options :

  • DTMF : RFC2833, cela a ensuite fonctionné sans souci avec un SIP trunk d'OVH
  • Monitoring : 2000ms, car la machine Xivo se trouve derrière un NAT

20150814-extra-params-xivo.png

Retrouver un mot de passe perdu

Si vous avez égaré le mot de passe d'accès à l'interface web de Xivo, pas de panique : cette commande exécutée en root sur la machine vous permettra de le retrouver :

sudo -u postgres psql -c 'select login, passwd from "user"' asterisk

mercredi 22 juillet 2015

Asterisk/Xivo et téléphones Snom, éviter la coupure de l'appel lors du passage en mode muet

Un certain nombre d'équipements VoIP disposent d'une fonctionnalité appelée "No RTP detection" qui permet de couper un appel devenu orphelin (i.e. avec perte des terminaisons). Un appel est jugé orphelin dès qu'aucun paquet RTP n'est détecté dans le canal pendant une durée donnée. Ainsi, avec Xivo/Asterisk et un téléphone Snom 715 (appel transitant par sip.ovh.fr), la communication se coupe dès que l'on passe plus 3 minutes en mode muet (ce qui est toutefois bien pratique dans une téléconférence). Cela peut également se produire lorsqu'un combiné dispose d'une "trop bonne" détection de silence et n'envoie aucun paquet pendant les moments de silence de l'un des interlocuteurs.

Pour régler ce problème, les téléphone Snom récents disposent d'une fonctionnalité ad hoc qui s'appelle : "allow rtp on mute". On la trouve dans l'interface d'administration du téléphone dans Paramètres avancés, Audio. Lorsque l'option est activée (elle ne l'est pas par défaut), le téléphone continue à envoyer des paquets RTP même lorsque le mode muet est sélectionné.

Et voilà, plus de déconnexion intempestive lors des appels via Asterisk !