Asterisk - click2call Java работает, но занимает 2 шага
Я реализовал метод Java (используя библиотеку Asterisk-Java), который инициирует вызов между двумя пользователями. Алиса звонит и боб приемник. Это работает, но я не знаю почему, это делается в 2 этапа:
- Алиса получает звонок от себя.
- Если Алиса отвечает на звонок, звонок между ней и Бобом запускается. (= Алиса должна нажать "Принять звонок", чтобы в итоге сделать звонок Бобу.
Есть идеи, почему Алиса сначала получает звонок от себя?
Вот мой код:
public void call(final String user, final String exten) throws IOException, AuthenticationFailedException, TimeoutException {
OriginateAction originateAction;
ManagerResponse originateResponse;
originateAction = new OriginateAction();
originateAction.setChannel("SIP/" + user);
originateAction.setContext("work");
originateAction.setExten(exten);
originateAction.setPriority(new Integer(1));
originateAction.setTimeout(new Long(30000));
// connect to Asterisk and log in
managerConnection.login();
// send the originate action and wait for a maximum of 30 seconds for Asterisk to send a reply
originateResponse = managerConnection.sendAction(originateAction, 30000);
// and finally log off and disconnect
managerConnection.logoff();
}
1 ответ
originateAction.setChannel("SIP/" + user);
Это действие запущено первым.
Если вам нужен другой заказ, вы должны сделать это в другом порядке.
Вы можете сделать набор через локальный / канал.
На этот вопрос я отвечал в прошлом месяце 4 или 5 раз.
Для получения дополнительной информации см. Другие подобные вопросы.