DanielFGray / DanielFGray/rfchat

WebRTC media transport for voice/video

Open
#35 0 comments 0 reactions 0 assignees View on GitHub
enhancement p3 task
Dominant language
Elixir
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Summary
Implement WebRTC media transport for voice and, later, video features once signaling semantics are settled.

## Scope
- Define the browser transport path for realtime media in supported web-desktop environments.
- Support the core transport lifecycle: negotiation, reconnect, teardown, and device changes.
- Align the transport with the product rules defined by voice/session/permission issues.
- Keep the initial scope focused on reliable voice transport before broader video parity.

## Acceptance Criteria
- [ ] Voice media can establish, recover, and tear down cleanly in supported browsers.
- [ ] Device changes and reconnects do not leave ghost sessions behind.
- [ ] Transport failures produce visible recovery or fallback states.
- [ ] The implementation leaves room for later video and screen-share expansion.

## Operational Notes
- Self-hosted deployments need explicit assumptions about NAT traversal, TURN requirements, and bandwidth cost.
- This issue should not pretend video parity is free once voice works.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by resolving the signaling semantics and reviewing the related voice, session, and permission issues. Then define the supported browser and self-hosted assumptions, including NAT traversal and TURN requirements. Done means reliable voice negotiation, recovery, teardown, device changes, and visible fallback states without ghost sessions.

Written by the indexing model from the issue text.

Assessment

Tech stack
audio-video-rtc, elixir
Domain
audio-video-rtc, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.