我们有一个 VOIP(SIP?)电话系统,必须记录公司内特定电话的所有通话。将来可能需要监听这些通话以供审计。这些电话目前恰好都在同一个房间里。
我们一直在使用数字记录仪,它基本上可以窃听电话的模拟部分(我相信是来自手机的音频)。这很有效,但有下降的趋势,所以我正在寻找更好、更可靠的解决方案。
我在想,既然这些电话会产生网络流量,我可以捕获这些流量以供日后分析。例如,我可以运行 WireShark,将流量捕获到文件中,然后使用其中的 VOIP 功能查看呼叫者 ID,甚至收听通话音频。
这很完美,但我想知道是否有更好的设置,或者这是否有意义,我正在寻找用于此目的的 WireShark 的推荐设置 - 例如,如何无限期地直接捕获到文件。我知道我需要过滤掉所有非 voip 流量。此外,我可能需要一种方法来轮换捕获文件,以便它一次保存一周或一天,然后转到新文件(如果可能)。
你怎么认为?
答案1
我在想,既然这些电话会产生 SIP 流量,我可以捕获该流量以供后续分析。
完全错误的问题,因为 SIP 部分不包含任何音频。SIP = 会话发起协议。它控制信道,但不控制内容。
您需要使用 SIP 服务器来拦截和重写所有 SIP,并强制流量通过它,然后才能捕获它。这是基于 SIP 的 PBX 的标准配置 - 否则诸如通话记录之类的东西永远不会起作用。它们基本上充当流量的中介。
答案2
如果您启动 wireshark,然后单击“捕获”、“选项”,如果您查看左侧框的中间部分,您可以让它按大小/时间拆分捕获文件。
还建议设置适当的捕获过滤器,这样您就不会捕获网络上的所有其他内容 - 这会使捕获文件比需要的要大得多。
如果 SIP 服务器不强制所有流量都通过它,如果您可以在交换机上设置镜像端口,您仍然可以做同样的事情。
这可以工作,但不太美观。如果有更好的方法可以实现相同的效果,我也会感兴趣。
答案3
确实,SIP 不包含“声音” - 它只是 RTP 流的设置。遗憾的是,这些 RTP 流的端口使用情况不可预测(除非您收听 SIP),并且它们往往是点对点的。
正如前面所述,理想的方法是让您的 pbx 执行此操作。即便如此,也可能需要呼叫的其中一段是出站的(因为否则它就不需要“看到”任何 RTP 流量)。我们使用 Zultys 系统,它可以进行录音。
在小型环境中,暴力跨端口的全面 RTP 抓取可能会帮到你。便宜。不可扩展。我玩过http://oreka.sourceforge.net/,当我试图回忆起那个项目时,我偶然发现了http://our.sourceforge.net/- 所以有一些选择:)
请记住,您可能正在查看大量数据。
编辑:Oreka 文档推荐span 端口操作,它会为您索引并合理地存储数据(我自己只使用了 rtp dumping 位),所以听起来这对您来说可能有些用处——尤其是因为您描述的是一个相当小的操作。请记住,如果您确实遇到规模问题,它不应该影响您的 voip 对话,只有您的录音。祝您窃听愉快 ;)
答案4
正如其他人指出的那样,您可以直接在 PBX 上录音。但是这样做有几个问题,包括
- 这会给您的 PBX 增加处理负载,并可能会导致通话质量下降。
- 这将需要大量的照顾和投入,特别是当您要更改所记录的扩展时。
- 您必须维护自己的系统才能稍后找到录音。
- 您可能要对加密这些录音负有法律责任。
你可能想要使用类似这样的通话记录服务器西普鱼。然后您要做的就是在交换机上设置一个 span 端口,以向其发送数据的副本。