Merge "Make the Carrier Key Download Alarm intent protected" into sc-dev
diff --git a/res/layout/radio_info.xml b/res/layout/radio_info.xml
index 72627a3..68c67a3 100644
--- a/res/layout/radio_info.xml
+++ b/res/layout/radio_info.xml
@@ -153,6 +153,12 @@
             <TextView android:id="@+id/nr_frequency" style="@style/info_value" />
         </LinearLayout>
 
+        <!-- NR Frequency -->
+        <LinearLayout style="@style/RadioInfo_entry_layout" android:orientation="horizontal">
+            <TextView android:id="@+id/network_slicing_config_label" android:text="@string/radio_info_network_slicing_config" style="@style/info_label" />
+            <TextView android:id="@+id/network_slicing_config" style="@style/info_value" />
+        </LinearLayout>
+
         <!-- Physical Channel Config -->
         <LinearLayout style="@style/RadioInfo_entry_layout">
             <TextView android:text="@string/radio_info_phy_chan_config" style="@style/info_label" />
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 48e877c..eefaebd 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Wagwoord is verkeerd. SIM is nou geblokkeer. Voer PUK2 in."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 is permanent geblokkeer."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Jy het <xliff:g id="NUMBER">%d</xliff:g> oorblywende pogings."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 is gesluit. Kontak diensverskaffer om te ontsluit."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 is nie meer geblokkeer nie"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Netwerk- of SIM-kaartfout"</string>
     <string name="doneButton" msgid="7371209609238460207">"Klaar"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR is beskikbaar:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekwensie:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Stel radiobandmodus"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Laai tans bandlys …"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Stel"</string>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index a9a00ac..d1833a6 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"የይለፍ ቃል ልክ አይደለም። SIM አሁን ተቆልፏል። PUK2 ያስገቡ።"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"ፒን2 በቋሚነት ታግዷል።"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"እርስዎ <xliff:g id="NUMBER">%d</xliff:g> ቀሪ ሙከራዎች አልዎት።"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ተቆልፏል። ለማስከፈት የአገልግሎት አቅራቢን ያነጋግሩ።"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ከአሁን በኋላ አልታገደም"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"የአውታረ መረብ ወይም የሲም ካርድ ስህተት"</string>
     <string name="doneButton" msgid="7371209609238460207">"ተከናውኗል"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ይገኛል፦"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ሁኔታ፦"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ድግግሞሽ፦"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"የሬዲዮ ባንድ ሁነታን ያቀናጁ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"የባንድ ዝርዝርን በመጫን ላይ…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"አዋቅር"</string>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 87864dd..ac4cbdf 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"‏كلمة المرور غير صحيحة. تم قفل شريحة SIM الآن. أدخل رمز PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"‏تم حظر PUK2 بشكل دائم."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"يتبقى لديك <xliff:g id="NUMBER">%d</xliff:g> من المحاولات."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"‏تم قفل شريحة SIM برمز PUK2. تواصَل مع مقدّم الخدمة لفتح قفل الشريحة."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"‏لم يعد رمز PIN2 محظورًا"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"‏حدث خطأ في الشبكة أو ببطاقة SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"تم"</string>
@@ -927,6 +926,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"‏NR متوفر:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"‏حالة NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏تردد NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"تحديد وضع النطاق اللاسلكي"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"جارٍ تحميل قائمة النطاقات…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"ضبط"</string>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index 2608f6a..70bf97e 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"ভুল পাছৱৰ্ড। এতিয়া ছিম লক কৰা হৈছে। PUK2 লিখক।"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 স্থায়ীভাৱে অৱৰোধ কৰা হৈছে।"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"আপোনাৰ হাতত <xliff:g id="NUMBER">%d</xliff:g>টা প্ৰয়াস বাকী আছে।"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 লক কৰা আছে। আনলক কৰিবলৈ সেৱা প্ৰদানকাৰীৰ সৈতে যোগাযোগ কৰক।"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 আৰু অৱৰোধ হৈ থকা নাই"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"নেটৱৰ্ক বা ছিম কাৰ্ডৰ আসোঁৱাহ।"</string>
     <string name="doneButton" msgid="7371209609238460207">"হ’ল"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR উপলব্ধ:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR স্থিতি:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ফ্ৰিকুৱেন্সী:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ৰেডিঅ’ৰ বেণ্ড ম’ড ছেট কৰক"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"বেণ্ড সূচীখন ল’ড কৰি থকা হৈছে…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"ছেট কৰক"</string>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 3438b8e..c1ea981 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Parol səhvdir. SIM indi kilidlənib. PUK2-ni daxil et."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 həmişəlik qapadıldı."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Sizin <xliff:g id="NUMBER">%d</xliff:g> cəhdiniz qalıb."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 kilidlidir. Açmaq üçün xidmət provayderi ilə əlaqə saxlayın."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 artıq bloklanmayıb"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Şəbəkə və ya SIM kart xətası"</string>
     <string name="doneButton" msgid="7371209609238460207">"Tamam"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Əlçatandır:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR Statusu:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Tezliyi:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Radio Diapazon Rejimini Quraşdırın"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Diapazon Siyahısı Yüklənir…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Ayarlayın"</string>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index c83f75d..52c569c 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Lozinka nije tačna. SIM je sada blokiran. Unesite PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trajno blokiran."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Imate još <xliff:g id="NUMBER">%d</xliff:g> pokušaja."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 je zaključan. Za otključavanje se obratite dobavljaču usluge."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 više nije blokiran"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Greška na mreži ili SIM kartici"</string>
     <string name="doneButton" msgid="7371209609238460207">"Gotovo"</string>
@@ -918,6 +917,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR dostupno:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR stanje:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR učestalost:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Podesite režim radijskog opsega"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Učitava se lista opsega…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Podesi"</string>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 73285a4..bdd80f5 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -294,7 +294,7 @@
     <string name="limited_sim_function_notification_title" msgid="612715399099846281">"Абмежаваныя функцыі SIM-карты"</string>
     <string name="limited_sim_function_with_phone_num_notification_message" msgid="5928988883403677610">"Выклікі і перадача даных праз <xliff:g id="CARRIER_NAME">%1$s</xliff:g> могуць блакіравацца пры выкарыстанні нумара <xliff:g id="PHONE_NUMBER">%2$s</xliff:g>."</string>
     <string name="limited_sim_function_notification_message" msgid="5338638075496721160">"Выклікі і перадача даных праз <xliff:g id="CARRIER_NAME">%1$s</xliff:g> блакіруюцца пры выкарыстанні іншай SIM-карты."</string>
-    <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Знойдзены і выдалены ўстарэлыя ўліковыя запісы SIP"</string>
+    <string name="sip_accounts_removed_notification_title" msgid="3528076957535736095">"Знойдзены і выдалены састарэлыя ўліковыя запісы SIP"</string>
     <string name="sip_accounts_removed_notification_message" msgid="1916856744869791592">"На платформе Android больш не падтрымліваецца SIP-тэлефанія.\nВашы існуючыя ўліковыя запісы SIP (<xliff:g id="REMOVED_SIP_ACCOUNTS">%s</xliff:g>) выдалены.\nПацвердзіце стандартны ўліковы запіс для выклікаў."</string>
     <string name="sip_accounts_removed_notification_action" msgid="3772778402370555562">"Перайсці ў налады"</string>
     <string name="data_usage_title" msgid="8438592133893837464">"Выкарыстанне трафіка"</string>
@@ -920,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Даступнасць NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Стан NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частата NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Задаць рэжым радыёдыяпазону"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Загружаецца спіс дыяпазонаў…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Задаць"</string>
@@ -931,5 +933,5 @@
     <string name="trigger_carrier_provisioning" msgid="1301829588620638234">"Запусціць сінхранізацыю з аператарам"</string>
     <string name="call_quality_notification_bluetooth_details" msgid="8348950331707346711">"Сігнал Bluetooth слабы. Паспрабуйце пераключыцца на гучную сувязь."</string>
     <string name="call_quality_notification_name" msgid="3476828289553948830">"Апавяшчэнне пра якасць выкліку"</string>
-    <string name="notification_channel_sip_account" msgid="1261816025156179637">"Устарэлыя ўліковыя запісы SIP"</string>
+    <string name="notification_channel_sip_account" msgid="1261816025156179637">"Састарэлыя ўліковыя запісы SIP"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index a518114..6be0bcd 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Паролата е неправилна. SIM картата вече е заключена. Въведете PUK2 кода."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 е блокиран завинаги."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Остават ви <xliff:g id="NUMBER">%d</xliff:g> опита."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Заключена с PUK2. За отключване се обърнете към оператора."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"ПИН2 кодът вече не е блокиран"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Грешка в мрежата или SIM картата"</string>
     <string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Налично NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Състояние на NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Честота за NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Задаване на режима за радиодиапазона"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Списъкът с диапазони се зарежда…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Задаване"</string>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index c0db5fa..29dcb56 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"পাসওয়ার্ডটি ভুল৷ সিম এখন অবরুদ্ধ৷ PUK2 লিখুন৷"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 স্থায়ীভাবে অবরুদ্ধ করা হয়েছে৷"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"আপনার কাছে <xliff:g id="NUMBER">%d</xliff:g>টি প্রচেষ্টা অবশিষ্ট রয়েছে৷"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 লক করা আছে। আনলক করতে পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন।"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 এখন আর অবরুদ্ধ নয়"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"নেটওয়ার্ক বা সিম কার্ড ত্রুটি৷"</string>
     <string name="doneButton" msgid="7371209609238460207">"সম্পন্ন হয়েছে"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR উপলভ্য:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR স্ট্যাটাস:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ফ্রিকোয়েন্সি:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"রেডিও ব্যান্ড মোড সেট করুন"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ব্যান্ড তালিকা লোড হচ্ছে..."</string>
     <string name="band_mode_set" msgid="6657819412803771421">"সেট করুন"</string>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 1b15035..442c6fa 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Lozinka je netačna. SIM je sada zaključan. Unesite PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trajno blokiran."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Broj preostalih pokušaja: <xliff:g id="NUMBER">%d</xliff:g>."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"SIM je zaključan kodom PUK2. Kontaktirajte pružaoca usluge da ga otključate."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 više nije blokiran"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Greška na mreži ili SIM kartici"</string>
     <string name="doneButton" msgid="7371209609238460207">"Gotovo"</string>
@@ -918,6 +917,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR dostupno:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR stanje:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR učestalost:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Postavite način radijskog opsega"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Učitavanje liste opsega…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Postavi"</string>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index c4cc571..872159d 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Estat d\'NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Freqüència d\'NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Configura el mode de banda de senyal mòbil"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"S\'està carregant la llista de bandes…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Defineix"</string>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 560aa8b..ed768a7 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Nesprávné heslo. SIM karta je teď uzamčena. Zadejte kód PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trvale zablokován."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Počet zbývajících pokusů: <xliff:g id="NUMBER">%d</xliff:g>."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Uzamčeno kódem PUK2. Se žádostí o odemknutí SIM karty se obraťte na poskytovatele služeb."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 již není blokován"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Došlo k chybě sítě nebo SIM karty."</string>
     <string name="doneButton" msgid="7371209609238460207">"Hotovo"</string>
@@ -921,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR k dispozici:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Stav NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvence NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Nastavit režim pásma bezdrátového modulu"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Načítání seznamu pásem…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Nastavit"</string>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 8b92d31..51659c3 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Tilgængelig for NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Status for NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvens for NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Konfigurer radiobåndstilstand"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Indlæser båndliste…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Angiv"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 6efff20..275147d 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Passwort falsch. SIM-Karte ist jetzt gesperrt. Bitte PUK2 eingeben."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 wurde endgültig gesperrt."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Du hast noch <xliff:g id="NUMBER">%d</xliff:g> Versuche."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 gesperrt. Wende dich zum Entsperren an den Mobilfunkanbieter."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 nicht mehr gesperrt"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Netzwerk- oder SIM-Kartenfehler"</string>
     <string name="doneButton" msgid="7371209609238460207">"Fertig"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR verfügbar:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-Status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-Frequenz:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Frequenzbereichmodus festlegen"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Frequenzliste wird geladen…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Festlegen"</string>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 3773eb3..2d8fd45 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Ο κωδικός πρόσβασης είναι λανθασμένος. Η SIM κλειδώθηκε. Καταχωρίστε το PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Ο κωδικός PUK2 έχει μπλοκαριστεί οριστικά."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Απομένουν <xliff:g id="NUMBER">%d</xliff:g> προσπάθειες."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Το PUK2 κλειδώθηκε. Επικοινωνήστε με τον πάροχο υπηρεσιών για ξεκλείδωμα."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Το PIN2 δεν είναι πλέον αποκλεισμένο"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Σφάλμα δικτύου ή κάρτας SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Τέλος"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR διαθέσιμο:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Κατάσταση NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Συχνότητα NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Ρύθμιση λειτουργίας ζώνης συχνοτήτων πομπού"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Φόρτωση λίστας ζωνών…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Ορισμός"</string>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 5e676c3..3d96b08 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index bc4169e..1b12547 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 5e676c3..3d96b08 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 5e676c3..3d96b08 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR available:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR frequency:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Set radio band mode"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Loading band list…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Set"</string>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index e69d221..478c18a 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -914,6 +914,7 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎NR Available:‎‏‎‎‏‎"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎NR State:‎‏‎‎‏‎"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‎‎‎‎‎NR Frequency:‎‏‎‎‏‎"</string>
+    <string name="radio_info_network_slicing_config" msgid="7675131833885031563">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎Network slicing config:‎‏‎‎‏‎"</string>
     <string name="band_mode_title" msgid="7988822920724576842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎Set Radio Band Mode‎‏‎‎‏‎"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎Loading Band List…‎‏‎‎‏‎"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‏‎Set‎‏‎‎‏‎"</string>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index e3bd0a4..3fd44d6 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Contraseña incorrecta. SIM bloqueada. Ingresa el PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"El código PUK2 se bloqueó de forma permanente."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Te quedan <xliff:g id="NUMBER">%d</xliff:g> intentos."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"SIM bloqueada con PUK2. Comunícate con el proveedor para desbloquearla."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"El PIN2 ya no está bloqueado."</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Error en la red o en la tarjeta SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Finalizado"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Establecer modo de banda de radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Establecer"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 7aa70f1..4d1f877 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Contraseña incorrecta. SIM bloqueada. Introducir PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"El PUK2 se ha bloqueado de forma permanente."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Quedan <xliff:g id="NUMBER">%d</xliff:g> intentos."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloqueado. Ponte en contacto con tu proveedor de servicios para desbloquearlo."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 desbloqueado"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Error en la tarjeta SIM o en la red"</string>
     <string name="doneButton" msgid="7371209609238460207">"Hecho"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Establecer modo de banda de señal móvil"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Seleccionar"</string>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 3e671de..26366e9 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Parool on vale. SIM on nüüd lukus. Sisestage PUK-kood 2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 on püsivalt blokeeritud."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Teil on veel <xliff:g id="NUMBER">%d</xliff:g> katset."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 on lukustatud. Avamiseks võtke ühendust teenusepakkujaga."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN-kood 2 ei ole enam blokeeritud"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Võrgu või SIM-kaardi viga"</string>
     <string name="doneButton" msgid="7371209609238460207">"Valmis"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR saadaval:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-i olek:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-i sagedus:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Raadio ribarežiimi määramine"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ribaloendi laadimine …"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Määra"</string>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 0134194..81af2b4 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Pasahitza ez da zuzena. SIM txartela blokeatu egin da. Idatzi PUK2 kodea."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kodea betiko blokeatu da."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> saiakera gelditzen zaizkizu."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 kodearekin blokeatuta dago SIM txartela. Desblokeatzeko, jarri operadorearekin harremanetan."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kodea desblokeatu da"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Sarearen edo SIM txartelaren errorea"</string>
     <string name="doneButton" msgid="7371209609238460207">"Eginda"</string>
@@ -876,7 +875,7 @@
     <string name="radioInfo_display_asu" msgid="2247752203249646956">"asu"</string>
     <string name="radioInfo_lac" msgid="3892986460272607013">"LAC"</string>
     <string name="radioInfo_cid" msgid="1423185536264406705">"CID"</string>
-    <string name="radio_info_subid" msgid="6839966868621703203">"Uneko azpiIDa:"</string>
+    <string name="radio_info_subid" msgid="6839966868621703203">"Oraingo azpiIDa:"</string>
     <string name="radio_info_dds" msgid="1122593144425697126">"Datu-konexioetarako SIM lehenetsiaren azpiIDa:"</string>
     <string name="radio_info_dl_kbps" msgid="2382922659525318726">"Deskargatzeko banda-zabalera (Kb/s):"</string>
     <string name="radio_info_ul_kbps" msgid="2102225400904799036">"Kargen banda-zabalera (Kb/s):"</string>
@@ -888,7 +887,7 @@
     <string name="radio_info_imei_label" msgid="8947899706930120368">"IMEI:"</string>
     <string name="radio_info_call_redirect_label" msgid="4526480903023362276">"Dei-desbideratzea:"</string>
     <string name="radio_info_ppp_resets_label" msgid="9131901102339077661">"PPP berrezarpen kopurua abiarazi ezkero:"</string>
-    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Uneko sarea:"</string>
+    <string name="radio_info_current_network_label" msgid="3052098695239642450">"Oraingo sarea:"</string>
     <string name="radio_info_ppp_received_label" msgid="5753592451640644889">"Jasotako datuak:"</string>
     <string name="radio_info_gsm_service_label" msgid="6443348321714241328">"Ahots-deien zerbitzua:"</string>
     <string name="radio_info_signal_strength_label" msgid="5545444702102543260">"Seinalearen indarra:"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR erabilgarri:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR estatua:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR maiztasuna:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Ezarri irrati-bandaren modua"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Banden zerrenda kargatzen…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Ezarri"</string>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 2520e4b..c563f1a 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"‏گذرواژه نادرست است. اکنون سیم‌کارت قفل شده است. PUK2 را وارد کنید."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"‏PUK2 به صورت دائمی مسدود شده است."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> تلاش باقی‌مانده دارید."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"‏PUK2 قفل است. برای باز کردن قفل، با ارائه دهنده خدمات تماس بگیرید."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"پین۲ دیگر مسدود نیست"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"خطای شبکه یا سیم‌کارت"</string>
     <string name="doneButton" msgid="7371209609238460207">"تمام"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"‏NR دردسترس است:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"‏وضعیت NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏فرکانس NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"تنظیم حالت باند رادیو"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"درحال بار کردن فهرست باند…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"تنظیم"</string>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index ddca76d..6506746 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Virheellinen salasana. SIM-kortti on lukittu. Anna PUK2-koodi."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2-koodi on pysyvästi estetty."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> yritystä jäljellä."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 lukittu. Ota yhteyttä palveluntarjoajaan lukituksen avaamiseksi."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-koodi ei ole enää estetty"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Verkko- tai SIM-korttivirhe"</string>
     <string name="doneButton" msgid="7371209609238460207">"Valmis"</string>
