Table of contents
TOC
Collapse the table of content
Expand the table of content

Enable IMS services

Last Updated: 12/12/2016

Partners can identify which IP Multimedia Subsystem (IMS) services, if any, are enabled on the device by default. The IMS services that can be identified are: IMS, SMs over IMS, Voice over IMS, and Video over IMS.

To allow configuration of the default values of IMS services out of the box using multivariant, the IMSServices setting is mapped as follows:

IMSServices 
{
     IMS  ----------------> RILDMCONFIG_IMS_TEST_NODE_STATUS -> NV 67264 subitem ‘RegConfigTestMode’ (// 1 means disabling IMS and 0 means enabling it) 
     SMS_OverIMS --------->  RILDMCONFIG_SMSOVER_IP_NW_INDICATION -> NV 67259 subitem ‘iSMSOverIPNetworkIndication’
     Voice_Over_IMS ------> [RILDMCONFIG_IMS_VOICE_ENABLED -> NV 67348 subitem ‘volte_disabled’] 
     Video_Over_IMS ------> [RILDMCONFIG_IMS_VIDEO_ENABLED -> NV 67348 subitem ‘VT calling enabled’] 
};

Note
All values need to be set at once. For example, you cannot just set the value for Voice_Over_IMS. You must send a value for all. The OS applies the value to the corresponding NV item only if the value is changing.

wpblue_gdr2 allows configuration of the OMA DM services mask (sub-item of NV 69750) separately. You can use a new setting similar to IMSServices called IMSOMADMServices which will be directly mapped to RIL_IMS_NW_ENABLED_FLAGS on the modem side. See the SoC modem documentation for more details about the flags.

IMSOMADMServices
{
     0 = NONE
     1 = OMA_DM  -----------> RIL_IMS_NW_ENABLED_FLAG_PROVISION (Bit 0 - Enable(1)/Disable(0) OMA DM services)
     2 = VOICE  ------------> RIL_IMS_NW_ENABLED_FLAG_VOICE (Bit 1-  VoLTE enable(1)/disable(0) by OMA-DM)
     4 = VIDEO -------------> RIL_IMS_NW_ENABLED_FLAG_VIDEO (Bit 2 - VT enable(1)/disable(0) by OMA-DM)
     8 = EAB_PRESENCE ------> RIL_IMS_NW_ENABLED_FLAG_EAB (Bit 3 - Presence enable(1)/disable(0) by OMA-DM)
     15 = Enable all above services
}

All the other settings for VoLTE and VT, such as ShowVoLTEToggle, SwitchIMS, and so on remain unchanged. For more information about these settings, see Settings for IMS services.

Constraints: None
This customization supports: per-IMSI value

Instructions:

  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"  
                         Name="EnableIMSServices"  
                         Description="Use to configure which IMS services are enabled."  
                         Owner=""  
                         OwnerType="OEM"> 
    
      <!-- 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)/VoLTE">  
          <Setting Name="IMSServices" Value="" />
    
          <-- To configure the OMA DM services mask. -->
          <Setting Name="IMSOMADMServices" Value="" />
        </Settings>  
    
      </Variant>
    
    </ImageCustomizations>
    
  2. Specify an Owner.

  3. For the per-IMSI case:

    1. Define Targets or conditions for when a variant can be applied, such as keying off a SIM's Mobile Country Code (MCC), Mobile Network Code (MNC), and Service Provider Name (SPN).

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

  4. Set the value for the IMSServices setting to any combination of the following flags or bitmasks:

    ServiceFlag (decimal)Bitmask (binary)

    IMS

    1

    0001

    SMS over IMS

    2

    0010

    Voice over IMS

    4

    0100

    Video over IMS

    8

    1000

You can set `IMSServices` to any decimal value formed by a combination of the bitmasks. For example, a bitmask of 1111 (or a decimal value of 15) means that all services are enabled. A bitmask of 0101 (or a decimal value of 5) means that IMS and Voice over IMS are enabled by default and SMS over IMS and Video over IMS are disabled, and so on.
  1. To configure the OMA DM services mask, set the IMSOMADMServices setting to one of the following values:

    ServiceFlag (decimal)Bitmask (binary)

    None

    0

    00000

    OMA DM

    1

    00001

    Voice

    2

    00010

    Video

    4

    00100

    EAB presence

    8

    01000

    Enable all services

    15

    10000

Testing:
Work with your mobile operator partner to test this customization on the operator's network.

Send comments about this topic to Microsoft

© 2017 Microsoft