Meet eCDN অন-প্রিমিসেস API-এর সাথে কাজ করুন

এই পৃষ্ঠাটি Google Meet লাইভ স্ট্রিমিংয়ের জন্য Google Meet Enterprise Content Delivery Network (eCDN) অন-প্রিমিসেস এপিআই কীভাবে ব্যবহার করতে হয় তা ব্যাখ্যা করে।

এখানে বর্ণিত API সলিউশন গ্রাহকদের Google-এর কাছে ব্যক্তিগত IP তথ্য প্রকাশ না করে Meet eCDN-এর সম্পূর্ণ ফিচার সেট ব্যবহার করতে দেয়। আপনি আপনার নিজস্ব নেটওয়ার্কে একটি নতুন অন-প্রিমিসেস ওয়েব পরিষেবা সংজ্ঞায়িত করতে পারেন যা ব্যক্তিগত IP ঠিকানা তথ্যের পরিবর্তে একটি আইডি পাস করে।

eCDN ওভারভিউ দেখান

eCDN Meet-এ তৈরি করা হয়েছে এবং Google Workspace অ্যাডমিনিস্ট্রেটর এটি সেট-আপ করার পরে লাইভস্ট্রিমের সময় অটোমেটিক শুরু হয়। Meet eCDN চালু থাকলে, স্থানীয় নেটওয়ার্কের লাইভস্ট্রিম দর্শকরা পিয়ার-টু-পিয়ার (P2P) শেয়ারিংয়ের মাধ্যমে নেটওয়ার্কের অন্যান্য সহকর্মীদের সাথে লাইভ-স্ট্রিম করা মিডিয়া শেয়ার করতে পারে। বেশিরভাগ ডিভাইস কাছাকাছি সহকর্মীদের থেকে লাইভ-স্ট্রিম করা মিডিয়া গ্রহণ করে এবং Google এর সার্ভার থেকে এটি আনার প্রয়োজন হয় না। এটি দর্শকদের দ্বারা ব্যবহৃত মোট ব্যান্ডউইথ কমিয়ে দেয়। Meet eCDN সেট আপ এবং ব্যবহার করার বিষয়ে আরও তথ্যের জন্য, বড় লাইভ স্ট্রিম হোস্টিং দেখুন।

eCDN-এর জন্য Meet লাইভ স্ট্রিমিংয়ের দর্শকদের পিয়ারিং গ্রুপে অর্ডার দিতে হবে। একটি পিয়ারিং গ্রুপ হল নোডের একটি সংগ্রহ যা একে অপরের সাথে মিডিয়া শেয়ার করার অনুমতি দেয়। একটি পিয়ারিং গ্রুপের ডিভাইসগুলিকে পিয়ার করার অনুমতি দেওয়া হয় বা পিয়ারিং থেকে ব্লক করা হয়। অনুমোদিত ডিভাইসগুলি শুধুমাত্র একই পিয়ারিং গ্রুপের অন্যান্য ডিভাইসের সাথে সংযোগ করতে পারে। পিয়ারিং গ্রুপ সম্পর্কে আরও তথ্যের জন্য, আপনি বড় লাইভ স্ট্রিম হোস্ট করা শুরু করার আগে দেখুন।

কখন API ব্যবহার করবেন

eCDN বিভিন্ন পিয়ারিং নীতি ব্যবহার করে পিয়ারিং গ্রুপ গঠন করতে পারে: random , subnet বা custom rules । পরবর্তীটি Google এর eCDN ট্র্যাকার সার্ভারের সাথে ব্যক্তিগত নেটওয়ার্ক রেঞ্জের একটি টেবিল শেয়ার করে যাতে প্রতিটি পিয়ার নোডের ব্যক্তিগত আইপি ঠিকানাগুলি একটি পিয়ারিং গ্রুপে ম্যাপ করা যায়। custom rules নীতি হল পছন্দের সমাধান এবং বেশিরভাগ উৎপাদন পরিবেশে উপযুক্ত।

