IMS সিঙ্গেল রেজিস্ট্রেশন

Android 12-এ MMTEL ও RCS ফিচার প্রদান করার জন্য একক রেজিস্ট্রেশন মডেলের সহায়তা চালু করা হয়েছে। এই মডেল ডিভাইসের ImsService-এর দেওয়া একটি IMS রেজিস্ট্রেশনের মাধ্যমে সব IMS ফিচার ম্যানেজ করতে এবং কিছু টেলিকম ক্যারিয়ারের দেওয়া প্রয়োজনীয়তা মেনে চলতে ডিভাইসকে সাহায্য করে। ডুয়াল রেজিস্ট্রেশন মডেলের সাথে তুলনা করলে, যেখানে একটি ডিভাইসে একাধিক IMS রেজিস্ট্রেশন ম্যানেজ করা হয়, সেখানে সিঙ্গেল রেজিস্ট্রেশন ক্যারিয়ারের নেটওয়ার্কে ট্রাফিক কমায় এবং নির্ভরযোগ্যতা বাড়ায়।

Android 12 এই সিঙ্গেল রেজিস্ট্রেশন মডেল সাপোর্ট করে। এটি API-এর একটি সেটের মাধ্যমে করা হয় যা AOSP টেলিফোনি স্ট্যাককে ImsService দ্বারা প্রদান করা MMTEL ফিচার এবং ব্যবহারকারীর বেছে নেওয়া RCS মেসেজিং অ্যাপ দ্বারা প্রদান করা RCS ফিচার, দুটিই ম্যানেজ করতে দেয়। IMS সিঙ্গেল রেজিস্ট্রেশন সাপোর্ট করতে, ব্যবহারকারীর বেছে নেওয়া RCS মেসেজিং অ্যাপে RCS ফিচার চালু করতে, ডিভাইস প্রস্তুতকারক ও SoC ভেন্ডরদের অবশ্যই এই API প্রয়োগ করতে হবে।

ছবি ১-এ IMS সিঙ্গেল রেজিস্ট্রেশন মডেল ব্যবহার করার সময় ডিভাইসের IMS স্ট্যাক দেখানো হয়েছে। সব IMS অ্যাপ একটি IMS রেজিস্ট্রেশনের মাধ্যমে MMTEL ও RCS ফিচারের জন্য ডিভাইসের ডিফল্ট ImsService ব্যবহার করে। এর মধ্যে প্রভিশনিং, SIP মেসেজ ফরওয়ার্ড করা এবং RCS ব্যবহারকারীর ক্ষমতা সংক্রান্ত তথ্য আদান-প্রদান করা অন্তর্ভুক্ত।

সিঙ্গেল রেজিস্ট্রেশন মোড আর্কিটেকচার

ছবি ১. সিঙ্গেল রেজিস্ট্রেশন মডেল আর্কিটেকচার

Android 11 ও তার আগের যেকোনও ভার্সনে চলা ডিভাইসে MMTEL ও RCS ফিচার প্রদান করার জন্য শুধুমাত্র ডুয়াল রেজিস্ট্রেশন মডেল কাজ করে, যেখানে ডিভাইসের ImsService-এর মাধ্যমে MMTEL প্রদান করা হয় এবং RCS ফিচারগুলি ওভার-দ্য-টপ প্রয়োগ করা হয় এবং সেগুলি নিজস্ব IMS স্ট্যাক ও ক্যারিয়ারের নেটওয়ার্কের সাথে কানেকশন স্বাধীনভাবে ম্যানেজ করে।

ডুয়াল রেজিস্ট্রেশন মডেলের আর্কিটেকচার চিত্র ২-এ দেখানো হয়েছে। এই মডেলে, প্রতিটি অ্যাপ পরিষেবা প্রদানকারীর নেটওয়ার্কের সাথে কানেক্ট করা এবং MMTEL ও RCS ফিচারের জন্য IMS রেজিস্ট্রেশন করার জন্য দায়ী। ডিভাইসের ImsService MMTEL প্রয়োগ করে, ক্যারিয়ার নেটওয়ার্কে ডিভাইসের IMS ডেটা কানেকশন ব্যবহার করে এবং অন্যান্য RCS অ্যাপ থেকে আলাদাভাবে কাজ করে।

ডুয়াল রেজিস্ট্রেশন মোড আর্কিটেকচার

ছবি ২. দ্বৈত রেজিস্ট্রেশন মডেল আর্কিটেকচার

IMS সিঙ্গেল রেজিস্ট্রেশন API

যেসব ডিভাইস IMS সিঙ্গেল রেজিস্ট্রেশন প্রয়োজন এমন ক্যারিয়ারে রেঞ্জ করে সেগুলিকে অবশ্যই IMS সিঙ্গেল রেজিস্ট্রেশন API কাজ করতে হবে এবং Android ফিচার PackageManager#FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION নির্ধারণ করতে হবে। IMS সিঙ্গেল রেজিস্ট্রেশন কাজ করে এমন API-এর তালিকা ৩ নম্বর ছবিতে দেখানো হয়েছে।

