Compartir a través de


Aprovisionamiento de cuentas

El aprovisionamiento hace referencia a la configuración de un equipo Windows con la información necesaria para conectarse a una red de operador. Normalmente, el aprovisionamiento se realiza después de la compra de una suscripción de banda ancha móvil. Windows acepta un archivo de aprovisionamiento basado en XML del operador . La API de aprovisionamiento aplica un archivo XML de aprovisionamiento del operador, ya sea mediante una aplicación de banda ancha móvil o a través de un sitio web de compra.

En el diagrama siguiente se muestra el contenido y la jerarquía del archivo XML de aprovisionamiento.

Diagrama que muestra la jerarquía de un archivo XML de aprovisionamiento para la banda ancha móvil.

Para obtener más información sobre el esquema de aprovisionamiento, consulta Esquema CarrierControlSchema.

Actualización de los metadatos de aprovisionamiento

Hay varias maneras de actualizar los metadatos de aprovisionamiento en un equipo.

Aplicación de banda ancha móvil

Una vez instalada la aplicación de banda ancha móvil en el equipo, puede recuperar o generar un archivo de aprovisionamiento actualizado en función de cualquier desencadenador que implemente en la aplicación.

Las aplicaciones de banda ancha móvil pueden aplicar archivos de aprovisionamiento mediante las API Windows.Networking.NetworkOperator.ProvisioningAgent . Si la aplicación está asociada a un identificador de cuenta de red, puede usar CreateFromNetworkAccountId para proporcionar metadatos sin firmar. Si la aplicación no está asociada a un identificador de cuenta de red, debe usar el constructor predeterminado para ProvisioningAgent y firmar el XML.

Una aplicación de banda ancha móvil puede usar los siguientes desencadenadores para actualizar los metadatos de aprovisionamiento:

  • Uso Una vez configurado inicialmente el límite de datos, puede indicar a Windows que notifique a la aplicación cada incremento de uso del 5 %. Esto garantiza que la aplicación recupere la información de uso más actualizada.

  • Temporizadores Un temporizador puede actualizar los metadatos de aprovisionamiento en intervalos de tiempo adecuados.

  • SMS entrante Puedes enviar mensajes SMS que la aplicación entienda. Esto puede definir un mensaje que inicia una actualización o comprueba automáticamente si hay un uso actualizado al recibir una notificación de umbral.

  • Servicio de notificaciones de Windows Cualquier aplicación para UWP puede registrarse para recibir notificaciones push y realizar acciones en función de su contenido. Puede usarlo como canal de notificación para aprovisionar actualizaciones.

  • Cambios de ubicación grandes Si se aplican parámetros diferentes a los usuarios que están en distintas configuraciones regionales, un cambio en la ubicación podría desencadenar que una aplicación aplique la configuración actualizada para la nueva ubicación del usuario.

  • Cambios en la zona horaria En el caso de los tamaños de regiones grandes, se puede usar un cambio en la zona horaria del sistema como proxy para los cambios de ubicación. Esto puede ser de especial interés en equipos que no tienen GPS o banda ancha móvil.

Aprovisionamiento basado en web

Un sitio web puede proporcionar datos de aprovisionamiento mediante la API window.external.msProvisionNetworks . Los archivos de aprovisionamiento que se proporcionan a esta API deben estar firmados mediante un certificado X.509 y XML-DSig.

Los certificados se pueden proporcionar previamente al equipo mediante la base de datos de APN, los metadatos del servicio o un archivo de metadatos de aprovisionamiento de cuentas anterior. Si el certificado ya es de confianza, no hay ninguna interacción del usuario. Si el certificado no se conoce previamente en el equipo, debe ser un certificado EV y se le pide al usuario su consentimiento antes de que se acepte el certificado.

Actualización automática del aprovisionamiento

Un archivo de aprovisionamiento puede incluir una directiva para que Windows recupere automáticamente un archivo de aprovisionamiento actualizado en un intervalo programado o en respuesta a un mensaje SMS específico. Este método no requiere que se instale una aplicación de banda ancha móvil en el equipo local.

Contenido de metadatos de aprovisionamiento

Los metadatos de aprovisionamiento incluyen las secciones siguientes:

Para obtener más información sobre estas secciones, consulta Esquema CarrierControlSchema.

Global

La sección global es necesaria en cada archivo de aprovisionamiento. Los elementos necesarios de esta sección son los siguientes:

  • CarrierId GUID que identifica de forma única la organización que creó el archivo. Si va a compilar una aplicación de banda ancha móvil, debe usar el GUID que especificó en el campo Número de servicio de ServiceInfo.xml en el paquete de metadatos del servicio. Para obtener información sobre el esquema del paquete de metadatos del servicio, consulte Referencia del esquema del paquete de metadatos de servicio.

    Nota

    Este es el mismo número de servicio que proporcionó en el Asistente para crear una experiencia de banda ancha móvil en el panel del Centro de desarrollo de Windows: hardware. Si no va a crear una aplicación de banda ancha móvil, puede generar un GUID para el uso de la organización. En cualquier caso, siempre debe usar el mismo GUID en todos los archivos de aprovisionamiento que emite la organización.

  • SubscriberId Cadena que identifica de forma única al cliente de la organización. Si usted es un operador de telefonía móvil, debe ser los intervalos IMSI o ICCID para operadores GSM o el identificador de proveedor o el nombre del proveedor para los operadores XAML. Si no es un operador de telefonía móvil, puede elegir cualquier cadena suficientemente única.

