Compartilhar via


Operações de contexto provisionadas de MB

O provisionamento é vital para dispositivos conectáveis por celular porque cada operadora móvel tem configurações de APN diferentes para sua rede. As configurações de APN geralmente podem ser divididas em duas categorias:

  1. Configurações de APN conhecidas pelo sistema operacional porque há aplicativos ou clientes acima do sistema operacional que exigem essas conexões.
  2. Configurações de APN que não são conhecidas pelo sistema operacional porque são consumidas internamente pelo modem para conexões que não são aproveitadas pelo sistema operacional e seus clientes.

O ideal é que o modem armazene apenas as configurações de APN que o sistema operacional não precisa saber. No entanto, os parceiros IHV e OEM tradicionalmente fornecem as APNs de Internet e Compra, que são configurações conhecidas pelo sistema operacional e também estão presentes no modem. Antes do Windows 10, versão 1703, o Windows só leu as configurações de APN de Compra e Internet do modem para estabelecer conexões com a Internet. A partir do Windows 10, versão 1703, pode haver casos adicionais em que a configuração de APN do modem teria que ser gerenciada pelo Windows, especialmente se houver clientes no sistema operacional, como configurações de usuário ou OMA-DM que desejam alterar a configuração do celular. Isso, por sua vez, também pode afetar a configuração de APN do modem. Por exemplo, pode haver uma pilha IMS no modem que está usando o APN IMS para SMS via IMS. Normalmente, essas conexões não são expostas ao sistema operacional, mas em determinados cenários a configuração de APN do IMS pode ter que ser alterada. Essa alteração pode ser feita por meio do sistema operacional. Para dar suporte a isso, a partir do Windows 10, versão 1703, o sistema operacional pode configurar diferentes tipos de APNs no modem.

O MBIM 1.0 do fórum USB e o Microsoft NDIS têm um CID e OID existentes, respectivamente, para permitir que o sistema operacional defina e consulte as configurações de APN no modem. Para o MBIM 1.0, ele faz isso por meio de MBIM_CID_PROVISIONED_CONTEXT enquanto, para o NDIS, ele faz isso por meio de OID_WWAN_PROVISIONED_CONTEXTS. No entanto, o CID e o OID existentes não foram projetados com orientação clara sobre como o modem deve se comportar em várias situações, como um ciclo de energia ou uma troca de SIM. Os dispositivos que desejam dar suporte à configuração do sistema operacional e à atualização de contextos provisionados por modem no futuro terão que implementar a versão mais recente do CID e do OID no Windows 10, versão 1703. Para garantir a compatibilidade com versões anteriores, para IHVs/OEMs que desejam dar suporte a novos hardwares em versões do sistema operacional anteriores a 1703, eles terão que continuar a dar suporte aos MBIM_CID_PROVISIONED_CONTEXT e OID_WWAN_PROVISIONED_CONTEXTS existentes. A partir do Windows 10, versão 1703, se o dispositivo der suporte à nova versão do CID e do OID, o sistema operacional usará apenas a versão mais recente do comando para consultar e definir a configuração de contexto APN no modem.

Atualização da interface MB para operações de contexto provisionadas

Embora o MBIM tenha um comando para recuperar e substituir contextos armazenados no modem, ele não tem um campo para "desabilitar" ou "habilitar" um perfil. Portanto, o MBIM_CID_PROVISIONED_CONTEXT existente deve ser atualizado para o Windows 10, versão 1703 para incluir essa funcionalidade. Como o MBIM não tem um mecanismo de controle de versão, um novo CID proprietário do MSFT é definido como MBIM_CID_MS_PROVISIONED_CONTEXT_V2.

Nome do Serviço = Extensões básicas de conexão

UUID = UUID_BASIC_CONNECT_EXTENSIONS

Valor UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf

CID Código de comando Versão mínima do sistema operacional
MBIM_CID_MS_PROVISIONED_CONTEXT_V2 1 Windows 10, versão 1703

MBIM_CID_MS_PROVISIONED_CONTEXT_V2

Descrição

