Haiku #37

Travel back through the

Mists of time, the days of yore,

The PSTN.

Time travel has long been a staple of science fiction, and the notion even creeps into actual science from time-to-time: for example, many physicists believe that there is nothing inherent in the laws of the universe that would prohibit time travel. As noted in Wikipedia:

"… [Although] one-way travel into the future is arguably possible given the phenomenon of time dilation based on velocity in the theory of special relativity (exemplified by the twin paradox), as well as gravitational time dilation in the theory of general relativity, it is currently unknown whether the laws of physics would allow backwards time travel."

That should clear that up!

Note. We should mention that not all physicists are sold on the idea if time travel. For example, Stephen Hawking has argued that the fact that we aren't overrun with tourists from the future suggests that time travel isn't possible after all. That might be true. On the other hand, it might also be true that, given the opportunity to visit any time period in the past (or future) time-traveling tourists might not pick the year 2011.

Nah, you're right: no time could ever be as exciting as the one we live in, could it?

Here at Microsoft we're interested in time travel, too; in fact, you can now preorder Microsoft Time Machine 1.0. With Microsoft Time Machine 1.0 you can travel to the past, the present, or the future; it's entirely up to you. Of course, right now we only support traveling to the present. However, we expect that traveling to the past or the future will be available in the next release.

Note. Yes, the smart thing to do would be to travel into the future, grab that next release, and then bring it back to the present, wouldn't it? And we actually plan on doing that, as soon as we can figure out how to first go back in time and make it seem like this was our idea and not yours.

OK, you know what? We have to tell you the truth: there is no Microsoft Time Machine 1.0. (If there was, we'd use it to go back in time and rewrite today's haiku, which is obviously going nowhere at all.) However, if you're running Microsoft Lync Server 2010 you can still revisit the golden days of yesteryear: all you have to do is run the Set-CsPstnGateway cmdlet.

Most of you are probably too young to remember the PSTN: the public switched telephone network. Many, many years ago, however, there was no Internet (it's true: you can look it up), which also meant there weren't any Voice over IP (VoIP) telephones. How did people communicate back in those barbaric times? Well, smoke signals, of course. And by using analog telephones that relied on the PSTN, a network devoted to telephone traffic.

Believe it or not the PSTN still exists, and many people continue to use PSTN telephones. But here's something even more amazing: by using PSTN gateways it's possible for people who run Enterprise Voice (Microsoft's implementation of the VoIP technology) to communicate with people on the public switched telephone network! All you need to do is set up a Mediation Server, then connect that Mediation Server to a PSTN gateway. In turn, that setup provides a way for you to convert the signals used on the Enterprise Voice network to the signals used on the PSTN network, and vice-versa. And that provides a way for Enterprise Voice users to call PSTN users, and for PSTN users to call Enterprise Voice users. It's practically like the grandfather paradox.

Note. The grandfather paradox is another time travel staple. The paradox poses the following question: What would happen if you went back in time and killed your grandfather? After all, if your grandfather was dead you would never have been born, but if you were never born how could you go back in time to kill your grandfather?

Which also reminds us of a classic episode of Futurama, in which Fry went back in time and actually became his own grandfather. But that's a whole 'nother story.

After you have your PSTN gateways up and running, you can manage those gateways using the Set-CsPstnGateway cmdlet; that means doing such things as assigning port numbers, pointing the gateway towards the appropriate Mediation Server, and configuring the alternate bypass ID. For example, suppose you need to set the TCP port on one of your gateways to port 5068. (The default value is port 5066.) That's easy enough:

Set-CsPstnGateway -Identity "PstnGateway:192.168.0.240" –GatewaySipClientTcpPort 5068

Run that command, and your gateway will now use port 5068 as its TCP listening port. It's that simple and that straightforward.

In fact, the only thing that isn't that simple and that straightforward is this: how the heck do you retrieve information about your PSTN gateways and how they're configured? If you're thinking, "Well, you probably just run the Get-CsPstnGateway cmdlet," well, sorry: there isn't a Get-CsPstnGateway. Instead, you need to use the Get-CsService cmdlet and the PstnGateway parameter to retrieve information about your PSTN gateways. (Why? To tell you the truth, we don't know. That's just the way the system has been designed.) This command returns information about all your PSTN gateways:

Get-CsService -PstnGateway

And if you want information for only a particular gateway? Then just use the Identity parameter and the Identity of that gateway:

Get-CsService -Identity "PstnGateway:192.168.0.240"

There's nothing really difficult about it; you just have to use Get-CsService in order to get gateway information.

That should do it for today. We'd write a little more, but we're starving, so we're going to go into the future and have lunch. See you tomorrow.