aboutsummaryrefslogtreecommitdiff
path: root/readme.md
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2022-09-08 14:51:54 +0200
committermetamuffin <metamuffin@disroot.org>2022-09-08 14:51:54 +0200
commit2cac71d01b23c2566b797160fd70f254c58550f3 (patch)
tree524150959b6e7cc0edf361cfa4fb77a1857a35dc /readme.md
parentcd255848196da0d8732d31049cc0f98388205a30 (diff)
downloadkeks-meet-2cac71d01b23c2566b797160fd70f254c58550f3.tar
keks-meet-2cac71d01b23c2566b797160fd70f254c58550f3.tar.bz2
keks-meet-2cac71d01b23c2566b797160fd70f254c58550f3.tar.zst
server rewrite works
Diffstat (limited to 'readme.md')
-rw-r--r--readme.md20
1 files changed, 20 insertions, 0 deletions
diff --git a/readme.md b/readme.md
index fd6ce47..28729cf 100644
--- a/readme.md
+++ b/readme.md
@@ -34,6 +34,26 @@ Booleans can be either `1`, `true`, `yes` or their opposites.
| `screen_enabled` | boolean | false | Adds screen track on startup (wont work) |
| `mic_gain` | number | 1 | Sets the microphone volume |
+## Protocol
+
+The protocol packets are defined in [packets.d.ts](./common/packets.d.ts). Here is an (simplified) example of how the protocol is used.
+
+```
+S->C { init: { your_id: 5, version: "..." } }
+---- # Your join packet will be the first one.
+S->C { client_join: { id: 5, name: "bob" } }
+S->C { client_join: { id: 3, name: "alice" } }
+---- # Now publish your ICE candidates
+C->S { relay: { message: { ice_candiate: <RTCIceCandidateInit> } } }
+---- # Whenever you change your streams change:
+---- # Send an offer to everybody
+C->S { relay: { recipient: 3, offer: <RTCSessionDescriptionInit> } }
+---- # Alice answers
+S->C { message: { sender: 3, message: { offer: <RTCSessionDescriptionInit> } } }
+---- # In case the server uses a reverse-proxy that disconnects inactive connections: Ping every 30s
+C->S { ping: null }
+```
+
## Licence
See `LICENCE` file.