Embora o MBIM 1.0 tenha definido MBIM_CID_PROVISIONED_CONTEXT para o sistema operacional e seus clientes superiores gerenciarem contextos provisionados no modem, o Windows tradicionalmente consultava apenas o contexto no modem, mas não o definia do sistema operacional. A partir do Windows 10, versão 1703, há uma necessidade crescente de que o sistema operacional possa configurar os contextos no modem. Por exemplo, se houver uma pilha IMS no modem que seja opaca para o sistema operacional, o sistema operacional deverá ser capaz de especificar a APN IMS que o modem deve usar. Como cada IHV de modem pode ter sua própria maneira proprietária de armazenar contextos no modem, é impossível para o sistema operacional gerenciar perfis no nível ContextId da maneira que MBIM_CID_PROVISIONED_CONTEXT pode sugerir. Em vez disso, da perspectiva do sistema operacional, é mais importante prescrever qual contexto usar para cada tipo de contexto. Retornando ao exemplo do IMS, independentemente de quantos contextos provisionados existentes estão no modem, se o sistema operacional definir um contexto que tenha MBIM_CONTEXT_TYPE = IMS, todo o tráfego IMS iniciado pelo modem só deverá ser tentado nesse contexto.

O MBIM 1.0 especifica que MBIM_CID_PROVISIONED_CONTEXT só pode realizar uma consulta em contextos que correspondam à ID do Provedor (par MCC/MNC) do cartão SIM inserido. Para definir solicitações, MBIM_CID_PROVISIONED_CONTEXT pode especificar a ID do Provedor do contexto que ele deseja armazenar. MBIM_CID_MS_PROVISIONED_CONTEXT_V2 especifica um comportamento semelhante, mas diferente do MBIM 1.0. Para cada consulta, o sistema operacional continua esperando que o modem retorne apenas contextos que correspondam à ID do Provedor do cartão SIM inserido. Para Set, o comando não habilitará mais o sistema operacional para definir contextos que não correspondem à ID do Provedor atual no cartão SIM. Espera-se que a solicitação Set crie um contexto para a ID do Provedor atual do cartão SIM apresentado. Por exemplo, o usuário troca de SIM 1 para SIM 2 e, em seguida, volta para SIM 1. Espera-se que, durante a primeira troca de SIM, o modem resolva todos os seus contextos antes de carregar o contexto para SIM 2. Quando o usuário alterna de volta para o SIM 1, a configuração padrão de fábrica do SIM 1 deve ser restaurada. Não é esperado que o modem salve a configuração de runtime em trocas de SIM.

O diagrama a seguir ilustra um fluxo de exemplo para quando um usuário troca de um SIM para outro e, em seguida, volta para o primeiro.

Exemplo de troca de SIM para provisionamento de contexto de modem.

OEMs e IHVs que pré-configuraram o modem devem manter a configuração de fábrica original caso o sistema operacional ou o usuário queira restaurar as configurações de contexto no modem para as configurações originais. Somente os contextos originais de fábrica para a ID do Provedor do SIM atualmente inserido devem ser restaurados. Os contextos pré-configurados da configuração de fábrica original nunca devem ser substituídos pela configuração do sistema operacional. O diagrama a seguir é um exemplo de fluxo para quando um usuário opta por restaurar as configurações de fábrica:

Exemplo de reinicialização para configurações de fábrica do provisionamento de contexto de modem.

Espera-se que o modem falhe em consultas ou no estabelecimento de solicitações quando o SIM estiver ausente, bloqueado ou a ID do Provedor estiver inacessível. O modem deve ter apenas um contexto por CONTEXT_TYPE por ID do fornecedor. Se o IHV ou o OEM decidir pré-configurar contextos de modem no modem, é importante que ele verifique se os contextos estão configurados corretamente para cada provedor para o qual ele opta por fazê-lo. Caso o cartão SIM inserido não tenha contextos pré-configurados de IHV, o modem não deve ter contextos sem a configuração do sistema operacional. IHVs e OEMs precisam garantir que MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceModemProvisioned para que o sistema operacional use o contexto do modem para conexão, se existir, e não o substitua pelo banco de dados APN do Windows.

Como os mapas de modem lidam com o contexto e o apresentam novamente por meio do MBIM_CID_PROVISIONED_CONTEXT existente cabe a cada IHV e está fora do escopo desta documentação.

