Beispiel #1
0
 public function executeAction($params)
 {
     $eslCon = freeswitch_callmanager_Driver::getESL();
     try {
         $responsestr = $eslCon->sendRecv('api show channels as xml')->getBody();
     } catch (ESLException $e) {
         if (strpos($e->getMessage(), 'Not connected')) {
             echo '<div class="error">Unable to connect to the switch console.  This usually means that mod_event_socket is not running, or that the password that you entered during the setup process has changed. The error message was:<br>' . $e->getMessage() . '</span>';
             exit;
         } else {
             throw $e;
         }
     }
     if (trim($responsestr) == '0 total.' || trim($responsestr) == '+OK' || trim($responsestr) == '<result row_count="0"/>') {
         return array();
     }
     if (substr(trim($responsestr), 0, 4) == '-ERR') {
         $this->_throwError($responsestr);
     }
     $channelStatus = xml::xmlstrtoarr($responsestr);
     if (count($channelStatus) == 0) {
         return $channelStatus;
     } else {
         if (isset($channelStatus['row']['uuid'])) {
             return array($channelStatus['row']);
         } else {
             return $channelStatus['row'];
         }
     }
 }
Beispiel #2
0
 public static function buildcdrarray($cdrxml)
 {
     try {
         $xmlarr = xml::xmlstrtoarr($cdrxml);
     } catch (Exception $e) {
         Kohana::log('error', $e->getMessage());
         return;
     }
     return arr::flatten($xmlarr);
 }
Beispiel #3
0
 public function executeAction($params)
 {
     $this->checkRequiredParams('executeAction', $params);
     $this->assignEmptyParams($params, 2, array(null, false));
     list($uuid, $details) = $params;
     $eslCon = freeswitch_callmanager_Driver::getESL();
     try {
         if (!$details) {
             $responsestr = $eslCon->sendRecv('api show channels like ' . $uuid . ' as xml')->getBody();
         } else {
             $responsestr = $eslCon->sendRecv('api uuid_dump ' . $uuid . ' xml')->getBody();
         }
     } catch (ESLException $e) {
         if (strpos($e->getMessage(), 'Not connected')) {
             echo '<div class="error">Unable to connect to the switch console.  This usually means that mod_event_socket is not running, or that the password that you entered during the setup process has changed. The error message was:<br>' . $e->getMessage() . '</div>';
             exit;
         } else {
             throw $e;
         }
     }
     if (trim($responsestr) == '0 total.' || trim($responsestr) == '+OK' || trim($responsestr) == '<result row_count="0"/>') {
         return array();
     }
     if (substr(trim($responsestr), 0, 4) == '-ERR') {
         $this->_throwError($responsestr);
     }
     $xmlarr = xml::xmlstrtoarr($responsestr);
     if (!$xmlarr || count($xmlarr) == 0) {
         return array();
     } else {
         if (!$details) {
             if (isset($xmlarr['row']['uuid'])) {
                 return array($xmlarr['row']);
             } else {
                 return $xmlarr['row'];
             }
         } else {
             return $xmlarr['headers'];
         }
     }
 }