carrier-explode Explode and decode carrier data GitHub About
792
Phones (5)

Each phone's own settings and modem file, against what that phone had before.

PhonesSettingsModem file
iPhone 7 (Global), 7 Plus (Global)2 changes8 changes
iPhone SE3 changes2 changes
iPhone 6s, 6s+2 changes11 changes
iPhone 6, 6+3 changes2 changes
iPhone 5c (GSM), 5s (GSM)no changeno change
iPhone 7 (Global), 7 Plus (Global): overrides_D10_D11.plist
iPhone 7 (Global), 7 Plus (Global): overrides_D10_D11.der.pri
Key pathBeforeAfter
efs./nv/item_files/modem/nas/iPLMNabsent2502 bytes
efs./policyman/carrier_policy.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Carrier policy XML for KDDI (VOLTE_enabled) with LTE in Home and G/W/L in Roam. VoLTE is not always assumed ON for this XML. Power up and LPM is in Full RAT mode. $Header: //components/rel/mmcp.mpss/7.2/policyman/configurations/Carrier/KDDI/VOLTE_…
<?xml version="1.0" encoding="UTF-8"?>

<!-- Carrier policy XML for KDDI (VOLTE_enabled) with LTE in Home and G/W/L in Roam. VoLTE is not always assumed ON for this XML. 
       Power up and LPM is in Full RAT mode.
$Header: //components/rel/mmcp.mpss/7.2/policyman/configurations/Carrier/KDDI/VOLTE_enabled/carrier_policy.xml#3 $
-->

<policy name        = "generic"
        changelist  = "$Change: 10142403 $" 
        enabled     = "true"
        schema_ver  = "1"
        policy_ver  = "45.1.12"
>

  <initial>
    <actions>

      <!-- List of the VoLTE only MCCs -->
      <mcc_list name="pm:volte_only_mccs"> 440 441 </mcc_list>

      <!-- List of Japan MCCs -->
      <mcc_list name="japan_mccs"> 440 441 </mcc_list>

      <!-- List of China MCCs -->
      <mcc_list name="china_mccs"> 460 </mcc_list>

      <device_configuration num_sims = "1" max_active = "1">
        <config primary="C H G W L T" />
      </device_configuration>
 
      <!-- Define specialization -->
      <specialization> volte_e911_calls </specialization>

      <define_fullrat_config>
        <actions>
          <select>

            <!-- Volte off -->
            <case>
              <not> <volte_enabled /> </not>
              <actions>
                <rat_capability base="none">
                  <include> C H G W L T </include>
                </rat_capability>
                <svc_mode> LIMITED </svc_mode>
                <call_mode> NORMAL </call_mode>
              </actions>
            </case>

            <!-- Volte on: with CSIM -->
            <case>
              <sim_type> CSIM </sim_type>
              <actions>
                <rat_capability base="none">
                  <include> C H G W L </include>
                </rat_capability>
                <svc_mode> LIMITED </svc_mode>
                <call_mode> NORMAL </call_mode>
              </actions>
            </case>

            <!-- Volte on without CSIM -->
            <case>
              <true />
              <actions>
                <rat_capability base="none">
                  <include> G W L T </include>
                </rat_capability>
                <svc_mode> LIMITED </svc_mode>
                <call_mode> NORMAL </call_mode>
              </actions>
            </case>

          </select>
        </actions>
      </define_fullrat_config>

      <rf_bands base="hardware" />

      <!-- UE mode is always NORMAL -->
      <ue_mode> NORMAL </ue_mode>

      <!-- On any boot, start RAT capability as GWL -->
      <rat_capability base="none" >
        <include> G W L </include>
      </rat_capability>

      <feature> normal </feature>

      <!-- On any boot, power up in Limited camping -->
      <svc_mode> LIMITED </svc_mode>

    </actions>
  </initial>

  <!-- RULE #1 -->
  <!-- In LPM go to GWL.
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> SLEEP </phone_operating_mode>
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> G W L </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #2 -->
  <!-- If VoLTE information is not available, UE is not online or we don't have location
         we wait.
  -->
  <if precond="none">
    <any_of>
      <volte_enabled state="undef" />
      <not> <phone_operating_mode> ONLINE </phone_operating_mode> </not>
      <not> <have_location /> </not>
    </any_of>
    <then> 
      <stop />
    </then>
    <else> 
      <svc_mode> FULL </svc_mode> 
      <continue />
    </else>
  </if>

  <!--
  ====================================================================
    Rules to handle VoLTE-OFF requirements.
  ====================================================================
  -->

  <select>
    <case>
      <all_of>
        <not> <volte_enabled /> </not>
        <location_mcc_in list="japan_mccs" />
      </all_of>
      <actions>
        <rat_capability base="none">
          <include> C H L </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>

    <case>
      <not> <volte_enabled /> </not>
      <actions>
        <rat_capability base="config" />
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>
  </select>


  <!--
  ====================================================================
    Rules to handle VoLTE-ON requirements.
  ====================================================================
  -->

  <!-- Set config based on location. Japan/China/Roam -->
  <select>
    <case>
      <location_mcc_in list="japan_mccs" />
      <actions>
        <rat_capability base="none">
          <include> L </include>
        </rat_capability>
        <call_mode> VOLTE </call_mode>
      </actions>
    </case>

    <case>
      <all_of>
        <location_mcc_in list="china_mccs" />
        <sim_type> CSIM </sim_type>
      </all_of>
      <actions>
        <rat_capability base="none">
          <include> C H G W L </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>

    <case>
      <location_mcc_in list="china_mccs" />
      <actions>
        <rat_capability base="none">
          <include> G W L T </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>

    <case>
      <true />
      <actions>
        <rat_capability base="none">
          <include> C H G W L </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>
  </select> 

