0 out of 1 rated this helpful - Rate this topic

Submit a Mobile Broadband device manifest package

Submitting a mobile broadband device manifest package

You can use the same method to submit packages for preview or release.

To submit a device manifest package

  1. Sign the devicemanifest-ms package with the SignTool tool.

  2. Sign in to the dashboard from the either the Hardware Development or Desktop Development section of the Windows dev center using the Microsoft account associated with the dashboard.

  3. Under Device metadata, click Create experience if you want to submit a new experience, or click Manage experience if you want to modify an existing experience.

  4. Browse for and select your new devicemanifest-ms package, and then click Submit.

For more info about submitting service metadata for a mobile operator app, see Submitting a Mobile Operator App.

Creating a Device Manifest Submission Package

A device manifest submission package is the package format in which all mobile broadband device metadata must be submitted to the Windows® Hardware Developer Center.

The device manifest submission package contains files that declare locale support and enable validation of mobile broadband address ranges. The device manifest package also includes a service metadata package.

Device manifest submission packages are uploaded to the Windows® Hardware Developer Center Dashboard in the same way as device metadata packages. Using the same user interface and upload boxes, enter the name of your *.devicemanifest-ms file for upload.

All file upload boxes other than bulk upload on the Windows® Hardware Developer Center Dashboard’s user interface will accept device manifest submission packages.

For info about using the Device Metadata Submission Wizard to create a bulk metadata package, see Creating a device metadata submission package in Visual Studio.

Device Manifest Submission Package Contents

Each device manifest submission package consists of the following components:

  • Service metadata package

    This package contains information and graphics to display an icon in the Windows Connection Manager, and to allow a Windows Store app for mobile broadband to interact with the Windows Connection Manager.

    The service metadata package is always required.

  • LocaleInfo XML document

    This document contains data about the locales included in the accompanying service metadata package. The Windows® Hardware Developer Center uses this data to properly validate the device metadata package for one or more locales.

    The LocaleInfo XML document is always required, even if the device metadata package only contains a single locale.

  • MobileBroadbandMetadataSubmission XML document

    This document contains data used to validate the HWIDs that are generated from the IMSI ranges, ICCID ranges, provider ID, or provider name that are used to match the mobile broadband device service package with mobile broadband hardware. The Windows® Hardware Developer Center uses this data to verify that the submitting company has permission to submit metadata for the IMSI ranges, ICCID ranges, provider ID, or provider name specified in the metadata package.

    The MobileBroadbandMetadataSubmission XML document is only required for mobile broadband service metadata packages.

noteNote
The XML documents must be saved by using UTF-8 encoding.

Structure of a Device Manifest Submission Package

The components of a Mobile Broadband device manifest submission package are stored in a compressed cabinet file. The file name must have a suffix of .devicemanifest-ms.

Structure of a MobileBroadband Device Manifest Submission Package

The components of a Mobile Broadband device manifest submission package are stored in a compressed cabinet file. The file name must have a suffix of .devicemanifest-ms.

Each mobile broadband device manifest submission package must have the following structure:

GUID1.devicemanifest-ms
\ GUID1.devicemetadata-ms
\LocaleInfo.xml
\MobileBroadbandMetadataSubmission.xml

“GUID1” must be a GUID.

Instructions on creating LocaleInfo.xml and MobileBroadbandMetadataSubmission.xml are below.

To learn how to develop the service metadata package, *.devicemetadata-ms, see Service Metadata Package Schema Reference for Windows 8.

You can use the Cabarc tool to create these CAB packages. For more information about this tool, see Cabarc overview.

When you create a *.devicemanifest-ms file by using the Cabarc tool, you must create a local directory in which the device metadata package (*.devicemetadata-ms), the LocaleInfo XML document, and the MobileBroadbandMetadataSubmission XML document are at the root of the directory.

Remarks

  • The .devicemanifest -ms and .devicemetadata-ms filenames must specify the GUID without the curly brace ({}) delimiters.

  • The GUID for each mobile broadband device manifest submission and service metadata package must be unique. When you create a new or revised package, you must create a new GUID.

  • For more details about how to create cabinet files, see the Microsoft Cabinet Software Development Kit.

Example

The following shows an example of how to use the Cabarc tool to create a .devicemanifest-ms file. In this example, the components of the mobile broadband device manifest file are located in a local directory that is named MobileBroadbandPackages:

.\MobileBroadbandPackages\
.\MobileBroadbandPackages\MobileBroadbandMetadataSubmission.xml
.\MobileBroadbandPackages\LocaleInfo.xml
.\MobileBroadbandPackages\GUID.devicemetadata-ms

