This is more of a development test project so the end result does not have to be an entirely pretty polished interface, but a working example. (very low bandwidth use is important, only for voice on VOIP not music, so keep it as low as possible using lowest codecs)
The goal is to create a P2P VOIP appliction in visual basic, that will also allow IM and file transfers (small pictures). The system should have an address book, and open channels which are essentially like radio channels. as well as the VOIP ability to call an individual.
So the system would work as follows, when started there would be a default 'Channel' which is like a big confrence room that each peice of software is set to. So that when you communicate through VOIP on that 'Radio Channel' like a CB radio everyone can hear that. There should be the ability to create an unlimited amount of 'Channels' with any name required. so for example an event could be given a new channel and it could either be an open channel that anyone can join. or a passworded channel.
When someone joins that channel, any IM message / Broadcast message which is not specific to one person gets sent to everyone on that channel through P2P, as with file transfers. The system should be encrypted.
In addition there should also be the ability to have an address book, so if users were not on a channel, or they wanted to talk to a specific person they could use that VOIP call that would be direct to that person, not in the confrence call.
Another feature would be the ability to 'listen' into multiple 'Confrence' calls. So in essence there would be multiple radio channels much like a CB and the software can be told to monitor one channel, which might light up on the screen when talking comes up on that one, and have the radio set to monitor and talk on another channel.
One other feature is there would be two versions of the software, one mobile and another a server like desktop version. So the mobile software can all commuincate to eachother even if the server is not there, but the mobile can also communicate with the desktop software which would have more messaging abilities, and more administrative abilities in setting up mobile nodes and the likes.
Another important feature is the ability to updates to the software to be distributed automatically from the desktop version.
In terms of software, the mobile versions would all be on a big LAN, and desktop versions most likely on WAN so some ability to communicate would be important between the two, even if the mobile versions send a register command to the WAN desktop servers to get lists of who is on, radio channels, information and then update that information so that if connection is lost they can still function.
Any questions please use Public Message Board and i can clarify and give diagrams and pictures and the likes.
Keepiong budget to a minimum is important as well as its a trial idea build not a finished project, and i would need copies of all source code and visual basic project files so i could modify that if needed.
You can use existing open source VB solutions if they help achieve the end goal, but basically i want the end application to be all in one, not an application that interfaces to an existing softphone or something, it needs to be in the app.
Any suggestions let me know,