Есть у меня телефон Nokia 6230, который меня всем устраивает и очень мне нравится. Наткнувшись в интернете на описание сервиса Google Sync для синхронизации контактов телефона с Gmail, я решил настроить такую удобную на первый взгляд функцию. Синхронизация происходит при помощи открытого стандарта SyncML с использованием WAP Binary XML.
Описание настройки для Nokia 6230 на сайте Google не совпадает с реальностью. У меня все меню выглядят совершенно по другому. Пришлось разбираться самому блуждая в множестве вложенных меню с не очень очевидными пунктами. В итоге с трудом нашел в разделе "Органайзер" меню для синхронизации и создал новое подключение для синхронизации. После установки gprs соединения телефон выдает ошибку синхронизации с сервером.
Начал думать,как произвести отладку, что именно не работает. Решение нашлось быстро: настроить прокси сервер для соединения в настройках синхронизации. Настроил прокси и увидел в логах такую запись:
448 217.118.91.36 TCP_MISS/503 1547 POST http://https//m.google.com/syncml - DIRECT/https text/html
Телефон не понимает префикса https для защищенного соединения, а Google sync работает только через https.
За полчаса написал скрипт на питоне для организации http2https прокси, который принимается POST-запрос от телефона по http и отправляется через HTTPS серверу m.google.com. Тут его можно скачать.
Запустил синхронизацию с указанием моего прокси сервера и вуаля где-то через четыре минуты телефон рапортовал об успешной синхронизации.
Я обрадовался и пошел в google mail редактировать контакты. После редактирования нескольких контактов решил опять синхронизировать телефон. Сначала все пошло нормально, но при послыке WBXML от гугла в телефон для обновлению данных о контактах телефон пишет "Not authorized". Разбор XML показал, что Google все делает по стандарту. Видимо телефон умеет только отдавать данные для синхронизации, но не получать обновления. В конечном счете плюнул на эту функцию, тк синхронизация возможна только в одну сторону, происходит только по инициативе пользователя и занимает несколько минут времени.