O novo comando MBIM_CID_MS_PROVISONED_CONTEXT_V2 é quase idêntico ao comando de MBIM_CID_PROVISIONED_CONTEXT existente do MBIM 1.0, mas com várias adições. O primeiro fornece ao sistema operacional a capacidade de habilitar ou desabilitar o contexto associado a um tipo de contexto no modem. Quando o contexto é desativado no modem, espera-se que ele não utilize o contexto armazenado para qualquer conexão com a rede, mesmo aquelas que não são conhecidas pelo sistema operacional. Se o sistema operacional solicitar uma conexão que corresponda a um contexto desabilitado no modem, o modem deverá falhar na solicitação imediatamente sem sinalizar para a rede. O processo de correspondência deve corresponder a todos os campos na estrutura MBIM_MS_CONTEXT_V2.

A estrutura de MBIM_CONTEXT_IP_TYPE do MBIM 1.0 é usada apenas para MBIM_CID_CONNECT. Em MBIM_CID_MS_PROVISIONED_CONTEXT_V2, a Microsoft adicionou o tipo IP como um dos parâmetros para cada contexto. O modem deverá relatar MBIMContextIPTypeDefault se ele não estiver configurado para o contexto fornecido.

No Windows 10, versão 1703, com um novo hardware que dá suporte a MBIM_CID_MS_PROVISIONED_CONTEXT_V2, o MBIM_CID_PROVISIONED_CONTEXT herdado não será usado de componentes de primeira parte. Se houver outros componentes herdados do sistema operacional/cliente que enviam MBIM_CID_PROVISIONED_CONTEXT, espera-se que o modem retorne resultados como em versões do Windows anteriores ao Windows 10, versão 1703.

Consulta

MBIM_MS_PROVISIONED_CONTEXTS_INFO é retornado de Consulta e Definir mensagens completas no InformationBuffer.

Para Consulta, o InformationBuffer é nulo.

Conjunto

Para Set, o InformationBuffer contém uma estrutura MBIM_MS_SET_PROVISIONED_CONTEXT_V2. Na operação Set, como cada IHV de modem pode ter maneiras proprietárias de gerenciar o armazenamento de contexto, o sistema operacional não especifica mais o campo ContextId e espera que o modem mapeie os contextos para o slot apropriado. Quando o sistema operacional define contextos, ele espera que o modem o use para todas as conexões que correspondam à MBIM_CONTEXT_TYPE do contexto fornecido. Se o MBIM_CONTEXT_TYPE não for reconhecido pelo modem, ele ainda deverá armazená-lo mesmo que ele não possa se conectar a ele.

Evento não solicitado

O Event InformationBuffer contém uma estrutura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2. Em alguns casos, a lista de contextos provisionados é atualizada pela redeThe-Air (OTA) ou por SMS (Serviço de Mensagem Curta) que não passa pelo comando MBIM_CID_MS_PROVISIONED_CONTEXT_V2 do sistema operacional. A função deve atualizar a lista de contextos provisionados e marcar MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceOperatorProvisioned adequadamente. Depois disso, as funções devem notificar o host sobre atualizações usando esse evento com a lista atualizada.

Parâmetros

Operação Conjunto Consulta Notificação
Comando MBIM_SET_MS_PROVISIONED_CONTEXT_V2 Não aplicável Não aplicável
Resposta MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 MBIM_MS_PROVISIONED_CONTEXT_INFO_V2

Estruturas de dados

Consulta

O InformationBuffer será NULL e InformationBufferLength será zero.

Conjunto

A estrutura de dados MBIM_SET_MS_PROVISIONED_CONTEXT_V2 a seguir deve ser usada no InformationBuffer.

