Operaciones de contexto aprovisionadas de MB
El aprovisionamiento es fundamental para los dispositivos que se pueden conectar mediante red móvil, ya que cada operador de telefonía móvil tiene diferentes configuraciones de APN para su red. Por lo general, las configuraciones de APN se pueden dividir en dos categorías:
- Configuraciones de APN conocidas para el sistema operativo porque hay aplicaciones o clientes por encima del sistema operativo que requiere esas conexiones.
- Configuraciones de APN que no se conocen en el sistema operativo porque las consume internamente el módem para las conexiones que el sistema operativo y sus clientes no aprovechan.
Lo ideal sería que el módem solo almacenara las configuraciones APN que el sistema operativo no tiene por qué conocer. Sin embargo, los asociados de IHV y OEM han proporcionado tradicionalmente los APN de Internet y Compra, configuraciones conocidas para el sistema operativo, también en el módem. Antes del lanzamiento de Windows 10, versión 1703, Windows solo leía las configuraciones de Internet y Compra de APN desde el módem para establecer conexiones a Internet. A partir de Windows 10, versión 1703, puede haber casos adicionales en los que la configuración de APN del módem tendría que administrarse mediante Windows, especialmente si hay clientes en el sistema operativo, como la configuración de usuario u OMA-DM que desean cambiar la configuración de telefonía móvil. Esto también podría afectar a la configuración de APN del módem. Por ejemplo, podría haber una pila IMS en el módem que usa el APN de IMS para SMS a través de IMS. Normalmente, esas conexiones no se exponen al sistema operativo, pero en determinados escenarios es posible que la configuración de APN de IMS tenga que cambiarse. Este cambio se puede realizar a través del sistema operativo. Para permitirlo, a partir de Windows 10, versión 1703, el sistema operativo puede configurar diferentes tipos de APN en el módem.
Los MBIM 1.0 y NDIS de Microsoft del foro USB tienen cada uno un CID y un OID existentes, respectivamente, para permitir que el sistema operativo establezca y consulte las configuraciones de APN en el módem. Para MBIM 1.0, lo hace a través de MBIM_CID_PROVISIONED_CONTEXT mientras que para NDIS lo hace a través de OID_WWAN_PROVISIONED_CONTEXTS. Sin embargo, el CID y el OID existentes no se diseñaron con instrucciones claras sobre cómo se espera que el módem se comporte en diversas situaciones, como un ciclo de alimentación o intercambio de SIM. Los dispositivos que deseen admitir la configuración y actualización del sistema operativo de contextos aprovisionados por módem en adelante tendrán que implementar la versión más reciente del CID y el OID en Windows 10, versión 1703. Para garantizar la compatibilidad con versiones anteriores, para IHV/OEM que quieran admitir nuevo hardware en versiones del sistema operativo anteriores a 1703, tendrán que seguir admitiendo los MBIM_CID_PROVISIONED_CONTEXT y OID_WWAN_PROVISIONED_CONTEXTS existentes. A partir de Windows 10, versión 1703, si el dispositivo admite la nueva versión del CID y el OID, el sistema operativo solo usará la versión más reciente del comando para consultar y establecer la configuración de contexto de APN en el módem.
Actualización de la interfaz MB para las operaciones de contexto aprovisionadas
Aunque MBIM tiene un comando para recuperar y reemplazar contextos almacenados en el módem, no tiene un campo para "deshabilitar" o "habilitar" un perfil. Por lo tanto, el MBIM_CID_PROVISIONED_CONTEXT existente debe actualizarse para Windows 10, versión 1703, para incluir esta funcionalidad. Dado que MBIM no tiene un mecanismo de control de versiones, se define un nuevo CID propietario de MSFT como MBIM_CID_MS_PROVISIONED_CONTEXT_V2.
Nombre del servicio = Extensiones básicas de conexión
UUID = UUID_BASIC_CONNECT_EXTENSIONS
Valor de UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf
CID | Código de comando | Minimum OS Version |
---|---|---|
MBIM_CID_MS_PROVISIONED_CONTEXT_V2 | 1 | Windows 10, versión 1703 |
MBIM_CID_MS_PROVISIONED_CONTEXT_V2
Descripción
Aunque MBIM 1.0 ha definido MBIM_CID_PROVISIONED_CONTEXT para que el sistema operativo y sus clientes superiores gestionen los contextos aprovisionados en el módem, Windows tradicionalmente solo consultaba el contexto en el módem pero no lo establecía desde el sistema operativo. A partir de Windows 10, versión 1703, cada vez es más necesario que el sistema operativo pueda configurar los contextos en el módem. Por ejemplo, si hay una pila IMS en el módem que es opaca al sistema operativo, este debería poder especificar el IMS de APN que el módem debería utilizar. Dado que cada IHV de módem puede tener su propia forma de almacenar contextos en el módem, es imposible que el sistema operativo gestione perfiles en el nivel de ContextId de la forma que MBIM_CID_PROVISIONED_CONTEXT podría sugerir. En cambio, desde la perspectiva del sistema operativo es más importante prescribir qué contexto utilizar para cada tipo de contexto. Volviendo al ejemplo de IMS, independientemente del número de contextos aprovisionados existentes en el módem, si el sistema operativo establece un contexto que tiene MBIM_CONTEXT_TYPE = IMS, todo el tráfico de IMS iniciado por el módem solo debe intentarse en ese contexto.
MBIM 1.0 especifica que MBIM_CID_PROVISIONED_CONTEXT solo puede llamar a Query en contextos que coincidan con el ID de proveedor (par MCC/MNC) de la tarjeta SIM insertada. Para solicitudes Set, MBIM_CID_PROVISIONED_CONTEXT puede especificar el identificador de proveedor del contexto que quiere almacenar. MBIM_CID_MS_PROVISIONED_CONTEXT_V2 especifica un comportamiento similar pero diferente de MBIM 1.0. Para cada Query, el sistema operativo sigue esperando que el módem devuelva solo contextos que coincidan con el identificador de proveedor de la tarjeta SIM insertada. Para Set, el comando ya no habilitará el sistema operativo en contextos Set que no coincidan con el identificador de proveedor actual en la tarjeta SIM. Se espera que la solicitud Set sea crear un contexto para el identificador de proveedor actual de la tarjeta SIM presentada. Por ejemplo, el usuario intercambia de SIM 1 a SIM 2 y, a continuación, vuelve a SIM 1. Se espera que durante el primer intercambio de SIM, el módem debe resolver todos sus contextos antes de cargar el contexto para SIM 2. Cuando el usuario vuelve a cambiar a SIM 1, se debe restaurar la configuración predeterminada de fábrica de SIM 1. No se espera que el módem guarde la configuración en tiempo de ejecución en los intercambios de SIM.
En el diagrama siguiente se muestra un flujo de ejemplo para cuando un usuario intercambia de una SIM a otra y, a continuación, vuelve a la primera.
Los OEM e IHV que han preconfigurado el módem deben mantener la configuración de fábrica original en caso de que el sistema operativo o el usuario quiera restaurar la configuración de contexto en el módem a la configuración original. Solo se deben restaurar los contextos de fábrica originales para el identificador de proveedor de la SIM insertada actualmente. La configuración del sistema operativo nunca debe sobrescribir los contextos preconfigurados originales de fábrica. El diagrama siguiente es un flujo de ejemplo para cuando un usuario decide restaurar la configuración de fábrica:
Se espera que el módem produzca un error en la solicitudes Query o Set cuando falta la SIM, está bloqueada o no se puede acceder al identificador de proveedor. El módem debe tener solo un contexto por CONTEXT_TYPE por identificador de proveedor. Si el IHV u OEM decide preconfigurar los contextos del módem en el módem, es importante asegurarse de que los contextos están configurados correctamente para cada proveedor para el que elija hacerlo. En caso de que la tarjeta SIM insertada no tenga ningún contexto preconfigurado de IHV, el módem no debe tener ningún contexto sin la configuración del sistema operativo. Los IHV y OEM tienen que asegurarse de que MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceModemProvisioned para que el sistema operativo use el contexto del módem para la conexión, si existe, y no sobrescribirlo desde la base de datos de APN de Windows.
El modo en que los mapas del módem controlan el contexto y lo presentan de nuevo a través del MBIM_CID_PROVISIONED_CONTEXT existente depende de cada IHV y está fuera del ámbito de esta documentación.
El nuevo comando MBIM_CID_MS_PROVISONED_CONTEXT_V2 es casi idéntico al comando MBIM_CID_PROVISIONED_CONTEXT existente de MBIM 1.0, pero con varias adiciones. La primera proporciona al sistema operativo la capacidad de habilitar o deshabilitar el contexto asociado a un tipo de contexto en el módem. Cuando el contexto está deshabilitado en el módem, se espera que este no utilice el contexto almacenado para ninguna conexión con la red, ni siquiera las que no se hayan puesto en conocimiento del sistema operativo. Si el sistema operativo solicita una conexión que coincide con un contexto deshabilitado en el módem, el módem debe producir un error en la solicitud inmediatamente sin señalizar a la red. El proceso de coincidencia debe coincidir con todos los campos de la estructura MBIM_MS_CONTEXT_V2.
La estructura MBIM_CONTEXT_IP_TYPE de MBIM 1.0 solo se usa para MBIM_CID_CONNECT. En MBIM_CID_MS_PROVISIONED_CONTEXT_V2, Microsoft ha agregado el tipo IP como uno de los parámetros de cada contexto. El módem debe notificar MBIMContextIPTypeDefault si no está configurado para el contexto especificado.
En Windows 10, versión 1703, con nuevo hardware compatible con MBIM_CID_MS_PROVISIONED_CONTEXT_V2, la MBIM_CID_PROVISIONED_CONTEXT heredada no se usará desde componentes de primera entidad. Si hay otros componentes de cliente o sistema operativo heredados que envían MBIM_CID_PROVISIONED_CONTEXT, se espera que el módem devuelva resultados como lo hizo en versiones de Windows anteriores a Windows 10, versión 1703.
Consultar
MBIM_MS_PROVISIONED_CONTEXTS_INFO se devuelve desde los mensajes completos Query y Set en InformationBuffer.
Para Query, InformationBuffer es NULL.
Set
En Set, InformationBuffer contiene una estructura MBIM_MS_SET_PROVISIONED_CONTEXT_V2. En la operación Set, dado que cada IHV de módem puede tener formas propietarias de administrar el almacenamiento de contexto, el sistema operativo ya no especifica el campo ContextId y espera que el módem asigne los contextos a la ranura adecuada. Cuando el sistema operativo establece contextos, espera que el módem los use para todas las conexiones que coincidan con el MBIM_CONTEXT_TYPE del contexto especificado. Si el módem no reconoce el MBIM_CONTEXT_TYPE, debe almacenarlo aunque no se conecte a él.
Evento no solicitado
El InformationBuffer del evento contiene una estructura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2. En algunos casos, la red actualiza la lista de contextos aprovisionados, ya sea por vía inalámbrica (OTA) o por el servicio de mensajes cortos (SMS) que no pasa por el comando MBIM_CID_MS_PROVISIONED_CONTEXT_V2 desde el sistema operativo. La función debe actualizar la lista de contextos aprovisionados y etiquetar MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceOperatorProvisioned en consecuencia. Después, las funciones deben notificar al host las actualizaciones que usan este evento con la lista actualizada.
Parámetros
Operación | Set | Consultar | Notificación |
---|---|---|---|
Get-Help | MBIM_SET_MS_PROVISIONED_CONTEXT_V2 | No aplicable | No aplicable |
Respuesta | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 |
estructuras de datos
Consultar
InformationBuffer será NULL e InformationBufferLength será cero.
Set
La siguiente estructura de datos MBIM_SET_MS_PROVISIONED_CONTEXT_V2 se usará en InformationBuffer.
Contrapartida | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | Operación | MBIM_MS_CONTEXT_OPERATIONS | Especifica el tipo de operación para la que se usa el comando SET. Si se establece en MbimMsContextOperationDelete, se debe eliminar el contexto del MBIM_CONTEXT_TYPES especificado y se deben omitir todos los demás campos de MBIM_SET_MS_PROVISIONED_CONTEXT_V2. Si se establece en MbimMsContextOperationRestoreFactory, se deben quitar todos los contextos creados o modificados del sistema operativo, se deben cargar los contextos preconfigurados de fábrica predeterminados y se deben omitir todos los demás campos de MBIM_SET_MS_PROVISIONED_CONTEXT_V2. |
4 | 16 | ContextType | MBIM_CONTEXT_TYPES | Especifica el tipo de contexto que se representa; por ejemplo, conectividad a Internet, VPN (una conexión a una red corporativa) o Voz a través de IP (VOIP). Para obtener más información, consulte la tabla MBIM_CONTEXT_TYPES. |
20 | 4 | IPType | MBIM_CONTEXT_IP_TYPES | Especifica el tipo de contexto que se representa; por ejemplo, conectividad a Internet, VPN (una conexión a una red corporativa) o Voz a través de IP (VOIP). Para obtener más información, consulte la tabla MBIM_CONTEXT_IP_TYPES. |
24 | 4 | Habilitar | MBIM_MS_CONTEXT_ENABLE | Especifica si el módem podría usar el contexto. Si se establece en MbimMsContextDisabled, se debe generar un error en cualquier solicitud de conexión del sistema operativo que coincida con el contexto sin señalizar a la red. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_ENABLE. |
28 | 4 | Movilidad | MBIM_MS_CONTEXT_ROAMING_CONTROL | Especifica si la itinerancia está permitida o no para este contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_ROAMING_CONTROL. |
32 | 4 | MediaType | MBIM_MS_CONTEXT_MEDIA_TYPE | Especifica para qué tipo de transporte de medios se utiliza el contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_MEDIA_TYPE. |
36 | 4 | Source | MBIM_MS_CONTEXT_SOURCE | Especifica el origen de creación del contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_SOURCE. |
40 | 4 | AccessStringOffset | OFFSET | Desplazamiento en el búfer de datos a una cadena, AccessString, para acceder a la red. En el caso de las redes basadas en GSM, sería una cadena de nombre de punto de acceso (APN), como "data.thephone-company.com". En el caso de las redes basadas en CDMA, esto podría ser un código de marcado especial, como "#777" o un identificador de acceso a la red (NAI), como "foo@thephone-company.com". Este miembro puede ser NULL para solicitar que la red asigne el APN predeterminado. Nota: no todas las redes admiten esta convención de APN NULL, por lo que un error de conexión causado por un APN no válido es un resultado posible. El tamaño de la cadena no debe superar los 100 caracteres. |
44 | 4 | AccessStringSize | SIZE(0..200) | Tamaño usado para AccessString. |
48 | 4 | UserNameOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, a una cadena, UserName, que representa el nombre de usuario que se va a autenticar. Este miembro puede ser NULL. |
52 | 4 | UserNameSize | SIZE(0..510) | Tamaño usado para UserName . |
56 | 4 | PasswordOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, a una cadena, Password, que representa la contraseña del nombre de usuario. Este miembro puede ser NULL. |
60 | 4 | PasswordSize | SIZE(0..510) | Tamaño usado para la contraseña. |
64 | 4 | Compresión | MBIM_COMPRESSION | Especifica la compresión que se va a usar en la conexión de datos para el encabezado y los datos. Este miembro solo se aplica a los dispositivos basados en GSM. El host establece este miembro en MBIMCompressionNone para dispositivos basados en CDMA. Para más información, consulte la tabla MBIM_COMPRESSION. |
68 | 4 | AuthProtocol | MBIM_AUTH_PROTOCOL | Tipo de autenticación que se va a usar para la activación de PDP. Para obtener más información, consulte la tabla MBIM_AUTH_PROTOCOL. |
72 | 4 | DataBuffer | DATABUFFER | Búfer de datos que contiene AccessString, UserName y Password. |
Las siguientes estructuras de datos se usan en la tabla anterior.
MBIM_MS_CONTEXT_ROAMING_CONTROL especifica la directiva de itinerancia por contexto. El sistema operativo puede especificar si el contexto especificado se puede habilitar o no durante la itinerancia. El módem no debe activar automáticamente el contexto sin intervención del sistema operativo si el estado de itinerancia no cumple las condiciones especificadas. En los casos en los que el módem no admite asociados, todas las configuraciones de asociados deben tratarse como equivalentes a domésticas.
Tipo | Valor | Descripción |
---|---|---|
MbimMsContextRoamingControlHomeOnly | 0 | Indica si solo se permite usar o no el contexto en la red doméstica. |
MbimMsContextRoamingControlPartnerOnly | 1 | Indica si el contexto solo se puede usar en redes de itinerancia de asociados o no. |
MbimMsContextRoamingControlNonPartnerOnly | 2 | Indica si el contexto solo se puede usar en redes de itinerancia no de asociados o no. |
MbimMsContextRoamingControlHomeAndPartner | 3 | Indica si el contexto se puede usar o no en redes de itinerancia domésticas y de asociados. |
MbimMsContextRoamingControlHomeAndNonPartner | 4 | Indica si el contexto se puede usar o no en redes de itinerancia domésticas y no de asociados. |
MbimMsContextRoamingControlPartnerAndNonPartner | 5 | Indica si el contexto se puede usar o no en redes de itinerancia de asociados y no de asociados. |
MbimMsContextRoamingControlAllowAll | 6 | Indica si se permite usar o no el contexto en cualquier condición de itinerancia. |
MBIM_MS_CONTEXT_MEDIA_TYPE se ha agregado para poder especificar si el contexto se usa para la telefonía móvil o iWLAN cuando la descarga Wi-Fi se admite en plataformas futuras. Por ejemplo, si un contexto se establece como móvil y el módem está descargando actualmente Wi-Fi, no debe iniciar una conexión mediante ese contexto.
Tipo | Valor | Descripción |
---|---|---|
MbimMsContextMediaTypeCellularOnly | 0 | Indica si solo se permite usar el contexto cuando se registra a través de telefonía móvil. |
MbimMsContextMediaTypeWifiOnly | 1 | Indica si solo se permite usar el contexto cuando se registra a través de iWLAN (descarga Wi-Fi). |
MbimMsContextMediaTypeAll | 2 | Indica si se permite usar el contexto cuando se registra a través de telefonía móvil o Wi-Fi. |
MBIM_MS_CONTEXT_ENABLE especifica si un contexto está habilitado o deshabilitado.
Tipo | Valor | Descripción |
---|---|---|
MbimMsContextDisabled | 0 | El contexto aprovisionado está deshabilitado. El módem no debe habilitar la activación en este contexto desde el sistema operativo y desde sí mismo. |
MbimMsContextEnabled | 1 | El contexto aprovisionado está habilitado. El contexto se puede habilitar si se cumplen otras condiciones; por ejemplo, si no se permite la itinerancia, el contexto no debe habilitarse durante la itinerancia. |
MBIM_MS_CONTEXT_SOURCE se ha agregado para proporcionar visibilidad del sistema operativo sobre cómo se creó el contexto del módem. Esto ayuda al sistema operativo a comportarse correctamente después de varias situaciones, como el restablecimiento de fábrica, por lo que puede saber qué debe persistir y qué se debe devolver al estado predeterminado en función de los distintos requisitos del operador.
Tipo | Valor | Descripción |
---|---|---|
MbimMsContextSourceAdmin | 0 | El contexto lo creó un administrador de TI empresarial desde el sistema operativo. |
MbimMsContextSourceUser | 1 | El usuario creó el contexto mediante la configuración del sistema operativo. |
MbimMsContextSourceOperator | 2 | El operador creó el contexto a través de OMA-DM u otros canales. |
MbimMsContextSourceModem | 3 | El contexto lo creó el IHV u OEM que se incluyó con el firmware del módem. |
MbimMsContextSourceDevice | 4 | La base de datos de APN del sistema operativo creó el contexto. |
MBIM_MS_CONTEXT_OPERATIONS especifica las operaciones que el sistema operativo puede realizar para configurar contextos en el módem.
Tipo | Valor | Descripción |
---|---|---|
MbimMsContextOperationDefault | 0 | Operación predeterminada, incluida la adición o sustitución de un contexto existente en el módem. |
MbimMsContextOperationDelete | 1 | La operación de eliminación requiere que el módem elimine un contexto existente en el módem. |
MbimMsContextOperationRestoreFactory | 2 | Restaure el contexto preconfigurado de fábrica para el identificador de proveedor de la SIM insertada actualmente. Todos los contextos reemplazados o creados por el sistema operativo deben quitarse y reemplazarse. Si no hay ningún contexto predeterminado del sistema operativo preconfigurado para el identificador de proveedor de la SIM insertada actual, se debe quitar el contexto aprovisionado en el módem. |
MBIM_CONTEXT_TYPES original de MBIM 1.0 sigue siendo válido. Microsoft está agregando tipos de contexto adicionales a medida que se introducen más tipos de contextos desde que se definió MBIM 1.0. En la tabla siguiente se definen los nuevos tipos que se están introduciendo. Los IHV y OEM pueden definir otros tipos de contexto propietarios con otros valores UUID únicos que no serán reconocibles por el sistema operativo para sus propios fines.
Tipo | Valor | Descripción |
---|---|---|
MBIMMsContextTypeAdmin | 5f7e4c2e-e80b-40a9-a239-f0abcfd11f4b | El contexto se usa para fines administrativos, como la administración de dispositivos. |
MBIMMSContextTypeApp | 74d88a3d-dfbd-4799-9a8c-7310a37bb2ee | El contexto se usa para determinadas aplicaciones permitidas por operadores móviles. |
MBIMMsContextTypeXcap | 50d378a7-baa5-4a50-b872-3fe5bb463411 | El contexto se usa para el aprovisionamiento de XCAP en los servicios IMS. |
MBIMMsContextTypeTethering | 5e4e0601-48dc-4e2b-acb8-08b4016bbaac | El contexto se usa para el tethering de puntos de acceso móviles. |
MBIMMsContextTypeEmergencyCalling | 5f41adb8-204e-4d31-9da8-b3c970e360f2 | El contexto se usa para las llamadas de emergencia de IMS. |
Respuesta
La siguiente estructura MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 se usará en InformationBuffer.
Contrapartida | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | ElementCount (EC) | UINT32 | Recuento de estructuras MBIM_MS_CONTEXT_V2 que siguen en DataBuffer. |
4 | 8 * EC | MsProvisionedContextV2RefList | OL_PAIR_LIST | El primer elemento del par es un desplazamiento de 4 bytes en bytes, calculado desde el principio (desplazamiento 0) de esta estructura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2 a una estructura MBIM_MS_CONTEXT_V2 (para obtener más información, consulte la tabla MBIM_MS_CONTEXT_V2). El segundo elemento del par es un tamaño de 4 bytes de un puntero a la estructura MBIM_MS_CONTEXT_V2 correspondiente. |
4 + 8 * EC | DataBuffer | DATABUFFER | Matriz de estructuras MBIM_MS_CONTEXT_V2. |
MBIM_MS_CONTEXT_V2, que se usa en la tabla anterior, proporciona información sobre un contexto determinado.
Contrapartida | Size | Campo | Tipo | Descripción |
---|---|---|---|---|
0 | 4 | ContextId | UINT32 | Un identificador único para este contexto. |
4 | 16 | ContextType | MBIM_CONTEXT_TYPES | Especifica el tipo de contexto que se representa; por ejemplo, conectividad a Internet, VPN (una conexión a una red corporativa) o Voz a través de IP (VOIP). Los dispositivos deben especificar MBIMContextTypeNone para contextos vacíos o no aprovisionados. Para obtener más información, consulte la tabla MBIM_CONTEXT_TYPES. |
20 | 4 | IPType | MBIM_CONTEXT_IP_TYPES | Para obtener más información, consulte la tabla MBIM_CONTEXT_IP_TYPES. |
24 | 4 | Habilitar | MBIM_MS_CONTEXT_ENABLE | Especifica si el módem podría usar el contexto. Si se establece en MbimMsContextDisabled, se debe generar un error en cualquier solicitud de conexión del sistema operativo que coincida con el contexto sin señalizar a la red. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_ENABLE. |
28 | 4 | Movilidad | MBIM_MS_CONTEXT_ROAMING_CONTROL | Especifica si la itinerancia está permitida o no para este contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_ROAMING_CONTROL. |
32 | 4 | MediaType | MBIM_MS_CONTEXT_MEDIA_TYPE | Especifica para qué tipo de transporte de medios se utiliza el contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_MEDIA_TYPE. |
36 | 4 | Source | MBIM_MS_CONTEXT_SOURCE | Especifica el origen de creación del contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_SOURCE. |
40 | 4 | AccessStringOffset | OFFSET | Desplazamiento en el búfer de datos a una cadena, AccessString, para acceder a la red. En el caso de las redes basadas en GSM, sería una cadena de nombre de punto de acceso (APN), como "data.thephone-company.com". En el caso de las redes basadas en CDMA, esto podría ser un código de marcado especial, como "#777" o un identificador de acceso a la red (NAI), como "foo@thephone-company.com". Este miembro puede ser NULL para solicitar que la red asigne el APN predeterminado. Nota: no todas las redes admiten esta convención de APN NULL, por lo que un error de conexión causado por un APN no válido es un resultado posible. El tamaño de la cadena no debe superar los 100 caracteres. |
44 | 4 | AccessStringSize | SIZE(0..200) | Tamaño usado para AccessString. |
48 | 4 | UserNameOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, a una cadena, UserName, que representa el nombre de usuario que se va a autenticar. Este miembro puede ser NULL. |
52 | 4 | UserNameSize | SIZE(0..510) | Tamaño usado para UserName. |
56 | 4 | PasswordOffset | OFFSET | Desplazamiento en bytes, calculado desde el principio de esta estructura, a una cadena, Password, que representa la contraseña del nombre de usuario. Este miembro puede ser NULL. |
60 | 4 | PasswordSize | SIZE(0..510) | Tamaño usado para la contraseña. |
64 | 4 | Compresión | MBIM_COMPRESSION | Especifica la compresión que se va a usar en la conexión de datos para el encabezado y los datos. Este miembro solo se aplica a los dispositivos basados en GSM. El host establece este miembro en MBIMCompressionNone para dispositivos basados en CDMA. Para más información, consulte la tabla MBIM_COMPRESSION. |
68 | 4 | AuthProtocol | MBIM_AUTH_PROTOCOL | Tipo de autenticación que se va a usar para la activación de PDP. Para obtener más información, consulte la tabla MBIM_AUTH_PROTOCOL. |
72 | DataBuffer | DATABUFFER | Búfer de datos que contiene AccessString, UserName y Password. |
Notificación
Para obtener más información, consulte la tabla MBIM_MS_PROVISIONED_CONTEXT_V2.
Códigos de estado
Para las operaciones Query y Set:
Código de estado | Descripción |
---|---|
MBIM_STATUS_READ_FAILURE | Error en la operación porque el dispositivo no pudo recuperar contextos aprovisionados. |
MBIM_STATUS_NO_DEVICE_SUPPORT | Error en la operación porque el dispositivo no admite la operación. |
Solo para operaciones Set:
Código de estado | Descripción |
---|---|
MBIM_STATUS_INVALID_PARAMETERS | Error en la operación debido a parámetros no válidos. |
MBIM_STATUS_WRITE_FAILURE | Error en la operación porque la solicitud de actualización no se realizó correctamente. |
Inicialización de dispositivos con un contexto aprovisionado
Inicialización de un dispositivo GPRS no bloqueado por SIM con un contexto aprovisionado
El siguiente diagrama representa la experiencia de usuario óptima para dispositivos MB basados en GSM. La experiencia integrada no requiere ninguna configuración por parte del usuario. Se supone que el dispositivo está configurado para seleccionar automáticamente la red con la que registrarse. Las etiquetas en negrita representan identificadores OID o control de flujo transaccional. Las etiquetas en texto normal representan las marcas importantes dentro de la estructura OID.
Para inicializar un dispositivo GSM no bloqueado por SIM, siga estos pasos:
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_READY_INFO al controlador de minipuerto para identificar el estado listo del dispositivo. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_READY_INFO al servicio MB que indica al servicio MB que el estado del dispositivo MB es WwanReadyStateInitialized.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_REGISTER_STATE al controlador de minipuerto para identificar el estado de registro del dispositivo. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_REGISTER_STATE al servicio MB que indica que el modo de registro del dispositivo es WwanRegistraterModeAutomatic y su estado de registro actual es WwanRegisterStateSearching.
Más adelante, cuando el dispositivo está registrado en un proveedor de red, el controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_REGISTER_STATE no solicitada al servicio MB que indica que el estado de registro actual del dispositivo es WwanRegisterStateHome.
El dispositivo intenta conectar el servicio de paquetes. Cuando el estado del servicio de paquetes cambia a conectado, el controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_PACKET_SERVICE no solicitada al servicio MB que indica que el servicio de paquetes está conectado y que la clase de datos actual es WWAN_DATA_CLASS_GPRS.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_HOME_PROVIDER al controlador de minipuerto para recuperar la información del proveedor principal. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_HOME_PROVIDER al servicio MB que indica los detalles del proveedor principal.
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo) OID_WWAN_PROVISIONED_CONTEXTS) al controlador de minipuerto para recuperar la lista de contextos aprovisionados. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS al servicio MB que contiene una lista de estructuras WWAN_CONTEXT.
El servicio MB envía una solicitud Set asincrónica (sin bloqueo) OID_WWAN_CONNECT al controlador de minipuerto para activar el contexto del Protocolo de datos de paquetes (PDP). El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía una notificación NDIS_STATUS_WWAN_CONTEXT_STATE al servicio MB que indica que el contexto PDP se ha activado.
El controlador de minipuerto envía una notificación NDIS_STATUS_LINK_STATE para indicar que el estado de conexión multimedia es MediaConnectStateConnected.
Inicialización de un dispositivo de paquete CDMA con un contexto aprovisionado
En el diagrama siguiente se muestra la experiencia de usuario óptima para dispositivos basados en CDMA. La experiencia preconfigurada no requiere configuración por parte del usuario. En este escenario se supone que no se ha activado la cuenta basada en CDMA. A diferencia de los dispositivos basados en GSM, un dispositivo basado en CDMA inicia automáticamente el registro con la red una vez completada la activación. Las etiquetas en negrita son identificadores OID o control de flujo transaccional. Las etiquetas en texto normal son las marcas importantes dentro de la estructura OID.
Para inicializar un dispositivo de paquete basado en CDMA con un contexto aprovisionado, implemente los pasos siguientes:
El servicio MB envía un OID_WWAN_READY_INFO asincrónico (sin bloqueo) al controlador de minipuerto. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía NDIS_STATUS_WWAN_FAILURE al servicio MB.
El servicio MB envía un OID_WWAN_SERVICE_ACTIVATION asincrónico (sin bloqueo) al controlador de minipuerto. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El controlador de minipuerto envía NDIS_STATUS_WWAN_REGISTER_STATE al servicio MB.
El controlador de minipuerto envía NDIS_STATUS_WWAN_REGISTER_STATE al servicio MB.
El controlador de minipuerto envía NDIS_STATUS_WWAN_PACKET_SERVICE al servicio MB.
El servicio MB envía un OID_WWAN_HOME_PROVIDER asincrónico (sin bloqueo) al controlador de minipuerto. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El servicio MB envía un OID_WWAN_PROVISIONED_CONTEXTS asincrónico (sin bloqueo) al controlador de minipuerto. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El servicio MB envía un OID_WWAN_PROVISIONED_CONTEXTS asincrónico (sin bloqueo) al controlador de minipuerto. El controlador de minipuerto responde con un acuse de recibo provisional (NDIS_STATUS_INDICATION_REQUIRED) indicando que ha recibido la solicitud y que en el futuro enviará una notificación con la información solicitada.
El controlador de minipuerto envía NDIS_STATUS_WWAN_SUCCESS al servicio MB.
El controlador de minipuerto envía NDIS_STATUS_LINK_STATE al servicio MB.