Pas de réponse ???
Pas de réponse ???
Bonjour, dans ce cas il faut passer par AMI et commande Originate.
AMI est une interface socket asterisk, Originate est une commande pour initier un appel.
Bonjour,
Merci pour vos réponses,
j'ai une petite question: pour utiliser les scripts AGI est-ce qu'on est obliger d'installer les fichiers phpagi.php ??
cdlt
Bonjour, pas obligatoire, il y a quelques exemples de script php sur le wiki voip-info.org
Bonjour,
J'ai le script AGI mais je n'arrive pas à récupérer les variables de puis la base de donnée:
voici mon script:
function connect_db() {
$db_connection = mysql_connect ('localhost', 'root', 'pwd') or die (mysql_error());
$db_select = mysql_select_db('renvoiPlus') or die (mysql_error());
}
connect_db();
$query1 = "SELECT * FROM `renvoiPlus` WHERE `extension` ='".substr($agi[extension],1)."' ORDER BY RAND()";
$query_result1 = mysql_query($query1) or die("Erreur lors de l'exécution de la requête.\nMySQL a retourné :\n". mysql_error());
$row_count = mysql_num_rows($query_result1);
$row1 = @mysql_fetch_array ($query_result1);
If ($row_count !=0 ) {
$pin1 = $row1[extfinal1];
fwrite(STDOUT,"SET CALLERID <0".$row1[extfacturable].">\n");
fwrite(STDOUT,"SET VARIABLE NEWEXT". $pin1." \n");
}
dans le fichier extension.conf, j'ai la ligne suivante:
exten=> 01xxxxxxxx,n,DIAL(SIP/0${NEWEXT}@out)
la variable NEWEXT est Null ??
Quelqu'un peut m'aider svp?
pas de réponse ???
Bonjour, si dans le fichier php tu le log dans le fichier texte, est ce que tu le retrouves ?
Est ce que tu peux au lieu de passer la variable construire votre scipt avec un appel direct depuis le script php ?
Un vieux exemple:
La page à regarder pour les exemples : http://www.voip-info.org/wiki/view/Asterisk+AGI+php#!/usr/bin/php4 -q
<?php
ob_implicit_flush(true);
set_time_limit(6);
$in = fopen("php://stdin","r");
$stdlog = fopen("/var/log/asterisk/my_agi.log", "w");
// toggle debugging output (more verbose)
$debug = false;
// Do function definitions before we start the main loop
function read() {
global $in, $debug, $stdlog;
$input = str_replace("\n", "", fgets($in, 4096));
if ($debug) fputs($stdlog, "read: $input\n");
return $input;
}
function errlog($line) {
global $err;
echo "VERBOSE \"$line\"\n";
}
function write($line) {
global $debug, $stdlog;
if ($debug) fputs($stdlog, "write: $line\n");
echo $line."\n";
}
// parse agi headers into array
while ($env=read()) {
$s = split(": ",$env);
$agi[str_replace("agi_","",$s[0])] = trim($s[1]);
if (($env == "") || ($env == "\n")) {
break;
}
}
// main program
echo "VERBOSE \"Here we go!\" 2\n";
read();
errlog("Call from ".$agi['channel']." - Calling phone");
read();
write("SAY DIGITS 22 X"); // X is the escape digit. since X is not DTMF, no exit is possible
read();
write("SAY NUMBER 2233 X"); // X is the escape digit. since X is not DTMF, no exit is possible
read();
// clean up file handlers etc.
fclose($in);
fclose($stdlog);
exit;
?>