</policy>
<?xml version="1.0" encoding="UTF-8"?> <!-- Carrier policy XML for KDDI (VOLTE_enabled) with LTE in Home and G/W/L in Roam. VoLTE is not always assumed ON for this XML. Power up and LPM is in Full RAT mode. $Header: //components/rel/mmcp.mpss/7.2/policyman/configurations/Carrier/KDDI/VOLTE_…
<?xml version="1.0" encoding="UTF-8"?>

<!-- Carrier policy XML for KDDI (VOLTE_enabled) with LTE in Home and G/W/L in Roam. VoLTE is not always assumed ON for this XML. 
       Power up and LPM is in Full RAT mode.
$Header: //components/rel/mmcp.mpss/7.2/policyman/configurations/Carrier/KDDI/VOLTE_enabled/carrier_policy.xml#3 $
-->

<policy name        = "generic"
        changelist  = "$Change: 11777297 $" 
        enabled     = "true"
        schema_ver  = "1"
        policy_ver  = "45.1.13"
>

  <initial>
    <actions>

      <!-- List of the VoLTE only MCCs -->
      <mcc_list name="pm:volte_only_mccs"> 440 441 </mcc_list>

      <!-- List of Japan MCCs -->
      <mcc_list name="japan_mccs"> 440 441 </mcc_list>

      <!-- List of China MCCs -->
      <mcc_list name="china_mccs"> 460 </mcc_list>

      <device_configuration num_sims = "1" max_active = "1">
        <config primary="C H G W L T" />
      </device_configuration>
 
      <!-- Define specialization -->
      <specialization> volte_e911_calls </specialization>

      <define_fullrat_config>
        <actions>
          <select>

            <!-- Volte off -->
            <case>
              <not> <volte_enabled /> </not>
              <actions>
                <rat_capability base="none">
                  <include> C H G W L T </include>
                </rat_capability>
                <svc_mode> ALL </svc_mode>
                <call_mode> NORMAL </call_mode>
              </actions>
            </case>

            <!-- Volte on: with CSIM -->
            <case>
              <sim_type> CSIM </sim_type>
              <actions>
                <rat_capability base="none">
                  <include> C H G W L </include>
                </rat_capability>
                <svc_mode> ALL </svc_mode>
                <call_mode> NORMAL </call_mode>
              </actions>
            </case>

            <!-- Volte on without CSIM -->
            <case>
              <true />
              <actions>
                <rat_capability base="none">
                  <include> G W L T </include>
                </rat_capability>
                <svc_mode> LIMITED </svc_mode>
                <call_mode> NORMAL </call_mode>
              </actions>
            </case>

          </select>
        </actions>
      </define_fullrat_config>

      <rf_bands base="hardware" />

      <!-- UE mode is always NORMAL -->
      <ue_mode> NORMAL </ue_mode>

      <!-- On any boot, start RAT capability as GWL -->
      <rat_capability base="none" >
        <include> G W L </include>
      </rat_capability>

      <feature> normal </feature>

      <!-- On any boot, power up in Limited camping -->
      <svc_mode> LIMITED </svc_mode>

    </actions>
  </initial>

  <!-- RULE #1 -->
  <!-- In LPM go to GWL.
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> SLEEP </phone_operating_mode>
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> G W L </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #2 -->
  <!-- If VoLTE information is not available, UE is not online or we don't have location
         we wait.
  -->
  <if precond="none">
    <any_of>
      <volte_enabled state="undef" />
      <not> <phone_operating_mode> ONLINE </phone_operating_mode> </not>
      <not> <have_location /> </not>
    </any_of>
    <then> 
      <stop />
    </then>
    <else> 
      <svc_mode> FULL </svc_mode> 
      <continue />
    </else>
  </if>

  <!--
  ====================================================================
    Rules to handle VoLTE-OFF requirements.
  ====================================================================
  -->

  <select>
    <case>
      <all_of>
        <not> <volte_enabled /> </not>
        <location_mcc_in list="japan_mccs" />
      </all_of>
      <actions>
        <rat_capability base="none">
          <include> C H L </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>

    <case>
      <not> <volte_enabled /> </not>
      <actions>
        <rat_capability base="config" />
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>
  </select>


  <!--
  ====================================================================
    Rules to handle VoLTE-ON requirements.
  ====================================================================
  -->

  <!-- Set config based on location. Japan/China/Roam -->
  <select>
    <case>
      <location_mcc_in list="japan_mccs" />
      <actions>
        <rat_capability base="none">
          <include> L </include>
        </rat_capability>
        <call_mode> VOLTE </call_mode>
      </actions>
    </case>

    <case>
      <all_of>
        <location_mcc_in list="china_mccs" />
        <sim_type> CSIM </sim_type>
      </all_of>
      <actions>
        <rat_capability base="none">
          <include> C H G W L </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>

    <case>
      <location_mcc_in list="china_mccs" />
      <actions>
        <rat_capability base="none">
          <include> G W L T </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>

    <case>
      <true />
      <actions>
        <rat_capability base="none">
          <include> C H G W L </include>
        </rat_capability>
        <call_mode> NORMAL </call_mode>
      </actions>
    </case>
  </select> 

