MB 数据包服务操作

本主题介绍在数据包数据服务连接期间丢失和重新获取数据包数据服务、数据包数据服务切换和语音呼叫的操作。

丢失和重新获取数据包数据服务

下图显示了微型端口驱动程序在各种间隔内失去信号强度和数据包服务时应遵循的过程。 粗体标签是 OID 标识符或事务流控制。常规文本中的标签是 OID 结构中的重要标志。

说明数据包数据服务的信号丢失和重新获取的示意图。

若要在数据包数据服务丢失后重新获得数据包数据服务,请使用以下过程:

  1. 微型端口驱动程序将NDIS_WWAN_LINK_STATE发送到 MB 服务。

  2. 微型端口驱动程序将 NDIS_WWAN_SIGNAL_STATE 发送到 MB 服务。

  3. 微型端口驱动程序将 NDIS_WWAN_SIGNAL_STATE 发送到 MB 服务。

  4. 微型端口驱动程序将 NDIS_WWAN_SIGNAL_STATE 发送到 MB 服务。

  5. 微型端口驱动程序将NDIS_WWAN_REGISTER_STATE发送到 MB 服务。

  6. 微型端口驱动程序将 NDIS_STATUS_WWAN_PACKET_SERVICE 发送到 MB 服务。

  7. 微型端口驱动程序将 NDIS_STATUS_LINK_STATE 发送到 MB 服务。

  8. 微型端口驱动程序将 NDIS_WWAN_SIGNAL_STATE 发送到 MB 服务。

数据包数据服务移交

下图显示了数据包服务在不同基于 GSM 的技术(如 GPRS、EDGE、UMTS、HSDPA 或 TD-SCDMA)之间移动或在基于 CDMA 的不同技术(如 1xRTT、EV-DO 或 EV-DO RevA)之间移动时,微型端口驱动程序应遵循的步骤。 粗体标签是 OID 标识符或事务流控制。 常规文本中的标签是 OID 结构中的重要标志。

说明数据包服务在不同基于 gsm 的技术之间移动时微型端口驱动程序应遵循的步骤的示意图。

请注意,除非 IP 地址在移交过程中发生更改,否则 MB 服务以透明方式处理切换事件,而不会中断现有连接。 但是,仅当 IP 地址发生更改时,微型端口驱动程序仍必须通知 MB 服务媒体断开连接事件。

微型端口驱动程序和他们管理的 MB 设备应能够自动处理不同空中接口之间的第 2 层切换,对 MB 服务和其他覆盖应用程序的影响最小。 唯一可能的影响是可能由技术移交导致的对 IP 地址的更改。 在这种情况下,微型端口驱动程序应在向 MB 服务报告数据包服务更改之前重新建立 MB 连接。 不实现 DHCP 功能的微型端口驱动程序应使用 IP 帮助程序 和相关 函数。 实现 DHCP 功能的微型端口驱动程序不需要使用 IP 帮助程序函数。

若要移交数据包数据服务,请使用以下过程:

  1. 微型端口驱动程序将 NDIS_STATUS_WWAN_PACKET_SERVICE 发送到 MB 服务。

  2. 微型端口驱动程序将NDIS_WWAN_LINK_STATE发送到 MB 服务。

  3. 微型端口驱动程序将 NDIS_STATUS_WWAN_PACKET_SERVICE 发送到 MB 服务。

  4. 微型端口驱动程序使用旧 IP 地址调用 DeleteUnicastIpAddressEntry 帮助程序函数

  5. 微型端口驱动程序使用新的 IP 地址调用 CreateUnicastIpAddressEntry 帮助程序函数

  6. 微型端口驱动程序将 NDIS_STATUS_LINK_STATE 发送到 MB 服务。

  7. 微型端口驱动程序将 NDIS_STATUS_LINK_STATE 发送到 MB 服务。

  8. 微型端口驱动程序将 NDIS_STATUS_WWAN_PACKET_SERVICE 发送到 MB 服务。

数据包数据服务连接期间的语音呼叫

下图表示在数据包数据服务处于活动状态时发出语音呼叫时微型端口驱动程序应遵循的过程。 该图使用 1xRTT 作为示例,但该过程也适用于其他空中接口。 下图中概述的过程仅适用于在 WwanVoiceClass 成员中返回 WwanVoiceClassSeparateVoiceData 以响应OID_WWAN_DEVICE_CAPS查询请求的微型端口驱动程序。 粗体标签表示 OID 标识符或事务流控制。 常规文本中的标签表示 OID 结构中的重要标志。

说明在数据包数据服务处于活动状态时进行语音呼叫时微型端口驱动程序应遵循的过程的示意图。

该过程假定接受传入的语音呼叫将抢占所有预先存在的数据包连接。 对于在 WwanVoiceClass 成员中返回 WwanVoiceClassSimultaneousVoiceData 以响应OID_WWAN_DEVICE_CAPS查询请求的微型端口驱动程序,当前数据包连接不应受到影响。

请注意,根据设计,MB 服务不支持线路语音,也不禁止该服务。 上图中概述的过程仅适用于设备可以同时处理数据和线路语音,但一次只能处理一个语音。 该过程假定语音呼叫优先于任何潜在的预先存在的数据连接。 在这种情况下,微型端口驱动程序应在语音呼叫期间暂停数据连接。 之后,微型端口驱动程序应通过自动重新建立 MB 连接来恢复数据服务。

若要在数据包数据服务连接期间处理语音呼叫,请使用以下过程:

  1. 若要成功建立数据包数据服务连接,微型端口驱动程序应向 MB 服务发送 NDIS_WWAN_PACKET_SERVICE_STATE 通知,以指示当前 DataClass,然后向 MB 服务发出 NDIS_STATUS_LINK_STATE 通知,以指示媒体连接状态为 MediaConnectStateConnected

  2. 发出或接听语音呼叫时,微型端口驱动程序应向 MB 服务发送 NDIS_STATUS_LINK_STATE 通知,以指示媒体连接状态为 MediaConnectStateDisconnected

  3. 然后,微型端口驱动程序应向 MB 服务发送 NDIS_STATUS_WWAN_CONTEXT_STATE 通知,指示设备的 VoiceCall 状态为 WwanVoiceCallStateInProgress

  4. 挂起时,微型端口驱动程序应向 MB 服务发送NDIS_STATUS_WWAN_CONTEXT_STATE通知,指示设备的 VoiceCall 状态为 WwanVoiceCallStateHangup

  5. 语音呼叫完成后,设备会恢复数据包连接。 微型端口驱动程序应向 MB 服务发送 NDIS_STATUS_LINK_STATE 通知,以指示媒体连接状态为 MediaConnectStateConnected

  6. 微型端口驱动程序应向 MB 服务发送指示当前 DataClass 的NDIS_WWAN_PACKET_SERVICE_STATE通知。

另请参阅

有关数据包服务操作的详细信息,请参阅 OID_WWAN_PACKET_SERVICE