Как реализовать собственный IM-сервер для общения текстовыми сообщениями с клиентом для iPhone (push-уведомления обязательны)?
Поставлена задача организовать собственный сервер обмена короткими текстовыми сообщениями. Для этого выделили сервер на Windows 2008. Но есть обязательные условия:
- должен быть клиент для Iphone 4 - 5. Причем обязательное условие Push-уведомления;
- шифрование трафика(SSL, TLS, что-нибудь);
- весь трафик должен идти только от клиентов к серверу и обратно (Не затрагивая какие-либо сторонние ("общественные") сервисы);
Что было сделано:
- установил Openfire на сервер;
- настроил "Do not disconnect clients that are idle";
- ставил как "Send an XMPP Ping request to idle clients", так и "Send an XMPP Ping request to idle clients"
- создал несколько пользователей;
- авторизовался через WindowsPhone через IM+;
- пробовал устанавливать на Iphone'ы "ChatSecure", "Monal" и авторизовался через них(разными пользователями);
- коннект проходит без проблем, общение тоже вобщем - то происходит
НО:
- если сворачиваю приложение на Iphone, то xmpp-сессия через несколько минут завешается, и соответственно юзеры уходят в оффлайн. И если я с IM+ пишу им(на Iphone) сообщения, то push-уведомления не приходит и сообщения они эти видят только когда принудительно заходят в клиент. P.S. на WindowsPhone IM+ висит тоже в фоновом режиме, но сессию не рвёт.
В итоге прошу помощи:
- либо в какой-то хитрой настройке сервера/IPhone клиента;
- в выборе другой схемы (не jabber, а IRC или что-нибудь)
P.S. готов был бы сдаться и списать всё на "закрытость" IOS, НО ведь WhatsApp работает в фоне и сообщения приходят всегда и сессия не рвётся.