@@ -773,8 +772,8 @@
     <string name="clh_callFailed_protocol_Error_unspecified_txt" msgid="9203320572562697755">"Soittaminen epäonnistui. Virhekoodi 111."</string>
     <string name="clh_callFailed_interworking_unspecified_txt" msgid="7969686413930847182">"Soittaminen epäonnistui. Virhekoodi 127."</string>
     <string name="labelCallBarring" msgid="4180377113052853173">"Puhelujen esto"</string>
-    <string name="sum_call_barring_enabled" msgid="5184331188926370824">"Käytössä"</string>
-    <string name="sum_call_barring_disabled" msgid="5699448000600153096">"Pois käytöstä"</string>
+    <string name="sum_call_barring_enabled" msgid="5184331188926370824">"Päällä"</string>
+    <string name="sum_call_barring_disabled" msgid="5699448000600153096">"Pois päältä"</string>
     <string name="call_barring_baoc" msgid="7400892586336429326">"Kaikki lähtevät"</string>
     <string name="call_barring_baoc_enabled" msgid="3131509193386668182">"Poistetaanko kaikkien lähtevien puheluiden esto käytöstä?"</string>
     <string name="call_barring_baoc_disabled" msgid="8534224684091141509">"Estetäänkö kaikki lähtevät puhelut?"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR saatavilla:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR:n tila:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR:n taajuus:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Radion taajuustilan valinta"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ladataan taajuusluetteloa…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Aseta"</string>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 65708bf..76d9bb6 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Le mot de passe est erroné. La carte SIM a été verrouillée. Entrez  le code PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Le code PUK2 est bloqué définitivement."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Il vous reste <xliff:g id="NUMBER">%d</xliff:g> tentatives."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Verrouillage PUK2. Communiquez avec le fournisseur de services pour procéder au déverrouillage."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Le NIP2 n\'est plus bloqué."</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Erreur de réseau ou de carte SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Terminé"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponible :"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"État NR :"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Fréquence NR :"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Définir le mode de bande radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Chargement de la liste de bandes en cours…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Définir"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index f01edff..e92aac6 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Le mot de passe est erroné. La carte SIM est désormais verrouillée. Veuillez saisir le code PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"La clé PUK2 est bloquée de manière définitive."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Il vous reste <xliff:g id="NUMBER">%d</xliff:g> tentatives."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Verrouillage par clé PUK2. Contactez votre fournisseur de services pour déverrouiller la carte SIM."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Le code PIN2 n\'est plus bloqué."</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Erreur de réseau ou de carte SIM."</string>
     <string name="doneButton" msgid="7371209609238460207">"OK"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Accès NR disponible :"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"État NR :"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Fréquence NR :"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Définir le mode de bande radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Chargement de la liste de bandes…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Définir"</string>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 36052d6..145ce03 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Contrasinal incorrecto. A SIM está bloqueada agora. Introduce o PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"O PUK2 está permanentemente bloqueado."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Quédanche <xliff:g id="NUMBER">%d</xliff:g> intentos."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloqueado. Contacta co fornecedor de servizo para desbloquealo."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"O PIN2 xa non está bloqueado"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Erro de rede ou de tarxeta SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Feito"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR dispoñible:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado de NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecuencia de NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Cargando lista de bandas…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 8e6198b..9ae6f2f 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"પાસવર્ડ ખોટો છે, SIM હમણાં અવરોધિત છે. PUK2 દાખલ કરો."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ને કાયમી રૂપે અવરોધિત કરેલ છે."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"તમારી પાસે <xliff:g id="NUMBER">%d</xliff:g> પ્રયાસ બાકી છે."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 વડે લૉક થયું છે. અનલૉક કરવા માટે સેવા પ્રદાતાનો સંપર્ક કરો."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 હવે અવરોધિત નથી"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"નેટવર્ક અથવા SIM કાર્ડ ભૂલ"</string>
     <string name="doneButton" msgid="7371209609238460207">"થઈ ગયું"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ઉપલબ્ધ:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR સ્ટેટસ:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR આવર્તન:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"રેડિયો બૅન્ડ મોડ સેટ કરો"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"બૅન્ડની સૂચિ લોડ કરી રહ્યું છે…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"સેટ કરો"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 18396a1..0346a6d 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"पासवर्ड गलत है. सिम अब लॉक हो गई है. PUK2 डालें."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 स्थायी रूप से अवरोधित है."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"आपके पास <xliff:g id="NUMBER">%d</xliff:g> प्रयास शेष हैं."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"सिम कार्ड PUK2 से लॉक है. अनलॉक करने के लिए, सेवा देने वाली कंपनी से संपर्क करें."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 अब अवरोधित नहीं है"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"नेटवर्क या SIM कार्ड गड़बड़ी"</string>
     <string name="doneButton" msgid="7371209609238460207">"पूरा हो गया"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध है:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR की स्थिति:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR की फ़्रीक्वेंसी:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"\'रेडियो बैंड\' मोड सेट करें"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"बैंड सूची लोड की जा रही है…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"सेट करें"</string>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 9945922..10d0bff 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Zaporka nije točna. SIM je sada zaključan. Unesite PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 je trajno blokiran."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Imate još <xliff:g id="NUMBER">%d</xliff:g> pokušaja."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 zaključan. Obratite se davatelju usluga za otključavanje."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 više nije blokiran"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Pogreška mreže ili SIM kartice"</string>
     <string name="doneButton" msgid="7371209609238460207">"Gotovo"</string>
@@ -918,6 +917,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Dostupno za NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Stanje NR-a:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvencija NR-a:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Postavi način radijske frekvencije"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Učitavanje popisa frekvencija…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Postavi"</string>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index ff7a0be..3fb8dda 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"A jelszó helytelen. SIM kártya zárolva. Adja meg a PUK2 kódot."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"A PUK2 végleg letiltva."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> próbálkozási lehetősége maradt."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"A PUK2 zárolva van. A feloldás ügyében forduljon a szolgáltatóhoz."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kód letiltása feloldva"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Hálózattal vagy SIM kártyával kapcsolatos hiba"</string>
     <string name="doneButton" msgid="7371209609238460207">"Kész"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR rendelkezésre áll:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-állapot:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvencia:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Rádióhullámsáv mód beállítása"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Sávlista betöltése…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Beállítás"</string>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index f005098..20c9471 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR-ը հասանելի է՝"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-ի կարգավիճակը՝"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-ի հաճախականությունը՝"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Կարգավորել հաճախությունների շերտի ռեժիմը"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Շերտերի ցուցակը բեռնվում է…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Կարգավորել"</string>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 3469355..c1a13ce 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Sandi salah. SIM kini dikunci. Masukkan PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 diblokir selamanya."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Tersisa <xliff:g id="NUMBER">%d</xliff:g> upaya lagi."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 terkunci. Hubungi penyedia layanan untuk membuka kunci."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 tidak lagi diblokir"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Kesalahan jaringan atau kartu SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Selesai"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Tersedia:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Status NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuensi NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Setel Mode Band Radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Memuat Daftar Band…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Setel"</string>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 9816ed4..68dd17e 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Rangt aðgangsorð. SIM-kortinu var læst. Sláðu inn PUK2-númerið."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 er læst fyrir fullt og allt."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> tilraunir eru eftir."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Læst með PUK2. Hafðu samband við þjónustuaðila til að taka úr lás."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-númer ekki lengur læst"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Villa í símkerfi eða á SIM-korti"</string>
     <string name="doneButton" msgid="7371209609238460207">"Lokið"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR tiltækt:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR staða:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR tíðni:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Velja útvarpstíðni"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Hleður lista yfir tíðnisvið…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Stilla"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index cafc14e..15ac815 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Password errata. SIM bloccata. Inserisci codice PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 bloccato definitivamente."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Hai a disposizione ancora <xliff:g id="NUMBER">%d</xliff:g> tentativi."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloccato. Per sbloccarlo, contatta il fornitore di servizi."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 sbloccato"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Errore di rete o della SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Fine"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponibile:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Stato NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequenza NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Imposta modalità banda radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Caricamento elenco bande…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Imposta"</string>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index b5e52ea..a6f3196 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -920,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"‏תומך ב-5G NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"‏מצב 5G NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏תדירות 5G NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"הגדרת מצב תדרים של רדיו"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"טוען רשימת תדרים…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"הגדרה"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index ef8cfdf..c304b74 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"パスワードが正しくありません。SIMはロックされました。PUK2を入力してください。"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2は完全にブロックされています。"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"入力できるのはあと<xliff:g id="NUMBER">%d</xliff:g>回です。"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 でロックされています。ロックを解除するには、サービス プロバイダにお問い合わせください。"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2はブロックされなくなりました"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ネットワークまたはSIMカードのエラー"</string>
     <string name="doneButton" msgid="7371209609238460207">"完了"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 利用可能:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ステータス:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 周波数:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"無線バンドモードの設定"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"バンドリストを読み込み中…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 9b3cb43..2b6a1f6 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"პაროლი არასწორია. SIM ახლა დაბლოკილია. შეიყვანეთ PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 სამუდამოდ დაიბლოკა."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n" თქვენ გაქვთ <xliff:g id="NUMBER">%d</xliff:g> დარჩენილი მცდელობა."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ჩაკეტილია. განსაბლოკად დაუკავშირდით სერვისის პროვაიდერს."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 აღარ არის დაბლოკილი"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ქსელის ან SIM ბარათის შეცდომა"</string>
     <string name="doneButton" msgid="7371209609238460207">"დასრულდა"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ხელმისაწვდომია:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-ის მდგომარეობა:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-ის სიხშირე:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"რადიოდიაპაზონის რეჟიმის დაყენება"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"მიმდინარეობს დიაპაზონთა სიის ჩატვირთვა…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"დაყენება"</string>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 5489d18..d488dcd 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Құпия сөз дұрыс емес. SIM қазір бекітілген. PUK2 кодын енгізіңіз."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 уақытша бөгелген."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g> әрекет қалды."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 құлыптаулы. Құлпын ашу үшін қызмет көрсетушіге хабарласыңыз."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 енді бөгелмеген"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Желі немесе SIM картасының қатесі"</string>
     <string name="doneButton" msgid="7371209609238460207">"Дайын"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR қолжетімді:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR күйі:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR жиілігі:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Радиожолақ режимін орнату"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Жолақтар тізімі жүктелуде…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Орнату"</string>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index b0fad81..3c76790 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"មាន NR៖"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"ស្ថានភាព NR៖"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"កម្រិត​ញឹកញាប់​នៃ NR៖"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"កំណត់​មុខងារ​កម្រិត​បញ្ជូន​វិទ្យុ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"កំពុងដំណើរការបញ្ជីក្រុម…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"កំណត់"</string>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index e842351..ced50c5 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"ಪಾಸ್‌ವರ್ಡ್ ತಪ್ಪಾಗಿದೆ. SIM ಅನ್ನು ಇದೀಗ ಲಾಕ್ ಮಾಡಲಾಗಿದೆ. PUK2 ನಮೂದಿಸಿ."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ಅನ್ನು ಶಾಶ್ವತವಾಗಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"ನೀವು <xliff:g id="NUMBER">%d</xliff:g> ಬಾಕಿ ಉಳಿದಿರುವ ಪ್ರಯತ್ನಗಳನ್ನು ಹೊಂದಿರುವಿರಿ."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ಲಾಕ್ ಆಗಿದೆ. ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಸೇವೆ ಒದಗಿಸುವವರನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ಇನ್ನು ಮುಂದೆ ನಿರ್ಬಂಧಿತವಾಗಿರುವುದಿಲ್ಲ"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ನೆಟ್‌ವರ್ಕ್‌ ಅಥವಾ ಸಿಮ್ ಕಾರ್ಡ್‌ ದೋಷ"</string>
     <string name="doneButton" msgid="7371209609238460207">"ಮುಗಿದಿದೆ"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ಲಭ್ಯವಿದೆ:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ಸ್ಥಿತಿ:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ಫ್ರೀಕ್ವೆನ್ಸಿ:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ರೇಡಿಯೋ ಬ್ಯಾಂಡ್ ಮೋಡ್ ಹೊಂದಿಸಿ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ಬ್ಯಾಂಡ್ ಪಟ್ಟಿಯನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"ಹೊಂದಿಸಿ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 6e06b13..541dc23 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"비밀번호가 잘못되어 SIM이 잠겼습니다. PUK2를 입력하세요."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2가 완전히 차단되었습니다."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"<xliff:g id="NUMBER">%d</xliff:g>번의 기회가 남았습니다."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2로 잠금 설정되었습니다. 모든 통신사에서 사용할 수 있도록 하려면 서비스 제공업체에 문의하세요."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 차단이 해제되었습니다."</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"네트워크 또는 SIM 카드 오류"</string>
     <string name="doneButton" msgid="7371209609238460207">"완료"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 사용 가능:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR 상태:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 빈도:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"무선 주파수 대역 모드 설정"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"대역 목록 로드 중…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"설정"</string>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index a563806..5d533a6 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Сырсөз туура эмес. SIM азыр кулпуланды. PUK2 киргизиңиз."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 биротоло бөгөттөлдү."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Сизде <xliff:g id="NUMBER">%d</xliff:g> аракет калды."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 кулпуланды. Кулпуну ачуу үчүн оператор менен байланышыңыз."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Мындан ары PIN2 бөгөттөлбөйт"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Тармак же SIM карта катасы"</string>
     <string name="doneButton" msgid="7371209609238460207">"Даяр"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR жеткиликтүү:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR абалы:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR жыштыгы:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Радио жыштыгынын режимин коюу"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Жыштык режиминин тизмеси жүктөлүүдө…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Жөндөө"</string>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 0fc3dfd..817a240 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"ມີ NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"ສະຖານະ NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"ຄວາມຖີ່ NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ຕັ້ງໂໝດແຖບຄວາມຖີ່ວິທະຍຸ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ກຳລັງດາວໂຫລດລາຍຊື່ແຖບຄວາມຖີ່..."</string>
     <string name="band_mode_set" msgid="6657819412803771421">"ກຳນົດ"</string>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 1f6cea8..c0b663b 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Netinkamas slaptažodis. SIM kortelė užrakinta. Įveskite PUK2 kodą."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kodas visam laikui užblokuotas."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Liko <xliff:g id="NUMBER">%d</xliff:g> bandym."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 užrakintas. Kreipkitės į paslaugos teikėją, kad atrakintų."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kodas atblokuotas"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Tinklo ar SIM kortelės klaida"</string>
     <string name="doneButton" msgid="7371209609238460207">"Atlikta"</string>
@@ -921,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR (pasiekiama):"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR būsena:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR dažnis:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Nustatyti radijo dažnių režimą"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Įkeliamas dažnių sąrašas…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Nustatyti"</string>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 232e5d6..2d710a7 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Parole nav pareiza. SIM bloķēta. Ievadiet PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kods ir neatgriezeniski bloķēts."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Jums atlikuši <xliff:g id="NUMBER">%d</xliff:g> mēģinājumi."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ir bloķēts. Lai atbloķētu, sazinieties ar pakalpojuma sniedzēju."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 vairs nav bloķēts"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Tīkla vai SIM kartes kļūda"</string>
     <string name="doneButton" msgid="7371209609238460207">"Gatavs"</string>
@@ -918,6 +917,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR pieejamība:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR statuss:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR biežums:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Radio frekvenču joslu režīma iestatīšana"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Notiek joslu saraksta ielāde…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Iestatīt"</string>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index af59d8c..7f72fa5 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Лозинката е неточна. SIM-картичката е сега заклучена. Внесете го ПУК2-кодот."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"ПУК2 кодот е трајно блокиран."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Имате уште <xliff:g id="NUMBER">%d</xliff:g> обиди."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2-кодот е заклучен. Контактирајте со операторот за отклучување."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-кодот веќе не е блокиран"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Грешка со мрежа или SIM картичка"</string>
     <string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Достапно за NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Состојба на NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Фреквенција на NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Поставете режим на појас на радио"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Се вчитува список на појаси…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Постави"</string>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 8c35189..4703be3 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"പാസ്‌വേഡ് തെറ്റാണ്. SIM ഇപ്പോൾ ലോക്കുചെയ്‌തിരിക്കുന്നു. PUK2 നൽകുക."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ശാശ്വതമായി തടഞ്ഞിരിക്കുന്നു."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"നിങ്ങൾക്ക് <xliff:g id="NUMBER">%d</xliff:g> ശ്രമങ്ങൾ ശേഷിക്കുന്നു."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ലോക്ക് ആണ്. അൺലോക്ക് ചെയ്യാൻ സേവന ദാതാവിനെ ബന്ധപ്പെടുക."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ഇനി തടയില്ല"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"നെറ്റ്‌വർക്ക് അല്ലെങ്കിൽ സിം കാർഡ് പിശക്"</string>
     <string name="doneButton" msgid="7371209609238460207">"പൂർത്തിയായി"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ലഭ്യം:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR നില:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ഫ്രീക്വൻസി:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"റേഡിയോ ബാൻഡ് മോഡ് സജ്ജീകരിക്കുക"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ബാൻഡ് ലിസ്‌റ്റ് ലോഡ് ചെയ്യുന്നു…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"സജ്ജീകരിക്കുക"</string>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index d22c903..783c821 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR боломжтой:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR төлөв:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR давтамж:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Радио мессежийн горимыг тохируулах"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Мессежийн жагсаалтыг ачаалж байна…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Тохируулах"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index ccedfd5..1c32881 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"पासवर्ड चुकीचा आहे. सिम आता लॉक केले आहे. PUK2 प्रविष्‍ट करा."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 कायमचे अवरोधित केले आहे."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"आपल्‍याकडे <xliff:g id="NUMBER">%d</xliff:g> शिल्लक प्रयत्न आहेत."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 द्वारे लॉक केले आहे. ते अनलॉक करण्यासाठी सेवा पुरवठादाराशी संपर्क साधा."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"पिन2 अवरोधित केला नाही"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"नेटवर्क किंवा सिम कार्ड एरर"</string>
     <string name="doneButton" msgid="7371209609238460207">"पूर्ण झाले"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR स्थिती:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR वारंवारता:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"रेडिओ बँड मोड सेट करा"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"बँड सूची लोड करत आहे…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"सेट करा"</string>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index c343939..c58d6f6 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Kata laluan tidak betul. SIM kini dikunci. Masukkan PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 disekat secara kekal."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Anda mempunyai <xliff:g id="NUMBER">%d</xliff:g> percubaan lagi."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 dikunci. Hubungi penyedia perkhidmatan untuk membuka kunci."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 tidak disekat lagi"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Ralat rangkaian atau kad SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Selesai"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Tersedia:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Keadaan NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuensi NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Tetapkan Mod Jalur Radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Memuatkan Senarai Jalur…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Tetapkan"</string>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 0707f98..d6cd2c7 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"လျှို့ဝှက်စကားလုံး မမှန်ကန်ပါ။ SIM ယခုသော့ခတ်လိုက်ပါပြီ။ PUK2 ရိုက်ထည့်ပါ။"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ကို ထာ၀ရ ပိတ်ထားပါသည်"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"သင့်တွင် လက်ကျန် ကြိုးစားခွင့် <xliff:g id="NUMBER">%d</xliff:g> ရှိသည်။"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 လော့ခ်ချထားသည်။ ဖွင့်ရန် ဝန်ဆောင်မှုပေးသူကို ဆက်သွယ်ပါ။"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"ပင်နံပါတ်2 အား အဆက်မဖြတ်တော့ပါ။"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ကွန်ရက် သို့မဟုတ် ဆင်းမ်ကဒ်မှားယွင်းမှု"</string>
     <string name="doneButton" msgid="7371209609238460207">"ပြီးပါပြီ"</string>
