nextcloud / nextcloud/spreed

Expired TURN credentials are used if room is open for a long time.

Open
#6,323 0 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug feature: api 🛠️ feature: signaling 📶
Dominant language
PHP
Stars
2.2k
Forks
587
Avg merge
18h 27m
Merged PRs (30d)
333

Description

Steps to reproduce

  1. Open Talk room.
  2. Leave page open for more than 24 hours.
  3. Join call from a restricted network.
Expected behaviour

The call should get established through the TURN server.

Actual behaviour

The TURN credentials are expired and can not be used to authenticate on the TURN server.

There actually is a FIXME note in the code about refreshing the credentials:
https://github.com/nextcloud/spreed/blob/f751146f1d76f9f826fb64d44090a1dcc9cd3bee/lib/Config.php#L248

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the FIXME in lib/Config.php around line 248, then trace how TURN credentials are handled. Reproduce the problem by leaving a Talk room open for more than 24 hours and joining from a restricted network. Done means the call is established through the TURN server with valid credentials.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, php
Domain
audio-video-rtc, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.