Public/generated/Get-KritTcmTeamsCallingPolicy.ps1

<#
·· × × × ··· SirJ's Deaddrop ··· × × × ···
      — If you found this, you were meant to —

---------------- A Seriously Kritical™ Production ----------------

                                   [] →
                 (¯`·.¸¸.·´¯)
               .·´ `·. [] →
               `·.______________.·´
              | +------------------+ |
              | | Kritical™ | |
              | | [] [] | |
              | | | |
              | | [] [] [] | |
              | +------------------+ |
                  (._.·´¯`·.¸_)

                     Your last call.
                   And your first move.

                         ★ ☆ ★

                     +61 1300 274 655
                 sales at kritical dot net

-----------------------------------------------------------------


.COPYRIGHT
    (c) 2026 Kritical Pty Ltd. All rights reserved.
.AUTHOR
    Joshua Finley <joshua.finley@kritical.net>
.COMPANY
    Kritical Pty Ltd | ABN 39 687 048 086
    Level 4 / 60 Moorabool St Geelong VIC 3220
    1300 274 655 | sales@kritical.net | https://kritical.net/
.NOTES
    HARD RULE 13 canonical Kritical branding — do not overlay other agent banners.
    Auto-generated by Generate-KritTcmFromM365DscSchema.ps1 (.1507o30+).
    Upstream reference: Microsoft365DSC by Microsoft (MIT). This shim provides
    literal search-replace equivalence — see Krit.TCM/generated/index.md.
#>


