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
Asterisk-java-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/asterisk-java-users