forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.3 KiB
67 lines
2.3 KiB
2 years ago
|
#!/usr/bin/php5 -q
|
||
|
|
||
|
<?
|
||
|
|
||
|
function connect_db() {
|
||
|
|
||
|
$conexao = pg_connect("dbname=desenvolvimento port=5432 host=192.168.80.95 user=contacte password=ctepgSQL");
|
||
|
|
||
|
if (!$conexao) {
|
||
|
exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
$timeout = 50;
|
||
|
$socket = fsockopen("127.0.0.1","5038", $errno, $errstr, $timeout);
|
||
|
|
||
|
fwrite($socket, "action: login".chr(13).chr(10));
|
||
|
fwrite($socket, "username: manager".chr(13).chr(10));
|
||
|
fwrite($socket, "secret: sugamanager".chr(13).chr(10).chr(13).chr(10));
|
||
|
// $actionid=rand(000000000,9999999999);
|
||
|
// fwrite($socket, "actionid: ".$actionid."\r\n\r\n");
|
||
|
$gr=true;
|
||
|
$x=0;
|
||
|
$evento='';
|
||
|
while (true){
|
||
|
$bufer = fgets($socket);
|
||
|
if (trim($bufer)!=''){
|
||
|
//print_r($bufer."<br>");
|
||
|
$tmp=split(": ",$bufer);
|
||
|
$campo=($tmp[0]);
|
||
|
$valor=trim($tmp[1]);
|
||
|
if (($valor!='Cdr')) {
|
||
|
if ($campo=='Event'){
|
||
|
connect_db();
|
||
|
$evento=trim($valor);
|
||
|
$query = "INSERT INTO pbx_monitor_evento (EVENTO) VALUES ('".strtolower($valor)."')";
|
||
|
pg_query($query);
|
||
|
$query = "SELECT ID FROM pbx_monitor_evento order by id desc limit 1";
|
||
|
$result = pg_query($query);
|
||
|
|
||
|
while($dados = pg_fetch_array($result)){
|
||
|
$id = $dados['id'];
|
||
|
}
|
||
|
pg_close();
|
||
|
} else if ($id>0){
|
||
|
connect_db();
|
||
|
if ((strtolower($campo)!='cause-txt') && (strtolower($campo)!='cid-callingpres') ){
|
||
|
$query = "update pbx_monitor_evento set ".strtolower($campo)."='$valor' where id=$id";
|
||
|
} else if (strtolower($campo)=='cid-callingpres'){
|
||
|
$query = "update pbx_monitor_evento set \"cid-callingpres\"='$valor' where id=$id";
|
||
|
}else {
|
||
|
$query = "update pbx_monitor_evento set \"cause-txt\"='$valor' where id=$id";
|
||
|
}
|
||
|
pg_query($query);
|
||
|
pg_close();
|
||
|
}
|
||
|
if ( ($campo=='Uniqueid') or (($campo=='Cause-txt')&&($evento=='Hangup')) or (($campo=='PeerStatus')&&($evento=='PeerStatus')) or (($campo=='HoldTime')&&($evento=='QueueCallerAbandon')) or (($campo=='DestUniqueID')&&($evento=='Dial')) or (($campo=='Newcallerid')&&($evento=='CID-CallingPres')) or (($campo=='CallerID2')&&($evento=='Link')) or (($campo=='CallerID2')&&($evento=='Unlink'))){
|
||
|
//echo $campo .'->'. $valor."<br>";
|
||
|
}
|
||
|
}}
|
||
|
//print_r($bufer."<br>");
|
||
|
flush();
|
||
|
}
|
||
|
fclose($socket);
|
||
|
?>
|