DSCResources/MSFT_TeamsCallQueue/MSFT_TeamsCallQueue.schema.mof

[ClassVersion("1.0.0.0"), FriendlyName("TeamsCallQueue")]
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 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 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;
    [Write, Description("The TimeoutAction parameter defines the action to take if the timeout threshold is reached. The TimeoutAction property must be set to one of the following values: Disconnect, Forward, Voicemail, and SharedVoicemail. The default value is Disconnect."), ValueMap{"Disconnect","Forward","Voicemail","SharedVoicemail"}, Values{"Disconnect","Forward","Voicemail","SharedVoicemail"}] String TimeoutAction;
    [Write, Description("The TimeoutActionTarget represents the target of the timeout action. If the TimeoutAction is set to Forward, this parameter must be set to a Guid or a telephone number with a mandatory 'tel:' prefix. If the TimeoutAction is set to SharedVoicemail, this parameter must be set to an Office 365 Group ID. Otherwise, this field is optional.")] String TimeoutActionTarget;
    [Write, Description("The TimeoutThreshold parameter defines the time (in seconds) that a call can be in the queue before that call times out. At that point, the system will take the action specified by the TimeoutAction parameter. The TimeoutThreshold can be any integer value between 0 and 2700 seconds (inclusive), and is rounded to the nearest 15th interval. For example, if set to 47 seconds, then it is rounded down to 45. If set to 0, welcome music is played, and then the timeout action will be taken.")] UInt16 TimeoutThreshold;
    [Write, Description("The RoutingMethod defines how agents will be called in a Call Queue. If the routing method is set to Serial, then agents will be called one at a time. If the routing method is set to Attendant, then agents will be called in parallel. If routing method is set to RoundRobin, the agents will be called using Round Robin strategy so that all agents share the call-load equally. If routing method is set to LongestIdle, the agents will be called based on their idle time, i.e., the agent that has been idle for the longest period will be called."), ValueMap{"Attendant","Serial","RoundRobin","LongestIdle"}, Values{"Attendant","Serial","RoundRobin","LongestIdle"}] String RoutingMethod;
    [Write, Description("The PresenceBasedRouting parameter indicates whether or not presence based routing will be applied while call being routed to Call Queue agents. When set to False, calls will be routed to agents who have opted in to receive calls, regardless of their presence state. When set to True, opted-in agents will receive calls only when their presence state is Available.")] Boolean PresenceBasedRouting;
    [Write, Description("The ConferenceMode parameter indicates whether or not Conference mode will be applied on calls for this Call queue. Conference mode significantly reduces the amount of time it takes for a caller to be connected to an agent, after the agent accepts the call.")] Boolean ConferenceMode;
    [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 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 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 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 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 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 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 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 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 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 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 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("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[];
    [Write, Description("Present ensures the Team Message Policy exists, absent ensures it is removed"), ValueMap{"Present","Absent"}, Values{"Present","Absent"}] String Ensure;
    [Write, Description("Credentials of the Teams Service Admin"), EmbeddedInstance("MSFT_Credential")] string Credential;
    [Write, Description("Id of the Azure Active Directory application to authenticate with.")] String ApplicationId;
    [Write, Description("Name of the Azure Active Directory tenant used for authentication. Format contoso.onmicrosoft.com")] String TenantId;
    [Write, Description("Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.")] String CertificateThumbprint;
    [Write, Description("Managed ID being used for authentication.")] Boolean ManagedIdentity;
};