Activación

La activación del dispositivo se produce una vez completado el proceso de activación en el back-end. Es posible que el equipo tenga que seguir ciertas instrucciones antes de conectarse a la red. El motor de aprovisionamiento usa las instrucciones de activación recibidas en el elemento de activación del dispositivo. Si no se especifica ningún valor, no se requiere ninguna acción de cliente. Las acciones disponibles incluyen:

  • Volver a conectar Desconecte y conéctese a la red del operador.

    Volver a registrar Desconecte y regístrese en la red del operador.

  • Datos Datos o instrucciones que desea enviar al dispositivo para activar la conexión. El motor de aprovisionamiento pasa estos datos tal como están en el dispositivo. En el caso de SERVICE, esto puede incluir instrucciones como *228 para iniciar una sesión de programación de OTA y volver a conectarse a la red.

Información de banda ancha móvil

La información de banda ancha móvil contiene varios elementos:

MBNProfiles

Define la información del suscriptor en la red del operador de telefonía móvil. Hay dos perfiles diferentes que se pueden usar:

  • PurchaseProfile: información necesaria para conectarse a la red del operador para comprar una nueva suscripción.

  • DefaultProfile Cada suscripción de banda ancha móvil puede tener un perfil predeterminado que se usa para conectarse al operador de red doméstica. Windows Administrador de conexiones usa este perfil para conectarse automáticamente a la red.

    <MBNProfiles>
        <DefaultProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1">
          <Name>Contoso MBN</Name>
          <Description>Contoso Mobile Broadband</Description>
          <HomeProviderName>Contoso MBN</HomeProviderName>
          <Context>
            <AccessString>contoso.com</AccessString>
            <UserLogonCred>
              <UserName>mbuser</UserName>
              <Password>[PLACEHOLDER]</Password>
            </UserLogonCred>
          </Context>
        </DefaultProfile>
      </MBNProfiles>
    

Personalización de marca

Importante

A partir de Windows 10, versión 1709, los campos de personalización de marca aprovisionados por provisioningAgent API se han reemplazado por campos de personalización de marca en la base de datos COSA. El logotipo se ha reemplazado por el icono de personalización de marca en COSA y el nombre se ha reemplazado por el nombre de marca en COSA.

El logotipo y el nombre ya no se tendrán en cuenta al aprovisionar en Windows 10, versión 1709 y posteriores. La API ProvisioningAgent no producirá un error si se usan, pero debe cambiar el icono de personalización de marca y el nombre de personalización de marca en COSA en su lugar.

Para obtener más información sobre el icono de personalización de marca y el nombre de personalización de marca, consulte Configuración de la base de datos DE ESCRITORIO COSA/APN (configuración de solo COSA de escritorio).

La personalización de marca le permite especificar cómo Windows muestra sus redes de banda ancha móvil. Esta información invalida los metadatos del servicio, si están presentes. Si no se proporciona información, se usa el contenido del paquete de metadatos del servicio. Los elementos de personalización de marca son los siguientes:

  • Logo Un archivo .PNG or.BMP codificado en Base64 que está incrustado en el XML. Este logotipo se aplica a los perfiles de banda ancha móvil para mostrarlos en la lista de redes.

  • Nombre Establece el nombre para mostrar del operador para los perfiles de banda ancha móvil.

Análisis de SMS

Puede aprovisionar las reglas para identificar un mensaje de texto y extraer información como parte del archivo XML de aprovisionamiento. Puede usar mensajes SMS para actualizar las estadísticas de uso de datos o para iniciar una actualización de la información de aprovisionamiento. Estos mensajes se pueden identificar mediante una combinación de lo siguiente:

  • Tipo de portador (SMS/USSD)

  • Remitente (solo SMS)

  • Expresión regular

Para obtener más información sobre las notificaciones sms, consulte Habilitación de notificaciones de operadores móviles y eventos del sistema.

