一旦我终止 SIP 应用程序,路由器就会断开连接

一旦我终止 SIP 应用程序,路由器就会断开连接

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

有任何想法吗?

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

更新: 这是我发现的:

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

这意味着如果我禁用它,我就无法进行我非常想做的测试,而且由于我无法访问另一个路由器,所以我必须用这个错误来处理它......

我可以说,当只有一个用户连接时,这种情况从未发生在我身上,但当时我没有人可以邀请,当我尝试邀请一个假想用户时,我收到了来自 SIP UAS 503 的消息。只有在我连接第二个 SIP UAC 并邀请它并关闭应用程序后,才会出现此错误。

亚当。

答案1

我唯一能想到的是如果你的路由器有一个SIP应用层网关并且由于某些错误,当它没有收到 ACK 时会崩溃。如果您的路由器确实有 SIP ALG,您应该尝试找到一种方法来关闭它。现在人们普遍认为 SIP ALG 是个坏消息,它造成的问题比它解决的问题要多得多。

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

相关内容