IMS পরিষেবার এনটাইটেলমেন্ট

অ্যান্ড্রয়েড ১২ থেকে, অ্যান্ড্রয়েডে TS.43 সার্ভিস এনটাইটেলমেন্ট কনফিগারেশন -এর সাপোর্ট অন্তর্ভুক্ত করা হয়েছে। এটি একটি GSMA স্পেসিফিকেশন যা বিভিন্ন সার্ভিস অ্যাক্টিভেশনের জন্য এনটাইটেলমেন্ট ভেরিফিকেশন ধাপকে সংজ্ঞায়িত করে, যার মধ্যে রয়েছে ভয়েস-ওভার-ওয়াই-ফাই (VoWiFi), ভয়েস-ওভার-এলটিই (VoLTE), এসএমএস ওভার আইপি (SMSoIP), অনুরোধকারী ডিভাইসের সাথে যুক্ত ই-সিম কম্প্যানিয়ন ডিভাইসের অন-ডিভাইস সার্ভিস অ্যাক্টিভেশন (ODSA), এবং ডেটা প্ল্যানের তথ্য।

এই স্পেসিফিকেশনকে সমর্থন করার জন্য, অ্যান্ড্রয়েড একটি আইএমএস (IMS) সার্ভিস এনটাইটেলমেন্ট ফিচার প্রদান করে, যা একজন সার্ভিস প্রোভাইডারকে মোবাইল ডিভাইসগুলোকে আইপি মাল্টিমিডিয়া সাবসিস্টেম (IMS) নেটওয়ার্ক সার্ভিসের অবস্থা সম্পর্কে জানাতে সাহায্য করে। এই এনটাইটেলমেন্ট ফিচারটি ব্যবহারকারীদের ম্যানুয়ালি কোনো ক্রেডেনশিয়াল ইনপুট করার প্রয়োজন ছাড়াই, ডিভাইসটিকে ইএপি-একেইএ (EAP-AKA) অথেনটিকেশন ব্যবহার করে জিএসএমএ টিএস.৪৩ (GSMA TS.43) স্পেসিফিকেশন দ্বারা সংজ্ঞায়িত ক্যারিয়ার এনটাইটেলমেন্ট সার্ভারের কাছে আইএমএস (IMS) এনটাইটেলমেন্ট স্ট্যাটাস জানতে কোয়েরি করার সুযোগ দেয়।

যেসব ক্যারিয়ারদের IMS এনটাইটেলমেন্ট সার্ভার রয়েছে, তারা সার্ভিস প্রোভিশনিং-এর জন্য IMS সার্ভিস এনটাইটেলমেন্ট ফিচারটি ব্যবহার করতে পারে। এই ফিচারটি গ্রহণ করলে নিম্নলিখিত সুবিধাগুলো পাওয়া যায়:

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

স্থাপত্য

নিম্নোক্ত চিত্রে আইএমএস পরিষেবা এনটাইটেলমেন্ট ফিচারের গঠন ও আচরণ বর্ণনা করা হয়েছে।

TS.43 এনটাইটেলমেন্ট বৈশিষ্ট্য

চিত্র ১. টিএস.৪৩ এনটাইটেলমেন্ট ফিচার আর্কিটেকচার

চিত্র ১-এ যেমন দেখানো হয়েছে, আইএমএস পরিষেবা এনটাইটেলমেন্ট ফিচারের আর্কিটেকচারে নিম্নলিখিত উপাদানগুলো অন্তর্ভুক্ত রয়েছে:

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

    কোনো ক্যারিয়ারের TS.43-ভিত্তিক এনটাইটেলমেন্ট সার্ভারের সাথে কাজ করার জন্য অ্যান্ড্রয়েড কীভাবে কনফিগার করতে হয়, সে সম্পর্কে আরও তথ্যের জন্য ImsServiceEntitlement অ্যাপটি দেখুন।

