Commit Graph

296 Commits

Author SHA1 Message Date
Raja Subramanian
bbd53d6fbf Add DisconnectReason to ParticipantInfo. (#788)
* Add `DisconnectReason` to `ParticipantInfo`.

* generated protobuf

* Add changeset.

* patch changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-13 14:32:10 +05:30
Raja Subramanian
77997d3438 Send non-error responses also. (#786)
* Send non-error responses also.

Settling on the name `RequestResponse` (after not being able to find a
solid candidate) as it is response sent only when `request_id != 0`.

Renaming `UNKNOWN` reason to `OK` as it was unused. Will bump up
protocol and send `OK` only to client supporting that protocol version.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-12 15:31:47 +05:30
Benjamin Pracht
581b59b653 Add AgentDispatchInternal service. Add JobTerminate to AgentService (#782) 2024-08-08 20:07:22 +02:00
Raja Subramanian
5be7cb358e Proto to store forwarder state. (#781)
* Proto to store forwarder state.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-05 17:44:16 +05:30
David Zhao
b92b88cd1e Added ROOM_CLOSED as a DisconnectReason (#778)
* Added ROOM_CLOSED as a DisconnectReason

When all independent participants leave the room, the room would close
and disconnect all dependent participants. They should receive the correct
reason. Currently we are sending `UNKNOWN_REASON`

* generated protobuf

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-01 19:16:57 -07:00
Benjamin Pracht
ffccf573cd Implement MarshalYAML on RoomConfiguration and related types (#771) 2024-07-30 11:53:18 -07:00
Paul Wells
45b9751aaf add atomic config helpers (#772)
* add atomic config helpers

* generated protobuf

* copy

* disable grpc generation for protos

* copy

* deps

* tidy

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-29 19:55:40 -07:00
David Zhao
4457aaa904 Support attributes assignment upon agent job acceptance (#769)
* Support attributes assignment upon agent job acceptance

* generated protobuf

* changeset

* rename with participant_prefix

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-29 11:22:45 -07:00
David Colburn
bacbd15bfb Egress SRT output (#766)
* egress SRT output

* generated protobuf

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-23 00:31:12 -04:00
Benjamin Pracht
0df8e89387 Implement a custom YAML unmarshaller for RoomConfiguration (#765) 2024-07-19 10:23:32 -07:00
Benjamin Pracht
497688ff49 Internal agent protocol improvements (#764) 2024-07-16 15:53:17 -07:00
Paul Wells
b5404e5c9a add final field to TrickleRequest (#763)
* add final field to TrickleRequest

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-16 09:36:57 -07:00
Benjamin Pracht
32175c1626 Remove unused fields from RegisterWorkerRequest (#761) 2024-07-15 14:03:38 -07:00
cnderrauber
90ec75735b add disable_ice_lite option (#760)
* add disable_ice_lite option

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-15 15:02:26 +08:00
lukasIO
18c869b108 Rename ErrorResponse Reason INVALID_ARGUMENT to LIMIT_EXCEEDED (#758)
* Rename ErrorResponse Reason INVALID_ARGUMENT to LIMIT_EXCEEDED

* generated protobuf

* Create tough-dingos-love.md

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-11 12:26:51 +02:00
David Colburn
14b61d08b0 Replay (#755)
* rebase

* update replay api

* generated protobuf

* add comment

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-08 15:39:54 -07:00
Benjamin Pracht
8c1eef4468 Agents protocol feedback (#750)
This includes some feedback on the agents protocol:

- Rename JobDescription to AgentDispatch
- Remove participant_identity entry in the dispatch
- Deprecate namespace
- Add an agent_name field to specify what agent workers a job should be dispatched to

This also allows setting a room configuration in the token.
2024-07-05 18:53:29 -07:00
David Colburn
b272353929 Add filename prefix to ImagesInfo (#751)
* add filename prefix to imagesInfo

* generated protobuf

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-05 08:50:36 -07:00
cnderrauber
94a2cfe2f1 Add track subscribed first time notification (#752)
* Add track subscribed first time notification

* empty line

* generated protobuf

* Create proud-gorillas-press.md

* update pnpm action

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: lukasIO <mail@lukasseiler.de>
2024-07-05 21:45:35 +08:00
Benjamin Pracht
82786f41fd Additions to agent protocol (#717)
This PR:

- Adds StartAgentJobRequest/StopAgentJobRequest calls to start an handle manually mange an agent lifecycle
- Deprecates the JobType field in WorkerInfo as workers will now be expected to handle both kinds jobs (if the namespace supports both kinds in the first place)
- Adds a metadata string -> string map to Job to allow agent implementation to take anonymous (to us) parameters
- Adds a JobStatus and error fields to Job for status reporting (Similar to egress and ingress)
- Makes livekit_agent.proto indentation consistent with other proto files
- Add room configuration and management APIs to the Room service. Rooms configuration allow bundling most room configuration parameters under a single id, that can eventually be put as part of the room creation token.
2024-06-27 10:30:58 -07:00
lukasIO
6dec8d27f9 Add ErrorResponse (#743)
* Add ErrorResponse

* generated protobuf

* Create purple-swans-study.md

* Update purple-swans-study.md

* Add ErrorResponse to possible server responses

* generated protobuf

* Use reason error instead of uint error code

* generated protobuf

* Add invalid argument error

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-21 10:33:50 +02:00
Denys Smirnov
7814d0fbc2 Fix typo in SIP Trunk conversion. (#744) 2024-06-20 17:49:23 +03:00
David Zhao
e0c49d3c9d Support for key/value attributes on Participant (#733)
* Support for key/value attributes on Participant

Key/value attributes lets us:
* allow various components to provide more information about the participant (i.e. SIP including the phone number)
* allow Agents to communicate their own status to the end user via RTC
* enable applications to update specific fields without overriding others

* generated protobuf

* Attribute support for SIP.

* generated protobuf

* generated protobuf

* allow specifying attributes during token generation

* Remove sip prefix and rename phone number attrs.

* regenerate protos

* update tests

* add kv attrs to sip token

* add attribute test

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Denys Smirnov <dennwc@pm.me>
2024-06-19 22:27:09 -07:00
Denys Smirnov
32c577d805 Split SIP Trunk configuration to inbound and outbound parts. (#738) 2024-06-17 21:42:19 +03:00
David Zhao
725bc923f9 Unique IDs for analytics events and stats (#739)
* Unique IDs for analytics events and stats

* generated protobuf

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-13 22:47:16 -07:00
David Colburn
1dd95af542 s3 session token (#734)
* s3 session token

* changeset

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-11 17:39:00 -07:00
Paul Wells
fcde125058 move analytics rpc to common rpc path (#732)
* move analytics rpc to common rpc path

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-05 23:44:24 -07:00
Paul Wells
429fec77a6 move analytics recorder service out of livekit package (#731)
* move analytics recorder service out of livekit package

* files

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-05 19:39:00 -07:00
David Zhao
c2a0176030 Include node_id with analytics events (#727)
* Include node_id with analytics events

in order to make it easier to reconcile in a distributed setup

* generated protobuf

* changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-06-01 23:10:00 -07:00
cnderrauber
6410d008bf Add forward metrics (#722)
* Add forward metrics

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-24 14:14:35 +08:00
Denys Smirnov
90dfd668f4 Add support for additional SIP transports. (#719) 2024-05-23 20:14:47 +03:00
Denys Smirnov
47e4c6bba7 Rename participant_identity in Transcription (#706)
There are two fields named participant_identity in context of Transcription. It's not clear which one corresponds to the transcriber agent, and which one is for the participant which got its speech transcribed.

This change renames the Transcription field to transcribed_participant_identity so to clarify that it's used for the transcribed participant.
2024-05-17 21:58:51 +03:00
David Colburn
511f517b1a add error code to egress info (#714)
* add error code to egress info

* generated protobuf

* add changeset

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-13 10:52:57 -04:00
Raja Subramanian
30cee625bf Adding a simulation option for leave request. (#713)
* Adding a simulation option for leave request.

@lukasIO I was thinking of making the simulation option
just a `LeaveRequest`. And when simulating, client side
can just set `Action` field of `LeaveRequest`.
But, decided against it as I did not use case for it
and also wanted to keep it simple/specific.

Let me know if I should change that to a generic `LeaveRequest`.
If doing generic `LeaveRequest`, server behaviour would be
1. `Action = DISCONNECT`: server will close the participant and send a
   `LeaveRequest` with `Action = DISCONNECT`.
2. `Action = RESUME`, server will send `LeaveRequest` with `Action = RESUME`
   and it will not include self region in `RegionSettings`.
3. `Action = RECONNECT`, server will send `LeaveRequest` with `Action = RECONNECT`
   and it will not include self region in `RegionSettings`.

As the current simulation is only for full reconnect, it will behave
like #3 above.

Also, this option will be supported in cloud.

Please let me know if I should change this or just leave it as a
boolean.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-13 00:06:19 +05:30
Benjamin Pracht
93a26f478d Add RedactAutoEncodedOutput to support redacting auto egress types (#712)
Also redact image outputs, and support AliOSS uploads for auto egress

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-10 09:56:06 -07:00
Denys Smirnov
38423424ed Allow number filtering on Dispatch Rules (#707)
Allow inbound number filtering on  SIP Dispatch Rules. It works similar to Trunks, where rules without a number filter are grouped together and take less priority than number-specific rules.

While at it, simplify the rule evaluation.

Previously it was doing some hand-crafted checks for evaluation path, that matched the validation path. Same double logic existed for priorities as well.

Now the validation is always called from evaluation, thus sharing the logic. And rule selection is simplified by just picking the first one after priority filtering.
2024-05-07 19:23:35 +03:00
Paul Wells
72c0789f38 allow setting min log level for logger (#705)
* allow setting min log level for logger

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-06 22:22:14 -07:00
Théo Monnom
c286435a2d move language to TranscriptionSegment (#703) 2024-05-01 18:52:16 +02:00
Denys Smirnov
151d757a97 Expose Logger constructor for Zap (#701)
* Expose Logger constructor for Zap.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-05-01 13:27:48 +03:00
Denys Smirnov
e7962f4444 Pass additional metadata for SIP. (#696) 2024-04-26 13:44:03 +03:00
Raja Subramanian
fd19ad24b8 Deprecate UpdateVideoLayers. (#698)
* Deprecate UpdateVideoLayers.

Believe this was never used.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-26 12:00:20 +05:30
Raja Subramanian
2d50a79222 Add audio features to TrackInfo. (#697)
* Add audio features to TrackInfo.

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-26 10:12:38 +05:30
Benjamin Pracht
6d5a8047e6 WHIP protocol change (#680)
This PR adds an optional "enable_transcoding" entry to the ingress APIs and deprecates the bypass_transcoding entry. This is in preparation of disabling "enable_transcoding" by default for WHIP.
2024-04-25 19:35:05 +02:00
Denys Smirnov
da776daae7 Add optional name for SIP participant. (#687) 2024-04-19 15:02:57 +03:00
Benjamin Pracht
2bce16cdcc Transcription/Timed metadata protocol (#679)
---------

Co-authored-by: David Zhao <dz@livekit.io>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-18 18:27:33 +02:00
Benjamin Pracht
2d633a51d8 Add updated_at field to ingress (#684)
* Add updated_at field to ingress

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-16 17:43:43 +02:00
Théo Monnom
bc6c7ffd71 agents protocol proposal (#595)
* simulate-job

* generated protobuf

* wip

* job_cost

* Update livekit_agent.proto

* generated protobuf

* Update livekit_agent.proto

* generated protobuf

* Update livekit_agent.proto

* Update livekit_agent.proto

* Update livekit_agent.proto

* generated protobuf

* Update livekit_agent.proto

* renamed to pong

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

* Update livekit_agent.proto

* Update livekit_agent.proto

* generated protobuf

* remove job_cost & ParticipantPermission

* generated protobuf

* Update livekit_agent.proto

* generated protobuf

* wip

* generated protobuf

* generated protobuf

* Update livekit_agent.proto

* generated protobuf

* generated protobuf

* handler namespace

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: David Zhao <dz@livekit.io>
Co-authored-by: David Colburn <xero73@gmail.com>
2024-04-03 22:49:52 +02:00
Raja Subramanian
fc68e8d82b Add start/end time to analytics stream info (#673)
* Add start/end time to analytics stream info

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-04-03 12:02:58 +05:30
David Zhao
766ababa37 Include projectID in node snapshots (#672)
* Include projectID in node snapshots

* generated protobuf

* removed project_id from event & stat

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-03-31 13:31:40 -07:00
Denys Smirnov
93ff4a23a3 Add and option to play ringtone for SIP outbound calls. (#671) 2024-03-29 22:54:06 +02:00