If you are experiencing choppy, stuttery, frozen-framed video while performing a H264 passthrough call between a FCSDK/LA client and a deskhpone, it may be because TMMBR hasn't been negotiated.
What is TMMBR?
TMMBR is a protocol implemented in the RTCP between two clients to negotiate Video bandwidth dynamically during a call. If Network conditions are poor, TMMBR will attempt to negotiated a smaller bitrate to allow the video to flow through the network with less contention.
How do I check TMMBR is negotiated?
If TMMBR is not negotiated, the SIP trunk will likely pick a default bandwidth for the call. In a passthrough call this bitrate will be mirrored on the WEB-RTC leg, which may struggle with very high bandwidths, causing packet loss.
You will have to check the SDP answer that comes from a SIP trunk trunk.
You can find this in the calls.log of the FAS server that processed a call.
Here is an example section of video SDP that does NOT have TMMBR negotiated:
m=video 28558 RTP/AVP 97 b=TIAS:3936000 a=label:11 a=rtpmap:97 H264/90000 a=fmtp:97 profile-level-id=428016;packetization-mode=0;max-mbps=267300;max-fs=8910;max-rcmd-nalu-size=256000;level-asymmetry-allowed=1;max-fps=6000 a=imageattr:97 recv [x=1920,y=1080,q=0.60] [x=1280,y=720,q=0.50] a=content:main a=rtcp-fb:* ccm fir a=trafficclass:conversational.video.avconf.aq:admitted |
At this time we are unsure as to the reason that some devices are not offering TMMBR. It appears to be a bug in the SIP-trunk or device.
How do I resolve the choppy video issue?
We have found that changing the priority of the Video Codecs allows the endpoint to negotiate TMMBR.
This is configured on the Web Plugin Framework, under Media Configurations
If TMMBR is negotiated the SDP should look similar to this:
m=video 29774 RTP/AVP 97 b=TIAS:3936000 a=label:11 a=rtpmap:97 H264/90000 a=fmtp:97 profile-level-id=428016;packetization-mode=0;max-mbps=267300;max-fs=8910;max-rcmd-nalu-size=256000;level-asymmetry-allowed=1;max-fps=6000 a=imageattr:97 recv [x=1920,y=1080,q=0.60] [x=1280,y=720,q=0.50] a=content:main a=rtcp-fb:* ccm fir a=rtcp-fb:* nack pli a=rtcp-fb:* ccm tmmbr a=trafficclass:conversational.video.avconf.aq:admitted |
Comments
0 comments
Please sign in to leave a comment.