I have a customer that is migrating to Unity 3.1(5) from a Centigram system. They currently have the ability to assign mailboxes an attendant DN. Basically this gives the caller the option to '0 out' to the assigned attendant during the greeting. No big deal except this client has about 50 different attendants. I have found that I can configure a 'Caller Input' option for each user such that a 0 input during the greeting directs the call to a Call Handler. This Call Handler is set to 'attempt a supervised transfer' to the subscriber's assigned attendant and if the attendant does not answer, it dumps the call back to the subscriber's greeting. It seems to work just fine.
Here's my problem! Configuring this option requires a Call Handler be created for each subscriber. I was able to bulk create the Call Handlers with the correct transfer option configured using one of the many excellent tools available for Unity, however I can't seem to find a way to automate changing the following options:
For each subscriber I need to set the Caller Input '0' option to attempt transfer to the Call Handler I have created for the subscriber. For each subscriber's Call Handler I need to set the action after greeting to send the call back to the called subscriber's greeting. I would also like to set the message recipient for the Call Handler to the subscriber as well. I have looked at the tools and don't see a way to change these options. The bulk edit tool lets me change a lot of subscribers and call handlers at the same time, but it appears that it only lets you change settings to selected options for chosen Subscribers / Call Handlers to the same thing.
What would be ideal is a tool that I could use to change settings on Call Handlers and subcribers from a CSV. Maybe I have just overlooked something in the current tools, but I can't seem to find a way to change the specific items I need changed. I have been cautioned many times about messing directly in SQL or I might try to develop a SQL query to do it.
You haven't overlooked anything, there isn't any tool out there to do this type of custom editing in bulk. Unity 4.x will include a bulk import tool from CSV that will allow updates to standing users (I don't think that feature shipped with 4.0(1) however - I 'll have to check). That said, it wont let you edit ALL properties on a subscriber, on the top level attributes which excludes things such as one key mappings and after greeting actions. And it doesn't deal with call handlers at all.
From a practicality standpoint, I can't really see how an SQL script or a bulk editing tool could be used here - you'd have to have some mechanism to associate the call handler with the subscriber you wanted it to be tagged to for local area operator assignements - I couldn't see doing this in a tool like BulkEdit in any kind of a generic way, it'd have to be a custom app just for this type of thing. Same deal for an SQL script - I'd be hard pressed to make a script that would automatically do this for you unless I'm overlooking some snappy way to make such associations between objects on the fly.
If it were me I'd use the Audio Text Manager tool to hook these up - it's an order of magnitude faster than using the SA to do this and less error prone. You should be able to pound through several of these a minute. You can check it out, including its training video, here:
Jeff, as far as using a SQL script, my logic went like this. When I created the Call Handlers I named them the same as the users Display name except for appending a ' - CH'. I figured for every subscriber record I could do a lookup for there display name, use it to reference their associated Call Handler and plug the associated user info (probably a SID like record) into the Call Handler fields I need to update. I could sort of do the reverse for attaching the handler to the Caller Input 0 option!. Just a thought.
In my case, the information the customer gave me to create the Subscriber accounts didn't quite match the information they gave me for creating the Call Handlers. In one case they used full names and the other nicknames. Anyway, I was hoping I could export the information to to CSV, clean it up and import it back in, updating the Call Handlers necssary fields. It sounds like we can't get to all those fields.
Oh well, the customer will just have to do a little extra work getting things connected. I will try out the Audio Text Manager. However, for future reference, we are seeing quite a bit of Centigram in the Chicago area it seems. I have come across this in the past, although not 500 users worth! I think the SQL thing might work. Maybe I will do some testing on my play system. Let me know what you think about the SQL idea.
If you were going to create the call handlers on the fly based on the subscriber's already created, I guess a little application (a script would be tough) could do the job here - you'd need to get creative pulling the operator extension number info out of a CSV or database or something (not sure how subscribers are assigned to different operators - extension ranges? COS memebership? DL membership?).
I'm acutally working on the "Programatic Administration Of Unity" for 4.0(1) and later today - this is the 4th chapter I'm turning in for the upcoming Unity book several of us are working on - I cover the creation of call handlers and editing of subscriber properties (all of them, not just the top level ones) among other things - I still have several weeks of work left before a draft will be posted on the documents page of CiscoUnityTools - and it's for 4.0(1) and later only. Programatic administration of 3.x systems and earlier has a number of challanges that were overcome in the 4.0 release. Perahps I'll include this scenario as an example exercise in there...
Short story is you'd create the call handler object using a template, you'd snag the CallHandlerObjectID (unique identifier for that handler in the table) and stuff it into the 0 key for the subscriber in the MenuEntry table, set the key's action and conversation properties correctly etc... you'd have to manually edit the call handlers transfer rules (ContactRule table) and greetings rule (MessagingRule table) and all that good stuff.
Medium complexity but not all that bad. Before embarking on that you'd want to get a good handle on the Unity data object model and familiarize yourself with the SQL tables and columns. The CUDLE (Cisco Unity Data Link Explorer) is a tool I created just for folks that want to try and write their own applications/scripts for administering Unity - it includes a built in data dictionary for the most commonly used tables. You can get it here:
The data object model chapter is not yet on the documents page out there - I'll probably post the draft I have there early next week. The audio text document that's there might be good for you to cover since it talks about conversation flow through the handler that you'll need to understand for doing this type of thing.
I hope to have the programatic admin chapter out there by the middle of Jan., but I've got fax and Hostpitality/PMS projects on my plate as well so they're all kind of competing at the moment - we'll see how it goes.
IntroductionCUCM Routing RulesDial String implementation PolicyCUCM Routing LogicSIP URI Call Routing Analysis+++ Case Study: 1 ++++++ Case Study: 2 +++Conclusion
Over the last few months, I have had the privilege of working on SI...
Are you getting this error “Installer User Interface Mode Not Supported. The installer cannot run in this UI mode. To specify the interface mode, use the -i command-line option, followed by the UI mode identifier. The value UI mode identifiers...