Soporte & Consultoria

Soporte Remoto y Consultoria skype : ambiorixg12.
Nota no se brinda ningun tipo de consulta o soporte fuera del blog de forma gratuita

jueves, 12 de diciembre de 2024

confbridge

cmd.php?coference=989898000036&action=resume



<?php
require_once("./confbridgeinfo.php");  // get conf channel info

//Function to run the  commands
function runcmd($command){

$socket = fsockopen("127.0.0.1","7831", $errno, $errstr,60);
      if (!$socket){
        echo "$errstr ($errno)\n";
        }else{
            fputs($socket, "Action: Login\r\n");
            fputs($socket, "UserName: admin\r\n");
            fputs($socket, "Secret: 193\r\n\r\n");

            fputs($socket, "Action: Command\r\n");
            fputs($socket, "Command: $command\r\n\r\n");

            fputs($socket, "Action: Logoff\r\n\r\n");
           while (!feof($socket)){
          echo fgets($socket).'<br>';

 
           }
            fclose($socket);
            }


}       


// end  of the function section //

$coference=$_GET['coference'];

$action=$_GET['action'];

if($action=="hold"){
 $hold="channel originate Local/600@hold-context extension $coference@sidialConfBridges";


$agent_chan=get_conf_info($coference)[1];
 
$mute="confbridge mute $coference $agent_chan";
runcmd($hold);
runcmd($mute);

}

elseif($action=="resume"){

echo $hold_channel=get_conf_info($coference)[0];

 $unhold="channel request hangup $hold_channel";
 $unmute="confbridge unmute $coference all";

runcmd($unhold);
runcmd($unmute);
}
else {

///Nothing for now
}


?>

----------------------------


confbridgeinfo.php

<?php

$arr=array();


function  get_conf_info($agent){
$socket = fsockopen("127.0.0.1","7831", $errno, $errstr,60);
      if (!$socket){
        echo "$errstr ($errno)\n";
        }else{
            fputs($socket, "Action: Login\r\n");
            fputs($socket, "UserName: admin\r\n");
            fputs($socket, "Secret: 1333\r\n\r\n");

            fputs($socket, "Action: ConfbridgeList\r\n");
            fputs($socket, "Conference: $agent\r\n\r\n");

            fputs($socket, "Action: Logoff\r\n\r\n");
           while (!feof($socket)){
         // echo fgets($socket).'<br>';
          $arr[]=fgets($socket);
 
           }
            fclose($socket);
            }


foreach($arr as $key=>$value){
//echo "$key - $value<br>";


if(substr_count($value,"hold")){
  
 
 $arr['channel']=  explode(" ",$value)[1];
  
}



elseif(substr_count($value,"SIP")){
  
 
 $arr['agent']=  explode(" ",$value)[1];
  
}


} 

if (isset($arr['agent'])) {
      
return   $channels=explode(" ","$arr[channel] $arr[agent]");



} else {
    // If the channel does not exist, create an error message and encode $arr
    $arr['e'] = "No conference channel found";

}

}


//print_r(get_conf_info($argv[1]));
?>

No hay comentarios:

Publicar un comentario