After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 414397 - Voip/Video Support for gossip-telepathy
Voip/Video Support for gossip-telepathy
Status: RESOLVED OBSOLETE
Product: gossip
Classification: Deprecated
Component: Telepathy
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Gossip Maintainers
Gossip Maintainers
Depends on:
Blocks:
 
 
Reported: 2007-03-03 22:40 UTC by Raphael Slinckx
Modified: 2007-05-30 18:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gossip-telepathy-voip-protocols.diff (20.38 KB, patch)
2007-03-03 22:49 UTC, Raphael Slinckx
none Details | Review
gossip-telepathy-voip-protocols.tar.gz (6.86 KB, application/x-compressed-tar)
2007-03-03 22:52 UTC, Raphael Slinckx
  Details
gossip-telepathy-voip-ui.diff (36.16 KB, patch)
2007-03-03 22:55 UTC, Raphael Slinckx
none Details | Review
gossip-telepathy-voip-ui.tar.gz (5.87 KB, application/x-compressed-tar)
2007-03-03 22:56 UTC, Raphael Slinckx
  Details
gossip-telepathy-voip-libgossip.diff (10.11 KB, patch)
2007-03-04 15:14 UTC, Raphael Slinckx
none Details | Review
first review (171.47 KB, patch)
2007-03-04 20:17 UTC, Xavier Claessens
needs-work Details | Review
Updated patch against svn trunk (78.82 KB, patch)
2007-04-24 18:19 UTC, Diego Escalante Urrelo (not reading bugmail)
none Details | Review
Updated, includes missing files (166.48 KB, patch)
2007-04-27 00:37 UTC, Diego Escalante Urrelo (not reading bugmail)
none Details | Review

Description Raphael Slinckx 2007-03-03 22:40:47 UTC
I will attach to this bug the patches for gossip SVN head to enable voip/video support.

The working branch can be downloaded with 
darcs get http://www.gnome.org/~rslinckx/darcs/gossip-telepathy-voip
Comment 1 Raphael Slinckx 2007-03-03 22:49:46 UTC
Created attachment 83850 [details] [review]
gossip-telepathy-voip-protocols.diff

The patch against the protocols/ subdir, affecting only the telepathy backend.

Implement in the gossip-telepathy the gossip-voip-provider functions, and delegates the calls to gossip-telepathy-voip.c
Comment 2 Raphael Slinckx 2007-03-03 22:52:35 UTC
Created attachment 83851 [details]
gossip-telepathy-voip-protocols.tar.gz

The new files that go with the voip-protocols.diff patch.

The libgossip definition of voip-provider and the implementation in protocols/telepathy/gossip-telepathy-voip.c
Comment 3 Raphael Slinckx 2007-03-03 22:55:45 UTC
Created attachment 83853 [details] [review]
gossip-telepathy-voip-ui.diff

Patches the UI part of gossip to be able to display the voip icon beside the names in the contact list, and the voip-window to show the calls
Comment 4 Raphael Slinckx 2007-03-03 22:56:51 UTC
Created attachment 83854 [details]
gossip-telepathy-voip-ui.tar.gz

The new files for the voip-ui.diff patch.
The cell renderer for the activatable talk button and the implementation of the logic behind the voip-window.c
Comment 5 Raphael Slinckx 2007-03-03 23:02:59 UTC
The patches above require the telepathy-stream-engine being availble on the machine as well as a connection manager supporting the media signalling spec (currently only gabble, allowing a jabber-jabber or jabber-gtalk voice/video conversation).

The capabilities of each contact is requested (can it accept voice or video or both) then the icon is showed accordingly in the buddy list. A menu item is also available to call a person when in chat view.

Once a call is started the voip window pops up and shows the preview and video window (if it is a video call) and various meters and sliders to control the volume (some of them are unused yet because there is no way to know the volume in stream-engine)

Ideally this should use the gossip's event manager code and behave like an incoming chat.

Only one gossip-voip window can ever exist at a time, if an existing call is in progress any new calls are rejected but there is no notification of this in the UI.

Comments are welcome. The patch basically works, you can receive and emit calls, but i guess it requires more work to be really polished and integrate well with the rest of gossip. I beleive this is an important step since this will be the first real video-capable client well integrated for gnome (excluding sip/ekiga).

Also another addition when a SIP connection manager will exist, is to add a way to call someone by typing a phone number (there is no buddy list in SIP) for example by adding a dialpad or something like that and fetching phone numbers from evolution.
Comment 6 Xavier Claessens 2007-03-04 09:12:53 UTC
You forgot the patch for libgossip/ I think, GossipContactCapabilities is not defined in GossipContact.
Comment 7 Raphael Slinckx 2007-03-04 15:14:39 UTC
Created attachment 83896 [details] [review]
gossip-telepathy-voip-libgossip.diff

This is the part i forgot to attach, to be applied along with the backend part of the patch (protocols.diff)
Comment 8 Raphael Slinckx 2007-03-04 17:56:07 UTC
TODO: Add a check for stream-engine using ListActivatableServices and emit the caps correspondingly
Comment 9 Xavier Claessens 2007-03-04 20:17:02 UTC
Created attachment 83920 [details] [review]
first review

Here is a big patch with everything needed to add voip capability to gossip HEAD.

I reviewed everything but gossip-voip-window.[ch]. Mainly changed code style to match gossip's coding style.

