Господа, вопрос следующий. Пишу утилиту, которая будет по AMI посылать Originate запрос Астериску, чтоб тот звонил на мобилку. Дали мне значит данные для подключения к Астериску по AMI. Я намутил в интернете библиотечку Asterisk-Java. Делаю запрос таким образом:
final ManagerConnection managerConnection;
LogManager.getLogManager().reset();
Logger globalLogger = Logger.getLogger(java.util.logging.Logger.GLOBAL_LOGGER_NAME);
globalLogger.setLevel(java.util.logging.Level.OFF);
ManagerConnectionFactory managerConnectionFactory = new ManagerConnectionFactory("XXXXX", XXXXX, "XXXXX", "XXXXX");
managerConnection = managerConnectionFactory.createManagerConnection();
OriginateAction originateAction;
ManagerResponse originateResponse;
originateAction = new OriginateAction();
originateAction.setChannel("XXXXX");
originateAction.setContext("XXXXX");
originateAction.setExten("XXXXX");
originateAction.setPriority(1);
originateAction.setAsync(false);
originateAction.setVariable("customernum", "XXXXX");
originateAction.setTimeout(new Long(30000));
try {
managerConnection.login();
originateResponse = managerConnection.sendAction(originateAction);
System.out.println("ORIGINATE RESPONSE: " + originateResponse.getResponse());
System.out.println("ORIGINATE MESSAGE: " + originateResponse.getMessage());
System.out.println("ACTION ID: " + originateAction.getActionId());
} catch (IOException e) {
e.printStackTrace();
} catch (AuthenticationFailedException e) {
e.printStackTrace();
} catch (TimeoutException e) {
e.printStackTrace();
} finally {
managerConnection.logoff();
}
В итоге все звонится, настройки все верные. Но ORIGINATE RESPONSE всегда SUCCESS, а ORIGINATE MESSAGE всегда Originate successfully queued.
Но проблема в том, что мне нужно знать, как пользователь отреагировал на звонок (был доступен или нет, поднял трубку или нет и тд...). Как можно изменить способ отправки сообщения (может что посоветовать поправить в настройках астериска, я в его конфиге не бум-бум, но к админам доступ есть), чтоб получать какой-то фитбек при той или иной ситуации? Хелп ми плиз, проект горит )