@@ -773,7 +772,7 @@
     <string name="clh_callFailed_protocol_Error_unspecified_txt" msgid="9203320572562697755">"ခေါ်ဆိုမှုကို မပြုလုပ်နိုင်ပါ။ အမှားကုဒ် ၁၁၁။"</string>
     <string name="clh_callFailed_interworking_unspecified_txt" msgid="7969686413930847182">"ခေါ်ဆိုမှုကို မပြုလုပ်နိုင်ပါ။ အမှားကုဒ် ၁၂၇။"</string>
     <string name="labelCallBarring" msgid="4180377113052853173">"ခေါ်ဆိုမှုကို ပိတ်ပင်ရန်"</string>
-    <string name="sum_call_barring_enabled" msgid="5184331188926370824">"ဖွင့်ထားသည်"</string>
+    <string name="sum_call_barring_enabled" msgid="5184331188926370824">"ဖွင့်"</string>
     <string name="sum_call_barring_disabled" msgid="5699448000600153096">"ပိတ်ထားသည်"</string>
     <string name="call_barring_baoc" msgid="7400892586336429326">"အထွက်ခေါ်ဆိုမှုအားလုံး"</string>
     <string name="call_barring_baoc_enabled" msgid="3131509193386668182">"အထွက်ခေါ်ဆိုမှုအားလုံး ပိတ်ထားခြင်းကို ပယ်ဖျက်မလား။"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR အသုံးပြုနိုင်သည် -"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR အခြေအနေ -"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ကြိမ်နှုန်း -"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ရေဒီယိုလိုင်းမုဒ်အဖြစ် သတ်မှတ်ပါ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ရေဒီယိုလိုင်းစာရင်းကို ဖွင့်နေသည်…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"သတ်မှတ်ရန်"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 160e808..efce396 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Passordet er feil. PIN-koden er nå blokkert. Skriv inn en PUK2-kode."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 er permanent sperret."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Du har <xliff:g id="NUMBER">%d</xliff:g> forsøk igjen."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2-låst. Kontakt tjenesteleverandøren for å låse opp."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-koden er ikke lenger blokkert"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Feil på nettverket eller SIM-kortet"</string>
     <string name="doneButton" msgid="7371209609238460207">"Ferdig"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR tilgjengelig:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-tilstand:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvens:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Angi båndmodus for radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Laster inn båndlisten …"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Angi"</string>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 87ebf2c..7e0dac8 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"पासवर्ड गलत छ। सिम अब ब्लक गरिएको छ। PUK2 प्रविष्टि गर्नुहोस्।"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 स्थायी रूपमा रोक्का गरियो।"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n" तपाईंसँग <xliff:g id="NUMBER">%d</xliff:g> प्रयास बाँकी छन्।"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"SIM कार्ड PUK2 बाट लक गरिएको छ। अनलक गर्न सेवा प्रदायकलाई सम्पर्क गर्नुहोस्।"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 अब ब्लक गरिएको छैन"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"नेटवर्क वा SIM कार्ड त्रुटि।"</string>
     <string name="doneButton" msgid="7371209609238460207">"सम्पन्न भयो"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR उपलब्ध छ:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR को स्थिती:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR फ्रिक्वेन्सी:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"रेडियोको ब्यान्डसम्बन्धी मोडलाई सेट गर्नुहोस्"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ब्यान्डको सूची लोड गर्दै…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"सेट गर्नुहोस्"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 3082d29..c590abd 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Wachtwoord onjuist. Simkaart nu vergrendeld. Geef PUK2 op."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2-code is definitief geblokkeerd."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Je hebt nog <xliff:g id="NUMBER">%d</xliff:g> pogingen."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 vergrendeld. Neem contact op met je serviceprovider om te ontgrendelen."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 niet langer geblokkeerd"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Netwerk- of simkaartfout"</string>
     <string name="doneButton" msgid="7371209609238460207">"Klaar"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR beschikbaar:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frequentie:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Modus voor radioband instellen"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Bandlijst laden…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Instellen"</string>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index c833757..f3b5023 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"ଭୁଲ୍ ପାସ୍‌ୱର୍ଡ। ବର୍ତ୍ତମାନ SIM ଲକ୍ ହୋ‌ଇଗଲା। PUK2କୁ ପ୍ରବେଶ କରନ୍ତୁ।"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2କୁ ସ୍ଥାୟୀରୂପେ ଅବରୋଧ କରାଯାଇଛି।"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"ଆପଣଙ୍କର <xliff:g id="NUMBER">%d</xliff:g>ଟି ସୁଯୋଗ ବଳକା ଅଛି।"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ଲକ୍ କରାଯାଇଛି। ଅନଲକ୍ କରିବାକୁ ସେବା ପ୍ରଦାନକାରୀ ସହ ଯୋଗାଯୋଗ କରନ୍ତୁ।"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2କୁ ଆଉ ଅବରୋଧ କରାଯାଇନାହିଁ"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ନେଟ୍‌ୱର୍କ କିମ୍ବା SIM କାର୍ଡ ତ୍ରୁଟି"</string>
     <string name="doneButton" msgid="7371209609238460207">"ହୋଇଗଲା"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ଉପଲବ୍ଧ:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ସ୍ଥିତି:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ଫ୍ରିକ୍ୱେନ୍ସୀ:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ରେଡିଓ ବ୍ୟାଣ୍ଡ ମୋଡ୍ ସେଟ୍ କରନ୍ତୁ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ବ୍ୟାଣ୍ଡ ତାଲିକା ଲୋଡ୍ କରାଯାଉଛି…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"ସେଟ୍ କରନ୍ତୁ"</string>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index b59d012..038c430 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"ਪਾਸਵਰਡ ਗ਼ਲਤ। SIM ਹੁਣ ਲੌਕ ਹੈ। PUK2 ਦਰਜ ਕਰੋ।"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 ਸਥਾਈ ਤੌਰ ਤੇ ਬਲੌਕ ਕੀਤਾ ਹੋਇਆ ਹੈ।"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"ਤੁਹਾਡੇ ਕੋਲ <xliff:g id="NUMBER">%d</xliff:g> ਕੋਸ਼ਿਸ਼ਾਂ ਬਾਕੀ ਹਨ।"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 ਲਾਕ ਹੈ। ਅਣਲਾਕ ਕਰਨ ਲਈ ਸੇਵਾ ਪ੍ਰਦਾਨਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ਹੁਣ ਬਲੌਕ ਨਹੀਂ ਹੈ"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ਨੈਟਵਰਕ ਜਾਂ SIM ਕਾਰਡ ਤਰੁੱਟੀ"</string>
     <string name="doneButton" msgid="7371209609238460207">"ਹੋ ਗਿਆ"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ਉਪਲਬਧ:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR ਸਥਿਤੀ:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ਵਾਰਵਾਰਤਾ:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ਰੇਡੀਓ ਬੈਂਡ ਮੋਡ ਸੈੱਟ ਕਰੋ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"ਬੈਂਡ ਸੂਚੀ ਲੋਡ ਕੀਤੀ ਜਾ ਰਹੀ ਹੈ…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"ਸੈੱਟ ਕਰੋ"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 887a2f5..03358d9 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Nieprawidłowe hasło. Karta SIM została zablokowana. Wpisz PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 został trwale zablokowany."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Masz jeszcze <xliff:g id="NUMBER">%d</xliff:g> prób(y)."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Kod PUK2 zablokowany. Aby odblokować, skontaktuj się z dostawcą usług."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 nie jest już zablokowany"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Błąd sieci lub karty SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Gotowe"</string>
@@ -921,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Dostępne NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Stan NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Częstotliwość NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Ustawianie trybu pasma radiowego"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ładuję listę pasm…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Ustaw"</string>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 0b09574..3e92292 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Palavra-passe incorreta. SIM bloqueado. Introduza o PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 bloqueado permanentemente."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Tem mais <xliff:g id="NUMBER">%d</xliff:g> tentativas."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloqueado. Contacte o fornecedor de serviços para desbloquear."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"O PIN2 deixou de estar bloqueado"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Erro do cartão SIM ou da rede"</string>
     <string name="doneButton" msgid="7371209609238460207">"Concluído"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponível:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequência NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de rádio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"A carregar lista de bandas…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 0e6a812..40eaf23 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR disponível:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Estado do NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequência do NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Definir modo de banda de rádio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Carregando a lista de bandas…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Definir"</string>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index c446cf3..50588f0 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Parola nu este corectă. Cardul SIM a fost blocat. Introduceți codul PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Codul PUK2 este blocat definitiv."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"V-au rămas <xliff:g id="NUMBER">%d</xliff:g> (de) încercări."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Blocat cu PUK2. Contactați furnizorul de servicii pentru a debloca."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Codul PIN2 nu mai este blocat"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Eroare de rețea sau de card SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Terminat"</string>
@@ -918,6 +917,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Disponibilă NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Stare NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frecvență NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Setați Modul bandă radio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Se încarcă lista de benzi…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Setați"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index b7cd6d6..69b93c0 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Неверный пароль. SIM-карта заблокирована. Введите код PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Код PUK2 заблокирован навсегда"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Осталось попыток: <xliff:g id="NUMBER">%d</xliff:g>."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Код PUK2 заблокирован. Чтобы разблокировать его, обратитесь к оператору."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Код PIN2 разблокирован."</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Ошибка сети или SIM-карты"</string>
     <string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -921,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Состояние NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частота NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Настроить режим сети"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Загрузка списка частот…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Сохранить"</string>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 6471591..0af60b6 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"මුරපදය වැරදිය. SIM දැන් අගුළු දමා තිබේ. PUK2 ඇතුළු කරන්න."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 සදාකාලිකවම අවහිරයි."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"ඔබට නැවත උත්සාහ කිරීම් <xliff:g id="NUMBER">%d</xliff:g> ක් තිබේ."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 අගුළු දැමිණි. අගුළු ඇරීමට සේවා සපයන්නා සම්බන්ධ කර ගන්න."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"තව දුරටත් PIN2 අවහිර කර නොතිබේ"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"ජාලයේ හෝ SIM කාඩ්පතෙහි දෝෂයක්"</string>
     <string name="doneButton" msgid="7371209609238460207">"හරි"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ලබා ගත හැකි:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR තත්ත්වය:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR සංඛ්‍යාතය:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"රේඩියෝ කලාප ප්‍රකාරය සකසන්න"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"කලාප ලැයිස්තුව පූරණය කරමින්…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"සකසන්න"</string>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 1366168..6a8a304 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Heslo je nesprávne. SIM karta bola uzamknutá. Zadajte kód PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Kód PUK2 je natrvalo blokovaný."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Zostávajú vám pokusy (počet: <xliff:g id="NUMBER">%d</xliff:g>)"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"SIM karta je blokovaná kódom PUK2. Ak ju chcete odblokovať, kontaktujte poskytovateľa služieb."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Kód PIN2 už nie je blokovaný"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Došlo k chybe siete alebo SIM karty"</string>
     <string name="doneButton" msgid="7371209609238460207">"Hotovo"</string>
@@ -921,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Dostupné NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Stav NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvencia NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Nastaviť režim rádiového pásma"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Načítava sa zoznam pásiem…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Nastaviť"</string>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 8d77ce8..7a7d124 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Geslo je napačno. Kartica SIM je zaklenjena. Vnesite kodo PUK 2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"Koda PUK2 je trajno blokirana."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Imate še toliko poskusov: <xliff:g id="NUMBER">%d</xliff:g>."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Zaklenjeno s kodo PUK2. Za odklepanje se obrnite na ponudnika storitev."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"Koda PIN 2 ni več blokirana"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Napaka omrežja ali kartice SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Dokončano"</string>
@@ -921,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Razpoložljivo za NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Stanje NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekvenca NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Nastavljanje načina radijskega območja"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Nalaganje seznama frekvenčnih pasov …"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Nastavi"</string>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 0c22c14..483bf92 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Fjalëkalimi është i pasaktë. Karta SIM tani është e kyçur. Fut PUK2-shin."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2-shi është i bllokuar përgjithmonë."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Të kanë mbetur edhe <xliff:g id="NUMBER">%d</xliff:g> përpjekje."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Kodi PUK2 i kyçur. Kontakto me ofruesin e shërbimit për ta shkyçur."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-shi nuk është më i bllokuar"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Gabim në rrjet ose në kartën SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"U krye"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Ofrohet NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Gjendja e NR-së:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frekuenca e NR-së:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Cakto modalitetin e brezit të radios"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Po ngarkon listën e brezave…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Cakto"</string>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 9cddc29..905f491 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Лозинка није тачна. SIM је сада блокиран. Унесите PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 је трајно блокиран."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Имате још <xliff:g id="NUMBER">%d</xliff:g> покушаја."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 је закључан. За откључавање се обратите добављачу услуге."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 више није блокиран"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Грешка на мрежи или SIM картици"</string>
     <string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -918,6 +917,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR стање:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR учесталост:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Подесите режим радијског опсега"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Учитава се листа опсега…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Подеси"</string>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4401c69..464b94c 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Felaktigt lösenord. SIM-kortet är nu låst. Ange PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK-kod 2 har blockerats permanent."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Du har <xliff:g id="NUMBER">%d</xliff:g> försök kvar."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 låst. Kontakta tjänsteleverantören för att låsa upp."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 är inte längre blockerad"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Nätverks- eller SIM-kortsfel"</string>
     <string name="doneButton" msgid="7371209609238460207">"Färdig"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR tillgänglig:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR-status:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR-frekvens:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Konfigurera radiobandsläget"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Läser in bandlista …"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Ange"</string>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 21dbd38..8241f0b 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Nenosiri si sahihi. SIM sasa imefungwa. Weka PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 Imezuiwa kabisa."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Una majaribio <xliff:g id="NUMBER">%d</xliff:g> yaliyobaki."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"Imefungwa kwa sababu PUK2 si sahihi. Wasiliana na mtoa huduma ili aifungue."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 sasa haijazuiwa"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Hitilafu ya mtandao au SIM kadi"</string>
     <string name="doneButton" msgid="7371209609238460207">"Kwisha"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Inapatikana:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Hali ya NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Masafa ya NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Weka Hali ya Bendi ya Redio"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Inapakia Orodha ya Bendi…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Weka"</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 437ba09..5a28420 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"கடவுச்சொல் தவறானது. சிம் இப்போது பூட்டப்பட்டது. PUK2ஐ உள்ளிடவும்."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 தற்காலிகமாகத் தடுக்கப்பட்டது."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"நீங்கள் <xliff:g id="NUMBER">%d</xliff:g> முறை முயற்சிக்கலாம்."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 லாக் செய்யப்பட்டுள்ளது. அன்லாக் செய்ய சேவை வழங்குநரைத் தொடர்புகொள்ளவும்."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 இனி தடுக்கப்படாது"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"நெட்வொர்க் அல்லது சிம் கார்டு பிழை"</string>
     <string name="doneButton" msgid="7371209609238460207">"முடிந்தது"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR உள்ளது:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR நிலை:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR அலைவரிசை:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ரேடியோ பேண்டு பயன்முறையை அமை"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"பேண்டு பட்டியலை ஏற்றுகிறது…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"அமை"</string>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index b9f0660..0b0220f 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"పాస్‌వర్డ్ చెల్లదు. SIM ఇప్పుడు లాక్ చేయబడింది. PUK2ని నమోదు చేయండి."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 శాశ్వతంగా బ్లాక్ చేయబడింది."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"మీకు <xliff:g id="NUMBER">%d</xliff:g> ప్రయత్నాలు మిగిలి ఉన్నాయి."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 లాక్ చేయబడింది. అన్‌లాక్ చేయడానికి సర్వీస్ ప్రొవైడర్‌ను కాంటాక్ట్ చేయండి."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 ఇప్పుడు బ్లాక్ అయ్యి లేదు"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"నెట్‌వర్క్ లేదా SIM కార్డ్ లోపం"</string>
     <string name="doneButton" msgid="7371209609238460207">"పూర్తయింది"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR అందుబాటులో ఉంది:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR స్టేటస్:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR ఫ్రీక్వెన్సీ:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"రేడియో బ్యాండ్ మోడ్‌ను సెట్ చేయండి"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"బ్యాండ్ జాబితాను లోడ్ చేస్తోంది…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"సెట్ చేయి"</string>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index f709a7c..a13d23b 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"มี NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"สถานะ NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"ความถี่ NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ตั้งค่าโหมดย่านความถี่วิทยุ"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"กำลังโหลดรายการย่านความถี่…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"ตั้งค่า"</string>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 5d62d87..65d86ad 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Available ang NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Status ng NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Frequency ng NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Itakda ang Band Mode ng Radyo"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Nilo-load ang Listahan ng Band…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Itakda"</string>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index c5a1060..01cdf49 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR Kullanılabilir:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR Durumu:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR Frekansı:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Radyo Bant Modunu Ayarla"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Bant Listesi Yükleniyor…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Ayarla"</string>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index bcc8a1d..ab121ab 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -515,7 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Неправильний пароль. SIM-карту заблоковано. Введіть PUK2-код."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2-код назавжди заблоковано."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"У вас залишилося стільки спроб: <xliff:g id="NUMBER">%d</xliff:g>."</string>
