Bounty for Smack/Jingle Improvements

Hey Developers,

I’ve been struggling with Smack/Jingle and it occurred to me that someone out there may be able to solve the problem more easily than me, so if someone thinks they can handle it, please let me know and I’d love to send some money your way for the effort.

I think there are a few issues that need to be resolved, so I’m making a few goals. Not all of these goals need to be met (only the first one), but it’s important to me to that nothing is done to go against any of these goals:

Goal 1 (Audio Video Chat on Mac OS X):

I need to be able to have audio/video chat working on mac OS X. I have made some progress in this area using various tools. I am currently stuck here: http://community.igniterealtime.org/message/207334

I don’t think my problem is really OS X specific, although it may be partly on OS X problem.

I would very much like the ability to share screens and custom data as well, but I think that will follow.

Goal 2 (Better Docs for Smack/Jingle):

Lots of people are baffled by how to get Jingle to work with smack and exactly what’s required. A little TLC in this area would help a lot.

Goal 3 (Specific design issue in Smack/Jingle):

I happened to notice a design problem in my perusal of the code that makes doing video difficult. The PayloadType class has an inner class that’s also a subclass: PayloadType.Audio. However, rather than delegating additional functionality through virtual functions, as would be proper object oriented design, other classes include type checks or direct typecasting from PayloadType to PayloadType.Audio. This is just plain bad design, in otherwise excellent code. I have a partial fix for this already, but there may be some side-effects. Specifically, I’m not sure how jingle works with multiple payloads, (one video + one audio, for example) and that might take a tiny bit more tweaking to get working.

Sorry to bump an older thread, but I really agree with #2, we need docs to show us how to utilize jingle. I cannot get the Demo to work as it fails on ICETransportManager instantiation with the error: java.net.BindException: Cannot assign requested address: Cannot bind

Are there any plans from anybody to begin putting documentation together for this? Smack has been wonderful, we have implemented nearly all of its features into an IM system, but now we would like to persue Audio Video chat utilizing XMPP and now we are stuck.

Hello Wade,

I think I’ve spent a little too much time barking up this tree and now I’m talking with the SIP communicator folks about a solution for this. They are using SMACK for basic XMPP support, but for audio, video, jingle and so on they have their own solutions. The only problems seems to be that SIP Communicator is an app not a library, and I am not sure what’s involved in “library-ifying” it.

However, there is a company behind SIP and if you have a budget, perhaps we can work together with that company to get a solution.

bjorn

Thank you for your response,

I am actually curren tly leaning towards embedding a flash implementation using the new Cirrus (formerly stratus) service available from Adobe.

It is so far working quite well however there is some debate within our office if it is a decent solution or not.

Let me know how things progress for you!

MUCH later, I wrote some code for this. http://community.igniterealtime.org/message/230362#230362

1 Like