Public/generated/Get-KriticalUtcmTeamsVoiceRoute.ps1

# Kritical.PS.UTCM | Microsoft Graph UTCM REST API toolkit
# (c) 2026 Kritical Pty Ltd | https://kritical.net
# Kritical brand banner is rendered at module load via Write-KriticalUtcmBanner.

function Get-KriticalUtcmTeamsVoiceRoute {
<#
.SYNOPSIS
    Kritical.UTCM shim for M365DSC resource TeamsVoiceRoute.

.DESCRIPTION

    Search-replace safe: callers that today invoke
        Get-M365DSCTeamsVoiceRoute -Credential $cred -TenantId $tid
    can rename to
        Get-KriticalUtcmTeamsVoiceRoute -Credential $cred -TenantId $tid
    with ZERO other edits. Parameter shape matches the M365DSC .schema.mof
    exactly. By default -PreferM365DscBehavior is true.

    Actual Graph dispatch is delegated to Invoke-KriticalUtcmM365DscSchemaBridge.
    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
    Param count: 13
#>

[CmdletBinding()]
param(
        # Identity of the Teams Voice Route.
[Parameter(Mandatory)] [string]$Identity,
        # BridgeSourcePhoneNumber is an E.164 formatted Operator Connect Conferencing phone number assigned to your Audio Conferencing Bridge. Using BridgeSourcePhoneNumber in an online voice route is mutually exclusive with using OnlinePstnGatewayList in the same online voice route. When using BridgeSourcePhoneNumber in an online voice route, the OnlinePstnUsages used in the online voice route should only be used in a corresponding OnlineAudioConferencingRoutingPolicy. The same OnlinePstnUsages should not be used in online voice routes that are not using BridgeSourcePhoneNumber.
[string]$BridgeSourcePhoneNumber,
        # A description of what this online voice route is for.
[string]$Description,
        # A regular expression that specifies the phone numbers to which this route applies. Numbers matching this pattern will be routed according to the rest of the routing settings.
[string]$NumberPattern,
        # A number could resolve to multiple online voice routes. The priority determines the order in which the routes will be applied if more than one route is possible.
[int]$Priority,
        # Present ensures the route exists, 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-KriticalUtcmM365DscSchemaBridge -ResourceName 'TeamsVoiceRoute' -Workload 'Teams' -Verb 'Get' -CallerParams $PSBoundParameters
}