element-hq / element-hq/synapse
Support pluggable TURN authentication modules.
- 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
Assessment
This issue has not been assessed yet.