Pagina 1 di 1

MessaggioInviato: mer gen 29, 2014 11:01 am
da Israfel
Ciao a tutti,

ho creato un file php che permette di effettuare un callback su un numero occupato.

Mi spiego meglio se chiamo un numero o un interno e lo trovo occupato digitando *32 posso prenotare la richiamata automatica. (il 5 di telecom per capirci)

Questo php è stato testato con elastix e va creato dentro la cartella /var/lib/asterisk/agi-bin e gli vanno dati i privileggi di accesso codice 777


Spero posssa tornare utile a qualcuno

#!/usr/bin/php -q
<?
$from = $argv[1];

$mysql_conn = mysql_connect('localhost', 'root', 'password');
mysql_select_db('asteriskcdrdb', $mysql_conn );
$sql = "SELECT dst,lastdata,lastapp FROM cdr WHERE src = '$from' ORDER BY calldate DESC limit 1";
$result = mysql_query($sql, $mysql_conn);
$to = "";
while($row = mysql_fetch_row($result)) { $to = $row[0]; $fullto = $row[1]; $app = $row[2];}
if (substr($to,0,1) != "*") {
if ($app == "VoiceMail") { $fullto = "SIP/" . $to; }
$fullto = explode(",",$fullto);
$fullto = $fullto[0];
$cf = fopen("/var/spool/asterisk/outgoing/cb" . $from . "-" . $to,"w+");
fputs($cf,"Channel: ".$fullto."\n");
fputs($cf,"Context: from-internal\n");
fputs($cf,"Extension: ".$from."\n");
fputs($cf,"CallerID: CallBack ".$from."->".$to."\n");
fputs($cf,"MaxRetries: 6\n");
fputs($cf,"wAITtIME: 45\n");
fputs($cf,"RetryTime: 30\n");
fclose($cf);
}

?>

MessaggioInviato: mer gen 29, 2014 11:17 am
da surfer
Non mi torna utile; ma mi sento di ringraziarti lo stesso per aver condiviso.

MessaggioInviato: mer nov 04, 2015 4:23 pm
da striker82
Sto provando, a me tornerebbe utile.
Ma non mi funziona.
Nello scripts non vi è traccia di *32, come viene richiamata questa funzione? e come conosce il nome del file visto che potrei dargli un qualsiasi nome?

Grazie.