2014-03-02 31 views
1

Asterisk有没有一种方法,如何检测经理与Asterisk连接的正确状态? (我的观点是有关连接失败的通知星号) 我正在实施对我们的Java应用程序(使用Asterisk Java库)的可视化指示,但从我的角度来看,它并不像人们所期望的那样工作。通过星号检测到Asterisk的连接状态Java

ManagerConnection上有一个方法getStatus(),但即使断开网络电缆,结果始终是CONNECTED。我还没有观察到任何类似的东西可以使用。

回答

1

简单的办法:在extensions.conf文件通过经理

  • 设置全局变量PING到1
  • 得到全局变量的值。如果不是1,则重新连接。
+1

我承认,这是简单的解决方案,并正在工作。然而,它也是最丑陋的一个。如果没有连接,我会得到ManagerCommunicationException - 这意味着我正在使用异常处理来处理我的常规工作流。是否还有一些不那么简单但更合适的解决方案? – gurbi

+0

我不明白什么是问题处理你的异常。我很抱歉,我不熟悉java或与你的java库。您还可以阅读库代码(它是开源的)并添加连接检查例程。 – arheops

+0

或聘请专家教你如何使用java异常/扩展java类。 – arheops