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

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

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

IMS এনটাইটেলমেন্ট সার্ভার সহ বাহক পরিষেবা বিধানের জন্য IMS পরিষেবা এনটাইটেলমেন্ট বৈশিষ্ট্য ব্যবহার করতে পারে৷ বৈশিষ্ট্যটি গ্রহণ করা নিম্নলিখিত সুবিধাগুলি প্রদান করে:

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

স্থাপত্য

নিম্নলিখিত চিত্রটি আইএমএস পরিষেবা এনটাইটেলমেন্ট বৈশিষ্ট্যের আর্কিটেকচার এবং আচরণ বর্ণনা করে।

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

চিত্র 1. TS.43 এনটাইটেলমেন্ট বৈশিষ্ট্য আর্কিটেকচার

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

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

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

চিত্র 1 এর সংখ্যাযুক্ত লাইনগুলি দেখায় কিভাবে 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 অ্যাপকে একীভূত করার প্রক্রিয়া বর্ণনা করে।

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

service_entitlement লাইব্রেরি

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

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

এই ধরনের ব্যবহারের ক্ষেত্রে ব্যবহার করার জন্য নিম্নলিখিত APIগুলি বর্ণনা করে:

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

ImsService Entitlement অ্যাপ

ডিফল্টরূপে, Android একটি বিশেষ সুবিধাপ্রাপ্ত অ্যাপ হিসেবে পণ্য পার্টিশনে ইনস্টল করা 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
com.android.imsserviceentitlement/.WfcActivationActivity এ সেট করুন, যদি KEY_SHOW_VOWIFI_WEBVIEW_BOOL true হয়।
KEY_IMS_PROVISIONING_BOOL যদি ক্যারিয়ারের পটভূমিতে IMS (VoLTE/VoWiFi/SMSoIP) পরিষেবাগুলির নেটওয়ার্ক প্রভিশনিং প্রয়োজন হয় তাহলে true সেট করুন৷

এটি নির্দিষ্ট ইউরোপীয় ক্যারিয়ারদের দ্বারা প্রয়োজনীয়।
KEY_CARRIER_VOLTE_PROVISIONING_REQUIRED_BOOL KEY_IMS_PROVISIONING_BOOL true হলে true সেট করুন৷

একটি ক্যারিয়ারের এনটাইটেলমেন্ট সার্ভার এবং ওয়েব পোর্টালে HTTP ট্র্যাফিক ডিফল্ট নেটওয়ার্কের উপর দিয়ে যায়, উদাহরণস্বরূপ, ডিফল্ট মোবাইল ডেটা বা Wi-Fi।

GMS অংশীদার: নিম্নলিখিত ক্যারিয়ারগুলি TS.43 v5.0 স্পেসিফিকেশন অনুসরণ করে Android 12-এ TS.43 এনটাইটেলমেন্ট অ্যাপ দ্বারা সমর্থিত:

  • US: CSpire, US Cellular, Cellcom
  • ফ্রান্স: কমলা

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:// উপসর্গ অন্তর্ভুক্ত করতে হবে।

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

Android 11 থেকে, ক্যারিয়ার কনফিগারেশন ওভাররাইড কমান্ডগুলি অন্তর্নির্মিত এবং রুট সুবিধাগুলির সাথে উপলব্ধ।

নিম্নলিখিত কমান্ডটি কিভাবে ক্যারিয়ার কনফিগার কী 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