On Sat, Sep 21, 2013 at 9:54 PM, Bas Wijnen wijnen@debian.org wrote:
On Sat, Sep 21, 2013 at 10:25:44AM +0300, Emil Ivov wrote:
On 21 Sep 2013 02:22, "Bas Wijnen" wijnen@debian.org wrote:
Jitsi (SIP and XMPP): Jitsi is written in Java, which seems to be a problem on its own.
Well, I am afraid there's no changing this, so if you have an aversion to the language, you would simply need to use something else.
I didn't mean to suggest it should be changed. I was just getting frustrated that nothing worked, and a program which throws errors before it even started isn't helping. ;-)
Exceptions printed by Jitsi on stderr are often mostly meant as debug output and you should really worry about them unless you know exactly what they mean.
On Sat, Sep 21, 2013 at 09:44:30AM +0200, Daniel Pocock wrote:
Java can also be a good thing, as it means users on Linux, Mac and Windows all get the same code and it is easier for the developers to make sure that every release is interoperable across all platforms.
For communications software, interoperability is crucial and Java helps with that.
Which is entirely true. But it would be good if it would indeed work on all platforms. Random crashes are extremely frustrating, especially after trying so many things for so long, to achieve something which really should be simple.
It does work for many people.
I mean, what is the big problem?
There is no one big problem. It's always about the specifics of the deployment.
I have two computers I control. I can connect() from one to the other and have a working network connection. I have working audio and video hardware on both sides. How hard can it be to set up a link to make us see and hear each other?
OK. If we had to really quote one big problem then I suppose it would be "diversity". Diversity in hardware, diversity of OSes and OS flavors, diversity of audio/video capture/render libs, diversity in devices and of course, diversity in network topologies.
Note that RTC applications are not generally written for the use case you describe: two machines with direct IP connectivity. This is simply one of the multitude of cases where RTC has to work.
I haven't seen you describing a specific problem (other than the language of the application and the fact that you find standard output to be unsettling) so it's hard for me to be any more specific on your situation.
Since upgrading to wheezy, I can't communicate reliably with Empathy. This is a big no-no for any communications product, once people lose faith in it, it is very hard to recover
In their favor, there aren't any working alternatives. Which isn't a good thing, of course.
It also isn't true.
Empathy (SIP): SIP connections just don't work with masquerading, it seems. I've set up an asterisk server, which works as long as no masqueraded hosts are using it. The masqueraded hosts can call the server, get automated answers, but cannot be connected to other users (which doesn't make much sense to me, because asterisk would pass on all the traffic, so I don't see the difference between an automated answer generated by asterisk itself and a real person answering). Anyway, it didn't work well. Also, Asterisk seems to have very limited support for video, but I didn't really get around to trying it out.
I don't know if they support ICE with SIP
Asterisk does;
No, I don't think that's true either. At least not in the way Daniel meant it. Asterisk is a Back-to-Back User Agent (B2BUA). It is meant to be an endpoint. As such it is not really meant to let endpoints talk directly to each other. Asterisk being in the middle of all communication is its default mode of operation.
As a result, using ICE to establish a direct connection between two asterisk connected clients is, as far as I know, not possible.
it just ignores the reported return address and uses getpeername() instead. And it works, too; it's used when making a call to an auto-responder, and that works.
but it does seem to work. Then again, it crashes at random times. It seems I need to disable several settings to make sure it doesn't contact Google; I
Can you raise a bug against the package listing those things you had to disable?
Sure, but perhaps I should first ask if I am right. In my XMPP account settings, "Enable Google Contacts search" was on.
This option is only used in case you actually have a Google account. It has no impact otherwise.
I originally also disabled "Use Google's Jingle"
This wouldn't hurt. Although, once again, Jitsi only uses this variant of the Jingle protocol in case it detects that you are using a Google account.
and "Use JingleNodes",
I am interested to know why you chose to do this.
Jingle Nodes is one of the technologies that Jitsi uses for NAT traversal. Disabling it only increases your chances of not being able to establish a connection.
but now I see it again, I suppose that's just technology designed by Google, not actually contacting their servers. Or is it?
really don't like that. As for how it works: so far it doesn't really (or at least not with the masquerated hosts), but perhaps I have to try harder.
Did you put in the TURN server settings?
I did, but on localhost it doesn't care
Who is it?
(it works, even if the password is wrong; of course on localhost I don't need the TURN server anyway, but I had expected an error nonetheless) and from the masqueraded host it says the password is wrong even though it isn't.
I seem to be missing a part of the thread here but, if you are using a TURN server then the client needs to be able to contact it *before* it makes a call.
Make sure ejabberd works well for chat first
Make sure you have the SRV records, e.g. for pocock.com.au:
_xmpp-client._tcp IN SRV 5 0 5222 jabber.trendhosting.net. _xmpp-server._tcp IN SRV 5 0 5269 jabber.trendhosting.net.
Wait, what? Do I need to change my DNS records just to start a one-on-one video call with a computer that can already contact me? I can do it; I happen to have control over my DNS, but I really wouldn't expect to need it.
Most of the time things would work even if you only had an A record, but yes, you do need to control your DNS.
Also, if all you need is for two IP-s to talk to each other, then you can simply take VLC and stream your microphone and webcam in each direction. That's a solution specific to your use case.
VoIP isn't.
Protocols like XMPP and SIP and their accompanying methodologies are meant to cover the Internet as a whole. To do that you need to have servers at least at the start of your conversation.
From Debian, you can use CaCert.org certificates and the clients will trust them.
Yes, I'm using those already. Unfortunately Ubuntu, Mac and Windows aren't accepting them. :-(
Multi-domain and IPv6 are slightly tricky, let me know if you need examples to make them work. I also have it linked to LDAP.
No, I don't need anything complex, thanks.
Skip Asterisk for now, it is overkill, and as you point out, no video.
It is very good for building a business phone system though
Yes, it looks like it, and it works well so far, except for NAT traversal.
It actually does handle NAT traversal quite reliably (although not in a very bandwidth efficient way due to its always-relay-everything model of operation that I mentioned above).
And its documentation is fantastic (except that its focus is not where I needed it).
The config files are fully commented with instructions, but that was only done after the wheezy freeze began.
The release team have so far not approved further uploads http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717420
but upstream and the package maintainer (myself) are quite happy to upload those changes when authorised to do so.
While I understand your reasoning, the usual way in Debian is not to change anything once it is released, except for security and really urgent things (virus definition updates; timezone changes). If you have a much better version of the package, it might be considered for the next point release, but not for stable itself. The downside of this method is that stable is always outdated (you're left with the state when it was frozen). The upside is that it means things are indeed really stable (new "fixes" often introduce new bugs as well).
Anyway, to get back on topic, all this doesn't matter for me, as I'm running the TURN server on unstable, so I have version 1.8.13-1.
I see you have uploaded 1.9.0~beta1-1 to experimental, at high urgency, with no information in the changelog why this was so urgent. Is there a big difference with 1.8.13? Why didn't you upload to unstable?
You can view the commented version of the file here:
https://github.com/resiprocate/resiprocate/blob/master/reTurn/reTurnServer.c...
The comments didn't make it to unstable, indeed. Thanks.
Note that trunk has slightly changed, the version in wheezy does not recognise the option "UserDatabaseFile = users.txt" and you need to keep using a single set of credentials for all users, by specifying something like this in reTurnServer.config:
LongTermAuthUsername = test LongTermAuthPassword = password
It seems to be the same in sid, looking at the config file?
I've been getting more recent versions of packages into jessie and I am very hopeful that with feedback from people like yourself we will be able to fine tune them further to "just work" and jessie will make a big impact in this space.
I would definitely like that. My main goal would be that two people, where at least one of them is reachable on a public IP (which may not be the IP the host thinks it has), can make an encrypted video call by:
- both installing a package
- one person filling in the IP (and possibly the name) of the other person
and nothing more. They should not need to set up any server, and they certainly shouldn't need to edit DNS entries.
You might want to download and try Openfire (although, note that it is also written in Java, which may be a problem for you). It comes with an easy to install JingleNodes plugin and, together with Jitsi, will give you what you are looking for.
You can also try using http://jit.si to get a feel for how all this works.
Cheers, Emil
Please put specific comments about the problems into the bug tracker, that definitely helps us too.
I'll do that.
Thanks, Bas _______________________________________________ Free-RTC mailing list Free-RTC@lists.fsfe.org https://lists.fsfe.org/mailman/listinfo/free-rtc