Ticket #1265 (closed enhancement: fixed)

Opened 5 years ago

Last modified 10 months ago

jingle implementation (for VoIP)

Reported by: nk Owned by: liori
Priority: low Milestone: 0.14
Component: None Version:
Severity: trivial Keywords:
Cc: mantas@…, palango@… Blocked By:
OS: All Blocking:

Attachments

Change History

Changed 5 years ago by delmonico@…

If someone wants to go for it:  http://ldots.org/pyrex-guide ;) I think my C skills are not good enough to do this myself... Christoph

Changed 5 years ago by asterix

libjingle is written in C++ ...

Changed 5 years ago by multani

  • cc jon@… added

Changed 5 years ago by Vasily Chekalkin <bacek@…>

You don't need to wrap libjingle. More simple to write analog in pure python. Look at shtoom - "pure" python VoIP implementation.

Changed 5 years ago by nk

boost python or swig is the way to wrap the beast if someone is up for it.

Vasily, libjingle does the signaling and all that as said in the JINGLE JEP:

 http://www.jabber.org.nyud.net:8090/jeps/jep-0166.html

 http://www.jabber.org.nyud.net:8090/jeps/jep-0167.html

another way is to just get the sip/openh323 address of user (he can put it as User Profile JEP says) and just show a call action which when clicked will call Ekiga (used to be GnomeMeeting?, or NetMeeting? (conf.exe), or shtoom or Skype or whatever) and let those people do the job.

the last is more likely to be implemented /me thinks

Changed 5 years ago by Vasily Chekalkin <bacek@…>

But signalling is pure xml stanza. It's simple. Other parts is oRTP and voice codecs. It's more hard, but python bindings to speex already exists.

Changed 5 years ago by dkirov

I looked at this jingle thing and I think that p2p part of it is the only lib that have to be ported. We have gstreamer with support for lots of codecs + rtp and python binding. It is even possible to have a pure c application where xmpp and gui is done in gajim and they communicate with dbus. This is the most simple (to implement) solution I can think of.

Changed 5 years ago by nk

if ekiga can be embedded, we can also use the User Profile JEP (which at last kills vcard-temp) which has a field for SIP and/or we can also do the sip address broadcast in the presence tag (it's another JEP I don't recall atm). and we cna use that sip and just do a callto using ekiga.

as I see it, Gajim doesn't have the resources to start doing a/v. ekiga on the other hand is the way to go

Changed 5 years ago by nk

I found the jep and ticket ;) c #1032, it can't get any simpler and easier. really!

Changed 5 years ago by anonymous

Hi, I have a suggestion, although my knowledge of the implementation details is limited. I think as long as you are wrapping/reimplimenting libjingle for python, you should consider implementing enough abstraction to negotiate peer:peer/voice sessions with non-jabber clients (such as MSN) over a transport. Of course you may need to talk to the developers of the various transports to get this done. As I say, I know very little about the implementation details. I just think it is a good idea, assuming it is possible. If not, maybe there is another way, for example, you could call a third party client for all voice/video/peer:peer sessions, pass it all the details of the client on the other side, and let it do the work of both negotiating AND decoding the data, bypassing any transports along the way. Or maybe the transport itself could be developed to "translate" jingle negotiations, and gajim would only have to find/call another program capable of reading/writing the data format. Just my 2 cents.

Changed 4 years ago by dkirov

From gnomefiles:  http://tapioca-voip.sourceforge.net/wiki/index.php/Tapioca

Looks like someone already did it. After 0.10 we should think of implementing jingle signaling. It gives a realiable way for OOB establishment, so this is the future.

Changed 4 years ago by dkirov

Nothing interesting there.
Links to farsight, which is already used and patched in tapioca. Besides tapioca gives us full featured dbus service, there is nothing more that we need.

Changed 4 years ago by spike411@…

This Tapioca project seems very encouraging, they even provide some Python bindings plus D-BUS interface.

 http://blogs.gnome.org/view/uraeus/2006/03/22/0 Maybe it would be possible to interface directly with GStreamer (win32 port is underway, I hope, at least cygwin one).

Tapioca would be the easiest easiest to implement, but it also means more dependancies.

Implementing directly GStreamer would be maybe a bit harder, but not impossible, there are Python bindings for GStreamer as well.

Changed 4 years ago by nk

there is no need to go directly over GStreamer, a Framework like the one is the way. we can depend and ask this dep, and if not there we won't do VOIP but work as normal IM

Changed 4 years ago by anonymous

Using the tapioca framework should make adding Jingle, and even SIP, very

doable. Tapioca includes Python bindings called PyTapioca? so the hard would should be done.

 http://tapioca-voip.sourceforge.net/wiki/index.php/Tapioca

Is anyone working on this? Tapioca isn't nearly as nice of a Jabber IM client so adding VoIP to Gajim would be spectacular.

Changed 4 years ago by bluegraydragon@…

Any updates on using tapioca with gajim. I would do it, but I'm afraid I'm

not skilled enough ;)

Changed 4 years ago by nk

no API docs in  http://tapioca-

voip.sourceforge.net/wiki/index.php/Documentation

Changed 4 years ago by jim++

  • type changed from defect to enhancement

Changed 4 years ago by Jonathan Ballet <jon at multani dot info>

  • cc jon@… removed

Changed 4 years ago by jid: adwin@…

Why use jingle when you can use Telepathy ? It supports jingle anyway. And waaaaay easier to implement. dbus arch already present. ;]  http://telepathy.freedesktop.org/wiki/

Changed 4 years ago by asterix

the problem with telepathy is that they implement all the XMPP / network layer, and we don't need / want that.

Changed 3 years ago by baze

i have no idea how good the xmpp implementation in telepathy-gabble is atm, but gajim's is working quite nice, according to my experiences ;) however, i still think it would be cool to use telepathy as a backend in gajim. maybe the gajim devs could help to improve gabble? telepathy is a really nice idea, imho.

Changed 3 years ago by roidelapluie

  • owner changed from asterix to liori
  • os set to All

Changed 3 years ago by Mantas

  • cc mantas@… added

Changed 18 months ago by kalon33

Hello all,

What's the news about implementing VOIP into Gajim ? It seems really interesting to add this to a jabber IM client, and now that I use sometimes Gajim, I'm curious about the progress of this idea ;)

Thanks for your answer.

Changed 18 months ago by palango@…

  • cc palango@… added

Can someone please give a status update on this?

Changed 13 months ago by anonymous

echo...!

Changed 13 months ago by asterix

Work re-started on that.

Changed 12 months ago by nahuel

will we have the luck to have the voip support in next gajim version?

Changed 12 months ago by asterix

  • keywords jingle added; libjingle python wrap removed
  • summary changed from someone to wrap to python libjingle (for VoIP) to jingle implementation (for VoIP)

Work is in progress. I things go fast, we'll include it in next version.

Changed 11 months ago by klausi

  • milestone set to 0.13

So this will ship with 0.13?

Changed 11 months ago by asterix

  • milestone 0.13 deleted

no

Changed 10 months ago by asterix

  • keywords jingle removed
  • status changed from new to closed
  • resolution set to fixed
  • milestone set to 0.14

it's now merged to default branch. Some configuration is missing, see #5373

Add/Change #1265 (jingle implementation (for VoIP))

Author


E-mail address and user name can be saved in the Preferences.


Change Properties
<Author field>
Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Next status will be 'needinfo'
 
Note: See TracTickets for help on using tickets.