I have a client and they want to have the ability to have parked calls picked up when they dial in to the main auto attendant. I'm not sure of how to design the auto attendant so this works or what the best practice for something like this is.
Can anybody help me out?
Depending on your CUCM version you may be able to accomplish what you need.
If you are using standard Call Park then javalenc is correct there would be no way to do this in a way that was actually useful to the end user. However, depending on your requirements, you may still have a viable solution available. You could leverage Directed Call Park. With Directed Call Park a user that is "parking" the call can specify the "park" number. Then, you could have your AA application provide IVR options so that you can retrieve the "parked" call easily.
So, a sample scenario:
mypark_pt: Partition that will hold the directed park numbers
You need to make sure that this partition is visible from the phones that will park the call and the Unity voicemail ports which are used to retrieve the parked call.
Directed Call Park DN:
You create a directed call park number (Call Routing->Directed Call Park) and specify parameters that work in your environment. For example:
Retrieval Prefix: *03
Note: you may want to specify reversion information as well (and look at CUCM service paramters related to park while you are at it)
AA Call Handler:
Create a call handler that has a callers input menu like so:
Keypad 1: transfer to *031081230
Keypad 2: transfer to *031081231
Keypad 3: transfer to *031081232
...and so on...
Create a greeting that tells the user what to press.
If you want this Call Handler to stand by itself, then you will need a DN assigned to this rule and then a way in CUCM to redirect callers to the Unity system. In Unity leverage routing rules or the Call Handler extension with the existing/default Unity forwarding rules to direct the caller to the Call Handler. I am going to assume you know how to do all of this.
If you want this Call Handler to be an option on your AA application, then create the keypad option in your AA application that sends callers to the "Call Park" call handler.
1. Caller calls Phone_A
2. Phone_A answers the call
3. Phone_A wishes to park the caller using directed call park so the user of Phone_A uses the Transfer soft key and then dials: 1081230. After dialing the park number, Phone_A hangs up
4. The Caller hears MoH or ToH per your design and is "parked"
5. Admin_A calls the "Call Park AA" application on Unity and gets prompted to "press 1 for parked number 1, press 2 for parked number 2, etc."
6. Admin_A presses "1" and then unity transfers Admin_A to *031081230 (the *03 tells CUCM this is a retrieval action)
7. Once the transfer is complete the original Caller is talking happily to Admin_A
This will require heavy user training and still isn't something I would promote doing, but you asked if it could be done and how one could approach it. I doubt you care about my opinion on whether you should or not ;-)
Hope that helps.