The GUID.devicemanifest-ms file was created in a local directory that is named MBFiles:

Cabarc.exe -r -p -P  .\MobileBroadbandPackages\ 
N .\MBFiles\ GUID.devicemanifest-ms 
.\MobileBroadbandPackages\MobileBroadbandMetadataSubmission.xml
.\MobileBroadbandPackages\LocaleInfo.xml
.\MobileBroadbandPackages\GUID.devicemetadata-ms

noteNote
For more information about this tool, see Cabarc overview.

Creating MobileBroadbandMetadataSubmission.xml

MobileBroadbandMetadataSubmission XML Schema

A device manifest submission package may contain one MobileBroadbandMetadataSubmission.xml document, which has information that the Windows Hardware Dev Center site uses to validate the HWIDs that are generated from the IMSI ranges, ICCID ranges, provider ID, or provider name that are used to match the Mobile Broadband device metadata package with mobile broadband hardware.

The data in the MobileBroadbandMetadataSubmission.xml document is formatted based on the MobileBroadbandMetadataSubmission XML schema, which is described below.

noteNote
The XML document must be saved by using UTF-8 encoding.

MobileBroadbandMetadataSubmission XML Schema NameSpace

The following is the namespace of the MobileBroadbandMetadataSubmission XML schema: http://schemas.microsoft.com/Windows/2011/04/MetadataSubmission/MobileBroadbandMetadataSubmission

Overview of MobileBroadbandMetadataSubmission XML Elements/Attributes

The following table describes the metadata elements and attributes of the MobileBroadbandMetadataSubmission XML schema.

 

Element/Attributes Element/Attribute type Required/ optional

GsmNetworkInfo

ImsiNumber

Optional

ImsiRange

IccIdRangeType

Optional

begin

IccIdNumber

Required

end

IccIdNumber

Required

IccIdRange

IccIdRangeType

Optional

begin

IccIdNumber

Required

end

IccIdNumber

Required

providerId

tns:GsmProviderId

Required

CdmaNetworkInfo

CdmaNetworkInfoType

Optional

ProviderName

ProviderNameType

Optional

name

CdmaProviderName

Required

ProviderId

tns:ProviderIdType

Optional

id

CdmaProviderId

Required

MobileBroadbandMetadataSubmission XML Schema Definition

The following is the MobileBroadbandMetadataSubmission XML schema definition:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://schemas.microsoft.com/Windows/2011/04/MetadataSubmission/MobileBroadbandMetadataSubmission" xmlns:tns="http://schemas.microsoft.com/Windows/2011/04/MetadataSubmission/MobileBroadbandMetadataSubmission" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" blockDefault="#all">

  <xs:element name="MobileBroadbandMetadataSubmission" type="tns:MobileBroadbandMetadataSubmissionType" />

  <xs:complexType name="MobileBroadbandMetadataSubmissionType">
    <xs:sequence minOccurs="1" maxOccurs="unbounded">
      <xs:choice>
        <xs:element name="GsmNetworkInfo" type="tns:GsmNetworkInfoType" />
        <xs:element name="CdmaNetworkInfo" type="tns:CdmaNetworkInfoType" />
      </xs:choice>
      <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>

  <!--GSM Network Information -->
  <xs:complexType name="GsmNetworkInfoType">
      <xs:sequence maxOccurs="unbounded">
        <xs:choice>
          <xs:element name="ImsiRange" type="tns:ImsiRangeType" />
          <xs:element name="IccIdRange" type="tns:IccIdRange" />
        </xs:choice>
      </xs:sequence>
      <xs:attribute name="providerId" type="tns:GsmProviderId" use="required"/>
  </xs:complexType>

  <xs:complexType name="ImsiRangeType">
    <xs:attribute name="begin" type="tns:ImsiNumber" use="required"/>
    <xs:attribute name="end"   type="tns:ImsiNumber" use="required"/>
  </xs:complexType>

  <xs:complexType name="IccIdRange">
    <xs:attribute name="begin" type="tns:IccIdNumber" use="required"/>
    <xs:attribute name="end"   type="tns:IccIdNumber" use="required"/>
  </xs:complexType>

  <xs:simpleType name="ImsiNumber">
    <xs:restriction base="xs:string">
      <xs:minLength value="14"/>
      <xs:maxLength value="15"/>
      <xs:pattern value="[0-9]+"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="IccIdNumber">
    <xs:restriction base="xs:token">
      <xs:pattern value="[a-zA-Z\d]{1,20}"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="GsmProviderId">
    <xs:restriction base="xs:string">
      <xs:minLength value="5"/>
      <xs:maxLength value="6"/>
      <xs:pattern value="[0-9]+"/>
    </xs:restriction>
  </xs:simpleType>


