Extended error messages for reject codes

When a reject code is sent by the network, partners can specify that extended error messages should be displayed instead of the standard simple error messages. This customization is intended for use only when required by the mobile operator’s network.

The short versions of the extended reject message are shown in the following screens:

  • Phone tile in Start

  • Call History screen

  • Dialer

  • Call Progress screen

  • Incoming Call screen

  • As the status string under Settings > Cellular & SIM

The long version of the extended reject message is shown in the following screen:

  • Under the Active Network label in Settings > Cellular & SIM

The OS handles three extended reject codes:

Reject code Long version Short version

2 (The SIM card hasn’t been activated or has been deactivated)

SIM not set up MM#2

Invalid SIM

3 (The SIM card fails authentication or one of the identity check procedures. This can also happen due to a duplication of the TMSI across different MSCs)

Can’t verify SIM MM#3

Invalid SIM

6 (The device has been put on a block list, such as when the device has been stolen or the IMEI is restricted)

Phone not allowed MM#6

No Service

Constraints: None
This customization supports: per-IMSI value, per-device value


  1. Create a customization answer file using the contents shown in the following code sample.

    <?xml version="1.0" encoding="utf-8" ?>  
    <ImageCustomizations xmlns="http://schemas.microsoft.com/embedded/2004/10/ImageUpdate"  
                         Description="Use to specify that extended error messages should be displayed instead of standard simple messages."  
<!-- Use for the per-IMSI case 

  <!-- Define the Targets --> 
     <Target Id="">
           <Condition Name="" Value="" />
           <Condition Name="" Value="" />

    <Settings Path="Multivariant">
      <Setting Name="Enable" Value="1" />
    <Settings Path="AutoDataConfig">
      <Setting Name="Enable" Value="0" />

  <!-- Specify the Variant -->
  <Variant Name=""> 
      <TargetRef Id="" /> 

    <Settings Path="CellCore/PerIMSI/$(__IMSI)/CellUX">   
      <Setting Name="ShowExtendedRejectCodes" Value="" />    


<!-- Use for the per-device case

     <Settings Path="CellCore/PerDevice/CellUX">  
      <Setting Name="ShowExtendedRejectCodes" Value="" />   


  1. Specify an Owner.

  2. Set the Branding flags setting in the Branding for phone calls customization so that the ExtendedRejectCodes flag is enabled.

    The ExtendedRejectCodes flag is not enabled by default so make sure that this is set. Both the ShowExtendedRejectCodes setting and ExtendedRejectCodes flag need to be set for the customization to be fully enabled.

  3. Determine if you need to use the per-IMSI or per-device setting.

    For the per-IMSI case:

    1. Define Targets or conditions for when a variant can be applied, such as keying off a SIM's MCC, MNC, and SPN.

    2. Define settings for a Variant, which are applied if the associated target's conditions are met.

  4. Set the value for ShowExtendedRejectCodes to one of the following:

    Value Description

    0 or 'No'

    Hides the extended error messages when devices receive LAU reject codes with cause number 2, 3, or 6.

    1 or 'Yes'

    Shows the extended error messages when devices receive LAU reject codes with cause number 2, 3, or 6.

The default for this setting is to show the **CDMA** option in the **Mode** selection drop-down that appears in the **Cellular & SIM** settings screen.

Testing steps:

  1. Flash a build containing this customization to a device.

  2. Verify that extended error messages shown on the device when a reject code is sent by the network.

Prepare for Windows mobile development

Customization answer file overview