-    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 заблоковано. Щоб розблокувати, зв’яжіться з постачальником послуг."</string>
+    <string name="puk2_locked" msgid="6497760825455461057">"Заблоковано кодом PUK2. Щоб розблокувати, зв’яжіться з оператором."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2-код більше не заблоковано"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Помилка мережі або SIM-карти"</string>
     <string name="doneButton" msgid="7371209609238460207">"Готово"</string>
@@ -920,6 +920,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR доступно:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Статус NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Частота NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Установити режим радіодіапазону"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Завантаження списку діапазонів частот…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Установити"</string>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index e4af87b..46b33bd 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"‏پاس ورڈ غلط ہے۔ SIM اب مقفل ہے۔ PUK2 درج کریں۔"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"‏PUK2 مستقل طور پر مسدود ہے۔"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"آپ کے پاس <xliff:g id="NUMBER">%d</xliff:g> کوششیں بچی ہیں۔"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"‏PUK2 مقفل ہے۔ غیر مقفل کرنے کے ليے سروس فراہم کنندہ سے رابطہ کریں۔"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"‏PIN2 اب مسدود نہیں ہے"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"‏نیٹ ورک یا SIM کارڈ کی خرابی"</string>
     <string name="doneButton" msgid="7371209609238460207">"ہوگیا"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"‏NR دستیاب ہے:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"‏NR ریاست:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"‏NR فریکوئنسی:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"ریڈیو بینڈ موڈ سیٹ کریں"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"بینڈ کی فہرست لوڈ ہو رہی ہے…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"سیٹ کریں"</string>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index bd2665d..cfd69b0 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Parol noto‘g‘ri. SIM karta qulflandi. PUK2 kodini kiriting."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 kod butunlay to‘sib qo‘yildi."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Sizda <xliff:g id="NUMBER">%d</xliff:g> ta urinish qoldi."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 bloklangan. Uni blokdan chiqarish uchun xizmat ta’minotchisiga murojaat qiling."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 kodi blokdan chiqarildi"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Tarmoq yoki SIM kartada xato"</string>
     <string name="doneButton" msgid="7371209609238460207">"Tayyor"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR ochiq:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR holati:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR chastotasi:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Tarmoq rejimini sozlash"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Chastotalar ro‘yxati yuklanmoqda…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Saqlash"</string>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 97b6146..28f7a37 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"Mật khẩu không đúng. SIM hiện đã bị chặn. Hãy nhập PUK2."</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 bị chặn vĩnh viễn."</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"Bạn còn <xliff:g id="NUMBER">%d</xliff:g> lần thử."</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"PUK2 đang bị khóa. Hãy liên hệ với nhà cung cấp dịch vụ để mở khóa."</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 không còn bị chặn"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"Lỗi mạng hoặc thẻ SIM"</string>
     <string name="doneButton" msgid="7371209609238460207">"Xong"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"Hỗ trợ NR:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Trạng thái NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Tần số NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Đặt chế độ dải tần số"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Đang tải danh sách băng tần…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Đặt"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index ddf8300..e568da3 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"密码不正确。SIM 卡已锁定。请输入 PUK2 码。"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2码已被永远锁定。"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"您还可以尝试输入 <xliff:g id="NUMBER">%d</xliff:g> 次。"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"SIM 卡已通过 PUK2 进行锁定。请联系服务提供商来解锁。"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 码已解除锁定"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"网络或 SIM 卡错误"</string>
     <string name="doneButton" msgid="7371209609238460207">"完成"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"5G 可用:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"5G 状态:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"5G 频率:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"设置无线装置频道模式"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"正在加载频道列表…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"设置"</string>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 4da008f..df31e11 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 可用:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR 狀態:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 頻率:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻段模式"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"正在載入頻段清單…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 3347e41..23393be 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -515,8 +515,7 @@
     <string name="puk2_requested" msgid="6992374450720307514">"密碼不正確,SIM 卡現已遭到封鎖。請輸入 PUK2。"</string>
     <string name="puk2_blocked" msgid="3131139031779319911">"PUK2 遭到永久封鎖。"</string>
     <string name="pin2_attempts" msgid="5625178102026453023">\n"您還可以嘗試 <xliff:g id="NUMBER">%d</xliff:g> 次。"</string>
-    <!-- no translation found for puk2_locked (6497760825455461057) -->
-    <skip />
+    <string name="puk2_locked" msgid="6497760825455461057">"SIM 卡已遭 PUK2 碼鎖定,請要求服務供應商協助解鎖。"</string>
     <string name="pin2_unblocked" msgid="4481107908727789303">"PIN2 已解除封鎖"</string>
     <string name="pin2_error_exception" msgid="8116103864600823641">"網路或 SIM 卡錯誤"</string>
     <string name="doneButton" msgid="7371209609238460207">"完成"</string>
@@ -915,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"NR 可供使用:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"NR 狀態:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"NR 頻率:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"設定無線電頻帶模式"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"正在載入頻帶清單…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"設定"</string>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 3456b3a..4ad89d0 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -914,6 +914,8 @@
     <string name="radio_info_nr_available" msgid="1321318331361249997">"I-NR Iyatholakala:"</string>
     <string name="radio_info_nr_state" msgid="1337571996788535356">"Isimo se-NR:"</string>
     <string name="radio_info_nr_frequency" msgid="1201156032796584128">"Imvamisa ye-NR:"</string>
+    <!-- no translation found for radio_info_network_slicing_config (7675131833885031563) -->
+    <skip />
     <string name="band_mode_title" msgid="7988822920724576842">"Isetha imodi yebhendi yerediyo"</string>
     <string name="band_mode_loading" msgid="795923726636735967">"Ilayisha uhlu lwebhendi…"</string>
     <string name="band_mode_set" msgid="6657819412803771421">"Setha"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 88d2f1a..e8a3350 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -2159,6 +2159,8 @@
     <string name="radio_info_nr_state">NR State:</string>
     <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
     <string name="radio_info_nr_frequency">NR Frequency:</string>
+    <!-- Radio Info screen. Label for a status item.  Used for diagnostic info screens, precise translation isn't needed -->
+    <string name="radio_info_network_slicing_config">Network slicing config:</string>
 
     <!-- Band Mode Selection -->
     <!-- Band mode screen.  Title of activity. -->
