MB パケット サービス操作

このトピックでは、パケット データ サービス接続中にパケット データ サービス、パケット データ サービスのハンドオフ、音声通話をロスしたり回復したりする操作について説明します。

パケット データ サービスの損失と復旧

次の図が示すのは、ミニポート ドライバーがさまざまな間隔で信号強度とパケット サービスをロスしたときに従う必要があるプロセスです。 太字のラベルは、OID 識別子またはトランザクション フロー制御です。標準テキストのラベルは、OID 構造体内の重要なフラグです。

Diagram illustrating losing and regaining signals for packet data service.

パケット データ サービスをロスした後、それを回復するには、次の手順を使用します。

  1. ミニポート ドライバーは、MB サービスに NDIS_WWAN_LINK_STATE を送信します。

  2. ミニポート ドライバーは、MB サービスに NDIS_WWAN_SIGNAL_STATE を送信します。

  3. ミニポート ドライバーは、MB サービスに NDIS_WWAN_SIGNAL_STATE を送信します。

  4. ミニポート ドライバーは、MB サービスに NDIS_WWAN_SIGNAL_STATE を送信します。

  5. ミニポート ドライバーは、MB サービスに NDIS_WWAN_REGISTER_STATE を送信します。

  6. ミニポート ドライバーは、MB サービスに NDIS_STATUS_WWAN_PACKET_SERVICE を送信します。

  7. ミニポート ドライバーは、MB サービスに NDIS_STATUS_LINK_STATE を送信します。

  8. ミニポート ドライバーは、MB サービスに NDIS_WWAN_SIGNAL_STATE を送信します。

パケット データ サービスのハンドオフ

次の図が示すのは、パケット サービスが異なる GSM ベース テクノロジ (GPRS、EDGE、UMTS、HSDPA、TD-SCDMA など) の間を移動するとき、または異なる CDMA ベースのテクノロジ (1xRTT、EV-DO、EV-DO RevA など) の間を移動するときに、ミニポート ドライバーが従う必要がある手順です。 太字のラベルは、OID 識別子またはトランザクション フロー制御です。 標準テキストのラベルは、OID 構造体内の重要なフラグです。

diagram illustrating the steps that miniport drivers should follow when packet service moves between different gsm-based technologies.

ハンドオフ プロセスで IP アドレスが変更されない限り、MB サービスは既存の接続を中断することなく、ハンドオフ イベントを透過的に処理することにご注意ください。 ただし、ミニポート ドライバーは、IP アドレスが変更された場合にのみ、これまでどおりに、メディア切断イベントについて MB サービスに通知する必要があります。

ミニポート ドライバーと、ミニポート ドライバーが管理する MB デバイスは、MB サービスとその他のオーバーレイ アプリケーションへの影響を最小限に抑えながら、異なるエア インターフェイス間のレイヤー 2 ハンドオフを自動的に処理できる必要があります。 唯一考えられる影響は、テクノロジのハンドオフによって生じる可能性がある IP アドレスの変更です。 この場合、ミニポート ドライバーは、パケット サービスの変更を MB サービスに報告する前に、MB 接続を再確立する必要があります。 DHCP 機能を実装していないミニポート ドライバーでは、IP ヘルパーと、関連する関数を使用する必要があります。 DHCP 機能を実装するミニポート ドライバーでは、IP ヘルパー関数を使用する必要はありません。

