【问题标题】:Detect connection status to Asterisk via Asterisk Java通过 Asterisk Java 检测到 Asterisk 的连接状态
【发布时间】:2014-03-02 07:49:35
【问题描述】:

在 Asterisk 中有没有办法,如何检测管理器与 Asterisk 的连接的正确状态? (我的意思是关于与星号的连接失败的通知) 我正在为我们的 Java 应用程序实现视觉指示(使用 Asterisk Java 库),但是从我的角度来看,它并没有像预期的那样工作。

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

【问题讨论】:

    标签: java connection asterisk status asteriskami


    【解决方案1】:

    简单的方法:

    • 将 extensions.conf 中的全局变量 PING 设置为 1
    • 通过管理器获取全局变量值。如果不是 1,请重新连接。

    【讨论】:

    • 我承认,这是一个简单的解决方案并且正在工作。然而,它也是最丑的。如果没有连接,我会得到 ManagerCommunicationException - 这意味着我正在使用异常处理来处理我的常规工作流程。是否还有一些不那么简单但更合适的解决方案?
    • 我不明白处理您的异常是什么问题。对不起,我不熟悉 java 也不熟悉你的 java 库。您还可以阅读库代码(它是开源的)并添加连接检查例程。
    • 或者聘请专家教你如何处理java异常/扩展java类。
    • :) 不是,我不知道如何在 java 中处理异常——我太了解它们了。这就是为什么我想避免它们的原因 - 对常规工作流(断开连接)使用异常不是我想做的事情。请参阅 herehere。我只是希望有人有一个想法,为什么调用 ManagerConnection.getStatus() 在一段时间后不会返回 DISCONNECTED ,或者想出类似的东西。
    • 我不明白你的问题。询问库开发库他们为什么这样做或重写源代码,它是开源的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多