Test-UMConnectivity

This cmdlet is available only in on-premises Exchange. Use the Test-UMConnectivity cmdlet to test the operation of the Microsoft Exchange Unified Messaging service on an Exchange Server 2016 Mailbox server. For information about the parameter sets in the Syntax section below, see Exchange cmdlet syntax (https://technet.microsoft.com/library/bb123552.aspx).

Syntax

Test-UMConnectivity
    -Phone <String>
    -PIN <String>
    -TUILogon <$true | $false>
    -UMDialPlan <UMDialPlanIdParameter>
    [-CertificateThumbprint <String>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ListenPort <Int32>]
    [-MediaSecured <$true | $false>]
    [-MonitoringContext <$true | $false>]
    [-RemotePort <Int32>]
    [-Secured <$true | $false>]
    [-Timeout <Int32>]
    [-WhatIf]
    -ResetPIN <$true | $false>
    -TUILogonAll <$true | $false>
    [<CommonParameters>]
Test-UMConnectivity
    -Phone <String>
    -UMIPGateway <UMIPGatewayIdParameter>
    [-CertificateThumbprint <String>]
    [-Confirm]
    [-DiagDtmfDurationInMilisecs <Int32>]
    [-DiagDtmfSequence <String>]
    [-DiagInitialSilenceInMilisecs <Int32>]
    [-DiagInterDtmfDiffGapInMilisecs <String>]
    [-DiagInterDtmfGapInMilisecs <Int32>]
    [-DomainController <Fqdn>]
    [-From <String>]
    [-ListenPort <Int32>]
    [-MediaSecured <$true | $false>]
    [-MonitoringContext <$true | $false>]
    [-Secured <$true | $false>]
    [-Timeout <Int32>]
    [-WhatIf]
    -PIN <String>
    -TUILogon <$true | $false>
    -UMDialPlan <UMDialPlanIdParameter>
    [-RemotePort <Int32>]
    -ResetPIN <$true | $false>
    [<CommonParameters>]
Test-UMConnectivity
    -ResetPIN <$true | $false>
    [-Confirm]
    [-DomainController <Fqdn>]
    [-MonitoringContext <$true | $false>]
    [-WhatIf]
    -Phone <String>
    -UMIPGateway <UMIPGatewayIdParameter>
    [-CertificateThumbprint <String>]
    [-DiagDtmfDurationInMilisecs <Int32>]
    [-DiagDtmfSequence <String>]
    [-DiagInitialSilenceInMilisecs <Int32>]
    [-DiagInterDtmfDiffGapInMilisecs <String>]
    [-DiagInterDtmfGapInMilisecs <Int32>]
    [-From <String>]
    [-ListenPort <Int32>]
    [-MediaSecured <$true | $false>]
    [-Secured <$true | $false>]
    [-Timeout <Int32>]
    -PIN <String>
    -TUILogon <$true | $false>
    -UMDialPlan <UMDialPlanIdParameter>
    [-RemotePort <Int32>]
    [<CommonParameters>]
Test-UMConnectivity
    -TUILogonAll <$true | $false>
    [-CertificateThumbprint <String>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ListenPort <Int32>]
    [-MediaSecured <$true | $false>]
    [-MonitoringContext <$true | $false>]
    [-RemotePort <Int32>]
    [-Secured <$true | $false>]
    [-Timeout <Int32>]
    [-WhatIf]
    -Phone <String>
    -UMIPGateway <UMIPGatewayIdParameter>
    [-DiagDtmfDurationInMilisecs <Int32>]
    [-DiagDtmfSequence <String>]
    [-DiagInitialSilenceInMilisecs <Int32>]
    [-DiagInterDtmfDiffGapInMilisecs <String>]
    [-DiagInterDtmfGapInMilisecs <Int32>]
    [-From <String>]
    [<CommonParameters>]
Test-UMConnectivity
    [-CertificateThumbprint <String>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ListenPort <Int32>]
    [-MediaSecured <$true | $false>]
    [-MonitoringContext <$true | $false>]
    [-RemotePort <Int32>]
    [-Secured <$true | $false>]
    [-Timeout <Int32>]
    [-WhatIf]
    [-CallRouter]
    [<CommonParameters>]

Description

Two diagnostic tests are designed to test the operation of the Mailbox server software (mode 1) and the operation of the whole system that includes the connected telephony components (mode 2).

The Test-UMConnectivity cmdlet can be used to test the operation of a Mailbox server and related connected telephony equipment. When you run this cmdlet and include the UMIPGateway parameter, the Mailbox server tests the full end-to-end operation of the Unified Messaging system. This test includes the telephony components connected to the Mailbox server, such as IP gateways, Private Branch eXchanges (PBXs) and cabling. If the UMIPGateway parameter isn't specified, the Mailbox server tests only the operation of the Unified Messaging components that are installed and configured on the server.

When you run this cmdlet in an on-premises Unified Messaging deployment, you need to create a UM IP gateway object for the computer or server that the cmdlet is testing. When you create the UM IP gateway object, you must configure it with a fully qualified domain name (FQDN) and that FQDN must match the name of the computer running this cmdlet.

After this task is complete, the cmdlet will have tested the operation of the Mailbox server and related telephony components.

You need to be assigned permissions before you can run this cmdlet. Although this topic lists all parameters for the cmdlet, you may not have access to some parameters if they're not included in the permissions assigned to you. To find the permissions required to run any cmdlet or parameter in your organization, see Find the permissions required to run any Exchange cmdlet (https://technet.microsoft.com/library/mt432940.aspx).

Examples

-------------------------- Example 1 --------------------------

Test-UMConnectivity

This example performs connectivity and operational tests on the local Mailbox server, and then displays the Voice over IP (VoIP) connectivity information.

-------------------------- Example 2 --------------------------

Test-UMConnectivity -UMIPGateway MyUMIPGateway -Phone 56780 -Secured $false

This example tests the ability of the local Mailbox server to use an unsecured TCP connection instead of a secured mutual TLS connection to place a call through the UM IP gateway MyUMIPGateway by using the telephone number 56780.

-------------------------- Example 3 --------------------------

Test-UMConnectivity -Phone sip:sipdp.contoso.com@contoso.com -UMIPGateway MyUMIPGateway -Secured $true -From sip:user1@contoso.com -MediaSecured $true

This example tests a SIP dial plan by using a SIP URI. This example can be used in an environment that includes Lync Server or Skype for Business Server.

Required Parameters

-PIN

The PIN parameter specifies the PIN associated with the UM-enabled mailbox.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-Phone

The Phone parameter specifies the telephone number or Session Initiation Protocol (SIP) Uniform Resource Identifier (URI) used when the test call is redirected. The extension number should be configured in the PBX to forward calls to the UM hunt group.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-ResetPIN

The ResetPIN parameter specifies whether to generate or regenerate a new PIN for all the test mailboxes in the current site.

Type:$true | $false
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-TUILogon

The TUILogon parameter specifies whether the cmdlet tries to log on to one or more UM-enabled mailboxes. The mailboxes must be UM-enabled and associated with the UM dial plan to which the Mailbox server running the Microsoft Exchange Unified Messaging service belongs. The default setting is $false.

Type:$true | $false
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-TUILogonAll

The TUILogonAll parameter specifies whether to try to connect to all test mailboxes in the current Active Directory site. The default setting is $false. The accounts that are tested must be generated by calling the New-TestCasConnectivityUser.ps1 script, and the corresponding mailboxes must be UM-enabled. Otherwise, no action is taken.

Type:$true | $false
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-UMDialPlan

The UMDialPlan parameter specifies the UM dial plan to be tested. This parameter must be used with the TUILogon parameter.

Type:UMDialPlanIdParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-UMIPGateway

The UMIPGateway parameter specifies the name of the UM IP gateway or IP PBX to use for the outgoing test call.

Type:UMIPGatewayIdParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016

Optional Parameters

-CallRouter

The CallRouter switch specifies whether to test the Microsoft Exchange Unified Messaging Call Router service (front-end). You don't need to specify a value with this switch.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2013, Exchange Server 2016
-CertificateThumbprint

The CertificateThumbprint parameter specifies the certificate thumbprint used for SIP Secured and Secured mode.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-Confirm

The Confirm switch specifies whether to show or hide the confirmation prompt. How this switch affects the cmdlet depends on if the cmdlet requires confirmation before proceeding.

  • Destructive cmdlets (for example, Remove-* cmdlets) have a built-in pause that forces you to acknowledge the command before proceeding. For these cmdlets, you can skip the confirmation prompt by using this exact syntax: -Confirm:$false.

  • Most other cmdlets (for example, New-* and Set-* cmdlets) don't have a built-in pause. For these cmdlets, specifying the Confirm switch without a value introduces a pause that forces you acknowledge the command before proceeding.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-DiagDtmfDurationInMilisecs

The DiagDtmfDurationInMilisecs parameter specifies the duration of each digit sent.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-DiagDtmfSequence

The DiagDtmfSequence parameter specifies the sequence of digits sent.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-DiagInitialSilenceInMilisecs

The DiagInitialSilenceInMilisecs parameter specifies the time period in milliseconds that the cmdlet pauses before the digit sequence is sent.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-DiagInterDtmfDiffGapInMilisecs

The DiagInterDtmfDiffGapInMilisecs parameter specifies whether to customize the time between the digits in the diagnostic sequence. This is a comma-delimited list that can accept null entries. This should include multiple values.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-DiagInterDtmfGapInMilisecs

The DiagInterDtmfGapInMilisecs parameter specifies the time in milliseconds between each digit sent in the digit sequence. This is a single value.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-DomainController

The DomainController parameter specifies the domain controller that's used by this cmdlet to read data from or write data to Active Directory. You identify the domain controller by its fully qualified domain name (FQDN). For example, dc01.contoso.com.

Type:Fqdn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-From

The From parameter specifies the SIP URI or SIP address that the call originated from. It's used only when you use the Phone parameter. The default setting is the SIP URI specified when you use the Phone parameter.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-ListenPort

The ListenPort parameter specifies the IP port number on which to listen. If not specified, IP port 9000 is used.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-MediaSecured

The MediaSecured parameter specifies whether to use Secure RTP or RTP (unsecured) mode.

Type:$true | $false
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-MonitoringContext

The MonitoringContext parameter specifies whether to include the associated monitoring events and performance counters in the results. Valid values for this parameter are $true or $false. The default value is $false. If you specify the value $true, the monitoring events and performance counters are included in the command results. Typically, you include the monitoring events and performance counters in the results when the output is passed to Microsoft System Center Operations Manager (SCOM).

Type:$true | $false
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-RemotePort

The RemotePort parameter specifies the port used for the call. If not specified, the default is port 5060 for Transmission Control Protocol (TCP) and 5061 for mutual Transport Layer Security (TLS).

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-Secured

The Secured parameter specifies whether the test is run in SIP Secured mode.

Type:$true | $false
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-Timeout

The Timeout parameter specifies the length of time in seconds to wait for the test operation to finish. The default is 600 seconds. You can't set this parameter with a value of less than 60 seconds. However, we recommend that you always configure this parameter with a value of 60 seconds or more. The maximum value for this parameter is 1800 seconds.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016
-WhatIf

The WhatIf switch simulates the actions of the command. You can use this switch to view the changes that would occur without actually applying those changes. You don't need to specify a value with this switch.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016

Inputs

To see the input types that this cmdlet accepts, see Cmdlet Input and Output Types (https://go.microsoft.com/fwlink/p/?LinkId=616387). If the Input Type field for a cmdlet is blank, the cmdlet doesn't accept input data.

Outputs

To see the return types, which are also known as output types, that this cmdlet accepts, see Cmdlet Input and Output Types (https://go.microsoft.com/fwlink/p/?LinkId=616387). If the Output Type field is blank, the cmdlet doesn't return data.