AWS Kinesis Video Streams WebRTC: Resolving Connection Warnings and Errors on Raspberry Pi

98 views Asked by At

I'm implementing Amazon Kinesis Video Streams WebRTC SDK on a Raspberry Pi and encountering warnings and errors during the execution of kvsWebrtcClientMasterGstSample. My setup includes:

  • IAM User credentials in ~/.bashrc
  • AWS CLI installed and configured
  • SDK built successfully
  • No x.509 certificates, using IAM user keys for simplicity

I'm particularly concerned with warnings related to getIpAddrFromDnsHostname() and socketConnectionIsConnected(). Here's the detailed terminal output:

main@main:~/dev/amazon-kinesis-video-streams-webrtc-sdk-c/build $ samples/kvsWebrtcClientMasterGstSample PiBot
2023-12-24 16:35:10.397 PROFILE createRtcCertificate(): [Certificate creation time] Time taken: 3 ms
2023-12-24 16:35:11.394 PROFILE createRtcCertificate(): [Certificate creation time] Time taken: 0 ms
2023-12-24 16:35:12.394 PROFILE createRtcCertificate(): [Certificate creation time] Time taken: 0 ms
[KVS GStreamer Master] Using device source in GStreamer
[2023/12/24 16:35:13:2963] N: LWS: 4.2.1-v4.2.2, loglevel 7
[2023/12/24 16:35:13:2964] N: NET CLI H1 H2 WS ConMon IPv6-absent
[2023/12/24 16:35:13:2966] N:  ++ [wsi|0|pipe] (1)
[2023/12/24 16:35:13:2968] N:  ++ [vh|0|netlink] (1)
[2023/12/24 16:35:13:2970] N:  ++ [vh|1|default||-1] (2)
2023-12-24 16:35:13.297 PROFILE executeGetTokenSignalingState(): [Get token call] Time taken: 0 ms
2023-12-24 16:35:13.298 PROFILE createSignalingClientSync(): [Create signaling client] Time taken: 2 ms
[2023/12/24 16:35:13:2983] N:  ++ [wsicli|0|POST/h1/kinesisvideo.eu-west-1.amazonaws.com] (1)
[2023/12/24 16:35:13:7418] N:  -- [wsicli|0|POST/h1/kinesisvideo.eu-west-1.amazonaws.com] (0) 443.461ms
2023-12-24 16:35:13.741 PROFILE executeDescribeSignalingState(): [Describe signaling call] Time taken: 443 ms
[2023/12/24 16:35:13:7421] N:  ++ [wsicli|1|POST/h1/kinesisvideo.eu-west-1.amazonaws.com] (1)
[2023/12/24 16:35:14:0847] N:  -- [wsicli|1|POST/h1/kinesisvideo.eu-west-1.amazonaws.com] (0) 342.594ms
2023-12-24 16:35:14.085 PROFILE executeGetEndpointSignalingState(): [Get endpoint signaling call] Time taken: 343 ms
[2023/12/24 16:35:14:0856] N:  ++ [wsicli|2|POST/h1/r-d1721414.kinesisvideo.eu-west-1.amazonaws.] (1)
[2023/12/24 16:35:14:5939] N:  -- [wsicli|2|POST/h1/r-d1721414.kinesisvideo.eu-west-1.amazonaws.] (0) 508.362ms
2023-12-24 16:35:14.594 PROFILE executeGetIceConfigSignalingState(): [Get ICE config signaling call] Time taken: 508 ms
2023-12-24 16:35:14.594 PROFILE signalingClientFetchSync(): [Fetch signaling client] Time taken: 1296 ms
[2023/12/24 16:35:14:5947] N:  ++ [wsicli|3|WS/h1/m-214cdd09.kinesisvideo.eu-west-1.amazonaws.co] (1)
2023-12-24 16:35:15.009 PROFILE executeConnectSignalingState(): [Connect signaling call] Time taken: 415 ms
2023-12-24 16:35:15.009 PROFILE signalingClientConnectSync(): [Connect signaling client] Time taken: 415 ms
2023-12-24 16:35:15.009 PROFILE initSignaling(): [Signaling Get token] 0 ms
2023-12-24 16:35:15.009 PROFILE initSignaling(): [Signaling Describe] 443 ms
2023-12-24 16:35:15.009 PROFILE initSignaling(): [Signaling Describe Media] 0 ms
2023-12-24 16:35:15.009 PROFILE initSignaling(): [Signaling Create Channel] 0 ms
2023-12-24 16:35:15.009 PROFILE initSignaling(): [Signaling Get endpoint] 343 ms
2023-12-24 16:35:15.009 PROFILE initSignaling(): [Signaling Get ICE config] 508 ms
2023-12-24 16:35:15.010 PROFILE initSignaling(): [Signaling Connect] 415 ms
2023-12-24 16:35:15.010 PROFILE initSignaling(): [Signaling create client] 2 ms
2023-12-24 16:35:15.010 PROFILE initSignaling(): [Signaling fetch client] 1296 ms
2023-12-24 16:35:15.010 PROFILE initSignaling(): [Signaling connect client] 415 ms
2023-12-24 16:35:27.730 WARN    getIpAddrFromDnsHostname(): Received unexpected hostname format: stun.kinesisvideo.eu-west-1.amazonaws.com
2023-12-24 16:35:27.730 WARN    getIpWithHostName(): Parsing for address failed for stun.kinesisvideo.eu-west-1.amazonaws.com, fallback to getaddrinfo
2023-12-24 16:35:27.806 PROFILE getIpWithHostName(): ICE Server address for stun.kinesisvideo.eu-west-1.amazonaws.com with getaddrinfo: 18.200.185.68
2023-12-24 16:35:27.806 PROFILE createIceAgent(): [ICE server parsing] Time taken: 76 ms
2023-12-24 16:35:27.806 PROFILE getIpWithHostName(): ICE Server address for 63-33-206-38.t-e22a89b9.kinesisvideo.eu-west-1.amazonaws.com: 63.33.206.38
2023-12-24 16:35:27.806 PROFILE createIceAgent(): [ICE server parsing] Time taken: 0 ms
2023-12-24 16:35:27.807 PROFILE getIpWithHostName(): ICE Server address for 63-33-206-38.t-e22a89b9.kinesisvideo.eu-west-1.amazonaws.com: 63.33.206.38
2023-12-24 16:35:27.807 PROFILE createIceAgent(): [ICE server parsing] Time taken: 0 ms
2023-12-24 16:35:27.807 PROFILE getIpWithHostName(): ICE Server address for 63-33-206-38.t-e22a89b9.kinesisvideo.eu-west-1.amazonaws.com: 63.33.206.38
2023-12-24 16:35:27.807 PROFILE createIceAgent(): [ICE server parsing] Time taken: 0 ms
2023-12-24 16:35:27.807 PROFILE createPeerConnection(): [Peer connection object creation time] Time taken: 79 ms
2023-12-24 16:35:27.813 PROFILE iceAgentStartGathering(): [Host candidate gathering from local interfaces] Time taken: 0 ms
2023-12-24 16:35:27.814 PROFILE iceAgentStartGathering(): [Host candidates setup time] Time taken: 0 ms
2023-12-24 16:35:27.814 PROFILE iceAgentStartGathering(): [Srflx candidates setup time] Time taken: 0 ms
2023-12-24 16:35:27.814 PROFILE iceAgentStartGathering(): [Relay candidates setup time] Time taken: 0 ms
2023-12-24 16:35:27.821 PROFILE signalingSendMessageSync(): [Offer Received to Answer Sent time] Time taken: 94 ms
2023-12-24 16:35:27.821 PROFILE sendSignalingMessage(): [Signaling offer received to answer sent time] 94 ms
2023-12-24 16:35:27.867 WARN    socketConnectionIsConnected(): socket connection check failed with errno Operation already in progress(114)
2023-12-24 16:35:28.015 PROFILE iceAgentReadyStateSetup(): Selected pair eO4WfEyGo_+RzcK9hRC, local candidate type: host. remote candidate type: host. Round trip time 5 ms. Local candidate priority: 2130706431, ice candidate pair priority: 9115038255648079870
2023-12-24 16:35:28.015 PROFILE executeReadyIceAgentState(): [Time taken to get ICE Agent ready for media exchange] Time taken: 200 ms
2023-12-24 16:35:28.019 PROFILE iceAgentGatherCandidateTimerCallback(): [Candidate gathering time] Time taken: 205 ms
2023-12-24 16:35:28.024 PROFILE dtlsSessionChangeState(): [DTLS initialization completion] Time taken: 109 ms
2023-12-24 16:35:28.025 PROFILE changePeerConnectionState(): [ICE Hole Punching Time] Time taken: 209 ms
2023-12-24 16:35:28.396 PROFILE createRtcCertificate(): [Certificate creation time] Time taken: 0 ms
2023-12-24 16:35:47.305 PROFILE closePeerConnection(): [Close peer connection] Time taken: 50 ms
2023-12-24 16:35:47.306 PROFILE freePeerConnection(): [Free peer connection] Time taken: 1 ms
2023-12-24 16:35:55.687 WARN    getIpAddrFromDnsHostname(): Received unexpected hostname format: stun.kinesisvideo.eu-west-1.amazonaws.com
2023-12-24 16:35:55.687 WARN    getIpWithHostName(): Parsing for address failed for stun.kinesisvideo.eu-west-1.amazonaws.com, fallback to getaddrinfo
2023-12-24 16:35:55.718 PROFILE getIpWithHostName(): ICE Server address for stun.kinesisvideo.eu-west-1.amazonaws.com with getaddrinfo: 18.200.185.68
2023-12-24 16:35:55.719 PROFILE createIceAgent(): [ICE server parsing] Time taken: 31 ms
2023-12-24 16:35:55.719 PROFILE getIpWithHostName(): ICE Server address for 63-33-206-38.t-e22a89b9.kinesisvideo.eu-west-1.amazonaws.com: 63.33.206.38
2023-12-24 16:35:55.719 PROFILE createIceAgent(): [ICE server parsing] Time taken: 0 ms
2023-12-24 16:35:55.719 PROFILE getIpWithHostName(): ICE Server address for 63-33-206-38.t-e22a89b9.kinesisvideo.eu-west-1.amazonaws.com: 63.33.206.38
2023-12-24 16:35:55.719 PROFILE createIceAgent(): [ICE server parsing] Time taken: 0 ms
2023-12-24 16:35:55.719 PROFILE getIpWithHostName(): ICE Server address for 63-33-206-38.t-e22a89b9.kinesisvideo.eu-west-1.amazonaws.com: 63.33.206.38
2023-12-24 16:35:55.719 PROFILE createIceAgent(): [ICE server parsing] Time taken: 0 ms
2023-12-24 16:35:55.721 PROFILE createPeerConnection(): [Peer connection object creation time] Time taken: 38 ms
2023-12-24 16:35:55.725 PROFILE iceAgentStartGathering(): [Host candidate gathering from local interfaces] Time taken: 0 ms
2023-12-24 16:35:55.725 PROFILE iceAgentStartGathering(): [Host candidates setup time] Time taken: 0 ms
2023-12-24 16:35:55.725 PROFILE iceAgentStartGathering(): [Srflx candidates setup time] Time taken: 0 ms
2023-12-24 16:35:55.726 PROFILE iceAgentStartGathering(): [Relay candidates setup time] Time taken: 0 ms
2023-12-24 16:35:55.731 PROFILE signalingSendMessageSync(): [Offer Received to Answer Sent time] Time taken: 48 ms
2023-12-24 16:35:55.731 PROFILE sendSignalingMessage(): [Signaling offer received to answer sent time] 48 ms
2023-12-24 16:35:55.779 WARN    socketConnectionIsConnected(): socket connection check failed with errno Operation already in progress(114)
2023-12-24 16:35:55.927 PROFILE iceAgentReadyStateSetup(): Selected pair lRMSFGyPI_xkN5JWOhs, local candidate type: host. remote candidate type: host. Round trip time 3 ms. Local candidate priority: 2130706431, ice candidate pair priority: 9115038255648079870
2023-12-24 16:35:55.927 PROFILE executeReadyIceAgentState(): [Time taken to get ICE Agent ready for media exchange] Time taken: 200 ms
2023-12-24 16:35:55.930 PROFILE iceAgentGatherCandidateTimerCallback(): [Candidate gathering time] Time taken: 206 ms
2023-12-24 16:35:55.941 PROFILE dtlsSessionChangeState(): [DTLS initialization completion] Time taken: 114 ms
2023-12-24 16:35:55.942 PROFILE changePeerConnectionState(): [ICE Hole Punching Time] Time taken: 214 ms
2023-12-24 16:35:56.399 PROFILE createRtcCertificate(): [Certificate creation time]

Could anyone provide insights into the implications of these warnings and any potential resolutions to ensure a stable connection?

0

There are 0 answers