Offset Tamanho Campo Tipo Descrição
0 4 Operação MBIM_MS_CONTEXT_OPERATIONS Especifica o tipo de operação para o qual o comando SET é usado. Se definido como MbimMsContextOperationDelete, o contexto do MBIM_CONTEXT_TYPES especificado deverá ser excluído e todos os outros campos no MBIM_SET_MS_PROVISIONED_CONTEXT_V2 deverão ser ignorados. Se definido como MbimMsContextOperationRestoreFactory, todos os contextos criados ou modificados pelo sistema operacional devem ser removidos, os contextos pré-configurados de fábrica padrão devem ser carregados e todos os outros campos em MBIM_SET_MS_PROVISIONED_CONTEXT_V2 deverão ser ignorados.
4 16 TipoDeContexto MBIM_CONTEXT_TYPES Especifica o tipo de contexto que está sendo representado; por exemplo, conectividade com a Internet, VPN (uma conexão com uma rede corporativa) ou VOIP (Voz sobre IP). Para obter mais informações, consulte a tabela MBIM_CONTEXT_TYPES.
20 4 Tipo de IP MBIM_CONTEXT_IP_TYPES Especifica o tipo de contexto que está sendo representado; por exemplo, conectividade com a Internet, VPN (uma conexão com uma rede corporativa) ou VOIP (Voz sobre IP). Para obter mais informações, consulte a tabela MBIM_CONTEXT_IP_TYPES.
24 4 Habilitar MBIM_MS_CONTEXT_ENABLE Especifica se o contexto pode ser usado pelo modem. Se ele estiver definido como MbimMsContextDisabled, qualquer solicitação de conexão do sistema operacional que corresponda ao contexto deverá falhar sem sinalizar para a rede. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ENABLE.
28 4 Itinerância MBIM_MS_CONTEXT_ROAMING_CONTROL Especifica se o roaming é permitido ou não para esse contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ROAMING_CONTROL.
32 4 Tipo de Mídia MBIM_MS_CONTEXT_MEDIA_TYPE Especifica para qual tipo de transporte de mídia o contexto é usado. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_MEDIA_TYPE.
36 4 Fonte MBIM_MS_CONTEXT_SOURCE Especifica a fonte de criação do contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_SOURCE.
40 4 AccessStringOffset OFFSET Deslocamento no buffer de dados para uma cadeia de caracteres, AccessString, para acessar a rede. Para redes baseadas em GSM, essa seria uma cadeia de caracteres APN (Nome do Ponto de Acesso), como "data.thephone-company.com". Para redes baseadas em CDMA, esse pode ser um código de discagem especial, como "#777" ou um NAI (Identificador de Acesso à Rede), como "foo@thephone-company.com". Esse membro pode ser NULL para solicitar que a rede atribua o APN padrão. Observação: nem todas as redes dão suporte a essa convenção DE APN NULL, portanto, uma falha de conexão causada por uma APN inválida é um resultado possível. O tamanho da cadeia de caracteres não deve exceder 100 caracteres.
44 4 AccessStringSize TAMANHO(0..200) Tamanho usado para AccessString.
48 4 UserNameOffset OFFSET Deslocamento em bytes, calculado desde o início dessa estrutura, para uma cadeia de caracteres, UserName, que representa o nome de usuário a ser autenticado. Esse membro pode ser NULL.
52 4 TamanhoDoNomeDeUsuário SIZE(0..510) Tamanho usado para UserName.
56 4 PasswordOffset OFFSET Deslocamento em bytes, calculado desde o início dessa estrutura, para uma cadeia de caracteres chamada Senha, que representa a senha do usuário. Esse membro pode ser NULL.
60 4 PasswordSize SIZE(0..510) Tamanho usado para Senha.
64 4 Compactação MBIM_COMPRESSION Especifica a compactação a ser usada na conexão de dados para cabeçalho e dados. Esse membro aplica-se somente a dispositivos baseados em GSM. O Host define esse membro como MBIMCompressionNone para dispositivos baseados em CDMA. Para obter mais informações, consulte a tabela MBIM_COMPRESSION.
68 4 Protocolo de Autenticação MBIM_AUTH_PROTOCOL Tipo de autenticação a ser usado para a ativação PDP. Para obter mais informações, consulte a tabela MBIM_AUTH_PROTOCOL.
Setenta e dois 4 Buffer de Dados buffer de dados O buffer de dados que contém AccessString, UserName e Password.

As estruturas de dados a seguir são usadas na tabela anterior.

MBIM_MS_CONTEXT_ROAMING_CONTROL especifica a política de roaming por contexto. O sistema operacional pode especificar se o contexto fornecido pode ser habilitado durante o roaming ou não. O modem não deve ativar automaticamente o contexto sem intervenção do sistema operacional se o estado de roaming não atender às condições especificadas. Nos casos em que o modem não dá suporte a parceiros, todas as configurações de parceiro devem ser tratadas como equivalentes à casa.

