secondlife / secondlife/viewer

[WebRTC] Calling someone who is in a call by themself (#4765) causes the connection to toggle

Open
#4,766 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug stale team:viewer webrtc
Dominant language
C++
Stars
299
Forks
146
Avg merge
1d 9h
Merged PRs (30d)
88

Description

Environment

Second Life Release 7.2.2.18110213724 (64bit)
WebRTC

Full Environment

Second Life Release 7.2.2.18110213724 (64bit)
Release Notes

You are at 117.0, 94.2, 21.6 in By Design located at simhost-001c8e193ea4e953a.agni
SLURL: http://maps.secondlife.com/secondlife/By%20Design/117/94/22
(global coordinates 261,493.0, 246,878.0, 21.6)
Second Life Preflight 2025-08-21.17114312399
Release Notes

CPU: Intel(R) Core(TM) i7-5930K CPU @ 3.50GHz (3491.91 MHz)
Memory: 32610 MB
OS Version: Microsoft Windows 10 64-bit (Build 19045.6332)
Graphics Card Vendor: NVIDIA Corporation
Graphics Card: NVIDIA GeForce GTX 1080/PCIe/SSE2

Windows Graphics Driver Version: 32.0.15.6590
OpenGL Version: 4.6.0 NVIDIA 565.90

Window size: 1741x1311
Font Size Adjustment: 96pt
UI Scaling: 1
Draw distance: 128m
Bandwidth: 3000kbit/s
LOD factor: 1.5
Render quality: 4
Texture memory: 8192MB
Disk cache: Max size 11468.8 MB (1.2% used)

J2C Decoder Version: KDU v8.4.1
Audio Driver Version: OpenAL, version 1.1 ALSOFT 1.24.2 / OpenAL Community / OpenAL Soft: OpenAL Soft
Dullahan: 1.21.0.202508272159
CEF: 139.0.28+g55ab8a8+chromium-139.0.7258.139
Chromium: 139.0.7258.139
LibVLC Version: 3.0.21
Voice Server Version: Secondlife WebRTC Gateway

Packets Lost: 0/5,332 (0.0%)
September 30 2025 15:20:55

Description

This is one case that was reported in https://github.com/secondlife/viewer-private/issues/261.

Reproduction steps
  1. User A call user B
  2. User A cancel that call
  3. User B answer the call (They are in a call with nobody, apparently #4765)
  4. User A call User B again.

Observed: The connection toggles. Video: https://github.com/user-attachments/assets/f328faac-4e2d-4cbc-ad76-23c76d855ac4

Expected: Not sure.

  • Perhaps User A should connect to User B.
  • Perhaps User B shouldn't be in that session alone in step 3, and that voice session should be released and constructed again in step 4.

Additional information:
This issue was found during testing of https://github.com/secondlife/viewer-private/issues/261 in scope of https://github.com/secondlife/iqa/issues/554


This repo is using Opire - what does it mean? 👇
💵 Everyone can add rewards for this issue commenting /reward 100 (replace 100 with the amount).
🕵️‍♂️ If someone starts working on this issue to earn the rewards, they can comment /try to let everyone know!
🙌 And when they open the PR, they can comment /claim #4766 either in the PR description or in a PR's comment.

🪙 Also, everyone can tip any user commenting /tip 20 @Dan-Linden (replace 20 with the amount, and @Dan-Linden with the user to tip).

📖 If you want to learn more, check out our documentation.

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 by reproducing the four-step sequence and review the related issues #4765, viewer-private #261, and iqa #554 for the intended call/session behavior. Trace the WebRTC connection and voice-session lifecycle during cancellation, answering an empty session, and the second call; done requires an agreed expected behavior and a reproduction that no longer toggles the connection.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.