Alright, well, if you have seen Microsoft Lync, it's a similar system with a few mods and will be a hardware-based platform. I hope this helps?
If you haven't seen Lync, check out
http://en.wikipedia.org/wiki/Microsoft_Lync.
But the main features include voip, video, IM etc. I've seen Lync (set up the whole server + client side) and it's okay, but there's quite a few things that Microsoft has done that can be changed to improve the entire system.
I do know that this is a huge project as I'm told by a lot of people, because of maintenance even after the the system is written.
So i guess the question is, how to go around planning a system like this using BSD?