flow, right now it can't be used for file transfer. But we can write a XEP for it.
winfriedhas joined
mrdoctorwhohas joined
lskdjfhas left
j.rhas joined
flow
Yagiza, why can't it be used for file transfer?
j.rhas joined
ThibGhas joined
Yagiza
flow, because we need a way to provide reliability when using UDP.
ThibGhas joined
Zash
SCTP over DTLS over UDP?
Zash
Like ... WebRTC?
SamWhited
Yagiza: what use case do you ahve for using UDP with some application level reliability stuff that you couldn't just use TCP for?
intosihas joined
fippo
zash: old fashioned, quic is the next big thing ther
fippo
xep-0343 provides a mapping of the sdp stuff to jingle
Yagiza
SamWhited, when entities are behind NAT (common case) the need a relay to use TCP. Using a relay make them depend on the realy. UDP could be used directly without a relay.
Zash
Why isn't there a XEP for bittorrent?
Zash
Yagiza: DUP hole punching stuff?
fippo
yagiza: that is true only ~70% of the time.
Zash
Didn't that need an outside 3rd party anyway?
Link Mauve
Zash, you know I’ve wanted to write one? :D
Yagiza
Zash, there is no problem in finding a public STUN server over internet. There are hundreds of them. But it's a real problem to find TURN or even SOCKS5 server.
fippo
because those things are expensive.
Zash
Don't a lot of XMPP servers provide a XEP-0065 SOCKS5 proxy for this?
Yagiza
Zash, there are not so many people, who want to run a server, which channels are used by unknown people.
Zash
Yagiza: [citation needed]
Yagiza
Zash, yes. Nowadays it's hard to find a public working XEP-0065 server.
Zash
Only because everyone's using HTTP upload instead
fippo
because xep-65 proxies are expensive to run too?
matlaghas left
thorstenhas joined
Zash
Link Mauve: Do it. I think I've even got a mod_bittorrent tracker somewhere.
Link Mauve
Zash, but as a XEP or as a BEP, or both?
blablahas left
Zash
:D
Yagiza
fippo, yes. Unlike a STUN server.
Maranda
Yagiza: "public"?
Yagiza
Maranda, yes.
Marandahas proxy65 runnin' on his service 🤔
Yagiza
Maranda, most of working XEP-065 servers caould be used only with accounts, registered on the server where it hosted.
Maranda
Ah of course
Yagiza
Maranda, so, they re private.
lskdjfhas left
Zash
But then they don't get the green checkmark on https://compliance.conversations.im/
fippo
yagiza: stun servers cost < 1000 bytes per call.
vaulorhas joined
Yagiza
fippo, yeah.
guusdkhas left
guusdkhas joined
Yagiza
fippo, that's why they could be preferred over relays.
Maranda
Yagiza: well it would be not very *cool* to have an open socks5 proxy either tbh
Yagiza
Maranda, yes. And that's why it's a good idea to transfer files over UDP.
Guushas left
fippo
yagiza: that is what ice (rfc 5245 / xep-0176) does. try everything, prefer the cheapest
intosihas joined
Yagiza
fippo, I didn't find a way of using UDP thru NAT without a relay described in RFC 5245.
fippo
yagiza: that is what stun does in that context. you gather public ips, then do holepunching. works 70% of the time
Zash
70% of the time it works every time
fippo
unless you are in chrome where it depends on the direction of the connection -- but google folks won't bother investigating :-)
Yagiza
fippo, hey! Don't mix srflx and relay addresses. You won't be able to establish a TCP connection with srflx candidates and UDP do not provide reliability!
fippo
yagiza: ice-tcp doesn't work for p2p, that is well-known.
Steve Killehas joined
Yagiza
fippo, yes! So we go back to my first sentence.
fippo
yagiza: FYI: i am running a hundreds of turn servers all around the world.
Yagiza
fippo, we need a XEP for using UDP for file transfer.
Zash
Oh, can you anycast such?
fippo
yagiza: run it over ice if you want it to work. jingle also has a raw udp mode but i doubt anyone bothers anymore
Yagiza
fippo, are they free to use?
fippo
yagiza: no.
Yagiza
fippo, and that's enough to think they are not exist.
fippo
yagiza: would you please explain that to the people sending me bills for datatransfer over their network?
intosihas joined
Yagiza
fippo, why do I need that?
Guushas left
fippo
i would prefer not to pay those bills :-)
Yagiza
fippo, yes. That's why I tell that we need a way to perform file transfer over UDP.
Zash
There is no such thing as a free byte
fippo
yagiza: https://www.twilio.com/stun-turn/pricing -- just to give you an impression of cost. they make a good margin on that...
Yagiza
Zash, yes. That's why we need to save traffic thru servers. 'cause their owners do not want pay for other people's traffic.
Zash
Yagiza: *networks*
Zash
Bandwidth usage costs too
fippo
yes. that is why using TURN is only a fallback in ice.
efrithas left
Yagiza
fippo, yes. But it's impossible to use TCP in ICE without TURN when entities are behind their NAT's.
Yagiza
fippo, so once again: we need a way to perform file transfer with UDP.
Zash
Yagiza: Write the XEP then? :)
fippo
yagiza: use xep-0343 which runs over ice.
Yagiza
Zash, yes. That's what I suggest.
fippo
https://github.com/legastero/jingle-interop-demos/ -- the stanza.io demo allowed that five years ago.
lhas left
Yagiza
fippo, thanx. I'll investigate it.
fippo
i wouldn't be surpised if that particular version was broken due to changes in webrtc.
matlaghas left
winfriedhas joined
Yagiza
fippo, but I guess relying on things like WebRTC is not a good idea at all. We can just create a simple transport protocol just to provide reliability when sending data stream over UDP.
lhas left
Steve Killehas left
fippo
yagiza: people didn't come up with RFC 5245 (or its successor) for fun.
Link Mauve
edhelas, have you tested Movim against these five clients, btw?
Link Mauve
Yagiza, another benefit of WebRTC is that you suddenly are compatible with web clients too.
Link Mauve
Of which there are actually quite a few already.
Yagiza
fippo, what do you mean?
fippo
yagiza: NATs are a bit more complicated to traverse than you expect
Yagiza
fippo, NATs are easily traversed by ICE. Do I suggest not to use ICE for NAT traversing or something?
fippo
yes.
labdsfhas left
Yagiza
fippo, please, sho me the place where I told such things.
fippo
if you don'T like browsers, there are libs like https://github.com/rawrtc/rawrtc or https://github.com/jlaine/aiortc/
fippo
yagiza: ah... i missed a "not". but you keep saying "udp" and ice is not just udp
Yagiza
fippo, I strongly suggest using ICE for NAT traversing. And that's why I suggest to make a XEP for file transfer over UDP.
fippo
yagiza: 0343 + 0234
labdsfhas joined
fippo
(0234 can use 0176, 0343 provides datachannels for reliability)
Yagiza
fippo, ok. If you think WebRTC is the best way to provide reliability over UDP, let's agree on this.
fippo
technically what provides reliability is sctp over dtls over sctp but saying its webrtc leaves a hole for quic to sneak in :-)
lorddavidiiihas left
lovetoxhas left
lorddavidiiihas joined
Yagiza
I just don't like so many unfamiliar abbreviations. It suggests me that each of them add some overhead.
fippo
it was easier in the old days of ircs DCC
Yagiza
fippo, yeah. I used DCC, but never thought about how it works.
intosihas joined
lovetoxhas joined
lovetoxhas left
lorddavidiiihas left
valohas joined
Marandahas joined
intosihas left
intosihas joined
lnjhas left
matlaghas left
blablahas joined
Yagizahas left
!xsf_martinhas left
valohas joined
efrithas joined
ralphmhas joined
Guushas left
intosihas joined
intosihas joined
Ge0rG
DCC was notoriously broken with NAT. And then you had mod_conntrack_irc and then you connected to a non standard port and it was all bad again.