-
Salut Nabil,
Moi, j'ai aussi utilisé un script php... Mais l'agi n'était pas oppérationnel chez moi j'ai fait tout autrement.
J'ai utilisé tout d'abord une autre voix (ibm) qui me semble plus compréhensible.
Voici un bout de mon script extensions.conf
[Maison]
exten => s,1,Ringing()
exten => s,2,Wait(1)
exten => s,3,Answer()
exten => s,4,PlayBack(${ChmAudio}/Bienvenu)
exten => s,5,Goto(Maison,TousTels,1)
exten => TousTels,1,Set(CALLFILENAME=${ChmEnreg}/Entrant/${STRFTIME(${EPOCH},,%Y-%m-%d_%H%M)}-${CALLERID(num)})
exten => TousTels,2,Set(__ContextProvenance=Maison)
exten => TousTels,3,Set(__ExtensionProvenance=TousTels)
exten => TousTels,4,Monitor(wav,${CALLFILENAME},m)
exten => TousTels,5,Set(CHANNEL(musicclass)=Attente)
exten => TousTels,6,agi(Identifiant.php,${CALLERID(num)})
exten => TousTels,7,Set(__Identifiant=${Identifiant})
exten => TousTels,8,System(/usr/bin/sox /var/local/Monitor/Asterisk/Appelant.wav -r 8000 /var/local/Monitor/Asterisk/Appelant.ogg && /bin/chmod +x /var/local/Monitor/Asterisk/Appelant.ogg && /bin/rm /var/local/Monitor/Asterisk/*.wav)
exten => TousTels,9,DIAL(SIP/SPABureau&SIP/SPASallon&SIP/SPAStudio,40,rG(RecupAppel^Choix^1))
exten => TousTels,10,GoToIf($["${DIALSTATUS}" == "CHANUNAVAIL"] ?TousTels,13)
exten => TousTels,11,Voicemail(713@MANU,bs)
exten => TousTels,12,hangup
exten => TousTels,13,Voicemail(713@MANU,us)
exten => TousTels,14,hangup
J'utilise ce procédé car je suis aveugle et je ne peux pas lire l'écran de mon téléphone.
J'ai stocké un carnet d'adresse sur une base mysql.
Lorsque quelqu'un m'appelle, je décroche et j'ai le choix de refuser l'appel ou l'accepter.
Voici mon autre "fonction"
[RecupAppel]
exten => Choix,1,GoTo(RecupAppel,ring,1)
exten => Choix,2,GoTo(RecupAppel,identity,1)
exten => identity,1,Wait(1)
exten => identity,2,PlayBack(${ChmAudio}/AppelQui)
exten => identity,3,PlayBack(/var/local/Monitor/Asterisk/Appelant)
exten => identity,4,Background(${ChmAudio}/AppelChoix)
exten => identity,5,WaitExten(3)
exten => 1,1,Pickup(ring@RecupAppel)
exten => 2,1,GoTo(RecupAppel,identity,4)
exten => t,1,GoTo(${CONTEXT},identity,1)
exten => ring,1,Dial(LOCAL/null@RecupAppel,20,rg)
exten => ring,2,GoToIf($["${DIALSTATUS}" == "ANSWER"] ?h,1)
exten => null,1,Wait(100)
Puis voici mon script php :
#!/usr/bin/php
<?php
///REQUIRE("phpagi.php");
INCLUDE("ConnexionSql.php");
///$agi = new AGI();
$Num = $_SERVER['argv'][1];
///$Num= preg_replace("#[^0-9]#","",$agi->request[agi_callerid]);
IF(STRLEN($Num)>=10):
$REQSelection = "SELECT CONCAT(prenom,' ',nom) AS Contact FROM $TBLC WHERE TelPort LIKE '%$Num%' OR TelPerso LIKE '%$Num%'";
$RESSelection = MYSQL_QUERY($REQSelection,$Connexion);
IF(MYSQL_NUM_ROWS($RESSelection)==1):
$Identifiant = MYSQL_RESULT($RESSelection,0,"Contact");
ELSE:
$Identifiant = UTF8_DECODE(CHUNK_SPLIT($Num,2," ").' non présent dans la base de donnée');
ENDIF;
ELSE:
$Identifiant = UTF8_DECODE(CHUNK_SPLIT($Num,2," ").' non présent dans la base de donnée');
ENDIF;
$Identifiant = '/usr/bin/say -w /var/local/Monitor/Asterisk/Appelant.wav "'.$Identifiant.'"';
///$agi->set_variable("Identifiant", $Identifiant);
exec("$Identifiant");
?>
Pour l'instant ça répond à ma demande actuelle mais je cherche quand-même à faire fonctionner l'agi donc si quelqu'un peut m'aider !!!
J'espère nabil que cela pourra t'aider aussi.
Règles de messages
- Vous ne pouvez pas créer de nouvelles discussions
- Vous ne pouvez pas envoyer des réponses
- Vous ne pouvez pas envoyer des pièces jointes
- Vous ne pouvez pas modifier vos messages
-
Règles du forum