Operazioni di contesto con provisioning MB
Il provisioning è fondamentale per i dispositivi con connessione cellulare perché ogni operatore mobile ha configurazioni APN diverse per la rete. Le configurazioni APN possono essere in genere suddivise in due categorie:
- Configurazioni APN note al sistema operativo perché sono presenti applicazioni o client al di sopra del sistema operativo che richiedono tali connessioni.
- Configurazioni APN non note al sistema operativo perché vengono utilizzate internamente dal modem per le connessioni non sfruttate dal sistema operativo e dai relativi client.
Idealmente, il modem deve archiviare solo le configurazioni APN che il sistema operativo non deve conoscere. Tuttavia, i partner IHV e OEM hanno tradizionalmente fornito le APN Internet e Purchase, configurazioni note al sistema operativo, anche nel modem. Prima del rilascio di Windows 10, versione 1703, Windows legge solo le configurazioni Internet e Acquista APN dal modem per stabilire connessioni Internet. A partire da Windows 10, versione 1703, potrebbero esserci casi aggiuntivi in cui la configurazione APN del modem deve essere gestita da Windows, soprattutto se nel sistema operativo sono presenti client come impostazioni utente o OMA-DM che vogliono modificare la configurazione della rete cellulare. Ciò a sua volta può influire anche sulla configurazione APN del modem. Ad esempio, potrebbe esserci uno stack IMS nel modem che usa l'APN IMS per SMS su IMS. In genere, tali connessioni non vengono esposte al sistema operativo, ma in determinati scenari potrebbe essere necessario modificare la configurazione APN IMS. Questa modifica può essere eseguita tramite il sistema operativo. Per supportare questo problema, a partire da Windows 10 versione 1703 il sistema operativo può configurare diversi tipi di APN nel modem.
Il forum USB MBIM 1.0 e Microsoft NDIS hanno rispettivamente un CID e un OID esistenti per consentire al sistema operativo di impostare ed eseguire query sulle configurazioni APN nel modem. Per MBIM 1.0 esegue questa operazione tramite MBIM_CID_PROVISIONED_CONTEXT mentre per NDIS esegue questa operazione tramite OID_WWAN_PROVISIONED_CONTEXTS. Tuttavia, il CID e l'OID esistenti non sono stati progettati con indicazioni chiare sul comportamento del modem in varie situazioni, ad esempio un ciclo di alimentazione o uno scambio SIM. I dispositivi che vogliono supportare la configurazione e l'aggiornamento del sistema operativo dei contesti con provisioning modem in futuro dovranno implementare la versione più recente del CID e dell'OID in Windows 10, versione 1703. Per garantire la compatibilità con le versioni precedenti, per gli IHD/OEM che vogliono supportare un nuovo hardware nelle versioni del sistema operativo precedenti alla 1703, dovranno continuare a supportare i MBIM_CID_PROVISIONED_CONTEXT esistenti e OID_WWAN_PROVISIONED_CONTEXTS. A partire da Windows 10 versione 1703, se il dispositivo supporta la nuova versione del CID e dell'OID, il sistema operativo userà solo la versione più recente del comando per eseguire query e impostare la configurazione del contesto APN nel modem.
Aggiornamento dell'interfaccia MB per le operazioni di contesto con provisioning
Mentre MBIM dispone di un comando per il recupero e la sostituzione dei contesti archiviati nel modem, non dispone di un campo per "disabilitare" o "abilitare" un profilo. Pertanto, il MBIM_CID_PROVISIONED_CONTEXT esistente deve essere aggiornato per Windows 10 versione 1703 per includere questa funzionalità. Poiché MBIM non dispone di un meccanismo di controllo delle versioni, un nuovo CID proprietario MSFT viene definito come MBIM_CID_MS_PROVISIONED_CONTEXT_V2.
Service Name = Basic Connessione Extensions
UUID = UUID_BASIC_CONNECT_EXTENSIONS
Valore UUID = 3d01dcc5-fef5-4d05-0d3abef7058e9aaf
CID | Codice dei comandi | Minimum OS Version |
---|---|---|
MBIM_CID_MS_PROVISIONED_CONTEXT_V2 | 1 | Windows 10, versione 1703 |
MBIM_CID_MS_PROVISIONED_CONTEXT_V2
Descrizione
Anche se MBIM 1.0 ha definito MBIM_CID_PROVISIONED_CONTEXT per il sistema operativo e i relativi client superiori per gestire i contesti di provisioning nel modem, Windows in genere ha eseguito una query sul contesto nel modem, ma non l'ha impostata dal sistema operativo. A partire da Windows 10, versione 1703, è necessario che il sistema operativo sia in grado di configurare i contesti nel modem. Ad esempio, se nel modem è presente uno stack IMS opaco per il sistema operativo, il sistema operativo deve essere in grado di specificare l'APN IMS che il modem deve usare. Poiché ogni modem IHV può avere il proprio modo proprietario di archiviare i contesti nel modem, è impossibile per il sistema operativo gestire i profili a livello ContextId il modo in cui MBIM_CID_PROVISIONED_CONTEXT potrebbe suggerire. Dal punto di vista del sistema operativo è invece più importante stabilire quale contesto usare per ogni tipo di contesto. Tornando all'esempio IMS, indipendentemente dal numero di contesti di provisioning esistenti presenti nel modem, se il sistema operativo imposta un contesto con MBIM_CONTEXT_TYPE = IMS, tutto il traffico IMS avviato dal modem deve essere tentato solo su tale contesto.
MBIM 1.0 specifica che MBIM_CID_PROVISIONED_CONTEXT può chiamare query solo sui contesti che corrispondono all'ID provider (coppia MCC/MNC) della scheda SIM inserita. Per Impostare le richieste, MBIM_CID_PROVISIONED_CONTEXT può specificare l'ID provider del contesto da archiviare. MBIM_CID_MS_PROVISIONED_CONTEXT_V2 specifica un comportamento simile ma diverso da MBIM 1.0. Per ogni query, il sistema operativo continua a prevedere che il modem restituisca solo contesti corrispondenti all'ID provider della scheda SIM inserita. Per Imposta, il comando non consentirà più al sistema operativo di impostare i contesti che non corrispondono all'ID provider corrente nella scheda SIM. È previsto che la richiesta Imposta crei un contesto per l'ID provider corrente della scheda SIM presentata. Ad esempio, l'utente scambia da SIM 1 a SIM 2, quindi torna alla SIM 1. È previsto che durante il primo scambio SIM, il modem deve risolvere tutti i relativi contesti prima di caricare il contesto per SIM 2. Quando l'utente torna alla SIM 1, la configurazione predefinita della sim 1 deve essere ripristinata. Non è previsto che il modem salvi la configurazione di runtime tra scambi SIM.
Il diagramma seguente illustra un flusso di esempio per quando un utente scambia da una SIM a un'altra, quindi torna alla prima.
Gli OEM e gli IHD che hanno preconfigurato il modem devono mantenere la configurazione di fabbrica originale nel caso in cui il sistema operativo o l'utente voglia ripristinare le impostazioni di contesto nel modem alle impostazioni originali. Devono essere ripristinati solo i contesti factory originali per l'ID provider sim attualmente inserito. L'impostazione predefinita originale dei contesti preconfigurati non deve mai essere sovrascritta dalla configurazione del sistema operativo. Il diagramma seguente è un flusso di esempio per quando un utente sceglie di ripristinare le impostazioni predefinite:
È previsto che il modem non riesca a eseguire query o impostare le richieste quando la SIM è mancante, bloccata o l'ID provider non è accessibile. Il modem deve avere un solo contesto per CONTEXT_TYPE per ID provider. Se l'IHV o l'OEM decide di preconfigurare i contesti modem nel modem, è importante assicurarsi che i contesti siano configurati correttamente per ogni provider per cui sceglie di farlo. Nel caso in cui la scheda SIM inserita non abbia contesti preconfigurati IHV, il modem non deve avere contesti senza la configurazione del sistema operativo. IHVs e OEM devono assicurarsi che MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceModemProvisioned in modo che il sistema operativo userà il contesto del modem per la connessione, se esistente e non sovrascriverlo dal database APN di Windows.
Il modo in cui il modem esegue la gestione del contesto e lo presenta nel MBIM_CID_PROVISIONED_CONTEXT esistente è fino a ogni IHV e non rientra nell'ambito di questa documentazione.
Il nuovo comando MBIM_CID_MS_PROVISONED_CONTEXT_V2 è quasi identico al comando MBIM_CID_PROVISIONED_CONTEXT esistente di MBIM 1,0, ma con diverse aggiunte. Il primo fornisce al sistema operativo la possibilità di abilitare o disabilitare il contesto associato a un tipo di contesto nel modem. Quando il contesto è disabilitato nel modem, si prevede che il modem non usi il contesto archiviato per qualsiasi connessione con la rete, anche quelli non informati del sistema operativo. Se il sistema operativo richiede una connessione corrispondente a un contesto disabilitato nel modem, il modem non riesce immediatamente senza segnalare la rete. Il processo di corrispondenza deve corrispondere a tutti i campi nella struttura MBIM_MS_CONTEXT_V2.
La struttura MBIM_CONTEXT_IP_TYPE da MBIM 1.0 viene usata solo per MBIM_CID_CONNECT. In MBIM_CID_MS_PROVISIONED_CONTEXT_V2, Microsoft ha aggiunto il tipo ip come uno dei parametri per ogni contesto. Il modem deve segnalare MBIMContextIPTypeDefault se non è configurato per il contesto specificato.
In Windows 10 versione 1703, con nuovo hardware che supporta MBIM_CID_MS_PROVISIONED_CONTEXT_V2, il MBIM_CID_PROVISIONED_CONTEXT legacy non verrà usato dai componenti proprietari. Se sono presenti altri componenti client/sistema operativo legacy che inviano MBIM_CID_PROVISIONED_CONTEXT, il modem dovrebbe restituire risultati come nelle versioni di Windows precedenti a Windows 10, versione 1703.
Query
MBIM_MS_PROVISIONED_CONTEXTS_INFO viene restituito sia da Query che da Imposta messaggi completi in InformationBuffer.
Per Query, InformationBuffer è null.
Set
Per Set, InformationBuffer contiene una struttura MBIM_MS_edizione Standard T_PROVISIONED_CONTEXT_V2. Nell'operazione Imposta, poiché ogni modem IHV può avere modalità proprietarie di gestione dell'archiviazione del contesto, il sistema operativo non specifica più il campo ContextId e prevede che il modem eseseguono il mapping dei contesti allo slot appropriato. Quando il sistema operativo imposta i contesti, prevede che il modem lo usi per tutte le connessioni che corrispondono al MBIM_CONTEXT_TYPE del contesto specificato. Se il MBIM_CONTEXT_TYPE non viene riconosciuto dal modem, deve comunque archiviarlo anche se potrebbe non connettersi con esso.
Evento non richiesto
Event InformationBuffer contiene una struttura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2. In alcuni casi, l'elenco dei contesti di cui è stato effettuato il provisioning viene aggiornato dalla rete Over-The-Air (OTA) o da Short Message Service (SMS) che non passa attraverso il comando MBIM_CID_MS_PROVISIONED_CONTEXT_V2 dal sistema operativo. La funzione deve aggiornare l'elenco di contesti di cui è stato effettuato il provisioning e contrassegna MBIM_MS_CONTEXT_SOURCE = MbimMsContextSourceOperatorProvisioned di conseguenza. Successivamente, le funzioni devono notificare all'host gli aggiornamenti usando questo evento con l'elenco aggiornato.
Parametri
Operazione | Set | Query | Notifica |
---|---|---|---|
Comando | MBIM_edizione Standard T_MS_PROVISIONED_CONTEXT_V2 | Non applicabile | Non applicabile |
Response | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 | MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 |
strutture di dati
Query
InformationBuffer deve essere NULL e InformationBufferLength sarà zero.
Set
La struttura dei dati di MBIM_edizione Standard T_MS_PROVISIONED_CONTEXT_V2 seguente deve essere utilizzata in InformationBuffer.
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | Operazione | MBIM_MS_CONTEXT_OPERATIONS | Specifica il tipo di operazione per cui viene usato il comando edizione Standard T. Se impostato su MbimMsContextOperationDelete, il contesto per il MBIM_CONTEXT_TYPES specificato deve essere eliminato e tutti gli altri campi in MBIM_edizione Standard T_MS_PROVISIONED_CONTEXT_V2 devono essere ignorati. Se impostato su MbimMsContextOperationRestoreFactory, tutti i contesti creati o modificati del sistema operativo devono essere rimossi, è necessario caricare i contesti preconfigurati di factory predefiniti e tutti gli altri campi in MBIM_edizione Standard T_MS_PROVISIONED_CONTEXT_V2 devono essere ignorati. |
4 | 16 | Contexttype | MBIM_CONTEXT_TYPES | Specifica il tipo di contesto rappresentato; ad esempio connettività Internet, VPN (connessione a una rete aziendale) o VOP (Voice-over-IP). Per altre informazioni, vedere la tabella MBIM_CONTEXT_TYPES. |
20 | 4 | IPType | MBIM_CONTEXT_IP_TYPES | Specifica il tipo di contesto rappresentato; ad esempio connettività Internet, VPN (connessione a una rete aziendale) o VOP (Voice-over-IP). Per altre informazioni, vedere la tabella MBIM_CONTEXT_IP_TYPES. |
24 | 4 | Abilitare | MBIM_MS_CONTEXT_ENABLE | Specifica se il contesto può essere utilizzato dal modem. Se è impostato su MbimMsContextDisabled, qualsiasi richiesta di connessione del sistema operativo corrispondente al contesto deve essere non riuscita senza segnalare alla rete. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_ENABLE. |
28 | 4 | Roaming | MBIM_MS_CONTEXT_ROAMING_CONTROL | Specifica se il roaming è consentito o meno per questo contesto. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_ROAMING_CONTROL. |
32 | 4 | MediaType | MBIM_MS_CONTEXT_MEDIA_TYPE | Specifica il tipo di trasporto multimediale utilizzato per il contesto. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_MEDIA_TYPE. |
36 | 4 | Origine | MBIM_MS_CONTEXT_SOURCE | Specifica l'origine di creazione del contesto. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_SOURCE. |
40 | 4 | AccessStringOffset | OFFSET | Offset nel buffer di dati in una stringa, AccessString, per accedere alla rete. Per le reti basate su GSM, si tratta di una stringa APN (Access Point Name), ad esempio "data.thephone-company.com". Per le reti basate su CDMA, potrebbe trattarsi di un codice di composizione speciale, ad esempio "#777" o un identificatore di accesso alla rete (NAI), ad esempio "foo@thephone-company.com". Questo membro può essere NULL per richiedere che la rete assegni l'APN predefinito. Nota: non tutte le reti supportano questa convenzione APN NULL, pertanto un errore di connessione causato da un APN non valido è un possibile risultato. Le dimensioni della stringa non devono superare i 100 caratteri. |
44 | 4 | AccessStringSize | SIZE(0..200) | Dimensioni utilizzate per AccessString. |
48 | 4 | UserNameOffset | OFFSET | Offset in byte, calcolato dall'inizio di questa struttura, a una stringa, UserName, che rappresenta il nome utente da autenticare. Questo membro può essere NULL. |
52 | 4 | UserNameSize | SIZE(0..510) | Dimensioni usate per UserName . |
56 | 4 | PasswordOffset | OFFSET | Offset in byte, calcolato dall'inizio di questa struttura, a una stringa, Password, che rappresenta la password del nome utente. Questo membro può essere NULL. |
60 | 4 | PasswordSize | SIZE(0..510) | Dimensioni usate per Password. |
64 | 4 | Compressione | MBIM_COMPRESSION | Specifica la compressione da utilizzare nella connessione dati per l'intestazione e i dati. Questo membro si applica solo ai dispositivi basati su GSM. L'host imposta questo membro su MBIMCompressionNone per i dispositivi basati su CDMA. Per altre informazioni, vedere la tabella MBIM_COMPRESSION. |
68 | 4 | AuthProtocol | MBIM_AUTH_PROTOCOL | Tipo di autenticazione da usare per l'attivazione PDP. Per altre informazioni, vedere la tabella MBIM_AUTH_PROTOCOL. |
72 | 4 | DataBuffer | DATABUFFER | Buffer di dati che contiene AccessString, UserName e Password. |
Nella tabella precedente vengono utilizzate le strutture di dati seguenti.
MBIM_MS_CONTEXT_ROAMING_CONTROL specifica i criteri di roaming per contesto. Il sistema operativo può specificare se il contesto specificato può essere abilitato durante il roaming o meno. Il modem non deve attivare automaticamente il contesto senza l'intervento del sistema operativo se lo stato di roaming non soddisfa le condizioni specificate. Nei casi in cui il modem non supporta i partner, tutte le configurazioni dei partner devono essere considerate equivalenti a casa.
Type | Valore | Descrizione |
---|---|---|
MbimMsContextRoamingControlHomeOnly | 0 | Indica se il contesto può essere utilizzato solo nella rete domestica o meno. |
MbimMsContextRoamingControlPartnerOnly | 1 | Indica se il contesto può essere utilizzato solo nelle reti mobili dei partner o meno. |
MbimMsContextRoamingControlNonPartnerOnly | 2 | Indica se il contesto può essere utilizzato solo nelle reti mobili non partner o meno. |
MbimMsContextRoamingControlHomeAndPartner | 3 | Indica se il contesto può essere utilizzato nelle reti di roaming domestico e partner. |
MbimMsContextRoamingControlHomeAndNonPartner | 4 | Indica se il contesto può essere utilizzato nelle reti mobili domestico e non partner. |
MbimMsContextRoamingControlPartnerAndNonPartner | 5 | Indica se il contesto può essere utilizzato nelle reti di roaming partner e non partner. |
MbimMsContextRoamingControlAllowAll | 6 | Indica se il contesto può essere utilizzato in qualsiasi condizione di roaming. |
MBIM_MS_CONTEXT_MEDIA_TYPE è stato aggiunto per poter specificare se il contesto viene usato per la rete cellulare o iWLAN quando l'offload Wi-Fi diventa supportato nelle piattaforme future. Ad esempio, se un contesto è impostato come cellulare e il modem è attualmente offload Wi-Fi, non dovrebbe avviare una connessione utilizzando tale contesto.
Type | Valore | Descrizione |
---|---|---|
MbimMsContextMediaTypeCellularOnly | 0 | Indica se il contesto può essere utilizzato solo quando registrato tramite rete cellulare. |
MbimMsContextMediaTypeWifiOnly | 1 | Indica se il contesto può essere usato solo quando è registrato tramite iWLAN (offload Wi-Fi). |
MbimMsContextMediaTypeAll | 2 | Indica se il contesto può essere utilizzato durante la registrazione tramite cellulare o Wi-Fi. |
MBIM_MS_CONTEXT_ENABLE specifica se un contesto è abilitato o disabilitato.
Type | Valore | Descrizione |
---|---|---|
MbimMsContextDisabled | 0 | Il contesto di cui è stato effettuato il provisioning è disabilitato. Il modem non deve abilitare l'attivazione in questo contesto dal sistema operativo e da se stesso. |
MbimMsContextEnabled | 1 | Il contesto di cui è stato effettuato il provisioning è abilitato. Il contesto può essere abilitato se vengono soddisfatte altre condizioni; Ad esempio, se il roaming non è consentito, il contesto non deve essere abilitato durante il roaming. |
MBIM_MS_CONTEXT_SOURCE è stato aggiunto per consentire al sistema operativo di visualizzare il modo in cui è stato creato il contesto del modem. Questo consente al sistema operativo di comportarsi correttamente dopo diverse situazioni, ad esempio il ripristino delle impostazioni predefinite, in modo da sapere cosa deve essere persistente e cosa deve essere restituito allo stato predefinito in base ai vari requisiti dell'operatore.
Type | Valore | Descrizione |
---|---|---|
MbimMsContextSource Amministrazione | 0 | Il contesto è stato creato da un amministratore IT aziendale dal sistema operativo. |
MbimMsContextSourceUser | 1 | Il contesto è stato creato dall'utente tramite le impostazioni del sistema operativo. |
MbimMsContextSourceOperator | 2 | Il contesto è stato creato dall'operatore tramite OMA-DM o altri canali. |
MbimMsContextSourceModem | 3 | Il contesto è stato creato dall'IHV o dall'OEM incluso nel firmware del modem. |
MbimMsContextSourceDevice | 4 | Il contesto è stato creato dal database APN del sistema operativo. |
MBIM_MS_CONTEXT_OPERATIONS specifica le operazioni che il sistema operativo può eseguire per configurare i contesti nel modem.
Type | Valore | Descrizione |
---|---|---|
MbimMsContextOperationDefault | 0 | Operazione predefinita, inclusa l'aggiunta o la sostituzione di un contesto esistente nel modem. |
MbimMsContextOperationDelete | 1 | L'operazione di eliminazione richiede al modem di eliminare un contesto esistente nel modem. |
MbimMsContextOperationRestoreFactory | 2 | Ripristinare il contesto preconfigurato della factory per l'ID provider della SIM attualmente inserita. Tutti i contesti sostituiti o creati dal sistema operativo devono essere rimossi e sostituiti. Se non è presente alcun contesto del sistema operativo preconfigurato predefinito per l'ID provider SIM inserito corrente, il contesto sottoposto a provisioning nel modem deve essere rimosso. |
Il MBIM_CONTEXT_TYPES originale di MBIM 1.0 è ancora valido. Microsoft aggiunge altri tipi di contesto man mano che sono stati introdotti altri tipi di contesti dopo la definizione di MBIM 1.0. Nella tabella seguente vengono definiti i nuovi tipi introdotti. Gli IHD e gli OEM possono definire altri tipi di contesto proprietari con altri valori UUID univoci che non saranno riconoscibili dal sistema operativo per scopi propri.
Type | Valore | Descrizione |
---|---|---|
MBIMMsContextType Amministrazione | 5f7e4c2e-e80b-40a9-a239-f0abcfd11f4b | Il contesto viene usato per scopi amministrativi, ad esempio la gestione dei dispositivi. |
MBIMMSContextTypeApp | 74d8a3d-dfbd-4799-9a8c-7310a37bb2ee | Il contesto viene usato per determinate applicazioni consentite dagli operatori di telefonia mobile. |
MBIMMsContextTypeXcap | 50d378a7-baa5-4a50-b872-3fe5bb463411 | Il contesto viene usato per il provisioning XCAP nei servizi IMS. |
MBIMMsContextTypeTethering | 5e4e0601-48dc-4e2b-acb8-08b4016bbaac | Il contesto viene usato per il tethering hotspot mobile. |
MBIMMsContextTypeEmergencyCalling | 5f41adb8-204e-4d31-9da8-b3c970e360f2 | Il contesto viene usato per le chiamate di emergenza IMS. |
Response
La struttura di MBIM_MS_PROVISIONED_CONTEXT_INFO_V2 seguente deve essere utilizzata in InformationBuffer.
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | ElementCount (EC) | UINT32 | Numero di strutture MBIM_MS_CONTEXT_V2 che seguono in DataBuffer. |
4 | 8 * EC | MsProvisionedContextV2RefList | OL_PAIR_LIST | Il primo elemento della coppia è un offset di 4 byte, calcolato dall'inizio (offset 0) di questa struttura MBIM_MS_PROVISIONED_CONTEXTS_INFO_V2, a una struttura MBIM_MS_CONTEXT_V2 (per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_V2). Il secondo elemento della coppia è una dimensione a 4 byte di un puntatore alla struttura MBIM_MS_CONTEXT_V2 corrispondente. |
4 + 8 * EC | DataBuffer | DATABUFFER | Matrice di strutture di MBIM_MS_CONTEXT_V2. |
MBIM_MS_CONTEXT_V2, usato nella tabella precedente, fornisce informazioni su un determinato contesto.
Contropartita | Dimensione | Campo | Tipo | Descrizione |
---|---|---|---|---|
0 | 4 | ContextId | UINT32 | ID univoco per questo contesto. |
4 | 16 | Contexttype | MBIM_CONTEXT_TYPES | Specifica il tipo di contesto rappresentato; ad esempio connettività Internet, VPN (connessione a una rete aziendale) o VOP (Voice-over-IP). I dispositivi devono specificare MBIMContextTypeNone per contesti vuoti o non sottoposti a provisioning. Per altre informazioni, vedere la tabella MBIM_CONTEXT_TYPES. |
20 | 4 | IPType | MBIM_CONTEXT_IP_TYPES | Per altre informazioni, vedere la tabella MBIM_CONTEXT_IP_TYPES. |
24 | 4 | Abilitare | MBIM_MS_CONTEXT_ENABLE | Specifica se il contesto può essere utilizzato dal modem. Se è impostato su MbimMsContextDisabled, qualsiasi richiesta di connessione del sistema operativo corrispondente al contesto deve essere non riuscita senza segnalare alla rete. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_ENABLE. |
28 | 4 | Roaming | MBIM_MS_CONTEXT_ROAMING_CONTROL | Specifica se il roaming è consentito o meno per questo contesto. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_ROAMING_CONTROL. |
32 | 4 | MediaType | MBIM_MS_CONTEXT_MEDIA_TYPE | Specifica il tipo di trasporto multimediale utilizzato per il contesto. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_MEDIA_TYPE. |
36 | 4 | Origine | MBIM_MS_CONTEXT_SOURCE | Specifica l'origine di creazione del contesto. Per altre informazioni, vedere la tabella MBIM_MS_CONTEXT_SOURCE. |
40 | 4 | AccessStringOffset | OFFSET | Offset nel buffer di dati in una stringa, AccessString, per accedere alla rete. Per le reti basate su GSM, si tratta di una stringa APN (Access Point Name), ad esempio "data.thephone-company.com". Per le reti basate su CDMA, potrebbe trattarsi di un codice di composizione speciale, ad esempio "#777" o un identificatore di accesso alla rete (NAI), ad esempio "foo@thephone-company.com". Questo membro può essere NULL per richiedere che la rete assegni l'APN predefinito. Nota: non tutte le reti supportano questa convenzione APN NULL, pertanto un errore di connessione causato da un APN non valido è un possibile risultato. Le dimensioni della stringa non devono superare i 100 caratteri. |
44 | 4 | AccessStringSize | SIZE(0..200) | Dimensioni utilizzate per AccessString. |
48 | 4 | UserNameOffset | OFFSET | Offset in byte, calcolato dall'inizio di questa struttura, a una stringa, UserName, che rappresenta il nome utente da autenticare. Questo membro può essere NULL. |
52 | 4 | UserNameSize | SIZE(0..510) | Dimensioni utilizzate per UserName. |
56 | 4 | PasswordOffset | OFFSET | Offset in byte, calcolato dall'inizio di questa struttura, a una stringa, Password, che rappresenta la password del nome utente. Questo membro può essere NULL. |
60 | 4 | PasswordSize | SIZE(0..510) | Dimensioni usate per Password. |
64 | 4 | Compressione | MBIM_COMPRESSION | Specifica la compressione da utilizzare nella connessione dati per l'intestazione e i dati. Questo membro si applica solo ai dispositivi basati su GSM. L'host imposta questo membro su MBIMCompressionNone per i dispositivi basati su CDMA. Per altre informazioni, vedere la tabella MBIM_COMPRESSION. |
68 | 4 | AuthProtocol | MBIM_AUTH_PROTOCOL | Tipo di autenticazione da usare per l'attivazione PDP. Per altre informazioni, vedere la tabella MBIM_AUTH_PROTOCOL. |
72 | DataBuffer | DATABUFFER | Buffer di dati che contiene AccessString, UserName e Password. |
Notifica
Per altre informazioni, vedere la tabella MBIM_MS_PROVISIONED_CONTEXT_V2.
Codici di stato
Per le operazioni query e set:
Codice di stato | Descrizione |
---|---|
MBIM_STATUS_READ_FAILURE | L'operazione non è riuscita perché il dispositivo non è riuscito a recuperare i contesti di cui è stato effettuato il provisioning. |
MBIM_STATUS_NO_DEVICE_SUPPORT | L'operazione non è riuscita perché il dispositivo non supporta l'operazione. |
Solo per le operazioni Set:
Codice di stato | Descrizione |
---|---|
MBIM_STATUS_INVALID_PARAMETERS | L'operazione non è riuscita a causa di parametri non validi. |
MBIM_STATUS_WRITE_FAILURE | L'operazione non è riuscita perché la richiesta di aggiornamento non è riuscita. |
Inizializzazione dei dispositivi con un contesto di provisioning
Inizializzazione di un dispositivo SNAPSHOTS non bloccato da SIM con un contesto di provisioning
Il diagramma seguente rappresenta l'esperienza utente ottimale per i dispositivi MB basati su GSM. L'esperienza predefinita non richiede alcuna configurazione utente. Si presuppone che il dispositivo sia configurato per selezionare automaticamente la rete con cui eseguire la registrazione. Le etichette in grassetto rappresentano identificatori OID o controllo del flusso transazionale. Le etichette nel testo normale rappresentano i flag importanti all'interno della struttura OID.
Per inizializzare un dispositivo basato su GSM non bloccato da SIM, implementare la procedura seguente:
Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_READY_INFO al driver miniport per identificare lo stato pronto del dispositivo. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.
Il driver miniport invia una notifica NDIS_STATUS_WWAN_READY_INFO al servizio MB che indica al servizio MB che lo stato del dispositivo MB è WwanReadyStateInitialized.
Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_REGISTER_STATE al driver miniport per identificare lo stato di registrazione del dispositivo. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.
Il driver miniport invia una notifica NDIS_STATUS_WWAN_REGISTER_STATE al servizio MB che indica che la modalità di registrazione del dispositivo è WwanRegistraterModeAutomatic e il relativo stato di registrazione corrente è WwanRegisterStateSearching.
Successivamente, quando il dispositivo viene registrato in un provider di rete, il driver miniport invia una notifica di NDIS_STATUS_WWAN_REGISTER_STATE non richiesta al servizio MB che indica che lo stato di registrazione corrente del dispositivo è WwanRegisterStateHome.
Il dispositivo tenta di collegare il servizio pacchetti. Quando lo stato del servizio pacchetti viene modificato in collegato, il driver miniport invia una notifica NDIS_STATUS_WWAN_PACKET_edizione Standard RVICE non richiesta al servizio MB che indica che il servizio pacchetti è collegato e la classe di dati corrente è WWAN_DATA_CLASS_GPRS.
Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_HOME_PROVIDER al driver miniport per recuperare le informazioni sul provider home. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.
Il driver miniport invia una notifica NDIS_STATUS_WWAN_HOME_PROVIDER al servizio MB che indica i dettagli del provider principale.
Il servizio MB invia una richiesta di query asincrona (non bloccante) OID_WWAN_PROVISIONED_CONTEXTS al driver miniport per recuperare l'elenco di contesti di cui è stato effettuato il provisioning. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.
Il driver miniport invia una notifica NDIS_STATUS_WWAN_PROVISIONED_CONTEXTS al servizio MB che contiene un elenco di strutture WWAN_CONTEXT.
Il servizio MB invia una richiesta asincrona (non bloccante) OID_WWAN_CONNECT impostare una richiesta al driver miniport per attivare il contesto PDP (Packet Data Protocol). Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.
Il driver miniport invia una notifica NDIS_STATUS_WWAN_CONTEXT_STATE al servizio MB che indica che il contesto PDP è attivato.
Il driver miniport invia una notifica di NDIS_STATUS_LINK_STATE per indicare che lo stato di connessione multimediale è Media Connessione State Connessione ed.
Inizializzazione di un dispositivo di pacchetto CDMA con un contesto di provisioning
Il diagramma seguente illustra l'esperienza utente ottimale per i dispositivi basati su CDMA. L'esperienza predefinita non richiede la configurazione utente. Questo scenario presuppone che l'account basato su CDMA non sia stato attivato. A differenza dei dispositivi basati su GSM, un dispositivo basato su CDMA avvia automaticamente la registrazione con la rete al termine dell'attivazione. Le etichette in grassetto sono identificatori OID o controllo del flusso transazionale. Le etichette nel testo normale sono i flag importanti all'interno della struttura OID.
Per inizializzare un dispositivo di pacchetti basato su CDMA con un contesto di provisioning, implementare la procedura seguente:
Il servizio MB invia un OID_WWAN_READY_INFO asincrono (non bloccante) al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.
Il driver miniport invia NDIS_STATUS_WWAN_FAILURE al servizio MB.
Il servizio MB invia un OID_WWAN_edizione Standard RVICE_ACTIVATION asincrono (non bloccante) al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.
Il driver miniport invia NDIS_STATUS_WWAN_SUCCESS al servizio MB.
Il driver miniport invia NDIS_STATUS_WWAN_REGISTER_STATE al servizio MB.
Il driver miniport invia NDIS_STATUS_WWAN_REGISTER_STATE al servizio MB.
Il driver miniport invia NDIS_STATUS_WWAN_PACKET_edizione Standard RVICE al servizio MB.
Il servizio MB invia un OID_WWAN_HOME_PROVIDER asincrono (non bloccante) al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.
Il driver miniport invia NDIS_STATUS_WWAN_SUCCESS al servizio MB.
Il servizio MB invia un OID_WWAN_PROVISIONED_CONTEXTS asincrono (non bloccante) al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e che in futuro invierà una notifica con le informazioni richieste.
Il driver miniport invia NDIS_STATUS_WWAN_SUCCESS al servizio MB.
Il servizio MB invia un OID_WWAN_PROVISIONED_CONTEXTS asincrono (non bloccante) al driver miniport. Il conducente miniport risponde con un riconoscimento provvisorio (NDIS_STATUS_INDICATION_REQUIRED) che ha ricevuto la richiesta e invierà una notifica con le informazioni richieste in futuro.
Il driver miniport invia NDIS_STATUS_WWAN_SUCCESS al servizio MB.
Il driver miniport invia NDIS_STATUS_LINK_STATE al servizio MB.