ZChat is a general purpose voice chat software( with some experimental
video support ) for any network( private or internet ). Currently Linux
on an i386 is the target plateform. I have decided to base it on
I am a student & am doing it as my project & i am doing all alone,
although Wim Taymans sincere help & answers to my questions had
helped me a lot.
Well, there would be 2 parts of the zchat( client & server
), Both of which are necessary on the network on which it will be used.
There must be a PC on which the server software would be running all the
- The Server: The main task of the server shall be to abstract
the users from locating other clients by ip or host names. The clients
would only need to use consistent nick names to login to the server
to help others find them. There would be a seperate thread in the server
whose job would be to check all the currently logged in clients for
availability. If it finds any sort of error connecting to them, it will
assume that they are offline, so it will logg them off & send a message
to them( in case our estimate is wrong & they are still online ).
Infact there would be a seperate thread in client too, that would act
as a server to this pinger thread in the server programe. Its almost
- The Client: Thats would be doing much of the work for you.
Giving you a GUI, connecting to other users( with the help
of server of course ), start taking your voice to other client
& his voice to you in real-time( using gsm compression
technology ). I have decided to to base the ZChat on
Gstreamer Architecture. But unfortunatelly, one of the
required plugin( rtprecv ) was missing in Gstreamer. So i am doing that
myself before writting the client side. I have completed rtprecv, as far
as zchat's need is concerned but i want it to be able to stream many kinds
of data( gsm, mp3, mpeg video & system streams etc) & be a very nice
plugin, as many other people need it in their projects too.