Haiku #173

Heart-pounding thrills and

Excitement. Must be time for

Simple URLs.

 

Yesterday afternoon the author of today's haiku (and his wife) took a trip to the Utah Olympic Park. Was it the most exciting time he ever had in his entire life? Probably not. Still, it was interesting. For example, he learned why Park City, UT – smack-dab in the middle of the desert – gets as much snow as it does. (An average of 360 inches per year at the Jupiter ski lift located just outside of town.) Likewise, he learned how heavy a curling stone actually is. (Surprisingly heavy, although, considering the fact that curling stones are made of granite, that probably shouldn't have come as that much of a surprise to him.)

 

The author and his wife hiked around a bit, but didn't try any of the thrill rides available at the Park. They watched the bobsleigh (its official name), but they didn't ride it. That was pretty much a matter of being too cheap: at $60 apiece for a 1-minute ride, that just didn't seem worth it. (Especially since you don't actually get to either drive or push the bobsleigh.) As the author's wife noted, that's $1 per second for each ride, and that just seemed a bit much to pay for such a short ride.

 

Note. Obviously the author's wife hasn't priced a gallon of gas lately.

 

The Xtreme Zipline was much more affordable, but with the Xtreme Zipline you sit in a little harness suspended 100 feet high in the air, then get rocketed down the mountainside at speeds in excess of 50 miles per hour. (From what we've been told, the Xtreme Zipline is the "fastest and steepest" zipline in the world. The world!) The author and his wife didn't ride the Xtreme Zipline because – well, it doesn't really matter why the author and his wife didn't ride the Xtreme Zipline. Let's just say that one of them isn't really a thrill-seeker, especially when heights are involved.

 

On the other hand, one of them obviously is a thrill-seeker. After all, if he wasn't a thrill-seeker then he wouldn't dare to write a haiku about – gasp – the New-CsSimpleUrlEntry cmdlet!

 

Warning. Today's haiku (like most Lync Server PowerShell haikus) can cause dizziness, nausea, and headaches. People with heart conditions, expectant mothers, and anyone hoping to get information about the New-CsSimpleUrlEntry cmdlet without having to wade through things like phony warning labels should not read today's haiku.

 

As the name implies, the New-CsSimpleUrlEntry cmdlet is used to help create simple URLs. Simple URLs are, to put it simply, one of Microsoft Lync Server 2010's better innovations. Back in the old days (that is, back in the days of Office Communications Server 2007 R2) people could schedule online meetings. That was good. What wasn't so good is the kind of URL that was generated for those meetings. For example:

 

https://imdf.litwareinc.com/Join?uri=sip%3Akenmyer%40litwareinc.com%3Bgruu%3Bopaque%3Dapp%3Aconf%3Afocus%3Aid%3A125f95a0b0184dcea706f1a0191202a8\&key=EcznhLh5K5t

 

Try reading that URL to someone over the phone.

 

You know, unless you're chicken or something.

 

Note. In case you're wondering, you can't even use Twitter to send people an Office Communications Server meeting URL. The URL shown above has 160 characters in it.

 

Anyway, in Lync Server 2010 simple URLs provide a way for you to create meeting URLs that are, well, simpler. For example, here's a Lync Server meeting URL:

 

https://meet.litwareinc.com/kenmyer/071200

 

Granted, fellow thrill-seekers will find URLs like that a bit dull. But they are a little easier to work with.

 

Note. We would also say that they are easier to tweet, but we refuse to use the word "tweet." And we especially refuse to use it as a noun.

 

For today's haiku, we're going to skip over the infrastructure requirements for setting up simple URLs; you can get more information on that in Haiku #29. We're also going to largely skip past the use of the New-CsSimpleUrl cmdlet; that's something we'll cover in tomorrow's exciting conclusion to this two-part series. (By the way, this is a two-part series.) Do we really need a two-part series to cover simple URLs? No. We really need a 10-part series. But we're going to try and cover it all in just two parts.

 

Note. In case you're wondering, the "simple" part of simple URLs refers to the URL itself. We're not so sure that "simple" would be an apt description of the process of creating a simple URL.

 

So what does the New-CsSimpleUrlEntry cmdlet do? Well, to create a simple URL in Lync Server is actually a three-step process:

 

1. You must specify the actual URL (e.g., https://meet.litwareinc.com) that will be used for online meetings. This is done using the New-CsSimpleUrlEntry cmdlet.

2. You must create a simple URL that, among other things, references the URL you just created. The simple URL is created using the New-CsSimpleUrl cmdlet (which we'll discuss tomorrow).

3. You must add the newly-created simple URL to a collection of simple URLs.

 

Confused? We don't blame you. But here's what the process actually looks like:

 

$urlEntry = New-CsSimpleUrlEntry -Url "https://meet.fabrikam.com"

 

$simpleUrl = New-CsSimpleUrl -Component "meet" -Domain "fabrikam.com" -SimpleUrl $urlEntry -ActiveUrl "https://meet.fabrikam.com"

 

Set-CsSimpleUrlConfiguration -Identity "site:Redmond" -SimpleUrl @{Add=$simpleUrl}

 

As you can see, in line 1 we specify our URL by using the New-CsSimpleUrlEntry cmdlet. Note that New-CsSimpleUrlEntry has only one parameter: URL. You simply specify the URL you want to use for (in this case) online meetings and then stash that URL in a variable (in this example, $urlEntry). That variable will then be used in line 2, where we create a simple URL that also gets stored in a variable ($simpleUrl). Finally, in line 3 we use the Set-CsSimpleUrlConfiguration cmdlet to actually write that new simple URL to Lync Server.

 

But we'll worry about lines 2 and 3 tomorrow. For today, let's just focus on the first line in our set of commands:

 

$urlEntry = New-CsSimpleUrlEntry -Url "https://meet.fabrikam.com"

 

Like we said, there really isn't much to creating a simple URL entry. However, there are a few things you need to know about the kind of URL you can, and cannot, create. If you actually want your simple URLs to work, and if you actually want your users to be able to schedule online meetings, then make sure that your URL:

 

· Begins with https:// (the http: protocol is not allowed).

· Does not have the same name as any of your Lync Server computers or pools.

· Does not include a query string parameter (for example, something like https://meet.fabrikam.com/meet.htm?type=meeting).

· Is a valid fully qualified domain name.

 

And here's something really important: the domain referenced in the simple URL must be a valid SIP domain. All simple URLs must reference a valid SIP domain, and all of your SIP domains must have a collection of simple URLs. Why? Well, when a user schedules an online meeting, Lync Server retrieves the SIP domain for that user and then looks up the corresponding simple URLs for that domain. If the SIP domain doesn't exist, or if the corresponding URLs don't exist, then Lync Server cannot create a meeting URL. And without a meeting URL you can't have an online meeting.

 

Period.

 

Note. So how do you know if the URL you just created references a valid SIP domain? In this case, type the following at the Lync Server Management Shell prompt and then press ENTER:

 

Get-CsSipDomain | where-Object {$_.Identity -eq "fabrikam.com"}

 

If nothing comes back, then fabrikam.com is not a valid SIP domain.

 

And, of course, if you just want a list of all your SIP domains then run this command:

 

Get-CsSipDomain

 

Too much excitement for one day? Well, now you can see why we decided to turn this into a two-part series. Try to calm yourself down a bit, get a good night's sleep, and tomorrow we'll talk a little bit about the New-CsSimpleUrl cmdlet.

 

Brace yourselves.