চিত্র ১-এর সংখ্যাযুক্ত লাইনগুলো দেখায় কিভাবে IMS পরিষেবা এনটাইটেলমেন্ট ফিচারের উপাদানগুলো একে অপরের সাথে যোগাযোগ করে। নিচে প্রতিটি ধাপকে লেবেল অনুযায়ী বর্ণনা করা হলো:

(1) ক্লায়েন্ট অ্যাপ একটি পরিষেবা এনটাইটেলমেন্ট অনুরোধ শুরু করার জন্য TS.43 পরিষেবা API আহ্বান করে।

(2) TS.43 পরিষেবা API একটি EAP-AKA চ্যালেঞ্জ শুরু করার জন্য ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভারে একটি HTTP অনুরোধ পাঠায়।

(3) TS.43 সার্ভিস API, EAP-AKA চ্যালেঞ্জ-রেসপন্স সম্পন্ন করার জন্য টেলিফোনি API (উদাহরণস্বরূপ, getIccAuthentication ) কল করে।

(4) EAP-AKA প্রতিক্রিয়া যাচাই করার পরে TS.43 পরিষেবাটি ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভার থেকে পরিষেবা এনটাইটেলমেন্ট বা কনফিগারেশন ডেটা গ্রহণ করে।

(5) TS.43 পরিষেবাটি ক্লায়েন্ট অ্যাপে পরিষেবার অধিকার বা কনফিগারেশন ডেটা ফেরত দেয়।

(6) ক্লায়েন্ট অ্যাপ ডেটা পরিচালনা করে এবং ঐচ্ছিকভাবে ব্যবহারকারীকে পরিষেবা সক্রিয়করণ শেষ করার জন্য ক্যারিয়ারের পরিষেবা পোর্টাল রেন্ডার করে।

একীকরণ

এই অংশে service_entitlement লাইব্রেরি এবং ImsServiceEntitlement অ্যাপকে একীভূত করার প্রক্রিয়া বর্ণনা করা হয়েছে।

যেহেতু কোনো অ্যান্ড্রয়েড ১২ এপিআই নির্ভরতা নেই, তাই service_entitlement লাইব্রেরি এবং ImsServiceEntitlement অ্যাপটি নিম্নতর অ্যান্ড্রয়েড প্ল্যাটফর্মগুলোতে ব্যাকপোর্ট করা যেতে পারে।

পরিষেবা_এনটাইটেলমেন্ট লাইব্রেরি

যেহেতু service_entitlement লাইব্রেরিটি ImsServiceEntitlement অ্যাপের সাথে স্ট্যাটিক্যালি লিঙ্ক করা আছে, তাই লাইব্রেরিটিকে ImsServiceEntitlement অ্যাপে ইন্টিগ্রেট করার জন্য কোনো অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।

ডেটা প্ল্যান এবং ODSA-এর মতো TS.43 ব্যবহারের ক্ষেত্রগুলোর জন্য service_entitlement লাইব্রেরিটি আপনার নিজস্ব অ্যাপের সাথে ইন্টিগ্রেট করা যেতে পারে। এছাড়াও, EAP-AKA প্রোটোকলের উপর ভিত্তি করে নন-TS.43 এনটাইটেলমেন্ট ব্যবহারের ক্ষেত্রগুলোর জন্যও লাইব্রেরিটি কোনো অ্যাপে ইন্টিগ্রেট করা সম্ভব।

এই ধরনের ব্যবহারের ক্ষেত্রে যে API-গুলো ব্যবহার করতে হবে, তা নিচে বর্ণনা করা হলো:

  • লাইব্রেরিতে বাস্তবায়িত TS.43 HTTP প্রোটোকল ব্যবহারকারী TS.43 অ্যাপের জন্য: ServiceEntitlement ক্লাসের API-গুলো ব্যবহার করুন।
  • লাইব্রেরিতে বাস্তবায়িত EAP-AKA প্রোটোকল ব্যবহারকারী নন-TS.43 অ্যাপের ক্ষেত্রে: EapAkaHelper ক্লাসে উন্মুক্ত API-গুলো ব্যবহার করুন।

