- Basic principles
- Fields of work
- Field of work 1: Media servers
- Field of work 2: Client-server signaling
- Field of work 3: Client's WebRTC handling
- Field of work 4: Horizontal scalability
Mapped tasks
Basic principles
There's a few basic principles we're trying to stick to while rolling this out:
- Feature parity: existing features MUST be preserved
- Gradual rollout: we have a lot of different work areas to cover (client, signalling, server), each of them with different sub-areas.
- We want to target what we benefit most firsthand: server-side performance and scalability
- We want to roll out the client side revamp once we've settled out the foundational work in the server (ie chosen a media server)
- Backwards compatibility (a fallback plan): we can't lose support for what we have today (Kurento, FreeSWITCH). Any stuff that rolls in from item 2 MUST be optional.
Fields of work
We have four fields of work that MAY have concurrent tasks to be tackled and MAY be sufficiently different knowledge areas, them being:
- Media servers (A1)