অ্যান্ড্রয়েড ১২ থেকে, অ্যান্ড্রয়েড TS.43 সার্ভিস এনটাইটেলমেন্ট কনফিগারেশনের জন্য সমর্থন অন্তর্ভুক্ত করে, একটি GSMA স্পেসিফিকেশন যা ভয়েস-ওভার-ওয়াই-ফাই (VoWiFi), ভয়েস-ওভার-LTE (VoLTE), আইপি-এর মাধ্যমে SMS (SMSoIP), eSIM কম্প্যানিয়ন ডিভাইসের অন-ডিভাইস সার্ভিস অ্যাক্টিভেশন (ODSA) (অনুরোধকারী ডিভাইসের সাথে সম্পর্কিত) এবং ডেটা প্ল্যান তথ্য সহ পরিষেবাগুলির সক্রিয়করণের জন্য এনটাইটেলমেন্ট যাচাইকরণের ধাপ সংজ্ঞায়িত করে।
এই স্পেসিফিকেশন সমর্থন করার জন্য, অ্যান্ড্রয়েড একটি IMS পরিষেবা এনটাইটেলমেন্ট বৈশিষ্ট্য প্রদান করে যা একটি পরিষেবা প্রদানকারীকে মোবাইল ডিভাইসগুলিকে IP মাল্টিমিডিয়া সাবসিস্টেম (IMS) নেটওয়ার্ক পরিষেবার অবস্থা সম্পর্কে অবহিত করতে দেয়। এই এনটাইটেলমেন্ট বৈশিষ্ট্যটি ডিভাইসটিকে EAP-AKA প্রমাণীকরণ ব্যবহার করে IMS এনটাইটেলমেন্ট স্থিতির জন্য GSMA TS.43 স্পেসিফিকেশন দ্বারা সংজ্ঞায়িত ক্যারিয়ার এনটাইটেলমেন্ট সার্ভারকে জিজ্ঞাসা করতে দেয়, ব্যবহারকারীদের ম্যানুয়ালি কোনও শংসাপত্র ইনপুট করার প্রয়োজন ছাড়াই।
IMS এনটাইটেলমেন্ট সার্ভার সহ ক্যারিয়াররা পরিষেবা প্রদানের জন্য IMS পরিষেবা এনটাইটেলমেন্ট বৈশিষ্ট্যটি ব্যবহার করতে পারে। বৈশিষ্ট্যটি গ্রহণ করলে নিম্নলিখিত সুবিধাগুলি পাওয়া যায়:
- ক্যারিয়ারগুলির জন্য পরীক্ষা এবং সার্টিফিকেশন খরচ কমায় কারণ এই এনটাইটেলমেন্ট বৈশিষ্ট্যটি একাধিক পণ্য এবং OEM জুড়ে ব্যবহার করা যেতে পারে।
- একটি স্ট্যান্ডার্ড অ্যান্ড্রয়েড অ্যাপের মাধ্যমে ডিভাইস নির্মাতাদের জন্য ডেভেলপমেন্ট ওভারহেড কমায়।
- বৈশিষ্ট্যটি ওপেন সোর্স হওয়ায় ডিভাইস নির্মাতা এবং ক্যারিয়ারদের বৈশিষ্ট্যটির জন্য কোড অবদান রাখতে দিন।
- উত্তর আমেরিকার ক্যারিয়ারগুলির জন্য জরুরি ঠিকানা ব্যবস্থাপনা প্রদান করে।
স্থাপত্য
নিম্নলিখিত চিত্রটি IMS পরিষেবা এনটাইটেলমেন্ট বৈশিষ্ট্যের স্থাপত্য এবং আচরণ বর্ণনা করে।