ImsServiceEntitlement অ্যাপ

ডিফল্টরূপে, অ্যান্ড্রয়েড প্রোডাক্ট পার্টিশনে ImsServiceEntitlement অ্যাপটিকে একটি প্রিভিলেজড অ্যাপ হিসেবে ইনস্টল করে। অ্যাপটি কনফিগার করতে, নিম্নলিখিত CarrierConfig কীগুলি ব্যবহার করুন:

চাবি মূল্য
KEY_ENTITLEMENT_SERVER_URL_STRING ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভার ইউআরএল। https:// প্রিফিক্সটি অবশ্যই অন্তর্ভুক্ত করতে হবে।
KEY_FCM_SENDER_ID_STRING ক্যারিয়ারের এফসিএম প্রেরক আইডি।

ক্যারিয়ারের পক্ষ থেকে এফসিএম (FCM) প্রয়োজন না হলে এই মানটি সেট করবেন না।
KEY_SHOW_VOWIFI_WEBVIEW_BOOL যদি VoWiFi পরিষেবার জন্য সাইন আপ করতে ব্যবহারকারীদের একটি ওয়েব পোর্টাল UI-এর প্রয়োজন হয়, তাহলে এটিকে ' true সেট করুন। উদাহরণস্বরূপ, শর্তাবলীতে সম্মতি দেওয়া বা একটি জরুরি ঠিকানা প্রবেশ করানো।

উত্তর আমেরিকায় সাধারণত বিমান সংস্থাগুলোর এটির প্রয়োজন হয়।
KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING
যদি KEY_SHOW_VOWIFI_WEBVIEW_BOOL true হয়, তাহলে com.android.imsserviceentitlement/.WfcActivationActivity তে সেট করুন।
KEY_IMS_PROVISIONING_BOOL যদি ক্যারিয়ার ব্যাকগ্রাউন্ডে IMS (VoLTE/VoWiFi/SMSoIP) পরিষেবাগুলির নেটওয়ার্ক প্রোভিশনিং চায়, তাহলে এটিকে ' true সেট করুন।

কিছু ইউরোপীয় বিমান সংস্থার জন্য এটি আবশ্যক।
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL KEY_IMS_PROVISIONING_BOOL true হলে এটিকে true তে সেট করুন।

ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভার এবং ওয়েব পোর্টালে HTTP ট্র্যাফিক ডিফল্ট নেটওয়ার্ক, যেমন ডিফল্ট মোবাইল ডেটা বা ওয়াই-ফাই-এর মাধ্যমে যায়।

জিএমএস পার্টনার: টিএস.৪৩ ভি৫.০ স্পেসিফিকেশন অনুসরণ করে, অ্যান্ড্রয়েড ১২-এর টিএস.৪৩ এনটাইটেলমেন্ট অ্যাপ দ্বারা নিম্নলিখিত ক্যারিয়ারগুলো সমর্থিত:

  • মার্কিন যুক্তরাষ্ট্র: সি-স্পায়ার, ইউএস সেলুলার, সেলকম
  • ফ্রান্স: কমলা

IMS প্রোভিশনিং-এর জন্য অতিরিক্ত সিস্টেম UI

এই অংশে বর্ণনা করা হয়েছে কিভাবে OEM-রা IMS পরিষেবা প্রোভিশনিং-সম্পর্কিত অতিরিক্ত সিস্টেম UI উপাদানগুলিকে সমর্থন করতে পারে (উদাহরণস্বরূপ, VoWiFi প্রোভিশন করা হলে একটি নোটিফিকেশন দেখানোর মাধ্যমে)।

