【问题标题】:Router gets disconnected once I terminate my SIP application一旦我终止我的 SIP 应用程序,路由器就会断开连接
【发布时间】:2010-06-05 21:25:11
【问题描述】:

这是一个有趣的,我有一个 SIP VoIP 应用程序,它能够注册到 PBX 服务器,我可以邀请并看到用户在被叫端接收邀请,在主叫端我看到响铃响应......现在这是有趣的部分,如果我在没有通知服务器的情况下关闭我的应用程序,我的路由器会在短时间内(30 - 150 秒)后断开连接并重新启动。如果我完成 ACK BYE 过程,我可以解决这个问题,但我只是想知道为什么我的路由器挂断了?

有什么想法吗?

我的路由器是 TNN-Siemens SL2-141,我认为这可能很重要

更新: 这是我发现的:

SIP ALG 允许两个或多个 同时拨打的 VoIP 电话由 通过此路由器的 VoIP 客户端。

这意味着如果我禁用它,我将无法进行我正在努力做的测试,并且由于我无法访问另一个路由器,所以我必须处理它与错误然后.. .

我可以说这从未发生在我与一个用户连接的情况下,但是我再次没有任何人可以邀请,当我尝试邀请一个虚构的用户时,我从 SIP UAS 503 收到。只有在我连接第二个 SIP UAC 并邀请它并关闭应用程序后才会出现此错误。

亚当。

【问题讨论】:

    标签: router sip pbx


    【解决方案1】:

    我唯一能想到的是,如果您的路由器有一个SIP ALG,并且在没有收到 ACK 时由于其中的一些错误而崩溃。如果您的路由器确实有 SIP ALG,您应该尝试找到关闭它的方法。现在人们普遍认为 SIP ALG 是个坏消息,并且会导致比以往解决的问题更多的问题。

    更新:如果您正在编写自己的 SIP 应用程序并且您支持 ALG,那么您将很难跟踪问题,因为您永远无法确定 SIP 数据包你发送的是被接收的那个。尝试关闭您的 SIP ALG 并确保网络一侧的 SIP 设备使用不同的端口,即设置它们以使其不使用端口 5060 作为其本地端口。这样,路由器就不必参与任何特定行为以允许 SIP 流量为多个设备工作。

    【讨论】:

    • 写得不好的 SIP ALG 可能是个坏消息,但这个概念是合理的。但我怀疑你在这里的诊断可能是正确的。
    • 关于 SIP 实施者名单 (lists.cs.columbia.edu/pipermail/sip-implementors) 我观察到并同意的普遍共识是 SIP ALG 是坏消息,应该完全淘汰。
    • 感谢您的回复,我认为这会解决问题,但会阻止我执行所需的测试。顺便说一句,一个 UAC 连接到服务器时不会发生此错误,因此当涉及到单个 SIP UAC 时,ALG 确实可以工作。
    • sipwiz,我多年来一直关注 sip-implementors。 (不得不,作为 SIP 实施者。)抱怨 ALG 很像抱怨 NAT——它们仍然存在。但也许 Iñaki Baz Castillo 的检测器可能有助于调试:dev.sipdoc.net/wiki/sip-stuff/SIP-ALG-Detector
    • @Frank 我同意你的观点,没有意义的抱怨:)。但是,NAT 和 ALG 之间的区别在于您通常可以关闭 ALG。就实现 SIP 与 NAT 而言,您知道它们的行为、IP 和端口转换的限制。如果您不使用 ALG,它们可能会弄乱您消息中的每个 SIP 标头。正如 Iñaki 本人最近在一篇帖子中所说:“ALG 必须尽快消失”。
    猜你喜欢
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多