Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/07/2004, 08:41
Avatar de sism82
sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
proceso ejecutado remotamente

Saludos.

Estoy desarrollando un sistema para editar archivos de configuracion Asterisk (http://www.asterisk.org), es un PBX open source para Voz sobre IP.

Entre otras cosas lo atractivo es poder hacer llamadas de larga distancia a un muy bajo costo. Pero para poder llamar a otra oficina se necesitan registrar las oficinas mutuamente, cada una en su servidor.

Ahora bien, para registrar la oficina GDL con la oficina MX, una de las dos debe iniciar el proceso de registro. Se ha definido que la mas nueva lo inice. Entonces GDL entraria al panel de administracion que estoy haciendo y al registrar la nueva oficina, necesito escribir una linea en un archivo del servidor de MX. Los permisos y la parte de la autentificacion no son problema de momento.

Al momento de registrar tengo esto en el servidor de GDL:

Código PHP:
function register($data) {

    
$editor = new editSipIax();
    
$hosts = array();
    
$hostE = array();
    
$user $data['user'];
    
$keyName $data['keyName'];
    
    
    
$hosts explode("\n",$data['host']);
    foreach(
$hosts as $h) {
    
        
$h trim($h);
        
$hostE explode(" ",$h);
        
        foreach(
$hostE as $hs) {
        
            
$editor->preRegisterIax($user,$keyName,$hs);
            
$editor->save();
        
        }
    
    }
    
    
    

se manda llamra el metodo preRegisterIax(), el cual contiene lo siguiente:

Código PHP:
    function preRegisterIax($userName,$keyName,$host) {
    
        
$this->bufferIn();
        
        
$userName strtolower($userName);
        
$host strtolower($host);
        
$this->setFileName($this->alterFiles['preiax']['fileName']);
        
$this->open();
        
$this->setContext($this->alterFiles['preiax']['registers']);
        
$this->readContext();
        
$regNum count($this->registers);
        
$this->registers[$regNum]['login'] = $userName;
        
$this->registers[$regNum]['torkey'] = $keyName;
        
$this->registers[$regNum]['host'] = $host;
        
$this->saveParameters();
        
        
$locHost $this->getLocalParameter("host");
        
$link "hostremoto.com/archivoremoto.php?host=$locHost&user=$userName&key=$keyName";
        
$link urlencode($link);
        
$dat file($link);        
        
        
$this->bufferOut();
        
        return 
true;
    
    } 
como se puede ver, entre otras cosas trato de enviarle parametros a un script de PHP remoto por medio de FILE. No se si esto sea correcto o no, pero no funciona :P, o por lo menos no se ejecuta el proceso remoto.

El archivo remoto, dejando de lado la autentificacion contiene lo siguiente:

Código PHP:
    include_once('asterisk/editSipIax.conf');
    
$editor = new editSipIax();
    
$fp 0;
    
$data "":
    
$remoteHost "";
    
$remoteUser "";
    
$remoteKey "";
    
$file2W "";
    
$registerTime "":
    
$dir "":
    
    
$file2W $editor->alterFiles['iaxpretends']['fileName'];
    
$dir $editor->workinDir;
    
$remoteHost $_GET['host'];
    
$remoteUser $_GET['user'];
    
$remoteKey $_GET['key'];
    
$registerTime date("Y-m-d-H-i-s");
    
$remoteUser $remoteUser != "" $remoteUser.":" "";
    
$data "register => ".$rempoteUser.$remoteKey."@".$remoteHost.":-)".$registerTime;
    
    
$fp fopen($dir.$file2W,"a");
    
    if(
fwrite($fp,$data)) {
    
        echo 
'true';
        
    }
    
    else {
    
        echo 
'false';
    
    } 
se supone deberia escribir el archivo, pero no hace nada, tampoco manda error.

ideas?

un saludo