Asterisk-Java找不到fastagi-mapping.properties

时间:2018-06-13 06:35:22

标签: asterisk asterisk-java

我正在使用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')

我不知道为什么......我一直在研究这个问题超过一个小时,我可能犯了一个愚蠢的错误,虽然我找不到它。

注意:

  • 我使用我的classpath java-asterisk.jar:.能够拥有asterisk-java和当前文件夹,其中包含fastagi-mapping.properties文件,因此应该在类路径中找到该文件没有任何问题
  • 我已经尝试删除并重新创建该文件,但它没有改变任何内容。

请建议。

1 个答案:

答案 0 :(得分:2)

部分问题可能是在同一个max-age命令中尝试使用-cp-jar,这是不受支持的,Stackoverflow上有很多关于此问题的问题({ {3}}是一个。)

您可以使用类似

的内容
  

java -cp asterisk-java.jar:。 DefaultAgiServer

专门启动asterisk-java' s java(如果我正确记住清单中的条目,那么指定DefaultAgiServer将会做什么)。