eUICC API ত্রুটিগুলি পরিচালনা করুন৷

eUICC API-গুলো এরর কোড প্রদান করে, যা অ্যাপ এবং ব্যবহারকারীদের eSIM প্রোফাইল ডাউনলোড, সক্রিয়, নিষ্ক্রিয় এবং মুছে ফেলার সাথে সম্পর্কিত সমস্যা সমাধানে সহায়তা করে।

ত্রুটিগুলি পরিচালনা করুন

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

  • 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 ডিভাইসটিতে কোনো সিম কার্ড নেই। উদাহরণস্বরূপ, এলপিএ সিম কার্ডটি শনাক্ত করতে পারছে না।
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 ডিভাইসটি ক্যারিয়ার লকড (সিম লকড) হওয়ায় প্রোফাইল পরিবর্তন করার অনুমতি নেই।
OPERATION_DOWNLOAD প্রযোজ্য নয় ডাউনলোড কার্যক্রম চলাকালীন একটি অভ্যন্তরীণ ত্রুটি ঘটেছে।
ERROR_DISALLOWED_BY_PPR eUICC-তে থাকা রুলস অথরাইজেশন টেবিলটি শূন্য অথবা প্রোফাইল পলিসি রুল দ্বারা ডাউনলোডটি অনুমোদিত নয়।
ERROR_INVALID_ACTIVATION_CODE অ্যাক্টিভেশন কোডটি পার্স করার সময় (অবৈধ ফরম্যাট) অথবা অ্যাক্টিভেশন কোড ছাড়া ডাউনলোড করার চেষ্টার সময় একটি ত্রুটি ঘটেছে।
ERROR_CARRIER_LOCKED ডিভাইসটি ক্যারিয়ার লকড (সিম লকড) হওয়ায় ডাউনলোড করার অনুমতি নেই।
ERROR_INCOMPATIBLE_CARRIER ক্যারিয়ারটি ব্ল্যাকলিস্টে রয়েছে এবং এলপিএ এসএম-ডিপি+/এসএম-ডিএস থেকে প্রোফাইল ডাউনলোড করতে পারছে না।
ERROR_OPERATION_BUSY প্রোফাইল ডাউনলোড চলছে এবং সিমের অবস্থা পরিবর্তন করতে পারে এমন অন্য কোনো কার্যকলাপের অনুমতি নেই।
OPERATION_METADATA প্রযোজ্য নয় মেটাডেটা কার্যক্রম সম্পাদনকালে একটি অভ্যন্তরীণ ত্রুটি ঘটেছে।
ERROR_INVALID_ACTIVATION_CODE সাবস্ক্রিপশন মেটাডেটা খালি অথবা সাবস্ক্রিপশন মেটাডেটার ভেতরের অ্যাক্টিভেশন কোডটি খালি বা অবৈধ।
ERROR_INCOMPATIBLE_CARRIER ক্যারিয়ারটি কালো তালিকাভুক্ত এবং এলপিএ এসএম-ডিপি+/এসএম-ডিএস থেকে এই ক্যারিয়ারের প্রোফাইল ডাউনলোড করতে পারছে না।
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 টি অন্য একটি ডিভাইসের সাথে আবদ্ধ।