Commit Graph

754 Commits

Author SHA1 Message Date
Raja Subramanian
eca6ffa9e2 Update pion/webrtc to pick up data channel detach unlock change. (#3342) 2025-01-17 10:22:56 +05:30
renovate[bot]
9c462aef08 Update pion deps (#3242)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-16 12:10:25 -06:00
renovate[bot]
24361768a1 Update module google.golang.org/protobuf to v1.36.3 (#3315)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-15 16:26:27 -06:00
renovate[bot]
8c62f9b2fa Update module github.com/livekit/protocol to v1.31.0 (#3314)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-15 00:54:29 -06:00
Raja Subramanian
53d300ba71 Use nano time for easier (and hopefully) faster checks/calculations. (#3323) 2025-01-12 00:56:46 +05:30
David Zhao
ca767a988e bump to v1.8.2 (#3310) 2025-01-06 19:55:24 -08:00
renovate[bot]
ec54d357e4 Update golang.org/x/exp digest to 7588d65 (#3309)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-06 14:49:07 -06:00
renovate[bot]
c792d15244 Update golang.org/x/exp digest to 7d7fa50 (#3303)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-03 18:20:12 -06:00
renovate[bot]
4f6d44c258 Update module github.com/elliotchance/orderedmap/v2 to v2.7.0 (#3299)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-01-02 11:26:20 -06:00
renovate[bot]
cffedb2c1f Update go deps (#3071)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-28 19:50:03 -06:00
renovate[bot]
8ab65a3ea8 Update module github.com/livekit/protocol to v1.30.0 (#3211)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-12-25 21:28:59 -06:00
Raja Subramanian
8cf6cbb826 Structured logging of ParticipantInit (#3279)
* Structured logging of ParticipantInit

* use pointer
2024-12-20 11:12:50 +05:30
Raja Subramanian
c8b644934f Update deque and friends. (#3276) 2024-12-20 07:16:14 +05:30
cnderrauber
713e67cd52 Thottle the publisher data channel sending when subscriber is slow (#3255)
* Thottle the publisher data channel sending when subscriber is slow

Avoid the publisher overwhelm the sfu data channel buffer when
the subscriber has lower receive bitrates. It will drop message
if the subscriber is considered too slow to block the entire room.

* Enable nack in mediaengine and disable it in transceiver as need

pion doesn't support per transciver codec configuration, so the nack of this session will be disabled
forever once it is first disabled by a transceiver.
https://github.com/pion/webrtc/pull/2972
2024-12-18 10:51:34 +08:00
dependabot[bot]
1bacbfcbe9 Bump golang.org/x/crypto from 0.29.0 to 0.31.0 (#3260)
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.29.0 to 0.31.0.
- [Commits](https://github.com/golang/crypto/compare/v0.29.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-17 11:08:57 +05:30
Denys Smirnov
dc6fe3aae5 Support SIP list filters. (#3240) 2024-12-09 22:57:47 +02:00
cnderrauber
c76fb0bcf4 Disable close by dtls to fix migration (#3220)
Pion v4 imports new feature that will close
peerconnection on dtls.close to detects
remote peer closed quickly, it breaks the
session migration.
2024-11-30 09:20:45 +08:00
cnderrauber
3372e6e285 pion v4.0.4 (#3217) 2024-11-29 10:37:12 +08:00
lukasIO
1c940af8c0 Add datastream packet type handling (#3210)
* Add datastream packet type handling

* point to main in protocol

* Revert "point to main in protocol"

This reverts commit 2cc6ed6520.

* Update protocol
2024-11-28 12:23:40 +01:00
cnderrauber
54f9f7de51 upgrade to pion/webrtc v4 (#3213) 2024-11-28 16:05:38 +08:00
renovate[bot]
15570c4929 Update module github.com/livekit/protocol to v1.28.0 (#2984)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-11-27 15:24:50 -06:00
Raja Subramanian
23285744ba Server side metrics (#3198)
* mbb WIP

* deps

* WIP

* WIP

* remove unused file

* Switch to enabled

* misc

* deps

* mediatransportutil update

* Typo

* Set ParticipantIdentity in metrics data packets

* use uint32 as JSON decoder does not unmarshal time.Duration
2024-11-25 13:10:48 +05:30
Denys Smirnov
55d084fd18 Annotate SIP errors with Twirp codes. (#3161) 2024-11-07 17:00:57 +02:00
Raja Subramanian
150433ab64 Update ICE to pick up accepting use-candidate unconditionally for ICE lite agents (#3150) 2024-10-31 12:24:04 +05:30
Paul Wells
b0d3d65f18 update events package (#3126)
* update events package

* deps
2024-10-21 23:44:00 -07:00
David Zhao
dd7cd7eafc Handle room configuration that's set in the grant itself (#3120)
* Handle room configuration that's set in the grant itself

* ensure refresh token contains updates

* deps

* dep

---------

Co-authored-by: Paul Wells <paulwe@gmail.com>
2024-10-21 23:31:12 -07:00
Benjamin Pracht
d751f209d5 Allow requesting a dialtone during call transfer (#3122) 2024-10-21 21:05:31 -07:00
Raja Subramanian
40b10af960 Use monotonic time util. (#3112)
Thank you @paulwe for doing this. I was promising to do this for a
while, but just like other times, empty promises :-(
2024-10-17 10:49:24 +05:30
Raja Subramanian
8221471b67 Protocol update to get more precise protoproxy timing (#3107)
* Protocol update to get more precise protoproxy timing

* really update protocol
2024-10-16 18:43:09 +05:30
David Zhao
33098337fc Support for attributes in initial agent token (#3097) 2024-10-14 22:45:10 -07:00
Raja Subramanian
a8da4872b1 Drop quality a bit faster on score trending lower to be more responsive. (#3093)
Also, logging a bit more about quality changes to understand why
high(ish) loss does not drop quality. Will remove the loss thresholded
logging after collecting some data.
2024-10-14 17:21:42 +05:30
Paul Wells
00ac004604 use AgentDispatch in internal request (#3074)
* use AgentDispatch in internal request

* deps

* deps

* deps
2024-10-08 01:25:00 -07:00
Raja Subramanian
b1b8f5a178 Update webrtc to get support for selected candidate pair stats. (#3072) 2024-10-07 22:32:13 +05:30
Paul Wells
4c2b154c41 start jobs with started state (#3070)
* start jobs with started state

* deps
2024-10-07 04:09:10 -07:00
Paul Wells
3261560098 api for agent worker job count (#3068)
* api for agent worker job count

* cleanup

* temp deps

* temp deps

* deps
2024-10-05 05:13:52 -07:00
Raja Subramanian
2491ee7c7c Make lite version of RTPStatsReceiver called RTPStatsReceiverLite. (#3065)
* Make lite version of RTPStatsReceiver called RTPStatsReceiverLite.

Refactor around that.

Will probably make some more flavors to have lighter versions still.

* update deps

* use MarshalLogArray

* use util
2024-10-05 10:50:25 +05:30
renovate[bot]
737c85371b fix(deps): update golang.org/x/exp digest to 225e2ab (#3066)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-10-04 15:45:19 -07:00
Denys Smirnov
af15f211d0 Forward new disconnect reasons for SIP. (#3056) 2024-10-03 16:36:47 +03:00
Paul Wells
0b4fd32905 add unlikely logger (#3058) 2024-10-02 22:58:25 -07:00
Raja Subramanian
45f23f6fc4 Update protocol to get lower case check for kind and source. (#3048)
Also, log kind in starting RTC session and store a clone always in
participants.
2024-09-26 15:45:42 +05:30
Paul Wells
8428d5e62b update protocol (#3031)
* update protocol

* test

* cleanup
2024-09-21 17:05:39 -07:00
Benjamin Pracht
22c36ef423 Implement SIP TransferParticipant API (#3026) 2024-09-20 12:16:15 -07:00
Paul Wells
61179d5624 simplify agent registration (#3018)
* simplify agent registration

* testutils

* deps

* fix

* gen

* cleanup

* lower job load
2024-09-19 05:58:30 -07:00
lukasIO
94d7b1708f Allow agents to override sender identities on ChatMessage (#3022)
* Allow agents to override sender identities on ChatMessage

* temporarily replace protocol

* check for empty identity

* string compare instead of identity compare

* update protocol

* Fix typo

* whitespace
2024-09-19 11:11:14 +02:00
Raja Subramanian
7df6f86693 Initial plumbing for metrics. (#2950)
* Initial plumbing for metrics.

This implements
- metrics received from participant.
- callback to room.
- room distributes it to all other participants (excluding the sending
  participant).
- other participants forward to client.
- counting metrics bytes in data channel stats

TODO:
  - recording/processing/batching
  - should recording/processing/batching happen on publisher side or
    subscriber side?
  - should metrics be echoed back to publisher?
  - grants to publish/subscribe metrics.

* mage generate

* clear OnMetrics on close

* - CanSubscribeMetrics permission.
- Echo back to sender.

* update deps

* No destination identities for metrics

* WIP

* use normalized timestamp for server injected timestamps

* compile

* debug log metrics batch

* correct comment

* add baseTime to wire

* protocol dep

* Scope metrics forwarding to only participants that a participant is
subscribed to.

Also remove the participant_metrics.go file as it was not doing anything
useful.

* update comment

* utils.ErrorIsOneOf

* couple of more utils.CloneProto
2024-09-19 11:42:31 +05:30
Paul Wells
4deaac2f3f replace proto.Clone calls (#3024)
* replace proto.Clone calls

* deps

* tests
2024-09-18 22:47:33 -07:00
renovate[bot]
d992389d4f Update module github.com/prometheus/client_golang to v1.20.4 (#3014)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-09-17 08:44:06 -07:00
dependabot[bot]
9ae536980e Bump github.com/opencontainers/runc from 1.1.13 to 1.1.14 (#3013)
Bumps [github.com/opencontainers/runc](https://github.com/opencontainers/runc) from 1.1.13 to 1.1.14.
- [Release notes](https://github.com/opencontainers/runc/releases)
- [Changelog](https://github.com/opencontainers/runc/blob/main/CHANGELOG.md)
- [Commits](https://github.com/opencontainers/runc/compare/v1.1.13...v1.1.14)

---
updated-dependencies:
- dependency-name: github.com/opencontainers/runc
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 11:15:08 +05:30
Raja Subramanian
002c73dad3 Update ICE via webrtc to get candidate pair stats RTT (#3009) 2024-09-17 03:21:21 +05:30
Raja Subramanian
a0b4c39fd5 Use OnSelectedCandidatePairChanged to keep track of selected pair. (#3004)
* Use OnSelectedCandidatePairChanged to keep track of selected pair.

* update webrtc dep
2024-09-16 19:44:21 +05:30