Haiku #103

It is all black and

White: cmdlets can help with

Dial-in conferencing.


Last night the author of today's haiku caught part of a very weird movie: The Story of Seabiscuit, starring Shirley Temple. What was so weird about the movie? Well, for one thing, the movie kept changing from color to black-and-white and then back to color. Apparently the filmmakers had newsreel footage of the horse Seabiscuit that they wanted to incorporate into the movie; however, that footage was all shot in black-and-white. Therefore, the movie would be in color, and the horses would show up at the starting gate in color. As soon as the race began, however, the horses (and the movie) would turn black-and-white. And then, when the race was over, everything would be back in color again.


Note. Well, except for one section showing the family at the race track discussing the race. For some reason, that, too was shot in black-and-white. We can only assume that, by the time they shot the race track scene, even the director was confused as to whether this was a color movie or a black-and-white movie.


At any rate, the effect of constantly switching from black-and-white to color was really strange, and almost made the author of today's haiku vow to give up drinking.




The constant switch from black-and-white to color also seemed to have an effect on Shirley Temple, who was playing a nurse whose brother had died in a tragic steeplechase accident. Shirley was supposed to be from Ireland, but her Irish accent kept fading in and out along with the color.


If you've ever wondered what it must have been like to be in Haight-Ashbury during the 1960s, well, we recommend you watch The Story of Seabiscuit. What a long, strange trip it's been.


To be honest, The Story of Seabiscuit was probably no worse than many of the movies released in 1949. (Although Bride of Vengeance and Chicken Every Sunday sound pretty good.) However, it does introduce a little uncertainty into our otherwise untroubled times: after all, if you can't rely on a Shirley Temple movie, what can you rely on?


Listen: don't despair. As it turns out, there is one thing you can still rely on: the CsConferenceDirectory cmdlets (Get-CsConferenceDirectory, Move-CsConferenceDirectory, New-CsConferenceDirectory, and Remove-CsConferenceDirectory).


So what are the conference directory cmdlets for and, while we're on the subject, what exactly is a conference directory? Well, without getting too detailed, any time you create a dial-in conferencing URI that URI is assigned a unique SIP addresses. That's the good news: it makes it easy for a SIP-aware device (like Microsoft Lync) to connect to that conference.


The bad news? SIP URIs are difficult for non-SIP-aware devices, like a PSTN telephones, to work with; for example, your cell phone has no idea what a SIP URI is. In turn, that would seem to make it impossible for users to use a PSTN phone to dial in for the audio portion of the conference.


Well, it would seem to be impossible. The fact that it isn't impossible is due to conference directories, which help non-SIP-aware devices locate, and connect to, dial-in to conferences. How do they do this? Well, conference directories are identified by an integer value (which PSTN phones can deal with) instead of a SIP URI. By associating one of these integer values with a SIP URI (something that Lync Server does under the covers) you provide a way for dial-in users to find the conference.


Look at it this way. Suppose you were holding a meeting in the lobby of Building 38; most likely you would tell people, “Just look for Building 38 and you’ll find the conference.” That’s like handing out the URI to a conference: you’re giving people the exact address where the conference will be held.


However, suppose you had someone who couldn’t read numbers; he or she has no idea what a 38 was. In that case, you’d have to give that person different instructions; you might have to tell them “Look for the two-story brick building and you’ll find the conference.” That’s sort of what’s going on here. The conference directory is used for people (well, devices) that don’t know what a SIP URI is.


Like we said, that’s sort of what’s going on here. But it’s good enough for now.


Each time you create a new Registrar pool in Lync Server a conference directory will automatically be created for that pool. Is one conference directory per pool sufficient? Well, that depends on how many users are homed on that pool. Officially, we recommend one conference directory for every 999 users.


Note. Why 999 users? Why not an even 1,000 users? Because … well, because.


So how do you know how many conference directories you have? Well, here's an easy way to list all your conference directories:




And here's a way to list all the conference directories on a particular pool, in this case, atl-cs-001.litwareinc.com:


Get-CsConferenceDirectory | Where-Object {$_.ServiceID -match "UserServer:atl-cs-001.litwareinc.com"}


Or, if you just want the total number of conference directories for that pool, run this command:


(Get-CsConferenceDirectory | Where-Object {$_.ServiceID -match "UserServer:atl-cs-001.litwareinc.com"}).Count


Note. OK, that command tells you how many conference directories you have. Now, how do you know how many users are homed on that same pool? Here's how:


(Get-CsUser –Filter {RegistrarPool –eq "atl-cs-001.litwareinc.com"}).Count


So let's suppose you decide that you do need to create a new conference directory or two; what then? Well, then all you do is call the New-CsConferenceDirectory cmdlet, specifying the pool where the directory should be created as well as a unique integer value for the new directory. For example:


New-CsConferenceDirectory –HomePool atl-cs-001.litwareinc.com –Identity 2


Incidentally, the Identity can be any unique integer between 0 and 9999, inclusive. And it can literally be any unique integer value. For example, suppose you have conference directories 1, 2, and 3. Does your next conference directory have to have the Identity 4? Nope; it can be 38 or 698 or 3247. It's entirely up to you.


Note. OK, so how would you know whether or not you already have a conference directory named 3247? Try running this command:


Get-CsConferenceDirectory | Where-Object {$_.Identity –eq 3247}


If you decide that you have too many conference directories, you can always get rid of some of them by using the Remove-CsConferenceDirectory cmdlet:


Remove-CsConferenceDirectory –Identity 3247


Note that, when you do this, you'll be presented with a confirmation prompt that asks if you really want to delete the conference directory. That probably shouldn't be too much of a problem, especially considering the fact that you probably won't be removing conference directories on a regular basis. However, if you just hate having to answer prompts like that, you could always set your confirmation preferences to None. We don't necessarily recommend that, unless you do so in a script that will then immediately reset those preferences. If you're interested in that, take a peek at this article.


And what if you want to move a conference directory, perhaps because the pool that the directory currently resides on is being decommissioned? That's fine; that's what the Move-CsConferenceDirectory cmdlet is for:


Move-CsConferenceDirectory -Identity 3 -TargetPool atl-cs-002.litwareinc.com


And there you have it: The Story of the CsConferenceDirectory cmdlets. We'll see you all tomorrow!

Skip to main content