Nortel Agent, Symposium Agent 2.3 Owner's Manual

Nortel Networks Symposium Agent
Programmer’s Guide
Product release: 2.3
Date: January 2001
Standard 1.01
ii Nortel Networks Symposium Agent
Nortel Networks Symposium Agent
Programmer’s Guide
Product release: 2.3 Document release: Standard 2.0 Date: January 2001
Copyright © 2001 Nortel Networks, All Rights Reserved.
Information is subject to change without notice. Nortel Networks reserves the right to make changes in design or components as progress in engineering and manufacturing may warrant.
The process of transmitting data and call messaging between the Meridian 1 and the Symposium Agent is proprietary to Nortel Networks. Any other use of the data and the transmission process is a violation of the user license unless specifically authorized in writing by Nortel Networks prior to such use. Violations of the license by alternative usage of any portion of this process or the related hardware constitutes grounds for an immediate termination of the license and Nortel Networks reserves the right to seek all allowable remedies for such breach.
DMS, MERIDIAN 1, MERIDIAN LINK, MSL-100, NORTEL NETWORKS, NORTEL NETWORKS HOW THE WORLD SHARES IDEAS, and SYMPOSIUM are trademarks of Nortel Networks. INTERNET EXPLORER, WINDOWS, and WINDOWS NT are trademarks of Microsoft Corporation.
Your responsibility for your system's security
You are responsible for the security of your system. Nortel Networks does not warrant that this product is immune from or prevents unauthorized use of common-carrier telecommunication services or facilities accessed through or connected to it. Nortel Networks is not responsible for any charges that result from such unauthorized use. Product administration to prevent unauthorized use is your responsibility, and your system administrator should read all documents provided with this product to fully understand the features available that may reduce your risk of incurring charges.
Programmer’s Guide iii
Standard 2.0
Publication history
July 2000
November 2000
December 2000
January 2001
This is the Draft 0.01 release of the Nortel Networks Symposium Agent Release 2.3 Programmer’s Guide. This is the Draft 0.02 release of the Nortel Networks Symposium Agent Release 2.3 Programmer’s Guide incorporating
recommended changes from Technology. This is the Standard 1.0 release of the Nortel Networks Symposium Agent Release 2.3 Programmer’s Guide incorporating recommended changes from Technology. This is the Standard 2.0 release of the Nortel Networks Symposium Agent Release 2.3 Programmer’s Guide incorporating recommended changes from Technology.
iv Nortel Networks Symposium Agent
Contents
Getting started 1
About this guide...........................................................................................................2
Overview .....................................................................................................................3
Minimum system requirements ...................................................................................5
Symposium Agent data flow........................................................................................6
Setting up triggers and call rules 9
Setting up a keystroke call trigger .............................................................................10
Setting up a DDE trigger ...........................................................................................15
Setting up an OLE trigger..........................................................................................18
Setting up a call rule..................................................................................................28
Setting up a call rules group......................................................................................31
Using Agent Compass 33
Symposium Agent data flow in agentCompass.........................................................34
Query strings.............................................................................................................35
Web server setup ......................................................................................................37
Client setup ...............................................................................................................38
Setting up an agentExplorer call trigger ....................................................................39
Setting up and enabling agentCompass call rules ....................................................41
Setting up telephony-enabled tabs for agents...........................................................42
Testing the call rule ...................................................................................................44
Getting Started with Symposium Agent Reporting 45
Overview ...................................................................................................................46
Configuring the database access..............................................................................48
Defining an ODBC System DSN ...............................................................................52
Database Entity Relationship Diagram......................................................................55
Data Dictionary..........................................................................................................57
Sample Report using Crystal Reports .......................................................................70
Outbound dialing using Symposium Agent 75
Dial feature................................................................................................................76
Active Server Page examples 78
Introduction................................................................................................................79
An Active Server Page sample (NNWEB.ASP) ........................................................80
Sample source for switchboard.asp..........................................................................82
Sample source for flowers.asp..................................................................................83
Programmer’s Guide v
Standard 2.0
Sample source for pizza.asp.....................................................................................84
Sample source for unknown.asp...............................................................................85
Index 87
vi Nortel Networks Symposium Agent
Chapter 1
Getting started
In this chapter
About this guide 2
Overview 3
Minimum system requirements 5
Symposium Agent data flow 6
Programmer’s Guide 1
Getting started Standard 2.0
About this guide
Introduction
The Symposium Agent Release 2.3 Programmer’s Guide describes how to create OLE, DDE, and keystroke macro triggers. This guide also demonstrates the use of the agentCompass module in Symposium Agent Release 2.3.
Distribution of this guide
This document is available only in electronic Portable Document Format (PDF) on the CD-ROM that is supplied with the Symposium Agent Release 2.3 software.
View this file using Acrobat Reader, or print it in whole or in part for individual use.
Who should use this guide
Information in this document is intended for developers writing web applications that use Symposium Agent Release 2.3.
Skills you need
To use this guide effectively, you must have experience with basic programming, telephony products, and Microsoft Windows. You need to be able to write triggers and call rules for Symposium Agent, and you should be familiar with Visual Basic or another language that supports OLE Automation technology. In addition, if you plan to use the agentCompass feature, you should have experience with server­side web programming.
For further information
For further information on using Call Rules, refer to the Call Rules topic in the Symposium Agent online Help.
For further information about Symposium Agent, refer to the Symposium Agent Release 2.3 Installation Guide.
For additional information or help using this guide, call the Nortel Networks Developer Support Hotline at (800) NT-4CTI-0.
For information about other Nortel Networks products, call (800) 4-NORTEL (466-7835). Outside the United States and Canada, contact your Nortel Support or Sales representative.
2 Nortel Networks Symposium Agent
January 2001 Getting started
Overview
Symposium Agent Release 2.3 provides several methods for passing telephony information to various applications, including web applications. This information can be passed to applications such as Microsoft Outlook, Microsoft Excel, or a custom application using OLE Automation, Dynamic Data Exchange (DDE), or keystroke macros. Symposium Agent also provides the agentCompass feature that allows a user to pass telephony information to a web application.
In Symposium Agent Release 2.3, the AgentCompass feature is provided as a built-in tool that allows you to telephony-enable any web page or web application. The Symposium Agent Release 2.3 client has built-in web browsers called agentTabs that use Internet Explorer 4.0 browser technology. The agentCompass feature is available only to the Symposium Agent browser tabs and provides a means for passing telephony data and additional information to any web page that can reside in Internet Explorer 4.0.
AgentCompass passes telephony information, such as caller telephone number or data collected by an Integrated Voice Response (IVR) unit, to a web server. This data can be processed by any current web technology. For example, agentCompass works with web pages using Active Server Pages (ASP), PERL, JavaScript, and VB Script.
AgentCompass uses Symposium Agent’s support for OLE call rules to communicate with the Symposium Agent agentTabs. An administrator uses the Symposium Agent Call Rules Explorer to create call rules that define when telephony information is passed to the agentTabs (URL). As with any call rule, the administrator can designate when the call rule executes. Call rules can be set up to execute when an incoming call is ringing, answered, or released, and when an outgoing call is answered or released. When a call rule is executed, telephony information can be passed to all the agentTabs.
Programmer’s Guide 3
Getting started Standard 2.0
The following screen capture shows an example of an agentTab in Symposium Agent 2.3.
4 Nortel Networks Symposium Agent
January 2001 Getting started
Minimum system requirements
!
Symposium Agent 2.3 Server for Windows NT 4.0 with a minimum of Service Pack 4 installed
!
Symposium Agent 2.3 Client for Windows 95, Windows 98, or Windows NT with a minimum of Service Pack 4 installed
!
Internet Explorer 4.0 or 5.0 (a requirement for the Symposium Agent Release
2.3 client and server installation)
For the complete specifications required for your configuration, refer to the Symposium Agent Release 2.3 Planning and Engineering Guide.
.
Programmer’s Guide 5
Getting started Standard 2.0
Symposium Agent data flow
The following diagram shows how data is passed by Symposium Agent.
During initialization, Call Rules Runtime retrieves the call rules and triggers from the Symposium Agent database for the currently logged in user. The call is passed to the TAPI interface, which raises the telephony data to the Call Rules Runtime. Rules Runtime initiates the correct trigger based on call criteria such as call state (for example, on Answer). OLE triggers raise call data to windows applications that support OLE automation using a custom OLE Automation Server. DDE triggers and keystroke macros are executed from the call rules runtime component. The agentCompass feature uses an OLE DLL to communicate with NNLogin. OLE, DDE, and keystroke macro triggers are discussed in further detail in the following chapter.
6 Nortel Networks Symposium Agent
January 2001 Getting started
The following data is passed when a call rule is executed.
Call rule data
CallerNumber Number of party who placed the call.
CalledNumber Number of party or DNIS receiving the call.
CallData Attached data such IVR data.
CallID The callID is the unique identifier for a call in a
networked environment.
State This is the call state (Connected, Idle, Offering).
Extension The extension on which the call arrived.
LineName The line name on which the call arrived.
TrunkInfo TrunkInfo consists of two numbers: the trunk
group and member for calls outside the local switch. This information might be used by voice recording equipment which sits on a trunk and records calls based on trunk group and member numbers.
CallerName This is the caller name. Since this does not
always show up, it was placed at the end of the query string.
CalledName This is the called name. Since this does not
always show up, it was placed at the end of the query string.
The Symposium TAPI Service Provider does not support CallerName and CalledName for the Meridian 1. CallerName and CalledName are supported by the ICM TAPI Driver when used with the DMS or MSL-100.
Additional data is available when using the agentCompass feature. This information is described in the section Symposium Agent data flow in agentCompass on page 34.
Programmer’s Guide 7
Getting started Standard 2.0
8 Nortel Networks Symposium Agent
Chapter 2
Setting up triggers and call rules
In this chapter
Setting up a keystroke call trigger 10
Setting up a DDE trigger 15
Setting up an OLE trigger 18
Setting up a call rule 28
Setting up a call rules group 31
Programmer’s Guide 9
Setting up triggers and call rules Standard 2.0
Setting up a keystroke call trigger
Applications that do not support OLE Automation or the use of DDE can still receive telephony information by using keystroke macros. The following example uses Microsoft Wordpad.
To set up a keystroke trigger
1 Log in to Symposium Agent Administration and open Call Rules Explorer.
2 Click Trigger Wizard on the
right-clicking the Triggers icon and selecting New Trigger Wizard.)
The Trigger Wizard – Step 1 dialog box appears.
3 Type a name for this trigger.
menu. (You can also open the Trigger Wizard by
Tools
4 Check the Notify browser after firing check box.
5 Click Next to move to the
10 Nortel Networks Symposium Agent
Trigger Wizard Step 2
dialog box.
January 2001 Setting up triggers and call rules
6 Since the trigger is not in the list, click New to move to the New Application dialog
box.
7 Type the Application name. Make sure this name exactly matches the window title
that will appear when it screen pops at the agent’s PC. You may have to maximize the application window to check its title.
8 Type the Application filename. This name has an .exe extension.
9 Open the application you just named if you have not already done so.
Programmer’s Guide 11
Setting up triggers and call rules Standard 2.0
10 Click OK to move to the Trigger Wizard – Step 3 dialog box.
11 Select the application from this list.
12 Click Record to open the Keystroke Recorder toolbar.
The Keystroke Recorder toolbar appears in the lower right corner of your screen to avoid conflict with other windows. It is used to record keystrokes and to send telephony data to the application.
Play Pause Stop Record Insert Save Delete
13 Click the red Record button and begin recording the keystroke sequence required to
open the application or a file within the application.
You must use keystrokes to record all the actions you want to occur on
Note:
playback. Mouse movements will not be recorded. For example, enter the Alt-F keystroke sequence instead of using the mouse to click File on the menu bar.
14 If telephony items are required, insert them as follows:
a. Click the Pause button, then click the Insert button. Do not click the black Stop
button as this will terminate the process. The Insert Data Wizard appears.
b. Select the items to insert, then click Next. You can insert the following data:
Caller number This is the number of the party who placed the call. Caller name This is the caller name (DMS/MSL-100 only). Called number This is the number of the party receiving the call. Called name This is the called name (DMS/MSL-100 only). Call data This is attached data, such as IVR data.
Note: If you select Call data with an outbound call rule, the trigger executes only
12 Nortel Networks Symposium Agent
January 2001 Setting up triggers and call rules
when the call is answered, not on dial tone.
Select the type of data you wish to insert. The type of data is a pre-existing
c.
format you want to apply to the caller or called number.
d. Click Next.
e. Click the Record button again to continue recording keystrokes.
15 When you have finished recording, click the Stop button.
16 At this point, you can play, save, or delete the recorded keystrokes.
17 Test your keystroke macro by clicking the Play button. If you specified that call data
should be added to the keystroke sequence, the
Sample Data Values
dialog box appears. This dialog box allows you to enter test values for any call data that will be played back during this test process. Enter the call data and click the Execute button.
18 To save your keystroke macro, click the Save button on the Keystroke Recorder
toolbar. This saves the keystroke sequence and ends the trigger creation process. The Trigger Wizard – Finished! dialog box appears.
19 Click Finish to move to the Rule Wizard – Step 4 dialog box.
20 From the Available Triggers list, highlight the trigger you want to execute.
21 Click the right arrow to move the highlighted trigger to the Selected Triggers list.
When you have selected all the triggers required for this call rule, click Next to move to the Rule Wizard – Step 5 dialog box.
Programmer’s Guide 13
Setting up triggers and call rules Standard 2.0
22 The dialog box indicates the trigger firing order of this rule. Change the order if
required, using the up and down arrows. When you are finished, click Next to move to the
Rule Wizard –
dialog box.
23 Check that the summary of the call rule configuration is correct.
24 Click Finish. The Call Rules Explorer window opens displaying the new call rule.
25 Select File/Close to exit Call Rules Explorer.
14 Nortel Networks Symposium Agent
January 2001 Setting up triggers and call rules
Setting up a DDE trigger
Dynamic data exchange (DDE) is the ability to exchange information between applications or pass information to an application. These exchanges, called conversations, are the messages sent to and from Symposium Agent and other applications.
The following example illustrates the DDE method of communication. In this example, Microsoft Excel is used as a DDE application. Using DDE Poke, this test places the caller number into a spreadsheet at location row 1, column 1.
To set up a DDE trigger
1 Log in to Symposium Agent Administration and open Call Rules Explorer.
2 Click Trigger Wizard on the Tools menu. (You can also open the Trigger Wizard by
right-clicking the Triggers icon and selecting New Trigger Wizard.)
The
Trigger Wizard – Step 1
3 Type a name for this trigger.
4 Uncheck the Notify browser after firing check box. 5 Click Next to move to the
dialog box appears.
Trigger Wizard Step 2
dialog box.
6 Click New to move to the
Programmer’s Guide 15
New Application
dialog box.
Setting up triggers and call rules Standard 2.0
7 Type the Application name, Communication method, and Application name. An
example is shown below.
Example of application information
Application name MS Excel DDE Communication method DDE Application name Excel.exe
8 Click OK to return to the
9 Click Next to move to the
New Application
Trigger Wizard – Step 3
dialog box.
dialog box and configure the DDE
properties.
16 Nortel Networks Symposium Agent
January 2001 Setting up triggers and call rules
Service: The name of the DDE application. In this case, Service is Excel.
Topic: The Excel spreadsheet (file name and sheet name, e.g. DDE Test.xls).
Item: The location within the spreadsheet—row 1, column 1.
Data: The data sent to Excel. In this case, the Call Rules Runtime will send the
caller’s phone number ($C).
$C Caller #
$W Caller Name
$D Called #
$M Called Name
$P Call Date
DDE Method: Two methods are supported: Execute and Poke. Execute is used to call a procedure in the DDE application. Poke is used to “push” data to that application. Since this test “pushes” data to row 1, column 1 of the spreadsheet DDE Test.xls, Poke is used.
10 Click OK to return to the New Application dialog box. Highlight the application MS
Excel DDE.
11 Click Next to move to the
12 The dialog box summarizes the information for the trigger. Click Finish to open the
Call Rules Explorer window and begin the next procedure.
Trigger Wizard – Finished!
dialog box
Programmer’s Guide 17
Setting up triggers and call rules Standard 2.0
Setting up an OLE trigger
OLE triggers communicate with windows applications that support OLE automation (Object Linking and Embedding). Before creating an OLE trigger, an OLE automation server must be created in order to communicate with the target application. The Call Rules Runtime component expects this server to support a specific interface. This interface is shown below.
OLE automation server properties and methods
The following code sample (written in Visual Basic) demonstrates the property and method declarations that implement the automation server interface. The five properties are set by Call Rules Runtime before invoking the method ExecuteTrigger. The properties reflect the telephony information of the current call.
‘*** ‘Private Properties ***
Private m_sCallerNumber As String Private m_sCalledNumber As String Private m_sCallData As String Private m_sCallID As String Private m_sUserData As String
‘*** Public Properties that must be supported by the OLE Automation Server ***
Public Property Let CallerNumber(asNumber As String)
m_sCallerNumber = asNumber End Property Public Property Let CalledNumber(asNumber As String)
m_sCalledNumber = asNumber End Property Public Property Let CallData(asData As String)
m_sCallData = asData End Property Public Property Let CallID(asCallID As String)
m_sCallID = asCallID End Property Public Property Let UserData(asUserData As String)
m_ sUserData = asUserData End Property
‘*** Public method that must be supported by the OLE Automation Server *** ‘*** This example uses Microsoft Outlook ***
Public Sub ExecuteTrigger()
‘*** Code to communicate with Target application ***
Dim MyOutlook As Outlook.Application
Dim MyContacts As Outlook.Items
Dim MyItem As Object
18 Nortel Networks Symposium Agent
January 2001 Setting up triggers and call rules
Dim sFilter As String
Dim sNumber As String
Select Case Len(m_sCallerNumber)
Case 4
sNumber = m_sCallerNumber
Case 7
sNumber = Format(m_sCallerNumber, "#######") sNumber = "6" & sNumber
Case 10
sNumber = Format(m_sCallerNumber, "(###) ###-####")
Case Else
sNumber = m_sCallerNumber
End Select
sFilter = "[Business Phone] = " & Chr$(34) & sNumber & Chr$(34)
Set MyOutlook = GetObject(, "Outlook.Application.8")
Set MyContacts = MyOutlook.GetNamespace("MAPI").GetDefaultFolder(olFolder
Contacts).Items
Set MyItem = MyContacts.Find(sFilter)
Do Until (MyItem Is Nothing)
MyItem.Display Set MyItem = MyContacts.FindNext
Loop
Set MyItem = Nothing
Set MyContacts = Nothing
Set MyOutlook = Nothing
End Sub
The Let Properties are used by Call Rules Runtime to pass telephony data to the application. The data passed to the application is configurable within the Call Rules Explorer. The ExecuteTrigger method is called by Call Rules Runtime after the criteria for the call rule have been met (calling number, called number, time of day, and so on) and the properties have been set. The code placed in ExecuteTrigger is up to the developer of the automation server. Typically, this code will invoke methods in the target application to perform database searches based on the supplied telephony information. The example code above presents a simple OLE automation server that accepts a caller’s phone number and instructs Microsoft Outlook to search for that phone number in its contact database.
Note: This sample code was written in Visual Basic 5. Other languages that support OLE can be used with the call rules product.
There are times when an OLE trigger is written to expect call data (that is, IVR digits) or caller number, or both, but that data is not available for the call. For example, the customer may not have entered any data at an IVR prompt and “zeroed out” to speak to an agent, or has blocked his or her caller ID. In this case,
Programmer’s Guide 19
Setting up triggers and call rules Standard 2.0
Symposium Agent realizes that this data will never be available and calls the ExecuteTrigger method with the unavailable properties set to Null strings. It is up to the OLE trigger code to realize that the properties are Null and take whatever action is deemed appropriate. In some cases, this might mean that the trigger does nothing. In other cases, the trigger might bring up a blank customer record for the agent. CallID is a unique identifier for the call. It is always passed to the OLE trigger before calling ExecuteTrigger. CallID is guaranteed to be unique for the life of the call.
To set up an OLE trigger
1 Log in to Symposium Agent Administration and open Call Rules Explorer.
2 Click Trigger Wizard on the
right-clicking the Triggers icon and selecting New Trigger Wizard.)
The Trigger Wizard – Step 1 dialog box appears.
3 Type a name for this trigger.
4 Check the Notify browser after firing checkbox only if you are using
agentCompass.
menu. (You can also open the Trigger Wizard by
Tools
5 Click Next to move to the
6 Click New to move to the
20 Nortel Networks Symposium Agent
Trigger Wizard Step 2
New Application
dialog box.
dialog box.
January 2001 Setting up triggers and call rules
7 Type the Application name, Communication method, and Application classname. An
example is shown below.
Example of application information
Application name MS Outlook Communication method OLE Application classname MyOutlook.cOLEDemo
The Application classname field activates when you select the OLE
Note:
communication method. In this example, the OLE Automation Server is called Myoutlook, and the interface described above is exposed in the class cOLEDemo.
8 Click Test to show the
Verify Classname
dialog box. This verifies that the Application
classname can be found in the Registry.
9 Click OK to return to the
New Application
10 Click OK to move to the Trigger Wizard – Step 2 dialog box.
dialog box.
11 Highlight the application BrowserAnswer. 12 Click Next to move to the Trigger Wizard – Step 3
dialog box and configure the OLE
properties.
Programmer’s Guide 21
Setting up triggers and call rules Standard 2.0
13 Click Next to move to the Trigger Wizard – Finished! dialog box.
14 The dialog box summarizes the information for the trigger. Click Finish to open the
Call Rules Explorer
window and begin the next procedure.
Populating the SA clients with an OLE Automation Server
New or updated OLE automation servers must be installed on the client machines using the Symposium Agent Automatic download administration tool.
The OLE Automation DLL or EXE must be copied to the Nortel\Server\SASWDIST directory on the SA Server.
1 From the Symposium Agent 2.3 Server Administration menu, select Automatic
download administration.
The short cut for this menu can be found on the SA Server desktop.
22 Nortel Networks Symposium Agent
January 2001 Setting up triggers and call rules
2 In the main dialog window, select Open from the Packages menu.
3 Open the file control file nnlogin.lst.
This file is located in the Nortel\Server\SASWDIST directory.
A list of components appears in the main dialog list box.
Programmer’s Guide 23
Loading...
+ 65 hidden pages