Foros del Web » Programando para Internet » ASPX (.net) »

Asterisk PBX y asp.NET

Estas en el tema de Asterisk PBX y asp.NET en el foro de ASPX (.net) en Foros del Web. Señores! buen día, tengo una pregunta para ustedes, y es que estoy en la fase de implementación de un sistema de control de llamadas salientes ...
  #1 (permalink)  
Antiguo 08/02/2007, 15:27
 
Fecha de Ingreso: septiembre-2002
Mensajes: 23
Antigüedad: 21 años, 8 meses
Puntos: 0
Exclamación Asterisk PBX y asp.NET

Señores! buen día, tengo una pregunta para ustedes, y es que estoy en la fase de implementación de un sistema de control de llamadas salientes hecho en C# y generando páginas aspx, el sistema está terminado, ahora la siguiente fase es poder enlazar mi aplicación con la planta Asterisk, el sistema deberá tener la capacidad de poder sacar la llamada haciendo solamente click en el número ( o números) de teléfono que aparezca en la página, he buscado por varios días y la única solución viable de hacerlo es por medio de un ActiveX desarrollado por Vax VoIP (no pude poner el enlace por políticas del foro que no he posteado mas de 30 mensajes pero la búsqueda en google lo tira como primer resultado)

pero el software cuesta US$ 12,000 situación que lo hace inviable ( y la prueba de 30 días ya venció :( por lo cual no pude seguir haciendo pruebas) , alguno de ustedes sabe si exista algun DLL o algo que pueda hacer más facil la implementación de este caso? espero haberme dado a explicar con el caso que estoy haciendo y me puedan ayudar.

saludos!
  #2 (permalink)  
Antiguo 13/02/2007, 19:18
 
Fecha de Ingreso: octubre-2003
Ubicación: Buenos Aires, Capital Federal
Mensajes: 43
Antigüedad: 20 años, 6 meses
Puntos: 0
Re: Asterisk PBX y asp.NET

podes conectarte al socket del manager del asterisk y hacer un ORIGINATE

el codigo lo tengo en php pero por la similitud no te costara traducirlo, si es que algo difiere:


abrir el socket
-------------
$errno=0 ;
$errstr=0 ;
if(!($fp = @fsockopen ("localhost", 5038, &$errno, &$errstr, 20))){
print('Error al abrir el socket<br>'.$errstr.' ('.$errno.')<br>');
exit();
}else{
print('El socket esta abierto<br>');
}



loguearte
---------
$comando = "";
$comando .= "Action: login\r\n";
$comando .= "Username: phpagi\r\n";
$comando .= "Secret: phpagi\r\n";
$comando .= "Events: off\r\n\r\n";
// el user phpagi viene por default en el trixbox y esta definido para conecciones locales, sino podes definirte un user en MANAGER.CONF, en la carpeta etc/asterisk

fputs($fp,$comando);






busco el estado de la extension donde quiero meter mi llamada
-----------------------------------------------------------

$comando = "";
$comando .= "Action: ExtensionState\r\n";
$comando .= "Context: default\r\n";
$comando .= "Exten: ".$extension."\r\n";
$comando .= "ActionID: 1\r\n";
$comando .= "Events: off\r\n\r\n";
//$comando .= "";
fputs($fp,$comando);

for($i=0;$i<7;$i++){
$res = fgets($fp);
//print($res.'<br>');
if($i==6){
$status_canal = $res;
}
}// esta ultima parte esta medio rudimentaria porque el php me tira unos errores usando feof


y finalmente si el canal esta libre
-------------------------------

if(strpos($status_canal,'0')){
fputs ($fp, "Action: Originate\r\n");
fputs ($fp, "Channel: SIP/".$extension."\r\n"); //primero que llamo
fputs ($fp, "Context: from-internal\r\n");
fputs ($fp, "Exten: ".$destino."\r\n");
fputs ($fp, "Priority: 1\r\n");
fputs ($fp, "CallerID: ".$destino."\r\n\r\n");
//fputs ($fp, "Timeout: 5000\r\n\r\n");
}

// donde $extension es la cuenta SIP que tendrias al lado del ordenador, y destino es el numero donde te queres contactar




espero que te sirva!!

PD: todo esto lo saque ya hace un tiempo de www.voip-info.org
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:50.