diff --git a/src/com/android/phone/CarrierConfigLoader.java b/src/com/android/phone/CarrierConfigLoader.java
index 2b91a24..d985e9e 100644
--- a/src/com/android/phone/CarrierConfigLoader.java
+++ b/src/com/android/phone/CarrierConfigLoader.java
@@ -892,9 +892,15 @@
     /** Returns the package name of a priveleged carrier app, or null if there is none. */
     @Nullable
     private String getCarrierPackageForPhoneId(int phoneId) {
-        List<String> carrierPackageNames = TelephonyManager.from(mContext)
+        List<String> carrierPackageNames;
+        final long token = Binder.clearCallingIdentity();
+        try {
+            carrierPackageNames = TelephonyManager.from(mContext)
                 .getCarrierPackageNamesForIntentAndPhone(
-                        new Intent(CarrierService.CARRIER_SERVICE_INTERFACE), phoneId);
+                    new Intent(CarrierService.CARRIER_SERVICE_INTERFACE), phoneId);
+        } finally {
+            Binder.restoreCallingIdentity(token);
+        }
         if (carrierPackageNames != null && carrierPackageNames.size() > 0) {
             return carrierPackageNames.get(0);
         } else {
@@ -1203,6 +1209,8 @@
         int phoneId = SubscriptionManager.getPhoneId(subscriptionId);
         PersistableBundle retConfig = CarrierConfigManager.getDefaultConfig();
         if (SubscriptionManager.isValidPhoneId(phoneId)) {
+            logd("getConfigForSubIdWithFeature: subscriptionId=" + subscriptionId
+                    + ", phoneId=" + phoneId);
             PersistableBundle config = mConfigFromDefaultApp[phoneId];
             if (config != null) {
                 retConfig.putAll(config);
diff --git a/src/com/android/phone/ImsRcsController.java b/src/com/android/phone/ImsRcsController.java
index bd6ba6b..31059e7 100644
--- a/src/com/android/phone/ImsRcsController.java
+++ b/src/com/android/phone/ImsRcsController.java
@@ -17,7 +17,6 @@
 package com.android.phone;
 
 import android.Manifest;
-import android.app.ActivityManager;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Binder;
@@ -276,9 +275,6 @@
             List<Uri> contactNumbers, IRcsUceControllerCallback c) {
         enforceAccessUserCapabilityExchangePermission("requestCapabilities");
         enforceReadContactsPermission("requestCapabilities");
-        if (!isCallingProcessInForeground(Binder.getCallingUid())) {
-            throw new SecurityException("The caller is not in the foreground.");
-        }
         final long token = Binder.clearCallingIdentity();
         try {
             UceControllerManager uceCtrlManager = getRcsFeatureController(subId).getFeature(
@@ -300,9 +296,6 @@
             String callingFeatureId, Uri contactNumber, IRcsUceControllerCallback c) {
         enforceAccessUserCapabilityExchangePermission("requestAvailability");
         enforceReadContactsPermission("requestAvailability");
-        if (!isCallingProcessInForeground(Binder.getCallingUid())) {
-            throw new SecurityException("The caller is not in the foreground.");
-        }
         final long token = Binder.clearCallingIdentity();
         try {
             UceControllerManager uceCtrlManager = getRcsFeatureController(subId).getFeature(
@@ -668,19 +661,6 @@
     }
 
     /**
-     * Check if the calling process is in the foreground.
-     *
-     * @return true if the caller is in the foreground.
-     */
-    private boolean isCallingProcessInForeground(int uid) {
-        ActivityManager am = mApp.getSystemService(ActivityManager.class);
-        boolean isCallingProcessForeground = am != null
-                && am.getUidImportance(uid)
-                        == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND;
-        return isCallingProcessForeground;
-    }
-
-    /**
      * Retrieve ImsPhone instance.
      *
      * @param subId the subscription ID
diff --git a/src/com/android/phone/ImsUtil.java b/src/com/android/phone/ImsUtil.java
index 0825cfb..ba4ad38 100644
--- a/src/com/android/phone/ImsUtil.java
+++ b/src/com/android/phone/ImsUtil.java
@@ -165,7 +165,7 @@
     private static boolean getLastKnownRoamingState(int phoneId) {
         try {
             ImsPhone imsPhone = (ImsPhone) (PhoneFactory.getPhone(phoneId).getImsPhone());
-            return imsPhone.getRoamingState();
+            return imsPhone.getLastKnownRoamingState();
         } catch (NullPointerException | ClassCastException e) {
             return false;
         }
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 88bec27..63def4e 100755
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -355,6 +355,7 @@
     private ImsResolver mImsResolver;
     private UserManager mUserManager;
     private AppOpsManager mAppOps;
+    private PackageManager mPm;
     private MainThreadHandler mMainThreadHandler;
     private SubscriptionController mSubscriptionController;
     private SharedPreferences mTelephonySharedPreferences;
@@ -2165,6 +2166,7 @@
         mImsResolver = PhoneGlobals.getInstance().getImsResolver();
         mUserManager = (UserManager) app.getSystemService(Context.USER_SERVICE);
         mAppOps = (AppOpsManager)app.getSystemService(Context.APP_OPS_SERVICE);
+        mPm = app.getSystemService(PackageManager.class);
         mMainThreadHandler = new MainThreadHandler();
         mSubscriptionController = SubscriptionController.getInstance();
         mTelephonySharedPreferences =
@@ -3102,6 +3104,7 @@
             return null;
         }
         int subId = phone.getSubId();
+        enforceCallingPackage(callingPackage, Binder.getCallingUid(), "getImeiForSlot");
         if (!TelephonyPermissions.checkCallingOrSelfReadDeviceIdentifiers(mApp, subId,
                 callingPackage, callingFeatureId, "getImeiForSlot")) {
             return null;
@@ -3247,6 +3250,24 @@
     //
 
     /**
+     * Make sure the caller is the calling package itself
+     *
+     * @throws SecurityException if the caller is not the calling package
+     */
+    private void enforceCallingPackage(String callingPackage, int callingUid, String message) {
+        int packageUid = -1;
+        try {
+            packageUid = mPm.getPackageUid(callingPackage, 0);
+        } catch (PackageManager.NameNotFoundException e) {
+            // packageUid is -1
+        }
+        if (packageUid != callingUid) {
+            throw new SecurityException(message + ": Package " + callingPackage
+                    + " does not belong to " + callingUid);
+        }
+    }
+
+    /**
      * Make sure the caller has the MODIFY_PHONE_STATE permission.
      *
      * @throws SecurityException if the caller does not have the required permission
@@ -4488,7 +4509,9 @@
     public void setImsProvisioningStatusForCapability(int subId, int capability, int tech,
             boolean isProvisioned) {
         if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
+                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_NR
+                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
             throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
         }
         checkModifyPhoneStatePermission(subId, "setImsProvisioningStatusForCapability");
@@ -4498,6 +4521,12 @@
             if (!isImsProvisioningRequired(subId, capability, true)) {
                 return;
             }
+            if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_NR
+                    || tech == ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
+                loge("setImsProvisioningStatusForCapability: called for technology that does "
+                        + "not support provisioning - " + tech);
+                return;
+            }
 
             // this capability requires provisioning, route to the correct API.
             ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
@@ -4525,7 +4554,7 @@
                     }
                     cacheMmTelCapabilityProvisioning(subId, capability, tech, isProvisioned);
                     try {
-                        ims.changeMmTelCapability(capability, tech, isProvisioned);
+                        ims.changeMmTelCapability(isProvisioned, capability, tech);
                     } catch (com.android.ims.ImsException e) {
                         loge("setImsProvisioningStatusForCapability: couldn't change UT capability"
                                 + ", Exception" + e.getMessage());
@@ -4547,7 +4576,9 @@
     @Override
     public boolean getImsProvisioningStatusForCapability(int subId, int capability, int tech) {
         if (tech != ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN
-                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE) {
+                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_LTE
+                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_NR
+                && tech != ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
             throw new IllegalArgumentException("Registration technology '" + tech + "' is invalid");
         }
         enforceReadPrivilegedPermission("getProvisioningStatusForCapability");
@@ -4558,6 +4589,13 @@
                 return true;
             }
 
+            if (tech == ImsRegistrationImplBase.REGISTRATION_TECH_NR
+                    || tech == ImsRegistrationImplBase.REGISTRATION_TECH_CROSS_SIM) {
+                loge("getImsProvisioningStatusForCapability: called for technology that does "
+                        + "not support provisioning - " + tech);
+                return true;
+            }
+
             ImsManager ims = ImsManager.getInstance(mApp, getSlotIndex(subId));
             switch (capability) {
                 case MmTelFeature.MmTelCapabilities.CAPABILITY_TYPE_VOICE: {
@@ -4867,8 +4905,8 @@
      */
     @Override
     public int getDataNetworkType(String callingPackage, String callingFeatureId) {
-        return getDataNetworkTypeForSubscriber(getDefaultSubscription(), callingPackage,
-                callingFeatureId);
+        return getDataNetworkTypeForSubscriber(mSubscriptionController.getDefaultDataSubId(),
+                callingPackage, callingFeatureId);
     }
 
     /**
@@ -6664,6 +6702,7 @@
 
     @Override
     public int checkCarrierPrivilegesForPackage(int subId, String pkgName) {
+        enforceReadPrivilegedPermission("checkCarrierPrivilegesForPackage");
         if (TextUtils.isEmpty(pkgName)) {
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
         }
@@ -6681,6 +6720,7 @@
 
     @Override
     public int checkCarrierPrivilegesForPackageAnyPhone(String pkgName) {
+        enforceReadPrivilegedPermission("checkCarrierPrivilegesForPackageAnyPhone");
         if (TextUtils.isEmpty(pkgName))
             return TelephonyManager.CARRIER_PRIVILEGE_STATUS_NO_ACCESS;
         int result = TelephonyManager.CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED;
@@ -6704,6 +6744,7 @@
 
     @Override
     public List<String> getCarrierPackageNamesForIntentAndPhone(Intent intent, int phoneId) {
+        enforceReadPrivilegedPermission("getCarrierPackageNamesForIntentAndPhone");
         if (!SubscriptionManager.isValidPhoneId(phoneId)) {
             loge("phoneId " + phoneId + " is not valid.");
             return null;
@@ -6718,6 +6759,7 @@
 
     @Override
     public List<String> getPackagesWithCarrierPrivileges(int phoneId) {
+        enforceReadPrivilegedPermission("getPackagesWithCarrierPrivileges");
         PackageManager pm = mApp.getPackageManager();
         List<String> privilegedPackages = new ArrayList<>();
         List<PackageInfo> packages = null;
diff --git a/src/com/android/phone/TelephonyShellCommand.java b/src/com/android/phone/TelephonyShellCommand.java
index 8fc7e94..f5b6ad8 100644
--- a/src/com/android/phone/TelephonyShellCommand.java
+++ b/src/com/android/phone/TelephonyShellCommand.java
@@ -2295,6 +2295,7 @@
         String packageName = getNextArgRequired();
 
         boolean hasCarrierPrivileges;
+        final long token = Binder.clearCallingIdentity();
         try {
             hasCarrierPrivileges =
                     mInterface.checkCarrierPrivilegesForPackageAnyPhone(packageName)
@@ -2303,6 +2304,8 @@
             Log.w(LOG_TAG, HAS_CARRIER_PRIVILEGES_COMMAND + " exception", e);
             getErrPrintWriter().println("Exception: " + e.getMessage());
             return -1;
+        } finally {
+            Binder.restoreCallingIdentity(token);
         }
 
         getOutPrintWriter().println(hasCarrierPrivileges);
diff --git a/src/com/android/phone/settings/RadioInfo.java b/src/com/android/phone/settings/RadioInfo.java
index 88de151..8c53971 100644
--- a/src/com/android/phone/settings/RadioInfo.java
+++ b/src/com/android/phone/settings/RadioInfo.java
@@ -56,6 +56,7 @@
 import android.telephony.CellSignalStrengthLte;
 import android.telephony.CellSignalStrengthWcdma;
 import android.telephony.DataSpecificRegistrationInfo;
+import android.telephony.data.NetworkSlicingConfig;
 import android.telephony.NetworkRegistrationInfo;
 import android.telephony.PhysicalChannelConfig;
 import android.telephony.RadioAccessFamily;
@@ -245,6 +246,7 @@
     private TextView mNrAvailable;
     private TextView mNrState;
     private TextView mNrFrequency;
+    private TextView mNetworkSlicingConfig;
     private EditText mSmsc;
     private Switch mRadioPowerOnSwitch;
     private Button mCellInfoRefreshRateButton;
@@ -494,6 +496,7 @@
         mNrState = (TextView) findViewById(R.id.nr_state);
         mNrFrequency = (TextView) findViewById(R.id.nr_frequency);
         mPhyChanConfig = (TextView) findViewById(R.id.phy_chan_config);
+        mNetworkSlicingConfig = (TextView) findViewById(R.id.network_slicing_config);
 
         // hide 5G stats on devices that don't support 5G
         if ((mTelephonyManager.getSupportedRadioAccessFamily()
@@ -508,6 +511,8 @@
             mNrState.setVisibility(View.GONE);
             ((TextView) findViewById(R.id.nr_frequency_label)).setVisibility(View.GONE);
             mNrFrequency.setVisibility(View.GONE);
+            ((TextView) findViewById(R.id.network_slicing_config_label)).setVisibility(View.GONE);
+            mNetworkSlicingConfig.setVisibility(View.GONE);
         }
 
         mPreferredNetworkType = (Spinner) findViewById(R.id.preferredNetworkType);
@@ -1125,6 +1130,10 @@
             mNrState.setText(NetworkRegistrationInfo.nrStateToString(ss.getNrState()));
             mNrFrequency.setText(ServiceState.frequencyRangeToString(ss.getNrFrequencyRange()));
         }
+
+        NetworkSlicingConfig slicingConfig = new NetworkSlicingConfig();
+        mNetworkSlicingConfig.setText(slicingConfig.toString());
+
     }
 
     private void updateProperties() {
@@ -1331,7 +1340,7 @@
             new MenuItem.OnMenuItemClickListener() {
         public boolean onMenuItemClick(MenuItem item) {
             boolean isImsRegistered = mPhone.isImsRegistered();
-            boolean availableVolte = mPhone.isVolteEnabled();
+            boolean availableVolte = mPhone.isVoiceOverCellularImsEnabled();
             boolean availableWfc = mPhone.isWifiCallingEnabled();
             boolean availableVt = mPhone.isVideoEnabled();
             boolean availableUt = mPhone.isUtEnabled();
diff --git a/src/com/android/services/telephony/CallQualityManager.java b/src/com/android/services/telephony/CallQualityManager.java
deleted file mode 100644
index 262ce88..0000000
--- a/src/com/android/services/telephony/CallQualityManager.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.services.telephony;
-
-import android.app.Notification;
-import android.app.NotificationChannel;
-import android.app.NotificationManager;
-import android.content.Context;
-import android.os.Bundle;
-import android.os.SystemClock;
-import android.telecom.BluetoothCallQualityReport;
-import android.util.Log;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.telephony.SlidingWindowEventCounter;
-import com.android.phone.R;
-
-/**
- * class to handle call quality events that are received by telecom and telephony
- */
-public class CallQualityManager {
-    private static final String TAG = CallQualityManager.class.getCanonicalName();
-
-    /** notification ids */
-    public static final int BLUETOOTH_CHOPPY_VOICE_NOTIFICATION_ID = 700;
-    public static final String CALL_QUALITY_CHANNEL_ID = "CallQualityNotificationChannel";
-    public static final long NOTIFICATION_BACKOFF_TIME_MILLIS = 5L * 60 * 1000;
-    public static final int NUM_OCCURRENCES_THRESHOLD = 5;
-    public static final long TIME_WINDOW_MILLIS = 5 * 1000;
-
-    private final Context mContext;
-    private final NotificationChannel mNotificationChannel;
-    private final NotificationManager mNotificationManager;
-    private final SlidingWindowEventCounter mSlidingWindowEventCounter;
-
-    private long mNotificationLastTime;
-
-    public CallQualityManager(Context context) {
-        mContext = context;
-        mNotificationChannel = new NotificationChannel(CALL_QUALITY_CHANNEL_ID,
-                mContext.getString(R.string.call_quality_notification_name),
-                NotificationManager.IMPORTANCE_HIGH);
-        mNotificationManager = (NotificationManager)
-                mContext.getSystemService(Context.NOTIFICATION_SERVICE);
-        mNotificationManager.createNotificationChannel(mNotificationChannel);
-        //making sure at the start we qualify to show notifications
-        mNotificationLastTime =
-                SystemClock.elapsedRealtime() - NOTIFICATION_BACKOFF_TIME_MILLIS - 1;
-        mSlidingWindowEventCounter =
-                new SlidingWindowEventCounter(TIME_WINDOW_MILLIS, NUM_OCCURRENCES_THRESHOLD);
-    }
-
-    /**
-     * method that is called whenever a
-     * {@code BluetoothCallQualityReport.EVENT_SEND_BLUETOOTH_CALL_QUALITY_REPORT} is received
-     * @param extras Bundle that includes serialized {@code BluetoothCallQualityReport} parcelable
-     */
-    @VisibleForTesting
-    public void onBluetoothCallQualityReported(Bundle extras) {
-        if (extras == null) {
-            Log.d(TAG, "onBluetoothCallQualityReported: no extras provided");
-        }
-
-        BluetoothCallQualityReport callQualityReport = extras.getParcelable(
-                BluetoothCallQualityReport.EXTRA_BLUETOOTH_CALL_QUALITY_REPORT);
-
-        if (callQualityReport.isChoppyVoice()) {
-            onChoppyVoice();
-        }
-        // TODO: once other signals are also sent, we will add more actions here
-    }
-
-    /**
-     * method to post a notification to user suggesting ways to improve call quality in case of
-     * bluetooth choppy voice
-     */
-    @VisibleForTesting
-    public void onChoppyVoice() {
-        String title = "Call Quality Improvement";
-        Log.d(TAG, "Bluetooth choppy voice signal received.");
-        if (mSlidingWindowEventCounter.addOccurrence(SystemClock.elapsedRealtime())) {
-            timedNotify(title,
-                    mContext.getText(R.string.call_quality_notification_bluetooth_details));
-        }
-    }
-
-    // notify user only if you haven't in the last NOTIFICATION_BACKOFF_TIME_MILLIS milliseconds
-    private void timedNotify(String title, CharSequence details) {
-        if (!mContext.getResources().getBoolean(
-                R.bool.enable_bluetooth_call_quality_notification)) {
-            Log.d(TAG, "Bluetooth call quality notifications not enabled.");
-            return;
-        }
-        long now = SystemClock.elapsedRealtime();
-        if (now - mNotificationLastTime > NOTIFICATION_BACKOFF_TIME_MILLIS) {
-            int iconId = android.R.drawable.stat_notify_error;
-
-            Notification notification = new Notification.Builder(mContext)
-                    .setSmallIcon(iconId)
-                    .setWhen(System.currentTimeMillis())
-                    .setAutoCancel(true)
-                    .setContentTitle(title)
-                    .setContentText(details)
-                    .setStyle(new Notification.BigTextStyle().bigText(details))
-                    .setChannelId(CALL_QUALITY_CHANNEL_ID)
-                    .setOnlyAlertOnce(true)
-                    .build();
-
-            mNotificationManager.notify(TAG, BLUETOOTH_CHOPPY_VOICE_NOTIFICATION_ID, notification);
-            mNotificationLastTime = now;
-            Log.d(TAG, "Call quality signal received, showing notification");
-        } else {
-            Log.d(TAG, "Call quality signal received, but not showing notification, "
-                    + "as recently notified in the last "
-                    + NOTIFICATION_BACKOFF_TIME_MILLIS / 1000 + " seconds");
-        }
-    }
-
-    /**
-     * close the notifications that have been emitted during the call
-     */
-    public void clearNotifications() {
-        mNotificationManager.cancel(TAG, BLUETOOTH_CHOPPY_VOICE_NOTIFICATION_ID);
-    }
-}
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index b0b0303..1ddde75 100755
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -30,7 +30,6 @@
 import android.os.Message;
 import android.os.Messenger;
 import android.os.PersistableBundle;
-import android.telecom.BluetoothCallQualityReport;
 import android.telecom.CallAudioState;
 import android.telecom.CallScreeningService;
 import android.telecom.Conference;
@@ -887,8 +886,6 @@
     private final Set<TelephonyConnectionListener> mTelephonyListeners = Collections.newSetFromMap(
             new ConcurrentHashMap<TelephonyConnectionListener, Boolean>(8, 0.9f, 1));
 
-    private CallQualityManager mCallQualityManager;
-
     protected TelephonyConnection(com.android.internal.telephony.Connection originalConnection,
             String callId, @android.telecom.Call.Details.CallDirection int callDirection) {
         setCallDirection(callDirection);
@@ -901,12 +898,6 @@
     @Override
     public void onCallEvent(String event, Bundle extras) {
         switch (event) {
-            case BluetoothCallQualityReport.EVENT_BLUETOOTH_CALL_QUALITY_REPORT:
-                if (mCallQualityManager == null) {
-                    mCallQualityManager = new CallQualityManager(getPhone().getContext());
-                }
-                mCallQualityManager.onBluetoothCallQualityReported(extras);
-                break;
             case Connection.EVENT_DEVICE_TO_DEVICE_MESSAGE:
                 // A Device to device message is being sent by a CallDiagnosticService.
                 handleOutgoingDeviceToDeviceMessage(extras);
@@ -3200,9 +3191,6 @@
         setDisconnected(disconnectCause);
         notifyDisconnected(disconnectCause);
         notifyStateChanged(getState());
-        if (mCallQualityManager != null) {
-            mCallQualityManager.clearNotifications();
-        }
     }
 
     /**
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index bc39ffc..8b7bd8f 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -1600,7 +1600,7 @@
         Phone imsPhone = phone.getImsPhone();
 
         return imsPhone != null
-                && (imsPhone.isVolteEnabled() || imsPhone.isWifiCallingEnabled())
+                && (imsPhone.isVoiceOverCellularImsEnabled() || imsPhone.isWifiCallingEnabled())
                 && (imsPhone.getServiceState().getState() == ServiceState.STATE_IN_SERVICE);
     }
 
diff --git a/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java b/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java
index 9d2c5d6..1a016ee 100644
--- a/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java
+++ b/src/com/android/services/telephony/rcs/DelegateBinderStateManager.java
@@ -19,6 +19,7 @@
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.DelegateRequest;
 import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateConnection;
 import android.telephony.ims.SipDelegateImsConfiguration;
 import android.telephony.ims.SipDelegateManager;
@@ -52,6 +53,11 @@
          * The SipDelegate has notified telephony that the IMS configuration has changed.
          */
         void onImsConfigurationChanged(SipDelegateImsConfiguration config);
+
+        /**
+         * The SipDelegate has notified telephony that the IMS configuration has changed.
+         */
+        void onConfigurationChanged(SipDelegateConfiguration config);
     }
 
     /** Allow for mocks to be created for testing. */
diff --git a/src/com/android/services/telephony/rcs/DelegateStateTracker.java b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
index 18ad98e..321c7ba 100644
--- a/src/com/android/services/telephony/rcs/DelegateStateTracker.java
+++ b/src/com/android/services/telephony/rcs/DelegateStateTracker.java
@@ -19,6 +19,7 @@
 import android.os.RemoteException;
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateImsConfiguration;
 import android.telephony.ims.aidl.ISipDelegate;
 import android.telephony.ims.aidl.ISipDelegateConnectionStateCallback;
@@ -159,6 +160,20 @@
         }
     }
 
+    /**
+     * THe underlying SipDelegate has reported that the IMS configuration has changed.
+     * @param config The config to be sent to the IMS application.
+     */
+    @Override
+    public void onConfigurationChanged(SipDelegateConfiguration config) {
+        logi("onImsConfigurationChanged: Sending new IMS configuration.");
+        try {
+            mAppStateCallback.onConfigurationChanged(config);
+        } catch (RemoteException e) {
+            logw("onImsConfigurationChanged: IMS application is dead: " + e);
+        }
+    }
+
     /** Write state about this tracker into the PrintWriter to be included in the dumpsys */
     public void dump(PrintWriter printWriter) {
         printWriter.println("Last reg state: " + mLastRegState);
diff --git a/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java b/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java
index daafeb2..e640735 100644
--- a/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java
+++ b/src/com/android/services/telephony/rcs/MessageTransportStateTracker.java
@@ -21,6 +21,7 @@
 import android.telephony.ims.DelegateMessageCallback;
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateImsConfiguration;
 import android.telephony.ims.SipDelegateManager;
 import android.telephony.ims.SipMessage;
@@ -328,6 +329,11 @@
         // Not needed for this Tracker
     }
 
+    @Override
+    public void onConfigurationChanged(SipDelegateConfiguration config) {
+        // Not needed for this Tracker
+    }
+
     /**
      * Open the transport and allow SIP messages to be sent/received on the delegate specified.
      * @param delegate The delegate connection to send SIP messages to on the ImsService.
@@ -355,6 +361,13 @@
     }
 
     /**
+     * @return The remote application's message callback.
+     */
+    public ISipDelegateMessageCallback getAppMessageCallback() {
+        return mAppCallback;
+    }
+
+    /**
      * @return MessageCallback implementation to be sent to the ImsService.
      */
     public ISipDelegateMessageCallback getMessageCallback() {
diff --git a/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java b/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java
index 3f6f269..5eb0558 100644
--- a/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java
+++ b/src/com/android/services/telephony/rcs/SipDelegateBinderConnection.java
@@ -22,6 +22,7 @@
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.DelegateRequest;
 import android.telephony.ims.FeatureTagState;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateImsConfiguration;
 import android.telephony.ims.SipDelegateManager;
 import android.telephony.ims.aidl.IImsRegistration;
@@ -108,6 +109,22 @@
                 }
 
                 @Override
+                public void onConfigurationChanged(
+                        SipDelegateConfiguration registeredSipConfig) {
+                    long token = Binder.clearCallingIdentity();
+                    try {
+                        mExecutor.execute(() -> {
+                            logi("onConfigurationChanged");
+                            for (StateCallback c : mStateCallbacks) {
+                                c.onConfigurationChanged(registeredSipConfig);
+                            }
+                        });
+                    } finally {
+                        Binder.restoreCallingIdentity(token);
+                    }
+                }
+
+                @Override
                 public void onDestroyed(int reason) {
                     long token = Binder.clearCallingIdentity();
                     try {
diff --git a/src/com/android/services/telephony/rcs/SipDelegateController.java b/src/com/android/services/telephony/rcs/SipDelegateController.java
index 2d6d4f0..8cd4365 100644
--- a/src/com/android/services/telephony/rcs/SipDelegateController.java
+++ b/src/com/android/services/telephony/rcs/SipDelegateController.java
@@ -136,11 +136,21 @@
         return mPackageName;
     }
 
+    /**
+     * @return The ImsService's SIP delegate binder impl associated with this controller.
+     */
     public ISipDelegate getSipDelegateInterface() {
         return mMessageTransportStateTracker.getDelegateConnection();
     }
 
     /**
+     * @return The IMS app's message callback binder.
+     */
+    public ISipDelegateMessageCallback getAppMessageCallback() {
+        return mMessageTransportStateTracker.getAppMessageCallback();
+    }
+
+    /**
      * Create the underlying SipDelegate.
      * <p>
      * This may not happen instantly, The CompletableFuture returned will not complete until
diff --git a/src/com/android/services/telephony/rcs/SipTransportController.java b/src/com/android/services/telephony/rcs/SipTransportController.java
index cecc8a2..6ffffaf 100644
--- a/src/com/android/services/telephony/rcs/SipTransportController.java
+++ b/src/com/android/services/telephony/rcs/SipTransportController.java
@@ -20,6 +20,7 @@
 import android.app.role.RoleManager;
 import android.content.Context;
 import android.os.PersistableBundle;
+import android.os.RemoteCallbackList;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.telephony.CarrierConfigManager;
@@ -172,6 +173,34 @@
     }
 
     /**
+     * Extends RemoteCallbackList to track callbacks to the IMS applications with
+     * SipDelegateConnections and cleans them up if they die.
+     */
+    private class TrackedAppBinders extends RemoteCallbackList<ISipDelegateMessageCallback> {
+        @Override
+        public void onCallbackDied(ISipDelegateMessageCallback callback, Object cookie) {
+            mExecutorService.execute(() -> {
+                if (cookie instanceof SipDelegateController) {
+                    SipDelegateController c = (SipDelegateController) cookie;
+                    logi("onCallbackDied - Cleaning up delegates associated with package: "
+                            + c.getPackageName());
+                    boolean isNewDestroyQueued = addPendingDestroy(c,
+                            SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
+                    if (isNewDestroyQueued) {
+                        CompletableFuture<Void> f = new CompletableFuture<>();
+                        scheduleReevaluateNow(f);
+                        f.thenRun(() -> logi("onCallbackDied - clean up complete for package: "
+                                + c.getPackageName()));
+                    }
+                } else {
+                    logw("onCallbackDied: unexpected - cookie is not an instance of "
+                            + "SipDelegateController");
+                }
+            });
+        }
+    }
+
+    /**
      * Used in {@link #destroySipDelegate(int, ISipDelegate, int)} to store pending destroy
      * requests.
      */
@@ -190,13 +219,16 @@
             if (this == o) return true;
             if (o == null || getClass() != o.getClass()) return false;
             DestroyRequest that = (DestroyRequest) o;
-            return reason == that.reason
-                    && controller.equals(that.controller);
+            // Only use controller for comparison, as we want to only have one DestroyRequest active
+            // per controller.
+            return controller.equals(that.controller);
         }
 
         @Override
         public int hashCode() {
-            return java.util.Objects.hash(controller, reason);
+            // Only use controller for hash, as we want to only have one DestroyRequest active per
+            // controller.
+            return java.util.Objects.hash(controller);
         }
 
         @Override
@@ -233,6 +265,8 @@
     private final List<SipDelegateController> mDelegatePendingCreate = new ArrayList<>();
     // SipDelegateControllers that are pending to be destroyed.
     private final List<DestroyRequest> mDelegatePendingDestroy = new ArrayList<>();
+    // Cache of Binders to remote IMS applications for tracking their potential death
+    private final TrackedAppBinders mActiveAppBinders = new TrackedAppBinders();
 
     // Future scheduled for operations that require the list of SipDelegateControllers to
     // be evaluated. When the timer expires and triggers the reevaluate method, this controller
@@ -254,7 +288,7 @@
     // Callback to monitor rcs provisioning change
     private CarrierConfigManager mCarrierConfigManager;
     // Cached allowed feature tags from carrier config
-    ArraySet<String> mFeatureTagsAllowed = new ArraySet<>();
+    private ArraySet<String> mFeatureTagsAllowed = new ArraySet<>();
 
     /**
      * Create an instance of SipTransportController.
@@ -660,6 +694,11 @@
             return;
         }
 
+        // Remove tracking for all SipDelegates being destroyed first
+        for (DestroyRequest d : mDelegatePendingDestroy) {
+            logi("reevaluateDelegates: starting destroy for: " + d.controller.getPackageName());
+            mActiveAppBinders.unregister(d.controller.getAppMessageCallback());
+        }
         // Destroy all pending destroy delegates first. Order doesn't matter.
         List<CompletableFuture<Void>> pendingDestroyList = mDelegatePendingDestroy.stream()
                 .map(d -> triggerDestroy(d.controller, d.reason)).collect(
@@ -673,7 +712,8 @@
         // Add newly created SipDelegates to end of queue before evaluating associated features.
         mDelegatePriorityQueue.addAll(mDelegatePendingCreate);
         for (SipDelegateController c : mDelegatePendingCreate) {
-            logi("reevaluateDelegates: pending create: " + c);
+            logi("reevaluateDelegates: pending create: " + c.getPackageName());
+            mActiveAppBinders.register(c.getAppMessageCallback(), c);
         }
         mDelegatePendingCreate.clear();
 
@@ -704,8 +744,12 @@
 
         // Executor doesn't matter here, schedule an event to update the IMS registration.
         mEvaluateCompleteFuture = pendingChange
-                .thenAccept((associatedFeatures) -> {
-                    logi("reevaluateDelegates: reevaluate complete," + " feature tags associated: "
+                .whenComplete((f, ex) -> {
+                    if (ex != null) {
+                        logw("reevaluateDelegates: Exception caught: " + ex);
+                    }
+                }).thenAccept((associatedFeatures) -> {
+                    logi("reevaluateDelegates: reevaluate complete, feature tags associated: "
                             + associatedFeatures);
                     scheduleUpdateRegistration();
                 });
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java
index 7f751d6..1407671 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/DelegateActivity.java
@@ -26,8 +26,8 @@
 import android.telephony.ims.FeatureTagState;
 import android.telephony.ims.ImsException;
 import android.telephony.ims.ImsManager;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateConnection;
-import android.telephony.ims.SipDelegateImsConfiguration;
 import android.telephony.ims.SipDelegateManager;
 import android.telephony.ims.SipMessage;
 import android.telephony.ims.stub.DelegateConnectionMessageCallback;
@@ -125,15 +125,16 @@
                 }
 
                 @Override
-                public void onImsConfigurationChanged(
-                        SipDelegateImsConfiguration registeredSipConfig) {
-                    mCallbackResultStr += "onImsConfigurationChanged SipDelegateImsConfiguration:"
-                            + registeredSipConfig + "\r\n\r\n";
-                    Log.i(TAG, mCallbackResultStr);
+                public void onConfigurationChanged(
+                        SipDelegateConfiguration registeredSipConfig) {
+                    mCallbackResultStr += "onConfigurationChanged SipDelegateConfiguration:"
+                            + "\r\n\r\n";
+                    Log.i(TAG, "onConfigurationChanged: " + registeredSipConfig);
                     mHandler.sendMessage(mHandler.obtainMessage(MSG_RESULT));
                     dumpConfig(registeredSipConfig);
                 }
 
+
                 @Override
                 public void onFeatureTagStatusChanged(
                         @NonNull DelegateRegistrationState registrationState,
@@ -326,81 +327,33 @@
 
     }
 
-    private void dumpConfig(SipDelegateImsConfiguration config) {
-        Log.i(TAG, "KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_HOME_DOMAIN_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_HOME_DOMAIN_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_IMEI_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_IMEI_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_IPTYPE_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_IPTYPE_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_PATH_HEADER_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_PATH_HEADER_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_URI_USER_PART_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_URI_USER_PART_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING:"
-                + config.getString(SipDelegateImsConfiguration
-                .KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING:"
-                + config.getString(SipDelegateImsConfiguration
-                .KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING:"
-                + config.getString(SipDelegateImsConfiguration
-                .KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING));
-        Log.i(TAG, "KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING:" + config.getString(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING));
-
-        Log.i(TAG, "KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT, -99));
-        Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT, -99));
-
-        Log.i(TAG, "KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL:" + config.getBoolean(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL, false));
-        Log.i(TAG, "KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL:" + config.getBoolean(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL, false));
-        Log.i(TAG, "KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL:" + config.getBoolean(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL, false));
-        Log.i(TAG, "KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL:" + config.getBoolean(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL, false));
-        Log.i(TAG, "KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL:" + config.getBoolean(
-                SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL, false));
+    private void dumpConfig(SipDelegateConfiguration config) {
+        String result = "SipDelegateConfiguration{"
+                + "mVersion=" + config.getVersion()
+                + ", \n\tmTransportType=" + config.getTransportType()
+                + ", \n\tmLocalIpAddr=" + config.getLocalAddress()
+                + ", \n\tmSipServerAddr=" + config.getSipServerAddress()
+                + ", \n\tmIsSipCompactFormEnabled=" + config.isSipCompactFormEnabled()
+                + ", \n\tmIsSipKeepaliveEnabled=" + config.isSipKeepaliveEnabled()
+                + ", \n\tmMaxUdpPayloadSize=" + config.getMaxUdpPayloadSizeBytes()
+                + ", \n\tmPublicUserIdentifier=" + config.getPublicUserIdentifier()
+                + ", \n\tmPrivateUserIdentifier=" + config.getPrivateUserIdentifier()
+                + ", \n\tmHomeDomain=" + config.getHomeDomain()
+                + ", \n\tmImei=" + config.getImei()
+                + ", \n\tmGruu=" + config.getPublicGruuUri()
+                + ", \n\tmSipAuthHeader=" + config.getSipAuthenticationHeader()
+                + ", \n\tmSipAuthNonce=" + config.getSipAuthenticationNonce()
+                + ", \n\tmServiceRouteHeader=" + config.getSipServiceRouteHeader()
+                + ", \n\tmPathHeader=" + config.getSipPathHeader()
+                + ", \n\tmUserAgentHeader=" + config.getSipUserAgentHeader()
+                + ", \n\tmContactUserParam=" + config.getSipContactUserParameter()
+                + ", \n\tmPaniHeader=" + config.getSipPaniHeader()
+                + ", \n\tmPlaniHeader=" + config.getSipPlaniHeader()
+                + ", \n\tmCniHeader=" + config.getSipCniHeader()
+                + ", \n\tmAssociatedUriHeader=" + config.getSipAssociatedUriHeader()
+                + ", \n\tmIpSecConfiguration=" + config.getIpSecConfiguration()
+                + ", \n\tmNatConfiguration=" + config.getNatSocketAddress() + '}';
+        Log.i(TAG, result);
     }
+
 }
diff --git a/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java b/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java
index 9ababc3..6a70f3d 100644
--- a/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java
+++ b/testapps/TestRcsApp/aosp_test_rcsclient/src/com/android/libraries/rcs/simpleclient/registration/RegistrationControllerImpl.java
@@ -22,8 +22,8 @@
 import android.telephony.ims.FeatureTagState;
 import android.telephony.ims.ImsException;
 import android.telephony.ims.ImsManager;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateConnection;
-import android.telephony.ims.SipDelegateImsConfiguration;
 import android.telephony.ims.SipDelegateManager;
 import android.telephony.ims.SipMessage;
 import android.telephony.ims.stub.DelegateConnectionMessageCallback;
@@ -109,7 +109,7 @@
         private final SettableFuture<SipSession> sessionFuture = SettableFuture.create();
 
         protected SipDelegateConnection sipDelegateConnection;
-        private SipDelegateImsConfiguration configuration;
+        private SipDelegateConfiguration mConfiguration;
         private final DelegateConnectionStateCallback connectionCallback =
                 new DelegateConnectionStateCallback() {
 
@@ -119,16 +119,15 @@
                     }
 
                     @Override
-                    public void onImsConfigurationChanged(
-                            SipDelegateImsConfiguration registeredSipConfig) {
+                    public void onConfigurationChanged(
+                            SipDelegateConfiguration registeredSipConfig) {
                         Log.d(
                                 TAG,
                                 "onSipConfigurationChanged: version="
-                                        + registeredSipConfig.getVersion()
-                                        + " bundle="
-                                        + registeredSipConfig.copyBundle());
+                                        + registeredSipConfig.getVersion());
+                        Log.i(TAG, "onSipConfigurationChanged: " + registeredSipConfig);
                         dumpConfig(registeredSipConfig);
-                        RegistrationContext.this.configuration = registeredSipConfig;
+                        RegistrationContext.this.mConfiguration = registeredSipConfig;
                     }
 
                     @Override
@@ -233,84 +232,33 @@
             Log.i(TAG, result);
         }
 
-        private void dumpConfig(SipDelegateImsConfiguration config) {
-            Log.i(TAG, "KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_USER_ID_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PRIVATE_USER_ID_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_HOME_DOMAIN_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_HOME_DOMAIN_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_IMEI_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_IMEI_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_IPTYPE_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_IPTYPE_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING:" +
-                    config.getString(SipDelegateImsConfiguration.
-                            KEY_SIP_CONFIG_UE_PUBLIC_IPADDRESS_WITH_NAT_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_GRUU_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_HEADER_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_AUTHENTICATION_NONCE_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_PATH_HEADER_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_PATH_HEADER_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_URI_USER_PART_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_URI_USER_PART_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING:" +
-                    config.getString(SipDelegateImsConfiguration.
-                            KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING:" +
-                    config.getString(SipDelegateImsConfiguration.
-                            KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING));
-            Log.i(TAG, "KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING:" + config.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING));
-
-            Log.i(TAG, "KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_PUBLIC_PORT_WITH_NAT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_CLIENT_PORT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_SERVER_PORT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_IPSEC_OLD_CLIENT_PORT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_CLIENT_PORT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_SERVER_PORT_INT, -99));
-            Log.i(TAG, "KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT:" + config.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_IPSEC_OLD_CLIENT_PORT_INT,
-                    -99));
-
-            Log.i(TAG, "KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL:" + config.getBoolean(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_COMPACT_FORM_ENABLED_BOOL,
-                    false));
-            Log.i(TAG, "KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL:" + config.getBoolean(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_KEEPALIVE_ENABLED_BOOL, false));
-            Log.i(TAG, "KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL:" + config.getBoolean(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_NAT_ENABLED_BOOL, false));
-            Log.i(TAG, "KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL:" + config.getBoolean(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_GRUU_ENABLED_BOOL, false));
-            Log.i(TAG, "KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL:" + config.getBoolean(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_IS_IPSEC_ENABLED_BOOL, false));
+        private void dumpConfig(SipDelegateConfiguration config) {
+            String result = "SipDelegateConfiguration{"
+                    + "mVersion=" + config.getVersion()
+                    + ", \n\tmTransportType=" + config.getTransportType()
+                    + ", \n\tmLocalAddr=" + config.getLocalAddress()
+                    + ", \n\tmSipServerAddr=" + config.getSipServerAddress()
+                    + ", \n\tmIsSipCompactFormEnabled=" + config.isSipCompactFormEnabled()
+                    + ", \n\tmIsSipKeepaliveEnabled=" + config.isSipKeepaliveEnabled()
+                    + ", \n\tmMaxUdpPayloadSize=" + config.getMaxUdpPayloadSizeBytes()
+                    + ", \n\tmPublicUserIdentifier=" + config.getPublicUserIdentifier()
+                    + ", \n\tmPrivateUserIdentifier=" + config.getPrivateUserIdentifier()
+                    + ", \n\tmHomeDomain=" + config.getHomeDomain()
+                    + ", \n\tmImei=" + config.getImei()
+                    + ", \n\tmGruu=" + config.getPublicGruuUri()
+                    + ", \n\tmSipAuthHeader=" + config.getSipAuthenticationHeader()
+                    + ", \n\tmSipAuthNonce=" + config.getSipAuthenticationNonce()
+                    + ", \n\tmServiceRouteHeader=" + config.getSipServiceRouteHeader()
+                    + ", \n\tmPathHeader=" + config.getSipPathHeader()
+                    + ", \n\tmUserAgentHeader=" + config.getSipUserAgentHeader()
+                    + ", \n\tmContactUserParam=" + config.getSipContactUserParameter()
+                    + ", \n\tmPaniHeader=" + config.getSipPaniHeader()
+                    + ", \n\tmPlaniHeader=" + config.getSipPlaniHeader()
+                    + ", \n\tmCniHeader=" + config.getSipCniHeader()
+                    + ", \n\tmAssociatedUriHeader=" + config.getSipAssociatedUriHeader()
+                    + ", \n\tmIpSecConfiguration=" + config.getIpSecConfiguration()
+                    + ", \n\tmNatConfiguration=" + config.getNatSocketAddress() + '}';
+            Log.i(TAG, result);
         }
 
         @Override
@@ -330,54 +278,48 @@
 
         @Override
         public long getVersion() {
-            return configuration.getVersion();
+            return mConfiguration.getVersion();
         }
 
         @Override
         public String getOutboundProxyAddr() {
-            return configuration.getString(SipDelegateImsConfiguration.
-                    KEY_SIP_CONFIG_SERVER_DEFAULT_IPADDRESS_STRING);
+            return mConfiguration.getSipServerAddress().getAddress().getHostAddress();
         }
 
         @Override
         public int getOutboundProxyPort() {
-            return configuration.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVER_DEFAULT_PORT_INT, -1);
+            return mConfiguration.getSipServerAddress().getPort();
         }
 
         @Override
         public String getLocalIpAddress() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_IPADDRESS_STRING);
+            return mConfiguration.getLocalAddress().getAddress().getHostAddress();
         }
 
         @Override
         public int getLocalPort() {
-            return configuration.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_UE_DEFAULT_PORT_INT, -1);
+            return mConfiguration.getLocalAddress().getPort();
         }
 
         @Override
         public String getSipTransport() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_TRANSPORT_TYPE_STRING);
+            int sipTransport = mConfiguration.getTransportType();
+            return (sipTransport == SipDelegateConfiguration.SIP_TRANSPORT_TCP) ? "TCP" : "UDP";
         }
 
         @Override
         public String getPublicUserIdentity() {
-            return null;
+            return mConfiguration.getPublicUserIdentifier();
         }
 
         @Override
         public String getDomain() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_HOME_DOMAIN_STRING);
+            return mConfiguration.getHomeDomain();
         }
 
         @Override
         public List<String> getAssociatedUris() {
-            String associatedUris = configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_P_ASSOCIATED_URI_HEADER_STRING);
+            String associatedUris = mConfiguration.getSipAssociatedUriHeader();
             if (!TextUtils.isEmpty(associatedUris)) {
                 return Splitter.on(',').trimResults(CharMatcher.anyOf("<>")).splitToList(
                         associatedUris);
@@ -388,15 +330,17 @@
 
         @Override
         public String getSecurityVerifyHeader() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_SECURITY_VERIFY_HEADER_STRING);
+            SipDelegateConfiguration.IpSecConfiguration c = mConfiguration.getIpSecConfiguration();
+            if (c == null) {
+                return null;
+            }
+            return c.getSipSecurityVerifyHeader();
         }
 
         @Override
         public List<String> getServiceRouteHeaders() {
             String serviceRoutes =
-                    configuration.getString(
-                            SipDelegateImsConfiguration.KEY_SIP_CONFIG_SERVICE_ROUTE_HEADER_STRING);
+                    mConfiguration.getSipServiceRouteHeader();
             if (TextUtils.isEmpty(serviceRoutes)) {
                 return Collections.emptyList();
             }
@@ -405,38 +349,33 @@
 
         @Override
         public String getContactUser() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_URI_USER_PART_STRING);
+            return mConfiguration.getSipContactUserParameter();
         }
 
         @Override
         public String getImei() {
-            return configuration.getString(SipDelegateImsConfiguration.KEY_SIP_CONFIG_IMEI_STRING);
+            return mConfiguration.getImei();
         }
 
         @Override
         public String getPaniHeader() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_P_ACCESS_NETWORK_INFO_HEADER_STRING);
+            return mConfiguration.getSipPaniHeader();
         }
 
         @Override
         public String getPlaniHeader() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.
-                            KEY_SIP_CONFIG_P_LAST_ACCESS_NETWORK_INFO_HEADER_STRING);
+            return mConfiguration.getSipPlaniHeader();
         }
 
         @Override
         public String getUserAgentHeader() {
-            return configuration.getString(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_USER_AGENT_HEADER_STRING);
+            return mConfiguration.getSipUserAgentHeader();
         }
 
         @Override
         public int getMaxPayloadSizeOnUdp() {
-            return configuration.getInt(
-                    SipDelegateImsConfiguration.KEY_SIP_CONFIG_MAX_PAYLOAD_SIZE_ON_UDP_INT, 1500);
+            return mConfiguration.getMaxUdpPayloadSizeBytes() > 0
+                    ? mConfiguration.getMaxUdpPayloadSizeBytes() : 1500;
         }
 
         /**
diff --git a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
index 4d40702..8236f44 100644
--- a/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/DelegateStateTrackerTest.java
@@ -24,9 +24,10 @@
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
+import android.net.InetAddresses;
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.FeatureTagState;
-import android.telephony.ims.SipDelegateImsConfiguration;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateManager;
 import android.telephony.ims.aidl.ISipDelegate;
 import android.telephony.ims.aidl.ISipDelegateConnectionStateCallback;
@@ -44,6 +45,7 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 
+import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Set;
@@ -85,13 +87,17 @@
         DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
                 .addRegisteredFeatureTag(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG)
                 .build();
-        SipDelegateImsConfiguration config = new SipDelegateImsConfiguration.Builder(1/*version*/)
-                .build();
+        InetSocketAddress localAddr = new InetSocketAddress(
+                InetAddresses.parseNumericAddress("1.1.1.1"), 80);
+        InetSocketAddress serverAddr = new InetSocketAddress(
+                InetAddresses.parseNumericAddress("2.2.2.2"), 81);
+        SipDelegateConfiguration c = new SipDelegateConfiguration.Builder(1,
+                SipDelegateConfiguration.SIP_TRANSPORT_TCP, localAddr, serverAddr).build();
         stateTracker.onRegistrationStateChanged(regState);
-        stateTracker.onImsConfigurationChanged(config);
+        stateTracker.onConfigurationChanged(c);
         verify(mAppCallback).onFeatureTagStatusChanged(eq(regState),
                 eq(new ArrayList<>(deniedTags)));
-        verify(mAppCallback).onImsConfigurationChanged(config);
+        verify(mAppCallback).onConfigurationChanged(c);
 
         verify(mAppCallback, never()).onDestroyed(anyInt());
     }
diff --git a/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java b/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java
index 360fa21..3d8e94b 100644
--- a/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipDelegateBinderConnectionTest.java
@@ -25,12 +25,13 @@
 import static org.mockito.Mockito.doThrow;
 import static org.mockito.Mockito.verify;
 
+import android.net.InetAddresses;
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.telephony.ims.DelegateRegistrationState;
 import android.telephony.ims.DelegateRequest;
 import android.telephony.ims.FeatureTagState;
-import android.telephony.ims.SipDelegateImsConfiguration;
+import android.telephony.ims.SipDelegateConfiguration;
 import android.telephony.ims.SipDelegateManager;
 import android.telephony.ims.aidl.IImsRegistration;
 import android.telephony.ims.aidl.ISipDelegate;
@@ -51,6 +52,7 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 
+import java.net.InetSocketAddress;
 import java.util.ArrayList;
 import java.util.Set;
 import java.util.function.BiConsumer;
@@ -194,9 +196,14 @@
         cb.onCreated(mMockDelegate, new ArrayList<>(deniedTags));
         verify(mMockCreatedCallback).accept(mMockDelegate, deniedTags);
 
-        SipDelegateImsConfiguration config = new SipDelegateImsConfiguration.Builder(1).build();
-        cb.onImsConfigurationChanged(config);
-        verify(mMockStateCallback).onImsConfigurationChanged(config);
+        InetSocketAddress localAddr = new InetSocketAddress(
+                InetAddresses.parseNumericAddress("1.1.1.1"), 80);
+        InetSocketAddress serverAddr = new InetSocketAddress(
+                InetAddresses.parseNumericAddress("2.2.2.2"), 81);
+        SipDelegateConfiguration c = new SipDelegateConfiguration.Builder(1,
+                SipDelegateConfiguration.SIP_TRANSPORT_TCP, localAddr, serverAddr).build();
+        cb.onConfigurationChanged(c);
+        verify(mMockStateCallback).onConfigurationChanged(c);
 
         DelegateRegistrationState regState = new DelegateRegistrationState.Builder()
                 .addRegisteredFeatureTags(request.getFeatureTags()).build();
diff --git a/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java b/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
index d364fe4..0f139f8 100644
--- a/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
+++ b/tests/src/com/android/services/telephony/rcs/SipTransportControllerTest.java
@@ -62,6 +62,7 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 
 import java.util.ArrayList;
@@ -87,17 +88,25 @@
         public final String packageName;
         public final DelegateRequest delegateRequest;
         public final SipDelegateController delegateController;
-        public final ISipDelegate mMockDelegate;
-        public final IBinder mMockDelegateBinder;
+        private final ISipDelegate mMockDelegate;
+        public final IBinder mockDelegateBinder;
+        public final ISipDelegateConnectionStateCallback mockDelegateConnectionCallback;
+        public final ISipDelegateMessageCallback mockMessageCallback;
+        public final IBinder mockMessageCallbackBinder;
 
         SipDelegateControllerContainer(int id, String name, DelegateRequest request) {
             delegateController = mock(SipDelegateController.class);
             mMockDelegate = mock(ISipDelegate.class);
-            mMockDelegateBinder = mock(IBinder.class);
-            doReturn(mMockDelegateBinder).when(mMockDelegate).asBinder();
+            mockDelegateBinder = mock(IBinder.class);
+            doReturn(mockDelegateBinder).when(mMockDelegate).asBinder();
+            mockDelegateConnectionCallback = mock(ISipDelegateConnectionStateCallback.class);
+            mockMessageCallback = mock(ISipDelegateMessageCallback.class);
+            mockMessageCallbackBinder = mock(IBinder.class);
+            doReturn(mockMessageCallbackBinder).when(mockMessageCallback).asBinder();
             doReturn(name).when(delegateController).getPackageName();
             doReturn(request).when(delegateController).getInitialRequest();
             doReturn(mMockDelegate).when(delegateController).getSipDelegateInterface();
+            doReturn(mockMessageCallback).when(delegateController).getAppMessageCallback();
             subId = id;
             packageName = name;
             delegateRequest = request;
@@ -107,8 +116,6 @@
     @Mock private RcsFeatureManager mRcsManager;
     @Mock private ISipTransport mSipTransport;
     @Mock private IImsRegistration mImsRegistration;
-    @Mock private ISipDelegateConnectionStateCallback mMockStateCallback;
-    @Mock private ISipDelegateMessageCallback mMockMessageCallback;
     @Mock private SipTransportController.SipDelegateControllerFactory
             mMockDelegateControllerFactory;
     @Mock private SipTransportController.RoleManagerAdapter mMockRoleManager;
@@ -249,7 +256,8 @@
         try {
             controller.createSipDelegate(TEST_SUB_ID + 1,
                     new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
-                    mMockStateCallback, mMockMessageCallback);
+                    mock(ISipDelegateConnectionStateCallback.class),
+                    mock(ISipDelegateMessageCallback.class));
             fail();
         } catch (ImsException e) {
             assertEquals(ImsException.CODE_ERROR_INVALID_SUBSCRIPTION, e.getCode());
@@ -265,7 +273,8 @@
         try {
             controller.createSipDelegate(TEST_SUB_ID,
                     new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
-                    mMockStateCallback, mMockMessageCallback);
+                    mock(ISipDelegateConnectionStateCallback.class),
+                    mock(ISipDelegateMessageCallback.class));
             fail();
         } catch (ImsException e) {
             assertEquals(ImsException.CODE_ERROR_UNSUPPORTED_OPERATION, e.getCode());
@@ -282,7 +291,8 @@
         try {
             controller.createSipDelegate(TEST_SUB_ID,
                     new DelegateRequest(Collections.emptySet()), TEST_PACKAGE_NAME,
-                    mMockStateCallback, mMockMessageCallback);
+                    mock(ISipDelegateConnectionStateCallback.class),
+                    mock(ISipDelegateMessageCallback.class));
             fail();
         } catch (ImsException e) {
             assertEquals(ImsException.CODE_ERROR_SERVICE_UNAVAILABLE, e.getCode());
@@ -296,9 +306,8 @@
 
         DelegateRequest r = getBaseDelegateRequest();
 
-        SipDelegateController c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
-        createDelegateAndVerify(controller, c, r, r.getFeatureTags(), Collections.emptySet(),
-                TEST_PACKAGE_NAME);
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
+        createDelegateAndVerify(controller, c, r.getFeatureTags(), Collections.emptySet());
         verifyDelegateRegistrationChangedEvent(1 /*times*/, 0 /*waitMs*/);
         triggerFullNetworkRegistrationAndVerify(controller, c);
     }
@@ -309,19 +318,45 @@
         SipTransportController controller = setupLiveTransportController();
 
         DelegateRequest r = getBaseDelegateRequest();
-        SipDelegateController c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
-        createDelegateAndVerify(controller, c, r, r.getFeatureTags(), Collections.emptySet(),
-                TEST_PACKAGE_NAME);
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
+        createDelegateAndVerify(controller, c, r.getFeatureTags(), Collections.emptySet());
+        verify(c.mockMessageCallbackBinder).linkToDeath(any(), anyInt());
         verifyDelegateRegistrationChangedEvent(1, 0 /*throttle*/);
 
         destroyDelegateAndVerify(controller, c, false,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
+        verify(c.mockMessageCallbackBinder).unlinkToDeath(any(), anyInt());
         verifyDelegateRegistrationChangedEvent(2 /*times*/, 0 /*waitMs*/);
         triggerFullNetworkRegistrationAndVerifyNever(controller, c);
     }
 
     @SmallTest
     @Test
+    public void createDestroyAppDied() throws Exception {
+        SipTransportController controller = setupLiveTransportController();
+        DelegateRequest r = getBaseDelegateRequest();
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME, r);
+        createDelegateAndVerify(controller, c, r.getFeatureTags(), Collections.emptySet());
+        ArgumentCaptor<IBinder.DeathRecipient> captor =
+                ArgumentCaptor.forClass(IBinder.DeathRecipient.class);
+        verify(c.mockMessageCallbackBinder).linkToDeath(captor.capture(), anyInt());
+        IBinder.DeathRecipient deathRecipient = captor.getValue();
+        assertNotNull(deathRecipient);
+        verifyDelegateRegistrationChangedEvent(1, 0 /*throttle*/);
+
+        CompletableFuture<Integer> pendingDestroy = setDestroyFuture(c.delegateController, true,
+                SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
+        // Simulate app dying
+        deathRecipient.binderDied();
+        waitForExecutorAction(mExecutorService, TIMEOUT_MS);
+        verifyDestroyDelegate(c.delegateController, pendingDestroy, true,
+                SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
+        // If binderDied is called, then unregister does not lead to unlinkToDeath
+        triggerFullNetworkRegistrationAndVerifyNever(controller, c);
+    }
+
+    @SmallTest
+    @Test
     public void testCreateButNotInRole() throws Exception {
         SipTransportController controller = setupLiveTransportController();
 
@@ -330,9 +365,8 @@
                 SipDelegateManager.DENIED_REASON_NOT_ALLOWED);
 
         // Try to create a SipDelegate for a package that is not the default sms role.
-        SipDelegateController c = injectMockDelegateController(TEST_PACKAGE_NAME_2, r);
-        createDelegateAndVerify(controller, c, r, Collections.emptySet(), getDeniedTags,
-                TEST_PACKAGE_NAME_2);
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME_2, r);
+        createDelegateAndVerify(controller, c, Collections.emptySet(), getDeniedTags);
     }
 
     @SmallTest
@@ -345,10 +379,9 @@
         ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         firstDelegate.remove(ImsSignallingUtils.GROUP_CHAT_TAG);
         DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
-        createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
-                Collections.emptySet(), TEST_PACKAGE_NAME);
+        createDelegateAndVerify(controller, c1, firstDelegate, Collections.emptySet());
         // there is a delay in the indication to update reg, so it should not happen yet.
         verifyNoDelegateRegistrationChangedEvent();
 
@@ -360,10 +393,10 @@
         Pair<Set<String>, Set<FeatureTagState>> grantedAndDenied = getAllowedAndDeniedTagsForConfig(
                 secondDelegateRequest, SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE,
                 firstDelegate);
-        SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 secondDelegateRequest);
-        createDelegateAndVerify(controller, c2, secondDelegateRequest, grantedAndDenied.first,
-                grantedAndDenied.second, TEST_PACKAGE_NAME, 1);
+        createDelegateAndVerify(controller, c2, grantedAndDenied.first,
+                grantedAndDenied.second, 1);
         // a reg changed event should happen after wait.
         verifyDelegateRegistrationChangedEvent(1, 2 * THROTTLE_MS);
     }
