Document ID: 22328
Contents
Introduction
Prerequisites
Requirements
Components Used
Conventions
Background Information
Step-by-Step Instructions
Verify
Troubleshoot
Related Information
Introduction
Once an administrator provides subscribers with the appropriate Cisco Unity server name, subscribers can use the following URL to access ActiveAssistant:
http://server name/web/aa
When every subscriber in an organization is homed on the same Cisco Unity server, an administrator can distribute the same URL to all subscribers. However, in a network with multiple Cisco Unity servers, an administrator must keep track of which server each subscriber is homed on in order to provide them with the appropriate URL to access ActiveAssistant.
This document can help avoid this task by providing every subscriber with the URL to a single Cisco Unity server that is set up to automatically redirect subscribers to the appropriate ActiveAssistant web site for their account. For example, the administrator can instruct all subscribers to use the following URL to access their ActiveAssistant pages:
http://redirect server name/ActiveAssistant
Alternatively, an administrator may prefer to set up each Cisco Unity server in the network as a redirect server. In this scenario, since all Cisco Unity servers are able to redirect subscribers to the appropriate ActiveAssistant web site, subscribers also do not have to remember a new server name to access ActiveAssistant.
Note: In both cases, /web is no longer included in the path, and subscribers must spell out ActiveAssistant, rather than use the abbreviated aa in the URL as in the past.
Prerequisites
Requirements
Before you attempt this configuration, please ensure that you meet the following prerequisites:
-
You are familiar with Active Server Pages (ASP).
-
You are familiar with Internet Information Server (IIS).
-
Your subscribers have the appropriate class of service (CoS) rights to access ActiveAssistant.
Components Used
The information in this document is based on Cisco Unity 3.x servers. It requires that the Cisco Unity server be connected to Exchange 2000.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Conventions
For more information on document conventions, see the Cisco Technical Tips Conventions.
Background Information
You should consider the following information before you use this document:
-
The redirect server that you want subscribers to use to access ActiveAssistant must be in the same domain as the servers that these subscribers are homed on.
-
The code for the ASP file, offered in Step 1 of the Step-by-Step Instructions section of this document, has some problems dealing with the child domain when the Cisco Unity servers are set up with two domains (one parent and one child). For example, when you connect to the child redirection server, and enter the name and password of a child user, you get the following error:
Microsoft VB runtime (0x800a0005) Invalid procedure call or argument, line 35
Line 35 is: If (Session("dbconn").CompareObjectIds(LocObjId, CurLoc)) then
If the user is not found, the whole location section of the ASP file should not be executed. Doing so results in another error. Instead, move the End If statement, highlighted in the following example, to the specified location:
If oRS.EOF and oRS.BOF Then Response.Write "User Not Found" Else LocObjId=oRS(0) We found the location that this user is assigned to End If !--- Move this End If statement from this location. oRS.Close Set ors=Nothing strQuery = "<LDAP://" & strADServerName & ">;(&(objectCategory=ciscoEcsbuUMLocation) (ciscoEcsbuUMLocationObjectId=*));ciscoEcsbuUMServer,ciscoEcsbuUMLocationObjectId;subtree" Set ors = oConn.Execute(strQuery) If oRS.EOF and oRS.BOF Then Response.Write "Location Not Found" Else Dim i, CurLoc, strServer For i = 0 to oRS.RecordCount CurLoc=ors(1) Get the second column from the recordset. If (Session("dbconn").CompareObjectIds(LocObjId, CurLoc)) Then use the DbConn DLL to compare the location object IDs. strServer=ors(0) Response.Redirect "http://" & strServer & "/web/aa" Exit For End If oRs.MoveNext next End If !--- Move the End If statement to this location. oRS.Close Set ors=Nothing oConn.Close Set oConn=Nothing %> -
It is possible that you may need a Domain Control Global Catalog (DCGC) in each domain for which you set up a redirect server, in order to avoid lookup problems. You may, however, already have this set up to avoid Exchange 2000 mail routing problems.
Step-by-Step Instructions
Use the following steps to set up one or more Cisco Unity servers as redirect servers.
-
Either enter or copy the following code to C:\CommServer\Web\Redirect\default.asp on the Cisco Unity server.
Note: The following example code uses the SaDBConn.dll that is released with Cisco Unity, and therefore can only be run on a Cisco Unity server. You must install the ASP file on at least one Cisco Unity server in the network, although you can save it to a different directory if desired.
<% Dim x,strUser, LocObjId, oConn, ors Create the variables. strUser = Request.ServerVariables("AUTH_USER") Get the user information from IIS. Create a connection to the AvSaDbSession object Set Session("dbconn")= Server.CreateObject("AvSaDbSession.AvSaDbSession.1") hr = Session("dbconn").Initialize Get the user name for the logged-in account. for x = 1 to len(strUser) If mid(strUser,x,1)="\" then strUser = right(strUser,Len(strUser)-x) end if next strADServerName = Request.ServerVariables("SERVER_NAME") Get the server name. Create the query to get the location ID associated with this subscriber. strQuery = "<LDAP://" & strADServerName & ">;(&(objectCategory=person) (sAMAccountName=" & strUser & "));ciscoEcsbuUMLocationObjectId;subtree" Set oConn = CreateObject("ADODB.Connection") Create an ADO Connection. oConn.Provider = "ADsDSOOBJECT" ADSI OLE DB provider oConn.Open "ADs Provider" Set ors = oConn.Execute(strQuery) Execute the query. If oRS.EOF and oRS.BOF Then Response.Write "User Not Found" Else LocObjId=ors(0) ? We found the location that this user is assigned to. End If oRS.Close Set ors=Nothing strQuery = "<LDAP://" & strADServerName & ">;(&(objectCategory=ciscoEcsbuUMLocation) (ciscoEcsbuUMLocationObjectId=*));ciscoEcsbuUMServer,ciscoEcsbuUMLocationObjectId;subtree" Set ors = oConn.Execute(strQuery) If oRS.EOF and oRS.BOF Then Response.Write "Location Not Found" Else Dim i, CurLoc, strServer For i = 0 to oRS.RecordCount CurLoc=ors(1) Get the second column from the recordset. If (Session("dbconn").CompareObjectIds(LocObjId, CurLoc)) Then use the DbConn DLL to compare the location object IDs. strServer=ors(0) Response.Redirect "http://" & strServer & "/web/AA" Exit For End If oRs.MoveNext next End If oRS.Close Set ors=Nothing oConn.Close Set oConn=Nothing %> -
Choose Start > Programs > Administrative Tools > Internet Services Manager.
-
Browse to *machinename > Default Web Site > ActiveAssistant.
-
Right-click ActiveAssistant, and then select Properties.
-
Set the local path to C:\CommServer\Web\Redirect, or to the directory that contains the ASP file you saved in Step 1.
-
Under Local Path, confirm that Read is checked.
-
Confirm that Execute Permissions is set to Scripts Only.
-
Click OK.
-
Repeat Steps 1 through 8 on each Cisco Unity server that you want to set up as a redirect server.
-
Notify subscribers that they can no longer use the URL for ActiveAssistant as indicated in the Cisco Unity User Guide and the Cisco Unity at a Glance cards. Instead, give them the new ActiveAssistant URL, as appropriate.
-
If you set up only one Cisco Unity server as the redirect server, tell them to use the following URL:
http://redirect server name/ActiveAssistant
Point out the new server name, the deletion of /web from the path, and that they must now spell out ActiveAssistant, rather than use the abbreviated aa.
-
If you set up every Cisco Unity server in the network as a redirect server, tell them to use the same server name that they have used in the past in the following URL:
http://server name/ActiveAssistant
Point out the deletion of /web from the path, and that they must now spell out ActiveAssistant, rather than use the abbreviated aa.
-
Verify
There is currently no verification procedure available for this configuration.
Troubleshoot
There is currently no specific troubleshooting information available for this configuration.
Related Information
- Voice Technology Support
- Voice and Unified Communications Product Support
- Recommended Reading: Troubleshooting Cisco IP Telephony

- Technical Support - Cisco Systems
| Updated: Jan 10, 2006 | Document ID: 22328 |