<!-- CDMA Information -->
  <xs:complexType name="CdmaNetworkInfoType">
    <xs:sequence maxOccurs="unbounded">
      <xs:choice>
        <xs:element name="ProviderName" type="tns:ProviderNameType" />
        <xs:element name="ProviderId" type="tns:ProviderIdType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProviderNameType">
    <xs:attribute name="name" type="tns:CdmaProviderName" use="required"/>
  </xs:complexType>

  <xs:complexType name="ProviderIdType">
    <xs:attribute name="id" type="tns:CdmaProviderId" use="required"/>
  </xs:complexType>

  <xs:simpleType name="CdmaProviderId">
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="65535"/>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="CdmaProviderName">
    <xs:restriction base="xs:string">
      <xs:minLength value="1"/>
      <xs:maxLength value="36"/>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>

MobileBroadbandMetadataSubmission XML Schema Reference

The MobileBroadbandMetadataSubmission XML schema defines the following elements and attributes:

  • MobileBroadbandMetadataSubmission

    • GsmNetworkInfo

      • providerId

      • IccIdRange

      • ImsiRange

    • CdmaNetworkInfo

      • ProviderId

      • ProviderName

GsmNetworkInfo Element

The GsmNetworkInfo element specifies the type of network connection and IMSI or ICCID range information for a GSM network.

Based on this information, the Windows Hardware Dev Center validates IMSI or ICC ID ranges.

<xs:element name="GsmNetworkInfo" type="tns:GsmNetworkInfoType" />

<xs:complexType name="GsmNetworkInfoType">
    <xs:sequence maxOccurs="unbounded">
      <xs:choice>
        <xs:element name="ImsiRange" type="tns:ImsiRangeType" />
        <xs:element name="IccIdRange" type="tns:IccIdRange" />
      </xs:choice>
    </xs:sequence>
    <xs:attribute name="providerId" type="tns:GsmProviderId" use="required"/>
</xs:complexType>

Remarks

noteNote
This section only applies to operators who are submitting information for their GSM network.

A series of ranges using the full IMSI or full ICCID values that a provider wants to target with their Windows Store device app for mobile broadband package must be provided for GSM based networks.  Mobile Country Code (MCC) and Mobile Network Code (MNC) are included in the full IMSI number submitted.

To include all IMSI values under a network operator’s MCC+MNC (assuming an MCC+MNC of 123456) specify the following range for the IMSI values: 123456000000000 - 123456999999999

There is a detection specificity of 100, so ensure that the beginning range ends in 00 and the ending range ends in 99. This applies to IMSI and ICCID based matching for GSM.

If there are MVNOs that are branded differently from the MNO submitting the metadata, we recommended that you exclude their ranges from your submission. This can be done by listing the set of ranges that you want to match with your metadata.

For example (assuming an MCC+MNC of 123456):

  • 123456000000000 – 123456003459999

  • 123456570000000 – 123456599999999

  • 123456900000000 - 123456999999999

Users who have IMSI values that are not covered by these ranges will not get matched with this metadata experience. This allows the MVNO that owns that customer relationship to later specify their own metadata package for those customers.

ImsiRange Element

The ImsiRange element specifies an IMSI address range for use with a GSM network. By using the begin and end attributes, the Windows Hardware Dev Center checks that no other company has submitted for the specified IMSI address range. The Windows Hardware Dev Center also creates HWIDs based on the IMSI address range and compares the values with the Hardware IDs in the packageinfo.xml that you submit along with the MobileBroadbandMetadataSubmission.xml.

<xs:element name="ImsiRange" type="tns:ImsiRangeType" />

<xs:complexType name="ImsiRangeType">
  <xs:attribute name="begin" type="tns:ImsiNumber" use="required"/>
  <xs:attribute name="end"   type="tns:ImsiNumber" use="required"/>
</xs:complexType>

Remarks

IMSI based matching takes precedence over ICCID based matching on GSM networks. If a SIM has an IMSI value, that will be checked first and used to match. If a match is not successful, then the ICCID matching described below is used.

The Windows Hardware Dev Center uses the International Telecommunication Union (ITU)’s document “Mobile Network Codes (MNC) for the international identification plan for public networks and subscriptions.”