Cada regla contiene la siguiente información:

  • Silencioso Si este valor es true, el mensaje solo da como resultado un evento MobileOperatorNotification . Si este valor es false, el mensaje da como resultado un evento SmsMessageReceived .

  • Remitente permitido Especifica la dirección reservada del remitente desde la que se permite que llegue la notificación. Este número debe coincidir exactamente con el número de remitente que se recibe en el mensaje SMS, incluido el formato internacional.

  • Patrón Expresión regular para identificar y, opcionalmente, extraer campos de datos del mensaje de texto. Este patrón coincidirá con todos los mensajes de un remitente: [^]*

  • RuleId Identificador de esta regla, que se pasa a la aplicación de banda ancha móvil como parte del evento MobileOperatorNotification . Este identificador permite a la aplicación saber qué regla hizo que el SMS desencadenara un evento MobileOperatorNotification y puede reducir la necesidad de la aplicación de volver a analizar el mensaje.

  • Campos y grupos Cada grupo de captura del patrón de expresión regular está asociado a un campo con nombre. Se usa para extraer y transformar los datos en un conjunto de valores utilizables. Por ejemplo, el primer grupo de coincidencias se puede asociar al campo Uso y el segundo grupo de coincidencias se puede asociar al campo UsageDataLimit . Esta asociación indica que el primer valor es la información de uso actual y el segundo valor es el uso máximo permitido.

    • Usage, UsagePercentage, UsageOverage, UsageOveragePercentage: expresa el uso actual como un número absoluto, como un porcentaje del límite de datos, como un número excesivo del límite de datos o como un porcentaje superior al límite de datos. Los valores absolutos pueden hacer referencia a un grupo que especifica la unidad en la que se expresa el valor.

    • UsageTimestamp: fecha y hora en la que se calcula el campo de uso. Esta información debe incluirse si se incluye un campo Usage\*. La cadena de formato contiene los siguientes identificadores para expresar cómo se debe interpretar la subcadena:

      Identificador Descripción
      %d Día del mes como número decimal (01 – 31)
      %H Hora en formato de 24 horas (00 – 23)
      %I Hora en formato de 12 horas (01 – 12)
      %m Mes como número decimal (01 – 12)
      %M Minuto como número decimal (00 – 59)
      %S Segundo como número decimal (00 – 59)
      %y Año sin siglo como número decimal (00 – 99)
      %Y Año con siglo, como número decimal (0000-9999)
      %p Indicador am/PM
      %#d, %#H, %#I, %#m, %#M, %#S, %#y, %#Y Igual que antes, pero sin ceros iniciales
    • DataLimit: número absoluto de bytes que el usuario puede usar; esto incluye un grupo que especifica la unidad en la que se expresa el valor.

    • OverDataLimit, Congested: modifica las marcas que se notifican a las aplicaciones para indicar que el usuario ha superado su límite de datos o que la red está bajo mucha carga.

    • InboundBandwidth, OutboundBandwidth: si la red impone un ancho de banda máximo, especifica los grupos que representan el valor y las unidades.

    • PlanType: especifica cómo se cobra al usuario por uso futuro.

Precaución Dado que los mensajes SMS influyen en el comportamiento de Windows, solo se pueden consumir mensajes SMS de confianza. La seguridad se mantiene mediante la restricción de la dirección del remitente. Este método de seguridad supone que la puerta de enlace de SMS de la red garantiza que los mensajes de remitentes restringidos no se pueden suplantar.

Wi-Fi información

Esta sección le permite proporcionar cualquier número de perfiles de red de Wi-Fi para que Windows los use. El formato de la sección es similar al esquema XML que usa la API WLAN nativa de Windows.

Nota

Un perfil puede contener varios SSID, si todas las demás configuraciones son las mismas. Si las distintas redes varían de otras maneras (método de autenticación, configuración de cifrado, plan, etc.), debe crear perfiles adicionales.

Al especificar la sección WLAN, también debe especificar todos los perfiles que se deben configurar en el equipo. Si esos perfiles hacen referencia a un plan de datos, también se debe incluir la sección planes. El comportamiento que se produce cuando se procesa esta sección es el siguiente:

  • Si el equipo tiene un perfil que ya no se especifica, se elimina.

  • Si especifica un perfil, se actualiza o crea.

  • Una sección WLAN vacía elimina todos los perfiles.

  • La omisión de la sección WLAN deja los perfiles WLAN en la máquina sin cambios.

Un nodo adicional de esta sección es el plan asociado. Este nodo permite a Windows asociar el perfil WLAN a un plan que se describe en la sección planes. El plan le permite informar a Windows del estado de medición de la red e influir en el comportamiento de Windows durante el tiempo en que el equipo está conectado a la red.

Red sin cifrar, sin autenticación automática

Este perfil configura Windows para conectarse a una red abierta.

  • Si esta red contiene un portal cautivo, el explorador se abre tras la conexión a la red.

  • Si la red no contiene un portal cautivo, el usuario se conecta sin ninguna acción adicional.

<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
  <name>Contoso Wi-Fi</name>
  <SSIDConfig>
    <SSID>
      <name>Contoso Wi-Fi</name>
    </SSID>
  </SSIDConfig>
  <MSM>
    <security>
      <authEncryption>
        <authentication>open</authentication>
        <encryption>none</encryption>
        <useOneX>false</useOneX>
      </authEncryption>
    </security>
  </MSM>
</WLANProfile>

Red sin cifrar, autenticación WISPr

Este perfil configura Windows para conectarse a una red abierta y usa la autenticación de itinerancia del proveedor de servicios de Internet inalámbrico (WISPr):

  • Si la red contiene un portal cautivo compatible con WISPr, el nombre de usuario y la contraseña especificados se envían al servidor de autenticación especificado.

  • Si el portal cautivo no es capaz de WISPr, el explorador se abre tras la conexión a la red.

  • Si la red no contiene un portal cautivo, el usuario se conecta sin ninguna acción adicional.

