Hi to everyone,
I am developing an Asterisk software over Java that allow me to login or logoff in a determinated queue.
I have got a lot of queues (exactly 7), and the way that I do it is the next:
- First do connection:
ManagerConnectionFactory factory = new ManagerConnectionFactory(props.getProperty("host"), props.getProperty("user"), props.getProperty("password"));
managerConnection = factory.createManagerConnection();
managerConnection.login();
-Then I have a login function that will take the queue name and the interface, and send Action to managerConnection :
public String login(String queue,String iface){
String resp = "";
ManagerResponse originateResponse;
QueueAddAction queueAddAction;
queueAddAction= new QueueAddAction(queue,iface);
originateResponse = managerConnection.sendAction(queueAddAction,30000);
resp = queue + " login: " + originateResponse.getResponse() + "\n";
return resp;}
And the same with logoff (the code just is change QueueAddAction to QueueRemoveAction).
So when I do the connection, with a loop for i will add the member to the queue. The code works like a charm when i add the member in ONE queue, but when i have two or more queues, the member is added (or delete in logoff) BUT getResponse give me an Error message with the next lines:
Caused by: org.asteriskjava.manager.TimeoutException: Timeout waiting for response to QueueRemove
at org.asteriskjava.manager.internal.ManagerConnectionImpl.sendAction(ManagerConnectionImpl.java:825)
at org.asteriskjava.manager.internal.ManagerConnectionImpl.sendAction(ManagerConnectionImpl.java:781)
at org.asteriskjava.manager.DefaultManagerConnection.sendAction(DefaultManagerConnection.java:311)
I dont know why its happens with more than one queues, can anybody help me?
Thanks a lot.