Skip to content

Commit fc0328b

Browse files
codingspiritdisa6302
authored andcommitted
add support for CN region (#1612)
Signed-off-by: Alex Li <zhiqinli@amazon.com> Signed-off-by: Alex Li <zhiqinli@amazon.com>
1 parent 82ae3bf commit fc0328b

File tree

7 files changed

+25
-12
lines changed

7 files changed

+25
-12
lines changed

samples/Common.c

+7-1
Original file line numberDiff line numberDiff line change
@@ -377,7 +377,13 @@ STATUS initializePeerConnection(PSampleConfiguration pSampleConfiguration, PRtcP
377377
configuration.iceTransportPolicy = ICE_TRANSPORT_POLICY_ALL;
378378

379379
// Set the STUN server
380-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, pSampleConfiguration->channelInfo.pRegion);
380+
PCHAR pKinesisVideoStunUrlPostFix = KINESIS_VIDEO_STUN_URL_POSTFIX;
381+
// If region is in CN, add CN region uri postfix
382+
if (STRSTR(pSampleConfiguration->channelInfo.pRegion, "cn-")) {
383+
pKinesisVideoStunUrlPostFix = KINESIS_VIDEO_STUN_URL_POSTFIX_CN;
384+
}
385+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, pSampleConfiguration->channelInfo.pRegion,
386+
pKinesisVideoStunUrlPostFix);
381387

