Why do you need peer 2 peer networking?
Is it important that messages be scrubbed from each other's local storage?
If we save them for a time, how long?
Could some be saved and a fire-and-forget mode that never saved them? In memory only chat, purges when you hang up. You set up a chat "a call" as in memory only, the reciever has to agree.. if either party hangs up or times out both sides are purged.
Would you expect other services on your peer 2 peer network?
File sharing? Media?
Send/Recieve Money?