Je ne prétends pas que c'est la meilleures, mais s'en ai une ......
Explication du fonctionnement :
Lorsqu'un collaborateur appel, la ligne principale, si son numéro de portable est reconnu, on le redirige sur un menu, ou il peut composer les extensions internes de l'ipbx, lui permettant de joindre des collaborateurs directement. On peut également, avec quelques modifications, lui permettre de faire des appels internationaux à moindre coûts......
Alors pour commencer, il faut créer un fichier .agi pour cette fonctionnalité. Donc on vas commencer par le début :
Code:
[root@asterisk:~]$ [root@asterisk:~]$ cd /var/lib/asterisk/agi-bin/ [root@asterisk:/var/lib/asterisk/agi-bin]$ touch CheckNumPortable.agi [root@asterisk:/var/lib/asterisk/agi-bin]$ chmod +x CheckNumPortable.agi
Code:
[root@asterisk:/var/lib/asterisk/agi-bin]$ vim CheckNumPortable.agi
Code:
#!/bin/bash #******************** #***** Variable ***** #******************** #Numero de telephone recherche NUMBER=$1 FICHERNUM=/usr/src/numeros.txt FICHIERTROUVER=$(grep -oc $NUMBER $FICHERNUM) CIDNAME=$(cat $FICHERNUM | grep $NUMBER | cut -f 2) if [[ $FICHIERTROUVER == 1 ]] then echo "SET CALLERID \"$CIDNAME\"<$NUMBER>" echo "SET CONTEXT reconnu" echo "SET EXTENSION accueil" echo "SET PRIORITY 1" else echo "SET CALLERID \"$NUMBER\"<$NUMBER>" fi exit 0
Ensuite, créons un fichier contenant la liste des numéros de téléphones de l'entreprise, via les commandes suivantes :
Code:
[root@asterisk:/var/lib/asterisk/agi-bin]$ [root@asterisk:/var/lib/asterisk/agi-bin]$ cd /usr/src/ [root@asterisk:/usr/src]$ touch numeros.txt [root@asterisk:/usr/src]$
Code:
[root@asterisk:/usr/src]$ vim numeros.txt
exemple:
Code:
079822XXXX Cedric Schaller
ensuite, un petit test en ligne de commande s'impose.....
Entrer la ligne suivante, sur votre console :
Code:
[root@asterisk:/usr/src]$ /var/lib/asterisk/agi-bin/./CheckNumPortable.agi 079822XXXX
Code:
[root@asterisk:/usr/src]$ /var/lib/asterisk/agi-bin/./CheckNumPortable.agi 079822XXXX SET CALLERID "Cedric Schaller"<079822XXXX> SET CONTEXT reconnu SET EXTENSION accueil SET PRIORITY 1
Pour ceux qu'y veulent, c'est le temps d'un p'tit
.....
On continue, allons editer les fichiers d'asterisk.....
Code:
[root@asterisk:/usr/src]$ cd /etc/asterisk/ [root@asterisk:/etc/asterisk]$
Code:
[root@asterisk:/etc/asterisk]$ vim extensions.conf
XXXXXXXXXX = L'extension qui correspond par exemple à votre numéro principal
Code:
[from-extern] exten = XXXXXXXXXX,1,AGI(CheckNumPortable.agi,${CALLERID(num)}) exten = XXXXXXXXXX,n,....... ; Votre traitement d'appel sur le numéro principal [reconnu] exten = accueil,1,Answer() exten = accueil,n,Playback(BonjourNumeroRecconu) exten = accueil,n(debut),Gotoif($[ "${LEN(${extencomp})}" < "4"]?recup:int) exten = accueil,n(recup),Read(chiffre,,1) exten = accueil,n,SayDigits(${chiffre}) exten = accueil,n,Set(extencomp=${extencomp}${chiffre}) exten = accueil,n,GoTo(debut) exten = accueil,n(int),GoTo(Interne,${extencomp},1) exten = h,1,hangup() [Interne] exten = _XXXX,1,Dial(SIP/${EXTEN}) exten = _XXXX,n,Hangup()
BonjourNumeroRecconu :
Bonjour, Votre numéro à été reconnu, Merci de composer l'extension à 4 chiffres que vous souhaitez joindre.
Et voilà, si votre numéro est recconu, vous pouvez composer des numéros internes.....
Amusez-vous bien
Message vBulletin