Asterisk-Java не может найти fastagi-mapping.properties

Я использую Asterisk, и я хотел бы отправить вызов из моего Java-приложения, а затем использовать сценарий AGI для управления происходящим. Итак, у меня есть первый класс, который связывается с сервером Asterisk и использует OriginateAction для начала вызова (это хорошо работает) и сервер AGI, который работает и должен обслуживать запросы AGI. Хотя, это не работает, потому что не может найти fastagi-mapping.properties файл.

Вот мой fastagi-mapping.properties:

alertcall.agi = AlertCallScript

(Это только один случай.)

В той же папке у меня есть AlertCallScript.java (а также asterisk-java.jar), который я собираю так:

javac -cp asterisk-java.jar:. AlertCallScript.java ExamplesAsteriskSettings.java

И затем я запускаю свой сервер AGI, используя это (находится в документе):

java -cp asterisk-java.jar:. -jar asterisk-java.jar

Когда я отправляю свой вызов, я получаю следующую ошибку в выводе сервера AGI:

Jun 13, 2018 6:28:12 AM org.asteriskjava.fastagi.ResourceBundleMappingStrategy loadResourceBundle
INFO: Resource bundle 'fastagi-mapping' not found.
Jun 13, 2018 6:28:12 AM org.asteriskjava.fastagi.internal.AgiConnectionHandler run
SEVERE: No script configured for URL 'agi://localhost/alertcall.agi' (script 'alertcall.agi')

И я не знаю почему... Я изучал это больше часа и, вероятно, совершил глупую ошибку, хотя не могу ее найти.

Заметки:

  • Я использую свой путь к классу java-asterisk.jar:. иметь возможность иметь asterisk-java и текущая папка, которая содержит fastagi-mapping.properties файл, поэтому файл должен быть найден без проблем в пути к классам.
  • Я уже пытался удалить и восстановить файл, он ничего не изменил.

Пожалуйста, предложите.

1 ответ

Решение

Часть проблемы, вероятно, пытается использовать -cp а также -jar В то же самое java команда, это не поддерживается, и есть несколько вопросов на Stackru об этом ( вот один).

Вы можете использовать что-то вроде

java -cp звездочка-java.jar:. DefaultAgiServer

чтобы начать звездочку-Java DefaultAgiServer конкретно (что и указывает -jar asterisk-java.jar будет делать в любом случае, если я правильно помню запись в манифесте).

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