@@ -377,10 +410,10 @@
         Set<FeatureTagState> firstDeniedTags = getDeniedTagsForReason(
                 firstDelegateRequest.getFeatureTags(),
                 SipDelegateManager.DENIED_REASON_NOT_ALLOWED);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
-        createDelegateAndVerify(controller, c1, firstDelegateRequest,
-                firstDelegateRequest.getFeatureTags(), Collections.emptySet(), TEST_PACKAGE_NAME);
+        createDelegateAndVerify(controller, c1, firstDelegateRequest.getFeatureTags(),
+                Collections.emptySet());
         verifyDelegateRegistrationChangedEvent(1 /*times*/, THROTTLE_MS);
 
         DelegateRequest secondDelegateRequest = getBaseDelegateRequest();
@@ -388,16 +421,16 @@
                 secondDelegateRequest.getFeatureTags(),
                 SipDelegateManager.DENIED_REASON_NOT_ALLOWED);
         // Try to create a SipDelegate for a package that is not the default sms role.
-        SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME_2,
+        SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME_2,
                 secondDelegateRequest);
-        createDelegateAndVerify(controller, c2, secondDelegateRequest, Collections.emptySet(),
-                secondDeniedTags, TEST_PACKAGE_NAME_2, 1);
+        createDelegateAndVerify(controller, c2, Collections.emptySet(), secondDeniedTags, 1);
 
         // now swap the SMS role.
