예제 #1
0
function createAudioFiles($asterisk_call, $ext, $call_to, $pDB, $id_event, $arrLang, $dir_outgoing, $sDirectorioBase, $i, $FechaInicio, $recording, $remainerTime)
{
    $pCalendar = new paloSantoCalendar($pDB);
    $result = "";
    $iRetries = 2;
    if ($remainerTime == "10") {
        $FechaInicio = date("Y-m-d H:i", strtotime("{$FechaInicio} - 600 second"));
    } elseif ($remainerTime == "30") {
        $FechaInicio = date("Y-m-d H:i", strtotime("{$FechaInicio} - 1800 second"));
    } else {
        $FechaInicio = date("Y-m-d H:i", strtotime("{$FechaInicio} - 3600 second"));
    }
    if ($asterisk_call == "on") {
        //Obtener datos sobre quien esta usando el sistema
        //Channel, description, extension
        $result = $pCalendar->Obtain_Protocol($ext);
        if ($call_to != "") {
            $result['number'] = $call_to;
        } else {
            $result['number'] = $result['id'];
        }
    }
    /*if($asterisk_call=="on"){
          //Obtener datos sobre quien esta usando el sistema
          //Channel, description, extension
          $result = $pCalendar->Obtain_Protocol($ext);
          $result['number'] = $result['id'];
      }
      else{
          if($call_to!=""){
              $result = $pCalendar->Obtain_Protocol($ext);
              $result['number'] = $call_to;
          }else
              return;
      }*/
    if ($result != FALSE) {
        /*$sContenido =   //"Channel: $sTrunk/$tuplaTelf[phone]\n".
                               //"Channel: {$result['dial']}\n".
                               "Channel: Local/{$result['number']}@from-internal\n".
                               "CallerID: Calendar Event <{$result['number']}>\n".
                               "MaxRetries: $iRetries\n".
                               "RetryTime: 60\n".
                               "WaitTime: 30\n".
        		//"Application: Festival\n".
                               "Context: calendar-event\n".
                               "Extension: {$result['number']}\n\n".
                               "Priority: 1\n".
                               "Set: FILE_CALL=$sDirectorioBase/test\n".
                               "Set: ID_EVENT_CALL=$id_event\n";*/
        $sContenido = "Channel: Local/{$result['number']}@from-internal\n" . "CallerID: Calendar Event <{$result['number']}>\n" . "MaxRetries: {$iRetries}\n" . "RetryTime: 60\n" . "WaitTime: 30\n" . "Application: Festival\n" . "Extension: {$result['number']}\n" . "Priority: 1\n" . "Data: {$recording}\n" . "Set: TTS={$recording}\n";
    }
    if ($sContenido != "") {
        $filename = "event_{$id_event}_{$i}.call";
        $filename_create = $dir_outgoing . "/event_{$id_event}_{$i}.call";
        if (file_exists($filename_create)) {
            //si existe se elimina el archivo
            unlink($filename_create);
        }
        $hArchivo = fopen("{$sDirectorioBase}/{$filename}", 'w');
        if (!$hArchivo) {
            $bExito = FALSE;
            //$pDB->errMsg = $arrLang["Can not create called file"]." $filename";
            break;
        } else {
            fwrite($hArchivo, $sContenido);
            fclose($hArchivo);
            system("touch -d '{$FechaInicio}' {$sDirectorioBase}/{$filename}");
            system("mv {$sDirectorioBase}/{$filename} {$dir_outgoing}/");
        }
    }
}