gpt4 book ai didi

iphone - 如何在开始之前确定 voip 通话的质量?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:14:28 25 4
gpt4 key购买 nike

我需要检查设备是否可以支持特定质量级别的 voip 通话。我的方法(我承认可能有更好的方法)是在用户的 iOS 设备上进行互联网连接速度测试,然后立即调用电话。速度测试应尽可能准确地确定即将到来的 VoIP 通话质量是好是坏。

voip 通话包括实时视频(类似于 Skype)。

我知道以下测量连接速度的技术:

  1. 下载或上传文件并测量所需时间。

    概述here .测量下载或上传速度能否准确了解即时通话的 VoIP 通话质量?此外,文件可能会被缓存,甚至速度可能会受到 ISP 的限制。

  2. 使用 ICMP 数据包(即 ping)可靠的服务器(例如 google.com)。

    这种方法的一个潜在问题是(我听说)一些路由器被配置为给予 ICMP 数据包比其他路由器低的优先级。因此,它们不能用作带宽/速度/可达性等的准确度量。是这样吗?

测量网络连接速度是预测 VoIP 通话质量的有效方法吗?如果是这样,为此目的测量互联网连接速度的有效且快速(即少于 3 秒)的方法是什么?

最佳答案

VoIP 调用的实际数据是通过 RTP 传送的,它实际上只需要 24-64Kbps(取决于编解码器)并且需要 UDP 地址进行单向传输。偶尔会发送 RTCP 数据包来报告状态、指标等,但并不是真正需要的。

SIP 用于调用建立和断开。

RTCP 数据包携带(最小)调用质量指标。

有几个参数会影响通话质量,包括编解码器的选择、可用带宽、网络延迟、数据包丢失(RTP 在 UDP 之上,因此不会重传)和抖动(数据包间到达延迟、无序交付)。

(Cicso) 交换机实现 RED,这是一种通过随机丢弃网络数据包来减少队列深度的技术。对于 TCP 网络连接,这是可以接受的,因为 TCP 通过滑动窗口协议(protocol)进行重传。许多基于 UDP 的协议(protocol)实现了应用重传。但 RTP 负担不起这种奢侈。因此随机丢弃语音数据包会损害连接质量。 RED 的一种解决方案是通过 TCP 连接隧道传输 VoIP,但这不是我们做出的选择。

拥塞的网络是 VoIP 通话质量问题的一个重要来源,可以在通话的最初几秒内测量到这一点。由于抖动和延迟数据包(高网络延迟)导致的数据包丢失是通话质量下降的两个主要原因。我在 VoIP 服务质量监控系统上工作,我们观察到最糟糕的调用具有高抖动和高延迟(超过 ~70 毫秒是不好的)。避免高延迟、拥塞的网络。编码的选择会对质量产生巨大影响。与“效率”较低的编解码器相比,更高压缩率的编解码器因数据包丢失而损失更多,因此请选择使用更高带宽的编解码器(祝你好运)。

IP 网络需要 QoS 保证来提供最佳的 VoIP 质量。在重新定义 TCPIP 以包括 QoS 之前,VoIP 将存在(潜在的)问题。

您的方法很接近。但是你想测量:

  1. UDP
  2. 丢包
  3. 拥堵
  4. 延迟
  5. 数据包抖动

您需要为您的数据包添加时间戳和编号,并检测高延迟、到达间隔抖动,避免通过 TCP 进行测量(数据包重传会扭曲您的质量数字,并且 TCP 会重新排序数据包,即使它会引入延迟)。您还想知道两者的质量。您可能会发现编解码器选择是改善通话的一个重要因素。

我工作的制造显示器的公司 (Telchemy) 将他们的 VQMon 软件授权为一种产品来衡量质量,因此您想要的工具已经存在。

关于iphone - 如何在开始之前确定 voip 通话的质量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16053516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com