যাইহোক, custom rules নীতির জন্য আপনাকে Google-এর সাথে আপনার ব্যক্তিগত নেটওয়ার্ক কাঠামোর বড় অংশ শেয়ার করতে হবে। উপরন্তু, স্বতন্ত্র ব্যবহারকারীরা eCDN ব্যবহার করার সময় তাদের স্থানীয়ভাবে সনাক্ত করা ব্যক্তিগত আইপি ঠিকানাগুলি Google-এর কাছে প্রকাশ করে। কিছু প্রতিষ্ঠানের জন্য, তাদের নিরাপত্তা নির্দেশিকা ব্যক্তিগত আইপি তথ্য শেয়ার করার অনুমতি নাও দিতে পারে।

Meet eCDN অন-প্রিমিসেস API দিয়ে বিকাশ করুন

Meet eCDN অন-প্রিমিসেস এপিআই একটি ওয়েব সার্ভার স্পেসিফিকেশন প্রদান করে যা আপনি আপনার প্রতিষ্ঠানের নেটওয়ার্কে স্থানীয়ভাবে বাস্তবায়ন এবং হোস্ট করতে পারেন। আপনি একটি কাস্টম ওয়েব পরিষেবা তৈরি করতে পারেন যা API-এর সাথে সামঞ্জস্যপূর্ণ সমস্ত কাজগুলি ব্যক্তিগত IP তথ্যের উপর নির্ভর করে যাতে Google এর সাথে তথ্য ভাগ করা না হয়৷

এপিআই প্রাইভেট আইপি অ্যাড্রেস মেলানোর জন্য দুটি গুরুত্বপূর্ণ ধাপকে অন্তর্ভুক্ত করে যা সাধারণত eCDN ট্র্যাকার সার্ভার দ্বারা পরিচালিত হয়: একটি পিয়ারিং গ্রুপে ব্যক্তিগত আইপি অ্যাড্রেস ম্যাপ করুন এবং WebRTC সিগন্যালিং চলাকালীন সেশন ডেসক্রিপশন প্রোটোকল (SDP) অফার-উত্তর ডেটা বিনিময় করুন

একবার ওয়েব পরিষেবা সম্পূর্ণ হলে, আপনাকে অবশ্যই একটি On-premises service পিয়ারিং নীতি ব্যবহার করতে অ্যাডমিন কনসোল কনফিগার করতে হবে এবং আপনার কাস্টম ওয়েব পরিষেবার URL অন্তর্ভুক্ত করতে হবে৷

প্রয়োজনীয়তা

আপনার প্রতিষ্ঠানের জন্য এই প্রয়োজনীয়তার যেকোনো একটি চালু করার প্রয়োজন হলে, আপনার Google Workspace অ্যাডমিনিস্ট্রেটরকে জিজ্ঞাসা করুন:

  • HTTPS ব্যবহার করে যেকোনো ওয়েব সার্ভার এই API বাস্তবায়ন করতে পারে।

  • মিশ্র বিষয়বস্তু ব্যর্থতা প্রতিরোধ করতে HTTPS ব্যবহার করুন।

  • JSON ডেটা গ্রহণ করুন এবং ফেরত দিন। আপনার ব্রাউজার দ্বারা সমর্থিত কোনো বিষয়বস্তু এনকোডিং ব্যবহার করুন।

  • একটি /v n রুটের অধীনে শেষ পয়েন্টগুলি পরিবেশন করুন যেখানে n নির্বাচিত API সংস্করণ। উদাহরণস্বরূপ, /v1/get-peering-group

  • মিট লাইভ স্ট্রিমিং দর্শকরা Google অ্যাডমিন কনসোলের মাধ্যমে আপনার ওয়েব পরিষেবার URL সম্পর্কে জানতে পারবেন। ইউআরএল বিশ্বব্যাপী সেট করা যেতে পারে, প্রতি সাংগঠনিক ইউনিট বা প্রতি গ্রুপ। নিশ্চিত করুন যে দর্শকরা তাদের নির্ধারিত পরিষেবার সাথে সংযোগ করতে পারে। আরও তথ্যের জন্য, অ্যাডমিন কনসোল কনফিগার করুন দেখুন।

  • আপনার পরিষেবা দুই সেকেন্ডের মধ্যে একটি প্রতিক্রিয়া ফেরত দেওয়া উচিত. অন্যথায়, eCDN ক্লায়েন্ট বন্ধ হয়ে যায় এবং দর্শক একটি নিয়মিত, নন-eCDN হিসাবে লাইভ ইভেন্ট দেখতে থাকে, ব্যবহারকারী তাদের কোনো ব্যান্ডউইথ সঞ্চয় অস্বীকার করে।

  • আপনার পরিষেবাকে অবশ্যই নিম্নলিখিত ক্রস-অরিজিন রিসোর্স শেয়ারিং (CORS) হেডার সেট করতে হবে:

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