パケット データ サービスをハンドオフするには、次の手順に従います。

  1. ミニポート ドライバーは、MB サービスに NDIS_STATUS_WWAN_PACKET_SERVICE を送信します。

  2. ミニポート ドライバーは、MB サービスに NDIS_WWAN_LINK_STATE を送信します。

  3. ミニポート ドライバーは、MB サービスに NDIS_STATUS_WWAN_PACKET_SERVICE を送信します。

  4. ミニポート ドライバーは、古い IP アドレスを持つ DeleteUnicastIpAddressEntry ヘルパー関数を呼び出します。

  5. ミニポート ドライバーは、新しい IP アドレスを持つ CreateUnicastIpAddressEntry ヘルパー関数を呼び出します。

  6. ミニポート ドライバーは、MB サービスに NDIS_STATUS_LINK_STATE を送信します。

  7. ミニポート ドライバーは、MB サービスに NDIS_STATUS_LINK_STATE を送信します。

  8. ミニポート ドライバーは、MB サービスに NDIS_STATUS_WWAN_PACKET_SERVICE を送信します。

パケット データ サービス接続時の音声通話

次の図は、パケット データ サービスがアクティブな間に音声通話が行われるときに、ミニポート ドライバーが従う必要があるプロセスを表しています。 この図では、1xRTT を例として使用していますが、手順は他のエア インターフェイスにも適用されます。 次の図に概要を示すプロセスは、OID_WWAN_DEVICE_CAPS の query 要求に応答して WwanVoiceClass メンバーに WwanVoiceClassSeparateVoiceData を返すミニポート ドライバーにのみ適用されます。 太字のラベルは、OID 識別子またはトランザクション フロー制御を表します。 標準テキストのラベルは、OID 構造体内の重要なフラグを表します。

diagram illustrating the process that miniport drivers should follow when a voice call is placed while packet data service is active.

この手順は、着信音声通話を受け入れると、既存のパケット接続が優先されることを前提としています。 OID_WWAN_DEVICE_CAPS の query 要求に応答して WwanVoiceClassWwanVoiceClassSimultaneousVoiceData を返すミニポート ドライバーの場合、現在のパケット接続が影響を受けないようにする必要があります。

設計上、MB サービスでは回線音声がサポートされておらず、サービスも禁止されないことにご注意ください。 上の図で説明したプロセスは、デバイスがデータと回線音声の両方を処理できるものの、一度に 1 つしか処理できない場合にのみ適用されます。 このプロセスは、音声通話が既存のデータ接続よりも優先されることを前提としています。 この場合、ミニポート ドライバーは、音声通話の間、データ接続を中断する必要があります。 その後、ミニポート ドライバーは、MB 接続を自動的に再確立して、データ サービスを再開する必要があります。

パケット データ サービスの接続中に音声通話を処理するには、次の手順に従います。

  1. パケット データ サービス接続が成功した場合、ミニポート ドライバーは、メディア接続状態を MediaConnectStateConnected として示すために、現在の DataClass の後に MB サービスへの NDIS_STATUS_LINK_STATE 通知を示すために、MB サービスに NDIS_WWAN_PACKET_SERVICE_STATE 通知を送信する必要があります。

  2. 音声通話が発信または応答されたら、ミニポート ドライバーはメディア接続状態を MediaConnectStateDisconnected として示すために、MB サービスに NDIS_STATUS_LINK_STATE 通知を送信する必要があります。

  3. その後、ミニポート ドライバーは、WwanVoiceCallStateInProgress としてデバイスの VoiceCall 状態を示す NDIS_STATUS_WWAN_CONTEXT_STATE 通知を MB サービスに送信する必要があります。

  4. ハングアップ時に、ミニポート ドライバーは、WwanVoiceCallStateHangup としてデバイスの VoiceCall 状態を示す NDIS_STATUS_WWAN_CONTEXT_STATE 通知を MB サービスに送信する必要があります。

  5. 音声通話が完了した後、デバイスはパケット接続を再開します。 ミニポート ドライバーは、メディア接続状態を MediaConnectStateConnected として示すために、MB サービスに NDIS_STATUS_LINK_STATE 通知を送信する必要があります。

  6. ミニポート ドライバーは、現在の DataClass を示すMB サービスに NDIS_WWAN_PACKET_SERVICE_STATE 通知を送信する必要があります。

参照

パケット サービス操作の詳細については、OID_WWAN_PACKET_SERVICE を参照してください。