Tipo Valor Descrição
MbimMsContextControleRoamingApenasCasa 0 Indica se o contexto só tem permissão para ser usado na rede inicial ou não.
MbimMsContextRoamingControlPartnerOnly 1 Indica se o contexto só tem permissão para ser usado em redes de roaming de parceiros ou não.
MbimMsContextRoamingControlNonPartnerOnly 2 Indica se o contexto só tem permissão para ser usado em redes de roaming não parceiras ou não.
MbimMsContextRoamingControlHomeAndPartner 3 Indica se o contexto tem permissão para ser utilizado em redes de roaming domésticas e de parceiros.
MbimMsContextRoamingControlHomeAndNonPartner 4 Indica se o contexto tem permissão para ser usado em redes móveis domésticas e não parceiras.
MbimMsContextRoamingControlPartnerAndNonPartner (Controle de Roaming Parceiro e Não-Parceiro) 5 Indica se o contexto tem permissão para ser usado em redes de roaming parceiras e não parceiras.
MbimMsContextRoamingControlAllowAll 6 Indica se o contexto tem permissão para ser usado em qualquer condição de roaming.

MBIM_MS_CONTEXT_MEDIA_TYPE foi adicionado para especificar se o contexto é usado para celular ou iWLAN quando o offload Wi-Fi se tornar compatível em plataformas futuras. Por exemplo, se um contexto for definido como celular e o modem estiver no estado Wi-Fi de processamento, ele não deve iniciar uma conexão usando esse contexto.

Tipo Valor Descrição
MbimMsContextMediaTypeCellularOnly 0 Indica se o contexto só tem permissão para ser usado quando registrado pela rede celular.
MbimMsContextMediaTypeWifiOnly 1 Indica se o contexto só pode ser usado quando registrado em iWLAN (Wi-Fi offload).
MbimMsContextMediaTypeAll 2 Indica se o contexto tem permissão para ser usado quando registrado por meio de Celular ou Wi-Fi.

MBIM_MS_CONTEXT_ENABLE especifica se um contexto está habilitado ou desabilitado.

Tipo Valor Descrição
MbimMsContextDisabled 0 O contexto provisionado está desabilitado. O modem não deve habilitar a ativação neste contexto pelo sistema operacional e por ele próprio.
MbimMsContextEnabled 1 O contexto provisionado está habilitado. O contexto poderá ser habilitado se outras condições forem atendidas; por exemplo, se o roaming não for permitido, o contexto não deverá ser habilitado durante o roaming.

MBIM_MS_CONTEXT_SOURCE foi adicionado para dar visibilidade ao sistema operacional sobre como o contexto do modem foi criado. Isso ajuda o sistema operacional a se comportar corretamente após várias situações, como redefinição de fábrica, para que ele possa saber o que deve persistir e o que deve ser retornado ao estado padrão com base em vários requisitos de operador.

Tipo Valor Descrição
MbimMsContextSourceAdmin 0 O contexto foi criado por um administrador de TI corporativo a partir do sistema operacional.
MbimMsContextSourceUser 1 O contexto foi criado pelo usuário por meio das configurações do sistema operacional.
MbimMsContextSourceOperator 2 O contexto foi criado pelo operador por meio de OMA-DM ou outros canais.
MbimMsContextSourceModem 3 O contexto incluído com o firmware de modem foi criado pelo IHV ou OEM.
MbimMsContextSourceDevice 4 O contexto foi criado pelo banco de dados APN do sistema operacional.

MBIM_MS_CONTEXT_OPERATIONS especifica as operações que o sistema operacional pode executar para configurar contextos no modem.

Tipo Valor Descrição
MbimMsContextOperationDefault 0 Operação padrão, incluindo adicionar ou substituir um contexto existente no modem.
MbimMsContextOperationExcluir 1 A operação de exclusão requer que o modem exclua um contexto existente no modem.
MbimMsContextOperationRestoreFactory 2 Restaurar o contexto pré-configurado de fábrica para a ID do provedor do SIM atualmente inserido. Todos os contextos substituídos ou criados pelo sistema operacional devem ser removidos e substituídos. Se não houver nenhum contexto de sistema operacional pré-configurado padrão para a ID do Provedor sim inserida atual, o contexto provisionado no modem deverá ser removido.

O MBIM_CONTEXT_TYPES original do MBIM 1.0 ainda é válido. A Microsoft está adicionando tipos de contexto adicionais à medida que mais tipos de contextos foram introduzidos desde que o MBIM 1.0 foi definido. A tabela a seguir define os novos tipos que estão sendo introduzidos. IHVs e OEMs podem definir outros tipos de contexto proprietários com outros valores UUID exclusivos que não serão reconhecíveis pelo sistema operacional para suas próprias finalidades.

