Files
defiQUG a2dc194a49 Monorepo: Gitea CI, docs, auth/sync, backend APIs, gitignore
- Add Gitea Actions workflow; point README to gitea.d-bis.org/Sankofa_Phoenix/SMOA
- Expand .gitignore for Spring H2 data, secrets, Kotlin .kotlin/, tooling
- Track docs/api/generated ReDoc bundle; refresh api docs README
- Android: network/auth/sync, UI shell, tests; backend credentials/integrity APIs
- Docs, scripts (generate-api-docs), modules and core updates

Made-with: Cursor
2026-03-23 20:19:24 -07:00

954 B
Raw Permalink Blame History

TURN and signaling for WebRTC

For meetings and communications beyond STUN-only NAT traversal:

Coturn (TURN/STUN)

Example turnserver.conf:

listening-port=3478
tls-listening-port=5349
realm=smoa.example.com
server-name=smoa.example.com
use-auth-secret
static-auth-secret=YOUR_LONG_SECRET
cert=/etc/letsencrypt/live/smoa.example.com/fullchain.pem
pkey=/etc/letsencrypt/live/smoa.example.com/privkey.pem

Issue time-limited credentials (HMAC) from your backend; Android app passes them via InfrastructureManager.setTurnEndpoints.

Signaling

Use WebSocket or HTTPS long-poll between clients and a small Node/Go/Java service that maps room IDs to SDP/ICE relay. Set SMOA_SIGNALING_URLS (comma-separated) in the Android build for InfrastructureManager.