Does gaim support voich-chat with other MSN Messenger client (MSN original client)?
If Gaim is not supporting Vocie then is there any software in linux from which we can use voice conversation????....
Has anyone attempted to analyze the Yahoo or Windows Messenger
voice chat protocol?
I've done some poking around and discovered the following:
- voice chat uses the DSP Group TrueSpeech codec built
into Windows (proprietary)
- voice chat uses RTP running over UDP or TCP
- A special version of 4.6 includes SIP (Session Initiation Protocol)
- According to a doc on Microsoft's site, the non-SIP version
may also use SIP after some initial proprietary messaging through
the server (not certain though)
- voice chat uses RTP over UDP
- I don't know what codecs are used, it's possible they are
negotiated with what's available on each end
The MPlayer open source movie player can decode TrueSpeech codec
streams on x86 architectures by directly accessing the
TrueSpeech DLL. This means that the hard part of codec work for Yahoo
has been solved already, at least on the x86 architecture.
And MPlayer supports the other Windows voice codecs (in decoder
mode currently) so they shouldn't be hard to use as well
if Windows Messenger requires them.
The Linphone project at http://www.linphone.org
(and several others) does IP telephony using
SIP for setting up calls, and RTP over UDP as the transport.
It supports reasonably pluggable codecs. Also,
Linphone already interoperates with the SIP version of Windows
Messenger. Unfortunately, in typical Microsoft fashion they
are promoting the non-SIP version and allowing the SIP version to
lag behind in functionality, so almost all Windows Messenger users
have the non-SIP version installed by default.
Based on this, it seems like a lot of the hard work for voice
chat is done already. What is still needed are the details of how the
voice streams are initiated and torn down for both Yahoo and
Windows Messenger. After that, code can be stolen
from MPlayer and Linphone to implement the
voice chatting functionality.
Personally I'm more interested in seeing Yahoo voice chat work,
since that's what I use. But interoperating with Windows Messenger
might be easier to implement since it may already be using SIP under the
hood. Could it be as easy as adding some more codecs to Linphone
and then controlling it via Gaim or Everybuddy?
Some various bits of work I can see that would need to be done and
can be done mostly in parallel are:
- analyze voice setup/teardown messaging for Yahoo
- implement voice setup/teardown messaging in libyahoo2
- analyze voice data messaging for Yahoo
- analyze call setup/teardown messaging for Windows Messenger
- implement voice setup/teardown messaging in libmsn2
- analyze voice data messaging for Windows Messenger
- add support to Linphone codebase for DSP Group TrueSpeech codec
(steal code from MPlayer)
can be tested by making Linphone to Linphone calls with TrueSpeech
- add support to Linphone codebase for other Windows proprietary
codecs (may not be strictly necessary)
- integrate all or part of Linphone with Gaim or Everybuddy and control voice
setup/teardown via libyahoo2 and libmsn2
Future work would be adding RTP over TCP support to Linphone
and understanding voice conferencing call setup/teardown.
On Yahoo I believe the voice conferencing must go through the server.
Comments welcome. Has anyone else considered this, or is anyone
interested in diving into various parts of this?
I know I wouldn't want to attempt all this alone.
you skipped the whole (large) issue of using and controling a microphone, and also our existing sound issues as we attempt to support more than just esd sound.
You're right, I'm not very familiar with Gaim code yet. Linphone is currently controlling the microphone. I believe Linphone is using either ALSA (preferred) or OSS drivers directly and not going through ESD.
I think that integration of linphone, GnomeMeeting with GAIM is much more interesting than including their features in GAIM. That's the Unix moto, do few things, but do them well :-)
I'm ready to collaborate if people are interested in adding GnomeMeeting support in GAIM so that right-clicking on a nick would call the remote person if he has GnomeMeeting installed on his system...
Hi Damien, since I've been looking at all these projects lately, I recognize you as the author of GnomeMeeting. So obviously your offer to collaborate carries a lot of weight. :) So far GM is the only success I've had at communicating with MS Windows users.
I think your idea is a good one. Still, for me GM already works well and can rendezvous with other GM users. I'd really like to be able to do voice chat with Yahoo or MSN users. I know Yahoo will need support for the proprietary TrueSpeech codec, so I'm working on support for that right now, which is independent of GM or Linphone.
I haven't looked at the GM codebase yet, but can you comment on how hard it would be to add more codecs or to add another way of doing call setup? Or maybe all that is needed to make everyone happy is a way to control GM from another process with a command like this: "start inbound RTP stream on port 3459, codec MS-GSM, outbound RTP stream to IP 188.8.131.52 port 4567, codec MS-GSM" and let GM take it from there. Then perhaps GM could notify when the session is ended, etc.
The more I think about this, the more I think it would be nice to have one daemon (with or without a GUI) that could handle various voice and video stuff. Which GM does already. I don't know much about the H.323 suite, but I'm guessing it eventually leads to RTP traffic just like SIP. And Yahoo. And probably MSN.
So allowing other processes to negotiate call parameters and then command GM to setup RTP streams with the correct codecs would be nice. And of course allowing them to command GM at a higher level, like "callto://blahblah" is good too. I'm guessing there's an easy way for status to be reported back to the initiating process in Gnome?
Essentially, GM would become the Gaim of voice and video, and this would be eased since most of these protocols are standardizing on RTP.
If you want to continue this thread with me, you can mail me (email on gnomemeeting.org).
Well here is what I can tell:
- GnomeMeeting will support SIP *and* H.323 in the future (next year probably for april 2003), it will be hard to integrate both in the same GUI, as they imply different notions, but I want to do it, this is my main objective after 1.0
- GnomeMeeting can be controlled by another process (like Gaim) using the command line and gconftool, Gaim could thus ask him to call an IP, for example. Of course, that would run GnomeMeeting, but MSN was doing that with Netmeeting for example.
- It is not sure interoperability with Yahoo and MSN are assured. I suppose MSN is checking some weird parameters before accepting a call.
I don't think Yahoo is supporting SIP. But you are right, in a very basic way, the difference between SIP and H.323 is basically the call signalling and control.
please forgive my lack of knowledge in the following.
integration with gnomemeeting is probly the single best solution to offering voice chat. my one question is how much a gnome program is gnome meeting. given that gaim is used in gnome, kde, and just about any other enviroment you exist, how well would a gnome meeting based voice chat solution work for those users? at some point i'm probly going to have to check gnome meeting out.
Actually guys, this is a really interesting thread, and something that I think would be cool to have in Gaim. Could you continue it on the gaim-devel mailing list rather than just mailing privately? It's very low traffic. Failing that, at least CC it in your messages.
Well GnomeMeeting requires Gnome libraries to work, but works fine in KDE, a recent poll showed that GnomeMeeting has more KDE users than Gnome users.
It is even possible to compile GnomeMeeting without Gnome, using only GTK and GConf...
SIP support in GM would be very nice. I took a gander at the GM source code, and I see that it will be a lot of work to integrate SIP, I guess since OpenH323 does a lot. But I would think the user experience could eventually be the same: just type in a URL and press the connect button, but instead of "callto:" it starts with "sip:".
I agree that Yahoo and MSN support is far from assured just by talking SIP or H.323. Though, I think both are just sending RTP streams in the call, and there are experts around here in reverse-engineering all manner of setup messages. The proprietary codecs are a big problem, which I think can be solved like MPlayer does by using the DLLs directly.
I stole the idea of the universal RTP voice/video engine from RAT (Robust Audio Tool). It looks like it has died off now (it was a research project as best as I can tell). It could be started with RTP ports and codecs to use from the command line, and somebody (Columbia Uni?) wrote a separate SIP client which invoked RAT to do the call after the call session parameters were negotiated via SIP.
To me it seems like there is a lot of interest in developing a plugin or something like to Gaim, so we'll get voice chat and webcam support. I tried to collect some people for developing a plugin like that, but it seems from this thread that the development has already begun.
Is that true? In that case, are there a way to contact the group of developers, because if that is the case, it would be madness to start developing myself, instead of helping those who are developing. I'm quite new in C++, but I think I'm pretty fast at learning (we can give it a try ;) )
If there aren't any groups developing right now, what about starting one?
Please mail me at: KR-data@KR-data.dk if there is any interest.
Umm, hasn't anyone heard of gaimvideo? I'm surprised no one mentioned it..
Probably because most of this thread it two years old and it seems gaim-vv (the project) was only started in February 2004.
But I'm interested in the status of voice support for Gaim - is it still on the features-to-come-list, or has it been abandoned totally?
On a side-note, the Skype API has been made available, though still only for Windows (for now, more info here: http://forum.skype.com/bb/viewtopic.php?t=11620\).
Unless i'm mistaken, the Skype API is pretty much irrelevant to gaim because the Skype licensing isn't (even remotely) GPL compatible.
Is MSN? I'd think it was pretty closed as well.. ?
Is this to imply that ICQ & AIM have GPL compatible licenses??
Maybe they do, but I thought I remembered both co.'s being upset by the Trillian client and I think I remember ICQ changing the protocol a few times to break Trillian (to which the Trillian guys patched and it was working again a day or 2 later.)
WinICQ and WinAIM (the official clients) are not gpl compatable. they are in fact the same protocol, just a very flexible protocol that offers different capabilities and enforces different rules based on a couple different criteria, including the first character of the screenname (aim screennames must not start with a number, it will not let you register such a screenname), and the client (and client version) you claim to be. aol did change the protocol several times, to block msn interoperablitiy, jabber transports, and later to block trillian. Trillian, with help from gaim developers, was able to work around the blocks in fairly short order, as gaim worked around similar blocks (targeting msn and jabber respectively, but affecting gaim as well. we were not affected by blocks targetting trillian).
the licensing of the api and clients is not really relevent where it is possible to reverse enginner the protocol without use of a decompiler (or similar means of viewing the un-gpl'ed code). reverse engineering for compatability is legal in most (if not all) juridictions. (I am not a lawyer, this is not legal advice, just my opinion).
Log in to post a comment.