Topic Last Modified: 2010-10-01

Tests the ability a pair of users to conduct a peer-to-peer call over the public switched telephone network (PSTN) gateway.

Syntax

Test-CsPstnPeerToPeerCall -TargetFqdn <String> [-Force <SwitchParameter>] [-OutVerboseVariable <String>] [-ReceiverSipAddress <String>] [-RegistrarPort <Nullable>] [-SenderSipAddress <String>]
Test-CsPstnPeerToPeerCall [-TargetFqdn <String>] -ReceiverCredential <PSCredential> -ReceiverSipAddress <String> -SenderCredential <PSCredential> -SenderSipAddress <String> [-Force <SwitchParameter>] [-OutVerboseVariable <String>] [-RegistrarPort <Nullable>]

Parameters

Parameter Required Type Description

TargetFqdn

Required

String

Fully qualified domain name (FQDN) of the pool to be tested.

ReceiverCredential

Optional

PS credential object

User credential object for the first of the two user accounts to be tested. The value passed to ReceiverCredential should be an object reference obtained by using the Get-Credential cmdlet. For example, this code returns a credentials object for the user litwareinc\pilar and stores that object in a variable named $y:

$y = Get-Credential "litwareinc\pilar"

You need to supply the user password when running this command.

The receiver credential is not required if you are running the test under the health monitoring configuration settings for the pool, or if you are running in server platform mode.

ReceiverSipAddress

Optional

SIP address

SIP address for the first of the two user accounts to be tested. For example: -ReceiverSipAddress "sip:pilar@litwareinc.com". The ReceiverSIPAddress parameter must reference the same user account as ReceiverCredential.

The SIP address is not required if you are running the test under the health monitoring configuration settings for the pool.

RegistrarPort

Optional

Integer

SIP port used by the Registrar service. This parameter is not required if the Registrar uses the default port 5061.

SenderCredential

Optional

PS credential object

User credential object for the second of the two user accounts to be tested. The value passed to SenderCredential should be an object reference obtained by using the Get-Credential cmdlet. For example, this code returns a credentials object for the user litwareinc\kenmyer and stores that object in a variable named $x:

$x = Get-Credential "litwareinc\kenmyer"

You need to supply the user password when running this command.

The sender credential is not required if you are running the test under the health monitoring configuration settings for the pool, or if you are running in server platform mode.

SenderSipAddress

Optional

SIP address

SIP address for the second of the two user accounts to be tested. For example: -SenderSipAddress "sip:kenmyer@litwareinc.com". The SenderSIPAddress parameter must reference the same user account as SenderCredential.

The SIP address is not required if you are running the test under the health monitoring configuration settings for the pool.

Force

Optional

Switch Parameter

Suppresses the display of any non-fatal error message that might occur when running the command.

Verbose

Optional

Switch Parameter

Reports detailed activity to the screen as the cmdlet runs.

Detailed Description

Test-CsPstnPeerToPeerCall is an example of a Microsoft Lync Server 2010 "synthetic transaction." Synthetic transactions are used in Lync Server 2010 to verify that users are able to successfully complete common tasks such as logging on to the system, exchanging instant messages, or making calls to a phone located on the public switched telephone network (PSTN). These tests can be conducted manually by an administrator, or they can be automatically run by an application such as Microsoft System Center Operations Manager (formerly Microsoft Operations Manager).

Synthetic transactions are typically conducted in two different ways. Many administrators will use the CsHealthMonitoringConfiguration cmdlets to set up test users for each of their Registrar pools. These test users are a pair of users who have been preconfigured for use with synthetic transactions. (Typically these are test accounts and not accounts that belong to actual users.) With test users configured for a pool, administrators can simply run a synthetic transaction against that pool without having to specify the identities of (and supply the credentials for) the user accounts involved in the test.

Alternatively, administrators can run a synthetic transaction using actual user accounts. For example, if two users are unable to exchange instant messages, an administrator could run a synthetic transaction using the two user accounts in question (as opposed to a pair of test accounts) and try to diagnose and resolve the problem. If you decide to conduct a synthetic transaction using actual user accounts you will need to supply the logon names and passwords for each user.

Test-CsPstnPeerToPeerCall can also be used in server platform mode. In that case you only need to specify the SIP address of the users and Lync Server 2010 will use certificates to authenticate those users.

