Hola chicos!!
Me acabo de introducir en esto de los AGIs y me gustaría realizar una prueba sencilla con uno dado y ya después meterme a programar el mio propio. El caso es que no entiendo muy bien el funcionamiento. Otra cosa, me gustaría que fuera en JAVA.
Os cuento, he encontrado un agi en java, es el siguiente:
Contenido del archivo: prueba-java.agi
#!/bin/bash
AGI_DIR=/var/lib/asterisk/agi-bin
#ejecutar la clase java
$JAVA_HOME/bin/java -cp $AGI_DIR PruebaAGI
Contenido del archivo: PruebaAGI.java
import java.io.*;
public class PruebaAGI {
public static void main( String[] args ) {
try {
String linea;
LineNumberReader in = new LineNumberReader( new InputStreamReader( System.in ) );
do { //leer el ambiente AGI
linea = in.readLine();
} while ( linea.length() > 0 );
System.out.println( "SAY NUMBER 123 \"*#\"" );
linea = in.readLine();
System.err.println("Recibido "+linea);
System.exit( 0 );
} catch( Exception ex ) {
System.err.println("Error: "+ex.getMessage());
}
}
}
Pues bien, mi problema ahora es que no se dónde debo colocar el archivo prueba-java.agi. El archivo PruebaAGI lo he compilado y puesto en var/lib/asterisk/agi-bin. ¿Eso lo estoy haciendo bien?
Mi otra pregunta es para saber cómo paso el agi al DialPlan. Supongo que es de la siguiente forma: exten => 1,2,AGI(Prueba-java.agi). ¿Es correcto?
Agradezco vuestra atención y ayuda!!!
Me acabo de introducir en esto de los AGIs y me gustaría realizar una prueba sencilla con uno dado y ya después meterme a programar el mio propio. El caso es que no entiendo muy bien el funcionamiento. Otra cosa, me gustaría que fuera en JAVA.
Os cuento, he encontrado un agi en java, es el siguiente:
Contenido del archivo: prueba-java.agi
#!/bin/bash
AGI_DIR=/var/lib/asterisk/agi-bin
#ejecutar la clase java
$JAVA_HOME/bin/java -cp $AGI_DIR PruebaAGI
Contenido del archivo: PruebaAGI.java
import java.io.*;
public class PruebaAGI {
public static void main( String[] args ) {
try {
String linea;
LineNumberReader in = new LineNumberReader( new InputStreamReader( System.in ) );
do { //leer el ambiente AGI
linea = in.readLine();
} while ( linea.length() > 0 );
System.out.println( "SAY NUMBER 123 \"*#\"" );
linea = in.readLine();
System.err.println("Recibido "+linea);
System.exit( 0 );
} catch( Exception ex ) {
System.err.println("Error: "+ex.getMessage());
}
}
}
Pues bien, mi problema ahora es que no se dónde debo colocar el archivo prueba-java.agi. El archivo PruebaAGI lo he compilado y puesto en var/lib/asterisk/agi-bin. ¿Eso lo estoy haciendo bien?
Mi otra pregunta es para saber cómo paso el agi al DialPlan. Supongo que es de la siguiente forma: exten => 1,2,AGI(Prueba-java.agi). ¿Es correcto?
Agradezco vuestra atención y ayuda!!!
Comentario