本主题介绍在数据包服务连接期间丢失和重新获取数据包服务、数据包服务切换和语音呼叫时的操作。
丢失和重新获取数据包服务
下图显示了微型端口驱动程序在因各种间隔而失去信号强度和数据包服务时应遵循的过程。 粗体中的标签是 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 设备应能够自动处理不同空中接口之间的第二层交接,尽量减少对 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 帮助函数
微型端口驱动程序调用 CreateUnicastIpAddressEntry 辅助函数以使用新的 IP 地址
微型端口驱动程序 将NDIS_STATUS_LINK_STATE 发送到 MB 服务。
微型端口驱动程序 将NDIS_STATUS_LINK_STATE 发送到 MB 服务。
微型端口驱动程序 将NDIS_STATUS_WWAN_PACKET_SERVICE 发送到 MB 服务。
数据包数据服务连接期间的语音呼叫
下图表示在数据包数据服务处于活动状态时放置语音呼叫时,微型端口驱动程序应遵循的过程。 该图使用 1xRTT 作为示例,但该过程也适用于其他空中接口。 下图中概述的过程仅适用于在 WwanVoiceClass 成员中返回 WwanVoiceClassSeparateVoiceData 以响应OID_WWAN_DEVICE_CAPS查询请求的微型端口驱动程序。 粗体中的标签表示 OID 标识符或事务流控制。 常规文本中的标签表示 OID 结构中的重要标志。
此过程假定接受传入语音呼叫会抢占任何预先存在的数据包连接。 对于在 WwanVoiceClass 成员中返回 WwanVoiceClassSimultaneousVoiceData 以响应 OID_WWAN_DEVICE_CAPS 查询 请求的微型端口驱动程序,不应影响当前数据包连接。
请注意,根据设计,MB 服务不支持线路语音,也不禁止该服务。 上图中概述的过程仅适用于设备可处理数据和电路语音,但一次只能处理其中之一。 此过程假定语音呼叫优先于任何潜在的预先存在的数据连接。 在这种情况下,微型端口驱动程序应在语音呼叫期间暂停数据连接。 之后,微型端口驱动程序应通过自动重新建立 MB 连接来恢复数据服务。
若要在数据包数据服务连接期间处理语音呼叫,请使用以下过程:
对于成功的包数据服务连接,微型端口驱动程序应将NDIS_WWAN_PACKET_SERVICE_STATE通知发送至 MB 服务,以指示当前的 DataClass,然后向 MB 服务发出NDIS_STATUS_LINK_STATE通知,以指示媒体连接状态为MediaConnectStateConnected。
当发出或接听语音呼叫时,微型端口驱动程序应将 NDIS_STATUS_LINK_STATE 通知发送到 MB 服务,以指示媒体连接状态为 MediaConnectStateDisconnected。
然后,微型端口驱动程序应将 NDIS_STATUS_WWAN_CONTEXT_STATE 通知发送到 MB 服务,该通知指示设备的 VoiceCall 状态为 WwanVoiceCallStateInProgress。
挂断时,微型端口驱动程序应向 MB 服务发送 NDIS_STATUS_WWAN_CONTEXT_STATE 通知,以指示设备的 VoiceCall 状态为 WwanVoiceCallStateHangup。
设备在语音呼叫完成后恢复数据包连接。 微型端口驱动程序应将 NDIS_STATUS_LINK_STATE 通知发送到 MB 服务,以指示媒体连接状态为 MediaConnected。
微型端口驱动程序应将NDIS_WWAN_PACKET_SERVICE_STATE通知发送到指示当前 DataClass 的 MB 服务。
另请参阅
有关数据包服务操作的详细信息,请参阅 OID_WWAN_PACKET_SERVICE。