<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
  <name>Contoso Wi-Fi</name>
  <SSIDConfig>
    <SSID>
      <name>Contoso Wi-Fi</name>
    </SSID>
  </SSIDConfig>
  <MSM>
    <security>
      <authEncryption>
        <authentication>open</authentication>
        <encryption>none</encryption>
        <useOneX>false</useOneX>
      </authEncryption>
      <HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1">
        <UserName>WisprUser1</UserName>
        <Password>[PLACEHOLDER]</Password>
        <TrustedDomains>
          <TrustedDomain>www.contosoportal.com</TrustedDomain>
        </TrustedDomains>
      </HotspotProfile>
    </security>
  </MSM>
</WLANProfile>

Red cifrada, autenticación de EAP-SIM

Este perfil configura Windows para conectarse a una red cifrada mediante un SIM como tipo de autenticación, como una red de Hotspot 2.0. Hotspot 2.0 define dicha red para usar WPA2-Enterprise con autenticación EAP-SIM.

<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
  <name>Contoso Wi-Fi</name>
  <SSIDConfig>
    <SSID>
      <name>Contoso Wi-Fi</name>
    </SSID>
  </SSIDConfig>
  <MSM>
    <security>
      <authEncryption>
        <authentication>WPA2</authentication>
        <encryption>AES</encryption>
        <useOneX>true</useOneX>
      </authEncryption>
      <OneX xmlns="http://www.microsoft.com/networking/OneX/v1">
        <EAcomputeronfig>
          <!-- The config XML for all EA methods can be found at: https://learn.microsoft.com/openspecs/windows_protocols/ms-gpwl/44d403cd-4b2b-4519-b475-b48dc7124bfb -->
          <EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
            <EapMethod>
              <Type>18</Type>
              <VendorId>0</VendorId>
              <VendorType>0</VendorType>
              <AuthorId>311</AuthorId>
            </EapMethod>
            <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
              <EapSim xmlns="http://www.microsoft.com/provisioning/EapSimConnectionPropertiesV1">
                <Realm Enabled="true"></Realm>
              </EapSim>
            </Config>
          </EapHostConfig>
        </EAcomputeronfig>
      </OneX>
    </security>
  </MSM>
</WLANProfile>

Red sin cifrar, autenticación basada en aplicaciones

Este perfil configura Windows para conectarse a una red abierta y usar la autenticación WISPr en cooperación con la aplicación de banda ancha móvil.

  • Si la red contiene un portal cautivo, la aplicación se abre en segundo plano para proporcionar credenciales de WISPr. A continuación, las credenciales se envían al servidor de autenticación especificado.

  • Si el portal cautivo no es capaz de WISPr, el explorador se abre tras la conexión a la red.

  • Si la red no contiene un portal cautivo, el usuario se conecta sin ninguna acción adicional.

<WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
  <name>Contoso WiFi</name>
  <SSIDConfig>
    <SSID>
      <name>Contoso Wi-Fi</name>
    </SSID>
  </SSIDConfig>
  <MSM>
    <security>
      <authEncryption>
        <authentication>open</authentication>
        <encryption>none</encryption>
        <useOneX>false</useOneX>
      </authEncryption>
      <HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1">
        <ExtAuth>
          <ExtensionId>YourAppIdGoesHere</ExtensionId>
        </ExtAuth>
        <TrustedDomains>
          <TrustedDomain>www.contosoportal.com</TrustedDomain>
        </TrustedDomains>
      </HotspotProfile>
    </security>
  </MSM>
</WLANProfile>

Información de los planes

Cada perfil de banda ancha móvil y punto de acceso hace referencia a un plan. Varios perfiles pueden hacer referencia al mismo plan. Los planes se describen en una sección independiente de nivel superior.

El plan se divide en dos secciones: Descripción y Uso. Esto le permite proporcionar inicialmente perfiles y descripciones en un archivo de aprovisionamiento más grande y, a continuación, proporcionar archivos de aprovisionamiento más pequeños que contengan solo el uso actual del cliente.

Esta información se usa para afectar directamente al comportamiento de Windows y se proporciona a las aplicaciones para adaptar su comportamiento a la red. Esta información se puede poner a disposición de las aplicaciones de terceros a través de las API de información de red.

Descripción

Los elementos que suelen cambiar con baja frecuencia durante el período de suscripción de un cliente, entre los que se incluyen:

  • PlanType Tipo de relación de facturación que el cliente tiene con el operador:

    • Irrestricto El uso no incurre en costos adicionales.

    • Fijo Al usuario se le asigna una cierta cantidad de uso por un costo fijo.

    • Variable El usuario paga en función del uso.

  • SecurityUpdatesExempt Valor booleano que especifica si las actualizaciones de seguridad cuentan para el uso del cliente.

  • DataLimitInMegabytes El uso asignado del usuario, si PlanType es Fijo.

  • BillingCycle Define la fecha y hora de inicio del plan, su duración y lo que sucede al final del ciclo de facturación.

  • BandwidthInKbps Velocidad de conexión del usuario según lo permitido por la red; esto puede reflejar la norma para su plan, o reflejar una tasa más baja impuesta actualmente por el transportista debido a la congestión o uso excesivo (máximo de 2 Gbps).

  • MaxTransferSizeInMegabytes Entero que expresa el tamaño de una descarga individual que una aplicación compatible debe permitir a través de una conexión de uso medido, sin la aprobación explícita del usuario de la conexión que se usa.

  • UserSMSEnabled Indica si el plan incluye compatibilidad con SMS de usuario a usuario. Si es true, Windows mantendrá el dispositivo conectado a la red en modo de espera conectado incluso cuando no se use la interfaz de banda ancha móvil. Si es false, Windows puede apagar la interfaz de banda ancha móvil para conservar la energía, lo que hace que el dispositivo no sea direccionable por la red cuando el equipo esté inactivo.

