Who wants to experiment with something right now? I want to test audio calling over Iroh using this repo: https://github.com/n0-computer/callme

If you are keen, clone it, build it, and run it (callme-egui) and then dial me at: b0ec00ba45a636ec0c8d5e22753a5d72ca7f4f41345e648fa3df44f44f720565

I'll leave it running for 30 minutes and then if nobody called me I'll kill it. It's a very sketchy barebones thing, I'm not even sure if it "rings" when you call.

Reply to this note

Please Login to reply.

Discussion

Oh man. I just went to bed or I'd test with you. Goodnight, Mike.

Thanks Derek. Get some rest.

Unsure whether it’s actually trying to connect. I’m using the cli version and it’s dumping a lot of warnings to the terminal

I tried to connect 2 active calls, probably broke it. I'll drop and you can try again.

We connected, quality was not good. I wasn’t sure whether you could hear me at all.

You can’t hear me

Yes I can hear you

It doesn’t sound good on this end. Very choppy.

Don’t know what else to try.

np thanks for trying!

I know next to nothing about rust and had never used a cli-based audio tool before (gui had too many setup dependencies). Fun challenge to see if I could get it connected under your 30m time limit.

Sounds good! Take care

Ok I'm shutting it off. I had one call worked perfectly, and one where I could not hear the caller and they said I was choppy.

What do you think of Iroh?

So far I like it.

QUIC with quinn? Sweet.

ed25519? Sweet. Probably what we should do now as post-quantum stuff has significant costs.

Rust? Sweet.

Hole Punching? Suprising. I didn't think holes could be punched as frequently/successfully as they seem to claim.

Relaying? OK given it is a fallback and you can run your own.

Open Source? Sweet.

TLS with rustls? Sweet.

Pkarr into mainline DHT for decentralized lookups? It functions well.

I don't have much to complain about.

So this uses RTP over QUIC which is over UDP packets, and the connection is established with Iroh which *can* be direct p2p but also can be relayed (they say hole punching rates are high)... but encrypted (I presume) so that the relay doesn't see the traffic. The QUIC connection is end-to-end and tunnelled, and the relay knows who is talking and how many bytes, but the traffic is encrypted.

We implemented Iron into Fedimint!

iroh*

too late – try again some time

I'm back online, callme: 38808efd8efe07f33901ae51d59f2c7dc188bcd27b2cffd7d83c41cf02ae5b32

so i hear you

I hear you the whole time, both calls, but I guess the connection is flakey.

ah okay you sounded like something from a scifi movie 😄 Like played back in slowmo.

I was e-e--e--e-e-e-ating your bra-a-a--a--a--a-a-ins. Why did ...did diddid you stop me?

heh, that's why 😅

Possibly the network isn't very good, possibly it had to relay us to holepunch. I might fork the code and make some kind of indicator showing if the connection is direct or not.

after closing a call I kept hearing you, so I imagine my play back got way behind somehow, local buffering or bandwidth

I'm compiling with relay disabled. I'm curious if will connect directly to my IPv6 and not need relaying.

Try again here, less likely to work though: 7b705d63812b300bb058901f4c7a5762f744c15970d145a7be75e7384d4229ad

Calling, but nope

ok. interesting.

yep, I'll move on with my day, was a fun experiment!

i hear you