Tipo Valor Descrição
MBIMMsContextTypeAdmin 5f7e4c2e-e80b-40a9-a239-f0abcfd11f4b O contexto é usado para fins administrativos, como gerenciamento de dispositivos.
MBIMMSContextTypeApp 74d88a3d-dfbd-4799-9a8c-7310a37bb2ee O contexto é usado para determinados aplicativos permitidos por operadoras móveis.
MBIMMsContextTypeXcap 50d378a7-baa5-4a50-b872-3fe5bb463411 O contexto é usado para provisionamento XCAP em serviços IMS.
MBIMMsContextTypeTethering 5e4e0601-48dc-4e2b-acb8-08b4016bbaac O contexto é usado para a amarração do Hotspot Móvel.
MBIMMsContextTypeEmergencyCalling 5f41adb8-204e-4d31-9da8-b3c970e360f2 O contexto é usado para chamadas de emergência do IMS.
Resposta

A estrutura de MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 a seguir deve ser usada no InformationBuffer.

Offset Tamanho Campo Tipo Descrição
0 4 ContagemDeElementos (EC) UINT32 Número de estruturas MBIM_MS_CONTEXT_V2 que seguem no DataBuffer.
4 8 * EC MsProvisionedContextV2RefList OL_PAIR_LIST O primeiro elemento do par é um Offset de 4 bytes em bytes, calculado a partir do início (offset 0) desta estrutura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2 até uma estrutura MBIM_MS_CONTEXT_V2 (para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_V2). O segundo elemento do par é um ponteiro de tamanho de 4 bytes para a estrutura MBIM_MS_CONTEXT_V2 correspondente.
4 + 8 * EC Buffer de Dados buffer de dados Matriz de estruturas MBIM_MS_CONTEXT_V2.

MBIM_MS_CONTEXT_V2, usado na tabela anterior, fornece informações sobre um determinado contexto.

Offset Tamanho Campo Tipo Descrição
0 4 ContextId UINT32 Uma ID exclusiva para esse contexto.
4 16 TipoDeContexto MBIM_CONTEXT_TYPES Especifica o tipo de contexto que está sendo representado; por exemplo, conectividade com a Internet, VPN (uma conexão com uma rede corporativa) ou VOIP (Voz sobre IP). Os dispositivos devem especificar MBIMContextTypeNone para contextos vazios ou não provisionados. Para obter mais informações, consulte a tabela MBIM_CONTEXT_TYPES.
20 4 Tipo de IP MBIM_CONTEXT_IP_TYPES Para obter mais informações, consulte a tabela MBIM_CONTEXT_IP_TYPES.
24 4 Habilitar MBIM_MS_CONTEXT_ENABLE Especifica se o contexto pode ser usado pelo modem. Se ele estiver definido como MbimMsContextDisabled, qualquer solicitação de conexão do sistema operacional que corresponda ao contexto deverá falhar sem sinalizar para a rede. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ENABLE.
28 4 Itinerância MBIM_MS_CONTEXT_ROAMING_CONTROL Especifica se o roaming é permitido ou não para esse contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_ROAMING_CONTROL.
32 4 Tipo de Mídia MBIM_MS_CONTEXT_MEDIA_TYPE Especifica para qual tipo de transporte de mídia o contexto é usado. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_MEDIA_TYPE.
36 4 Fonte MBIM_MS_CONTEXT_SOURCE Especifica a fonte de criação do contexto. Para obter mais informações, consulte a tabela MBIM_MS_CONTEXT_SOURCE.
40 4 AccessStringOffset OFFSET Deslocamento no buffer de dados para uma cadeia de caracteres, AccessString, para acessar a rede. Para redes baseadas em GSM, essa seria uma cadeia de caracteres APN (Nome do Ponto de Acesso), como "data.thephone-company.com". Para redes baseadas em CDMA, esse pode ser um código de discagem especial, como "#777" ou um NAI (Identificador de Acesso à Rede), como "foo@thephone-company.com". Esse membro pode ser NULL, para solicitar que a rede atribua o APN padrão. Observação: nem todas as redes dão suporte a essa convenção DE APN NULL, portanto, uma falha de conexão causada por uma APN inválida é um resultado possível. O tamanho da cadeia de caracteres não deve exceder 100 caracteres.
44 4 AccessStringSize TAMANHO(0..200) Tamanho usado para AccessString.
48 4 UserNameOffset OFFSET Deslocamento em bytes, calculado desde o início dessa estrutura, para uma cadeia de caracteres, UserName, que representa o nome de usuário a ser autenticado. Esse membro pode ser NULL.
52 4 TamanhoDoNomeDeUsuário SIZE(0..510) Tamanho utilizado para o nome de usuário.
56 4 PasswordOffset OFFSET Deslocamento em bytes, calculado desde o início dessa estrutura, para uma cadeia de caracteres chamada Senha, que representa a senha do usuário. Esse membro pode ser NULL.
60 4 PasswordSize SIZE(0..510) Tamanho usado para Senha.
64 4 Compactação MBIM_COMPRESSION Especifica a compactação a ser usada na conexão de dados para cabeçalho e dados. Esse membro aplica-se somente a dispositivos baseados em GSM. O Host define esse membro como MBIMCompressionNone para dispositivos baseados em CDMA. Para obter mais informações, consulte a tabela MBIM_COMPRESSION.
68 4 Protocolo de Autenticação MBIM_AUTH_PROTOCOL Tipo de autenticação a ser usado para a ativação PDP. Para obter mais informações, consulte a tabela MBIM_AUTH_PROTOCOL.
Setenta e dois Buffer de Dados buffer de dados O buffer de dados que contém AccessString, UserName e Password.
Notificação

