amazon-kinesis-video-streams-webrtc-sdk-c
amazon-kinesis-video-streams-webrtc-sdk-c copied to clipboard
Modifying relay candidate will change to prflx candidate in a specifi…
…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.
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.
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.
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
Codecov Report
Merging #1272 (27b0f1c) into master (d08634b) will decrease coverage by
28.34%
. The diff coverage is66.66%
.
@@ 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.
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.