function Get-KritTcmTeamsCallingPolicy {
<#
.SYNOPSIS
    Krit.TCM shim for M365DSC resource TeamsCallingPolicy.

.DESCRIPTION
    Auto-generated from M365DSC .schema.mof by
    scripts/m365-setup/Generate-KritTcmFromM365DscSchema.ps1 (.1507o30).

    Search-replace safe: callers that today invoke
        Get-M365DSCTeamsCallingPolicy -Credential $cred -TenantId $tid
    can rename to
        Get-KritTcmTeamsCallingPolicy -Credential $cred -TenantId $tid
    with ZERO other edits. Parameter shape matches the M365DSC .schema.mof
    exactly. Per operator direction, -PreferM365DscBehavior defaults to true.

    Actual Graph dispatch is delegated to Invoke-KritTcmM365DscSchemaBridge.
    Bridge maps resource → Graph endpoint per per-resource wave; where mapping
    is not yet shipped, bridge returns an object with Verdict='UNMAPPED'.

.NOTES
    Workload: Teams
    Original mof: C:\Users\joshl\OneDrive - Kritical Pty Ltd\Github\KRTPax8ToShopifyConnector\.kritm365-mine\Microsoft365DSC\Modules\Microsoft365DSC\DSCResources\MSFT_TeamsCallingPolicy\MSFT_TeamsCallingPolicy.schema.mof
    Param count: 43
    Generator wave: .1507o30
#>

[CmdletBinding()]
param(
        # Identity of the Teams Calling Policy.
[Parameter(Mandatory)] [string]$Identity,
        # Description of the Teams Calling Policy.
[string]$Description,
        # Enables the user to use the AI Interpreter related features. Possible values are: Disabled, Enabled
[ValidateSet('Disabled','Enabled')] [string]$AIInterpreter,
        # The maximum amount a user can spend on outgoing PSTN calls, including all calls made through Pay-as-you-go Calling Plans and any overages on plans with bundled minutes.
[int]$CallingSpendUserLimit,
        # Setting this parameter lets you control how Copilot is used during calls and if transcription is needed to be turned on and saved after the call. Possible values: Enabled, EnabledWithTranscript, Disabled
[ValidateSet('Enabled','EnabledWithTranscript','Disabled')] [string]$Copilot,
        # This setting allows an admin to enable or disable spend limits on PSTN calls for their user base.
[bool]$EnableSpendLimits,
        # Determines if MediaBypass is enabled for PSTN calls on specified Web platforms.
[bool]$EnableWebPstnMediaBypass,
        # This setting controls whether users must provide or obtain explicit consent before recording a 1:1 PSTN or Teams call. When enabled, both parties will receive a notification, and consent must be given before recording starts. Possible values: Enabled: Requires users to give and obtain explicit consent before starting a call recording. Disabled: Users are not required to obtain explicit consent before recording starts.
[ValidateSet('Disabled','Enabled')] [string]$ExplicitRecordingConsent,
        # Setting this parameter lets you control how inbound federated calls should be routed. Possible values are: RegularIncoming, Unanswered, Voicemail.
[ValidateSet('RegularIncoming','Unanswered','Voicemail')] [string]$InboundFederatedCallRoutingTreatment,
        # Setting this parameter lets you control how inbound PSTN calls should be routed. Possible values are: RegularIncoming, Unanswered, Voicemail, UserOverride.
[ValidateSet('RegularIncoming','Unanswered','Voicemail','UserOverride')] [string]$InboundPstnCallRoutingTreatment,
        # Setting this parameter allows you to set the PopoutForIncomingPstnCalls setting's URL path of the website to launch upon receiving incoming PSTN calls. This parameter accepts an HTTPS URL with less than 1024 characters. The URL can contain a {phone} placeholder that is replaced with the caller's PSTN number in E.164 format when launched.
[string]$PopoutAppPathForIncomingPstnCalls,
        # Setting this parameter allows you to control the tenant users' ability to launch an external website URL automatically in the browser window upon incoming PSTN calls for specific users or user groups. Possible values are: Enabled, Disabled.
[ValidateSet('Disabled','Enabled')] [string]$PopoutForIncomingPstnCalls,
        # Allows users to use real time text during a call, allowing them to communicate by typing their messages in real time. Possible values are: Disabled, Enabled
[ValidateSet('Disabled','Enabled')] [string]$RealTimeText,
        # TBD. Possible values are: Disabled, Enabled
[ValidateSet('Disabled','Enabled')] [string]$ReportCall,
        # Controls if Teams calls are shown in the call log.
[bool]$ShowTeamsCallsInCallLog,
        # Enables the user to use the voice simulation feature while being AI interpreted. Possible values are: Disabled, Enabled
[ValidateSet('Disabled','Enabled')] [string]$VoiceSimulationInInterpreter,
        # Controls all calling capabilities in Teams. Turning this off will turn off all calling functionality in Teams. If you use Skype for Business for calling, this policy will not affect calling functionality in Skype for Business.
[bool]$AllowPrivateCalling,
        # Enables inbound calls to be routed to voice mail. Valid options are: AlwaysEnabled, AlwaysDisabled, UserOverride.
[ValidateSet('AlwaysEnabled','AlwaysDisabled','UserOverride')] [string]$AllowVoicemail,
        # Enables inbound calls to be routed to call groups.
[bool]$AllowCallGroups,
        # Enables inbound calls to be routed to delegates; allows delegates to make outbound calls on behalf of the users for whom they have delegated permissions.
[bool]$AllowDelegation,
        # Enables call forwarding or simultaneous ringing of inbound calls to other users in your tenant.
[bool]$AllowCallForwardingToUser,
        # Enables call forwarding or simultaneous ringing of inbound calls to any phone number.
[bool]$AllowCallForwardingToPhone,
        # Setting this parameter provides the ability to configure call redirection capabilities on Teams phones.
[ValidateSet('Enabled','Disabled','UserOverride')] [string]$AllowCallRedirect,
        # Determines whether the user is allowed to use SIP devices for calling on behalf of a Teams client.
[bool]$AllowSIPDevicesCalling,
        # Allows PSTN calling from the Team web client
[bool]$AllowWebPSTNCalling,
        # Setting this parameter to True will send calls through PSTN and incur charges rather than going through the network and bypassing the tolls.
[bool]$PreventTollBypass,
        # Setting this parameter lets you configure how incoming calls are handled when a user is already in a call or conference or has a call placed on hold. New or incoming calls will be rejected with a busy signal. Valid options are: Enabled, Disabled and Unanswered.
[ValidateSet('Enabled','Disabled','Unanswered','UserOverride')] [string]$BusyOnBusyEnabledType,
        # Sets the expiration of the recorded 1:1 calls.
[int]$CallRecordingExpirationDays,
        # Setting this parameter allows you to turn on or turn off music on hold when a PSTN caller is placed on hold. It is turned on by default. Valid options are: Enabled, Disabled, UserOverride. For now setting the value to UserOverride is the same as Enabled. This setting does not apply to call park and SLA boss delegate features. Valid options are: Enabled, Disabled, UserOverride.
[ValidateSet('Enabled','Disabled','UserOverride')] [string]$MusicOnHoldEnabledType,
        # This parameter is not available for use. Valid options are: Enabled, Disabled, UserOverride.
[ValidateSet('Enabled','Disabled','UserOverride')] [string]$SafeTransferEnabled,
        # Setting this parameter to True will allows 1:1 Calls to be recorded.
[bool]$AllowCloudRecordingForCalls,
        # Determines whether post-meeting captions and transcriptions are allowed in a user's meetings. Set this to TRUE to allow. Set this to FALSE to prohibit.
[bool]$AllowTranscriptionforCalling,
        # Determines whether real-time captions are available for the user in Teams meetings. Set this to DisabledUserOverride to allow user to turn on live captions. Set this to Disabled to prohibit.
[ValidateSet('DisabledUserOverride','Disabled')] [string]$LiveCaptionsEnabledTypeForCalling,
        # This setting allows the tenant admin to enable or disable the Auto-Answer setting. Valid options are: Enabled, Disabled.
[ValidateSet('Enabled','Disabled')] [string]$AutoAnswerEnabledType,
        # Setting this parameter determines whether calls identified as Spam will be rejected or not (probably). Valid options are: Enabled, Disabled.
[ValidateSet('Enabled','Disabled')] [string]$SpamFilteringEnabledType,
        # Present ensures the policyexists, absent ensures it is removed.
[ValidateSet('Present','Absent')] [string]$Ensure,
        # Credentials of the Teams Admin.
[string]$Credential,
        # Id of the Azure Active Directory application to authenticate with.
[string]$ApplicationId,
        # Name of the Azure Active Directory tenant used for authentication. Format contoso.onmicrosoft.com
[string]$TenantId,
        # Thumbprint of the Azure Active Directory application's authentication certificate to use for authentication.
[string]$CertificateThumbprint,
        # Username can be made up to anything but password will be used for CertificatePassword
[string]$CertificatePassword,
        # Path to certificate used in service principal usually a PFX file.
[string]$CertificatePath,
        # Managed ID being used for authentication.
[bool]$ManagedIdentity
)
    Invoke-KritTcmM365DscSchemaBridge -ResourceName 'TeamsCallingPolicy' -Workload 'Teams' -Verb 'Get' -CallerParams $PSBoundParameters
}