eUICC API সংক্রান্ত সমস্যার সমাধান করা

eUICC API অ্যাপ ও ব্যবহারকারীদের eSIM প্রোফাইল ডাউনলোড করা, চালু করা, বন্ধ করা ও মুছে ফেলা সংক্রান্ত সমস্যার সমাধান করতে সাহায্য করার জন্য সমস্যার কোড প্রদান করে।

সমস্যা ম্যানেজ করা

eUICC API কল করার সময় কোনও সমস্যা হলে, একটি পেন্ডিং ইনটেন্ট কলব্যাক প্রদান করা হয় এবং EXTRA_EMBEDDED_SUBSCRIPTION_DETAILED_CODE বিস্তারিত সমস্যার কোড পাওয়ার জন্য কী হিসেবে ব্যবহার করা হয়। Android 11 থেকে শুরু করে, ফলাফল হিসেবে পাওয়া ইনটেন্টে নিম্নলিখিত চারটি কী ও ভ্যালু অন্তর্ভুক্ত করা হয়:

  • EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE: কী ভুল হয়েছে সেই সম্পর্কে তথ্য প্রদান করে। যেমন, ই-সিম প্রোফাইল ডাউনলোড করা বা মুছে দেওয়া। এই ফিল্ড কখনও খালি থাকে না।
  • EXTRA_EMBEDDED_SUBSCRIPTION_ERROR_CODE: সমস্যাটি কেন হয়েছে সেই সম্পর্কিত তথ্য। যেমন, অনুরোধের সময়সীমা শেষ হয়ে গেছে বা ডিভাইসটি পরিষেবা প্রদানকারীর লক করা। নিম্নলিখিত ক্ষেত্রে এই ফিল্ডে কোনও ডেটা পাওয়া যায় না:

    • অপারেশন কোড হল OPERATION_SMDX_SUBJECT_REASON_CODE।
    • সমস্যাটি IOException বা InterruptedException-এর মতো নিম্ন-স্তরের সমস্যা।
  • EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE: EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE-এর সাথে ব্যবহার করা হয়, যা একসাথে GSMA (SGP.22 v2.2) থেকে SubjectCode[5.2.6.1] এবং ReasonCode[5.2.6.2] প্রদান করে। অপারেশন কোড OPERATION_SMDX_SUBJECT_REASON_CODE হলে তবেই এই ফিল্ড পূরণ করা হয়।

  • EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE: EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE-এর সাথে ব্যবহার করা হয়, যা একসাথে GSMA (SGP.22 v2.2) থেকে SubjectCode[5.2.6.1] এবং ReasonCode[5.2.6.2] প্রদান করে। অপারেশন কোড OPERATION_SMDX_SUBJECT_REASON_CODE হলে তবেই এই ফিল্ড পূরণ করা হয়।

এই চারটি ভ্যালু eUICC API-এর কলারকে নির্দিষ্ট সমস্যা আলাদাভাবে ম্যানেজ করতে দেয়। এইসব সমস্যা কীভাবে সামলাতে হয় তার একটি উদাহরণ নিচে দেওয়া হল।

int operationCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
int errorCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_OPERATION_CODE)
String smdxSubjectCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_SUBJECT_CODE)
String smdxReasonCode = intent.get(EXTRA_EMBEDDED_SUBSCRIPTION_SMDX_REASON_CODE)

if (operationCode == OPERATION_DOWNLOAD && errorCode == ERROR_CARRIER_LOCKED) {
  // handle specific error i.e. tries to download but the device is carrier locked
} else if (operationCode == OPERATION_SMDX) {
  // handle all SM-DP+/SM-DS errors
} else if (errorCode == ERROR_TIME_OUT) {
  // handle all types of time out issues, regardless of operation.
} else if ("8.1".equals(smdxSubjectCode) && "3.1".equals(smdxReasonCode)) {
  // handle specific subject code and reason code: 8.1 and 4.1 means insufficient memory.
}

কাজ করে এমন অপারেশন ও ত্রুটি কোডের কম্বিনেশন

নিম্নলিখিত সারণীতে অপারেশন ও লোকাল প্রোফাইল অ্যাসিস্ট্যান্ট (LPA) থেকে পাওয়া এরর কোডের কাজ করার উপযুক্ত কম্বিনেশন বর্ণনা করা হয়েছে।

