Olá pessoal, boa tarde.
Nesse post, gostaria de falar um pouco sobre Asterisk-Java, um assunto muito interessante. Hoje de maneira bem prática vou demonstrar como realizar a integração entre Asterisk e Java, essa integração pode trazer inúmeros benefícios ao seu servidor de telefonia.
Primeiramente, vamos criar a classe Java, eu utilizei o Netbeans, mas pode ser realizado com Eclipse sem problemas. Minha classe é simples, ela cria uma varíavel no contexto da ligação chamada “resultado” e atribui o valor “ok” para ela. Em seguida vou “printar” esse valor no console do meu Asterisk.
Vamos lá?
Classe Java “AgiJava”:
import org.asteriskjava.fastagi.AgiChannel; import org.asteriskjava.fastagi.AgiException; import org.asteriskjava.fastagi.AgiRequest; import org.asteriskjava.fastagi.BaseAgiScript; public class AgiJava extends BaseAgiScript{ public void service(AgiRequest request, AgiChannel channel) throws AgiException { // Atende o canal... answer(); setVariable("resultado", "ok"); } }
Após compilar copie o jar gerado para o Asterisk e mapeie a classe no arquivo de propriedades do FastAgi. O nome do meu AGI faz referência ao nome da minha classe Java, vejam:
--fastagi-mapping.properties hello.agi = AgiJava
Feito isso inicie o servidor padrão do AGI com o seguinte comando:
--Iniciando o serviço Java java -classpath /usr/local/asterisk-java/target/asterisk-java.jar:/usr/local/asterisk-java/target/TesteAsterisk.jar:. org.asteriskjava.fastagi.DefaultAgiServer
Para finalizar configure o seu contexto de ligação, no meu exemplo eu simplesmente
inicio o AGI e exibo o valor da variavel “resultado” que foi criada pelo Java.
--extensions.conf [testeAgi] exten => 001,1,Agi(agi://localhost/bruno/hello.agi) exten => 001,n,NoOp( resultado: ${resultado}) exten => 001,n,Hangup
O resultado disso pode ser visto no console:
Resultado da execução do servidor AGI:
Mais links?
http://www.asterisklibre.org/arquivos/category/agi-java
http://www.asterisk-java.org/development/tutorial.html
http://www.beanizer.org/site/index.php/en/Articles/A-simple-AGI-scripting-engine-with-Asterisk-Java.html
É isso pessoal.
Confira meu perfil profissional no LinkedIn e faça parte da minha rede. https://lnkd.in/w9kyFR
Abraços,
Bruno Fernando Antognolli.