Commit Graph

130 Commits

Author SHA1 Message Date
lukasIO
3d92d3e0b1 Add KindDetails to ParticipantInfo (#1019)
* Add cloud features enum

* Create cuddly-dryers-guess.md

* add next id

* generated protobuf

* rename to more specific KindDetail

* generated protobuf

* Update cuddly-dryers-guess.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-25 10:16:46 +01:00
Dan McFaul
fdacb1a293 add cloud agents (#1010)
* initial commit

* add agent hosting types

* generated protobuf

* Update auth/grants.go

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

* Update protobufs/livekit_cloud_agent.proto

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

* dz feedback

* rebase fixes

* match ListAgents func call

* generated protobuf

* update regional_agents to agent_deployments

* generated protobuf

* add client settings endpoint

* generated protobuf

* Create changeset

* fix changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: David Zhao <dz@livekit.io>
2025-03-19 10:50:56 -06:00
Denys Smirnov
ce72bd5bb7 Update API for SIP. (#869) 2025-03-19 14:49:48 +02:00
cnderrauber
368c3d6198 ForwardParticipant changes (#1008)
* ForwardParticipant changes

remove stop flag in the request
add new `forwarded` participant type

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-12 12:07:30 +08:00
cnderrauber
03867f6036 Add ForwardParticipant method to RoomService (#1002)
* Add ForwardParticipant method to RoomService

* faked rpc client

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-10 11:38:36 +08:00
Raja Subramanian
4102568c88 Per resource webhook queue. (#1000)
* Per resource webhook queue.

With a worker based approach, an event on a resource (like a room) not
being handled could affect other resources (other rooms or ingress or
egress).

To prevent that, do a per resource queue with two kinds of limits
- age of event: when queuing, if the event at the front of the queue
  exceeds a certain limit (default: 5 seconds), the event is dropped
- depth of queue: drop event if the number of queued events exceeds some
  level (default: 200)

To reap the per resource queue, specific end events are tracked and the
resource is added to the reap queue and reaped after a configurable
timeout (default: 5 min). This is to ensure that events happening just
after end event (for example: participant_left happening after
room_finished) are handled without re-creating a new resource.

Also, deprecating `num_dropped` from proto.

Some other bits of notes/challenges:
- Keeping the old URL notifier also. Also, the default notifier is that.
  Can change to the new one before merging this PR if this approach
  looks good.
- Using string compares of event name to detect end. Not great.
- Needs a sweeper to reap the resource queue. I think 5 min default
  timeout to reap should be okay, but maybe there are things that can
  cause re-creation of a resource queue after reaping and those could
  leak? Needs more analysis.
- Storing `context.Context` in resource queue so that it can be used
  during posting to webhook from resource queue go routine. Storing that
  is not great, but we need it for analytics key.

* generated protobuf

* missed files

* generated protobuf

* fix test in data race

* generate

* generated protobuf

* paul feedback

* fixes

* race

* more Paul feedback

* make resource notifier the default

* generated protobuf

* stop

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-03-07 22:39:59 +05:30
Denys Smirnov
e35a55f148 Move SIP call dispatch info into a separate type. (#989) 2025-03-01 14:47:08 +02:00
shishirng
5f4ba74900 deprecate older timestamp fields and add new ones (#993)
* deprecate older timestamp fields and add new ones

Signed-off-by: shishir gowda <shishir@livekit.io>

* generated protobuf

---------

Signed-off-by: shishir gowda <shishir@livekit.io>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-27 22:22:10 +02:00
Denys Smirnov
715433bcb8 Add SIP hostname to auth request as well. (#988) 2025-02-25 19:20:22 +02:00
Denys Smirnov
d8a31f2b72 Handle SIP hostname in address filters. Expose attribute. (#987) 2025-02-25 17:12:07 +02:00
Denys Smirnov
8819517840 More analytics fields for SIPCallInfo. (#984) 2025-02-24 12:41:14 +02:00
Paul Wells
1a019aab5b add participant job type (#981)
* add participant job type

* internal rpc

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-18 00:33:17 -08:00
Raja Subramanian
9b6e5d703f Webhook analytics event. (#979)
* Webhook analytics event.

NOTE: Need a frostbyte73/core PR to merge and tag a release
PR pending: https://github.com/frostbyte73/core/pull/5

* sync submit

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-13 10:21:17 +05:30
David Colburn
82dadcf607 Egress audio mixing options (#978)
* audio mixing options

* generated protobuf

* remove multi

* move audio mixing

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-12 12:56:45 -05:00
Raja Subramanian
07904738df Proto for sending API call details to telemetry. (#964)
* Proto for sending API call details to telemetry.

* generated protobuf

* Create dry-camels-tie.md

* Add project_id

* generated protobuf

* top level fields

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-07 15:08:07 +05:30
Denys Smirnov
fdfc6fd6bc Allow passing all SIP trunk options in CreateSIPParticipant. (#961)
* Allow passing all SIP trunk options in CreateSIPParticipant.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-07 11:21:18 +02:00
cnderrauber
07992dd19e Add backup codec policy to AddTrackRequest (#947)
* Add backup codec policy

* changeset

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-02-06 10:21:55 +08:00
Raja Subramanian
3d2a520b8e Proto to "report" different kinds of data. (#962)
* Proto to "report" different kinds of data.

Starting off with `FeatureUsage` with the one feature od
`KRISP_NOISE_CANCELLATION`.

* generated protobuf

* Create six-humans-lick.md

* Update .changeset/six-humans-lick.md

Co-authored-by: lukasIO <mail@lukasseiler.de>

* time range

* generated protobuf

* Add BVC and some comments

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: lukasIO <mail@lukasseiler.de>
2025-02-05 10:06:18 +05:30
Denys Smirnov
c909c95e07 Pass SIP statuses as RPC error details. (#958) 2025-01-29 23:08:30 +02:00
Denys Smirnov
e430b4bd32 Add flag to make CreateSIPParticipant synchronous. (#952) 2025-01-28 00:40:18 +02:00
Raja Subramanian
9a579a69ba Add a nonce to data messages. (#953)
* Add a nonce to data messages.

Will be used to de-dupe messages sent via SendData API.

* generated protobuf

* comment

* generated protobuf

* add nonce to UserPacket

* generated protobuf

* 128-bit UUID as string for nonce

* generated protobuf

* UUID bytes

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-27 14:46:25 +05:30
Raja Subramanian
6ec1903b36 Room creation time with ms resolution. (#950)
* Room creation time with ms resolution.

Follow up to this PR - https://github.com/livekit/protocol/pull/949 and
this comment - https://github.com/livekit/protocol/pull/949#issuecomment-2608033493

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-23 09:34:41 +05:30
Raja Subramanian
18fcdd87b3 Participant joined_at_ms to get higher resolution of join time. (#949)
* Participant joined_at_ms to get higher resolution of join time.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-22 13:48:08 +05:30
lukasIO
afe463fe84 Rename File* related DataStream messages to Byte* (#948)
* Rename File related DataStream messages to Byte

* generated protobuf

* Add changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-21 13:07:00 +01:00
Denys Smirnov
369640e32f Use iterators in SIP. (#943) 2025-01-14 12:05:18 +02:00
lukasIO
5b4142c056 Add DataStream.Trailer for finalizing streams (#940)
* Add DataStream.Trailer for finalizing streams

* remove complete from chunk

* Create tame-suits-sneeze.md

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-10 17:43:03 +01:00
Benjamin Pracht
c533a46256 Add SIPCallDirection to SIPCallInfo (#938)
---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-08 14:50:18 -08:00
Benjamin Pracht
8714744cc1 Make IngressInfo.enabled optional (#937)
To provide backward compatibility with already existing Ingresses
---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2025-01-07 14:21:10 -08:00
Rajiv Gonzalez
e58b0bf8ad Disable ingress session flag update (#935)
New Enabled flags on createIngress and updateIngress to have the ability to disable ingress sessions without having to remove the entire session and lose the streamkey
2025-01-07 09:33:54 -08:00
Denys Smirnov
409558f441 Add media encryption options. (#892) 2024-12-27 17:11:29 +02:00
Benjamin Pracht
70efefb425 Add EgressSourceType to EgressInfo (#894)
* WiP

* Define EgressSourceType and record it in the EgressInfo for proper biling

* generated protobuf

* Create shy-planets-impress.md

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-25 16:01:07 -06:00
lukasIO
e92d055bb7 Remove total_chunks from data streams (#931)
* Remove total_chunks from data streams

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-25 16:00:02 -06:00
David Zhao
2c4895fbc2 adding room configuration in SIP dispatch rule (#923)
* adding room configuration in SIP dispatch rule

* generated protobuf

* changeset

* generated protobuf

* add to io.proto

* fix imports

* generated protobuf

* pass along room preset and config details

* comment about token flow

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-12-25 15:59:02 -06:00
Denys Smirnov
1975b61b7e Add headers for SIP call transfer. (#926) 2024-12-18 14:42:28 +02:00
Denys Smirnov
c3c005b67f Allow mapping all SIP headers to attributes. (#920) 2024-12-12 20:16:20 +02:00
Denys Smirnov
f6b5078b22 Add filters to SIP list APIs. (#913) 2024-12-09 20:37:53 +02:00
Hamdan
47d9881a2a Add headers for CreateSipParticipant (#911)
* Add headers for CreateSipParticipant

* Fixed CreateSipParticipant wrong IDs

* generated protobuf

* Create tall-colts-invent.md

* removed header mappings from CreateSIpParticipant

* generated protobuf

* merged headers for InternalCreateSIPParticipantRequest

* Properly merge headers.

* Fix changeset.

* Add headers validation.

* Update tests.

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denys Smirnov <dennwc@pm.me>
2024-12-09 19:55:32 +02:00
lukasIO
c9f20a6024 Add DataStream support (#871)
* wip data stream messages

* generated protobuf

* smaller update

* generated protobuf

* attach files

* generated protobuf

* add sender identity

* generated protobuf

* update to reflect proposal discussion

* generated protobuf

* address comments

* generated protobuf

* Remove redundant options, clarify comments

* generated protobuf

* add generated flag

* generated protobuf

* Create yellow-buses-work.md

* generated protobuf

* fix changeset

* address comments

* generated protobuf

* remove contentLength from packet

* generated protobuf

* add to datapacket

* generated protobuf

* snake

* generated protobuf

* add comment

* generated protobuf

* add version to chunk

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-28 12:06:41 +01:00
Denys Smirnov
9e70d56c78 Map participant attributes to SIP headers. (#893) 2024-11-27 14:30:01 +02:00
Benjamin Pracht
40165b03e6 Report call enabled features in SIPCallInfo (#884)
---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-26 09:37:32 -08:00
Denys Smirnov
fb1060f77d Allow setting number for SIP outbound. (#891) 2024-11-25 19:07:45 +02:00
Raja Subramanian
792495362f Utility to build livekit.MetricsBatch (#889)
* mbb WIP

* generated protobuf

* tweaks

* generated protobuf

* merge

* filters

* add IsEmpty

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-25 09:59:26 +05:30
Denys Smirnov
f558b991de Fix port type for SIPUri. (#882) 2024-11-12 22:39:28 +02:00
David Colburn
391b78ffe9 EgressInfo helpers (#880)
* EgressInfo helpers

* add backup_used to egress info

* generated protobuf

* update helper

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-12 13:24:53 -05:00
Denys Smirnov
5bd7e73f31 Add disconnect reason for SIP failures. (#845) 2024-11-01 17:37:48 +02:00
David Colburn
95e69930e0 remove separate presigned url (#874)
* remove separate presigned url

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-31 13:27:37 -04:00
Benjamin Pracht
ee0a12bd25 Add extra fields to SIP analytics events (#872)
---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-28 10:10:43 -07:00
David Colburn
32abc4d3e9 krisp for outbound trunks (#868)
* krisp for outbound trunks

* generated protobuf

* move to createSIPParticipantRequest

* fix tointernal

* Update protobufs/livekit_sip.proto

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

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: David Zhao <dz@livekit.io>
2024-10-25 13:10:50 -04:00
David Zhao
1eb56d4243 Improve usability of room configuration (#864)
* Improve usability of room configuration

- allowing setting configuration parameters directly
- removes dispatch wrapper to simplify agents specification

* generated protobuf

* changeset

* rename to roomConfig to avoid confusion

* fix test

* export agent dispatch protobufs

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-21 22:37:24 -07:00
David Colburn
ce8ba5ab12 Krisp inbound trunk setting (#866)
* add krisp_enabled to inbound trunk info

* generated protobuf

* add to EvaluateDispatchRule

* add estimated_cpu to StartEgress

* generated protobuf

* changeset

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-10-22 01:14:27 -04:00