Commit Graph

2464 Commits

Author SHA1 Message Date
Denys Smirnov
8564329579 Pass DTMF when creating SIP participants. (#2590) 2024-03-20 18:59:25 +02:00
Raja Subramanian
03ada9ba76 Proper RTCP report past mute. (#2588)
- When audio is muted, server injects silence frames which moves the
  time stamp forward and adjusts offset. That cannot be used against
  publisher side sender report. Use a pinned version.
- Ignore small changes to propagation delay even while checking for
  sharp increase. That is spamming a lot for small changes, i.e.
  existing delta is 100 micro seconds or so and the new one is 300 micro
  seconds. Also rename to `longTerm` from `smoothed` as it is a slow
  varying long term estimate of propagation delay delta. And slow down
  that adaptation more.
2024-03-19 11:59:24 +05:30
Denys Smirnov
c30c1be689 Push Docker images to the master tag. (#2579) 2024-03-18 20:48:26 +02:00
renovate[bot]
bc1711c476 Update golang.org/x/exp digest to a85f2c6 (#2551)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-18 11:00:28 -07:00
Raja Subramanian
e85922857a Use cloned grants. (#2586)
To ensure no pointer (i. e. mutable object) is held in returned proto.
2024-03-18 14:55:05 +05:30
Raja Subramanian
9e5f434cef Do not block as notification could make a network request. (#2581) 2024-03-15 10:59:37 +05:30
Denys Smirnov
1d920ae488 Support SIP DTMF data messages. (#2559) 2024-03-14 17:23:43 +02:00
Raja Subramanian
14321f21bf Make OpsQueueParams to make it easier to understand args. (#2578) 2024-03-14 10:27:24 +05:30
Raja Subramanian
e376625a13 Do not need to flush stream allocator events. (#2577) 2024-03-14 04:36:19 +05:30
Raja Subramanian
4e96ad2e5b Missed clean up in the last PR (#2576)
* Missed clean up in the last PR

* Infow -> Debugw
2024-03-13 23:01:19 +05:30
Raja Subramanian
3e43f75143 Forward publisher sender report. (#2572)
* Forward publisher sender report.

Publisher side RTCP sernfer report is rebased to SFU time base
and used to send sender rerport to subscriber.

Will wait to merge till previous versions are out as this will require a
bunch of testing.

* - Add rebased report drift
- update protocol dep
- fix path change check, it has to check against delta of propagation
  delay and not propagation delay as the two side clocks could be way
  off.
2024-03-13 14:31:39 +05:30
David Colburn
1cf04e3511 add egress proxy proto (#2570) 2024-03-11 21:53:12 -04:00
Raja Subramanian
610d68a409 Clean up using publisher side clock rate. (#2568)
It is not used any more.
2024-03-11 12:25:07 +05:30
Raja Subramanian
50c48ff29d Ignore out-of-order receiver side sender reports. (#2567) 2024-03-11 11:30:01 +05:30
Raja Subramanian
93c7d1f4fb Adjust first packet time on down track resume. (#2566)
Allows subscriber sender report to line up better quicker.
2024-03-11 00:40:16 +05:30
Raja Subramanian
bdbc9dcbc7 Use start time stamp to calculate down stream sender report. (#2564)
* Use start time stamp to calculate down stream sender report.

With first packet time adjustment, using the first time stamp is more
accurate.

This still suffers if the up stream clock rate changes (happens in cases
like noise suppression which is not well understood). Will be looking at
pass through of sender report from publisher to subscriber.

* similar log strings

* avoid early sender reports

* log messages

* Reduce first packet adjustment threshold to 15 seconds
2024-03-10 23:18:54 +05:30
Raja Subramanian
a08b058abc Structured logging for sender report data. (#2563) 2024-03-10 01:29:37 +05:30
David Colburn
13f8191cc8 update protocol (#2560) 2024-03-08 11:11:32 -08:00
Raja Subramanian
666b912dd3 Fix test (#2557)
Have no idea how last PR was ready to merge without this.
2024-03-08 20:31:58 +05:30
Raja Subramanian
324c5f35cb handle nil resolver. (#2556) 2024-03-08 19:06:28 +05:30
renovate[bot]
063b9d57cc Update pion deps (#2534)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-07 09:12:21 -08: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
Raja Subramanian
6c94185aa6 Bring back soft close. (#2553)
Remote media track needs it.
2024-03-07 12:52:48 +05:30
Paul Wells
d87f8aa299 use departure timeout (#2549)
* use departure timeout

* deps

* default

* remove constants

* deps

* protoproxy cache

* add sample
2024-03-05 09:05:42 -08:00
Raja Subramanian
0618cb39df Logging time and rtp diff for easier debugging (#2548) 2024-03-05 20:31:44 +05:30
cnderrauber
95001dfe54 remove warning log of unexpected rtcp fb (#2546)
* remove warning log of unexpected rtcp fb

* Add log for high playout delay

* don't create delay controller for audio
2024-03-05 10:35:28 +08:00
Raja Subramanian
108594a0b9 Notify migration on migration out node. (#2543)
It is possible that migration could trigger without migrating out node
knowing about it. So, when a migration started notification comes in,
set up migration timer if not already set.
2024-03-04 19:43:54 +05:30
Raja Subramanian
46257c1d24 Skip large RR intervals. (#2544) 2024-03-04 19:12:53 +05:30
Raja Subramanian
fdd76c8734 Post a PLI check request on connected. (#2542)
Otherwise, it gets delayed by timer and could wait upto to interval
(which could be 200 ms when there is no RTT information yet).
2024-03-04 14:41:35 +05:30
cnderrauber
8c5d8730b1 Check ssrc for rtcp packets (#2541)
* Check ssrc for rtcp packets

* Add warn log if rtcp fb has unknown ssrc
2024-03-04 16:36:57 +08:00
Raja Subramanian
56dcd0b025 Process matching sender report only. (#2540) 2024-03-04 13:11:57 +05:30
Paul Wells
ad341d41f5 start telemetry participant worker to collect signal stats (#2538)
* start telemetry participant worker to collect signal stats

* format

* resolve room

* tidy
2024-03-03 02:47:51 -08:00
cnderrauber
b58307f144 Support XR request/response for rtt calculation (#2536)
* Support XR request/response for rtt calculation

* Update pkg/sfu/downtrack.go

Co-authored-by: David Zhao <dz@livekit.io>

---------

Co-authored-by: David Zhao <dz@livekit.io>
2024-03-03 12:34:49 +08:00
renovate[bot]
cbc1d1b1ce Update go deps (#2529)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-03-02 10:03:57 -08:00
Raja Subramanian
dbe2af3886 Remove subscriber if track closed while adding subscriber. (#2537)
* Remove subscriber if track closed while adding subscriber.

It is possible that the track is closed when subscriber add is
processed. That subscriber would have been dangling off a closed track.

Check again after adding subscriber if track is closed.
If it is, remove the subscriber and return error so that subscription
manager re-resolves.

* oops, wrong unlock
2024-03-02 23:12:20 +05:30
Denys Smirnov
9a6d25674d Validate SIP trunks and rules when creating new ones. (#2535) 2024-03-01 19:29:32 +02:00
Raja Subramanian
6a0b72c357 Use SubscriberID() is calls to DeleteDownTrack. (#2533)
Thank you @cnderrauber for catching this.
2024-03-01 15:21:00 +05:30
Raja Subramanian
9e334c7510 Refactoring channel handling (#2532)
* Refactoring channel handling

* Add a version to SubscriberID()
2024-03-01 15:08:07 +05:30
Raja Subramanian
95011d64f8 Annotate max subscribe layer change with events. (#2531)
Using events to understand what is causing max subscribed layer changes.
Seeing an edge case where all layers are disabled incorrectly.
2024-03-01 11:27:26 +05:30
Jeff
00db7bc79b Update README.md (#2530)
* Update README.md

Link to non-deprecated repo

* Cleanup
2024-02-29 21:11:24 -08:00
Raja Subramanian
d40041d013 Use the correct snapshot id for PPS. (#2528)
* Use the correct snapshot id for PPS.

That caused connection quality to operate on small windows.

* remove debug
2024-02-29 22:48:36 +05:30
Raja Subramanian
ea66eae9f5 Start moving things to structured logging (#2527) 2024-02-29 14:35:19 +05:30
Raja Subramanian
af79224e30 Check on copy. (#2525)
Should not happen, but just being defensive.
2024-02-29 10:25:52 +05:30
cnderrauber
a435368278 use dynamic bucket size (#2524) 2024-02-28 16:24:23 +08:00
Raja Subramanian
6519c7596a Demote some logs. (#2523)
When a fallback is not applied, it is due to signal interruption.
ICE connection failing happens. And every time there is error, it is due
to "no selected pair".

Move all of it to `Debugw`. `setting ICE config` is the definitive log
which says if a different ICE config was applied.
2024-02-28 12:11:40 +05:30
David Colburn
098b12981f fix pli throttle locking (#2521)
* fix pli throttle locking

* UpdatePliAndTime still used in cloud
2024-02-27 20:22:38 -08:00
cnderrauber
20ac7fb416 Confirm migrated tracks info before declare migration completed (#2522)
* Confirm migrated tracks info before declare migration completed

* log expected mid
2024-02-28 12:16:34 +08:00
renovate[bot]
5326263d44 Update module github.com/prometheus/client_golang to v1.19.0 (#2514)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-02-27 18:33:15 -08:00
David Zhao
13151b24a0 Re-enable static check (#2520) 2024-02-27 17:58:56 -08:00
Denys Smirnov
f5eb6c8a95 Update usage of core.Fuse. (#2519) 2024-02-28 03:48:58 +02:00