WWAN Schema

The WWAN schema defines elements that are used to describe a subscriber's connection to a Wireless Wide Area Network (WWAN). All of the elements are in the namespace http://www.microsoft.com/networking/CarrierControl/WWAN/v1. Not all elements are in every profile, as some elements are optional.

The following table lists all of the elements in this schema, sorted alphabetically by name.

Element Description
AccessString

Defines the Access Point Name (APN) or dial string to be used to establish a data connection. Must be less than 100 characters.

ActivationComplete

If true, the subscription has been activated, and the machine should immediately attempt to connect. Otherwise, false.

ActivationMethod

Defines the abstract base element for ReconnectToNetwork , ReregisterToNetwork, and ServiceActivation.

AssociatedPlan

Contains the name of the subscriber's data plan. It must match the Name attribute of a Plan in the same XML document.

AuthProtocol

Defines the authentication protocol to be used for activating a Packet Data Protocol (PDP) context:

  • NONE - No authentication protocol.
  • PAP - Unencrypted password authentication.
  • CHAP - Challenge Handshake Authentication Protocol(CHAP).
  • MsCHAPv2 - Microsoft’s Challenge Handshake Authentication Protocol(CHAP) v2.0.
Branding

Defines carrier specific branding information for a subscriber's connection to the Mobile Network Operator (MNO).

CarrierSpecificData

Defines carrier specific data not specified by Windows.

Compression

If ENABLE, the packet header and data transferred over the connection is compressed. Otherwise, DISABLE.

Congested

If true, the subscriber's connection is in a state of congestion. Otherwise, it is either not supported by the MNO or false.

Context

Defines the parameters required to setup a data connection.

DataLimit

Defines a value representing the data limit in MB for a capped plan. Must be a value from 0 to 232nd.

DataRoamingPartners

Defines the list of preferred network providers for roaming.

DefaultProfile

Defines the default connection profile used by a subscriber to connect to a MNO. The Mobile Broadband service will use these connection settings without prompting the user for details.

Description

Defines a brief description of the profile.

Extensions

Defines a schema extension point container for future additions.

Fields

Defines values that describe the subscriber's plan and data usage.

HomeProviderName

Defines the name of the Home Provider for a given SIM/Device.

InboundBandwidth

Defines a value representing the effective link speed of the subscriber’s inbound connection.

Locale

Defines the message country code in the form "en-us" using ISO-3166.

Logo

Defines a 32x32 bitmap (.bmp) or portable network graphics (.png) type image of the MNO's logo.

Message

Defines a MNO formatted message that contains the parsing rules necessary for Windows 8 to parse the message.

Messages

Contains a set of MNO messages that are parsed by Windows 8 and may be signaled to the user.

Name (in type: Branding)

Defines a carrier specific branding name for the MNO. Maximum length is 20 characters.

Name (type: NameType)

Defines the profile name. Must be 64 characters or less.

OutboundBandwidth

Defines a value representing the effective link speed of the subscriber’s outbound connection.

OverDataLimit

Defines whether a subscriber has consumed more bytes than the data limit for their plan.

Password

Defines the password used to authenticate a user. Must be less than 256 characters.

Pattern

Defines a regular expression describing the contents of the decoded human-readable message.

PlanType

Defines the type of plan currently in use by the subscriber.

Provider

Defines the name and provider ID of a cellular network.

PurchaseProfile

Defines a purchase connection profile used by a subscriber to connect to a MNO.

ReconnectToNetwork

Defines timing information used to activate the subscriber's account on the Mobile Broadband Network (MNO) for a reconnect activation type.

RefreshProvisioning

If true, the network configuration has been updated, and the machine should attempt to retrieve a new provisioning file during the next available maintenance window. Otherwise, false.

ReregisterToNetwork

Defines timing information used to activate the subscriber's account on the Mobile Broadband Network (MNO) for a reregister activation type.

SMSBearer

Defines bearer types allowed for SMS messages.