অপারেশন ও সমস্যার কোডের কম্বিনেশন
অপারেশন কোড সমস্যার কোড বিবরণ
OPERATION_SYSTEM প্রযোজ্য নয় একটি অভ্যন্তরীণ ত্রুটি ঘটেছে৷ যেমন, থ্রেড ইন্টারাপ্ট করা হয়েছে অথবা কোনও IOException সমস্যা হয়েছে।
OPERATION_SIM_SLOT প্রযোজ্য নয় সিম স্লট অপারেশন করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
ERROR_TIME_OUT সিম স্লট অপারেশন করার সময় টাইম-আউট হয়ে গেছে।
ERROR_EUICC_MISSING ডিভাইসে কোনও eUICC উপলভ্য বা অ্যাক্টিভ নেই।
OPERATION_EUICC_CARD প্রযোজ্য নয় eUICC অপারেশন করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
ERROR_UNSUPPORTED_VERSION eUICC (চিপ) ভার্সন এবং EuiccCard (সফ্টওয়্যার) ভার্সন মানানসই নয়।
ERROR_EUICC_MISSING ডিভাইসে কোনও সিম কার্ড নেই। যেমন, LPA সিম কার্ড শনাক্ত করতে পারছে না।
OPERATION_SMDX প্রযোজ্য নয় SM-DP+/SM-DS অপারেশন করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
ERROR_ADDRESS_MISSING প্রোফাইল ডাউনলোড করার জন্য কোনও SM-DP+ ঠিকানা নেই।
ERROR_INVALID_CONFIRMATION_CODE অ্যাক্টিভেশন কোড পার্স করার সময় কোনও সমস্যা হয়েছে (ভুল ফর্ম্যাট)।
ERROR_CERTIFICATE_ERROR যাচাইকরণের জন্য TLS কানেকশনে ব্যবহার করার সময় কীস্টোর বা সার্টিফিকেট সংক্রান্ত সমস্যা।
ERROR_NO_PROFILES_AVAILABLE SM-DP+ থেকে কোনও প্রোফাইল উপলভ্য নেই।
ERROR_CONNECTION_ERROR সার্ভারের সাথে কানেকশন তৈরি করা যাচ্ছে না।
ERROR_INVALID_RESPONSE SM-DP+/SM-DS সার্ভার থেকে ভুল উত্তর পাওয়া গেছে।
OPERATION_SWITCH প্রযোজ্য নয় সুইচ অপারেশন করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
ERROR_CARRIER_LOCKED ডিভাইসটি ক্যারিয়ার লক (SIM লক) করা থাকার কারণে প্রোফাইল পরিবর্তন করার অনুমতি নেই।
OPERATION_DOWNLOAD প্রযোজ্য নয় ডাউনলোড করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
ERROR_DISALLOWED_BY_PPR eUICC-তে থাকা 'নিয়ম অনুমোদন' টেবিলটি খালি অথবা প্রোফাইল নীতি সংক্রান্ত নিয়মের মাধ্যমে ডাউনলোড অনুমতি দেওয়া হয়নি।
ERROR_INVALID_ACTIVATION_CODE অ্যাক্টিভেশন কোড পার্স করার সময় কোনও সমস্যা হয়েছে (ভুল ফর্ম্যাট) অথবা অ্যাক্টিভেশন কোড ছাড়াই ডাউনলোড করার চেষ্টা করা হয়েছে।
ERROR_CARRIER_LOCKED ডিভাইসটি ক্যারিয়ার লক (SIM লক) করা থাকার কারণে ডাউনলোড করার অনুমতি নেই।
ERROR_INCOMPATIBLE_CARRIER পরিষেবা প্রদানকারীকে ব্ল্যাকলিস্টে রাখা হয়েছে এবং LPA, SM-DP+/SM-DS থেকে প্রোফাইল ডাউনলোড করতে পারছে না।
ERROR_OPERATION_BUSY প্রোফাইল ডাউনলোড করা হচ্ছে এবং সিম কার্ডের স্ট্যাটাস পরিবর্তন করতে পারে এমন কোনও অ্যাকশন নেওয়া যাবে না।
OPERATION_METADATA প্রযোজ্য নয় মেটাডেটা অপারেশন করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
ERROR_INVALID_ACTIVATION_CODE সাবস্ক্রিপশন মেটাডেটা খালি আছে অথবা সাবস্ক্রিপশন মেটাডেটার মধ্যে অ্যাক্টিভেশন কোড খালি আছে অথবা ভুল।
ERROR_INCOMPATIBLE_CARRIER পরিষেবা প্রদানকারীকে কালো তালিকাভুক্ত করা হয়েছে এবং LPA, SM-DP+/SM-DS থেকে এই পরিষেবা প্রদানকারীর প্রোফাইল ডাউনলোড করতে পারছে না।
OPERATION_EUICC_GSMA প্রযোজ্য নয় eUICC GSMA অপারেশন করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
ERROR_INSTALL_PROFILE প্রোফাইল ইনস্টল করার সময় eUICC-তে সমস্যা হয়েছে। যেমন, প্রোফাইলটি আগে থেকেই আছে অথবা ICCID মিলছে না।
ERROR_EUICC_INSUFFICIENT_MEMORY প্রোফাইল ইনস্টল করার সময় eUICC-তে সমস্যা হয়েছে। eUICC-তে পর্যাপ্ত মেমরি নেই।
ERROR_DISALLOWED_BY_PPR প্রোফাইল ইনস্টল করার সময় eUICC সংক্রান্ত সমস্যা হয়েছে। প্রোফাইল নীতি সংক্রান্ত নিয়মের মাধ্যমে অনুমতি দেওয়া হয় না।
OPERATION_APDU প্রযোজ্য নয় APDU অপারেশন করার সময় কোনও ইন্টার্নাল সমস্যা হয়েছে।
OPERATION_HTTP 1-999 ত্রুটি কোড হল HTTP সংক্রান্ত সমস্যার ভ্যালু।
অপারেশন কোড বিষয়ের কোড কারণ কোড বিবরণ
OPERATION_SMDX_SUBJECT_REASON_CODE স্ট্রিংয়ে ৩টি সংখ্যা আছে যেগুলি ডট দিয়ে আলাদা করা হয়েছে এবং শুরুতে কোনও শূন্য নেই। যেমন, 8.1.1। স্ট্রিংয়ে ৩টি সংখ্যা আছে যেগুলি ডট দিয়ে আলাদা করা হয়েছে এবং শুরুতে কোনও শূন্য নেই। যেমন, 3.8। GSMA (SGP.22 v2.2) থেকে SubjectCode[5.2.6.1] এবং ReasonCode[5.2.6.2]। যেমন, SubjectCode 8.1.1 এবং ReasonCode 3.8 হলে বুঝতে হবে যে EID অন্য ডিভাইসের সাথে যুক্ত আছে।