Мобильный интернет: WAP, GPRS и другие страшные слова
Недавно столкнулся по работе с такой проблеммой - у заказчика не заработало приложение на телефоне. По его описанию я понял, что проблемма в отсутствии настроек GPRS интернета, о чем ему и поведал. На это мне ответили, что браузер у телефона работает, а службе поддержки оператора заказчика сказали, что «если браузер работает, значит с интернетом все нормально». Как-же так?
С понятиями "Мобильный интернет", "WAP" и "GPRS" уже давно существует огромная путаница. Причем чаще всего, девушки в службе поддержки оператора сами не знают, чем эти понятия друг от друга отличаются. Попробую растолковать все по порядку.
GPRS. Проще говоря, это способ передачи данных между мобильником и чем-то еще (например, оператором) по IP (а может еще и X.25 ?) протоколу. Сеть, в которой передаются данные, определяется именем точки доступа APN. В зависимости от нее, оператор сотовой связи подключает вас к той или иной IP сети. А вот что это за сеть - определяется именно этой точкой доступа. Это может быть абсолютно любая сеть, например локальная сеть оператора ;)
WAP.Это и есть тот-самый протокол, по которому работает WAP-браузер (а у телефонов он в большинстве случаев именно такой). Данные по этому протоколу передаются в своем, бинарном формате, а не в формате протокола HTTP. И передаются эти данные между мобильным телефоном и WAP-гейтом. Именно WAP гейт запрашивает WML страницу у HTTP сервера, а потом переправляет ее уже по WAP протоколу мобильному телефону. IP адрес WAP гейта обычно задается в настройках сессии браузера. Этот адрес большенство народу почему-то считают собственным IP во время WAP сессии, но это нифига не так. У Билайна WAP гейт находится в отдельной IP сети. Ее APN - wap.beeline.ru. К интернету эта сеть не имеет никакого отношения.
Internet over GPRS. Вот это тот самый случай, когда по определенному APN оператор подключает вас к инету. Поскольку интернет у нас работает по TCP/IP, то никаких наворотов не требуется - APN выводит вас прямо в интернет. У оператора T-Mobile, например, через APN, который выводит в интернет, подключается и WAP-гейт. Просто и удобно.
Возвращаясь к тому, что не работают J2ME приложения (например, JIMM) которым нужен интернет, хотя браузер работает. Тут теперь понятно, что происходит это из-за того, что APN в интернет-настройках на самом деле не выводит в интернет. Поскольку наша задача обеспечить нормальную работу как wap-браузера, так и J2ME приложений, то все сводится к установке различных APN для браузера и J2ME. В телефонах Sony Ericsson за J2ME отвечает первое GPRS соединение в списке профилей (ее CSD = 1).
Для Motorola у веб сессии, которая будет использована J2ME приложениями, должно быть имя "Java Session" с учетом регистра, а браузер использует сессию, помеченную как "сессия по умолчанию" (сомневаюсь что о такой возможности знают пользователи моторольских мобильников - на всех форумах пишут, что обладателям моторолл придется отказаться от браузера в пользу J2ME... Такое положение дел у них вовсе не удивительно). В телефонах Nokia GPRS сессию приходится каждый раз выбирать из появляющегося списка при первой попытке соединении J2ME приложения с интернет. Насчет других мобильников не знаю. Что мешало перечисленным мною производителям сделать отдельную настройку для выбора GPRS сессии для J2ME - дак это кривые руки.