একটি পিয়ারিং গ্রুপে ব্যক্তিগত আইপি ঠিকানাগুলি ম্যাপ করুন

eCDN ক্লায়েন্ট প্রতিবার eCDN ট্র্যাকার সার্ভারের সাথে পুনরায় সংযোগ করার চেষ্টা করার সময় একটি কল করে। একটি ডিভাইস একটি ব্যক্তিগত আইপি ঠিকানা সনাক্ত করার পরে, ঠিকানাটি সঠিক পিয়ারিং গ্রুপে ম্যাপ করা আবশ্যক৷ আপনাকে অবশ্যই আপনার নেটওয়ার্কের একটি সার্ভারে ব্যক্তিগত IP ঠিকানা পাঠাতে হবে এবং get-peering-group() পদ্ধতি ব্যবহার করে ম্যানুয়ালি একটি পিয়ারিং গ্রুপে এটি সমাধান করতে হবে। প্রতিক্রিয়ায় একটি পিয়ারিং গ্রুপ আইডি ফেরত দেওয়া হয়। Google-এর সাথে যোগাযোগ করার সময়, ব্যক্তিগত আইপি ঠিকানার পরিবর্তে ফলস্বরূপ পিয়ারিং গ্রুপ আইডি পাস করা হয়।

কিভাবে ব্যক্তিগত IP ঠিকানা একটি পিয়ারিং গ্রুপে ম্যাপ করা হয়।
চিত্র 1. একটি পিয়ারিং গ্রুপে ব্যক্তিগত আইপি ঠিকানা ম্যাপ করা।

নিম্নলিখিত কোড নমুনা দেখায় কিভাবে সম্ভাব্য ত্রুটি প্রতিক্রিয়া এবং প্রত্যাশিত প্রতিক্রিয়া বডি সহ get-peering-group() পদ্ধতিতে কল করতে হয়:

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,
}

নিম্নলিখিত সারণী প্রত্যাশিত প্রতিক্রিয়া বিন্যাস দেখায়:

HTTP স্থিতি ত্রুটি পিয়ারিং গ্রুপ আইডি ক্লায়েন্ট প্রতিক্রিয়া
200 নাল অ-খালি স্ট্রিং ক্লায়েন্টকে একটি পিয়ারিং গ্রুপে বাছাই করা উচিত এবং eCDN ট্র্যাকার সার্ভারের সাথে সংযোগ করতে এগিয়ে যেতে হবে।
200 NOT_FOUND নাল ক্লায়েন্ট eCDN সেশন শেষ করে।
200 BLOCKED নাল ক্লায়েন্ট eCDN সেশন শেষ করে।
200 অন্যান্য অ-খালি স্ট্রিং নাল ক্লায়েন্ট eCDN সেশন শেষ করে।
302 (পাওয়া গেছে) ক্লায়েন্ট রেসপন্স বডির Location হেডারে নির্দিষ্ট করা নতুন ইউআরএলে রিডাইরেক্ট অনুসরণ করে।
অন্য কোন স্ট্যাটাস কোড যেকোনো স্ট্রিং যেকোনো স্ট্রিং ক্লায়েন্ট eCDN সেশন শেষ করে।

SDP অফার-উত্তর ডেটা বিনিময়

একটি WebRTC সংযোগ শুরু করতে, ডিভাইসগুলিকে অবশ্যই তাদের SDP অফার এবং উত্তরগুলি বিনিময় করতে হবে, যার মধ্যে ইন্টারেক্টিভ কানেক্টিভিটি এস্টাব্লিশমেন্ট (ICE) প্রার্থীরা রয়েছে, যেগুলিতে ব্যক্তিগত IP তথ্য রয়েছে৷ WebRTC সিগন্যালিং প্রক্রিয়ার অংশ হিসেবে তারা তা করে।