</policy>
header.PRI Revision0.1.1460.1.153
nvItems[125]absent62035
schema[171]absent/nv/item_files/modem/uim/gstk/mav_cdma_service_update_to_card_config
schema[172]absent/nv/item_files/modem/qmi/mav_fws_gsm_key_signature_bitmask
schema[173]absent/nv/item_files/modem/mmode/sd/sdssscr_timers
schema[174]absent/nv/item_files/modem/lte/rrc/cap/disable_antenna_selection
iPhone SE: overrides_N69.plist
iPhone SE: overrides_N69.pri
Key pathBeforeAfter
Maverick.PRI Revision0.1.1280.1.130
WCDMA.iPLMN Listabsent1#54F060-64-0#
iPhone 6s, 6s+: overrides_N66_N71.plist
iPhone 6s, 6s+: overrides_N66_N71.der.pri
Key pathBeforeAfter
efs./nv/item_files/modem/nas/iPLMNabsent2502 bytes
efs./policyman/carrier_policy.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Carrier policy XML for KDDI with LTE in Home and G/W/L in Roam Power up and LPM is in Full RAT mode. --> <policy name = "generic" enabled = "true" schema_ver = "1" policy_ver = "91.1.0" > <initial> <ac…
<?xml version="1.0" encoding="UTF-8"?>

<!-- Carrier policy XML for KDDI with LTE in Home and G/W/L in Roam  
       Power up and LPM is in Full RAT mode.
-->

<policy name        = "generic"
        enabled     = "true"
        schema_ver  = "1"
        policy_ver  = "91.1.0"
