From 1caedbbf1fbe1d80368158b56c3ea373c68cec19 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 4 Jun 2026 10:03:10 +0000 Subject: [PATCH] feat: Updated OpenAPI spec --- ...travox.AgentsClient.AgentsCallsCreate.g.cs | 7 + ...ravox.IAgentsClient.AgentsCallsCreate.g.cs | 6 + .../Ultravox.ISipClient.SipPartialUpdate.g.cs | 4 + .../Ultravox.JsonSerializerContext.g.cs | 11 +- .../Ultravox.JsonSerializerContextTypes.g.cs | 446 +++++++++--------- .../Ultravox.Models.FallbackHandler.Json.g.cs | 92 ++++ .../Ultravox.Models.FallbackHandler.g.cs | 58 +++ .../Ultravox.Models.PatchedSipConfig.g.cs | 11 + .../Generated/Ultravox.Models.SipConfig.g.cs | 11 + ...avoxV1SipFallbackHandlerResponse.Json.g.cs | 92 ++++ ....UltravoxV1SipFallbackHandlerResponse.g.cs | 71 +++ ...ox.Models.UltravoxV1SipRejection.Json.g.cs | 92 ++++ ...ltravox.Models.UltravoxV1SipRejection.g.cs | 59 +++ ...odels.UltravoxV1StartAgentCallRequest.g.cs | 17 +- .../Ultravox.SipClient.SipPartialUpdate.g.cs | 5 + src/libs/Ultravox/openapi.yaml | 81 ++++ 16 files changed, 841 insertions(+), 222 deletions(-) create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.Json.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.Json.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.Json.g.cs create mode 100644 src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.g.cs diff --git a/src/libs/Ultravox/Generated/Ultravox.AgentsClient.AgentsCallsCreate.g.cs b/src/libs/Ultravox/Generated/Ultravox.AgentsClient.AgentsCallsCreate.g.cs index a013c40..1216b21 100644 --- a/src/libs/Ultravox/Generated/Ultravox.AgentsClient.AgentsCallsCreate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.AgentsClient.AgentsCallsCreate.g.cs @@ -522,6 +522,11 @@ partial void ProcessAgentsCallsCreateResponseContent( /// one signature per secret is produced (comma-separated in X-Ultravox-Signature).
/// Write-only: this field is never included in API responses. /// + /// + /// The ID of the agent to use for this call. Ignored when an agent is already
+ /// identified by request context (e.g. from the request URL); required when there
+ /// is no other agent context, such as in a SipFallbackHandlerResponse. + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -545,6 +550,7 @@ partial void ProcessAgentsCallsCreateResponseContent( global::Ultravox.UltravoxV1ToolOverrides? toolOverrides = default, global::Ultravox.UltravoxV1StartAgentCallRequestRetentionPolicy? retentionPolicy = default, global::System.Collections.Generic.IList? sharedSecrets = default, + string? requestAgentId = default, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -567,6 +573,7 @@ partial void ProcessAgentsCallsCreateResponseContent( ToolOverrides = toolOverrides, RetentionPolicy = retentionPolicy, SharedSecrets = sharedSecrets, + AgentId = requestAgentId, }; return await AgentsCallsCreateAsync( diff --git a/src/libs/Ultravox/Generated/Ultravox.IAgentsClient.AgentsCallsCreate.g.cs b/src/libs/Ultravox/Generated/Ultravox.IAgentsClient.AgentsCallsCreate.g.cs index cffbb36..7db2440 100644 --- a/src/libs/Ultravox/Generated/Ultravox.IAgentsClient.AgentsCallsCreate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.IAgentsClient.AgentsCallsCreate.g.cs @@ -106,6 +106,11 @@ public partial interface IAgentsClient /// one signature per secret is produced (comma-separated in X-Ultravox-Signature).
/// Write-only: this field is never included in API responses. /// + /// + /// The ID of the agent to use for this call. Ignored when an agent is already
+ /// identified by request context (e.g. from the request URL); required when there
+ /// is no other agent context, such as in a SipFallbackHandlerResponse. + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -129,6 +134,7 @@ public partial interface IAgentsClient global::Ultravox.UltravoxV1ToolOverrides? toolOverrides = default, global::Ultravox.UltravoxV1StartAgentCallRequestRetentionPolicy? retentionPolicy = default, global::System.Collections.Generic.IList? sharedSecrets = default, + string? requestAgentId = default, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Ultravox/Generated/Ultravox.ISipClient.SipPartialUpdate.g.cs b/src/libs/Ultravox/Generated/Ultravox.ISipClient.SipPartialUpdate.g.cs index b6a6249..398a780 100644 --- a/src/libs/Ultravox/Generated/Ultravox.ISipClient.SipPartialUpdate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.ISipClient.SipPartialUpdate.g.cs @@ -41,6 +41,9 @@ public partial interface ISipClient /// /// Calls must match a pattern for one of these agents (or the global agent pattern if allowAllAgents is true) to be accepted. /// + /// + /// If set, this webhook is consulted for any incoming SIP call that does not match an agent allowance (including the allowAllAgents allowance if set). The endpoint must respond promptly with a 200 status and a JSON body with exactly one of startAgentCall, startCall, or reject. The first two use the request body for the associated call creation endpoints plus agentId in the former case, while reject may include `sipRejectCode` (default 603) to pass along to the caller. + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -48,6 +51,7 @@ public partial interface ISipClient global::System.Collections.Generic.IList? allowedCidrRanges = default, bool? allowAllAgents = default, global::System.Collections.Generic.IList? allowedAgents = default, + global::Ultravox.FallbackHandler? fallbackHandler = default, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default); } diff --git a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs index 0640e80..ea1f609 100644 --- a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContext.g.cs @@ -282,6 +282,8 @@ namespace Ultravox [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.CorpusUploadsRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.CorpusUploadsResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.EventsEnum), TypeInfoPropertyName = "EventsEnum2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.FallbackHandler))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.Invoice))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.InvoiceStatusEnum), TypeInfoPropertyName = "InvoiceStatusEnum2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.ModelAlias))] @@ -346,7 +348,6 @@ namespace Ultravox [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.PatchedScheduledCallBatch))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.PatchedSetTtsApiKeysRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.PatchedSipConfig))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.IList))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.PatchedSipRegistration))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.PatchedTelnyxConfig))] @@ -447,12 +448,14 @@ namespace Ultravox [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1SecurityRequirement))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.Dictionary))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1UltravoxCallTokenRequirement))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1SourceStatsStatus), TypeInfoPropertyName = "UltravoxV1SourceStatsStatus2")] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1SipFallbackHandlerResponse))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartAgentCallRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartCallRequest))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1SipRejection))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1SourceStatsStatus), TypeInfoPropertyName = "UltravoxV1SourceStatsStatus2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartAgentCallRequestInitialOutputMedium), TypeInfoPropertyName = "UltravoxV1StartAgentCallRequestInitialOutputMedium2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1ToolOverrides))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartAgentCallRequestRetentionPolicy), TypeInfoPropertyName = "UltravoxV1StartAgentCallRequestRetentionPolicy2")] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartCallRequest))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker), TypeInfoPropertyName = "UltravoxV1StartCallRequestFirstSpeaker2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium), TypeInfoPropertyName = "UltravoxV1StartCallRequestInitialOutputMedium2")] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::Ultravox.UltravoxV1StartCallRequestRetentionPolicy), TypeInfoPropertyName = "UltravoxV1StartCallRequestRetentionPolicy2")] @@ -483,6 +486,7 @@ namespace Ultravox [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] + [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] @@ -504,7 +508,6 @@ namespace Ultravox [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] - [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] [global::System.Text.Json.Serialization.JsonSerializable(typeof(global::System.Collections.Generic.List))] diff --git a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs index cd9fd71..7e16e08 100644 --- a/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.JsonSerializerContextTypes.g.cs @@ -308,783 +308,795 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::Ultravox.Invoice? Type70 { get; set; } + public global::Ultravox.FallbackHandler? Type70 { get; set; } /// /// /// - public global::Ultravox.InvoiceStatusEnum? Type71 { get; set; } + public global::System.Collections.Generic.IList? Type71 { get; set; } /// /// /// - public global::Ultravox.ModelAlias? Type72 { get; set; } + public global::Ultravox.Invoice? Type72 { get; set; } /// /// /// - public global::Ultravox.OwnershipEnum? Type73 { get; set; } + public global::Ultravox.InvoiceStatusEnum? Type73 { get; set; } /// /// /// - public global::Ultravox.PaginatedAPIKeyList? Type74 { get; set; } + public global::Ultravox.ModelAlias? Type74 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type75 { get; set; } + public global::Ultravox.OwnershipEnum? Type75 { get; set; } /// /// /// - public global::Ultravox.PaginatedAgentList? Type76 { get; set; } + public global::Ultravox.PaginatedAPIKeyList? Type76 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type77 { get; set; } + public global::System.Collections.Generic.IList? Type77 { get; set; } /// /// /// - public global::Ultravox.PaginatedCallEventList? Type78 { get; set; } + public global::Ultravox.PaginatedAgentList? Type78 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type79 { get; set; } + public global::System.Collections.Generic.IList? Type79 { get; set; } /// /// /// - public global::Ultravox.PaginatedCallList? Type80 { get; set; } + public global::Ultravox.PaginatedCallEventList? Type80 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type81 { get; set; } + public global::System.Collections.Generic.IList? Type81 { get; set; } /// /// /// - public global::Ultravox.PaginatedCallStageList? Type82 { get; set; } + public global::Ultravox.PaginatedCallList? Type82 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type83 { get; set; } + public global::System.Collections.Generic.IList? Type83 { get; set; } /// /// /// - public global::Ultravox.PaginatedCallThrottleList? Type84 { get; set; } + public global::Ultravox.PaginatedCallStageList? Type84 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type85 { get; set; } + public global::System.Collections.Generic.IList? Type85 { get; set; } /// /// /// - public global::Ultravox.PaginatedCallTombstoneList? Type86 { get; set; } + public global::Ultravox.PaginatedCallThrottleList? Type86 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type87 { get; set; } + public global::System.Collections.Generic.IList? Type87 { get; set; } /// /// /// - public global::Ultravox.PaginatedInvoiceList? Type88 { get; set; } + public global::Ultravox.PaginatedCallTombstoneList? Type88 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type89 { get; set; } + public global::System.Collections.Generic.IList? Type89 { get; set; } /// /// /// - public global::Ultravox.PaginatedModelAliasList? Type90 { get; set; } + public global::Ultravox.PaginatedInvoiceList? Type90 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type91 { get; set; } + public global::System.Collections.Generic.IList? Type91 { get; set; } /// /// /// - public global::Ultravox.PaginatedScheduledCallBatchList? Type92 { get; set; } + public global::Ultravox.PaginatedModelAliasList? Type92 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type93 { get; set; } + public global::System.Collections.Generic.IList? Type93 { get; set; } /// /// /// - public global::Ultravox.ScheduledCallBatch? Type94 { get; set; } + public global::Ultravox.PaginatedScheduledCallBatchList? Type94 { get; set; } /// /// /// - public global::Ultravox.PaginatedScheduledCallList? Type95 { get; set; } + public global::System.Collections.Generic.IList? Type95 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type96 { get; set; } + public global::Ultravox.ScheduledCallBatch? Type96 { get; set; } /// /// /// - public global::Ultravox.ScheduledCall? Type97 { get; set; } + public global::Ultravox.PaginatedScheduledCallList? Type97 { get; set; } /// /// /// - public global::Ultravox.PaginatedSipRegistrationList? Type98 { get; set; } + public global::System.Collections.Generic.IList? Type98 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type99 { get; set; } + public global::Ultravox.ScheduledCall? Type99 { get; set; } /// /// /// - public global::Ultravox.SipRegistration? Type100 { get; set; } + public global::Ultravox.PaginatedSipRegistrationList? Type100 { get; set; } /// /// /// - public global::Ultravox.PaginatedToolHistoryList? Type101 { get; set; } + public global::System.Collections.Generic.IList? Type101 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type102 { get; set; } + public global::Ultravox.SipRegistration? Type102 { get; set; } /// /// /// - public global::Ultravox.ToolHistory? Type103 { get; set; } + public global::Ultravox.PaginatedToolHistoryList? Type103 { get; set; } /// /// /// - public global::Ultravox.PaginatedToolList? Type104 { get; set; } + public global::System.Collections.Generic.IList? Type104 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type105 { get; set; } + public global::Ultravox.ToolHistory? Type105 { get; set; } /// /// /// - public global::Ultravox.Tool? Type106 { get; set; } + public global::Ultravox.PaginatedToolList? Type106 { get; set; } /// /// /// - public global::Ultravox.PaginatedVoiceList? Type107 { get; set; } + public global::System.Collections.Generic.IList? Type107 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type108 { get; set; } + public global::Ultravox.Tool? Type108 { get; set; } /// /// /// - public global::Ultravox.Voice? Type109 { get; set; } + public global::Ultravox.PaginatedVoiceList? Type109 { get; set; } /// /// /// - public global::Ultravox.PaginatedWebhookList? Type110 { get; set; } + public global::System.Collections.Generic.IList? Type110 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type111 { get; set; } + public global::Ultravox.Voice? Type111 { get; set; } /// /// /// - public global::Ultravox.Webhook? Type112 { get; set; } + public global::Ultravox.PaginatedWebhookList? Type112 { get; set; } /// /// /// - public global::Ultravox.PaginatedultravoxV1CorpusDocumentList? Type113 { get; set; } + public global::System.Collections.Generic.IList? Type113 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type114 { get; set; } + public global::Ultravox.Webhook? Type114 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CorpusDocument? Type115 { get; set; } + public global::Ultravox.PaginatedultravoxV1CorpusDocumentList? Type115 { get; set; } /// /// /// - public global::Ultravox.PaginatedultravoxV1CorpusList? Type116 { get; set; } + public global::System.Collections.Generic.IList? Type116 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type117 { get; set; } + public global::Ultravox.UltravoxV1CorpusDocument? Type117 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1Corpus? Type118 { get; set; } + public global::Ultravox.PaginatedultravoxV1CorpusList? Type118 { get; set; } /// /// /// - public global::Ultravox.PaginatedultravoxV1CorpusSourceList? Type119 { get; set; } + public global::System.Collections.Generic.IList? Type119 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type120 { get; set; } + public global::Ultravox.UltravoxV1Corpus? Type120 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CorpusSource? Type121 { get; set; } + public global::Ultravox.PaginatedultravoxV1CorpusSourceList? Type121 { get; set; } /// /// /// - public global::Ultravox.PaginatedultravoxV1MessageList? Type122 { get; set; } + public global::System.Collections.Generic.IList? Type122 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type123 { get; set; } + public global::Ultravox.UltravoxV1CorpusSource? Type123 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1Message? Type124 { get; set; } + public global::Ultravox.PaginatedultravoxV1MessageList? Type124 { get; set; } /// /// /// - public global::Ultravox.PatchedAPIKey? Type125 { get; set; } + public global::System.Collections.Generic.IList? Type125 { get; set; } /// /// /// - public global::Ultravox.PatchedAccountTelephonyConfig? Type126 { get; set; } + public global::Ultravox.UltravoxV1Message? Type126 { get; set; } /// /// /// - public global::Ultravox.PatchedAgent? Type127 { get; set; } + public global::Ultravox.PatchedAPIKey? Type127 { get; set; } /// /// /// - public global::Ultravox.PatchedCallThrottle? Type128 { get; set; } + public global::Ultravox.PatchedAccountTelephonyConfig? Type128 { get; set; } /// /// /// - public global::Ultravox.PatchedPlivoConfig? Type129 { get; set; } + public global::Ultravox.PatchedAgent? Type129 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type130 { get; set; } + public global::Ultravox.PatchedCallThrottle? Type130 { get; set; } /// /// /// - public global::Ultravox.PatchedScheduledCallBatch? Type131 { get; set; } + public global::Ultravox.PatchedPlivoConfig? Type131 { get; set; } /// /// /// - public global::Ultravox.PatchedSetTtsApiKeysRequest? Type132 { get; set; } + public global::System.Collections.Generic.IList? Type132 { get; set; } /// /// /// - public global::Ultravox.PatchedSipConfig? Type133 { get; set; } + public global::Ultravox.PatchedScheduledCallBatch? Type133 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type134 { get; set; } + public global::Ultravox.PatchedSetTtsApiKeysRequest? Type134 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type135 { get; set; } + public global::Ultravox.PatchedSipConfig? Type135 { get; set; } /// /// /// - public global::Ultravox.PatchedSipRegistration? Type136 { get; set; } + public global::System.Collections.Generic.IList? Type136 { get; set; } /// /// /// - public global::Ultravox.PatchedTelnyxConfig? Type137 { get; set; } + public global::Ultravox.PatchedSipRegistration? Type137 { get; set; } /// /// /// - public global::Ultravox.PatchedTwilioConfig? Type138 { get; set; } + public global::Ultravox.PatchedTelnyxConfig? Type138 { get; set; } /// /// /// - public global::Ultravox.PatchedVoice? Type139 { get; set; } + public global::Ultravox.PatchedTwilioConfig? Type139 { get; set; } /// /// /// - public global::Ultravox.PatchedWebhook? Type140 { get; set; } + public global::Ultravox.PatchedVoice? Type140 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type141 { get; set; } + public global::Ultravox.PatchedWebhook? Type141 { get; set; } /// /// /// - public global::Ultravox.WebhookStatusEnum? Type142 { get; set; } + public global::System.Collections.Generic.IList? Type142 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type143 { get; set; } + public global::Ultravox.WebhookStatusEnum? Type143 { get; set; } /// /// /// - public global::Ultravox.WebhookFailure? Type144 { get; set; } + public global::System.Collections.Generic.IList? Type144 { get; set; } /// /// /// - public global::Ultravox.ScheduledCallStatusEnum? Type145 { get; set; } + public global::Ultravox.WebhookFailure? Type145 { get; set; } /// /// /// - public global::Ultravox.SendCallDataMessage? Type146 { get; set; } + public global::Ultravox.ScheduledCallStatusEnum? Type146 { get; set; } /// /// /// - public global::Ultravox.SipConfig? Type147 { get; set; } + public global::Ultravox.SendCallDataMessage? Type147 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1BaseToolDefinition? Type148 { get; set; } + public global::Ultravox.SipConfig? Type148 { get; set; } /// /// /// - public global::Ultravox.UsageResponse? Type149 { get; set; } + public global::Ultravox.UltravoxV1BaseToolDefinition? Type149 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type150 { get; set; } + public global::Ultravox.UsageResponse? Type150 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallTemplateInitialOutputMedium? Type151 { get; set; } + public global::System.Collections.Generic.IList? Type151 { get; set; } /// /// /// - public float? Type152 { get; set; } + public global::Ultravox.UltravoxV1CallTemplateInitialOutputMedium? Type152 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type153 { get; set; } + public float? Type153 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SelectedTool? Type154 { get; set; } + public global::System.Collections.Generic.IList? Type154 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallTemplateRetentionPolicy? Type155 { get; set; } + public global::Ultravox.UltravoxV1SelectedTool? Type155 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CorpusStats? Type156 { get; set; } + public global::Ultravox.UltravoxV1CallTemplateRetentionPolicy? Type156 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CorpusDocumentMetadata? Type157 { get; set; } + public global::Ultravox.UltravoxV1CorpusStats? Type157 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CorpusQueryResult? Type158 { get; set; } + public global::Ultravox.UltravoxV1CorpusDocumentMetadata? Type158 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CorpusQueryResultCitation? Type159 { get; set; } + public global::Ultravox.UltravoxV1CorpusQueryResult? Type159 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SourceStats? Type160 { get; set; } + public global::Ultravox.UltravoxV1CorpusQueryResultCitation? Type160 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CrawlSpec? Type161 { get; set; } + public global::Ultravox.UltravoxV1SourceStats? Type161 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1UploadSpec? Type162 { get; set; } + public global::Ultravox.UltravoxV1CrawlSpec? Type162 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AdvancedSpec? Type163 { get; set; } + public global::Ultravox.UltravoxV1UploadSpec? Type163 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1MessageRole? Type164 { get; set; } + public global::Ultravox.UltravoxV1AdvancedSpec? Type164 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1MessageMedium? Type165 { get; set; } + public global::Ultravox.UltravoxV1MessageRole? Type165 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1InCallTimespan? Type166 { get; set; } + public global::Ultravox.UltravoxV1MessageMedium? Type166 { get; set; } /// /// /// - public global::Ultravox.GoogleProtobufValue? Type167 { get; set; } + public global::Ultravox.UltravoxV1InCallTimespan? Type167 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type168 { get; set; } + public global::Ultravox.GoogleProtobufValue? Type168 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AdvancedSpecDocumentDetails? Type169 { get; set; } + public global::System.Collections.Generic.IList? Type169 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AutomaticParameter? Type170 { get; set; } + public global::Ultravox.UltravoxV1AdvancedSpecDocumentDetails? Type170 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AutomaticParameterLocation? Type171 { get; set; } + public global::Ultravox.UltravoxV1AutomaticParameter? Type171 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1AutomaticParameterKnownValue? Type172 { get; set; } + public global::Ultravox.UltravoxV1AutomaticParameterLocation? Type172 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1BaseClientToolDetails? Type173 { get; set; } + public global::Ultravox.UltravoxV1AutomaticParameterKnownValue? Type173 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1BaseDataConnectionToolDetails? Type174 { get; set; } + public global::Ultravox.UltravoxV1BaseClientToolDetails? Type174 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1BaseHttpToolDetails? Type175 { get; set; } + public global::Ultravox.UltravoxV1BaseDataConnectionToolDetails? Type175 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type176 { get; set; } + public global::Ultravox.UltravoxV1BaseHttpToolDetails? Type176 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1DynamicParameter? Type177 { get; set; } + public global::System.Collections.Generic.IList? Type177 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type178 { get; set; } + public global::Ultravox.UltravoxV1DynamicParameter? Type178 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StaticParameter? Type179 { get; set; } + public global::System.Collections.Generic.IList? Type179 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type180 { get; set; } + public global::Ultravox.UltravoxV1StaticParameter? Type180 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1ToolRequirements? Type181 { get; set; } + public global::System.Collections.Generic.IList? Type181 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1BaseToolDefinitionDefaultReaction? Type182 { get; set; } + public global::Ultravox.UltravoxV1ToolRequirements? Type182 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StaticToolResponse? Type183 { get; set; } + public global::Ultravox.UltravoxV1BaseToolDefinitionDefaultReaction? Type183 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumWebRtcMedium? Type184 { get; set; } + public global::Ultravox.UltravoxV1StaticToolResponse? Type184 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumTwilioMedium? Type185 { get; set; } + public global::Ultravox.UltravoxV1CallMediumWebRtcMedium? Type185 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumWebSocketMedium? Type186 { get; set; } + public global::Ultravox.UltravoxV1CallMediumTwilioMedium? Type186 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumTelnyxMedium? Type187 { get; set; } + public global::Ultravox.UltravoxV1CallMediumWebSocketMedium? Type187 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumPlivoMedium? Type188 { get; set; } + public global::Ultravox.UltravoxV1CallMediumTelnyxMedium? Type188 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumExotelMedium? Type189 { get; set; } + public global::Ultravox.UltravoxV1CallMediumPlivoMedium? Type189 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumSipMedium? Type190 { get; set; } + public global::Ultravox.UltravoxV1CallMediumExotelMedium? Type190 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumDtmfHandling? Type191 { get; set; } + public global::Ultravox.UltravoxV1CallMediumSipMedium? Type191 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumDtmfUserTextMessage? Type192 { get; set; } + public global::Ultravox.UltravoxV1CallMediumDtmfHandling? Type192 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallMediumDtmfUserTextMessageUrgency? Type193 { get; set; } + public global::Ultravox.UltravoxV1CallMediumDtmfUserTextMessage? Type193 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1PlivoMediumOutgoingRequestParams? Type194 { get; set; } + public global::Ultravox.UltravoxV1CallMediumDtmfUserTextMessageUrgency? Type194 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SipMediumSipIncoming? Type195 { get; set; } + public global::Ultravox.UltravoxV1PlivoMediumOutgoingRequestParams? Type195 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SipMediumSipOutgoing? Type196 { get; set; } + public global::Ultravox.UltravoxV1SipMediumSipIncoming? Type196 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1TelnyxMediumOutgoingRequestParams? Type197 { get; set; } + public global::Ultravox.UltravoxV1SipMediumSipOutgoing? Type197 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1TwilioMediumOutgoingRequestParams? Type198 { get; set; } + public global::Ultravox.UltravoxV1TelnyxMediumOutgoingRequestParams? Type198 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1EnabledDataMessages? Type199 { get; set; } + public global::Ultravox.UltravoxV1TwilioMediumOutgoingRequestParams? Type199 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1HttpCallToolDetails? Type200 { get; set; } + public global::Ultravox.UltravoxV1EnabledDataMessages? Type200 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1ClientCallToolDetails? Type201 { get; set; } + public global::Ultravox.UltravoxV1HttpCallToolDetails? Type201 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1DataConnectionCallToolDetails? Type202 { get; set; } + public global::Ultravox.UltravoxV1ClientCallToolDetails? Type202 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CallToolDefaultReaction? Type203 { get; set; } + public global::Ultravox.UltravoxV1DataConnectionCallToolDetails? Type203 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1Callback? Type204 { get; set; } + public global::Ultravox.UltravoxV1CallToolDefaultReaction? Type204 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CartesiaVoice? Type205 { get; set; } + public global::Ultravox.UltravoxV1Callback? Type205 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CartesiaVoiceCartesiaGenerationConfig? Type206 { get; set; } + public global::Ultravox.UltravoxV1CartesiaVoice? Type206 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1CorpusStatsStatus? Type207 { get; set; } + public global::Ultravox.UltravoxV1CartesiaVoiceCartesiaGenerationConfig? Type207 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1MimeTypeFilter? Type208 { get; set; } + public global::Ultravox.UltravoxV1CorpusStatsStatus? Type208 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1DataConnectionAudioConfig? Type209 { get; set; } + public global::Ultravox.UltravoxV1MimeTypeFilter? Type209 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1DataConnectionAudioConfigChannelMode? Type210 { get; set; } + public global::Ultravox.UltravoxV1DataConnectionAudioConfig? Type210 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1DynamicParameterLocation? Type211 { get; set; } + public global::Ultravox.UltravoxV1DataConnectionAudioConfigChannelMode? Type211 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1ElevenLabsVoice? Type212 { get; set; } + public global::Ultravox.UltravoxV1DynamicParameterLocation? Type212 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type213 { get; set; } + public global::Ultravox.UltravoxV1ElevenLabsVoice? Type213 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1ElevenLabsVoicePronunciationDictionaryReference? Type214 { get; set; } + public global::System.Collections.Generic.IList? Type214 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1LmntVoice? Type215 { get; set; } + public global::Ultravox.UltravoxV1ElevenLabsVoicePronunciationDictionaryReference? Type215 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1GoogleVoice? Type216 { get; set; } + public global::Ultravox.UltravoxV1LmntVoice? Type216 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1InworldVoice? Type217 { get; set; } + public global::Ultravox.UltravoxV1GoogleVoice? Type217 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1RespeecherVoice? Type218 { get; set; } + public global::Ultravox.UltravoxV1InworldVoice? Type218 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1GenericVoice? Type219 { get; set; } + public global::Ultravox.UltravoxV1RespeecherVoice? Type219 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1FallbackAgentGreeting? Type220 { get; set; } + public global::Ultravox.UltravoxV1GenericVoice? Type220 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1FirstSpeakerSettingsUserGreeting? Type221 { get; set; } + public global::Ultravox.UltravoxV1FallbackAgentGreeting? Type221 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1FirstSpeakerSettingsAgentGreeting? Type222 { get; set; } + public global::Ultravox.UltravoxV1FirstSpeakerSettingsUserGreeting? Type222 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1GenericVoiceJsonByteEncoding? Type223 { get; set; } + public global::Ultravox.UltravoxV1FirstSpeakerSettingsAgentGreeting? Type223 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1HeaderApiKeyRequirement? Type224 { get; set; } + public global::Ultravox.UltravoxV1GenericVoiceJsonByteEncoding? Type224 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1HttpAuthRequirement? Type225 { get; set; } + public global::Ultravox.UltravoxV1HeaderApiKeyRequirement? Type225 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1MimeTypeSet? Type226 { get; set; } + public global::Ultravox.UltravoxV1HttpAuthRequirement? Type226 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1QueryApiKeyRequirement? Type227 { get; set; } + public global::Ultravox.UltravoxV1MimeTypeSet? Type227 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1QueryCorpusRequest? Type228 { get; set; } + public global::Ultravox.UltravoxV1QueryApiKeyRequirement? Type228 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SecurityOptions? Type229 { get; set; } + public global::Ultravox.UltravoxV1QueryCorpusRequest? Type229 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type230 { get; set; } + public global::Ultravox.UltravoxV1SecurityOptions? Type230 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SecurityRequirements? Type231 { get; set; } + public global::System.Collections.Generic.IList? Type231 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SecurityRequirement? Type232 { get; set; } + public global::Ultravox.UltravoxV1SecurityRequirements? Type232 { get; set; } /// /// /// - public global::System.Collections.Generic.Dictionary? Type233 { get; set; } + public global::Ultravox.UltravoxV1SecurityRequirement? Type233 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1UltravoxCallTokenRequirement? Type234 { get; set; } + public global::System.Collections.Generic.Dictionary? Type234 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1SourceStatsStatus? Type235 { get; set; } + public global::Ultravox.UltravoxV1UltravoxCallTokenRequirement? Type235 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartAgentCallRequest? Type236 { get; set; } + public global::Ultravox.UltravoxV1SipFallbackHandlerResponse? Type236 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartAgentCallRequestInitialOutputMedium? Type237 { get; set; } + public global::Ultravox.UltravoxV1StartAgentCallRequest? Type237 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1ToolOverrides? Type238 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequest? Type238 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartAgentCallRequestRetentionPolicy? Type239 { get; set; } + public global::Ultravox.UltravoxV1SipRejection? Type239 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequest? Type240 { get; set; } + public global::Ultravox.UltravoxV1SourceStatsStatus? Type240 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker? Type241 { get; set; } + public global::Ultravox.UltravoxV1StartAgentCallRequestInitialOutputMedium? Type241 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? Type242 { get; set; } + public global::Ultravox.UltravoxV1ToolOverrides? Type242 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StartCallRequestRetentionPolicy? Type243 { get; set; } + public global::Ultravox.UltravoxV1StartAgentCallRequestRetentionPolicy? Type243 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1StaticParameterLocation? Type244 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequestFirstSpeaker? Type244 { get; set; } /// /// /// - public global::Ultravox.UltravoxV1TimedMessageEndBehavior? Type245 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequestInitialOutputMedium? Type245 { get; set; } /// /// /// - public global::Ultravox.ToolsCreateRequest? Type246 { get; set; } + public global::Ultravox.UltravoxV1StartCallRequestRetentionPolicy? Type246 { get; set; } /// /// /// - public byte[]? Type247 { get; set; } + public global::Ultravox.UltravoxV1StaticParameterLocation? Type247 { get; set; } /// /// /// - public global::Ultravox.VoicesCreateRequest? Type248 { get; set; } + public global::Ultravox.UltravoxV1TimedMessageEndBehavior? Type248 { get; set; } /// /// /// - public global::Ultravox.AccountsMeUsageConcurrencyRetrieveBucket? Type249 { get; set; } + public global::Ultravox.ToolsCreateRequest? Type249 { get; set; } /// /// /// - public global::Ultravox.AgentsScheduledBatchesScheduledCallsListStatus? Type250 { get; set; } + public byte[]? Type250 { get; set; } /// /// /// - public global::Ultravox.CallsEventsListMinimumSeverity? Type251 { get; set; } + public global::Ultravox.VoicesCreateRequest? Type251 { get; set; } /// /// /// - public global::Ultravox.CallsMessagesListMode? Type252 { get; set; } + public global::Ultravox.AccountsMeUsageConcurrencyRetrieveBucket? Type252 { get; set; } /// /// /// - public global::Ultravox.SchemaRetrieveFormat? Type253 { get; set; } + public global::Ultravox.AgentsScheduledBatchesScheduledCallsListStatus? Type253 { get; set; } /// /// /// - public global::Ultravox.SchemaRetrieveLang? Type254 { get; set; } + public global::Ultravox.CallsEventsListMinimumSeverity? Type254 { get; set; } /// /// /// - public global::Ultravox.ToolsListOwnership? Type255 { get; set; } + public global::Ultravox.CallsMessagesListMode? Type255 { get; set; } /// /// /// - public global::Ultravox.ToolsListSortOrder? Type256 { get; set; } + public global::Ultravox.SchemaRetrieveFormat? Type256 { get; set; } /// /// /// - public global::Ultravox.VoicesListBillingStyle? Type257 { get; set; } + public global::Ultravox.SchemaRetrieveLang? Type257 { get; set; } /// /// /// - public global::Ultravox.VoicesListOwnership? Type258 { get; set; } + public global::Ultravox.ToolsListOwnership? Type258 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type259 { get; set; } + public global::Ultravox.ToolsListSortOrder? Type259 { get; set; } /// /// /// - public global::Ultravox.VoicesListProviderItem? Type260 { get; set; } + public global::Ultravox.VoicesListBillingStyle? Type260 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type261 { get; set; } + public global::Ultravox.VoicesListOwnership? Type261 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type262 { get; set; } + public global::System.Collections.Generic.IList? Type262 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type263 { get; set; } + public global::Ultravox.VoicesListProviderItem? Type263 { get; set; } /// /// /// - public global::System.Collections.Generic.IList? Type264 { get; set; } + public global::System.Collections.Generic.IList? Type264 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type265 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type266 { get; set; } + /// + /// + /// + public global::System.Collections.Generic.IList? Type267 { get; set; } /// /// @@ -1113,91 +1125,91 @@ public sealed partial class JsonSerializerContextTypes /// /// /// - public global::System.Collections.Generic.List? ListType6 { get; set; } + public global::System.Collections.Generic.List? ListType6 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType7 { get; set; } + public global::System.Collections.Generic.List? ListType7 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType8 { get; set; } + public global::System.Collections.Generic.List? ListType8 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType9 { get; set; } + public global::System.Collections.Generic.List? ListType9 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType10 { get; set; } + public global::System.Collections.Generic.List? ListType10 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType11 { get; set; } + public global::System.Collections.Generic.List? ListType11 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType12 { get; set; } + public global::System.Collections.Generic.List? ListType12 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType13 { get; set; } + public global::System.Collections.Generic.List? ListType13 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType14 { get; set; } + public global::System.Collections.Generic.List? ListType14 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType15 { get; set; } + public global::System.Collections.Generic.List? ListType15 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType16 { get; set; } + public global::System.Collections.Generic.List? ListType16 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType17 { get; set; } + public global::System.Collections.Generic.List? ListType17 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType18 { get; set; } + public global::System.Collections.Generic.List? ListType18 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType19 { get; set; } + public global::System.Collections.Generic.List? ListType19 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType20 { get; set; } + public global::System.Collections.Generic.List? ListType20 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType21 { get; set; } + public global::System.Collections.Generic.List? ListType21 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType22 { get; set; } + public global::System.Collections.Generic.List? ListType22 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType23 { get; set; } + public global::System.Collections.Generic.List? ListType23 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType24 { get; set; } + public global::System.Collections.Generic.List? ListType24 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType25 { get; set; } + public global::System.Collections.Generic.List? ListType25 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType26 { get; set; } + public global::System.Collections.Generic.List? ListType26 { get; set; } /// /// /// - public global::System.Collections.Generic.List? ListType27 { get; set; } + public global::System.Collections.Generic.List? ListType27 { get; set; } /// /// /// diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.Json.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.Json.g.cs new file mode 100644 index 0000000..257d55d --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Ultravox +{ + public sealed partial class FallbackHandler + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ultravox.FallbackHandler? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ultravox.FallbackHandler), + jsonSerializerContext) as global::Ultravox.FallbackHandler; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ultravox.FallbackHandler? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ultravox.FallbackHandler), + jsonSerializerContext).ConfigureAwait(false)) as global::Ultravox.FallbackHandler; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.g.cs new file mode 100644 index 0000000..62ae15d --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.FallbackHandler.g.cs @@ -0,0 +1,58 @@ + +#nullable enable + +namespace Ultravox +{ + /// + /// + /// + public sealed partial class FallbackHandler + { + /// + /// The URL to which POSTs will be sent. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("url")] + [global::System.Text.Json.Serialization.JsonRequired] + public required string Url { get; set; } + + /// + /// Shared secrets used to sign requests. A strong secret is auto-generated if omitted. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("secrets")] + public global::System.Collections.Generic.IList? Secrets { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The URL to which POSTs will be sent. + /// + /// + /// Shared secrets used to sign requests. A strong secret is auto-generated if omitted. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public FallbackHandler( + string url, + global::System.Collections.Generic.IList? secrets) + { + this.Url = url ?? throw new global::System.ArgumentNullException(nameof(url)); + this.Secrets = secrets; + } + + /// + /// Initializes a new instance of the class. + /// + public FallbackHandler() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.PatchedSipConfig.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.PatchedSipConfig.g.cs index ca2974c..ed2d0fb 100644 --- a/src/libs/Ultravox/Generated/Ultravox.Models.PatchedSipConfig.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.Models.PatchedSipConfig.g.cs @@ -27,6 +27,12 @@ public sealed partial class PatchedSipConfig [global::System.Text.Json.Serialization.JsonPropertyName("allowedAgents")] public global::System.Collections.Generic.IList? AllowedAgents { get; set; } + /// + /// If set, this webhook is consulted for any incoming SIP call that does not match an agent allowance (including the allowAllAgents allowance if set). The endpoint must respond promptly with a 200 status and a JSON body with exactly one of startAgentCall, startCall, or reject. The first two use the request body for the associated call creation endpoints plus agentId in the former case, while reject may include `sipRejectCode` (default 603) to pass along to the caller. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("fallbackHandler")] + public global::Ultravox.FallbackHandler? FallbackHandler { get; set; } + /// /// The domain used for SIP invites for your account.
/// Included only in responses @@ -53,6 +59,9 @@ public sealed partial class PatchedSipConfig /// /// Calls must match a pattern for one of these agents (or the global agent pattern if allowAllAgents is true) to be accepted. /// + /// + /// If set, this webhook is consulted for any incoming SIP call that does not match an agent allowance (including the allowAllAgents allowance if set). The endpoint must respond promptly with a 200 status and a JSON body with exactly one of startAgentCall, startCall, or reject. The first two use the request body for the associated call creation endpoints plus agentId in the former case, while reject may include `sipRejectCode` (default 603) to pass along to the caller. + /// /// /// The domain used for SIP invites for your account.
/// Included only in responses @@ -64,11 +73,13 @@ public PatchedSipConfig( global::System.Collections.Generic.IList? allowedCidrRanges, bool? allowAllAgents, global::System.Collections.Generic.IList? allowedAgents, + global::Ultravox.FallbackHandler? fallbackHandler, string? domain) { this.AllowedCidrRanges = allowedCidrRanges; this.AllowAllAgents = allowAllAgents; this.AllowedAgents = allowedAgents; + this.FallbackHandler = fallbackHandler; this.Domain = domain; } diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.SipConfig.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.SipConfig.g.cs index 909da38..851e49e 100644 --- a/src/libs/Ultravox/Generated/Ultravox.Models.SipConfig.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.Models.SipConfig.g.cs @@ -28,6 +28,12 @@ public sealed partial class SipConfig [global::System.Text.Json.Serialization.JsonRequired] public required global::System.Collections.Generic.IList AllowedAgents { get; set; } + /// + /// If set, this webhook is consulted for any incoming SIP call that does not match an agent allowance (including the allowAllAgents allowance if set). The endpoint must respond promptly with a 200 status and a JSON body with exactly one of startAgentCall, startCall, or reject. The first two use the request body for the associated call creation endpoints plus agentId in the former case, while reject may include `sipRejectCode` (default 603) to pass along to the caller. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("fallbackHandler")] + public global::Ultravox.FallbackHandler? FallbackHandler { get; set; } + /// /// The domain used for SIP invites for your account.
/// Included only in responses @@ -55,6 +61,9 @@ public sealed partial class SipConfig /// If true, adds an implicit allowance for requests matching agent_<agent_id>@<anydomain> for any of your agents.
/// Default Value: false /// + /// + /// If set, this webhook is consulted for any incoming SIP call that does not match an agent allowance (including the allowAllAgents allowance if set). The endpoint must respond promptly with a 200 status and a JSON body with exactly one of startAgentCall, startCall, or reject. The first two use the request body for the associated call creation endpoints plus agentId in the former case, while reject may include `sipRejectCode` (default 603) to pass along to the caller. + /// /// /// The domain used for SIP invites for your account.
/// Included only in responses @@ -66,11 +75,13 @@ public SipConfig( global::System.Collections.Generic.IList allowedAgents, global::System.Collections.Generic.IList? allowedCidrRanges, bool? allowAllAgents, + global::Ultravox.FallbackHandler? fallbackHandler, string domain = default!) { this.AllowedCidrRanges = allowedCidrRanges; this.AllowAllAgents = allowAllAgents; this.AllowedAgents = allowedAgents ?? throw new global::System.ArgumentNullException(nameof(allowedAgents)); + this.FallbackHandler = fallbackHandler; this.Domain = domain; } diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.Json.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.Json.g.cs new file mode 100644 index 0000000..7c59f3f --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Ultravox +{ + public sealed partial class UltravoxV1SipFallbackHandlerResponse + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ultravox.UltravoxV1SipFallbackHandlerResponse? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ultravox.UltravoxV1SipFallbackHandlerResponse), + jsonSerializerContext) as global::Ultravox.UltravoxV1SipFallbackHandlerResponse; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ultravox.UltravoxV1SipFallbackHandlerResponse? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ultravox.UltravoxV1SipFallbackHandlerResponse), + jsonSerializerContext).ConfigureAwait(false)) as global::Ultravox.UltravoxV1SipFallbackHandlerResponse; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.g.cs new file mode 100644 index 0000000..9e88171 --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipFallbackHandlerResponse.g.cs @@ -0,0 +1,71 @@ + +#nullable enable + +namespace Ultravox +{ + /// + /// The response a customer-hosted SIP fallback handler returns to Ultravox when
+ /// Ultravox receives an incoming SIP INVITE that does not match any configured
+ /// agent allowance. The handler decides how to dispatch the call by returning
+ /// one of the variants below. + ///
+ public sealed partial class UltravoxV1SipFallbackHandlerResponse + { + /// + /// Create the call using an agent. The agentId subfield is required in this case. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("startAgentCall")] + public global::Ultravox.UltravoxV1StartAgentCallRequest? StartAgentCall { get; set; } + + /// + /// Create the call with the supplied inline configuration (no agent). + /// + [global::System.Text.Json.Serialization.JsonPropertyName("startCall")] + public global::Ultravox.UltravoxV1StartCallRequest? StartCall { get; set; } + + /// + /// Reject the call with an appropriate error. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("reject")] + public global::Ultravox.UltravoxV1SipRejection? Reject { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// Create the call using an agent. The agentId subfield is required in this case. + /// + /// + /// Create the call with the supplied inline configuration (no agent). + /// + /// + /// Reject the call with an appropriate error. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UltravoxV1SipFallbackHandlerResponse( + global::Ultravox.UltravoxV1StartAgentCallRequest? startAgentCall, + global::Ultravox.UltravoxV1StartCallRequest? startCall, + global::Ultravox.UltravoxV1SipRejection? reject) + { + this.StartAgentCall = startAgentCall; + this.StartCall = startCall; + this.Reject = reject; + } + + /// + /// Initializes a new instance of the class. + /// + public UltravoxV1SipFallbackHandlerResponse() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.Json.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.Json.g.cs new file mode 100644 index 0000000..d86143c --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.Json.g.cs @@ -0,0 +1,92 @@ +#nullable enable + +namespace Ultravox +{ + public sealed partial class UltravoxV1SipRejection + { + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerContext. + /// + public string ToJson( + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + this.GetType(), + jsonSerializerContext); + } + + /// + /// Serializes the current instance to a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public string ToJson( + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Serialize( + this, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerContext. + /// + public static global::Ultravox.UltravoxV1SipRejection? FromJson( + string json, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + typeof(global::Ultravox.UltravoxV1SipRejection), + jsonSerializerContext) as global::Ultravox.UltravoxV1SipRejection; + } + + /// + /// Deserializes a JSON string using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::Ultravox.UltravoxV1SipRejection? FromJson( + string json, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.Deserialize( + json, + jsonSerializerOptions); + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerContext. + /// + public static async global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.Serialization.JsonSerializerContext jsonSerializerContext) + { + return (await global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + typeof(global::Ultravox.UltravoxV1SipRejection), + jsonSerializerContext).ConfigureAwait(false)) as global::Ultravox.UltravoxV1SipRejection; + } + + /// + /// Deserializes a JSON stream using the provided JsonSerializerOptions. + /// +#if NET8_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("JSON serialization and deserialization might require types that cannot be statically analyzed. Use the overload that takes a JsonTypeInfo or JsonSerializerContext, or make sure all of the required types are preserved.")] + [global::System.Diagnostics.CodeAnalysis.RequiresDynamicCode("JSON serialization and deserialization might require types that cannot be statically analyzed and might need runtime code generation. Use System.Text.Json source generation for native AOT applications.")] +#endif + public static global::System.Threading.Tasks.ValueTask FromJsonStreamAsync( + global::System.IO.Stream jsonStream, + global::System.Text.Json.JsonSerializerOptions? jsonSerializerOptions = null) + { + return global::System.Text.Json.JsonSerializer.DeserializeAsync( + jsonStream, + jsonSerializerOptions); + } + } +} diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.g.cs new file mode 100644 index 0000000..f9f3e20 --- /dev/null +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1SipRejection.g.cs @@ -0,0 +1,59 @@ + +#nullable enable + +namespace Ultravox +{ + /// + /// Details for rejecting a SIP call. + /// + public sealed partial class UltravoxV1SipRejection + { + /// + /// The SIP response code to return to the caller. Must be a valid
+ /// SIP rejection code (between 400 and 699 inclusive). Defaults to 603 (Decline). + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("sipRejectCode")] + public int? SipRejectCode { get; set; } + + /// + /// An optional brief explanation of the rejection for logging. + /// + [global::System.Text.Json.Serialization.JsonPropertyName("message")] + public string? Message { get; set; } + + /// + /// Additional properties that are not explicitly defined in the schema + /// + [global::System.Text.Json.Serialization.JsonExtensionData] + public global::System.Collections.Generic.IDictionary AdditionalProperties { get; set; } = new global::System.Collections.Generic.Dictionary(); + + /// + /// Initializes a new instance of the class. + /// + /// + /// The SIP response code to return to the caller. Must be a valid
+ /// SIP rejection code (between 400 and 699 inclusive). Defaults to 603 (Decline). + /// + /// + /// An optional brief explanation of the rejection for logging. + /// +#if NET7_0_OR_GREATER + [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] +#endif + public UltravoxV1SipRejection( + int? sipRejectCode, + string? message) + { + this.SipRejectCode = sipRejectCode; + this.Message = message; + } + + /// + /// Initializes a new instance of the class. + /// + public UltravoxV1SipRejection() + { + } + + } +} \ No newline at end of file diff --git a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartAgentCallRequest.g.cs b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartAgentCallRequest.g.cs index ad7998b..c9f17e8 100644 --- a/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartAgentCallRequest.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.Models.UltravoxV1StartAgentCallRequest.g.cs @@ -126,6 +126,14 @@ public sealed partial class UltravoxV1StartAgentCallRequest [global::System.Text.Json.Serialization.JsonPropertyName("sharedSecrets")] public global::System.Collections.Generic.IList? SharedSecrets { get; set; } + /// + /// The ID of the agent to use for this call. Ignored when an agent is already
+ /// identified by request context (e.g. from the request URL); required when there
+ /// is no other agent context, such as in a SipFallbackHandlerResponse. + ///
+ [global::System.Text.Json.Serialization.JsonPropertyName("agentId")] + public string? AgentId { get; set; } + /// /// Additional properties that are not explicitly defined in the schema /// @@ -200,6 +208,11 @@ public sealed partial class UltravoxV1StartAgentCallRequest /// one signature per secret is produced (comma-separated in X-Ultravox-Signature).
/// Write-only: this field is never included in API responses. /// + /// + /// The ID of the agent to use for this call. Ignored when an agent is already
+ /// identified by request context (e.g. from the request URL); required when there
+ /// is no other agent context, such as in a SipFallbackHandlerResponse. + /// #if NET7_0_OR_GREATER [global::System.Diagnostics.CodeAnalysis.SetsRequiredMembers] #endif @@ -220,7 +233,8 @@ public UltravoxV1StartAgentCallRequest( global::Ultravox.UltravoxV1ExternalVoice? voiceOverrides, global::Ultravox.UltravoxV1ToolOverrides? toolOverrides, global::Ultravox.UltravoxV1StartAgentCallRequestRetentionPolicy? retentionPolicy, - global::System.Collections.Generic.IList? sharedSecrets) + global::System.Collections.Generic.IList? sharedSecrets, + string? agentId) { this.TemplateContext = templateContext; this.InitialMessages = initialMessages; @@ -239,6 +253,7 @@ public UltravoxV1StartAgentCallRequest( this.ToolOverrides = toolOverrides; this.RetentionPolicy = retentionPolicy; this.SharedSecrets = sharedSecrets; + this.AgentId = agentId; } /// diff --git a/src/libs/Ultravox/Generated/Ultravox.SipClient.SipPartialUpdate.g.cs b/src/libs/Ultravox/Generated/Ultravox.SipClient.SipPartialUpdate.g.cs index a85b370..6e01ee0 100644 --- a/src/libs/Ultravox/Generated/Ultravox.SipClient.SipPartialUpdate.g.cs +++ b/src/libs/Ultravox/Generated/Ultravox.SipClient.SipPartialUpdate.g.cs @@ -444,6 +444,9 @@ partial void ProcessSipPartialUpdateResponseContent( /// /// Calls must match a pattern for one of these agents (or the global agent pattern if allowAllAgents is true) to be accepted. /// + /// + /// If set, this webhook is consulted for any incoming SIP call that does not match an agent allowance (including the allowAllAgents allowance if set). The endpoint must respond promptly with a 200 status and a JSON body with exactly one of startAgentCall, startCall, or reject. The first two use the request body for the associated call creation endpoints plus agentId in the former case, while reject may include `sipRejectCode` (default 603) to pass along to the caller. + /// /// Per-request overrides such as headers, query parameters, timeout, retries, and response buffering. /// The token to cancel the operation with /// @@ -451,6 +454,7 @@ partial void ProcessSipPartialUpdateResponseContent( global::System.Collections.Generic.IList? allowedCidrRanges = default, bool? allowAllAgents = default, global::System.Collections.Generic.IList? allowedAgents = default, + global::Ultravox.FallbackHandler? fallbackHandler = default, global::Ultravox.AutoSDKRequestOptions? requestOptions = default, global::System.Threading.CancellationToken cancellationToken = default) { @@ -459,6 +463,7 @@ partial void ProcessSipPartialUpdateResponseContent( AllowedCidrRanges = allowedCidrRanges, AllowAllAgents = allowAllAgents, AllowedAgents = allowedAgents, + FallbackHandler = fallbackHandler, }; return await SipPartialUpdateAsync( diff --git a/src/libs/Ultravox/openapi.yaml b/src/libs/Ultravox/openapi.yaml index 78162ee..c33285b 100644 --- a/src/libs/Ultravox/openapi.yaml +++ b/src/libs/Ultravox/openapi.yaml @@ -4374,6 +4374,24 @@ components: * `call.joined` - Fired when a call is joined * `call.ended` - Fired when a call ends * `call.billed` - Fired when a call is billed + FallbackHandler: + type: object + properties: + url: + type: string + format: uri + description: The URL to which POSTs will be sent. + secrets: + type: array + items: + type: string + maxLength: 120 + description: Shared secrets used to sign requests. A strong secret is auto-generated + if omitted. + maxItems: 10 + minItems: 1 + required: + - url FirstSpeakerEnum: enum: - FIRST_SPEAKER_AGENT @@ -5177,6 +5195,17 @@ components: description: Calls must match a pattern for one of these agents (or the global agent pattern if allowAllAgents is true) to be accepted. maxItems: 20 + fallbackHandler: + allOf: + - $ref: '#/components/schemas/FallbackHandler' + nullable: true + description: If set, this webhook is consulted for any incoming SIP call + that does not match an agent allowance (including the allowAllAgents allowance + if set). The endpoint must respond promptly with a 200 status and a JSON + body with exactly one of startAgentCall, startCall, or reject. The first + two use the request body for the associated call creation endpoints plus + agentId in the former case, while reject may include `sipRejectCode` (default + 603) to pass along to the caller. domain: type: string readOnly: true @@ -5605,6 +5634,17 @@ components: description: Calls must match a pattern for one of these agents (or the global agent pattern if allowAllAgents is true) to be accepted. maxItems: 20 + fallbackHandler: + allOf: + - $ref: '#/components/schemas/FallbackHandler' + nullable: true + description: If set, this webhook is consulted for any incoming SIP call + that does not match an agent allowance (including the allowAllAgents allowance + if set). The endpoint must respond promptly with a 200 status and a JSON + body with exactly one of startAgentCall, startCall, or reject. The first + two use the request body for the associated call creation endpoints plus + agentId in the former case, while reject may include `sipRejectCode` (default + 603) to pass along to the caller. domain: type: string readOnly: true @@ -7631,6 +7671,28 @@ components: description: |- A tool selected for a particular call. Exactly one of tool_id, tool_name, or temporary_tool should be set. + ultravox.v1.SipFallbackHandlerResponse: + type: object + properties: + startAgentCall: + allOf: + - $ref: '#/components/schemas/ultravox.v1.StartAgentCallRequest' + description: Create the call using an agent. The agentId subfield is required + in this case. + startCall: + allOf: + - $ref: '#/components/schemas/ultravox.v1.StartCallRequest' + description: Create the call with the supplied inline configuration (no + agent). + reject: + allOf: + - $ref: '#/components/schemas/ultravox.v1.SipRejection' + description: Reject the call with an appropriate error. + description: |- + The response a customer-hosted SIP fallback handler returns to Ultravox when + Ultravox receives an incoming SIP INVITE that does not match any configured + agent allowance. The handler decides how to dispatch the call by returning + one of the variants below. ultravox.v1.SipMedium_SipIncoming: type: object properties: {} @@ -7652,6 +7714,19 @@ components: type: string description: The password for the specified username. description: Details for an outgoing SIP call. + ultravox.v1.SipRejection: + type: object + properties: + sipRejectCode: + type: integer + description: |- + The SIP response code to return to the caller. Must be a valid + SIP rejection code (between 400 and 699 inclusive). Defaults to 603 (Decline). + format: uint32 + message: + type: string + description: An optional brief explanation of the rejection for logging. + description: Details for rejecting a SIP call. ultravox.v1.SourceStats: type: object properties: @@ -7777,6 +7852,12 @@ components: X-Ultravox-Signature headers will be included. If multiple secrets are provided, one signature per secret is produced (comma-separated in X-Ultravox-Signature). Write-only: this field is never included in API responses. + agentId: + type: string + description: |- + The ID of the agent to use for this call. Ignored when an agent is already + identified by request context (e.g. from the request URL); required when there + is no other agent context, such as in a SipFallbackHandlerResponse. description: A request to start a call with an existing agent. ultravox.v1.StartCallRequest: type: object