Merge "Update the README description"
diff --git a/Android.bp b/Android.bp
index 782ccd4..ff70a61 100644
--- a/Android.bp
+++ b/Android.bp
@@ -4,10 +4,11 @@
     libs: ["telephony-common"],
     platform_apis: true,
     certificate: "platform",
-    product_specific: true,
+    system_ext_specific: true,
     privileged: true,
     required: ["privapp_whitelist_com.android.carrierconfig"],
     optimize: {
         proguard_flags_files: ["proguard.flags"],
     },
+    aaptflags: ["--keep-raw-values"],
 }
diff --git a/CleanSpec.mk b/CleanSpec.mk
index 104ef08..b240430 100644
--- a/CleanSpec.mk
+++ b/CleanSpec.mk
@@ -44,6 +44,8 @@
 #$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
 #$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
 $(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/priv-app/CarrierConfig)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/system/product/priv-app/CarrierConfig)
+$(call add-clean-step, rm -rf $(PRODUCT_OUT)/product/priv-app/CarrierConfig)
 
 # ************************************************
 # NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
diff --git a/OWNERS b/OWNERS
index 2d28e38..2a474de 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,7 +1,14 @@
-# Default code reviewers picked from top 3 or more developers.
-# Please update this list if you find better candidates.
+amitmahajan@google.com
+breadley@google.com
+fionaxu@google.com
+jackyu@google.com
+hallliu@google.com
+rgreenwalt@google.com
 tgunn@google.com
 jminjie@google.com
-breadley@google.com
-jackyu@google.com
-fionaxu@google.com
+shuoq@google.com
+refuhoo@google.com
+nazaninb@google.com
+sarahchin@google.com
+dbright@google.com
+xiaotonj@google.com
diff --git a/assets/carrier_config_carrierid_10000_Tracfone-ATT.xml b/assets/carrier_config_carrierid_10000_Tracfone-ATT.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_10000_Tracfone-ATT.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="3">
+        <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+        <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+        <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_10001_Tracfone-TMO.xml b/assets/carrier_config_carrierid_10001_Tracfone-TMO.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_10001_Tracfone-TMO.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="3">
+        <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+        <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+        <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_10008_Tracfone-VZW.xml b/assets/carrier_config_carrierid_10008_Tracfone-VZW.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_10008_Tracfone-VZW.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="3">
+        <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+        <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+        <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1185_Cellular-Network-Partnership-dba-Pioneer-Cellular.xml b/assets/carrier_config_carrierid_1185_Cellular-Network-Partnership-dba-Pioneer-Cellular.xml
index 753dcce..cac305e 100644
--- a/assets/carrier_config_carrierid_1185_Cellular-Network-Partnership-dba-Pioneer-Cellular.xml
+++ b/assets/carrier_config_carrierid_1185_Cellular-Network-Partnership-dba-Pioneer-Cellular.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1228800"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1187_AT&T.xml b/assets/carrier_config_carrierid_1187_AT&T.xml
index a21cc8a..5e39c3c 100644
--- a/assets/carrier_config_carrierid_1187_AT&T.xml
+++ b/assets/carrier_config_carrierid_1187_AT&T.xml
@@ -1,17 +1,23 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="allow_hold_call_during_emergency_bool" value="false"/>
+    <boolean name="allow_merging_rtt_calls_bool" value="true"/>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="carrier_name_override_bool" value="true"/>
     <boolean name="csp_enabled_bool" value="true"/>
     <boolean name="display_hd_audio_property_bool" value="false"/>
     <boolean name="enableSMSDeliveryReports" value="false"/>
     <boolean name="rtt_supported_bool" value="true"/>
+    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
     <boolean name="support_pause_ims_video_calls_bool" value="false"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="recipientLimit" value="10"/>
     <int name="volte_replacement_rat_int" value="3"/>
-    <string name="carrier_name_string" value="AT&amp;T"/>
+    <int name="ims_dtmf_tone_delay_int" value="120"/>
+    <string name="carrier_name_string">AT&amp;T</string>
     <string-array name="carrier_data_call_retry_config_strings" num="3">
         <item value="default:default_randomization=2000,10000,18000:5000,720000:5000,2160000:5000"/>
         <item value="mms:default_randomization=2000,10000,18000:5000,720000:5000,2160000:5000"/>
@@ -36,4 +42,12 @@
     <int-array name="radio_restart_failure_causes_int_array" num="1">
         <item value="36"/>
     </int-array>
+    <string-array name="carrier_wlan_disallowed_apn_types_string_array" num="1">
+        <item value="default"/>
+    </string-array>
+    <string-array name="ims_reasoninfo_mapping_string_array" num="2">
+        <item value="352|emergency calls over wifi not allowed in this location|1622"/>
+        <item value="332|service not allowed in this location|1623"/>
+    </string-array>
+    <string name="5g_icon_display_grace_period_string" value="connected_mmwave,any,30"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1243_Easterbrooke-Cellular-Corporation.xml b/assets/carrier_config_carrierid_1243_Easterbrooke-Cellular-Corporation.xml
index a43a534..2745db4 100644
--- a/assets/carrier_config_carrierid_1243_Easterbrooke-Cellular-Corporation.xml
+++ b/assets/carrier_config_carrierid_1243_Easterbrooke-Cellular-Corporation.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1263_Illinois-Valley-Cellular.xml b/assets/carrier_config_carrierid_1263_Illinois-Valley-Cellular.xml
index 753dcce..cac305e 100644
--- a/assets/carrier_config_carrierid_1263_Illinois-Valley-Cellular.xml
+++ b/assets/carrier_config_carrierid_1263_Illinois-Valley-Cellular.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1228800"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1329_Vodafone-Albania.xml b/assets/carrier_config_carrierid_1329_Vodafone-Albania.xml
index d74f1ac..c66b628 100644
--- a/assets/carrier_config_carrierid_1329_Vodafone-Albania.xml
+++ b/assets/carrier_config_carrierid_1329_Vodafone-Albania.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="default_vm_number_string" value="135"/>
+    <string name="default_vm_number_string">135</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1338_Claro-AR.xml b/assets/carrier_config_carrierid_1338_Claro-AR.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1338_Claro-AR.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1345_Telstra.xml b/assets/carrier_config_carrierid_1345_Telstra.xml
index eca6fa3..6462197 100644
--- a/assets/carrier_config_carrierid_1345_Telstra.xml
+++ b/assets/carrier_config_carrierid_1345_Telstra.xml
@@ -1,11 +1,12 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="carrier_default_wfc_ims_mode_int" value="1"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="2097152"/>
-    <string name="default_vm_number_string" value="+61101"/>
+    <string name="default_vm_number_string">+61101</string>
     <string-array name="carrier_metered_apn_types_strings" num="3">
         <item value="default"/>
         <item value="dun"/>
diff --git a/assets/carrier_config_carrierid_1403_Rogers.xml b/assets/carrier_config_carrierid_1403_Rogers.xml
index 0b150cc..e0ad141 100644
--- a/assets/carrier_config_carrierid_1403_Rogers.xml
+++ b/assets/carrier_config_carrierid_1403_Rogers.xml
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="voicemail_notification_persistent_bool" value="true"/>
@@ -11,7 +13,8 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="carrier_name_string" value="Rogers"/>
+    <string name="carrier_name_string">Rogers</string>
+    <string name="gps.lpp_profile">2</string>
     <string-array name="read_only_apn_types_string_array" num="1">
         <item value="*"/>
     </string-array>
diff --git a/assets/carrier_config_carrierid_1404_TELUS-Mobility.xml b/assets/carrier_config_carrierid_1404_TELUS-Mobility.xml
index a297a23..aab79ed 100644
--- a/assets/carrier_config_carrierid_1404_TELUS-Mobility.xml
+++ b/assets/carrier_config_carrierid_1404_TELUS-Mobility.xml
@@ -1,16 +1,18 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="always_play_remote_hold_tone_bool" value="true"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
+    <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
+    <boolean name="voicemail_notification_persistent_bool" value="true"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxSubjectLength" value="80"/>
+    <int name="recipientLimit" value="10"/>
+    <int name="smsToMmsTextThreshold" value="5"/>
+    <string name="gps.lpp_profile">3</string>
     <string-array name="read_only_apn_types_string_array" num="1">
         <item value="*"/>
     </string-array>
-    <int name="recipientLimit" value="10"/>
-    <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
-    <int name="smsToMmsTextThreshold" value="5"/>
-    <boolean name="voicemail_notification_persistent_bool" value="true"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1420_Claro-GT.xml b/assets/carrier_config_carrierid_1420_Claro-GT.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1420_Claro-GT.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1429_Claro-CL.xml b/assets/carrier_config_carrierid_1429_Claro-CL.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1429_Claro-CL.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1435_China-Mobile.xml b/assets/carrier_config_carrierid_1435_China-Mobile.xml
index 02a4dd9..5bf778c 100644
--- a/assets/carrier_config_carrierid_1435_China-Mobile.xml
+++ b/assets/carrier_config_carrierid_1435_China-Mobile.xml
@@ -2,4 +2,7 @@
 <carrier_config>
     <boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
     <boolean name="support_tdscdma_bool" value="true"/>
+    <boolean name="allow_add_call_during_video_call" value="false" />
+    <boolean name="allow_hold_video_call_bool" value="false" />
+    <boolean name="support_video_conference_call_bool" value="false"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1442_Claro-CO.xml b/assets/carrier_config_carrierid_1442_Claro-CO.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1442_Claro-CO.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1454_o2.xml b/assets/carrier_config_carrierid_1454_o2.xml
index c74e2ec..e83bf80 100644
--- a/assets/carrier_config_carrierid_1454_o2.xml
+++ b/assets/carrier_config_carrierid_1454_o2.xml
@@ -1,9 +1,10 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="614400"/>
-    <string name="default_vm_number_string" value="+491793000333"/>
+    <string name="default_vm_number_string">+491793000333</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1467_Claro-RD.xml b/assets/carrier_config_carrierid_1467_Claro-RD.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1467_Claro-RD.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1473_Claro-EC.xml b/assets/carrier_config_carrierid_1473_Claro-EC.xml
new file mode 100644
index 0000000..ada0291
--- /dev/null
+++ b/assets/carrier_config_carrierid_1473_Claro-EC.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
+
diff --git a/assets/carrier_config_carrierid_1487_Bouygues-Telecom.xml b/assets/carrier_config_carrierid_1487_Bouygues-Telecom.xml
index 28609fd..d456150 100644
--- a/assets/carrier_config_carrierid_1487_Bouygues-Telecom.xml
+++ b/assets/carrier_config_carrierid_1487_Bouygues-Telecom.xml
@@ -1,8 +1,12 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="supportHttpCharsetHeader" value="false"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxMessageSize" value="614400"/>
     <int name="maxImageWidth" value="2592"/>
+    <string-array name="carrier_certificate_string_array" num="1">
+        <item value="a0058f6467628ea2031c4c9d8519abecb2671f6a1752b15a89369cdcb8d2952b"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1492_O2.xml b/assets/carrier_config_carrierid_1492_O2.xml
index 3713fe1..48b1b3a 100644
--- a/assets/carrier_config_carrierid_1492_O2.xml
+++ b/assets/carrier_config_carrierid_1492_O2.xml
@@ -4,7 +4,7 @@
     <boolean name="prefer_2g_bool" value="false"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="smsToMmsTextThreshold" value="10"/>
-    <string name="default_vm_number_string" value="901"/>
+    <string name="default_vm_number_string">901</string>
     <string-array name="non_roaming_operator_string_array" num="8">
         <item value="23420"/>
         <item value="23426"/>
diff --git a/assets/carrier_config_carrierid_14_A1.xml b/assets/carrier_config_carrierid_14_A1.xml
index 0830348..9c62a46 100644
--- a/assets/carrier_config_carrierid_14_A1.xml
+++ b/assets/carrier_config_carrierid_14_A1.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
-    <string name="default_vm_number_string" value="66477"/>
+    <string name="default_vm_number_string">66477</string>
     <string-array name="non_roaming_operator_string_array" num="1">
         <item value="23201"/>
     </string-array>
diff --git a/assets/carrier_config_carrierid_1505_Three-Mobile.xml b/assets/carrier_config_carrierid_1505_Three-Mobile.xml
index 74ecdcb..36f71fc 100644
--- a/assets/carrier_config_carrierid_1505_Three-Mobile.xml
+++ b/assets/carrier_config_carrierid_1505_Three-Mobile.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <string-array name="non_roaming_operator_string_array" num="8">
         <item value="23410"/>
diff --git a/assets/carrier_config_carrierid_1507_Manx-Telecom.xml b/assets/carrier_config_carrierid_1507_Manx-Telecom.xml
index 1a4fdad..ccc8cbf 100644
--- a/assets/carrier_config_carrierid_1507_Manx-Telecom.xml
+++ b/assets/carrier_config_carrierid_1507_Manx-Telecom.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
-    <string name="default_vm_number_string" value="121"/>
+    <string name="default_vm_number_string">121</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1573_Wind.xml b/assets/carrier_config_carrierid_1573_Wind.xml
new file mode 100644
index 0000000..a092153
--- /dev/null
+++ b/assets/carrier_config_carrierid_1573_Wind.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>

+<carrier_config>

+  <string-array name="carrier_certificate_string_array" num="3">

+    <item value="7A6D2E2EDEA23A93FA95A447535675CFB543919698196FB720B1520658D25DC7"/>

+    <item value="A69A419CFB5FB8344D2AEDCED6BC2A7FCB74F85161BCA9265C54E95E478839C3"/>

+    <item value="998DA7CED0E1A3A14E51FAEF1F8608A494BDA791B6609A1C5E599F9B64F01674"/>

+  </string-array>

+</carrier_config>

diff --git a/assets/carrier_config_carrierid_1575_3.xml b/assets/carrier_config_carrierid_1575_3.xml
new file mode 100644
index 0000000..a092153
--- /dev/null
+++ b/assets/carrier_config_carrierid_1575_3.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>

+<carrier_config>

+  <string-array name="carrier_certificate_string_array" num="3">

+    <item value="7A6D2E2EDEA23A93FA95A447535675CFB543919698196FB720B1520658D25DC7"/>

+    <item value="A69A419CFB5FB8344D2AEDCED6BC2A7FCB74F85161BCA9265C54E95E478839C3"/>

+    <item value="998DA7CED0E1A3A14E51FAEF1F8608A494BDA791B6609A1C5E599F9B64F01674"/>

+  </string-array>

+</carrier_config>

diff --git a/assets/carrier_config_carrierid_1581_au.xml b/assets/carrier_config_carrierid_1581_au.xml
index 0fa445d..28e55d3 100644
--- a/assets/carrier_config_carrierid_1581_au.xml
+++ b/assets/carrier_config_carrierid_1581_au.xml
@@ -1,5 +1,10 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
+    <string name="5g_icon_display_grace_period_string"
+        value="connected_mmwave,legacy,15;connected,legacy,15;
+        connected_mmwave,not_restricted_rrc_con,15;connected,not_restricted_rrc_con,15;
+        not_restricted_rrc_idle,legacy,15;not_restricted_rrc_idle,not_restricted_rrc_con,15"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_15_Vodafone.xml b/assets/carrier_config_carrierid_15_Vodafone.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_15_Vodafone.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1641_Claro-NI.xml b/assets/carrier_config_carrierid_1641_Claro-NI.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1641_Claro-NI.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1647_Claro-PE.xml b/assets/carrier_config_carrierid_1647_Claro-PE.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1647_Claro-PE.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1673_Claro-PY.xml b/assets/carrier_config_carrierid_1673_Claro-PY.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1673_Claro-PY.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1779_Cricket-Wireless.xml b/assets/carrier_config_carrierid_1779_Cricket-Wireless.xml
index 85aed56..5bf359c 100644
--- a/assets/carrier_config_carrierid_1779_Cricket-Wireless.xml
+++ b/assets/carrier_config_carrierid_1779_Cricket-Wireless.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="allow_hold_call_during_emergency_bool" value="false"/>
     <boolean name="csp_enabled_bool" value="true"/>
