Bonjour à tous,
J'utilise l'AMI pour lancer des appels avec Asterisk.
j'utilise pour cela l'action Originate; tout se passe bien, sauf que mes variables passées avec "Variable" sont vides dans le context.
le manager.conf
Code:
[admin]
secret = admin
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
permit=192.168.0.1/255.255.255.0
read = system,call,log,verbose,command,agent,user,originate
write = system,call,log,verbose,command,agent,user,originate
code de l'AGI
Code PHP:
#!/usr/bin/php -q
<?php
$sys_ip = "127.0.0.1";
$User_str = "admin";
$Secret_str = "admin";
$wrets = "";
$langue = "English";
if($oSocket = fsockopen($sys_ip, 5038, $errnum, $errdesc) or die("Connection to host failed"))
{
fputs($oSocket, "Action: login\r\n");
fputs($oSocket, "Username: $User_str\r\n");
fputs($oSocket, "Secret: $Secret_str\r\n\r\n");
fputs($oSocket, "Action: Originate\r\n");
fputs($oSocket, "Channel: SIP/999\r\n");
fputs($oSocket, "Context: Test\r\n");
fputs($oSocket, "Exten: 100\r\n");
fputs($oSocket, "Priority: 1\r\n\r\n");
fputs($oSocket, "Variable: LANGUE=$langue\r\n");
fputs($oSocket, "Timeout: 10000\r\n");
fputs($oSocket, "Async: true\r\n\r\n");
fputs($oSocket, "Action: Logoff\r\n\r\n");
while (!feof($oSocket)) {
$wrets .= fread($oSocket, 4096);
}
//fclose($oSocket);
echo "ASTERISK MANAGER OUTPUT:$wrets";
}
else
echo "connexion echoue";
?>
Le context "Test"
Code:
[Test]
exten => 100,1,Background(custom/${LANGUE}/Bienvenu)
Merci de me venir en aide