diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.psm1 b/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.psm1 index bdeec1a64e..3c93031196 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.psm1 +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.psm1 @@ -52,10 +52,44 @@ function Get-TargetResource [System.String] $TimeoutAction, + [Parameter()] + [ValidateSet("Queue","Forward","Disconnect","Forward","Voicemail","SharedVoicemail")] + [System.String] + $NoAgentAction, + + + [Parameter()] + [System.Boolean] + $EnableOverflowSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableTimeoutSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableNoAgentSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableNoAgentSharedVoicemailTranscription, + [Parameter()] [System.String] $TimeoutActionTarget, + [Parameter()] + [System.String] + $NoAgentActionTarget, + + [Parameter()] + [System.String] + $NoAgentSharedVoicemailTextToSpeechPrompt, + + [Parameter()] + [System.String] + $NoAgentSharedVoicemailAudioFilePrompt, + [Parameter()] [ValidateRange(0,2700)] [System.UInt16] @@ -86,6 +120,14 @@ function Get-TargetResource [System.String[]] $OboResourceAccountIds, + [Parameter()] + [System.String] + $WelcomeMusicFileName, + + [Parameter()] + [System.String] + $WelcomeTextToSpeechPrompt, + [Parameter()] [System.String] $OverflowDisconnectTextToSpeechPrompt, @@ -273,61 +315,83 @@ function Get-TargetResource else { return @{ - Name = $queue.Name - AgentAlertTime = $queue.AgentAlertTime - AllowOptOut = $queue.AllowOptOut - DistributionLists = [String[]]$queue.DistributionLists - UseDefaultMusicOnHold = $queue.UseDefaultMusicOnHold - WelcomeMusicAudioFileId = $queue.WelcomeMusicAudioFileId - MusicOnHoldAudioFileId = $queue.MusicOnHoldAudioFileId - OverflowAction = $queue.OverflowAction - OverflowActionTarget = $queue.OverflowActionTarget.Id - OverflowThreshold = $queue.OverflowThreshold - TimeoutAction = $queue.TimeoutAction - TimeoutActionTarget = $queue.TimeoutActionTarget.Id - TimeoutThreshold = $queue.TimeoutThreshold - RoutingMethod = $queue.RoutingMethod - PresenceBasedRouting = $queue.PresenceBasedRouting - ConferenceMode = $queue.ConferenceMode - Users = [String[]]$queue.Users - LanguageId = $queue.LanguageId - OboResourceAccountIds = [String[]]$queue.OboResourceAccountIds - OverflowDisconnectTextToSpeechPrompt = $queue.OverflowDisconnectTextToSpeechPrompt - OverflowDisconnectAudioFilePrompt = $queue.OverflowDisconnectAudioFilePrompt - OverflowRedirectPersonTextToSpeechPrompt = $queue.OverflowRedirectPersonTextToSpeechPrompt - OverflowRedirectPersonAudioFilePrompt = $queue.OverflowRedirectPersonAudioFilePrompt - OverflowRedirectVoiceAppTextToSpeechPrompt = $queue.OverflowRedirectVoiceAppTextToSpeechPrompt - OverflowRedirectVoiceAppAudioFilePrompt = $queue.OverflowRedirectVoiceAppAudioFilePrompt - OverflowRedirectPhoneNumberTextToSpeechPrompt = $queue.OverflowRedirectPhoneNumberTextToSpeechPrompt - OverflowRedirectPhoneNumberAudioFilePrompt = $queue.OverflowRedirectPhoneNumberAudioFilePrompt - OverflowRedirectVoicemailTextToSpeechPrompt = $queue.OverflowRedirectVoicemailTextToSpeechPrompt - OverflowRedirectVoicemailAudioFilePrompt = $queue.OverflowRedirectVoicemailAudioFilePrompt - OverflowSharedVoicemailTextToSpeechPrompt = $queue.OverflowSharedVoicemailTextToSpeechPrompt - OverflowSharedVoicemailAudioFilePrompt = $queue.OverflowSharedVoicemailAudioFilePrompt - EnableOverflowSharedVoicemailTranscription = $queue.EnableOverflowSharedVoicemailTranscription - TimeoutDisconnectTextToSpeechPrompt = $queue.TimeoutDisconnectTextToSpeechPrompt - TimeoutDisconnectAudioFilePrompt = $queue.TimeoutDisconnectAudioFilePrompt - TimeoutRedirectPersonTextToSpeechPrompt = $queue.TimeoutRedirectPersonTextToSpeechPrompt - TimeoutRedirectPersonAudioFilePrompt = $queue.TimeoutRedirectPersonAudioFilePrompt - TimeoutRedirectVoiceAppTextToSpeechPrompt = $queue.TimeoutRedirectVoiceAppTextToSpeechPrompt - TimeoutRedirectVoiceAppAudioFilePrompt = $queue.TimeoutRedirectVoiceAppAudioFilePrompt - TimeoutRedirectPhoneNumberTextToSpeechPrompt = $queue.TimeoutRedirectPhoneNumberTextToSpeechPrompt - TimeoutRedirectPhoneNumberAudioFilePrompt = $queue.TimeoutRedirectPhoneNumberAudioFilePrompt - TimeoutRedirectVoicemailTextToSpeechPrompt = $queue.TimeoutRedirectVoicemailTextToSpeechPrompt - TimeoutRedirectVoicemailAudioFilePrompt = $queue.TimeoutRedirectVoicemailAudioFilePrompt - TimeoutSharedVoicemailTextToSpeechPrompt = $queue.TimeoutSharedVoicemailTextToSpeechPrompt - TimeoutSharedVoicemailAudioFilePrompt = $queue.TimeoutSharedVoicemailAudioFilePrompt - EnableTimeoutSharedVoicemailTranscription = $queue.EnableTimeoutSharedVoicemailTranscription - ChannelId = $queue.ChannelId - ChannelUserObjectId = $queue.ChannelUserObjectId - AuthorizedUsers = [String[]]$queue.AuthorizedUsers - Ensure = 'Present' - Credential = $Credential - ApplicationId = $ApplicationId - TenantId = $TenantId - CertificateThumbprint = $CertificateThumbprint - ManagedIdentity = $ManagedIdentity.IsPresent - AccessTokens = $AccessTokens + Name = $queue.Name + AgentAlertTime = $queue.AgentAlertTime + AllowOptOut = $queue.AllowOptOut + DistributionLists = [String[]]$queue.DistributionLists + UseDefaultMusicOnHold = $queue.UseDefaultMusicOnHold + WelcomeMusicAudioFileId = $queue.WelcomeMusicAudioFileId + MusicOnHoldAudioFileId = $queue.MusicOnHoldAudioFileId + MusicOnHoldFileName = $queue.MusicOnHoldFileName + NoAgentAction = $queue.NoAgentAction + NoAgentActionTarget = $queue.NoAgentActionTarget + NoAgentSharedVoicemailTextToSpeechPrompt = $queue.NoAgentSharedVoicemailTextToSpeechPrompt + NoAgentSharedVoicemailAudioFilePrompt = $queue.NoAgentSharedVoicemailAudioFilePrompt + NoAgentSharedVoicemailAudioFilePromptFileName = $queue.NoAgentSharedVoicemailAudioFilePromptFileName + EnableNoAgentSharedVoicemailTranscription = $queue.EnableNoAgentSharedVoicemailTranscription + EnableNoAgentSharedVoicemailSystemPromptSuppression = $queue.EnableNoAgentSharedVoicemailSystemPromptSuppression + OverflowAction = $queue.OverflowAction + OverflowActionTarget = $queue.OverflowActionTarget.Id + OverflowThreshold = $queue.OverflowThreshold + TimeoutAction = $queue.TimeoutAction + TimeoutActionTarget = $queue.TimeoutActionTarget.Id + TimeoutThreshold = $queue.TimeoutThreshold + RoutingMethod = $queue.RoutingMethod + PresenceBasedRouting = $queue.PresenceBasedRouting + ConferenceMode = $queue.ConferenceMode + Users = [String[]]$queue.Users + LanguageId = $queue.LanguageId + WelcomeMusicFileName = $queue.WelcomeMusicFileName + WelcomeTextToSpeechPrompt = $queue.WelcomeTextToSpeechPrompt + OboResourceAccountIds = [String[]]$queue.OboResourceAccountIds + OverflowDisconnectTextToSpeechPrompt = $queue.OverflowDisconnectTextToSpeechPrompt + OverflowDisconnectAudioFilePrompt = $queue.OverflowDisconnectAudioFilePrompt + OverflowRedirectPersonAudioFilePromptFileName = $queue.OverflowRedirectPersonAudioFilePromptFileName + OverflowRedirectPersonTextToSpeechPrompt = $queue.OverflowRedirectPersonTextToSpeechPrompt + OverflowRedirectPersonAudioFilePrompt = $queue.OverflowRedirectPersonAudioFilePrompt + OverflowRedirectVoicemailAudioFilePromptFileName = $queue.OverflowRedirectVoicemailAudioFilePromptFileName + OverflowRedirectVoiceAppTextToSpeechPrompt = $queue.OverflowRedirectVoiceAppTextToSpeechPrompt + OverflowRedirectVoiceAppAudioFilePrompt = $queue.OverflowRedirectVoiceAppAudioFilePrompt + OverflowRedirectPhoneNumberTextToSpeechPrompt = $queue.OverflowRedirectPhoneNumberTextToSpeechPrompt + OverflowRedirectPhoneNumberAudioFilePrompt = $queue.OverflowRedirectPhoneNumberAudioFilePrompt + OverflowRedirectPhoneNumberAudioFilePromptFileName = $queue.OverflowRedirectPhoneNumberAudioFilePromptFileName + OverflowRedirectVoicemailTextToSpeechPrompt = $queue.OverflowRedirectVoicemailTextToSpeechPrompt + OverflowRedirectVoicemailAudioFilePrompt = $queue.OverflowRedirectVoicemailAudioFilePrompt + OverflowRedirectVoiceAppAudioFilePromptFileName = $queue.OverflowRedirectVoiceAppAudioFilePromptFileName + OverflowSharedVoicemailTextToSpeechPrompt = $queue.OverflowSharedVoicemailTextToSpeechPrompt + OverflowSharedVoicemailAudioFilePrompt = $queue.OverflowSharedVoicemailAudioFilePrompt + EnableOverflowSharedVoicemailTranscription = $queue.EnableOverflowSharedVoicemailTranscription + EnableOverflowSharedVoicemailSystemPromptSuppression = $queue.EnableOverflowSharedVoicemailSystemPromptSuppression + TimeoutDisconnectTextToSpeechPrompt = $queue.TimeoutDisconnectTextToSpeechPrompt + TimeoutDisconnectAudioFilePrompt = $queue.TimeoutDisconnectAudioFilePrompt + TimeoutDisconnectAudioFilePromptFileName = $queue.TimeoutDisconnectAudioFilePromptFileName + TimeoutRedirectPersonTextToSpeechPrompt = $queue.TimeoutRedirectPersonTextToSpeechPrompt + TimeoutRedirectPersonAudioFilePrompt = $queue.TimeoutRedirectPersonAudioFilePrompt + TimeoutRedirectPersonAudioFilePromptFileName = $queue.TimeoutRedirectPersonAudioFilePromptFileName + TimeoutRedirectVoiceAppTextToSpeechPrompt = $queue.TimeoutRedirectVoiceAppTextToSpeechPrompt + TimeoutRedirectVoiceAppAudioFilePrompt = $queue.TimeoutRedirectVoiceAppAudioFilePrompt + TimeoutRedirectVoiceAppAudioFilePromptFileName = $queue.TimeoutRedirectVoiceAppAudioFilePromptFileName + TimeoutRedirectPhoneNumberTextToSpeechPrompt = $queue.TimeoutRedirectPhoneNumberTextToSpeechPrompt + TimeoutRedirectPhoneNumberAudioFilePrompt = $queue.TimeoutRedirectPhoneNumberAudioFilePrompt + TimeoutRedirectPhoneNumberAudioFilePromptFileName = $queue.TimeoutRedirectPhoneNumberAudioFilePromptFileName + TimeoutRedirectVoicemailTextToSpeechPrompt = $queue.TimeoutRedirectVoicemailTextToSpeechPrompt + TimeoutRedirectVoicemailAudioFilePrompt = $queue.TimeoutRedirectVoicemailAudioFilePrompt + TimeoutRedirectVoicemailAudioFilePromptFileName = $queue.TimeoutRedirectVoicemailAudioFilePromptFileName + TimeoutSharedVoicemailTextToSpeechPrompt = $queue.TimeoutSharedVoicemailTextToSpeechPrompt + TimeoutSharedVoicemailAudioFilePrompt = $queue.TimeoutSharedVoicemailAudioFilePrompt + TimeoutSharedVoicemailAudioFilePromptFileName = $queue.TimeoutSharedVoicemailAudioFilePromptFileName + EnableTimeoutSharedVoicemailTranscription = $queue.EnableTimeoutSharedVoicemailTranscription + EnableTimeoutSharedVoicemailSystemPromptSuppression = $queue.EnableTimeoutSharedVoicemailSystemPromptSuppression + ChannelId = $queue.ChannelId + ChannelUserObjectId = $queue.ChannelUserObjectId + AuthorizedUsers = [String[]]$queue.AuthorizedUsers + Ensure = 'Present' + Credential = $Credential + ApplicationId = $ApplicationId + TenantId = $TenantId + CertificateThumbprint = $CertificateThumbprint + ManagedIdentity = $ManagedIdentity.IsPresent + AccessTokens = $AccessTokens } } } @@ -352,6 +416,40 @@ function Set-TargetResource [System.String] $Name, + [Parameter()] + [ValidateSet("Queue","Forward","Disconnect","Forward","Voicemail","SharedVoicemail")] + [System.String] + $NoAgentAction, + + + [Parameter()] + [System.Boolean] + $EnableOverflowSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableTimeoutSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableNoAgentSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableNoAgentSharedVoicemailTranscription, + + [Parameter()] + [System.String] + $NoAgentActionTarget, + + [Parameter()] + [System.String] + $NoAgentSharedVoicemailTextToSpeechPrompt, + + [Parameter()] + [System.String] + $NoAgentSharedVoicemailAudioFilePrompt, + [Parameter()] [ValidateRange(15,180)] [System.UInt16] @@ -430,6 +528,14 @@ function Set-TargetResource [System.String[]] $OboResourceAccountIds, + [Parameter()] + [System.String[]] + $WelcomeMusicFileName, + + [Parameter()] + [System.String[]] + $WelcomeTextToSpeechPrompt, + [Parameter()] [System.String] $OverflowDisconnectTextToSpeechPrompt, @@ -647,6 +753,83 @@ function Test-TargetResource [System.String[]] $DistributionLists, + [Parameter()] + [ValidateSet("Queue","Forward","Disconnect","Forward","Voicemail","SharedVoicemail")] + [System.String] + $NoAgentAction, + + [Parameter()] + [System.Boolean] + $EnableOverflowSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableTimeoutSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableNoAgentSharedVoicemailSystemPromptSuppression, + + [Parameter()] + [System.Boolean] + $EnableNoAgentSharedVoicemailTranscription, + + [Parameter()] + [System.String] + $NoAgentActionTarget, + + [Parameter()] + [System.String] + $NoAgentSharedVoicemailTextToSpeechPrompt, + + [Parameter()] + [System.String] + $NoAgentSharedVoicemailAudioFilePrompt, + + [Parameter()] + [System.String] + $OverflowRedirectPersonAudioFilePromptFileName, + + [Parameter()] + [System.String] + $OverflowRedirectVoiceAppAudioFilePromptFileName, + + [Parameter()] + [System.String] + $OverflowRedirectPhoneNumberAudioFilePromptFileName, + + [Parameter()] + [System.String] + $OverflowRedirectVoicemailAudioFilePromptFileName, + + [Parameter()] + [System.String] + $TimeoutSharedVoicemailAudioFilePromptFileName, + + [Parameter()] + [System.String] + $TimeoutDisconnectAudioFilePromptFileName, + + [Parameter()] + [System.String] + $TimeoutRedirectPersonAudioFilePromptFileName, + + [Parameter()] + [System.String] + $TimeoutRedirectVoiceAppAudioFilePromptFileName, + + [Parameter()] + [System.String] + $TimeoutRedirectVoicemailAudioFilePromptFileName, + + [Parameter()] + [System.String] + $NoAgentSharedVoiceNoAgentSharedVoicemailAudioFilePromptFileNamemailAudioFilePrompt, + + [Parameter()] + [System.String] + $MusicOnHoldFileName, + [Parameter()] [System.Boolean] $UseDefaultMusicOnHold, @@ -712,6 +895,14 @@ function Test-TargetResource [System.String[]] $OboResourceAccountIds, + [Parameter()] + [System.String[]] + $WelcomeMusicFileName, + + [Parameter()] + [System.String[]] + $WelcomeTextToSpeechPrompt, + [Parameter()] [System.String] $OverflowDisconnectTextToSpeechPrompt, diff --git a/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.schema.mof b/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.schema.mof index 8d1a25fdfb..02d9198ca5 100644 --- a/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.schema.mof +++ b/Modules/Microsoft365DSC/DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.schema.mof @@ -3,11 +3,21 @@ class MSFT_TeamsCallQueue : OMI_BaseResource { [Key, Description("The Name parameter specifies a unique name for the Call Queue.")] String Name; [Write, Description("The Name parameter specifies a unique name for the Call Queue.")] UInt16 AgentAlertTime; + [Write, Description("The AllowOptOut parameter indicates whether or not agents can opt in or opt out from taking calls from a Call Queue.")] Boolean AllowOptOut; [Write, Description("The DistributionLists parameter lets you add all the members of the distribution lists to the Call Queue. This is a list of distribution list GUIDs. A service wide configurable maximum number of DLs per Call Queue are allowed. Only the first N (service wide configurable) agents from all distribution lists combined are considered for accepting the call. Nested DLs are supported. O365 Groups can also be used to add members to the Call Queue.")] String DistributionLists[]; [Write, Description("The UseDefaultMusicOnHold parameter indicates that this Call Queue uses the default music on hold. This parameter cannot be specified together with MusicOnHoldAudioFileId.")] Boolean UseDefaultMusicOnHold; [Write, Description("The WelcomeMusicAudioFileId parameter represents the audio file to play when callers are connected with the Call Queue. This is the unique identifier of the audio file.")] String WelcomeMusicAudioFileId; + [Write, Description("The MusicOnHoldFileName parameter represents the name of the audio file to play when callers are placed on hold within the Call Queue.")] String MusicOnHoldFileName; [Write, Description("The MusicOnHoldFileContent parameter represents music to play when callers are placed on hold. This is the unique identifier of the audio file. This parameter is required if the UseDefaultMusicOnHold parameter is not specified.")] String MusicOnHoldAudioFileId; + [Write, Description("The NoAgentAction parameter designates the action toto take if the no agents condition is reached. The NoAgentAction property must be set to one of the following values: Queue, Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Queue."), ValueMap{"Queue","Forward","Disconnect","Forward","Voicemail","SharedVoicemail"},Values{"Queue","Forward","Disconnect","Forward","Voicemail","SharedVoicemail"}] String NoAgentAction; + [Write, Description("The NoAgentActionTarget represents represents the target of the no agent action. If the NoAgentAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the NoAgentAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this field is optional.")] String NoAgentActionTarget; + [Write, Description("The NoAgentSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailAudioFilePrompt is null.")] String NoAgentSharedVoicemailTextToSpeechPrompt; + [Write, Description("The NoAgentSharedVoicemailAudioFilePrompt parameter parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. This parameter becomes a required parameter when NoAgentAction is SharedVoicemail and NoAgentSharedVoicemailTextToSpeechPrompt is null.")] String NoAgentSharedVoicemailAudioFilePrompt; + [Write, Description("The NoAgentSharedVoicemailAudioFilePromptFileName parameter parameter indicates the file name for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on no agents. ")] String NoAgentSharedVoicemailAudioFilePromptFileName; + [Write, Description("The EnableNoAgentSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on no agents. This parameter is only applicable when OverflowAction is set to SharedVoicemail.")] Boolean EnableNoAgentSharedVoicemailTranscription; + [Write, Description("The EnableNoAgentSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail.)] Boolean EnableNoAgentSharedVoicemailSystemPromptSuppression; + [Write, Description("The OverflowAction parameter designates the action to take if the overflow threshold is reached. The OverflowAction property must be set to one of the following values: DisconnectWithBusy, Forward, Voicemail, and SharedVoicemail. The default value is DisconnectWithBusy."), ValueMap{"DisconnectWithBusy","Forward","Voicemail","SharedVoicemail"},Values{"DisconnectWithBusy","Forward","Voicemail","SharedVoicemail"}] String OverflowAction; [Write, Description("The OverflowActionTarget parameter represents the target of the overflow action. If the OverFlowAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the OverflowAction is set to SharedVoicemail, this parameter must be set to a group ID (Microsoft 365, Distribution list, or Mail-enabled security). Otherwise, this parameter is optional.")] String OverflowActionTarget; [Write, Description("The OverflowThreshold parameter defines the number of calls that can be in the queue at any one time before the overflow action is triggered. The OverflowThreshold can be any integer value between 0 and 200, inclusive. A value of 0 causes calls not to reach agents and the overflow action to be taken immediately.")] UInt16 OverflowThreshold; @@ -20,32 +30,46 @@ class MSFT_TeamsCallQueue : OMI_BaseResource [Write, Description("The Users parameter lets you add agents to the Call Queue. This parameter expects a list of user unique identifiers (GUID).")] String Users[]; [Write, Description("The LanguageId parameter indicates the language that is used to play shared voicemail prompts. This parameter becomes a required parameter If either OverflowAction or TimeoutAction is set to SharedVoicemail. You can query the supported languages using the Get-CsAutoAttendantSupportedLanguage cmdlet.")] String LanguageId; [Write, Description("The OboResourceAccountIds parameter lets you add resource account with phone number to the Call Queue. The agents in the Call Queue will be able to make outbound calls using the phone number on the resource accounts. This is a list of resource account GUIDs. Only Call Queue managed by a Teams Channel will be able to use this feature.")] String OboResourceAccountIds[]; + [Write, Description("The WelcomeMusicFileName parameter indicates the unique identifier for the Audio file prompt which is played to the caller when entering the queue")] String WelcomeMusicFileName; + [Write, Description("The WelcomeTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when entering the queue)] String WelcomeTextToSpeechPrompt; [Write, Description("The OverflowDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to overflow.")] String OverflowDisconnectTextToSpeechPrompt; [Write, Description("The OverflowDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to overflow.")] String OverflowDisconnectAudioFilePrompt; + [Write, Description("The OverflowRedirectPersonAudioFilePromptFileName parameter indicates the file name of the Audio file prompt which is played to the caller when being disconnected due to overflow.")] String OverflowRedirectPersonAudioFilePromptFileName; [Write, Description("The OverflowRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to overflow.")] String OverflowRedirectPersonTextToSpeechPrompt; [Write, Description("The OverflowRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to overflow.")] String OverflowRedirectPersonAudioFilePrompt; [Write, Description("The OverflowRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to overflow.")] String OverflowRedirectVoiceAppTextToSpeechPrompt; [Write, Description("The OverflowRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to overflow.")] String OverflowRedirectVoiceAppAudioFilePrompt; [Write, Description("The OverflowRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow.")] String OverflowRedirectPhoneNumberTextToSpeechPrompt; [Write, Description("The OverflowRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow.")] String OverflowRedirectPhoneNumberAudioFilePrompt; + [Write, Description("The OverflowRedirectPhoneNumberAudioFilePromptFileName parameter indicates the name of the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to overflow.)] String OverflowRedirectPhoneNumberAudioFilePromptFileName; [Write, Description("The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow.")] String OverflowRedirectVoicemailTextToSpeechPrompt; [Write, Description("The OverflowRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to overflow.")] String OverflowRedirectVoicemailAudioFilePrompt; + [Write, Description("The OverflowRedirectVoicemailAudioFilePromptFileName parameter indicates the name of the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to overflow.")] String OverflowRedirectVoicemailAudioFilePromptFileName; + [Write, Description("The OverflowRedirectVoiceAppAudioFilePromptFileName parameter indicates the file name of the Audio file prompt which is ployed to the caller when being redirected to a peron's voicemail due to overflow.")] String OverflowRedirectVoiceAppAudioFilePromptFileName; [Write, Description("The OverflowRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to overflow.")] String OverflowSharedVoicemailTextToSpeechPrompt; [Write, Description("The OverflowSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on overflow. This parameter becomes a required parameter when OverflowAction is SharedVoicemail and OverflowSharedVoicemailTextToSpeechPrompt is null.")] String OverflowSharedVoicemailAudioFilePrompt; [Write, Description("The EnableOverflowSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on overflow. This parameter is only applicable when OverflowAction is set to SharedVoicemail.")] Boolean EnableOverflowSharedVoicemailTranscription; + [Write, Description("The EnableOverflowSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail.)] Boolean EnableOverflowSharedVoicemailSystemPromptSuppression; [Write, Description("The TimeoutDisconnectTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being disconnected due to timeout.")] String TimeoutDisconnectTextToSpeechPrompt; [Write, Description("The TimeoutDisconnectAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being disconnected due to timeout.")] String TimeoutDisconnectAudioFilePrompt; + [Write, Description("The TimeoutDisconnectAudioFilePromptFileName parameter indicates the name of the Audio file prompt which is played to the caller when being disconnected due to timeout.")] String TimeoutDisconnectAudioFilePromptFileName; [Write, Description("The TimeoutRedirectPersonTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person in the organization due to timeout.")] String TimeoutRedirectPersonTextToSpeechPrompt; [Write, Description("The TimeoutRedirectPersonAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to timeout.")] String TimeoutRedirectPersonAudioFilePrompt; + [Write, Description("The TimeoutRedirectPersonAudioFilePromptFileName parameter indicates the file name for the Audio file prompt which is played to the caller when being redirected to a person in the organization due to timeout.)] String TimeoutRedirectPersonAudioFilePromptFileName; [Write, Description("The TimeoutRedirectVoiceAppsTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a voice application due to timeout.")] String TimeoutRedirectVoiceAppTextToSpeechPrompt; [Write, Description("The TimeoutRedirectVoiceAppAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a voice application due to timeout.")] String TimeoutRedirectVoiceAppAudioFilePrompt; + [Write, Description("The TimeoutRedirectVoiceAppAudioFilePromptFileName parameter indicates the file name for the Audio file prompt which is played to the caller when being redirected to a voice application due to timeout)] String TimeoutRedirectVoiceAppAudioFilePromptFileName; [Write, Description("The TimeoutRedirectPhoneNumberTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout.")] String TimeoutRedirectPhoneNumberTextToSpeechPrompt; [Write, Description("The TimeoutRedirectPhoneNumberAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout.")] String TimeoutRedirectPhoneNumberAudioFilePrompt; + [Write, Description("The TimeoutRedirectPhoneNumberAudioFilePromptFileName parameter indicates the file name for the Audio file prompt which is played to the caller when being redirected to an external PSTN phone number due to timeout.")] String TimeoutRedirectPhoneNumberAudioFilePromptFileName; [Write, Description("The TimeoutRedirectVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is played to the caller when being redirected to a person's voicemail due to timeout.")] String TimeoutRedirectVoicemailTextToSpeechPrompt; [Write, Description("The TimeoutRedirectVoiceMailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to timeout.")] String TimeoutRedirectVoicemailAudioFilePrompt; + [Write, Description("The TimeoutRedirectVoicemailAudioFilePromptFileName parameter indicates the file name for the Audio file prompt which is played to the caller when being redirected to a person's voicemail due to timeout.")] String TimeoutRedirectVoicemailAudioFilePromptFileName; [Write, Description("The TimeoutSharedVoicemailTextToSpeechPrompt parameter indicates the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailAudioFilePrompt is null.")] String TimeoutSharedVoicemailTextToSpeechPrompt; + [Write, Description("The TimeoutSharedVoicemailAudioFilePromptFileName parameter indicates the file name of the Text-to-Speech (TTS) prompt which is to be played as a greeting to the caller when being transferred to shared voicemail on timeout")] String TimeoutSharedVoicemailAudioFilePromptFileName [Write, Description("The TimeoutSharedVoicemailAudioFilePrompt parameter indicates the unique identifier for the Audio file prompt which is to be played as a greeting to the caller when transferred to shared voicemail on timeout. This parameter becomes a required parameter when TimeoutAction is SharedVoicemail and TimeoutSharedVoicemailTextToSpeechPrompt is null.")] String TimeoutSharedVoicemailAudioFilePrompt; [Write, Description("The EnableTimeoutSharedVoicemailTranscription parameter is used to turn on transcription for voicemails left by a caller on timeout. This parameter is only applicable when TimeoutAction is set to SharedVoicemail.")] Boolean EnableTimeoutSharedVoicemailTranscription; + [Write, Description("The EnableTimeoutSharedVoicemailSystemPromptSuppression parameter is used to turn off the default voicemail system prompts. This parameter is only applicable when OverflowAction is set to SharedVoicemail.)] Boolean EnableTimeoutSharedVoicemailSystemPromptSuppression; [Write, Description("Id of the channel to connect a call queue to.")] String ChannelId; [Write, Description("Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). This is the GUID of one of the owners of the team the channels belongs to.")] String ChannelUserObjectId; [Write, Description("This is a list of GUIDs for users who are authorized to make changes to this call queue. The users must also have a TeamsVoiceApplications policy assigned. The GUID should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).")] String AuthorizedUsers[];