Поделиться через


Операции службы пакетов MB

В этом разделе описываются операции потери и восстановления службы данных пакетов, передачи службы данных пакетов и голосовых вызовов во время подключений к службе данных пакетов.

Потеря и восстановление пакетной передачи данных

На следующей схеме показан процесс, которому должны следовать минипорт-драйверы, когда они теряют силу сигнала и пакетную службу на различные интервалы. Метки полужирным шрифтом — это идентификаторы OID или управление потоком транзакций. Метки в обычном тексте являются важными флагами в структуре OID.

схема, иллюстрирующая потерю и восстановление сигналов для службы данных пакетов.

Чтобы восстановить службу данных пакетов после ее потери, используйте следующую процедуру:

  1. Драйвер минипорта отправляет NDIS_WWAN_LINK_STATE в службу МБ.

  2. Драйвер минипорта отправляет NDIS_WWAN_SIGNAL_STATE в службу МБ.

  3. Драйвер минипорта отправляет NDIS_WWAN_SIGNAL_STATE в службу MB.

  4. Драйвер минипорта отправляет NDIS_WWAN_SIGNAL_STATE в службу МБ.

  5. Минипорт-драйвер отправляет NDIS_WWAN_REGISTER_STATE в службу МБ.

  6. Минипорт-драйвер отправляет NDIS_STATUS_WWAN_PACKET_SERVICE в службу МБ.

  7. Драйвер минипорта отправляет NDIS_STATUS_LINK_STATE в службу МБ.

  8. Драйвер минипорта отправляет NDIS_WWAN_SIGNAL_STATE в службу МБ.

Переключение службы данных пакетов

На следующей схеме показаны шаги, которые драйверы минипортов должны выполнять при переходе пакетных сервисов между различными технологиями на основе GSM, такими как GPRS, EDGE, UMTS, HSDPA или TD-SCDMA, или между различными технологиями на основе CDMA, такими как 1xRTT, EV-DO или EV-DO RevA. Метки полужирным шрифтом — это идентификаторы OID или управление потоком транзакций. Метки в обычном тексте являются важными флагами в структуре OID.

диаграмме, иллюстрирующей шаги, которым должны следовать минипорт-драйверы при перемещении службы пакетов между различными технологиями, основанными на GSM.

Помните, что если IP-адрес не изменяется в процессе передачи, служба МБ обрабатывает событие передачи прозрачно, не нарушая существующее подключение. Однако минипорт-драйверы по-прежнему должны уведомлять службу MB о событиях отключения мультимедиа, если и только в том случае, если IP-адрес изменится.

Минипорт драйверы и устройство MB, которыми они управляют, должны иметь возможность обрабатывать хэндов уровня 2 между различными воздушными интерфейсами в автоматическом режиме, с минимальным воздействием на службу MB и другие прикладные программы. Единственное возможное влияние — изменение IP-адреса, которое может произойти из-за передачи технологии. В этом случае минипорт-драйверы должны повторно установить подключение к МБ, прежде чем сообщать об изменении службы пакетов в службу МБ. Минипорт-драйверы, которые не реализуют функции DHCP, должны использовать вспомогательные средства IP и связанные функции . Минипорт-драйверы, которые реализуют функциональность DHCP, не обязаны использовать функции IP Helper.

Чтобы переключить службу передачи данных пакетов, используйте следующую процедуру:

  1. Минипорт-драйвер отправляет NDIS_STATUS_WWAN_PACKET_SERVICE в службу МБ.

  2. Драйвер минипорта отправляет NDIS_WWAN_LINK_STATE в службу МБ.

  3. Минипорт-драйвер отправляет NDIS_STATUS_WWAN_PACKET_SERVICE в сервис MB.

  4. Драйвер минипорта вызывает вспомогательную функцию DeleteUnicastIpAddressEntry со старым IP-адресом.

  5. Драйвер минипорта вызывает вспомогательную функцию CreateUnicastIpAddressEntry с новым IP-адресом.

  6. Драйвер минипорта отправляет NDIS_STATUS_LINK_STATE в службу МБ.

  7. Драйвер минипорта отправляет NDIS_STATUS_LINK_STATE в службу МБ.

  8. Минипорт-драйвер отправляет NDIS_STATUS_WWAN_PACKET_SERVICE в службу МБ.