I can call my N800 or another gossip contact but when I accept the incoming call tp-se takes 98% cpu and the voip session never begin. Don't know what's happening.
Comment 10 Xavier Claessens 2007-03-04 20:18:53 UTC
Martyn > you can skip the 1562 first lines of the patch if you review, that's the telepathy backend part.
Comment 11 Xavier Claessens 2007-03-05 08:40:25 UTC
If I set video input in gstreamer-properties to "test input" tp-se seems happy, but it does works better, when I accept a call, the caller stay in "connecting" state ...
Comment 12 Raphael Slinckx 2007-03-05 10:13:09 UTC
I'll try to see what happens here. Maybe things broke during the merge, but i suspect it's related to your setup. the whole stream-engine business isn't very clean..
Comment 13 Jean-François Fortin Tam 2007-03-08 20:08:35 UTC
This doesn't implement file transfers at the same time right? :| any idea if that is planned in a similar way, Raf? I'm hopelessly looking for a jabber client that would support file transfers (and voip). Gaim is dead, Gajim is not moving in telepathy's direction at the moment, so I'm pretty much hoping gossip could use telepathy/tapioca/jingle/WhateverItIsNamedNowadays to make things "just work".
Comment 14 Xavier Claessens 2007-03-09 08:08:02 UTC
Jeff > A bug report is not the place to ask question about the project, please keep on topic. For a short answer, VoIP has nothing to do with filetransfer, but there is a draft spec for FT in telepathy and it will be implemented in gossip when the spec is finalised.

Raphael > Did you tried with my patch, does it work for you ? Maybe I added a bug when reviewing (it won't be the first time, shame on me). If it's a configuration problem please tell what to do to make it work. Thanks :)
Comment 15 Guillaume Desmottes 2007-03-09 10:15:29 UTC
I tried (using Xavier's patch) to call a friend using google talk. Connection was established but we heard nothing. :\
Comment 16 Martyn Russell 2007-04-04 18:27:23 UTC
Jeff: For more information on file transfer, follow bug #141569.

Guillaume: I too have this problem, no audio, just video, and only MY video I should add (testing with the n800 and Gossip).

Ralphael: Are you doing any more on this patch? I had to fix it up a bit, but I think it is almost commit-worthy! Good work, it needs some cleaning up on the dialog side of things, but that aside, I think it might be quite nice to have in Gossip.
Comment 17 Dafydd Harries 2007-04-04 19:02:03 UTC
The lack of video from N800->PC is a known issue, but not one we've gotten around to diagnosing. Our best guess is that the encoder used on the device is somehow incompatible with ffmpeg's decoder.
Comment 18 Martyn Russell 2007-04-04 20:48:54 UTC
Dafydd, thanks a lot, that really helps, I wasn't sure if it was something in the patch - but that is really good news. 
Comment 19 Diego Escalante Urrelo (not reading bugmail) 2007-04-24 18:19:21 UTC
Created attachment 86930 [details] [review]
Updated patch against svn trunk

Hei :). I played with telepathy today and found that this didn't apply anymore so I humbly tried to update it. It worked/works for me.

Hope it's useful.
Comment 20 Diego Escalante Urrelo (not reading bugmail) 2007-04-24 18:22:47 UTC
Ah btw, I tested calling between n800 and PC. Results:
- Audio:
 N800 -> PC: Works!
 PC -> N800: Haven't tried
- Video:
 N800 -> PC: Works!
 PC -> N800: A black display with an interference band on top

I'm willing to help on this!
Comment 21 Guillaume Desmottes 2007-04-24 22:33:31 UTC
Your updated patch doesn't include new files. Maybe it would be easier to add them in it.
Comment 22 Diego Escalante Urrelo (not reading bugmail) 2007-04-24 22:51:15 UTC
Hmm, sorry I don't get you.
Or maybe I didn't explain myself correctly... the patch is the result of applying attachment #83920 [details] to a fresh svn copy, being one month old it doesn't apply cleanly so I just applied some parts manually. After applying the patch in "semi-automatic" mode I did a svn di which, as far as I understand, produced a equivalent patch to the one I applied just that this one /applies cleanly/ to trunk.

In one line: I updated the patch to apply cleanly to trunk. I didn't add anything new.
Comment 23 Xavier Claessens 2007-04-25 08:16:58 UTC
What Guillaume said is my patch adds new files, so you have to add them to svn before generating the patch, using svn add <files>.
Comment 24 Diego Escalante Urrelo (not reading bugmail) 2007-04-25 12:40:30 UTC
doh! Sorry didn't get it! I´ll update it.
Comment 25 Diego Escalante Urrelo (not reading bugmail) 2007-04-27 00:37:55 UTC
Created attachment 87114 [details] [review]
Updated, includes missing files

Doh!
Comment 26 Nicolas DERIVE 2007-04-27 23:19:57 UTC
Thanks for the new patch Diego, I will try so see if it works correctly without tp-se cpu eating problem. Thanks to all for your work !
Comment 27 Guillaume Desmottes 2007-05-11 15:54:48 UTC
Previous releases of farsight didn't work with latest gstreamer.
That's now fixed.
I did some tests and it seems to work really better now (I was able to call one of my friend who is using Google talk).

So if you're using gstreamer 0.11 or older, I suggest you upgrade your telepathy-stream-engine, farsight and gstreamer-plugins-farsight to use latest releases.
Debian Sid packages are up-to-date and I rebuild them for Feisty (use latest libjingle packages could be a good idea too): http://projects.collabora.co.uk/~cassidy/packages/feisty/
Comment 28 Mikael Hallendal 2007-05-30 18:59:08 UTC
Thanks for the bug report. 

As announced [1] yesterday we have decided to remove the Telepathy backend and go back to our initial goal of becoming a Jabber/XMPP client. 

As this bug is related to the Telepathy backend we will close it as obsolete as the code will no longer live in our code repository. If you want to continue to use a Telepathy client we suggest you take a look at the Gossip fork Empathy [2].

[1] http://lists.imendio.com/pipermail/gossip-dev/2007-May/009222.html
[2] http://live.gnome.org/Empathy