Hi, I’m currently working on a Java app implemented using AsteriskJava. I have this code
try {
new AgiServerThread(new DefaultAgiServer()).startup();
managerConnection.login();
System.out.println("STATUS: Manager Logged in");
ManagerResponse response = managerConnection.sendAction(originateAction, actionTimeout);
managerConnection.logoff();
System.out.println("STATUS: Manager Logged off");
However, I’m getting exception.
Exception in thread "Asterisk-Java DaemonPool-1-thread-1" java.lang.NoSuchMethodError: com.mobiclear.pivservice.service.AgiScriptService.getData(Ljava/lang/String;JI)Ljava/lang/String;
at com.mobiclear.pivservice.service.AgiScriptService.service(AgiScriptService.java:20)
at org.asteriskjava.fastagi.internal.AgiConnectionHandler.runScript(AgiConnectionHandler.java:151)
at org.asteriskjava.fastagi.internal.AgiConnectionHandler.run(AgiConnectionHandler.java:116)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
at java.lang.Thread.run(Thread.java:637)
My AgiScriptService code,
[code]public class AgiScriptService extends BaseAgiScript {
private String host = "http://localhost:8080/confirm.piv";
public void service(AgiRequest agiRequest, AgiChannel agiChannel) throws AgiException {
answer();
exec("Playback", "welcome");
String data = getData("beep", 15000, 4);
exec("Playback", "goodbye");
hangup();
System.out.println("AGI: DTMF Value is " + data);
try {
sendDTMF(data);
} catch (IOException e) {
e.printStackTrace();
}
}
public void sendDTMF(String data) throws IOException {
HttpClient httpClient = new HttpClient();
PostMethod method = new PostMethod(host);
NameValuePair[] params = {
new NameValuePair("pin", data)
};
method.setRequestBody(params);
try {
httpClient.executeMethod(method);
}
catch (IOException e) {
e.printStackTrace();
}
}
}[/code]