Merci pour ton aide en suivant ton conseil j'ai chercher toute la journée sur le net et j'ai pu trouver quelques réponses. En fait j'ai un autre soucis quand j'essaie d'executer un script php le CLI d'asterisk me souligne une erreur :

Executing [100@gerer:1] AGI("SIP/102-00000003", "test.php,102>") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/test.php
-- <SIP/102-00000003>AGI Script test.php completed, returning 0
-- Executing [100@gerer:2] Set("SIP/102-00000003", "__Identfiant=") in new stack
-- Executing [100@gerer:3] NoOp("SIP/102-00000003", ""C'est un test d'affichage variable ") in new stack
-- Auto fallthrough, channel 'SIP/102-00000003' status is 'UNKNOWN'

Voici mon Dialplan

[Test]
exten => 100,1,agi(test.php,${CALLERID(num)})
exten => s,n,WaitExten(5)
exten => 100,2,Set(__Identfiant=${Identifiant})
exten => 100,3,noop("C'est un test d'affichage variable ${Identifiant})



Voici le script php: test.php

#!/usr/bin/php -q
<?php
REQUIRE("phpagi-2.20/phpagi.php");
///inclusion du framework de phpagi
INCLUDE("database.php");
///inclusion de mes infos sql
$agi = new AGI();
///création d'un nouvel objet agi
$Num = $_SERVER['argv'][1];
///Récupération de la valeur de ma première variable passée en paramètre


///$Num= preg_replace("#[^0-9]#","",$agi->request[agi_callerid]);
IF(STRLEN($Num)>=3):
$REQSelection = "SELECT nom_poste FROM postes WHERE numero LIKE '%$Num%'";
$RESSelection = MYSQL_QUERY($REQSelection);
IF(MYSQL_NUM_ROWS($RESSelection)==1):
$Identifiant = MYSQL_RESULT($RESSelection);
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;
$agi->set_variable("Identifiant", $Identifiant);
///Renvoi du résultat à la variable identifiant de mon dialplan

?>


Est-ce qu'on doit écrire un context au niveau du fichier sip.conf du diaplan correspondant quand on utilise phpagi ?