+    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxMessageSize" value="614400"/>
     <int name="maxImageWidth" value="2592"/>
diff --git a/assets/carrier_config_carrierid_1784_MTA-Communications-dba-MTA-Wireless.xml b/assets/carrier_config_carrierid_1784_MTA-Communications-dba-MTA-Wireless.xml
index a43a534..2745db4 100644
--- a/assets/carrier_config_carrierid_1784_MTA-Communications-dba-MTA-Wireless.xml
+++ b/assets/carrier_config_carrierid_1784_MTA-Communications-dba-MTA-Wireless.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1788_Sprint.xml b/assets/carrier_config_carrierid_1788_Sprint.xml
index 6f28f9a..2fd652d 100644
--- a/assets/carrier_config_carrierid_1788_Sprint.xml
+++ b/assets/carrier_config_carrierid_1788_Sprint.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
     <boolean name="allow_non_emergency_calls_in_ecm_bool" value="false"/>
     <boolean name="apn_expand_bool" value="false"/>
     <boolean name="carrier_name_override_bool" value="true"/>
@@ -26,9 +27,9 @@
     <int name="recipientLimit" value="40"/>
     <int name="smsToMmsTextThreshold" value="6"/>
     <int name="volte_replacement_rat_int" value="6"/>
-    <string name="carrier_eri_file_name_string" value="eri_310120.xml"/>
-    <string name="carrier_name_string" value="Sprint"/>
-    <string name="emailGatewayNumber" value="6245"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##|Proxy-Authorization: Basic ##NAI##"/>
-    <string name="naiSuffix" value=":pcs"/>
+    <string name="carrier_eri_file_name_string">eri_310120.xml</string>
+    <string name="carrier_name_string">Sprint</string>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="httpParams">X-MDN: ##LINE1##|Proxy-Authorization: Basic ##NAI##</string>
+    <string name="naiSuffix">:pcs</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1789_Carolina-West-Wireless.xml b/assets/carrier_config_carrierid_1789_Carolina-West-Wireless.xml
index a43a534..2745db4 100644
--- a/assets/carrier_config_carrierid_1789_Carolina-West-Wireless.xml
+++ b/assets/carrier_config_carrierid_1789_Carolina-West-Wireless.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1802_New-Cell-Inc-dba-Cellcom.xml b/assets/carrier_config_carrierid_1802_New-Cell-Inc-dba-Cellcom.xml
index edc2901..5823f95 100644
--- a/assets/carrier_config_carrierid_1802_New-Cell-Inc-dba-Cellcom.xml
+++ b/assets/carrier_config_carrierid_1802_New-Cell-Inc-dba-Cellcom.xml
@@ -11,5 +11,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="8388608"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1813_East-Kentucky-Network-LLC-dba-Appalachian-Wireless.xml b/assets/carrier_config_carrierid_1813_East-Kentucky-Network-LLC-dba-Appalachian-Wireless.xml
index 753dcce..cac305e 100644
--- a/assets/carrier_config_carrierid_1813_East-Kentucky-Network-LLC-dba-Appalachian-Wireless.xml
+++ b/assets/carrier_config_carrierid_1813_East-Kentucky-Network-LLC-dba-Appalachian-Wireless.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1228800"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1829_James-Valley.xml b/assets/carrier_config_carrierid_1829_James-Valley.xml
index 32b4206..d1bfa24 100644
--- a/assets/carrier_config_carrierid_1829_James-Valley.xml
+++ b/assets/carrier_config_carrierid_1829_James-Valley.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1258291"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1836_C-Spire.xml b/assets/carrier_config_carrierid_1836_C-Spire.xml
index b424249..3c7a7f0 100644
--- a/assets/carrier_config_carrierid_1836_C-Spire.xml
+++ b/assets/carrier_config_carrierid_1836_C-Spire.xml
@@ -12,7 +12,7 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-CS3G-MDN: 1##LINE1NOCOUNTRYCODE##"/>
-    <string name="emailGatewayNumber" value="6245"/>
-    <string name="sim_country_iso_override_string" value="us"/>
+    <string name="httpParams">X-CS3G-MDN: 1##LINE1NOCOUNTRYCODE##</string>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="sim_country_iso_override_string">us</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml b/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml
index 0aa4ed0..f0a4fb9 100644
--- a/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml
+++ b/assets/carrier_config_carrierid_1839_Verizon-Wireless.xml
@@ -1,24 +1,81 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
     <boolean name="aliasEnabled" value="true"/>
-    <int name="aliasMaxChars" value="48"/>
-    <int name="aliasMinChars" value="2"/>
     <boolean name="allowAttachAudio" value="false"/>
     <boolean name="allow_add_call_during_video_call" value="false"/>
     <boolean name="allow_adding_apns_bool" value="false"/>
     <boolean name="allow_hold_in_ims_call" value="false"/>
     <boolean name="allow_merge_wifi_calls_when_vowifi_off_bool" value="false"/>
     <boolean name="apn_expand_bool" value="false"/>
+    <boolean name="broadcast_emergency_call_state_changes_bool" value="true"/>
+    <boolean name="carrier_allow_turnoff_ims_bool" value="false"/>
+    <boolean name="carrier_name_override_bool" value="true"/>
+    <boolean name="carrier_promote_wfc_on_call_fail_bool" value="true"/>
+    <boolean name="carrier_volte_available_bool" value="true"/>
+    <boolean name="carrier_volte_provisioned_bool" value="true"/>
+    <boolean name="carrier_volte_provisioning_required_bool" value="true"/>
+    <boolean name="carrier_vt_available_bool" value="true"/>
+    <boolean name="carrier_wfc_ims_available_bool" value="true"/>
+    <boolean name="disable_voice_barring_notification_bool" value="true"/>
+    <boolean name="drop_video_call_when_answering_audio_call_bool" value="true"/>
+    <boolean name="dtmf_type_enabled_bool" value="true"/>
+    <boolean name="editable_wfc_mode_bool" value="false"/>
+    <boolean name="editable_wfc_roaming_mode_bool" value="true"/>
+    <boolean name="enableMMSReadReports" value="false"/>
+    <boolean name="enableMultipartSMS" value="true"/>
+    <boolean name="enabledNotifyWapMMSC" value="true"/>
+    <boolean name="enabledTransID" value="true"/>
+    <boolean name="is_ims_conference_size_enforced_bool" value="true"/>
+    <boolean name="mdn_is_additional_voicemail_number_bool" value="true"/>
+    <boolean name="mmsCloseConnection" value="true"/>
+    <boolean name="notify_handover_video_from_lte_to_wifi_bool" value="true"/>
+    <boolean name="notify_handover_video_from_wifi_to_lte_bool" value="true"/>
+    <boolean name="notify_vt_handover_to_wifi_failure_bool" value="true"/>
+    <boolean name="operator_selection_expand_bool" value="true"/>
+    <boolean name="gps.persist_lpp_mode_bool" value="true"/>
+    <boolean name="prefer_2g_bool" value="false"/>
+    <boolean name="rtt_supported_bool" value="true"/>
+    <boolean name="show_apn_setting_cdma_bool" value="true"/>
+    <boolean name="use_rcs_presence_bool" value="true"/>
+    <boolean name="sms_requires_destination_number_conversion_bool" value="true"/>
+    <boolean name="support_3gpp_call_forwarding_while_roaming_bool" value="false"/>
+    <boolean name="support_downgrade_vt_to_audio_bool" value="false"/>
+    <boolean name="support_pause_ims_video_calls_bool" value="true"/>
+    <boolean name="support_swap_after_merge_bool" value="false"/>
+    <boolean name="treat_downgraded_video_calls_as_video_calls_bool" value="true"/>
+    <boolean name="video_calls_can_be_hd_audio" value="false"/>
+    <boolean name="voicemail_notification_persistent_bool" value="true"/>
+    <boolean name="wifi_calls_can_be_hd_audio" value="false"/>
+    <boolean name="world_mode_enabled_bool" value="true"/>
+    <int name="aliasMaxChars" value="48"/>
+    <int name="aliasMinChars" value="2"/>
+    <int name="carrier_default_wfc_ims_mode_int" value="1"/>
+    <int name="ims_conference_size_limit_int" value="5"/>
+    <int name="lte_earfcns_rsrp_boost_int" value="6"/>
+    <int name="maxImageHeight" value="1944"/>
+    <int name="maxImageWidth" value="2592"/>
+    <int name="maxMessageSize" value="1258291"/>
+    <int name="maxSubjectLength" value="80"/>
+    <int name="recipientLimit" value="20"/>
+    <int name="smsToMmsTextThreshold" value="7"/>
+    <int name="volte_replacement_rat_int" value="6"/>
+    <int name="wfc_spn_format_idx_int" value="1"/>
+    <string name="carrier_eri_file_name_string">eri_311480.xml</string>
+    <string name="carrier_name_string">Verizon</string>
+    <string name="default_vm_number_string">*86</string>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="httpParams">x-up-calling-line-id: 1##LINE1NOCOUNTRYCODE##|X-VzW-MDN: 1##LINE1NOCOUNTRYCODE##</string>
+    <string name="uaProfTagName">Profile</string>
+    <string name="sim_country_iso_override_string">us</string>
     <string-array name="boosted_lte_earfcns_string_array" num="2">
         <item value="600-1199"/>
         <item value="1950-2399"/>
     </string-array>
-    <boolean name="broadcast_emergency_call_state_changes_bool" value="true"/>
     <string-array name="call_forwarding_blocks_while_roaming_string_array" num="2">
         <item value="*71"/>
         <item value="*72"/>
     </string-array>
-    <boolean name="carrier_allow_turnoff_ims_bool" value="false"/>
     <string-array name="carrier_data_call_permanent_failure_strings" num="14">
         <item value="OPERATOR_BARRED"/>
         <item value="MISSING_UNKNOWN_APN"/>
@@ -35,8 +92,6 @@
         <item value="UNACCEPTABLE_NETWORK_PARAMETER"/>
         <item value="SIGNAL_LOST"/>
     </string-array>
-    <int name="carrier_default_wfc_ims_mode_int" value="1"/>
-    <string name="carrier_eri_file_name_string" value="eri_311480.xml"/>
     <string-array name="carrier_metered_apn_types_strings" num="3">
         <item value="default"/>
         <item value="dun"/>
@@ -48,36 +103,14 @@
         <item value="mms"/>
         <item value="supl"/>
     </string-array>
-    <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="Verizon"/>
-    <boolean name="carrier_promote_wfc_on_call_fail_bool" value="true"/>
-    <boolean name="carrier_volte_available_bool" value="true"/>
-    <boolean name="carrier_volte_provisioned_bool" value="true"/>
-    <boolean name="carrier_volte_provisioning_required_bool" value="true"/>
-    <boolean name="carrier_vt_available_bool" value="true"/>
-    <boolean name="carrier_wfc_ims_available_bool" value="true"/>
-    <string name="default_vm_number_string" value="*86"/>
     <string-array name="dial_string_replace_string_array" num="2">
         <item value="*611:+19085594899"/>
         <item value="*86:+1MDN"/>
     </string-array>
-    <boolean name="disable_severe_when_extreme_disabled_bool" value="false"/>
-    <boolean name="disable_voice_barring_notification_bool" value="true"/>
-    <boolean name="drop_video_call_when_answering_audio_call_bool" value="true"/>
-    <boolean name="dtmf_type_enabled_bool" value="true"/>
-    <boolean name="editable_wfc_mode_bool" value="false"/>
-    <boolean name="editable_wfc_roaming_mode_bool" value="true"/>
-    <string name="emailGatewayNumber" value="6245"/>
-    <boolean name="enableMMSReadReports" value="false"/>
-    <boolean name="enableMultipartSMS" value="true"/>
-    <boolean name="enabledNotifyWapMMSC" value="true"/>
-    <boolean name="enabledTransID" value="true"/>
     <string-array name="filtered_cnap_names_string_array" num="2">
         <item value="WIRELESS CALLER"/>
         <item value="UNKNOWN NAME"/>
     </string-array>
-    <string name="httpParams" value="x-up-calling-line-id: 1##LINE1NOCOUNTRYCODE##|X-VzW-MDN: 1##LINE1NOCOUNTRYCODE##"/>
-    <int name="ims_conference_size_limit_int" value="5"/>
     <string-array name="ims_reasoninfo_mapping_string_array" num="10">
         <item value="332|simultaneous call limit has already been reached|1403"/>
         <item value="332|Forbidden: Simultaneous Call Limit Has Already Been Reached|1403"/>
@@ -90,26 +123,6 @@
         <item value="1014|call has been pulled by another device|1016"/>
         <item value="*|Call is dropped due to Wi-Fi signal is degraded|1407"/>
     </string-array>
-    <boolean name="is_ims_conference_size_enforced_bool" value="true"/>
-    <int name="lte_earfcns_rsrp_boost_int" value="6"/>
-    <int-array name="lte_rsrp_thresholds_int_array" num="4">
-        <item value="-115"/>
-        <item value="-105"/>
-        <item value="-95"/>
-        <item value="-85"/>
-    </int-array>
-    <int name="maxImageHeight" value="1944"/>
-    <int name="maxImageWidth" value="2592"/>
-    <int name="maxMessageSize" value="1258291"/>
-    <int name="maxSubjectLength" value="80"/>
-    <boolean name="mdn_is_additional_voicemail_number_bool" value="true"/>
-    <boolean name="mmsCloseConnection" value="true"/>
-    <boolean name="notify_handover_video_from_lte_to_wifi_bool" value="true"/>
-    <boolean name="notify_handover_video_from_wifi_to_lte_bool" value="true"/>
-    <boolean name="notify_vt_handover_to_wifi_failure_bool" value="true"/>
-    <boolean name="operator_selection_expand_bool" value="true"/>
-    <boolean name="persist_lpp_mode_bool" value="true"/>
-    <boolean name="prefer_2g_bool" value="false"/>
     <string-array name="read_only_apn_fields_string_array" num="20">
         <item value="name"/>
         <item value="proxy"/>
@@ -132,25 +145,12 @@
         <item value="mvno_type"/>
         <item value="mvno_match_data"/>
     </string-array>