IMS সিঙ্গেল রেজিস্ট্রেশনকে সাপোর্ট করে এমন API সারফেস

ছবি ৩. IMS সিঙ্গেল রেজিস্ট্রেশন কাজ করে এমন হাই-লেভেল API সারফেস

AOSP টেলিফোনি স্ট্যাকের অংশ হিসেবে IMS সিঙ্গেল রেজিস্ট্রেশন কাজ করে এমন Android ডিভাইসে নিচের টেবিলে বর্ণিত সব AOSP API কাজ করতে হবে।

API সারফেস এরিয়া RCS অ্যাপ API Vendor IMS API বিবরণ
RCS প্রভিশনিং ProvisioningManager ImsConfigImplBase কোনও OEM বা পরিষেবা প্রদানকারীকে RCS প্রভিশনিং স্ট্যাটাস আপডেট করার জন্য অ্যাপ প্রদান করার অনুমতি দেয়, যদি পরিষেবা প্রদানকারী কোনও মালিকানাধীন পরিষেবা প্রদানকারীর এনটাইটেলমেন্ট মেকানিজম ব্যবহার করে। এছাড়াও, ImsService-কে অবশ্যই মালিকানাধীন মেকানিজম ব্যবহার করে না এমন ক্যারিয়ারের জন্য প্রোভিশনিংয়ের জন্য স্ট্যান্ডার্ড অটো কনফিগারেশন সার্ভার (ACS) কাজ করতে হবে।
SIP মেসেজ ফরওয়ার্ডিং SipDelegateManager SipTransportImplBase RCS অ্যাপকে প্রথমে ডিভাইসের ImsService সাথে নির্দিষ্ট RCS ফিচার ট্যাগ যুক্ত করার অনুমতি দেয় এবং তারপরে SIP মেসেজ এবং সেই RCS ফিচার ট্যাগের সাথে যুক্ত IMS রেজিস্ট্রেশন আপডেট পাঠায় ও গ্রহণ করে।
ডেডিকেটেড বিয়ারার বিজ্ঞপ্তি ConnectivityManager DataCallResponse কোনও অ্যাপকে নির্দিষ্ট লোকাল পোর্টের সাথে যুক্ত সকেটে QoS বিজ্ঞপ্তি শোনার অনুমতি দেয়।
GBA যাচাইকরণ bootstrapAuthenticationRequest GbaService ফাইল ট্রান্সফারের মতো RCS ফিচারের জন্য ব্যবহৃত নেটওয়ার্ক ও অ্যাক্সেস কী দিয়ে RCS অ্যাপকে প্রমাণিত করার অনুমতি দেয়।
RCS ব্যবহারকারীর ক্ষমতা সংক্রান্ত তথ্য আদানপ্রদান ImsRcsManager RcsCapabilityExchangeImplBase AOSP-কে তার MMTEL এবং RCS ক্ষমতা ভেন্ডর ImsService-এ পাঠানোর ক্ষমতা প্রদান করে যাতে সেগুলি RCS ব্যবহারকারীর ক্ষমতা বিনিময়ের জন্য নেটওয়ার্কে একটি এন্টিটির অধীনে প্রকাশ করা যায়। এছাড়াও, এক বা একাধিক পরিচিতির RCS ক্ষমতা সম্পর্কে আগ্রহী অন্যান্য অ্যাপকে পরিচিতির RCS ক্ষমতা সম্পর্কে নেটওয়ার্কে কোয়েরি করার অনুমতি দেয়।

নিরাপত্তা ও অনুমতি

Android 12-এ, ক্যারিয়ারের নেটওয়ার্ক এবং ব্যবহারকারীর ডেটা নিরাপদে অ্যাক্সেস করা নিশ্চিত করতে নিম্নলিখিত অনুমতিগুলি চালু করা হয়েছে:

RCS ফিচার সহ মেসেজিং অ্যাপের মাধ্যমে android.permission.PERFORM_IMS_SINGLE_REGISTRATION অনুমতি অবশ্যই সংজ্ঞায়িত করতে হবে। এই অনুমতি মঞ্জুর করার জন্য, নিম্নলিখিত বিষয়গুলি সত্যি হতে হবে:

  • অ্যাপটিকে অবশ্যই বিশেষ সুবিধা প্রাপ্ত অ্যাপ হিসেবে ইনস্টল করতে হবে, অর্থাৎ এটি ডিভাইসে আগে থেকেই ইনস্টল করা থাকবে এবং বিশেষ সুবিধা প্রাপ্ত অনুমতি অ্যাক্সেস করার অনুমতি পাবে
  • অ্যাপটিকে অবশ্যই ব্যবহারকারীর ডিফল্ট এসএমএস অ্যাপ হিসেবে সেট করতে হবে, এর জন্য RoleManager

