bejayoharen / java-bells

An implementation of Jingle for Java based on Libjitsi, Ice4J and Smack
Other
77 stars 30 forks source link

Unable to setup java bells for two peers #4

Closed ashiishsharma closed 10 years ago

ashiishsharma commented 10 years ago

Hi, While searching for the answers to my question here (http://stackoverflow.com/questions/22756339/newbie-questions-for-jitsi-api ), I came across java-bells.

First of all you have done a very good job on integrating smack, ice4j and Libjitsi, it's commendable.

Right now I am trying to run the sample apps in the java-bells, I have following questions for you:

  1. The sample code is meant for one account acting as both caller and receiver only, am I right in this assumption?
  2. I have hosted an xmpp server of my own and has two separate user accounts on it. I want to establish a video call by using java-bells between these two separate accounts on two different machines, how can I do it by using the sample codes that you have provided?

Also I request you to provide any good references that you followed to understand about ice4j, Libjitsi and video communication over RTP in general.

you can also reply to me on ashiish.sharma@gmail.com

many thanks Ashish

bejayoharen commented 10 years ago

Ashiish,

It's been a while since I've even thought about this, but looking at the code it looks like the samples are designed for one user account -- after all the passwords file only has space for one user.

I suggest you start by using the Jisti app to make video calls to make sure your server is setup correctly. Then, use the sample code I've provided to get one user to call themselves on the same machine. Then try another machine.

After you get that working you can easily modify it for two users or get it doing whatever you want. I will update the README to include that info.

As for providing links to references about ice4j and Libjitsi, well, there aren't any. As I explain in the readme "these features are not easily accessible to developers nor are they well documented. This project aims to make these features available to developers with good sample code ". And as for RTP and ICE protocols themselves, I myself am no expert, so I just read the RFCs and Wikipedia pages. I don't know any better resources than those.

ashiishsharma commented 10 years ago

I was able to get working everything you had suggested, now I can use the sample code to create communication across two clients over two different machines using 'testcall2' and 'testanswer2'.

Meanwhile since my requirements with Java - bells are little different,

So right now I am looking up the code to figure out , How can I make video & audio stream of answerer to be received at caller without caller passing its own video & audio stream to the 'answerer' (i.e client running 'testanswer2'),

Any reference from your side on 'java-bells' code in this regard would be very helpful.

bejayoharen commented 10 years ago

You should be able to modify the sample code to accomplish this. You'll have to look through and understand the sample to figure it out for sure, but if memory serves, you can simply skip setting up the streams on one side. You may also have to ensure that the the other side doesn't expect them.