<?php
//Start of variables section.
//Edit to fit your server variables.
 
$xmltitle "Asterisk XML Stats Script v0.1";
 function 
astconnect($command){
  
$host="localhost";
  
$port=5038;
  
$user="";
  
$pass="";
//End of variables section.
  
$socket fsockopen("$host","$port");
  
fputs($socket"Action: Login\r\n");
  
fputs($socket"UserName: $user\r\n");
  
fputs($socket"Secret: $pass\r\n\r\n");
  
fputs($socket"Action: $command\r\n\r\n");
  
fputs($socket"Action: Logoff\r\n\r\n");
    while (!
feof($socket)) {
     
$wrets .= fread($socket8192);
    }
     
fclose($socket);
     return 
$wrets
 }
 function 
sec2hms ($sec$padHours false) {
   
$hms "";
   
$hours intval(intval($sec) / 3600); 
   
$hms .= ($padHours
         ? 
str_pad($hours2"0"STR_PAD_LEFT). ':'
         
$hours':';
   
$minutes intval(($sec 60) % 60); 
   
$hms .= str_pad($minutes2"0"STR_PAD_LEFT). ':';
   
$seconds intval($sec 60); 
   
$hms .= str_pad($seconds2"0"STR_PAD_LEFT);
   return 
$hms;
 }
  
$wrets astconnect("Status");

  
$exp explode("\n"$wrets);
   foreach (
preg_grep('/CallerIDName:/'$exp) as $manifest){
    
$explode ereg_replace("\r"""str_replace("CallerIDName: """$manifest));
    
$cidname_array[]=$explode;
  }
  
$exp2 explode("\n"$wrets);
   foreach (
preg_grep('/CallerID:/'$exp2) as $manifest){
    
$explode ereg_replace("\r"""str_replace("CallerID: """$manifest));
    
$cidnum_array[]=$explode;
  }
  
$exp3 explode("\n"$wrets);
   foreach (
preg_grep('/Channel:/'$exp3) as $manifest){
    
$explode ereg_replace("\r"""str_replace("Channel: """$manifest));
    
$channel_array[]=$explode;
  }
  
$exp4 explode("\n"$wrets);
   foreach (
preg_grep('/State: Up/'$exp4) as $manifest){
    
$explode ereg_replace("\r"""str_replace("State: """$manifest));
    
$state_array[]=$explode;
  }
  
$exp5 explode("\n"$wrets);
   foreach (
preg_grep('/Seconds: /'$exp5) as $manifest){
    
$explode ereg_replace("\r"""str_replace("Seconds: """$manifest));
    
$seconds_array[]=$explode;
  }

header('Content-Type: text/xml');
 echo(
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n");
 echo(
"<!DOCTYPE note SYSTEM \"InternalNote.dtd\">\n");
 echo(
"<calls>");
 echo(
"<count>".count($state_array)."</count>\n");
$i 0;
while(
$i count($state_array)) {
 echo(
"<channel>\n");
 echo(
"    <url>".htmlspecialchars($channel_array[$i])."</url>\n");
 echo(
"    <cidname>".htmlspecialchars($cidname_array[$i])."</cidname>\n");
 echo(
"    <cidnum>".htmlspecialchars($cidnum_array[$i])."</cidnum>\n");
 echo(
"    <time>".sec2hms($seconds_array[$i])."</time>\n");
 echo(
"</channel>\n");
 
$i++;
}
 echo(
"</calls>");
?>