我正在使用 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
文件的当前文件夹,因此在类路径中应该可以毫无问题地找到该文件。 - 我已经尝试删除并重新创建文件,它没有改变任何东西。
请建议。