Uso

Los siguientes elementos pueden cambiar con mayor frecuencia:

  • UsageInMegabytes El uso de datos más reciente del usuario.

  • OverDataLimit Valor booleano que indica si el usuario ha pasado el uso asignado, si PlanType es Fixed.

  • Congestionada Valor booleano que indica si se impone una velocidad de conexión inferior a la habitual debido al uso excesivo. La marca Congested indica que la red está experimentando actualmente (o espera experimentar) una carga pesada, y las transferencias de prioridad inferior se deben aplazar hasta otro momento, si es posible. Puede usar esta marca para indicar conceptos como horas punta o para responder a un punto de acceso sobrecargado.

Actualizar

Puede insertar la configuración actualizada en el equipo según sea necesario debido a los cambios de red o al soporte técnico. Windows intenta actualizar periódicamente mediante la información proporcionada por usted o por la API de aprovisionamiento. Las notificaciones SMS pueden desencadenar una actualización desde el operador. Para habilitar Refresh, debe proporcionar la siguiente información en el XML de aprovisionamiento:

  • TrustedCertificates Lista de huellas digitales de certificado que tienen firmas de confianza en archivos de aprovisionamiento futuros.

  • DelayInDays Número (entero) de días antes de los que no se intenta actualizar.

  • RefreshURL Dirección URL HTTPS para obtener la copia más reciente del archivo de aprovisionamiento del usuario.

  • UserName & Credenciales opcionales que se van a presentar mediante HTTP-Auth al recuperar el archivo de reaprovisionamiento. Esta información debe cifrarse cuando se almacena.

Como alternativa, la aplicación de banda ancha móvil puede proporcionar un nuevo archivo de aprovisionamiento en cualquier momento, en función de la comunicación entre la aplicación y el back-end del operador.

<RefreshParameters>
      <DelayInDays>30</DelayInDays>
      <RefreshURL>https://www.contoso.com/refresh</RefreshURL>
      <Username>[PLACEHOLDER]</Username>
      <Password>[PLACEHOLDER]</Password>
    </RefreshParameters>

Firma

Dado que el aprovisionamiento modifica la configuración del sistema que persiste después de que el usuario haya salido o desinstalado la aplicación, se requiere una medida más estricta de comprobación que para la mayoría de las API. Esta comprobación se proporciona mediante una combinación de hardware específico del operador (sim), firmas criptográficas y confirmación del usuario.

Requisitos de aprovisionamiento:

¿Sim presente? Origen del aprovisionamiento Requisito de firma Requisito de confirmación del usuario
Sí, proveedor mb Aplicación de banda ancha móvil None None
Sí, proveedor mb Sitio web del operador Certificado:
vuelva a encadenar a la entidad de certificación raíz de confianza.
- Asociarse con hardware de banda ancha móvil en la base de datos de APN o metadatos de experiencia.
None
No, proveedor de Wi-Fi Sitio web del appor de banda ancha móvil Certificado:
vuelva a encadenar a la entidad de certificación raíz de confianza.
- Marcarse para validación extendida.
Se pide al usuario que confirme la primera vez que se usa el certificado; no se requiere ninguna confirmación a partir de entonces.

Combinaciones permitidas

Aunque Global es el único nodo de primer nivel que requiere el esquema, algunas combinaciones de otros nodos son típicas. En esta sección se describen estas combinaciones típicas:

  • Perfiles (WLANProfiles, MBNProfiles) + Planes que incluyen descripción y uso Crea o actualiza el conjunto completo de perfiles y aplica la información del plan y el uso actual a cada uno. Se devuelve un error si un perfil hace referencia a un plan que no se especifica en el mismo archivo de aprovisionamiento y se devuelve una advertencia si ningún perfil del archivo de aprovisionamiento hace referencia a un plan especificado.

  • Planes que incluyen Descripción y (opcionalmente) Uso Novedades Información del plan para los perfiles existentes en el equipo, pero no modifica los perfiles del equipo. Se devuelve una advertencia si ningún perfil del equipo hace referencia a un plan especificado.

  • Los planes que incluyen uso solo Novedades información de uso en los perfiles existentes en el equipo, pero no modifica los perfiles ni la descripción del plan asociado a cada perfil.

Escenarios comunes

Estos son algunos escenarios comunes que puede necesitar al crear metadatos de aprovisionamiento:

