Raja Subramanian
34a491309f
Delete v2 signalling ( #3835 )
...
* Delete v2 signalling
* deps
* mage generate
* deelte unused file
2025-08-06 09:08:09 +05:30
Raja Subramanian
b9a44c3fbf
Signalling V2 protocol implementation start ( #3794 )
...
* WIP
* name
* refactor validate
* WIP
* WIP
* signal cache initial impl
* HandleConnect in room manager
* generate subscriber offer
* handle ConnectRequest as stand alone
* segmentation, reassembly
* clean up
* rearrange
* lock scope
* support metadata in connect request
* prom
* add SifTrailer to ConnectResponse
* prom for get offer error counter
* RtcInit counter
* Jie feedback
* signal client
* consolidate v1 and v2 into SignalClient
* clean up
* comment
* deps
* mage generate
* fix tests
* pass around roomName and participantIdentity
* mage generate
2025-07-18 00:01:21 +05:30
Raja Subramanian
8cc17f8f8b
Rework node stats a bit. ( #3555 )
...
* Rework node stats a bit.
Related protocol PR - https://github.com/livekit/protocol/pull/1023
- Make a config for node stats measurements. Wanted to put the config in
`routing` package, but a circular dependency forced me to put in
config.go
- Make rate calculations explicit, i. e. requested via config.
Previously, it had some odd checks to decide when to calculate rate
and it would have been calculating over different windows.
- Report signal/data channel bytes every 5 seconds to stats collection
module. Previously, it was doing it every 30 seconds and that meant
some windows could have had a large spike
NOTE: Still need to think about this for load calculations as a large
number of participants leaving could flush in a small window and that
could report a large spike in bytes/packets. Maybe need to ignore
signal bytes for load calculation?
* deps
* use default node stats config if given config is nil
* split out node stats into a struct for re-use
* update config
2025-03-27 12:42:19 +05:30
Raja Subramanian
49b75e94a6
Consolidate operations on LocalNode. ( #3140 )
2024-10-25 18:57:23 +05:30
Paul Wells
c371929535
add roommanager service ( #2931 )
...
* add roommanager service
* cleanup
* deps
* timeout
* cleanup
* cleanup
* config
* cleanup
2024-08-13 11:00:41 -07:00
Alexandr Rastopchin
7d39711084
fix issue 2539, do not kill the keepaliveWorker task when the ping timeout occurs ( #2555 )
2024-03-07 09:11:36 -08:00
Paul Wells
cb42c6152c
add psrpc redis keepalive ( #2398 )
...
* add psrpc redis keepalive
* deps
2024-01-21 06:16:40 -08:00
Paul Wells
3f2f850bdb
clean up legacy rpc ( #2384 )
...
* clean up legacy rpc
* cleanup
* cleanup
* cleanup
* tidy
* cleanup
* cleanup
2024-01-14 01:49:26 -08:00
David Zhao
3fe124c87f
Log cleanup pass ( #2285 )
...
* Log cleanup pass
Demoted a bunch of logs to DEBUG, consolidated logs.
* use context logger and fix context var usage
* moved common error types, fixed tests
2023-12-02 15:07:31 -08:00
cfbraun
beecfe3710
Send data ( #2270 )
...
* Avoid dropping data packets on local router
* Remove change not needed for PR
2023-12-02 10:29:43 -08:00
David Zhao
d6ebc081d5
Use random NodeID instead of MAC based ( #2029 )
...
Makes it possible to run multiple instances of livekit-server locally.
Also enables Signal Relay by default as default signal proxy.
2023-09-02 17:36:55 -07:00
David Zhao
981fb7cac7
Adding license notices ( #1913 )
...
* Adding license notices
* remove from config
2023-07-27 16:43:19 -07:00
Raja Subramanian
f11a7a229f
Remove unnecessary check ( #1806 )
2023-06-19 16:40:05 +05:30
Raja Subramanian
40f5902d36
Consistently use connID as log tag ( #1801 )
2023-06-17 21:02:02 +05:30
Raja Subramanian
12db469297
Better tracking of signalling connection. ( #1794 )
...
* Better tracking of signalling connection.
- Reason for closing signaling channel.
- ConnectionID attached to request source/response sink
* Tests
2023-06-15 12:53:34 +05:30
Paul Wells
6b0cb33c53
set participant node for redis router in signal service ( #1584 )
2023-04-05 16:08:25 -07:00
Paul Wells
234f7ea5cb
read batched signal messages ( #1583 )
...
* batch signal messages
* update protcol
2023-04-05 14:41:52 -07:00
Paul Wells
2c93d55e5c
add stream retry middleware for signalling ( #1503 )
2023-03-08 00:51:19 -08:00
Paul Wells
e22de045ba
add signal psrpc service ( #1485 )
...
* add signal psrpc service
* update protocol dep
* refactor for cloud
* update psrpc
* pr feedback
2023-03-03 15:49:46 -08:00
David Zhao
ea12e1477f
Update to go-redis v9. Fixed Redis cluster support ( #1415 )
...
* Update to go-redis v9. Fixed Redis cluster support
2023-02-12 22:22:21 -08:00
Dan McFaul
9e3ca1e989
adding rtc_init stat ( #1316 )
...
* adding rtc_initiated stat
* clean up signal and rtc init/connected
* update naming and break out stats update funcs
* update protocol dependency
2023-01-23 12:49:15 -07:00
Raja Subramanian
80a4dc574a
Fallback to participant key if base62 is not available ( #1223 )
2022-12-13 05:01:23 +05:30
Raja Subramanian
b2df257ac6
base62 encode user provided name/identity. ( #1220 )
2022-12-10 13:02:31 +05:30
Raja Subramanian
2cad63fe9a
Create response channel before sending StartSession ( #1208 )
2022-12-05 00:11:52 +05:30
Benjamin Pracht
c735668f67
Use the redis.UniversalClient interface instead of *redis.Client when interacting with go-redis ( #1149 )
...
* Use the redis.UniversalClient interface instead of *redis.Client when interacting with go-redis
* Update protocol to v1.2.1
2022-11-07 17:27:28 -08:00
cnderrauber
f365481dde
unify resume/restart in single/multi node mode ( #946 )
2022-08-23 18:22:44 +08:00
Raja Subramanian
11fb079a4f
Catching a few more races reported by go test -race ./... ( #713 )
...
* Fix a few more races
* Make sure room store on leave has correct count
* Revert logger change to reduce diff
2022-05-25 07:32:25 +05:30
David Zhao
26700ea135
Add back region when hydrating ParticipantInit. ( #648 )
...
It was left out in the previous PR #646
2022-04-24 09:07:33 -07:00
David Zhao
b7d22c4f34
Fix MessageChannel leaks ( #646 )
2022-04-22 10:53:20 -07:00
Raja Subramanian
8535f3d5b9
Redis AdaptiveStream ( #631 )
...
* Redis AdaptiveStream
* Fix adaptive stream while tarnsferring from start session
2022-04-20 10:48:32 +05:30
David Zhao
282e2aed49
Increase frequency of status updates and longer availability threshold ( #628 )
...
* Increase frequency of status updates and longer avail. threshold.
* better fix.
* fix room close test failure due to slow peer connection Close
* Perform avg computation more frequently if data has changed
2022-04-19 22:18:00 -07:00
Raja Subramanian
a19ca69f5f
Prevent stats update if the deltas are empty ( #619 )
...
* Prevent stats update if the deltas are empty
* increase force interval
* static check
* Change max delay to 30 seconds
2022-04-18 22:51:34 +05:30
cnderrauber
7a3e446a65
run StartSession in a goroutine ( #614 )
2022-04-15 09:36:24 +08:00
David Colburn
0b8a180554
Code inspection ( #581 )
...
* Code inspection
* fix [4]int64 conversiong
2022-03-30 13:49:53 -07:00
David Zhao
f2556483a3
Re-issue tokens when clients initially connect. ( #569 )
...
This ensures if they are disconnected before token is refreshed, they
could reconnect back with a valid token.
2022-03-25 23:55:19 -07:00
David Zhao
51cf626a70
Dump goroutines when possible deadlock is detected ( #568 )
2022-03-25 23:54:35 -07:00
David Zhao
5920672802
feat: unpublish tracks after publish permissions are revoked. ( #545 )
...
* feat: unpublish tracks after publish permissions are revoked.
Uses protocol 7 to indicate client support, otherwise it attempts to
mute the tracks.
Also sends back permissions objects of all participants, and cleaned up
our handling of various permissions attributes.
* fix static check
2022-03-21 00:20:48 -07:00
Raja Subramanian
778d1aa141
utils.AtomicFlag -> atomic.Bool (#466 )
...
* Replacing hand rolled ion-sfu atomic with uber/atomic
* Remove another hand rolled atomic
* utils.AtomicFlag -> atomic.Bool
2022-02-25 12:19:49 +05:30
Raja Subramanian
0170cc1cb6
Staticcheck ( #464 )
...
Using `go get -u honnef.co/go/tools/cmd/staticcheck`
Uneaarthed a couple of real bugs
2022-02-25 12:04:08 +05:30
Raja Subramanian
3f38172139
Types for ConnectionID, NodeID, ParticipantKey ( #450 )
...
* Types for ConnectionID, NodeID, ParticipantKey
* latest protocol version
2022-02-21 08:52:11 +05:30
David Colburn
3d132730f9
replace entire nodeStats object ( #393 )
2022-01-31 17:09:36 -07:00
David Colburn
32825d2666
clean up WriteRoomRTC ( #378 )
...
* clean up WriteRoomRTC
* regenerate
2022-01-26 19:12:39 -07:00
David Zhao
52fc53d325
Issue updated tokens to clients. ( #365 )
...
This ensures client reconnect attempts would be successful for long running rooms. It also fixes inaccurate permissions that were set incorrectly when full reconnections take place.
2022-01-23 23:15:49 -08:00
Raja Subramanian
995c1e8676
type aliases -> type definitions ( #312 )
...
* type alias -> type definition
* participantSid -> participantID in a comment
* Update protocol
2022-01-03 12:43:58 +05:30
Raja Subramanian
3a9009ae12
type definition of room name ( #311 )
...
* WIP commit
* update protocol
* Fixing a test and catching one place where casting was missed
* Fix one more spot which need conversion from livekit.RoomName -> string
* do not covert list
2022-01-02 16:49:16 +05:30
David Zhao
3108ef22ad
Ability to set name on Participant ( #293 )
2021-12-28 00:12:04 -08:00
David Colburn
faa870de3d
Move callbacks out of messageRouter ( #269 )
...
* move callbacks out of messageRouter
* OCD
* more OCD
* fix forwarder test
* even more OCD
* maximum OCD
* package name collision, copy lock by value
2021-12-17 13:19:23 -08:00
Raja Subramanian
e54ce4f674
Stream Allocator Try 3 ( #257 )
...
* Stream Allocator Try 3
Making an intermediate PR to do
- Special treatment for screen share tracks
- When allocating all tracks,
o try to stream all tracks by starting with the lowest layer
o multi-pass across tracks to get a more even distribution
Not yet done:
-------------
In deficient state,
o Allocate a specific track on a change
o Steal from other tracks
* Correct sense of managed track
* have to range to copy
* generate
* fix VideoLayers compare
* Use t.simulcasted
2021-12-14 12:48:09 +05:30
David Zhao
2d93ccd668
Updated protocol from protocol/proto -> protocol/livekit ( #242 )
...
* Updated protocol from protocol/proto -> protocol/livekit
* separate MediaTrack from PublishedTrack
2021-12-08 13:58:38 -08:00
David Colburn
c41384cd09
ActiveRecording ( #234 )
...
* ActiveRecording
* regenerate
* update to 0.10.3
* 1.17
2021-12-03 21:40:53 -08:00