-    <int name="recipientLimit" value="20"/>
-    <boolean name="rtt_supported_bool" value="true"/>
-    <boolean name="show_apn_setting_cdma_bool" value="true"/>
-    <boolean name="use_rcs_presence_bool" value="true" />
-    <int name="smsToMmsTextThreshold" value="7"/>
-    <boolean name="sms_requires_destination_number_conversion_bool" value="true"/>
-    <boolean name="support_3gpp_call_forwarding_while_roaming_bool" value="false"/>
-    <boolean name="support_downgrade_vt_to_audio_bool" value="false"/>
-    <boolean name="support_pause_ims_video_calls_bool" value="true"/>
-    <boolean name="support_swap_after_merge_bool" value="false"/>
-    <boolean name="treat_downgraded_video_calls_as_video_calls_bool" value="true"/>
-    <string name="uaProfTagName" value="Profile"/>
-    <boolean name="video_calls_can_be_hd_audio" value="false"/>
-    <boolean name="voicemail_notification_persistent_bool" value="true"/>
-    <int name="volte_replacement_rat_int" value="6"/>
-    <int name="wfc_spn_format_idx_int" value="1"/>
-    <boolean name="wifi_calls_can_be_hd_audio" value="false"/>
-    <boolean name="world_mode_enabled_bool" value="true"/>
-    <string name="sim_country_iso_override_string" value="us"/>
+    <int-array name="lte_rsrp_thresholds_int_array" num="4">
+        <item value="-115"/>
+        <item value="-105"/>
+        <item value="-95"/>
+        <item value="-85"/>
+    </int-array>
     <int-array name="cdma_enhanced_roaming_indicator_for_home_network_int_array" num="11">
         <item value="64"/>
         <item value="65"/>
@@ -164,4 +164,8 @@
         <item value="82"/>
         <item value="83"/>
     </int-array>
+    <string name="5g_icon_display_grace_period_string"
+        value="connected_mmwave,any,3;not_restricted_rrc_idle,not_restricted_rrc_con,2"/>
+    <string name="5g_icon_display_secondary_grace_period_string"
+        value="connected_mmwave,not_restricted_rrc_idle,60"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1846_Iowa-RSA-No2-Ltd-Partnership.xml b/assets/carrier_config_carrierid_1846_Iowa-RSA-No2-Ltd-Partnership.xml
index a43a534..2745db4 100644
--- a/assets/carrier_config_carrierid_1846_Iowa-RSA-No2-Ltd-Partnership.xml
+++ b/assets/carrier_config_carrierid_1846_Iowa-RSA-No2-Ltd-Partnership.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1848_Chat-Mobility.xml b/assets/carrier_config_carrierid_1848_Chat-Mobility.xml
index 1cfe186..f226468 100644
--- a/assets/carrier_config_carrierid_1848_Chat-Mobility.xml
+++ b/assets/carrier_config_carrierid_1848_Chat-Mobility.xml
@@ -2,7 +2,6 @@
 <carrier_config>
     <boolean name="enableMultipartSMS" value="true"/>
     <boolean name="enabledMMS" value="true"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
     <int name="maxImageHeight" value="2432"/>
     <int name="maxImageWidth" value="4320"/>
     <int name="maxMessageSize" value="1048576"/>
@@ -10,4 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="recipientLimit" value="20"/>
     <int name="smsToMmsTextThreshold" value="1"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1849_Bluegrass-Cellular-LLC.xml b/assets/carrier_config_carrierid_1849_Bluegrass-Cellular-LLC.xml
index 5f5c72e..7731edb 100644
--- a/assets/carrier_config_carrierid_1849_Bluegrass-Cellular-LLC.xml
+++ b/assets/carrier_config_carrierid_1849_Bluegrass-Cellular-LLC.xml
@@ -11,5 +11,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1228800"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1853_Virgin-Mobile.xml b/assets/carrier_config_carrierid_1853_Virgin-Mobile.xml
index 21f0709..8c3a00a 100644
--- a/assets/carrier_config_carrierid_1853_Virgin-Mobile.xml
+++ b/assets/carrier_config_carrierid_1853_Virgin-Mobile.xml
@@ -18,8 +18,8 @@
     <int name="maxMessageSize" value="1048576"/>
     <int name="cdma_3waycall_flash_delay_int" value="300"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##|Proxy-Authorization: Basic ##NAI##"/>
-    <string name="emailGatewayNumber" value="6245"/>
-    <string name="naiSuffix" value=":pcs"/>
-    <string name="carrier_eri_file_name_string" value="eri_311490.xml"/>
+    <string name="httpParams">X-MDN: ##LINE1##|Proxy-Authorization: Basic ##NAI##</string>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="naiSuffix">:pcs</string>
+    <string name="carrier_eri_file_name_string">eri_311490.xml</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1864_Claro-UY.xml b/assets/carrier_config_carrierid_1864_Claro-UY.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1864_Claro-UY.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git "a/assets/carrier_config_carrierid_1881_\351\201\240\345\202\263\351\233\273\344\277\241-Far-EasTone-Telecom.xml" "b/assets/carrier_config_carrierid_1881_\351\201\240\345\202\263\351\233\273\344\277\241-Far-EasTone-Telecom.xml"
index 67a7f7a..e94c884 100644
--- "a/assets/carrier_config_carrierid_1881_\351\201\240\345\202\263\351\233\273\344\277\241-Far-EasTone-Telecom.xml"
+++ "b/assets/carrier_config_carrierid_1881_\351\201\240\345\202\263\351\233\273\344\277\241-Far-EasTone-Telecom.xml"
@@ -1,4 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
+    <boolean name="support_ims_conference_event_package_bool" value="false"/>
 </carrier_config>
diff --git "a/assets/carrier_config_carrierid_1884_\344\270\255\350\217\257\351\233\273\344\277\241_Chunghwa-Telecom.xml" "b/assets/carrier_config_carrierid_1884_\344\270\255\350\217\257\351\233\273\344\277\241_Chunghwa-Telecom.xml"
index 67a7f7a..3ab3d3e 100644
--- "a/assets/carrier_config_carrierid_1884_\344\270\255\350\217\257\351\233\273\344\277\241_Chunghwa-Telecom.xml"
+++ "b/assets/carrier_config_carrierid_1884_\344\270\255\350\217\257\351\233\273\344\277\241_Chunghwa-Telecom.xml"
@@ -1,4 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
 </carrier_config>
