Asterisk : comment lire un numéro de téléphone à l'appelant

Mathias WOLFF published on
2 min, 309 words

Categories: VoIP

Nous allons voir comment asterisk peut annoncer un numéro de téléphone à l'appelant. En France, on ne lit un numéro de téléphone en annonçant chaque nombre le composant, mais par groupe de 2 ( 014012... est lu zero un, quarante, douze ... et non zero, un, quatre, zero, un , deux ...). Pour cela nous allons utiliser l'application app_playpack.so.

Fonctionnement

L'application app_playback.so se paramètre dans le fichier de configuration say.conf. L'application utilisée afin de lire le numéro est Playback().

Pré requis

Il faut s'assurer que dans sip.conf, dans la section [general] que vous ayez la définition suivante :

language=fr

Ensuite, éditez asterisk.conf et ajoutez dans le context [options] et ajouter :

languageprefix = yes

Les fichiers de voix française sont bien entendu installés. Ensuite, vous devez avoir le fichier say.conf dans /etc/asterisk et ce fichier doit contenir les patterns pour le français.

Configuration

Modifiez say.conf afin d'avoir les lignes suivantes :

[fr](date-base,digit-base)
_[n]um:0X => num:${SAY:0:1}, num:${SAY:1:1}

...

;numeros 0800 : 0800, 0811... 0899
_pho[n]e:08XXXXXXXX => num:${SAY:0:1}, num:${SAY:1:3},num:${SAY:4:2}, num:${SAY:6:2},num:${SAY:8:2}

;numeros de telephones fixes et mobiles
_pho[n]e:0[1-79]XXXXXXXX => num:${SAY:0:1}, num:${SAY:1:1}, num:${SAY:2:2}, num:${SAY:4:2}, num:${SAY:6:2}, num:${SAY:8:2}

Ensuite, faites un reload ( ou juste "module reload app_playback.so") afin de prendre en compte les changements.

Un exemple d'utilisation

Voici un exemple de code à ajouter dans un contexte du fichier extensions.conf :

[pres-num-tel-fr]
exten => 0011,1,Playback(phone:0140456789,say)
exten => 0011,n,Hangup

ou si vous souhaitez utiliser votre AGI en utilisant le PERL :

$AGI->exec("PLAYBACK num:0140456789,say ""n");

Voilà votre asterisk programmé afin d'énoncer à la manière française les numéros de téléphone.