Begin Attribute

The begin attribute specifies the beginning value of an IMSI address range. See “ImsiRange Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:attribute name="begin" type="tns:ImsiNumber" use="required"/>

<xs:simpleType name="ImsiNumber">
  <xs:restriction base="xs:string">
    <xs:minLength value="14"/>
    <xs:maxLength value="15"/>
    <xs:pattern value="[0-9]+"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The begin attribute must end in 00 because the client side detection works in blocks of 100. The full IMSI number must be specified including the MCC+MNC value.

End Attribute

The end attribute specifies the ending value of an IMSI address range. See “ImsiRange Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:attribute name="end"   type="tns:ImsiNumber" use="required"/>

<xs:simpleType name="ImsiNumber">
  <xs:restriction base="xs:string">
    <xs:minLength value="14"/>
    <xs:maxLength value="15"/>
    <xs:pattern value="[0-9]+"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The end attribute must end in 99 because the client side detection works in blocks of 100. The full IMSI number must be specified including the MCC+MNC value.

IccIdRange Element

The IccIdRange element specifies an ICC ID address range for use with a GSM network. Using the begin and end attributes, the Windows Hardware Dev Center checks that no other company has submitted for the specific ICC ID address range. The Windows Hardware Dev Center also creates HWIDs based on the ICC ID address range and compares the values with the Hardware IDs in the packageinfo.xml that you submit along with the MobileBroadbandMetadataSubmission.xml.

<xs:element name="IccIdRange" type="tns:IccIdRange" />

<xs:complexType name="IccIdRange">
  <xs:attribute name="begin" type="tns:IccIdNumber" use="required"/>
  <xs:attribute name="end"   type="tns:IccIdNumber" use="required"/>
</xs:complexType>

<xs:simpleType name="IccIdNumber">
  <xs:restriction base="xs:token">
    <xs:pattern value="[a-zA-Z\d]{1,20}"/>
  </xs:restriction>
</xs:simpleType>

Remarks

ICCID based matching only takes place if the SIM is missing an IMSI value or fails to match using the IMSI.

Begin Attribute

The begin attribute specifies the beginning value of an ICC ID address range. See “IccIdRange Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:attribute name="begin" type="tns:IccIdNumber" use="required"/>

<xs:simpleType name="IccIdNumber">
  <xs:restriction base="xs:token">
    <xs:pattern value="[a-zA-Z\d]{1,20}"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The begin attribute must end in 00 because the client side detection works in blocks of 100. The full ICCID number must be specified.

End Attribute

The end attribute specifies the ending value of an ICC ID address range. See “ImsiRange Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:attribute name="end"   type="tns:IccIdNumber" use="required"/>

<xs:simpleType name="IccIdNumber">
  <xs:restriction base="xs:token">
    <xs:pattern value="[a-zA-Z\d]{1,20}"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The end attribute must end in 99 because the client side detection works in blocks of 100. The full ICCID number must be specified.

providerId Attribute

The providerId attribute specifies the MCC+MNC value for the GSM based network provider. This must be a 5 or 6 digit number.

<xs:attribute name="providerId" type="tns:GsmProviderId" use="required"/>

<xs:simpleType name="GsmProviderId">
  <xs:restriction base="xs:string">
    <xs:minLength value="5"/>
    <xs:maxLength value="6"/>
    <xs:pattern value="[0-9]+"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The providerId attribute must match the beginning value of the GSM IMSI ranges that are specified. This value is not checked for ICCID ranges.

CdmaNetworkInfo Element

The CdmaNetworkInfo element specifies the type of network matching that will take place for a CDMA network. Based on this information, Windows Hardware Dev Center properly validates a CDMA Provider Name or CDMA Provider ID (aka SID).

<xs:element name="CdmaNetworkInfo" type="tns:CdmaNetworkInfoType" />

<xs:complexType name="CdmaNetworkInfoType">
  <xs:sequence maxOccurs="unbounded">
    <xs:choice>
      <xs:element name="ProviderName" type="tns:ProviderNameType" />
      <xs:element name="ProviderId" type="tns:ProviderIdType" />
    </xs:choice>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="ProviderNameType">
  <xs:attribute name="name" type="tns:CdmaProviderName" use="required"/>
</xs:complexType>

<xs:complexType name="ProviderIdType">
  <xs:attribute name="id" type="tns:CdmaProviderId" use="required"/>
</xs:complexType>

<xs:simpleType name="CdmaProviderId">
  <xs:restriction base="xs:integer">
    <xs:minInclusive value="0"/>
    <xs:maxInclusive value="65535"/>
  </xs:restriction>
