我有两个不同的数据中心上的2个星号服务器。 呼叫正在从一个到另一个。 突然audio质量下降。 我在两台服务器上都做了SIP跟踪。 这是我发现的:
问题:如何确定问题在哪里? 🙂
谢谢!
通常,在stream中看到很大一部分乱序数据包的罪魁祸首是负载均衡路由,这是由数据包path上的某个路由器完成的。 IP并不保证按顺序传送数据包,但像TCP和RTP这样的协议确实假定数据包在大多数情况下都是按顺序排列的,而当这种假设不成立时,数据包会严重劣化。 因此,最佳实践规定,路由器不应以会导致大量出站或订购数据包的方式进行configuration。
当大多数路由器被configuration为跨多个链路负载均衡stream量时,他们使用散列algorithm(通常基于源和目标IP地址以及可能的TCP / UDP端口)来确保属于单个stream的分组都select相同的成员负载平衡组。 这有助于确保数据包保持有序。 如果一个路由器没有使用这样的哈希来进行负载均衡,并且属于单个stream的数据包最终位于不同的链路上,他们可以很容易地花费不同的时间来传输(主要是由于缓冲,即使负载均衡链接具有相同的特征),并在目的地结束乱序。
如果这就是发生在你身上的事情,并且RTP接收器的抖动缓冲器已经足够坏了,那恐怕除了pipe理networking的人来解决这个问题之外,你无能为力。