element-hq / element-hq/synapse

Support pluggable TURN authentication modules.

Open
#9,577 0 comments 0 reactions 0 assignees View on GitHub
T-Enhancement
Dominant language
Python
Stars
4.6k
Forks
600
Avg merge
5d 22h
Merged PRs (30d)
51

Description

This issue has been migrated from [#9577](https://github.com/matrix-org/synapse/issues/9577).

---

Synapse currently supports [generating time-limited TURN credentials](https://github.com/matrix-org/synapse/blob/v1.29.0/synapse/rest/client/v1/voip.py#L53) through [a shared-key with the TURN server](https://github.com/matrix-org/synapse/blob/v1.29.0/synapse/config/voip.py#L41). This behaviour is specified in [a 2013 Internet Draft](https://tools.ietf.org/html/draft-uberti-behave-turn-rest-00).

Synapse should support requesting TURN credentials from an external web service, using the API specified in that draft or similar. I don't expect that external TURN providers will support this API directly, but administrators will be able to use a small API bridge to request credentials from e.g. [Twilio](https://www.twilio.com/docs/stun-turn).

Synapse should support pluggable TURN authentication modules, so that administrators are able to use external TURN providers.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.