Голосовые вызовы во время подключения пакетной передачи данных

На следующей схеме представлен процесс, которому должны следовать минипорт драйверы, когда осуществляется голосовой вызов при активной службе пакетной передачи данных. Схема использует 1xRTT в качестве примера, но процедура также применяется к другим воздушным интерфейсам. Процесс, описанный на следующем рисунке, применяется только к драйверам минипорта, которые возвращают WwanVoiceClassSeparateVoiceData в элементе WwanVoiceClass в ответ на запрос OID_WWAN_DEVICE_CAPS . Метки в полужирном виде представляют идентификаторы OID или элемент управления потоком транзакций. Метки в обычном тексте представляют важные флаги в структуре OID.

схеме, иллюстрирующей процесс, которому должны следовать минипорт-драйверы при размещении голосового звонка, когда активна пакетная передача данных.

В процедуре предполагается, что принятие входящего голосового звонка прервет любое предварительно существующее пакетное подключение. Для драйверов минипорта, возвращающих WwanVoiceClassSimultaneousVoiceData в элементе WwanVoiceClass в ответ на запрос запроса OID_WWAN_DEVICE_CAPS, текущее подключение к пакету не должно быть затронуто.

Помните, что, по замыслу, служба MB не поддерживает звонки по каналам, но и не запрещает их. Процесс, описанный в приведенном выше рисунке, применяется только в том случае, если устройство может обрабатывать как данные, так и голос канала, но только один раз. В этом процессе предполагается, что голосовой вызов имеет приоритет над любым потенциальным подключением к данным. В этом случае минипорт-драйверы должны приостановить подключение к данным на время голосового звонка. После этого минипорт-драйверы должны возобновить службу данных, повторно установив подключение к МБ автоматически.

Для обработки голосовых вызовов во время подключений службы данных пакетов используйте следующую процедуру:

  1. Для успешного подключения к службе передачи данных пакетов, минипорт-драйверы должны отправлять в службу МБ уведомление NDIS_WWAN_PACKET_SERVICE_STATE, чтобы указать текущий DataClass, за которым следует уведомление NDIS_STATUS_LINK_STATE в службу МБ, чтобы указать состояние подключения мультимедиа как MediaConnectStateConnected.

  2. При осуществлении или ответе на голосовой вызов драйверы минипорта должны отправлять уведомление NDIS_STATUS_LINK_STATE в службу МБ, чтобы указать статус мультимедийного подключения как MediaConnectStateDisconnected.

  3. Затем драйверы минипорта должны отправлять уведомление NDIS_STATUS_WWAN_CONTEXT_STATE в службу МБ, которая указывает состояние voiceCall устройства как WwanVoiceCallStateInProgress.

  4. При завершении вызова минипорт-драйверы должны отправлять уведомление NDIS_STATUS_WWAN_CONTEXT_STATE в службу мобильной широкополосной связи, указывающее состояние VoiceCall устройства как WwanVoiceCallStateHangup.

  5. Устройство возобновляет подключение к пакету после завершения голосового вызова. Драйверы минипорта должны отправлять уведомление NDIS_STATUS_LINK_STATE в службу MB, чтобы указать состояние подключения носителя как MediaConnectStateConnected.

  6. Драйверы минипорта должны отправлять уведомления NDIS_WWAN_PACKET_SERVICE_STATE в службу мобильной широкополосной связи, которая указывает текущий класс данных.

См. также

Дополнительные сведения об операциях службы пакетов см. в OID_WWAN_PACKET_SERVICE.