Commit Graph

2232 Commits

Author SHA1 Message Date
Denys Smirnov
b9ab057c6b SIP: Update protocol for outbound calls. (#2263) 2023-11-29 16:13:33 +02:00
Raja Subramanian
fa061b47fc Logging adjustnments (#2273) 2023-11-29 15:40:01 +05:30
renovate[bot]
c4da7f5995 Update github.com/livekit/mediatransportutil digest to 05525c8 (#2254)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-28 21:15:22 -08:00
Raja Subramanian
bfc4f19c74 Guard against bad quality in trackInfo (#2271) 2023-11-28 22:28:30 +05:30
David Zhao
4ba4f5310b Use default psrpc client parameters (#2269) 2023-11-27 23:20:16 -08:00
Raja Subramanian
396371312b Use variables for score -> quality mapping (#2268)
* Use variables for score -> quality mapping

* spelling
2023-11-28 11:51:21 +05:30
Paul Wells
890f0bfc67 initialize prometheus metrics in test files (#2267) 2023-11-27 21:31:39 -08:00
renovate[bot]
ca71b486a1 Update golang.org/x/exp digest to 6522937 (#2266)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-27 20:57:45 -08:00
Raja Subramanian
5f76d1adcc Introduce DISCONNECTED connection quality. (#2265)
* Introduce `DISCONNECTED` connection quality.

Currently, this state happens when any up stream track does not
send any packets in an analysis window when it is expected to send
packets.

This can be used by participants to know the quality of a potentially
disconnected participant. Previously, it took 20 - 30 seconds for
the stale timeout to kick in and disconnect the limbo participant which
triggered a participant update through which other participants knew
about it.

Previously, `POOR` quality was also overloaded to denote that the
up stream is not sending any packets. With this change, that is a
separate indicator, i. e. `DISCONNECTED`.

* clean up

* Update deps

* spelling
2023-11-27 23:06:53 +05:30
Raja Subramanian
53542b09a0 Participant traffic load. (#2262)
* Participant traffic load.

Capturing information about participant traffic
- Upstream/Downstream
- Audio/Video/Data
- Packets/Bytes

This captures a notion of how much traffic load a participant is
generating.

Can be used to make allocation decisions.

* Clean up

* SIP patches

* reporter goroutine

* unlock

* move traffic stats from protocol

* check type
2023-11-26 23:05:00 +05:30
Raja Subramanian
56dd399684 Use a worker to report signal/data stats. (#2260)
* Use a worker to report signal/data stats.

Was checking if reporting is needed on every update.
The check is wasted work if volume of signal/data messages is high
as reporting happens only once in 10 seconds.

Changing to a worker based on a timer. And also aligning with
telemetry reporting interval which defaults to 30 seconds.

* Remove unused constant
2023-11-22 11:47:15 +05:30
Denys Smirnov
f18d6356e8 SIP: Update protocol, use NoPin flag. (#2250) 2023-11-20 10:18:59 -05:00
renovate[bot]
0c66727161 Update module github.com/livekit/psrpc to v0.5.2 (#2151)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-19 18:05:04 -08:00
Raja Subramanian
8c3ec742e6 Use now for end time (#2248)
* Use now for end time

* less arithmetic
2023-11-17 12:00:47 +05:30
Raja Subramanian
c62382c76e Clean up restart a bit. (#2247) 2023-11-17 00:40:00 +05:30
Denys Smirnov
7bcd6d4df0 SIP: Implement GetSIPTrunkAuthentication. (#2244) 2023-11-15 15:29:36 -05:00
Denys Smirnov
c6e467e903 Initial SIP Dispatch Rules implementation (#2241) 2023-11-15 09:35:05 -05:00
Raja Subramanian
49ca1066cd Reduce logging (#2243)
* Reduce logging

1. Do not print rtp stats if nil. Means that some subscribed tracks may
   not have any logs (very short subscriptions which end before any
   packet is sent).
2. Log ICE candidates only at the end, not when ICE connects. That logs
   the selected ICE candidate pair.
3. Log ICE candidates only if not empty.

* Update some deps
2023-11-15 12:57:03 +05:30
Sean DuBois
702e562f9f Add SIP Support (#2240) 2023-11-14 14:24:54 -05:00
Paul Wells
5ec692bb03 update psrpc (#2239)
* update psrpc

* tidy
2023-11-13 01:11:04 -08:00
renovate[bot]
9e3c64117d Update module github.com/pion/webrtc/v3 to v3.2.22 (#2236) 2023-11-10 07:43:11 -08:00
renovate[bot]
ca3884bebc Update go deps (#2223)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 16:01:41 -08:00
David Zhao
a24b9b840d v1.5.1 (#2235) v1.5.1 2023-11-09 15:41:45 -08:00
renovate[bot]
744208021f Update pion deps (#2234)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-09 12:03:55 -08:00
Raja Subramanian
bcce9c26eb Helpers accessible from other packages. (#2233) 2023-11-09 17:15:23 +05:30
Paul Wells
5dda31d42d register one job per test agent worker (#2232) 2023-11-09 01:31:00 -08:00
Paul Wells
aa797c749c validate input to agent worker register (#2231)
* validate input to agent worker register

* prevent multiple registrations

* cleanup
2023-11-09 00:58:59 -08:00
Paul Wells
229c80ac17 retry jobs when agent ws write fails (#2230)
* retry jobs when agent ws write fails

* release lock before io
2023-11-09 00:29:21 -08:00
Raja Subramanian
440f00bcac Declare audio inactive if stale. (#2229)
* Declare audio inactive if stale.

Stale samples were used to declare audio active.
Maintain last update time and declare inactive if samples are stale.

* correct comment

* spelling

* check level in test
2023-11-08 11:13:39 +05:30
David Colburn
57643a42ed Agents enabled check (#2227)
* agents enabled check

* participant -> publisher

* nil check client

* add NumConnections

* add lock around agent check

* do not launch agents against other agents

* regen

* don't need atomic anymore

* update protocol
2023-11-07 19:19:07 -08:00
cnderrauber
302facc60d Reject migration if codec mismatch with published tracks (#2225)
* Reject migrated/published track mismatch codec with track info

* Check potential codecs

* Issue full connect if mismatch

* fix codec finding
2023-11-06 21:11:39 +08:00
Raja Subramanian
12a9d74acb Do not restart on receiver side. (#2224)
* Do not restart on receiver side.

Restart with wrap back causes issues in the forwarding path
as the subscriber assumes the extended type from receiver side does
not restart.

Restart was an attempt to include as many packets as possible, but
in practice is not super useful. So, taking it out. Can clean up
a bit more stuff, but want to run this first and check for any oddities.

* fix test
2023-11-06 10:41:56 +05:30
Paul Wells
43703538c6 clean up proto logging (#2221) 2023-11-04 10:32:03 -07:00
renovate[bot]
eaf8834f0c Update module golang.org/x/sync to v0.5.0 (#2204)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-04 10:29:47 -07:00
Paul Wells
2a941ba58d improve participant hidden (#2220) 2023-11-04 09:59:23 -07:00
David Colburn
60374c6402 Agents (#2203)
* agents

* add test

* undo name changes

* remove debug logs

* fixes

* fix data race in test
2023-11-03 11:43:35 -07:00
cnderrauber
f5047ab653 Check request layer for DD selector sync (#2219) 2023-11-03 18:40:36 +08:00
cnderrauber
f247b68ed6 Make sure dd selector uses correct keyframe to select packets (#2218)
* Make sure dd selector uses correct keyframe to select packets

* Fix test case

* remove unsed field
2023-11-03 17:49:02 +08:00
Raja Subramanian
f165ae1fa0 Separate publish and subscribe enabled codecs for finer grained control. (#2217) 2023-11-03 10:14:11 +05:30
Raja Subramanian
a7a227709a Prevent out-of-bounds access. (#2216)
* Prevent out-of-bounds access.

Don't know which codec causes a spatial layer three access.
Returning nil and also logging so that we know the trackID of offending
track.

* spelling
2023-11-02 12:33:02 +05:30
Raja Subramanian
0bdfdb0c49 Squelching DD reader error. (#2215)
Squelching Structure is nil error as it can happen on packets
received before a key frame is received.
2023-11-02 11:10:28 +05:30
Paul Wells
a6ede46adc add bounds check to dependency descriptor loop (#2214) 2023-11-01 18:04:04 -07:00
renovate[bot]
072bb9dd69 Update module github.com/pion/interceptor to v0.1.25 (#2208)
Generated by renovateBot

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-11-01 14:30:29 -07:00
Raja Subramanian
f38a5794a0 fallback to vp8 if no viable codec (#2211) 2023-11-02 00:03:47 +05:30
cnderrauber
9399fb2bfe Only select alternative codec for video (#2210)
* Only select alternative codec for video

* Filter out empty mime
2023-11-01 19:45:44 +08:00
Raja Subramanian
4fa60247c1 Reduce log level (#2209) 2023-11-01 16:30:49 +05:30
Raja Subramanian
45346d7c76 Clean up condition that is not happening (#2207) 2023-11-01 15:17:09 +05:30
Raja Subramanian
c93a88bd9b Log starts on metadata cache overflow. (#2206) 2023-11-01 10:55:07 +05:30
Paul Wells
de7532b5a1 split room and participant services (#2205)
* merge

* tidy

* deps
2023-10-31 21:28:21 -07:00
Raja Subramanian
33a629065d Fix pre-extended value on wrap back restart. (#2202)
When wrapping back on a restart, was not setting pre-extended
values properly. It was missing a cycle. That caused rare large
sequence number gap.
2023-10-31 01:10:47 +05:30