Hello, I have set up a conference between a web-based client and a SIP client who is called via Jigasi. The conference works as intended and the web-based party can hear the remote SIP party. However, I am trying to automate this into a test and I am running into some trouble. For the test, I have set up Jigasi to call a number which just plays a pre-recorded message. Then, in the web-based client side I am measuring the audioLevel to detect fluctuations in volume, which would indicate that the track is indeed audible. The problem is that the audioLevel for the remote audio track is always -1.
The code which I am executing is the following:
APP.store.getState()['features/base/tracks'].find(track => track.mediaType === 'audio' && !track.local).jitsiTrack.audioLevel
With normal clients this value shows the audioLevel, which varies with the loudness of the voice. However, this doesn’t seem to work with SIP client.
I would appreciate any help with the following questions:
- How is it possible to detect the audioLevel in this case?
- Chrome webrtc-internals provides the value audioOutputLevel which could be suitable for this scenario. Do you know how to read this value from the developer console?
- Is it possible to get access to the RTCPeerConnection that jitsi establishes? I could call RTCPeerConnection.getStats() and try to get the value from there.