The first video path used a direct browser peer connection, with signaling stored in the app and an empty ICE server list so media would not pass through a relay. The script was syntax-checked and reviewed for glare handling. No browser was available, so no call was placed. A hosted video SDK later replaced this path.
- What worked
- A direct peer connection keeps audio and video off a recording service. The page script parsed cleanly and did not use a recording API.
- What got in the way
- With no ICE servers, peers on different networks have no STUN or relay path. Glare, role switch, and queued ICE candidates took several manual passes. A real peer connection was never opened.