>

  <initial>
    <actions>

      <!-- List of the HOME MCCs -->
      <mcc_list name="volte_only_mccs"> 440 441 </mcc_list>

      <!-- List of China MCCs -->
      <mcc_list name="china_mccs"> 460 </mcc_list>

      <!-- Define the OOS timer with a 2 minute interval -->
      <define_timer name="noservice" interval="2" units="min" id="1" />

      <!-- Define device configuration as Single SIM -->
      <device_configuration num_sims="1" max_active="1" specialization="volte_e911_calls">
        <config>
          <subs id="1" feature="normal">
            <rat_capability base="none" >
              <include> CDMA HDR GSM WCDMA LTE </include>
            </rat_capability>
          </subs>
        </config>
      </device_configuration>

      <!-- UE mode is always NORMAL -->
      <ue_mode> NORMAL </ue_mode>

      <!-- On any boot, start RAT capability as GWL -->
      <rat_capability base="none" >
        <include> GSM WCDMA LTE </include>
      </rat_capability>

      <!-- On any boot, set bands to all bands -->
      <rf_bands>
        <gw_bands  base="hardware" />
        <lte_bands base="hardware" />
        <tds_bands base="hardware" />
      </rf_bands>

      <!-- On any boot, power up in Limited camping -->
      <svc_mode> LIMITED </svc_mode>

      <boolean_define name="include_hlos_mcc" initial="true" />

    </actions>
  </initial>

  <!--
  ====================================================================
    Rules to handle OOS situations.
  ====================================================================
  -->

  <!-- RULE #1 -->
  <!-- If VoLTE information is not available or UE is PWROFF,
         stay in same config
  -->
  <rule precond="none">
    <conditions>
      <any_of>
        <volte_enabled state="undef" />
        <phone_operating_mode> PWROFF </phone_operating_mode>
      </any_of>
    </conditions>
    <actions />
  </rule>

  <!-- RULE #2 -->
  <!-- If VoLTE is enabled and CSIM is present,
         full RAT mode includes CH and excludes T
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <volte_enabled />
      <enforce_full_rat />
      <sim_type> CSIM </sim_type>
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> CDMA HDR GSM WCDMA LTE </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #3 -->
  <!-- If VoLTE is enabled and CSIM is *not* present,
         full RAT mode excludes CH and includes T
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <volte_enabled />
      <enforce_full_rat />
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> GSM WCDMA LTE TDSCDMA </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #4 -->
  <!-- In LPM, reset the timer and go to GWL.
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> SLEEP </phone_operating_mode>
    </conditions>
    <actions>
      <timer_stop name="noservice" />
      <rat_capability base="none" >
        <include> GSM WCDMA LTE </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #5 -->
  <!-- If VoLTE is OFF,
         use CHGWLT and normal E911 calls
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <not> <volte_enabled /> </not>
    </conditions>
    <actions>
      <rat_capability base="hardware" />
      <svc_mode> FULL </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #6 -->
  <!-- If the oos timer has expired, VoLTE is enabled, there is no service, 
       and CSIM is present,
         enable Full RAT mode (CHGWL) and restart the timer
  -->
  <rule precond="none">
    <conditions>
      <timer_expired name="noservice" />
      <volte_enabled />
      <not> <have_service /> </not>
      <sim_type> CSIM </sim_type>
    </conditions>
    <actions>
      <expired_timer_handled name="noservice" />
      <rat_capability base="none">
        <include> CDMA HDR GSM WCDMA LTE </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
      <timer_start name="noservice" />
    </actions>
  </rule>

  <!-- RULE #7 -->
  <!-- If the oos timer has expired, VoLTE is enabled, there is no service,
       and CSIM is not present,
         enable Full RAT mode (GWLT) and restart the timer
  -->
  <rule precond="none">
    <conditions>
      <timer_expired name="noservice" />
      <volte_enabled />
      <not> <have_service /> </not>
    </conditions>
    <actions>
      <expired_timer_handled name="noservice" />
      <rat_capability base="none">
        <include> GSM WCDMA LTE TDSCDMA </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
      <timer_start name="noservice" />
    </actions>
  </rule>

  <!-- RULE #8 -->
  <!-- If we have no service then we will just wait until we get it - the OOS
       timer will have put us into full-RAT mode when it expired.
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <not> <have_service /> </not>
    </conditions>
    <actions>
      <timer_start name="noservice" />
    </actions>
  </rule>

  <!-- RULE #9 -->
  <!-- This rule only runs when we have some sort of service (rule #7 will fire
       if we don't); set service mode to FULL and continue to set RATs/bands/etc.
       based on location.
  -->
  <rule precond="none">
    <conditions>
      <true />
    </conditions>
    <actions>
      <timer_stop name="noservice" />
      <svc_mode> FULL </svc_mode>
      <continue />
    </actions>
  </rule>


  <!--
  ====================================================================
    Rules to handle KDDI VoLTE-only and roaming requirements.
  ====================================================================
  -->

  <!-- RULE #10 -->
  <!-- If in Japan and if VoLTE is enabled,
         restrict RATs to LTE and set VoLTE-only E911 call mode
  -->
  <rule>
    <conditions>
      <volte_enabled />
      <location_mcc_in list="volte_only_mccs" />
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> LTE </include>
      </rat_capability>
      <call_mode> VOLTE </call_mode>
    </actions>
  </rule>

  <!-- RULE #11 -->
  <!-- If in China, VoLTE is enabled, and CSIM is present,
         Normal call mode on TGWL
  -->
  <rule>
    <conditions>
      <volte_enabled />
      <location_mcc_in list="china_mccs" />
      <sim_type> CSIM </sim_type>
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> CDMA HDR GSM WCDMA LTE </include>
      </rat_capability>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #12 -->
  <!-- If in China, VoLTE is enabled, and CSIM *not* present,
         Normal call mode on TGWL
  -->
  <rule>
    <conditions>
      <volte_enabled />
      <location_mcc_in list="china_mccs" />
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> TDSCDMA GSM WCDMA LTE </include>
      </rat_capability>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #13 -->
  <!-- In all other cases (roaming),
         use CHGWL and normal E911 calls
  -->
  <rule>
    <conditions>
      <true />
    </conditions>
    <actions>
      <rat_capability base="hardware" >
        <exclude> TDSCDMA </exclude>
      </rat_capability>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

</policy>
<?xml version="1.0" encoding="UTF-8"?> <!-- Carrier policy XML for KDDI with LTE in Home and G/W/L in Roam Power up and LPM is in Full RAT mode. --> <policy name = "generic" enabled = "true" schema_ver = "1" policy_ver = "91.1.1" > <initial> <ac…
<?xml version="1.0" encoding="UTF-8"?>

<!-- Carrier policy XML for KDDI with LTE in Home and G/W/L in Roam  
       Power up and LPM is in Full RAT mode.
-->

<policy name        = "generic"
        enabled     = "true"
        schema_ver  = "1"
        policy_ver  = "91.1.1"
>

  <initial>
    <actions>

      <!-- List of the HOME MCCs -->
      <mcc_list name="volte_only_mccs"> 440 441 </mcc_list>

      <!-- List of China MCCs -->
      <mcc_list name="china_mccs"> 460 </mcc_list>

      <!-- Define the OOS timer with a 2 minute interval -->
      <define_timer name="noservice" interval="2" units="min" id="1" />

      <!-- Define device configuration as Single SIM -->
      <device_configuration num_sims="1" max_active="1" specialization="volte_e911_calls">
        <config>
          <subs id="1" feature="normal">
            <rat_capability base="none" >
              <include> CDMA HDR GSM WCDMA LTE </include>
            </rat_capability>
          </subs>
        </config>
      </device_configuration>

      <!-- UE mode is always NORMAL -->
      <ue_mode> NORMAL </ue_mode>

      <!-- On any boot, start RAT capability as GWL -->
      <rat_capability base="none" >
        <include> GSM WCDMA LTE </include>
      </rat_capability>

      <!-- On any boot, set bands to all bands -->
      <rf_bands>
        <gw_bands  base="hardware" />
        <lte_bands base="hardware" />
        <tds_bands base="hardware" />
      </rf_bands>

      <!-- On any boot, power up in Limited camping -->
      <svc_mode> LIMITED </svc_mode>

      <boolean_define name="include_hlos_mcc" initial="true" />

    </actions>
  </initial>

  <!--
  ====================================================================
    Rules to handle OOS situations.
  ====================================================================
  -->

  <!-- RULE #1 -->
  <!-- If VoLTE information is not available or UE is PWROFF,
         stay in same config
  -->
  <rule precond="none">
    <conditions>
      <any_of>
        <volte_enabled state="undef" />
        <phone_operating_mode> PWROFF </phone_operating_mode>
      </any_of>
    </conditions>
    <actions />
  </rule>

  <!-- RULE #2 -->
  <!-- If VoLTE is enabled and CSIM is present,
         full RAT mode includes CH and excludes T
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <volte_enabled />
      <enforce_full_rat />
      <sim_type> CSIM </sim_type>
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> CDMA HDR GSM WCDMA LTE </include>
      </rat_capability>
      <svc_mode> ALL </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #3 -->
  <!-- If VoLTE is enabled and CSIM is *not* present,
         full RAT mode excludes CH and includes T
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <volte_enabled />
      <enforce_full_rat />
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> GSM WCDMA LTE TDSCDMA </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #4 -->
  <!-- In LPM, reset the timer and go to GWL.
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> SLEEP </phone_operating_mode>
    </conditions>
    <actions>
      <timer_stop name="noservice" />
      <rat_capability base="none" >
        <include> GSM WCDMA LTE </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #5 -->
  <!-- If VoLTE is OFF,
         use CHGWLT and normal E911 calls
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <not> <volte_enabled /> </not>
    </conditions>
    <actions>
      <rat_capability base="hardware" />
      <svc_mode> FULL </svc_mode>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #6 -->
  <!-- If the oos timer has expired, VoLTE is enabled, there is no service, 
       and CSIM is present,
         enable Full RAT mode (CHGWL) and restart the timer
  -->
  <rule precond="none">
    <conditions>
      <timer_expired name="noservice" />
      <volte_enabled />
      <not> <have_service /> </not>
      <sim_type> CSIM </sim_type>
    </conditions>
    <actions>
      <expired_timer_handled name="noservice" />
      <rat_capability base="none">
        <include> CDMA HDR GSM WCDMA LTE </include>
      </rat_capability>
      <svc_mode> ALL </svc_mode>
      <call_mode> NORMAL </call_mode>
      <timer_start name="noservice" />
    </actions>
  </rule>

  <!-- RULE #7 -->
  <!-- If the oos timer has expired, VoLTE is enabled, there is no service,
       and CSIM is not present,
         enable Full RAT mode (GWLT) and restart the timer
  -->
  <rule precond="none">
    <conditions>
      <timer_expired name="noservice" />
      <volte_enabled />
      <not> <have_service /> </not>
    </conditions>
    <actions>
      <expired_timer_handled name="noservice" />
      <rat_capability base="none">
        <include> GSM WCDMA LTE TDSCDMA </include>
      </rat_capability>
      <svc_mode> LIMITED </svc_mode>
      <call_mode> NORMAL </call_mode>
      <timer_start name="noservice" />
    </actions>
  </rule>

  <!-- RULE #8 -->
  <!-- If we have no service then we will just wait until we get it - the OOS
       timer will have put us into full-RAT mode when it expired.
  -->
  <rule precond="none">
    <conditions>
      <phone_operating_mode> ONLINE </phone_operating_mode>
      <not> <have_service /> </not>
    </conditions>
    <actions>
      <timer_start name="noservice" />
    </actions>
  </rule>

  <!-- RULE #9 -->
  <!-- This rule only runs when we have some sort of service (rule #7 will fire
       if we don't); set service mode to FULL and continue to set RATs/bands/etc.
       based on location.
  -->
  <rule precond="none">
    <conditions>
      <true />
    </conditions>
    <actions>
      <timer_stop name="noservice" />
      <svc_mode> FULL </svc_mode>
      <continue />
    </actions>
  </rule>


  <!--
  ====================================================================
    Rules to handle KDDI VoLTE-only and roaming requirements.
  ====================================================================
  -->

  <!-- RULE #10 -->
  <!-- If in Japan and if VoLTE is enabled,
         restrict RATs to LTE and set VoLTE-only E911 call mode
  -->
  <rule>
    <conditions>
      <volte_enabled />
      <location_mcc_in list="volte_only_mccs" />
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> LTE </include>
      </rat_capability>
      <call_mode> VOLTE </call_mode>
    </actions>
  </rule>

  <!-- RULE #11 -->
  <!-- If in China, VoLTE is enabled, and CSIM is present,
         Normal call mode on TGWL
  -->
  <rule>
    <conditions>
      <volte_enabled />
      <location_mcc_in list="china_mccs" />
      <sim_type> CSIM </sim_type>
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> CDMA HDR GSM WCDMA LTE </include>
      </rat_capability>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #12 -->
  <!-- If in China, VoLTE is enabled, and CSIM *not* present,
         Normal call mode on TGWL
  -->
  <rule>
    <conditions>
      <volte_enabled />
      <location_mcc_in list="china_mccs" />
    </conditions>
    <actions>
      <rat_capability base="none">
        <include> TDSCDMA GSM WCDMA LTE </include>
      </rat_capability>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

  <!-- RULE #13 -->
  <!-- In all other cases (roaming),
         use CHGWL and normal E911 calls
  -->
  <rule>
    <conditions>
      <true />
    </conditions>
    <actions>
      <rat_capability base="hardware" >
        <exclude> TDSCDMA </exclude>
      </rat_capability>
      <call_mode> NORMAL </call_mode>
    </actions>
  </rule>

</policy>
header.PRI Revision0.1.1330.1.143
nvItems[128]absent62035
schema[161]absent/nv/item_files/wcdma/rrc/rrc_fe_fach_support
schema[162]absent/nv/item_files/modem/lte/rrc/csp/band_priority_list
schema[163]absent/nv/item_files/modem/mmode/mmode_1xsxlte_optimization
schema[164]absent/nv/item_files/modem/nas/nas_config_feature
schema[165]absent/nv/item_files/modem/uim/gstk/mav_cdma_service_update_to_card_config
schema[166]absent/nv/item_files/modem/qmi/mav_fws_gsm_key_signature_bitmask
schema[167]absent/nv/item_files/modem/mmode/sd/sdssscr_timers
iPhone 6, 6+: overrides_N56_N61.plist
iPhone 6, 6+: overrides_N56_N61.pri
Key pathBeforeAfter
Maverick.PRI Revision0.1.1270.1.129
WCDMA.iPLMN Listabsent1#54F060-64-0#
Routine changes (55 files): version number only, per-phone file, compared by phone above, signature
FileKindWhy it is routine
Dutch.lproj/locversion.plistchangedversion number only
English.lproj/locversion.plistchangedversion number only
French.lproj/locversion.plistchangedversion number only
German.lproj/locversion.plistchangedversion number only
Info.plistchangedversion number only
Italian.lproj/locversion.plistchangedversion number only
Japanese.lproj/locversion.plistchangedversion number only
Spanish.lproj/locversion.plistchangedversion number only
ar.lproj/locversion.plistchangedversion number only
ca.lproj/locversion.plistchangedversion number only
cs.lproj/locversion.plistchangedversion number only
da.lproj/locversion.plistchangedversion number only
el.lproj/locversion.plistchangedversion number only
en_AU.lproj/locversion.plistchangedversion number only
en_GB.lproj/locversion.plistchangedversion number only
es_MX.lproj/locversion.plistchangedversion number only
fi.lproj/locversion.plistchangedversion number only
fr_CA.lproj/locversion.plistchangedversion number only
he.lproj/locversion.plistchangedversion number only
hi.lproj/locversion.plistchangedversion number only
hr.lproj/locversion.plistchangedversion number only
hu.lproj/locversion.plistchangedversion number only
id.lproj/locversion.plistchangedversion number only
ko.lproj/locversion.plistchangedversion number only
ms.lproj/locversion.plistchangedversion number only
no.lproj/locversion.plistchangedversion number only
overrides_D10_D11.der.prichangedper-phone file, compared by phone above
overrides_D10_D11.plistchangedper-phone file, compared by phone above
overrides_N56_N61.plistchangedper-phone file, compared by phone above
overrides_N56_N61.prichangedper-phone file, compared by phone above
overrides_N66_N71.der.prichangedper-phone file, compared by phone above
overrides_N66_N71.plistchangedper-phone file, compared by phone above
overrides_N69.plistchangedper-phone file, compared by phone above
overrides_N69.prichangedper-phone file, compared by phone above
pl.lproj/locversion.plistchangedversion number only
pt.lproj/locversion.plistchangedversion number only
pt_PT.lproj/locversion.plistchangedversion number only
ro.lproj/locversion.plistchangedversion number only
ru.lproj/locversion.plistchangedversion number only
signatures/common.plistchangedsignature
signatures/overrides_D10_D11.plistchangedsignature
signatures/overrides_N48_N51.plistchangedsignature
signatures/overrides_N56_N61.plistchangedsignature
signatures/overrides_N66_N71.plistchangedsignature
signatures/overrides_N69.plistchangedsignature
sk.lproj/locversion.plistchangedversion number only
sv.lproj/locversion.plistchangedversion number only
th.lproj/locversion.plistchangedversion number only
tr.lproj/locversion.plistchangedversion number only
uk.lproj/locversion.plistchangedversion number only
version.plistchangedversion number only
vi.lproj/locversion.plistchangedversion number only
zh_CN.lproj/locversion.plistchangedversion number only
zh_HK.lproj/locversion.plistchangedversion number only
zh_TW.lproj/locversion.plistchangedversion number only
FileKindAddedRemovedChanged
Dutch.lproj/carrier.stringschanged11
English.lproj/carrier.stringschanged11
French.lproj/carrier.stringschanged11
German.lproj/carrier.stringschanged11
Italian.lproj/carrier.stringschanged11
Japanese.lproj/carrier.stringschanged11
Spanish.lproj/carrier.stringschanged11
ar.lproj/carrier.stringschanged11
ca.lproj/carrier.stringschanged11
carrier.plistchanged12
cs.lproj/carrier.stringschanged11
da.lproj/carrier.stringschanged11
el.lproj/carrier.stringschanged11
en_AU.lproj/carrier.stringschanged11
en_GB.lproj/carrier.stringschanged11
es_MX.lproj/carrier.stringschanged11
fi.lproj/carrier.stringschanged11
fr_CA.lproj/carrier.stringschanged11
he.lproj/carrier.stringschanged11
hi.lproj/carrier.stringschanged11
hr.lproj/carrier.stringschanged11
hu.lproj/carrier.stringschanged11
id.lproj/carrier.stringschanged11
ko.lproj/carrier.stringschanged11
ms.lproj/carrier.stringschanged11
no.lproj/carrier.stringschanged11
pl.lproj/carrier.stringschanged11
pt.lproj/carrier.stringschanged11
pt_PT.lproj/carrier.stringschanged11
ro.lproj/carrier.stringschanged11
ru.lproj/carrier.stringschanged11
sk.lproj/carrier.stringschanged11
sv.lproj/carrier.stringschanged11
th.lproj/carrier.stringschanged11
tr.lproj/carrier.stringschanged11
uk.lproj/carrier.stringschanged11
vi.lproj/carrier.stringschanged11
zh_CN.lproj/carrier.stringschanged11
zh_HK.lproj/carrier.stringschanged11
zh_TW.lproj/carrier.stringschanged11
Dutch.lproj/carrier.strings changed 2 rows Before After only this file
English.lproj/carrier.strings changed 2 rows Before After only this file
French.lproj/carrier.strings changed 2 rows Before After only this file
German.lproj/carrier.strings changed 2 rows Before After only this file
Italian.lproj/carrier.strings changed 2 rows Before After only this file
Japanese.lproj/carrier.strings changed 2 rows Before After only this file
Spanish.lproj/carrier.strings changed 2 rows Before After only this file
ar.lproj/carrier.strings changed 2 rows Before After only this file
ca.lproj/carrier.strings changed 2 rows Before After only this file
carrier.plist changed 3 rows Before After only this file
cs.lproj/carrier.strings changed 2 rows Before After only this file
da.lproj/carrier.strings changed 2 rows Before After only this file
el.lproj/carrier.strings changed 2 rows Before After only this file
en_AU.lproj/carrier.strings changed 2 rows Before After only this file
en_GB.lproj/carrier.strings changed 2 rows Before After only this file
es_MX.lproj/carrier.strings changed 2 rows Before After only this file
fi.lproj/carrier.strings changed 2 rows Before After only this file
fr_CA.lproj/carrier.strings changed 2 rows Before After only this file
he.lproj/carrier.strings changed 2 rows Before After only this file
hi.lproj/carrier.strings changed 2 rows Before After only this file
hr.lproj/carrier.strings changed 2 rows Before After only this file
hu.lproj/carrier.strings changed 2 rows Before After only this file
id.lproj/carrier.strings changed 2 rows Before After only this file
ko.lproj/carrier.strings changed 2 rows Before After only this file
ms.lproj/carrier.strings changed 2 rows Before After only this file
no.lproj/carrier.strings changed 2 rows Before After only this file
pl.lproj/carrier.strings changed 2 rows Before After only this file
pt.lproj/carrier.strings changed 2 rows Before After only this file
pt_PT.lproj/carrier.strings changed 2 rows Before After only this file
ro.lproj/carrier.strings changed 2 rows Before After only this file
ru.lproj/carrier.strings changed 2 rows Before After only this file
sk.lproj/carrier.strings changed 2 rows Before After only this file
sv.lproj/carrier.strings changed 2 rows Before After only this file
th.lproj/carrier.strings changed 2 rows Before After only this file
tr.lproj/carrier.strings changed 2 rows Before After only this file
uk.lproj/carrier.strings changed 2 rows Before After only this file
vi.lproj/carrier.strings changed 2 rows Before After only this file
zh_CN.lproj/carrier.strings changed 2 rows Before After only this file
zh_HK.lproj/carrier.strings changed 2 rows Before After only this file
zh_TW.lproj/carrier.strings changed 2 rows Before After only this file