#LW Peer2Peer Video Calling ##Simple WebRTC based peer to peer video calling web app with light with server for simple negotiation via Socket.io
------------- ---------
| WebApp | | Server |
| (Initiator) | | Server |
------------- ---------
| |
| -- Open new session ---> |
| (Unique random ID) |
| |
| <- Session open ---------|
| (Invite URL w/ SessionID)|
| |
[ Initiator User invtes peer by sharing Invite URL ]
| |
| | -------------
| | | WebApp |
| | | (Invitee) |
| | -------------
| | |
| | <- Open cannel to Initiator - |
| | ( SessionID ) |
| | |
| < --------------------- >|< --------------------------- >|
| Socket.io messaging tunnel between peers |
| Tunneled via the Server |
| | |
| | | Internal or External
| | | -------------
| < --------------------- >|< --------------------------- >| | STUN Server |
| (WebRTC capabilities negotiation) | -------------
| | | |
| < ------------------------------------------------------------------- >|
| (NAT Punchthrough via STUN Server) |< ---------->|
| |
| .... |
| < ----------------------------------------------------- >|
| Video / Audio sRTP Stream between WebApps begins |
| |