চিত্র ১. TS.43 এনটাইটেলমেন্ট বৈশিষ্ট্য আর্কিটেকচার
চিত্র ১-এ দেখানো হয়েছে, IMS পরিষেবা এনটাইটেলমেন্ট বৈশিষ্ট্যের আর্কিটেকচারে নিম্নলিখিত উপাদানগুলি অন্তর্ভুক্ত রয়েছে:
-
service_entitlementTS.43 সার্ভিস API স্ট্যাটিক লাইব্রেরি : এই লাইব্রেরি TS.43 স্পেসিফিকেশন বাস্তবায়ন করে, একটি ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভারের সাথে ইন্টারঅ্যাক্ট করে এবং প্রতিটি TS.43 ব্যবহারের ক্ষেত্রে অ্যাপ-ফেসিং API গুলি প্রকাশ করে। ImsServiceEntitlementক্লায়েন্ট অ্যাপ : এই অ্যাপটি TS.43 সার্ভিস API ব্যবহার করে। অ্যাপটি ব্যবহারকারীদের পরিষেবা সক্রিয় করার জন্য ক্যারিয়ারের পরিষেবা পোর্টাল রেন্ডার করার জন্য ওয়েবভিউ সহ UI উপাদানগুলি প্রয়োগ করে এবং ব্যবহারকারীর অভিজ্ঞতা শেষ থেকে শেষ পর্যন্ত পরিচালনা করার জন্য অন্যান্য অ্যান্ড্রয়েড উপাদানগুলির সাথে ইন্টারঅ্যাক্ট করে।ক্যারিয়ারের TS.43-ভিত্তিক এনটাইটেলমেন্ট সার্ভারের সাথে কাজ করার জন্য Android কীভাবে কনফিগার করবেন সে সম্পর্কে আরও তথ্যের জন্য, ImsServiceEntitlement অ্যাপ দেখুন।
চিত্র ১-এর সংখ্যাযুক্ত রেখাগুলি দেখায় যে IMS পরিষেবা এনটাইটেলমেন্ট বৈশিষ্ট্যের উপাদানগুলি কীভাবে একে অপরের সাথে যোগাযোগ করে। নিম্নলিখিত ধাপগুলি লেবেলযুক্তভাবে বর্ণনা করা হয়েছে:
(১) ক্লায়েন্ট অ্যাপটি একটি পরিষেবা এনটাইটেলমেন্ট অনুরোধ শুরু করার জন্য TS.43 পরিষেবা API ব্যবহার করে।
(২) TS.43 পরিষেবা API একটি EAP-AKA চ্যালেঞ্জ শুরু করার জন্য ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভারে একটি HTTP অনুরোধ পাঠায়।
(৩) TS.43 পরিষেবা API EAP-AKA চ্যালেঞ্জ-প্রতিক্রিয়া সম্পূর্ণ করার জন্য টেলিফোনি API (উদাহরণস্বরূপ, getIccAuthentication ) ব্যবহার করে।
(৪) EAP-AKA প্রতিক্রিয়া যাচাই করার পর TS.43 পরিষেবাটি ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভার থেকে পরিষেবা এনটাইটেলমেন্ট বা কনফিগারেশন ডেটা গ্রহণ করে।
(৫) TS.43 পরিষেবাটি ক্লায়েন্ট অ্যাপে পরিষেবা এনটাইটেলমেন্ট বা কনফিগারেশন ডেটা ফেরত দেয়।
(6) ক্লায়েন্ট অ্যাপটি ডেটা পরিচালনা করে এবং ঐচ্ছিকভাবে ব্যবহারকারীর পরিষেবা সক্রিয়করণ শেষ করার জন্য ক্যারিয়ারের পরিষেবা পোর্টাল রেন্ডার করে।
ইন্টিগ্রেশন
এই বিভাগটি service_entitlement লাইব্রেরি এবং ImsServiceEntitlement অ্যাপকে একীভূত করার প্রক্রিয়া বর্ণনা করে।
যেহেতু কোনও Android 12 API নির্ভরতা নেই, তাই service_entitlement লাইব্রেরি এবং ImsServiceEntitlement অ্যাপটি নিম্নমানের Android প্ল্যাটফর্মগুলিতে ব্যাকপোর্ট করা যেতে পারে।
service_entitlement লাইব্রেরি
যেহেতু service_entitlement লাইব্রেরিটি ImsServiceEntitlement অ্যাপের সাথে স্ট্যাটিক্যালি লিঙ্ক করা আছে, তাই ImsServiceEntitlement অ্যাপের সাথে লাইব্রেরিটি একীভূত করার জন্য কোনও অতিরিক্ত পদক্ষেপের প্রয়োজন নেই।
TS.43 ব্যবহারের ক্ষেত্রে যেমন ডেটা প্ল্যান এবং ODSA-এর জন্য 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 | ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভার URL। https:// প্রিফিক্স অবশ্যই অন্তর্ভুক্ত করতে হবে। |
KEY_FCM_SENDER_ID_STRING | ক্যারিয়ারের FCM প্রেরক আইডি। যদি ক্যারিয়ারের দ্বারা 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 ট্র্যাফিক ডিফল্ট নেটওয়ার্কের মাধ্যমে যায়, উদাহরণস্বরূপ, ডিফল্ট মোবাইল ডেটা বা ওয়াই-ফাই।
GMS অংশীদার: TS.43 v5.0 স্পেসিফিকেশন অনুসরণ করে, নিম্নলিখিত ক্যারিয়ারগুলি Android 12-এ TS.43 এনটাইটেলমেন্ট অ্যাপ দ্বারা সমর্থিত:
- মার্কিন যুক্তরাষ্ট্র: সিস্পায়ার, ইউএস সেলুলার, সেলকম
- ফ্রান্স: কমলা
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 rootadb 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