Skip to content

A pure-Rust port of the Janus WebRTC gateway

Janus looks both ways.
So does this documentation. ​

One face looks at your browser, the other at the gateway. These pages show both sides of every exchange: the request you send and the reply the server gave, recorded from the Rust binary.

← the client saysthe server answers →
create
{"janus":"create","transaction":"hello"}
success
{"janus":"success","transaction":"hello","data":{"id":2100286243396570}}
attach
{"janus":"attach","plugin":"janus.plugin.echotest","transaction":"door"}
success
{"janus":"success","session_id":2100286243396570,"transaction":"door","data":{"id":4515057997470326}}
message
{"janus":"message","body":{"audio":true,"video":true},"jsep":{"type":"offer","sdp":"v=0…"}}
event · jsep answer
{"janus":"event","plugindata":{"plugin":"janus.plugin.echotest","data":{"echotest":"event","result":"ok"}},"jsep":{"type":"answer","sdp":"v=0…"}}

What you get here ​

A server that behaves like C JanusSame Janus and Admin API, same .jcfg files and CLI flags, same plugin messages. The C server at commit bc0de3b3 is the specification, and a differential harness replays recorded C transcripts against this one.
Docs the C repo never hadA quick start, a reference for every config file, API walkthroughs with real transcripts, a page for every plugin, transport and tool.
A test console you can clickJanus Bench is a frontend-only app that exercises every ported part with real WebRTC media, and a headless mode that runs the same checks in CI.
Honest statusThe status page is built from parity/status.json and PARITY_LOG.md, and the Bench results list what passed and what failed against the current binary.

GPL-3.0-or-later, like the Janus gateway it ports.