Haiku #78

I now pronounce you

Voice policy and voice route.

Thank you, phone usage.

If you glance at the sports page these days, you'll see that former baseball superstar Barry Bonds is currently on trial for allegedly lying to the government as part of a steroids investigation; another ex-baseball star, Roger Clemmons, will go on trial this summer, and Tour de France legend Lance Armstrong might not be far behind. The NFL has locked out its players and there's a 50-50 chance that the 2011 season will be cancelled. The University of Tennessee recently fired its men's basketball coach for lying to NCAA investigators, and the CEO of the Fiesta Bowl has been fired for collecting $2 million for … expenses ….

But as impressive as all those news stories are, guess what the absolute biggest scandal in the sports world is. You got it: former NBA player Jalen Rose was recently quoted as saying that, when he was being recruited by colleges back in 1991, he didn't want to go to Duke University because – gasp! – he didn't like Duke University! Needless to say, Duke supporters were shocked – shocked – to hear that, 20 years ago, someone didn’t like them.

Imagine that.

Rose, of course, has been forced to at least partially backpedal from his statements, even though he never said that he didn't like Duke University now, just that he didn't like Duke University 20 years. Based on the fallout caused by Rose's statements, the author of today's haiku has decided to be proactive and apologize for the following statements that he made about Duke University 20 years ago:

· In a 1990 article in the New England Journal of Medicine, he wrote that the death toll from the Black Death that swept across Europe in the 14th century was due, in part, to people saying that they would rather die from the plague than go to Duke University. He has since learned that Duke University was not even founded until 1838 (how was he supposed to know that?), and apologizes for the mistake.

· In 1991, while accepting the Academy Award for Best Supporting Actor, he mentioned offhandedly that Attila the Hun, Ivan the Terrible, and Jack the Ripper all graduated from Duke University. As it turns out, he was incorrect: Jack the Ripper did not graduate from Duke University. (However, former President Richard M. Nixon did graduate from the Law School in 1937.)

· In 1992, after losing the election for the President of Sierra Leone, he stated that, if Duke University offered him a basketball scholarship, he would decline that offer. That was not true. (After all, enrolling at Duke University on a basketball scholarship would probably be the fastest and most effective way for him to ruin both the academic and the athletic reputation of the school.) If Duke is still prepared to offer him a basketball scholarship he is prepared to accept.

To make a long story short, the author of today's haiku regrets anything and everything he has ever said about Duke University. (For that matter, he pretty much regrets anything and everything he has ever said, period.) After visiting the Duke University Web site, he now realizes that the school has world-class faculty helping to expand the frontiers of knowledge, and that the university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world.

He also learned that the motto of Duke University is Eruditio et Religio, which means "Knowledge and Religion."

As you might expect of any place that has Latin motto, Duke University has earned world renown for its academic program and for the achievements of its graduates; for example, William Styron won a Pulitzer Prize for the novel The Confessions of Nat Turner, and Robert Richardson won the Nobel Prize in Physics for his work in superfluidity. As impressive as all those achievements are, however, the author of today's haiku did manage to find one breakthrough discovery that did not take place at Duke University: the creation of the CsPstnUsage cmdlets (Get-CsPstnUsage and Set-CsPstnUsage).

Note. Yes, it is hard to believe. But those cmdlets were actually created here at Microsoft, and not at Duke University.

So what are the CsPstnUsage cmdlets and, for that matter, what the heck are PSTN usages? Wow; you would have to ask that question, wouldn't you? Well, let's see if we can explain this.

Note. True story: PSTN usages used to be called phone usages. However, here at Microsoft we were concerned that no one in the real world knew what a phone usage was, so we changed the name to PSTN usage.

You're welcome.

A PSTN usage is really nothing more than a string value that links a voice policy and a voice route. If a voice route and a voice policy share at least one PSTN usage, then that route and that policy are linked. What happens if a voice policy doesn't share a PSTN usage with a voice route? That's easy: in that case, phone calls made by any user who has been assigned that voice policy will not be able to traverse that route.

It actually kind of makes sense, although we've never fully understood why you need a separate object – a PSTN usage – to link a route and a policy as opposed to, say, simply listing the policy as a route property and vice-versa. However, we don't have anywhere near enough time today to discuss all the things that we don't fully understand, so we'll simply accept PSTN usages for what they are and get on with our lives.

In Lync Server, all your PSTN usages are stored in a single global collection. How do you know what usages are available to you? That's another easy one; all you have to do is call the Get-CsPstnUsage cmdlet:

Get-CsPstnUsage | Select-Object –ExpandProperty Usage

That was easy. Now here's a tougher one: what do you do if you need to create a brand-new usage?

Note. Why would you ever need to create a new usage? Well, here's one thought: maybe the current set of usages is shared among a number of policies and routes, and you want to create a unique usage that will link this one particular route with this one particular policy.

New usages are created (or, to look at it another way, new usages are added to the global collection) by using the Set-CsPstnUsage cmdlet. For example, this command adds the usage International (remember, a usage is just a string value) to the global collection:

Set-CsPstnUsage -Identity global -Usage @{Add="International"}

And this command removes the usage International from the global collection:

Set-CsPstnUsage -Identity global -Usage @{Remove="International"}

That's really all there is to it.

Note. Oh, what the heck, there's at least one more thing we can show you. Here's a way to add multiple usages using a single command:

Set-CsPstnUsage -Identity global -Usage @{Add="International", "Europe", "Asia"}

As you can see, all you have to do is separate the individual usages using commas. You can also remove multiple usages with a single command, using the same basic approach:

Set-CsPstnUsage -Identity global -Usage @{Remove="International", "Europe", "Asia"}

After a usage has been added to the global collection, that value can then be used in a voice policy and/or a voice route. We won't bother to go into a detailed explanation of voice policies and voice routes today; that's a bit beyond the scope of the daily haiku. However, this command adds the PSTN usage International to a voice policy:

Set-CsVoicePolicy –Identity "RedmondVoicePolicy" -PstnUsages @{Add="International"}

If it turns out that there isn't a PSTN usage named International then the preceding command will generate the following error message:

Set-CsVoicePolicy : Cannot find PSTN usage "International" in the Central Management Store.

Which, of course, explains why we needed to add this usage to the global collection in the first place: if you don't do that, the usage can't be added to a voice policy or voice route.

Note that it's possible to create a voice policy that doesn't have any PSTN usages associated with it. We should emphasize, however, that while this is possible, it's not very practical: if there aren't any PSTN usages associated with a voice policy then users assigned that policy won't be able to make outbound telephone calls to the PSTN network.

And there you have it: the truth behind PSTN usages. We hope you enjoyed today's haiku and, again, our apologies if we have ever offended anyone from Duke University.

Oh, and if you happen to work with someone who graduated from Duke, could you please read that last sentence to them, slowly? Thanks!

Note to graduates from Duke University. Hey, we're just kidding. Surely the people responsible for the Cameron Crazies can take a joke, right?