Menggunakan Meet eCDN On-Premises API

Halaman ini menjelaskan cara menggunakan API On-Premises Jaringan Penayangan Konten (eCDN) Google Meet Enterprise untuk Live Streaming Google Meet.

Solusi API yang dijelaskan di sini memungkinkan pelanggan menggunakan kumpulan fitur lengkap eCDN Meet tanpa mengekspos informasi IP pribadi ke Google. Anda dapat menentukan layanan web lokal baru di jaringan Anda sendiri yang meneruskan ID, bukan informasi alamat IP pribadi.

Ringkasan eCDN Meet

eCDN sudah terintegrasi di Meet dan dimulai secara otomatis selama livestream setelah administrator Google Workspace menyiapkannya. Dengan mengaktifkan eCDN Meet, penonton live stream dalam jaringan lokal dapat berbagi media live stream dengan penonton lain dalam jaringan tersebut melalui berbagi peer-to-peer (P2P). Sebagian besar perangkat menerima media live stream dari penonton di sekitar dan tidak perlu mengambilnya dari server Google. Hal ini akan menurunkan total bandwidth yang digunakan oleh penonton. Untuk informasi selengkapnya tentang cara menyiapkan dan menggunakan eCDN Meet, lihat Menghosting live stream besar.

eCDN mengharuskan penonton Live Streaming Meet untuk diurutkan ke dalam grup peering. Grup peering adalah kumpulan node yang diizinkan untuk berbagi media satu sama lain. Perangkat dalam grup peering diizinkan untuk melakukan peering atau diblokir dari peering. Perangkat yang diizinkan hanya dapat terhubung ke perangkat lain dalam grup peering yang sama. Untuk mengetahui informasi selengkapnya tentang grup peering, lihat Sebelum mulai menyelenggarakan live stream berskala besar.

Kapan harus menggunakan API

eCDN dapat membentuk grup peering menggunakan beberapa kebijakan peering yang berbeda: random, subnet, atau custom rules. Server ini membagikan tabel rentang jaringan pribadi dengan server pelacak eCDN Google untuk memetakan alamat IP pribadi setiap node peer ke grup peering. Kebijakan custom rules adalah solusi yang lebih disukai dan cocok di sebagian besar lingkungan produksi.

Namun, kebijakan custom rules mengharuskan Anda membagikan sebagian besar struktur jaringan pribadi Anda kepada Google. Selain itu, setiap pengguna mengekspos alamat IP pribadi yang terdeteksi secara lokal ke Google saat menggunakan eCDN. Untuk beberapa organisasi, panduan keamanan mereka mungkin tidak mengizinkan pembagian informasi IP pribadi.

Mengembangkan dengan Meet eCDN On-Premises API

Meet eCDN On-Premises API menyediakan spesifikasi server web yang dapat Anda terapkan dan host secara lokal di jaringan organisasi. Anda dapat membuat layanan web kustom yang kompatibel dengan API untuk melakukan semua tugas yang bergantung pada informasi IP pribadi sehingga informasi tidak dibagikan ke Google.

API ini mencakup dua langkah penting untuk mencocokkan alamat IP pribadi yang biasanya ditangani oleh server pelacak eCDN: memetakan alamat IP pribadi ke grup peering dan pertukaran data penawaran-jawaban Session Description Protocol (SDP) selama sinyal WebRTC.

Setelah layanan web selesai, Anda harus mengonfigurasi konsol Admin untuk menggunakan kebijakan peering On-premises service dan menyertakan URL layanan web kustom Anda.

Persyaratan

Jika Anda perlu mengaktifkan salah satu persyaratan ini untuk organisasi, hubungi Administrator Google Workspace Anda:

  • Setiap server web yang menggunakan HTTPS dapat mengimplementasikan API ini.

  • Gunakan HTTPS untuk mencegah kegagalan konten campuran.

  • Menerima dan menampilkan data JSON. Gunakan encoding konten apa pun yang didukung oleh browser Anda.

  • Tayangkan endpoint dalam rute /vn dengan n adalah versi API yang dipilih. Contohnya, /v1/get-peering-group.

  • Penonton Live Streaming Meet dapat mempelajari URL layanan web Anda melalui konsol Google Admin. URL dapat ditetapkan secara global, per unit organisasi, atau per grup. Pastikan pelihat dapat terhubung ke instance layanan yang ditetapkan. Untuk informasi selengkapnya, lihat Mengonfigurasi konsol Admin.

  • Layanan Anda harus menampilkan respons dalam waktu dua detik. Jika tidak, klien eCDN akan dinonaktifkan dan penonton akan terus menonton acara live sebagai pengguna reguler, non-eCDN, yang menolak penghematan bandwidth.

  • Layanan Anda harus menetapkan header Cross-Origin Resource Sharing (CORS) berikut:

    • Access-Control-Allow-Origin: meet.google.com
    • Access-Control-Allow-Headers: GET, POST, OPTIONS
    • Access-Control-Allow-Credentials: true

Memetakan alamat IP pribadi ke grup peering

