One of the new enhanced telephony features supported in Communications Server 2010 is Call Park.
This feature allows you to “park” a call, and allow another user to pick up this call from the assigned extension. This was a common scenario on traditional PBX systems. Think of “Randy, you have a call on 12345”. I can go to any phone, dial 12345, and answer the call on hold for me.
This feature requires you to dedicate a block of numbers in your environment for call park. This set of numbers can also start with a * or #. You must also be using Communicator 2010 to retrieve a parked call. Below, I will outline how to create a basic call park number range, and how to use this feature in the communicator client.
Note: These commands and screenshots are from the Beta release of Communications Server, appearance of commands may change at release
Creating the Call park Number Range
You can create or modify call park ranges in powershell or in The communications Server Control Panel, the new silver light based control panel for Communications Server.
First, make sure you are on a machine or server with the CS 2010 Admin Tools Installed, Open the Communications Server Management Shell
For the Beta, the set of commands related to the Call Park service are:
As you can see below, in my environment when I run a Get-CsCallParkOrbit I have a number range configured as park test already in my beta deployment:
The call park number ranges have very basic information associated with them, The identity, and a set of number ranges and a server.
Lets create a new call park range with the name Winxnet Parking Lot and the number range #900-#950
This configuration would allow for me to have 50 Parked calls based on that range.
The command we are concerned with here is New-CsCallParkOrbit
Below is the cmdlet help information on this command:
Creates a new, named, range of extensions assigned for parking calls within
New-CsCallParkOrbit -Identity <XdsGlobalRelativeIdentity> -NumberRangeStart
<String> -NumberRangeEnd <String> -CallParkService <String> [-Confirm [<Sw
itchParameter>]] [-InMemory <SwitchParameter>] [-Priority <Int32>] [-Tenant
<Nullable>] [-WhatIf [<SwitchParameter>]] [<CommonParameters>]
Parking a call assigns a received phone call to a specific extension for la
ter retrieval. A call park orbit is the set of extensions defined to a spec
ific call park server for this purpose. The New-CsCallParkOrbit cmdlet defi
nes the extensions for a call park orbit and applies them to a specific a s
ervice. Calls parked within the given range will be parked on the specified
Call Park Service. Multiple call park orbits can be created; each must hav
e a globally unique name and a unique set of extensions.
For my example, this command will read:
New-CsCallParkOrbit –Identity “Winxnet Parking Lot” –NumberRangeStart “#900” –NumberRangeEnd “#950” –CallparkService winx-cs2010b3.winxnet.com
Note the number range being in quotes because I am using a # symbol.
The output should look like below:
Communications Server Control Panel
The Communications Server Control Panel is the replacement for the old MMC snapin with previous OCS Versions. This is a silverlight based web client to manage majority of Communications Server Settings.
To complete the above configuration in the UI, first open Internet Explorer and navigate to your CSCP web page:
This UI may be changing a bit, so I will just cover what is involved in creating a call park group.
In the left navigation menu, choose Voice Features
You will see in the screenshot above the Call Park Number Range I previously created using powershell.
To create a New range Select New
You will be presented with a form to enter the same information as above. The only difference is that “Destination” is the CallparkService from your power shell command.
Now that you have created a Call Park Number Range in your communications server environment, your clients should be able to place calls on park hold, and retrieve these calls.
While in a call, under the Transfer menu, you will have a new Option for Parking Lot
When you choose Parking Lot it will park the call, and notify you the call has been parked, and what number to dial to retrieve. You also have the option to Copy the text. If you copy the text it can be pasted into an IM or an Email to send to another user.
Now, in communicator I can dial the number specified in the message, to retrieve the call.
Once the call has been retrieved, the user will be notified that the call was retrieved, and the person retrieving the call will be connected to the user on the line.
The left side of the screenshot is the notice that the call was answered, and the right side is what it looked like when I retrieved the call.
This is one of the many great new functionalities coming with Communications Server 2010 later this year, to find out more please visit: http://www.microsoft.com/uc/
To learn more about CS 2010 Powershell, check out this awesome blog http://blogs.technet.com/b/csps/