Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

Mobile Broadband Profile Schema v4

The Windows 10Mobile Broadband Profile Schema v4 is available in the namespace https://www.microsoft.com/networking/WWAN/profile/v4.

<xs:schema targetNamespace="https://www.microsoft.com/networking/WWAN/profile/v4"
 xmlns="https://www.microsoft.com/networking/WWAN/profile/v4"
 xmlns:xs="https://www.w3.org/2001/XMLSchema"
 xmlns:WWAN_profile_v1="https://www.microsoft.com/networking/WWAN/profile/v1"
 xmlns:WWAN_profile_v2="https://www.microsoft.com/networking/WWAN/profile/v2"
 xmlns:WWAN_profile_v3="https://www.microsoft.com/networking/WWAN/profile/v3"
 elementFormDefault="qualified">

 <xs:import namespace="https://www.microsoft.com/networking/WWAN/profile/v1" schemaLocation="WWAN_profile_v1.xsd"/>
 <xs:import namespace="https://www.microsoft.com/networking/WWAN/profile/v2" schemaLocation="WWAN_profile_v2.xsd"/>
 <xs:import namespace="https://www.microsoft.com/networking/WWAN/profile/v3" schemaLocation="WWAN_profile_v3.xsd"/>

 <!-- type definition section -->

 <!-- Extended contextType based on the Schema v1 contextType -->
 <xs:complexType name="contextExtType">
 <xs:sequence>
 <xs:element name="AccessString" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <xs:minLength value="1"/>
 <xs:maxLength value="100"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="UserLogonCred" minOccurs="0">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="UserName" type="WWAN_profile_v1:nameType"/>
 <xs:element name="IgnorePassword" type="xs:boolean" minOccurs="0" />
 <xs:element name="Password" type="xs:string" minOccurs="0"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 <xs:element name="Compression" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <xs:enumeration value="DISABLE"/>
 <xs:enumeration value="ENABLE"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <xs:element name="AuthProtocol" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <xs:enumeration value="NONE"/>
 <xs:enumeration value="PAP"/>
 <xs:enumeration value="CHAP"/>
 <xs:enumeration value="MsCHAPv2"/>
 <!-- NEW enum in contextExType ( not in contextType of v1) -->
 <!-- AutoSelection means that an auth protocol is to be picked by lower layer(s) -->
 <xs:enumeration value="AutoSelection"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 <!-- NEW element in contextExType ( not in contextType of v1) -->
 <xs:element name="IPType" minOccurs="0">
 <!-- When this element is absent, the IPType is default -->
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <!-- Default means that an IP type is to be picked by lower layer(s) -->
 <xs:enumeration value="Default"/>
 <xs:enumeration value="IPv4"/>
 <xs:enumeration value="IPv6"/>
 <xs:enumeration value="IPv4v6"/>
 <xs:enumeration value="XLAT"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 </xs:sequence>
 </xs:complexType>

 <!-- applicability to any combination of home carrier, partner MOs and non-partner MOs, except for HomeAndNonPartner -->
 <xs:simpleType name="roamApplicabilityType">
 <xs:restriction base="xs:token">
 <xs:enumeration value="NonPartnerOnly"/>
 <xs:enumeration value="PartnerOnly"/>
 <xs:enumeration value="HomeOnly"/>
 <xs:enumeration value="HomeAndPartner"/>
 <xs:enumeration value="PartnerAndNonpartner"/>
 <xs:enumeration value="AllRoaming"/>
 </xs:restriction>
 </xs:simpleType>

 <xs:simpleType name="roamControlType">
 <xs:restriction base="xs:token">
 <xs:enumeration value="AllRoamAllowed"/>
 <xs:enumeration value="PartnerRoamAllowed"/>
 <xs:enumeration value="NoRoamAllowed"/>
 </xs:restriction>
 </xs:simpleType>

 <!-- A type definition for what wireless network or networks a profile is applicable at -->
 <xs:simpleType name="iwlanApplicabilityType">
 <xs:restriction base="xs:token">
 <xs:enumeration value="CellularOnly"/>
 <xs:enumeration value="CellularAndIwlan"/>
 <xs:enumeration value="IwlanOnly"/>
 </xs:restriction>
 </xs:simpleType>

 <!-- Define the data type for conditions where a profile is applicable -->
 <xs:complexType name="profileConditionType">
 <!-- When an optional element is absent, the profile is not subject to the condition related to the element, -->
 <!-- unless specifically specified otherwise -->
 <xs:sequence> 
 <xs:element name="CellularClass" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <xs:enumeration value="3GPP"/>
 <xs:enumeration value="3GPP2"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 
 <xs:element name="RATApplicability" minOccurs="0">
 <!-- if this is present, , the element of CellularClass must be present and is 3GPP -->
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <xs:enumeration value="LTE_eHRPD"/>
 <xs:enumeration value="3GPP_LEGACY"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 
 <xs:element name="RoamApplicability" type="roamApplicabilityType" minOccurs="0" />
 
 <!-- If IMSI is present, the profile is applicable only for the IMSI -->
 <xs:element name="IMSI" type="WWAN_profile_v1:subscriberIdType" minOccurs="0"/>

 <!-- if this element is absent or the containing ProfileConditionType element is absent, CellularOnly is assumed. -->
 <!-- IWLAN network does not have such cellular-centric parameters as roaming state, RAT type or cellular class. -->
 <!-- The profile conditions or policies related to those cellular-centric parameters do not apply -->
 <!-- in the consideration of using a profile on IWLAN. -->
 <xs:element name="IwlanApplicability" type="iwlanApplicabilityType" minOccurs="0"/>

 </xs:sequence>
 </xs:complexType>

 <!-- GUID in string, as in example: {17c5d5ec-c9be-4b8b-aa76-984f07cb1cf0} -->
 <xs:simpleType name="guidType">
 <xs:restriction base="xs:token">
 <xs:pattern value="{[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}}"/>
 </xs:restriction>
 </xs:simpleType>
 
 <xs:complexType name="mmsConfigurationType">
 <xs:sequence>
 <!-- optional element, the URL of the MMSC server for mobile device -->
 <xs:element name="MmscUrl" type="xs:anyURI" minOccurs="0"/>
 
 <!-- optional element, the port number of the MMSC server for mobile device. -->
 <!-- valid range [1,99999]. 0 or absence means no specific port number specified -->
 <xs:element name="MmscPort" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:nonNegativeInteger">
 <xs:maxInclusive value="99999"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 
 <!-- optional element, the maximum message size in kilobytes for MMS messages. -->
 <!-- The value 0 indicates no maximum -->
 <xs:element name="MmsMaximumMessageSize" type="xs:nonNegativeInteger" minOccurs="0"/>
 </xs:sequence>
 </xs:complexType>

 <!-- element definition section -->

 <xs:element name="MBNProfileExt">
 <xs:complexType>
 <xs:sequence>
 <!-- Profile name -->
 <xs:element name="Name" type="WWAN_profile_v1:nameType"/>

 <!-- Brief description of the profile -->
 <xs:element name="Description" type="WWAN_profile_v1:nameType" minOccurs="0"/>

 <!-- Path of the icon file for the provider -->
 <xs:element name="ICONFilePath" type="WWAN_profile_v1:iconFileType" minOccurs="0"/>

 <!-- Flag to indicate whether this is the default profile -->
 <!-- Atmost one profile per SIM shall have this flag set to true -->
 <xs:element name="IsDefault" type="xs:boolean"/>

 <!-- Profile creation type -->
 <!-- This is used to decide if the user can delete the profile or not -->
 <!-- This is used to prioritize profiles when more than one are applicable -->
 <xs:element name="ProfileCreationType" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <xs:enumeration value="UserProvisioned"/>
 <xs:enumeration value="AdminProvisioned"/>
 <xs:enumeration value="OperatorProvisioned"/>
 <xs:enumeration value="DeviceProvisioned"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>

 <!-- Subscriber Identification : IMSI, MIN, etc -->
 <!-- optional in extended MBNProfile -->
 <xs:element name="SubscriberID" type="WWAN_profile_v1:subscriberIdType" minOccurs="0"/>

 <!-- SimIccID number of the SIM -->
 <!-- Mandatory in extended MBNProfile -->
 <xs:element name="SimIccID" type="WWAN_profile_v1:simIccIDType" />

 <!-- Home Provider Name -->
 <xs:element name="HomeProviderName" type="WWAN_profile_v1:providerNameType" minOccurs="0"/>

 <!-- Flag to indicate wether the Auto Connect should be blocked when we have Internet Connectivity -->
 <xs:element name="AutoConnectOnInternet" type="xs:boolean" minOccurs="0"/>

 <!-- Connection Mode, default is "manual" -->
 <xs:element name="ConnectionMode" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:string">
 <!-- manual connect always -->
 <xs:enumeration value="manual" />
 <!-- auto connect always -->
 <xs:enumeration value="auto" />
 <!-- auto connect when not roaming -->
 <xs:enumeration value="auto-home"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>

 <!-- Connection Settings -->
 <xs:element name="Context" type="contextExtType" minOccurs="0"/>

 <!-- Roaming Partner List -->
 <xs:element name="DataRoamingPartners" minOccurs="0">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="Provider" type="WWAN_profile_v1:providerType" maxOccurs="unbounded"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>

 <!-- Profile Group List -->
 <!-- A profile group is defined by a GUID, for the usage purpose of profiles of the group. -->
 <!-- One profile may belong to more than one group, i.e. a profile can be multi-purposed. -->
 <xs:element name="PurposeGroups" minOccurs="0">
 <xs:complexType>
 <xs:sequence>
 <xs:element name="PurposeGroupGuid" type="guidType" maxOccurs="10"/>
 </xs:sequence>
 </xs:complexType>
 </xs:element>

 <!-- optional element for MBNProfileExt. It defines the condition(s) when the profile is applicable (usable) -->
 <!-- If ProfileConditionedOn is present, the defined condiftion(s) must be satisfied for the profile to be applicable -->
 <xs:element name="ProfileConditionedOn" type="profileConditionType" minOccurs="0"/>

 <!-- Flag to indicate whether this is a provisioning profile, default is "false" -->
 <!-- If IsProvisioningProfile is true, IsDefault must be false, ConnectionMode must be manual -->
 <xs:element name="IsProvisioningProfile" type="xs:boolean" minOccurs="0"/>

 <!-- optional element. the Default is 0 -->
 <xs:element name="ApnID" type="xs:decimal" minOccurs="0"/>
 
 <!-- optional elemtment. the default is TRUE (enabled) -->
 <xs:element name="AdminEnable" type="xs:boolean" minOccurs="0"/>
 
 <!-- optional element, the default is AllRoamAllowed -->
 <xs:element name="AdminRoamControl" type="roamControlType" minOccurs="0"/>

 <!-- Flag to indicate whether this profile excludes other profiles of the same group, default is "false" -->
 <xs:element name="IsExclusiveToOther" type="xs:boolean" minOccurs="0"/>

 <!-- Flag to indicate whether this is a long-standing additional PDP context profile, default is "false" -->
 <!-- If IsLongStandingManualProfile is true, IsAdditionalPdpContextProfile must be true -->
 <xs:element name="IsLongStandingAdditionalPdpContextProfile" type="xs:boolean" minOccurs="0"/>

 <!-- Mms settings -->
 <xs:element name="MmsConfiguration" type="mmsConfigurationType" minOccurs="0"/>
 
 <!-- extension point for other namespaces -->
 <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
 </xs:sequence>
 </xs:complexType>
 </xs:element>
 
 <!-- modem DM configuration Profile -->
 <xs:element name="ModemDMConfigProfile">
 <xs:complexType>
 <xs:sequence>
 <!-- Profile name -->
 <xs:element name="Name" type="WWAN_profile_v1:nameType"/>

 <!-- SimIccID -->
 <xs:element name="SimIccID" type="WWAN_profile_v1:simIccIDType" />
 <xs:element name="ApnID" type="xs:decimal"/>
 
 <!-- For modem -->
 <xs:element name="OemConnectionId" type="guidType"/>
 <xs:element name="RoamApplicability" type="roamApplicabilityType" minOccurs="0" />
 
 <xs:element name="Context" type="contextExtType" />
 <xs:element name="AdminEnable" type="xs:boolean"/>
 <xs:element name="AdminRoamControl" type="roamControlType"/>

 <!-- Profile creation type -->
 <!-- This is used to decide if the user can delete the profile or not -->
 <!-- This is used to prioritize profiles when more than one are applicable -->
 <xs:element name="ProfileCreationType" minOccurs="0">
 <xs:simpleType>
 <xs:restriction base="xs:token">
 <xs:enumeration value="UserProvisioned"/>
 <xs:enumeration value="AdminProvisioned"/>
 <xs:enumeration value="OperatorProvisioned"/>
 <xs:enumeration value="DeviceProvisioned"/>
 </xs:restriction>
 </xs:simpleType>
 </xs:element>
 
 <!-- extension point for other namespaces -->
 <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
 </xs:sequence>
 </xs:complexType>
 </xs:element>

</xs:schema>

Feedback

Was this page helpful?

Additional resources