ImsServiceEntitlement অ্যাপটি ProvisioningManager.setProvisioningIntValue(KEY_VOICE_OVER_WIFI_ENABLED_OVERRIDE, value) সিস্টেম API ব্যবহার করে প্ল্যাটফর্মে VoWiFi প্রভিশনিং স্টেট সেট করে। এই API-টি VoLTE ( KEY_VOLTE_PROVISIONING_STATUS সহ) এবং SMSoIP ( KEY_SMS_OVER_IP_ENABLED সহ)-এর জন্যও ব্যবহৃত হয়।

এরপর সিস্টেম UI, getProvisioningIntValue ব্যবহার করে অথবা registerProvisioningChangedCallback মাধ্যমে প্রভিশনিং অবস্থার পরিবর্তন নিরীক্ষণের জন্য একটি কলব্যাক নিবন্ধন করে প্রভিশনিং অবস্থাটি পড়তে পারে।

পরীক্ষার জন্য কনফিগারেশন ওভাররাইড করুন

পরীক্ষার উদ্দেশ্যে ImsServiceEntitlement অ্যাপের আচরণ সাময়িকভাবে পরিবর্তন করতে নিম্নলিখিত পদ্ধতিগুলো ব্যবহার করুন। ক্যারিয়ার কনফিগারেশন ওভাররাইড করার পদ্ধতি সম্পর্কে বিস্তারিত জানতে, ‘ক্যারিয়ার কনফিগারেশন ওভাররাইড করা’ দেখুন।

VoWiFi সাইন-আপ প্রক্রিয়াটি এড়িয়ে যান।

VoWiFi সাইন-আপ প্রক্রিয়াটি এড়িয়ে সরাসরি VoWiFi চালু করার জন্য, ক্যারিয়ার কনফিগ KEY_WFC_EMERGENCY_ADDRESS_CARRIER_APP_STRING ওভাররাইড করুন এবং এর মান একটি খালি স্ট্রিং-এ সেট করুন।

IMS প্রোভিশনিং এড়িয়ে যান

IMS প্রভিশনিং এড়িয়ে যেতে, IMS পরিষেবাগুলি উপলব্ধ করতে এবং ব্যবহারকারীদের নেটওয়ার্ক প্রভিশনিং ছাড়াই এই ধরনের পরিষেবাগুলি চালু করার অনুমতি দিতে, ক্যারিয়ার কনফিগ KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL ওভাররাইড করুন এবং এর মান false সেট করুন।

এনটাইটেলমেন্ট সার্ভার URL পরিবর্তন করুন

এনটাইটেলমেন্ট সার্ভার URL পরিবর্তন করতে, ক্যারিয়ার কনফিগের KEY_ENTITLEMENT_SERVER_URL_STRING ওভাররাইড করুন এবং এর মান প্রত্যাশিত URL স্ট্রিং-এ সেট করুন। আপনাকে অবশ্যই https:// প্রিফিক্সটি অন্তর্ভুক্ত করতে হবে।

ক্যারিয়ার কনফিগারেশন ওভাররাইড করুন

অ্যান্ড্রয়েড ১১ থেকে, ক্যারিয়ার কনফিগ ওভাররাইড কমান্ডগুলো বিল্ট-ইন এবং রুট প্রিভিলেজ সাপেক্ষে উপলব্ধ।

নিম্নলিখিত কমান্ডটি হলো carrier_volte_provisioning_required_bool নামক ক্যারিয়ার কনফিগ কী-কে ওভাররাইড করার এবং এর মান ` false সেট করার একটি উদাহরণ। একাধিক কনফিগ ওভাররাইড করার জন্য আপনি এই কমান্ডটি একাধিকবার চালাতে পারেন।

adb root
adb shell cmd phone cc set-value -p carrier_volte_provisioning_required_bool false

সমস্ত ওভাররাইড মুছে ফেলতে, নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

adb shell cmd phone cc clear-values

আরও তথ্য পেতে, নিম্নলিখিত কমান্ডটি চালান:

adb shell cmd phone cc