3

sipML 是否提供有关通话质量的任何信息?诸如丢弃的数据包或乱序到达的数据包之类的东西?

我查看了 sipML API 文档,但没有发现任何相关内容。还查看了 Firefox/Chrome 的开发者工具,但在那里没有找到这样的指标。

我们希望实现与其他通信工具(如 Skype for Business 或 Teams)类似的通话质量指示器。

4

2 回答 2

0

sipML 库使用两种不同的协议作为传输层:

  • WS/WSS:使用底层 TCP 连接。在丢失的情况下重新传输数据包,以及按顺序传送的数据包由 TCP 协议本身处理,该协议本身不提供有关其内部功能的任何信息
  • WebRTC:使用底层 UDP 连接,它是一种“即发即弃”协议,它只是发送数据包而不关心它们是否到达目的地,以及以何种顺序

由于 SIP 与传输层无关,因此它不会带来与传输层数据包相关的任何功能。因此,没有实际的“开箱即用”解决方案来检测服务质量。解决方案是让服务器将 UDP 数据包发送回客户端以计算一些指标,但这需要在客户端和服务器端进行一些特殊的实现。

于 2020-12-08T13:46:28.173 回答
0

似乎没有官方 API,但如果您可以获取底层 RTCPeerConnection 对象(这里?),您可以使用完整的getStats() API

于 2020-12-08T14:10:27.280 回答