-        CompletableFuture<Boolean> pendingC1Change = setChangeSupportedFeatureTagsFuture(c1,
-                Collections.emptySet(), firstDeniedTags);
-        CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(c2,
-                secondDelegateRequest.getFeatureTags(), Collections.emptySet());
+        CompletableFuture<Boolean> pendingC1Change = setChangeSupportedFeatureTagsFuture(
+                c1.delegateController, Collections.emptySet(), firstDeniedTags);
+        CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(
+                c2.delegateController, secondDelegateRequest.getFeatureTags(),
+                Collections.emptySet());
         setSmsRoleAndEvaluate(controller, TEST_PACKAGE_NAME_2);
         // swapping roles should trigger a deregistration event on the ImsService side.
         verifyDelegateDeregistrationEvent();
@@ -405,17 +438,18 @@
         verifyDelegateRegistrationChangedEvent(1 /*times*/, THROTTLE_MS);
         // trigger completion stage to run
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
-        verify(c1).changeSupportedFeatureTags(Collections.emptySet(), firstDeniedTags);
+        verify(c1.delegateController).changeSupportedFeatureTags(Collections.emptySet(),
+                firstDeniedTags);
         // we should not get a change for c2 until pendingC1Change completes.
-        verify(c2, never()).changeSupportedFeatureTags(secondDelegateRequest.getFeatureTags(),
-                Collections.emptySet());
+        verify(c2.delegateController, never()).changeSupportedFeatureTags(
+                secondDelegateRequest.getFeatureTags(), Collections.emptySet());
         // ensure we are not blocking executor here
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
         completePendingChange(pendingC1Change, true);
         // trigger completion stage to run
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
-        verify(c2).changeSupportedFeatureTags(secondDelegateRequest.getFeatureTags(),
-                Collections.emptySet());
+        verify(c2.delegateController).changeSupportedFeatureTags(
+                secondDelegateRequest.getFeatureTags(), Collections.emptySet());
         // ensure we are not blocking executor here
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
         completePendingChange(pendingC2Change, true);
@@ -432,10 +466,9 @@
         ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         firstDelegate.remove(ImsSignallingUtils.GROUP_CHAT_TAG);
         DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
-        createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
-                Collections.emptySet(), TEST_PACKAGE_NAME);
+        createDelegateAndVerify(controller, c1, firstDelegate, Collections.emptySet());
         verifyNoDelegateRegistrationChangedEvent();
 
         // First delegate requests RCS message + Group RCS message. For this delegate, single RCS
@@ -446,21 +479,21 @@
         Pair<Set<String>, Set<FeatureTagState>> grantedAndDenied = getAllowedAndDeniedTagsForConfig(
                 secondDelegateRequest, SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE,
                 firstDelegate);
-        SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 secondDelegateRequest);
-        createDelegateAndVerify(controller, c2, secondDelegateRequest, grantedAndDenied.first,
-                grantedAndDenied.second, TEST_PACKAGE_NAME, 1);
+        createDelegateAndVerify(controller, c2, grantedAndDenied.first, grantedAndDenied.second, 1);
         verifyNoDelegateRegistrationChangedEvent();
 
         // Destroy the firstDelegate, which should now cause all previously denied tags to be
         // granted to the new delegate.
-        CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(c2,
-                secondDelegate, Collections.emptySet());
+        CompletableFuture<Boolean> pendingC2Change = setChangeSupportedFeatureTagsFuture(
+                c2.delegateController, secondDelegate, Collections.emptySet());
         destroyDelegateAndVerify(controller, c1, false /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
         // wait for create to be processed.
         assertTrue(waitForExecutorAction(mExecutorService, TIMEOUT_MS));
-        verify(c2).changeSupportedFeatureTags(secondDelegate, Collections.emptySet());
+        verify(c2.delegateController).changeSupportedFeatureTags(secondDelegate,
+                Collections.emptySet());
         completePendingChange(pendingC2Change, true);
 
         verifyDelegateRegistrationChangedEvent(1 /*times*/, THROTTLE_MS);
@@ -475,10 +508,10 @@
         ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         firstDelegate.remove(ImsSignallingUtils.GROUP_CHAT_TAG);
         DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
         CompletableFuture<Boolean> pendingC1Change = createDelegate(controller, c1,
-                firstDelegateRequest, firstDelegate, Collections.emptySet(), TEST_PACKAGE_NAME);
+                firstDelegate, Collections.emptySet());
 
         // Request RCS message + group RCS Message. For this delegate, single RCS message should be
         // denied.
@@ -488,11 +521,10 @@
         Pair<Set<String>, Set<FeatureTagState>> grantedAndDeniedC2 =
                 getAllowedAndDeniedTagsForConfig(secondDelegateRequest,
                         SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE, firstDelegate);
-        SipDelegateController c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 secondDelegateRequest);
         CompletableFuture<Boolean> pendingC2Change = createDelegate(controller, c2,
-                secondDelegateRequest, grantedAndDeniedC2.first, grantedAndDeniedC2.second,
-                TEST_PACKAGE_NAME);
+                grantedAndDeniedC2.first, grantedAndDeniedC2.second);
 
         // Request group RCS message + file transfer. All should be denied at first
         ArraySet<String> thirdDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
