<font color='black' size='2' face='arial'>
<div><FONT face="Arial, Helvetica, sans-serif">Ok, vou dar uma olhada e logo que resolver posto o código aqui.</FONT></div>
<div> </div>
<div>Att</div>
<div>Bruno<br>
</div>
<div style="FONT-FAMILY: arial; COLOR: black; FONT-SIZE: 10pt">
<BLOCKQUOTE style="BORDER-LEFT: blue 2px solid; PADDING-LEFT: 3px"><FONT size="2" face="Arial"></FONT></BLOCKQUOTE></div>
<br>
<br>
<br>
<div style="FONT-FAMILY: arial; COLOR: black; FONT-SIZE: 10pt">-----Original Message-----<br>
From: Leiber - Gmail <leiber@gmail.com><br>
To: asteriskbrasil@listas.asteriskbrasil.org<br>
Sent: Mon, Dec 7, 2009 4:15 pm<br>
Subject: Re: [AsteriskBrasil] API JAVA - Peer Status<br>
<br>
<div id="AOLMsgPart_3_c7390e58-0940-47b5-8da2-75dcee64a216">
<div><FONT size="2" face="Arial">Vamos lá...</FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial"><STRONG>O que eu passo como argumento para esa.setExten() ?</STRONG></FONT></div>
<div><FONT size="2" face="Arial">Sim conforme eu te mandei inclusive o meus ramais aki são 201, 202.. etc.. e usando o q te mandei funcionou</FONT></div>
<div><FONT size="2" face="Arial"></FONT><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial">"Se ele esta dando isso E sempre me retorna -1."</FONT></div>
<div><FONT size="2" face="Arial">Cara então esse agente ai não encontra-se logado. no meu caso as mensagem com 1 de in use.</FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial">Outra forma tem sim, alias tem várias...</FONT></div>
<div><FONT size="2" face="Arial"><A href="http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/action/CommandAction.html" target=_blank>http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/action/CommandAction.html</A></FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial">Vc pode fazer uma classe que implementa <FONT size="2">ManagerEventListener também todos os eventos que vierem a ocorrer no asterisk vc consegue capturar.</FONT></FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><B><FONT color="#7f0055" size="2"><FONT color="#7f0055" size="2">
<div><FONT face="Arial">public</FONT></B></FONT></FONT><FONT face="Arial"><FONT size="2"> </FONT><B><FONT color="#7f0055" size="2"><FONT color="#7f0055" size="2">class</B></FONT></FONT></FONT><FONT face="Arial"><FONT size="2"> ApplicationStartup </FONT><FONT color="#7f0055" size="2"><FONT color="#7f0055" size="2"><STRONG>implements</STRONG> <FONT color="#000000">ManagerEventListener</FONT> </div>
</FONT></FONT></FONT></div>
<div><FONT size="2"><B><FONT color="#7f0055" size="2"><FONT color="#7f0055" size="2">
<div align=left><FONT face="Arial"> public</FONT></B></FONT></FONT><FONT face="Arial"><FONT size="2"> </FONT><B><FONT color="#7f0055" size="2"><FONT color="#7f0055" size="2">void</B></FONT></FONT></FONT><FONT size="2"><FONT face="Arial"> onManagerEvent(ManagerEvent event) {</FONT></div>
<div align=left><FONT face="Arial"></FONT></div>
<div><FONT face="Arial"> String event_name = event.getClass().getSimpleName();</FONT></div>
<div><FONT face="Arial"> System.out.println("ACONTECEU O EVENTO -->"+ event_name);</FONT></div>
<div><FONT face="Arial"> ai vc da um cast e pega a informacao necessario exemplo:</FONT></div>
<div> //ou event instanceOf NewExtenEvent<br>
<FONT face="Arial"> </FONT><B><FONT color="#7f0055" size="2"><FONT color="#7f0055" size="2"> if</B></FONT></FONT><FONT size="2">(event_name.equals(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"NewExtenEvent"</FONT></FONT><FONT size="2">)) {<br>
</FONT> <FONT face="Arial"><FONT size="2"> NewExtenEvent e = (NewExtenEvent) event;<br>
</FONT></FONT><FONT face="Arial"><FONT size="2"><FONT size="2"> System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"Extension "</FONT></FONT><FONT size="2">+e.getExtension());<br>
System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"Channel "</FONT></FONT><FONT size="2">+e.getChannel());<br>
System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"Context "</FONT></FONT><FONT size="2">+e.getContext());<br>
System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"AppData "</FONT></FONT><FONT size="2">+e.getAppData());<br>
System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"Application "</FONT></FONT><FONT size="2">+e.getApplication());<br>
System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"Privilege "</FONT></FONT><FONT size="2">+e.getPrivilege());<br>
System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"Priority "</FONT></FONT><FONT size="2">+e.getPriority());</FONT></FONT></FONT></div>
<div><FONT face="Arial"> }</FONT></div>
<div><FONT face="Arial"> }</FONT></div>
<div><FONT face="Arial">}</FONT></div>
</FONT></FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial">Ai vc teria q ver de qual instancia o event é e dele utilizar como achar conveniente, para conhecer os eventos existetes vc pode olhar aki.</FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial">1 - ManagerEventListener </FONT></div>
<div><FONT size="2" face="Arial"><A href="http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/ManagerEventListener.html" target=_blank>http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/ManagerEventListener.html</A></FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial">2 - ManagerEvent</FONT></div>
<div><FONT size="2" face="Arial"><A href="http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/event/ManagerEvent.html" target=_blank>http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/event/ManagerEvent.html</A></FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial">Existe varios tipos de listener que vc pode implementar da uma olhada nesse tutorial aqui:</FONT></div>
<div><FONT size="2" face="Arial"><A href="http://asterisk-java.org/development/tutorial.html" target=_blank>http://asterisk-java.org/development/tutorial.html</A></FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<BLOCKQUOTE style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<div style="FONT: 10pt arial">----- Original Message ----- </div>
<div style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> <A title=brunoantognolli@email.com href="mailto:brunoantognolli@email.com">brunoantognolli@email.com</A> </div>
<div style="FONT: 10pt arial"><B>To:</B> <A title=asteriskbrasil@listas.asteriskbrasil.org href="mailto:asteriskbrasil@listas.asteriskbrasil.org">asteriskbrasil@listas.asteriskbrasil.org</A> </div>
<div style="FONT: 10pt arial"><B>Sent:</B> Monday, December 07, 2009 3:25 PM</div>
<div style="FONT: 10pt arial"><B>Subject:</B> Re: [AsteriskBrasil] API JAVA - Peer Status</div>
<div><br>
</div>
<FONT color="black" size="2" face="arial">
<div><FONT face="Arial, Helvetica, sans-serif">O que eu passo como argumento para esa.setExten() ?</FONT></div>
<div> </div>
<div>Passando o ramal não deu certo, tentei passar: "1012"; "SIP/1012". </div>
<div> </div>
<div>E sempre me retorna -1.</div>
<div> </div>
<div>(Outro resultado que daria certo seria algo semelhante ao comando "sip show peers" lá no asterisk, pois com ele eu poderia ver se estão todos offline. Você saberia como recuperar as mesmas informações do comando "sip show peers", mas pelo Asterisk-Java?)</div>
<div> </div>
<div>Att,<br>
</div>
<div style="FONT-FAMILY: arial; COLOR: black; FONT-SIZE: 10pt">
<BLOCKQUOTE style="BORDER-LEFT: blue 2px solid; PADDING-LEFT: 3px"><FONT size="2" face="Arial"></FONT></BLOCKQUOTE></div>
<br>
<br>
<br>
<div style="FONT-FAMILY: arial; COLOR: black; FONT-SIZE: 10pt">-----Original Message-----<br>
From: Leiber - Gmail <<A href="mailto:leiber@gmail.com">leiber@gmail.com</A>><br>
To: <A href="mailto:asteriskbrasil@listas.asteriskbrasil.org">asteriskbrasil@listas.asteriskbrasil.org</A><br>
Sent: Mon, Dec 7, 2009 11:06 am<br>
Subject: Re: [AsteriskBrasil] API JAVA - Peer Status<br>
<br>
<div id="AOLMsgPart_3_deb21f61-92a1-4cc2-870c-36fe6d717080">
<div><FONT size="2" face="Arial">Se eu entendi... tente o codigo abaixo.</FONT></div>
<div><FONT size="2" face="Arial"></FONT> </div>
<div><FONT size="2" face="Arial"><FONT size="2">
<div align="left">ExtensionStateAction esa = </FONT><B><FONT color="#7f0055" size="2"><FONT color="#7f0055" size="2">new</B></FONT></FONT><FONT size="2"> ExtensionStateAction();<br>
esa.setExten(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"<FONT color="#000000">1012'</FONT>"</FONT></FONT><FONT size="2">);<br>
ManagerResponse mr = </FONT><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">managerConnection</FONT></FONT><FONT size="2">.sendAction(esa);<br>
</FONT></div>
<div align="left"><FONT size="2">System.</FONT><I><FONT color="#0000c0" size="2"><FONT color="#0000c0" size="2">out</I></FONT></FONT><FONT size="2">.println(mr.getAttribute(</FONT><FONT color="#2a00ff" size="2"><FONT color="#2a00ff" size="2">"status"</FONT></FONT><FONT size="2">)); </FONT></div>
<div><FONT size="2">O que será impresso em tela deverá ser como o exemplificado abaixo:<br>
</FONT><FONT size="2"><A href="http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+ExtensionState" target=_blank>http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+ExtensionState</A></FONT></div>
<div><FONT size="2">Seria isso ?</div>
</FONT></FONT></div>
<div><FONT size="2" face="Arial">Leiber Wallace<br>
Sistemas para Callcenter<br>
Developer - Mentaframework.org<br>
Developer - WSTframework.org<br>
Contributor - Space4j.org<br>
User - AsteriskBrasil.org<br>
(61) 3035-9058<br>
(61) 9211-1777</FONT></div>
<BLOCKQUOTE style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px">
<div style="FONT: 10pt arial">----- Original Message ----- </div>
<div style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B> <A title=brunoantognolli@email.com href="mailto:brunoantognolli@email.com">brunoantognolli@email.com</A> </div>
<div style="FONT: 10pt arial"><B>To:</B> <A title=asteriskbrasil@listas.asteriskbrasil.org href="mailto:asteriskbrasil@listas.asteriskbrasil.org">asteriskbrasil@listas.asteriskbrasil.org</A> </div>
<div style="FONT: 10pt arial"><B>Sent:</B> Friday, December 04, 2009 4:22 PM</div>
<div style="FONT: 10pt arial"><B>Subject:</B> [AsteriskBrasil] API JAVA - Peer Status</div>
<div><br>
</div>
<FONT color="black" size="2" face="arial">
<div><FONT face="Arial, Helvetica, sans-serif">Boa tarde a todos.</FONT></div>
<div> </div>
<div>Estou com uma dúvida, alguém poderia ajudar?</div>
<div> </div>
<div>Estou tentando pegar o status de um ramal pelo Java, ao efetuar alguns testes percebi que vou utilizar o pacote:</div>
<div>org.asteriskjava.manager.event.PeerStatusEvent</div>
<div> </div>
<div><STRONG>Segue abaixo o Log de quando o ramal é desligado</STRONG></div>
<div>org.asteriskjava.manager.event.PeerStatusEvent[dateReceived=Fri Dec 04 16:17:32 BRST 2009,privilege='system,all',peer='SIP/1012',peerstatus='Unregistered',time='null',cause='null',timestamp='null',systemHashcode=3808966]<br>
</div>
<div><STRONG>Contexto:</STRONG></div>
<div>Preciso desenvolver uma classe que recebe o número do ramal e me retorna o Status do mesmo.</div>
<div> </div>
<div>Estou utilizando um link de referencia, no exemplo é utilizado Swing, no meu caso nao precisa.</div>
<div><A href="http://readlist.com/lists/lists.digium.com/asterisk-users/6/34751.html" target=_blank>http://readlist.com/lists/lists.digium.com/asterisk-users/6/34751.html</A></div>
<div> </div>
<div><STRONG>Segue como está meu código:</STRONG></div>
<div>public class ExecutarComandosRasterisk {</div>
<div> //Log<br>
private Logger log = Logger.getLogger(ExecutarComandosRasterisk.class);</div>
<div> // Objeto de conexão com o Asterisk<br>
private ManagerConnection managerConnection;<br>
// Obtem resposta Asterisk<br>
ManagerResponse originateResponse;<br>
PeerStatusEvent peerStatus;<br>
PeerEntryEvent peerEntry;</div>
<div> public String enviarComando() throws IOException, AuthenticationFailedException, TimeoutException<br>
{<br>
String retorno = "Teste realizado com sucesso";</div>
<div> try{<br>
try<br>
{<br>
// Objeto que mapeia o servidor<br>
ManagerConnectionFactory factory = new ManagerConnectionFactory("192.168.16.14", "manager", "pa55w0rd");</div>
<div> // Obtem uma conexao com o Asterisk<br>
this.managerConnection = factory.createManagerConnection();</div>
<div> // Efetua o Login<br>
managerConnection.login();</div>
<div><br>
SipShowPeerAction sipShowPeerAction = new SipShowPeerAction("1012");<br>
sipShowPeerAction.setPeer("1012");</div>
<div> managerConnection.sendAction(sipShowPeerAction); </div>
<div> peerEntry.getStatus();<br>
<br>
// print out whether the originate succeeded or not<br>
System.out.println();<br>
}<br>
catch(Exception exp)<br>
{<br>
retorno = exp.toString();<br>
System.out.print(exp);<br>
}<br>
}<br>
finally<br>
{</div>
<div> managerConnection.logoff();<br>
managerConnection.getState();<br>
}</div>
<div> return retorno;<br>
}</div>
<div> </div>
<div><br>
Att,</div>
<div>Bruno</div>
</FONT>
<div>
<HR>
<div></div>
_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois <br>
servidores compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <A href="http://www.red-fone.com/" target=_blank>www.red-fone.com</A><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<A href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</A><br>
<A href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target=_blank>http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</A></div>
</BLOCKQUOTE></div>
<div style="BACKGROUND-COLOR: #fff; MARGIN: 0px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: #000; FONT-SIZE: 12px" id="AOLMsgPart_4_deb21f61-92a1-4cc2-870c-36fe6d717080"><PRE style="FONT-SIZE: 9pt"><TT>_______________________________________________
A Redfone é líder no fornecimento de bridges TDMoE <-> E1
- Valor similar ao de placas E1 PCI;
- Não há problemas de compatibilidade com barramento PCI;
- Possibilitam a construção de soluções de alta disponibilidade(dois
servidores compartilham o mesmo E1)
Conheça mais sobre este produto em <A href="http://www.red-fone.com/" target=_blank>www.red-fone.com</A>
_______________________________________________
Lista de discussões AsteriskBrasil.org
<A href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</A>
<A href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target=_blank>http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</A>
</TT></PRE></div>
</div>
</FONT>
<div>
<HR>
<div></div>
_______________________________________________<br>
A Redfone é líder no fornecimento de bridges TDMoE &lt;-> E1<br>
- Valor similar ao de placas E1 PCI;<br>
- Não há problemas de compatibilidade com barramento PCI;<br>
- Possibilitam a construção de soluções de alta disponibilidade(dois <br>
servidores compartilham o mesmo E1)<br>
Conheça mais sobre este produto em <A href="http://www.red-fone.com/" target=_blank>www.red-fone.com</A><br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<A href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</A><br>
<A href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target=_blank>http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</A></BLOCKQUOTE></div>
<!-- end of AOLMsgPart_3_c7390e58-0940-47b5-8da2-75dcee64a216 -->
<div style="BACKGROUND-COLOR: #fff; MARGIN: 0px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: #000; FONT-SIZE: 12px" id="AOLMsgPart_4_c7390e58-0940-47b5-8da2-75dcee64a216"><PRE style="FONT-SIZE: 9pt"><TT>_______________________________________________
A Redfone é líder no fornecimento de bridges TDMoE <-> E1
- Valor similar ao de placas E1 PCI;
- Não há problemas de compatibilidade com barramento PCI;
- Possibilitam a construção de soluções de alta disponibilidade(dois
servidores compartilham o mesmo E1)
Conheça mais sobre este produto em <A href="http://www.red-fone.com/" target=_blank>www.red-fone.com</A>
_______________________________________________
Lista de discussões AsteriskBrasil.org
<A href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</A>
<A href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target=_blank>http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</A>
</TT></PRE></div>
<!-- end of AOLMsgPart_4_c7390e58-0940-47b5-8da2-75dcee64a216 --></div>
</font>