Using XMPP was part of the functionality I needed, others were audio and may be video. I dropped the idea of using XMPP and chose Session Initiation Protocol (SIP) since it's like a container for audio, video and messages. So, basically, it can do all I need. I found a library called SIPEK SDK that is a C# wrapper to pjsip C++ lib. At least it has audio and messages. If I find that the messages part of the above lacks proper functionality, I might go back to XMPP. I found what I mentioned above: I've noticed that there are jabber.net and agsXMPP and both have tutorials here although it seems that jabber.net has less samples on the net. Also, Jabber.NET doesn't seem to have a full working documentation but it's open-source. I read also about another one that has many samples but didn't test it: SoapBox Studio. About server, I used Openfire. It's free and has a web interface (at least the one that comes with Elastix linux distribution)