次の方法で共有


MB パケット サービス操作

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

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

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

パケット データ サービスの信号の損失と回復を示す図。

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

  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 を送信します。

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

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

パケット サービスが異なる gsm ベースのテクノロジ間を移動するときにミニポート ドライバーが従う必要がある手順を示す図。

ハンドオフ プロセスで 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クエリ要求に応答して WwanVoiceClassSeparateVoiceDataWwanVoiceClass メンバーに返すミニポート ドライバーにのみ適用されます。 太字のラベルは、OID 識別子またはトランザクション フロー制御を表します。 標準テキストのラベルは、OID 構造体内の重要なフラグを表します。

パケット データ サービスがアクティブな間に音声呼び出しが行われるときにミニポート ドライバーが従う必要があるプロセスを示す図。

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

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

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

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

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

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

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

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

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

こちらもご覧ください

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