WEBXDC Audio Conferences

But I wanted to find out, for example, if I create a webxdc application for calls inside a chat. For example, you open the app inside a chat or group and you just get live, as if you’ve joined a conference and you’re waiting for someone else to join, and at that time there’s an alert in the chat that the user has joined. For example, to implement a realtime peer-to-peer connection as in most webxdc, the same iroh, but since webxdc itself does not have access to the device’s microphone, we integrate this application as maps.XDC is in experimental mode, thus providing access to the microphone. The question is, is such an idea possible for making such audio conferences?

Please forgive me in advance if such a topic has already been created.

I found that WofWca made a prototype back in 2023, but there was no realtime at that time.

1 Like

There is a follow-up that uses realtime API I made a video call app (WITHOUT 15-second ping this time).

This can be achieved with the current webxdc.sendUpdate({ info: 'Started the call' }). Perhaps adding a new notification type “call” (constant ringing) would be fun for this.


Maybe at that rate, if we’re willing to do special treatment for the app, it’s much simpler to allow WebRTC access (similarly to what we do with the maps app, allowing it to connect to the map service). WebRTC is much more suitable for calls than trying to write everything manually using camera and MediaRecorder API:

But then I guess Chatmail would have to host TURN servers, as well as an Iroh relay.
Though maybe hosting Jitsi is just better as simpler. (see a little related Consider supporting webRTC?)

But yes, with the “allow WebRTC” approach if the app decides to go rogue (is it really a big threat? We are the ones shipping it), it would be able to connect to arbitrary destinations (which is not good).


But yes (yes, another “but yes”), I like the idea, at least as a fun experiment.
Besides the prototype that I made (see link above), if one wants to make a more usable app like this, I’d recommend searching for an existing video call app that utilizes PeerJS. Then you’d want to polyfill WebRTC API somewhat.
Or perhaps looking for an older app that does not depend on WebRTC would be smarter. Such an app would probably have implemented some WebRTC features, such as adaptive video quality.

1 Like

Of course, WebRTC is more convenient in terms of the fact that the turn and stun servers are no longer needed, the mail server itself is used as a signal server. But someone on the forum has repeatedly said that WebRTC is not secure, it seems like because the IP is shining, even if it is, you can warn the user about it, I would experiment in this direction.

I’m not sure what you mean here. TURN and STUN servers are needed. Just as needed as Iroh relays are needed. They are unrelated to signaling.

I don’t see how WebRTC is less secure than Iroh in itself. And I’m not sure what “shining” means.

Shining - The IP address of the interlocutor is visible.

Sorry, I was daydreaming, but STUN is necessary.

It would be great if the Chat Mail Relay build included the deployment of a STUN server for all this. Maybe it will be like this in the future.

1 Like

@WofWca, will you be participating in the DIFF meeting?