diff --git "a/assets/carrier_config_carrierid_1888_\345\217\260\347\201\243\345\244\247\345\223\245\345\244\247-Taiwan-Mobile-Telecom.xml" "b/assets/carrier_config_carrierid_1888_\345\217\260\347\201\243\345\244\247\345\223\245\345\244\247-Taiwan-Mobile-Telecom.xml"
index 67a7f7a..c7d168b 100644
--- "a/assets/carrier_config_carrierid_1888_\345\217\260\347\201\243\345\244\247\345\223\245\345\244\247-Taiwan-Mobile-Telecom.xml"
+++ "b/assets/carrier_config_carrierid_1888_\345\217\260\347\201\243\345\244\247\345\223\245\345\244\247-Taiwan-Mobile-Telecom.xml"
@@ -1,4 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
+    <boolean name="support_ims_conference_event_package_bool" value="false"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1890_KT.xml b/assets/carrier_config_carrierid_1890_KT.xml
index 17ede53..697b344 100644
--- a/assets/carrier_config_carrierid_1890_KT.xml
+++ b/assets/carrier_config_carrierid_1890_KT.xml
@@ -11,6 +11,6 @@
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="1048576"/>
-    <string name="carrier_instant_lettering_encoding_string" value="EUC-KR"/>
-    <string name="carrier_instant_lettering_invalid_chars_string" value="[&quot;&lt;&gt;\\\n]"/>
+    <string name="carrier_instant_lettering_encoding_string">EUC-KR</string>
+    <string name="carrier_instant_lettering_invalid_chars_string">["&lt;&gt;\\\n]</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1891_SK-Telecom.xml b/assets/carrier_config_carrierid_1891_SK-Telecom.xml
index 3a70b92..926c6ac 100644
--- a/assets/carrier_config_carrierid_1891_SK-Telecom.xml
+++ b/assets/carrier_config_carrierid_1891_SK-Telecom.xml
@@ -11,7 +11,10 @@
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="carrier_instant_lettering_length_limit_int" value="16"/>
-    <string name="carrier_instant_lettering_invalid_chars_string" value="[\n]"/>
-    <string name="carrier_instant_lettering_escaped_chars_string" value="&quot;\"/>
-    <string name="carrier_instant_lettering_encoding_string" value="EUC-KR"/>
+    <string name="carrier_instant_lettering_invalid_chars_string">[\n]</string>
+    <string name="carrier_instant_lettering_escaped_chars_string">"\</string>
+    <string name="carrier_instant_lettering_encoding_string">EUC-KR</string>
+    <string-array name="carrier_certificate_string_array" num="1">
+        <item value="59DFFFDDCCC1929A5C089E53B05A27A42F6517B1"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1892_LG-U.xml b/assets/carrier_config_carrierid_1892_LG-U.xml
index 97e17b2..19d39a8 100644
--- a/assets/carrier_config_carrierid_1892_LG-U.xml
+++ b/assets/carrier_config_carrierid_1892_LG-U.xml
@@ -16,7 +16,7 @@
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="carrier_instant_lettering_length_limit_int" value="64"/>
-    <string name="carrier_instant_lettering_invalid_chars_string" value="[&quot;&lt;&gt;\\\n]"/>
-    <string name="carrier_instant_lettering_encoding_string" value="EUC-KR"/>
-    <string name="carrier_name_string" value="LG U+"/>
+    <string name="carrier_instant_lettering_invalid_chars_string">["&lt;&gt;\\\n]</string>
+    <string name="carrier_instant_lettering_encoding_string">EUC-KR</string>
+    <string name="carrier_name_string">LG U+</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1894_SoftBank.xml b/assets/carrier_config_carrierid_1894_SoftBank.xml
index 234c21b..1df823e 100644
--- a/assets/carrier_config_carrierid_1894_SoftBank.xml
+++ b/assets/carrier_config_carrierid_1894_SoftBank.xml
@@ -1,10 +1,9 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="enabledMMS" value="true"/>
-    <boolean name="carrier_force_disable_etws_cmas_test_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
-    <boolean name="always_show_emergency_alert_onoff_bool" value="true"/>
     <boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
     <boolean name="call_barring_supports_password_change_bool" value="false"/>
     <boolean name="call_barring_supports_deactivate_all_bool" value="false"/>
@@ -15,6 +14,9 @@
     <int name="maxImageWidth" value="2592"/>
     <int name="volte_replacement_rat_int" value="3"/>
     <int name="ims_dtmf_tone_delay_int" value="215"/>
-    <long name="message_expiration_time_long" value="3600000"/>
-    <string name="default_vm_number_string" value="1416"/>
+    <string name="default_vm_number_string">1416</string>
+    <string name="5g_icon_display_grace_period_string"
+        value="connected_mmwave,legacy,31;connected,legacy,31;
+        connected_mmwave,not_restricted_rrc_con,31;connected,not_restricted_rrc_con,31;
+        not_restricted_rrc_idle,legacy,15;not_restricted_rrc_idle,not_restricted_rrc_con,15"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1895_Freedom-Mobile.xml b/assets/carrier_config_carrierid_1895_Freedom-Mobile.xml
index 9cac9c9..b4db4bf 100644
--- a/assets/carrier_config_carrierid_1895_Freedom-Mobile.xml
+++ b/assets/carrier_config_carrierid_1895_Freedom-Mobile.xml
@@ -1,10 +1,12 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <int name="smsToMmsTextThreshold" value="6"/>
     <int name="recipientLimit" value="20"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="sim_country_iso_override_string" value="ca"/>
+    <string name="sim_country_iso_override_string">ca</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1909_Euskaltel.xml b/assets/carrier_config_carrierid_1909_Euskaltel.xml
index 67b94c0..c4e2af0 100644
--- a/assets/carrier_config_carrierid_1909_Euskaltel.xml
+++ b/assets/carrier_config_carrierid_1909_Euskaltel.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
-    <string name="sim_country_iso_override_string" value="es"/>
+    <string name="sim_country_iso_override_string">es</string>
     <string-array name="non_roaming_operator_string_array" num="19">
         <item value="21401"/>
         <item value="21402"/>
diff --git a/assets/carrier_config_carrierid_1912_AT&T-MX.xml b/assets/carrier_config_carrierid_1912_AT&T-MX.xml
index b7b2e28..7931781 100644
--- a/assets/carrier_config_carrierid_1912_AT&T-MX.xml
+++ b/assets/carrier_config_carrierid_1912_AT&T-MX.xml
@@ -2,5 +2,5 @@
 <carrier_config>
     <boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
     <boolean name="skip_cf_fail_to_disable_dialog_bool" value="true"/>
-    <string name="sim_country_iso_override_string" value="mx"/>
+    <string name="sim_country_iso_override_string">mx</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1913_Telcel.xml b/assets/carrier_config_carrierid_1913_Telcel.xml
index 7ff20fe..b9d7504 100644
--- a/assets/carrier_config_carrierid_1913_Telcel.xml
+++ b/assets/carrier_config_carrierid_1913_Telcel.xml
@@ -4,4 +4,24 @@
     <int name="maxImageHeight" value="1944"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+
+    <string-array name="carrier_data_call_permanent_failure_strings" num="14">
+        <item value="OPERATOR_BARRED"/>
+        <item value="MISSING_UNKNOWN_APN"/>
+        <item value="UNKNOWN_PDP_ADDRESS_TYPE"/>
+        <item value="ACTIVATION_REJECT_GGSN"/>
+        <item value="SERVICE_OPTION_NOT_SUPPORTED"/>
+        <item value="NSAPI_IN_USE"/>
+        <item value="ONLY_IPV4_ALLOWED"/>
+        <item value="ONLY_IPV6_ALLOWED"/>
+        <item value="PROTOCOL_ERRORS"/>
+        <item value="RADIO_POWER_OFF"/>
+        <item value="TETHERED_CALL_ACTIVE"/>
+        <item value="RADIO_NOT_AVAILABLE"/>
+        <item value="UNACCEPTABLE_NETWORK_PARAMETER"/>
+        <item value="SIGNAL_LOST"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1917_eMobile.xml b/assets/carrier_config_carrierid_1917_eMobile.xml
index 935edc4..2eeb81b 100644
--- a/assets/carrier_config_carrierid_1917_eMobile.xml
+++ b/assets/carrier_config_carrierid_1917_eMobile.xml
@@ -2,7 +2,6 @@
 <carrier_config>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="enabledMMS" value="true"/>
-    <boolean name="carrier_force_disable_etws_cmas_test_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
     <int name="maxMessageTextSize" value="-1"/>
     <int name="recipientLimit" value="-1"/>
@@ -10,5 +9,4 @@
     <int name="maxMessageSize" value="307200"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="volte_replacement_rat_int" value="3"/>
-    <long name="message_expiration_time_long" value="3600000"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1925_Claro-PA.xml b/assets/carrier_config_carrierid_1925_Claro-PA.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1925_Claro-PA.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1951_Boost-Mobile.xml b/assets/carrier_config_carrierid_1951_Boost-Mobile.xml
index 86d0435..7ace583 100644
--- a/assets/carrier_config_carrierid_1951_Boost-Mobile.xml
+++ b/assets/carrier_config_carrierid_1951_Boost-Mobile.xml
@@ -15,8 +15,8 @@
     <int name="maxMessageSize" value="1048576"/>
     <int name="cdma_3waycall_flash_delay_int" value="300"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##|Proxy-Authorization: Basic ##NAI##"/>
-    <string name="emailGatewayNumber" value="6245"/>
-    <string name="naiSuffix" value=":pcs"/>
-    <string name="carrier_eri_file_name_string" value="eri_311870.xml"/>
+    <string name="httpParams">X-MDN: ##LINE1##|Proxy-Authorization: Basic ##NAI##</string>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="naiSuffix">:pcs</string>
+    <string name="carrier_eri_file_name_string">eri_311870.xml</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1952_US-Cellular.xml b/assets/carrier_config_carrierid_1952_US-Cellular.xml
index d91b364..09e3605 100644
--- a/assets/carrier_config_carrierid_1952_US-Cellular.xml
+++ b/assets/carrier_config_carrierid_1952_US-Cellular.xml
@@ -1,24 +1,25 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="allowAttachAudio" value="true"/>
-    <string name="carrier_eri_file_name_string" value="eri_311220.xml"/>
-    <int name="cdma_3waycall_flash_delay_int" value="300"/>
     <boolean name="dtmf_type_enabled_bool" value="true"/>
-    <string name="emailGatewayNumber" value="6245"/>
     <boolean name="enableMMSReadReports" value="false"/>
     <boolean name="enableMultipartSMS" value="false"/>
     <boolean name="enabledNotifyWapMMSC" value="true"/>
     <boolean name="enabledTransID" value="true"/>
-    <string name="httpParams" value="x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##"/>
+    <boolean name="show_apn_setting_cdma_bool" value="true"/>
+    <boolean name="show_cdma_choices_bool" value="true"/>
+    <boolean name="support_swap_after_merge_bool" value="false"/>
+    <boolean name="support_wps_over_ims_bool" value="false"/>
+    <boolean name="use_otasp_for_provisioning_bool" value="true"/>
+    <int name="cdma_3waycall_flash_delay_int" value="300"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxSubjectLength" value="80"/>
     <int name="recipientLimit" value="20"/>
-    <boolean name="show_apn_setting_cdma_bool" value="true"/>
-    <boolean name="show_cdma_choices_bool" value="true"/>
-    <string name="sim_country_iso_override_string" value="us"/>
-    <boolean name="support_swap_after_merge_bool" value="false"/>
-    <string name="uaProfTagName" value="x-wap-profile"/>
-    <boolean name="use_otasp_for_provisioning_bool" value="true"/>
+    <string name="carrier_eri_file_name_string">eri_311220.xml</string>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="httpParams">x-vzw-mdn: 1##LINE1NOCOUNTRYCODE##</string>
+    <string name="sim_country_iso_override_string">us</string>
+    <string name="uaProfTagName">x-wap-profile</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1953_Claro-CR.xml b/assets/carrier_config_carrierid_1953_Claro-CR.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1953_Claro-CR.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1954_Claro-SV.xml b/assets/carrier_config_carrierid_1954_Claro-SV.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_1954_Claro-SV.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_1955_Claro-PR.xml b/assets/carrier_config_carrierid_1955_Claro-PR.xml
index 99d73f8..6d2cf25 100644
--- a/assets/carrier_config_carrierid_1955_Claro-PR.xml
+++ b/assets/carrier_config_carrierid_1955_Claro-PR.xml
@@ -5,4 +5,7 @@
     <int name="recipientLimit" value="20"/>
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1958_Free.xml b/assets/carrier_config_carrierid_1958_Free.xml
index 6411d51..87adcf5 100644
--- a/assets/carrier_config_carrierid_1958_Free.xml
+++ b/assets/carrier_config_carrierid_1958_Free.xml
@@ -7,4 +7,8 @@
     <string-array name="non_roaming_operator_string_array" num="1">
         <item value="20801"/>
     </string-array>
+    <string-array name="carrier_certificate_string_array" num="2">
+      <item value="d543e9f245aa584a84c608069cffe1f507be61eb496d7585ac02a2fce05dcb28"/>
+      <item value="a1fe35ab00f6301fdafda1309b8faac2895bf5d46ef5d9ae6895c5a5ad84eeb7"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1961_Airtel.xml b/assets/carrier_config_carrierid_1961_Airtel.xml
index e2d62e1..3ad24ba 100644
--- a/assets/carrier_config_carrierid_1961_Airtel.xml
+++ b/assets/carrier_config_carrierid_1961_Airtel.xml
@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true"/>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="airtel"/>
+    <string name="carrier_name_string">airtel</string>
+    <int name="httpSocketTimeout" value="300000"/>
     <string-array name="roaming_operator_string_array" num="2">
         <item value="404"/>
         <item value="405"/>
diff --git a/assets/carrier_config_carrierid_1962_Fido.xml b/assets/carrier_config_carrierid_1962_Fido.xml
index 81d3815..7a3bcc4 100644
--- a/assets/carrier_config_carrierid_1962_Fido.xml
+++ b/assets/carrier_config_carrierid_1962_Fido.xml
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
     <boolean name="call_forwarding_map_non_number_to_voicemail_bool" value="true"/>
     <boolean name="carrier_name_override_bool" value="true"/>
@@ -9,7 +11,8 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="carrier_name_string" value="Fido"/>
+    <string name="carrier_name_string">Fido</string>
+    <string name="gps.lpp_profile">2</string>
     <string-array name="read_only_apn_types_string_array" num="1">
         <item value="*"/>
     </string-array>
diff --git a/assets/carrier_config_carrierid_1964_Aio.xml b/assets/carrier_config_carrierid_1964_Aio.xml
index 501675a..984f2a0 100644
--- a/assets/carrier_config_carrierid_1964_Aio.xml
+++ b/assets/carrier_config_carrierid_1964_Aio.xml
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="allow_hold_call_during_emergency_bool" value="false"/>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="enableSMSDeliveryReports" value="false"/>
     <boolean name="csp_enabled_bool" value="true"/>
-    <boolean name="carrier_name_override_bool" value="true"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="carrier_name_string" value="AT&amp;T"/>
+    <string name="carrier_name_string">cricket</string>
     <string-array name="roaming_operator_string_array" num="5">
         <item value="310110"/>
         <item value="310140"/>
diff --git a/assets/carrier_config_carrierid_1989_Google-Fi.xml b/assets/carrier_config_carrierid_1989_Google-Fi.xml
index bf74d4c..270287b 100644
--- a/assets/carrier_config_carrierid_1989_Google-Fi.xml
+++ b/assets/carrier_config_carrierid_1989_Google-Fi.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="Google Fi"/>
-    <string name="sim_country_iso_override_string" value="us"/>
+    <string name="carrier_name_string">Google Fi</string>
+    <string name="sim_country_iso_override_string">us</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_1990_Golan-Telecom.xml b/assets/carrier_config_carrierid_1990_Golan-Telecom.xml
index 8e8e982..01de36f 100644
--- a/assets/carrier_config_carrierid_1990_Golan-Telecom.xml
+++ b/assets/carrier_config_carrierid_1990_Golan-Telecom.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="Golan Telecom"/>
+    <string name="carrier_name_string">Golan Telecom</string>
     <string-array name="non_roaming_operator_string_array" num="1">
         <item value="42502"/>
     </string-array>
diff --git a/assets/carrier_config_carrierid_1991_Hot-Mobile.xml b/assets/carrier_config_carrierid_1991_Hot-Mobile.xml
index bf00c5d..9c19b4e 100644
--- a/assets/carrier_config_carrierid_1991_Hot-Mobile.xml
+++ b/assets/carrier_config_carrierid_1991_Hot-Mobile.xml
@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="HOT mobile"/>
-    <string name="sim_country_iso_override_string" value="il"/>
+    <string name="carrier_name_string">HOT mobile</string>
+    <string name="sim_country_iso_override_string">il</string>
     <string-array name="non_roaming_operator_string_array" num="1">
         <item value="42503"/>
     </string-array>
diff --git a/assets/carrier_config_carrierid_1_T-Mobile-US.xml b/assets/carrier_config_carrierid_1_T-Mobile-US.xml
index b49be83..c7abc0d 100644
--- a/assets/carrier_config_carrierid_1_T-Mobile-US.xml
+++ b/assets/carrier_config_carrierid_1_T-Mobile-US.xml
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="carrier_ims_gba_required_bool" value="true"/>
     <boolean name="carrier_name_override_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
@@ -9,17 +11,21 @@
     <boolean name="carrier_wfc_supports_wifi_only_bool" value="true"/>
     <boolean name="mmsCloseConnection" value="true"/>
     <boolean name="rtt_supported_bool" value="true"/>
+    <boolean name="hide_tty_hco_vco_with_rtt" value="true"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="volte_replacement_rat_int" value="3"/>
     <int name="vvm_port_number_int" value="1808"/>
     <int name="wfc_spn_format_idx_int" value="1"/>
-    <string name="carrier_name_string" value="T-Mobile"/>
-    <string name="carrier_vvm_package_name_string" value="com.tmobile.vvm.application"/>
-    <string name="vvm_destination_number_string" value="122"/>
-    <string name="vvm_type_string" value="vvm_type_cvvm"/>
+    <string name="carrier_name_string">T-Mobile</string>
+    <string name="carrier_vvm_package_name_string">com.tmobile.vvm.application</string>
+    <string name="vvm_destination_number_string">122</string>
+    <string name="vvm_type_string">vvm_type_cvvm</string>
     <string-array name="wfc_operator_error_codes_string_array" num="1">
         <item value="REG09|0"/>
     </string-array>
+    <string name="5g_icon_display_grace_period_string"
+        value="connected_mmwave,any,30;connected,any,30;not_restricted_rrc_idle,any,30;
+        not_restricted_rrc_con,any,30"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2008_Videotron.xml b/assets/carrier_config_carrierid_2008_Videotron.xml
index b6ec74b..1ae63ed 100644
--- a/assets/carrier_config_carrierid_2008_Videotron.xml
+++ b/assets/carrier_config_carrierid_2008_Videotron.xml
@@ -1,5 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true" />
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="3072000"/>
diff --git a/assets/carrier_config_carrierid_2011_Inland-Cellular.xml b/assets/carrier_config_carrierid_2011_Inland-Cellular.xml
index e16e26e..5c00027 100644
--- a/assets/carrier_config_carrierid_2011_Inland-Cellular.xml
+++ b/assets/carrier_config_carrierid_2011_Inland-Cellular.xml
@@ -14,6 +14,6 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1228800"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
-    <string name="carrier_name_string" value="T-Mobile"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
+    <string name="carrier_name_string">T-Mobile</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2018_Reliance-Jio.xml b/assets/carrier_config_carrierid_2018_Reliance-Jio.xml
index 3eb3a12..37ceede 100644
--- a/assets/carrier_config_carrierid_2018_Reliance-Jio.xml
+++ b/assets/carrier_config_carrierid_2018_Reliance-Jio.xml
@@ -1,10 +1,13 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true"/>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="carrier_name_override_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
     <boolean name="hide_ims_apn_bool" value="true"/>
+    <int name="httpSocketTimeout" value="300000"/>
     <int name="volte_replacement_rat_int" value="3"/>
-    <string name="carrier_name_string" value="JIO"/>
+    <string name="carrier_name_string">JIO</string>
     <string-array name="roaming_operator_string_array" num="2">
         <item value="404"/>
         <item value="405"/>
diff --git a/assets/carrier_config_carrierid_2020_Koodo-Mobile.xml b/assets/carrier_config_carrierid_2020_Koodo-Mobile.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_2020_Koodo-Mobile.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2021_Virgin-Mobile-Canada.xml b/assets/carrier_config_carrierid_2021_Virgin-Mobile-Canada.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_2021_Virgin-Mobile-Canada.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2022_Tracfone.xml b/assets/carrier_config_carrierid_2022_Tracfone.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2022_Tracfone.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="3">
+        <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+        <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+        <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2032_XFINIY-Mobile.xml b/assets/carrier_config_carrierid_2032_XFINIY-Mobile.xml
index 86f584e..29d35c5 100644
--- a/assets/carrier_config_carrierid_2032_XFINIY-Mobile.xml
+++ b/assets/carrier_config_carrierid_2032_XFINIY-Mobile.xml
@@ -1,24 +1,82 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="aliasEnabled" value="true"/>
-    <int name="aliasMaxChars" value="48"/>
-    <int name="aliasMinChars" value="2"/>
     <boolean name="allowAttachAudio" value="false"/>
     <boolean name="allow_add_call_during_video_call" value="false"/>
     <boolean name="allow_adding_apns_bool" value="false"/>
     <boolean name="allow_hold_in_ims_call" value="false"/>
     <boolean name="allow_merge_wifi_calls_when_vowifi_off_bool" value="false"/>
     <boolean name="apn_expand_bool" value="false"/>
+    <boolean name="broadcast_emergency_call_state_changes_bool" value="true"/>
+    <boolean name="carrier_allow_turnoff_ims_bool" value="false"/>
+    <boolean name="carrier_name_override_bool" value="true"/>
+    <boolean name="carrier_promote_wfc_on_call_fail_bool" value="true"/>
+    <boolean name="carrier_volte_available_bool" value="true"/>
+    <boolean name="carrier_volte_provisioned_bool" value="true"/>
+    <boolean name="carrier_volte_provisioning_required_bool" value="true"/>
+    <boolean name="carrier_vt_available_bool" value="true"/>
+    <boolean name="carrier_wfc_ims_available_bool" value="true"/>
+    <boolean name="cdma_home_registered_plmn_name_override_bool" value="true"/>
+    <boolean name="disable_voice_barring_notification_bool" value="true"/>
+    <boolean name="drop_video_call_when_answering_audio_call_bool" value="true"/>
+    <boolean name="dtmf_type_enabled_bool" value="true"/>
+    <boolean name="editable_wfc_mode_bool" value="false"/>
+    <boolean name="editable_wfc_roaming_mode_bool" value="true"/>
+    <boolean name="enableMMSReadReports" value="false"/>
+    <boolean name="enableMultipartSMS" value="true"/>
+    <boolean name="enabledNotifyWapMMSC" value="true"/>
+    <boolean name="enabledTransID" value="true"/>
+    <boolean name="gps.persist_lpp_mode_bool" value="true"/>
+    <boolean name="is_ims_conference_size_enforced_bool" value="true"/>
+    <boolean name="mdn_is_additional_voicemail_number_bool" value="true"/>
+    <boolean name="mmsCloseConnection" value="true"/>
+    <boolean name="notify_handover_video_from_lte_to_wifi_bool" value="true"/>
+    <boolean name="notify_handover_video_from_wifi_to_lte_bool" value="true"/>
+    <boolean name="notify_vt_handover_to_wifi_failure_bool" value="true"/>
+    <boolean name="operator_selection_expand_bool" value="true"/>
+    <boolean name="prefer_2g_bool" value="false"/>
+    <boolean name="rtt_supported_bool" value="true"/>
+    <boolean name="show_apn_setting_cdma_bool" value="true"/>
+    <boolean name="sms_requires_destination_number_conversion_bool" value="true"/>
+    <boolean name="support_3gpp_call_forwarding_while_roaming_bool" value="false"/>
+    <boolean name="support_downgrade_vt_to_audio_bool" value="false"/>
+    <boolean name="support_pause_ims_video_calls_bool" value="true"/>
+    <boolean name="support_swap_after_merge_bool" value="false"/>
+    <boolean name="treat_downgraded_video_calls_as_video_calls_bool" value="true"/>
+    <boolean name="use_rcs_presence_bool" value="true"/>
+    <boolean name="video_calls_can_be_hd_audio" value="false"/>
+    <boolean name="voicemail_notification_persistent_bool" value="true"/>
+    <boolean name="wifi_calls_can_be_hd_audio" value="false"/>
+    <boolean name="world_mode_enabled_bool" value="true"/>
+    <int name="aliasMaxChars" value="48"/>
+    <int name="aliasMinChars" value="2"/>
+    <int name="carrier_default_wfc_ims_mode_int" value="1"/>
+    <int name="ims_conference_size_limit_int" value="5"/>
+    <int name="lte_earfcns_rsrp_boost_int" value="6"/>
+    <int name="maxImageHeight" value="1944"/>
+    <int name="maxImageWidth" value="2592"/>
+    <int name="maxMessageSize" value="1258291"/>
+    <int name="maxSubjectLength" value="80"/>
+    <int name="recipientLimit" value="20"/>
+    <int name="smsToMmsTextThreshold" value="7"/>
+    <int name="volte_replacement_rat_int" value="6"/>
+    <int name="wfc_spn_format_idx_int" value="1"/>
+    <string name="carrier_eri_file_name_string">eri_311480_BA01450000000000.xml</string>
+    <string name="carrier_name_string">Verizon</string>
+    <string name="cdma_home_registered_plmn_name_string">XFINITY Mobile</string>
+    <string name="default_vm_number_string">*86</string>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="httpParams">x-up-calling-line-id: 1##LINE1NOCOUNTRYCODE##|X-VzW-MDN: 1##LINE1NOCOUNTRYCODE##</string>
+    <string name="sim_country_iso_override_string">us</string>
+    <string name="uaProfTagName">Profile</string>
     <string-array name="boosted_lte_earfcns_string_array" num="2">
         <item value="600-1199"/>
         <item value="1950-2399"/>
     </string-array>
-    <boolean name="broadcast_emergency_call_state_changes_bool" value="true"/>
     <string-array name="call_forwarding_blocks_while_roaming_string_array" num="2">
         <item value="*71"/>
         <item value="*72"/>
     </string-array>
-    <boolean name="carrier_allow_turnoff_ims_bool" value="false"/>
     <string-array name="carrier_data_call_permanent_failure_strings" num="14">
         <item value="OPERATOR_BARRED"/>
         <item value="MISSING_UNKNOWN_APN"/>
@@ -35,8 +93,6 @@
         <item value="UNACCEPTABLE_NETWORK_PARAMETER"/>
         <item value="SIGNAL_LOST"/>
     </string-array>
-    <int name="carrier_default_wfc_ims_mode_int" value="1"/>
-    <string name="carrier_eri_file_name_string" value="eri_311480.xml"/>
     <string-array name="carrier_metered_apn_types_strings" num="3">
         <item value="default"/>
         <item value="dun"/>
@@ -48,38 +104,14 @@
         <item value="mms"/>
         <item value="supl"/>
     </string-array>
-    <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="Verizon"/>
-    <boolean name="carrier_promote_wfc_on_call_fail_bool" value="true"/>
-    <boolean name="carrier_volte_available_bool" value="true"/>
-    <boolean name="carrier_volte_provisioned_bool" value="true"/>
-    <boolean name="carrier_volte_provisioning_required_bool" value="true"/>
-    <boolean name="carrier_vt_available_bool" value="true"/>
-    <boolean name="carrier_wfc_ims_available_bool" value="true"/>
-    <boolean name="cdma_home_registered_plmn_name_override_bool" value="true"/>
-    <string name="cdma_home_registered_plmn_name_string" value="XFINITY Mobile"/>
-    <string name="default_vm_number_string" value="*86"/>
     <string-array name="dial_string_replace_string_array" num="2">
         <item value="*611:+19085594899"/>
         <item value="*86:+1MDN"/>
     </string-array>
-    <boolean name="disable_severe_when_extreme_disabled_bool" value="false"/>
-    <boolean name="disable_voice_barring_notification_bool" value="true"/>
-    <boolean name="drop_video_call_when_answering_audio_call_bool" value="true"/>
-    <boolean name="dtmf_type_enabled_bool" value="true"/>
-    <boolean name="editable_wfc_mode_bool" value="false"/>
-    <boolean name="editable_wfc_roaming_mode_bool" value="true"/>
-    <string name="emailGatewayNumber" value="6245"/>
-    <boolean name="enableMMSReadReports" value="false"/>
-    <boolean name="enableMultipartSMS" value="true"/>
-    <boolean name="enabledNotifyWapMMSC" value="true"/>
-    <boolean name="enabledTransID" value="true"/>
     <string-array name="filtered_cnap_names_string_array" num="2">
         <item value="WIRELESS CALLER"/>
         <item value="UNKNOWN NAME"/>
     </string-array>
-    <string name="httpParams" value="x-up-calling-line-id: 1##LINE1NOCOUNTRYCODE##|X-VzW-MDN: 1##LINE1NOCOUNTRYCODE##"/>
-    <int name="ims_conference_size_limit_int" value="5"/>
     <string-array name="ims_reasoninfo_mapping_string_array" num="10">
         <item value="332|simultaneous call limit has already been reached|1403"/>
         <item value="332|Forbidden: Simultaneous Call Limit Has Already Been Reached|1403"/>
@@ -92,39 +124,6 @@
         <item value="1014|call has been pulled by another device|1016"/>
         <item value="*|Call is dropped due to Wi-Fi signal is degraded|1407"/>
     </string-array>
-    <boolean name="is_ims_conference_size_enforced_bool" value="true"/>
-    <int name="lte_earfcns_rsrp_boost_int" value="6"/>
-    <int-array name="lte_rsrp_thresholds_int_array" num="4">
-        <item value="-115"/>
-        <item value="-105"/>
-        <item value="-95"/>
-        <item value="-85"/>
-    </int-array>
-    <int-array name="cdma_enhanced_roaming_indicator_for_home_network_int_array" num="11">
-        <item value="64"/>
-        <item value="65"/>
-        <item value="66"/>
-        <item value="76"/>
-        <item value="77"/>
-        <item value="78"/>
-        <item value="79"/>
-        <item value="80"/>
-        <item value="81"/>
-        <item value="82"/>
-        <item value="83"/>
-    </int-array>
-    <int name="maxImageHeight" value="1944"/>
-    <int name="maxImageWidth" value="2592"/>
-    <int name="maxMessageSize" value="1258291"/>
-    <int name="maxSubjectLength" value="80"/>
-    <boolean name="mdn_is_additional_voicemail_number_bool" value="true"/>
-    <boolean name="mmsCloseConnection" value="true"/>
-    <boolean name="notify_handover_video_from_lte_to_wifi_bool" value="true"/>
-    <boolean name="notify_handover_video_from_wifi_to_lte_bool" value="true"/>
-    <boolean name="notify_vt_handover_to_wifi_failure_bool" value="true"/>
-    <boolean name="operator_selection_expand_bool" value="true"/>
-    <boolean name="persist_lpp_mode_bool" value="true"/>
-    <boolean name="prefer_2g_bool" value="false"/>
     <string-array name="read_only_apn_fields_string_array" num="20">
         <item value="name"/>
         <item value="proxy"/>
@@ -147,21 +146,23 @@
         <item value="mvno_type"/>
         <item value="mvno_match_data"/>
     </string-array>
-    <int name="recipientLimit" value="20"/>
-    <boolean name="rtt_supported_bool" value="true"/>
-    <boolean name="show_apn_setting_cdma_bool" value="true"/>
-    <int name="smsToMmsTextThreshold" value="7"/>
-    <boolean name="sms_requires_destination_number_conversion_bool" value="true"/>
-    <boolean name="support_3gpp_call_forwarding_while_roaming_bool" value="false"/>
-    <boolean name="support_downgrade_vt_to_audio_bool" value="false"/>
-    <boolean name="support_pause_ims_video_calls_bool" value="true"/>
-    <boolean name="support_swap_after_merge_bool" value="false"/>
-    <boolean name="treat_downgraded_video_calls_as_video_calls_bool" value="true"/>
-    <string name="uaProfTagName" value="Profile"/>
-    <boolean name="video_calls_can_be_hd_audio" value="false"/>
-    <boolean name="voicemail_notification_persistent_bool" value="true"/>
-    <int name="volte_replacement_rat_int" value="6"/>
-    <int name="wfc_spn_format_idx_int" value="1"/>
-    <boolean name="wifi_calls_can_be_hd_audio" value="false"/>
-    <boolean name="world_mode_enabled_bool" value="true"/>
+    <int-array name="lte_rsrp_thresholds_int_array" num="4">
+        <item value="-115"/>
+        <item value="-105"/>
+        <item value="-95"/>
+        <item value="-85"/>
+    </int-array>
+    <int-array name="cdma_enhanced_roaming_indicator_for_home_network_int_array" num="11">
+        <item value="64"/>
+        <item value="65"/>
+        <item value="66"/>
+        <item value="76"/>
+        <item value="77"/>
+        <item value="78"/>
+        <item value="79"/>
+        <item value="80"/>
+        <item value="81"/>
+        <item value="82"/>
+        <item value="83"/>
+    </int-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2063_Family-Mobile.xml b/assets/carrier_config_carrierid_2063_Family-Mobile.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2063_Family-Mobile.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="3">
+        <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+        <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+        <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2064_GoSmart.xml b/assets/carrier_config_carrierid_2064_GoSmart.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2064_GoSmart.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="3">
+        <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+        <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+        <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2078_Simple-Mobile.xml b/assets/carrier_config_carrierid_2078_Simple-Mobile.xml
new file mode 100644
index 0000000..38de8fe
--- /dev/null
+++ b/assets/carrier_config_carrierid_2078_Simple-Mobile.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_data_roaming_enabled_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="3">
+        <item value="E751E163E91E041382839556D31302DB7058C44D9DF1B5B27FC43BD8F0EE2BBA"/>
+        <item value="4AD124DE517BC6BA915B88C17F0AADF764469842156325C26B7CD8B888C41C71"/>
+        <item value="55BB3B316919620008AA76A4891E90384BFF2A76AE95C395FE738C2AC609F13F"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2093_Tesco.xml b/assets/carrier_config_carrierid_2093_Tesco.xml
index bc68e12..7be753d 100644
--- a/assets/carrier_config_carrierid_2093_Tesco.xml
+++ b/assets/carrier_config_carrierid_2093_Tesco.xml
@@ -4,7 +4,7 @@
     <boolean name="prefer_2g_bool" value="false"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="smsToMmsTextThreshold" value="10"/>
-    <string name="default_vm_number_string" value="905"/>
+    <string name="default_vm_number_string">905</string>
     <string-array name="non_roaming_operator_string_array" num="8">
         <item value="23420"/>
         <item value="23426"/>
diff --git a/assets/carrier_config_carrierid_20_Vodafone.xml b/assets/carrier_config_carrierid_20_Vodafone.xml
index aaed48e..f9b9272 100644
--- a/assets/carrier_config_carrierid_20_Vodafone.xml
+++ b/assets/carrier_config_carrierid_20_Vodafone.xml
@@ -4,5 +4,5 @@
     <int name="maxImageHeight" value="1944"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="default_vm_number_string" value="+31654501233"/>
+    <string name="default_vm_number_string">+31654501233</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2101_BT.xml b/assets/carrier_config_carrierid_2101_BT.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_2101_BT.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2103_BT-One-Phone.xml b/assets/carrier_config_carrierid_2103_BT-One-Phone.xml
index 5a8f0c4..49d0d75 100644
--- a/assets/carrier_config_carrierid_2103_BT-One-Phone.xml
+++ b/assets/carrier_config_carrierid_2103_BT-One-Phone.xml
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <string-array name="non_roaming_operator_string_array" num="2">
         <item value="23430"/>
         <item value="23433"/>
diff --git a/assets/carrier_config_carrierid_2106_IIJmio.xml b/assets/carrier_config_carrierid_2106_IIJmio.xml
index bf4f219..0af909b 100644
--- a/assets/carrier_config_carrierid_2106_IIJmio.xml
+++ b/assets/carrier_config_carrierid_2106_IIJmio.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="sim_country_iso_override_string" value="jp"/>
+    <string name="sim_country_iso_override_string">jp</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2109_Rakuten-Mobile.xml b/assets/carrier_config_carrierid_2109_Rakuten-Mobile.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_2109_Rakuten-Mobile.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2118_giffgaff.xml b/assets/carrier_config_carrierid_2118_giffgaff.xml
index 82b8094..ec5e634 100644
--- a/assets/carrier_config_carrierid_2118_giffgaff.xml
+++ b/assets/carrier_config_carrierid_2118_giffgaff.xml
@@ -4,7 +4,7 @@
     <boolean name="prefer_2g_bool" value="false"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="smsToMmsTextThreshold" value="10"/>
-    <string name="default_vm_number_string" value="443"/>
+    <string name="default_vm_number_string">443</string>
     <string-array name="non_roaming_operator_string_array" num="8">
         <item value="23420"/>
         <item value="23426"/>
diff --git a/assets/carrier_config_carrierid_2119_FirstNet.xml b/assets/carrier_config_carrierid_2119_FirstNet.xml
new file mode 100644
index 0000000..9ab8967
--- /dev/null
+++ b/assets/carrier_config_carrierid_2119_FirstNet.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="allow_hold_call_during_emergency_bool" value="false"/>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true"/>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+    <boolean name="limited_sim_function_notification_for_dsds_bool" value="true"/>
+    <boolean name="show_4g_for_3g_data_icon_bool" value="true"/>
+</carrier_config>
\ No newline at end of file
diff --git a/assets/carrier_config_carrierid_2124_Iliad.xml b/assets/carrier_config_carrierid_2124_Iliad.xml
index 6140262..ac3875b 100644
--- a/assets/carrier_config_carrierid_2124_Iliad.xml
+++ b/assets/carrier_config_carrierid_2124_Iliad.xml
@@ -1,4 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="sim_country_iso_override_string" value="it"/>
+    <string name="sim_country_iso_override_string">it</string>
+    <string-array name="carrier_certificate_string_array" num="1">
+        <item value="8227db5476f1d42a17bead90b73c8624b262152edad34ebd8f7e6472a47c6e03"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2127_free_re.xml b/assets/carrier_config_carrierid_2127_free_re.xml
index e378cfb..85c0441 100644
--- a/assets/carrier_config_carrierid_2127_free_re.xml
+++ b/assets/carrier_config_carrierid_2127_free_re.xml
@@ -1,4 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="sim_country_iso_override_string" value="re"/>
+    <string name="sim_country_iso_override_string">re</string>
+    <string-array name="carrier_certificate_string_array" num="1">
+        <item value="d543e9f245aa584a84c608069cffe1f507be61eb496d7585ac02a2fce05dcb28"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2130_ALIV_BS.xml b/assets/carrier_config_carrierid_2130_ALIV_BS.xml
index 5a2721e..c839508 100644
--- a/assets/carrier_config_carrierid_2130_ALIV_BS.xml
+++ b/assets/carrier_config_carrierid_2130_ALIV_BS.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="sim_country_iso_override_string" value="bs"/>
+    <string name="sim_country_iso_override_string">bs</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2135_Coriolis.xml b/assets/carrier_config_carrierid_2135_Coriolis.xml
index 7cd7d2e..88d2aad 100644
--- a/assets/carrier_config_carrierid_2135_Coriolis.xml
+++ b/assets/carrier_config_carrierid_2135_Coriolis.xml
@@ -5,9 +5,12 @@
     <int name="maxMessageSize" value="614400"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="vvm_port_number_int" value="5499"/>
-    <string name="vvm_destination_number_string" value="223"/>
-    <string name="vvm_type_string" value="vvm_type_omtp"/>
-    <string name="sim_country_iso_override_string" value="fr"/>
+    <string name="vvm_destination_number_string">223</string>
+    <string name="vvm_type_string">vvm_type_omtp</string>
+    <string-array name="carrier_vvm_package_name_string_array" num="1">
+        <item value="com.coriolis.visualvoicemailcoriolis"/>
+    </string-array>
+    <string name="sim_country_iso_override_string">fr</string>
     <string-array name="non_roaming_operator_string_array" num="2">
         <item value="20801"/>
         <item value="20810"/>
diff --git a/assets/carrier_config_carrierid_2137_Gamma.xml b/assets/carrier_config_carrierid_2137_Gamma.xml
index 8536761..2a6fc6b 100644
--- a/assets/carrier_config_carrierid_2137_Gamma.xml
+++ b/assets/carrier_config_carrierid_2137_Gamma.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="sim_country_iso_override_string" value="gb"/>
+    <string name="sim_country_iso_override_string">gb</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2138_jump.xml b/assets/carrier_config_carrierid_2138_jump.xml
index 8536761..2a6fc6b 100644
--- a/assets/carrier_config_carrierid_2138_jump.xml
+++ b/assets/carrier_config_carrierid_2138_jump.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="sim_country_iso_override_string" value="gb"/>
+    <string name="sim_country_iso_override_string">gb</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2139_sky.xml b/assets/carrier_config_carrierid_2139_sky.xml
index 8536761..2a6fc6b 100644
--- a/assets/carrier_config_carrierid_2139_sky.xml
+++ b/assets/carrier_config_carrierid_2139_sky.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="sim_country_iso_override_string" value="gb"/>
+    <string name="sim_country_iso_override_string">gb</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2169_Alon-Cellular-Ltd.xml b/assets/carrier_config_carrierid_2169_Alon-Cellular-Ltd.xml
index 9d7b45b..f2b767d 100644
--- a/assets/carrier_config_carrierid_2169_Alon-Cellular-Ltd.xml
+++ b/assets/carrier_config_carrierid_2169_Alon-Cellular-Ltd.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="YouPhone"/>
+    <string name="carrier_name_string">YouPhone</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2170_Home-Cellular.xml b/assets/carrier_config_carrierid_2170_Home-Cellular.xml
index 0b7b98a..c320f84 100644
--- a/assets/carrier_config_carrierid_2170_Home-Cellular.xml
+++ b/assets/carrier_config_carrierid_2170_Home-Cellular.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="Home Cellular"/>
+    <string name="carrier_name_string">Home Cellular</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2171_Rami-Levy.xml b/assets/carrier_config_carrierid_2171_Rami-Levy.xml
index f4b75d9..62b4178 100644
--- a/assets/carrier_config_carrierid_2171_Rami-Levy.xml
+++ b/assets/carrier_config_carrierid_2171_Rami-Levy.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="Rami Levy"/>
+    <string name="carrier_name_string">Rami Levy</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2237_China-Telecom.xml b/assets/carrier_config_carrierid_2237_China-Telecom.xml
index d7a1c2d..1fc05be 100644
--- a/assets/carrier_config_carrierid_2237_China-Telecom.xml
+++ b/assets/carrier_config_carrierid_2237_China-Telecom.xml
@@ -2,5 +2,5 @@
 <carrier_config>
     <boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
     <boolean name="show_apn_setting_cdma_bool" value="true"/>
-    <string name="sim_country_iso_override_string" value="cn"/>
+    <string name="sim_country_iso_override_string">cn</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2255_NexTech-Wireless.xml b/assets/carrier_config_carrierid_2255_NexTech-Wireless.xml
index e260f62..1fb33c6 100644
--- a/assets/carrier_config_carrierid_2255_NexTech-Wireless.xml
+++ b/assets/carrier_config_carrierid_2255_NexTech-Wireless.xml
@@ -12,6 +12,6 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
-    <string name="emailGatewayNumber" value="6245"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
+    <string name="emailGatewayNumber">6245</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2263_Claro-JM.xml b/assets/carrier_config_carrierid_2263_Claro-JM.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_2263_Claro-JM.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2288_GSC.xml b/assets/carrier_config_carrierid_2288_GSC.xml
index a43a534..2745db4 100644
--- a/assets/carrier_config_carrierid_2288_GSC.xml
+++ b/assets/carrier_config_carrierid_2288_GSC.xml
@@ -9,5 +9,5 @@
     <int name="maxSubjectLength" value="80"/>
     <int name="maxMessageSize" value="1048576"/>
     <int name="maxImageWidth" value="4320"/>
-    <string name="httpParams" value="X-MDN: ##LINE1##"/>
+    <string name="httpParams">X-MDN: ##LINE1##</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2310_Debitel.xml b/assets/carrier_config_carrierid_2310_Debitel.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_2310_Debitel.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_2395_Telekom.xml b/assets/carrier_config_carrierid_2395_Telekom.xml
index 5de2734..59f2bf3 100644
--- a/assets/carrier_config_carrierid_2395_Telekom.xml
+++ b/assets/carrier_config_carrierid_2395_Telekom.xml
@@ -5,6 +5,6 @@
     <boolean name="display_hd_audio_property_bool" value="false"/>
     <boolean name="carrier_name_override_bool" value="true"/>
     <boolean name="auto_retry_failed_wifi_emergency_call" value="true"/>
-    <string name="default_vm_number_string" value="3311"/>
-    <string name="carrier_name_string" value="Telekom"/>
+    <string name="default_vm_number_string">3311</string>
+    <string name="carrier_name_string">Telekom</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2411_Wireless-City-Planning.xml b/assets/carrier_config_carrierid_2411_Wireless-City-Planning.xml
index 935edc4..2eeb81b 100644
--- a/assets/carrier_config_carrierid_2411_Wireless-City-Planning.xml
+++ b/assets/carrier_config_carrierid_2411_Wireless-City-Planning.xml
@@ -2,7 +2,6 @@
 <carrier_config>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="enabledMMS" value="true"/>
-    <boolean name="carrier_force_disable_etws_cmas_test_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
     <int name="maxMessageTextSize" value="-1"/>
     <int name="recipientLimit" value="-1"/>
@@ -10,5 +9,4 @@
     <int name="maxMessageSize" value="307200"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="volte_replacement_rat_int" value="3"/>
-    <long name="message_expiration_time_long" value="3600000"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2417_Fizz.xml b/assets/carrier_config_carrierid_2417_Fizz.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_2417_Fizz.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_25_Vodafone.xml b/assets/carrier_config_carrierid_25_Vodafone.xml
index e23550e..da0c1bb 100644
--- a/assets/carrier_config_carrierid_25_Vodafone.xml
+++ b/assets/carrier_config_carrierid_25_Vodafone.xml
@@ -1,9 +1,12 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
     <boolean name="play_call_recording_tone_bool" value="true"/>
     <int name="volte_replacement_rat_int" value="3"/>
-    <string name="default_vm_number_string" value="5500"/>
+    <!-- wfcSpnFormat is "%s WiFi Calling" -->
+    <int name="wfc_spn_format_idx_int" value="11"/>
+    <string name="default_vm_number_string">5500</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_26_Vodafone.xml b/assets/carrier_config_carrierid_26_Vodafone.xml
index 0d82cc8..94e8074 100644
--- a/assets/carrier_config_carrierid_26_Vodafone.xml
+++ b/assets/carrier_config_carrierid_26_Vodafone.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="csp_enabled_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
diff --git a/assets/carrier_config_carrierid_27_SFR.xml b/assets/carrier_config_carrierid_27_SFR.xml
index 2630619..b882bf4 100644
--- a/assets/carrier_config_carrierid_27_SFR.xml
+++ b/assets/carrier_config_carrierid_27_SFR.xml
@@ -1,6 +1,8 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
+    <boolean name="support_ims_conference_event_package_bool" value="false"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxMessageSize" value="614400"/>
     <int name="maxImageWidth" value="2592"/>
diff --git a/assets/carrier_config_carrierid_28_Vodafone.xml b/assets/carrier_config_carrierid_28_Vodafone.xml
index ac74b3c..8a9e905 100644
--- a/assets/carrier_config_carrierid_28_Vodafone.xml
+++ b/assets/carrier_config_carrierid_28_Vodafone.xml
@@ -1,14 +1,13 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="smsToMmsTextThreshold" value="10"/>
-    <string name="default_vm_number_string" value="121"/>
+    <string name="default_vm_number_string">121</string>
     <string-array name="feature_access_codes_string_array" num="3">
         <item value="153"/>
         <item value="132"/>
         <item value="45"/>
     </string-array>
-    <string-array name="read_only_apn_types_string_array" num="1">
-        <item value="*"/>
-    </string-array>
+    <string-array name="read_only_apn_types_string_array" num="0"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_29_Vodafone.xml b/assets/carrier_config_carrierid_29_Vodafone.xml
index f3d88cd..f759437 100644
--- a/assets/carrier_config_carrierid_29_Vodafone.xml
+++ b/assets/carrier_config_carrierid_29_Vodafone.xml
@@ -3,5 +3,5 @@
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
     <int name="volte_replacement_rat_int" value="3"/>
-    <string name="default_vm_number_string" value="42020"/>
+    <string name="default_vm_number_string">42020</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_2_EE.xml b/assets/carrier_config_carrierid_2_EE.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_2_EE.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_30_Optus.xml b/assets/carrier_config_carrierid_30_Optus.xml
new file mode 100644
index 0000000..6e9e160
--- /dev/null
+++ b/assets/carrier_config_carrierid_30_Optus.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_3_Telekom.xml b/assets/carrier_config_carrierid_3_Telekom.xml
new file mode 100644
index 0000000..80258b4
--- /dev/null
+++ b/assets/carrier_config_carrierid_3_Telekom.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <boolean name="carrier_default_wfc_ims_roaming_enabled_bool" value="true"/>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
+    <string name="5g_icon_display_grace_period_string"
+        value="connected_mmwave,any,10;connected,any,10;not_restricted_rrc_idle,any,10;
+        not_restricted_rrc_con,any,10"/>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_529_Claro-BR.xml b/assets/carrier_config_carrierid_529_Claro-BR.xml
index 7296860..6f386dd 100644
--- a/assets/carrier_config_carrierid_529_Claro-BR.xml
+++ b/assets/carrier_config_carrierid_529_Claro-BR.xml
@@ -1,4 +1,7 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_576_Bell-Mobility.xml b/assets/carrier_config_carrierid_576_Bell-Mobility.xml
index f9706b4..bb606d1 100644
--- a/assets/carrier_config_carrierid_576_Bell-Mobility.xml
+++ b/assets/carrier_config_carrierid_576_Bell-Mobility.xml
@@ -1,20 +1,22 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
-    <string name="emailGatewayNumber" value="6245"/>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <boolean name="enableGroupMms" value="false"/>
     <boolean name="hide_lte_plus_data_icon_bool" value="false"/>
+    <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
+    <boolean name="voicemail_notification_persistent_bool" value="true"/>
     <int name="maxImageHeight" value="1944"/>
     <int name="maxImageWidth" value="2592"/>
     <int name="maxMessageSize" value="614400"/>
     <int name="maxSubjectLength" value="80"/>
+    <int name="recipientLimit" value="20"/>
+    <int name="smsToMmsTextThreshold" value="8"/>
+    <string name="emailGatewayNumber">6245</string>
+    <string name="gps.lpp_profile">2</string>
     <string-array name="non_roaming_operator_string_array" num="1">
         <item value="302"/>
     </string-array>
     <string-array name="read_only_apn_types_string_array" num="1">
         <item value="*"/>
     </string-array>
-    <int name="recipientLimit" value="20"/>
-    <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
-    <int name="smsToMmsTextThreshold" value="8"/>
-    <boolean name="voicemail_notification_persistent_bool" value="true"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_580_Sask-Tel-Mobility.xml b/assets/carrier_config_carrierid_580_Sask-Tel-Mobility.xml
index 9ba371d..7ef689d 100644
--- a/assets/carrier_config_carrierid_580_Sask-Tel-Mobility.xml
+++ b/assets/carrier_config_carrierid_580_Sask-Tel-Mobility.xml
@@ -3,7 +3,7 @@
     <int name="maxImageHeight" value="1944"/>
     <int name="maxMessageSize" value="614400"/>
     <int name="maxImageWidth" value="2592"/>
-    <string name="sim_country_iso_override_string" value="ca"/>
+    <string name="sim_country_iso_override_string">ca</string>
     <string-array name="non_roaming_operator_string_array" num="1">
         <item value="302"/>
     </string-array>
diff --git a/assets/carrier_config_carrierid_717_Virgin.xml b/assets/carrier_config_carrierid_717_Virgin.xml
index cc2a46d..49f0304 100644
--- a/assets/carrier_config_carrierid_717_Virgin.xml
+++ b/assets/carrier_config_carrierid_717_Virgin.xml
@@ -5,8 +5,8 @@
     <boolean name="prefer_2g_bool" value="false"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="wfc_spn_format_idx_int" value="1"/>
-    <string name="carrier_name_string" value="Virgin"/>
-    <string name="sim_country_iso_override_string" value="gb"/>
+    <string name="carrier_name_string">Virgin</string>
+    <string name="sim_country_iso_override_string">gb</string>
     <string-array name="non_roaming_operator_string_array" num="6">
         <item value="23430"/>
         <item value="23431"/>
diff --git a/assets/carrier_config_carrierid_718_EE.xml b/assets/carrier_config_carrierid_718_EE.xml
index 298074f..ed7105d 100644
--- a/assets/carrier_config_carrierid_718_EE.xml
+++ b/assets/carrier_config_carrierid_718_EE.xml
@@ -1,8 +1,11 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="EE"/>
     <boolean name="display_voicemail_number_as_default_call_forwarding_number" value="true"/>
+    <boolean name="prefer_2g_bool" value="false"/>
+    <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
+    <int name="wfc_spn_format_idx_int" value="1"/>
+    <string name="carrier_name_string">EE</string>
     <string-array name="non_roaming_operator_string_array" num="6">
         <item value="23430"/>
         <item value="23431"/>
@@ -11,10 +14,7 @@
         <item value="23434"/>
         <item value="23486"/>
     </string-array>
-    <boolean name="prefer_2g_bool" value="false"/>
-    <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <string-array name="wfc_operator_error_codes_string_array" num="1">
         <item value="REG09|0"/>
     </string-array>
-    <int name="wfc_spn_format_idx_int" value="1"/>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_773_Claro-HN.xml b/assets/carrier_config_carrierid_773_Claro-HN.xml
new file mode 100644
index 0000000..e8fde2f
--- /dev/null
+++ b/assets/carrier_config_carrierid_773_Claro-HN.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="1">
+      <item value="7D7226772D4F6D778FEF53A36BE15AD78D8D9D4BC4CE00C5F2E3216C19480FA0"/>
+    </string-array>
+</carrier_config>
diff --git a/assets/carrier_config_carrierid_796_Partner-Communications-Co-Ltd.xml b/assets/carrier_config_carrierid_796_Partner-Communications-Co-Ltd.xml
index 2a8d53d..ceebff4 100644
--- a/assets/carrier_config_carrierid_796_Partner-Communications-Co-Ltd.xml
+++ b/assets/carrier_config_carrierid_796_Partner-Communications-Co-Ltd.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="carrier_name_override_bool" value="true"/>
-    <string name="carrier_name_string" value="Orange-IL"/>
+    <string name="carrier_name_string">Orange-IL</string>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_802_Idea.xml b/assets/carrier_config_carrierid_802_Idea.xml
index b999bba..0467644 100644
--- a/assets/carrier_config_carrierid_802_Idea.xml
+++ b/assets/carrier_config_carrierid_802_Idea.xml
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
+    <boolean name="carrier_supports_ss_over_ut_bool" value="true"/>
     <string-array name="roaming_operator_string_array" num="2">
         <item value="404"/>
         <item value="405"/>
diff --git a/assets/carrier_config_carrierid_850_NTT_DOCOMO.xml b/assets/carrier_config_carrierid_850_NTT_DOCOMO.xml
index 4ae142a..1e5a7a4 100644
--- a/assets/carrier_config_carrierid_850_NTT_DOCOMO.xml
+++ b/assets/carrier_config_carrierid_850_NTT_DOCOMO.xml
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <carrier_config>
     <boolean name="allow_emergency_numbers_in_call_log_bool" value="true"/>
-    <boolean name="always_show_emergency_alert_onoff_bool" value="true"/>
-    <boolean name="carrier_force_disable_etws_cmas_test_bool" value="false"/>
     <boolean name="carrier_volte_available_bool" value="true"/>
     <boolean name="enabledMMS" value="false"/>
     <boolean name="hide_ims_apn_bool" value="true"/>
@@ -10,8 +8,23 @@
     <boolean name="ignore_data_enabled_changed_for_video_calls" value="true"/>
     <boolean name="show_4g_for_lte_data_icon_bool" value="true"/>
     <int name="volte_replacement_rat_int" value="3"/>
-    <long name="message_expiration_time_long" value="3600000"/>
     <string-array name="ims_reasoninfo_mapping_string_array" num="1">
         <item value="332||510"/>
     </string-array>
+    <string-array name="missed_incoming_call_sms_originator_string_array" num="2">
+        <item value="DoCoMo SMS"/>
+        <item value="DoCoMo"/>
+    </string-array>
+    <string-array name="missed_incoming_call_sms_pattern_string_array" num="5">
+        <!-- Incoming phone call history with caller id -->
+        <item value="^(?&lt;month&gt;0[1-9]|1[012])\/(?&lt;day&gt;0[1-9]|1[0-9]|2[0-9]|3[0-1]) (?&lt;hour&gt;[0-1][0-9]|2[0-3]):(?&lt;minute&gt;[0-5][0-9])\s*(?&lt;callerId&gt;[0-9]+)\s*$"/>
+        <!-- Incoming phone call history without caller id -->
+        <item value="^(?&lt;month&gt;0[1-9]|1[012])\/(?&lt;day&gt;0[1-9]|1[0-9]|2[0-9]|3[0-1]) (?&lt;hour&gt;[0-1][0-9]|2[0-3]):(?&lt;minute&gt;[0-5][0-9])\s*[非通知設定|公衆電話|通知不可能]\s*$"/>
+        <!-- Incoming video phone call history with caller id -->
+        <item value="^(?&lt;month&gt;0[1-9]|1[012])\/(?&lt;day&gt;0[1-9]|1[0-9]|2[0-9]|3[0-1]) (?&lt;hour&gt;[0-1][0-9]|2[0-3]):(?&lt;minute&gt;[0-5][0-9]) テレビ電話\s*(?&lt;callerId&gt;[0-9]+)\s*$"/>
+        <!-- Incoming video phone call history without caller id -->
+        <item value="^(?&lt;month&gt;0[1-9]|1[012])\/(?&lt;day&gt;0[1-9]|1[0-9]|2[0-9]|3[0-1]) (?&lt;hour&gt;[0-1][0-9]|2[0-3]):(?&lt;minute&gt;[0-5][0-9]) テレビ電話\s*[非通知設定|公衆電話|通知不可能]\s*$"/>
+        <!-- Incoming phone call while roaming history with caller id -->
+        <item value="^海外 着信通知(日本時間)\s*(?&lt;month&gt;0[1-9]|1[012])\/(?&lt;day&gt;0[1-9]|1[0-9]|2[0-9]|3[0-1]) (?&lt;hour&gt;[0-1][0-9]|2[0-3]):(?&lt;minute&gt;[0-5][0-9])\s*(?&lt;callerId&gt;[0-9]+)\s*$"/>
+    </string-array>
 </carrier_config>
diff --git a/assets/carrier_config_carrierid_865_Safaricom.xml b/assets/carrier_config_carrierid_865_Safaricom.xml
new file mode 100644
index 0000000..84df59f
--- /dev/null
+++ b/assets/carrier_config_carrierid_865_Safaricom.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<carrier_config>
+    <string-array name="carrier_certificate_string_array" num="2">
+      <item value="F86A9F41A3616F82FAB02D4F23072FAFC7FF94B266C2E0A3558F097A95EA51D8"/>
+      <item value="F047BB9ED3FDFB7B32887F9DBAC1B933E58AE5857EC3455113C34DE26286FEC9"/>
+    </string-array>
+</carrier_config>
\ No newline at end of file
diff --git a/assets/carrier_config_mccmnc_311480.xml b/assets/carrier_config_mccmnc_311480.xml
index b962330..1c2f22e 100644
--- a/assets/carrier_config_mccmnc_311480.xml
+++ b/assets/carrier_config_mccmnc_311480.xml
@@ -1,157 +1,5 @@
 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <carrier_config_list>
-    <carrier_config>
-        <boolean name="rtt_supported_bool" value="true" />
-        <boolean name="carrier_volte_provisioned_bool" value="true" />
-        <boolean name="allow_hold_in_ims_call" value="false" />
-        <boolean name="world_mode_enabled_bool" value="true" />
-        <boolean name="sms_requires_destination_number_conversion_bool" value="true" />
-        <boolean name="mdn_is_additional_voicemail_number_bool" value="true" />
-        <boolean name="carrier_vt_available_bool" value="true" />
-        <boolean name="support_downgrade_vt_to_audio_bool" value="false" />
-        <boolean name="notify_handover_video_from_wifi_to_lte_bool" value="true" />
-        <boolean name="notify_handover_video_from_lte_to_wifi_bool" value="true" />
-        <boolean name="carrier_allow_turnoff_ims_bool" value="false" />
-        <boolean name="carrier_volte_provisioning_required_bool" value="true" />
-        <boolean name="treat_downgraded_video_calls_as_video_calls_bool" value="true" />
-        <boolean name="drop_video_call_when_answering_audio_call_bool" value="true" />
-        <boolean name="operator_selection_expand_bool" value="true" />
-        <int name="aliasMinChars" value="2" />
-        <boolean name="dtmf_type_enabled_bool" value="true" />
-        <int name="smsToMmsTextThreshold" value="7" />
-        <boolean name="enabledTransID" value="true" />
-        <boolean name="aliasEnabled" value="true" />
-        <boolean name="voicemail_notification_persistent_bool" value="true" />
-        <boolean name="allowAttachAudio" value="false" />
-        <boolean name="support_swap_after_merge_bool" value="false" />
-        <int name="recipientLimit" value="20" />
-        <string name="uaProfTagName">Profile</string>
-        <int name="aliasMaxChars" value="48" />
-        <int name="maxImageHeight" value="1944" />
-        <int name="lte_earfcns_rsrp_boost_int" value="6" />
-        <string-array name="boosted_lte_earfcns_string_array" num="2">
-            <item value="600-1199" />
-            <item value="1950-2399" />
-        </string-array>
-        <boolean name="carrier_volte_available_bool" value="true" />
-        <boolean name="support_pause_ims_video_calls_bool" value="true" />
-        <int name="maxSubjectLength" value="80" />
-        <string name="httpParams">x-up-calling-line-id: 1##LINE1NOCOUNTRYCODE##|X-VzW-MDN: 1##LINE1NOCOUNTRYCODE##</string>
-        <string name="emailGatewayNumber">6245</string>
-        <int name="maxMessageSize" value="1258291" />
-        <boolean name="enableMMSReadReports" value="false" />
-        <boolean name="prefer_2g_bool" value="false" />
-        <int name="maxImageWidth" value="2592" />
-        <int name="volte_replacement_rat_int" value="6" />
-        <boolean name="enabledNotifyWapMMSC" value="true" />
-        <boolean name="enableMultipartSMS" value="true" />
-        <boolean name="allow_adding_apns_bool" value="false" />
-        <boolean name="broadcast_emergency_call_state_changes_bool" value="true" />
-        <string name="carrier_eri_file_name_string">eri_311480.xml</string>
-        <boolean name="carrier_wfc_ims_available_bool" value="true" />
-        <int name="carrier_default_wfc_ims_mode_int" value="1"/>
-        <boolean name="treat_downgraded_video_calls_as_video_calls_bool" value="true" />
-        <boolean name="drop_video_call_when_answering_audio_call_bool" value="true" />
-        <boolean name="editable_wfc_mode_bool" value="false"/>
-        <boolean name="editable_wfc_roaming_mode_bool" value="true"/>
-        <boolean name="allow_merge_wifi_calls_when_vowifi_off_bool" value="false" />
-        <boolean name="wifi_calls_can_be_hd_audio" value="false" />
-        <boolean name="video_calls_can_be_hd_audio" value="false" />
-        <boolean name="allow_add_call_during_video_call" value="false" />
-        <boolean name="persist_lpp_mode_bool" value="true" />
-        <string name="default_vm_number_string">*86</string>
-        <string-array name="dial_string_replace_string_array" num="2">
-            <item value="*611:+19085594899" />
-            <item value="*86:+1MDN" />
-        </string-array>
-        <string-array name="carrier_data_call_permanent_failure_strings" num="14">
-            <item value="OPERATOR_BARRED" />
-            <item value="MISSING_UNKNOWN_APN" />
-            <item value="UNKNOWN_PDP_ADDRESS_TYPE" />
-            <item value="USER_AUTHENTICATION" />
-            <item value="SERVICE_OPTION_NOT_SUPPORTED" />
-            <item value="SERVICE_OPTION_NOT_SUBSCRIBED" />
-            <item value="NSAPI_IN_USE" />
-            <item value="ONLY_IPV4_ALLOWED" />
-            <item value="ONLY_IPV6_ALLOWED" />
-            <item value="RADIO_POWER_OFF" />
-            <item value="TETHERED_CALL_ACTIVE" />
-            <item value="RADIO_NOT_AVAILABLE" />
-            <item value="UNACCEPTABLE_NETWORK_PARAMETER" />
-            <item value="SIGNAL_LOST" />
-        </string-array>
-        <boolean name="carrier_promote_wfc_on_call_fail_bool" value="true" />
-        <string-array name="ims_reasoninfo_mapping_string_array" num="10">
-            <item value="332|simultaneous call limit has already been reached|1403" />
-            <item value="332|Forbidden: Simultaneous Call Limit Has Already Been Reached|1403" />
-            <item value="338|another device sent all devices busy response|1404" />
-            <item value="501|call completion elsewhere|1014" />
-            <item value="501|call has been pulled by another device|1016" />
-            <item value="510|call has been pulled by another device|1016" />
-            <item value="501|another device sent all devices busy response|1404" />
-            <item value="510|another device sent all devices busy response|1404" />
-            <item value="1014|call has been pulled by another device|1016" />
-            <item value="*|Call is dropped due to Wi-Fi signal is degraded|1407" />
-        </string-array>
-        <boolean name="disable_severe_when_extreme_disabled_bool" value="false" />
-        <boolean name="mmsCloseConnection" value="true"/>
-        <boolean name="notify_vt_handover_to_wifi_failure_bool" value="true" />
-        <int name="wfc_spn_format_idx_int" value="1" />
-        <string-array name="filtered_cnap_names_string_array" num="2">
-            <item value="WIRELESS CALLER" />
-            <item value="UNKNOWN NAME" />
-        </string-array>
-        <string-array name="read_only_apn_fields_string_array" num="20">
-            <item value="name" />
-            <item value="proxy" />
-            <item value="port" />
-            <item value="user" />
-            <item value="password" />
-            <item value="server" />
-            <item value="mmsc" />
-            <item value="mmsproxy" />
-            <item value="mmsport" />
-            <item value="mcc" />
-            <item value="mnc" />
-            <item value="authtype" />
-            <item value="type" />
-            <item value="protocol" />
-            <item value="roaming_protocol" />
-            <item value="bearer" />
-            <item value="bearer_bitmask" />
-            <item value="carrier_enabled" />
-            <item value="mvno_type" />
-            <item value="mvno_match_data" />
-        </string-array>
-        <string-array name="carrier_metered_apn_types_strings" num="3">
-            <item value="default" />
-            <item value="dun" />
-            <item value="supl" />
-        </string-array>
-        <string-array name="carrier_metered_roaming_apn_types_strings" num="4">
-            <item value="default" />
-            <item value="dun" />
-            <item value="mms" />
-            <item value="supl" />
-        </string-array>
-        <boolean name="is_ims_conference_size_enforced_bool" value="true"/>
-        <int name="ims_conference_size_limit_int" value="5" />
-        <boolean name="support_3gpp_call_forwarding_while_roaming_bool" value="false" />
-        <string-array name="call_forwarding_blocks_while_roaming_string_array" num="2">
-            <item value="*71" />
-            <item value="*72" />
-        </string-array>
-        <boolean name="disable_voice_barring_notification_bool" value="true" />
-        <boolean name="carrier_name_override_bool" value="true" />
-        <string name="carrier_name_string">Verizon</string>
-        <int-array name="lte_rsrp_thresholds_int_array" num="4">
-            <item value="-115" />  <!-- SIGNAL_STRENGTH_POOR -->
-            <item value="-105" />  <!-- SIGNAL_STRENGTH_MODERATE -->
-            <item value="-95" />  <!-- SIGNAL_STRENGTH_GOOD -->
-            <item value="-85" />  <!-- SIGNAL_STRENGTH_GREAT -->
-        </int-array>
-        <boolean name="show_apn_setting_cdma_bool" value="true" />
-    </carrier_config>
     <!-- Tracfone Vzw shows empty string as SPN -->
     <carrier_config gid1="BA01270000000000">
         <boolean name="carrier_name_override_bool" value="true" />
diff --git a/assets/carrier_config_mccmnc_44120.xml b/assets/carrier_config_mccmnc_44120.xml
index 09fdc62..08b3e73 100644
--- a/assets/carrier_config_mccmnc_44120.xml
+++ b/assets/carrier_config_mccmnc_44120.xml
@@ -1,7 +1,6 @@
 <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <carrier_config_list>
 <carrier_config>
-    <boolean name="show_4g_for_lte_data_icon_bool" value="true" />
 <int name="maxMessageTextSize" value="-1" />
 <int name="recipientLimit" value="-1" />
 <int name="maxImageHeight" value="1944" />
@@ -11,6 +10,5 @@
 <boolean name="carrier_force_disable_etws_cmas_test_bool" value="true" />
 <boolean name="carrier_volte_available_bool" value="true" />
 <int name="volte_replacement_rat_int" value="3" />
-<long name="message_expiration_time_long" value="3600000" />
 </carrier_config>
 </carrier_config_list>
diff --git a/src/com/android/carrierconfig/DefaultCarrierConfigService.java b/src/com/android/carrierconfig/DefaultCarrierConfigService.java
index 488b219..2248a9c 100644
--- a/src/com/android/carrierconfig/DefaultCarrierConfigService.java
+++ b/src/com/android/carrierconfig/DefaultCarrierConfigService.java
@@ -3,6 +3,7 @@
 import android.annotation.Nullable;
 import android.os.Build;
 import android.os.PersistableBundle;
+import android.os.SystemProperties;
 import android.service.carrier.CarrierIdentifier;
 import android.service.carrier.CarrierService;
 import android.telephony.TelephonyManager;
@@ -87,7 +88,9 @@
                 PersistableBundle configByCarrierId = new PersistableBundle();
                 PersistableBundle configBySpecificCarrierId = new PersistableBundle();
                 PersistableBundle configByMccMncFallBackCarrierId = new PersistableBundle();
-                int mccmncCarrierId = TelephonyManager.from(getApplicationContext())
+                TelephonyManager telephonyManager = getApplicationContext()
+                        .getSystemService(TelephonyManager.class);
+                int mccmncCarrierId = telephonyManager
                         .getCarrierIdFromMccMnc(id.getMcc() + id.getMnc());
                 for (String file : getApplicationContext().getAssets().list("")) {
                     if (file.startsWith(CARRIER_ID_PREFIX + id.getSpecificCarrierId() + "_")) {
@@ -220,6 +223,8 @@
      *   <li>spn: {@link CarrierIdentifier#getSpn}</li>
      *   <li>imsi: {@link CarrierIdentifier#getImsi}</li>
      *   <li>device: {@link Build.DEVICE}</li>
+     *   <li>vendorSku: {@link SystemConfig.VENDOR_SKU_PROPERTY}</li>
+     *   <li>hardwareSku: {@link SystemConfig.SKU_PROPERTY}</li>
      *   <li>cid: {@link CarrierIdentifier#getCarrierId()}
      *   or {@link CarrierIdentifier#getSpecificCarrierId()}</li>
      * </ul>
@@ -237,6 +242,10 @@
      */
     static boolean checkFilters(XmlPullParser parser, CarrierIdentifier id) {
         boolean result = true;
+        String vendorSkuProperty = SystemProperties.get(
+            "ro.boot.product.vendor.sku", "");
+        String hardwareSkuProperty = SystemProperties.get(
+            "ro.boot.product.hardware.sku", "");
         for (int i = 0; i < parser.getAttributeCount(); ++i) {
             String attribute = parser.getAttributeName(i);
             String value = parser.getAttributeValue(i);
@@ -262,9 +271,17 @@
                 case "device":
                     result = result && value.equalsIgnoreCase(Build.DEVICE);
                     break;
+                case "vendorSku":
+                    result = result &&
+                            value.equalsIgnoreCase(vendorSkuProperty);
+                    break;
+                case "hardwareSku":
+                    result = result &&
+                            value.equalsIgnoreCase(hardwareSkuProperty);
+                    break;
                 case "cid":
-                    result = result && (value.equals(id.getCarrierId())
-                            || value.equals(id.getSpecificCarrierId()));
+                    result = result && ((Integer.parseInt(value) == id.getCarrierId())
+                            || (Integer.parseInt(value) == id.getSpecificCarrierId()));
                     break;
                 case "name":
                     // name is used together with cid for readability. ignore for filter.
diff --git a/tests/src/com/android/carrierconfig/CarrierConfigTest.java b/tests/src/com/android/carrierconfig/CarrierConfigTest.java
index b1be375..c1a045c 100644
--- a/tests/src/com/android/carrierconfig/CarrierConfigTest.java
+++ b/tests/src/com/android/carrierconfig/CarrierConfigTest.java
@@ -1,11 +1,16 @@
 package com.android.carrierconfig;
 
+import android.Manifest;
+import android.annotation.NonNull;
 import android.content.Context;
 import android.content.res.AssetManager;
 import android.content.res.Resources;
+import android.database.Cursor;
 import android.os.PersistableBundle;
+import android.provider.Telephony;
 import android.service.carrier.CarrierIdentifier;
 import android.telephony.CarrierConfigManager;
+import android.telephony.TelephonyManager;
 import android.test.InstrumentationTestCase;
 import android.util.Log;
 
@@ -13,7 +18,9 @@
 import java.io.InputStream;
 import java.lang.reflect.Field;
 import java.lang.reflect.Modifier;
+import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import junit.framework.AssertionFailedError;
@@ -23,13 +30,15 @@
 import org.xmlpull.v1.XmlPullParserFactory;
 
 public class CarrierConfigTest extends InstrumentationTestCase {
+    private static final String TAG = "CarrierConfigTest";
 
     /**
      * Iterate over all XML files in assets/ and ensure they parse without error.
      */
     public void testAllFilesParse() {
         forEachConfigXml(new ParserChecker() {
-            public void check(XmlPullParser parser) throws XmlPullParserException, IOException {
+            public void check(XmlPullParser parser, String mccmnc) throws XmlPullParserException,
+                    IOException {
                 PersistableBundle b = DefaultCarrierConfigService.readConfigFromXml(parser,
                         new CarrierIdentifier("001", "001", "Test", "001001123456789", "", ""));
                 assertNotNull("got null bundle", b);
@@ -43,7 +52,8 @@
      */
     public void testFilterValidAttributes() {
         forEachConfigXml(new ParserChecker() {
-            public void check(XmlPullParser parser) throws XmlPullParserException, IOException {
+            public void check(XmlPullParser parser, String mccmnc) throws XmlPullParserException,
+                    IOException {
                 int event;
                 while (((event = parser.next()) != XmlPullParser.END_DOCUMENT)) {
                     if (event == XmlPullParser.START_TAG
@@ -58,6 +68,8 @@
                                 case "spn":
                                 case "imsi":
                                 case "device":
+                                case "vendorSku":
+                                case "hardwareSku":
                                 case "cid":
                                 case "name":
                                     break;
@@ -74,13 +86,79 @@
     }
 
     /**
+     * Check that XML files named after mccmnc are those without matching carrier id.
+     * If there is a matching carrier id, all configurations should move to carrierid.xml which
+     * has a higher matching priority than mccmnc.xml
+     */
+    public void testCarrierConfigFileNaming() {
+        forEachConfigXml(new ParserChecker() {
+            public void check(XmlPullParser parser, String mccmnc) throws XmlPullParserException,
+                    IOException {
+                if (mccmnc == null) {
+                    // only check file named after mccmnc
+                    return;
+                }
+                int event;
+                while (((event = parser.next()) != XmlPullParser.END_DOCUMENT)) {
+                    if (event == XmlPullParser.START_TAG
+                            && "carrier_config".equals(parser.getName())) {
+                        String mcc = null;
+                        String mnc = null;
+                        String spn = null;
+                        String gid1 = null;
+                        String gid2 = null;
+                        String imsi = null;
+                        for (int i = 0; i < parser.getAttributeCount(); ++i) {
+                            String attribute = parser.getAttributeName(i);
+                            switch (attribute) {
+                                case "mcc":
+                                    mcc = parser.getAttributeValue(i);
+                                    break;
+                                case "mnc":
+                                    mnc = parser.getAttributeValue(i);
+                                    break;
+                                case "gid1":
+                                    gid1 = parser.getAttributeValue(i);
+                                    break;
+                                case "gid2":
+                                    gid2 = parser.getAttributeValue(i);
+                                    break;
+                                case "spn":
+                                    spn = parser.getAttributeValue(i);
+                                    break;
+                                case "imsi":
+                                    imsi = parser.getAttributeValue(i);
+                                    break;
+                                default:
+                                    fail("Unknown attribute '" + attribute
+                                            + "' at " + parser.getPositionDescription());
+                                    break;
+                            }
+                        }
+                        mcc = (mcc != null) ? mcc : mccmnc.substring(0, 3);
+                        mnc = (mnc != null) ? mnc : mccmnc.substring(3);
+                        // check if there is a valid carrier id
+                        int carrierId = getCarrierId(getInstrumentation().getTargetContext(),
+                                new CarrierIdentifier(mcc, mnc, spn, imsi, gid1, gid2));
+                        if (carrierId != TelephonyManager.UNKNOWN_CARRIER_ID) {
+                            fail("unexpected carrier_config_mccmnc.xml with matching carrier id: "
+                                    + carrierId + ", please move to carrier_config_carrierid.xml");
+                        }
+                    }
+                }
+            }
+        });
+    }
+
+    /**
      * Tests that the variable names in each XML file match actual keys in CarrierConfigManager.
      */
     public void testVariableNames() {
         final Set<String> varXmlNames = getCarrierConfigXmlNames();
         // organize them into sets by type or unknown
         forEachConfigXml(new ParserChecker() {
-            public void check(XmlPullParser parser) throws XmlPullParserException, IOException {
+            public void check(XmlPullParser parser, String mccmnc) throws XmlPullParserException,
+                    IOException {
                 int event;
                 while (((event = parser.next()) != XmlPullParser.END_DOCUMENT)) {
                     if (event == XmlPullParser.START_TAG) {
@@ -128,7 +206,7 @@
      * {@link #check} should {@link #fail} if the test does not pass.
      */
     private interface ParserChecker {
-        void check(XmlPullParser parser) throws XmlPullParserException, IOException;
+        void check(XmlPullParser parser, String mccmnc) throws XmlPullParserException, IOException;
     }
 
     /**
@@ -136,6 +214,7 @@
      */
     private void forEachConfigXml(ParserChecker checker) {
         AssetManager assetMgr = getInstrumentation().getTargetContext().getAssets();
+        String mccmnc = null;
         try {
             String[] files = assetMgr.list("");
             assertNotNull("failed to list files", files);
@@ -143,12 +222,16 @@
             for (String fileName : files) {
                 try {
                     if (!fileName.startsWith("carrier_config_")) continue;
+                    if (fileName.startsWith("carrier_config_mccmnc_")) {
+                        mccmnc = fileName.substring("carrier_config_mccmnc_".length(),
+                                fileName.indexOf(".xml"));
 
+                    }
                     XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
                     XmlPullParser parser = factory.newPullParser();
                     parser.setInput(assetMgr.open(fileName), "utf-8");
 
-                    checker.check(parser);
+                    checker.check(parser, mccmnc);
 
                 } catch (Throwable e) {
                     throw new AssertionError("Problem in " + fileName + ": " + e.getMessage(), e);
@@ -157,7 +240,7 @@
             // Check vendor.xml too
             try {
                 Resources res = getInstrumentation().getTargetContext().getResources();
-                checker.check(res.getXml(R.xml.vendor));
+                checker.check(res.getXml(R.xml.vendor), mccmnc);
             } catch (Throwable e) {
                 throw new AssertionError("Problem in vendor.xml: " + e.getMessage(), e);
             }
@@ -170,13 +253,26 @@
      * Get the set of config variable names, as used in XML files.
      */
     private Set<String> getCarrierConfigXmlNames() {
-        // get values of all KEY_ members of CarrierConfigManager
-        Field[] fields = CarrierConfigManager.class.getDeclaredFields();
+        Set<String> names = new HashSet<>();
+        // get values of all KEY_ members of CarrierConfigManager as well as its nested classes.
+        names.addAll(getCarrierConfigXmlNames(CarrierConfigManager.class));
+        for (Class nested : CarrierConfigManager.class.getDeclaredClasses()) {
+            Log.i("CarrierConfigTest", nested.toString());
+            if (Modifier.isStatic(nested.getModifiers())) {
+                names.addAll(getCarrierConfigXmlNames(nested));
+            }
+        }
+        return names;
+    }
+
+    private Set<String> getCarrierConfigXmlNames(Class clazz) {
+        // get values of all KEY_ members of clazz
+        Field[] fields = clazz.getDeclaredFields();
         HashSet<String> varXmlNames = new HashSet<>();
         for (Field f : fields) {
             if (!f.getName().startsWith("KEY_")) continue;
-            if ((f.getModifiers() & Modifier.STATIC) == 0) {
-                fail("non-static key in CarrierConfigManager: " + f.toString());
+            if (!Modifier.isStatic(f.getModifiers())) {
+                fail("non-static key in " + clazz.getName() + ":" + f.toString());
             }
             try {
                 String value = (String) f.get(null);
@@ -189,4 +285,51 @@
         assertTrue("Found zero keys", varXmlNames.size() > 0);
         return varXmlNames;
     }
+
+    // helper function to get carrier id from carrierIdentifier
+    private int getCarrierId(@NonNull Context context,
+                             @NonNull CarrierIdentifier carrierIdentifier) {
+        try {
+            getInstrumentation().getUiAutomation().adoptShellPermissionIdentity(
+                    Manifest.permission.READ_PRIVILEGED_PHONE_STATE);
+            List<String> args = new ArrayList<>();
+            args.add(carrierIdentifier.getMcc() + carrierIdentifier.getMnc());
+            if (carrierIdentifier.getGid1() != null) {
+                args.add(carrierIdentifier.getGid1());
+            }
+            if (carrierIdentifier.getGid2() != null) {
+                args.add(carrierIdentifier.getGid2());
+            }
+            if (carrierIdentifier.getImsi() != null) {
+                args.add(carrierIdentifier.getImsi());
+            }
+            if (carrierIdentifier.getSpn() != null) {
+                args.add(carrierIdentifier.getSpn());
+            }
+            try (Cursor cursor = context.getContentResolver().query(
+                    Telephony.CarrierId.All.CONTENT_URI,
+                    /* projection */ null,
+                    /* selection */ Telephony.CarrierId.All.MCCMNC + "=? AND "
+                            + Telephony.CarrierId.All.GID1
+                            + ((carrierIdentifier.getGid1() == null) ? " is NULL" : "=?") + " AND "
+                            + Telephony.CarrierId.All.GID2
+                            + ((carrierIdentifier.getGid2() == null) ? " is NULL" : "=?") + " AND "
+                            + Telephony.CarrierId.All.IMSI_PREFIX_XPATTERN
+                            + ((carrierIdentifier.getImsi() == null) ? " is NULL" : "=?") + " AND "
+                            + Telephony.CarrierId.All.SPN
+                            + ((carrierIdentifier.getSpn() == null) ? " is NULL" : "=?"),
+                /* selectionArgs */ args.toArray(new String[args.size()]), null)) {
+                if (cursor != null) {
+                    while (cursor.moveToNext()) {
+                        return cursor.getInt(cursor.getColumnIndex(Telephony.CarrierId.CARRIER_ID));
+                    }
+                }
+            }
+        } catch (SecurityException e) {
+            fail("Should be able to access APIs protected by a permission apps cannot get");
+        } finally {
+            getInstrumentation().getUiAutomation().dropShellPermissionIdentity();
+        }
+        return TelephonyManager.UNKNOWN_CARRIER_ID;
+    }
 }