@@ -502,42 +534,44 @@
                 getAllowedAndDeniedTagsForConfig(thirdDelegateRequest,
                         SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE, firstDelegate,
                         grantedAndDeniedC2.first);
-        SipDelegateController c3 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c3 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 thirdDelegateRequest);
         CompletableFuture<Boolean> pendingC3Change = createDelegate(controller, c3,
-                thirdDelegateRequest, grantedAndDeniedC3.first, grantedAndDeniedC3.second,
-                TEST_PACKAGE_NAME);
+                grantedAndDeniedC3.first, grantedAndDeniedC3.second);
 
         verifyNoDelegateRegistrationChangedEvent();
         assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
-        verifyDelegateChanged(c1, pendingC1Change, firstDelegate, Collections.emptySet(), 0);
-        verifyDelegateChanged(c2, pendingC2Change, grantedAndDeniedC2.first,
+        verifyDelegateChanged(c1.delegateController, pendingC1Change, firstDelegate,
+                Collections.emptySet(), 0);
+        verifyDelegateChanged(c2.delegateController, pendingC2Change, grantedAndDeniedC2.first,
                 grantedAndDeniedC2.second, 0);
-        verifyDelegateChanged(c3, pendingC3Change, grantedAndDeniedC3.first,
+        verifyDelegateChanged(c3.delegateController, pendingC3Change, grantedAndDeniedC3.first,
                 grantedAndDeniedC3.second, 0);
         verifyDelegateRegistrationChangedEvent(1, 2 * THROTTLE_MS);
 
         // Destroy the first and second controller in quick succession, this should only generate
         // one reevaluate for the third controller.
         CompletableFuture<Boolean> pendingChangeC3 = setChangeSupportedFeatureTagsFuture(
-                c3, thirdDelegate, Collections.emptySet());
-        CompletableFuture<Integer> pendingDestroyC1 = destroyDelegate(controller, c1,
-                false /*force*/,
+                c3.delegateController, thirdDelegate, Collections.emptySet());
+        CompletableFuture<Integer> pendingDestroyC1 = destroyDelegate(controller,
+                c1.delegateController, false /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
-        CompletableFuture<Integer> pendingDestroyC2 = destroyDelegate(controller, c2,
-                false /*force*/,
+        CompletableFuture<Integer> pendingDestroyC2 = destroyDelegate(controller,
+                c2.delegateController, false /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
         assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
-        verifyDestroyDelegate(controller, c1, pendingDestroyC1, false /*force*/,
+        verifyDestroyDelegate(c1.delegateController, pendingDestroyC1, false /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
-        verifyDestroyDelegate(controller, c2, pendingDestroyC2, false /*force*/,
+        verifyDestroyDelegate(c2.delegateController, pendingDestroyC2, false /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP);
 
         // All requested features should now be granted
         completePendingChange(pendingChangeC3, true);
-        verify(c3).changeSupportedFeatureTags(thirdDelegate, Collections.emptySet());
+        verify(c3.delegateController)
+                .changeSupportedFeatureTags(thirdDelegate, Collections.emptySet());
         // In total reeval should have only been called twice.
-        verify(c3, times(2)).changeSupportedFeatureTags(any(), any());
+        verify(c3.delegateController, times(2))
+                .changeSupportedFeatureTags(any(), any());
         verifyDelegateRegistrationChangedEvent(2 /*times*/, 2 * THROTTLE_MS);
     }
 
@@ -548,17 +582,16 @@
 
         ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
-        createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
-                Collections.emptySet(), TEST_PACKAGE_NAME);
+        createDelegateAndVerify(controller, c, firstDelegate, Collections.emptySet());
         verifyDelegateRegistrationChangedEvent(1 /*times*/, 0 /*waitMs*/);
 
-        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c1, true,
+        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c.delegateController, true,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
         controller.onAssociatedSubscriptionUpdated(TEST_SUB_ID + 1);
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
-        verifyDestroyDelegate(controller, c1, pendingDestroy, true /*force*/,
+        verifyDestroyDelegate(c.delegateController, pendingDestroy, true /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
         verifyDelegateRegistrationChangedEvent(2 /*times*/, 0 /*waitMs*/);
     }
@@ -570,16 +603,15 @@
 
         ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
-        createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
-                Collections.emptySet(), TEST_PACKAGE_NAME);
+        createDelegateAndVerify(controller, c, firstDelegate, Collections.emptySet());
 
-        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c1, true,
+        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c.delegateController, true,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
         controller.onRcsDisconnected();
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
-        verifyDestroyDelegate(controller, c1, pendingDestroy, true /*force*/,
+        verifyDestroyDelegate(c.delegateController, pendingDestroy, true /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD);
         verifyDelegateRegistrationChangedEvent(1, 0 /*waitMs*/);
     }
@@ -591,18 +623,17 @@
 
         ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
-        createDelegateAndVerify(controller, c1, firstDelegateRequest, firstDelegate,
-                Collections.emptySet(), TEST_PACKAGE_NAME);
+        createDelegateAndVerify(controller, c, firstDelegate, Collections.emptySet());
 
-        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c1, true,
-                SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
+        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c.delegateController,
+                true, SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
         controller.onDestroy();
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
         verifyDelegateDeregistrationEvent();
         // verify change was called.
-        verify(c1).destroy(true /*force*/,
+        verify(c.delegateController).destroy(true /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
         // ensure thread is not blocked while waiting for pending complete.
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
@@ -620,16 +651,17 @@
 
         ArraySet<String> firstDelegate = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         DelegateRequest firstDelegateRequest = new DelegateRequest(firstDelegate);
-        SipDelegateController c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c1 = injectMockDelegateController(TEST_PACKAGE_NAME,
                 firstDelegateRequest);
         CompletableFuture<Boolean> pendingC1Change = createDelegate(controller, c1,
-                firstDelegateRequest, firstDelegate, Collections.emptySet(), TEST_PACKAGE_NAME);
+                firstDelegate, Collections.emptySet());
         assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
-        verifyDelegateChanged(c1, pendingC1Change, firstDelegate, Collections.emptySet(), 0);
+        verifyDelegateChanged(c1.delegateController, pendingC1Change, firstDelegate,
+                Collections.emptySet(), 0);
 
 
-        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c1, true,
-                SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
+        CompletableFuture<Integer> pendingDestroy =  setDestroyFuture(c1.delegateController,
+                true, SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
         // triggers reeval now.
         controller.onAssociatedSubscriptionUpdated(TEST_SUB_ID + 1);
         waitForExecutorAction(mExecutorService, TIMEOUT_MS);
@@ -639,18 +671,18 @@
         secondDelegate.add(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG);
         secondDelegate.add(ImsSignallingUtils.FILE_TRANSFER_HTTP_TAG);
         DelegateRequest secondDelegateRequest = new DelegateRequest(secondDelegate);
-        SipDelegateController c2 = injectMockDelegateController(TEST_SUB_ID + 1,
+        SipDelegateControllerContainer c2 = injectMockDelegateController(TEST_SUB_ID + 1,
                 TEST_PACKAGE_NAME, secondDelegateRequest);
-        CompletableFuture<Boolean> pendingC2Change = createDelegate(controller, c2,
-                TEST_SUB_ID + 1, secondDelegateRequest, secondDelegate,
-                Collections.emptySet(), TEST_PACKAGE_NAME);
+        CompletableFuture<Boolean> pendingC2Change = createDelegate(controller, c2, secondDelegate,
+                Collections.emptySet());
         assertTrue(scheduleDelayedWait(THROTTLE_MS));
 
         //trigger destroyed event
-        verifyDestroyDelegate(controller, c1, pendingDestroy, true /*force*/,
+        verifyDestroyDelegate(c1.delegateController, pendingDestroy, true /*force*/,
                 SipDelegateManager.SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN);
         assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
-        verifyDelegateChanged(c2, pendingC2Change, secondDelegate, Collections.emptySet(), 0);
+        verifyDelegateChanged(c2.delegateController, pendingC2Change, secondDelegate,
+                Collections.emptySet(), 0);
     }
 
     @SmallTest
@@ -664,16 +696,17 @@
         ArraySet<String> allowedTags = new ArraySet<>(requestTags);
         ArraySet<String> deniedTags = new ArraySet<>();
         DelegateRequest delegateRequest = new DelegateRequest(requestTags);
-        SipDelegateController sc = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
                 delegateRequest);
-        CompletableFuture<Boolean> pendingScChange = createDelegate(controller, sc,
-                delegateRequest, requestTags, Collections.emptySet(), TEST_PACKAGE_NAME);
+        CompletableFuture<Boolean> pendingScChange = createDelegate(controller, c, requestTags,
+                Collections.emptySet());
         allowedTags.remove(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG);
         deniedTags.add(ImsSignallingUtils.ONE_TO_ONE_CHAT_TAG);
 
         assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
-        verifyDelegateChanged(sc, pendingScChange, allowedTags, getDeniedTagsForReason(
-                deniedTags, SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
+        verifyDelegateChanged(c.delegateController, pendingScChange, allowedTags,
+                getDeniedTagsForReason(deniedTags,
+                        SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
     }
 
     @SmallTest
@@ -685,14 +718,15 @@
         ArraySet<String> requestTags = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         ArraySet<String> deniedTags = new ArraySet<>(requestTags);
         DelegateRequest delegateRequest = new DelegateRequest(requestTags);
-        SipDelegateController sc = injectMockDelegateController(TEST_PACKAGE_NAME,
+        SipDelegateControllerContainer c = injectMockDelegateController(TEST_PACKAGE_NAME,
                 delegateRequest);
-        CompletableFuture<Boolean> pendingScChange = createDelegate(controller, sc,
-                delegateRequest, requestTags, Collections.emptySet(), TEST_PACKAGE_NAME);
+        CompletableFuture<Boolean> pendingScChange = createDelegate(controller, c, requestTags,
+                Collections.emptySet());
 
         assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
-        verifyDelegateChanged(sc, pendingScChange, Collections.emptySet(), getDeniedTagsForReason(
-                deniedTags, SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
+        verifyDelegateChanged(c.delegateController, pendingScChange, Collections.emptySet(),
+                getDeniedTagsForReason(deniedTags,
+                        SipDelegateManager.DENIED_REASON_NOT_ALLOWED), 0);
     }
 
     @SmallTest
@@ -705,13 +739,14 @@
         ArraySet<String> requestTags = new ArraySet<>(getBaseDelegateRequest().getFeatureTags());
         ArraySet<String> allowedTags = new ArraySet<>(requestTags);
         DelegateRequest delegateRequest = new DelegateRequest(requestTags);
-        SipDelegateController sc = injectMockDelegateController(TEST_PACKAGE_NAME,
-                delegateRequest);
-        CompletableFuture<Boolean> pendingScChange = createDelegate(controller, sc,
-                delegateRequest, requestTags, Collections.emptySet(), TEST_PACKAGE_NAME);
+        SipDelegateControllerContainer controllerContainer =
+                injectMockDelegateController(TEST_PACKAGE_NAME, delegateRequest);
+        CompletableFuture<Boolean> pendingScChange = createDelegate(controller, controllerContainer,
+                requestTags, Collections.emptySet());
 
         assertTrue(scheduleDelayedWait(2 * THROTTLE_MS));
-        verifyDelegateChanged(sc, pendingScChange, allowedTags, Collections.emptySet(), 0);
+        verifyDelegateChanged(controllerContainer.delegateController, pendingScChange, allowedTags,
+                Collections.emptySet(), 0);
     }
 
     @SafeVarargs
@@ -756,31 +791,32 @@
     }
 
     private void createDelegateAndVerify(SipTransportController controller,
-            SipDelegateController delegateController, DelegateRequest r, Set<String> allowedTags,
-            Set<FeatureTagState> deniedTags, String packageName,
-            int numPreviousChanges) throws ImsException {
+            SipDelegateControllerContainer controllerContainer, Set<String> allowedTags,
+            Set<FeatureTagState> deniedTags, int numPreviousChanges) {
 
-        CompletableFuture<Boolean> pendingChange = createDelegate(controller, delegateController, r,
-                allowedTags, deniedTags, packageName);
-        verifyDelegateChanged(delegateController, pendingChange, allowedTags, deniedTags,
-                numPreviousChanges);
+        CompletableFuture<Boolean> pendingChange = createDelegate(controller, controllerContainer,
+                allowedTags, deniedTags);
+        verifyDelegateChanged(controllerContainer.delegateController, pendingChange, allowedTags,
+                deniedTags, numPreviousChanges);
     }
 
     private void createDelegateAndVerify(SipTransportController controller,
-            SipDelegateController delegateController, DelegateRequest r, Set<String> allowedTags,
-            Set<FeatureTagState> deniedTags, String packageName) throws ImsException {
-        createDelegateAndVerify(controller, delegateController, r, allowedTags, deniedTags,
-                packageName, 0);
+            SipDelegateControllerContainer controllerContainer, Set<String> allowedTags,
+            Set<FeatureTagState> deniedTags) {
+        createDelegateAndVerify(controller, controllerContainer, allowedTags, deniedTags, 0);
     }
 
     private CompletableFuture<Boolean> createDelegate(SipTransportController controller,
-            SipDelegateController delegateController, int subId, DelegateRequest r,
-            Set<String> allowedTags, Set<FeatureTagState> deniedTags, String packageName) {
+            SipDelegateControllerContainer delegateControllerContainer, Set<String> allowedTags,
+            Set<FeatureTagState> deniedTags) {
         CompletableFuture<Boolean> pendingChange = setChangeSupportedFeatureTagsFuture(
-                delegateController, allowedTags, deniedTags);
+                delegateControllerContainer.delegateController, allowedTags, deniedTags);
         try {
-            controller.createSipDelegate(subId, r, packageName, mMockStateCallback,
-                    mMockMessageCallback);
+            controller.createSipDelegate(delegateControllerContainer.subId,
+                    delegateControllerContainer.delegateRequest,
+                    delegateControllerContainer.packageName,
+                    delegateControllerContainer.mockDelegateConnectionCallback,
+                    delegateControllerContainer.mockMessageCallback);
         } catch (ImsException e) {
             fail("ImsException thrown:" + e);
         }
@@ -791,13 +827,6 @@
         return pendingChange;
     }
 
-    private CompletableFuture<Boolean> createDelegate(SipTransportController controller,
-            SipDelegateController delegateController, DelegateRequest r, Set<String> allowedTags,
-            Set<FeatureTagState> deniedTags, String packageName) throws ImsException {
-        return createDelegate(controller, delegateController, TEST_SUB_ID, r, allowedTags,
-                deniedTags, packageName);
-    }
-
     private void verifyDelegateChanged(SipDelegateController delegateController,
             CompletableFuture<Boolean> pendingChange, Set<String> allowedTags,
             Set<FeatureTagState> deniedTags, int numPreviousChangeStages) {
@@ -817,10 +846,11 @@
     }
 
     private void destroyDelegateAndVerify(SipTransportController controller,
-            SipDelegateController delegateController, boolean force, int reason) {
+            SipDelegateControllerContainer controllerContainer, boolean force, int reason) {
+        SipDelegateController delegateController = controllerContainer.delegateController;
         CompletableFuture<Integer> pendingDestroy =  destroyDelegate(controller, delegateController,
                 force, reason);
-        verifyDestroyDelegate(controller, delegateController, pendingDestroy, force, reason);
+        verifyDestroyDelegate(delegateController, pendingDestroy, force, reason);
     }
 
     private CompletableFuture<Integer> destroyDelegate(SipTransportController controller,
@@ -836,9 +866,8 @@
         return pendingDestroy;
     }
 
-    private void verifyDestroyDelegate(SipTransportController controller,
-            SipDelegateController delegateController, CompletableFuture<Integer> pendingDestroy,
-            boolean force, int reason) {
+    private void verifyDestroyDelegate(SipDelegateController delegateController,
+            CompletableFuture<Integer> pendingDestroy, boolean force, int reason) {
         // verify destroy was called.
         verify(delegateController).destroy(force, reason);
         // ensure thread is not blocked while waiting for pending complete.
@@ -847,7 +876,8 @@
     }
 
     private void triggerFullNetworkRegistrationAndVerify(SipTransportController controller,
-            SipDelegateController delegateController) {
+            SipDelegateControllerContainer controllerContainer) {
+        SipDelegateController delegateController = controllerContainer.delegateController;
         controller.triggerFullNetworkRegistration(TEST_SUB_ID,
                 delegateController.getSipDelegateInterface(), 403, "forbidden");
         // move to internal & trigger event
@@ -856,7 +886,8 @@
     }
 
     private void triggerFullNetworkRegistrationAndVerifyNever(SipTransportController controller,
-            SipDelegateController delegateController) {
+            SipDelegateControllerContainer controllerContainer) {
+        SipDelegateController delegateController = controllerContainer.delegateController;
         controller.triggerFullNetworkRegistration(TEST_SUB_ID,
                 delegateController.getSipDelegateInterface(), 403, "forbidden");
         // move to internal & potentially trigger event
@@ -872,29 +903,22 @@
         return new DelegateRequest(featureTags);
     }
 
-    private Set<FeatureTagState> getBaseDeniedSet() {
-        Set<FeatureTagState> deniedTags = new ArraySet<>();
-        deniedTags.add(new FeatureTagState(ImsSignallingUtils.MMTEL_TAG,
-                SipDelegateManager.DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE));
-        return deniedTags;
-    }
-
     private Set<FeatureTagState> getDeniedTagsForReason(Set<String> deniedTags, int reason) {
         return deniedTags.stream().map(t -> new FeatureTagState(t, reason))
                 .collect(Collectors.toSet());
     }
 
-    private SipDelegateController injectMockDelegateController(String packageName,
+    private SipDelegateControllerContainer injectMockDelegateController(String packageName,
             DelegateRequest r) {
         return injectMockDelegateController(TEST_SUB_ID, packageName, r);
     }
 
-    private SipDelegateController injectMockDelegateController(int subId, String packageName,
-            DelegateRequest r) {
+    private SipDelegateControllerContainer injectMockDelegateController(int subId,
+            String packageName, DelegateRequest r) {
         SipDelegateControllerContainer c = new SipDelegateControllerContainer(subId,
                 packageName, r);
         mMockControllers.add(c);
-        return c.delegateController;
+        return c;
     }
 
     private SipDelegateController getMockDelegateController(int subId, String packageName,