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.