Skip to content

Commit 3ea1acd

Browse files
WHIP internal signalling to be able to support WHIP in OSS. (#1091)
* WHIP internal signalling to be able to support WHIP in OSS. * generated protobuf * Create wicked-numbers-warn.md --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
1 parent d8f6ff5 commit 3ea1acd

File tree

8 files changed

+1311
-98
lines changed

8 files changed

+1311
-98
lines changed

.changeset/wicked-numbers-warn.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@livekit/protocol": patch
3+
"github.com/livekit/protocol": patch
4+
---
5+
6+
WHIP internal signalling to be able to support WHIP in OSS.

magefile.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ func Proto() error {
7474
"rpc/room.proto",
7575
"rpc/roommanager.proto",
7676
"rpc/signal.proto",
77+
"rpc/rest_signal.proto",
7778
"rpc/sip.proto",
7879
}
7980

protobufs/rpc/rest_signal.proto

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
syntax = "proto3";
2+
3+
package rpc;
4+
5+
option go_package = "github.com/livekit/protocol/rpc";
6+
7+
import "google/protobuf/empty.proto";
8+
import "options.proto";
9+
import "livekit_internal.proto";
10+
import "livekit_rtc.proto";
11+
12+
service RTCRest {
13+
rpc Create(RTCRestCreateRequest) returns (RTCRestCreateResponse) {
14+
option (psrpc.options) = {
15+
topics: true
16+
queue: true
17+
topic_params: {
18+
group: "common"
19+
names: ["topic"]
20+
typed: true
21+
};
22+
};
23+
}
24+
}
25+
26+
message RTCRestCreateRequest {
27+
message TrackList {
28+
repeated string track_names = 1;
29+
}
30+
31+
livekit.StartSession start_session = 1;
32+
string offer_sdp = 2;
33+
map<string, TrackList> subscribed_participant_tracks = 3;
34+
}
35+
36+
message RTCRestCreateResponse {
37+
string answer_sdp = 1;
38+
string participant_id = 2;
39+
repeated livekit.ICEServer ice_servers = 3;
40+
string ice_session_id = 4;
41+
}
42+
43+
// ----------------------------------
44+
45+
service RTCRestParticipant {
46+
rpc ICETrickle(RTCRestParticipantICETrickleRequest) returns (google.protobuf.Empty) {
47+
option (psrpc.options) = {
48+
topics: true
49+
topic_params: {
50+
group: "common"
51+
names: ["topic"]
52+
typed: true
53+
};
54+
};
55+
}
56+
57+
rpc ICERestart(RTCRestParticipantICERestartRequest) returns (RTCRestParticipantICERestartResponse) {
58+
option (psrpc.options) = {
59+
topics: true
60+
topic_params: {
61+
group: "common"
62+
names: ["topic"]
63+
typed: true
64+
};
65+
};
66+
}
67+
68+
rpc DeleteSession(RTCRestParticipantDeleteSessionRequest) returns (google.protobuf.Empty) {
69+
option (psrpc.options) = {
70+
topics: true
71+
topic_params: {
72+
group: "common"
73+
names: ["topic"]
74+
typed: true
75+
};
76+
};
77+
}
78+
}
79+
80+
message RTCRestParticipantICETrickleRequest {
81+
string room = 1;
82+
string participant_identity = 2;
83+
string participant_id = 3;
84+
string ice_session_id = 4;
85+
string sdp_fragment = 5;
86+
}
87+
88+
message RTCRestParticipantICERestartRequest {
89+
string room = 1;
90+
string participant_identity = 2;
91+
string participant_id = 3;
92+
string sdp_fragment = 4;
93+
}
94+
95+
message RTCRestParticipantICERestartResponse {
96+
string ice_session_id = 1;
97+
string sdp_fragment = 2;
98+
}
99+
100+
message RTCRestParticipantDeleteSessionRequest {
101+
string room = 1;
102+
string participant_identity = 2;
103+
string participant_id = 3;
104+
}

0 commit comments

Comments
 (0)