I am looking for self-hosted open source implementation of messaging server to substitute Telegram, Viber, WhatsApp, etc.
The requirements are
- Store all messages encrypted on server (I understand that if you lose device, then all these messages became meaningless)
- Write text, exchange by files, pictures
- If person offline, he will receive messages upon connect from server
- Push notifications to android and (optionally) ios
- (optional) Communications in groups of people
- (optional) Calls
- (optional) Web interface to work with without installing apps on desktop
I looked at XMPP protocol and implementaions like Prosody and ejabberd, but it seems that there are no push notifications in free version and it is not possible to store entire history on server in encrypted form.