Búsqueda del esquema de aprovisionamiento de cuentas

Los esquemas XSD están disponibles en %SYSTEMROOT%\schemas\provisioning en cualquier equipo que ejecute Windows 8, Windows 8.1 o Windows 10.

Aplicación de XML de aprovisionamiento al dispositivo

Puedes aplicar un archivo XML de aprovisionamiento a un dispositivo mediante una aplicación de banda ancha móvil, una aplicación para UWP o desde un sitio web.

Para aprovisionar desde una aplicación de banda ancha móvil:

  1. Cree una instancia de ProvisioningAgent (mediante Windows.Networking.NetworkOperators.ProvisioningAgent.CreateFromNetworkAccountId).

  2. Llame a ProvisionFromXmlDocumentAsync y pase el documento XML de aprovisionamiento sin firmar.

Se completa la operación asincrónica y se devuelven los resultados de la operación de aprovisionamiento.

Para aprovisionar desde una aplicación para UWP distinta de la aplicación de banda ancha móvil:

  1. Generar un documento XML de aprovisionamiento de cuentas firmado.

  2. Cree una instancia de ProvisioningAgent (mediante el constructor predeterminado).

  3. Llame a ProvisionFromXmlDocumentAsync y pase el documento XML firmado.

La operación asincrónica se completa y se devuelven los resultados de la operación de aprovisionamiento.

Desde un sitio web:

  1. Generar un documento XML de aprovisionamiento de cuentas firmado.

  2. Llame a window.external.msProvisionNetworks y pase el documento XML firmado.

La operación se completa y se devuelven los resultados de la operación de aprovisionamiento.

Aprovisionamiento del dispositivo para conectarse automáticamente a una red de banda ancha móvil

Puede definir un documento XML de aprovisionamiento mediante una sección MBNProfile .

<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
    <Global>
        <CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
        <SubscriberId>1234567890</SubscriberId>
    </Global>
    <MBNProfiles>
      <DefaultProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1">
          <Name>Profile Name</Name>
          <Description>The Description</Description>
          <HomeProviderName>Contoso</HomeProviderName>
          <Context>
              <AccessString>apn</AccessString>
              <UserLogonCred>
                  <UserName>username</UserName>
                  <Password>[PLACEHOLDER]</Password>
              </UserLogonCred>
          </Context>
      </DefaultProfile>
    </MBNProfiles>
</CarrierProvisioning>

Nota

Se requieren los elementos secundarios de DefaultProfile . Consulte la referencia del esquema XML de aprovisionamiento para obtener más detalles.

Aprovisionamiento del dispositivo para conectarse automáticamente a una red de Wi-Fi

Puede definir un documento XML de aprovisionamiento mediante una sección WlanProfiles .

<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
  <Global>
    <CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
    <SubscriberId>1234567890</SubscriberId>
  </Global>
  <WLANProfiles>
    <WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
      <name>My Wi-Fi Hotspot</name>
      <SSIDConfig>
        <SSID>
          <name>wifihotspot1</name>
        </SSID>
      </SSIDConfig>
      <MSM>
        <security>
          <authEncryption>
            <authentication>open</authentication>
            <encryption>none</encryption>
            <useOneX>false</useOneX>
          </authEncryption>
        </security>
      </MSM>
    </WLANProfile>
  </WLANProfiles>
</CarrierProvisioning>

Los elementos secundarios de MSM definen cómo conectarse a la red. Esto incluye cualquier configuración de EAP necesaria. Se admiten todos los elementos secundarios del elemento MSM en el esquema de WLAN_profile . Consulte la referencia del esquema XML de aprovisionamiento para obtener más detalles.

Aprovisionar el dispositivo para conectarse automáticamente a una zona activa habilitada para WISPr

Puede usar cualquiera de las dos maneras siguientes para habilitar la autenticación de punto de acceso:

  1. Declare directamente las credenciales mediante la directiva BasicAuth :

    <?xml version="1.0"?>
    <CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
      <WLANProfiles>
        <WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
          <name>Contoso Wi-Fi</name>
          <SSIDConfig>
            <SSID>
              <name>Contoso Wi-Fi</name>
            </SSID>
          </SSIDConfig>
          <MSM>
            <security>
              <authEncryption>
                <authentication>open</authentication>
                <encryption>none</encryption>
                <useOneX>false</useOneX>
              </authEncryption>
              <HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1">
                <BasicAuth>
                  <UserName>[PLACEHOLDER]</UserName>
                  <Password>[PLACEHOLDER]</Password>
                </BasicAuth>
                <TrustedDomains>
                  <TrustedDomain>hotspot.contoso.com</TrustedDomain>
                </TrustedDomains>
              </HotspotProfile>
            </security>
          </MSM>
        </WLANProfile>
      </WLANProfiles>
    </CarrierProvisioning>
    
  2. Redirigir a una aplicación para la autenticación mediante la directiva ExtAuth :

    <?xml version="1.0"?>
    <CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
      <WLANProfiles>
        <WLANProfile xmlns="http://www.microsoft.com/networking/CarrierControl/WLAN/v1">
          <name>Contoso Wi-Fi</name>
          <SSIDConfig>
            <SSID>
              <name>Contoso Wi-Fi</name>
            </SSID>
          </SSIDConfig>
          <MSM>
            <security>
              <authEncryption>
                <authentication>open</authentication>
                <encryption>none</encryption>
                <useOneX>false</useOneX>
              </authEncryption>
              <HotspotProfile xmlns="http://www.microsoft.com/networking/WLAN/HotspotProfile/v1">
                <ExtAuth>
                  <ExtensionId>Alice</ExtensionId>
                </ExtAuth>
                <TrustedDomains>
                  <TrustedDomain>hotspot.contoso.com</TrustedDomain>
                </TrustedDomains>
              </HotspotProfile>
            </security>
          </MSM>
        </WLANProfile>
      </WLANProfiles>
    </CarrierProvisioning>
    

