UPSTREAM BASELINE: nextcloud/spreed v22.0.12 (без изменений)
Type checking / changes (push) Has been cancelled
Type checking / test (push) Has been cancelled
Type checking / typescript-summary (push) Has been cancelled
Node tests / changes (push) Has been cancelled
Node tests / test (push) Has been cancelled
Node tests / test-summary (push) Has been cancelled

Источник: https://github.com/nextcloud/spreed/archive/refs/tags/v22.0.12.tar.gz
С этого коммита ветка официального Nextcloud Talk отрезана (решение владельца 2026-07-06).
Все дальнейшие изменения — только наши; версии релизов: 22.0.12-f7.N.
This commit is contained in:
2026-07-06 14:07:50 +00:00
commit 01acfa3b40
1716 changed files with 613013 additions and 0 deletions
@@ -0,0 +1,75 @@
Feature: conversation-2/sip-dialin
Background:
Given user "participant1" exists
Given user "participant2" exists
Given user "participant3" exists
Given group "group1" exists
Given user "participant1" is member of group "group1"
Scenario: SIP admin enables SIP
Given the following "spreed" app config is set
| sip_bridge_dialin_info | +49-1234-567890 |
| sip_bridge_shared_secret | 1234567890abcdef |
| sip_bridge_groups | ["group1"] |
Given user "participant1" creates room "room" (v4)
| roomType | 3 |
| roomName | room |
And user "participant1" is participant of the following rooms (v4)
| id | type | participantType | sipEnabled | attendeePin |
| room | 3 | 1 | 0 | |
When user "participant1" sets SIP state for room "room" to "enabled" with 200 (v4)
Then user "participant1" is participant of the following rooms (v4)
| id | type | participantType | sipEnabled | attendeePin |
| room | 3 | 1 | 1 | **PIN** |
When user "participant1" adds user "participant2" to room "room" with 200 (v4)
When user "participant1" adds user "participant3" to room "room" with 200 (v4)
When user "participant1" adds email "test@example.tld" to room "room" with 200 (v4)
# Guests don't get a PIN as they can not be recognized and are deleted on leave
When user "guest" joins room "room" with 200 (v4)
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
| participantType | inCall | actorType | actorId | attendeePin |
| 4 | 0 | emails | SHA256(test@example.tld) | **PIN** |
| 4 | 0 | guests | "guest" | |
| 1 | 0 | users | participant1 | **PIN** |
| 3 | 0 | users | participant2 | **PIN** |
| 3 | 0 | users | participant3 | **PIN** |
When user "participant2" sets SIP state for room "room" to "disabled" with 403 (v4)
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
| participantType | inCall | actorType | actorId | attendeePin |
| 4 | 0 | emails | SHA256(test@example.tld) | **PIN** |
| 4 | 0 | guests | "guest" | |
| 1 | 0 | users | participant1 | **PIN** |
| 3 | 0 | users | participant2 | **PIN** |
| 3 | 0 | users | participant3 | **PIN** |
When user "participant1" sets SIP state for room "room" to "disabled" with 200 (v4)
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
| participantType | inCall | actorType | actorId | attendeePin |
| 4 | 0 | emails | SHA256(test@example.tld) | |
| 4 | 0 | guests | "guest" | |
| 1 | 0 | users | participant1 | |
| 3 | 0 | users | participant2 | |
| 3 | 0 | users | participant3 | |
When user "participant1" sets SIP state for room "room" to "no pin" with 200 (v4)
Then user "participant1" sees the following attendees in room "room" with 200 (v4)
| participantType | inCall | actorType | actorId | attendeePin |
| 4 | 0 | emails | SHA256(test@example.tld) | **PIN** |
| 4 | 0 | guests | "guest" | |
| 1 | 0 | users | participant1 | **PIN** |
| 3 | 0 | users | participant2 | **PIN** |
| 3 | 0 | users | participant3 | **PIN** |
Scenario: Non-SIP admin tries to enable SIP
Given the following "spreed" app config is set
| sip_bridge_dialin_info | +49-1234-567890 |
| sip_bridge_shared_secret | 1234567890abcdef |
| sip_bridge_groups | ["group1"] |
Given user "participant2" creates room "room" (v4)
| roomType | 3 |
| roomName | room |
And user "participant2" is participant of the following rooms (v4)
| id | type | participantType | sipEnabled | attendeePin |
| room | 3 | 1 | 0 | |
When user "participant2" sets SIP state for room "room" to "enabled" with 403 (v4)
And user "participant2" is participant of the following rooms (v4)
| id | type | participantType | sipEnabled | attendeePin |
| room | 3 | 1 | 0 | |