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
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
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
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
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" Name="ExtendedRejectCodes" Description="Use to specify that extended error messages should be displayed instead of standard simple messages." Owner="" OwnerType="OEM">
<!-- Use for the per-IMSI case <!-- Define the Targets --> <Targets> <Target Id=""> <TargetState> <Condition Name="" Value="" /> <Condition Name="" Value="" /> </TargetState> </Target> </Targets> <Static> <Settings Path="Multivariant"> <Setting Name="Enable" Value="1" /> </Settings> <Settings Path="AutoDataConfig"> <Setting Name="Enable" Value="0" /> </Settings> </Static> <!-- Specify the Variant --> <Variant Name=""> <TargetRefs> <TargetRef Id="" /> </TargetRefs> <Settings Path="CellCore/PerIMSI/$(__IMSI)/CellUX"> <Setting Name="ShowExtendedRejectCodes" Value="" /> </Settings> </Variant> --> <!-- Use for the per-device case <Static> <Settings Path="CellCore/PerDevice/CellUX"> <Setting Name="ShowExtendedRejectCodes" Value="" /> </Settings> </Static> --> </ImageCustomizations> ```
Branding flagssetting 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
ShowExtendedRejectCodessetting and ExtendedRejectCodes flag need to be set for the customization to be fully enabled.
Determine if you need to use the per-IMSI or per-device setting.
For the per-IMSI case:
Define Targets or conditions for when a variant can be applied, such as keying off a SIM's MCC, MNC, and SPN.
Define settings for a Variant, which are applied if the associated target's conditions are met.
Set the value for
ShowExtendedRejectCodesto one of the following:
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.
Flash a build containing this customization to a device.
Verify that extended error messages shown on the device when a reject code is sent by the network.