SfB "Cannot park call right now"

I’m on record saying Call Park is my favourite PABX feature, and its great that we have it available to us in Skype for Business.

“Parking” a call transfers it off to a “holding bay” where the caller hears MOH until such time as someone retrieves the call. If they’re left waiting too long a timeout returns it to the party who parked it.

In SfB you initiate the process by clicking Transfer, then selecting “Park the call”. All going well the call vanishes to places unknown and is replaced with a message to say “the call is parked”, and a special “Orbit” number you – or anyone – can dial to retrieve it.

Its utility eclipses that of a simple call transfer when you don’t actually know where you need to transfer the call to, or if you want to securely (or secretly) manage the process. It’s the perfect answer for a range of scenarios:

  • The attendant can park a call for someone and then over the Public Address system announce who the call’s for and at what call park “Orbit” number they’ll find it.
  • In the absence of a PA system anyone can park a call for someone, jot the Orbit number on a post-it note and personally seek out the recipient, thrusting the retrieval code into their hand.
  • It’s a more relaxed approach to an “announced (supervised) transfer”: park the call, IM the recipient and type the park location into the IM. When they’re composed and ready to take the call they retrieve it from where it’s parked.
  • Staff in open-office environments can use it to easily move a sensitive call from their shared workspace to the privacy of a meeting room. The advantage of Call Park over Transfer in this scenario is that they need not know the name of a nearby room or even if it’s occupied: just park the call and wander around until you find a safe space.

Parking a Call

The option to park a call is presented to everyone, even if it’s not enabled for their account or setup in the back-end. The visual indicator of the former is quite subtle. Compare the colour of the message in these two screen-grabs:

Enabled – blue text Disabled – grey text
ParkTheCall-Enabled ParkTheCall-Disabled2

If you’re not enabled, the words “Park the call” won’t be clickable, and the mouse pointer won’t change when you hover over the text.

If you want to enable Call Park for this user, edit their Voice Policy and tick the option:

CallParkDisabledInVoicePolicy

Note that once you’ve made and Committed this change it’s not going to become available to the user straight away. Have them sign out and back in again to trigger its activation. (They may still need to wait a while or do this several times).

Successfully parking a call will present a message like this:

TheCallIsParked

With this window still open you can simply click Retrieve to be reconnected to the parked call, however you’re free to close this window and you or anyone else can dial #112 to retrieve it.

 

Call Park Fails

What if, having been enabled, your users encounter errors parking calls?

Cannot park call right now. Please try again later.

CannotParkCall

You might be puzzled by this message in the Event Log on your Front-end server:

Event 31017, LS Call Park Service
There are no more orbits available to park the call. Cause: All available orbits are in use. Resolution: Increase orbit ranges

NoMoreCallParkOrbits-Event31017

You have enough orbit numbers, and there aren’t any calls parked at all:

Get-CsCallParkOrbit-Before

Get-Service-NoCallsParked

Actually, as it turns out, you don’t have ANY Orbits on one of your Front-End pools, and users always park calls using the Call Park service (and thus the Orbits) of the pool they’re homed to. Because of this the problem may appear to be intermittent, although it will in fact be localised to an entire pool(s).

The fix here is a simple one: just make sure there’s a Call Park Orbit range in all of your Front-End pools:

PS C:\> New-CsCallParkOrbit "SfB Pool Park" -NumberRangeStart "#100" -NumberRangeEnd "#119" -Type CallPark -CallParkService "applicationServer:<MyPoolFQDN>"

It’s worth mentioning that TechNet stipulates “If the orbit range begins with the character * or #, the range must be greater than 100” but in my experience that’s not required. My three-digit range of only 20 call park numbers works fine. As always though, I suggest you follow the TechNet guidelines for any production deployment.

 

Call Park Retrieval Fails

If your users encounter problems retrieving parked calls, check you don’t have a “+” or other funky character in the “Simple Name” of any Dial Plans. I found this in Lync 2010 and it’s still present in Skype for Business 2015 v6.0.9319.277. Check my 2011 post “A bad Lync Dial Plan name will break Call Park“.

Call was not completed or has ended
It parked OK… … but can’t be retrieved
CallParkedOn#100 UnableToRetrieveFrom#100

Here’s what it looks like from the log on the client’s PC:

SIP/2.0 400 The INVITE request URI is malformed. 
To: <sip:%23100;phone-context=lab+sfbdialplan@contoso.net;user=phone>;tag=1A1E15165DA81C7FAE778A09EAEF4229
ms-diagnostics: 14008;reason="Not a phone number";source="S4B2015SE.contoso.LOCAL";ValidationFailureDetails="phone-context has characters that are not allowed in a domain name.";appName="TranslationService"

CallParkRetrieveFailed-InviteMalformed

On-prem vs Cloud PBX

Call Park is currently only applicable to users homed on-premises. Here’s hoping it will be added to the feature offering as Cloud PBX continues to evolve.

References

Revision History

12th March 2017. This is the initial publication.

 
 
– G.

Leave a Reply

Your email address will not be published.

... and please just confirm for me that you're not a bot first: Time limit is exhausted. Please reload the CAPTCHA.

This site uses Akismet to reduce spam. Learn how your comment data is processed.