amazon-kinesis-video-streams-webrtc-sdk-c icon indicating copy to clipboard operation
amazon-kinesis-video-streams-webrtc-sdk-c copied to clipboard

Modifying relay candidate will change to prflx candidate in a specifi…

Open ZhaoJianliuser opened this issue 3 years ago • 5 comments

…c network environment, resulting in the problem of being unable to connect

Issue #, if available:

Modifying relay candidate will change to prflx candidate in a specific network environment, resulting in the problem of being unable to connect.

Description of changes: The simplest way is to modify only non relay candidate to the prflx type .

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

ZhaoJianliuser avatar Sep 17 '21 05:09 ZhaoJianliuser

Looks OK. Is there any scenario that we might be breaking with this?

Like a scene I just met, the turn server is deployed in the company intranet,and configure EIP for external camera to access. The camera obtains the relay candidate through the allocation request, at this time, the relay candidate's address is the EIP, but the app is on the company intranet, when the camera sends a binding request through the relay for connection check, the turn server address seen by the app is intranet address,which is diffrent from the EIP.

Another note is that I disabled the UDP protocol on the router connected to the camera, so that successful connection must be the relay candidate of the TLS protocol. After I made such modifications, I can connect normally.

ZhaoJianliuser avatar Sep 25 '21 00:09 ZhaoJianliuser

Looks OK. Is there any scenario that we might be breaking with this?

Like a scene I just met, the turn server is deployed in the company intranet,and configure EIP for external camera to access. The camera obtains the relay candidate through the allocation request, at this time, the relay candidate's address is the EIP, but the app is on the company intranet, when the camera sends a binding request through the relay for connection check, the turn server address seen by the app is intranet address,which is diffrent from the EIP.

Another note is that I disabled the UDP protocol on the router connected to the camera, so that successful connection must be the relay candidate of the TLS protocol. After I made such modifications, I can connect normally.

@hassanctech can you also comment on this? Last time I checked the code was a while back. From what I see, this shouldn't impact the existing scenarios.

MushMal avatar Sep 27 '21 16:09 MushMal

Modify to release allocation through refresh,

I think it is inappropriate to set waituntilallocationfreedtimeout to 0. The SDK side has no chance to send a refresh to release the server side allocation

ZhaoJianliuser avatar Oct 15 '21 10:10 ZhaoJianliuser

Codecov Report

Merging #1272 (27b0f1c) into master (d08634b) will decrease coverage by 28.34%. The diff coverage is 66.66%.

Impacted file tree graph

@@             Coverage Diff             @@
##           master    #1272       +/-   ##
===========================================
- Coverage   86.01%   57.66%   -28.35%     
===========================================
  Files          42       42               
  Lines       10594    10597        +3     
===========================================
- Hits         9112     6111     -3001     
- Misses       1482     4486     +3004     
Impacted Files Coverage Δ
src/source/Ice/IceAgent.c 86.21% <66.66%> (-8.79%) :arrow_down:
src/source/Crypto/Tls.c 0.00% <0.00%> (-100.00%) :arrow_down:
src/source/Ice/TurnConnection.c 0.00% <0.00%> (-93.46%) :arrow_down:
src/source/Signaling/ChannelInfo.c 0.00% <0.00%> (-88.03%) :arrow_down:
src/source/Signaling/Signaling.c 11.32% <0.00%> (-83.78%) :arrow_down:
src/source/Signaling/LwsApiCalls.c 1.34% <0.00%> (-82.67%) :arrow_down:
src/source/Crypto/Tls_openssl.c 0.00% <0.00%> (-82.65%) :arrow_down:
src/source/Signaling/StateMachine.c 0.00% <0.00%> (-81.45%) :arrow_down:
src/source/Ice/SocketConnection.c 50.90% <0.00%> (-32.89%) :arrow_down:
src/source/Signaling/FileCache.c 73.87% <0.00%> (-23.43%) :arrow_down:
... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d08634b...27b0f1c. Read the comment docs.

codecov-commenter avatar Oct 15 '21 10:10 codecov-commenter

This is a very old issue. We encourage you to check if this is still an issue in the latest release and if you find that this is still a problem, please feel free to open a new one.

github-actions[bot] avatar May 19 '22 00:05 github-actions[bot]