</xs:simpleType>

<xs:simpleType name="CdmaProviderName">
  <xs:restriction base="xs:string">
    <xs:minLength value="1"/>
    <xs:maxLength value="36"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The CDMA provider ID is read from the device firmware. This value is checked first for matching purposes. If a match does not take place, then the CDMA provider name is checked.

ProviderName Element

The ProviderName element specifies Provider Name information for a CDMA network. See “CdmaNetworkInfo Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:element name="ProviderName" type="tns:ProviderNameType" />

<xs:complexType name="ProviderNameType">
  <xs:attribute name="name" type="tns:CdmaProviderName" use="required"/>
</xs:complexType>

Remarks

The CDMA provider name is used for matching only if no Provider ID is reported from the device firmware. The CDMA provider name is case-sensitive. If this is being used to match a metadata package, make sure that all spelling variations of the provider name are provided.

name Attribute

The name attribute specifies the Provider Name for a CDMA network. See “CdmaNetworkInfo Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:attribute name="name" type="tns:CdmaProviderName" use="required"/>

<xs:simpleType name="CdmaProviderName">
  <xs:restriction base="xs:string">
    <xs:minLength value="1"/>
    <xs:maxLength value="36"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The name attribute is a case-sensitive string.

ProviderId Element

The ProviderId element specifies Provider ID information for a CDMA network. See “CdmaNetworkInfo Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:element name="ProviderId" type="tns:ProviderIdType" />

<xs:complexType name="ProviderIdType">
  <xs:attribute name="id" type="tns:CdmaProviderId" use="required"/>
</xs:complexType>

Remarks

The provider id is sometimes referred to as a “SID.”

id Attribute

The id attribute specifies the Provider ID for a CDMA network. See “CdmaNetworkInfo Element” for more information on how the Windows Hardware Dev Center uses this value.

<xs:attribute name="id" type="tns:CdmaProviderId" use="required"/>

<xs:simpleType name="CdmaProviderId">
  <xs:restriction base="xs:integer">
    <xs:minInclusive value="0"/>
    <xs:maxInclusive value="65535"/>
  </xs:restriction>
</xs:simpleType>

Remarks

The id attribute is a numeric value that represents the provider ID value in the CDMA device’s firmware.

MobileBroadbandMetadataSubmission XML Examples

The following XML documents use the MobileBroadbandMetadataSubmission XML schema to specify the components of MobileBroadbandMetadataSubmission information

Example for GSM using IMSI Range

<?xml version="1.0" encoding="utf-8"?>
<MobileBroadbandMetadataSubmission xmlns="http://schemas.microsoft.com/Windows/2011/04/MetadataSubmission/MobileBroadbandMetadataSubmission">
  <GsmNetworkInfo providerId="123456">
    <ImsiRange begin="123456000000000" end="123456999999999"/>
  </GsmNetworkInfo>
</MobileBroadbandMetadataSubmission>

Example for GSM using ICCID Range

<?xml version="1.0" encoding="utf-8"?>
<MobileBroadbandMetadataSubmission xmlns="http://schemas.microsoft.com/Windows/2011/04/MetadataSubmission/MobileBroadbandMetadataSubmission">
  <GsmNetworkInfo providerId="000000">
    <IccIdRange begin="123456789012300" end="123456789012399"/>
  </GsmNetworkInfo>
</MobileBroadbandMetadataSubmission>

Example for CDMA using ProviderId

<?xml version="1.0" encoding="utf-8"?>
<MobileBroadbandMetadataSubmission xmlns="http://schemas.microsoft.com/Windows/2011/04/MetadataSubmission/MobileBroadbandMetadataSubmission">
  <CdmaNetworkInfo>
    <ProviderId id="65535"/>
  </CdmaNetworkInfo>
</MobileBroadbandMetadataSubmission>

Example for CDMA using ProviderName

<?xml version="1.0" encoding="utf-8"?>
<MobileBroadbandMetadataSubmission xmlns="http://schemas.microsoft.com/Windows/2011/04/MetadataSubmission/MobileBroadbandMetadataSubmission">
  <CdmaNetworkInfo>
    <ProviderName name="Contoso Wireless"/>
  </CdmaNetworkInfo>
</MobileBroadbandMetadataSubmission>

Creating LocaleInfo.xml

For information about creating the Localeinfo.xml file for submission, see Create the LocaleInfo.xml Submission File.

© 2013 Microsoft. All rights reserved.