Para obter mais informações, consulte a tabela MBIM_MS_PROVISIONED_CONTEXT_V2.

Códigos de status

Para operações de Consulta e Defina:

Código de status Descrição
MBIM_STATUS_READ_FAILURE A operação falhou porque o dispositivo não pôde recuperar contextos provisionados.
MBIM_STATUS_NO_DEVICE_SUPPORT A operação falhou porque o dispositivo não dá suporte à operação.

Somente para definir operações:

Código de status Descrição
MBIM_STATUS_PARAMETROS_INVALIDOS A operação falhou devido a parâmetros inválidos.
MBIM_STATUS_WRITE_FAILURE A operação falhou porque a solicitação de atualização não teve êxito.

Inicialização de dispositivos com um contexto provisionado

Inicialização de um dispositivo GPRS não bloqueado por SIM com um contexto provisionado

O diagrama a seguir representa a experiência ideal do usuário para dispositivos MB baseados em GSM. A experiência pré-configurada não requer nenhuma configuração do usuário. Supõe-se que o dispositivo esteja configurado para selecionar automaticamente a rede com a qual se registrar. Os rótulos em negrito representam identificadores OID ou controle de fluxo transacional. Os rótulos em texto regular representam os sinalizadores importantes dentro da estrutura OID.

diagrama ilustrando sequência de inicialização de dispositivo mb baseada em gsm.

