Мое понимание того, как работает служба данных Blackberry, недостаточно ясно.
Сначала несколько наблюдений.
Во время телефонного звонка данные электронной почты не работают.
Однако, когда я был на голосовой почте, я увидел странную проблему: это письмо продолжало поступать. У меня было 97 сообщений после того, как я был на выходных, так что сообщения продолжали приходить. Это казалось странным. Но мне было интересно, является ли голосовая почта частным случаем телефонного звонка.
Я обнаружил, что во время длительных конференц-звонков я могу перейти к своему клиенту GMail и прочитать там свою электронную почту. Похоже, что данные продолжают работать.
Веб-браузер не работает во время разговора. Однако браузер Opera, похоже, продолжает работать.
Из этого я мог бы сделать вывод, что канал данных, который работает в электронной почте BB (push-почта), используется совместно с голосовым каналом.
Я где-то читал, что больше не могу найти (какой-то сумасшедший поиск в прошлом году), что поток данных TCP проходит через сеть оператора в центр обработки данных RIM, который затем возвращается в общедоступную интернет-сеть.
Таким образом, может возникнуть множество узких мест.
Чтобы развлечься, у меня есть T-Mobile BB (увы, без 3G), который использует Wi-Fi, когда дома, но настраивает интересный набор услуг, называемых UMA, которые, когда вы смотрите на экран диагностики WiFi на телефоне, он описывает ряд услуг, о которых я все еще пытаюсь придумать.
Во-первых, я здесь совершенно не в основе, или кто-нибудь нашел действительно хорошее описание того, как на самом деле работает служба данных.
Это зависит от телефона (что особенно очевидно для устройств BB Connect) и внутреннего радио (а также от того, насколько хорошо оно запрограммировано). Некоторые телефоны поддерживают открытие и голоса, и канала данных, некоторые - нет. Чаще всего нельзя открыть и GPRS, и голосовые каналы, и чаще всего телефоны поддерживают открытие 3g и голосовых каналов, но это не жесткое правило. Из приведенных вами вариантов использования также возможно, что некоторые приложения фактически отключают свой канал данных, если они обнаруживают текущий голосовой вызов.
По сути, это, как вы думали, зависит от того, использует ли канал данных то же радио, что и голосовой канал, но с некоторыми дополнительными сложностями.
Что касается бэкэнда, у меня есть опыт соединения BB, которое использует соединение для передачи данных телефона (например, GPRS, 3g, HDPSA) и подключается к шлюзу сервера RIM. Именно он затем использует регистрационные данные ваших телефонов, чтобы определить, на какой BB-сервер отправлять (или на серверы BIS, если вы не на корпоративном сервере), используя информацию о маршрутизации, которую телефон хранит. По крайней мере, на BB Connect он не использует голосовой канал напрямую, кроме как указано выше, когда они могут мешать.