Отправить Sip сообщение через звездочку fastagi

Я могу ретранслировать сообщения, используя dialplan. Эта команда отправляет сообщение, но я не могу запустить его с помощью fastagi(Java)

DialPlan

exten => _X.,n,MessageSend(${ACTUALTO},${MESSAGE(from)})

FastAGI

public void service(AgiRequest ar, AgiChannel ac) throws AgiException {
    System.out.println(ac.getFullVariable("${MESSAGE(body)}"));
    System.out.println(ac.getFullVariable("${MESSAGE(to)}"));
    System.out.println(ac.getFullVariable("${MESSAGE(from)}"));
    System.out.println(ac.getFullVariable("${CUT(MESSAGE(to),@,1)}"));
    //Correct values are show from above printlns
    ac.exec("MessageSend(${CUT(MESSAGE(to),@,1)},${MESSAGE(from)})");
}

Последняя строка приводит к предупреждению в /var/asterisk/messages

ПРЕДУПРЕЖДЕНИЕ [2287][C-00000000] res_agi.c: не удалось найти приложение (MessageSend(${CUT(MESSAGE(to),@,1)})

2 ответа

Решение

Разобрался, вот как это делается в фастаг

ac.exec("MessageSend","sip:100,<sip:102@192.168.1.100:5080>");

Документация для MessageSend https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Application_MessageSend

Пока сообщение ожидается. Там нет команды AGI, как это

Проверьте

asterisk -rx "core show application like message"

если нашел, попробуй сделать

 ac.exec("MessageSend \"${CUT(MESSAGE(to),@,1)},${MESSAGE(from)})\"");

Для получения дополнительной информации проверьте спецификацию

http://www.voip-info.org/wiki/view/exec

Другие вопросы по тегам