How to use the TAPI Service Provider for the Cisco CallManager Installing CiscoTSP 4.0 ------------------------ 1.If you wish to upgrade a system where CiscoTSP 3.0 is installed to CiscoTSP 4.0, then you can run the CiscoTSP 4.0 Install on that system to perform the upgrade. If you wish to install CiscoTSP 3.0 on a system where CiscoTSP 4.0 is installed, you must first uninstall CiscoTSP 4.0 using the CiscoTSP 4.0 Install and then run the CiscoTSP 3.0 Install. If you try to run the CiscoTSP 3.0 install on a system where CiscoTSP 4.0 is already installed, then you will run into major problems. 2. If user accidently installs CiscoTSP 3.0 on top of CiscoTSP 4.0 then user has to follow these manual steps to clean up the install for both CiscoTSP 3.0 and CiscoTSP 4.0. For Winnt/95/98 2.1 Remove all CiscoTSP entries in the providerlist by going to ControlPanel\Telephony. Go to Telephony Drivers tab and Select all the CiscoTSP entries and Remove them from provider list. For Win 2k 2.1 Go to ControlPanel\Phone & Modem Options, go to Advanced tab and select all CiscoTSP entries and Remove them from provider list. Following steps are Common for all platforms. 2.2 Go to registry HKEY_LOCAL_MACHINE\SOFTWARE\Cisco Systems, Inc. delete CiscoTSP registry key with its subkeys. 2.3 Delete all the CiscoTSP*.tsp & CiscoTUISP*.dll from winnt\system32 directory. You may have to reboot the system so that it will allow you to remove these files. 2.4 Go to registry key. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and Delete sub keys {AF198881-AF5B-11D4-9DA2-000039ED6324} and CiscoTSP. NOTE: Please DO NOT delete the entire Uinstall key, just delete the ------ {AF198881-AF5B-11D4-9DA2-000039ED6324} & CiscoTSP key. You have successfully removed all of the CiscoTSP's from the system. It is now safe to install either CiscoTSP 3.0 or CiscoTSP 4.0 onto the system. Configuring the Cisco TSP ------------------------- With the Multiple TSP support with CiscoTSP4.0 user will have to configure all the installed TSPs in the following manner. For Windows 95/98/NT: >From Control Panel, execute the "Telephony" utility. Select the "Telephony Drivers" tab and look in the list of service providers for "CiscoTSP0xx". Highlight this entry and click the "Configure" button. The Cisco TSP configuration window should be displayed. For Windows 2000: >From Control Panel execute the "Phone and Modem Options" utility. Select the "Advanced" tab and look in the list of service providers for "CiscoTSP0XX". Highlight this entry and click the "Configure" button. The Cisco TSP configuration window should be displayed. For Windows NT/95/98/2K the config screen is the same. Go to "User" Tab. The security fields are the User Name and Password. To change the user name stored in the registry, overwrite the name in the user name edit box. Type in the new password and confirm the password in the "verify password" edit box. The passwords must match. This user and password must be configured in the Call Manager user administration pages in order for authentication to pass. There can only be one user name and password active at a time. Go to "CTI Manager" tab. The Call Manager location information is entered in this dialog box. If the TSP is on the same machine as the Call Manager click the Local Machine radio button. If the Call Manager is on a different machine then click the Call Manager IP Address radio button and enter the IP address or click the Call Manager Name radio button and enter the host name. Go to "Wave" tab. Select the desired number of wave devices this TSP wants to use. There is a limit on the max no of wave devices that can be installed on a system. User will have to choose the no of wave devices thru the available no. Go to "Trace" tab. Refer to section below named "Turning on tracing for the TAPI Service Provider" for details on this. Go to "Advanced" tab The Synchronous Message Timeout is the time the TSP should wait to receive a response to a CTI synchronous message. The value is expressed in milliseconds and the default is 15000 ms. CSCdu74953: ProviderOpenCompletedTimeout value can be modified to support more devices per user. The default value is 50 sec. (as part of CSCdz05047) and the max is 900 sec (15 min). This timeout value would be sufficient to open the maximum supported devices for TSP release (4.0). General guideline would be ProviderOpenCompletedTimeout > (CTIDatabaseQueryInterval /CTIDatabaceQueriesPerIteration) * Number_of_devices_in_controlList where CTIDatabaseQueryInterval & CTIDatabaceQueriesPerIteration are CTI service parameters. Go to "Language" tab This page will show you the installed languages in which you can view the configuration panel as well as execute your installation/uninstallation. Select the desired language and click on "Change language" button. This will update the entire Configuration UI with the selected language text. The rest of the fields in the TSP configuration dialog box are described in the "TAPI User's Guide". NOTE: After configuring the TSP, the telephony service must be restarted before an application can run and get it's devices. NOTE: To Add/delete voice lines from the TSP config, first you have to uninstall (using instructions in section "Uninstalling Wave Driver") and then add/delete the voice lines and then install wave driver (using instructions in section "Installing the Wave Drivers") if wave driver has been already installed on the system. If there is no wave driver installed on the system then add the devices and then install the wave driver using instructions in the section "Installing the Wave Drivers". Installing the Wave Drivers --------------------------- For Windows NT: >From Control Panel, execute the "Multimedia" utility. Select the "Devices" tab. Highlight "Audio Devices" and click Add. Select "Unlisted or Updated Driver" and Click OK. On the "Install Driver" window click "Browse" and Browse to the C:\Program Files\Cisco\Wave Drivers directory and click OK. Click OK again in the "Install Driver" window. Select "Cisco TAPI Wave Driver" in the Add Unlisted or Updated Driver window and click OK. When prompted to reboot your machine, do so. For Windows 2000: >From Control Panel execute the "Add/Remove Hardware" utility. Select "Add/Troubleshoot" when the prompt "Choose a Hardware Task" is displayed. Click the "Next" button. Select "Add a New Device" when the prompt "Choose a Hardware Device" is displayed. Click the "Next" button. Select "no" when the question "Do you want to search for new hardware devices" is displayed. Click the "Next" button. Select "Sound, video and game controller" when prompted for hardware type. Click the "Next" button. Click the "Have Disk" button when prompted to "Select a Device Driver". Click the "Browse" button on the "Install from Disk" window. Browse to C:\Program Files\Cisco\Wave Drivers and select the file "OEMSETUP". Click "Open" to install the Cisco Wave Driver. When prompted for "Install from disk 1" for file avaudio32.dll, choose Browse button and select path "C:\Program Files\Cisco\Wave Drivers" and click Open to install the avaudio32.dll. When prompted to reboot your machine, do so. For Windows XP: >From Control Panel execute the "Add Hardware" utility. Click the "Next" button. Select "Yes, I have already connected the hardware" Radio button. Click Next. Select "Add a new Hardware device" from the list. Click the "Next" button. Select "Install the hardware that I manually select from a list" radio button. Click the "Next" button. Select "Sound, video and game controller" when prompted for hardware type. Click the "Next" button. Click the "Have Disk" button when prompted to "Select a Device Driver". Click the "Browse" button on the "Install from Disk" window. Browse to C:\Program Files\Cisco\Wave Drivers and select the file "OEMSETUP". Click "Open" to install the Cisco Wave Driver and select OK. Highlight the "Cisco TAPI Wave Driver" in Select a Device Driver window and select 'Next'. Select 'Next' in "Start Hardware Installation" window. If Prompted for "Digital signature Not Found" click on "Continue Anyway" button. When prompted for "Install from disk 1" for file avaudio32.dll, choose Browse button and select path "C:\Program Files\Cisco\Wave Drivers" and click Open to install the avaudio32.dll. When prompted to reboot your machine, do so. The Cisco WaveDriver is not supported on Windows 95 or Windows 98. Uninstalling Wave Driver ------------------------------------------------ For Windows NT: >From Control Panel, execute the "Multimedia" utility. Select the "Devices" tab. From "Audio Devices" highlight "Audio for Cisco TAPI Wave Driver" and select Remove. It will prompt to "Are you sure, you want to remove Cisco TAPI Wave Driver?" choose Yes. For Windows 2000: >From Control Panel execute the "Add/Remove Hardware" utility. Select "Uninstall" when the prompt "Choose a Hardware Task" is displayed. Click "Next" button. From "Add/Remove Hardware Wizard" choose the device to be removed from the list displayed. Select "Cisco TAPI Wave Driver" device. When prompted to uninstall select "Yes, want to uninstall". Device is uninstalled. Click on "Finish" button to complete uninstall. Restart Windows. For Windows XP: >From Control panel, execute the "Sound and Audio Devices" utility. Select the "Hardware" tab. Select "Cisco TAPI Wave Driver". Click 'Properties' button. Select "Driver" tab. Click on 'Uninstall' button. Click 'ok' to remove. The window will still have "Cisco TAPI Wave Driver" entry. Close and open the window again to verify that it the entry has been removed. Restart Windows. Turning on tracing for the TAPI Service Provider ------------------------------------------------ Go to "Start", "Settings", "Control Panel" and select "Phone and Modem Options". Go to "Advanced" tab. Select the "CiscoTSP0XX" and click "Configure" button. Go to "Trace" tab. Select "Trace On" check box and select the 1. "TSP Trace" to trace the TSP internal messages. Select Error to just log erros in the TSP Select Detailed to log internal messages for debugging purposes. 2. "CTI Trace" to trace the messages sent between CTI and TSP 3. "TSPI Trace" to trace the requests and events sent between TSP and TAPI Directory : is the path for the trace log. For example, c:\Temp No. of Files: Set this to a value greater than or equal to 1 enables rolling log files. For example, a value of 10 will cause up to 10 log files to be used in a cyclic fashion. Max lines/file: specifies the maximum number of trace statements that will be written to each log file. For example, a value of 1000 will cause up to 1000 trace statements to be written to each log file. Adding CTI Ports ---------------- To add a CTI port, use the Cisco CallManager Administration web pages. Select Device -> Phone. A web page with the title "Find and List Phones" will be displayed. On the right click on the link "Add a New Phone". This will display a page titled "Add a Phone". Select "CTI Port" from the pull down list of devices and click the "Next" button. Enter the device name of the CTI port and tab to the next "Description" box. The name will be displayed in the description field automatically. You can edit this to be something else or leave it as is. Click the "Insert" button. To add a line to this CTI port, click the line number on the left and enter a directory number. Adding Route Points ------------------- To add a route point, use the Cisco Call Manager Administration web pages. Select Device -> CTI Route Point. A web page with the title "Find and List CTI Route Points" will be displayed. ON the right click on the link "Add a New CTI Route Point". This will display a page titled "CTI Route Point Configuration". Enter the device name of the CTI route point and tab to the "Description" edit box. The name will be displayed in the description field automatically. You can edit this to be something else or leave it as is. Click the "Insert" button. Verifying TSP operation on the machine where the TSP is installed ----------------------------------------------------------------- A way to verify that the TSP is operational is to use the Microsoft Windows Phone Dialer Application. This application can be found in the C:\Program Files\Windows NT directory under the name dialer.exe. When the program is run a dialog box will appear asking which line and address the user wants to connect using. If there are no lines in the Line pulldown, then there may be a problem between the TSP and the Call Manager. If there are lines available, choose one of the lines, keep the Address set to Address 0 and click OK. Type in a Number to dial and a call should be placed to that number. If call is successful, then the TSP is operational on the machine where the TSP is installed. If problems are encountered with installation and setup of Remote TSP, this test would be a good way to verify that the TSP is operating properly and that the problem is with the configuration and setup of Remote TSP. Using lineDevSpecific - Swap-Hold/SetupTransfer - UNSUPPORTED in CiscoTSP 4.0 --------------------------------------------------- CCiscoLineDevSpecific | +-- CCiscoLineDevSpecificSwapHoldSetupTransfer Description The CCiscoLineDevSpecificSwapHoldSetupTransfer class is used to perform a setupTransfer between a call that is in CONNECTED state and a call that in ONHOLD state. This function will change the state of the connected call to ONHOLDPENDTRANSFER state and the ONHOLD call to CONNECTED state. This will then allow a completeTransfer to be performed on the 2 calls. Class Details class CCiscoLineDevSpecificSwapHoldSetupTransfer : public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificSwapHoldSetupTransfer() : CCiscoLineDevSpecific(SLDST_SWAP_HOLD_SETUP_TRANSFER) {} virtual ~CCiscoLineDevSpecificSwapHoldSetupTransfer() {} DWORD heldCallID; virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer }; Parameters DWORD m_MsgType equals SLDST_SWAP_HOLD_SETUP_TRANSFER DWORD heldCallID equals the callid of the held call returned in dwCallID of LPLINECALLINFO HCALL hCall (in lineDevSpecific parameter list) equals the handle of the connected call Note: Swap-Hold/SetupTransfer is not supported in CiscoTSP 4.0. Using lineDevSpecific - Redirect Reset Original Called ID -------------------------------------------------------------- CCiscoLineDevSpecific | +-- CCiscoLineDevSpecificRedirectResetOrigCalled Description The CCiscoLineDevSpecificRedirectResetOrigCalled class is used to redirect a call to another party while resetting the original called ID of the call to the destination of the redirect. Class Details class CCiscoLineDevSpecificRedirectResetOrigCalled: public CCiscoLineDevSpecific { public: CCiscoLineDevSpecificRedirectResetOrigCalled: CCiscoLineDevSpecific(SLDST_REDIRECT_RESET_ORIG_CALLED) {} virtual ~CCiscoLineDevSpecificRedirectResetOrigCalled{} char m_DestDirn[25]; //redirect destination address virtual DWORD dwSize(void) const {return sizeof(*this)-4;} // subtract out the virtual function table pointer }; Parameters DWORD m_MsgType equals SLDST_REDIRECT_RESET_ORIG_CALLED DWORD m_DestDirn equals the destination address where the call needs to be redirected HCALL hCall (in lineDevSpecific parameter list) equals the handle of the connected call Note: The negotiated extension version needs to be at least 0x00020003.