MB 封包服務作業
本主題描述在封包資料服務連線期間遺失和重新取得封包資料服務、封包資料服務交接和語音電話的作業。
遺失和重新取得封包資料服務
下圖顯示當迷你埠驅動程式失去訊號強度和封包服務時,應遵循各種間隔的程式。 粗體標籤為 OID 識別碼或交易流程式控制制。一般文字中的標籤是 OID 結構內的重要旗標。
若要在封包資料服務遺失之後重新取得,請使用下列程式:
迷你埠驅動程式會將NDIS_WWAN_LINK_STATE傳送至 MB 服務。
迷你埠驅動程式 會將NDIS_WWAN_SIGNAL_STATE 傳送至 MB 服務。
迷你埠驅動程式 會將NDIS_WWAN_SIGNAL_STATE 傳送至 MB 服務。
迷你埠驅動程式 會將NDIS_WWAN_SIGNAL_STATE 傳送至 MB 服務。
迷你埠驅動程式會將NDIS_WWAN_REGISTER_STATE傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_PACKET_SERVICE 傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_LINK_STATE 傳送至 MB 服務。
迷你埠驅動程式 會將NDIS_WWAN_SIGNAL_STATE 傳送至 MB 服務。
封包資料服務交接
下圖顯示當封包服務在不同的 GSM 技術之間移動時,迷你埠驅動程式應該遵循的步驟,例如 GPRS、EDGE、UMTS、HSDPA 或 TD-SCDMA,或在不同的 CDMA 型技術之間移動,例如 1xRTT、EV-DO 或 EV-DO RevA。 粗體標籤為 OID 識別碼或交易流程式控制制。 一般文字中的標籤是 OID 結構內的重要旗標。
請注意,除非 IP 位址在遞交程式中變更,否則 MB 服務會以透明方式處理交接事件,而不會中斷現有的連線。 不過,如果 IP 位址變更,迷你埠驅動程式仍必須通知 MB 服務媒體中斷線上活動。
迷你埠驅動程式和他們管理的 MB 裝置應該能夠自動處理不同無線介面之間的第 2 層交接,對 MB 服務和其他重迭應用程式的影響降到最低。 唯一可能的影響是變更因技術交接而來的 IP 位址。 在此情況下,迷你埠驅動程式應該先重新建立 MB 連線,再向 MB 服務報告封包服務變更。 未實作 DHCP 功能的迷你埠驅動程式應該使用 IP 協助程式和 相關聯的 函式。 實作 DHCP 功能的迷你埠驅動程式不需要使用 IP 協助程式函式。
若要遞交封包資料服務,請使用下列程式:
迷你埠驅動程式會將 NDIS_STATUS_WWAN_PACKET_SERVICE 傳送至 MB 服務。
迷你埠驅動程式會將NDIS_WWAN_LINK_STATE傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_PACKET_SERVICE 傳送至 MB 服務。
迷你埠驅動程式會使用舊的 IP 位址呼叫 DeleteUnicastIpAddressEntry 協助程式函式
迷你埠驅動程式會使用新的 IP 位址呼叫 CreateUnicastIpAddressEntry 協助程式函式
迷你埠驅動程式會將 NDIS_STATUS_LINK_STATE 傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_LINK_STATE 傳送至 MB 服務。
迷你埠驅動程式會將 NDIS_STATUS_WWAN_PACKET_SERVICE 傳送至 MB 服務。
封包資料服務連線期間的語音通話
下圖代表當封包資料服務處於作用中狀態時,迷你埠驅動程式應該遵循的程式。 此圖表使用 1xRTT 作為範例,但此程式也適用于其他無線介面。 下圖所述的程式僅適用于傳回 WwanVoiceClassSeparateVoiceData 成員中 WwanVoiceClass 成員的迷你埠驅動程式,以回應OID_WWAN_DEVICE_CAPS 查詢 要求。 粗體中的標籤代表 OID 識別碼或交易流程式控制制。 一般文字中的標籤代表 OID 結構內的重要旗標。
此程式假設接受傳入語音通話會先占任何預先存在的封包連線。 對於傳回 WwanVoiceClassSimultaneousVoiceData 成員中 WwanVoiceClass 成員以回應OID_WWAN_DEVICE_CAPS 查詢 要求的迷你埠驅動程式,目前封包連線不應受到影響。
請注意,根據設計,MB 服務不支援線路語音,也不會禁止服務。 上述圖形中所述的程式僅適用于裝置可以同時處理資料和線路語音,但一次只能處理一個。 此程式假設語音通話優先于任何可能預先存在的資料連線。 在此情況下,迷你埠驅動程式應該在語音通話期間暫停資料連線。 之後,迷你埠驅動程式應該會自動重新建立 MB 連線,以繼續資料服務。
若要在封包資料服務連線期間處理語音通話,請使用下列程式:
若要成功連線封包資料服務,迷你埠驅動程式應該將 NDIS_WWAN_PACKET_SERVICE_STATE 通知傳送給 MB 服務,以指出目前的 DataClass,後面接著 NDIS_STATUS_LINK_STATE 通知給 MB 服務,以將媒體線上狀態表示為 MediaConnectStateConnected。
撥打或接聽語音通話時,迷你埠驅動程式應該將 NDIS_STATUS_LINK_STATE 通知傳送給 MB 服務,以指出媒體線上狀態為 MediaConnectStateDisconnected。
接著,迷你埠驅動程式應該會將 NDIS_STATUS_WWAN_CONTEXT_STATE 通知傳送給 MB 服務,指出裝置的 VoiceCall 狀態為 WwanVoiceCallStateInProgress。
在停止回應時,迷你埠驅動程式應該將NDIS_STATUS_WWAN_CONTEXT_STATE通知傳送給 MB 服務,指出裝置的 VoiceCall 狀態為 WwanVoiceCallStateHangup。
裝置會在語音通話完成之後繼續封包連線。 迷你埠驅動程式應該將 NDIS_STATUS_LINK_STATE 通知傳送給 MB 服務,以指出媒體線上狀態為 MediaConnectStateConnected。
迷你埠驅動程式應該將NDIS_WWAN_PACKET_SERVICE_STATE通知傳送給指出目前 DataClass 的 MB 服務。
另請參閱
如需封包服務作業的詳細資訊,請參閱 OID_WWAN_PACKET_SERVICE。