Debe definir directamente las credenciales siempre que sea posible. El redireccionamiento a otra aplicación tiene implicaciones de potencia y complejidad.

Envío de activación al dispositivo de banda ancha móvil

Un objeto binario grande arbitrario (BLOB) que se encuentra dentro del elemento CarrierSpecificData puede codificarse en Base64 y enviarse al dispositivo mediante provisioningAgent. Para ello, use la directiva Activation<ServiceActivatation> en el XML de aprovisionamiento:

<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
  <Global>
    <CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
    <SubscriberId>1234567890</SubscriberId>
  </Global>
  <Activation>
    <ServiceActivation xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1">
      <CarrierSpecificData>YXJiaXRyYXJ5ZGF0YQ==</CarrierSpecificData>
    </ServiceActivation>
  </Activation>
</CarrierProvisioning>

Este método es equivalente a invocar el método IMbnVendorSpecificOperation::SetVendorSpecific de mobile Broadband API y pasar un SAFEARRAY junto con el contenido de BLOB.

Forzar que el dispositivo de banda ancha móvil se vuelva a conectar a la red después de que se complete el aprovisionamiento

Hay dos maneras de forzar que el dispositivo de banda ancha móvil se vuelva a conectar a la red después del aprovisionamiento: ReregisterToNetwork y ReconnectToNetwork.

Puede usar la directiva ReregisterToNetwork para forzar el nuevo registro en la red de banda ancha móvil activando la radio de banda ancha móvil y, a continuación, de nuevo. Una vez que la radio vuelve a activarse, el adaptador se conecta mediante el perfil predeterminado. Debe usar esta directiva con moderación y solo si es necesario anular el registro de la red después de la activación de la cuenta.

Puede usar la directiva ReconnectToNetwork cuando la activación de contexto debe aplicar cualquier nueva configuración de seguridad o directiva una vez completada la activación de la cuenta. Esto se hace desactivando el contexto PDP y reactivando en función de la configuración de perfil predeterminada para el adaptador de banda ancha móvil. Si el perfil predeterminado se actualiza en el mismo XML de aprovisionamiento, se usará la nueva configuración de perfil.

Opcionalmente, puede especificar estas directivas mediante recuentos de reintentos o intervalos y tiempos de ejecución retrasados.

Nota

Si la radio se ha activado correctamente en un ReregisterToNetwork , pero se produce un error en la conexión automática a la red mediante el perfil predeterminado, los reintentos posteriores no vuelven a activar la radio.

<?xml version="1.0"?>
<CarrierProvisioning xmlns="http://www.microsoft.com/networking/CarrierControl/v1">
  <Global>
    <CarrierId>{00000000-1111-2222-3333-444444444444}</CarrierId>
    <SubscriberId>1234567890</SubscriberId>
  </Global>
  <Activation>
      <!-- Cycle the radio and reconnect to the default profile with an 
           initial execution delay of 30 seconds and retries every 1 minute 
           up to 3 times.
           -->
      <ReregisterToNetwork
          xmlns="http://www.microsoft.com/networking/CarrierControl/WWAN/v1"
          Delay="PT30S"
          RetryCount="3"
          RetryInterval="PT1M"
          />
  </Activation>
</CarrierProvisioning>

Actualización de estadísticas de uso de datos para un perfil de conexión

Solo puede actualizar el uso de los perfiles que se aprovisionaron mediante ProvisioningAgent aplicando un nuevo archivo de aprovisionamiento de cuentas que tenga información actualizada del plan. Puede proporcionar un archivo de aprovisionamiento que contenga solo información de uso o solo información del plan. En función de la cantidad de configuración del sistema que desee cambiar, el nuevo archivo de aprovisionamiento puede incluir lo siguiente:

  • Perfiles, descripciones del plan y uso

  • Descripciones y uso del plan (actualiza los perfiles existentes)

  • Planeamiento del uso (actualiza los perfiles y planes existentes)

Si aplica nuevos perfiles y planes de referencia que no están definidos en el XML, los resultados del aprovisionamiento incluyen una advertencia.

Actualizar el uso de datos mediante un mensaje SMS

