PeriProducer CTI Toolkit User’s Guide for M1 Important Notice Nortel Networks reserves the right to make changes in the contents of this publication including functions and specifications identified herein without notice. The material contained in this document is intended for Nortel Networks Certified personnel and licensed customers with a non-disclosure agreement or standard contract.
PeriProducer CTI Toolkit User’s Guide for M1 Scope The PeriProducer CTI Toolkit User’s Guide for M1 document provides product descriptions, installation procedures, and usage information for using the CTI Toolkit to develop applications for Nortel Networks Media Processing Server (MPS) platforms.
This manual is separated into chapters that describe the installation, configuration, and usage of the CTI Toolkit. Chapter 1 — A description of the CTI functions and an overview of the PeriProducer CTI Toolkit. Chapter 2 — Detailed instructions for installating and removing the CTI Toolkit on the Windows platform.
PeriProducer CTI Toolkit User’s Guide for M1 Conventions Used in This Manual This manual uses different fonts and symbols to differentiate between document elements and types of information. These conventions are summarized in the following table. Notation Normal text important term...
The Solaris icon identifies procedures or events that apply to the Solaris operating system only. Solaris $VPSHOME $VPSHOME/common/etc <command> & ® ® and Netscape Navigator are registered trademarks of Netscape Nortel Networks Confidential Preface Windows 2000 %VPSHOME% %VPSHOME%\common\etc start /b <command> Page ix...
Page 10
PeriProducer CTI Toolkit User’s Guide for M1 logos and Netscape product and service names are also trademarks of Netscape Communications Corporation, which may be registered in other countries. Page x Nortel Networks Confidential # P0606089 Ver: 1.1...
The CTI Toolkit is used to create customer-specific applications to interface with the M1-Meridian Link, SCCS Interface (RSM & HDX), and IVR.DLL for the TAPI server.
Toolkit Overview The CTI Toolkit allows access to functions that are specific to CTI programming. These functions are not accessible from the standard PeriProducer Toolkit. The arrows in the upper right corner of each Toolkit switch between the CTI and the PeriProducer Toolkit (and any other Toolkit installed).
Page 14
See page Retrieves data for a statistics group, specifically one of "AgentItd", "AgentMwnd", "ApplicIPtd", "ApplicMwnd", "SkillItd", or "SkillMwnd" based on the Statistics Device name (this is determined by Nortel Networks Certified personnel) and Statistics Group, passed as parameters. page Sends values in array, CTI.AVCalldata.AVpairs to Resource Symposium TAPI Server (TAPI).
For each feature, references are made to example applications that illustrate the use of these blocks. Blocks that are part of the standard PeriProducer Toolkit are #P0606089 – Ver: 1.1 Resource Toolkit Blocks tapisccs tapi Nortel Networks Confidential Overview of CTI Features (page (page (page (page (page...
Page 16
PeriProducer CTI Toolkit User’s Guide for M1 documented in the PeriProducer User’s Guide. Product Feature / Function / Toolkit Blocks Peri-IPML/M1 link Login/Logout the IVR agent ports under IVR application control. or SCCS Logon IVR Port Logoff IVR Port (Same as above, followed by another Retrieve call information such as Current Location, Calling Line ID, DNIS, IVR Treatment DN, and Call Arrival Time.
PeriProducer CTI Toolkit User’s Guide for M1 Product Feature / Function / Toolkit Blocks IVR-SCCS The HDX (Host Data Exchange) interface sends information to CSDA and waits for CSDA to return information related to the sent information. For example, the SCCS can send an (CS-HDX links to account number to CSDA, and CSDA returns a skillset relevant to that account type.
Page 19
SCCS has routed the call to an agent. The data flow is one way, from the IVR application to the TAPI Server. Send Call Data to Symposium TAPI Server/IVR.DLL #P0606089 – Ver: 1.1 page 32 page 30 page 37 page 50 Nortel Networks Confidential Overview of CTI Features Example Apps ST-1 (page Page 19...
Toolkit Installation and Removal Procedures This chapter covers: 1. Installation of the CTI Toolkit for Windows 2000 and Solaris 2. Removal of the CTI Toolkit for Windows 2000 and Solaris 3. Adding the CTI Folders and Data cards...
PeriProducer CTI Toolkit User’s Guide for M1 Installing and Removing the Toolkit on Windows 2000 Systems Installation of the CTI Toolkit on a Windows 2000 system can only be performed by a user with Administrator privileges. Link Server Configuration First, the 2000 server running the Peri-IPML, Peri-ICM, IVR TAPI, and IVR SCCS (or Link Server) must have the latest patches installed.
PeriProducer patch(es) (which includes the ppro.conf file). Installing the CTI Toolkit To install the CTI Toolkit on a Solaris system, use the FTP utility to copy the package from the CD of Windows 2000 machine to the Solaris machine.
The monitor will show several screens of output. Wait for the command prompt to return. 7. Enter pkgadd -d . PERIctitk to install the CTI Toolkit. The monitor will show several screens of output. 8. The following confirmation message will appear: Do you want to continue with the installation of <PERIctitk>...
Adding the CTI Folders and Data Cards To manipulate data with the blocks of the CTI Toolkit, the CTI folder must first be installed. The CTI folder is a hierarchy of folders, subfolders, and data cards that are used to transfer data to and from CTI specific resources.
Page 26
PeriProducer CTI Toolkit User’s Guide for M1 b. Click 3. Double-click on CTI to display the lower-level CTI entries in the Current Folder panel. Page 26 to expand the CTI folder. CTI is INCLUDE FILES shown as the parent folder in the Available Folders panel.
PeriProducer CTI Toolkit User’s Guide for M1 CTI Toolkit Blocks Reference This chapter describes the functions of each CTI Toolkit block. For more information, Example Applications on page 56 CTI Programming Configuration Requirements The following pertains to the development of PeriProducer CTI applications. See the MPS Interface to M1 manual for specific information about software configuration.
Page 29
Agent Position IDs and CDNs. • invalid configuration file entries. To use the functions in the CTI Toolkit, the IPML packages must be properly configured by following the procedures in the MPS Interface to M1 publication. The following are some configuration...
PeriProducer CTI Toolkit User’s Guide for M1 CTI Toolkit Blocks Agent Function Agent Function state of an agent phone, which is either a live agent or an IVR application running on the IVR port. Agent Function 1. Agent request: Assigns a value from CTI.Requests.Agent.
Page 31
• The CTI.status data card is the only value in the CTI folder that is affected by this CTI Toolkit block. CTI.status is set to 0 if the request is successful and set to 1 if the request fails. •...
Send TAPI Call appropriate resources. However, when using any of the other blocks in the CTI Toolkit (i.e., those that have an italicized cti in the lower left corner of the block icon), the application has to execute There are certain input values that have to be assigned in the CTI folder structure in...
Param Name: Use one of the nine constants in the • CTI.Requests.DeviceParams folder to specify the particular information required. (Select the value from the DeviceParams menu.) # P0606089 Ver: 1.1 block block has two parameters: Nortel Networks Confidential CTI Toolkit Blocks Reference Page 33...
Page 34
PeriProducer CTI Toolkit User’s Guide for M1 Each of the parameter names causes a different message to be sent to CSVAPI requesting information from the CSDA service. For each request, the CtiFunction parameter is set to getdeviceparam , and the device and specific parameter are set to values passed into the block.
(DN). A DN must be registered before any other CTI Toolkit operations can be performed using that DN. This block sends a register/unregister message to the CTI resource to reserve memory for the specified DN. The request includes a DN, a device type, and whether to register or unregister it.
Page 36
PeriProducer CTI Toolkit User’s Guide for M1 • Device Type To Register: specifies the type of device you are registering. The following is important information pertaining to the use of the block: • The calling application obtains the CTI resource via the...
Application Event Handling: Use any of the type of methods of handling an event as defined in the CTI.Requests.SetEventType folder, which is accesed from the SetEventType menu. # P0606089 Ver: 1.1 block has two parameters: Nortel Networks Confidential CTI Toolkit Blocks Reference Page 37...
Page 38
PeriProducer CTI Toolkit User’s Guide for M1 The SetWaitEvent, SetIgnoreEvent and SetCtiCondEvent functions can be performed for the any of the available events: AgentEvents , All , CallData , Dequeued , CallCleared , CallEvents , Conferenced , Dialing , Forwarding , Held , Established , LoggedOff ,...
Page 39
Ready state. Set Event Handling block is used to request a CTI condition when a Example Log Files—Set Event Handling CSVAPI Log File on Nortel Networks Confidential CTI Toolkit Blocks Reference Telephony Request block Example Page 39...
PeriProducer CTI Toolkit User’s Guide for M1 Telephony Event Data The Telephony Event Data block obtains specific event data for the IVR application running on the IVR port. Telephone data types is the only parameter in this CTI block. Its value is assigned from the CTI.Requests.EventData folder, which is accessed from the EventData...
Page 41
37) should be used to wait for is best used right after the call is answered to synchronize Example Log Files—Telephony Event Data CSVAPI Log File on Nortel Networks Confidential CTI Toolkit Blocks Reference Telephony Event CTI Initialize block (see...
PeriProducer CTI Toolkit User’s Guide for M1 Telephony Request This block makes requests to the switch to perform telephony actions on behalf of the IVR application running on the IVR port. Telephony Request Call Processing Request: This field indicates the desired call processing •...
Page 43
• The Destination number parameter part of the CTI block is assigned the number to make a call to. The Destination number parameter part of the CTI block is assigned spaces. Nortel Networks Confidential CTI Toolkit Blocks Reference Page 43...
Page 44
The CTI.status data card is the only value in the CTI folder that is affected by this CTI toolkit block. The CTI.status parameter is set to 0 if the request is successful. It is set to 1 if the request fails.
CTI.Requests.UsrDataFunc folder via the UsrDataFunc menu. • Data type: Valid values (Calldata or Tlinkdata) are assigned from the CTI.Requests.UsrDataFunc folder via the UsrDataType menu. # P0606089 Ver: 1.1 block has two parameters: Nortel Networks Confidential CTI Toolkit Blocks Reference Page 45...
Page 46
PeriProducer CTI Toolkit User’s Guide for M1 The following is important information pertaining to the use of the • block (see application has to be Logged In to the Queue or CDN on DMS systems (but not on M1 systems). Also the be used to wait for the Established state to guarantee that the data is available to retrieve.
CTI.Requests.CSRSMStatisticGroup folder (such as SkillItd for skill information provided on an "interval to date" basis). Valid values for this field are accessed from the CSRSMStatisticGroups menu. # P0606089 Ver: 1.1 block has two parameters: Nortel Networks Confidential CTI Toolkit Blocks Reference Page 47...
Page 48
PeriProducer CTI Toolkit User’s Guide for M1 The statistical information denoted by the values in the CTI.Requests.CSRSMStatisticGroup folder (such as SkillItd for skill information provided on an "interval to date" basis) represent the types of statistics available for various "devices." The table below explains their use.
PeriProducer CTI Toolkit User’s Guide for M1 Send TAPI Call Data The TAPI block sends screen pop information about the current call from the IVR application to the Symposium TAPI Server via the IVR.DLL protocol. This block uses the cstapi resource.
37) should be used before trying to send data. This is usually best done Example Log Files—Send TAPI SCCS Call Data CSTAPI and Nortel Networks Confidential CTI Toolkit Blocks Reference Send TAPI SCCS Call Data Set Event Handling block (see...
PeriProducer CTI Toolkit User’s Guide for M1 GetTAPIData The Get Tapi CallData block is used to retrieve call data which has been previously attached by another application connected to the Symposium Tapi Server, such as CallCenter agent's desktop softphone. The GetTapiData block has no Parameters. Before executing the block, the callid for the active call must be retrieved by the peripro application.
("0") to make it three digits. mmm is number of the IVR phone port running the application, padded with zeroes ("0") to make it three digits. Nortel Networks Confidential CTI Toolkit Blocks Reference Log Message block: Example Page 53...
Page 54
PeriProducer CTI Toolkit User’s Guide for M1 This page has been intentionally left blank. Page 54 Nortel Networks Confidential # P0606089 Ver: 1.1...
Wait 5 minutes to answer call via cti calls; not traditional Answer block; wait for release Set agent not ready (trap vrto if request times out) Log agent out (trap vrto if request times out) works on all Nortel switches. AF-2 /samples/CS-AD/ACDPhoneLoginLogout.ppr...
Page 57
Short delay to simulate phone conversation Log agent out (trap vrto if request times out) Delay 15 seconds Free cti resource Force connect 10. Loop to get cti resource # P0606089 Ver: 1.1 Nortel Networks Confidential Example Applications Page 57...
PeriProducer CTI Toolkit User’s Guide for M1 CTI Initialize App. # Example Application Name, Location, Function, and Usage CI-1 /samples/SCCS-integrate/tapi_da_ivr_agent.ppr In container Library.GetCTIRes, the CTI.ResourceStatus.CTIIsOk tells the CTI Init block that the calling application wants to get the CTI resource.
Use Answer block to wait for call, then wait for established Handle vrto if time out occurs Make consult transfer using config file number to connect to Complete conference Hang up as application terminates # P0606089 Ver: 1.1 Nortel Networks Confidential Example Applications Page 59...
Page 60
PeriProducer CTI Toolkit User’s Guide for M1 App. # Example Application Name, Location, Function, and Usage SE-7 /samples/CS-AD/cticondition.ppr SE-8 /samples/CS-AD/HoldAndRetrieve.ppr CTI init Get cti resource Use Answer block to wait for call, then wait for established Make hold call request...
Page 61
10. Retrieve and log all call data via CSDA 11. Set agent not ready (trap vrto if request times out) 12. Log agent out (trap vrto if request times out) # P0606089 Ver: 1.1 Nortel Networks Confidential Example Applications Page 61...
Page 62
PeriProducer CTI Toolkit User’s Guide for M1 App. # Example Application Name, Location, Function, and Usage SE-17 /samples/SCCS-integrate/tapi_da_ivr_agent.ppr CTI init Read config file for this device and Agent DN Get cti resource Log agent out (trap vrto if request times out)
/samples/CS-AD/Nortel-iccm/GetACDGroupStatus.ppr CTI init Read config file for agent DN and this device (for logging) Get cti resource Get acdgroupstatus for a hardcoded device , log data received Terminate application # P0606089 Ver: 1.1 Nortel Networks Confidential Example Applications Page 63...
Page 64
PeriProducer CTI Toolkit User’s Guide for M1 App. # Example Application Name, Location, Function, and Usage TE-7 /samples/CS-AD/Nortel-iccm/HoldAndRetrieveAgent.ppr CTI init Read config file for agent DN, this device (for logging) Get cti resource Log agent in (trap vrto if request times out)
Use Answer block to wait for call, then wait for established Make hold call request Delay 3 seconds Make retrieve call request Use cti to wait for release TR-6 /samples/CS-AD/Nortel-iccm/ACDAgent.ppr Duplicate storage for samples/CS-AD/ACDAgent.ppr # P0606089 Ver: 1.1 Nortel Networks Confidential Example Applications Page 65...
Page 66
PeriProducer CTI Toolkit User’s Guide for M1 App. # Example Application Name, Location, Function, and Usage TR-7 /samples/CS-AD/Nortel-iccm/BlindXferAgent.ppr CTI init Read config file for agent DN, this device (for logging) and number to transfer to Get cti resource Log agent in (trap vrto if request times out)
Page 67
14. Either disconnect so that SCCS CDN can take over routing of call (if number =####) OR make a blind transfer 15. Log end of application, wait in Answer block # P0606089 Ver: 1.1 Nortel Networks Confidential Example Applications Page 67...
PeriProducer CTI Toolkit User’s Guide for M1 User Data App. # Example Application Name, Location, Function, and Usage UD-1 /samples/CS-AD/AniAndDnis.ppr CTI init; get cti resource Use Answer block to wait for call, then wait for established Get ANI & DNIS...
14. Either disconnect so that SCCS CDN can take over routing of call (if number =####) OR make a blind transfer 15. Log end of application, wait in Answer block # P0606089 Ver: 1.1 Nortel Networks Confidential Example Applications Page 69...
PeriProducer CTI Toolkit User’s Guide for M1 Send TAPI CallData/Send TAPIsccs CallData App. # Example Application Name, Location, Function, and Usage ST-1 /samples/SCCS-integrate/tapi_da_ivr_agent.ppr Log start of application CTI init & get cti resource Trap vrto, error and cticond Read config file for this device (for logging & call data), Agent DN and number to blind...
Page 72
PeriProducer CTI Toolkit User’s Guide for M1 This page has been intentionally left blank. Page 72 Nortel Networks Confidential # P0606089 Ver: 1.1...
PeriProducer CTI Toolkit User’s Guide for M1 Example Log Files This appendix provides example log files for each of the CTI Toolkit blocks. Agent Function CSVAPI Log File Request from the Tool Kit 12/04/2000 17:21:05 option SendResponse 12/04/2000 17:21:05 option AgentId...
Sending CsBlindTransfer Response to Client 6 01/19/2001 11:01:08 This Device => 2015 01/19/2001 11:01:08 Status => Success 01/19/2001 11:01:08 CSVAPI: BlindTransfer ignored for phoneline 2 # P0606089 Ver: 1.1 value 6200 value Dialing value BlindTransfer Nortel Networks Confidential Example Log Files Page 79...
Page 80
PeriProducer CTI Toolkit User’s Guide for M1 CSVAPI Receive Held Event from TLS and Queues the Event 01/19/2001 11:01:08 clm_CopyLastClntEvent: event queueing is turned on for client 6, dn ’2015’ 01/19/2001 11:01:08 clm_CopyLastClntEvent: creating new event queue 01/19/2001 11:01:08 clm-tlsdefault: Ignoring/Queueing CsHeld Event for client 6 01/19/2001 11:01:08 This Device =>...
ACT0000100052 value Phone-Line value 52 value CallKey #007 value CallValue #007 value CallKey #008 value CallValue #008 value CallKey #009 value CallValue #009 value CallKey #010 value CallValue #010 value AttachData Nortel Networks Confidential Example Log Files Page 83...
PeriProducer CTI Toolkit User’s Guide for M1 Device Statistics Data CSRSM and CSRSMLS Log Files CSRSM Receives Get Device Parameter from IVR Application Statistics-Type skillitd (Skill Interval To Date), thisdevice = Skill-Name 12/04/2000 17:22:08 apmi_issue_get_resource: vms 1, phoneline 52 get resource request.
Page 87
Received CsGetDeviceParam Request from Client 2 12/04/2000 17:22:19 Device => VISA 12/04/2000 17:22:19 Call ID => 0 12/04/2000 17:22:19 Parameter => Skill Moving Window # P0606089 Ver: 1.1 value VISA value skillmwnd value getdeviceparam Nortel Networks Confidential Example Log Files Page 87...
Page 88
PeriProducer CTI Toolkit User’s Guide for M1 CSRSMLS Receives Get Device Parameter from CSRSM 12/04/2000 17:22:19 clm-tlsdefault: Received CsGetDeviceParam Request from Client 1 12/04/2000 17:22:19 Application ID => 2.##### 12/04/2000 17:22:19 Device => VISA 12/04/2000 17:22:19 Call ID => 0 12/04/2000 17:22:19 Parameter =>...
ACT0000100052 value Phone-Line value 52 value CallKey #007 value CallValue #007 value CallKey #008 value CallValue #008 value CallKey #009 value CallValue #009 value CallKey #010 value CallValue #010 value AttachData Nortel Networks Confidential Example Log Files Page 89...
Page 90
PeriProducer CTI Toolkit User’s Guide for M1 CSTAPILS Receives Add Call Data request from CSTAPI 12/04/2000 17:23:39 clm-tlsdefault: Received CsSendAddCallData Request from Client 0 12/04/2000 17:23:39 Application ID => 4.##### 12/04/2000 17:23:39 Device => 2103 12/04/2000 17:23:39 Call ID => 0 12/04/2000 17:23:39 CallData =>...
Page 91
4 12/04/2000 17:23:39 clm-Admin: Preparing to complete Unregisters for Client 4 12/04/2000 17:23:39 clm-Admin: Setting timer for 100 milliseconds. 12/04/2000 17:23:39 clm-cstapi: Device 2103 Auto-Registered. # P0606089 Ver: 1.1 Nortel Networks Confidential Example Log Files Page 91...
Page 100
PeriProducer CTI Toolkit User’s Guide for M1 Index conventions manual viii description CTI Toolkit blocks Agent Function CTI Init Device Statistics Data Log Message Register Device Send TAPI Call Data Send TAPIsccs Call Data Set Event Handling Telephony Event Data...
Page 102
(bridged) simultaneously. Call conferencing requires the CDP 2000 equipped with an MSP-10 module (in a CDP slot) for each six caller party. For additional information, see the MPS System Configuration Reference Manual. The automated management of telephone input and output. Nortel Networks Confidential # P0606089 Ver: 1.1...
Page 103
The part of Symposium Call Center Server that runs on a personal computer or workstation and relies on the server to perform some operations. See also server. See supervised referral. Acronym for Computer Telephony Integration. Nortel Networks Confidential Glossary of CTI Terminology Page 103...
Page 104
Other types of elements that may be stored in an MMF include fax and TDD data. MMF data files have .mmd extensions. MMF.mmd Audio Data File Contrast with index file. Nortel Networks Confidential MMF.mmi Element index EAP#1 File EAP#2 EAP#3 # P0606089 Ver: 1.1...
Page 105
Element Access Pointer. The actual record number within a MultiMedia file. The EAP correlates to an element’s position within the file. MMF.mmd Audio Data File For additional information, see the PeriStudio User’s Guide. Nortel Networks Confidential Glossary of CTI Terminology MMF.mmi EAP#1 Element Index EAP#2 File...
Page 106
(type:data card, length-one numeric) y4 (type:data card, length-one numeric) For additional information, see the PeriProducer User’s Guide. Host Data Exchange. The set of keys used to order and access indexed database files. Nortel Networks Confidential # P0606089 Ver: 1.1...
Page 107
For additional information, see the MPS System Configuration Reference Manual. Acronym for Nortel Networks Media Processing Server Series. The hardware and software needed to create a call processing environment. The MPS system consists of MPS software (including ASE and VOS) and a TMS.
Page 108
The PeriView tool used to access an MPS shell. Use the VSH tool to issue commands and send messages to active VOS processes. You can start an MPS shell for each MPS in the network. Nortel Networks Confidential # P0606089 Ver: 1.1...