I Have done a XMPP chat app in which I am using Voip service for getting the Voip key in order to recieve the chat message when I am in background. The functionality all wor
You can't just add voip
flag and get approved by Appstore, you need to implement VOIP functionality or you will be rejected. Most XMPP applications in Appstore does not work in background, but some of them implements VOIP over Jingle and get approved with voip
flag.
On the other hand, if your application stick to your XMPP server, you can modify server behaviour - stay user session online even if he disconnected, manage received messages and notify user about it via Apple Push Notifications. Then user launch app, resume previous session and get all stored messages. This behaviour not yet standartized, but there is some work-in-progress specification.