

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Persyaratan sistem
<a name="kvswebrtc-requirements"></a>

Bagian ini mencakup persyaratan sistem dasar untuk menggunakan Amazon Kinesis Video Streams dengan WebRTC, termasuk persyaratan jaringan dan lingkungan. Ini juga mencakup informasi tentang koneksi debugging.

## Persyaratan jaringan
<a name="networking-requirements"></a>

Persyaratan jaringan umum untuk titik akhir layanan saluran pensinyalan untuk Kinesis Video Streams dengan WebRTC adalah:
+ Panggilan HTTPS ke titik akhir yang dihosting di `https://*.kinesisvideo.{region}.amazonaws.com`
+ WebSocket integrasi dengan titik akhir `wss://*.kinesisvideo.{region}.amazonaws.com`
+ `STUN`server di `stun:stun.kinesisvideo.{aws-region}.amazonaws.com:443`
+ `TURN`server di `turn:_._.kinesisvideo.{aws-region}.amazonaws.com:443` dan `turns:_._.kinesisvideo.{aws-region}.amazonaws.com:443`

**catatan**  
IPv6 alamat saat ini tidak didukung untuk `STUN` dan `TURN` server.

Protokol yang digunakan antara rekan-rekan sebagai bagian dari RTCPeer Koneksi dapat berupa berbasis TCP atau UDP. 

Sebagian besar aplikasi mencoba untuk membangun peer-to-peer koneksi langsung dengan menentukan alamat IP untuk setiap rekan, serta port dan protokol yang akan dipertukarkan sebagai kandidat ICE. Kandidat ini digunakan untuk mencoba terhubung satu sama lain menggunakan kandidat ini. Mereka akan mencoba setiap pasangan sampai koneksi dapat dibuat.

## Lingkungan jaringan
<a name="network-environment"></a>

Jika pesan dari penampil telah dikirim ke master dan log seperti `No valid ICE candidate` direkam, maka tidak ada rute koneksi yang valid telah ditemukan. Ini bisa terjadi jika ada firewall yang mencegah koneksi langsung, atau jika jaringan tidak dapat dijangkau.

Lakukan hal berikut untuk memecahkan masalah konektivitas:
+ Jika Anda tidak menggunakan `TURN` di sisi master, pastikan untuk mengaktifkan`TURN`. 

  `TURN`diaktifkan secara default di C SDK. Di JavaScript SDK, pilih `STUN/TURN` atau `TURN only` di NAT Traversal.
+ Untuk jaringan terbatas, seperti jaringan perusahaan, coba jaringan lain yang tersedia (kabel atau nirkabel). 

  Jika Anda terhubung ke VPN, putuskan sambungan darinya.

**catatan**  
Anda dapat mengabaikan 403 `Forbidden IP` kesalahan yang dikembalikan oleh Kinesis Video Streams TURN server. Server menolak pasangan kandidat ICE yang berisi `localhost` IPs, seperti `192.168.*` atau`10.0.0.*`.  
Ini dapat menyebabkan beberapa, tetapi tidak semua, pasangan kandidat ICE gagal.

## Debugging koneksi yang sedang berlangsung
<a name="debug-ongoing-connection"></a>

Ada beberapa area yang dapat menyebabkan masalah dengan koneksi WebRTC yang mapan dan berkelanjutan, tetapi jaringan adalah yang paling umum.

Anda dapat mengonfirmasi log level VERBOSE dari SDK dengan menyetelnya `export AWS_KVS_LOG_LEVEL=1` sebagai variabel lingkungan.

**catatan**  
Jika tidak ada pasangan kandidat yang ditemukan dalam batas waktu yang ditentukan, agen ICE mengembalikan status kesalahan. `0x5a00000d`

Untuk informasi tambahan tentang tingkat log, lihat [GitHub](https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/blob/master/README.md#setup-desired-log-level).

```
export AWS_KVS_LOG_LEVEL=1
./kvsWebrtcClientMasterGstSample TestChannel
```

Anda akan melihat log seperti berikut ini. Dari log ini, Anda dapat mengonfirmasi kandidat Interactive Connectivity Establishment (ICE) (alamat IP dan port) dan pasangan kandidat yang dipilih.

```
2023-02-13 05:57:16 DEBUG   iceAgentReadyStateSetup(): Selected pair w1UdV9fE+_/CuBel1pl, local candidate type: srflx. Round trip time 7 ms. Local candidate priority: 1694498815, ice candidate pair priority: 7240977859836116990
2023-02-13 05:57:16 INFO    onConnectionStateChange(): New connection state 3
2023-02-13 05:57:16 DEBUG   rtcPeerConnectionGetMetrics(): ICE local candidate Stats requested at 16762678365731494
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Local Candidate IP Address: XXX.XXX.XXX.XXX
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Local Candidate type: srflx
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Local Candidate port: 38563
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Local Candidate priority: 1694498815
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Local Candidate transport protocol: udp
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Local Candidate relay protocol: N/A
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Local Candidate Ice server source: stun.kinesisvideo.ap-northeast-1.amazonaws.com
2023-02-13 05:57:16 DEBUG   rtcPeerConnectionGetMetrics(): ICE remote candidate Stats requested at 16762678365732111
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Remote Candidate IP Address: XXX.XXX.XXX.XXX
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Remote Candidate type: srflx
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Remote Candidate port: 45867
2023-02-13 05:57:16 VERBOSE signalingClientGetCurrentState(): Signaling Client Get Current State
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Remote Candidate priority: 1685921535
2023-02-13 05:57:16 DEBUG   logSelectedIceCandidatesInformation(): Remote Candidate transport protocol: udp
```