Call quality metrics in sipML5

240 views Asked by At

Does sipML provide any info about call quality? Something like dropped packets or packets arriving out of order?

I have looked at sipML API documentation, but did not find anything relevant. Also looked into the Developer Tools of Firefox/Chrome, but didn't find such metrics there.

We would like to implement a call quality indicator similar to what other communication tools like Skype for Business or Teams have.

2

There are 2 answers

0
Philipp Hancke On BEST ANSWER

There doesn't seem to be an official API but if you can get a hold of the underlying RTCPeerConnection object (here?) you can use the full getStats() API

0
Guerric P On

The sipML library uses two different protocols as the transport layer:

  • WS/WSS: uses an underlying TCP connection. The packets retransmission in case of loss, and packets ordered delivery are handled by the TCP protocol itself which does not provide any information about its internal functioning
  • WebRTC: Uses an underlying UDP connection which is a "fire and forget" protocol that simply sends packets whithout even caring if they reach their destination, and in which order

As SIP is agnostic to the transport layer, it doesn't bring any feature related to transport layers packets. So there is no actual "out of the box" solution to detect quality of service. The solution would be to have a server sending UDP packets back to the client in order to compute some metrics, but that requires some special implementation on both client and server side.