We have recently started using AC in our existing environment and I am wondering about how the directory should be setup to best support the AC.
We have a centralised CCM cluster with multiple sites (each site with local gateway to the PSTN).
Currently we have 4-digit numberplan for each site where each site has it's own range (e.g. 1xxx for site1, 2xxx for site2). For intersite calling we route calls over the wan or PSTN depending on call rates/costs. Since we have over 100 sites in total we have chosen to implement intersite-dialing with 8-digits (4 digits site code, 4 digits extension). To ease management DC directory holds 8-digit number for each user. If someone calls to a local extension using 8 digits there is a trnslation pattern to translate back to 4 digits which all works fine.
Now, because the directory is setup for 8-digits while the extension are in fact 4 digits, there is no busy status indication on AC while trasfer with drag and drop works okay.
So, now I am wondering what the best way to move forward would be.
Anyone experienced with above setup?
Solved! Go to Solution.
Busy status only is shown if less than 10 phones are listed in the AC directory at once. So if you are listing 100 users in the AC directory you will not receive busy status indication.
This might not be the problem you up against but I thought I would let you know.
AC looks for the actual extension number of the phone. So if you have populated the Telephone number field of the user with an 8 digit number, but if the phone actually has a 4 digit number, the busy status information will be lost. You have to match up the phone's extension with the telephone number field, otherwise attendant console will not be able to find the status of the phone. I had this same issue with AD integration where the phone extensions were 7 digits, but the user telephone number field had 10 digits.
Attendant console looks at Corporate directory by importing all users and numbers to a text file. You may be able to write a script that parses through the file periodically and strip the 4 digit site code. This was suggested by TAC.
I?ve rated your post helpfull as that is similar to what I figured is happening, and the solution provided would be the way to move forward I guess (considering we have about 100 sites, intersite dialing and stuff like that).
Do you happen to know the file AC uses to copy the info to, or happen to know any place where this background copy process (once in a few hours from what I?ve seen so far) is documented?
The script writing should be the least problem, assuming the copy will be XML based as all others, but I am curious to know the process and files involved.
Even though TAC recommended this, we never went ahead and implemented this, as you never know what could break when the script is a third party written app. I doubt if TAC would ever support this officially.
Here is the path to the file. Also forgot to tell you that its a text file.
C:\program files\Cisco\Call Manager Attendant Console\userlists
Again this folder should be on the Attendant's PC and not on the server.
PS: please remember to rate posts!
Thanks again, when I have time (I am quite busy with extending our call center solution) I will try to see if I can fiddle something with the file. The worst that could happen is I ruin the attendant console and need a re-install, since it is just desktop and not server based.
Thanks for your time, and keep up the good work on this forum.
Hi, I took some time yesterday to figure out a script on how to replace certain text strings in a text file, this in order to work around the problem as described. I can now tell I succeeded in writing the right vbs script (by looking in several samples in the MS script repository at technet).
For those who are interested, here is how it looks like:
'* To use this script just type a command similar to this from *
'* the command prompt: *
'* ReplaceText.vbs "C:\Program Files\Text.txt" "Jim " "James " *
Const ForReading = 1
Const ForWriting = 2
strFileName = Wscript.Arguments(0)
strOldText = Wscript.Arguments(1)
strNewText = Wscript.Arguments(2)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(strFileName, ForReading)
strText = objFile.ReadAll
strNewText = Replace(strText, strOldText, strNewText)
Set objFile = objFSO.OpenTextFile(strFileName, ForWriting)
Now the only thing I need to do is adding this to scheduled tasks. Allthough only a cosmetic issue, I discovered that scheduled tasks are limited to daily at a particular time, which means I will have to add several daily tasks if I want to run the script at let's say 15 minute interval.
Another approach I consider is have the user start a batch file rather then the program icon itself. the batch file would first start the program, then sleep for a couple of seconds, and then run the script.
I believe the last way is the better way, but this is assuming that the CorpoRateDirectory.txt file is only copied at startup (I did check the creation date/time and it always shows the date/time that the user logged on. Anyone who knows if this is indeed correct?
That is generally correct. The attendant console server reads and caches directory entries at startup. After an initial handshake determines whether the directory entries changed since the previous log in, the attendant console downloads the directory user list. The attendant console also downloads the user list when the interval in the Directory Reload Interval field in the Attendant Settings dialog box expires or when the user clicks the Reload button in the Directory window. Have a look;
Q. I just added a user from the Cisco CallManager Administration page, but I do not see that user in the directory window on the client. What should I do?
A. The server extracts the user list from the directory, when one of these conditions is met:
Telephony Call Dispatcher (TCD) service is started and the directory sync interval is not zero.
Directory sync interval expired.
Directory sync interval changed from the Cisco CallManager administration page.
**The client loads the user list only at login**. You need to re-login after any one of these conditions has been met for the client to see an updated user list from the server. Users without telephone numbers are not displayed on the client. Make sure that all relevant users have phone numbers listed for them in the directory.
From this good AC Q&A doc;
Understanding the Cisco CallManager Attendant Console Directory
The attendant console server reads and caches directory entries at startup. After an initial handshake determines whether the directory entries changed since the previous log in, the attendant console downloads the directory user list. The attendant console also downloads the user list when the interval in the Directory Reload Interval field in the Attendant Settings dialog box expires or when the user clicks the Reload button in the Directory window.
The attendant console searches the following files (in order) for the user list:
User list file that is specified in the Path Name of Local Directory File in the Attendant Settings dialog box on the attendant PC
CorporateDirectory.txt file in the userlist directory on the Cisco CallManager Attendant Console server. You can create the CorporateDirectory.txt file if your user list is located on a directory server that is separate from the Cisco CallManager server.
Note For information on creating a CorporateDirectory.txt file, see the "Creating the CorporateDirectory.txt File" section.
AutoGenerated.txt file that is generated by the Cisco TCD service and stored in the userlist directory on the Cisco CallManager Attendant Console server. If the Directory Sync Period service parameter does not equal zero, Cisco TCD generates the AutoGenerated.txt file when the Cisco TCD service starts and when the directory sync period expires.
To modify the Directory Sync Period service parameter, choose Service > Service Parameters. Choose the appropriate server from the Server drop-down list box and choose the Cisco Telephony Call Dispatcher Service from the Service drop-down list box.
The user list file exists in comma separate value (CSV) format and contains the following information:
Hope this helps!
Thanks for the additional info, it was very complete. It lead me to the conclusion that it would be best to have a scheduled task running to strat a batch file/script, that replaces particular strings, then copies it to another file and use this as a custom directory.
I have completed it, implemented it today and all works fine. I will post a zip file with all info (just in case someone is having the same problem).
Thanks both Sankar and Rob for your excellent help on this on. Thanks to myself for writing the script :-))