[AsteriskBrasil] API JAVA - Peer Status

Leiber - Gmail leiber em gmail.com
Segunda Dezembro 7 16:15:50 BRST 2009


Vamos lá...

O que eu passo como argumento para esa.setExten() ?
Sim conforme eu te mandei inclusive o meus ramais aki sĂŁo 201, 202.. etc.. e usando o q te mandei funcionou

"Se ele esta dando isso E sempre me retorna -1."
Cara entĂŁo esse agente ai nĂŁo encontra-se logado. no meu caso as mensagem com 1 de in use.

Outra forma tem sim, alias tem várias...
http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/action/CommandAction.html


Vc pode fazer uma classe que implementa ManagerEventListener também todos os eventos que vierem a ocorrer no asterisk vc consegue capturar.

public class ApplicationStartup implements ManagerEventListener 

                public void onManagerEvent(ManagerEvent event) {


                           String event_name = event.getClass().getSimpleName();

                            System.out.println("ACONTECEU O EVENTO  -->"+ event_name);

                            ai vc da um cast e pega a informacao necessario exemplo:

                                        //ou event instanceOf  NewExtenEvent
                            if(event_name.equals("NewExtenEvent")) {
                                 NewExtenEvent e = (NewExtenEvent) event;
                                System.out.println("Extension "+e.getExtension());
                                System.out.println("Channel "+e.getChannel());
                                System.out.println("Context "+e.getContext());
                                System.out.println("AppData "+e.getAppData());
                                System.out.println("Application "+e.getApplication());
                                System.out.println("Privilege "+e.getPrivilege());
                                System.out.println("Priority "+e.getPriority());

                             }

                }

}


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.

1 - ManagerEventListener 
http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/ManagerEventListener.html

2 - ManagerEvent
http://asterisk-java.org/development/apidocs/org/asteriskjava/manager/event/ManagerEvent.html


Existe varios tipos de listener que vc pode implementar da uma olhada nesse tutorial aqui:
http://asterisk-java.org/development/tutorial.html

  ----- Original Message ----- 
  From: brunoantognolli em email.com 
  To: asteriskbrasil em listas.asteriskbrasil.org 
  Sent: Monday, December 07, 2009 3:25 PM
  Subject: Re: [AsteriskBrasil] API JAVA - Peer Status


  O que eu passo como argumento para esa.setExten() ?

  Passando o ramal nĂŁo deu certo, tentei passar: "1012"; "SIP/1012". 

  E sempre me retorna -1.

  (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?)

  Att,





  -----Original Message-----
  From: Leiber - Gmail <leiber em gmail.com>
  To: asteriskbrasil em listas.asteriskbrasil.org
  Sent: Mon, Dec 7, 2009 11:06 am
  Subject: Re: [AsteriskBrasil] API JAVA - Peer Status


  Se eu entendi... tente o codigo abaixo.

  ExtensionStateAction esa = new ExtensionStateAction();
  esa.setExten("1012'");
  ManagerResponse mr = managerConnection.sendAction(esa);

  System.out.println(mr.getAttribute("status")); 
  O que será impresso em tela deverá ser como o exemplificado abaixo:
  http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+ExtensionState
  Seria isso ?
  Leiber Wallace
  Sistemas para Callcenter
  Developer - Mentaframework.org
  Developer - WSTframework.org
  Contributor - Space4j.org
  User - AsteriskBrasil.org
  (61) 3035-9058
  (61) 9211-1777
    ----- Original Message ----- 
    From: brunoantognolli em email.com 
    To: asteriskbrasil em listas.asteriskbrasil.org 
    Sent: Friday, December 04, 2009 4:22 PM
    Subject: [AsteriskBrasil] API JAVA - Peer Status


    Boa tarde a todos.

    Estou com uma dúvida, alguém poderia ajudar?

    Estou tentando pegar o status de um ramal pelo Java, ao efetuar alguns testes percebi que vou utilizar o pacote:
    org.asteriskjava.manager.event.PeerStatusEvent

    Segue abaixo o Log de quando o ramal Ă© desligado
    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]

    Contexto:
    Preciso desenvolver uma classe que recebe o nĂşmero do ramal e me retorna o Status do mesmo.

    Estou utilizando um link de referencia, no exemplo Ă© utilizado Swing, no meu caso nao precisa.
    http://readlist.com/lists/lists.digium.com/asterisk-users/6/34751.html

    Segue como está meu código:
    public class ExecutarComandosRasterisk {
        //Log
        private Logger log = Logger.getLogger(ExecutarComandosRasterisk.class);
        // Objeto de conexĂŁo com o Asterisk
        private ManagerConnection managerConnection;
        // Obtem resposta Asterisk
        ManagerResponse originateResponse;
        PeerStatusEvent peerStatus;
        PeerEntryEvent peerEntry;
        public String enviarComando() throws IOException, AuthenticationFailedException, TimeoutException
        {
            String retorno = "Teste realizado com sucesso";
            try{
                try
                {
                    // Objeto que mapeia o servidor
                    ManagerConnectionFactory factory = new ManagerConnectionFactory("192.168.16.14", "manager", "pa55w0rd");
                    // Obtem uma conexao com o Asterisk
                    this.managerConnection = factory.createManagerConnection();
                    // Efetua o Login
                    managerConnection.login();

                    SipShowPeerAction sipShowPeerAction = new SipShowPeerAction("1012");
                    sipShowPeerAction.setPeer("1012");
                    managerConnection.sendAction(sipShowPeerAction);          
                    peerEntry.getStatus();
                
                    // print out whether the originate succeeded or not
                    System.out.println();
                }
                catch(Exception exp)
                {
                    retorno = exp.toString();
                    System.out.print(exp);
                }
            }
            finally
            {
                managerConnection.logoff();
                managerConnection.getState();
            }
            return retorno;
        }


    Att,
    Bruno

----------------------------------------------------------------------------

    _______________________________________________
    A Redfone Ă© lĂ­der no fornecimento de bridges TDMoE &lt;-> 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 www.red-fone.com
    _______________________________________________
    Lista de discussões AsteriskBrasil.org
    AsteriskBrasil em listas.asteriskbrasil.org
    http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
_______________________________________________
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 www.red-fone.com
_______________________________________________
Lista de discussões AsteriskBrasil.org
AsteriskBrasil em listas.asteriskbrasil.org
http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil


------------------------------------------------------------------------------


  _______________________________________________
  A Redfone Ă© lĂ­der no fornecimento de bridges TDMoE &lt;-> 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 www.red-fone.com
  _______________________________________________
  Lista de discussões AsteriskBrasil.org
  AsteriskBrasil em listas.asteriskbrasil.org
  http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20091207/d4a7e999/attachment-0001.htm 


Mais detalhes sobre a lista de discussăo AsteriskBrasil