Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El aprovisionamiento es fundamental para los dispositivos que se pueden conectar mediante telefonía 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 son consumidas internamente por el módem para las conexiones que el sistema operativo y sus clientes no aprovechan.
Idealmente, el módem solo debe almacenar las configuraciones de APN que el sistema operativo no tiene que saber. 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 APN de Internet y de compra del 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 o OMA-DM que quieran 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 admitir esto, 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 Microsoft NDIS 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 sim. Los dispositivos que quieran admitir la configuración y actualización del sistema operativo de los contextos aprovisionados por módems 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 | Versión mínima del sistema operativo |
|---|---|---|
| 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 el sistema operativo y sus clientes superiores para administrar contextos aprovisionados en el módem, Windows tradicionalmente solo consultaba el contexto en el módem, pero no lo estableció desde el sistema operativo. A partir de Windows 10, versión 1703, hay creciente necesidad de 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 para el sistema operativo, el sistema operativo debe poder especificar el APN de IMS que debe usar el módem. Dado que cada IHV de módem puede tener su propia manera de almacenar contextos en el módem, es imposible que el sistema operativo administre perfiles en el nivel ContextId de la manera que MBIM_CID_PROVISIONED_CONTEXT podría sugerir. En su lugar, desde la perspectiva del sistema operativo es más importante recetar qué contexto usar 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 consulta, 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 durante el 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 IHD 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 falle en las solicitudes de consulta o configuración cuando falte la SIM, esté bloqueada, o el identificador del proveedor no sea accesible. El módem debe tener solo un contexto por CONTEXT_TYPE por identificador de proveedor. Si el IHV o 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 mapeos del módem manejan el contexto y lo presentan de nuevo a través del MBIM_CID_PROVISIONED_CONTEXT existente es responsabilidad de cada IHV y está fuera del alcance 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 el módem no utilice el contexto almacenado para ninguna conexión con la red, incluso aquellas que no son gestionadas por el sistema operativo. Si el sistema operativo solicita una conexión que coincida 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 emparejamiento debe hacer coincidir 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
Para Set, el 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 lo 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 con él.
Evento no solicitado
Event InformationBuffer 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 sobre las actualizaciones utilizando este evento con la lista actualizada.
Parámetros
| Operación | Set | Consultar | Notificación |
|---|---|---|---|
| Comando | 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 y InformationBufferLength será cero.
Set
La siguiente estructura de datos MBIM_SET_MS_PROVISIONED_CONTEXT_V2 se utilizará en el InformationBuffer.
| Offset | Tamaño | Campo | Tipo | Descripción |
|---|---|---|---|---|
| 0 | 4 | Operación | MBIM_MS_CONTEXT_OPERATIONS | Especifica el tipo de operación para el 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 | Tipo de Contexto | 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 | Tipo de IP | 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 el tipo de transporte de medios para el que se usa el contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_MEDIA_TYPE. |
| 36 | 4 | Fuente | 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 de 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 | TAMAÑO(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 | TAMAÑO(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 | TamañoDeContraseña | TAMAÑO(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 obtener más información, consulte la tabla MBIM_COMPRESSION. |
| 68 | 4 | Protocolo de Autenticación | 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 | Búfer de Datos | 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 durante la itinerancia o no. 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 socios, todas las configuraciones de socios deben ser tratadas como equivalentes al hogar.
| Tipo | Valor | Descripción |
|---|---|---|
| MbimMsContextRoamingControlHomeOnly | 0 | Indica si solo se permite usar el contexto en la red principal o no. |
| 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 se permite usar el contexto en las redes móviles domésticas y asociadas. |
| MbimMsContextRoamingControlHomeAndNonPartner | 4 | Indica si se permite usar el contexto en redes móviles domésticas y no asociadas. |
| MbimMsContextRoamingControlPartnerAndNonPartner | 5 | Indica si se permite usar el contexto en redes móviles asociadas y no asociadas. |
| MbimMsContextRoamingControlAllowAll | 6 | Indica si se permite usar 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 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 que el sistema operativo tenga visibilidad 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 | Restaura el contexto preconfigurado de fábrica para el ID de proveedor de la SIM insertada actualmente. Todos los contextos reemplazados o creados por el sistema operativo deben quitarse y reemplazarse. Si no hay un contexto del sistema operativo preconfigurado por defecto para el ID de proveedor de la SIM actualmente insertada, se debe eliminar cualquier contexto aprovisionado que haya en el módem. |
El MBIM_CONTEXT_TYPES original de MBIM 1.0 sigue siendo válido. Microsoft agrega tipos de contexto adicionales a medida que se introdujeron 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 IHVs y los 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 propósitos.
| 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.
| Offset | Tamaño | Campo | Tipo | Descripción |
|---|---|---|---|---|
| 0 | 4 | Conteo de Elementos (EC) | UINT32 | Recuento de estructuras MBIM_MS_CONTEXT_V2 que siguen en DataBuffer. |
| 4 | 8 * CE | 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 | Búfer de Datos | DATABUFFER | Matriz de estructuras de MBIM_MS_CONTEXT_V2. |
MBIM_MS_CONTEXT_V2, que se usa en la tabla anterior, proporciona información sobre un contexto determinado.
| Offset | Tamaño | Campo | Tipo | Descripción |
|---|---|---|---|---|
| 0 | 4 | ContextId | UINT32 | Un identificador único para este contexto. |
| 4 | 16 | Tipo de Contexto | 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 | Tipo de IP | 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 el tipo de transporte de medios para el que se usa el contexto. Para obtener más información, consulte la tabla MBIM_MS_CONTEXT_MEDIA_TYPE. |
| 36 | 4 | Fuente | 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 de 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 | TAMAÑO(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 | TAMAÑO(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 | TamañoDeContraseña | TAMAÑO(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 obtener más información, consulte la tabla MBIM_COMPRESSION. |
| 68 | 4 | Protocolo de Autenticación | 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 | Búfer de Datos | 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 de consulta y configuración:
| 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 de escritura) | 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 del texto normal representan las marcas importantes dentro de la estructura OID.
Para inicializar un dispositivo basado en GSM que no esté bloqueado por SIM, siga los pasos siguientes:
El servicio MB envía una solicitud de consulta asincrónica (sin bloqueo OID_WWAN_READY_INFO) al controlador de miniport para identificar el estado listo del dispositivo. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
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 miniport para identificar el estado de registro del dispositivo. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de miniport 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 miniporte 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 asociado, el controlador de miniporta envía una notificación NDIS_STATUS_WWAN_PACKET_SERVICE no solicitada al servicio MB que indica que el servicio de paquetes está asociado y 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 miniport para recuperar la información del proveedor principal. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de miniporte 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 miniport para recuperar la lista de contextos aprovisionados. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
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 miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de miniporte envía una notificación NDIS_STATUS_WWAN_CONTEXT_STATE al servicio MB que indica que el contexto PDP está activado.
El controlador de miniporte 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 del 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 miniport. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
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 miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
El controlador de miniporte envía NDIS_STATUS_WWAN_SUCCESS al MB Service.
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 miniport. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
El controlador de miniporte envía NDIS_STATUS_WWAN_SUCCESS al MB Service.
El servicio MB envía un OID_WWAN_PROVISIONED_CONTEXTS asincrónico (sin bloqueo) al controlador de minipuerto. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y que enviará una notificación con la información solicitada en el futuro.
El controlador de miniporte envía NDIS_STATUS_WWAN_SUCCESS al MB Service.
El servicio MB envía un OID_WWAN_PROVISIONED_CONTEXTS asincrónico (sin bloqueo) al controlador de minipuerto. El controlador de miniporte responde con una confirmación provisional (NDIS_STATUS_INDICATION_REQUIRED) que ha recibido la solicitud y enviará una notificación con la información solicitada en el futuro.
El controlador de miniporte envía NDIS_STATUS_WWAN_SUCCESS al MB Service.
El controlador de miniporte envía NDIS_STATUS_LINK_STATE al servicio MB.