Para inicializar um dispositivo baseado em GSM não bloqueado por SIM, implemente as seguintes etapas:

  1. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_READY_INFO ao driver de miniporto para identificar o estado pronto do dispositivo. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará, futuramente, uma notificação com as informações solicitadas.

  2. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_READY_INFO ao Serviço MB que indica ao Serviço MB que o estado do dispositivo MB é WwanReadyStateInitialized.

  3. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_REGISTER_STATE ao driver de miniporto para identificar o estado de registro do dispositivo. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará, futuramente, uma notificação com as informações solicitadas.

  4. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_REGISTER_STATE ao Serviço MB que indica que o modo de registro do dispositivo é WwanRegistraterModeAutomatic e seu estado de registro atual é WwanRegisterStateSearching.

  5. Posteriormente, quando o dispositivo é registrado em um provedor de rede, o driver de miniporto envia uma notificação de NDIS_STATUS_WWAN_REGISTER_STATE não solicitada ao Serviço MB que indica que o estado de registro atual do dispositivo é WwanRegisterStateHome.

  6. O dispositivo tenta conectar-se ao serviço de pacote. Quando o estado do serviço de pacote muda para anexado, o driver de miniporto envia, sem solicitação, uma notificação NDIS_STATUS_WWAN_PACKET_SERVICE ao Serviço MB que indica que o serviço de pacote está anexado e que a classe de dados atual é WWAN_DATA_CLASS_GPRS.

  7. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_HOME_PROVIDER ao driver de miniporto para recuperar informações do provedor doméstico. O driver de miniport responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e enviará uma notificação com as informações solicitadas no futuro.

  8. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_HOME_PROVIDER para o Serviço MB que indica os detalhes do provedor doméstico.

  9. O Serviço MB envia uma solicitação de consulta assíncrona (sem bloqueio) OID_WWAN_PROVISIONED_CONTEXTS ao driver de miniporto para recuperar a lista de contextos provisionados. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará, futuramente, uma notificação com as informações solicitadas.

  10. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS ao Serviço MB, que contém uma lista de estruturas WWAN_CONTEXT.

  11. O Serviço MB envia uma solicitação assíncrona (sem bloqueio) OID_WWAN_CONNECT definida para o driver de miniporto para ativar o contexto PDP (Packet Data Protocol). O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará, futuramente, uma notificação com as informações solicitadas.

  12. O driver de miniporto envia uma notificação NDIS_STATUS_WWAN_CONTEXT_STATE para o Serviço MB que indica que o contexto PDP está ativado.

  13. O driver de miniporto envia uma notificação NDIS_STATUS_LINK_STATE para indicar que o estado de conexão de mídia é MediaConnectStateConnected.

Inicialização de um dispositivo de pacote CDMA com um contexto provisionado

O diagrama a seguir ilustra a experiência ideal do usuário para dispositivos baseados em CDMA. A experiência pronta para uso não requer configuração pelo usuário. Esse cenário pressupõe que a conta baseada em CDMA não tenha sido ativada. Ao contrário dos dispositivos baseados em GSM, um dispositivo baseado em CDMA inicia automaticamente o registro com a rede após a conclusão da ativação. Os rótulos em negrito são identificadores OID ou controle de fluxo transacional. Os rótulos em texto regular são os sinalizadores importantes dentro da estrutura OID.

diagrama ilustrando a sequência de inicialização de dispositivo de banda larga móvel baseada em cdma.

Para inicializar um dispositivo de pacote baseado em CDMA com um contexto provisionado, implemente as seguintes etapas:

  1. O Serviço MB envia uma OID_WWAN_READY_INFO de forma assíncrona (sem bloqueio) para o miniport driver. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  2. O driver de miniporto envia NDIS_STATUS_WWAN_FAILURE para o MB Service.

  3. O Serviço MB envia uma OID_WWAN_SERVICE_ACTIVATION assíncrona (sem bloqueio) para o driver de miniporto. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  4. O driver de miniporto envia NDIS_STATUS_WWAN_SUCCESS para o Serviço MB.

  5. O driver de miniporta envia NDIS_STATUS_WWAN_REGISTER_STATE para o Serviço MB.

  6. O miniport driver envia NDIS_STATUS_WWAN_REGISTER_STATE para o Serviço MB.

  7. O driver de miniport envia NDIS_STATUS_WWAN_PACKET_SERVICE para o Serviço MB.

  8. O Serviço MB envia uma OID_WWAN_HOME_PROVIDER assíncrona (sem bloqueio) para o driver de miniporto. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  9. O driver de miniporto envia NDIS_STATUS_WWAN_SUCCESS para o Serviço MB.

  10. O Serviço MB envia uma OID_WWAN_PROVISIONED_CONTEXTS assíncrona (sem bloqueio) para o driver de miniporto. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará uma notificação com as informações solicitadas no futuro.

  11. O driver de miniporto envia NDIS_STATUS_WWAN_SUCCESS para o Serviço MB.

  12. O Serviço MB envia um OID_WWAN_PROVISIONED_CONTEXTS assíncrono (sem bloqueio) para o driver de miniporto. O driver de miniporto responde com uma confirmação provisória (NDIS_STATUS_INDICATION_REQUIRED) de que recebeu a solicitação e que enviará, futuramente, uma notificação com as informações solicitadas.

  13. O driver de miniporto envia NDIS_STATUS_WWAN_SUCCESS para o Serviço MB.

  14. O driver de miniporto envia NDIS_STATUS_LINK_STATE para o Serviço MB.

Consulte Também

Preparação do dispositivo MB