ক্লায়েন্টদের অবশ্যই encrypt-sdp() পদ্ধতি ব্যবহার করে Meet eCDN অন-প্রিমিসেস API-এর মাধ্যমে তাদের নেটওয়ার্কের মধ্যে তাদের ICE প্রার্থীদের এনক্রিপ্ট করতে হবে। পদ্ধতিটি এমন একটি কী ব্যবহার করে যা কখনই Google-এর সামনে আসে না। তারপর এনক্রিপ্ট করা SDP অফারটি eCDN ট্র্যাকার সার্ভার ব্যবহার করে পিয়ারের কাছে পাঠানো হয়। ক্লায়েন্ট পিয়ার তারপর decrypt-sdp() পদ্ধতি ব্যবহার করে তাদের নেটওয়ার্কের মধ্যে প্রাপ্ত তথ্য ডিক্রিপ্ট করে। Google তারপর সংযুক্ত সমবয়সীদের মধ্যে অফার এবং উত্তর ফরোয়ার্ড করে।

Meet eCDN অন-প্রিমিসেস API ব্যবহার করে সংযোগ স্থাপন হয়ে গেলে, eCDN স্বাভাবিকভাবে কাজ করে। সাধারন পিয়ারিং নেটওয়ার্কের মাধ্যমে পিয়ার্স রুট মিডিয়া এবং মিডিয়া ট্র্যাফিক API এর মধ্য দিয়ে যায় না বা ব্যবহার করে না।

কিভাবে SDP অফার এবং উত্তর ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট করা হয়।
চিত্র 2. SDP অফার এবং উত্তর ডেটা এনক্রিপ্ট এবং ডিক্রিপ্ট করা।

নিম্নলিখিত কোড নমুনা দেখায় কিভাবে সম্ভাব্য ত্রুটি প্রতিক্রিয়া এবং প্রত্যাশিত প্রতিক্রিয়া বডি সহ encrypt-sdp() পদ্ধতিতে কল করতে হয়:

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,
}

নিম্নলিখিত কোড নমুনা দেখায় কিভাবে সম্ভাব্য ত্রুটি প্রতিক্রিয়া এবং প্রত্যাশিত প্রতিক্রিয়া বডি সহ decrypt-sdp() পদ্ধতিতে কল করতে হয়:

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,
}

নিম্নলিখিত সারণী প্রত্যাশিত প্রতিক্রিয়া বিন্যাস দেখায়:

HTTP স্থিতি ত্রুটি পিয়ারিং গ্রুপ আইডি ক্লায়েন্ট প্রতিক্রিয়া
200 নাল অ-খালি স্ট্রিং ক্লায়েন্ট আশা করে যে সঠিকভাবে এনকোড করা বা ডিকোড করা SDP ডেটা ব্যবহার করা হবে।
200 যে কোনো অ-খালি স্ট্রিং নাল ক্লায়েন্ট eCDN সেশন শেষ করে।
302 (পাওয়া গেছে) ক্লায়েন্ট রেসপন্স বডির Location হেডারে নির্দিষ্ট করা নতুন ইউআরএলে রিডাইরেক্ট অনুসরণ করে।
অন্য কোন স্ট্যাটাস কোড যেকোন মান যেকোন মান ক্লায়েন্ট eCDN সেশন শেষ করে।

অ্যাডমিন কনসোল কনফিগার করুন

Meet eCDN অন-প্রিমিসেস API ব্যবহার করতে, আপনার কাস্টম ওয়েব পরিষেবার URL অন্তর্ভুক্ত করার জন্য আপনাকে অ্যাডমিন কনসোলে eCDN কনফিগার করতে হবে।

eCDN সেট করতে, পিয়ারিং গোষ্ঠীর সাথে IP তথ্য ম্যানুয়ালি মেলে On-premises service ব্যবহার করে একটি পিয়ারিং নীতি তৈরি করুন। আপনি যদি ডিফল্ট 443 ব্যবহার না করেন তবে আপনি একটি পোর্ট নম্বরও অন্তর্ভুক্ত করতে পারেন৷ URLটি নিম্নলিখিত ফর্ম্যাটের সাথে মেলে: WEB_SERVICE.example.com:8080 , যেখানে WEB_SERVICE হল আপনার ওয়েব পরিষেবার নাম৷

একটি পিয়ারিং নীতি সেট করার বিষয়ে আরও তথ্যের জন্য, নেটওয়ার্ক গ্রুপিং কনফিগার করুন দেখুন।