On 15/07/2021 21:07, Juan Navarro wrote:
>
> On 15/07/2021 20.31, Daniel Pocock wrote:
>> On 15/07/2021 19:35, Juan Navarro wrote:
>>> First thing would be to check on the SDP negotiation. If you copy here a
>>> sample of the SDP Offer that is sent to Kurento, and what is the SDP
>>> Answer that Kurento responds with, I can have a look and let you know if
>>> I see something strange in there.
>> Thanks for the fast reply. Here are the SDP offer/answer exchanges
> Those SDPs look fine to me. Kurento is accepting some of the proposed
> codecs, and providing its own listening ports where those should be sent.
>
>
>> In each case, I can see:
>> - the caller is sending the video RTP packets to Kurento,
>> - netstat shows Kurento listening on the RTP/RTCP video ports
>
> Just like you say "the caller is sending the video"... can we also say
> the converse? That Kurento is indeed receiving the packets? (e.g. by
> running Wireshark in the machine where Kurento runs, just to make sure
> it is indeed receiving packets).
Yes, I ran tcpdump on the machine and then I copied the pcap file to a
local workstation to open it with Wireshark
Audio is working. If there was a connectivity or firewall problem then
the audio packets would not reach Kurento.
I checked MTU, it appears reasonable too.
WebRTC calls are successful. I made those tests on the same subnet,
same Kurento servers.
> Of course, the video RTP packets should be destined to the Kurento's
> listening ports (49022 and 29334).
Yes, that is what I see in Wireshark
> If all that is true, then the video is actually reaching Kurento. Now we
> should move into looking at why it doesn't go out out it.
>
> Is there any video RTP flow coming out of Kurento, at all? even if it's
> to the wrong destination port.
No
> Any relevant warning or error message in the logs?
This is from the Cisco, I eliminated some of these by removing the
content sharing media descriptor from the SDP.
$ grep -v DEBUG 2021-07-15T221156.00000.pid24306.log | cut -d: -f16-
"kms_sdp_mid_ext_add_answer_attributes","native!object":"<KmsSdpMidExt@0x7fb160015c50>
","msg":"Remote agent does not support groups"}
"kms_sdp_mid_ext_add_answer_attributes","native!object":"<KmsSdpMidExt@0x7fb1600484b0>
","msg":"Remote agent does not support groups"}
"create_media_answer","native!object":"<KmsSdpAgent@0x7fb150030180>
","msg":"Cannot handle media 'application RTP\/AVP' (multiple m= lines?)"}
"kms_sdp_mid_ext_add_answer_attributes","native!object":"<KmsSdpMidExt@0x7fb15001f640>
","msg":"Remote agent does not support groups"}
"kms_base_rtp_session_get_connection","native!object":"<kmsrtpsession0>
","msg":"Connection '2' not found"}
> Any of these?
>
> WARN rtpsource [...] duplicate or reordered packet (seqnr 32462, expected 32464)
> WARN kmsutils [...] GAP of 3 ms at PTS=0:01:54.187106448 (packet loss?); will request a new keyframe
> WARN kmsutils [...] DISCONTINUITY at non-keyframe; will drop until keyframe
>
>
> (especially the last one)
egrep -i '(reordered|keyframe)' 2021-07-15T*log
For the Cisco / Tandberg calls, none of those messages appear
For the Linphone calls, I have this:
"duplicate or reordered packet (seqnr 8, expected 10)"}
"duplicate or reordered packet (seqnr 10, expected 12)"}
"duplicate or reordered packet (seqnr 12, expected 14)"}
"duplicate or reordered packet (seqnr 16, expected 18)"}
"duplicate or reordered packet (seqnr 20, expected 22)"}
"duplicate or reordered packet (seqnr 22, expected 24)"}
...
Do you have any test instance of Kurento on a server with public
connectivity? If you like, I can configure my reSIProcate process to
make a WebSocket connection to your Kurento machine so you can observe
the same behavior.
In reSIProcate, I created a parameter like this:
KurentoURI = kurento:aaa.bbb.ccc.ddd:8888
Regards,
Daniel