If I call, how do
I know you will be there? Test
So last night the author of today's haiku had the chance of a lifetime, and he let it slip through his fingers.
Which, come to think of it, is pretty much the story of his life, isn't it?
At any rate, when the author of today's haiku went to the gym last night he started to climb on to the StairMaster and was practically thrown off when the machine started up at a surprisingly high rate of speed. (Yes, usually the stairs start moving a little any time you climb on, but nowhere near as fast as those stairs were moving last night.) He tried again, almost fell off again, then tried a third time and managed to get up on the machine. At that point he pressed the Stop button thinking he would stop and reset the crazy thing. The StairMaster refused to stop; the stairs just kept flying along. Not only that, but at that point the author of today's haiku realized that, instead of marking time second-by-second, the machine was marking time minute-by-minute. That was weird. On the other hand, that also meant that if he was willing to play along, he could complete his 45-minute workout in just 45 seconds. Leaving plenty of time for him to go home, eat a couple pieces of cheesecake, and lie around watching Baseball Tonight.
Unfortunately, though, doing a 45-minute workout in 45 seconds would have been cheating, and while the author of today's haiku currently holds the world's record for most flaws in a single human being, he usually doesn't cheat. (As we all know, you can't do a workout in just 45 seconds; a real workout requires at least 4 minutes to complete.) Being too honest for his own good, he went over to a different StairMaster and put in a full 45 minutes on the stairs.
And then went home to eat a couple pieces of cheesecake, and watch Baseball Tonight.
As you might expect, his only regret is that the broken time clock had to happen at the gym rather than at work. If that had happened at work then, when someone asked if he put in 45 minutes of Project X like he promised he would, he could truthfully say, "Hey, just look at the time clock. It says 45 minutes, doesn't it?"
The important thing is that the author of today's haiku learned that there are no shortcuts in life: if you want something done, and want that something done right, then you need to put in the required time and effort. And then, he came in to work this morning, started up the Lync Server Management Shell, and realized that Lync Server PowerShell offers nothing but shortcuts.
What kind of shortcuts, you ask? Well, take dial-in conferencing, to name one. How are you supposed to know if dial-in conferencing is working in your organization? Well, what you could do is create and start a new conference, dutifully write down the dial-in conferencing access number and the meeting code, haul out your cell phone, dial in to the conference, enter the meeting code and your PIN number, and verify that you were able to join the conference. We estimated that would take you approximately 45 minutes.
Or, alternatively, you could simply run the following Lync Server PowerShell command, which we estimate would take approximately 45 seconds:
Test-CsDialInConferencing –TargetFqdn atl-cs-001.litwareinc.com
That's all you have to do, assuming that: 1) you've set up a couple of health monitoring test accounts for the Registrar pool atl-cs-001.litwareinc.com; and, 2) you have at least one dial-in conferencing access number configured for that pool. If all of that is true, then the Test-CsDialInConferencing cmdlet will attempt to log on the Lync Server using one of your health monitoring test accounts. If logon is successful, the system will then try to make a call to the first dial-in conferencing access number configured for the specified pool. If the call is established, the cmdlet will join the test user to the "conference," exit the conference, and terminate the call. Test-CsDialInConferencing will then proceed to try the same procedure with the next dial-in conferencing access number configured for the pool.
But what if you don't have test accounts configured for a pool, or what if you need to determine if a specific user can use dial-in conferencing (e.g., someone who just called in and complained that they were unable to use dial-in conferencing)? No problem. All you need to do us include the user's logon credentials and SIP address in the command:
$cred1 = Get-Credential "litwareincpilar"
Test-CsDialInConferencing -TargetFqdn atl-cs-001.litwareinc.com -UserSipAddress "sip:firstname.lastname@example.org" -UserCredential $cred1
If all goes well, you'll get back a report that looks like this:
TargetFqdn : atl-cs-001.litwareinc.com
Result : Success
Latency : 00:00:00
And if all doesn't go well? Well, in that case you'll get back at least some information concerning the problem that Test-CsDialInConferencing ran into. Here's the report we got back when we ran this test using an invalid dial-in access number:
TargetFqdn : atl-cs-001.litwareinc.com
Result : Failure
Latency : 00:00:00
Error : 404, Not Found
Diagnosis : ErrorCode=33034,Source=atl-cs-001.litwareinc.com.Reason=Ms-Application-Aor header is not valid. Microsoft.Rtc.Signaling.DiagnosticHeader
OK, granted, that might not be the most intuitive error message and diagnosis you've ever received. Because of that, you might want to include the Verbose parameter any time you run the Test-CsDialInConferencing cmdlet (or any of the Test-Cs cmdlets, for that matter):
Test-CsDialInConferencing –TargetFqdn atl-cs-001.litwareinc.com -Verbose
That command will give you a blow-by-blow account of everything the cmdlet does; for example:
VERBOSE: 'Register' activity started.
Sending Registration request:
Target Fqdn = atl-cs-001.litwareinc.com
User Sip Address = sip:email@example.com
Registrar Port = 5061
Auth Type 'Trusted' is selected.
'Register' activity completed in '0.094552' secs.
And there you have it. The most important thing to take away from today's column is that – oops, sorry but, according to the time clock, our 45 minutes is up. See you tomorrow!