Re: [Asterisk-java-users] Sip Client Register/Unregister Handler
Brought to you by:
srt
|
From: Zoumana T. <zou...@gm...> - 2015-03-05 23:34:46
|
Hi Paata, I will suggest you to go through Manager API for events listening as this one A quick look on the javadoc points me to this particular event class PeerStatusEvent As code sample you can almost copy/paste the one given at "Hello Events" section here https://maven.reucon.com/projects/public/asterisk-java/1.0.0.CI-SNAPSHOT/asterisk-java/tutorial.html Do this quick change inside (careful about the syntax because i've writen it on gmail) public void onManagerEvent(ManagerEvent event) { // just print received events System.out.println(event); if(event instanceof PeerStatusEvent){ PeerStatusEvent peerEvent = (PeerStatusEvent) event; //then extract anything useful you like from peerEvent instance } } You will also need to wait a little bit longer than 10seconds! for example Thread.sleep(60000); Regards, Zoumana *---* *Zoumana TRAORE* 2015-03-05 15:21 GMT+01:00 Paata Lominadze <paa...@gm...>: > hello team, > > I'm very newbie on this technologies. > I think this is great project. > > I want to handle sip client register/unregister event. > Is there any example ho to do this. ? > > I took HelloLiveEverything example and made some changes but nothing of > them help. > > mu example looks like : > > > import java.beans.PropertyChangeEvent; > import java.beans.PropertyChangeListener; > > import org.asteriskjava.live.AsteriskAgent; > import org.asteriskjava.live.AsteriskChannel; > import org.asteriskjava.live.AsteriskQueue; > import org.asteriskjava.live.AsteriskQueueEntry; > import org.asteriskjava.live.AsteriskQueueListener; > import org.asteriskjava.live.AsteriskQueueMember; > import org.asteriskjava.live.AsteriskServer; > import org.asteriskjava.live.AsteriskServerListener; > import org.asteriskjava.live.DefaultAsteriskServer; > import org.asteriskjava.live.ManagerCommunicationException; > import org.asteriskjava.live.MeetMeRoom; > import org.asteriskjava.live.MeetMeUser; > import org.asteriskjava.live.internal.AsteriskAgentImpl; > import org.asteriskjava.manager.ManagerConnection; > import org.asteriskjava.manager.ManagerConnectionFactory; > import org.asteriskjava.manager.ManagerEventListener; > import org.asteriskjava.manager.event.DialEvent; > import org.asteriskjava.manager.event.ManagerEvent; > > public class HelloLiveEverything implements AsteriskServerListener, > PropertyChangeListener, ManagerEventListener, AsteriskQueueListener { > private AsteriskServer asteriskServer; > private ManagerConnection managerConnection; > private ManagerConnectionFactory factory; > > public HelloLiveEverything() { > try { > asteriskServer = new DefaultAsteriskServer("192.168.1.28", > "manager", "pa55w0rd"); > this.factory = new ManagerConnectionFactory("192.168.1.28", > "manager", "pa55w0rd"); > this.managerConnection = factory.createManagerConnection(); > } catch (Exception e) { > e.printStackTrace(); > } > > } > > public void run() throws ManagerCommunicationException { > // listen for new events > asteriskServer.addAsteriskServerListener(this); > managerConnection.addEventListener(this); > > // add property change listeners to existing objects > for (AsteriskChannel asteriskChannel : > asteriskServer.getChannels()) { > // System.out.println(asteriskChannel); > asteriskChannel.addPropertyChangeListener(this); > } > > for (AsteriskQueue asteriskQueue : asteriskServer.getQueues()) { > System.out.println("asteriskQueue = " + > asteriskQueue.getName()); > for (AsteriskQueueEntry entry : asteriskQueue.getEntries()) { > System.out.println("entry = " + entry); > entry.addPropertyChangeListener(this); > } > for (AsteriskQueueMember member : asteriskQueue.getMembers()) { > //System.out.println("member = " + member); > member.addPropertyChangeListener(this); > } > } > > for (MeetMeRoom meetMeRoom : asteriskServer.getMeetMeRooms()) { > // System.out.println(meetMeRoom); > for (MeetMeUser user : meetMeRoom.getUsers()) { > user.addPropertyChangeListener(this); > } > } > for (AsteriskAgent asteriskAgent : asteriskServer.getAgents()) { > asteriskAgent.addPropertyChangeListener(this); > } > } > > @Override > public void onNewAsteriskChannel(AsteriskChannel channel) { > System.out.println(channel); > channel.addPropertyChangeListener(this); > } > > @Override > public void onNewMeetMeUser(MeetMeUser user) { > System.out.println(user); > user.addPropertyChangeListener(this); > } > > @Override > public void propertyChange(PropertyChangeEvent propertyChangeEvent) { > System.out.println(propertyChangeEvent); > } > > @Override > public void onNewAgent(AsteriskAgentImpl agent) { > System.out.println(agent); > agent.addPropertyChangeListener(this); > } > > @Override > public void onNewQueueEntry(AsteriskQueueEntry entry) { > System.out.println(entry); > entry.addPropertyChangeListener(this); > } > > @Override > public void onManagerEvent(ManagerEvent event) { > String event_name = event.getClass().getSimpleName(); > System.out.println("11111111111111111111111111 . event_name = " + > event_name); > if (event_name.equals("DialEvent")) { > DialEvent e = (DialEvent) event; > System.out.println(e.getCallerIdNum());// caller number > System.out.println(e.getDestination());// Called number > // do something here > } > } > > > @Override > public void onEntryLeave(AsteriskQueueEntry arg0) { > System.out.println("1. onEntryLeave"); > } > > @Override > public void onEntryServiceLevelExceeded(AsteriskQueueEntry arg0) { > System.out.println("2. onEntryServiceLevelExceeded"); > } > > @Override > public void onMemberAdded(AsteriskQueueMember arg0) { > System.out.println("3. onMemberAdded"); > } > > @Override > public void onMemberRemoved(AsteriskQueueMember arg0) { > System.out.println("4. onMemberRemoved"); > } > > @Override > public void onMemberStateChange(AsteriskQueueMember arg0) { > System.out.println("5. onMemberStateChange"); > } > > @Override > public void onNewEntry(AsteriskQueueEntry arg0) { > System.out.println("6. onNewEntry"); > } > > > public static void main(String[] args) throws Exception { > try { > HelloLiveEverything helloLiveEverything = new > HelloLiveEverything(); > helloLiveEverything.run(); > while (true) { > Thread.sleep(100); > } > } catch (Exception e) { > e.printStackTrace(); > } > } > } > > > but when sip clients register or unregister i didn't get any event. > > > Thanks in advance. > Best regards, > Paata Lominadze. > > > > > > ------------------------------------------------------------------------------ > Dive into the World of Parallel Programming The Go Parallel Website, > sponsored > by Intel and developed in partnership with Slashdot Media, is your hub for > all > things parallel software development, from weekly thought leadership blogs > to > news, videos, case studies, tutorials and more. Take a look and join the > conversation now. http://goparallel.sourceforge.net/ > _______________________________________________ > Asterisk-java-users mailing list > Ast...@li... > https://lists.sourceforge.net/lists/listinfo/asterisk-java-users > > |