এই দুটি শর্তের কোনও একটি পূরণ না হলে, অ্যাপকে android.permission.PERFORM_IMS_SINGLE_REGISTRATION অ্যাক্সেস করার অনুমতি দেওয়া হয় না। এর অর্থ হল, থার্ড-পার্টি অ্যাপকে RCS সিঙ্গেল রেজিস্ট্রেশন API অ্যাক্সেস করার অনুমতি দেওয়া হয় না, কারণ এর জন্য ডিভাইসে পরিষেবা প্রদানকারীর সার্টিফিকেশন প্রয়োজন।

READ_CONTACTS অনুমতি আছে এমন কোনও অ্যাপকে android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE অনুমতি দেওয়া হলে, অ্যাপটি RcsUceAdapter ব্যবহার করে ফোন নম্বরের RCS ক্যাপাবিলিটি অনুরোধ করতে পারে। এই অনুমতি মঞ্জুর করার জন্য, নিম্নলিখিত শর্তগুলি পূরণ করতে হবে:

  • অ্যাপটি অবশ্যই একটি বিশেষাধিকারপ্রাপ্ত অ্যাপ হিসেবে ইনস্টল করতে হবে, যার অর্থ হল এটি ডিভাইসে আগে থেকে ইনস্টল করা আছে এবং বিশেষাধিকারপ্রাপ্ত অনুমতি অ্যাক্সেস করার অনুমতি দেওয়া হয়েছে।
  • অ্যাপটিকে নিম্নলিখিত RoleManager ভূমিকাগুলির মধ্যে একটি হিসেবে সংজ্ঞায়িত করতে হবে:

    • ডিফল্ট মেসেজিং অ্যাপ: ব্যবহারকারীর সেট করা।
    • ডিফল্ট ডায়ালার অ্যাপ: ব্যবহারকারীর সেট করা।
    • ডিফল্ট পরিচিতি অ্যাপ: Android 12-এ চালু করা একটি ভূমিকা যা OEM-কে ডিভাইস ওভারলে ভ্যালু config_systemContacts-এর মাধ্যমে প্যাকেজের নাম নির্ধারণ করার অনুমতি দেয়, যা অবশ্যই ডিভাইসের পরিচিতি অ্যাপের সাথে সঙ্গতিপূর্ণ হতে হবে। তারপরে সেই অ্যাপকে পরিচিতির ভূমিকা দেওয়া হয়।

ডেটা ট্রাফিক সেট-আপ ও ম্যানেজ করতে ConnectivityManager ব্যবহার করে IMS APN অ্যাক্সেস করার জন্য, অ্যাপকে অবশ্যই android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS অনুমতির জন্য অনুরোধ করতে হবে।

উদাহরণ ও সোর্স

Android, AOSP-তে একটি অ্যাপ প্রদান করে যা টেস্টিং ও ডেভেলপমেন্টের উদ্দেশ্যে বেসিক RCS মেসেজিং সাপোর্ট সহ একটি টেস্ট মেসেজিং অ্যাপ প্রয়োগ করে। আপনি testapps/TestRcsApp-এ অ্যাপটি খুঁজে পাবেন। কোনও ডিভাইসে অ্যাপ ইনস্টল করা হলে, এটি ব্যবহারকারীর ডিফল্ট মেসেজিং অ্যাপ হিসেবে সেট করা যেতে পারে এবং IMS সিঙ্গেল রেজিস্ট্রেশন API অ্যাক্সেস করার জন্য প্রয়োজনীয় অনুমতি থাকবে।

এছাড়াও, Android RCS-এর জন্য ImsService-এর একটি নমুনা প্রয়োগ প্রদান করে। সোর্স কোডটি /testapps/ImsTestService-এ আছে।

প্রয়োগ

প্রয়োগ করা সংক্রান্ত আরও বিবরণের জন্য, Android-এ IMS সিঙ্গেল রেজিস্ট্রেশন ডাউনলোড করুন।

যাচাইকরণ

IMS সিঙ্গেল রেজিস্ট্রেশন প্রয়োগ করা হয়েছে কিনা তা যাচাই করতে, নিম্নলিখিত কাজগুলি করুন:

  • নিশ্চিত করুন যে CtsTelephonyTestCases CTS টেস্ট স্যুটে পাস করেছে।
  • ইন্টিগ্রেশন চলাকালীন প্রাথমিক সিঙ্গেল রেজিস্ট্রেশন টেস্ট কেস চালানোর জন্য TestRcsApp ইনস্টল ও চালান।
  • IMS সিঙ্গেল রেজিস্ট্রেশন টেস্ট কেসের জন্য পাস করা কেরিয়ার সার্টিফিকেশন।