📞 diskuz Call – Chiamate vocali e video all'interno di Discourse (P2P, senza app esterne)

:information_source: Riepilogo Aggiunge chiamate vocali e video peer-to-peer (WebRTC) all’interno di Discourse. Chiamate uno-a-uno da un pulsante mobile o dal compositore di chat 1:1; widget integrato e interfaccia utente per le chiamate. Nessuna app esterna. Il tuo server Discourse gestisce solo la segnalazione (nessun media). L’audio/video va direttamente tra i due browser (P2P) quando possibile; puoi aggiungere server TURN opzionali in Admin in modo che quando il P2P diretto fallisce (ad esempio, NAT/firewall restrittivi), i media vengano inoltrati tramite TURN e la chiamata funzioni comunque.
:hammer_and_wrench: Link Repository GitHub - idiskuz/diskuz-call: Voice calls (WebRTC) for Discourse. P2P calls between users, built-in UI. Created for diskuz.com. · GitHub
:open_book: Guida all’installazione Come installare i plugin in Discourse
:busts_in_silhouette: Community diskuz Call ComunitĂ  di supporto su diskuz.com per questo nuovo plugin.

FunzionalitĂ 

  • Voce e video P2P (WebRTC) — Discourse gestisce solo la segnalazione (offerta/risposta, ICE); non riceve nĂ© memorizza mai audio/video. STUN (default: Google) aiuta i due browser a trovarsi; il media fluisce quindi direttamente tra loro (vero P2P). TURN (opzionale, configurabile in Admin → ICE servers) è un relay: quando il P2P diretto fallisce (NAT simmetrico, firewall aziendale, ecc.), i media vanno A → server TURN → B in modo che la chiamata funzioni comunque. Aggiungi TURN se gli utenti segnalano chiamate fallite o audio a senso unico.
  • Pulsante mobile (in basso a destra) — Apre un widget per digitare un nome utente e avviare una chiamata. Nascosto quando sono aperti il compositore dell’argomento o la chat. L’Admin può disabilitarlo a livello di sito.
  • Pulsante di chiamata nella chat 1:1 — Icona nel compositore della chat per avviare una chiamata con l’altro utente. L’Admin può disabilitarlo a livello di sito. Visibile solo ai gruppi consentiti quando abilitato.
  • Accesso basato su gruppi — Solo gli utenti nei gruppi configurati vedono e utilizzano diskuz Call. Opzionale “il chiamato deve seguire il chiamante” (richiede Discourse Follow).
  • Gruppi separati per “video consentito” — Controlla chi può attivare la videocamera durante una chiamata.
  • Suoneria configurabile — Suono quando arriva una chiamata: nessuno, predefinito, ding, campana, chat, personalizzato (fino a 10 URL MP3; l’utente ne sceglie uno nel widget) o preset alternativi integrati. Separamente, le notifiche di Discourse (icona a campana) mostrano “ti sta chiamando” per le chiamate in arrivo e “Chiamata persa” con l’ora per le chiamate perse.
  • Widget — Due pagine: “Chiama un amico” (home) e Notifiche (Ricevute, Inviate, Recenti, Perse; fino a 10 per scheda; nomi utente cliccabili per richiamare). Desktop: trascinabile tramite la barra superiore. Mobile: a schermo intero.
  • Durante una chiamata — Durata, muto, altoparlante, video attivo/disattivo, sfocatura (desktop/Android), modalitĂ  orecchio su mobile (overlay scuro; tocca 3 volte per sbloccare). Stato utente (Online, Occupato, Offline) nel browser; le chiamate in arrivo possono essere rifiutate automaticamente quando Occupato/Offline. Se l’utente passa a un’altra scheda, parte un timer di 60 secondi; se non ritorna, la chiamata termina.
  • Localizzazione — Inglese e Italiano (client e server).

Stato: Beta. Per chiamate fallite o audio a senso unico, configura TURN in Admin → Plugins → ICE servers.

Configurazione

  1. Installazione — Aggiungi il plugin (ad esempio tramite hook di app.yml o manualmente nella directory dei plugin):
    • git clone https://github.com/idiskuz/diskuz-call.git
    • Ricompila l’app (ad esempio ./launcher rebuild app).
  2. Abilita — Admin → Plugins: abilita diskuz Call (se elencato). Admin → Settings → Plugins: abilita Enable diskuz Call.
  3. Accesso — Imposta Who can see and use diskuz Call sui gruppi desiderati (ad esempio 1|2|3 per amministratori, moderatori, staff).
  4. Opzionale — Configura Show floating button / Show chat button, Require the callee to follow the caller (con Discourse Follow), Sound for incoming calls, Custom ringtones o Alternative ringtone, Groups that can enable video, Primary color e ICE servers (TURN JSON) se necessario per NAT/firewall.

Requisiti: Discourse (utilizza la messaggistica in tempo reale integrata per la segnalazione). Opzionale: Discourse Follow (per “il chiamato deve seguire il chiamante”). Browser con WebRTC, microfono (e fotocamera per il video).

Impostazioni

Nome Descrizione
Enable diskuz Call Interruttore principale per il plugin.
Who can see and use diskuz Call Elenco dei gruppi (ad esempio admin, moderatori, staff per ID). Solo questi utenti vedono il plugin e possono effettuare/ricevere chiamate.
Require the callee to follow the caller Se abilitato (con Discourse Follow), il chiamato deve seguire il chiamante per ricevere chiamate.
Show floating button ON: pulsante mobile visibile solo ai gruppi consentiti. OFF: nascosto a tutti.
Show chat button ON: pulsante di chiamata nella chat 1:1 visibile solo ai gruppi consentiti. OFF: nascosto a tutti.
Groups that can enable video Elenco dei gruppi per chi può usare il pulsante Video durante una chiamata.
Primary color Colore esadecimale (ad esempio #13c98c) per pulsante e accenti.
Sound for incoming calls none, default, ding, bell, chat, custom, o alternative.
Custom ringtones 1–10 URL MP3. Usati quando Sound è custom; l’utente ne sceglie uno nel widget.
Alternative ringtone Preset quando Sound è alternative (ad esempio soft, classic, modern, festivo, marimba, relax1–5).
ICE servers Array JSON opzionale per STUN/TURN. Vuoto = solo Google STUN.
Debug log Quando ON, messaggi \[diskuz-call\] nella console del browser (F12). Per supporto; disabilitare in produzione.

Autori: diskuz.com, Cristian Deraco
Crediti: Concetto, funzionalità e design di Cristian Deraco (diskuz.com). Implementazione con sviluppo assistito dall’IA.
Versione: 0.4.0-beta

Questo non è un plugin Discourse ufficiale.

Super entusiasta di condividere questo con tutti voi — diskuz Call è finalmente disponibile! Non vedo l’ora di sapere cosa ne pensate :star_struck:

2 Mi Piace