adr8ien
08/06/2011, 21h32
Bonjour à tous!
Alors, comme l'explique le titre du sujet, je rencontre quelques difficulté avec Asterisk manager API.
Mon but est simple, un système Click2Dial, j'ai bien trouvé des exemples, mais je n'arrive à rien depuis 4 jours à pleins de temps maintenant.
J'ai écrit une fonction de test, toute bête, pour trouver une solution, mais rien.
J'ajoute que j'ai installé AsteriskNow 1.6 sur une machine virtuelle, et que j'utilise X-Lite pour les tests.
Le paramétrage d'Asterisk m'a l'air bon, (tout fonctionne comme je le souhaite lorsque je teste avec plusieurs sessions lancées sur X-Lite), mais je n'arrive pas à reproduire tout ça en java.
Voici donc ma classe de test, n’hésitez pas à m'engueuler si vous voyez des aberrations!
Merci d'avance à vous!
import java.io.IOException;
import junit.framework.TestCase;
import org.asteriskjava.live.AsteriskChannel;
import org.asteriskjava.live.AsteriskQueueEntry;
import org.asteriskjava.live.AsteriskServerListener;
import org.asteriskjava.live.DefaultAsteriskServer;
import org.asteriskjava.live.MeetMeUser;
import org.asteriskjava.live.internal.AsteriskAgentImpl;
import org.asteriskjava.manager.TimeoutException;
import org.asteriskjava.manager.action.QueueAddAction;
import org.asteriskjava.manager.response.ManagerResponse;
@SuppressWarnings("deprecation")
public class TestConnexion extends TestCase implements AsteriskServerListener {
public void testConnexion() throws IllegalArgumentException, IllegalStateException, IOException, TimeoutException {
DefaultAsteriskServer server = new DefaultAsteriskServer("192.168.0.35", "root", "root");
server.addAsteriskServerListener(this);
QueueAddAction action = new QueueAddAction();
action.setMemberName("Test");
action.setQueue("simple-queue");
action.setInterface("SIP/Test");
action.setStateInterface("SIP/AutreTest");
action.setPaused(false);
/* Deprecated --> Message d'erreur si j'utilise cette action (Unknown command)
AgentCallbackLoginAction action = new AgentCallbackLoginAction();
action.setAckCall(true);
action.setAgent("SIP/Test");
action.setExten("AutreTest");
*/
ManagerResponse reponse = server.getManagerConnection().sendAction(action,15 000);
System.out.println("Login Response:" + reponse.getResponse());
System.out.println("Login Message:" + reponse.getMessage());
}
@Override
public void onNewAgent(AsteriskAgentImpl arg0) {
// TODO Auto-generated method stub
}
@Override
public void onNewAsteriskChannel(AsteriskChannel arg0) {
// TODO Auto-generated method stub
}
@Override
public void onNewMeetMeUser(MeetMeUser arg0) {
// TODO Auto-generated method stub
}
@Override
public void onNewQueueEntry(AsteriskQueueEntry arg0) {
// TODO Auto-generated method stub
}
}
Alors, comme l'explique le titre du sujet, je rencontre quelques difficulté avec Asterisk manager API.
Mon but est simple, un système Click2Dial, j'ai bien trouvé des exemples, mais je n'arrive à rien depuis 4 jours à pleins de temps maintenant.
J'ai écrit une fonction de test, toute bête, pour trouver une solution, mais rien.
J'ajoute que j'ai installé AsteriskNow 1.6 sur une machine virtuelle, et que j'utilise X-Lite pour les tests.
Le paramétrage d'Asterisk m'a l'air bon, (tout fonctionne comme je le souhaite lorsque je teste avec plusieurs sessions lancées sur X-Lite), mais je n'arrive pas à reproduire tout ça en java.
Voici donc ma classe de test, n’hésitez pas à m'engueuler si vous voyez des aberrations!
Merci d'avance à vous!
import java.io.IOException;
import junit.framework.TestCase;
import org.asteriskjava.live.AsteriskChannel;
import org.asteriskjava.live.AsteriskQueueEntry;
import org.asteriskjava.live.AsteriskServerListener;
import org.asteriskjava.live.DefaultAsteriskServer;
import org.asteriskjava.live.MeetMeUser;
import org.asteriskjava.live.internal.AsteriskAgentImpl;
import org.asteriskjava.manager.TimeoutException;
import org.asteriskjava.manager.action.QueueAddAction;
import org.asteriskjava.manager.response.ManagerResponse;
@SuppressWarnings("deprecation")
public class TestConnexion extends TestCase implements AsteriskServerListener {
public void testConnexion() throws IllegalArgumentException, IllegalStateException, IOException, TimeoutException {
DefaultAsteriskServer server = new DefaultAsteriskServer("192.168.0.35", "root", "root");
server.addAsteriskServerListener(this);
QueueAddAction action = new QueueAddAction();
action.setMemberName("Test");
action.setQueue("simple-queue");
action.setInterface("SIP/Test");
action.setStateInterface("SIP/AutreTest");
action.setPaused(false);
/* Deprecated --> Message d'erreur si j'utilise cette action (Unknown command)
AgentCallbackLoginAction action = new AgentCallbackLoginAction();
action.setAckCall(true);
action.setAgent("SIP/Test");
action.setExten("AutreTest");
*/
ManagerResponse reponse = server.getManagerConnection().sendAction(action,15 000);
System.out.println("Login Response:" + reponse.getResponse());
System.out.println("Login Message:" + reponse.getMessage());
}
@Override
public void onNewAgent(AsteriskAgentImpl arg0) {
// TODO Auto-generated method stub
}
@Override
public void onNewAsteriskChannel(AsteriskChannel arg0) {
// TODO Auto-generated method stub
}
@Override
public void onNewMeetMeUser(MeetMeUser arg0) {
// TODO Auto-generated method stub
}
@Override
public void onNewQueueEntry(AsteriskQueueEntry arg0) {
// TODO Auto-generated method stub
}
}