Travel back through the
Mists of time, the days of yore,
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!
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.
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.
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:
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.