When you call Test-CsPstnPeerToPeerCall the cmdlet will first attempt to log the two test users on to Lync Server. Assuming that the logons succeed, the cmdlet will then have user 1 attempt to call user 2 over the PSTN gateway; Test-CsPstnPeerToPeerCall will make this call using the dial plan, voice policy, and other policy and configurations settings assigned to the test user. If the test goes as planned, the cmdlet will verify that user 2 was able to answer the call, and then log both test accounts off of the system.

Test-CsPstnPeerToPeerCall makes an actual phone call, one that verifies that a connection can be made and that also transmits dual-tone multifrequency (DTMF) codes across the network to determine whether media can be sent over the connection. However, the call is answered by the cmdlet itself, and no manual termination of the call is necessary. (That is, no one needs to answer and then hang up the phone that was called.)

Who can run this cmdlet: To return a list of all the role-based access control (RBAC) roles this cmdlet has been assigned to (including any custom RBAC roles you have created yourself), run the following command from the Windows PowerShell prompt:

Get-CsAdminRole | Where-Object {$_.Cmdlets –match "Test-CsPstnPeerToPeerCall"}

Input Types

None. Test-CsPstnPeerToPeerCall does not accept pipelined input.

Return Types

Test-CsPstnPeerToPeerCall returns an instance of the Microsoft.Rtc.SyntheticTransactions.TaskOutput object.

Example

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

Copy Code
Test-CsPstnPeerToPeerCall -TargetFqdn atl-cs-001.litwareinc.com 

The preceding example checks to see if a pair of preconfigured test users can log on to the pool atl-cs-001.litwareinc.com; after the test users are logged on, Test-CsPstnPeerToPeerCall then checks to see if the two users can conduct a peer-to-peer call over the PSTN gateway. This command will work only if test users have been defined for the pool atl-cs-001.litwareinc.com. If they have, then the command will determine whether the first test user can log on to the system, then check to see if this user can call the second user defined for the pool.

If a test users have not been defined, then the command will fail because it will not know which users to employ when doing the test. If you have not defined test users for a pool, and if you are not running in server platform mode, then you must include the SenderSipAddress and ReceiverSipAddress parameters and the corresponding credentials for the users serving as the test accounts. Test-CsPstnPeerToPeerCall will then conduct its checks using the two specified users.

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

Copy Code
$cred1 = Get-Credential "litwareinc\pilar"
$cred2 = Get-Credential "litwareinc\kenmyer"

Test-CsPstnPeerToPeerCall -TargetFqdn atl-cs-001.litwareinc.com -SenderSipAddress "sip:jhaas@litwareinc.com" -SenderCredential $cred1 -ReceiverSipAddress "sip:kenmyer@litwareinc.com" -ReceiverCredential $cred2

The commands shown in Example 2 test the ability of a pair of users (litwareinc\pilar and litwareinc\kenmyer) to log on to Lync Server, and then conduct a peer-to-peer call over the PSTN gateway. To do this, the first command in the example uses the Get-Credential cmdlet to create a Windows PowerShell credential object containing the name and password of the user Pilar Ackerman. (Because the logon name litwareinc\pilar has been included as a parameter, the Windows PowerShell Credential Request dialog box only requires the administrator to enter the password for the Pilar Ackerman account.) The resulting credential object is then stored in a variable named $cred1. The second command does the same thing, this time returning a credential object for the Ken Myer account.

With the two credential objects in hand, the third command in the example determines whether or not the two users can log on to Lync Server, and then conduct a peer-to-peer call over the PSTN gateway. To carry out this task, Test-CsPstnPeerToPeerCall is called, along with the following parameters: TargetFqdn (the FQDN of the Registrar pool); SenderSipAddress (the SIP address for the first test user); SenderCredential (the Windows PowerShell object containing the credentials for this same user); ReceiverSipAddress (the SIP address for the other test user); and ReceiverCredential (the Windows PowerShell object containing the credentials for the other user).

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

Copy Code
Test-CsPstnPeerToPeerCall -TargetFqdn atl-cs-001.litwareinc.com -SenderSipAddress "sip:jhaas@litwareinc.com" -ReceiverSipAddress "sip:kenmyer@litwareinc.com" 

Example 3 shows how Test-CsPstnPeerToPeerCall can be used in server platform mode. In this mode, the test users’ SIP addresses are specified, but the user credentials are not included. When run like this, Lync Server 2010 uses certificates to authenticate the two test users.

See Also

Other Resources

Test-CsPstnOutboundCall