Esto se logra de una de las siguientes maneras:

  • Especifique un mensaje de operador, reciba un mensaje de notificación del operador, lea el mensaje mediante la API de SMS, analice el mensaje en la aplicación y, a continuación, establezca el uso mediante IProvisionedProfile.

  • Especifique una regla de mensaje de operador que tenga una combinación válida de campos de uso y proporcione directamente el uso actualizado en el SMS.

Solución de problemas

Si tiene problemas de aprovisionamiento, puede usar las secciones siguientes para ayudarle a averiguarlo.

Resultados de la API de aprovisionamiento

Si se produce un error en el aprovisionamiento, recibirá una excepción al intentar realizar la acción de aprovisionamiento. Entre los errores que pueden provocar excepciones se incluyen los siguientes:

  • El XML de aprovisionamiento no se ajusta al esquema CarrierControlSchema.

  • El XML de aprovisionamiento requiere una firma, pero no está firmada correctamente.

Errores de aprovisionamiento parcial

Es posible que las partes de la operación de aprovisionamiento no se realicen correctamente debido a diversos motivos. Por ejemplo, puede tener una referencia a Wi-Fi hardware que no está presente en el momento del aprovisionamiento. El agente de aprovisionamiento realiza un mejor intento de aprovisionar todo en el archivo. Cuando se produce un error en algo, se indica en los resultados de aprovisionamiento que se devuelven de forma asincrónica mediante ProvisionFromXmlDocumentAsync.

Los resultados se devuelven como XML y se pueden analizar para detectar el error. Los elementos proporcionan estructura para mostrar qué error y los atributos ErrorCode indican el motivo del error como HRESULT estándar.

Por ejemplo, el siguiente código de error indica que no se aprovisionaron perfiles WLAN porque el servicio WLAN no estaba activo:

<CarrierProvisioningResult>
    <WLANProfiles ErrorCode=”80070426”/>
</CarrierProvisioningResult>

Si no se pudo aplicar un perfil individual, aparecerá como se indica a continuación:

<CarrierProvisioningResult>
    <WLANProfiles>
        <WLANProfile Name=”MyProfile” ErrorCode=”80070005”/>
    </WLANProfiles>
</CarrierProvisioningResult>

Registros de eventos

Los eventos de los registros de aplicaciones y servicios\Microsoft\Windows\NetworkProvisioning\Operational channel pueden proporcionar comentarios detallados sobre los errores de aprovisionamiento.

Módulo ProvisioningTestHelper de PowerShell

Puede importar el módulo ProvisioningTestHelper desde los SDK de Windows 8, Windows 8.1 y Windows 10. Con este módulo, puede generar e instalar certificados EV, firmar un archivo XML mediante el certificado instalado y validar el XML con el esquema de aprovisionamiento. Para importar el módulo en una sesión de PowerShell, escriba el siguiente comando:

Import-Module "<path_to_sdk>\bin\<arch>\ProvisioningTestHelper.psd1"

Donde <path_to_sdk\bin\<arch>> es la ubicación de instalación del Windows 8, Windows 8.1 o Windows 10 SDK que corresponde a la arquitectura del equipo.

Después de importar este módulo, están disponibles los cuatro cmdlets de PowerShell siguientes:

  • Install-TestEVCert Genera un nuevo certificado de ENTIDAD de certificación, lo registra en el equipo de prueba como proveedor SSL de EV de confianza y lo usa para generar e instalar un certificado EV para su uso en la firma. Debe ejecutar este cmdlet solo una vez para instalar los certificados. Puede firmar cualquier número de archivos mediante los certificados.

    Install-TestEVCert -CertName <Certificate Name> -RootCertOutputPath <complete path to the folder to which the root certificate is to be exported>
    

    El certificado de cliente tiene el nombre especificado en el comando y el certificado raíz tiene "Raíz" anexado junto con el nombre del certificado de cliente. El parámetro -CertName es opcional. Si no se especifica el parámetro –CertName, se usa MBAPTestCert .

    El parámetro -RootCertOutputPath también es opcional. Se debe usar si desea exportar el certificado raíz que se va a instalar en otro equipo mediante el cmdlet Install-RootCertFromFile.

  • Install-RootCertFromFile Aplica el certificado raíz de prueba en un equipo diferente para probar la experiencia del cliente en un equipo distinto del equipo de desarrollo.

    Install-RootCertFromFile -CertFile <complete path to the root certificate>
    
  • ConvertTo-SignedXml Usa un certificado EV (generado para pruebas o emitido por un proveedor de terceros) para aplicar una firma de XML-DSig a un archivo XML de aprovisionamiento. Esta firma de un certificado de confianza hace que Windows acepte el archivo de aprovisionamiento como válido desde una aplicación de banda ancha móvil sin hardware asociado.

    ConvertTo-SignedXml -InputFile <complete path to the input XML file> -OutputFile <complete path to the output XML file> -CertName <name of the certificate used to sign the xml>
    

    Este comando firmará el archivo XML de entrada, colocará la firma en el XML y lo guardará en el archivo XML de salida.

  • Test-ValidProvisioningXml Valida el XML de aprovisionamiento (firmado o sin firmar) con el esquema de aprovisionamiento.

    Test-ValidProvisioningXml -InputFile <complete path to the input XML file>