[asterisk-users] [Asterisk-Java] SipShowPeerAction

richard Coco coco_richard at yahoo.com
Thu Oct 5 01:33:59 MST 2006


Hi again,

i am still missing something 'cause i am not able to
handle the PeerEntryEvent. The other Events are ok.
Here is what i did.

public void run() throws
	IOException,
	AuthenticationFailedException,
	TimeoutException
	{
		managerConnection.login();
		managerConnection.addEventListener(this);
		
		SipShowPeerAction sipShowPeerAction = new
SipShowPeerAction("2001");
		managerConnection.sendAction(sipShowPeerAction);
		
	}
	public void onManagerEvent(ManagerEvent event)
    {
		HashMap<String, JButton> hmap = new HashMap<String,
JButton>();
		hmap.put("SIP/2000", PresenceGUI.sButton2000);
		hmap.put("SIP/2001", PresenceGUI.sButton2001);
		hmap.put("SIP/2002", PresenceGUI.sButton2002);
		hmap.put("SIP/2003", PresenceGUI.sButton2003);
		hmap.put("SIP/2004", PresenceGUI.sButton2004);
		
		if (event instanceof PeerEntryEvent)
		{
		
System.out.println(((PeerEntryEvent)event).getStatus());
		}
        if (event instanceof PeerStatusEvent)
        {
        	if (((PeerStatusEvent)
event).getPeerStatus().equals(PeerStatusEvent.STATUS_REGISTERED))
        	{
        	
hmap.get(((PeerStatusEvent)event).getPeer()).setIcon(new
ImageIcon("personal_green.png"));
        	}

        	if (((PeerStatusEvent)
event).getPeerStatus().equals(PeerStatusEvent.STATUS_UNREGISTERED))
        	{
        	
hmap.get(((PeerStatusEvent)event).getPeer()).setIcon(new
ImageIcon("personal_gray.png"));
        	}
        }
        if (event instanceof NewChannelEvent)
        {
        	if (((NewChannelEvent)
event).getState().equals("Ringing"))
        	{
        	
hmap.get(((NewChannelEvent)event).getChannel().substring(0,
8)).setIcon(new ImageIcon("personal_red.png"));
        	}
        	if (((NewChannelEvent)
event).getState().equals("Ring"))
        	{
        	
hmap.get(((NewChannelEvent)event).getChannel().substring(0,
8)).setIcon(new ImageIcon("personal_red.png"));
        	}
        }
        if (event instanceof HangupEvent)
        {
        
if(((HangupEvent)event).getChannel().substring(0,
5).equals("SIP/2"))
        	{
        	
hmap.get(((HangupEvent)event).getChannel().substring(0,
8)).setIcon(new ImageIcon("personal_green.png"));
        	}
        }
    }
}


thx in advance!





--- Tim Panton <tim at mexuar.com> wrote:

> 
> On 4 Oct 2006, at 16:33, richard Coco wrote:
> 
> > Hi all,
> >
> > first of all sorry for the question. I know there
> is
> > an asterisk-java mailinglist but i am not
> subscribed
> > to this list and i am sure there are asterisk-java
> > guru on this list who can help me.
> >
> > I am trying to get the status of a peer using
> > "SipShowPeerAction". Unfortunately the getStatus
> > method gives me everytime "null".
> >
> > SipShowPeerAction sipShowPeerAction = new
> > SipShowPeerAction("2001");
> > 		managerConnection.sendAction(sipShowPeerAction);
> > 		PeerEntryEvent peerEntryEvent = new
> > PeerEntryEvent(sipShowPeerAction);
> > 		System.out.println(peerEntryEvent.getStatus());
> >
> > What wrong with this example? Maybe someone can
> give
> > me a working example.
> 
> The way Java normally works is that you add register
> yourself as an
> event listener, and the framework then sends you an
> event when  
> something happens.
> 
> so your class needs to implement
> ManagerEventListener
> then you say something like :
> 
> void doit(){
> 	managerConnection.addEventListener(this)
> 	SipShowPeerAction sipShowPeerAction =
> newSipShowPeerAction("2001");
> 	managerConnection.sendAction(sipShowPeerAction);
> 
> }
> 
> public void onManagerEvent(ManagerEvent event) {
> 	if (event instanceof PeerEntryEvent){
> 	
>
System.out.println(((PeerEntryEvent)event).getStatus());
> 	} else {
> 		System.out.println("Some other event");
> 	}
> }
> 
> 
> Tim Panton
> 
> www.mexuar.com
> 
> 
> 
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com
> --
> 
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>   
>
http://lists.digium.com/mailman/listinfo/asterisk-users
> 


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the asterisk-users mailing list