ServiceActivation

Defines carrier specific information required to activate the subscriber's account on the Mobile Broadband Network (MNO).

USSDBearer

Defines bearer types allowed for USSD messages.

Units

Defines how to interpret the unit fields corresponding to each number field. Carriers may specify a whitespace-delimited list of tokens corresponding to each of the supported multipliers.

Usage

Defines the number of bytes the subscriber has consumed against their data limit. If absent, it is inferred by:

  • UsagePercentage times DataLimit
  • UsagePercentage times DataLimit
  • UsageOverage plus DataLimit
  • (UsageOveragePercentage times DataLimit) plus DataLimit
  • UsageOverage plus (UsageOverage divided by (UsageOveragePercentage - 100) )
  • UsageOverage plus DataLimit
UsageOverage

Defines the number of bytes the subscriber has consumed over their data limit.

UsageOveragePercentage

Defines the percentage over the data limit a subscriber has consumed.

UsagePercentage

Defines the percentage of the data limit a subscriber has consumed.

UsageTimestamp

Defines a validity date and time of the usage information.

UserLogonCred

Defines logon credentials for a connection.

UserName

Defines the user name for logon. Must be less than 256 characters.

 

The full WWAN schema is below:

<?xml version="1.0" encoding="utf-8"?>  
<xs:schema targetNamespace="http://www.microsoft.com/networking/CarrierControl/WWAN/v1"  
    elementFormDefault="qualified"  
    xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1"  
    xmlns:xs="http://www.w3.org/2001/XMLSchema"  
    xmlns:base="http://www.microsoft.com/networking/CarrierControl/Base/v1"  
    xmlns:plans="http://www.microsoft.com/networking/CarrierControl/Plans/v1">  
  <xs:import namespace="http://www.microsoft.com/networking/CarrierControl/Base/v1"/>  
  <xs:import namespace="http://www.microsoft.com/networking/CarrierControl/Plans/v1"/>  
  
  <xs:simpleType name="SimIccIDType">  
    <xs:restriction base="xs:token">  
      <xs:pattern value="[a-zA-Z\d]{1,20}"/>  
    </xs:restriction>  
  </xs:simpleType>  
  
  <xs:complexType name="ContextType">  
    <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="base:NameType"/>  
            <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"/>  
          </xs:restriction>  
        </xs:simpleType>  
      </xs:element>  
    </xs:sequence>  
  </xs:complexType>  
     
  <xs:complexType name="ActivationMethodType">  
    <xs:attribute name="Delay" default="PT0S">  
      <xs:simpleType>  
        <xs:restriction base="xs:duration">  
          <xs:minInclusive value="PT0S"/>  
          <xs:maxExclusive value="PT1H"/>  
        </xs:restriction>  
      </xs:simpleType>  
    </xs:attribute>  
    <xs:attribute name="RetryCount" default="0">  
      <xs:simpleType>  
        <xs:restriction base="xs:nonNegativeInteger">  
          <xs:maxInclusive value="10"/>  
        </xs:restriction>  
      </xs:simpleType>  
    </xs:attribute>  
    <xs:attribute name="RetryInterval" default="PT1M">  
      <xs:simpleType>  
        <xs:restriction base="xs:duration">  
          <xs:minInclusive value="PT1M"/>  
          <xs:maxInclusive value="PT1H"/>  
        </xs:restriction>  
      </xs:simpleType>  
    </xs:attribute>  
  </xs:complexType>  
  <xs:element name="ActivationMethod" type="ActivationMethodType" abstract="true"/>  
  <xs:element name="ReregisterToNetwork" type="ActivationMethodType" substitutionGroup="ActivationMethod"/>  
  <xs:element name="ReconnectToNetwork" type="ActivationMethodType" substitutionGroup="ActivationMethod"/>  
  <xs:element name="ServiceActivation" substitutionGroup="ActivationMethod">  
    <xs:complexType>  
      <xs:complexContent>  
        <xs:extension base="ActivationMethodType">  
          <xs:sequence>  
            <xs:element name="CarrierSpecificData" type="xs:base64Binary"/>  
          </xs:sequence>  
        </xs:extension>  
      </xs:complexContent>  
    </xs:complexType>  
  </xs:element>  
  
  <xs:complexType name="CarrierMBNProfile">  
    <xs:sequence>  
      <xs:element name="Name" type="base:NameType"/>  
      <!-- Brief description of the profile -->  
      <xs:element name="Description" type="base:NameType" minOccurs="0"/>  
  
      <xs:element name="AssociatedPlan" type="xs:string" minOccurs="0"/>  
  
      <xs:element name="HomeProviderName" type="base:ProviderNameType" minOccurs="0"/>  
   
      <xs:element name="Context" type="ContextType" minOccurs="0"/>  
  
      <xs:element name="DataRoamingPartners" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:element name="Provider" type="base:ProviderType" maxOccurs="unbounded"/>  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
  
      <xs:element name="Extensions" minOccurs="0">  
        <xs:complexType>  
          <xs:sequence>  
            <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />  
          </xs:sequence>  
        </xs:complexType>  
      </xs:element>  
    </xs:sequence>  
    <xs:attribute name="Priority" type="base:Priority" default="5"/>  
  </xs:complexType>  
  
  <xs:element name="DefaultProfile" type="CarrierMBNProfile"/>  
  <xs:element name="PurchaseProfile" type="CarrierMBNProfile"/>  

  <xs:element name="Branding" type="Branding" />   
  <xs:complexType name="Branding">  
    <xs:sequence>
      <xs:element name="Logo" type="xs:base64Binary" minOccurs="0"/>  
      <xs:element name="Name" minOccurs="0">  
        <xs:simpleType>  
          <xs:restriction base="xs:string">  
            <xs:maxLength value="20"/>  
          </xs:restriction>  
        </xs:simpleType>  
      </xs:element>  
        
      <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>  
    </xs:sequence>  
  </xs:complexType>  

  <xs:complexType name="BooleanField">  
    <xs:attribute name="TrueToken" type="xs:token"/>  
    <xs:attribute name="FalseToken" type="xs:token"/>  
    <xs:attribute name="Default" type="xs:boolean" default="false"/>  
    <xs:attribute name="Group" type="xs:positiveInteger"/>  
  </xs:complexType>  
  
  <xs:complexType name="DateTimeField">  
    <xs:attribute name="Format" type="xs:string" use="required"/>  
    <xs:attribute name="Group" type="xs:positiveInteger" use="required"/>  
  </xs:complexType>  
  
  <xs:complexType name="NumberField">  
    <xs:attribute name="Group" type="xs:positiveInteger" use="required"/>  
    <xs:attribute name="UnitGroup" type="xs:positiveInteger"/>  
    <xs:attribute name="DefaultUnit" default="None">  
      <xs:simpleType>  
        <xs:restriction base="xs:token">  
          <xs:enumeration value="None"/>  
          <xs:enumeration value="K"/>  
          <xs:enumeration value="M"/>  
          <xs:enumeration value="G"/>  
          <xs:enumeration value="T"/>  
          <xs:enumeration value="Ki"/>  
          <xs:enumeration value="Mi"/>  
          <xs:enumeration value="Gi"/>  
          <xs:enumeration value="Ti"/>  
        </xs:restriction>  
      </xs:simpleType>  
    </xs:attribute>  
  </xs:complexType>  
  
  <xs:complexType name="PercentField">  
    <xs:attribute name="Group" type="xs:positiveInteger" use="required"/>  
  </xs:complexType>  
  
  <xs:simpleType name="TokenList">  
    <xs:list itemType="xs:token"/>  
  </xs:simpleType>

  <xs:element name="SMSBearer">  
    <xs:complexType>  
      <xs:attribute name="Sender" type="xs:token"/>  
      <xs:attribute name="ClassZeroOnly" type="xs:boolean" default="true"/>  
    </xs:complexType>  
  </xs:element>  
  <xs:element name="USSDBearer"/>  
   
  <xs:element name="Messages">  
    <xs:complexType>  
      <xs:sequence>  
        <xs:element name="Message" maxOccurs="unbounded">  
          <xs:complexType>  
            <xs:sequence>  
              <xs:choice>  
                <xs:sequence>  
                  <xs:element ref="SMSBearer" maxOccurs="unbounded"/>  
                  <xs:element ref="USSDBearer" minOccurs="0"/>  
                </xs:sequence>  
                <xs:sequence>  
                  <xs:element ref="USSDBearer"/>  
                </xs:sequence>  
              </xs:choice>  
              <xs:element name="Pattern" type="xs:string"/>  
              <xs:element name="Locale" default="English_United States.1252" minOccurs="0">  
                <xs:simpleType>  
                  <xs:restriction base="xs:token">  
                    <xs:pattern value="\w+(?:_[\w ]+)?(?:\.\d+)?"/>  
                  </xs:restriction>  
                </xs:simpleType>  
              </xs:element>  

              <xs:element name="Units" minOccurs="0">  
                <xs:complexType>  
                    
                  <!-- Powers of 1,000 -->  
                  <xs:attribute name="K" type="TokenList"/>  
                  <xs:attribute name="M" type="TokenList"/>  
                  <xs:attribute name="G" type="TokenList"/>  
                  <xs:attribute name="T" type="TokenList"/>  
  
                  <!-- Powers of 1,024 -->  
                  <xs:attribute name="Ki" type="TokenList"/>  
                  <xs:attribute name="Mi" type="TokenList"/>  
                  <xs:attribute name="Gi" type="TokenList"/>  
                  <xs:attribute name="Ti" type="TokenList"/>  
                    
                </xs:complexType>  
              </xs:element>  
              <xs:element name="Fields" minOccurs="0">  
                <xs:complexType>  
                  <xs:all>   
                    <xs:element name="Usage" type="NumberField" minOccurs="0"/>  
                    <xs:element name="UsagePercentage" type="PercentField" minOccurs="0"/>  
                    <xs:element name="UsageTimestamp" type="DateTimeField" minOccurs="0"/>  
                    <xs:element name="UsageOverage" type="NumberField" minOccurs="0"/>  
                    <xs:element name="UsageOveragePercentage" type="PercentField" minOccurs="0"/>  
                    <xs:element name="DataLimit" type="NumberField" minOccurs="0"/>  
                    <xs:element name="OverDataLimit" type="BooleanField" minOccurs="0"/>
                    <xs:element name="Congested" type="BooleanField" minOccurs="0"/>  
                    <xs:element name="InboundBandwidth" type="NumberField" minOccurs="0"/>  
                    <xs:element name="OutboundBandwidth" type="NumberField" minOccurs="0"/>  
                    <xs:element name="PlanType" minOccurs="0">  
                      <xs:complexType>  
                        <xs:attribute name="Group" type="xs:positiveInteger"/>  
                        <xs:attribute name="Default" type="plans:PlanType"/>  
                        <xs:attribute name="UnrestrictedTokens" type="TokenList"/>  
                        <xs:attribute name="FixedTokens" type="TokenList"/>  
                        <xs:attribute name="VariableTokens" type="TokenList"/>  
                      </xs:complexType>  
                    </xs:element>  
                    <xs:element name="RefreshProvisioning" type="BooleanField" minOccurs="0"/>  
                    <xs:element name="ActivationComplete" type="BooleanField" minOccurs="0"/>  
                  </xs:all>  
                </xs:complexType>  
              </xs:element>  
            </xs:sequence>  
            <xs:attribute name="Silent" type="xs:boolean" default="true"/>  
          </xs:complexType>  
        </xs:element>  
      </xs:sequence>  
    </xs:complexType>  
  </xs:element>  
</xs:schema>