Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/nice-numbers-mate.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"github.com/livekit/protocol": patch
---

enable krisp SIP setting
776 changes: 393 additions & 383 deletions livekit/livekit_sip.pb.go

Large diffs are not rendered by default.

273 changes: 137 additions & 136 deletions livekit/livekit_sip.twirp.go

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion protobufs/livekit_sip.proto
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,8 @@ message SIPInboundTrunkInfo {
google.protobuf.Duration ringing_timeout = 11;
// Max call duration.
google.protobuf.Duration max_call_duration = 12;

bool krisp_enabled = 13;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the motivation to use boolean here rather than with a repeated feature field like for the rpc?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did it here because it's specific to SIPInboundTrunkInfo, while future features might not apply

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

supported vs unsupported features can be dealt with request validation early in the request processing. Unique booleans for each feature will require us to keep adding fields to the messages, which may become quite long. It would work from a functionality perspective though, of course. Curious what other folks think.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it seems clearer to have the Trunk definition to be explicit and flat.

}

message CreateSIPOutboundTrunkRequest {
Expand Down Expand Up @@ -455,7 +457,7 @@ message SIPUri {
SIPTransport transport = 5;
}

enum SIPCallStatus {
enum SIPCallStatus {
SCS_CALL_INCOMING = 0; // Incoming call is being handled by the SIP service. The SIP participant hasn't joined a LiveKit room yet
SCS_PARTICIPANT_JOINED = 1; // SIP participant for outgoing call has been created. The SIP outgoing call is being established
SCS_ACTIVE = 2; // Call is ongoing. SIP participant is active in the LiveKit room
Expand Down
4 changes: 3 additions & 1 deletion protobufs/rpc/egress.proto
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,9 @@ message StartEgressRequest {
string token = 8;
string ws_url = 9;

bool cloud_backup_enabled = 10; // cloud only
// cloud only
bool cloud_backup_enabled = 10;
double estimated_cpu = 14;
}

message ListActiveEgressRequest {}
Expand Down
83 changes: 47 additions & 36 deletions rpc/egress.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

69 changes: 35 additions & 34 deletions rpc/egress.psrpc.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions sip/sip.go
Original file line number Diff line number Diff line change
Expand Up @@ -514,6 +514,9 @@ func EvaluateDispatchRule(projectID string, trunk *livekit.SIPInboundTrunkInfo,
resp.HeadersToAttributes = trunk.HeadersToAttributes
resp.RingingTimeout = trunk.RingingTimeout
resp.MaxCallDuration = trunk.MaxCallDuration
if trunk.KrispEnabled {
resp.EnabledFeatures = append(resp.EnabledFeatures, rpc.SIPFeature_KRISP_ENABLED)
}
}
return resp, nil
}