Операции службы пакетов в МБ
В этом разделе описываются операции по потере и восстановлению службы пакетных данных, передачи службы данных пакетов и голосовых вызовов во время подключений к службе пакетных данных.
Потеря и восстановление службы пакетных данных
На следующей схеме показан процесс, которому должны следовать драйверы минипорта, когда они теряют силу сигнала и службу пакетов в течение различных интервалов. Метки, выделенные полужирным шрифтом, являются идентификаторами 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, такими как КОД, EDGE, UMTS, HSDPA или TD-SCDMA, или перемещается между различными технологиями на основе CDMA, такими как 1xRTT, EV-DO или EV-DO RevA. Метки, выделенные полужирным шрифтом, являются идентификаторами OID или управлением потоком транзакций. Метки в обычном тексте являются важными флагами в структуре OID.
Имейте в виду, что если IP-адрес не изменится в процессе передачи, служба МБ обрабатывает событие передачи прозрачно, не нарушая существующее подключение. Однако драйверы мини-портов по-прежнему должны уведомлять службу МБ о событиях отключения мультимедиа, если IP-адрес изменится и только в том случае.
Драйверы минипорта и управляемое ими устройство ДОЛЖНЫ иметь возможность автоматически обрабатывать передачу уровня 2 между различными воздушными интерфейсами с минимальным воздействием на службу МБ и другие приложения наложения. Единственное возможное влияние — это изменение IP-адреса, которое может возникнуть в результате передачи технологии. В этом случае драйверы мини-порта должны повторно установить подключение к МБ, прежде чем отправлять сообщение об изменении службы пакетов в службу МБ. Драйверы минипорта, которые не реализуют функции DHCP, должны использовать вспомогающую функцию IP и связанные функции. Драйверы минипорта, реализующие функции DHCP, не требуются для использования вспомогательных функций IP.
Чтобы передать службу данных пакета, выполните следующую процедуру:
Драйвер мини-порта отправляет NDIS_STATUS_WWAN_PACKET_SERVICE в службу MB.
Драйвер мини-порта отправляет NDIS_WWAN_LINK_STATE в службу MB.
Драйвер мини-порта отправляет NDIS_STATUS_WWAN_PACKET_SERVICE в службу MB.
Драйвер мини-порта вызывает вспомогательную функцию DeleteUnicastIpAddressEntry со старым IP-адресом.
Драйвер мини-порта вызывает вспомогательную функцию CreateUnicastIpAddressEntry с новым IP-адресом.
Драйвер мини-порта отправляет NDIS_STATUS_LINK_STATE в службу MB.
Драйвер мини-порта отправляет NDIS_STATUS_LINK_STATE в службу MB.
Драйвер мини-порта отправляет NDIS_STATUS_WWAN_PACKET_SERVICE в службу MB.
Голосовые вызовы во время подключений к службе пакетных данных
На следующей схеме показан процесс, которому должны следовать водители минипорта при выполнении голосового вызова при активной службе пакетных данных. На схеме в качестве примера используется 1xRTT, но процедура применяется и к другим воздушным интерфейсам. Процесс, описанный на следующем рисунке, применяется только к драйверам miniport, которые возвращают WwanVoiceClassSeparateVoiceData в элементе WwanVoiceClass в ответ на запрос OID_WWAN_DEVICE_CAPS запроса . Метки, выделенные полужирным шрифтом, представляют идентификаторы OID или элемент управления потоком транзакций. Метки в обычном тексте представляют важные флаги в структуре OID.
В процедуре предполагается, что принятие входящего голосового звонка приведет к упреждающему подключению к существующему пакету. Для драйверов мини-портов, которые возвращают WwanVoiceClassSimultaneousVoiceData в члене WwanVoiceClass в ответ на запрос OID_WWAN_DEVICE_CAPS запроса , текущее подключение к пакету не должно быть затронуто.
Имейте в виду, что служба MB не поддерживает голос канала и не запрещает службу. Процесс, описанный на рисунке выше, применяется только в том случае, если устройство может обрабатывать как данные, так и голос канала, но только по одному за раз. Предполагается, что голосовой вызов имеет приоритет над любым потенциальным подключением к данным. В этом случае водители минипорта должны приостановить подключение к данным на время голосового звонка. После этого водители минипорта должны возобновить работу службы данных, автоматически повторно установив подключение к МБ.
Для обработки голосовых вызовов во время подключений к службе пакетных данных используйте следующую процедуру:
Для успешного подключения к службе пакетных данных драйверы минипорта должны отправить NDIS_WWAN_PACKET_SERVICE_STATE уведомление в службу MB, чтобы указать текущий Класс Данных, а затем NDIS_STATUS_LINK_STATE уведомление в службу МБ, чтобы указать состояние подключения к мультимедиа MediaConnectStateConnect.
При выполнении голосового звонка или ответе на нее водители мини-порта должны отправить NDIS_STATUS_LINK_STATE уведомление в службу МБ, чтобы указать состояние подключения мультимедиа MediaConnectStateDisconnected.
Затем драйверы мини-порта должны отправить NDIS_STATUS_WWAN_CONTEXT_STATE уведомление в службу МБ, которое указывает состояние VoiceCall устройства как WwanVoiceCallStateInProgress.
При зависании драйверы мини-порта должны отправить NDIS_STATUS_WWAN_CONTEXT_STATE уведомление в службу МБ, которое указывает состояние VoiceCall устройства как WwanVoiceCallStateHangup.
Устройство возобновляет подключение к пакету после завершения голосового вызова. Драйверы мини-порта должны отправить NDIS_STATUS_LINK_STATE уведомление в службу MB, чтобы указать состояние подключения к мультимедиа Как MediaConnectStateConnectConnectEd.
Драйверы минипорта должны отправить NDIS_WWAN_PACKET_SERVICE_STATE уведомление в службу МБ, указывающее текущий класс DataClass.
См. также:
Дополнительные сведения об операциях службы пакетов см. в разделе OID_WWAN_PACKET_SERVICE.