Klien eCDN melakukan panggilan setiap kali mencoba terhubung kembali ke server pelacak eCDN. Setelah perangkat mendeteksi alamat IP pribadi, alamat tersebut harus dipetakan ke grup peering yang sesuai. Anda harus mengirim alamat IP pribadi ke server di jaringan dan me-resolve-nya secara manual ke grup peering menggunakan metode get-peering-group(). ID grup peering ditampilkan dalam respons. Saat berkomunikasi dengan Google, ID grup peering yang dihasilkan akan diteruskan, bukan alamat IP pribadi.

Cara alamat IP pribadi dipetakan ke grup peering.
Gambar 1. Memetakan alamat IP pribadi ke grup peering.

Contoh kode berikut menunjukkan cara memanggil metode get-peering-group() bersama dengan potensi respons error dan isi respons yang diharapkan:

POST /v1/get-peering-group
Content-Type: application/json

Request body:
{
  "availableIPs": []{
    "format": "ipv4"|"ipv6",
    "address": "DETECTED_ADDRESS"
  }
}

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE",
}

Response body:
{
  "result": "PEERING_GROUP_ID",
  "error": null,
}

Tabel berikut menunjukkan format respons yang diharapkan:

Status HTTP Error ID grup peering Reaksi klien
200 null String yang tidak kosong Klien harus diurutkan ke dalam grup peering dan melanjutkan untuk terhubung ke server pelacak eCDN.
200 NOT_FOUND null Klien mengakhiri sesi eCDN.
200 BLOCKED null Klien mengakhiri sesi eCDN.
200 String lain yang tidak kosong null Klien mengakhiri sesi eCDN.
302 (Ditemukan) Klien mengikuti pengalihan ke URL baru yang ditentukan dalam header Location isi respons.
Kode status lainnya String apa pun String apa pun Klien mengakhiri sesi eCDN.

Pertukaran data penawaran-jawaban SDP

Untuk memulai koneksi WebRTC, perangkat harus bertukar penawaran dan jawaban SDP, termasuk kandidat Interactive Connectivity Establishment (ICE), yang berisi informasi IP pribadi. Hal ini dilakukan sebagai bagian dari proses sinyal WebRTC.

Klien harus mengenkripsi kandidat ICE di dalam jaringan mereka melalui Meet eCDN On-Premises API, menggunakan metode encrypt-sdp(). Metode ini menggunakan kunci yang tidak pernah diekspos ke Google. Penawaran SDP terenkripsi kemudian dikirim ke peer menggunakan server pelacak eCDN. Peer klien kemudian mendekripsi informasi yang diterima di dalam jaringannya menggunakan metode decrypt-sdp(). Google kemudian meneruskan penawaran dan jawaban di antara peer yang terhubung.

Setelah koneksi dibuat menggunakan Meet eCDN On-Premises API, eCDN akan beroperasi seperti biasa. Peer merutekan media melalui jaringan peering biasa dan traffic media tidak melewati atau menggunakan API.

Cara data penawaran dan jawaban SDP dienkripsi dan didekripsi.
Gambar 2. Mengenkripsi dan mendekripsi data penawaran dan jawaban SDP.

Contoh kode berikut menunjukkan cara memanggil metode encrypt-sdp() beserta dengan potensi respons error dan isi respons yang diharapkan:

POST /v1/encrypt-sdp
Content-Type: application/json

Request body:
{
  "data": "SDP_DATA" // raw SDP data
},

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE", // error message
}

Response body:
{
  "result": "ENCRYPTED_DATA_STRING", // encrypted data as string
  "error": null,
}

Contoh kode berikut menunjukkan cara memanggil metode decrypt-sdp() bersama dengan potensi respons error dan isi respons yang diharapkan:

POST /v1/decrypt-sdp
Content-Type: application/json

Request body:
{
  "data": "ENCRYPTED_DATA_STRING", // encrypted data as string (size limit: 1 MB)
},

Error response:
{
  "result": null,
  "error": "ERROR_MESSAGE", // error message
}

Response body:
{
  "result": "SDP_DATA" // raw SDP data
  "error": null,
}

Tabel berikut menunjukkan format respons yang diharapkan:

Status HTTP Error ID grup peering Reaksi klien
200 null String yang tidak kosong Klien mengharapkan data SDP yang dienkode atau didekode dengan benar untuk digunakan.
200 String apa pun yang tidak kosong null Klien mengakhiri sesi eCDN.
302 (Ditemukan) Klien mengikuti pengalihan ke URL baru yang ditentukan dalam header Location isi respons.
Kode status lainnya Semua nilai Semua nilai Klien mengakhiri sesi eCDN.

Mengonfigurasi konsol Admin

Untuk menggunakan Meet eCDN On-Premises API, Anda harus mengonfigurasi eCDN di konsol Admin untuk menyertakan URL layanan web kustom Anda.

Untuk menetapkan eCDN, buat kebijakan peering menggunakan On-premises service untuk secara manual mencocokkan informasi IP dengan grup peering. Anda juga dapat menyertakan nomor port jika tidak menggunakan 443 default. URL harus cocok dengan format berikut: WEB_SERVICE.example.com:8080, dengan WEB_SERVICE adalah nama layanan web Anda.

Untuk informasi selengkapnya tentang cara menetapkan kebijakan peering, lihat Mengonfigurasi pengelompokan jaringan.