Brint E. Kriebel
822f8c3944
Region Aware node selection fixes and enhancements ( #141 )
...
* cli: Allow setting the current node region with flag or env variable
Also add region to "starting LiveKit server" log.
* routing: Add region to node registration
Register the node's region on the selected router so it can be used for
region aware node selection.
Also add the region to the list-nodes output.
* regionaware: Set minDist to zero for the current node
If you don't set the minDist when leaving the loop early for a node that
matches the current region, the minDist value with still be at max. This
causes the the wrong node to be selected if the current node is the
first one the loop passes through.
Add a test that validates this change. The new test fails if this new
change is not in place.
2021-10-10 22:21:37 -07:00
Russ d'Sa
f6f5602bc4
consolidate on api key and api secret to describe our key pairs ( #138 )
...
* consolidate on api key and api secret to describe our key pairs
* tweak error message for the keys flag
2021-10-07 15:50:18 -07:00
David Zhao
c745f0a318
Region aware routing ( #135 )
...
* Region aware routing
* update config, fix spacing on commented out lines
2021-10-06 21:40:04 -07:00
David Colburn
2a3fb5f0e7
move logging to protocol ( #109 )
2021-09-09 00:45:42 -07:00
David Zhao
e82d50d717
Send explicit message to clients for mute/unmute. ( #107 )
...
* Send explicit message to clients for mute/unmute.
* documentation in config
2021-09-01 21:50:02 -07:00
David Colburn
2fd61531d2
small refactor ( #104 )
2021-08-30 18:22:11 -05:00
Mathew Kamkar
c437152e2b
NodeSelector using system load metric ( #94 )
...
* use load when selecting nodes
* Apply suggestions from code review
Co-authored-by: David Zhao <david@davidzhao.com >
* sysload selector test
* wire nodeSelectorFromConfig
* fix tests
* Update pkg/routing/selectorsystemload_test.go
Co-authored-by: David Zhao <david@davidzhao.com >
* dz review: nits
Co-authored-by: David Zhao <david@davidzhao.com >
2021-08-26 15:24:39 -07:00
David Zhao
bcf6e15e07
SendData API & publishData permission ( #88 )
...
* SendData Server API
* SendData Server-API adjustments based on suggestions
* Update proto version
* enforce publishData permission
* go mod tidy
* fix go.mod
* go mod tidy
Co-authored-by: ChesterMing <89124853+ChesterMing@users.noreply.github.com >
2021-08-19 18:11:48 -07:00
David Zhao
9495646f1a
webhooks support ( #81 )
2021-08-09 09:57:37 -07:00
David Zhao
a9c4851113
Fix external IP discovery. fix LeaveRequest during server disconnect ( #72 )
2021-07-28 21:33:34 -07:00
David Zhao
f8782fae3f
Send stun servers to clients ( #69 )
...
* Send stun servers to clients
* use TURN/UDP as STUN servers
2021-07-26 15:43:26 -07:00
hn8
c682982af2
Update TLS port default as rfc5766 ( #68 )
2021-07-23 15:11:11 -07:00
hn8
06c44ca8f6
feat: support UDP in TURN ( #61 )
...
1. Add UDP option to TURN
2. GetLocalIPAddress default to IPv4
2021-07-19 09:21:59 -07:00
David Zhao
a80e8cf69f
Enable passing in local IP, refactored IP detection ( #48 )
...
* Enable passing in local IP, refactored IP detection
* update docker server instructions
2021-07-11 08:42:11 -07:00
hn8
dcfe7eaf4f
Enhancement: audio speakers ( #44 )
...
* refactor: active speakers
1. Observe the loudest adjusted with active ratio instead of linear average of decibel values
2. Follow RFC6465 to convert audio level from decibel to linear value.
3. Quantize audio level for stable slice comparison
4. Switch moving average algorithm from MMA to EMA to have the same center of mass with SMA
5. Minor: remove seenSids map allocation
6. Minor: minimize division arithmetic
* Update pkg/rtc/audiolevel.go
Co-authored-by: David Zhao <david@davidzhao.com >
2021-07-09 09:46:24 -07:00
David Zhao
4ec2959950
Use discreet ports by default due to write bottleneck ( #40 )
2021-07-06 15:08:46 -07:00
David Zhao
6751361187
Feature: codec restrictions.
...
In order to ensure clients are publishing with compatible codecs, the server can enforce codec restrictions.
2021-07-02 16:54:54 -07:00
David Colburn
e543aaa98a
turn server tls ( #38 )
...
* tls
* acm
* use cert/key files
* turn -> turns
* turn cert config
* updates
* move panic
* tidy
* final updates
2021-07-01 17:00:49 -05:00
David Zhao
083e7cc860
Reduce default PLI throttle values, ion-sfu resync fix
2021-06-28 15:49:17 -07:00
David Colburn
0ffb8a97e4
rtcpThrottle -> pliThrottle
2021-06-22 15:00:27 -07:00
David Zhao
d69e9f451e
Smooth audio levels by averaging over samples.
2021-06-21 18:14:28 -07:00
David Colburn
eebc2f5acd
add throttle config
2021-06-21 17:13:58 -07:00
David Zhao
2cecbad29d
fix: memory leaks with BufferFactory being held
2021-06-14 22:53:29 -07:00
David Zhao
0900054c24
ability to disable auto subscribe per participant
2021-05-22 22:54:47 -07:00
David Zhao
681010072c
support for exposing stats via prometheus
2021-05-11 22:04:59 -07:00
David Zhao
f01fee03c3
default to not map external IP.
2021-05-10 13:49:10 -07:00
David Zhao
d399a57a7b
Removed cli, mux cleanup, docs update
2021-05-07 01:16:33 -07:00
David Zhao
7877bc6ecd
support for redis db
2021-04-30 15:03:41 -07:00
David Zhao
84ac0a718d
single port mode connectivity improvements, ICE v2.1.6
2021-04-25 14:13:35 -07:00
David Zhao
c2777cd556
single-port mode (beta)
2021-04-12 22:25:13 -07:00
David Zhao
3bba717eb5
Support for TCP-ICE, updated config documentation
2021-04-10 21:53:50 -07:00
David Zhao
e20c831c14
automatic configuration of TURN, with per-room credentials. version 0.6.0
2021-03-07 23:30:21 -08:00
David Zhao
fa2ffa46e7
Embedded TURN server
2021-03-06 22:47:48 -08:00
David Zhao
03d0a8c047
updated to ion-sfu v1.9.1, removed package bufferFactory
2021-03-01 14:49:46 -08:00
David Zhao
f7af7607b9
terraform deploy on ECS ( #27 )
2021-02-28 22:28:17 -08:00
David Zhao
6be0c99fcc
tune audio level sensitivity
2021-02-16 16:02:19 -08:00
David Zhao
a96069969d
support audio level extension & active speaker detection ( #20 )
...
* send active speaker updates with audio level
* add test on loudness sorting
* use a float to represent audio level
2021-02-14 14:30:23 -08:00
David Zhao
ae203c27e3
send resync to ensure keyframes have been requested
2021-02-06 23:02:21 -08:00
David Zhao
1a8e26031f
always use multi-node when Redis is provided, removed config
2021-01-30 13:29:31 -08:00
David Zhao
5ce52b6a30
fixed keys parsing from ENV/cli
2021-01-30 13:20:39 -08:00
David Zhao
bd81b073d1
allow keys to be passed in from env (again), cli to use LIVEKIT prefix
2021-01-25 21:34:16 -08:00
David Zhao
f004aa2952
auto-create rooms upon creation
2021-01-24 23:47:24 -08:00
David Zhao
6552d5ebc8
fixed key-file parsing
2021-01-18 10:35:17 -08:00
David Zhao
458241d1f1
config rework to handle distributed setup, fixed redis bugs
2021-01-17 17:06:50 -08:00
David Zhao
30e99e8c6b
redis based router & roomstore
2021-01-17 00:12:05 -08:00
David Zhao
9064f6ade1
decouple websocket and RTC nodes, prep for distributed
2021-01-16 10:37:38 -08:00
David Zhao
7dcb88343a
binding to buffer and correctly forwarding
2021-01-10 16:18:58 -08:00
David Zhao
8f34bd6086
cleaned up some deps
2020-12-22 23:11:24 -08:00
David Zhao
71d3a470f5
checkpoint
2020-10-23 00:12:33 -07:00
David Zhao
40c7d902d8
refactored config and room setup
2020-10-15 00:04:16 -07:00