382388
if (pSampleConfiguration->useTurn) {
383389
// Set the URIs from the configuration

src/include/com/amazonaws/kinesis/video/webrtcclient/Include.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -670,7 +670,9 @@ extern "C" {
670670
/**
671671
* Parameterized string for KVS STUN Server
672672
*/
673-
#define KINESIS_VIDEO_STUN_URL "stun:stun.kinesisvideo.%s.amazonaws.com:443"
673+
#define KINESIS_VIDEO_STUN_URL_POSTFIX "amazonaws.com"
674+
#define KINESIS_VIDEO_STUN_URL_POSTFIX_CN "amazonaws.com.cn"
675+
#define KINESIS_VIDEO_STUN_URL "stun:stun.kinesisvideo.%s.%s:443"
674676

675677
/**
676678
* Default signaling SSL port

src/source/Signaling/ChannelInfo.c

+4
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,10 @@ STATUS createValidateChannelInfo(PChannelInfo pOrigChannelInfo, PChannelInfo* pp
138138
// Create a fully qualified URI
139139
SNPRINTF(pCurPtr, MAX_CONTROL_PLANE_URI_CHAR_LEN, "%s%s.%s%s", CONTROL_PLANE_URI_PREFIX, KINESIS_VIDEO_SERVICE_NAME, pChannelInfo->pRegion,
140140
CONTROL_PLANE_URI_POSTFIX);
141+
// If region is in CN, add CN region uri postfix
142+
if (STRSTR(pChannelInfo->pRegion, "cn-")) {
143+
STRCAT(pCurPtr, ".cn");
144+
}
141145
}
142146

143147
pChannelInfo->pControlPlaneUrl = pCurPtr;

tst/PeerConnectionFunctionalityTest.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ TEST_F(PeerConnectionFunctionalityTest, sendDataWithClosedSocketConnectionWithHo
232232
PSocketConnection pSocketConnection;
233233

234234
MEMSET(&configuration, 0x00, SIZEOF(RtcConfiguration));
235-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
235+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
236236

237237
EXPECT_EQ(createPeerConnection(&configuration, &offerPc), STATUS_SUCCESS);
238238
EXPECT_EQ(createPeerConnection(&configuration, &answerPc), STATUS_SUCCESS);
@@ -524,7 +524,7 @@ TEST_F(PeerConnectionFunctionalityTest, connectTwoPeersWithHostAndStun)
524524
MEMSET(&configuration, 0x00, SIZEOF(RtcConfiguration));
525525

526526
// Set the STUN server
527-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
527+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
528528

529529
EXPECT_EQ(createPeerConnection(&configuration, &offerPc), STATUS_SUCCESS);
530530
EXPECT_EQ(createPeerConnection(&configuration, &answerPc), STATUS_SUCCESS);

tst/SdpApiTest.cpp

+7-7
Original file line numberDiff line numberDiff line change
@@ -614,7 +614,7 @@ a=group:BUNDLE 0
614614
RtcSessionDescriptionInit offerSdp{};
615615
RtcSessionDescriptionInit answerSdp{};
616616

617-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
617+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
618618

619619
track1.kind = MEDIA_STREAM_TRACK_KIND_VIDEO;
620620
track1.codec = RTC_CODEC_VP8;
@@ -667,7 +667,7 @@ a=group:BUNDLE audio video data
667667
RtcSessionDescriptionInit offerSdp{};
668668
RtcSessionDescriptionInit answerSdp{};
669669

670-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
670+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
671671

672672
track1.kind = MEDIA_STREAM_TRACK_KIND_VIDEO;
673673
track1.codec = RTC_CODEC_VP8;
@@ -728,7 +728,7 @@ a=group:BUNDLE 0
728728
RtcSessionDescriptionInit offerSdp{};
729729
RtcSessionDescriptionInit answerSdp{};
730730

731-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
731+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
732732

733733
track1.kind = MEDIA_STREAM_TRACK_KIND_VIDEO;
734734
track1.codec = RTC_CODEC_VP8;
@@ -786,7 +786,7 @@ a=group:BUNDLE 0
786786
RtcSessionDescriptionInit offerSdp{};
787787
RtcSessionDescriptionInit answerSdp{};
788788

789-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
789+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
790790

791791
track1.kind = MEDIA_STREAM_TRACK_KIND_VIDEO;
792792
track1.codec = RTC_CODEC_VP8;
@@ -849,7 +849,7 @@ a=ice-options:trickle
849849
RtcSessionDescriptionInit offerSdp{};
850850
RtcSessionDescriptionInit answerSdp{};
851851

852-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
852+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
853853

854854
track1.kind = MEDIA_STREAM_TRACK_KIND_VIDEO;
855855
track1.codec = RTC_CODEC_VP8;
@@ -1102,7 +1102,7 @@ a=ice-options:trickle
11021102
RtcSessionDescriptionInit offerSdp{};
11031103
RtcSessionDescriptionInit answerSdp{};
11041104

1105-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
1105+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
11061106

11071107
track1.kind = MEDIA_STREAM_TRACK_KIND_VIDEO;
11081108
track1.codec = RTC_CODEC_VP8;
@@ -1320,7 +1320,7 @@ a=ssrc:1644235696 cname:{36a6a74c-73a4-594b-9bb0-023b4d357280})";
13201320
RtcSessionDescriptionInit offerSdp{};
13211321
RtcSessionDescriptionInit answerSdp{};
13221322

1323-
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
1323+
SNPRINTF(configuration.iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
13241324

13251325
track1.kind = MEDIA_STREAM_TRACK_KIND_VIDEO;
13261326
track1.codec = RTC_CODEC_VP8;

tst/WebRTCClientTestFixture.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ void WebRtcClientTestBase::getIceServers(PRtcConfiguration pRtcConfiguration)
256256
EXPECT_EQ(STATUS_SUCCESS, signalingClientGetIceConfigInfoCount(mSignalingClientHandle, &iceConfigCount));
257257

258258
// Set the STUN server
259-
SNPRINTF(pRtcConfiguration->iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION);
259+
SNPRINTF(pRtcConfiguration->iceServers[0].urls, MAX_ICE_CONFIG_URI_LEN, KINESIS_VIDEO_STUN_URL, TEST_DEFAULT_REGION, TEST_DEFAULT_STUN_URL_POSTFIX);
260260

261261
for (uriCount = 0, i = 0; i < iceConfigCount; i++) {
262262
EXPECT_EQ(STATUS_SUCCESS, signalingClientGetIceConfigInfo(mSignalingClientHandle, i, &pIceConfigInfo));

tst/WebRTCClientTestFixture.h

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
#include <atomic>
99

1010
#define TEST_DEFAULT_REGION ((PCHAR) "us-west-2")
11+
#define TEST_DEFAULT_STUN_URL_POSTFIX (KINESIS_VIDEO_STUN_URL_POSTFIX)
1112
#define TEST_STREAMING_TOKEN_DURATION (40 * HUNDREDS_OF_NANOS_IN_A_SECOND)
1213
#define TEST_JITTER_BUFFER_CLOCK_RATE (1000)
1314
#define TEST_SIGNALING_MASTER_CLIENT_ID (PCHAR) "Test_Master_ClientId"

0 commit comments

Comments
 (0)