Designer Help
Designer Help
2022 R2
Generated:
12-July-2022
Abstract
This document contains the application help for Interaction Designer.
For the latest version of this document, see the PureConnect
Documentation Library at: http://help.genesys.com/pureconnect.
1
Table of Contents
Table of Contents 2
Overview of Building and Modifying Handlers and Subroutines 22
Overview of Steps 22
Step One: Research 22
Step Two: Planning 22
Step Three: Building 23
Step Four: Activating 23
Step Five: Testing 23
Step Six: Promoting 23
Tools 24
ACD 24
Introduction to ACD Tools 25
ACD Agent Category 26
ACD Initiate Bullseye Processing 26
ACD Initiate Processing 27
ACD Interaction Details 30
ACD Reassign Interaction 31
ACD Remove Interaction Skill 32
ACD Select Agent 33
ACD Select Interaction 34
ACD Specify Interaction Category 35
ACD Specify Interaction Skill 35
ACD Statistics (Interaction) 36
ACD Statistics (Queue) 38
Agent Log On 40
Agent Log On Remote 41
Agent Log Off 42
Release Agent Lock 42
Release Interaction Lock 43
Replace Interaction 44
Reset In Queue Timeout 45
Stop ACD Processing 45
Workgroup Agent Activate 46
Workgroup Agent Deactivate 46
Accumulators 47
Accumulators 47
Get Acc. (Boolean) 48
Get Acc. (DateTime) 49
Get Acc. (Integer) 50
Get Acc. (Numeric) 51
Get Acc. (String) 52
Inc. Acc. (Integer) 53
Inc. Acc. (Numeric) 54
Lock Accumulator 55
Set Acc. (Boolean) 56
Set Acc. (Datetime) 57
Set Acc. (Integer) 58
Set Acc. (Numeric) 59
Set Acc. (String) 60
Unlock Accumulator 61
Basic 61
Introduction to Basic Tools 61
Assignment Tool 62
Condition Tool 63
Notify Debugger 64
Selection Tool 65
Table Lookup 65
Write Trace Message 68
Buffer 68
Introduction to Buffer Tools 69
BufferGetDate 69
BufferGetInteger 71
BufferGetLength 72
2
BufferGetString 72
BufferHandleToInteger 74
BufferPutDate 75
BufferPutInteger 76
BufferPutString 77
CopyBuffer 78
CreateBuffer 78
DecodeBuffer 79
DeleteBuffer 79
EncodeBuffer 80
IntegerToBufferHandle 80
Calendar 81
Introduction to Calendar Tools 81
Add Event 82
Add Task 83
Are Available 84
Delete Event 85
Delete Task 85
Edit Event 86
Edit Task 87
Find Next 88
Get Event 88
Get Events 90
Get Task 91
Get Tasks 92
Is Available 93
Logon 94
Open Calendar 95
Search Events 96
Search Events Ex 96
Search Tasks 98
Search Tasks Ex 99
Database 99
Database Tools 99
The Order in Which Database Tools Should Be Used 101
DB Stored Procedure Definitions 101
Supported Databases 102
Sample SQLExec Statements 103
Sample Where Clauses 103
Database Tools 103
Dialer 120
Dialer Call Completed 120
Get Campaigns 123
Get Dialer Attributes 124
Get Logged In Agents 125
Place Dialer Call 125
Restart Campaign 128
Set Dialer Attributes 129
Director 129
Director Tools and Initiators in Interaction Designer 130
Director Monitored Server Ready tool 131
Director Select Queue Tool 131
Play Audio File (No Conference) tool 133
Send ATT Announcement Code Tool 134
Send ATT Post Feature Code Tool 135
Send MCI DDD Tool 136
Send MCI Destination w/DNIS Override Tool 137
Send MCI Error Tool 138
Send MCI IDDD Tool 139
Send MCI Use Default Tool 140
Send Route Command Tool 141
Send SIP Destination 142
Send Simulated Route Command Tool 143
Send Sprint Error Tool 144
Send Sprint Reject Tool 145
Send Sprint Use Default Tool 146
3
Director Initiators 146
Internal Use Only Tools 158
Email 162
Introduction to E-mail Tools 162
Change Message Status 164
Change Message Status By Cookie 165
Create Folder 166
Delete Folder 167
Delete Message 168
Delete Message By Cookie 169
Email Interaction Create 169
Email Interaction Disconnect 171
Email Interaction Get Message 172
Email Interaction Hold 173
Email Interaction Insert Attachment 174
Email Interaction Park 175
Email Interaction Record 176
Email Interaction Send Message 177
Email Interaction Transfer 178
Email Interaction Update Message 178
File To Recording 181
Find Message 181
Find Messages 183
Forward Message 184
Get Contained Folders 188
Get Cookie From Message 189
Get Message Count 189
Get Message From Cookie 191
Get Out of Office Status 192
Get Quota 193
Get Quota Resources 194
Get Quota Roots 195
Get Recipient Info 196
Is Distribution List Member 197
Mail Exchanger DNS Lookup 198
Make Attached File 199
Make Cookie 200
Make Email Body 201
Move Message 202
Move Message Ex 203
Open Attached File 204
Open Attached Message 205
Open Folder 205
Open Message 208
Open Message By Cookie 210
Parse Cookie 212
Parse Email Body 213
Query Mail System 214
Reply To Message 214
Send E-Mail 217
Send Fax 220
Send Message Light Notification 224
Send Voicemail 224
Send VPIM Message 227
Set Out of Office Status 230
Update Folder 230
Fax 232
Introduction to Fax Tools 232
Fax Tool Usage 234
Supported Bitmap File Formats 234
Interaction Fax format 235
Fax Tools 235
Feedback 252
Introduction to Feedback Tools 252
Get Active Survey 253
Get Survey TUI XML 253
4
IsSurveyActive 255
Manage Survey Prompt Result 256
Post Survey Results 257
Run Survey 258
Transfer Survey Queue 259
Wait for Survey Start 260
File I/O 260
Introduction to File I/O Tools 261
TCP/IP tools overview 262
Copy File 263
Directory List 264
File Attributes Modify 265
File Attributes Query 266
File Close 267
File Delete 267
File Find Replace 267
File Open Read 269
File Open Write 270
File Position 271
File Read 272
File Read List 272
File Write 274
File Write List 275
Get File Statistics 276
Get Free Space 277
TCP Close 277
TCP Connect 278
TCP Listen 278
TCP Read Integer 279
TCP Read String 279
TCP Read String UTF8 280
TCP Write Integer 282
TCP Write String 283
TCP Write String UTF8 284
Generic Object 284
Introduction to Generic Objects Tools 284
Create Generic Object 285
Disconnect Generic Object 286
Get Generic Object Attributes 287
Set Generic Object Attributes 288
Transfer Generic Object 288
Host Interface 289
Introduction to Host Interface tools 289
Host Connect 293
Host Connect Ex 293
Host Disconnect 295
Host Disconnect Ex 295
Host Fetch Form Data 296
Host Find String 297
Host Get Connection Resource 298
Host Get Cursor Position 299
Host Get Field Attributes 299
Host Get Resource Counts 301
Host Get Screen 302
Host Get Screen Dimensions 303
Host Get String 304
Host Initialize Resource 305
Host Move To Position 306
Host Move To Screen 307
Host Press Key 308
Host Put Form Data 309
Host Put String 310
Host Verify Screen 311
Host Wait For Cursor 312
Host Wait For ReadyToSend 313
Host Wait for Screen 314
5
Host Wait For String 315
ICon 315
Overview of Interaction Conference (ICon) Tools 316
ICon Handle Call 316
Internet 316
Internet tools 316
Create Callback 317
Escape URL 318
Generate HTML 318
UnEscape URL 320
IpNotes 320
Overview of IpNotes 320
Create Note 321
Get Notes Attribute Date/Time 322
Get Notes Attribute Integer 323
Get Notes Attribute String 324
Remove Note 325
Update Notes Attribute Date/Time 326
Update Notes Attribute Integer 327
Update Notes Attribute String 328
LDAP 329
Introduction to LDAP tools 329
LDAP: The order in which LDAP tools might be used 333
Add Blob Attribute 334
Add Entry 335
Add Entry Ex 336
Add Operation 336
Close Session 338
Delete Entry 339
Explode DN 340
Flush Cache 341
Get Cache Size 342
Get Entry Attribute 343
Get Entry Blob Attribute 344
Login 344
Modify Entry 346
Modify Entry Ex 347
Move Entry 347
Next Entry 349
Read Entry 351
Rename Entry 352
Search Entries 352
Session 354
Set Max Cache Size 356
List 356
List Tools 356
Copy String List 358
Filter List 358
Find 362
GetAt 363
GetCount 363
InsertAt 364
InsertAtHead 364
InsertAtTail 365
List to String 365
Merge String Lists 366
Parse String 367
RemoveAll 367
RemoveAt 368
RemoveHead 368
RemoveTail 368
SetAt 369
Sort Lists 370
Update Data Pair Values 371
Outputs 371
Monitoring (Remoco) 371
6
Get Process Information 371
Merge Log Event ID and Insertion Strings 373
Merge Log Event Messages 374
Restart IC Subsystem 374
Stop IC Subsystem 375
Multi-Site 377
Multi-Site Create Message 377
Multi-Site Get Integer 377
Multi-Site Get Note 378
Multi-Site Get String 379
Multi-Site Put Integer 379
Multi-Site Put Note 380
Multi-Site Put String 380
Multi-Site Send Event 381
Multi-Site Send Request 382
Multi-Site Send Response 383
OCR 383
Overview of OCR Tools 383
Export for OCR file 384
Export Parser 386
OCR for I3Fax files 387
OCR for TIFF/PCX/DCX files 389
OCR Parser 391
Personal Rules 394
Overview of Personal Rules 394
Personal Action Details 394
Personal Rules 395
Process Automation 395
Overview of Process Automation Tools 396
Create Data Container 397
Get Data Element 397
Get Process Properties 400
Initiate Process 400
Send Process Automation Handler Results 403
Put Data Element 404
Query Server Info 404
Remove Data Container 406
Reco 406
Introduction to Reco tools 407
Reco Add Preloaded Grammar 407
Reco Analyze Error Code 409
Reco Analyze Result 409
Reco Basic Input 410
Reco Bind Slot Values 414
Reco Create Company Directory Grammar 414
Reco Create Company Directory Grammar 2 417
Reco Create Simulated Interaction 419
Reco Custom Operation 421
Reco Disconnect Simulated Interaction 422
Reco Filter Result 422
Reco Get Hypothesis 423
Reco Get Next Hypothesis 425
Reco Get Property 426
Reco Get Registered Grammars 427
Reco Get Slot Value 427
Reco Has Feature 429
Reco Initialize 429
Reco Input 432
Reco Log Event 436
Reco Merge Results 436
Reco Query Input Modes 439
Reco Query Simulator Script State 440
Reco Register Grammar 440
Reco Register Grammar String 442
Reco Register Inline Grammar 444
Reco Register Preloaded Grammar 446
7
Reco Release 448
Reco Session Active 448
Reco Set Inline Properties 449
Reco Set Input Modes 449
Reco Set Property 451
Reco Set Simulator Script State 452
Reco Unregister All Grammars 453
Reco Unregister Grammar 454
Reco Verifier Abort Training 455
Reco Verifier Commit Training 456
Reco Verifier Ignore Last Utterance 457
Reco Wait For Grammars 457
Reports 458
Report Tools 459
Log Tools 460
Advance Counter 461
Assign Report Group 461
Assign Stats Group 462
Get Nth Period Statistics Report Data 462
IVR Event Notify 462
IVR_EnterLevel 464
IVR_ExitIVR 465
Logging Custom Passthrough 466
Purge Log Records 467
Query Counter 467
Query Report Group 468
Query Stats Groups 468
Remove Stats Group 469
Report E-mail 469
Report Export File 472
Report HTML Export 474
Report Print 475
REST 477
Array Builder 478
Array Parser 479
Bearer Token Request 479
JSON Builder 482
JSON Parser 483
REST HTTP Request 483
SMS 485
Overview of SMS Tools 486
SMS Append Destination 486
SMS Append Destinations 487
SMS Append Message 488
SMS Complete Send 489
SMS Create 489
SMS Get Results 490
SMS Send 490
SMS Set Message 493
Inputs 493
SOAP 493
SOAP Abort Request 494
SOAP Add Body Element 494
SOAP Add Header Element 495
SOAP Add RPC Parameter 497
SOAP Base64 Decode 498
SOAP Base64 Decode To File 499
SOAP Base64 Encode 500
SOAP Base64 Encode File 501
SOAP Create Array 501
SOAP Create Envelope 504
SOAP Create Fault Response 505
SOAP Create RPC Response 506
SOAP Expects Response 508
SOAP Get Body 508
SOAP Get Body Element 508
8
SOAP Get Fault 510
SOAP Get Header 511
SOAP Get Header Element 511
SOAP Get Header Elements 512
SOAP Get Next RPC Parameter 514
SOAP Get Request Info 515
SOAP Get RPC Method Info 516
SOAP Get RPC Parameter 517
SOAP Get Transport Info 518
SOAP HTTP Request 518
SOAP HTTP Request Ex 521
SOAP HTTP Request Ex2 524
SOAP HTTP Request Ex3 528
SOAP Parse Request Payload 531
SOAP Query Encoding Style 534
SOAP Send Response 535
SOAP Set Element Type 536
SOAP Set Fault 537
Schedules 537
Get Schedules 537
Get Best Schedule 539
StatAlertServer 540
Alert Custom Handler Result 540
System 540
System Tools 541
Complete External Blind Transfer 541
Complete External Call and Complete External Call (extended) 544
Complete External Call (extended) 545
Complete Intercom Blind Transfer 546
Complete Intercom Call 547
DataManager Query 547
Delete DS Key 549
Dialplan Failure 549
DID/DNIS Routing 550
DLL Function Call (Out of process) 550
Execute Shell Command 551
External Handler Return 553
Feature Licensed? 553
GetDSAttr 553
GetDSAttrs 555
Get Ds Keys 556
Get DS Parameter 557
Get Email Profile 558
Get Operator Profile 559
Get Profile 559
Get Structured Parameter 561
Keypad Map 562
Load Localized String 563
Log Event 564
LookUp 564
LookupList 567
Lookup List Extended 568
Make External Handler Call 570
OCR Installed 572
Parse String RegEx 573
Put Ds Attr 574
Put Ds Attrs 575
Put Ds Key 575
Put External Password 578
Put Structured Parameter 579
Query Backup 580
Query Conversation ID First Agent 581
Query ConversationID Last Agent 582
Query License Details 583
Query Security Policy 583
Quick Directory Available Check 585
9
RegEx Extended 585
Retrieve External Password 588
Semaphore Lock 589
Semaphore Unlock 590
Send Custom Notification 591
Server Name 591
Sleep 592
Tracker User Audit Data 592
Tracker VoiceMail Data 592
Transcribe Recording Begin 593
Transcribe Recording Result 595
Unique ID 597
Verisign Transaction 597
Whitepages 597
WhitePagesAsync 602
WhitePagesLocality 604
TUI 604
Attendant Email Logical Transfer 604
Create Calendar Session 605
Create Private Contact Grammar 605
Find Localized File 608
Find User By TN 609
Get File Age 609
TUI Compile from String 610
TUI Get Catch 610
TUI Get Menu Attributes 610
TUI Session 610
Telephony 610
Telephony 610
Add Party 613
Alert 613
Alert Station Group 617
Alert Workgroup 619
Answer 622
Assemble Prompt Phrase 622
Assemble String from Attributes 625
Assemble Text Phrase 626
Auto Conference 627
Bind Provisional Station 628
Blind Transfer 629
Change Workgroup Queue Initiator 630
Exit Paths 630
Complete Parallel Make Call 630
Compress Audio File 630
Conference 632
Convert Call Id to String 633
Convert Conference ID to String 633
Convert String to Call Id 634
Convert String to Conference ID 635
Deferred Answer 636
Describe Phone Number 636
DID/DNIS Routing Ex 639
Disconnect 640
Extended Blind Transfer 640
Extended Get Key 643
Extended Get Key Async 645
Extended Place Call 646
Flush Audio 650
Flush Keys 651
Get Attribute 651
Get Attributes 652
Get Billing Rate 653
Get Call Log 653
Get Datetime Attribute 654
Get Datetime Attributes 654
Get Key 654
10
Get Station Info 656
Get User's Location 657
Get Users with Role 658
Get Wildcard Attributes 659
Hold 660
Is Alertable? 660
Key Word Spotting 663
Listen From Call 664
Listen From Station 665
Log Message 666
Malicious Call Trace 667
Mute Interaction 668
Parallel Make Call 668
Parallel Make Call Failure 671
Park 671
PickUp 672
Place Call 673
Play Audio File 673
Play Digits 675
Play Prompt 676
Play Prompt Extended 677
Play Prompt Phrase 677
Play Recording 679
Play String 680
Play String Extended 680
Play Text File 682
Play Text File Extended 682
Play Tone 684
Priority Set Attribute 684
Priority Set Attributes 684
Private 685
Query Conference Properties 686
Query Logged In Users 687
Query Media Subtype 688
Query Media Type 688
Query Monitored Queues 690
Query Queue 690
Query Queue Type 692
Query Statuses for User 693
Query User Status 693
Record Audio 694
Record Call 697
Record File 698
Record String 700
Record String Extended 700
Record Text File 702
Record Text File Extended 702
Reload Station 704
Remove Party 704
Reset Password 705
Secure Session Begin 706
Secure Session End 707
Secure Session Get Key 707
Secure Session Info Insert 710
Inputs 710
Secure Session Info Validate 711
Select Call 712
Send ADSI String 713
Set Attribute 714
Set Attributes 715
Set Billing Rate 716
Set Call State 717
Send ADSI String 718
Set Datetime Attribute 719
Set Datetime Attributes 719
Set DTMF Password 719
11
Set State String 721
Set User Status 721
Set Visual Indicator 723
Start TDD 723
Station Answer 724
Station Audio 725
Station Connection Confirmation 726
Station Group Pickup 726
Station Pickup 727
Station Place Call 728
Synchronous Answer 729
System Queue 729
Transfer 730
Unbind Station 731
Unhold Call 731
User Login List 732
Validate DTMF Password 733
Verify Conference ID 734
Verify Interaction ID 734
Wait For Call On Queue 735
Wait For Disconnect 736
Wait For Monitor End 737
Wait Wrap Up 738
Wink 738
Zone Page 738
UMF 740
Overview of Universal Messaging Facility 740
UMF Create Message 741
UMF Get Integer 741
UMF Get String 742
UMF Put Integer 742
UMF Put String 743
UMF Send Event 744
UMF Send Request 745
UMF Send Response 746
VoiceXML 746
VoiceXML Tools Overview 747
VoiceXML Async Initiate 747
VoiceXML Async Initiate Document 749
VoiceXML Initiate 750
VoiceXML Initiate Document 752
VoiceXML Async Cancel 755
Web Interaction Tools 755
Overview of Web Interaction Tools 756
Alert Interaction 757
Chat Goto URL 758
Chat Send File 759
Conference Interaction 759
Consult Transfer 760
Create Interaction 761
Disconnect Interaction 762
Hold Interaction 762
Inputs 762
Mute Interaction 763
Park interaction 763
Pickup Interaction 764
Receive Text 764
Receive Text Async 765
Record 766
Send Text 767
Send To Voicemail 767
Snip Recording 768
Snooze Interaction 769
Transfer Interaction 770
WebSphere MQ 770
Overview of WebSphere MQ Tools 771
12
MQ Begin 772
MQ Close 773
MQ Commit 774
MQ Connect 774
MQ Disconnect 776
MQ Extended Get 776
MQ Extended Put 779
MQ Flush 782
MQ Get 782
MQ Open 784
MQ Put 785
MQ Rollback 787
XML 787
XML Add Schema 788
XML Assign Node 789
XML Assign Node Iterator 789
XML Clone Node 790
XML Create Document 790
XML Create Document From String 792
XML Create Node 793
XML Escape Entities 795
XML Get Attribute 797
XML Get Attributes 798
XML Get Child Nodes 799
XML Get Document Property 800
XML Get Error Info 800
XML Get First Iterator Position 802
XML Get Namespaces 803
XML Get Next Node 804
XML Get Node Info 804
XML Get Node Value 806
XML Get Schema 807
XML Get Sibling 808
XML Get Text 809
XML Get XML 810
XML Insert Node 811
XML Load Document 811
XML Remove Node 813
XML Save Document 814
XML Select Nodes 815
XML Select Nodes As List 816
XML Select Single Node 817
XML Select Single Node Set Value 818
XML Set Attribute 818
XML Set Document Property 819
XML Set Node Value 821
XML Switch On Node Type 822
XML Transform To Document 822
XML Transform To String 825
XML Unescape Entities 826
XML Validate Document 827
Initiators 827
Introduction to Initiators 827
ACD Agent Available Initiator 831
ACD Call Timeout Initiator 832
ACD Process Call Initiator 833
Call Monitor Initiator 833
Call to Non-System Queue Initiator 836
Client Button Press Initiator 838
Client Prompt Request initiator 839
Compile Voicemail TUI Initiator 840
Complete Async Receive Text from an Interaction Initiator 841
Confirm Station Connection 842
Continuous Monitor Request 843
Custom Notification Initiator 844
Directory Services Change Notification Monitor Initiator 844
13
Email Interaction Disconnected Initiator 847
Email Interaction Incoming Initiator 848
Email Interaction Outgoing 849
Email Interaction Transferred Initiator 850
External Handler Call Initiator 851
Fax Send Completed 851
Generic Object In Non System Queue Initiator 855
Generic Object Monitor Initiator 856
Get Digits Ex Async Initiator 856
Held Interaction Timer Initiator 858
HTML Event Initiator 858
IC Change Notification Monitor Initiator 861
Incoming Call Initiator 863
Incoming Fax Initiator 863
Incoming Mail Initiator 865
Incoming SMS 865
Incoming Status Report 868
Incoming VPIM 869
Interaction Administrator Change Notification Monitor Initiator 869
Interaction Disconnected Initiator 871
Interaction Retry Later Attempt initiator 872
Interaction Snooze Timed Out initiator 873
Interaction Transferred to Queue Initiator 874
Keyword Spotted Initiator 874
Manage Survey Prompt Initiator 877
Message Light Notification initiator 878
Messaging Request Initiator 879
Multi-Site Message Received 880
New Incoming Interaction Initiator 881
New Incoming Web Session Initiator 882
Object Disconnect Initiator 883
Outgoing Call Request Initiator 883
Outgoing Fax Initiator 884
Outgoing SMS 887
Parallel Make Call Outbound Call Initiator 887
Play Station Audio Request initiator 889
Process Automation Initiator 890
Provision Station Initiator 891
Queue Period Report Statistics Initiator 892
Receive Log Events Initiator 892
Receive Trap Initiator 894
Run Survey Initiator 895
Secure Input Initiator 896
Send to Voice Mail Initiator 897
SMS in Non System Queue Initiator 898
SMS Monitor Initiator 899
SOAP Request Initiator 899
StatAlertServer Initiator 899
Station Off Hook initiator 902
Subroutine Initiator 903
Switchhook Flash Initiator 904
Switchover Event Initiator 905
System Initialization initiator 905
T1/E1 Wink Event Initiator 906
TCP/IP Connection Accepted initiator 907
Timer Initiator 908
Transfer Request Initiator 908
Transfer to System Queue Initiator 910
Transfer Conversation Initiator 911
Transfer Direct Message Initiator 912
UMF Message Received Initiator 913
User Status Monitor Initiator 913
Work Item Transferred to Queue Initiator 916
Wrapup Required Initiator 916
System_IncomingSocialMediaConversation 917
System_IncomingSocialMediaDirectMessage 918
14
Procedures 919
Starting Interaction Designer with command line parameters 919
Working with Handlers and Subroutines 919
Overview of Building and Modifying Handlers and Subroutines 919
Introduction to Handlers 921
Create a new handler or subroutine 923
Handler Standards 923
Save a handler or subroutine 926
Publish a handler or subroutine 926
Publishing a handler created in a previous release of CIC 928
Intermediate Publish 928
Using .i3pub Files 930
EICPublisher 931
Batch Publishing 932
Activating and Deactivating Handlers 934
View Dependencies 936
Views Preferences 937
Customizing Handlers 937
Retrieving the values of server and system parameters from handlers 942
The difference between server and system parameters 942
Debugging Handlers 955
Working with Subroutines 959
Managing Handlers 961
Handler Best Practices 964
Working with Steps 973
Introduction to steps 974
Add a step 975
Delete a step 975
Connect a step 975
Move a step 976
Edit a step 976
View the properties of a step 976
Find a step 977
Copy a step 977
Cut a step 977
Paste a step 978
Delete a link 978
Working with Audio Prompts 978
Prompt Editor 978
Record a prompt 980
Listen to a prompt 980
Delete a prompt 981
Importing and Exporting Prompts and Strings 981
Localizing Prompts 983
Prompt Libraries 984
Language Codes 984
Other reference 985
Retrieving the values of server and system parameters from handlers 985
The difference between server and system parameters 985
Call Analysis 985
Where is call analysis turned on and off? 986
What does call analysis actually do? 986
What is answering machine detection? 986
Is call analysis different on digital lines? 987
What happens if I turn Call Analysis Off? 987
Object States 987
States 988
Tools impacted by the PureConnect data privacy feature 988
IP Tool Tracing Changes 989
Interaction Designer interface 991
Introduction to the Design Palette 991
The Tools Page 991
The Subroutines Page 991
Disabled Features in Interaction Designer 992
Features not available without a server connection 992
15
File Menu Commands 992
Edit Menu Commands 993
View Menu Commands 994
Layout Menu Commands 994
Utilities Menu Commands 995
Debug Menu Commands 996
Window Menu Commands 996
Help Menu Commands 997
Toolbars 997
Designer Preferences Dialog Box 997
Expressions, Data Types, and Operators 997
Creating Expressions 997
Literal Values, Variables, and Operators 999
Expression Editor Assistant 999
Data types 1000
Miscellaneous topics 1021
Print Preview toolbar 1021
Print 1021
Next Page 1021
Prev Page 1021
One Page / Two Page 1021
Zoom In 1021
Zoom Out 1021
Close 1021
Status Bar 1022
Compile Voicemail TUI Initiator 1022
Email Tool Result Codes 1022
Align Bottom 1024
Align Left 1024
Align Right 1024
Align Top 1024
Exit command (File menu) 1024
Shortcuts 1024
Associate Call 1024
Inputs 1024
Outputs 1025
Exit Paths 1025
Auto Label Power Tools 1026
BMP file format for faxes 1026
Call ID to Integer 1026
Call Info Request 1026
Callback 1026
Calls to Subroutines 1027
Inputs 1027
Outputs 1027
Exit Paths 1027
Call Stack 1027
Choosing an Operator 1028
Typing values for operands 1028
Conference ID to Integer 1028
Context Help command 1028
Debug Palette 1029
Debug Preferences 1029
Initial Breakpoint 1029
When Stopping a Debug Session 1029
Watch Variables 1029
Debug Toolbar 1030
Call Wrap Up 1031
Initiator Properties Page 1031
Outputs 1031
Exit Paths 1031
Fax Message Initiator 1031
Initiator Properties Page 1031
Outputs 1032
16
Exit Paths 1032
Get Logged In Workflow 1033
Inputs 1033
Outputs 1033
Exit Paths 1033
Get Workflows 1034
Outputs 1034
Exit Paths 1034
Rule Action Event 1034
Initiator Properties Page 1034
Outputs 1034
Exit Paths 1035
Disconnect Email Object 1036
External Document Not Found 1036
Drag a tool from the tool palette to create a step 1036
Introduction to E-mail Objects 1036
End TDD 1036
EPS file formats for faxing 1036
Exporting Dependencies to XML 1036
Change Initiator command (File menu) 1037
Close command (File menu) 1037
File Debug Immediate 1037
File Download A Handler From Server Command 1037
File Generate i3pub File 1037
1, 2, 3, 4 command (File menu) 1037
New command (File menu) 1037
Open command (File menu) 1037
Print Preview command (File menu) 1038
Print Setup command (File menu) 1038
File Print command 1038
File Properties 1038
Save As command (File menu) 1038
Save command (File menu) 1038
File Export To XML 1038
Find 1038
Get Best Site Queue 1039
Inputs 1039
Outputs 1039
Exit Paths 1039
Get Campaign UUID 1040
Inputs 1040
Outputs 1040
Exit Paths 1040
Get Key Word Set Guid List 1041
Inputs 1041
Outputs 1041
Exit Paths 1041
Get Site Queue Expected Wait 1041
Inputs 1041
Outputs 1042
Exit Paths 1042
Get Site Queue Info 1043
Inputs 1043
Outputs 1043
Exit Paths 1045
Get Site Queue State 1046
Inputs 1046
Outputs 1046
Exit Paths 1046
Get Email Object Original Message 1046
Get Email Object Response Message 1047
Go TopLeft 1047
Go Line Down 1047
Go Line Left 1047
17
Go Line Right 1047
Go Line UP 1047
Go Page Down 1047
Go Page Left 1047
Go Page Right 1047
Go Page Up 1047
Grid 1047
Handler Diff Power Tool 1048
Handler Download Preferences 1049
Handler Retrieval 1049
Destination Directory 1049
Handler Variables 1049
How Paging Works in CIC 1050
Welcome to Interaction Designer 1051
What is Interaction Designer? 1051
Other Documentation 1051
Interact! 1051
Incomplete Required Parameter dialog box 1051
Insert Email Object Response Attachment 1051
Integer to Call ID 1052
Integer to Conference ID 1052
Introduction to Paging in CIC 1052
ISO 3166 Country Codes 1052
ISO 639 Language Codes 1059
JPG file format for faxes 1063
Key codes for use with the Host Press Key tool 1063
Keyword Spotting by Sets 1067
Inputs 1067
Exit Paths 1067
Layout Toolbar 1067
Layout Toolbar 1068
Listen 1069
Inputs 1069
Exit Paths 1069
Literal Values 1070
Using Literal Values in complex expressions 1070
Special Characters in Expressions 1070
MAC, IMG, and ISP file formats for faxing 1070
Import Global Variables 1070
Manual Dial Request Initiator 1071
Initiator Properties Page 1071
Outputs 1071
Exit Paths 1071
Mathematical Operators 1071
?+? 1071
?-? 1072
?*? 1072
?/? 1072
?^? 1072
Abs 1072
Mod 1072
-? 1072
Melder - Request Audio Path 1073
Initiator Properties Page 1073
Outputs 1073
Exit Paths 1073
Melder - Setup Audio Path 1074
Initiator Properties Page 1074
Outputs 1074
Exit Paths 1074
MP3 files 1074
Open an existing handler or subroutine 1074
Operator Descriptions 1075
Overview of Buffer Tools 1075
18
Overview of Multi-Site Tools 1076
Palette Toolbar 1076
PCD and FPX file formats for faxes 1077
PCT file formats for faxing 1077
PCX file formats for faxes and OCR 1077
PNG file formats for faxing 1077
Power Tools command (Utilities menu) 1077
Predictive Call Completed 1078
Inputs 1078
Exit Paths 1078
Preview Call 1079
Inputs 1079
Exit Paths 1079
Print a handler 1079
Print Magnification 1079
Printer Layout Options 1079
Printing a handler across multiple pages 1080
Printing a handler on a single page 1080
Properties 1080
PSD file formats for faxing 1080
Publish Command (File Menu) 1080
General Preferences 1081
Publish Handler Dialog 1081
Starting Directory for File Open and Save As 1081
DB Query Step Database Operations 1081
Publishing IC 2.2 handlers in IC 2.3 1081
Publishing IC 2.2 handlers in IC 2.4x 1082
QuickJump 1082
List all steps 1082
List Steps With No Incoming Links 1082
List Steps With Unlinked Exit Paths 1082
Clear QuickJump List 1082
RAS file formats for faxing 1082
Record Email Object 1082
Register Call Data 1083
Inputs 1083
Exit Paths 1083
Relabel Power Tools 1084
Remove Email Object Response Attachment 1084
Sample.lst 1084
Select All 1084
Send Message Extended 1084
Send Pager Message Initiator 1085
Initiator Properties Page 1085
Outputs 1085
Exit Paths 1085
Send Pager Message Lookup Initiator 1086
Initiator Properties Page 1086
Outputs 1086
Exit Paths 1086
Send Email Object Response 1087
Set MWI Extended 2 1087
Set MWI Extended 1087
SMDI : Send Message 1087
SOAP Wizard 1088
SOAP Tool Variables 1088
Web Services Invoked by SOAP 1088
ISAPI Listener Files 1088
Proxy Handler Options 1088
Special Export Options 1089
Explanation of Special Options 1089
Standard Toolbar 1091
Status Indicator 1091
Step Variables 1092
19
Step XML Power Tool 1092
STID 1092
Subroutine Parameter dialog box 1093
Parameter Label 1093
Variable Name 1093
Type 1093
Option: This parameter will only be used as an input value to this subroutine 1093
Default Value for Caller 1093
Default Entry 1093
Option: Constant Value 1093
Option: Variable Name 1093
, symbol 1093
/ symbol 1093
TextFormat codes for OCR Export 1094
TGA file formats for faxing 1095
The order in which TCP/IP tools should be used 1095
TIF file format for faxes and OCR 1096
SMDI: Set MWI 1096
Inputs 1096
Exit Paths 1096
Toggle Messages 1096
Tones 1097
Toolstep Info Power Tool 1097
Transfer Email Object 1099
TTS Speech Modes 1099
Update Email Object Response 1102
User Queue Statistics Monitor Initiator 1102
Initiator Properties Page 1102
Outputs 1102
Exit Paths 1104
Using MRCP Tools 1104
Non-Extended Tools 1104
Extended Tools 1104
Example 1105
Using the SOAP Proxy Wizard 1106
Debug command (Utilities menu) 1106
Manage Handlers command (Utilities menu) 1106
Utilities Stored Procedures 1106
Variable Bar (View Menu) 1106
Deleting Unused Variables In a Handler 1108
Variables 1109
Declaring Variables in a handler 1109
Global Variables 1109
Related Topics 1109
Messages Palette 1109
Handler Messages 1109
General Messages 1109
Status Bar command (View menu) 1109
Toolbar command (View menu) 1110
Watch Variables 1110
Handler Changes in CIC 4.0 1110
Updated Handlers 1110
New Handlers 1118
Deprecated Handlers 1119
WMF file formats for faxing 1121
Workgroup Queue Statistics Monitor Initiator 1121
Initiator Properties Page 1121
Outputs 1121
Exit Paths 1123
WPG files formats for faxing 1123
Zoom 10 1123
Zoom 100 1123
Zoom 125 1123
Zoom 150 1123
20
Zoom 175 1123
Zoom 200 1123
Zoom 25 1124
Zoom 50 1124
Zoom 75 1124
Zoom In 1124
Zoom Out 1124
Zoom 1124
Zoom Factor 1124
File Open Dialog Box 1125
File Name 1125
List Files of Type 1125
Drives 1125
Directories 1125
Network... 1125
Specifying Report Parameters 1125
Determining Which Parameters are Used in a Report 1125
Examples of Boolean Parameter Names and Values 1126
Examples of String Parameter Names and Values 1126
Examples of DateTime Parameter Names and Values 1127
Examples of Number Parameter Names and Values 1128
Substitution Fields 1128
Tool Changes in CIC 4.0 1128
ACD Tools 1128
Alert Server Tools 1128
Email Tools (new tools) 1128
Email Object Tools 1129
OCR Tools (new) 1129
Reco Tools 1129
Report Tools 1129
SDMI Tools 1129
StatAlertServer Tools (new tools) 1129
Web Interaction Tools (new tool and initiator) 1129
Initiators 1129
Using ITTS Tools 1129
Non-Extended Tools 1130
Extended Tools 1130
Change log 1132
21
Overview of Building and Modifying Handlers and Subroutines
This section offers an overview of the entire process of building and editing handlers and subroutines. You should read this before
you begin using Interaction Designer to build or modify handlers and subroutines. This section contains the following subsections:
Overview of Steps
Step 1: Research
Step 2: Design
Step 3: Building
Step 4: Activating
Step 5: Testing
Step 6: Promoting
Overview of Steps
The process of building handlers can be broken down into six steps.
Step one: Research. You should be familiar with the handlers and subroutines currently running on your system.
Step two: Design. Map out the functionality you plan to build, and figure out how it will run with the other handlers and subroutines.
Step three: Building. Begin creating and linking steps to perform the new functionality.
Step four: Activating. When you finish building the handler or subroutine, you must compile and move it to the IC server using the
automated Publish process. Handlers and subroutines are published through Interaction Designer.
Step five: Testing. Test the handler on your live system or on a second system you've set up for testing purposes.
Step six: Promoting. If you are not already using the handler on your live system, activate the handler.
The first step in building handlers and subroutines is research. You must be familiar with the handlers and subroutines currently
being used on your CIC server. You need to know if the handler or subroutine you're planning can be integrated into a currently
running handler. Also, find out if you need to build a new handler or subroutine, or modify an existing one. You cannot build a new
handler or subroutine if you don't spend some time looking at the existing handlers.
There are several places you can look for information on the existing handlers. First, look at the contents of the Handler Help menu.
Many of the handlers and subroutines shipped with CIC are documented under Handler Help. This documentation summarizes the
functionality of the handlers and subroutines, and can help you see where you might want to make customizations.
Also, review the reference and procedural topics in this online help system. The tool documentation in the Reference section can
help you learn the function of each step in a handler or subroutine. The procedural topics and various introductions can help you
understand how handlers work.
Once you are familiar with how the handlers and subroutines are working on the CIC server, begin planning how to build in the new
functionality. Decide how the new functionality will be implemented. Review the following scenarios when making your decision.
When should I modify an existing handler or subroutine?
In many cases, modifying an existing handler is the best way to implement new functionality. In a simple example, you might want
to add a new key-press option for callers using your IVR (Interactive Voice Response) system. In this case, adding new functionality
only involves recording a new prompt, adding a condition to a Selection step, and adding a few other steps to your existing IVR
handler. You don't need to write a whole new subroutine or handler to add this simple functionality. If you only need small changes
or additions to the CIC functionality, consider small modifications to your handlers or subroutines.
If you decide to modify an existing handler or subroutine, we recommend that you only do so using the customization points
provided. Customization points ease future upgrades. Modifications made outside these customization points may be overwritten
when a hotfix or service release is installed. Modifying handlers outside the designated customization points may also cause
undesired behavior in CIC.
When should I build a new handler or subroutine?
If you are planning a significant addition or change in functionality, you probably need to build a new handler or subroutines. In most
cases, you should build a subroutine. A handler will start when an event occurs on the server to start that handler. Most of the
22
events that occur on the CIC server already have a handler associated with them. Unless you are adding third-party products that
generate their own unique events, you build a subroutine.
An example of a piece of third-party equipment that might generate a unique event is some kind of machine monitor. Suppose a
hospital has a computer monitoring a piece of equipment. Anytime that equipment fails, the monitoring computer creates an alarm
event. This event could be passed into CIC and start a handler designed to watch for an alarm event.
Whether you decide to build a handler or a subroutine, map out the new functionality on a whiteboard. Try to think in terms of the
Interaction Designer tools, and what groups of tools create the needed logic. Remember that creating handlers is programming;
planning at the outset saves time when you start building the handler.
Once you've mapped out the functionality and decided to implement the functionality, you're ready to start modifying or building
your handler or subroutines in Interaction Designer. Use Interaction Designer to add new steps and modify existing steps. For help
on a particular step, click the help button on its properties page, or you can select a tool on the tool palette and press the F1 key.
The help for each tool consists of a general description of the step, its parameters, and its exits. You can also find help on working
with steps from the contents page of the online help. Finally, look at how steps are used in other handlers and subroutines.
You do not need to deactivate a handler before you begin editing because any changes you make to a handler or subroutine do not
take effect until you publish the handler or subroutine and activate that handler or subroutine using the Manage Handlers notebook.
Once you have finished building or modifying a handler or subroutine, you need to publish it so that your changes take effect.
Publishing a handler is the automated process of converting the handler to Java code, compiling that code with a Java compiler,
and placing the compiled code on the CIC server. During the publishing process, you may be notified of errors in the handler or
subroutine. These errors might result from unfilled parameters, invalid variable names, or other problems. Refer to the publishing
online help for advice on successful publishing. You may also need to consult the documentation that accompanied the Java
compiler.
Subroutines must be published before they can be called from other handlers and subroutines. Once you have published a new
subroutine, a new subroutine tool appears on your subroutine palette. Use this tool to create a new step in the handler or subroutine
that calls the new subroutine.
There are certain situations where you may not want to publish your handlers or subroutines to the same server where you created
them. To accomplish this, an intermediate publish file is generated and saved to a specified location, where it can then be moved to
the desired server and the publishing process completed.
When a handler or subroutine is first published, you have the option to have it made active immediately. If you choose not to do
this, or if the handler has been imported from another server or previously made inactive, you will need to activate it in the Manage
Handlers notebook before it can be used in CIC.
After you've published your handler or subroutine, either to a test server or the production server, test the functionality you've built.
If you've not already set a handler to active using the Manage Handler notebook, you should do so. This activates the new
functionality.
Related Topics
Handler Best Practices
Publish a handler or subroutine
23
Tools
Each tool has the ability to perform a specific action in a handler. For example, the Assignment tool creates a new variable and
assigns a value to that variable. When a tool is dragged from the Tools page of the Design palette into a handler or subroutine, it
becomes a step in that handler. As you link these steps, you create and order the series of actions that become the functionality of
the handler or subroutine.
You can view the help for a specific tool by selecting that tool on the Tools page of the Design palette and pressing the F1 key, or
by selecting a step in a handler or subroutine, and pressing the F1 key.
Each tool has properties that you can configure. Double-clicking a tool in the layout opens the property sheet for that tool. Each
property sheet has a General page where you can give the tool a new name and write a description of that tool’s purpose in the
handler. Each tool might also have an Inputs page and/or an Outputs page. You can configure the way a tool behaves by changing
the parameters on the Inputs and Outputs pages.
Note : A few of the tools have notebook pages with labels other than Inputs or Outputs. If you encounter one of these tools,
see the documentation for that tool for more information on how to configure that tool.
The Tools page of the Design palette organizes related tools into categories. For example, all of the tools related to opening,
closing, and retrieving data from a database are grouped together under the Database category. The Internet category contains
tools for setting up chat sessions and sending HTML documents. Each group of tools is described in that tool category’s
introduction. You can access these introductions from the Contents page of this online help system.
See Also
Power Tools
Initiators
ACD
24
Introduction to ACD Tools
This topic describes the ACD (Automatic Communication Distribution) features of CIC. Specifically, it defines ACD in CIC,
describes the parameters CIC monitors to make ACD work, and the ACD processing flow. Before you begin configuring CIC's ACD,
be sure to read the CIC ACD Processing Technical Reference located in the PureConnect Documentation Library. This technical
reference also contains information about how to configure email for a custom workgroup.
ACD in CIC
In CIC, ACD is the intelligent routing of interactions (like calls and chat sessions) to available agents in Workgroup queues. CIC
uses assigned skill requirements to intelligently route incoming interactions to a qualified, available agent. Agents are assigned
skill levels and other attributes in Interaction Administrator.
CIC can route calls based on the following:
Agent skills
Agent cost
The amount of time an agent has been available
Custom agent attributes that you create in Interaction Administrator
Call priority
The amount of time a call has been holding in a queue
The amount of time a call has been connected in CIC
Click on one of the tools below for more information about that tool.
ACD Agent Category
ACD Initiate Bullseye Processing
ACD Initiate Processing
ACD Interaction Details
ACD Reassign Interaction
ACD Remove Interaction Skill
ACD Select Agent
ACD Select Interaction
ACD Specify Interaction Category
ACD Specify Interaction Skill
ACD Statistics (Interaction)
ACD Statistics (Queue)
Agent Log On
Agent Log On Remote
Agent Log Off
Release Agent Lock
Release Interaction Lock
Replace Interaction
Reset In Queue Timeout
Stop ACD Processing
Workgroup Agent Activate
Workgroup Agent Deactivate
25
ACD Agent Category
This ACD tool assigns an agent to a category. Categories allow you to create subsets within workgroups. If an agent belongs to a
category and a call or chat session is assigned to that category, then only agents who are members of that category will receive
that call. For example, if a call is assigned to category A (with the ACD Specify Interaction Category tool), then that call (either
inbound or outbound) is assigned to an agent in category A.
Categories are less persistent than ACD skills because they are held in memory on the ACD Server. When you restart CIC, all
category information is removed. You can remove an agent from a category by executing this tool with the Add Agent to
Category option cleared. Interaction Dialer assigns agents to categories without using this tool.
Inputs
Agent Name
Category Name
The name of the category. If the category does not exist, this tool creates it.
Select this option to add the agent to the specified category. Clear this option to remove the agent form the specified category.
Exit Paths
Next
Inputs
Call Identifier
Priority Level
The priority level assigned to the interaction. The default value is 50.
Ring 1 Agents
A list of strings specifying the names of the agents to consider for assignment in Ring 1. An agent must be logged on to be
considered for assignment.
Ring 2 Agents
26
A list of strings specifying the names of the agents to consider for assignment in Ring 2. An agent must be logged on to be
considered for assignment.
Ring 3 Agents
A list of strings specifying the names of the agents to consider for assignment in Ring 3. An agent must be logged on to be
considered for assignment.
Ring 4 Agents
A list of strings specifying the names of the agents to consider for assignment in Ring 4. An agent must be logged on to be
considered for assignment.
Ring 5 Agents
A list of strings specifying the names of the agents to consider for assignment in Ring 5. An agent must be logged on to be
considered for assignment.
The number of seconds to wait for an agent to become available in ring 1 before considering agents in ring 2. Set this value to 0 to
consider agents in ring 2 immediately if no agents are available in ring 1. The default is 15.
The number of seconds to wait for an agent to become available in ring 2 before considering agents in ring 3. Set this value to 0 to
consider agents in ring 3 immediately if no agents are available in ring 2. The default is 15.
The number of seconds to wait for an agent to become available in ring 2 before considering agents in ring 3. Set this value to 0 to
consider agents in ring 3 immediately if no agents are available in ring 2. The default is 15.
The number of seconds to wait for an agent to become available in ring 4 before considering agents in ring 5. Set this value to 0 to
consider agents in ring 5 immediately if no agents are available in ring 4. The default is 15.
The number of seconds to wait for an agent to become available in ring 5. Set this value to 0 to consider available agent in the ACD
workgroup immediately if no agents are available in ring 5. The default is 15.
The number of seconds to wait after processing all rings before sending a timeout notification. The default of 0 does not raise the
overflow event.
Exit Paths
Next
27
This ACD tool starts the ACD processing for a telephone or chat interaction. This tool should be called when an interaction is on a
workgroup queue. When this step executes, the CIC server selects an appropriate agent from the workgroup queue on which the
interaction currently resides. For example, if the interaction is on the Technical Support queue, then the members of the Technical
Support workgroup are considered to be agents of that workgroup. All available members of that workgroup are considered agents
who might receive the interaction.
In this tool, you’ll also specify the weights used to calculate Agent score, interaction score, and other values used in ACD
processing. See Configuring ACD Processing in the CIC ACD Processing Technical Reference located in the PureConnect
Documentation Library for more information on how to configure the parameters in this tool.
Note: This tool generates a ACDProcessQueueItem event that starts the ACDAvailableInteraction handler.
Inputs
Call Identifier
The identifier of the telephone or chat interaction on which ACD processing is performed.
This input is used when multiple agents are vying for one call and indicates the level of importance for Agent Skill in the Agent
Score formula. Agent skill levels are assigned in Interaction Administrator on a User or Workgroup level. Specify the skill
requirements for a call using one or more ACDSpecifySkill steps before this ACDProcessCall step.
If Agent Skill is more important for you than Agent Cost, Agent Available Time, or some other custom attribute, weight this
parameter more than the other weight parameters. The default value is 1.0.
The level of importance for Agent Cost in the Agent Score formula. Agent Cost is an attribute assigned to an agent in Interaction
Administrator. Use a positive value in this parameter to assign the call to the agent with the highest cost. Use a negative value in
this parameter to assign the call to the agent with the lowest cost. The default value is 1.0.
The level of importance for Agent Available Time in the Agent Score formula. If you want to assign this call to the agent who has
been off the phone the longest, weight this parameter more heavily than Weight for Agent Skill and Weight for Agent Cost. The
default value is 1.0.
Weight to be used for Agent Attribute 1. This attribute can be assigned in Interaction Administrator. The default value is 0.0.
Weight to be used for Agent Attribute 2. This attribute can be assigned in Interaction Administrator. The default value is 0.0.
Weight to be used for Agent Attribute 3. This attribute can be assigned in Interaction Administrator. The default value is 0.0.
The amount of time (in seconds) before increasing the Agent Available value by one. The longer an agent is available, the higher his
or her Agent score will be. The default value is 30.
If you are concerned with matching calls to agents with the best skills for the calls, then increase the Weight for Interaction Skills
28
more than the weights for Priority or Time in Queue or System. This input is used when an agent becomes available and there are
multiple calls from which to choose. The default value is 1.0.
If you are concerned with matching calls with the highest priority to agents, then increase the Weight for Priority more than the
weights for Skills or Time in Queue or System. The default value is 1.0.
If you are concerned with matching calls that have been holding in this queue the longest to agents, then increase the Weight for
Time in Queue more than the weights for Skills, Priority, or Time in System. The default value is 1.0.
If you are concerned with matching calls that have been connected to CIC the longest to agents, then increase the Weight for Time
in System more than the weights for Skills, Priority, or Time in Queue. The default value is 0.0.
Priority Level
The priority level assigned to the call. If you want priority taken into account when calculating interaction scores, you should also
increase the value in the Weight for Priority parameter. The default value is 50.
The number of seconds before the Time in Queue value is increased by one. This increases a call's score and the likelihood that it
will be assigned to an agent. The default value is 30.
The number of seconds before the ACD Queue Item Timeout event is generated. The ACD Call Timeout initiator is configured to
start a handler when a call reaches its In-Queue time limit. Think of this parameter as the amount of time to wait before special
processing is performed on the call by the ACDQueueTimeout handler. The default value is 0, which indicates no time limit.
The amount of time (in seconds) before increasing the Time in System by value by one. This increases a call's score and the
likelihood that it will be assigned to an agent. The default value is 30.
Increase Weight for Utilization if you want agents whose utilization is consumed by ACD interactions already assigned to them to
be less likely to get a new ACD interaction assigned in a scenario with multiple agents available in the queue. The default value is
0.0.
Outputs
Call Identifier
Exit Paths
Next
29
ACD Interaction Details
This ACD tool retrieves the ACD properties assigned to a specified interaction.
Inputs
Call Identifier
Outputs
Interaction is Acd
The amount of time in seconds that the interaction has been in the ACD queue.
The total number of seconds that the interaction has been in the system.
30
The minimum skill proficiencies assigned to this interaction.
The ACD category assigned to this interaction (i.e., ACD, Custom, Group Ring, or Sequential) as specified in Interaction
Administrator.
Exit Paths
Success
Failure
Inputs
Call Identifier
Agent Name
Set this parameter to true if you do not want any interactions assigned to the agent that was not answering for thirty seconds. This
gives the agent who is answering time to finish what he or she is doing and to set his or her status to "Available."
Exit Paths
Next
31
ACD Remove Interaction Skill
Use this ACD tool when an interaction no longer requires agents with the specified skill. The specified skill will not be factored into
the final interaction/agent score. If the interaction has not been assigned, it will be reevaluated against all available agents using
the new score.
Inputs
Call Identifier
Skill Name
Exit Paths
Success
Failure
32
ACD Select Agent
This ACD tool assigns a telephone or chat interaction to an available agent in the workgroup containing the queue item. The agent
selected is the agent with the highest agent score.
Before you begin configuring CIC's ACD, be sure to read the CIC ACD Processing Technical Reference located in the PureConnect
Documentation Library.
Inputs
Call Identifier
Outputs
An agent who can accept the queue item. This is the most appropriate agent as determined by the agent score or interaction score.
Exit Paths
Success
The Success exit path is taken if the queue item (call or chat session) could be assigned to an agent.
No Available Agents
This path is taken if there are no agents available to take the interaction.
Already Assigned
Failure
The Failure exit path is taken if the queue identifier is not valid.
33
ACD Select Interaction
This ACD tool assigns a telephone or chat interaction to an available agent. The interaction selected is the interaction with the
highest interaction score.
Inputs
Agent Name
The name of the agent to which the call is assigned. If the agent name is not a scoped queue name (such as "User:Name"), it is
assumed to correspond to a user queue.
Outputs
Call Identifier
The identifier for the workgroup queue on which this call is being processed.
Exit Paths
Success
The Success exit path is taken if the queue item (call or chat session) could be assigned to an agent.
Failure
The Failure exit path is taken if the queue identifier is not valid or if the call could not be assigned.
34
ACD Specify Interaction Category
This ACD tool assigns a call to a category. Categories allow you to create subsets within workgroups. If an agent belongs to a
category and call or chat session is assigned to that category, then only agents who are members of that category will receive that
call. For example, if a call is assigned to category A, then that call (either inbound or outbound) is assigned to an agent in category
A. Agents are assigned to categories with the ACD Agent Category tool.
Categories are less persistent than ACD skills because they are held in memory on the ACD Server. When you restart CIC, all
category information is removed. You can remove an agent from a category by executing this tool with the ACD Agent to Category
option clear. The ACD Agent Logout tool removes an agent from all categories. The Interaction Dialer application assigns agents to
categories without using this tool.
Inputs
Call Identifier
Category Name
The name of the category. If the category does not exist, it is created.
If this option is selected, one or more agents must be in the category before the call can be assigned to that category. If this option
is not selected, it removes the call from the specified category.
Exit Paths
Next
Reassigning Skills
In some cases you may want to reassign the skill levels required for a call. For example, if a call has timed out because no agents
with the necessary skills were available, then you may want to lower the minimum proficiency levels. All you have to do is run the
call through another ACD Specify Interaction Skill step with the new minimum proficiency levels. It is necessary to call ACD Initiate
Processing when the skills have changed. Also, after changing skill levels, a Set Call State tool must be set with the "cancel pending
operations" option selected in order to cancel all prompts that were playing at the time the skills were changed.
Inputs
35
Call Identifier
The identifier for the interaction for which you want to specify skills.
Skill Name
The minimum proficiency level required for this skill. Agents who do not possess this minimum skill proficiency will not be eligible
to receive this interaction.
The maximum proficiency level required for this skill. Agents who exceed this maximum skill proficiency will not be eligible to
receive this interaction.
How important Proficiency Level is for this skill, as opposed to other skills you specify in other ACDSpecifySkill steps. If this is the
only skill you are specifying, then leave the default value in this parameter. If you are more concerned with this skill, then weight this
parameter more heavily than Weight for Proficiency Level in other ACDSpecifySkill steps in this handler.
The value for Desire to Use a particular skill is assigned on an agent by agent bases in Interaction Administrator. Agents who do
not meet the minimum Desire to Use level you specify in this step are not eligible to receive this interaction.
The value for Desire to Use a particular skill is assigned on an agent by agent bases in Interaction Administrator. Agents who
exceed the maximum Desire to Use level you specify in this step are not eligible to receive this interaction.
How important Desire to Use this skill is, as opposed to other skills you specify in other ACDSpecifySkill steps. If this is the only
skill you are specifying, then leave the default value in this parameter. If you are more concerned with this skill, then weight this
parameter more heavily than Weight for Desire to Use in other ACSpecifySkill steps in this handler.
Exit Paths
Next
Inputs
Call Identifier
36
Outputs
The scoped workgroup queue name for the workgroup containing the call.
An estimate of the amount of time (in seconds) that a call will wait before being connected to an agent. This wait time is calculated
using the average wait time and subtracting the amount of time that the call has been on the queue. Average wait time is calculated
by adding the total wait time for all calls answered in a given period (the previous 30 minutes) and dividing that total by the number
of calls answered in that period. A negative value is returned if the average wait time statistics are not available (due to insufficient
observations in the sampling period) or if the call has already waited longer than the estimated wait time.
The number of calls ahead of this call. -1 means this call is currently assigned, 1 means this call will be answered next, 2 means
this is the second call to be answered, and so on.
The number of agents (whose skills match the call’s requirements) currently logged into this queue.
The number of agents whose skills match the call’s requirements and who are 100% available to take calls.
Note : If an agent is on any interaction (regardless of utilization), he or she will show as unavailable.
The number of agents (whose skills match the call’s requirements) currently connected to a call.
The number of agents (whose skills match the call’s requirements) whose status is set to a Follup Up status.
The longest time (in seconds) that an agent has been available. This is calculated for all logged-in agents, regardless of skills.
The amount time (in seconds) that the longest waiting call has been waiting.
The average wait time (in seconds) for calls that disconnected before connecting.
The average time (in seconds) that all connected calls have been connected.
The average follow up time (in seconds) for calls that were connected to an agent.
Exit Paths
Success
This tool takes the Success exit path if the call ID is valid and the tool encountered no errors.
Failure
This step always takes the Failure exit path if the call ID is no longer valid, if there is a catastrophic problem on the CIC Server,
Inputs
Outputs
An estimate of the amount of time (in seconds) that a call will wait before being connected to an agent. This wait time is calculated
using the average wait time for the queue and subtracting the amount of time that the call has been on the queue. Average wait
38
time is calculated by adding the total wait time for all calls answered in a given period (the previous 30 minutes) and dividing that
total by the number of calls answered in that period. A negative value is returned if the average wait time statistics are not available
(due to insufficient observations in the sampling period) or if the call has already waited longer than the estimated wait time.
The number of agents who are 100% available to take ACD calls on this queue.
Note : If an agent is on any interaction (regardless of utilization), he or she will show as unavailable.
The longest time (in seconds) an agent has been available. This is calculated for all logged-in agents.
The number of ACD calls in this queue that have not been assigned to agents.
The longest amount of time (in seconds) a call waited before being connected.
The average amount of time (in seconds) that calls waited before being connected.
The average amount of time (in seconds) that calls waited before abandoning.
The average amount of time (in seconds) that connected calls remained connected.
The average amount of time (in seconds) that agents were in a follow up status after completing a call.
39
The number of calls used to calculate average wait time.
Exit Paths
Success
This tool takes the Success exit path if the queue name is valid and the tool encountered no errors.
Failure
This step always takes the Failure exit path if the call ID is no longer valid, if there is a catastrophic problem on the CIC Server.
Agent Log On
This ACD tool logs an agent in so that he or she may receive calls. It is useful for agents who have stations but are not running a
CIC client.
Inputs
Agent Name
Workstation ID
The workstation where calls for the specified agent will be sent.
Exit Paths
Success
This tool takes the Success exit path if the Agent Name and the Workstation ID are valid.
Failure
This tool takes the Failure exit path if the Agent Name and the Workstation ID are invalid.
This tool takes the Conditional Success - No ACD exit path even if ACD agents and queues are configured properly but there was a
license failure. A license failure could mean there were not enough ACD, ACD1, or ACD2 types of licenses available for the agent to
log in. Check the license availability in Interaction Administrator.
40
Agent Log On Remote
This ACD tool logs an agent in from a remote location so that he or she may receive calls.
Note: This tool acts like a client remote login. By default, if an agent is not configured for auto-answer ACD and non-ACD calls,
their calls will not alert their phone. Only auto-answer calls force a connect call to go out to remote login agents.
Inputs
Agent Name
Set this Boolean to True to maintain a persistent voice connecton to the CIC Server. The audio path will not disconnect until a
disconnect is initiated at that station.
If left False, CIC will determine when the audio path to the station is no longer needed, and initiate the disconnect automatically.
Exit Paths
Success
This tool takes the Success exit path if the Agent Name and the Remote Number are valid.
Failure
This tool takes the Failure exit path if the Agent Name and/or the Remote Number are invalid.
This tool takes the Conditional Success - No ACD exit path even if ACD agents and queues are configured properly but there was a
license failure. A license failure could mean there were not enough ACD, ACD1, or ACD2 types of licenses available for the agent to
log in. Check the license availability in Interaction Administrator.
41
Agent Log Off
This ACD tool logs an agent out so that he or she will receive no further calls. This tool is useful for agents who have stations but
are not running a CIC client.
Inputs
Agent Name
Workstation ID
The workstation where calls for the specified agent were sent.
Exit Paths
Success
This tool takes the Next exit path, unless the workstation ID is invalid.
Failure
This tool takes the Failure exit path if the workstation ID is invalid.
Inputs
Agent Name
Exit Paths
Next
42
Release Interaction Lock
This ACD tool, along with it's counterpart Release Agent Lock, is seldom needed unless you customize the default ACD handler or
create new handlers for special ACD processing. This is because the default handlers appropriately release locks on interactions.
They are normally locked between the ACD Process Item tool step until after the ACD Select Item tool step completes. Custom
handlers that do not use the ACD Select Item tool step will not release the lock, which prevents the interaction from being
assigned. In this case, use the Release Interaction Lock tool to release a locked interaction in a timely manner. If you do not use
this tool, the interaction lock will eventually time out (after 10 seconds by default).
You can specify a different default timeout period for CIC to release interaction locks. To do this, create a server parameter named
ACDInteractionLockTimeout and assign it an integer that specifies the number of seconds the system will wait before
automatically releasing an interaction lock. To have more precise control over this process, use the Release Interaction Lock tool
instead of relying on this server parameter.
Inputs
Call Identifier
The identifier ("CallID") for the interaction to be unlocked. This is not limited to ACD calls but can be any type of ACD interaction.
Exit Paths
Next
43
Replace Interaction
This ACD tool takes a telephone call that is undergoing ACD processing, and replaces it with a specified object that is on the
system queue. This tool is intended to replace a telephone call with a callback object. Only telephone calls may be replaced with
this tool, though any object type may be used for the replacement object.
After insuring that the original call is in ACD processing and that it is not disconnected, the tool removes the original interaction
from all the queues and inserts the specified (callback) interaction in all the queues the originial interaction was in. After being
replaced, the original call is removed from the workgroup queue and disconnected if the disconnect flag is set to true.
Note : Base attributes, such as time in queue, skills, priority, etc., will need to be carried by the handler that is responsible for
creating the callback.
You may lose access to attributes of the original call interaction, so it's recommended that you save a copy of necessary
attribute values within the handler prior to using this toolstep.
Inputs
Exit Paths
Success
Failure
This path is taken if the operation fails. Failure can occur for the following reasons.
1. The original interaction is not undergoing ACD processing.
2. The original interaction has already been assigned.
3. The original interaction has disconnected.
4. The original interaction is not a telephone call.
5. The replacement object is on a user or workgroup queue.
44
Reset In Queue Timeout
This ACD tool resets the timeout previously set for a call after it has begun ACD for processing. This can be used, for example, to
disable the timeout for a caller who has opted to go to an IVR during ACD wait. When a call’s timeout limit is reset, any time already
spent in the queue is discarded.
Using this tool after an in-queue timeout will not cause the ACD server to assign the call. If you want to assign a call that has
already been timed out, you must use the ACD Initiate Processing tool again.
Inputs
Call Identifier
The identifier of the telephone or chat interaction on which ACD processing is being performed.
This sets the new timeout period for the call. Setting the new limit to 0 (zero) will allow the call to remain in-queue indefinitely.
Exit Paths
Success
The Success exit path is taken if the queue timeout is successfully reset.
Failure
Inputs
Call Identifier
The identifier of the telephone or chat interaction on which ACD processing is being performed.
Exit Paths
Success
The Success exit path is taken if the ACD Processing is successfully stopped.
Failure
45
Workgroup Agent Activate
This ACD tool activates an agent in a workgroup. The agent must first be a member of the target workgroup queue. If the agent is a
member of more than one workgroup, the agent’s activation status remains unchanged for all workgroups except the one specified.
Note: This tool was formerly (in IC 2.3x) named ACD Queue Login.
Inputs
Agent Name
Workgroup Name
Exit Paths
Success
This path is taken if the specified agent is successfully activated in the specified queue.
Failure
This path is taken if the agent could not be activated. This happens if the agent is not a member of the specified workgroup queue.
Inputs
Agent Name
Workgroup Name
Exit Paths
Success
This path is taken if the specified agent is successfully deactivated from the specified queue.
Failure
This path is taken if the agent could not be deactivated for any reason. This happens if the agent is not a member of the specified
workgroup queue.
46
Accumulators
Accumulators
Accumulators are generic, on-the-fly, global variables. The accumulator tools on the tool palette allow the user to create and modify
the behavior of accumulators and the types of information they accumulate. Accumulators provide a place to store an attribute. For
example, accumulators provide a way for someone to gather (accumulate) a total number of calls. Accumulators are defined in
Interaction Administrator. Interaction Designer users can decide when they want to gather the information that is stored in the
accumulators.
While accumulators are defined in Interaction Administrator, the accumulator tools create instances of accumulators and modify
the values of those instances.
47
Get Acc. (Boolean)
This Accumulator step gets the value of an instance of an accumulator of Boolean type.
Inputs
Accumulator Name
Instance Name
The Instance Name is defined in Interaction Administrator and created dynamically when a handler executes a Set Acc. step.
Outputs
The variable specified here contains the value of the accumulator instance.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load.
48
Get Acc. (DateTime)
This Accumulator step gets the value of an instance of an accumulator of DateTime type.
Inputs
Accumulator Name
Instance Name
The Instance Name is defined in Interaction Administrator and created dynamically when a handler executes a Set Acc step.
Outputs
The variable specified here contains the value of the accumulator instance.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load.
49
Get Acc. (Integer)
This Accumulator step gets the value of an instance of an accumulator of Integer type.
Inputs
Accumulator Name
Instance Name
The Instance Name is defined in Interaction Administrator and created dynamically when a handler executes a Set Acc step.
Outputs
The variable specified here contains the value of the accumulator instance.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load.
50
Get Acc. (Numeric)
This Accumulator step gets the value of an instance of an accumulator of Numeric type.
Inputs
Accumulator Name
Instance Name
The Instance Name is defined in Interaction Administrator and created dynamically when a handler executes a Set Acc step.
Outputs
The variable specified here contains the value of the accumulator instance.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load.
51
Get Acc. (String)
This Accumulator step gets the value of an instance of an accumulator of String type.
Note: String accumulator values are limited to 254 characters. Longer strings will be truncated.
Inputs
Accumulator Name
Instance Name
The Instance Name is defined in Interaction Administrator and created dynamically when a handler executes a Set Acc step.
Outputs
The variable specified here contains the value of the accumulator instance.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load.
52
Inc. Acc. (Integer)
This Accumulator step increments the value of an instance of an accumulator of type Integer.
Caution: Integer Accumulator values must fall between -2,147,483,648 and 2,147,483,647.
Inputs
Accumulator Name
The name of the accumulator to get the value from. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator you want to increment. The Instance Name is defined in Interaction Administrator and
created dynamically when a handler executes a Set Acc. (Integer) step.
Value
The value by which to increment the instance of the accumulator. Entering a negative number decrements the value of the instance
of the accumulator.
Accumulator Key
This is the variable that holds the value of the key returned by a previous Lock Accumulator step. The Accumulator Key is not a
required input field, but should be supplied if the accumulator instance has been previously locked by the handler. Failure to use a
key when the accumulator instance is locked can result in a tool step failure, and incorrect values being calculated in the
accumulator.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the Interaction
Processor process and the Accumulator server timed out due to heavy machine load. Failure to use a key when the accumulator
instance is locked can result in a tool step failure and incorrect values being calculated in the accumulator.
53
Inc. Acc. (Numeric)
This Accumulator step increments the value of an instance of an accumulator of type Numeric.
Caution: Numeric Accumulator values are limited to 1.7E +/- 308 (15 digits precision).
Inputs
Accumulator Name
The name of the accumulator to get the value from. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator you want to increment. The Instance Name is defined in Interaction Administrator and
created dynamically when a handler executes a Set Acc. step.
Value
The value by which to increment the instance of the accumulator. Entering a negative number decrements the value of the instance
of the accumulator.
Accumulator Key
This is the variable that holds the value of the key returned by a previous Lock Accumulator step. The Accumulator Key is not a
required input field, but should be supplied if the accumulator instance has been previously locked by the handler. Failure to use a
key when the accumulator instance is locked can result in a tool step failure, and incorrect values being calculated in the
accumulator.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load. Failure to use a Key when the accumulator instance is locked can
result in a tool step failure, and incorrect values being calculated in the accumulator.
54
Lock Accumulator
This Accumulator step locks an instance of an accumulator so that the value does not change. This step prevents another
accumulator tool from changing a value before that value can be retrieved. A lock will eventually expire so that other tools can get
or change the value of an accumulator instance.
Inputs
Accumulator Name
The name of the accumulator to lock. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator you want to lock. The rules for this instance name are defined in Interaction
Administrator.
Outputs
Accumulator Key
Contains the value of the key. This key must be used by tools that access this accumulator instance. This key must also be
provided to an Unlock Accumulator step.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator not in the list of valid instances. This would
never happen if the Instance type was Any, but it is possible for the other instance types. Failure can also occur when
communication between the IP process and the Accumulator server timed out due to heavy machine load.
55
Set Acc. (Boolean)
This Accumulator step assigns a value to an instance of an Accumulator of type Boolean. This step can also create a new instance
of an accumulator.
Inputs
Accumulator Name
The name of the accumulator to get the value from. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator you want to assign a value to. The rules for this instance name are defined in Interaction
Administrator, and if the value of this parameter is unique, a new instance is created when this step executes.
Value
Accumulator Key
This is the variable that holds the value of the key returned by a previous Lock Accumulator step. The Accumulator Key is not a
required input field, but should be supplied if the accumulator instance has been previously locked by the handler. Failure to use a
Key when the accumulator instance is locked can result in a tool step failure, and incorrect values being calculated in the
accumulator.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load. Failure to use a Key when the accumulator instance is locked can
result in a tool step failure, and incorrect values being calculated in the accumulator.
56
Set Acc. (Datetime)
This Accumulator step assigns a value to an instance of an Accumulator of type Datetime. This step can also create a new
instance of an accumulator.
Inputs
Accumulator Name
The name of the accumulator to get the value from. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator to which you want to assign a value. The rules for this instance name are defined in
Interaction Administrator, and if the value of this parameter is unique, a new instance is created when this step executes.
Value
Accumulator Key
This is the variable that holds the value of the key returned by a previous Lock Accumulator step. The Accumulator Key is not a
required input field, but should be supplied if the accumulator instance has been previously locked by the handler. Failure to use a
Key when the accumulator instance is locked can result in a tool step failure, and incorrect values being calculated in the
accumulator.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load. Failure to use a Key when the accumulator instance is locked can
result in a tool step failure, and incorrect values being calculated in the accumulator.
57
Set Acc. (Integer)
This Accumulator step assigns a value to an instance of an accumulator of type Integer. This step can also create a new instance
of an accumulator.
Caution: Integer Accumulator values must fall between -2,147,483,648 and 2,147,483,647.
Inputs
Accumulator Name
The name of the accumulator from which you want to get the value. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator you want to assign a value. The rules for this instance name are defined in Interaction
Administrator. If the value of this parameter is unique, a new instance is created when this step executes.
Value
Accumulator Key
This is the variable that holds the value of the key returned by a previous Lock Accumulator step. The Accumulator Key is not a
required input field, but should be supplied if the accumulator instance has been previously locked by the handler. Failure to use a
Key when the accumulator instance is locked can result in a tool step failure, and incorrect values being calculated in the
accumulator.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load. Failure to use a Key when the accumulator instance is locked can
result in a tool step failure, and incorrect values being calculated in the accumulator.
58
Set Acc. (Numeric)
This Accumulator step assigns a value to an instance of an accumulator of type Numeric. This step can also create a new instance
of an accumulator.
Caution: Numeric Accumulator values are limited to 1.7E +/- 308 (15 digits precision).
Inputs
Accumulator Name
The name of the accumulator to get the value from. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator you want to assign a value to. The rules for this instance name are defined in Interaction
Administrator, and if the value of this parameter is unique, a new instance is created when this step executes.
Value
Accumulator Key
This is the variable that holds the value of the key returned by a previous Lock Accumulator step. The Accumulator Key is not a
required input field, but should be supplied if the accumulator instance has been previously locked by the handler. Failure to use a
Key when the accumulator instance is locked can result in a tool step failure, and incorrect values being calculated in the
accumulator.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load. Failure to use a Key when the accumulator instance is locked can
result in a tool step failure, and incorrect values being calculated in the accumulator.
59
Set Acc. (String)
This Accumulator step assigns a value to an instance of an Accumulator of type string. This step can also create a new instance of
an accumulator.
Note: String accumulator values are limited to 254 characters. Longer strings will be truncated.
Inputs
Accumulator Name
The name of the accumulator to get the value from. This name is defined in Interaction Administrator.
Instance Name
The specific instance of the accumulator to which you want to assign a value. The rules for this instance name are defined in
Interaction Administrator, and if the value of this parameter is unique, a new instance is created when this step executes.
Value
Accumulator Key
This is the variable that holds the value of the key returned by a previous Lock Accumulator step. The Accumulator Key is not a
required input field, but should be supplied if the accumulator instance has been previously locked by the handler. Failure to use a
Key when the accumulator instance is locked can result in a tool step failure, and incorrect values being calculated in the
accumulator.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load. Failure to use a Key when the accumulator instance is locked can
result in a tool step failure, and incorrect values being calculated in the accumulator.
60
Unlock Accumulator
This Accumulator step unlocks an instance of an accumulator so that the value can be changed. This step reverses the effect of a
Lock Accumulator step.
Inputs
Accumulator Name
The name of the accumulator to unlock. This name is defined in Interaction Administrator.
Instance Name
Accumulator Key
Contains the value of the key. This key was created with a Lock Accumulator step.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the Instance Name is invalid for the accumulator. This would never happen if the Instance
type was Any, but it is possible for the other instance types. Failure can also occur if communication between the IP process and
the Accumulator server timed out due to heavy machine load. Failure to use a Key when the accumulator instance is locked can
result in a tool step failure, and incorrect values being calculated in the accumulator.
Basic
61
Assignment Tool
This Basic tool declares a variable and assigns a value to that new variable or to an existing variable. The assigned value can be the
value of another variable, a literal value, or a complex expression constructed with the Expression Editor Assistant. For example, an
assignment step might copy the value "John" to the contents of the variable 'FirstName'. Once you declare a variable, it is available
to all steps throughout the handler.
Note: Once you have declared a variable in a handler, you cannot delete that variable. It will still be available throughout the
handler.
Statement Page
From the Statement page you can declare a new variable and assign it a value, or select an existing variable and assign a value to it.
Variable
The name of the variable you are creating or assigning a value to. You can select new from the drop-down list to declare a new
variable. The variables that appear in this list are variables that you have already declared in this handler or subroutine.
Value
Type a literal value for the variable, or create a complex expression using the Expression Editor Assistant. You can only assign
values that are legal for the type of variable you selected in the previous step. For example, if the variable type is String, then the
value must be string in quotes.
Exit Paths
Next
62
Condition Tool
This Basic tool tests a conditional expression and follows the link associated with the result of that test. A conditional expression
resolves a Boolean value (either True or False). Therefore, a conditional step has a True exit and a False exit.
For example, a conditional step might compare a variable ‘FirstName’ to a string value "John." If ‘FirstName’ contains the word
"John", then the handler continues execution on the True branch of the conditional step. However, if ‘FirstName’ does not contain
the word "John", then the handler continues on the False branch.
Statement Page
On the statement page you can view a conditional expression you have built, or start the Expression Editor Assistant to create or
edit a condition.
Current Condition
This parameter contains the conditional expression. You can also type a new condition, or build a complex expression using the
Expression Editor Assistant. Remember that the expression you build must result in a Boolean value.
If you encounter a variable in the Current Condition parameter, it is always a Boolean variable that is assigned a value somewhere
else in the handler, or was created in the initiator step that started the handler or subroutine. Likewise, you can evaluate the value of
a Boolean variable whose value was assigned elsewhere in a handler or subroutine.
It is important to keep track of the logic being used in setting up the conditional expression, especially when it is the condition of a
Boolean variable that is being checked. For example, consider a Boolean variable 'CallReceived' that has the value of "False". If the
condition expression is written simply to look at the variable 'CallReceived' without an associated value given, then the handler will
continue on the False branch because the value of 'CallReceived' is "False". On the other hand, if the expression compares the
variable 'CallReceived' to the value "False", then the handler will continue execution on the True branch because it is true that the
value is "False".
Exit Paths
True
If the condition evaluated by this step has a value of true, this step takes the True exit path.
False
If the condition evaluated by this step has a value of false, this step takes the False exit path.
Related Topics
Boolean values
Expression Editor Assistant
63
Notify Debugger
This Basic tool creates a breakpoint in a handler or subroutine you are debugging. In debug mode, a handler will stop executing at
the Notify Debugger step. If you have more than one Notify Debugger step in a handler or subroutine, you will be prompted when you
start a debug session to select which Notify Debugger step to use as the first breakpoint.
If there is at least one Notify Debugger step in a handler, then the Select Debug Start Point(s) dialog will be displayed which will list
all Notify Debugger steps as well as the Initiator. If there are no Notify Debugger steps in a handler, the initiator will automatically
be set as the first breakpoint when a user begins a debugging session.
Label
The unique label for this debug session. If you add another Notify Debugger step to this handler, it must have different name.
Exit Paths
Next
When this step has finished, control passes to the step you have linked to this step. If there are no links from this exit, the handler
or subroutine that contains this step ends.
Related Topics
Debugging
Set a breakpoint
64
Selection Tool
This Basic tool tests a set of conditions. The tool begins testing with the first condition in the list, then the second, and so on. Each
condition in the list has a corresponding exit path. The first condition that evaluates to true causes the handler to follow the exit
path associated with that condition. For example, if the value of 'FirstName' is "John", go to the next step called "Hello John." If the
value of 'FirstName' is "Jane" then go to the next step called "Hello Jane." If no conditions evaluate to True, the Default exit path is
taken.
Statements Page
On the Condition Page you can add, edit, delete, or change the order of the conditions. The conditions in the list are evaluated in the
order they are listed. The first true condition’s exit path will be followed.
Condition list
This is a list of any conditions you have built using the Add button or Edit button. There is an exit path for every condition in this
step.
Add button
Click this button to create a new condition for the Condition list using the Expression Editor Assistant. Adding a condition will also
add an exit path that corresponds to that condition.
Edit button
Click this button to edit a condition you selected from the Condition list.
Delete button
Click this button to delete a condition you selected from the Condition list. Deleting a condition will also delete its corresponding
exit path.
Move Up button
Click this button to move a condition you selected up in the Condition list.
Click this button to move a condition you selected down in the Condition list.
Exit Paths
The exit paths for this tool are the conditions you type in the Condition list. An exit path will appear for each condition you type. A
default exit path is always present, and this default exit path is taken if no conditions evaluate true.
Related Topics
Expression Editor Assistant
Table Lookup
This Basic tool retrieves data from a table. These tables are created and maintained in Interaction Administrator. See the Table
Editor topics in the Interaction Administrator online help for more information on tables.
This tool allows you to query specific columns within a table for specific values, and then return values from the matching row.
Table lookups are case sensitive. In the example table below, you could perform a lookup on the LastName column where
LastName = Adams, and then return the email address associated with Adams. You can bind the returned value to a variable that
can be used within the handler.
65
Any columns you want to perform lookups against must be indexed. When you create the table in Interaction Administrator, you can
determine which columns are indexed, and the type of index to apply. Tables support two types of indexing: unique and multiple
Unique – each entry in the column is unique (e.g., account number) amongst all the entries in that column. Table Editor warns you
if it finds duplicates. Lookups on unique index columns are faster than on columns with duplicate values. In the example table
below, LastName has a Unique index.
Since only zero or one rows will be returned from a lookup on a unique column, the type of variables to which you bind the returned
row values will be string. See Column Bindings below for more information.
Multiple – each entry in the column may have one or more occurrences of that value in the column (e.g., account type, date, etc.).
Lookups on multiple value indexes are slower than on columns with unique indexes. In the example table below, FirstName has a
Multiple index.
Since zero, one, or more rows will be returned from a lookup on a multiple column, the type of variables to which you bind the
returned values is a list of strings. See Column Bindings below for more information.
Example Table:
In the table above, you could search the LastName column for Adams, and then return the email address associated with Adams.
Settings
Table Name
The name of the table as configured in Interaction Administrator. Any tables you have created in Interaction Administrator are listed
here.
Lookup Expressions
Configures the column(s) to search and the value(s) you want to search for. Click the Add button to add a column against which to
do the lookup and an expression for which to search in that column. Click the Modify button to modify the selected expression.
Click the Delete button to remove the selected lookup column and it’s expression from the list.
From the example table above, you would specify the following to find the row where LastName = "Adams":
Column Expression
LastName "Adams"
From the example table above, you would specify the following to find the row where LastName = "Adams" and FirstName = "Jane":
Column Expression
LastName "Adams"
FirstName "Jane"
Note: CIC inserts an AND condition between multiple lookup expressions when this tool executes. There is no way to specify
an "or" or any other condition between lookup expressions on a table. If you desire more robust conditions, we recommend that
you use the database tools and an external database.
Column Bindings
66
The value(s) to extract from the row(s) returned from the lookup. You may specify more than one value to return.
From the example table above, if you wanted to return the first name and email address for the row in which LastName = "Adams,"
you would use the following Column Bindings:
Column Variable
FirstName StrFirstName
EmailAddress StrEmailAddress
When this step executes, it populates StrFirstName with "Jane" and StrEmailAddress with "[email protected]."
In another example from the example table above, if you wanted to search for the last name and email address for the row in which
FirstName = "Jane", you would use the following Column Bindings.
Note that in this example, you are searching on a multiple index column (where more than one row can have the value of Jane, so
you must specify a List of String variable to hold the output values):
Column Variable
LastName ListOfStrLastName
EmailAddress ListOfStrEmailAddress
When this step executes, it populates the ListOfStrLastName with two elements: "Adams" and "Conner." It populates the parallel
ListOfStrEmailAddress variable with two values: "[email protected]" and " [email protected]." (where "parallel list" means that the 1st
element in one list correlates to the first element in a second list, and so on, until the nth element in the first list correlates to the
nth element in the second list).
Exit Paths
Success
If the value was found and returned, this tool takes the Success exit path.
This is returned if the table you requested data on is not found. This can occur if the table has been removed or renamed since this
handler was published.
Sync Error
The Sync Error path is taken if someone has changed an index from Unique to Multiple and the variable types the handler passed in
are incorrect according to the index type. For example, the handler author selected a unique index column, bound some variables,
then published that handler. But then someone went into Table Editor and changed that index column from unique to non-unique.
Then the handler executed. The Table Lookup tool will return Sync Error (because the bound variables were of type String instead of
List of String), and the bound strings would receive the values of the first row found.
Failure
The tool has failed for some other reason, such as an exception occurred, or the server is not responding, or your input values are
incorrect.
This tool takes the Value not Found exit path if the value you are searching for in your Lookup Expression or Column Bindings is not
found.
67
Write Trace Message
This Basic tool writes a message to an CIC log file (ip.log) along with the handler name, timestamp, threadID, and step ID. In order
to see the user defined trace messages created by this tool, tracing must turned up using the command:
ICTraceA -set ip all all
The IP log file is stored under \i3\ic\logs\... by default.
Inputs
Trace Message
Trace Level
Exit Paths
Next
Buffer
68
Introduction to Buffer Tools
Click on one of the tools below for more information about that tool.
BufferGetDate
BufferGetInteger
BufferGetLength
BufferGetString
BufferHandleToInteger
BufferPutDate
BufferPutInteger
BufferPutString
CopyBuffer
CreateBuffer
DecodeBuffer
DeleteBuffer
EncodeBuffer
IntegerToBufferHandle
BufferGetDate
This Buffer tool gets a date from the binary buffer.
Inputs
Buffer Handle
Offset
An integer of the offset in the buffer. Offsets are in bytes and 0 based.
Date Format
Custom Format
69
The custom date format to use. This field is only available if you select Custom in the Date Format field. The Expression Editor
Assistant displays combinations of available categories and symbols and values.
Encoding
Outputs
Date
Updated Offset
This integer contains the original offset, updated by the size of what was read. Offsets are in bytes and 0 based.
Exit Path
Success
Invalid Handle
This step takes this path if the buffer handle was invalid
Invalid Codepage
This step takes this path if the EBCDIC code page is not supported.
Invalid Offset
This step takes this path if the offset did not point inside the buffer.
Invalid Format
70
BufferGetInteger
This Buffer tool retrieves an integer from the binary buffer.
Inputs
Buffer Handle
Offset
The integer value for the offset in the buffer. Offsets are in bytes and 0 based.
Encoding
How we encode the integer. The endianness is the byte ordering in memory used to represent some kind of data.
Little Endian
Big Endian
Bits
The number of bits to store the integer. If the integer is greater than the storage, it is simply truncated. E.g. 0x1234 stored on 8 bits
will give 0x34.
The values are 8, 16, 32.
Outputs
Integer
Updated Offset
This integer contains the original offset, updated by the size of what was read. Offsets are in bytes and 0 based.
Exit Paths
Success
Invalid Handle
The tool takes this path, if the buffer handles was invalid.
Invalid Offset
This step takes this path if the offset did not point inside the buffer.
71
BufferGetLength
This Buffer tool returns the size (in bytes) of the data contained in a binary buffer.
Inputs
Buffer Handle
Outputs
Length
Exit Paths
Success
Invalid Handle
The tool takes this path, if the buffer handles was invalid.
BufferGetString
This Buffer tool retrieves an integer from the binary buffer.
Inputs
Buffer Handle
Offset
The integer value for the offset in the buffer. Offsets are in bytes and 0 based.
Read Mode
Length
If the Read Mode is "Custom", this integer value is the number of characters to read.
Encoding
Codepage
This integer is the EBCDIC code page to use. This field is only available if the EBCDIC custom encoding is selected. Currently, only
the code page 290 is supported.
Outputs
String
Updated Offset
This integer contains the original offset, updated by the size of what was read. Offsets are in bytes and 0 based.
Exit Paths
Success
Invalid Handle
The tool takes this path, if the buffer handles was invalid.
Invalid Codepage
The tool takes this path if the codepage value specified is not valid.
Invalid Offset
This step takes this path if the offset did not point inside the buffer.
73
BufferHandleToInteger
This Buffer tool converts the unique identifier of a buffer handle to an integer. Once it is an integer the value can be sent from a
handler to another one. Once in another handler, the integer can be used to fetch the buffer back as long as it has been kept alive.
Inputs
Buffer Handle
Outputs
Value
Exit Paths
Success
74
BufferPutDate
This Buffer tool appends a date at the end of the given binary buffer.
Inputs
Buffer Handle
Date
Date Format
Custom Format
The custom date format to use. This field is only available if Custom is selected in the Date Format field. The Expression Editor
Assistant appears to display combinations of available categories and symbols and values.
Encoding
Codepage
An expression selected from one of the various categories in the Expression Editor Assistant. This field is only available if the
EBCDIC custom encoding is selected. Currently, only the code page 290 is supported.
Exit Paths
Success
Invalid Handle
The tool takes this path if the buffer handle was invalid.
Invalid Codepage
The tool takes this path if codepage value that was specified is not supported.
Invalid Format
The tool takes this path if the custom format specified is not supported.
75
BufferPutInteger
This Buffer tool appends an integer at the end of the given binary buffer.
Inputs
Buffer Handle
Integer
Encoding
How we encode the integer. The endianness is the byte ordering in memory used to represent some kind of data.
Little Endian
Big Endian
Number of bits
The number of bits to store the integer. If the integer is greater than the storage, it is simply truncated. For example, 0x1234 stored
on 8 bits will give 0x34.
The values are 8, 16, 32.
Exit Paths
Success
Invalid Handle
The tool takes this path if the buffer handle was invalid.
76
BufferPutString
This Buffer tool appends a string to the end of the given binary buffer.
Inputs
Buffer Handle
String
The string value to add to the buffer.
Encoding
Codepage
This integer is the EBCDIC code page to use. This field is only available if the EBCDIC custom encoding is selected. Currently, only
the code page 290 is supported.
Prepend Size
If checked, the size in characters of the string will be added to the buffer before the string itself.
Note: The size is stored in the Network format (i.e. in Big Endian)
Exit Paths
Success
Invalid Handle
The tool takes this path, if the buffer handle was invalid.
Invalid Codepage
The tool takes this path if the Codepage value specified is not supported.
77
CopyBuffer
This Buffer tool copies a given binary buffer into another binary buffer.
Note: The target buffer is entirely overwritten. Any existing data in the target buffer will be lost.
Inputs
Exit Paths
Success
Invalid Handle
The tool takes this path, if one of the buffer handles was invalid.
CreateBuffer
This Buffer tool creates a new empty binary buffer.
Outputs
Buffer Handle
Exit Paths
Success
This step always takes the Success path.
78
DecodeBuffer
This Buffer tool de-serializes a string into a binary buffer. The string must be in the format “0x1234”.
Note: Any existing data in the buffer handler will be replaced by the new data.
Inputs
Buffer Handle
String
Exit Paths
Success
Invalid Handle
The tool takes this path, if the buffer handles was invalid.
DeleteBuffer
This Buffer tool destroys a given binary buffer.
Inputs
Buffer Handle
Exit Paths
Success
Invalid Handle
79
EncodeBuffer
This Buffer tool serializes a binary buffer into a string. The resulting string is in the format “0x1234”.
Inputs
Buffer Handle
Outputs
String
Exit Paths
Success
Invalid Handle
The tool takes this path, if the buffer handles was invalid.
IntegerToBufferHandle
This Buffer tool converts an integer to a buffer handle.
Inputs
Value
Outputs
Buffer Handle
Exit Paths
Success
Invalid Handle
The tool takes this path, if the buffer handles was invalid.
80
Calendar
81
Add Event
This Calendar tool adds an event to the specified calendar.
Inputs
Calendar ID
Start Date
End Date
The end of the event. This time must be later than the defined Start Time.
Location (optional)
Description (optional)
Summary (optional)
Output
Event ID
Exit Paths
Success
Failure
82
Add Task
This Calendar tool adds a task to a specified calendar.
Inputs
Calendar ID
Due Date
Location
Description
Summary
Status
Outputs
Task ID
An integer that represents the task and is used as input to other tools.
Exit Paths
Success
Failure
83
Are Available
This Calendar tool checks the availability of the given time slot across multiple calendars.
Inputs
Session ID
Calendar Names
A list of strings containing the names of all the calendars to be checked for availability.
See List Tools for information on creating lists of strings.
Start Date
End Date
The end of the time block being checked for availability. This date must later than the date specified in the Start Date field.
Exit Paths
Available
This path is taken if the given time slot is available on all of the given calendars.
Not Available
This path is taken if the given time slot is not available on all of the given calendars.
Failure
This path is taken if the operation fails. The most common reasons for failure are invalid username, invalid password, or invalid
host. Other unexpected errors could also cause failure.
84
Delete Event
This Calendar tool deletes an event from a specified calendar.
Inputs
Calendar ID
Event ID
Exit Paths
Success
This path is taken if the event is successfully deleted from the specified calendar.
Failure
Delete Task
This Calendar tool deletes a specified task from a specified calendar.
Inputs
Calendar ID
Task ID
Exit Paths
Success
Failure
85
Edit Event
This Calendar tool edits an event to a specified calendar.
Note: If Edit Event is used to edit an entry created outside of the tools, any properties besides the Start Date, End Date,
Location, Description, and Summary will be deleted from the updated entry.
Inputs
Calendar ID
Event ID
The new end date. This time must be later than the defined Start Time for the event.
Location (optional)
Description (optional)
Summary (optional)
Exit Paths
Success
Failure
86
Edit Task
This Calendar tool updates an existing task.
Inputs
Calendar ID
Task ID
Due Date
Location
Description
Summary
Status
Exit Paths
Success
Failure
87
Find Next
This Calendar tool finds the next available slot in the calendars for a given block of time.
Note: The duration is the minimum amount of time to search for. It is possible to request a 30 minute block of time, but have a
60 minute block of time returned.
Inputs
Session ID
Calendar Names
Start Date
End Date
The latest time to end. This time must be later than the defined Start Time.
Duration
Output
Start Date
End Date
Exit Paths
Available
Not Available
This path is taken if there is no available time slot within the specified time period.
Failure
Get Event
88
This Calendar tool retrieves an event from a specified calendar.
Inputs
Calendar ID
This is a Calendar ID from the Open Calendar tool.
Event ID
Outputs
Start Date
End Date
The end date of the event. This date must be later than the defined Start Date.
Location
Description
Summary
Organizer
Organizer CN
A string containing the friendly name or external e-mail of the organizer. The calendar provider may not provide this value, so the
string may be blank.
Attendees
Attendees CNs
A list of strings containing the friendly name or external email of the attendees. The calendar provider may not provide this value, so
the string may be blank.
Exit Paths
Success
89
This path is taken if the event was retrieved successfully.
Failure
Get Events
This Calendar tool gets a list of all events in a given range.
Inputs
Calendar ID
Start Date
End Date
The end of the range. This date must be later than the defined Start Date.
Output
Event IDs
Exit Paths
Success
Failure
90
Get Task
This Calendar tool retrieves information on a single task from a calendar.
Inputs
Calendar ID
Task ID
Outputs
Due Date
Location
Description
Summary
Status
Exit Paths
Success
This path is taken if the tasks are successfully retrieved from the calendar.
Failure
91
Get Tasks
This Calendar tool retrieves all tasks within a specified span of dates.
Inputs
Calendar ID
Start Date
End Date
The end date of the tasks. This time must be later than the defined Start Time for the tasks.
Outputs
Task IDs
This list of IDs corresponding to the tasks that fall within the specified start and end dates.
Exit Paths
Success
This path is taken if the tasks are successfully retrieved from the calendar.
Failure
92
Is Available
This Calendar tool checks a given time slot on the calendar for availability.
Inputs
Calendar ID
Start Date
End Date
The end of the time slot. This date must be later than the defined Start Date.
Exit Paths
Available
Not Available
Failure
93
Logon
This Calendar tool establishes a session with the calendar server.
Inputs
Username
A string representing a username on the calendar server. Note that this field is case sensitive.
NOTE: For MS Exchange users, this field also needs to include the domain name if the calendar server is on a different domain
from the CIC server. The format for this should be "domain_name\user_name".
Password
Host
A string representing the host (and possibly port) of the calendar server.
Note for MS Exchange Users: the format for this string should be,
"http://your_OutlookWebAccess_servername/exchange/User_Name"
Note for iPlanet Users: the format for this string should be, "iPlanet_Servername:port#". For example, "iPlanet:81".
Output
Session ID
An integer that represents an established session and is used as input to other tools.
Exit Paths
Success
Failure
This path is taken if the operation fails. The most common reasons for failure are invalid username, invalid password, or invalid
host. Other unexpected errors could also cause failure.
94
Open Calendar
This Calendar tool opens a calendar.
Inputs
Session ID
Calendar Name
A string representing the name of the calendar to open. This field is case sensitive.
Note for MS Exchange Users: This field should be formatted as follows:
"http://your_OutlookWebAccess_servername/exchange/User_SMTP_address"
Note for iPlanet Users: this field should be formatted as follows:
"Calendar_name"
Output
Calendar ID
An integer that represents the open calendar and is used as input to other tools.
Exit Paths
Success
Failure
This path is taken if the operation fails. The most common reasons for failure are invalid username, invalid password, or invalid
host. Other unexpected errors could also cause failure.
95
Search Events
This Calendar tool retrieves all calendar events that match the specified parameters.
Inputs
Calendar ID
Start Date
End Date
The end of the event. This time must be later than the defined Start Time.
Location
Description
Summary
Outputs
Event IDs
Exit Paths
Success
Failure
Search Events Ex
This Calendar tool finds all events in a calendar that fall within a specified date range and that match an input search expression.
Inputs
Calendar ID
96
This is a Calendar ID from the Open Calendar tool.
Start Date
End Date
The end of the event. This time must be later than the defined Start Time.
Search Expression
The search expression used by this tool should use the following format:
search_expr ::= search_expr2
| search_expr2 OR search_expr
search_expr2 ::= search_expr3
| search_expr3 AND search_expr2
search_expr3 ::= search_term
| NOT search_term
search_term ::= value_expr relop value_expr
| value_expr LIKE string_constant
| value_expr NOT LIKE string_constant
| value_expr IS NULL
| value_expr IS NOT NULL
| "(" search_expr ")"
relop ::= "=" | ">" | "<" | ">=" | "<=" | "<>"
value_expr ::= property_name
| constant
constant ::= string_constant
| int_constant
property_name ::= ALPHA (ALPHA | DIGIT | "-")*
string_constant ::= "'" (<any character except "'"> | "''")* "'"
int_constant ::= <C-style decimal or hexidecimal constant>
In a LIKE expression, use a "_" as a wildcard to match a single character and a '%' to match matches any number of characters.
Outputs
Event IDs
Exit Paths
Success
Failure
Calendar ID
Start Date
Start of the date range for which to retrieve the tasks that are due.
End Date
End of the date range for which to retrieve the tasks that are due.
Location
Description
Summary
Status
Outputs
Task IDs
Exit Paths
Success
Failure
98
Search Tasks Ex
This Calendar tool retrieves all calendar tasks that are scheduled for a specified period of time and/or that meet a specified
description.
Calendar ID
Start Date
End Date
Search Expression
Specific expression to search for with the task body. See Search Events Ex for details on formatting this search expression.
Outputs
Task IDs
Exit Paths
Success
Failure
Database
Database Tools
The Database tools allow handlers and subroutines to read from and update databases. In the default handlers that ship with CIC,
many of the reporting and statistic gathering handlers use database tools, and the CustomCallDisconnectMonitor handler writes
call recording information to a database for use by the Interaction Recorder application. Database tools have many uses because
they allow you to read from and write to a database outside of the CIC server. While their uses are virtually unlimited, some other
uses are looking up passwords and retrieving information to display in web pages.
Typically, the Database tools are used in the following order within a handler, as illustrated by this diagram, entitled The order in
which Database tools should be used. Use this multi-step process as guide when creating database functionality within a handler.
99
Note: In rare circumstances where you have a very large number of tables to load and/or your server is fairly busy at the time
you need to load the tables, it is possible that the system might timeout before the tables have finished loading. If this happens,
the timeout period can be reset to whatever you desire by entering the following command in a DOS window:
/DBQueryTimeout=X
Where X is an integer representing the number of seconds to wait before timing out.
With DB Open you specify the data source, username, password, name of the variable to hold the connection handle, and the
maximum number of connections. Most other Database tools use this connection.
DB Get Connection attempts to open the actual connection. Once the connection is established, DB Query, DB Fetch, and DB SQL
Exec can perform operations on the database.
Step Three: DB Query can find records. DB SQL Exec can perform operations on the database.
With a connection established, DB Query can execute a Where clause to create a result set, preparing the records for a DB Fetch
step. Each connection can only store one result set, so if you need to retrieve multiple result sets for multiple fetches, you should
use additional DB Get Connection steps. DB SQL Exec can insert, update, or delete records, or run a script stored on the database
server.
DB Fetch retrieves a record(s) from the result set. The values retrieved are stored in the variables set up in the DB Query step.
If the handler no longer needs to access the database, use a DB Release Connection to drop the connection to the database. If you
opened multiple connections, you can use this step to close any connections that you do not need.
When the handler finishes running, you should close the ODBC data source with a DB Close step.
Database tools:
DB Close
DB Fetch
DB Flush
DB Get Connection
DB Get Data List
DB Open
DB Put Data List
DB Query
DB Release Connection
DB SQL Exec
DB SQL Exec2
DB Stored Procedure
100
Related Topics:
Supported Databases
Note : Refer to the release notes for last minute notes and cautions for using this tool.
101
DSN (Catalog =)
The name of the data source on which the procedure was created. The concept of the catalog varies from one RDBMS vendor to the
next. It usually corresponds to the physical database, but there are exceptions. For example, with dBase & FoxPro it usually
corresponds to the directory in which the data files reside. While some RDBMSs allow you to dynamically which catalog contexts
within a connection, CIC currently doesn’t support this, and assumes the catalog is tied to the ODBC DSN. So, if access to multiple
catalogs is required, you must create and configure multiple ODBC DSNs.
Schema
The schema in which the stored procedure resides. The "schema" is the official ANSI term for what used to be commonly known as
the "qualifier". It is usually the creator/owner of the database object. Worth noting is that Sybase and MS SQL Server have a special
schema name that is used when the owner of the object is also the database owner: "dbo ".
Stored Procedure
The name of the stored procedure as it is stored on the DB server. You cannot change the name of the stored procedure from this
field.
Parameters
After you have specified a stored procedure in the previous parameter, this list is populated with any parameters passed in by the
ODBC driver, and any parameters that you have previously added to this definition. Add or edit parameters in this list as necessary.
Adding or editing a parameter does not change the actual stored procedure (on the database server), only Interaction Designer's
definition of it. Any change to the actual procedure must be performed on the database server where the stored procedure resides.
Result Columns
After you have specified a stored procedure, this list is populated with any result columns passed in by the ODBC driver, and any
result columns that you have previously added to this definition. Add or edit result columns in this list. Adding or editing a result
column does not change the actual stored procedure, only Interaction Designer's definition. Any change to the actual procedure
must be performed on the database server where the stored procedure resides.
A value returned as a result of the processing performed by the stored procedure. The type of value returned depends on the
RDBMS. For example, Oracle and DB2 allow you to return most legal SQL data types (LONG or BLOB types usually being the
exceptions), but Sybase and MS SQL Server both limit return types to INTEGERs. To my knowledge, none of the RDBMSs allow
complex types, like lists, to be returned.
The amount of memory to reserve for the returned value. This field will only be enabled for SQL Types that do not have fixed size.
For values that are SQL Float type, this specifies the number of digits to store. This is applicable only to Decimal and Numeric
types.
Related Topics
DB Stored Procedure
Supported Databases
Refer to the PureConnect Customer Care web site to view the list of supported databases for the current release of CIC.
102
Sample SQLExec Statements
When building SQLExec statements for use in a DB SQL Exec step, you must build the SQLExec statements in a Assignment step
(using the Expression Editor Assistant) and assign it as the value of a variable. Building a SQLExec statement from the Expression
Editor Assistant requires special formatting. Refer to the following examples when constructing your Where clauses:
SQLExec statement:
"INSERT INTO CUSTOMER_TABLE (CUSTOMER_ID, CUSTOMER_NAME, CITY, STATE) VALUES ('ACB8934', 'Joe''s
Bar & Grill', 'Indianapolis', 'IN') "
Note: See the SQLStr help for more information on the SQLStr function.
Where statement:
"SELECT CUSTOMER_ID, CUSTOMER_NAME, STATE FROM CUSTOMER_TABLE WHERE STATE='IN' "
Assign WhereString using a literal: "STATE='IN'''
Assign WhereString using a variable: "STATE='' & SQLStr(var_state)
Where statement:
" SELECT CUSTOMER_ID, CUSTOMER_NAME, STATE FROM CUSTOMER_TABLE WHERE STATE='IN' AND ACTIVE=1 "
Assign WhereString using a literal: "STATE='IN' AND ACTIVE=1"
Assign WhereString using variables: "STATE='' & SQLStr(var_state) & " AND ACTIVE=1"
Note: See the SQLStr help for more information on the SQLStr function.
Database Tools
103
DB Close
This Database tool closes an ODBC data source that was previously opened in a DB Open step.
Settings Page
On the settings page, you must specify which database variable you are going to close. Specify a database variable that you created
using a DB Open step.
Database Variable
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path. This can occur when the database variable is invalid.
DB Fetch
This Database tool retrieves a record from a result set generated in a DB Query step.
For example, if the following result set is generated from a DB Query step.
The first time the DB Fetch step executes, it retrieves record with ID 123, and takes the success exit path. You can then pull values
from any variables bound to the column values, as specified in the DB Query step. Then your handler would loop around and execute
this DB Fetch step again. DB Fetch automatically retrieve the value of the next record, number 124. Each time the DB Fetch step
executes, it retrieves the next value. When it reaches the empty record, the DB Fetch step fails and the loop ends.
In this example, you could write each value to a list of string for insertion into a web page, or some other operation.
Settings Page
104
Database Connection Variable
Timeout (seconds)
The number of seconds to wait for this operation to complete successfully before taking the failure path. Any value less than or
equal to zero results in the default value of 60 seconds being used. You may specify a decimal value, such as 5.5.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path. This can occur when the parameters set in the DB
query step were invalid, the DB connection variable is invalid, if the step times out before the fetch could be performed, or there
were no more rows to be fetched from the result set. If there were no more rows to be fetched from the result set, this means either
a) the fetch cycle is now complete, or b) there was no successful query performed before the fetch (this means that for this step,
the handler author can't tell the difference between a "true" failure (like a lost DB connection) and a simple "you're at the end of the
result set" indication.)
DB Flush
This Database tool attempts to clear all cached connections to a specific ODBC data source. This tool will only clear connections
that were established in a handler (with a DB Get Connection tool), and that are inactive. The tool skips any active connections.
Settings Page
The ODBC data source to which all cached connections are cleared. If you leave this parameter empty, all cached connections
(established via handlers) to all ODBC data sources are cleared.
Exit Paths
Next
105
DB Get Connection
This Database tool opens up a connection to a database specified in DB Open. If you are planning to use a DB Query step to retrieve
a result set, keep in mind that each connection can only hold one result set. If you want to retrieve more than one result set, you
should get a connection for each result set you want to retrieve. See the DB Query step for more information on result sets. This
step should always be preceded by a DB Open step.
Note: You must close the current DB Connection before opening a new connection to the same DB or your results may not be
reliable.
Settings Page
Database Variable
Specifies which database to open. For this parameter, enter the database variable created in a DB Open step.
Timeout
Specifies how long this step will wait for a connection with the server before exiting Failure. The default for this value is 60
seconds. Entering a value <=0 results in this step using the default value of 60 seconds. This parameter takes a real value, so you
may specify a decimal, such as 2.5.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path. This can occur when the DB variable or DB
connection variable is not valid, if the step times out before the connection could be performed, or the DB server's connection limit
has been reached. Failures on open and connect depend on the type of database (Oracle, Sybase, etc.).
Inputs
IC Data Source
This must be an CIC Data Source (configured in Interaction Administrator) that refers to an ODBC DSN.
Table Name
The name of the table to query. This becomes part of the search criteria when this tool executes.
106
Where Clause
The row to query. For example, "Agent = 4". If you specify more than one row, only the first row is used.
The characters to strip from the beginning of the attribute name before placing the attribute name in the Attribute Name output list.
For example, if the attribute name is "IntDialer_Attribute1" and you specify "IntDialer_" as the prefix to remove, only "Attribute1" is
listed in the output list. This parameter is optional.
The characters to strip from the end of the attribute name before placing the attribute name in the Attribute Name output list. For
example, if the attribute name is "Attribute1_IntDialer" and you specify "_IntDialer" as the suffix to remove, only "Attribute1" is listed
in the output list. This parameter is optional.
Timeout
The number of seconds to wait for the operation to complete before taking the Failure exit path. Any value less than or equal to
zero results in the default value of 60 seconds being used. You may specify a decimal value, such as 5.5.
Outputs
Attribute Names
Attribute Values
Exit Paths
Success
If the operation is successful, this tool takes the Success exit path.
Failure
This tool takes the Failure exit path if the syntax of the Where clause in incorrect, if the CIC Data Source is configured incorrectly, or
if the Timeout value is exceeded.
107
DB Open
This Database tool opens an ODBC data source and passes along parameters like username and password, which are needed to
access the data source. This step is usually be followed by a DB Get Connection step.
Settings Page
Data Source
User Name
Type the username set up when you created the ODBC data source. You must have a value here, even if it is not used. The user
name may be entered explicitly, or you may use an expression do derive the username from variables.
Password
Type the password set up when you created the ODBC data source. You must have a value here, even if it is not used. The password
may be entered explicitly, or you may use an expression do derive the password from variables.
Note: This tool does NOT obfuscate data entered in this parameter. This means that passwords that are entered explicitly will be
visible to others who have access to handler files. Therefore it is recommended that literal strings not be used in any application
where password security is desired. Handler authors should instead code the handler to use a lookup of a structured parameter and
use the variable in this tool.
This is the name (handle) for the database you are opening.
The number of connections this handler will open. If you are going to be requesting multiple results from your query to the
database, you can specify more connections. With one connection you can perform one query and connection and one set of
fetches at a time. Multiple connections allow you to query the database, leave the result on the server, perform another query, and
go back later to continue getting records.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path. This can occur when the ODBC data source is not
valid, the user name or password are incorrect, the step times out before the DB can be opened, or the DB server is not available.
See Also:
Supported Databases
108
‘Update Table Name Value , set Attribute Name1 =Attribute Value1 , Attribute Name2 =Attribute Value2 , ..... where Where
Clause Value ).
This tool was created for use with the Interaction Dialer application that will read and write many call attributes to and from a data
source. In most cases, you can use the Set Attribute tool to set the value of a default or custom call attribute.
Inputs
IC Data Source
This must be an CIC Data Source (configured in Interaction Administrator) that refers to an ODBC DSN.
Table Name
Where Clause
The row to write. For example, "Agent = 4". You should not specify more than one row. If you do specify more than one row, every
matching row is updated, which is normally not desired behavior. This Where Clause is optional, and if omitted, a suitable Where
Clause is generated automatically as long as your ODBC driver supports the SQLPrimaryKeys API (see note 1 below). Note that this
is only optional for DB Put Data List; it is required in DB Get Data List since there is no input data to generate the clause from.
The value to prepend to the attribute name before writing it to the data source. For example, if the attribute name is "Attribute1" and
you specify "IntDialer_" as the prefix, "IntDialer_Attribute1" is listed in written to the data source. This parameter is optional.
The value to append to the attribute name before writing it to the data source. For example, if the attribute name is "Attribute1" and
you specify "_IntDialer" as the suffix, "Attribute1_IntDialer" is listed in written to the data source. This parameter is optional.
Timeout
The number of seconds to wait for this operation to complete successfully before taking the failure path. Any value less than or
equal to zero results in the default value of 60 seconds being used. You may specify a decimal value, such as 5.5.
Attribute Names
A list of strings value containing the list of attribute names to be written to the data source.
Attribute Values
A list of attribute values parallel to the list of Attribute Names. If the number of values does not match the number of names, this
step will take the Failure exit path.
Exit Paths
Success
If the operation is successful, this tool takes the Success exit path.
Failure
109
This tool takes the Failure exit path if the syntax of the Where clause in incorrect or if the CIC Data Source is configured incorrectly.
Notes
1. To prevent updating the primary key (which is not allowed by many RDBMSs, even if the value will not change) this tool uses
the ODBC API SQLPrimaryKeys. Although this API is supported by most ODBC drivers, it is a Level 2 extension API and therefore
you may run into an occasional driver that doesn’t support it. If your ODBC driver doesn’t support SQLPrimaryKeys, this tool will
still work, but you must manually remove the primary key attribute(s) and value(s) from the input lists when updating. When
inserting, the primary key data must still be present (unless your primary key is an auto-increment type – see note 2 below).
2. If your primary key is an auto-increment type you must exclude it from inserts, which means you can just exclude it always.
Note that the SQL Server uniqueindentifier type is not included here, since it must be supplied as data (usually with the NEWID()
function) during the insert.
3. Currently, the only non-updateable data type that is recognized and automatically excluded is the SQL Server timestamp type. If
your RDBMS has other types that are not updateable, you will need to manually exclude them (and please report these to
Genesys so that they can be incorporated into future releases).
4. SQLPrimaryKeys requires, as inputs, a catalog name and a schema name. Usually, but not always, the catalog will correspond
to the database name; the schema name will usually, but not always, correspond to the owner/creator of the table (the
"qualifier"). By default, this tool will use the qualifier entry of the CIC data source for the schema, and it will look for a DB= or a
DATABASE= entry in the Additional Information entry for the catalog. However, SQLPrimaryKeys has some obscure semantics
regarding NULL vs. empty ("") strings for the catalog and schema names. Basically, you would use NULL as a wildcard to mean
all catalogs or all schemas. Unless the table name is unique in a catalog (or across all catalogs if NULL is used for the
catalog), this is clearly a problem for this tool, since it is expected to update exactly one table. The use of empty stings is fairly
rare, and an empty schema means those tables that do not have schemas, and an empty catalog means those tables that don’t
have catalogs. A problem arises, however, because currently an empty/missing qualifier CIC data source entry means to use
the default (e.g. "dbo"). The same applies to a missing database entry in the Additional Information field. To solve this problem,
this tool will first look for an optional CATALOG= and a SCHEMA= entry in the Additional Information field that will be used to
override any qualifier entry or database entry . To denote a NULL catalog or schema input, use the keyword NULL (e.g.
CATALOG=NULL;); to denote an empty catalog or schema input, omit any characters (e.g. SCHEMA=;). As another example, if
the catalog does not correspond to the database (or you don’t feel like adding a database entry to the Additional Information),
you can specify it explicitly (e.g. CATALOG=mktg2;).
DB Query
This Database tool retrieves a result set from a table based on a Where clause. The result set retrieved matches the conditions you
specify in your Where clause. You can then specify a variable (bind) for each row of data returned.
The following example shows you one example of a where clause you might want to construct, and then shows you how to
configure DB Query to execute that where clause.
You have a database containing transaction IDs, the names of the Agent's who processed the transactions, the Agent's phone
number, and the cost of the transaction. You want to retrieve all purchase records for a single agent. In this example, the agent's
name is specified in a variable called strAgent1. The Clothing database to be queried is shown below.
The Where clause you should use to retrieve the value is shown below:
SELECT ID, Cost FROM Clothing WHERE Name=’strAgent1’
110
Creating the Where Clause with the DB Query Tool
Now that you know the Where clause you want to use, follow these steps to configure the DB Query tool to execute the Where
clause.
1. Specify the Connection Variable and Data Source .
The Connection Variable is generated by the DB Connect step elsewhere in the handler. The Data Source list is populated with
ODBC data sources you have configured. For more information on these two parameters, see the field documentation further
down in this help topic.
2. Select a Table Name.
Once you have selected a data source, the Table Columns for that data source are listed as choices for this parameters. Using
the our sample database as an example, Clothing is the table listed. The Table Name forms the FROM portion of your Where
Clause, so you've now configured FROM Clothing.
Once you have selected a Table Name, the columns within that table appear in the Table Columns List.
3. In the Table Columns list , select the columns you want to query.
When you pick Clothing as your Table Name, ID, Name, Phone, and Cost all appear in the Table Column list. You would highlight
ID, then click the Bind... button. In the Column Binding Dialog, you would select the variable to which will receive the value
retrieved from the ID column. Next you would select the Cost table column and bind the variable that will receive the value of
from the Cost Column. (The variable to which the Table Columns are bound are created with Assignment steps that precede
this DB Query step.)
Binding variables to the ID and Cost columns completes the SELECT portion of your Where clause. Now you have configured
DB Query to execute the following statement:
SELECT ID, Cost FROM Clothing
The next step will be to add the WHERE portion of the Where clause.
Note: Interaction Center 4.0 supports SQLServer 2008, which supports a new datetime2 data type. To bind this type to a
datetime variable in this and other toolsteps, use the latest driver "SQL Server Native Client 10.0" in the DSN. Otherwise,
Interaction Designer won't recognize the datetime2 data type and will treat it as a string.
4. Specify the Where Clause Variable .
In the Where Clause Variable parameter, you will specify the variable that contains your Where clause. You must create your
Where clause in an Assignment step preceding this DB Query step.
The DB Query step will insert the WHERE portion for you, so your Assignment step only needs to assign:
Name = 'strAgent1'
To type this value in Expression Editor Assistant, you would type the following:
When the handler executes, this expression results in Name = 'strAgent1' . Once you have assigned this value to a string
variable, you can select that variable from the DB Query's Where Clause Variable drop-down list.
Once you have selected your Where Clause Variable, the WHERE portion of your Where clause is complete. When you run the
handler the following Where clause is executed:
SELECT ID, Cost FROM Clothing WHERE Name=’strAgent1’
5. After this step executes, you can use a DB Fetch step to retrieve, one record at a time, the records stored in the result set. This
example is continued in the documentation for that tool.
Settings Page
Connection Variable
Specifies what connection on which the query is performed. Use a connection variable that you specified in a DB Get Connection
step. Each connection can contain only one result set, so if you need more than one result set, you should open more than one
connection.
Data Source
111
Select a data source to query. The selected data source’s table columns appear in the Table Name drop-down list box.
Table Name
This is a list of tables available for the data source you specified in the previous Data Source parameter. When you select a Table
Name, the columns defined in that table appear in the TableColumns/VariableList.
Specify a string expression that, at handler runtime, is used as the table name for the select statement. This field is optional. If no
value is specified, the table selected in the Table Name field will be used.
Timeout (seconds)
The number of seconds to wait for this operation to complete successfully before taking the failure path. Any value less than or
equal to zero results in the default value of 60 seconds being used. You may specify a decimal value, such as 5.5.
This is a list of Columns for the table specified in the previous Table Name parameter. You can bind variables created previously in
Assignment steps earlier in the handler.
Bind Button
A binding specifies which variable receives the value of the selected column and row. Use this button to bind a column to a
variable. When you execute this query and do a fetch, that variable receives the value of that column for the current row. A second
fetch overwrites the value of this variable.
Note: The bindings dialog box allows bindings to "convertible" types. This is useful if you want to read a value from a column
and have it be converted into another type automatically. For instance, SQL integers into numeric type variables.
Users wanting to bind a variable to a column are presented with the list of variables that are eligible for binding to the SQL type for
that column. In past releases, these variables would have been all the same type (i.e. there was only one handler variable type
allowed for a given SQL type). Now the list of variables will contain the variables of all the types that can be converted from the SQL
Type.
Unbind Button
Use this button to unbind a column from a variable. See Bind Button above.
Specify the variable that contains a Where clause. You will need to construct the Where clause in an Assignment step preceding
this step. For more information on building Where clauses, see Sample Where Clauses.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path. This can occur when information specified about the
table or view is incorrect, the DB connection variable is not valid, or the Where clause was not correct (i.e. it did not contain valid
SQL statement).
112
DB Release Connection
This Database tool releases a connection to the database server, freeing up the server for another connection. This step is usually
followed by a DB Close step.
You may not want to follow this step with a DB Close in cases where you have opened multiple connections to the same data
source. This is useful in cases where you want to perform "nested" queries against the database.
For instance, suppose you execute a query step, then fetch a record, then you need to perform an additional query (based on some
data in that fetched record) in order to process the record. If you perform that 2nd query on the same connection, your first result
set will be lost (the server keeps 1 current result set for each connection). So, you open another connection (or use another one
that was opened before) and perform the 2nd query on that. Then you fetch the result from that 2nd query and finish whatever
processing you needed to do for that original record. Now you can go back and fetch the 2nd record from the 1st query. To process
the 2nd record you'll probably do the same thing you did for the first -- do another query & fetch, then finish processing.
After you finished processing all the records from your original query, you're left with 2 open connections. If you only need one for
the rest of your handler, then you can release the 2nd one.
Settings Page
Specifies which database variable for the connection you want to release.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path. This can occur when the DB connection variable is
not valid.
113
DB SQL Exec
This Database tool is useful when you want to do something with a database other than query. DB SQL Exec can be used to insert
data into a database, update a row already in a database, delete data from a database, or run a stored procedures on the server
(scripts stored on the database that operate on the data tables).
To use this tool, build a SQL statement using one or more steps created with the Assignment Tool, and pass it in as a string
variable. Use this string variable as your SQL Statement Variable on the next page. You can use the & (string append) function in
several Assignment steps to build complex SQL statements.
Settings Page
Database Connection
The name of the database connection you created in a DB Get Connection statement.
The name of the variable that contains the SQL statement. The value of this variable is created with one or more Assignment steps.
For more information on building SQL statements, see Sample SQLExec Statements.
Timeout (seconds)
The number of seconds to wait for this operation to complete successfully before taking the failure path. Any value less than or
equal to zero results in the default value of 60 seconds being used. You may specify a decimal value, such as 5.5.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path. This can occur when the DB connection variable is
not valid, or the SQL statement is not valid.
DB SQLExec2
This database tool allows for the execution of any SQL statement that does not return a result set. If used for queries or stored
procedure calls that return result sets, you will not be able to retrieve the results. Use DB Query and DB Stored Procedure for stored
procedure calls that return result sets instead of this tool.
This tool will optionally allow for the retrieval of the number of affected rows (INSERTs, UPDATEs, and DELETEs only).
Like the DB list tools, this tool will grab a connection from the cache (or create a new one if one is not available), perform the
operation, then release the connection back to the cache. In other words, it is completely self-contained, which means you do not
need to call DB Open & DB Get Connection prior to using this tool.
Inputs
IC Data Source
SQL Command
114
The SQL command to execute.
Timeout (seconds)
The time, in seconds, before this tool will return with a timeout error. Where supported by the RDBMS, the statement/query timeout
on the server will also be set with this value.
If TRUE, a call will be made to retrieve the count of the number of rows affected by this command.
If you know the command does not affect any rows or produce a row count (or you don't care about the row count) set this to
FALSE as an optimization.
Outputs
If the input "Check Count of Affected Rows" is TRUE, this will contain the row count; note that a row count of zero is possible in
many situations (e.g. the where clause of an UPDATE does not specify any rows, the command does not produce a row count, etc.).
If "Check Count of Affected Rows" is FALSE, or an error was encountered, this value will be set to -1.
Error Code
If the tool execution was successful, this will be set to zero; otherwise, it will be set to the native (RDBMS) error code, or in the case
of an internal error (e.g. Notifier error) it will be set to an CIC-specific error code.
Exit Paths
Success
The operation was successful. Note that this doesn't mean that there were affected rows; it only means the SQL statement itself
did not generate any errors.
No Rows
This path will only be taken if all three of the following conditions are met:
1. There were no errors
2. The input "Check Count of Affected Rows" is TRUE
3. The result did not affect any rows (or did not produce a row count).
Failure
There was a SQL or internal error generated while trying to execute this command. Check the IPDBServer.log for information on the
error.
DB Stored Procedure
This Database tool calls a stored procedure on your database server. This tool's properties allow you to bind handler
variables/expressions to the stored procedure parameters, result columns, and return value. After this tool executes, you can use
DB Fetch to fetch result rows (if necessary). Depending on which database server product you are using, the output parameter
values and the return value will either be populated:
a. immediately on the call to DB Stored Procedure, or
b. if a result set is returned, output parameters and return value won’t be set until all rows have been fetched. This is for all
databases.
115
Note: For stored procedures that return a result set, you must wait until after all of the rows in the result set are processed to
check output parameters and return values. This is a standard ODBC requirement.
Consult with your database administrator to determine the behavior of your particular database server.
Related Topics
DB Stored Procedure Definition dialog
A stored procedure is a function or script that is saved on a database server. This script can be executed on the database server at
the request of a database client. Stored procedures can receive input from the client at the time they're executed. Stored
procedures carry out their processing on the server and can return data/results of that processing to the client. Database
administrators use stored procedures to carry out complex functions that are best performed on the server (as opposed to the
client). In addition, stored procedures often outperform normally submitted SQL because the SQL in the procedure is pre-parsed, and
execution plans pre-generated.
A definition of a stored procedure specifies parameters, result set, and the return value. A stored procedure parameter is similar to
the standard programming concept of a function parameter -- these parameters can be input data, meaning the value passed in is
used during processing, or output data, meaning the reference to a value will be "filled in" during processing, or they can be both,
meaning their initial value will be used during processing, and that value may then be changed before processing completes. Result
sets are the same concept as for DB Query -- the stored procedure can execute a query during its processing, and the client will be
able to access the result set of that query by calling fetch for each row in the result set. The stored procedure return value is similar
to an output parameter -- it's a value that will be "arrived at" during processing and will be returned to the client.
First, a stored procedure must be created. For MS SQL Server, this can be done using the SQL Server Query Analyzer: Open the
Analyzer, type the Stored Procedure’s contents, and click on the Execute button (Green arrow). The stored procedure is created.
Here’s an example of a stored procedure created for testing purposes:
Notes:
1. The Stored Procedure name is makeatable.
2. Makeatable is designed to work on the same SQL Server database CIC uses to store its call data (the database referred to by
the CIC Server EIC_Tables ODBC DSN).
3. The stored procedure, as written, assumes that the CIC Server’s site identifier is 101 (to find out what the Site ID is for a given
CIC Server, open Interaction Administrator, click on the Production container and double-click on Configuration item on the
right. You can change the 101 in the example to whatever the site ID is for the CIC Server under test.
116
4. Makeatable takes 2 parameters: @lastcalltext, a string, and @totalrows, an integer. It needs to receive these 2 parameters on
input, but doesn’t use them. It outputs the date and time of the last call logged in the database (@lastcalltext), and the amount
of calls that server processed (@totalrows).
makeatable will delete a table called test1234 (without warning), if it exists, so make sure you don’t have any valuable data in
such a table.
5. Before using a stored procedure in Interaction Designer, it’s a good idea to make sure it runs properly on the SQL Server. So,
open the SQL Server Query Analyzer, type
makeatable "blah", 5
and click on the execute button. The output should display the number of rows affected (twice) followed by the date of the last
call in the database, followed by some integer (number of calls, same as the number of rows affected).
If this worked, the test Stored Procedure can be used in Interaction Designer. Here’s how:
1. Create a new Handler in Interaction Designer. Use the SendCustomNotification initiator so that you can launch the handler
from a command line.
2. Use two Assignment steps to initialize the 2 variables mentioned in step 4 of the previous list: A string variable, which will be
bound to @lastcalltext, and an integer variable, which will be bound to @totalrows. Assign "blah" and 0 to the 2 variables,
respectively (it really doesn’t matter what’s in there, as long as the data type is correct).
Note: You can also declare new variables directly from the DB Stored Procedure tool created in Step 5 of this
procedure. After you click the Bind button, you can declare a new variable from the Bind dialog that appears.
3. Use a DBOpen step to open ODBC DNS eic_tables. Use a user ID of eic_user , and a password of i3 (unless the default
password has been changed).
4. Use a DBGetConnection step.
5. In a DB Stored Procedure step, select the stored procedure. To do this, you'll pick the Data Source Name (EIC_Tables), Schema
(that’s the procedure creator/owner, usually dbo), and the Stored Procedure (makeatable). If this works properly, @lastcalltext
and @totalrows should automatically appear in the parameters window. Bind variables to these parameters to receive the
values output from the stored procedure.
Note: If your parameters don't appear in the parameters window, you may need to manually modify CIC's definition of
the stored procedures in the DB Stored Procedure Definition dialog.
6. Add any additional desired logic to the handler, save it, publish it, and activate it.
Note : If you batch publish a handler with this tool and use the /LogBatchPublish command lien argument, the publish
process may display a publish dialog. See the Batch Publish topic for more information.
7. Start the handler from the command line using the sendcustomnotification command.
When the handler runs, your stored procedure is run on the DB server.
Parameters Page
DB Connection
The variable containing the database connection generated by the DB Get Connection tool.
DSN (Catalog =)
The name of the data source on which the procedure was created. The concept of the catalog varies from one RDBMS vendor to the
next. It usually corresponds to the physical database, but there are exceptions. For example, with dBase & FoxPro it usually
corresponds to the directory in which the data files reside. While some RDBMSs allow you to dynamically which catalog contexts
within a connection, CIC currently doesn’t support this, and assumes the catalog is tied to the ODBC DSN. So, if access to multiple
catalogs is required, you must create and configure multiple ODBC DSNs.
Schema
The schema in which the stored procedure resides. The "schema" is the official ANSI term for what used to be commonly known as
117
the "qualifier". It is usually the creator/owner of the database object. Worth noting is that Sybase and MS SQL Server have a special
schema name that is used when the owner of the object is also the database owner: "dbo ".
Stored Procedure
An optional expression that results in a string that names a stored procedure. This allows you to run a stored procedure
dynamically from a handler. If you specify a value here, the any value in the Stored Procedure parameter is ignored.
Note: If specifying a value here, you are responsible for including any required schema prefix. For example, if the stored
procedure is called ‘MyProc’, and it is owned by user ‘Fred’ who is not the database owner (dbo), and the connection was
created under a user other than Fred, then you would need to provide ‘Fred.MyProc’ as the value here. As another example, if
Fred was the dbo, then you could supply either ‘dbo.MyProc’ or simply ‘MyProc’, since Sybase and MS SQL server will
automatically attempt to resolve any unqualified object name with ‘dbo’. As a final example, if the database connection was
created using Fred’s account, then either ‘Fred.MyProc’ or ‘MyProc’ will work.
Execution String
Optional. Any executable SQL statement can be provided. If the statement contains embedded parameter markers (‘?’), they will be
bound to the corresponding bind parameters that are specified (it is up to the user to make sure the number of parameter markers
matches the number of bound parameters, and that the ordinal positions are correct). The intent is to allow a way to provide the
RDBMS-specific stored procedure call syntax in the event that the ODBC driver doesn’t support the ODBC escape syntax for stored
procedure execution. Fortunately, since most drivers nowadays support the escape syntax, you should not normally need to provide
anything here.
Note: Although not originally intended as a feature, the execution string can be any valid SQL – it is not limited to a stored
procedure call. For example, you could use it to perform a SELECT Count(*). You can pass input parameters and also get a
result set; however, you cannot set output parameters or get a procedure return (since there is no procedure).
Timeout (seconds)
The number of seconds to wait for this operation to complete successfully before taking the failure path. Any value less than or
equal to zero results in the default value of 60 seconds being used. You may specify a decimal value, such as 5.5.
Parameters list
The parameters for the specified stored procedure. You can bind variables to the input and input/output parameters. If you do not
see all of the parameters that should be listed, your ODBC driver may not be passing all of the parameters to this tool. In this case
you may need to define these parameters in the DB Stored Procedure Definition dialog (which you can open through the Utilities
menu).
Note: In some cases you may have to take a couple of extra steps to convert values in a handler to parameters in the stored
procedure. For example, you have a SMALLINT data type as an input parameter that is basically acting as a Boolean (i.e. it will
either hold a 1 or a 0). When you open the expression editor to supply a value, the expression editor only displays the primary
mapping type for SMALLINT, which is an CIC integer. This is because the expression editor is designed with the notion that
everything is with respect to the current (single) data type. Unlike Interaction Designer, it has no way of presenting a list of both
Boolean and integer variables. To work around this problem, define an integer variable to use, then set it with the Boolean value
using one of the expression editor's type conversions.
Bind button
Click the Bind button to bind the selected parameter to a variable (for in/out and out parameters) or expression (for input
parameters).
118
Unbind button
Click the Clear Bindings button to remove all bindings to all parameters.
A value returned as a result of the processing performed by the stored procedure. The type of value returned depends on the
RDBMS. For example, Oracle and DB2 allow you to return most legal SQL data types (LONG or BLOB types usually being the
exceptions), but Sybase and MS SQL Server both limit return types to INTEGERs. RDBMSs don't typically allow complex types, like
lists, to be returned. The handler must include a condition to inspect the return value.
This list is populated if the stored procedure fetches any data. You can bind variables to the fetched data. If you do not see all of
the column names that should be listed, your ODBC driver may not be passing all of the column names to this tool. In this case you
may need to define these column names and other result set properties in the DB Stored Procedure Definition dialog (which you can
open through the Utilities menu).
Note: CIC does not currently support retrieving multiple result sets. If the stored procedure generates multiple result sets, then
only the first result set can be retrieved.
Note: For stored procedures that return a result set, you must wait until after all of the rows in the result set are processed to
check output parameters and return values. This is a standard ODBC requirement.
Name
Position
The ordinal position of the column in the result set, starting from 1.
Expression
This is the variable to which the fetched data is bound. You can specify only a variable, not an expression.
Bind… button
Unbind button
Click the Clear Bindings button to remove all bindings to all columns.
Exit Paths
Success
119
This step takes the Success exit path if the ODBC call succeeds, regardless of the value that is returned by the stored procedure.
Failure
This step takes the Failure exit path if the ODBC call fails. Probable causes include:
Stored procedure not found. Usually this is due to a wrong or missing schema qualifier, or insufficient privileges.
Insufficient execution privileges.
Data type mismatch with one of the procedure parameters or return value.
To troubleshoot the cause of a failure, the most important thing is to examine the IPDBServer.log file – it will normally (well,
hopefully) contain a useful RDBMS error message.
Dialer
Inputs
Campaign ID
Call ID
Wrapup Code
A string that indicates the completion status of a call step. Wrap-up codes appear in scripts and allow agents to disposition calls by
choosing a call outcome for a campaign. For reporting purposes, each user-defined wrap-up code must map to a wrap-up category.
Wrap-up Category Default wrap-up Codes (user-defined)
Default inbound categoryNone
Ambiguous Ambiguous
Ambiguous - Agent Connection Broken
Ambiguous - Agent Logout
Ambiguous - Agent Received a New Call
Busy Busy
Busy - Busy Signal
Busy - Disconnect before Analysis
Busy - Not Reached
Busy - Remote Busy
Deleted Deleted
Deleted - Do Not Call
Failure Failure
Failure - Timeout
120
Fax Fax
Fax - System Hang up on Fax
Machine Machine - Answering Machine
Machine - Failed to play recording
Machine - Machine
Machine - Recording played to Fax
Machine - Recording played to Machine
No Answer No Answer
No Answer - Answering Machine
No Answer - Disconnect before Analysis
No Answer - No User Responding
No Answer - Timeout
No Answer - User Alerting No Answer
No Lines No Lines
No Lines - No IP Response
Non-Dialer Call Non-Dialer call
Not Reached Not Reached
Not Reached - Disconnect before Analysis
Phone number deleted Phone number deleted
Phone number success Phone number success
Policy Scheduled Policy Scheduled
Remote Hang Up Remote Hang Up
Remote Hang Up - Contact Hang Up
Remote Hang Up - Remote Hang Up after Transfer
Remote Hang Up in Attendant
Rescheduled Rescheduled
Scheduled Scheduled
Scheduled - Callback
SIT SIT
SIT Callable SIT Callable - Disconnect before Analysis
SIT Callable - Ineffective Other (see note that follows table)
SIT Callable - No Circuit
SIT Callable - No Route to Destination
SIT Callable - Normal
SIT Callable - Protocol Error
SIT Callable - Reorder
SIT Callable - Temporary Failure
121
SIT Uncallable SIT Uncallable - Bad Number
SIT Uncallable - Disconnect Before Analysis
SIT Uncallable - Ineffective Other
SIT Uncallable - Invalid Number Format
SIT Uncallable - No Circuit
SIT Uncallable - No IP Response
SIT Uncallable - Number Changed
SIT Uncallable - Reorder
SIT Uncallable - Unassigned Number
SIT Uncallable - Unknown Tone
SIT Uncallable - Vacant Code
Skipped Skipped - Agent Skip
Skipped - Do Not Dial
Skipped - Policy No valid Phone Number
Success System Hang Up on Fax
System Hang Up on Live Voice
System Hang Up on Machine
Success
Success - Recording played to Fax
Success - Recording played to Live Voice
Success - Recording played to Machine
System Hang Up System Hang Up
System Hang Up - Agent not available for callback
System Hang Up - Attendant Transfer failed
System Hang Up - Failed to play recording
System Hang Up - Failed to route call to agent
System Hang Up - Failed to send fax
System Hang Up after Transfer
System Hang Up in Attendant
Transferred Transferred
Wrong Party Wrong Party
Wrong Party - Wrong Number
Exit Paths
Next
122
Get Campaigns
This Dialer tool returns a list of campaign IDs and names that correspond to the active, currently running campaigns.
Caution : Do not use this tool in your handlers as it may cause CIC to function incorrectly. It is intended for Interaction Dialer
only. You will never need to use or modify the values set in this tool.
Inputs
Outputs
Campaign ID List
Exit Paths
Success
Failure
123
Get Dialer Attributes
This Dialer tool gets the attributes for a Dialer call.
Note: This tool only appears in the tool palette if Dialer is installed.
Inputs
Campaign ID
Call ID
Outputs
Exit Paths
Success
This tool takes the Success exit path if the attribute values were retrieved successfully.
Failure
This tool takes the Failure exit path if the attribute values were not retrieved because the call was not found.
124
Get Logged In Agents
This Dialer tool retrieves the currently logged in agents associated with a specified campaign.
Note: This tool only appears in the tool palette if Dialer is installed.
Inputs
Campaign ID
Outputs
Agent ID List
List of strings containing the IDs of all currently logged in agents associated with this campaign.
Exit Paths
Next
Important: Use caution when setting the bDialerPlaceCall variable to false in order to stop Dialer from placing a call. Dialer
expects a disposition to clear out a contact that it called or expected to call. If you set bDialerPlaceCall variable to false, use
the Dialer Call Completed tool to disposition calls so that Dialer properly deallocates the call.
Inputs
Campaign ID
Call ID
Wrapup Code
A string that indicates the completion status of a call step. Wrap-up codes appear in scripts and allow agents to disposition calls by
choosing a call outcome for a campaign. For reporting purposes, each user-defined wrap-up code must map to a wrap-up category.
125
Ambiguous Ambiguous
Ambiguous - Agent Connection Broken
Ambiguous - Agent Logout
Ambiguous - Agent Received a New Call
Busy Busy
Busy - Busy Signal
Busy - Disconnect before Analysis
Busy - Not Reached
Busy - Remote Busy
Deleted Deleted
Deleted - Do Not Call
Failure Failure
Failure - Timeout
Fax Fax
Fax - System Hang up on Fax
Machine Machine - Answering Machine
Machine - Failed to play recording
Machine - Machine
Machine - Recording played to Fax
Machine - Recording played to Machine
No Answer No Answer
No Answer - Answering Machine
No Answer - Disconnect before Analysis
No Answer - No User Responding
No Answer - Timeout
No Answer - User Alerting No Answer
No Lines No Lines
No Lines - No IP Response
Non-Dialer Call Non-Dialer call
126
Rescheduled Rescheduled
Scheduled Scheduled
Scheduled - Callback
SIT SIT
SIT Callable SIT Callable - Disconnect before Analysis
SIT Callable - Ineffective Other (see note that follows table)
SIT Callable - No Circuit
SIT Callable - No Route to Destination
SIT Callable - Normal
SIT Callable - Protocol Error
SIT Callable - Reorder
SIT Callable - Temporary Failure
SIT Uncallable SIT Uncallable - Bad Number
SIT Uncallable - Disconnect Before Analysis
SIT Uncallable - Ineffective Other
SIT Uncallable - Invalid Number Format
SIT Uncallable - No Circuit
SIT Uncallable - No IP Response
SIT Uncallable - Number Changed
SIT Uncallable - Reorder
SIT Uncallable - Unassigned Number
SIT Uncallable - Unknown Tone
SIT Uncallable - Vacant Code
127
System Hang Up System Hang Up
System Hang Up - Agent not available for callback
System Hang Up - Attendant Transfer failed
System Hang Up - Failed to play recording
System Hang Up - Failed to route call to agent
System Hang Up - Failed to send fax
System Hang Up after Transfer
System Hang Up in Attendant
Transferred Transferred
Exit Paths
Success
This tool takes the Success exit path unless one of the failure criteria is met.
Failure
This tool takes the Failure exit path if the call cannot be placed or its completion cannot be processed due to one or more of the
Place Dialer Call Inputs.
Restart Campaign
This Dialer tool resets the call list in a specified campaign.
Note: This tool only appears in the tool palette if Dialer is installed.
Inputs
Campaign ID
Exit Paths
Success
This tool takes the Success exit path if the campaign is successfully reset.
Failure
This tool takes the Failure exit path if the campaign cannot be reset.
128
Set Dialer Attributes
This Dialer tool sets the Dialer attributes for a Dialer call.
Note: This tool only appears in the tool palette if Interaction Dialer is installed.
Inputs
Campaign ID
Call ID
Exit Paths
Success
This tool takes the Success exit path if the attribute values were set successfully.
Failure
This tool takes the Failure exit path if the attribute values were not set because the call was not found.
Director
129
Director Tools and Initiators in Interaction Designer
In Interaction Designer, tools for developing handlers with Interaction Director functionality appear on a design palette tab named
"Director." The supported tools include:
Director Monitored Server Ready tool
Director Select Queue Tool
Play Audio File (No Conference) tool
Send ATT Announcement Code Tool
Send ATT Post Feature Code Tool
Send MCI DDD Tool
Send MCI Destination w/DNIS Override Tool
Send MCI Error Tool
Send MCI IDDD Tool
Send MCI Use Default Tool
Send Route Command Tool
Send SIP Destination
Send Simulated Route Command Tool
Send Sprint Error Tool
Send Sprint Reject Tool
Send Sprint Use Default Tool
Some tools appear on the Director tool palette but are reserved for internal use only or by special instructions from PureConnect
Customer Care. These include:
Director Get Overflow Spec
Director Get Time String tool
Director Interaction Removed tool
Director Interaction Transferred tool
Director Process Offering Interaction tool
Director Remote Audio Path Complete tool
Director Remote Routing tool
Director Route Email tool
Director Send Message Tool
Director Send Response Tool
Interaction Director initiators are accessible via the File menu. These include:
Accept Generic Route Request initiator
Accept MCI Route Request initiator
Accept Sprint Route Request initiator
Accept ATT Route Request initiator
Accept Generic Route Request initiator
Accept Generic Routing Statistics initiator
Director Connection Lost initiator
Director Connection Restored initiator
130
Director Monitored Server Ready tool
This Director tool is only for use in conjuction with Director and must appear at the end of the DirectorMs_ConnectionRestored
handler.
Inputs
Response Correlation Id
An ID which identifies the message. This must be copied from the similarly-named output on the DirectorConnectionRestored
initiator.
Response Destination Id
An ID which identifies the source of the message. This must be copied from the similarly-named output on the
DirectorConnectionRestored initiator.
Outputs
None.
Exit Paths
Next
Inputs
Interaction Type
Universal ID
This should be a ID that would uniquely identify an interaction throughout its existence across all Director-connected servers
Sequence Number
This should be different every time the tool is called with a given Universal ID, but can be reset when the Universal ID changes.
This is an optional value that identifies the server that originated this request.
131
Originating Server Id
Optional value that is the site ID of the server that originated this request
Originating Interaction Id
This is an optional value that identifies any local interaction ID that the originating server might have assigned.
This is a list of Enterprise Group names that Director will examine in the order provided to find a suitable destination for the
interaction. However, the only condition under which later Enterprise groups will be checked is if earlier ones result in no possible
route. In other words, if a score can be calculated it will be. Only if it can’t will Director move on to later Enterprise Groups. Another
way of stating this is that the resulting destination queue will be the highest scoring one within an Enterprise Group (the first one
that yields a score), not across all supplied groups.
Required Skills
This is a list of skill names that agents must possess to be considered candidates to receive the interaction
This list, whose values must be parallel to the skill names list, specifies the minimum allowable proficiency level that agents must
possess to be considered candidates to receive the interaction.
This list, whose values must be parallel to the skill names list, specifies the maximum allowable proficiency level that agents can
possess to be considered candidates to receive the interaction.
This flag, if set to true, causes Director to send a message to the selected destination containing information regarding the
assigned queue as well as the list of attribute names and values supplied in the inputs below. The information can be retrieved (via
customization) when the interaction arrives at the destination.
Attribute Names
This list specifies the attribute names that should be sent to the destination server.
Attribute Values
This list, whose values must be parallel to the attribute names list, specifies the attribute values that should be sent to the
destination server.
Outputs
If the success exit path is taken, this value will be the name of the Enterprise Group of which the selected queue was a member.
If the success exit path is taken, this value will be the name of the selected queue as defined on the Director configuration.
132
If the success exit path is taken, this value will be the name of the selected queue as defined on the destination CIC server.
If the success exit path is taken, this value will be the name of the destination CIC server
Assigned Server Id
If the success exit path is taken, this value will be the site ID of the destination CIC server
If the success exit path is taken, this value will be the IP address of the destination CIC server server.
Exit Paths
Success
Failure
This path will be taken if an internal problem is encountered that prevented a valid evaluation of the Enterprise Groups supplied.
No Queue
This path means that the evaluation was completed however no destination queue could be selected due to routing criteria not
being met in any supplied Enterprise Group
Related Topics
Director Tools in Interaction Designer
Inputs
Call Identifier
Exit Paths
Success
133
Send ATT Announcement Code Tool
This Director tool sends an announcement code response to the ATT interface.
Inputs
Announcement Code
This is one or more numeric characters to be sent to the destination as allowed by the ATT specification.
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
134
Send ATT Post Feature Code Tool
This Director tool sends a post feature code response to the ATT interface
Inputs
This is one or more numeric characters to be sent to the destination as allowed by the ATT specification.
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
135
Send MCI DDD Tool
This Director tool sends a domestic digits to dial response to the MCI interface.
Inputs
A telephone number to be dialed whose format is in accordance with the MCI specification.
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
136
Send MCI Destination w/DNIS Override Tool
This Director tool sends a destination with DNIS override response to the MCI interface.
Inputs
Destination Label
This is a destination label that instructs the requesters routing logic what to do next. The format is in accordance with the MCI
specification
DNIS Override
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
137
Send MCI Error Tool
This Director tool sends an error response to the MCI interface.
Inputs
Error Reason
Error Parameter
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
138
Send MCI IDDD Tool
This Director tool sends an international digits to dial response to the MCI interface.
Inputs
A telephone number to be dialed whose format is in accordance with the MCI specification.
This value must be copied from the initiator that fires when a pre-call route request is received
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
139
Send MCI Use Default Tool
This Director tool sends a use default response to the MCI interface.
Inputs
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
140
Send Route Command Tool
This Director tool sends a destination response to the interface from which the request was received.
Inputs
Destination Code
This value is the code to be returned in the response. This code tells the requester what to do next in its routing logic. Because this
tool is used for to respond to of the pre-call carrier interfaces, the format and size of the string is determined by the individual
carrier’s specification.
This is one or more numeric characters to be sent to the destination as allowed by the carrier’s specification.
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
141
Send SIP Destination
This Director tool sends the necessary data back to the request originator so that it may route the incoming call to the desired
destination.
This tool assumes that the destination is able to accept information in the SIP INVITE message. Only use this tool in
configurations where the SIP INVITE has added information.
Inputs
Destination Domain
This string value should be set to the domain portion of the destination address. For example, "genesys.com".
This string value should be set to the user portion of the destination address. For example, "agenta".
This string value should be set to the desired destination queue. This value would be obtained from Director Select Queue tool. This
value is what exists on the destination machine, usually a CIC server, not the name of the queue item that points to that queue as
configured on the Director machine in Interaction Administrator.
Attribute Names
A list of string values that contains names sent to the destination. This value is only used by a CIC server.
Attribute Values
A parallel list of string values that should be sent to the destination. This list must contain exactly the same number of items as the
list of Attribute Names, or both lists will be ignored. This value is only used by a CIC server.
Respond To
This string value must be passed in unaltered from the Request Source parameter of the Accept SIP Route Request initiator.
Director uses this value to determine which code module to send the response message.
This integer value must be passed in unaltered from the Request Sequence Number parameter of the Accept SIP Route Request
initiator. Director uses this value to associate the response with the original request.
Exit Paths
Success
Failure
142
Send Simulated Route Command Tool
This Director tool sends a response back to the Simulate Call dialog. It is used only for testing the ability to run through a handler
under development, to conveniently check the logic before allowing it to run in a live environment.
Inputs
Site
This should contain the CIC server that contains the assigned queue.
Queue
Estimated Wait
This can be filled in with an estimated wait time, if such a value is being calculated.
Additional Info
This field can optionally be used to show the routing information that would be sent back to the carrier. There is no specific format.
Whatever is in this item is displayed on the dialog.
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
143
Send Sprint Error Tool
This Director tool sends an error response to the Sprint interface.
Inputs
Error Reason
This is an error value whose format is in accordance with the Sprint specification.
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
144
Send Sprint Reject Tool
This Director tool sends a reject response to the Sprint interface.
Inputs
Treatment Code
This is a response value whose format is in accordance with the Sprint specification.
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
145
Send Sprint Use Default Tool
This Director tool sends a response back to the Sprint interface that indicates to use the Sprint default route for this request.
Inputs
This value must be copied from the initiator that fires when a pre-call route request is received.
Respond To
This value must be copied from the initiator that fires when a pre-call route request is received.
Outputs
None.
Exit Paths
Success
Failure
Director Initiators
Director Initiators - Monitored Server Only
Director Connection Lost initiator
Director Connection Restored initiator
Director Message Received initiator
146
Initiator Properties
IDirector Routing
Object ID
{all} – this is the only choice. The values in the object id specify the carrier that sent the request.
Notification Event
Send Route Request – choose this for live operation. This is the event that is fired by the Director software to indicate that a route
request has been received from the specified carrier.
Simulated Route Request – choose this for testing. This is the event that is fired by the Director software when a simulated route
request is sent from the simulator dialog. In this way the actual handler that will be used in a live system can be tested for a given
set of inputs.
Outputs
Dialed Number
This is the number that the carrier’s request indicates was dialed by the caller.
Calling Number
This is the number that the carrier’s request indicates the caller is calling from.
This is a set of digits collected in the carrier’s network, if such a facility is available.
This is the list of Enterprise Groups that have been configured in Interaction Administrator to be queried for the dialed number
supplied in the output from Dialed Number, Calling Number, and/or Customer Entered Digits.
Key String
This is a sequence number that is guaranteed to be unique across all requests on a given Director server regardless of source or
time received.
Request Source
This is an ID which identifies the source of the message. You must copy this to the similarly-named input on the any of the tools
used to send a response back to the carrier.
This is an ID which identifies the message. You must copy this to the similarly-named input on the any of the tools used to send a
response back to the carrier.
Simulated Request
147
This is a Boolean value that indicates whether this request was sent from the simulator dialog.
Related Topics
IDirector Routing
Object ID
{all} – do not choose this value or else requests from all carriers will come to the handler.
MCI – choose this value to receive only requests from MCI.
Notification Event
Send Route Request – choose this for live operation. It is the event that is fired by the Director software to indicate that a route
request has been received from the specified carrier.
Simulated Route Request – choose this for testing. It is the event that is fired by the Director software when a simulated route
request is sent from the simulator dialog. In this way the actual handler that will be used in a live system can be tested for a given
set of inputs.
Outputs
Dialed Number
This is the number that the carrier’s request indicates was dialed by the caller.
Calling Number
This is the number that the carrier’s request indicates the caller is calling from.
This is a set of digits collected in the carrier’s network if such a facility is available.
This is the list of Enterprise Groups that have been configured in IA to be queried for the dialed number supplied in the output
above.
Key String
This is a sequence number that is guaranteed to be unique across all requests on a given Director server regardless of source or
time received.
Request Source
148
This is an ID which identifies the source of the message. You must copy this to the similarly-named input on the any of the tools
used to send a response back to the carrier.
This is an ID which identifies the message. You must copy this to the similarly-named input on the any of the tools used to send a
response back to the carrier.
Simulated Request
This is a Boolean value that indicates whether this request was sent from the simulator dialog.
Related Topics
For more information on the relationship between the parameters on the Initiator Properties page, see Introduction to Initiators.
Object ID
Use "SIP".
Event ID
Notification Event
SendRouteRequest
Outputs
Dialed Number
The string of the full called address of the incoming request. This value will conform to sip:user@DOMAINorIP:Port.
Calling Number
The string of the full calling address of the incoming request. This value will conform to sip:user@DOMAINorIP:Port.
A list of strings specifying the configured Interaction Director Enterprise Groups that are associated with the Dialed Number in
Interaction Administrator.
Key String
A guaranteed unique string that may be used as an key value in a database for data associated with a particular request.
Request Source
A string the Send SIP Destination tool uses. Do not change this value. The value describes which code module to send the
response message.
A integer that used by the Director tools. Do not change this value. The value associates the response with the original request.
Simulated Request
A boolean variable, that is "true" if the request did not originate from an external originator. A facility to send simulated requests is
not currently implemented, so the value will always be "false".
Exit Paths
Start
Initiator Properties
IDirector Routing
Object ID
{all} – do not choose this value or else requests from all carriers will come to the handler.
Sprint
Notification Event
150
Send Route Request – choose this for live operation. It is the event that is fired by the Director software to indicate that a route
request has been received from the specified carrier.
Simulated Route Request – choose this for testing. It is the event that is fired by the Director software when a simulated route
request is sent from the simulator dialog. In this way the actual handler that will be used in a live system can be tested for a given
set of inputs.
Outputs
Dialed Number
This is the number that the carrier’s request indicates was dialed by the caller.
Calling Number
This is the number that the carrier’s request indicates the caller is calling from.
Enhanced Inquiry
This is a flag which indicates whether the request contains extra information collected from the caller and supplied in the following
outputs.
II Digits
This is a value supplied in accordance with the Sprint specification and specific to a given customer account.
CRID
This is a value supplied in accordance with the Sprint specification and specific to a given customer account.
This is a list of values that describe any supplied digit parameters in accordance with the Sprint specification.
This is a parallel list of values that describe any supplied digit parameters in accordance with the Sprint specification.
This is a parallel list of values that contain any supplied digit parameters in accordance with the Sprint specification.
This is the list of Enterprise Groups that have been configured in Interaction Administrator to be queried for the dialed number
supplied in the output above.
Key String
This is a sequence number that is guaranteed to be unique across all requests on a given Director server regardless of source or
time received.
Request Source
151
This is an ID which identifies the source of the message. You must copy this to the similarly-named input on the any of the tools
used to send a response back to the carrier.
This is an ID which identifies the message. You must copy this to the similarly-named input on the any of the tools used to send a
response back to the carrier.
Simulated Request
This is a Boolean value that indicates whether this request was sent from the simulator dialog.
Related Topics
IDirector Routing
Object ID
{all} – do not choose this value or else requests from all carriers will come to the handler.
ATT – choose this value to receive only requests from ATT.
Notification Event
Send Route Request – choose this for live operation. It is the event that is fired by the Director software to indicate that a route
request has been received from the specified carrier.
Simulated Route Request – choose this for testing. It is the event that is fired by the Director software when a simulated route
request is sent from the simulator dialog. In this way the actual handler that will be used in a live system can be tested for a given
set of inputs.
Outputs
Dialed Number
This is the number that the carrier’s request indicates was dialed by the caller.
Calling Number
This is the number that the carrier’s request indicates the caller is calling from.
This is a set of digits collected in the carrier’s network if such a facility is available.
152
This is the list of Enterprise Groups that have been configured in Interaction Administrator to be queried for the dialed number
supplied in the output above.
Key String
This is a sequence number that is guaranteed to be unique across all requests on a given Director server regardless of source or
time received.
Request Source
This is an ID which identifies the source of the message. You must copy this to the similarly-named input on the any of the tools
used to send a response back to the carrier.
This is an ID which identifies the message. You must copy this to the similarly-named input on the any of the tools used to send a
response back to the carrier.
Simulated Request
This is a Boolean value that indicates whether ot not this request was sent from the simulator dialog.
Related Topics
IDirector Statistics
Object ID
{all} – this is the only choice. The values in the object ID are not currently meaningful.
Notification Event
{all} – choose this to receive statistics on all types of request outcomes. The values in the object id will indicate the outcome of
the request.
Routing Success
Routing Failure
Routing Timeout
153
Choose this to receive statistics only on timeout outcomes.
Outputs
Primary Key
This is a unique identifier for each request and could be used as a DB record key.
Correlation Id
Response Time
IDirector Site Id
Originating Carrier
Originating Site Id
Called Info
This is the number that the request indicated was dialed by the caller.
Calling Info
This is the number that the request indicated the caller is calling from.
This is a set of digits collected in by any network IVR and sent with the request.
This is only meaningful if the request came from Sprint and only if Sprint supplied this information in the request. The content of
this value is determined by the Sprint specification.
Sprint CRID
This is only meaningful if the request came from Sprint and only if Sprint supplied this information in the request. The content of
this value is determined by the Sprint specification.
154
Result
This is a value that indicates whether the request was responded to at all and if so whether it was successful or resulted in an error.
Response Type
If a response was sent, this indicates the type. The actual value depends on which carrier sent the request.
Response Code
If a response was sent, this indicates the code. The actual value depends on which carrier sent the request and the type of the
response.
Routed Site
If a route was chosen successfully, this indicates the name, as configured in Director’s IA, of the destination monitored server.
Routed Queue
If a route was chosen successfully, this indicates the name, as configured in Director’s IA, of the destination monitored queue.
Routed Agent
Additional Info
This is a list of strings that may contain extra information supplied by the Director software.
Related Topics
155
Director Connection Lost initiator
This initiator fires when the last (or only, if there is not more than one) Director connection is lost. Connection loss handling is
done by Director software. However, if you want to create a custom action, such as sending an alert after the last connection loss,
you can create a handler using this initiator.
Initiator Properties
IDirector Status
Object ID
{all} – this is the only choice. The values in the object id are not currently meaningful.
Notification Event
Director Connection Lost – you must choose this. It is the event that is fired by the Director software to indicate that the last
connection has been lost.
Related Topics
156
Director Message Received initiator
This initiator fires when a message is received as a result of the DirectorSendMessage tool being executed on either the Director
server or another CIC server.
IDirector Routing
Object ID
{all} – this is the only choice. The values in the object id are not currently meaningful.
Notification Event
Director Message Received – you must choose this. It is the event that is fired by the Director software to indicate that a message
has been received.
Outputs
Message Handle
This is the handle of a UMF (Universal Message Format) message received from Director. The message may actually have come
from another CIC server connected to Director. Any valid operations on a UMF message are allowed. It is up to the endpoints to
know the contents of the message. A handler with an instance of this initiator already exists in the system, so if someone creates
another handler, it too will receive all of the messages that the original handler receives. Ignore these messages in any custom
handlers that use this initiator.
Response Correlation Id
This is an ID which identifies the message. You must copy this to the similarly-named input on the DirectorSendResponse tool.
Response Destination Id
This is an ID which identifies the source of the message. You must copy this to the similarly-named input on the
DirectorSendResponse tool.
Related Topics
157
Director Connection Restored initiator
This initiator is fired when the first (or only, if there is not more than one) Director server makes a connection to the CIC server.
IDirector Status
Object ID
{all} – this is the only choice. The values in the object id are not currently meaningful.
Notification Event
Director Connection Restored – you must choose this. It is the event that is fired by the Director software to indicate that a
connection has been established.
Outputs
Response Correlation Id
This is an ID which identifies the message. You must copy this to the similarly-named input on the DirectorMonitoredServerReady
tool.
Response Destination Id
This is an ID which identifies the source of the message. You must copy this to the similarly-named input on the
DirectorMonitoredServerReady tool.
This is a list of interaction IDs in string form, which represents the pending Director-handled interactions at the point of connection.
This is the list of names of workgroups that the recently-connected Director server is configured to monitor as candidate
destinations.
This is the list of names of workgroups whose queues are configured to process arriving interactions through Director.
Related Topics
158
Director Get Overflow Spec
This tool is for internal use only.
159
Director Route Email tool
This tool is for internal use only.
160
Director Send Message Tool
This Director tool sends a message to the Director server. The message may be destined for Director itself or for another
monitored CIC server. The Director server identifies where the message should go using the destination ID. If the destination is a
site id, Director will route it to the appropriate monitored CIC server, if connected.
Note : This is not a general purpose tool and can only be used under limited circumstances. This tool can appear on both an
Interaction Director server and a CIC monitored server.
Inputs
Message Handle
This is the handle of the UMF message that is to be sent. Presumably it has been populated with values of interest to the
application that will receive it. The content of the message is completely defined by the applications using it.
Destination
The only values that should be specified here are the site ID of a connected monitored server.
Timeout (ms)
If a response is not received within this amount of time, the Timeout exit path will be taken. To specify that no response is
expected, this value should be set to 0.
Outputs
This is the handle of the UMF message that was received in response if a response was expected. The content of the message is
completely defined by the applications using it. If no response was expected then this value is not value and should not be
accessed.
Exit Paths
Success
If a response was expected then this path means that one has been received and its handle is in the output. If no response was
expected, then this path means the message was successfully sent.
Failure
Timeout
All messages regardless of destination are routed through the Director server. If either the Director server or the destination server
does not send a response (if one is expected) then this path will be taken
Unknown Destination
If destined for another monitored CIC server and that server is not connected to Director, then this path will be taken.
Related Topics
Director Tools in Interaction Designer
161
Director Send Response Tool
This Director tool sends a response message to a previous message received from the Director server. The received message may
have come from Director itself or from another monitored CIC server. The Director server identifies where the response should go
and what message it is for using the destination ID and correlation ID values. These must be copied from the original message.
Note : This is not a general purpose tool and can only be used under limited circumstances. This tool can appear on both an
Interaction Director server and a CIC monitored server.
Inputs
Message Handle
This is a handle to a previously created UMF message that presumably has been populated with values expected in response to the
original message.
Response Correlation Id
This value identifies which message the response is for and should be copied from that original message
Response Destination Id
This value identifies the sender of the original message and should be copied from there.
Outputs
None.
Exit Paths
Success
Failure
Unknown Destination
This path is taken when the supplied destination ID is not known by the Director server
Related Topics
Director Tools in Interaction Designer
162
Note: The E-mail tools cannot access folders located on user’s local machines. In order for the Open Folder tool to work, the
folder being accessed must reside on the mail server. In other words, if you plan to allow users to access their voice mail
messages remotely (over the telephone), then users must have their email delivered to their mailbox on the Exchange or
Domino server.
Click on a tool below to learn more about that tool:
Change Message Status
Change Message Status By Cookie
Create Folder
Delete Folder
Delete Message
Delete Message By Cookie
Email Interaction Create
Email Interaction Disconnect
Email Interaction Get Message
Email Interaction Hold
Email Interaction Insert Attachment
Email Interaction Park
Email Interaction Send Message
Email Interaction Transfer
Email Interaction Update Message
File To Recording
Find Message
Find Messages
Forward Message
Get Contained Folder
Get Cookie From Message
Get Message Count
Get Message From Cookie
Get Out of Office Status
Get Quota
Get Quota Resources
Get Quota Roots
Get Recipient Info
Is Distribution List Member
Mail Exchanger DNS Lookup
Make Attached File
Make Cookie
Make Email Body
Move Message
Move Message Ex
Open Attached File
Open Attached Message
Open Message
163
Open Folder
Open Message
Open Message By Cookie
Parse Cookie
Parse Email Body
Query Mail System
Reply-to Message
Send Email
Send Fax
Send Message Light Notification
Send Voice Mail
Send VPIM Message
Set Out of Office Status
Update Folder
Related Topics
Email Tool Result Codes
164
Change Message Status
Use this Email tool to change the status of a message to either "read" or "unread."
Inputs
Folder ID
The unique identifier for the folder containing the message to be changed. This ID is retrieved with an Incoming Mail initiator, or the
Open Folder tool.
Index
The zero-based index of a message within the given folder. The index denotes the location of the message within the specified
folder. The value for this parameter is generated by the Incoming Mail initiator or the Find Message tool.
Status
The new status of the message. This parameter can have a value of either "read" or "unread."
Asynchronous
If set to True, the tool will exit and will not wait for the message status to change before exiting. Set this to False if you want the
tool to wait until the status has been changed before exiting.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Result
Exit Paths
Success
Failure
165
Change Message Status By Cookie
This Email tool changes the status of a message to either "read" or "unread" by means of a cookie.
Inputs
Cookie
Status
The new status of the message. This parameter can have a value of either "read" or "unread."
Asynchronous
If set to True, the tool will exit and will not wait for the message status to change before exiting. Set this to False if you want the
tool to wait until the status has been changed before exiting.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Result
Exit Paths
Success
Failure
166
Create Folder
This Email tool creates a folder on the email server.
Note: The Email tools cannot create folders located on user’s local machines. This tool creates a folder on the mail server.
Inputs
Folder ID
The unique identifier for the folder being created. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Folder Name
The string value that contains the name of the folder to be created.
Timeout
The number of seconds the tool will wait for a return value. This field accepts floating point numbers, so you can enter fractions of
a second for more granularity. For example, 4.5 seconds (equivalent to 4500 milliseconds).
Outputs
Result
Exit Paths
Success
If this step executes successfully, this step will take the Success exit path.
Failure
The folder could not be created. The most likely cause is the mailbox or folder name (or both) were invalid.
167
Delete Folder
This Email tool deletes a folder on the email server.
Note: The Email tools cannot delete folders located on user’s local machines. This tool deletes a folder on the mail server.
Inputs
Folder ID
The unique identifier for the folder being deleted. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Folder Name
The string value that contains the name of the folder to be deleted.
Delete Messages
A boolean value to signify deleting messages if contained with in the folder targeted for deletion.
Delete Subfolders
A boolean value to signify deleting subfolders if contained with in the folder targeted for deletion.
Timeout
The number of seconds the tool will wait for a return value. This field accepts floating point numbers, so you can enter fractions of
a second for more granularity. For example, 4.5 seconds (equivalent to 4500 milliseconds).
Outputs
Result
Exit Paths
Success
If this step executes successfully, this step will take the Success exit path.
Failure
The folder could not be deleted. The most likely cause is the mailbox or folder name (or both) were invalid.
168
Delete Message
This Email tool deletes the indexed message from the given folder. If the email platform supports the concept of a "trash" folder
and the tool has not been told to expunge the message, the message will be moved to the "trash" folder. If the email platform does
not support the concept of a "trash" folder or the tool has been told to expunge the message, then the message will be deleted.
Inputs
Folder ID
Index
The zero-based index of a message within the given folder. The index denotes the location of the message within the specified
folder. The value for this parameter is generated by the Incoming Mail initiator or the Find Message tool.
Expunge
Set this to True if you want this tool to permanently delete the message. If set to False, the tool simply moves the message from
the given folder to the current mailbox’s "Trash" folder.
Asynchronous
Whether or not the tool should wait until the status has been changed.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Result
Exit Paths
Success
This step takes the Success exit path if the message was deleted successfully.
Failure
This step takes the Failure exit path if the folder or index was invalid.
169
Delete Message By Cookie
This Email tool deletes a message by means of a cookie. If the email platform supports the concept of a "trash" folder and the tool
has not been told to expunge the message, the message will be moved to the "trash" folder. If the email platform does not support
the concept of a "trash" folder or the tool has been told to expunge the message, then the message will be deleted.
Inputs
Cookie
Expunge
Set this to True if you want this tool to permanently delete the message. If set to False, the tool simply moves the message from
the given folder to the current mailbox’s "Trash" folder.
Asynchronous
If set to True, the tool will exit will not wait for the message to be deleted before exiting. Set this to False if you want the tool to
wait until the message has been deleted before exiting.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Result
Exit Paths
Success
This step takes the Success exit path if the message was deleted successfully.
Failure
This step takes the Failure exit path if the operation fails.
Inputs
Queue
The user or workgroup queue for which the email is being created.
170
Direction
Type
Parent
Remote Name
The value entered here is used to populate the Name field on the email interaction.
Remote Address
The value entered here is used to populate the email address for the interaction.
Local Name
Local Address
Attribute Names
A list of string value containing the attribute names to add with the interaction.
Attribute Values
A list of string value (parallel to the Attribute Names list) that contains values corresponding to the attribute names.
Outputs
Interaction Id
Result
Exit Paths
Success
171
Failure
Inputs
Interaction Id
User
The CIC user ID of the person on whose behalf the email is being disconnected.
Attribute Names
A list of string value containing the attribute names that are associated with the interaction to disconnect.
Attribute Values
A list of string value (parallel to the Attribute Names list) that contains values corresponding to the attribute names.
Outputs
Result
Exit Paths
Success
Failure
172
Email Interaction Get Message
This Email tool returns the email cookie representing the email message that is associated with the email interaction. Refer to the
CIC ACD Processing Technical Reference for more information about how to configure email for a custom workgroup.
Inputs
Interaction Id
The identifier for the email interaction for which you want to get the message.
Outputs
Cookie
The value used with the Open Message by Cookie tool to get the message content.
Result
Exit Paths
Success
Failure
173
Email Interaction Hold
This Email tool lets you set or toggle the held state of the interaction.
Inputs
Interaction Id
The identifier for the email interaction for which you want to set the held state.
User
The CIC user ID of the person on whose behalf the email interaction held state is being set.
Hold State
Attribute Names
A list of string value containing the attribute names that are associated with the interaction.
Attribute Values
A list of string value (parallel to the Attribute Names list) that contains values corresponding to the attribute names.
Outputs
Result
Exit Paths
Success
Failure
174
Email Interaction Insert Attachment
This Email tool can be used to insert a file into an email interaction.
Inputs
Interaction Id
The identifier for the email interaction to which the file should be attached.
Attached File
Data type output from another email tool, such as Open Message, Open Message by Cookie, or Make Attached File.
Outputs
Attached File
Result
Exit Paths
Success
Failure
175
Email Interaction Park
This Email tool lets you park an email interaction on another user's queue.
Inputs
Interaction Id
Queue
User
The CIC user ID of the person on whose behalf the email interaction is being parked.
Attribute Names
A list of string value containing the attribute names that are associated with the interaction to park.
Attribute Values
A list of string value (parallel to the Attribute Names list) that contains values corresponding to the attribute names.
Outputs
Result
Exit Paths
Success
Failure
176
Email Interaction Record
This Email tool enables or disables email recording for an interaction. The Record State input changes the recording status, while
the other inputs assign attributes to the interaction.
Inputs
Interaction Id
User
Record State
Supervisor
Attribute Names
Attribute Values
Values for the custom attributes specified in the Attribute Names input.
Outputs
Result
Exit Paths
Success
Failure
177
Email Interaction Send Message
This Email tool sends the message associated with an email interaction.
Inputs
Interaction Id
Outputs
Result
Exit Paths
Success
Failure
178
Email Interaction Transfer
This Email tool lets you transfer an interaction to a specified user or workgroup queue. This tool generates an
EmailInteractionTransferred event. This event starts a handler with the Email Interaction transferred initiator, such as the
System_QueueEmailOfferingNonSystemQueue handler. Refer to the CIC ACD Processing Technical Reference for more information
about how to configure email for a custom workgroup.
Inputs
Interaction Id
Queue
User
The CIC user ID of the person for whom the interaction is being transferred.
Attribute Names
A list of string value containing the attribute names that are associated with the interaction to transfer.
Attribute Values
A list of string value (parallel to the Attribute Names list) that contains values corresponding to the attribute names.
Outputs
Result
Exit Paths
Success
Failure
Inputs
Interaction Id
179
The unique identifier of the email interaction to update.
Sender
Optionally specifies a local email address from which this message should be sent. This input can accept a string of the email
address or a string of the display name with the email address.
Examples:
[email protected]
Boris Johnson|[email protected]
The email system will generate the updated message in the outbox folder of the mailbox associated with this address, so that it will
appear to the recipients as if the message originated from the owner of that mailbox. The transmission of the updated message will
fail if the mailbox associated with this address is not accessible by the email system. If no From address is specified, the message
will originate in the outbox folder of the mailbox belonging to the account under which the CIC email system is running. Separate
multiple email addresses with a semicolon.
Subject
Specifies the text to appear on the subject line of the email message. You may enter a literal value like "Caller disconnected without
leaving a voice mail message" or build a complex expression using the Expression Editor Assistant.
Importance
Sensitivity
This parameter is a string that can have the value of None, Personal, Private, or Confidential. The default is None and this will also
be used in the event that something other than one of the other three valid values is entered.
To Recipients
Specifies the recipient of the message. Separate multiple email addresses with a semicolon. Separate multiple email addresses
with a semicolon. This input can accept a string of the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
If you leave the To and CC parameters empty, the message is sent to the address specified in the Unaddressed Mail Recipient
server parameter.
CC Recipients
Specifies who should receive a copy of this email. Separate multiple email addresses with a semicolon. Separate multiple email
addresses with a semicolon. This input can accept a string of the email address or a string of the display name with the email
address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
BCC Recipients
180
Optionally specifies recipients who should receive a blind carbon copy of the updated message. Separate multiple email addresses
with a semicolon. Separate multiple email addresses with a semicolon. This input can accept a string of the email address or a
string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Reply To
Optionally specifies one or more email addresses to which the recipients of the message should direct their own replies. Separate
multiple email addresses with a semicolon. Separate multiple email addresses with a semicolon. This input can accept a string of
the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Body
A List of Email Body type. Specifies the text to appear in the body of the email message. You can enter a literal value or build a
complex expression using the Expression Editor Assistant.
Delivery Receipt
Set to True to prompt the recipient for a delivery receipt upon receiving the email. If the underlying mail system does not support
this feature, this value will be ignored.
Read Receipt
Set to True to prompt the recipient for a read receipt upon opening the email message. If the underlying mail system does not
support this feature, this value will be ignored.
Message Class
The class of the message (text, voice, fax, or ndr). The tool will only search messages of the specified class.
Outputs
Result
Exit Paths
Success
Failure
181
This path is taken if the operation fails.
File To Recording
This Email tool converts a file into a recording. The recording ID of the object is passed to various tool steps for processing.
Inputs
Filename
The full path and file name of the file to be converted into a recording ID.
Delete File
Set to True if you want the file to be deleted after this tool exits.
Outputs
Recording
Result
Exit Paths
Success
Failure
Find Message
This Email tool searches the specified folder for the first message matching the given criteria. Any empty parameters will not be
included in the search.
Inputs
Folder ID
The unique identifier for the folder that will be searched. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Index
The index of the various messages in each folder indicates the order in which they will be searched (i.e., first, second, third, etc.)
This parameter is the number of messages that is skipped before the search begins. When searching forward, zero is the index used
to find the first message (i.e., zero messages are skipped). After the first search, the index of the previous matching message plus
one will be used.
182
E xample : The first matching message in the folder is third in the index. When first searching this folder, the Index parameter is
zero, and so no messages are skipped. After finding the first match (at index three), this tool is called again, this time with an Index
parameter of 4.
Search Backwards
Select this option to search messages in the folder in reverse, beginning with the last message. The search starts with the specified
index and can be used to find the most recent message first.
Status
Messages can have a status of "read", indicating that the message has already been read, or "unread", indicating that the message
has not been read. Only messages of the selected status will be searched.
Importance
The Importance of a message is "low", "high", or "normal". This tool will only search messages with the specified Importance.
Sensitivity
The Sensitivity of a message can be "personal", "private", "confidential", or "none". This tool will only search messages with the
specified Sensitivity.
Message Class
The Message Class of a message can be "text", "voice", "fax", or "ndr". This tool will only search messages with the specified
Message Class.
Subject
Sender
Use regular expressions to search on the friendly name or email address of a particular sender.
Start Date/Time
Only message received after this date and time will be searched.
End Date/Time
Only messages received before this date and time will be searched.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Index
The number indicating the position of the first matching message in the folder.
Result
183
The results of the operation.
See Email Tool Result Codes for more information.
Exit Paths
Found
The Found exit path is taken if a message matching the search criteria was found.
Not Found
Failure
Find Messages
This Email tool is identical to the Find Message tool except that it will return all matching messages instead of just the first match.
Inputs
Folder ID
The unique identifier for the folder containing the message to be changed. This ID is retrieved with an Incoming Mail initiator, or the
Open Folder tool.
Status
Only messages with this status will be searched, can be "read" or "unread".
Importance
Only messages with this importance will be searched, can be "low", "high", or "normal".
Sensitivity
Only messages with this sensitivity will be searched, can be "personal", "private", "confidential", or "none".
Message Class
Only messages with this class will be searched, can be "text", "voice", "fax", or "ndr".
Subject
Only messages with this subject will be searched. Uses a regular expression.
Sender
Only messages from this sender will be searched (friendly name or email address). Uses a regular expression.
Start Date/Time
184
Only message received after this date and time will be searched.
End Date/Time
Only messages received before this date and time will be searched.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Indices
Result
Exit Paths
Found
The Found exit path is taken if at least one message matching the search criteria was found.
Not Found
The Not Found path is taken if no matching message was found (so none of the output values are valid).
Failure
Forward Message
This Email tool forwards an e-mail (or voice or fax mail) to another email user. If a recording is provided, the resulting message will
be a voicemail unless another message class is given. This tool (unlike the Send Email, Send Fax Mail, and Send Voice Mail tools)
performs some synchronous interaction with the mail server before queuing messages for alter sending.
Inputs
Folder ID
The folder that contains the email to be forwarded. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Index
The zero-based index of the message within the given folder. The value for this parameter is generated by the Incoming Mail
initiator or the Find Message tool.
To Recipients
185
Specifies the recipient of the message. Separate multiple email addresses with a semicolon. If you leave the To and CC parameters
empty, the message is sent to the address specified in the Unaddressed Mail Recipient server parameter.
CC Recipients
Specifies who should receive a copy of this email. Separate multiple email addresses with a semicolon.
BCC Recipients
Optionally specifies recipients who should receive a "Blind Carbon Copy" of the reply message. Separate multiple email addresses
with a semicolon.
Reply To
Optionally specifies one or more email addresses to which the recipients of the reply message should direct their own replies.
Separate multiple email addresses with a semicolon.
Sender
Optionally specifies a local email address from which this reply message should be sent. The email system will generate the reply
message in the outbox folder of the mailbox associated with this address, so that it will appear to the recipients as if the message
originated from the owner of that mailbox. The transmission of the reply message will fail if the mailbox associated with this
address is not accessible by the email system. If no From address is specified, the message will originate in the outbox folder of
the mailbox belonging to the account under which the CIC email system is running. Separate multiple email addresses with a
semicolon.
Subject
Specifies the text on the subject line of the email message. This value is taken from the message that is forwarded.
Importance
Sensitivity
This parameter is a string that can have the value of "None", "Personal", "Private", or "Confidential". The default is "None", and this
will also be used in the event that something other than one of the other three valid values is entered.
Body
A List of Email Body type. Specifies the text to appear in the body of the email message. You may enter a literal value or build a
complex expression using the Expression Editor Assistant.
Message Attachments
Attached Files
A list of strings containing zero or more complete file system paths to files that will be copied into the reply message. As with the
Send Email tool, this parameter is a list of strings, not a single string, so you cannot just type the file path in this parameter. Instead
you must assign the attachment file paths to the elements in variable of type list of string.
Note: OLE attachments (for example, bitmaps rendered inline) are not visible, as attachments or otherwise, to handlers. As far as
the handler tools are concerned, an email message consists of a text body and zero or more *file* attachments. Other sorts of
attachments, such as embedded OLE objects and "nested" messages, are not accessible through the handler tools, since they are
not supported or easily simulated on messaging systems other than Exchange (i.e. IBM Notes or IMAP).
186
Delete Attachments
When checked, all files in the Attachments List are deleted after they have been attached (copied) to the email message and
successfully sent. Sometimes, especially when replying to or forwarding a message, you should create a temporary file and attach
it to the message being sent. After the message is sent the temporary file needs to be deleted, but since outgoing mail is handled
asynchronously in IP, the handler can't delete the file immediately after the tool returns, because the message most likely hasn't yet
been processed. This checkbox simply passes the responsibility for deleting the file(s) on to the asynchronous service thread that
actually sends the message since that thread is the only one that actually knows when it's safe to delete it (or them).
Recording ID
Audio Format
The format to use for audio recording. See Compress Audio File tool for possible values.
Normalize
Set this Boolean to True to normalize the audio recording. When a recording is normalized, it is analyzed to determine what the
maximum volume level of the audio file is. A value 5% below the maximum value is then used to set the gain value that will bring the
maximum volume level up or down to a standard level. This ensures that at a given station, all recordings will play back at the same
relative volume. Using a value 5% below the maximum volume to calculate the gain prevents a short burst of static or similar
anomalous noise from throwing off this volume adjustment.
Delivery Receipt
Set to True to prompt the recipient for a delivery receipt upon receiving this email. If the underlying mail system does not support
this feature, it will be ignored.
Read Receipt
Set to True to prompt the recipient for a read receipt upon opening this email. If the underlying mail system does not support this
feature, it will be ignored.
Saved Copies
String designating the mailbox cookie in which copies of the email are saved.
Message Class
Timeout
The number of seconds that the tool will wait for a return value.
Scheduled
Attachment Files
A list of attached file objects output from another tool, such as Make Attached File.
Outputs
187
Result
Exit Paths
Success
This tool (unlike the Send Email, Send Fax Mail, and Send Voice Mail tools) performs some synchronous interaction with the mail
server before queuing messages for later sending. It will take the Success exit path if the message was queued for sending, but this
does not guarantee that the message was sent or that the recipient's email address is valid.
Failure
This step takes the Failure exit path if the connection to mail server is dropped, but this is rare because such a failure would cause
one of the previously called email tools to fail.
188
Get Contained Folders
This Email tool queries a folder for a list of the names of all of the sub-folders contained within it.
Inputs
Folder ID
The unique identifier for the folder that will be queried for sub-folders. This ID is retrieved with an Incoming Mail initiator, or the
Open Folder tool.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Folder Names
A list of strings naming the sub-folders contained within the given folder.
Result
Exit Paths
Success
This step takes the Success exit path if the folder was successfully queried. When the given folder has no sub-folders, the Names
list is empty and the Success path is still taken.
Failure
This step takes the Failure exit path if the email server is not accessible for any reason.
189
Get Cookie From Message
This Email tool creates a string (i.e. cookie) from a Folder ID and an Index. This cookie can be used later by other handlers to
retrieve the message.
The cookie is only valid as long as the message remains in the same folder it was in when the cookie was created.
Inputs
Folder ID
The unique identifier for the folder containing the message. This ID is retrieved with an Incoming Mail initiator, or the Open Folder
tool.
Index
The zero-based index of the message within the given folder. The value for this parameter is generated by the Incoming Mail
initiator or the Find Message tool.
Timeout
The number of seconds the tool will wait for a return value.
Outputs
Cookie
Result
Exit Paths
Success
Failure
Inputs
Folder ID
The unique identifier for the folder being queried. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Status
190
The status the message should be changed to. This parameter can have a value of either "read" or "unread."
Importance
Sensitivity
This parameter is a string that can have the value of "None", "Personal", "Private", or "Confidential". The default is "None", and this
will also be used in the event that something other than one of the other three valid values is entered.
Message Class
Only messages with this class will be searched, can be "text," "voice," "fax," or "ndr."
Subject
Only messages with this subject will be searched. Uses a regular expression.
Sender
Only messages from this sender will be searched (friendly name or email address). Uses a regular expression.
Start Date/Time
Only message received after this date and time will be searched.
End Date/Time
Only messages received before this date and time will be searched.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Unread Count
Read Count
Result
Exit Paths
Success
191
This path is taken if the message count is successfully retrieved.
Failure
Inputs
Cookie
Timeout
The number of seconds the tool will wait for a return value.
Outputs
Folder ID
Index
The zero-based index of the message within the given folder. The value for this parameter is generated by the Incoming Mail
initiator or the Find Message tool.
Result
Exit Paths
Success
Failure
192
Get Out of Office Status
This Email tool returns the Out Of Office (OOO) status for the given Exchange mailbox. This feature is can only be used with CIC
systems that are connected to an Exchange mail server.
On Notes or Groupwise, this tool will fail and will create an appropriate entry in the Application Event Log.
Note: The handler author must have intimate knowledge of the mail system in use in order to effectively use this tool, as all
parameters can change from one application to the next.
Inputs
Mailbox
Outputs
Out Of Office
Result
This integer is for advanced diagnostic purposes and is for use by PureConnect Customer Care.
See Email Tool Result Codes for more information.
Exit Paths
Success
Failure
This path is taken if the operation fails. The most common reason for failure is a lack of OOO support by the mail system.
193
Get Quota
This Email tool returns the implementation specific quota for the given folder, root and resource.
This tool is currently only supported by IMAP. On Notes or Exchange, this tool will fail and will create an appropriate entry in the
Application Event Log.
Note: The handler author must have intimate knowledge of the mail system in use in order to effectively use this tool, as all
parameters can change from one application to the next. Usage and limit, as well as the number of roots and/or resources per
root can also vary from one mail system to another.
Inputs
Folder ID
The unique identifier for the folder being queried. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Root Name
Resource Name
Timeout
The number of seconds the tool will wait for a return value.
Outputs
Limit
Integer representing the limit. This number could represent a number of messages or kilobytes, or whatever else the system uses to
determine its limits.
Usage
Integer representing the current usage. This number could represent a number of messages or kilobytes, or whatever else the
system uses to determine usage parameters.
Result
Exit Paths
Success
Failure
This path is taken if the operation fails. The most common reason for failure is a lack of quota support by the mail system.
194
Get Quota Resources
This Email tool returns the resources associated with the given folder and root.
This tool is currently only supported by IMAP. On Notes or Exchange, this tool will fail and will create an appropriate entry in the
Application Event Log.
Note: The handler author must have intimate knowledge of the mail system in use in order to effectively use this tool, as all
parameters can change from one application to the next.
Inputs
Folder ID
The unique identifier for the folder being queried. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Root Name
Timeout
The number of seconds the tool will wait for a return value.
Output
Quota Resources
List of strings representing all of the resources for the given root.
Result
Exit Paths
Success
Failure
This path is taken if the operation fails. The most common reason for failure is a lack of quota support by the mail system.
195
Get Quota Roots
This Email tool returns the roots associated with the given folder.
This tool is currently only supported by IMAP. On Notes or Exchange, this tool will fail and will create an appropriate entry in the
Application Event Log.
Note: The handler author must have intimate knowledge of the mail system in use in order to effectively use this tool, as all
parameters can change from one application to the next.
Input
Folder ID
The unique identifier for the folder being queried. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Timeout
The number of seconds the tool will wait for a return value.
Output
Quota Roots
Result
Exit Paths
Success
Failure
This path is taken if the operation fails. The most common reason for failure is a lack of quota support by the mail system.
196
Get Recipient Info
This Email tool provides the friendly name and email address of a recipient.
Inputs
Recipient
Outputs
Friendly Name
Email Address
Exit Paths
Success
Failure
197
Is Distribution List Member
This Email tool returns an indicator as to whether or not an e-mail address or moniker is part of an existing distribution list.
Inputs
One of the following:
Email Address
The e-mail address used to determine whether or not the address is a member of a distribution list.
Moniker
Outputs
Result
This integer is for diagnostic purposes and is for use by PureConnect Customer Care.
See Email Tool Result Codes for more information.
Exit Paths
True
False
Failure
198
Mail Exchanger DNS Lookup
Mail Exchangers (or MX records) are part of the DNS information for a domain. The MX record is an ordered list of destinations that
tells mailers where to send messages if they want to a given domain. This Email tool looks up the Mx record of an email address.
Inputs
Mailbox
Outputs
Mail Exchanger
Exit Paths
Success
Failure
199
Make Attached File
This Email tool is used to create an Attached File object that can be passed as an input to another tool, such as Send E-mail. By
passing an Attached File object, rather than a file path, the object can capture additional information such as a display name for the
attached file, and a content identifier. This information can be used to display inline attachments in HTML message bodies.
Inputs
File
Name
The display name.
Content ID
Outputs
Attached File
Exit Paths
Success
Failure
This path is taken if the file path is not valid or the attached file cannot be created for another reason.
200
Make Cookie
This Email tool converts a string that is a moniker for a message into an email cookie. The moniker is a known format, however
this format will vary from platform to platform. This tool performs the reverse function of the Parse Cookie tool.
Inputs
Moniker
Outputs
Cookie
Exit Paths
Success
Failure
201
Make Email Body
This Email tool takes a content type and data and returns an Email Body type that can be passed to the message delivery tools.
Inputs
Content-type
Text/plain or text/html.
Data
Outputs
Email Body
An Email Body type representing the data in the format indicated by the Content Type.
Exit Paths
Success
Failure
202
Move Message
This Email tool moves (or copies) an indexed message from the source folder and places it in the destination folder.
Inputs
Source folder
The unique identifier for the folder currently containing the message. This ID is retrieved with an Incoming Mail initiator, or the Open
Folder tool.
Index
The zero-based index of a message within the given folder. The index denotes the location of the message within the specified
folder. The value for this parameter is generated by the Incoming Mail initiator or the Find Message tool.
Destination Folder
The unique identifier for the folder that will receive the message. This ID is retrieved with an Incoming Mail initiator, or the Open
Folder tool.
Copy
Set to True if you want to copy the message to the destination folder instead of moving.
Asynchronous
Set to True if you want the message to be moved asynchronously. This will allow the tool to exit without waiting for the message to
be moved or copied. Set to False if you want the tool to wait until the move or copy is complete before exiting.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Result
Exit Paths
Success
This step takes the Success exit path if the message was deleted moved or copied
Failure
This step takes the Failure exit path if the server lacks sufficient rights to write into the destination folder.
203
Move Message Ex
This Email tool moves (or copies) an indexed message from the source folder and places it in the destination folder and provides a
cookie for the new message.
Inputs
Source folder
The unique identifier for the folder currently containing the message. This ID is retrieved with an Incoming Mail initiator, or the Open
Folder tool.
Index
The zero-based index of a message within the given folder. The index denotes the location of the message within the specified
folder. The value for this parameter is generated by the Incoming Mail initiator or the Find Message tool.
Destination Folder
The unique identifier for the folder that will receive the message. This ID is retrieved with an Incoming Mail initiator, or the Open
Folder tool.
Copy
Set to True if you want to copy the message to the destination folder instead of moving.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Cookie
The new cookie for the message that has been moved.
Result
Exit Paths
Success
This step takes the Success exit path if the message was deleted moved or copied
Failure
This step takes the Failure exit path if the server lacks sufficient rights to write into the destination folder.
204
Open Attached File
This Email tool extracts a file attached to a message that has been opened with an Open Message or Open Message By Cookie tool
into a specified location.
Inputs
Attached File
The Attached File to open. This comes from the Attached Files output of the Open Message or Open Message By Cookie tool.
Attachment Directory
The directory into which the file will be saved. "TEMP" will be interpreted to mean the system-defined temporary directory.
Timeout
The number of seconds the tool will wait to extract the file. If the tools times out before the file is extracted, the tool will exit via
the Failure exit path with a return value indicating a timeout occurred.
Outputs
Attachment Name
Attachment File
Result
Content ID
The value representing the content identifier, which is traditionally associated with an inline attachment.
Exit Paths
Success
Failure
205
Open Attached Message
This email tool opens a message attached to a message that has been opened with an Open Message or Open Message By Cookie
tool. The message is saved as a cookie that can then be accessed with the Open Message By Cookie tool.
Inputs
Attached Message
The Attached Message to open. This comes from the Attached Messages output of the Open Message or Open Message By Cookie
tool.
Outputs
Subject
Cookie
A cookie which can be used to access the entire message using the Open Message By Cookie tool.
Result
Exit Paths
Success
Failure
Open Folder
This Email tool opens a folder and loads it with messages that match the given criteria. If the folder is opened asynchronously, then
no message count will be available.
Note: The Email tools cannot access folders located on user’s local machines. In order for the Open Folder tool to work, the
folder being accessed must reside on the mail server.
Inputs
Mailbox
A mailbox identification string based on the Interaction Message Store moniker for the mailbox. The following example uses
Exchange Web Services (EWS):
ININ.Mail.ObjectMoniker:<x-inin-mail.ex.ews.store:/[email protected]>
In this example, replace [email protected] with the actual SMTP address of the mailbox.
206
Folder Name
The string value that contains the name of the folder to be opened. Subfolders are specified by using a semicolon separator. For
example, a subfolder of Inbox named "Personal" would be passed in as "Inbox;Personal." If the empty string is specified, the "Root"
special folder is opened.
There are certain "special folders" that represent well-known mail folders whose names and presence are user or platform
dependent.
For example:
On an Exchange server, the special folder "Inbox" will be named "Inbox" for an English user, but not for other languages.
The special folder "Deleted Items" might be called "Deleted Items" on an Exchange server, but "Trash" on an IMAP server.
The special folder "Outbox" will exist on an Exchange server, but typically will not exist on an IMAP server (since IMAP is not a
protocol for delivering messages).
This tool interprets these "special folders" as reserved names representing the well-known folders. This is useful, for example, if
some users are on Exchange and some are on IMAP, and you want to target the correct folder for both without having to worry
about whether to pass in "Deleted Items" or "Trash" for a certain user.
The special folders supported by the tool are:
Root
Inbox
Outbox
Sent Items
Deleted Items
Scratch - (the "Drafts" folder on Exchange)
You can use the Query Mail System tool to determine support for special folders for a particular platform.
Max Count
The maximum number of messages to open. No value or a value of 0 will retrieve all messages.
If this parameter is defined, it will be applied before any of the other filters, except when the "Message Class" parameter is used
with an Exchange mailbox. In this case those two filters will be applied concurrently.
Reverse Order
Set to True to reverse the default order in which the messages are opened by the mail server. The default order is dependent on the
underlying mail system.
Reverse Index
Status
Importance
Only messages with this importance (low, high, or normal) will be searched.
Sensitivity
Only messages with this sensitivity (personal, private, confidential, or none) will be searched.
Message Class
Only messages with this class (text, voice, fax, or ndr) will be searched.
207
Subject
Only messages with this subject will be searched. Uses a regular expression.
Sender
Only messages from this sender will be searched (friendly name or email address). Uses a regular expression.
Start Date/Time
Only message received after this date and time will be searched.
End Date/Time
Only messages received before this date and time will be searched.
Asynchronous
Set this to true if you want the tool should to until the messages have been loaded before exiting.
Timeout
The number of seconds the tool will wait for a return value. This field accepts floating point numbers, so you can enter fractions of
a second for more granularity. For example, 4.5 seconds (equivalent to 4500 milliseconds).
Outputs
Folder ID
Unread Count
Read Count
Unread Voice
Read Voice
Unread Fax
Read Fax
208
Result
Exit Paths
Success
If this step executes successfully, this step will take the Success exit path.
Failure
The step takes the Failure exit path if the folder could not be opened, probably because either the mailbox or folder name (or both)
was invalid.
Open Message
This Email tool extracts all of the data from an indexed message.
Inputs
Folder ID
The unique identifier for the folder containing the message. This ID is retrieved with an Incoming Mail initiator, or the Open Folder
tool.
Index
The zero-based index of a message within the given folder. The index denotes the location of the message within the specified
folder. The value for this parameter is generated by the Incoming Mail initiator or the Find Message tool.
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Status
Sender
Subject
Importance
209
Sensitivity
Date/Time Received
The date and time (in UTC) the message was received.
To Recipients
CC Recipients
Reply To
Body
A List of Email Body type. The body text of the message. This contains the entire body, not just the body of the last reply.
Attachment Files
The full path names of the extracted attachment files. Attachments that are not files (i.e., Links or OLE objects) are represented by
empty strings in this list.
Notes : Once an attachment has been copied into a file, the file is owned by the handler. The Open Message tool will not
delete the file or clean it up in any way.
Note: OLE attachments (e.g. bitmaps rendered inline) are not visible, as attachments or otherwise, to handlers. As far as the
handler tools are concerned, and email message consists of a text body and zero or more *file* attachments. Other sorts of
attachments, such as embedded OLE objects and "nested" messages, are not accessible through the handler tools, since they
are not supported or easily simulated on messaging systems other than Exchange (i.e. IBM Notes or IMAP).
Attached Messages
Message Class
Cookie
Result
Exit Paths
210
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path.
Inputs
Cookie
Timeout
The number of seconds the tool should wait for a return value. If no value is returned in the specified time, this tool will take the
Failure exit path.
Outputs
Status
Sender
Subject
Importance
Sensitivity
Date/Time Received
To Recipients
CC Recipients
211
The display addresses of the message's secondary recipients.
Reply To
Body
A List of Email body type. The body text of the message. This contains the entire body, not just the body of the last reply.
Attachment Files
The full path names of the extracted attachment files. Attachments that are not files (i.e., Links or OLE objects) are represented by
empty strings in this list.
Attached Messages
Message Class
Result
BCC Recipients
Optionally specifies recipients who should receive a "Blind Carbon Copy" of the reply message. This tool accepts a string for single
recipients and a list of strings for multiple recipients.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
212
Parse Cookie
This Email tool converts an email cookie into a string that is a moniker for the message. The moniker is a known format, however
this format will vary from platform to platform. This tool performs the reverse function of the Make Cookie tool.
Inputs
Cookie
Outputs
Moniker
Exit Paths
Success
Failure
213
Parse Email Body
This Email tool takes an Email Body type and returns the content type and data it represents.
Inputs
Email Body
An Email Body type representing the data in the format indicated by the Content Type.
Outputs
Content-type
Data
Exit Paths
Success
Failure
214
Query Mail System
This Email tool queries the given mail system to check for support for the given "special" folders.
Input
Mailbox
Timeout
The number of seconds the tool will wait for a return value.
Outputs
Supports Inbox
A Boolean variable indicating whether or not the mail system supports an Inbox folder.
Supports Outbox
A Boolean variable indicating whether or not the mail system supports an Outbox folder.
A Boolean variable indicating whether or not the mail system supports a Sent Items folder.
A Boolean variable indicating whether or not the mail system supports a Deleted Items folder.
A boolean variable indicating whether or not the mail system supports Out Of Office messages.
Result
Exit Paths
Success
Failure
Reply To Message
This Email tool sends a reply message to an email (or voice or fax mail). The address of the primary recipient is taken directly from
215
the specified message, since the From output of the Open Message tool is a display name rather than an address and therefore may
not be unique within the email system. This tool (unlike the Send Email, Send Fax Mail, and Send Voice Mail tools) performs some
synchronous interaction with the mail server before queuing messages for later sending.
Inputs
Folder ID
The folder that contains the original message. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Index
The zero-based index of a message within the given folder. The index denotes the location of the message within the specified
folder. The value for this parameter is generated by the Incoming Mail initiator or the Find Message tool.
Reply to All
When set to True, the reply message is addressed to all recipients of the original message. Otherwise the reply is addressed only to
the sender of the original message.
To Recipients
Specifies the recipient of the message. Separate multiple email addresses with a semicolon. If you leave the To and CC parameters
empty, the message is sent to the address specified in the Unaddressed Mail Recipient server parameter.
CC Recipients
Optionally specifies additional recipients who should receive a copy of the reply message. Separate multiple email addresses with a
semicolon.
BCC Recipients
Optionally specifies recipients who should receive a "Blind Carbon Copy" of the reply message. Separate multiple email addresses
with a semicolon.
Reply To
Optionally specifies one or more email addresses to which the recipients of the reply message should direct their own replies.
Separate multiple email addresses with a semicolon.
Sender
Optionally specifies a local email address from which this reply message should be sent. The email system will generate the reply
message in the outbox folder of the mailbox associated with this address, so that it will appear to the recipients as if the message
originated from the owner of that mailbox. The transmission of the reply message will fail if the mailbox associated with this
address is not accessible by the email system. If no From address is specified, the message will originate in the outbox folder of
the mailbox belonging to the account under which the CIC email system is running. Separate multiple email addresses with a
semicolon.
Subject
Specifies the text on the subject line of the email message. This value is taken from the message that is being replied to.
Importance
216
Sensitivity
This parameter is a string that can have the value of "Normal", "Personal", "Private", or "Confidential". The default is "Normal", and
this will also be used in the event that something other than one of the other three valid values is entered.
Include Original
Set this parameter to True to include the text of the original message in the body of the reply message. The original message will
be marked as a quotation in the manner appropriate for the underlying email system.
Body
A List of Body type. Specifies the text to appear in the body of the email message. You may enter a literal value or build a complex
expression using the Expression Editor Assistant.
Message Attachments
Attachment Files
A list of strings containing zero or more complete file system paths to files that will be copied into the reply message. As with the
Send Email tool, this parameter is a list of strings, not a single string, so you cannot just type the file path in this parameter. Instead
you must assign the attachment file paths to the elements in a variable of type "list of string."
Delete Attachments
Set this parameter to True if you want all files in the Attachments List to be deleted after they have been attached (copied) to the
email message and successfully sent. It is sometimes the case, especially when replying to or forwarding a message, that you need
to create a temporary file and attach it to the message being sent. After the message has been sent the temporary file needs to be
deleted, but since outgoing mail is handled asynchronously in IP, the handler can't delete the file immediately after the tool returns,
because the message most likely hasn't yet been processed.
Recording ID
The complete path and file name of an audio recording to be attached to the email.
Audio Format
The format to use for the audio recording. See the Compress Audio File tool for possible values.
Normalize
Set this Boolean to True to normalize the audio recording. When a recording is normalized, it is analyzed to determine what the
maximum volume level of the audio file is. A value 5% below the maximum value is then used to set the gain value that will bring the
maximum volume level up or down to a standard level. This ensures that at a given station, all recordings will play back at the same
relative volume. Using a value 5% below the maximum volume to calculate the gain prevents a short burst of static or similar
anomalous noise from throwing off this volume adjustment.
Delivery Receipt
Checking this box will prompt the recipient for a delivery receipt upon receiving this email. The underlying mail system must support
this feature, otherwise it will be ignored.
Read Receipt
Checking this box will prompt the recipient for a read receipt upon opening this email. The underlying mail system must support this
feature, otherwise it will be ignored.
217
Saved Copy
String designating the mailbox cookie in which copies of the email are saved.
Message Class
The MAPI message class for the message. The message class may be one of "Text", "Voice" or "Fax".
Timeout
The number of seconds the tool will wait for a return value.
Scheduled
Attachment Files
Outputs
Result
Exit Paths
Success
This tool (unlike the Send Email, Send Fax Mail, and Send Voice Mail tools) performs some synchronous interaction with the email
system before queuing messages for later transmission. It will take the Success exit path if the message was queued for sending,
but this does not guarantee that the message was sent or that the recipient's email address is valid.
Failure
This tool takes the Failure exit path if the connection to the email server is interrupted, but this is a rare occurrence since such an
interruption would typically cause one of the other email tools to fail, such as the Open Folder or Find Message tools from which
the Folder ID and Index parameters most likely originated.
Send E-Mail
This Email tool asynchronously sends an email to one or more recipients. Because this tool sends a message asynchronously, it
only queues a message for sending and does not wait to verify that the message was actually sent or if the recipient's address is
correct. As a result, this tool takes the Success exit path, even if the message is not sent.
Inputs
To Recipients
Specifies the recipient of the email. Separate multiple email addresses with a semicolon. This input can accept a string of the email
address or a string of the display name with the email address.
Examples:
218
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
If you leave the To and CC parameters empty, the message is sent to the address specified in the Unaddressed Mail Recipient
server parameter.
Note: In Directory Services, each user's email address is stored in that user's User key in the mailbox attribute.
CC Recipients
Specifies who should receive a copy of this email. This tool accepts a string for single recipients and a list of strings for multiple
recipients. Separate multiple email addresses with a semicolon. This input can accept a string of the email address or a string of
the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
BCC Recipients
Optionally specifies recipients who should receive a "Blind Carbon Copy" of the reply message. This tool accepts a string for single
recipients and a list of strings for multiple recipients. Separate multiple email addresses with a semicolon. This input can accept a
string of the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Reply To
Optionally specifies one or more email addresses to which the recipients of the reply message should direct their own replies. This
tool accepts a string for single recipients and a list of strings for multiple recipients. Separate multiple email addresses with a
semicolon. This input can accept a string of the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Sender
Optionallly specifies a local email address from which this reply message should be sent. This input can accept a string of the
email address or a string of the display name with the email address.
Examples:
[email protected]
Boris Johnson|[email protected]
The email system will generate the reply message in the outbox folder of the mailbox associated with this address, so that it will
appear to the recipients as if the message originated from the owner of that mailbox. The transmission of the reply message will
219
fail if the mailbox associated with this address is not accessible by the email system. If no From address is specified, the message
will originate in the outbox folder of the mailbox belonging to the account under which the CIC email system is running. Separate
multiple email addresses with a semicolon.
Subject
Specifies the text to appear on the subject line of the email message. You may enter a literal value like "Caller disconnected without
leaving a voice mail message" or build a complex expression using the Expression Editor Assistant.
Importance
Sensitivity
This parameter is a string that can have the value of "Normal", "Personal", "Private", or "Confidential". The default is "Normal", and
this will also be used in the event that something other than one of the other three valid values is entered.
Body
A List of Email Body type. Specifies the text to appear in the body of the email message. You may enter a literal value or build a
complex expression using the Expression Editor Assistant. A message might contain multiple bodies, including "text/plain" and
"text/html" bodies.
"text/plain" and a "text/html" (if available).
Message Attachments
Attachment Files
A list of string value containing zero or more complete file paths. You must assign the attachment files (and their paths) as the
elements of a list of string variable. You cannot just type the filename and path in this parameter. You can use a Send Email tool
step to send a message with a .WAV attachment as a Voice Mail message. Just specify "Voice" as the Content Type of the
message. Further, if you check the "Delete Attachments After Sending" checkbox on the Inputs page, CIC will delete the .WAV file
from the file system after the message has been successfully transmitted.
Note: OLE attachments (e.g. bitmaps rendered inline) are not visible, as attachments or otherwise, to handlers. As far as the
handler tools are concerned, and email message consists of a text body and zero or more *file* attachments. Other sorts of
attachments, such as embedded OLE objects and "nested" messages, are not accessible through the handler tools, since they are
not supported or easily simulated on messaging systems other than Exchange (i.e. IBM Notes or IMAP).
Delete Attachments
When set to True, all files in the attachments list will be deleted after they have been attached (copied) to the email message and
successfully sent. It is sometimes the case, especially when replying to or forwarding a message, that you need to create a
temporary file and attach it to the message being sent. After the message has been sent the temporary file needs to be deleted, but
since outgoing mail is handled asynchronously in IP, the handler can't delete the file immediately after the tool returns, because the
message most likely hasn't yet been processed. This checkbox simply passes the responsibility for deleting the file(s) on to the
asynchronous service thread that actually sends the message since that thread is the only one that actually knows when it's safe to
delete it (or them.
Delivery Receipt
Set to True to prompt the recipient for a delivery receipt upon receiving this email. If the underlying mail system does not support
this feature, it will be ignored.
Read Receipt
220
Set to True to prompt the recipient for a read receipt upon opening this email. If the underlying mail system does not support this
feature, it will be ignored.
Saved Copy
A string designating the mailbox cookie in which copies of the email are saved. This string must be the mailbox moniker as
formatted in the Mailbox attribute in DS. For example:
ININ.Mail.ObjectMoniker:<x-inin-mail.ex.store:/mailbox/o=Support,ou=Admin%20Group,cn=Recipients,cn=John_Doe>
The tool will then save the message in the Sent Items folder (in the case of Microsoft Exchange) of John Doe.
Message Class
The MAPI message class for the message. The message class may be one of "Text", "Voice" or "Fax".
Timeout
The number of seconds the tool will wait for a return value.
Scheduled
Attachment Files
A list of attached file objects output from another tool, such as Make Attached File.
Outputs
Result
Exit Paths
Success
This step takes the Success exit path if the message was successfully queued for sending. This tool does not verify that the
message was actually sent or verify that the recipient's address.
Failure
This step takes the Failure exit path if the CIC server is out of memory, indicating a much larger and unrelated problem.
Send Fax
This Email step sends a fax file retrieved with a Get Fax File step and sends it to one or more recipients as an attachment to an
Email. Because this tool sends a message asynchronously, it only queues a message for sending and does not wait to verify that
the message was actually sent or if the recipient's address is correct. As a result, this tool takes the Success exit path, even if the
message is not sent.
Note: If you want to send a fax that you have converted to a format other than .I3F, including .TIF, use the Send Email tool.
Inputs
221
To Recipients
Specifies the recipient of the email. Separate multiple email addresses with a semicolon. Separate email addresses with a
semicolon. Separate multiple email addresses with a semicolon. This input can accept a string of the email address or a string of
the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
If you leave the To and CC parameters empty, the message is sent to the address specified in the Unaddressed Mail Recipient
server parameter.
Note: In Directory Services, each user's Exchange address is stored in that user's User key in the emailAddress attribute. This
applies to MS Exchange users only.
CC Recipients
Specifies who should receive a copy of this email. Separate multiple email addresses with a semicolon. This input can accept a
string of the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
BCC Recipients
Optionally specifies recipients who should receive a "Blind Carbon Copy" of the reply message. Separate multiple email addresses
with a semicolon. This input can accept a string of the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Reply To
Optionally specifies one or more email addresses to which the recipients of the reply message should direct their own replies.
Separate multiple email addresses with a semicolon. This input can accept a string of the email address or a string of the display
name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Sender
Optionally specifies a local email address from which this reply message should be sent. This input can accept a string of the email
address or a string of the display name with the email address.
222
Examples:
[email protected]
Boris Johnson|[email protected]
The email system will generate the reply message in the outbox folder of the mailbox associated with this address, so that it will
appear to the recipients as if the message originated from the owner of that mailbox. The transmission of the reply message will
fail if the mailbox associated with this address is not accessible by the email system. If no From address is specified, the message
will originate in the outbox folder of the mailbox belonging to the account under which the CIC email system is running. Separate
multiple email addresses with a semicolon.
Subject
Specifies the text to appear on the subject line of the email message. You may enter a literal value like "Caller disconnected without
leaving a voice mail message" or build a complex expression using the Expression Editor Assistant.
Importance
Sensitivity
This parameter is a string that can have the value of "Normal", "Personal", "Private", or "Confidential". The default is "Normal", and
this will also be used in the event that something other than one of the other three valid values is entered.
Body
A List of Email Body type. Specifies the text to appear in the body of the email message. You may enter a literal value or build a
complex expression using the Expression Editor Assistant.
Fax ID
The variable that will indicate the name of the Fax File to be attached to the email.
Messages Attachments
Attachment Files
A list of string value containing zero or more complete file paths. You must assign the attachment files (and their paths) as the
elements of a list of string variable. You cannot just type the filename and path in this parameter. You can use a Send Email tool
step to send a message with a .WAV attachment as a Voice Mail message. Just specify "Voice" as the Content Type of the
message. Further, if you check the "Delete Attachments After Sending" checkbox on the Inputs page, CIC will delete the .WAV file
from the file system after the message has been successfully transmitted.
Delete Attachments
When set to True, all files in the Attachments List will be deleted after they have been attached (copied) to the email message and
successfully sent. It is sometimes the case, especially when replying to or forwarding a message, that you need to create a
temporary file and attach it to the message being sent. After the message has been sent the temporary file needs to be deleted, but
since outgoing mail is handled asynchronously in IP, the handler can't delete the file immediately after the tool returns, because the
message most likely hasn't yet been processed. This checkbox simply passes the responsibility for deleting the file(s) on to the
asynchronous service thread that actually sends the message since that thread is the only one that actually knows when it's safe to
delete it (or them.
Delivery Receipt
Set to True to prompt the recipient for a delivery receipt upon receiving this email. If the underlying mail system does not support
this feature, it will be ignored.
223
Read Receipt
Set to True to prompt the recipient for a read receipt upon opening this email. If the underlying mail system does not support this
feature, it will be ignored.
Saved Copy
String designating the mailbox cookie in which copies of the email are saved.
Timeout
The number of seconds the tool will wait for a return value.
Scheduled
Attachment Files
A list of attached file objects output from another tool, such as Make Attached File.
Output
Result
Exit Path
Success
This step takes the Success exit path if the message was successfully queued for sending. This tool does not verify that the
message was actually sent or verify that the recipient's address.
Failure
This step takes the Failure exit path if the CIC server is out of memory, indicating a much larger an unrelated problem.
224
Send Message Light Notification
This Email tool sends a notification to initiate the Message Light Notification initiator. This tool should be used from handlers that
add messages to a user's mailbox (such as voice mail or fax delivery) and by handlers that access messages (such as remote voice
mail retrieval or remote fax retrieval).
Inputs
User ID
This string value is the CIC User ID of the user who has the message.
Operation
This integer value is 0 if the message was added to the user's inbox, or 1 if the message was read or deleted from the user's inbox.
Unread Count
This integer value is the number of unread email messages in the user's inbox, or -1 if unknown.
Unread Voice
This integer value is the number of unread voice mail messages in the user's inbox, or -1 if unknown.
Unread Fax
This integer value is the number of unread fax mail messages in the user's inbox, or -1 if unknown.
Exit Paths
Success
This step takes the Success exit path if it read the folder.
Failure
This step takes the Failure path if it could not read the folder.
Send Voicemail
This Email tool step converts an CIC Audio Recording to a .WAV file and sends the .WAV file to one or more recipients as an
attachment to an Email.
Inputs
To Recipients
Specifies the recipient of the email. This tool accepts a string for single recipients and a list of strings for multiple recipients.
Separate multiple email addresses with a semicolon. This input can accept a string of the email address or a string of the display
name with the email address.
Examples:
[email protected]
[email protected];[email protected]
225
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
If you leave the To and CC parameters empty, the message is sent to the address specified in the Unaddressed Mail Recipient
server parameter.
Note: In Directory Services, each user's email address is stored in that user's User key in the Mailbox attribute.
CC Recipients
Specifies who should receive a copy of this email. This tool accepts a string for single recipients and a list of strings for multiple
recipients. Separate multiple email addresses with a semicolon. This input can accept a string of the email address or a string of
the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
BCC Recipients
Optionally specifies recipients who should receive a "Blind Carbon Copy" of the reply message. This tool accepts a string for single
recipients and a list of strings for multiple recipients. Separate multiple email addresses with a semicolon. This input can accept a
string of the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Reply To
Optionally specifies one or more email addresses to which the recipients of the reply message should direct their own replies. This
tool accepts a string for single recipients and a list of strings for multiple recipients. Separate multiple email addresses with a
semicolon. This input can accept a string of the email address or a string of the display name with the email address.
Examples:
[email protected]
[email protected];[email protected]
Boris Johnson|[email protected]
Boris Johnson|[email protected];[email protected]
Sender
Optionally specifies a local email address from which this reply message should be sent. This input can accept a string of the email
address or a string of the display name with the email address.
Examples:
[email protected]
Boris Johnson|[email protected]
The email system will generate the reply message in the outbox folder of the mailbox associated with this address, so that it will
appear to the recipients as if the message originated from the owner of that mailbox. The transmission of the reply message will
fail if the mailbox associated with this address is not accessible by the email system. If no From address is specified, the message
will originate in the outbox folder of the mailbox belonging to the account under which the CIC email system is running. Separate
multiple email addresses with a semicolon.
226
Subject
Specifies the text to appear on the subject line of the email message. You may enter a literal value like "Caller disconnected without
leaving a voice mail message" or build a complex expression using the Expression Editor Assistant.
Importance
Sensitivity
This parameter is a string that can have the value of "Normal", "Personal", "Private", or "Confidential". The default is "Normal", and
this will also be used in the event that something other than one of the other three valid values is entered.
Body
A List of Email Body type. Specifies the text to appear in the body of the email message. You may enter a literal value or build a
complex expression using the Expression Editor Assistant.
Message Attachments
Attachment Files
A list of string value containing zero or more complete file paths. You must assign the attachment files (and their paths) as the
elements of a list of string variable. You cannot just type the filename and path in this parameter. You can use a Send Email tool
step to send a message with a .WAV attachment as a Voice Mail message. Just specify "Voice" as the Content Type of the
message. Further, if you check the "Delete Attachments After Sending" checkbox on the Inputs page, CIC will delete the .WAV file
from the file system after the message has been successfully transmitted.
Delete Attachments
When set to True, all files in the Attachments List will be deleted after they have been attached (copied) to the email message and
successfully sent. It is sometimes the case, especially when replying to or forwarding a message, that you need to create a
temporary file and attach it to the message being sent. After the message has been sent the temporary file needs to be deleted, but
since outgoing mail is handled asynchronously in IP, the handler can't delete the file immediately after the tool returns, because the
message most likely hasn't yet been processed. This checkbox simply passes the responsibility for deleting the file(s) on to the
asynchronous service thread that actually sends the message since that thread is the only one that actually knows when it's safe to
delete it (or them.
Recording ID
The variable that indicates the name of the audio recording to be converted to a .WAV file and attached to the email.
Audio Format
The format to use for audio recording. See Compress Audio File tool for possible values.
See the Voice Mail Compression Options white paper for a more detailed explanation of audio file compression and compression
formats.
Normalize
Set this Boolean to True to normalize the audio recording. When a recording is normalized, it is analyzed to determine what the
maximum volume level of the audio file is. A value 5% below the maximum value is then used to set the gain value that will bring the
maximum volume level up or down to a standard level. This ensures that at a given station, all recordings will play back at the same
relative volume. Using a value 5% below the maximum volume to calculate the gain prevents a short burst of static or similar
anomalous noise from throwing off this volume adjustment.
227
Delivery Receipt
Set to True to prompt the recipient for a delivery receipt upon receiving this email. If the underlying mail system does not support
this feature, it will be ignored.
Read Receipt
Set to True to prompt the recipient for a read receipt upon opening this email. If the underlying mail system does not support this
feature, it will be ignored.
Saved Copy
String designating the mailbox cookie in which copies of the email are saved.
Attachment Files
A list of attached file objects output from another tool, such as Make Attached File.
Timeout
The number of seconds that the tool will wait for a return value.
Scheduled
Outputs
Result
Exit Path
Success
This step takes the Success exit path if the message was successfully queued for sending. This tool does not verify that the
message was actually sent or verify that the recipient's address.
Failure
This step takes the Failure exit path if the CIC server is out of memory, indicating a much larger an unrelated problem.
Inputs
To Recipients
228
Specifies the recipient of the email. You must specify the full SMTP address (e.g., [email protected]). If you leave the To and CC
parameters empty, the message is sent to the address specified in the Unaddressed Mail Recipient server parameter.
Note: In Directory Services, each user's email address is stored in that user's User key in the mailbox attribute.
CC Recipients
Specifies the recipient of the email. You must specify the full SMTP address (e.g., [email protected]). If you leave the To and CC
parameters empty, the message is sent to the address specified in the Unaddressed Mail Recipient server parameter. Separate
multiple email addresses with a semicolon.
BCC Recipients
Optionally specifies recipients who should receive a "Blind Carbon Copy" of the reply message. You must specify the full SMTP
address (e.g., [email protected]). Separate multiple email addresses with a semicolon.
Reply To
Optionally specifies one or more email addresses to which the recipients of the reply message should direct their own replies. This
tool accepts a string for single recipients and a list of strings for multiple recipients.
Sender
Specifies a local email address from which this reply message should be sent. The email system will generate the reply message in
the outbox folder of the mailbox associated with this address, so that it will appear to the recipients as if the message originated
from the owner of that mailbox. The transmission of the reply message will fail if the mailbox associated with this address is not
accessible by the email system. If no From address is specified, the message will originate in the outbox folder of the mailbox
belonging to the account under which the CIC email system is running. You must specify the full internet address
([email protected]). Separate multiple email addresses with a semicolon.
Subject
Specifies the text to appear on the subject line of the email message. You may enter a literal value like "Caller disconnected without
leaving a voice mail message" or build a complex expression using the Expression Editor Assistant.
Importance
Sensitivity
This parameter is a string that can have the value of "Normal," "Personal," "Private," or "Confidential." The default is "Normal," and
this will also be used in the event that something other than one of the other three valid values is entered.
Recording ID
The file name of the VPIM recording to be sent. This field is not required, but it is recommended that it be used.
Hostname
Username
Optional field containing the sender's email username and used in the event that the SMTP server requires authentication.
Password
229
Optional field containing the sender's email password and used in the event that the SMTP server requires authentication.
Timeout
The time in seconds to wait for the VPIM message to be sent. If this period elapses before the message is sent, the tool will take
the Failure exit path with a result code indicating a timeout.
Outputs
Result
Exit Paths
Success
Failure
230
Set Out of Office Status
This Email tool sets the Out Of Office (OOO) status for the given Exchange mailbox cookie. This feature can only be used with CIC
systems that are connected to an Exchange mail server.
On Notes or Groupwise, this tool will fail and will create an appropriate entry in the Application Event Log.
Note: The handler author must have intimate knowledge of the mail system in use in order to effectively use this tool, as all
parameters can change from one application to the next.
Inputs
Mailbox
Out Of Office
A boolean set to "true" if an OOO status will be set. If you do not want to change the state of the status, do not change this
parameter.
A string that contains the text of the OOO status. To clear the string value, use an empty string ("") and to use an existing status text,
do not change the parameter.
Outputs
Result
Exit Paths
Success
Failure
This path is taken if the operation fails. The most common reason for failure is a lack of OOO support by the mail system.
Update Folder
This Email tool synchronize the contents of a previously opened folder with the actual current contents of the underlying MAPI
message store. Use this tool to access messages which have arrived in the open folder since the Open Folder tool was run and to
remove deleted messages from the internal message list.
If the folder is updated asynchronously, then no message count will be available.
Inputs
Folder ID
231
The unique identifier for the folder being updated. This ID is retrieved with an Incoming Mail initiator, or the Open Folder tool.
Max Count
The maximum number of messages to open. No value or a value of 0 will retrieve all messages.
Reverse Order
Set this to True to reverse the default order in which the messages are opened by the mail server. The default order is dependant on
the underlying mail system.
Reverse Index
Set this to True to reverse the order in which messages are indexed.
Status
Only messages with this status will be searched, can be Read or Unread.
Importance
Only messages with this importance will be searched, can be low, high, or normal.
Sensitivity
This parameter is a string that can have the value of None, Personal, Private, or Confidential. The default is None, and this will also
be used in the event that something other than one of the other three valid values is entered.
Message Class
Only messages with this class will be searched, can be text, voice, fax, or ndr.
Subject
Only messages with this subject will be searched. Uses a regular expression.
Sender
Only messages from this sender will be searched (friendly name or email address). Uses a regular expression.
Start Date/Time
Only message received after this date and time will be searched.
End Date/Time
Only messages received before this date and time will be searched.
Asynchronous
Set this to true if you want the tool should to until the messages have been loaded before exiting.
Timeout
The number of seconds the tool will wait for a return value.
232
Outputs
Unread Count
Read Count
Unread Voice
Read Voice
Unread Fax
Read Fax
Result
Exit Paths
Success
This step takes the Success exit path if the folder was updated.
Failure
This step takes the Failure exit path if the mail server is not running.
Fax
Step Four: Create an Envelope, Print the Fax, or Email the Fax
Once you have a fax object, you either create a fax envelope, print the fax, or email the fax. Creating a fax envelope is simply
specifying information about how the fax should be sent, such as the recipient's phone number, information that should go on the
cover page, the time to send the fax, and an email address to notify if the fax is sent or if the fax send fails. Fax envelopes are
created using the Create Envelope tool. You can also print the fax to a local or network printer using the Print Fax tool. Finally, if you
want to send the fax as an attachment to an email, you can use the Send Fax Mail tool. You don't need to create an envelope if you
are printing or emailing the fax object.
Fax tools:
Append Document Pages
Append Pages
Append Word Pages
Convert PRN to I3F (The Convert PRN to I3F tool was deprecated in CIC 4.0)
Create Empty Fax Page List
Create Envelope
Create Fax
Create Fax Page List
Export Fax File
Get Fax File
Print Fax
Queue Fax For Send
Receive Fax Call
Send Fax Now
234
Fax Tool Usage
This diagram illustrates the order in which the Fax Tools should be used. For best results when printing, set your paper orientation
to Landscape.
235
Interaction Fax format
Interaction Fax files are documents that can be opened and sent from Interaction Fax or manipulated by the Create Fax Page List
and Append Page tools in a handler. Interaction Fax files are files created using one of the following methods:
Printing a document to the Interaction Fax Print Driver
When you install a CIC client, the Interaction Fax print driver is added as one of your available printers. You can then print
documents from any application to the Interaction Fax print driver. This print driver converts that document to a multipage .I3F
file and opens that file in the Interaction Fax application. You can then either specify a recipient, or save the .I3F file to a
directory. If you save the .I3F, you can send it from a handler using the Create Fax Page List and Append Page tools.
Fax Tools
236
Append Document Pages
This Fax tool provides the ability to use Adobe Acrobat Reader to create faxes. Any file that can be loaded into Adobe Acrobat
Reader 5.0 and printed can be converted into a fax using this tool step.
Inputs
Fax page list created with Create Fax Page List or Create Empty Fax Page List.
String containing any path/filename accepted by Adobe Acrobat Reader. (See Comments below)
Desired resolution
Resolution of the created fax. Can be either 98 for Standard resolution or 196 for Fine resolution.
Desired resolution
Paper size of the created fax. Can be either 0=Letter, 1=Legal, or 2=A4.
This is the maximum time to wait for Adobe Acrobat Reader to render the fax document in seconds (Default is 3600 seconds or 1
hour). Keep in mind that the size of the document impacts how long it will take for the Adobe Acrobat Reader 5.0 to render the
document so make sure to make this value long enough to render the largest Adobe Acrobat Reader document desired.
Exit Paths
Success
Failure
This path is taken if the operation fails. Check the Event Viewer for details of why this tool step failed.
Comments
237
Append Pages
This Fax tool adds pages to a Fax page list that was created with a Create Fax tool. See Fax tools for more information.
Inputs
The unique ID for the fax page list to which to add pages.
The type of location where the Interaction Fax format (.I3F) documents reside. You should always specify an integer value of 0. This
is because UNC (or File Path) path is the only type currently accepted. In a future release, types such as email message or other
formats might be used. Other values are reserved for the future. You may also enter a server or system parameter using the
following syntax: ${parameter_name}.
Type of file
Type 0 for an Interaction Fax format (.I3F files), 1 for one of the Supported Bitmap File Formats, 2 for a printable document file.
Note: The 32-bit version of the application associated with the document type (Word, Excel, PowerPoint, or Acrobat) must be
installed on the CIC Server. Documents created in a version previous to Office 97 will not work because they do not support the
ActiveX Printable Document interface. Documents must be converted to Office 97 before they can be used with this tool.
The last page of the document to retrieve. Enter a page number greater than First Page to Retrieve, or enter -1 to use all pages from
First Page to Retrieve to the end of the document.
Specify a path and file name. If you specify only a file name, the default path is value in the Work Directory server parameter (set in
Interaction Administrator. If you want to use a path other than the default path, use a fully qualified UNC path. You may also enter a
server or system parameter using the following syntax: ${parameter_name}.
Caution: If you specify a file not on the local server, you may experience a noticeable delay if that server or named file is not
available.
Exit Paths
Success
Failure
The Failure exit path is taken if there was not enough free memory to create the page list or if any input parameters are invalid.
Inputs
Fax page list created with Create Fax Page List or Create Empty Fax Page List.
String containing any path/filename accepted by Microsoft Word. (See Comments below)
First page from the Word document that will be converted to this fax.
Last page from the Word document, or -1 for all remaining pages.
Desired resolution
Resolution of the created fax. Can be either 98 for Standard resolution or 196 for Fine resolution. See comments.
Runs the named Word macro after setting the custom document properties, but before converting to fax. See the Microsoft Word
Basic "Run" command for proper syntax.
String list of Word custom document properties that will be set. The List of Property Values must contain the desired values, in the
same order.
String list of values corresponding to the List of Property Names to be set in the Word custom document properties.
Exit Paths
Success
Failure
This path is taken if the operation fails. Check the Event Viewer for details of why this tool step failed.
Comments
239
This tool step requires Microsoft Word 97 or later to be installed on the CIC server. Changes to the Word file (via the custom
document properties or the macro) are reflected in the resulting fax but not saved in the Word file.
The Path to page source input can be anything accepted by the Word file input dialog. This can vary by the version of Word. For
example, Microsoft Word 2000 can accept URLs to valid documents and web pages while Microsoft Word 97 cannot.
Microsoft Word does not properly implement the ActiveX Printable Document standard at this time, preventing CIC from controlling
the resolution used in the creation of the fax. Although this tool step accepts a resolution, it is ignored by Word, which instead uses
the resolution set in the Document Defaults for the Interaction Fax print driver. This can be changed by opening the Printer applet,
right-mouse clicking the Interaction Fax print driver and selecting the Document Defaults... menu item.
The Word file is not converted into a fax until the Create Fax tool step is executed. Therefore, the Append Word Pages will succeed
even with erroneous input values, but the Create Fax tool step will fail. When the Create Fax tool step fails, a Fax event will be
logged in the Windows Event Viewer detailing the reason for the failure (for example, an invalid macro name).
Outputs
Exit Paths
Success
The Success exit path is taken if the empty fax page list is created.
Failure
The Failure exit path is taken only if the CIC Server fails.
CreateEnvelope
This Fax tool creates a fax envelope for the fax. A fax envelope must be created for each fax recipient. See Fax tools for more
information.
Inputs
Fax ID
The fax recipient’s phone number. A comma causes a two-second pause. Any numbers that follow the "/" symbol are dialed after
the call is connected (used to dial an extension, for example).
240
Recipient Company Name
Recipient Name
Sender Name
Set this to true if you want the sender to be notified if the fax was sent successfully.
Set this to true if you want to sender to be notified if the fax was not sent successfully.
The sender’s email address, or some other address to notify if the fax was not sent successfully.
Only Interaction Fax cover page documents (with a file extension of .i3c) are valid in this release. This may change in future
releases.
241
Cover page Name
The base name (no path or extension) of a file in the CoverPages subdirectory under the IC resources directory. So, if you have a
cover page file called I3Confidential.i3c, you would place it on the CoverPages directory under the IC resources directory and type
the name "I3Confidential" in this parameter.
Send Type
Scheduled Time
The time the fax should be sent if the Send type is one.
The begin time a fax should be sent if the Send Type was two.
The latest time a fax should be sent if the Send Type was two.
Outputs
Fax Envelope ID
The identifier of the newly created envelope. This can be used with Queue Fax For Send to initiate a fax send.
Exit Paths
Success
The Success exit path is taken if the envelope was created successfully.
242
Failure
The Failure exit path is taken if the envelope was not created successfully. This can occur when a Fax ID is not valid.
Create Fax
This Fax tool creates a fax from a list of page sources created using the Create Fax Page List, Create Empty Page List and Append
Pages tools. An empty page list can be used to send a fax consisting only of a cover page. See Fax tools for more information.
Inputs
The page list created Create Fax Page List, Create Empty Page List and Append Pages tools. The pages used and their order are
defined by the order these tools were used to create the page list.
Outputs
Fax Id
The identifier for the fax that was created as a result of this tool.
Exit Paths
Success
Failure
The Failure exit path is taken if any parameters used to create the page list are invalid. This includes wrong or invalid Type of file,
invalid page ranges and invalid paths to the page source files.
243
Create Fax Page List
This Fax tool creates a list of document pages to include in a fax. Once the fax page list is created with this tool, you may later
append additional pages using the Append Pages tool. See Fax tools for more information.
Inputs
The type of location where the Interaction Fax format (.I3F) documents reside. You should always specify an integer value of 0. This
is because UNC (or File Path) path is the only type currently accepted. In a future release, types such as email message or other
formats might be used. Other values are reserved for the future. You may also enter a server or system parameter using the
following syntax: ${parameter_name}.
Type of file
Type 0 for an Interaction Fax format (.I3F files), 1 for one of the Supported Bitmap File Formats, or 2 a printable document file.
Note: The 32-bit version of the application associated with the document type (Word, Excel, PowerPoint, or Acrobat) must be
installed on the CIC Server. Documents created in version previous to Office 97 will not work because they do not support the
ActiveX Printable Document interface. Documents must be converted to Office 97 versions before they can be used with this tool.
The last page of the document to retrieve. Enter a page number greater than First Page to Retrieve, or enter -1 to use all pages from
First Page to Retrieve to the end of the document.
Specify a path and file name. If you specify only a file name, the default path is value in the Work Directory server parameter (set in
Interaction Administrator. If you want to use a path other than the default path, use a fully qualified UNC path. You may also enter a
server or system parameter using the following syntax: ${parameter_name}.
Caution: If you specify a file not on the local server, you may experience a noticeable delay if that server or named file is not
available.
Outputs
The identifier for the fax page list this tool creates.
Exit Paths
Success
The Success exit path is taken if the page list is created successfully.
Failure
The Failure exit path is taken if there was not enough free memory to create the page list or if any input parameters are invalid.
244
Export Fax File
This Fax tool exports Interaction Fax files to one of several common image file formats. Supported formats include:
TIFF (using either Group 3 or Group 4 fax compression)
DCX (the multi-page version of PCX)
IMPORTANT - Once the file is exported, it is the responsibility of the handler writer to delete the file. Exported files are not
automatically cleaned up when the handler finishes. Also, care should be taken when emailing the file to always use the email tool's
feature to delete the file after sending, instead of deleting the file yourself.
Inputs
Fax ID
Specify a path and file name. If you specify only a file name, the default path is the value in the Work Directory server parameter (set
in Interaction Administrator. If you want to use a path other than the default path, use a fully qualified UNC path. You may also enter
a server or system parameter using the following syntax: ${parameter_name}.
Caution: If you specify a file not on the local server, you may experience a noticeable delay if that server or named file is not
available.
Outputs
String containing the path and filename the fax was exported to.
Exit Paths
Success
This step takes the Success exit path if the fax is successfully exported.
Failure
This step takes the Failure exit path if the export file cannot be created due to an invalid FaxId or invalid export file name.
245
Get Fax File
This Fax tool retrieves a fax file so that it can be sent via email. Creates a copy of the fax file to a location so that it can be
attached to an email sent by the Send Fax Mail tool. When a handler containing the Get Fax File tool ends, the copy of the file is
removed from the output directory. See Fax tools for more information.
Inputs
Fax Id
Integer representing the type of file that the fax will be converted into.
Integer Corresponding File Type
0 Tiff Group 3
1 Tiff Group 4
2 DCX
3 PNG
4 I3F (default)
5 PDF
Outputs
Fax File Id
The identifier for the fax file that this tool created. The fax file created is a temporary copy and is deleted when the handler exits.
This information is used by the Send Fax Mail tool to find and attach the file. The fax file created is a temporary copy and is deleted
when the handler exits.
Exit Paths
Success
Failure
The Failure exit path is taken if the fax file was not created successfully. This can occur when a Fax Id is not valid.
246
Print Fax
This Fax tool outputs a fax to a network or local printer. See Fax tools for more information.
Inputs
Fax Id
Printer Name
The name of the printer. For locally attached printers, this is the name of the printer listed in the Printers folder. For remote printers,
this consists of the server name and the name listed in the Printers folder. For example, if you have a printer installed as
HPLaserJet4M and the printer is actually attached to the CompanyPrintServer computer, then the full printer name is
\\CompanyPrintServer\HPLaserJet4M.
Pagination
Shrink will resize each fax page to fit the printed page. If the fax page is larger than the printed page, any text or images in the fax
will be reduced. Chop will remove any portions of each fax page that do not fit on the printed page. If the Spill option is selected,
each fax page will result in as many printed pages as necessary to contain the original fax image at its original size.
Exit Paths
Success
The Success exit path is taken if the fax was queued for printing successfully.
Failure
The failure path is taken if there is an error queuing the print job. This can occur when a Fax ID is not valid. If an invalid printer name
is supplied, this tool step will take the Success path, but an error will be logged in the NT Event Viewer.
Inputs
Fax Envelope Id
The Envelope Id created for the fax to be queued by a Create Fax Envelope step.
The fax recipient’s phone number. A comma causes a two-second pause, and any numbers after the "/" symbol are dialed after the
call is connected.
Recipient Name
247
The fax recipient’s name.
Sender Name
Set this to true if you want the sender to be notified if the fax was sent successfully.
Set this to true if you want the sender to be notified if the fax was not sent successfully.
The sender’s email address, or some other address to notify if the fax was not sent successfully.
Only Interaction Fax cover page documents (with a file extension of .i3c) are valid in IC release 1.0. This may change in future
releases.
This is the base name (no path or extension) of an CIC cover page (.i3c) file. The file must reside in the
\I3\IC\Server\Resources\Coverpages folder on the CIC server.
248
The fax workstation on which to send the fax.
Send Type
Scheduled Time
The time the fax should be sent if the Send type is one.
The begin time a fax should be sent if the Send Type is two.
The latest time a fax should be sent if the Send Type is two.
Station Id
This takes a list of strings (array) of attribute names, but you can use a single name. This might be used for tracking Account Code
attributes on faxes.
This takes a list of strings (array) of attribute values, but you can use a single value to match a single attribute name. This might be
used for tracking Account Code attribute values on faxes.
Line groups
249
The line group to use to place a fax call.
Intercom call?
Flag to indicate that the fax call should be placed as an intercom (internal) call as opposed to an outbound call.
If the Intercom call flag indicates that the fax call should be placed as an intercom call, this value represent the internal queue to
use.
Exit Paths
Success
The Success exit path is taken if the fax was queued successfully.
Failure
The Failure exit path is taken if the fax was not queued successfully. This can occur if the fax envelope no longer exists or if the
recipient information does not exist.
Inputs
Call Identifier
The name of the Fax Station Group that should be used to receive this fax. ‘All’ means that any available Fax Group can be used.
Exit Paths
Success
The Success exit path is taken if the server has an available device in the specified Fax Workstation Group to receive the fax.
Failure
The Failure exit path is taken if the fax server is unable to receive the fax at this time. This could can occur when all the devices in
the specified Fax Workstation Group are in use, or the call is terminated before a device became available.
Inputs
Fax Id
The identifier for the fax that was created by the Create Fax tool.
Call Identifier
Call Id of an active call. The caller should have an attached fax machine set to receive a fax.
Name of the fax device group to use to send this fax. Using the group "*" will use any available fax device.
Timeout in seconds
Time in seconds to wait for an available device in the specified fax device group.
Maximum BPS
Maximum BPS to negotiate with remote fax machine. Valid values are 14400, 12000, 9600, 4800, 2400, 1200, 600, 300 or 0 to
negotiate the highest speed supported by both sides.
Station Id
Sets the station name displayed on the fax page and on the remote fax machine’s display. This should usually be set to your fax
phone number.
This input is set for future use. For now, this must be 0.
Name of the cover page template to use. Leave this blank if no cover page is desired. Cover page names consist of just the base
filename part of the cover page file. For example, to use the cover page template FaxCoverPage.i3c, use "FaxCoverPage". All cover
page files must reside in the Cover Pages directory under the IC Resources directory.
Optional Inputs
Sender Name
Outputs
Station Id
Fax Device
Call Duration
Pages Transmitted
Exit Paths
Success
The Success exit path is taken if the fax is successfully transmitted to the recipient.
Invalid Group
The fax group name specified in the "Fax Workstation Group Name" input is not a valid group. Check the fax groups in IA for a valid
group or use the "*" group.
Timeout
252
The number of seconds specified in the "Timeout" input have elapsed without obtaining an available fax device.
Fax Failed
Fax transmission was not completed successfully. Some pages may have been transmitted to remote. This error is often due to
line noise or the remote user interrupting the fax transmission. Check the event log for errors.
Fatal Error
The fax failed for some other reason. Check the event log for errors.
Feedback
253
Get Active Survey
This Feedback tool uses the Interaction ID and workgroup to determine from the Survey engine whether or not to play a customer
satisfaction survey after the agent disconnects.
Inputs
Interaction ID
Workgroup Name
Outputs
Survey ID
The ID of the returned survey. This field is empty if there is no active survey.
The date/time stamp for the survey. This data is used to update the TUI XML cache.
Record Call
A value indicating whether the call should be recorded for this survey.
Exit Code
Exit Text
Exit Paths
Success
Failure
Inputs
254
Interaction ID
The ID of the interaction for which the tool is to retrieve the TUI XML.
Survey ID
Outputs
Invitation Text-to-Speech
Opt-In Text-to-Speech
Opt-Out Text-to-Speech
Exit Code
Exit Text
Exit Paths
Success
No License
This path is taken if there is no license available for an inbound IVR survey.
255
Failure
IsSurveyActive
This Feedback tool clears the TUI XML cache after a period of time to free up deactivated customer satisfaction surveys.
Inputs
List of SurveyIds
Outputs
List of Booleans
Exit Code
Exit Text
Exit Paths
Success
Failure
256
Manage Survey Prompt Result
This Feedback tool allows the handlers to pass a result back to the Survey engine to indicate that a prompt was recorded.
Inputs
Outputs
Exit Code
Exit Text
Exit Paths
Success
This path is taken if the results are successfully passed back to the Survey engine.
Failure
257
Post Survey Results
This Feedback tool sends the customer satisfaction survey results to the Survey engine to go into the database.
Inputs
Interaction ID
Survey ID
Question Names
Question Values
Event Code
Outputs
Exit Code
Exit Text
Exit Paths
Success
This path is taken if the survey results are successfully passed to the Survey engine.
Failure
258
Run Survey
This CS Survey tool determines whether the Survey ID is set on the interaction, and if so, triggers the Run Survey initiator.
Inputs
Interaction ID
Outputs
Exit Code
Exit Text
Exit Paths
Success
Failure
259
Transfer Survey Queue
This Feedback tool provides the ability to transfer an interaction into the survey queue so a customer satisfaction survey can be run on
the interaction.
Inputs
Interaction ID
Outputs
Exit Code
Exit Text
Exit Paths
Success
This path is taken if the interaction is successfully transferred into the survey queue.
Not Answered
This exit path is taken if the call was not answered by an agent.
Failure
260
Wait for Survey Start
This Feedback tool is used to stop processing a handler until a survey is initiated on the call (Event:
eCSSurveyEvent_InitiateSurvey).
Inputs
Interaction ID
Timeout
The timeout, in seconds, to wait for a survey to start (-1 indicates no timeout).
Outputs
Exit Code
Exit Text
Exit Paths
Success
This path is taken if the survey initiate has fired and there were no errors.
Timeout
Failure
This path is taken if there was an error waiting for a survey start.
File I/O
261
Introduction to File I/O Tools
Some File I/O tools create, read, and write to text files. For example, some non-CIC software can utilize or output text files. The text
files created, read, or written to could be shared by CIC and the non-CIC software. Other File I/O tools provide TCP/IP functionality.
See TCP/IP tools overview for a information on how TCP/IP tools operate.
Click one of the following tools for more information:
Copy File
Directory List
File Attributes Modify
File Attributes Query
FileClose
FileDelete
File Find Replace
FileOpenRead
FileOpenWrite
FilePosition
FileRead
FileReadList
FileWrite
FileWriteList
Get File Statistics
Get Free Space
TCP Close
TCP Connect
TCP Listen
TCP Read Integer
TCP Read String
TCP Read String UTF8
TCP Write Integer
TCP Write String
TCP Write String UTF8
262
TCP/IP tools overview
The TCP/IP tools allow handlers to connect and communicate with other's applications on a LAN, WAN, or over the Internet. As
long as the remote machine has a valid IP address and the remote application is ready, the TCP/IP tools can send and receive
strings and integers.
The TCP/IP tools are typically used in the following order within a handler. As shown in this diagram entitled The order in which
TCP/IP tools should be used. Use this multi-step process as guide when creating TCP/IP functionality within a handler.
Whether you are connecting to a remote computer or the remote computer is connecting to CIC, you must first establish a
connection. When you establish the connection, the resulting connection handle is used by the read and write tools to
communicate with the remote computer. If you are connecting to a remote computer, use the Tcp Connect tool. If the remote
computer is connecting to CIC, use the Tcp Listen tool to monitor a port. When the remote computer makes a connection, the Tcp
Listen tool generates an event that starts the Tcp Connection Accepted initiator. This initiator generates the connection handle.
Once the connection handle is established, the Tcp Read String and Tcp Read Integer tools can take data sent by the remote
computer and place it in a variable to be used within the handler. Tcp Write String and Tcp Write Integer can send data to the remote
computer. To read and write UTF8-encoded strings, use Tcp Read String UTF8 and Tcp Write String UTF8.
When the handler has finished sending and receiving data, we recommend that you close the connection with the remote computer.
The Tcp Close tool closes the connection stored in the connection handle.
263
Copy File
This File I/O tool moves or copies a file from one directory to another.
Inputs
Source Filename
Destination Filename
Check this option to remove the old file after the file has been copied.
Check this option to overwrite any files with the same name as the Destination Filename.
Exit Paths
Success
This step takes the Success exit path if the file is copied or moved.
Failure
This step takes the Failure exit path if the path or filename is invalid.
264
Directory List
This File I/O tool, given an absolute, relative, or UNC path, returns a list of files contained in a specified directory.
Inputs
Directory Path
The path to, and name of, a directory. This value can be an absolute path, a relative path, or a UNC path.
Directory Mask
Use this parameter to pass in any wildcards. Acceptable wildcards include the * symbol and the ? symbol. * represents one or more
of any character, ? represents a single character. If you wanted a list of all handlers in a specified directory, you would type *.ihd in
the Directory Mask field. If you wanted all handlers that started with the letter A, then you would type A*.ihd in the Directory Mask
field. If you wanted all handlers with five character file names that start with A, you would type A????.ihd in the Directory Mask field.
By default, the Directory Mask value is *.*, returning all files in the specified directory.
Outputs
Directory List
A list of string value containing the names of any files in the specified directory. These files match any Directory Mask criteria.
Exit Paths
Success
This step takes the Success exit path if either of the following is true:
The directory is found and is not empty.
The directory exists, but is empty, and a Directory Mask input value of "*.*" is specified.
Failure
This step takes the Failure path if either of the following is true:
The directory does not exist.
The directory exists, but is empty, and a Directory Mask input value of *.pdf, *.txt, etc., is specified.
265
File Attributes Modify
This File I/O tool changes the values of several file attributes. You can retrieve a file’s attributes with the File Attributes Query tool.
Inputs
Source Filename
Normal
True means the file has no other attributes set. False if the file has other attributes set.
Read-Only
True means the file is read-only, false means the file is not read-only.
Hidden
True means the file is hidden, false means the file is not hidden.
System
True means the file is a system file, false means the file is not a system file.
Volume
The name associated with the drive on which this file is located.
Directory
Archive
True means the file is archived; false means the file is not archived.
Exit Paths
Success
This tool takes the Success exit path if the file was found and the attribute values were retrieved.
Failure
This tool takes the Failure exit path if the file could not be found.
266
File Attributes Query
This File I/O tool returns several file attributes. You can change a file’s attributes with the File Attributes Modify tool.
Inputs
Source Filename
Outputs
Normal
True means the file has no other attributes set. False if the file has other attributes set.
Read-Only
True means the file is read-only, false means the file is not read-only.
Hidden
True means the file is hidden, false means the file is not hidden.
System
True means the file is a system file, false means the file is not a system file.
Volume
The name associated with the drive on which this file is located.
Directory
Archive
True means the file is archived; false means the file is not archived.
Exit Paths
Success
This tool takes the Success exit path if the file was found and the attribute values were retrieved.
Failure
This tool takes the Failure exit path if the file could not be found.
267
File Close
This File I/O tool closes a file previously opened with a FileOpenRead or FileOpenWrite step.
Inputs
File Handle
The handle for the file you want to close. This handle was created in a FileOpenRead or a FileOpenWrite step.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file handle is invalid.
File Delete
This File I/O step deletes a file. The deleted file should not be open for read or write when it is deleted. If the file does not exist, this
step fails.
Inputs
File Name
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file handle is invalid.
Inputs
Source file
Find
268
The string to find. You may not specify the "/n" character in the string to search for.
Replace
Replace All
Set this value to True to replace all occurrences. Set this value to false to replace only this first occurrence.
Result file
When processing is complete, the new file is saved with the file name you specify here. You must specify a fully qualified path.
Outputs
Replaced occurrences
Error messages
Exit Paths
Success
This tool takes the Success exit path if the operation completes successfully.
Failure
This tool takes the Failure exit path if the process failed. See the Error Message output parameter for an explanation of returned
error codes.
269
File Open Read
This File I/O tool opens a file for read access. Tools that can access this file opened for reading are FileRead, FileReadList,
FilePosition, and FileClose.
Inputs
File Name
Outputs
File Handle
The handle created for the file that was opened for read access.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file name is invalid or if the file is already open.
270
File Open Write
This File I/O tool opens a file for write access. Tools that can access this file opened for writing are FileWrite, FileWriteList,
FilePosition, and FileClose.
Inputs
File Name
Check this option to append the new text to the end of the file. Setting this parameter to false means that new text overwrites any
existing text starting at the beginning of the file.
Outputs
File Handle
The handle created for the file that was opened for write access.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file name is invalid or if the file is already open.
271
File Position
This File I/O tool controls the current byte offset position in a file.
Inputs
File Handle
File Position
A byte offset in the file to which the position is to be set. This is an integer variable.
Determines how file position is interpreted. If set to zero, file position is the byte offset from the beginning of the file. If set to one,
file position is the byte offset in relation to the current position. If set to two, the file position is the byte offset relative to the end
of the file.
Outputs
An integer variable whose value is set to the current byte offset position in the file when the operation is complete.
Note: File size can be determined by setting the file position to zero and file position type to one. Then examine the value of New
File Position.
Exit Path
Next
272
File Read
This File I/O tool reads a string from a file.
Inputs
File Handle
String Delimiters
The code or codes that indicate the end of a string, any one of which will be interpreted as the end of the string. The default is "\n"
which is a common code for line-break. Possible values are:
Outputs
A string variable whose value is set to the data read from the file.
This variable contains the value of the delimiter that ended the read operation.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file handle is invalid.
Inputs
File Handle
273
String delimiters
The code or codes that indicates the end of a string. The default is "\t" which is a common code for a tab stop.
Possible values are:
The code or codes that indicates the end of the text to be read. This step stops reading text when this code is reached. Other
possible values are the same as those listed for the previous parameter.
Outputs
This variable contains the value of the delimiter that ended the read operation. The default is "\n" which is a common code for line-
break.
Possible values are:
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file handle is invalid.
274
File Write
This File I/O tool writes a string to a file.
Inputs
File Handle
The code or codes to append to the end of the text being written. The default is "\n" which is a common code for line-break.
Possible values are:
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file handle is invalid.
275
File Write List
This File I/O tool writes the contents of a List of String variable to a text file.
Inputs
File Handle
String delimiters
The code or codes to append to the beginning of the text being written. The default is "\t" which is a common code for tab stop.
Possible values are:
This variable contains the delimiter to be appended to the end of the text written. The default is "\n" which is a common code for
line-break. The possible values are the same as those listed for the previous parameter.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the file handle is invalid.
276
Get File Statistics
This File I/O tool retrieves various file properties for a specified file or directory.
Inputs
Source Filename
The path and file name to return properties for the file, or only the path to return properties for the directory. This value can be an
absolute path, a relative path, or a UNC path.
Outputs
Full Path
The complete absolute path, and file name, for the specified file.
File Size
Creation Time
The date and time the file was created. This is a DateTime value.
Modify Time
The date and time the file was last modified. This is a DateTime value.
Access Time
The date and time the file was last accessed. This is a DateTime value.
Exit Paths
Success
This step takes the Success exit path if the file or directory is found.
Failure
This step takes the Failure path if the file does not exist.
277
Get Free Space
This File I/O tool returns the amount of unused space on a specific drive.
Inputs
The root directory of the drive to check. Be sure to include the \ symbol after the drive letter. For example, to check the size of C:,
you would type: C:\
Outputs
Free Space in KB
The size in KB of the available space on the specified drive. 1 KB = 1024 bytes.
Exit Paths
Success
This step takes the Success exit path if the drive is found.
Failure
This step takes the Failure path if the drive does not exist.
TCP Close
This File I/O tool closes a specified TCP/IP connection with another computer. See TCP/IP tools for more information on using
TCP/IP tools.
Inputs
Socket Handle
Exit Paths
Next
278
TCP Connect
This File I/O tool opens a TCP/IP connection with another computer. You can connect to a computer on the local network
(Marketing), an IP address (172.16.120.10), or a full host name (ftp.inter-intelli.com). See TCP/IP tools for more information on
using TCP/IP tools.
Inputs
Server ID
The host name or IP address of the computer to which you want to connect.
The port number on the remote machine to which you want to connect.
Outputs
Socket handle
The unique identifier for this established connection. Other TCP/IP tools use this handle for sending and receiving strings and
integers.
Exit Paths
Success
This tool takes the Success exit path if the connection is established and a handle is returned.
Failure
This tool takes the Failure exit path if a connection cannot be established.
TCP Listen
This File I/O tool tells CIC to start listening for another computer attempting to make a TCP/IP connection with the CIC server.
When a connection is established, this tool generates a TCP/IP Connection event, which can be used to start the TCP/IP
Connection Accepted initiator. See TCP/IP tools for more information on using TCP/IP tools.
Inputs
Exit Paths
Success
This tool takes the success path if the port is successfully identified and watched.
Failure
This tool takes the Failure exit path if another TCP Listen tool has already been executed to watch the specified port.
279
TCP Read Integer
This File I/O tool reads an integer value passed in by another computer over a TCP/IP connection.
Inputs
Socket handle
A unique socket connection identifier generated by the TCP Connect or TCP/IP Connection Accepted.
Different machine architectures sometimes store data using different byte orders. For example, Intel-based machines store data in
the reverse order of Macintosh (Motorola) machines. If you are not sure of the byte ordering of the machine sending you the integer
value, leave this value at the default true.
Read timeout
The number of seconds to wait for the integer before taking the Timeout exit path.
Outputs
Integer value
Exit Paths
Success
This tool takes the Success exit path if the connection is established and a value is returned.
Timeout
This tool takes the Timeout exit path if nothing was read within the number of seconds specified in the Read timeout parameter.
Failure
This tool takes the Failure exit path if the socket handle is invalid.
Inputs
Socket handle
A unique socket connection identifier generated by the TCP Connect or TCP/IP Connection Accepted.
String type
280
Number of characters to read
The maximum number of characters to read before taking the Success exit path. If the end of string character is read before
reaching the maximum, this tool stops reading and takes the Success exit path.
The character that denotes the end of the string. If the maximum number of characters is read before reading the end of string
character, this tool stops reading and takes the Success exit path. If multiple characters are assigned, this tool will recognize only
the first assigned character. For example, if "end" is configured to indicate the end of the string, this tool will recognize only the "e"
as the end of string character and will stop reading the first time it encounters an "e."
Other characters you might want to use include are listed below. CIC interprets the following characters when this tool executes.
For example, if you specify "\t," a tab indicates the end of the string.
Read timeout
The number of seconds to wait for the integer before taking the Timeout exit path.
Outputs
String value
Exit Paths
Success
This tool takes the Success exit path if the connection is established and a value is returned.
Timeout
This tool takes the Timeout exit path if nothing was read within the number of seconds specified in the Read timeout parameter.
Failure
This tool takes the Failure exit path if the socket handle is invalid.
Inputs
Socket handle
281
A unique socket connection identifier generated by the TCP Connect or TCP/IP Connection Accepted.
The maximum number of characters to read before taking the Success exit path. If the end of string character is read before
reaching the maximum, this tool stops reading and takes the Success exit path.
The character that denotes the end of the string. If the maximum number of characters is read before reading the end of string
character, this tool stops reading and takes the Success exit path. If multiple characters are assigned, this tool will recognize only
the first assigned character. For example, if "end" is configured to indicate the end of the string, this tool will recognize only the "e"
as the end of string character and will stop reading the first time it encounters an "e."
Other characters you might want to use include are listed below. CIC interprets the following characters when this tool executes.
For example, if you specify "\t," a tab indicates the end of the string.
Read timeout
The number of seconds to wait for the integer before taking the Timeout exit path.
Outputs
String value
Exit Paths
Success
This tool takes the Success exit path if the connection is established and a value is returned.
Timeout
This tool takes the Timeout exit path if nothing was read within the number of seconds specified in the Read timeout parameter.
Failure
This tool takes the Failure exit path if the socket handle is invalid.
282
TCP Write Integer
This File I/O tool writes an integer value to the computer connected via TCP/IP. See TCP/IP tools for more information on using
TCP/IP tools.
Inputs
Socket handle
A unique socket connection identifier generated by the TCP Connect or TCP/IP Connection Accepted.
Integer value
Different machine architectures sometimes store data using different byte orders. For example, Intel-based machines store data in
the reverse order of Macintosh (Motorola) machines. If you are not sure of the byte ordering of the machine receiving the integer
value, leave this value at the default true.
Exit Paths
Success
This tool takes the Success exit path if the integer was successfully written.
Failure
This tool takes the Failure exit path if the socket handle is invalid.
283
TCP Write String
This File I/O tool writes a string value to the computer connected via TCP/IP. See TCP/IP tools for more information on using
TCP/IP tools.
Inputs
Socket handle
A unique socket connection identifier generated by the TCP Connect or TCP/IP Connection Accepted.
String value
String type
Exit Paths
Success
This tool takes the Success exit path if the string was successfully written.
Failure
This tool takes the Failure exit path if the socket handle is invalid.
284
TCP Write String UTF8
This File I/O tool writes a UTF8-encoded string value to the computer connected via TCP/IP. See TCP/IP tools for more information
on using TCP/IP tools.
Inputs
Socket handle
A unique socket connection identifier generated by the TCP Connect or TCP/IP Connection Accepted.
String value
Exit Paths
Success
This tool takes the Success exit path if the string was successfully written.
Failure
This tool takes the Failure exit path if the socket handle is invalid.
Generic Object
285
Create Generic Object
This Generic Object tool creates an object ID in the specified queue.
Inputs
Queue Name
The workgroup or user queue which contains the object. The fully qualified queue name must be used. For example, "Workgroup
Queue:Marketing" or "User Queue:John Doe."
Direction of Interaction
Enter "1" to indicate an incoming interaction, and "2" for an outgoing interaction.
Enter "1" to indicate an internal party, and "2" for an external party.
Enter "1" to indicate an internal party, and "2" for an external party.
Remote Name
The value entered here is used to populate the Name field on the My Interactions view in the CIC client.
Remote ID
The value entered here is used to populate the Number field on the My Interactions view in the CIC client.
This populates the "line" field on the various lines pages on the Interaction Client
The value entered here is used to populate the Line field on various pages in the CIC client.
Outputs
Generic Object ID
Exit Paths
Success
This step takes the Success exit path if the object was successfully created.
Failure
This step takes the Failure exit path if the object could not be created. This may occur if the queue name is incorrect or if the object
does not exist.
286
Disconnect Generic Object
This Generic Object tool removes a generic object.
Inputs
Generic Object ID
Disconnection Type
Enter 0 if the generic object is being disconnected by an internal party, an enter 1 if the generic object is being disconnected by an
external party.
Exit Paths
Success
This step takes the Success exit path if the object was successfully disconnected.
Failure
This step takes the Failure exit path if the object could not be disconnected. This may occur if the ID of the object is incorrect, the
object has already been disconnected or it does not exist.
287
Get Generic Object Attributes
This Generic Object tool retrieves one attribute from a specified object.
Inputs
Generic Object ID
Attribute Name
Outputs
Attribute Value
Exit Paths
Success
This step takes the Success exit path if the specified attribute value was successfully retrieved.
Failure
This step takes the Failure exit path if it was unable to retrieve the attribute value. This may occur if the ID of the object is incorrect
or if it does not exist.
288
Set Generic Object Attributes
This Generic Object tool sets the value of an attribute for a specified object.
Inputs
Generic Object ID
Attribute Name
Attribute Value
Exit Paths
Success
This step takes the Success exit path if the specified attribute value was successfully set.
Failure
This step takes the Failure exit path if it was unable to set the attribute value. This may occur if the ID of the object is incorrect or if
it does not exist.
Inputs
Generic Object ID
Queue Name
Exit Paths
Success
This step takes the Success exit path if the object was successfully transferred to the specified queue.
Failure
This step takes the Failure exit path if the object did not transfer to the specified queue. This may have occurred because either the
object ID was incorrect, or the specified queue does not exist.
289
Host Interface
Host tools
The Host tools allow handlers to connect and interact with the Host Server, writing and retrieving information from the terminal
emulation. Several tools are designed to navigate between screens and search for specific strings, just like an end user would.
Strings retrieved from screens can be used in handlers, and strings created in handlers can be written to screens.
Host Server
This CIC Server subsystem creates and maintains one or more terminal emulation connections with a mainframe or AS400. At this
time, the number of connections is limited by licensing restrictions to either 10, 25, or 50 connections. The Host server can
optionally cache a connection to improve performance.
When commanded to do so by a Host tool running a handler, the Host server can retrieve values from the fields in the emulated
terminal. This is called a screen scrape. You determine which fields are scraped by creating a host profile in the Interaction Host
Recorder application.
The first method is the recommended method because it does not involve running additional applications on the CIC server. This
method is diagramed below:
291
Another possible configuration which may improve performance over the first implementation is to run the SNA and CIC server on
the same machine. In this configuration, the CIC server can access the SNA exposed API to retrieve data directly from the
mainframe. The problem with this configuration is that you have to run non-CIC processes on the CIC server, reducing its reliability.
This implementation is shown in the following figure:
293
Host Connect
This Host Interface tool step establishes a connection with the host mainframe. (Actually it tells the Host Server to establish a
connection with the host (mainframe or AS400). It returns a host connection handle that can be used by other Host Tools in this
handler or a subroutine running off this handler. Host Connect is typically the first Host Interface tool used when starting a session.
If a Host Disconnect step from a previously running handler cached its connection, this tool can use that cached connected to
quickly establish communication with the host. Cached connections are effective when handlers are running so frequently that the
host doesn’t time out the connection.
For more information on using Host tools, see Overview of Host Interface tools.
Inputs
Host Profile
The name of the Host Profile to use when establishing this connection. See host profile for more information. This profile contains
the connection settings.
Once an open connection is cached, other Host Connect steps in other instances of this handler can quickly connect to the host
over this same connection. This enables other handlers to run faster because they do not have to log in to the host. You should
choose this option if the handler is going to run frequently and the host won’t have time to time out the connection.
Outputs
Host Connection
The handle for the connection to the host mainframe. Other host tools can use this handle when sending commands to the Host
Server.
Exit Paths
Success
This step takes the Success exit path if a connection with the host is established and no cached connection was available.
Cache
This step takes the Cache exit path if a cached connection was established.
Failure
This step takes the Failure exit path if a normal or cached connection was not established. This occurs if the mainframe
disconnects for some reason.
Host Connect Ex
This Host Interface tool creates a connection to a host and returns a connection handle. If enabled to do so, this tool will also
return a resource along with the connection handle.
Inputs
Host Profile
The name of the Host Profile to use when establishing this connection. This profile contains the connection settings.
294
Use cached connection if available
Once an open connection is cached, other Host Connect steps in other instances of this handler can quickly access the host over
this same connection. This enables other handlers to run faster because they do not have to connect to the host.
Screen Name
The optional name of a screen defined in the host profile. This is ignored if "Use cached connection if available" is unchecked.
Only those cached connections with matching screen names and matching profile names will be eligible to be selected from
the cache. If the screen name is empty, then any cached connection with a matching profile will be selected. If a (non-empty)
matching screen name is found, then a VerifyScreen is performed internally. If the VerifyScreen fails, the connection will be
physically disconnected and purged from the cache and the search for an eligible connection will repeat until one is found or
until there are no more connections to check, in which case a new connection is physically created.
Retry Count
The number of times the tool will attempt to create the connection before taking the Failure exit path.
The number of seconds the tool will wait between each attempt to create a connection.
If this option is selected, the tool will return a resource along with the connection handle once the connection is established.
Outputs
Host Connection
The handle for the connection to the host mainframe. Other host tools can use this handle when sending commands to the Host
Server.
Resource
If "Associate a resource with this connection" is selected, this field will contain the resource associated with the host connection.
Exit Paths
Success
This step takes the Success exit path if a connection with the host is established and no cached connection was available.
Cache
This step takes the Cache exit path if a cached connection was established.
Failure
This step takes the Failure exit path if a normal or cached connection was not established.
295
Host Disconnect
This Host Disconnect tool drops a connection established with a Host Connect step. Typically, this is the last step in a series of
Host Interface steps. If you choose to cache the connection, the connection is maintained for other Host Connect steps to connect
with the mainframe.
If you plan to use cached connections, consider using a Host Move to Screen step to navigate back to a starting point before
disconnecting from the host. This ensures that handlers using cached connections always start at the same screen.
For more information on using Host tools, see Overview of Host Interface tools.
Inputs
Host Connection
The name of the host connection to drop. The Host Connect step creates this handle.
Makes this connection available to Host Connect steps connecting via cached connections.
Exit Paths
Next
Host Disconnect Ex
This Host Interface tool ends a connected session with the host with a connection resource.
Inputs
Host Connection
The name of the Host Connection profile to use when establishing this connection. This profile contains the connection settings.
Makes this connection available to Host Connect steps connecting via cached connections. If this is not checked, then the
connection will be physically disconnected, and any resource associated with the connection will be released.
Screen Name
The name of the screen that the connection is currently on, as defined in the host profile.
Exit Paths
Next
296
Host Fetch Form Data
This Host Fetch Form Data tool retrieves data from a screen. The fields from which this tool collects data are determined by a host
profile which you create. This tool is typically used after navigating to a screen using a Host Move to Screen step.
Settings Page
Host Connection
Profile
The name of the host profile you created that defines the screens and fields from which this tool will retrieve data.
Screen Name
Field Bindings
This list contains the field names defined for this screen in the host profile. You can bind variables from your handler to these
fields, allowing you to process info from the screen within a handler.
Field
A list of fields for the specified screen defined in your host profile.
Variable
A list of variables bound to these fields. When this step executes, these variables will contain the values retrieved from the fields.
Binding button
Exit Paths
Success
This tool takes the Success exit path if the data was retrieved.
Failure
This tool takes the Failure exit path if the Host Connection, Profile, or Screen name are invalid. This tool also fails if the host profile
is out of sync with the field definitions used in the handler.
297
Host Find String
This Host Interface tool returns the row and column coordinates for an instance of a string you specify. Searching begins at row 1,
column 1, unless you select the Reverse search option where it begins at the lower right corner.
Inputs
Host Connection
String to Find
Number of occurrences
The number of occurrences to search for before returning the string position. For example, if you specify 2, this tool returns the
coordinates for the beginning of the second match.
Case-sensitive Search
Select this option if you want to search for an exact match to the specified string. Do not select this option if you are not
concerned with an exact match on case.
Reverse Search
Select this option if you want to start searching at the lower-right coordinate and search backwards. You might use this option if
there are multiple occurrences of an item on the screen, and you want to find the last one. Or, perhaps you know that an item will be
in the lower right quadrant of the screen, so a reverse search will be (slightly) faster than a forward search.
Outputs
Row
Column
Exit Paths
Success
This step takes the Success exit path if a match was found.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the search. This occurs if the
mainframe disconnects for some reason.
Not Found
This step takes the Not Found exit path if a match was not found between the search string and a string in the screen searched.
298
Host Get Connection Resource
This Host Interface tool returns a resource associated with a given host connection.
Inputs
Host Connection
The name of the connection created by the Host Connect Ex tool. Note that the Host Connect Ex tool must have the "Associate a
resource with this connection" box checked in order for there to be a resource associated with the host connection.
Outputs
Resource
Exit Paths:
Success
Failure
299
Host Get Cursor Position
This Host Interface tool returns the current row and column coordinate of a cursor in a screen.
Inputs
Host Connection
Outputs
Row
Column
Exit Paths
Success
This step takes the Success exit path if the cursor was found.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the search. This occurs if the
mainframe disconnects for some reason.
Inputs
Host Connection
The name of the connection created by the Host Connect or the Host Connect Ex tool.
Screen
Field Name
The name of the field in the screen that is being queried by this tool.
Outputs
Start X
The position on the screen denoting the beginning X coordinate of the field.
300
Start Y
The position on the screen denoting the beginning Y coordinate of the field.
End X
The position on the screen denoting the ending X coordinate of the field.
End Y
The position on the screen denoting the ending Y coordinate of the field.
Length
The length of the field as calculated using the Start X, Start Y and End X, End Y parameters. Some fields may extend beyond a given
line so both coordinates (x,y) are included when determining the length. Each coordinate may contain one character, so a field of n
length could contain n characters.
Foreground Color
Background Color
Protected
Bold
A Boolean variable indicating whether or not the text in the field is bolded.
Reverse Video
A Boolean variable indicating whether or not the field is displayed as reverse video.
Underlined
Blinking
Hidden
Exit Paths
Success
301
Failure
Inputs
Outputs
Available Number
Total Number
Exit Paths
Success
This path is taken if the available and total resource counts are successfully retrieved.
Failure
This path is taken if the tool was unable to retrieve the resource counts.
302
Host Get Screen
This Host Interface tool retrieves an entire screen and assigns each line as an element in a list of strings. Line 1 would be in
element 0, line 2 in element 1, and so on. You can then use the list tools or an expression to pull values from the list. Any blank
lines result in an empty string ("" ).
Inputs
Host Connection
Outputs
Result List
Exit Paths
Success
This step takes the Success exit path if the lines of the screen are successfully written to the list of string.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the search. This occurs if the
mainframe disconnects for some reason.
303
Host Get Screen Dimensions
This Host Interface tool returns the screen dimensions for a given host connection.
Inputs
Host Connection
The name of the connection created by the Host Connect or the Host Connect Ex tool.
Outputs
Screen Width
Screen Height
Exit Paths:
Success
Failure
304
Host Get String
This Host Interface tool retrieves a value from a screen starting at a row and column you specify. You also specify the number of
characters.
Inputs
Host Connection
Row
Column
Number of characters
Select this option if you want to remove any blank spaces from the end of the value retrieved.
Outputs
Result String
Exit Paths
Success
This step takes the Success exit path if the value retrieved is written to a string.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation. This occurs if the
mainframe disconnects for some reason.
305
Host Initialize Resource
This Host Interface tool creates and initializes an instance of a resource pool. On some systems you can use the same device
name for all sessions. However, on other systems a given device name cannot be used concurrently; some of these systems allow
an arbitrary device name, but some systems have a fixed pool of device names from which to select.
A resource pool is simply a list of strings. Once you initialize the pool with the resource list, they can pass the resource pool name
to the HostConnectEX tool, and it will assign an unused resource from the pool. If no resources are available in the pool, the
request will fail after the specifiable number of reties. When the connection is disconnected, the resource is released back to the
pool.
Inputs
The list of strings defining the resources within the resource pool.
Exit Paths
Success
Failure
306
Host Move To Position
This Host Interface tool moves the cursor to the screen row and column coordinates you specify. Use this tool when you are
already on the desired screen.
Inputs
Host Connection
Row
Column
Exit Paths
Success
This step takes the Success exit path if the cursor is successfully moved.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation. This occurs if the
mainframe disconnects for some reason.
307
Host Move To Screen
This Host Interface tool tells the Host Server to navigate to the specified screen. The destination screen must be specified in your
host profile.
Inputs
Host Connection
Host Profile
Beginning Screen
Destination Screen
Exit Paths
Success
This step takes the Success exit path if the destination screen is reached.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation, or if the host profile is
invalid. This occurs if the mainframe disconnects for some reason.
308
Host Press Key
This Host Interface tool types keystrokes into the terminal emulation. For a list of valid keystrokes available for Mainframes and
AS400s, click here.
Inputs
Host Connection
Key to press
Exit Paths
Success
This step takes the Success path if the keys are typed.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation, or if the host profile is
invalid. This occurs if the mainframe disconnects for some reason.
309
Host Put Form Data
This Host Interface tool writes information to a screen. The fields this tool writes to are defined in a host profile.
Settings
Host Connection
Profile
Screen Name
This list contains the field names defined for the specified screen. These fields are defined in your host profile.
Field
Expression
An expression built with Expression Editor Assistant that defines the value to be typed into the field. To edit an expression, select
an expression and then click the Binding button.
Binding button
Click this button to open the Expression Editor Assistant and assign an expression to a field.
Exit Paths
Success
This step takes the Success exit path if the values are written to the form fields.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation, or if the host profile is
invalid. This occurs if the mainframe disconnects for some reason.
310
Host Put String
This Host Interface tool writes information to a screen at the row and column coordinate you specify. The fields this tool writes to
are defined in a host profile.
Inputs
Host Connection
Row
The row coordinate for the position where the string is written.
Column
The column coordinate for the position where the string is written.
String to be entered
Exit Paths
Success
This step takes the Success exit path if the string is written to the screen.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation. This occurs if the
mainframe disconnects for some reason.
311
Host Verify Screen
This Host Interface tool verifies that you are on the expected screen. The Host Server uses a host profile to identify and move
between screens. Each screen has a certain number of fields or identifying elements that allow Host Server to verify that it is on the
specified screen. You might use this tool to verify that you are in the correct location after connecting via a cached Host
Connection.
Inputs
Host Connection
Host Profile
Screen
Exit Paths
Success
This step takes the Success exit path if the screen is validated.
Failure
This step takes the Failure exit path if the screen is not the one defined in the Screen parameter.
312
Host Wait For Cursor
This Host Interface tool waits for the cursor to appear at the specified position.
Inputs
Host Connection
Row
Column
Timeout
The number of milliseconds to wait before taking the Timeout exit path.
Exit Paths
Success
This step takes the Success exit path if it detects the cursor at the specified position.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation. This occurs if the
mainframe disconnects for some reason.
Timeout
This step takes the Timeout exit path if the cursor is not detected before the Timeout value elapses.
313
Host Wait For ReadyToSend
This Host Interface tool pauses a handler until the mainframe sends a Ready To Send (RTS) signal to the Host Server. You can also
specify that it wait for more than one RTS signal.
Inputs
Host Connection
The number of RTS signals to wait for before taking the Successful exit path.
The number of milliseconds to wait before taking the Timeout exit path.
Exit Paths
Success
This step takes the Success exit path if it receives the correct occurrence of the RTS signal.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation. This occurs if the
mainframe disconnects for some reason.
Timeout
This step takes the Timeout exit path if an RTS signal is not received before the Timeout value elapses.
314
Host Wait for Screen
This Host Interface tool waits for a specified screen defined in the host profile to appear. You might use this to verify that you are
on the correct screen before proceeding. This tool uses the validation rules specified in the host profile to verify the screen. See
validation rules in the Interaction Host Recorder documentation for more information.
Inputs
Host Connection
Host Profile
The name of a published host profile. You may select from a list of published host profiles.
Screen
Timeout (milliseconds)
The number of milliseconds to wait before taking the Timeout path. Refer to the following table for more information:
Exit Paths
Success
This step takes the Success exit path if the string appears.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation. This occurs if the
mainframe disconnects for some reason.
Timeout
This step takes the Timeout exit path if the string does not appear before the Timeout value expires.
315
Host Wait For String
This Host Interface tool waits for a specified string to appear at specified row and column on the terminal emulation. You might
use this to verify that a screen has finished painting before putting or retrieving values.
Inputs
Host Connection
Signal String
Row
Column
Timeout (milliseconds)
Choose this option to match based on case. Deselect this option to ignore case.
Exit Paths
Success
This step takes the Success exit path if the string appears.
Failure
This step takes the Failure exit path if the host connection is invalid, or becomes invalid during the operation. This occurs if the
mainframe disconnects for some reason.
Timeout
This step takes the Timeout exit path if the string does not appear before the Timeout value expires.
ICon
316
Overview of Interaction Conference (ICon) Tools
The ICon tool allows Interaction Conference to determine if a call is destined for a phone number that is being monitored for
conferencing.
Click the following tool for more information about that tool:
ICon Handle Call
Inputs
Call Identifier
The call ID for the incoming call. This ID is used to look up the dialed number to determine if it is one of the phone numbers
monitored for conferences.
Exit Paths
Success
Failure
This path is taken if Interaction Conference is not monitoring the dialed phone number. Normal call processing resumes.
Internet
Internet tools
Internet tools are for building handlers that interact with people over the Internet. These interactions can be through a web browser
or through Internet chat. CIC has the ability to generate custom web pages and pop-up chat utilities for a person browsing your web
site. For an overview of CIC’s Internet capabilities, see the technical reference guide on Web Services in your documentation library.
Click one of the following tools for more information about that tool:
Create Callback
Escape URL
Generate HTML
UnEscape URL
317
Create Callback
This Internet tool creates a Callback session with a remote user from a request submitted from a web site.
Inputs
Subject of the callback request. This is a single line field like the subject field of an email, where you enter a callback session
subject line. You cannot force this text to wrap using \n or \r, and the length is limited.
Queue to be transferred to
Outputs
Exit Paths
Success
Failure
318
Escape URL
This Internet tool formats an argument to be appended to a URL by converting any spaces and/or special characters into their ASCII
equivalents preceded by the % sign.
Example:
Consider the following URL:
http://thissite.com?arg1=test&arg2=this
Everything following the "?" is an argument that can be used by code (CGI, Java Script, servlet, VB script). In this format the "?","="
and "&" are special characters. Also, spaces are not allowed because a space signals the end of the arguments.
But, suppose arg1 was to be "this is a test? & how come?" instead of "test" as show above, resulting in the following URL:
http://thissite.com?arg1=this is a test? & how come?
This would cause a problem because the formatting of that argument is not consistent with URL formatting. Using this tool, the
above argument would have all spaces and special characters converted into their ASCII codes, with the URL-formatting-compliant
result being:
http://thissite.com?arg1=this%20is%20a%20test%3F%20%26%20how%20come%3f
Note: You must escape "this is a test? & how come" before you tack it on to the URL you are building. If you try to escape the
entire URL it may escape characters that should not be escaped.
Input
Output
Return Value
Exit Path
Next
Generate HTML
This Internet tool step generates an HTML document for a person browsing your web site. On the Settings page you can bind String
or List of String variables from a handler to substitution fields set up in an HTML template. These values appear in the web page
generated for the person browsing your web site. See Creating Handlers that Send Information to a Webpage in the Interaction Web
Tools Developer's Guide in the PureConnect Documentation Library.
Settings Page
Web Connection
This is the variable that contains the name of the web connection passed in by the HTML Event initiator. The web connection is set
by the CGI-server. You can send only one web page generated by a Generate HTML step to a connection. When this step is finished,
the web connection information is discarded.
319
Template
This drop-down combo box contains a list of templates. These templates are created from HTML documents and may contain a list
of substitution fields. Templates represent parsed HTML files that will be displayed for the person interacting with your web site. If
the template contains substitution fields, you’ll see a list of all the substitution fields. Choose the Manage button to create a new
template from an existing HTML document. See Creating Handlers that Send Information to a Webpage in the Interaction Web
Tools Developer's Guide in the PureConnect Documentation Library.
Note on HTML Templates: When you publish a handler containing a Generate HTML step, Interaction Designer puts the template
onto the CIC server so it will be available when the handler runs. A copy of the template kept in the handler (ihd file). In cases where
there is already an HTML template of the same name on the CIC server, Interaction Designer must decide whether to overwrite that
template with the template contained in the ihd file.
Interaction Designer marks all templates with timestamps, which are generated when the template is first parsed (in the properties
of the Generate HTML step when the user selects the HTML file). Interaction Designer uses these timestamps to determine if the
server's version of the HTML template is different than the ihd file's. If the server template is older, then Interaction Designer
overwrites it with the newer version from the ihd file. There are situations, though, where the template in the ihd file is older than the
one on the server.
Manage button
The Manage button opens the HTML Template Registration dialog box. In this dialog box you can create a new template by entering
information into two fields, Template Name and Input HTML Filename.
In Template Name, type a name for the template you want to create.
In Input HTML Filename, type or browse for the HTML document that contains the substitution fields.
When you click the OK button, CIC will parse the HTML file, and create a template containing a list of substitution fields. These
substitution fields are displayed in the list on the Settings page. You can bind values from a handler or subroutine to these
substitution fields. The template is stored in the Directory Services.
Substitution field
This list contains the names of any substitution fields in the template you chose. You can bind an expression or variable to a
substitution field by selecting a substitution field and clicking the Bind Variable button. This opens the Bind Expression to
Substitution Field dialog box where you can select a variable or build an expression to bind to the selected substitution field. The
only variables and expression types you can bind are String and List of String. All other types must be converted to a String or List
of String. Double-clicking a substitution field has the same effect as clicking the Bind Expression button.
Value
Click this button after selecting a substitution field to open the Bind Expression to Substitution Field dialog box. In this dialog box,
you can select a variable or build an expression to bind.
Click this button after selecting a substitution field to unbind the bound variable or expression.
Exit Paths
Next
320
UnEscape URL
This Internet tool is the inverse of Escape URL. It converts an escaped argument back into its original form by replacing the ASCII
codes with the characters they represent.
Input
Output
Return Value
This string is the argument with any ASCII code replaced with the appropriate characters.
Exit Path
Next
IpNotes
Overview of IpNotes
The IpNotes tool set allows the handler author to store and retrieve named entities consisting of an arbitrary number of named
attributes of any of the ID-defined types Integer, String, or Date/Time. Each attribute is a list of values of a particular type. An IpNote
is available to all handlers on a given server and is accessed by name. IpNotes can be removed explicitly, or can be set to terminate
automatically after a time interval specified at creation.
See the white paper, A Guide to Interaction Multi-Site, for a more detailed explanation of using IpNotes tools in CIC.
Click on a tool below to learn more about that tool:
Create Note
Get Notes Attribute Date/Time
Get Notes Attribute Integer
Get Notes Attribute String
Remove Note
Update Notes Attribute Date/Time
Update Notes Attribute Integer
Update Notes Attribute String
321
Create Note
This IpNotes tool adds a new note that is available to all handlers and is accessible by name. A note is a list of named lists of three
different types: Integer, String, and Date/Time. These lists are called attributes and can have any number of items in them as long as
they are all of the same type. There can be any number of attributes per note.
Inputs
Note Name
If a non-zero value is specified, the note will exist until the time expires. Otherwise, the note will exist until explicitly removed by the
Remove Note tool.
Exit Paths
Success
Failure
Note Exists
This path is taken if the note name is already present in the list.
322
Get Notes Attribute Date/Time
This IpNotes tool retrieves the attribute specified by the attribute name from the note specified by the note name. The list returned
contains zero or more Date/Times.
Inputs
Note Name.
The name of a note created by the Create Note tool or retrieved from a message by Multi-Site Get Note. The note must exist or the
"Unknown Note" exit path will be taken.
Attribute Name
The string value that was used to create the attribute using the "overwrite" operation of one of the various tools that assign Note
Attributes.
Outputs
The Date/Time of the last successful update to any attribute in the note.
Exit Paths
Success
Failure
Unknown Note
Unknown Attribute
Wrong Type
This path is taken if the specified attribute exists, but it is not a Date/Time.
323
Get Notes Attribute Integer
This IpNotes tool retrieves the attribute specified by the attribute name from the note specified by the note name. The list returned
contains zero or more Integers.
Inputs
Note Name
The name of a note created by the Create Note tool or retrieved from a message by Multi-Site Get Note. The note must exist or the
"Unknown Note" exit path will be taken.
Attribute Name
The string value that was used to create the attribute using the "overwrite" operation of one of the various tools that assign Note
Attributes.
Outputs
The Date/Time of the last successful update to any attribute in the note.
Exit Paths
Success
Failure
Unknown Note
Unknown Attribute
Wrong Type
This path is taken if the specified attribute exists, but it is not an integer.
324
Get Notes Attribute String
This IpNotes tool retrieves the attribute specified by the attribute name from the note specified by the note name. The list returned
contains zero or more Strings.
Inputs
Note Name
The name of a note created by the Create Note tool or retrieved from a message by Multi-Site Get Note. The note must exist or the
"Unknown Note" exit path will be taken.
Attribute Name
The string value that was used to create the attribute using the "overwrite" operation of one of the various tools that assign Note
Attributes.
Outputs
The Date/Time of the last successful update to any attribute in the note.
Exit Paths
Success
Failure
Unknown Note
Unknown Attribute
Wrong Type
This path is taken if the specified attribute exists, but it is not a string.
325
Remove Note
This IpNotes tool removes a previously created note. If a note is removed by any handler, it will cease to exist for any handler that
tries to retrieve it after it has been removed.
Inputs
Note Name
The name of a note created by the Create Note tool or retrieved from a message by Multi-Site Get Note. The note must exist or the
"Unknown Note" exit path will be taken.
Exit Paths
Success
Failure
Unknown Note
This path is taken if the note name was not found in the list.
326
Update Notes Attribute Date/Time
This IpNotes tool writes a named list of date/time values to an existing note. The user can choose to overwrite the old values, add
more values, or selectively remove values already present.
Inputs
Note Name
The name of a note created by the Create Note tool or retrieved from a message by Multi-Site Get Note. The note must exist or the
Unknown Note exit path will be taken.
The "append" operation adds the supplied list of values to the values already present in the attribute.
The "overwrite" operation replaces any existing values with the supplied list. Note that the entire list is replaced, not the individual
values. This means that if there were ten old values and you supplied a list of five new values, the resulting attribute would contain
only the five new values, not five new and five old.
The "remove" operation searches for values in the existing list that match hose in the supplied list and removes the first occurrence
of each that is found.
Attribute Name
A string value by which the attribute of this type will be (or already is) accessible. He attribute must already exist if the update
operation is append or remove. If not, the Unknown Attribute Exit Path will be taken. To set the initial values in a newly-created
attribute, you must select the overwrite operation.
Exit Paths
Success
Failure
Unknown Note
This path is taken if the specified Note cannot be found. This path will only apply when the update operation is Append or Remove.
Unknown Attribute
This path is taken if the specified attribute cannot be found. This path will only apply when the update operation is Append or
Remove.
Wrong Type
This path is taken if the specified attribute exists, but it is not a Date/Time.
327
Update Notes Attribute Integer
This IpNotes tool writes a named list of integer values to an existing note. The user can choose to overwrite the old values, add
more values, or selectively remove values already present.
Inputs
Note Name
The name of a note created by the Create Note tool or retrieved from a message by Multi-Site Get Note. The note must exist or the
Unknown Note exit path will be taken.
The append operation adds the supplied list of values to the values already present in the attribute.
The overwrite operation replaces any existing values with the supplied list. Note that the entire list is replaced, not the individual
values. This means that if there were ten old values and you supplied a list of five new values, the resulting attribute would contain
only the five new values, not five new and five old.
The remove operation searches for values in the existing list that match those in the supplied list and removes the first occurrence
of each that is found.
Attribute Name
A string value by which the attribute of this type will be (or already is) accessible. He attribute must already exist if the update
operation is append or remove. If not, the Unknown Attribute exit path will be taken. To set the initial values in a newly-created
attribute, you must select the overwrite operation.
Exit Paths
Success
Failure
Unknown Note
This path is taken if the specified Note cannot be found. This path will only apply when the update operation is Append or Remove.
Unknown Attribute
This path is taken if the specified attribute cannot be found. This path will only apply when the update operation is Append or
Remove.
Wrong Type
This path is taken if the specified attribute exists, but it is not an integer.
328
Update Notes Attribute String
This IpNotes tool writes a named list of string values to an existing note. The user can choose to overwrite the old values, add
more values, or selectively remove values already present.
Inputs
Note Name
The name of a note created by the Create Note tool or retrieved from a message by Multi-Site Get Note. The note must exist or the
Unknown Note exit path will be taken.
The append operation adds the supplied list of values to the values already present in the attribute.
The overwrite operation replaces any existing values with the supplied list. Note that the entire list is replaced, not the individual
values. This means that if there were ten old values and you supplied a list of five new values, the resulting attribute would contain
only the five new values, not five new and five old.
The remove operation searches for values in the existing list that match hose in the supplied list and removes the first occurrence
of each that is found.
Attribute Name
A string value by which the attribute of this type will be (or already is) accessible. He attribute must already exist if the update
operation is append or remove. If not, the Unknown Attribute exit path will be taken. To set the initial values in a newly-created
attribute, you must select the overwrite operation.
Exit Paths
Success
Failure
Unknown Note
This path is taken if the specified Note cannot be found. This path will only apply when the update operation is Append or Remove.
Unknown Attribute
This path is taken if the specified attribute cannot be found. This path will only apply when the update operation is Append or
Remove.
Wrong Type
This path is taken if the specified attribute exists, but it is not a string.
329
LDAP
An entry's DN is comprised of it's own name, and the names of its parent entries. For example, compare the JDoe entry DN to the
previous figure to see how the DN is constructed:
uid=JDoe, ou=subscribers, ou=People, dc=inin, dc=com
Many of the LDAP tools require you to specify the DN you want to query or write to. Your DNs will look different since you have a
different DIT. You should discuss your company's DIT structure with your LDAP administrator so that your handlers can construct
valid DNs.
All entries contain attributes. Attributes are name/value pairs, and some attributes have more than one value, as illustrated in the
following figure.
A person entry, such as JDoe in the previous figure, might contain a uid (user ID), common name (cn), mail, and many more
attributes. The LDAP tools enable you to retrieve the value of an attribute in the directory entry you specify. Therefore, you could
use the LDAP tools to search for all entries where the last name is Doe and return all email address attributes for those matching
entries. Again, you'll need to discuss the entry types and their associated attributes with your LDAP administrator. He or she can
give you a list of all entry types and their attribute names. You'll need this information when processing attributes within handlers.
The LDAP tools allow you to create and delete entries, and to read, write, and delete attribute values.
Add Entry
Creates a new entry at the location you specify. You may also specify the entry's attributes and their values.
Add Entry Ex
Add Entry Ex creates a new entry like the Add Entry tool, but allows you to use an operation list to assign multiple values to an
attribute.
Add Operation
Creates an LDAP operation and adds it to the operation list for execution with the Add Entry Ex or Modify Entry Ex tools. Operation
lists are useful in LDAP because they allow you to perform multiple operations on multiple attributes over one connection to the
LDAP server. For example, a caller might choose to modify their password and change several other personal settings through an
IVR. The handler could add all of these operations to a list, and then execute them. You must specify an integer for the type of
operation to perform.
Note: To create a list of multiple operations will probably use many instances of this tool in a handler, or create a loop so that this
tool executes several times.
Close Session
331
The Close Session tool explicitly releases an LDAP session, making it available again in the cache.
Delete Entry
Flush Cache
This tool removes all connections from the connection cache that are not currently in use.
Get Entry Attributes takes an entry handle (generated by the Read Entry or Next Entry tool) and extracts the value of an attribute you
specify. The value must be one of the values you requested with the Read Entry or Search Entry tools. The attribute values are
placed in a list of string variables. This is because an attribute can have more than one value.
Login
The Login tool logs a user into an LDAP server. The Login step must execute once in the handler before other LDAP tools are
executed. You must specify a Login ID and Password. The other LDAP tools will have permissions based on that user's
permissions. For example, if the tool logs in as administrator, the handler might have read/write access to the entire DIT. An
individual user's login might grant access to only that user's entry.
Modify Entry
Changes the value of one or more LDAP entry attributes. Note that you may only specify one value for each attribute. However, if an
attribute already has a value, you may use this tool to specify one additional value.
Modify Entry Ex
While the Modify Entry tool allows you to modify a single attribute, the Modify Entry Ex tool allows you to modify multiple attributes
and to assign multiple values to a single attribute. This is useful because it reduces the network resources required to execute
multiple operations. The operations list that this tool executes includes add, delete, and modify entry operations. Use the Add
operation tool to create an operation and add it to an operation list. You might use Modify Entry Ex in a handler when a caller
selects several configuration options in a single IVR session. Each configuration option could be stored in the handler's operation
list and executed simultaneously before the handler ends.
Move Entry
Changes the RDN attribute and changes the parent. All of the attribute values remain unchanged except for the UID attribute.
Next Entry
The Search Entries tool generates the search result object that may contain multiple matching entries. There is an iterator in the
search result object that points to one of those entries. The Next Entry tool generates a handle to the entry that the iterator is
pointing to, and then moves the iterator to the next entry in the search result object. The entry handle can then be passed to the Get
Entry Attribute tool (just like the entry handle the Read Entry tool creates. When all of the entries have been read, this tool takes the
End of List exit path.
Read Entry
Read Entry retrieves specified attributes from a specified DS entry. It then creates an entry handle to that entry that you can pass to
the Get Entry Attribute tool to extract the attribute value(s).
332
Rename Entry
Changes the RDN attribute of an LDAP entry without changing its parent. All of the attribute values remain unchanged except for the
UID attribute.
Search Entries
Searches a specified portion of a DIT for entries that match one or more search criteria. The search criterion consists of
attribute/value pairs and allows several types of wildcard matching. You also specify the attribute/value pairs you want to return for
all matching entries. The matches are placed in a search result object.
Session
Session uses the Login ID to generate a session with the LDAP server. Several other LDAP tools that add, modify, and delete entries
use the Session ID this tool generates. The session tool typically follows the Login tool.
Sets an upper limit to the number of connections that will be held in the connection cache.
333
LDAP: The order in which LDAP tools might be used
This section illustrates the order in which the tools might be used. Tools like Delete Entry only require Login and Session, but other
LDAP tools must precede Get Entry Attribute. This chart does not illustrate the non-LDAP tools you might use to perform such
operations as collecting input from users or creating lists with attribute values.
See the Introduction to LDAP Tools for LDAP tool overview and descriptions.
334
Add Blob Attribute
This LDAP tool adds an operation into the list of operations to be executed on the LDAP server. The operation added is an
operation to store the content of a blob (located in a file) as the value of an attribute on an entry of the LDAP server.
Inputs
Operation List
Attribute
Blob file
The file containing the content of the blob (icon, program, image, sound, prompt, etc.).
Outputs
Operation List
Error Code
Error Message
Error Native
Exit Paths
Success
Failure
335
Add Entry
This LDAP tool adds an entry to the LDAP DS tree. You can only add entries if the user logged in with the Login tool has rights to
add an entry. The DS schema may also restrict the types of entries that may be added. See Introduction to LDAP tools for more
information on using this tool.
Inputs
Session Id
EntryDN
The location within the LDAP DS where this entry is added. For example, you might use: "uid=JDoe, ou=subscribers, ou=People,
dc=inin, dc=com". Contact your LDAP administrator for information regarding the entry location syntax for your LDAP directory
information tree.
Attributes
A list of string value containing the attribute names to add with this entry. You might create this list using the Parse String tool.
Values
A list of strings (parallel to Attributes list) that contains values corresponding to the attribute names. You might create this list
using the Parse String tool.
Note : Each attribute name may have only one value associated with it. If you want to assign more than one value to an
attribute, use the Add Entry Ex tool.
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
336
Add Entry Ex
This LDAP tool creates an entry at the location you specify with the attributes you specify in the operations. This tool allows you to
create entry attributes with multiple values. If each attribute in the entry needs only one value, then use the Add Entry tool. See
Introduction to LDAP tools for more information on using this tool.
Note: The operations list that this tool requires may contain only Add operations. See the Add Operation tool documentation
for more information.
Inputs
Session Id
EntryDN
The distinguished name (DN) of the entry this tool creates. For example, you might use: "uid=JDoe, ou=subscribers, ou=People,
dc=inin, dc=com". Contact your LDAP administrator for information regarding the entry location syntax for your LDAP directory
information tree.
OperationList
A list of operations to execute. This operation list is generated with one or Add Operation tools.
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Add Operation
This LDAP tool creates an LDAP operation and adds it to the operation list for execution with the Add Entry Ex or Modify Entry Ex
tools. Operation lists are useful in LDAP because they allow you to perform multiple operations on multiple LDAP entries over one
connection. For example, a caller might choose to modify their password and change several other personal settings through an
IVR. The handler could add all of these operations to a list, and then execute them. You must specify an integer for the type of
337
operation to perform. You must also specify an attribute to operate on and optionally an attribute value to use (with add and modify
operations.) See Introduction to LDAP tools for more information on using this tool.
Note: If you are creating an operation list for the Add Entry Ex tool, you may only specify Add operations. This is because Add
Entry Ex should only be used to created entries that contain multi-valued attributes.
Inputs
Operation List
The operation list to which the operation should be added. If you do not specify an operation list, one is created for you. The
operation name is then available from the output Operation List parameter.
Operation
Attribute
Values
For Add and Modify operations, specify the attribute values to use when changing the entry. For delete operations you should not
specify a value.
Outputs
OperationList
If you did not specify the name of an operation list in the Operations List input parameter, this is the name of the operation list that
was created for you. You will need this operation list when executing the list with the Add Entry Ex or Modify Entry Ex tools.
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
338
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Close Session
This LDAP tool explicitly closes a single LDAP session, making that session available again in the cache.
Input
Session Id
The unique identifier for this session. This session ID is used by other LDAP tools.
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
339
Delete Entry
This LDAP tool deletes an entry in a LDAP DS tree. See Introduction to LDAP tools for more information on using this tool.
Inputs
Session ID
The unique identifier for the session created with the Session tool.
EntryDN
The distinguished name (DN) of the entry this tool will delete. For example, you might use: "uid=JDoe, ou=subscribers, ou=People,
dc=inin, dc=com". Contact your LDAP administrator for information regarding the entry location syntax for your LDAP directory
information tree.
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this IC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
340
Explode DN
This LDAP tool converts an LDAP distinguished name (DN) into its component parts. For example, the distinguished name
"uid=JohnDoe,cn=users,dc=domain,dc=com" would tokenize into a string array of four component elements. Element 0:
"uid=JohnDoe" Element 1: "cn=users" Element 2: "dc=domain" Element 3: "dc=com"
This works with any LDAP implementation.
Inputs
Distinguished Name
Outputs
Tokens
The output is a list of tokens that each contain a segment of the DN. For example,
Element 0: "uid=JohnDoe"
Element 1: "cn=users"
Element 2: "dc=domain"
Element 3: "dc=com"
Exit Paths
Success
Failure
341
Flush Cache
This LDAP tool removes all LDAP connections that are currently not in use from the cache. This would be useful in purging the
cache after occasional peaks in activity to free up server connections for other uses.
For example, a server may have a high maximum cache size set to facilitate a relatively short period of high activity each day. After
this high activity period ends, the large cache size is no longer necessary and the connections stored in the cache are essentially
being wasted. Calling this tool after such a period would make those connections available for other uses until the next high activity
period.
Note that using this tool too often will negate the usefulness of caching connections at all.
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
This path is taken if all unused connections are removed from the cache.
Failure
342
Get Cache Size
This LDAP tool retrieves the number of connections currently held in the LDAP connection cache.
Outputs
Cache Size
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
343
Get Entry Attribute
After retrieving all of an LDAP entry's attribute information with the Read Entry tool, use this LDAP tool to retrieve the list of values
for a specific attribute in that entry. For example, after retrieving all of the attributes for the user John Doe with the Read Entry tool,
use this tool to get a list of email address values in the mail attribute. See Introduction to LDAP tools for more information on
using this tool.
Inputs
Entry
The handle to the entry that was created with the Read Entry tool's Entry output parameter.
Attribute
Outputs
EntryDN
Values
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
344
Get Entry Blob Attribute
This LDAP tool extracts the content of a blob (Binary Large OBject) located in an attribute value and stores it in a file. The Entry
object must be retrieved by applying a search operation on the LDAP server.
Inputs
Entry
The entry object that has been retrieved via the LDAP search request.
Attribute
Blob file
Outputs
EntryDN
The fully DN name of the entry specified by the Entry input above.
Blob file
The full name of the blob file created to store the content of the blob attribute.
Error Code
Error Message
Error Native
Exit Paths
Success
Failure
Login
This LDAP tool logs a user into the LDAP server. The level of access granted by this login depends upon the access rights of the
345
user logging in. The Login ID this tool generates is used by the Session tool. See Introduction to LDAP tools for more information
on using this tool.
Do not use this tool if you want to log in anonymously.
Inputs
User DN
Password
Authentication
An integer value specifying the type of security to log in with. Refer to the following table:
Outputs
LoginID
The unique login ID is a handle that other tools can use to perform operations over this login. The Session tool requires this
LoginID.
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server. You can use
this value for debugging purposes.
Exit Paths
Success
This step takes the Success exit path if the login completes successfully.
346
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Modify Entry
This LDAP tool changes the value of one or more LDAP entry attributes. Note that you may only specify one value for each
attribute. However, if an attribute already has a value, you may use this tool to specify one additional value. See Introduction to
LDAP tools for more information on using this tool.
Inputs
Session ID
The unique identifier for the session created with the Session tool.
EntryDN
The distinguished name (DN) of the entry this tool will modify. For example, you might use: "uid=JDoe, ou=subscribers, ou=People,
dc=inin, dc=com". Contact your LDAP administrator for information regarding the entry location syntax for your LDAP directory
information tree.
Attribute
A list of strings containing the name of one or more attributes to modify. You might create this list using the Parse String tool.
Values
A list of strings (parallel to the Attribute list) that specifies the values for the attributes to modify.
Operation
0=Delete Attribute If the logged in user has permissions, this operation deletes all values for the specified attributes.
1=Add attribute If the logged in user has permissions, this operation adds another value to the attributes. This operation allows
you to create multi-valued attributes. For example, if the attribute foo contains the values "A" and you add the value "C", foos
value will be "A" and "C" after this operation.
2=Replace attribute replaces one or more existing attribute values with the attribute value that you specify. For example, if the
attribute foo contains the values "A" and "B" and you replace them with "C", foos value will be "C" after this operation.
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
347
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Modify Entry Ex
This LDAP tool executes the operations in an operations list. Each operation in the list can delete, add to, or modify the values of
an LDAP entry's attribute. See Introduction to LDAP tools for more information on using this tool.
Inputs
Session ID
The unique identifier for the session created with the Session tool.
EntryDN
The distinguished name (DN) of the entry this tool will operate on. For example, you might use: "uid=JDoe, ou=subscribers,
ou=People, dc=inin, dc=com". Contact your LDAP administrator for information regarding the entry location syntax for your LDAP
directory information tree.
OperationList
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Move Entry
348
This LDAP tool moves a LDAP Directory Services entry to another location within the DS tree. You specify the name of the entry to
move, the entries new Relative Distinguished Name (RDN) to where it will be located after the move, and the entries Parent
Distinguished Name (DN). See Introduction to LDAP tools for more information on using this tool.
Inputs
Session ID
The unique identifier for the session created with the Session tool.
EntryDN
The distinguished name (DN) of the entry this tool will operate on. For example, you might use: "uid=JDoe, ou=subscribers,
ou=People, dc=inin, dc=com". Contact your LDAP administrator for information regarding the entry location syntax for your LDAP
directory information tree.
NewEntryRDN
The relative distinguished name of the entry to be created. This, combined with NewParentRDN, specifies the new location. If the
DN is:
"uid=JDoe, ou=subscribers, ou=People, dc=inin, dc=com", then the RDN of the original entry would be "uid=Jdoe". To specify the new
RDN of Jsmith, you would use:
"uid-Jsmith" in this parameter.
NewParentDN
The parent entry of the new location. This, combined with NewEntryRDN, specifies the new location. For example, you might move
the JSmith entry to the "ou=GoldCustomers" by specifying the following string in this parameter:
"ou=GoldCustomers, ou=People, dc=inin, dc=com"
When this tool executes, it results in the new entry:
"uid=Jsmith, ou=GoldCustomers, ou=People, dc=inin, dc=com"
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
349
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Next Entry
This LDAP tool reads an LDAP entry in a search result object (generated with the search tool) and moves the iterator to the next
element in the search result object.
For example, the Search tool generates a search result object with 3 entries and initializes the iterator to point to the first element,
as shown in the following table. The Search tool automatically places the iterator at the first element when it creates the list.
See Introduction to LDAP tools for more information on using this tool.
Element # Iterator
0 •
1
2
The Next Entry tool extracts the entry ID from the element to which the iterator is pointing and places it in the Entry output
parameter. (You can then use the Get Entry Attribute tool to extract the value of one of that entry's attributes. See the Search tool
documentation for more information on selecting the attribute values to return with the search.)
Now the next entry tool moves the iterator to the next element in the search result object, as shown in the following figure:
Element # Iterator
0
1 •
2
The next time the Next Entry tool executes, it extracts the entry id from the element to which the iterator is pointing, then moves the
iterator to the next element, as shown in the following figure:
Element # Iterator
0
1
2 •
The next time the Next Entry tool executes, it see that the iterator is pointing to the last element in the list, extracts no information,
and takes the End of List exit path.
Inputs
Entries
This is the handle (output by the Search tool) to the search result object containing the matching entries. You can pass this handle
to the Get Entry Attribute tool.
Start Iteration?
False by default. Set this value to True to reset the iterator to point to the first element in the list. You would use this if you wanted
to cycle through the list again. Set this value to false to not move the iterator from the element to which it currently points.
350
Outputs
Entry
A handle to the entry that was read from the search result object. You can pass this entry handle to the Get Entry Attribute tool.
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
This tool takes the Success path if the entry was correctly read and if the iterator was moved to the next entry in the list.
End of List
This tool takes the End of List exit path if the iterator was moved to the last element in the list.
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
351
Read Entry
This LDAP tool retrieves specified attributes from a specified LDAP Directory Services entry. It then creates a handle to that entry
that you can pass to the Get Entry Attribute tool. See Introduction to LDAP tools for more information on using this tool.
Inputs
Session ID
The unique identifier for the session created with the Session tool.
EntryDN
The distinguished name (DN) of the entry this tool will operate on. For example, you might use: uid=JDoe, ou=subscribers,
ou=People, dc=inin, dc=com
Contact your LDAP administrator for information regarding the entry location syntax for your LDAP directory information tree.
Attributes
A list of string value containing the names of the attributes you want to retrieve. Leave this field blank to retrieve all attributes. You
might use the Parse String tool to generate the list of attributes.
Timeout
The amount of time to wait before taking the Failure exit path.
Outputs
Entry
The handle to the entry. You can pass this handle to the Get Entry Attribute tool to extract the values of one of the attributes this
tool acquired.
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
352
Rename Entry
This LDAP tool changes the Distinguished Name of an LDAP entry without changing its parent entry. See Introduction to LDAP tools
for more information on using this tool.
Inputs
Session ID
The unique identifier for the session created with the Session tool.
EntryDN
The distinguished name (DN) of the entry this tool will operate on. For example, you might type: "uid=JDoe, ou=subscribers,
ou=People, dc=inin, dc=com"
NewEntryRDN
The new distinguished name of the entry. You so not need to type the entire DN, just the portion you want to change. For example,
you might type: "uid=Jsmoe". This would create the DN: "uid=Jsmoe, ou=subscribers, ou=People, dc=inin, dc=com"
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Search Entries
This LDAP tool queries a specified portion of an LDAP Directory Information Tree (DIT) for all entries matching specified criteria.
For each matching entry, Search Entries returns the entry ID and a list of attribute/value pairs that you request. This tool can return
0, 1, or many matches to your search criteria. All matches are placed in a search result object. You can use the Next Entry tool to
iterate through this list of matching entries.
For example, suppose you want to return the email addresses for all entries that have "Schiller" in their UID attribute value. For each
match, you want the entry's email address ("mail" attribute). The search creates a search result object containing 3 entries:
SchillerA, SchillerAS, and SchillerTU. Each entry has a mail attribute/value pair. You can use the Next Entry tool to extract the first
353
entry ID and move the iterator to the next entry, then use the Get Entry Attribute tool to read the value of the mail attribute
associated with the entry ID. In this way you can extract the email address values for each entry in the search result object.
See Introduction to LDAP tools for more information on using this tool.
Note: Do not use the Login tool after this tool if you want to log in anonymously.
Inputs
Session ID
The unique identifier for the session created with the Session tool.
SearchBase
The portion of the DS you want to search. You must specify a DS object with a full DN, such as "ou=subscribers, ou=People, dc=inin,
dc=com".
SearchFilter
An expression that specifies the types of entries to return. Some common filters are described in the table below, but you should
consult an LDAP reference. Also, see the topic LDAP: The order in which LDAP tools might be used.
Here are some common search filters:
Syntax Description
"(sn=smith)" This filter matches entries with the sn (surname) attribute whose value is exactly
smith.
"(sn=smith*)" Matches entries where the sn attribute begins with smith, such as smithers.
"(sn=*smith)" Matches entries where the sn attribute ends with smith, such as goldsmith.
"(sn=smi*th)" Matches entries where the sn attribute begins with smi and ends with th, such as
smi.
"(sn~=smith)" Matches entries that sound like smith. This function is implemented differently
depending upon your LDAP server and the language it employs employed.
"(sn<=smith)" Matches entries where the sn attribute is less than or equal to smith
lexicographically.
SearchScope
Indicates the area you want to search. This parameter accepts three integer values, as shown in the following table:
Timeout
354
The maximum number of seconds the LDAP server should spend trying to honor the search request. Specify 0 for no timeout at all.
SizeLimit
Specifies the maximum number of entries to retrieve. For example, if your size limit is 100, but the server locates 500 matching
entries, this tool returns the first 100, and the result code LDAP_SIZELIMIT_EXCEEDED is returned. Set SizeLimit to 0 to return all
matching entries, or the maximum number allowed by your server.
Attributes
A list of string containing the attributes you want to return for each matching entry. If you leave this field blank, all attributes are
returned.
Outputs
Entries
The handle to the search result object. You can pass this handle to the Next Entry tool to extract the values of one entry for use
with the Get Entry Attribute tool.
Number of Entries
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Session
This LDAP tool generates a Session ID which is used other LDAP tools to send commands to the LDAP Server. See Introduction to
LDAP tools for more information on using this tool.
Inputs
HostName
355
The name of the server hosting the LDAP DS (Directory Server). This value is not required if the host server is on the local network.
You may specify the name of the server or that server's IP address.
SearchBase
The OU (Organization Unit) of the DS tree you want to search. For example, in the following DN (Distinguished Name)
uid=DoeJ,ou=mail users,ou=people,o=xyxy.com , the OU is mail users .
Login Id
The login ID generated with the Login tool in a step preceding this one in the handler.
Host Port
This optional field specifies the port through which to connect to the LDAP server. The default is 0.
Timeout
This optional field is the number of seconds to wait before timing out (Failure exit). The default is 3 seconds.
SizeLimit
A limit to the number of times that can be returned with any queries made during this session. Queries return lists, and this setting
limits the size of those lists for all queries in this session.
Outputs
V3Compliant
True of the LDAP server is LDAP version 3 compliant. False if the LDAP server is not LDAP version 3 compliant.
Session Id
The unique identifier for this session. This session ID is used by other LDAP tools.
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
This tool takes the Failure exit path if an error occurred. Examine the output error text to determine the problem.
Inputs
Outputs
Error Code
Error Message
Error Native
A string description of an error that occurred in the LDAPLib module that connects this CIC server to your LDAP Server.
Exit Paths
Success
Failure
List
List Tools
List tools access and sometimes modify the contents of a list variable. List variables are like regular variables, except that they can
hold more than one value. For example, a variable of type ListofString can contain two or more string values. List variables are
created using the InsertAtHead and InsertAtTail tools.
List variables allow you to hold multiple values of a specific type. For example, a list variable of a string type could contain many
string values. A list variable can be declared for each of the following data types: String, Integer, Boolean, Database, DateTime,
DBConnection, and Numeric. There is no limit to the number of elements in a list.
For each element in a list variable is assigned a place number. The first place number is always zero, the second is one, the third is
two, and so on. The first element in a list is called a Head. Therefore, the Head of a list is always at place number 0. The end of a
list is called a Tail. The place number for a tail is always the number of the last element in a list. Therefore, the place number of the
tail may change as elements are added or removed from a list.
357
You might want to use a list variable to store multiple items retrieved from multiple fetches to a database. For example, if you have
a handler that allows callers to retrieve information on all financial transactions that have occurred for a specific account over the
past five days, you could have a step that fetches information on all transactions and stores them in a list variable.
List variables may be created for the following data types:
Accumulator Lock Key
Boolean
Call Id
Conference Id
Database
Date Time
DB Connection
Diagnostic Data
Fax Envelope Ids
Fax File Ids
Fax Object Ids
Fax Page List Ids
File Handle
Host Interface Connections
Integer
Mail Folder
MQConnection
MQObject
Numeric
Prompt
Recording
Queue Period Statistics
Recording Id
Socket Handle
String
Web Connection
Click on one of the following tools for more information about that tool:
Copy String List
Filter List
Find
GetAt
GetCount
InsertAt
InsertAtHead
InsertAtTail
List To String
Merge String Lists
Parse String
RemoveAll
RemoveAt
RemoveHead
RemoveTail
SetAt
Sort Lists
Update Data Pair Values
358
Copy String List
This List tool makes a copy of a list of strings. You can also use it to rename a list of strings. The optional Boolean input, when set
to True, allows for clearing the source list.
Inputs
Set this Boolean parameter to True to empty the source list of strings, reducing the memory used to store the list. This is useful
when using the tool to rename a list of string.
Outputs
This is the source list of string that will be copied. This variable is passed by reference. This list may be cleared after copying by
setting the Empty Source List input parameter to True.
This variable will contain an exact copy of the source string list. The order, case, number of elements, and any blank elements in the
source list are preserved. No filtering of the list is performed.
Exit Paths
Next
Filter List
This List tool removes entries that don't match the specified string in String to be used for filter parameter and removes the
corresponding entries in up to four parallel lists. You can specify the criteria used in selecting the item.
Example 1:
String to be used in Filter: "Dogs"
Position List of Strings to Parallel List Parallel List Parallel List Parallel List
Be Processed
0 Birds Canary Finch Robin Goose
1 Cats Siamese Tabby Black Persian
2 Dogs Labrador Beagle Leonberger Terrier
3 Lizards Ghecko Ghila Monitor Chameleon
4 Bears Black Brown Polar Koala
Resulting Lists:
359
Position List of Strings to Parallel List Parallel List Parallel List Parallel List
Be Processed
0 Dogs Labrador Beagle Leonberger Terrier
Example 2:
String to be used in Filter: "Dogs"
Retain entries with empty strings: true
Position List of Strings to Parallel List Parallel List Parallel List Parallel List
Be Processed
0 Birds Canary Finch Robin Goose
1 Cats Siamese Tabby Black Persian
2 Dogs Labrador Beagle "" Terrier
3 Lizards Ghecko Ghila Monitor Chameleon
4 Bears Black Brown Polar Koala
Resulting Lists:
Position List of Strings to Parallel List Parallel List Parallel List Parallel List
Be Processed
0 Dogs Labrador Beagle "" Terrier
Example 3:
String to be used in Filter: "Dogs"
Retain entries with empty strings: false
Position List of Strings to Parallel List Parallel List Parallel List Parallel List
Be Processed
0 Birds Canary Finch Robin Goose
1 Cats Siamese Tabby Black Persian
2 Dogs Labrador Beagle "" Terrier
3 Lizards Ghecko Ghila Monitor Chameleon
4 Bears Black Brown Polar Koala
Resulting Lists:
Returns lists with no entries. All lists will be emptied if one of the elements in a corresponding matching entry is empty.
Example 4:
String to be used in Filter: "B"
Retain entries with empty strings: true
Perform leading substring comparison: true
360
Position List of Strings to Parallel List Parallel List Parallel List Parallel List
Be Processed
0 Birds Canary Finch Robin Goose
1 Cats Siamese Tabby Black Persian
2 Dogs Labrador Beagle Leonberger Terrier
3 Lizards Ghecko Ghila Monitor Chameleon
4 Bears Black Brown Polar Koala
Resulting Lists:
Position List of Strings to Be Parallel List Parallel List Parallel List Parallel List
Processed
0 Birds Canary Finch Robin Goose
1 Bears Black Brown Polar Koala
Inputs
The text string that is searched for in the List of Strings to be processed.
Set this parameter to false if you want to search for an exact match. Set this parameter to true if you want to match based on the
first significant digits.
True tells this tool to ignore case while searching for a match. False tells this tool to consider case when searching for a match.
Keypad mappings are the letters associated with the numbers on a telephone keypad. These letters are printed on the keys of all
telephones. By default this is set to false. Set this to true only in steps performing a lookup on text entered on the telephone
keypad.
Set this parameter to false to remove entries will null values. Set this parameter to true to keep entries with null values.
Outputs
The name of the variable that contains the list of strings to be processed.
Parallel list
The name of the variable that contains the second list of strings to be processed. This is a required field. If you do not have a
second list, put the name of the first list here also.
361
Parallel list
The name of the variable that contains the third list of strings to be processed. This is a required field. If you do not have a third list,
put the name of the first list here also.
Parallel list
The name of the variable that contains the fourth list of strings to be processed. This is a required field. If you do not have a fourth
list, put the name of the first list here also.
Parallel list
The name of the variable that contains the fifth list of strings to be processed. This is a required field. If you do not have a fifth list,
put the name of the first list here also.
Exit Paths
Next
362
Find
This List tool step searches a list variable for a specific value, starting the search at a specific position in the list. This step returns
the position of the element. If the value is not found, the value of the output variable is not changed.
Settings Page
List
Value
Index
The position in the list at which to begin searching. Zero is the first position.
Output Variable
This is the method that list of string values will be matched. The choices are:
Full - The Value has to match entirely an entry in the given list
Left - The Value has to match the left side of an entry in the given list
Contains - The value has to be contained by an entry of the given list
Right - The value has to match the right side of an entry in the given list
Check this box to find match the case of the value in a list of strings.
Exit Paths
Found
The Success exit path is taken if the value was found in the list.
Not Found
The Failure exit path is taken if the value was not found in the list.
363
GetAt
This List tool step retrieves a value from a specified element in a specified list. The retrieved value is stored in the output variable.
Settings Page
List
Index
The position in the list variable from which the value is retrieved. Zero is the first position in the list.
Output Variable
Exit Paths
Next
GetCount
This List tool step counts the number of elements in a list and stores that count in a variable.
Settings Page
List
Output Variable
The integer variable that will receive the value of the number of elements.
Exit Paths
Next
364
InsertAt
This List tool step inserts a specified value at a specified position in a list variable. If there is currently a value at that position, that
value is moved down one position. For example, if you insert a value at position four, and there is already an older value at position
four, the older value moves to position five. All older values in positions after the inserted value would move down.
Setting Page
List
Value
Index
The position in the list where the value will be inserted. Zero is the first position in the list.
Exit Paths
Next
InsertAtHead
This List tool step inserts a value at the beginning (position zero) of a specified list. This can also be used to define a new list
variable.
Settings Page
List
The list variable to have a value inserted. Select "New" from the drop-down list to create a new List variable.
Value
Exit Paths
Next
365
InsertAtTail
This List tool step inserts a value at the end of a specified list. This can also be used to define a new list variable.
Settings Page
List
The list variable to have a value inserted. Select New from the list to create a new List variable.
Value
Exit Paths
Next
List to String
This List tool converts a list of string value to a delimited string value.
Inputs
List of Strings
Delimiter Character
One or more characters to use when separating values in the output string.
Outputs
Delimited String
The string containing the values from the list separated by the delimiter character(s).
Exit Paths
Next
366
Merge String Lists
This List tool merges two lists of strings and returns the appended list, the intersection of the two lists, or the union of the two
lists. The optional Boolean input, when set to True, allows for clearing the source lists.
Note: This tool is useful when you have two lists to check and you want to avoid looping through each item in each list.
Inputs
Mode
Set this Boolean parameter to True to empty the source lists of strings, reducing the memory used to store the lists. This
parameter is optional and defaults to False.
Outputs
Source List 1
Source List 2
Merged List
Exit Paths
Next
367
Parse String
This List tool breaks a string into fields and places those fields as elements in a list of strings. You can sometimes use this tool as
a replacement for a series of Insert at Tail steps.
The string "John Doe | 555-1212 | Indianapolis, IN" becomes a list of strings with the following elements:
Element 0 "John Doe "
Element 1 " 555-1212 "
Element 2 " Indianapolis, IN"
Inputs
String to Parse
Delimiter character(s)
The character(s) to use when determining where the string is divided. The delimiter character is removed from the resulting
elements. For example, if you specify "|" as your delimiting character, "|" will not appear in any of the resulting list of string
elements.
Outputs
Exit Paths
Next
RemoveAll
This List tool step removes all the values from a list, leaving it empty.
Settings Page
List
Exit Paths
Next
368
RemoveAt
This List tool step removes a value at a specified position in a list variable. All remaining elements that remain shift up one
position to fill the gap.
Settings Page
List
Index
The position in the list variable from which the value is removed.
Exit Paths
Next
RemoveHead
This List tool step removes the value at the first position (position zero) of a list variable. All elements below this position shift up.
Settings Page
List
Exit Paths
Next
RemoveTail
This List tool step removes the value at the last position of a list variable.
Settings Page
List
Exit Paths
Next
369
SetAt
This List tool step replaces the value of a specified element of a list variable with a new value. This does not cause a change in the
size of the list because an older value in the position of the insertion is overwritten.
Settings
List
Value
Index
The position in the list where the value will be inserted. Zero is the first position in the list.
Exit Paths
Next
370
Sort Lists
This List tool sorts a list lexicographically, and sorts the elements of the four other parallel lists according to the sorting of the
first. In other words, if the elements of the first list are rearranged in XX way, the elements in the other four lists will be rearranged
in XX way.
For example, if you pass the list ("1", "3", "2") and a parallel list of ("Z", "Y", "X"), the outputs should be ("1", "2", "3") and ("Z", "X", "Y");
that is, the elements in the parallel lists are reordered according to the reordering that is performed on the list to be sorted.
Note that if there is a list of items that have the same key ("1", "1", "1"), the associated lists might not be in the same order
following the sort.
Inputs
Set this parameter to true to sort the list in ascending order. Set this parameter to false to sort in descending order.
Outputs
Parallel list
The elements of this list are sorted according to the sorting of elements of the first list. If you do not have a list for this parameter,
you can repeat the name of a list from another parameter on this page.
Parallel list
The elements of this list are sorted according to the sorting of elements of the first list. If you do not have a list for this parameter,
you can repeat the name of a list from another parameter on this page.
Parallel list
The elements of this list are sorted according to the sorting of elements of the first list. If you do not have a list for this parameter,
you can repeat the name of a list from another parameter on this page.
Parallel list
The elements of this list are sorted according the sorting of elements of the first list. If you do not have a list for this parameter,
you can repeat the name of a list from another parameter on this page.
Exit Path
Next
371
Update Data Pair Values
This List tool updates name/value pairs in two parallel string lists. It is called many times during a TUI session and is intended for
relatively short lists (100 elements or less). For large lists, use the Find tool.
Note: This tool is intended to replace a subroutine in the XML TUI interpreter.
The advantage of using parallel lists of strings is that in-line parameter expressions can be used in tools to access values
referenced by name. For example, suppose you want to get the Quantity and pass it to a tool as an Integer. You can do this with no
additional tools. Use the expression as follows in an Integer tool parameter:
toI(GetAt(ValueList, Find(NameList, "Quantity", 0)))
Inputs
Data Name
Data Value
Outputs
Name List
Value List
Exit Paths
Next
Monitoring (Remoco)
Inputs
IC Server
IC Subsystem
Outputs
CPU Usage
Memory Usage
Elapsed Time
Number of Threads
373
Number of threads of specified subsystem.
Virtual Memory
The current size, in kilobytes, of memory that the subsystem has allocated and that cannot be shared with other processes.
Process ID
Handle Count
The total number of handles currently open by this subsystem. This number is equal to the sum of the handles currently open by
each thread in the subsystem.
Exit Paths
Success
This tool takes the Success exit path if it retrieved data about subsystem.
Failure
This tool takes the Failure exit path if it could not retrieve data about subsystem.
Inputs
Insertion Strings
Outputs
Merged Message
Merged message of event message and insertion strings. Should be similar to messages in Event Viewer.
Exit Paths
Success
This tool takes the Success exit path if this tool was able to merge.
Failure
This tool takes the Failure exit path if this tool was unable to merge.
374
Merge Log Event Messages
This Monitoring tool merges an event message with its insertion strings.
Inputs
Event message to be merged. Similar to messages in Event Viewer. Contains insertion parameters.
Insertion Strings
Outputs
Merged Message
Merged message of event messages and insertion strings. Should be similar to messages in Event Viewer
Exit Paths
Success
This tool takes the Success exit path if this tool was able to merge the message.
Failure
This tool takes the Failure exit path if this tool was unable to merge the message.
Restart IC Subsystem
This Monitoring tool restarts an CIC subsystem.
Inputs
IC Server
IC Subsystem
375
Susbsystem Name Unicode Name Unicode Debug Name
ACCServer ACCServeru ACCServerud
ACDServer ACDServeru ACDServerud
AdminServer AdminServeru AdminServerud
AlertServer AlertServeru AlertServerud
ClientServices ClientServicesu ClientServicesud
DataManager DataManageru DataManagerud
DialerServer DialerServeru DialerServerud
DSServer DSServeru DSServerud
Exchange Import Exchange Importu Exchange Importud
FaxServer FaxServeru FaxServerud
HostServer HostServeru HostServerud
IP Ipu Ipud
IPDBServer IPDBServeru IPDBServerud
IPServer IPServeru IPServerud
Notes Import Notes Importu Notes Importud
Notifier Notifieru Notifierud
PagingServer PagingServeru PagingServerud
SMDIServer SMDIServeru SMDIServerud
StatServer StatServeru StatServerud
SwitchoverService SwitchoverServiceu SwitchoverServiceud
TSServer TSServeru TSServerud
Exit Paths
Success
Failure
If the subsystem or server cannot be found, this tool takes the failure path.
Stop IC Subsystem
This Monitoring tool terminates an CIC subsystem.
Inputs
376
IC Server
IC Subsystem
Exit Paths
Success
If the subsystem named in the CIC Subsystem field was stopped, this tool takes the Success exit path.
Failure
377
If the subsystem named in the CIC Subsystem field was not stopped, this tool takes the Failure exit path.
Multi-Site
Outputs
Message Handle
The variable you want to use as the handle to the newly created message. The message handle is a value that is required as input
for all tools that operate on the message.
Exit Paths
Success
Failure
Inputs
Message Handle
Variable assigned as the handle for the message from which the integer is to be retrieved. This variable is selected from the list of
all valid message handle variables known to the handler.
Outputs
Value
The output variable that contains the integer read from the message. This variable will only contain a valid value if the success exit
path was taken.
Exit Paths
Success
Failure
378
Multi-Site Get Note
This Multi-Site tool reads an IpNote from a message.
Inputs
Note Name
Unlike the other message elements, the name of the note is integral to the note data. A note name is required so that the system
can better check for an error in retrieving notes as well as guaranteeing that a sent note element will be named the same on
multiple servers. The Note Name is a string.
Message Handle
The handle of the message from which the data element is to be read.
Exit Paths
Success
Failure
The tool takes this path if the Note Name provided isn't the same on multiple servers.
379
Multi-Site Get String
This Multi-Site tool retrieves a string from a message.
Inputs
Message Handle
Outputs
Value
Exit Paths
Success
Failure
Inputs
Message Handle
A valid message handle obtained from Multi-Site Create Message or Multi-Site Message Received.
Value
The integer value that you want to put into the message.
Exit Paths
Success
Failure
380
Multi-Site Put Note
This Multi-Site tool places a note into a message.
Inputs
Note Name
The name of a note that was created by the Create Note tool or retrieved by the Multi-Site Get Note tool.
Message Handle
A valid message handle obtained from Multi-Site Create Message or Multi-Site Message Received.
Exit Paths
Success
Failure
Inputs
Message Handle
A valid message handle obtained from Multi-Site Create Message or Multi-Site Message Received.
Value
The string value that you want to put into the message.
Exit Paths
Success
Failure
381
Multi-Site Send Event
This Multi-Site tool allows you to send a message that does not require a response.
Inputs
Message Handle
A valid message handle obtained from Multi-Site Create Message or Multi-Site Message Received.
Destination
The number that identifies the site you want the message sent to. This is the site ID as configured at each site in DS via IA.
Although the value is a number, the input to the tool must be a string. An asterisk (*) can be used to broadcast a message.
Object ID
And identifier to use for the object ID that will be included with the incoming message notification on the receiving server.
Event ID
An identifier to use for the event ID that will be included with the incoming message notification on the receiving server.
Exit Paths
Success
Failure
Unknown Destination
382
Multi-Site Send Request
This Multi-Site tool waits for a response to be received or the specified time to expire before continuing execution of the handler via
the appropriate exit path.
Inputs
Message Handle
A valid message handle obtained from Multi-Site Create Message or Multi-Site Message Received.
Destination
The number that identifies the site you want the message sent to. This is the site ID as configured at each site in DS via IA.
Although the value is a number, the input to the tool must be a string. Only one destination can be specified for a request.
Object ID
And identifier to use for the object ID that will be included with the incoming message notification on the receiving server.
Event ID
An identifier to use for the event ID that will be included with the incoming message notification on the receiving server.
Timeout
The number of milliseconds to wait for a response before continuing. If a response is not received within the specified period of
time, a timeout exit path is taken.
Outputs
The variable to use as a handle for the response message. The handle is returned when a response is received. If an exit path other
than success is taken, then the variable will not contain a valid value.
Exit Paths
Success
Timeout
This path is taken if a response is not received in the specified period of time.
Failure
Unknown Destination
383
Multi-Site Send Response
This Multi-Site tool sends a response to a request. By using the correlation IDs obtained from the initiator, the response message
is automatically routed back to the correct handler that is waiting for it.
Inputs
Message Handle
A valid message handle obtained from Multi-Site Create Message or Multi-Site Message Received. This should be different from the
handle for the incoming message.
Response Correlation ID
This value should be passed directly from the initiator output which defaults to the same name. This value should not be altered by
the handler.
Response Destination ID
This value should be passed directly from the initiator output which defaults to the same name. This value should not be altered by
the handler.
Exit Paths
Success
Failure
Unknown Destination
OCR
384
Export for OCR file
Important : The system no longer supports OCR tools.
Converts OCR result file (created by the OCR for TIFF/PCX/DCX files tool) into one of several document formats. You may
optionally choose to preface unrecognized words and characters with a special character, allowing easier search-and-replace
editing later.
Inputs
OCR filename
The name of the OCR result file generated by the OCR for TIFF/PCX/DCX files tool. This value is empty by default.
Text format
When the OCR engine parses this image, it can optionally mark words or characters it wasn't sure about with a special character.
The special character is placed before each low-confidence word and character. Specify true to automatically preface low-
confidence words and characters with a special character. This makes search-and-replace editing easier if you use a character that
rarely appears in the document, such as "#" or "~". Specify false to not mark low-confidence words and characters. The resulting
quality of the exported text is dependent upon the quality of the fax image.
Character Marker
The character that will preface low-confidence words and characters. Pick a character that appears rarely in your document, such as
"#" or "~".
The name of the document to be generated. Leave this empty ("") to generate a unique filename that will be passed to the Name of
the output text file output parameter.
Outputs
This should be the same name as you specified in the Name of output text file input parameter.
Error Code
If this tool fails, you can evaluate the reason for failure by examining Error Code and Error Message. Error codes and messages are
listed in the Error Message parameter explanation below.
Error Message
386
Error Code Error Message Explanation
-1 "Fatal error." This tool has failed due to a larger failure within
CIC. Your event log may contain diagnostic
information about the failure. This must be
diagnosed by technical support. You should never
encounter this error.
0 "No error." This tool executed successfully.
1 "OCR not enable" The OCR Server is not running. Make sure the
OCR Server is installed, running, and properly
configured from within Interaction Administrator.
2 "No OCR result filename." The file could not be created at the specified
location. Make sure the filename and path are
correct.
3 "Bad OCR result filename." The OCR result file could not be created at the
specified location.
4 "Bad text output filename." The file could not be created at the specified
location. Make sure the filename and path are
correct.
Exit Paths
Success
This tool takes the Success exit path if the Error Code is 0.
Failure
This tool takes the Failure exit path if the error code is not 0.
Export Parser
Important : The system no longer supports OCR tools.
OCR Parser analyzes the <Export> configuration string that contains instructions for how the attached image should be processed.
This <Export> string is specified by the sender in the body of the email, and may specify one or more of the following elements:
TextFormat={Word7, ANSI, TXT, etc.} Specifies the type of file to create from the OCR result file. See
TextFormat codes for OCR Export for a list of acceptable codes.
Marker={#, ~, or any other character) Specifies the character with which to mark unrecognized words
and characters.
Inputs
String to parse
When you specify the string containing the body of an email, this tool will find the portion of the string contained between <Export>
and </Export>.
387
The text within the body of the email that indicates the end of the configuration info and the beginning of the text. For example,
many Exchange messages begin with "Original Message".
Delete it after
True to delete the OCR Result file after the export document is created. False to leave the OCR Result file attached to the email sent
back to the user. The email sent back will also contain the export file.
Text format
The type of document to create in the export operation. ANSI is the default.
True to precede unrecognized characters and words with a special character. False to ignore unrecognized characters and words.
Character Marker
The character to use as a marker. Specify a character that is not likely to appear in the document, such as ~ or ^.
Outputs
Default
If the <Export> configuration was specified, this is false. If <Export> was not found, this is false and the default input parameters
were used.
Delete it after
This value is set depending upon whether or not the OCR result file was deleted.
Text format
This value is set depending upon whether or not suspicious characters were marked.
Character Marker
Exit Paths
Success
If the operation is successful, this tool takes the Success exit path.
Failure
Inputs
Fax identifier
First page
In a multi-page image file, the first page to render. 1, the default value, is the minimum allowable value.
Last page
In a multi-page image file, the last page to render. Entering a 0 in this field renders all pages. A value greater than 1 specifies a
range. If your range is greater than the number of pages in the file, this tool fails.
Select this option to use an additional dictionary when processing the fax. You can create your own custom dictionary in a text file
with words separated with spaces and an extra carriage return following the last word in the text file. Clear this option to use only
the OCR server's default dictionary.
The name of the dictionary to use. You should also specify a fully qualified path. If the path is not included, this tool looks for the
dictionary file in the directory specified in the Work Path Server Parameter in Interaction Administrator. Cleared is the default for
this tool.
Maintain your custom dictionaries with commonly used words or acronyms. Update this file regularly to add new words. This would
improve OCR accuracy and processing time.
Select this option if you want the OCR Server to recognize characters unique within a language. For example, if you want to
recognize the German umlaut character, you would select this option and specify German in the Language parameter below. Cleared
is the default for this parameter.
Language
The language for which you want to recognize special characters. See the Perform language analysis example above.
Country
Some languages have characters unique to a certain country's dialect. This parameter specifies which country.
Outputs
Error Code
If this tool fails, you can evaluate the reason for failure by examining Error Code and Error Message. Error codes and messages are
listed in the Error Message parameter explanation below.
Error Message
389
A description of why this tool failed.
Exit Paths
Success
This tool takes the Success exit path if the Error Code is 0.
Failure
This tool takes the Failure exit path if the error code is not 0.
Inputs
The source TIFF or PCX file from which the OCR result file is created. You should also specify a fully qualified path. If the path is
not included, this tool looks for the dictionary file in the directory specified in the Work Path Server Parameter in Interaction
Administrator.
First page
390
In a multi-page image file, the first page to render. 1, the default value, is the minimum allowable value.
Last page
In a multi-page image file, the last page to render. Entering a 0 in this field renders all pages. A value greater than 1 specifies a
range. If your range is greater than the number of pages in the file, this tool fails.
Select this option to use an additional dictionary when processing the file. You can create your own custom dictionary in a text file
with words separated with spaces and an extra carriage return following the last word in the text file. Clear this option to use only
the OCR server's default dictionary. Cleared is the default setting.
The name of the dictionary to use. You should also specify a fully qualified path. If the path is not included, this tool looks for the
dictionary file in the directory specified in the Work Path Server Parameter in Interaction Administrator.
Select this option if you want the OCR Server to recognize characters unique within a language. For example, if you want to
recognize the German umlaut character, you would select this option and specify German in the Language parameter below.
Language
The language for which you want to recognize special characters. See the Perform language analysis example above.
Country
Some languages have characters unique to a certain country's dialect. This parameter specifies which country.
Outputs
The result file containing the rendered OCR data. The Export for OCR files tool takes this filename as an input. You should also
specify a fully qualified path. If the path is not included, this tool creates the OCR result file in the directory specified in the Work
Path Server Parameter in Interaction Administrator.
Error Code
If this tool fails, you can evaluate the reason for failure by examining Error Code and Error Message. Error codes and messages are
listed in the Error Message parameter explanation below.
Error Message
391
Error Code Error Message Explanation
-1 "Fatal error." This tool has failed due to a larger failure within
CIC. Your event log may contain diagnostic
information about the failure. This must be
diagnosed by technical support. You should never
encounter this error.
0 "No error." This tool executed successfully.
1 "OCR not enable" The OCR Server is not running. Make sure the
OCR Server is installed, running, and properly
configured from within Interaction Administrator.
"No image filename."
2 The image file does not exist at the specified
location.
3 "Bad image filename." The image file does not exist at the specified
location.
4 "No dictionary filename." The custom dictionary is not in the specified
location. Verify that your path and filename are
correct, and that the dictionary is in the location
specified.
5 "Bad dictionary filename." The custom dictionary is not in the specified
location. Verify that your path and filename are
correct, and that the dictionary is in the location
specified.
5 "Bad OCR result filename." The OCR result file could not be created at the
specified location.
Exit Paths
Success
This tool takes the Success exit path if the Error Code is 0.
Failure
This tool takes the Failure exit path if the error code is not 0.
OCR Parser
Important : The system no longer supports OCR tools.
OCR Parser analyzes the <Reco> configuration string that contains instructions for how the attached image should be processed.
This <Reco> string is specified by the sender in the body of the email, and may specify one or more of the following elements:
392
FirstPage={1...n Specifies the first page to process. If you do not specify a first page, the file is processed up
the the LastPage you specify.
LastPage={0...n.} Specifies the last page to process. If LastPage has the same value as FirstPage, only one
page is processed. If LastPage=0, all pages are processed. If you do not specify LastPage, all
pages after FirstPage are processed.
Dictionary= Specifies the name of the dictionary you have created in \CIC\work\dictionary directory on
{any_dictionary_name.txt} your CIC Server. You must include the .TXT extension. Do not specify a path, and do not
include spaces in your dictionary names.
Inputs
String to parse
When you specify the string containing the body of an email, this tool will find the portion of the string contained between <Reco>
and </Reco>.
The text within the body of the email that indicates the end of the configuration info and the beginning of the text. For example,
many Exchange messages begin with "Original Message".Delete the source file after
Specify true to include the source image in the reply. Specify false to remove the source image from the reply.
First Page
Last Page
The last page to process in a multi-page .tif file in the range of 0 to n. Specify 0 to process all pages. Specify the same value as
First page to process only one page.
True to use a special dictionary. False to use only the built in dictionary. OCR processing uses a built-in dictionary even if you
specify False. This parameter is false by default.
Specify the name of a custom dictionary. The dictionary must be contained in the \EIC\work\dictionary directory on your CIC server.
Dictionaries are text documents (like I3.txt with words separated by spaces or line breaks with the last word followed by a hard
return. You must incluse the .TXT extension. Do not specify a path, and do not use spaces in your dictionary names. "" by default.
You may specify only one custom dictionary.
Language
Specify one of the following languages if Perform Language Analysis parameter is set to True:
English,French,German,British,Spanish,Italian,Swedish,Danish,Dutch,Norwegian,Brazilian,Portuguese, Finish. "English" by default.
Outputs
Default
If the <Reco> configuration was specified, this is false. If <Reco> was not found, this is false and the default input parameters were
used.
Specify true to include the source image in the reply. Specify false to remove the source image from the reply. This value is set
depending upon whether or not the source file was included in the output.
First Page
Last Page
This value is set depending upon whether or not dictionary checking was used.
This value is set depending upon whether or not language analysis was used.
Language
Indicates the language used to parse the fax for textual content. Specify one of the following languages if Perform Language
Analysis parameter is set to True:
English,French,German,British,Spanish,Italian,Swedish,Danish,Dutch,Norwegian,Brazilian,Portuguese, Finish. "English" by default.
Country
Exit Paths
Success
If the operation is successful, this tool takes the Success exit path.
394
Failure
Personal Rules
Inputs
Action Handle
The personal rule action handle that contains all the actions for a rule.
Action Index
This integer is the index of the action you want to get details about. The list has a "0" index, so if you want to get details about the
first action, use index "0."
Outputs
Action
Parameter List
This list of strings contains the parameters for the action.
Exit paths
Continue
Abort
395
Personal Rules
A personal rule automatically manages your interactions. For example, this is usually done through the Rules dialog box in
Interaction Desktop. With this Personal Rules tool, you can extend the rule functionality to other events generated by CIC. The rules
create a list of actions. You can then look up any action on the list to get its parameters.
Inputs
Call Id
The unique identifier for the interaction from which you want to get personal rules.
User Id
The fully qualified user ID of the user who has the rule.
Entry Point
This string value indicates the set of rules to process. For example, one entry point might be for incoming calls. Another set might
be for incoming faxes. This allows you to have different rules for different interactions.
Currently, incoming call and outbound call are the available entry points.
Outputs
Action Handle
Action Count
This integer is the count of actions held within the rule.
Exit Paths
Continue
Abort
Process Automation
396
Overview of Process Automation Tools
These tools are intended for use with the Interaction Process Automation modules in IC Business Manager and IC Server Manager.
Click on a tool below for more information about that tool.
Create Data Container
Get Data Element
Get Process Properties
Initiate Process
Send Process Automation Handler Results
Put Data Element
Query Server Info
Remove Data Container
397
Create Data Container
Note : In prior versions, this tool was Create PA Data.
This Process Automation tool is for use with the Interaction Process Automation modules in IC Business Manager and IC Server
Manager.
This Process Automation tool adds a new group of data elements that is available to all handlers and is accessible by name. Each
data element in the group can contain a single value or a list of values.
Inputs
PA Data Name
The name by which the newly created group of data elements will be accessible.
If a non-zero value is specified, the group of data elements will exist until the time expires. Otherwise, it will exist until explicitly
removed by the Remove PA Data tool.
Exit Paths
Success
Failure
PA Data Exists
This step is taken if the PA data name is already present in the list.
Inputs
PA Data Name
The name of the group of data elements that contains the element to get.
398
Element Name
The name of the data element to get from the specified PA Data Name.
Outputs
Variable
The variable output can be one of these types: Integer, List of Integer, Numeric, List of Numeric, Boolean, List of Boolean, String,
List of String, DateTime, List of DateTime.
The Date/Time of the last successful update to any attribute in the attribute group.
Exit Paths
Success
Failure
If this step does not execute successfully, it takes the Failure exit path.
Unknown PA Data
Unknown Element
Incompatible Type
This step is taken if the output variable is not one of the valid types.
399
Customer:
(String)
FirstName
(String)
LastName
HomeAddress (Address)
AdditionalAddresses (Address collection)
Suppose that your process includes a variable called Customer1 , and Customer1 has these values:
Customer1:
John
FirstName:
Doe
LastName:
HomeAddress: City: Indianapolis State: Indiana
AdditionalAddresses: (an empty collection)
The following string is sent to Interaction Processor (IP) (as a string data type):
-->
<Customer1>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<HomeAddress>
<City>Indianapolis</City>
<State>Indiana</State>
</HomeAddress>
<AdditionalAddresses />
</Customer1>
<!--
You can manipulate the string and send it back to the IPA process, and Customer1 should update as intended. If you want to have
two addresses in the AdditionalAddresses property, then see the following example:
-->
<Customer1>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<HomeAddress>
<City>Indianapolis</City>
<State>Indiana</State>
</HomeAddress>
<AdditionalAddresses>
<City>Chicago</City>
<State>Illinois</State>
</AdditionalAddresses>
<AdditionalAddresses>
<City>Detroit</City>
<State>Michigan</State>
</AdditionalAddresses>
</Customer1>
<!--
If the AdditionalAddresses property previously contained an item, that item is removed and the complex data type is updated to
whatever is sent in the string. If the AdditionalAddresses element does not exist within the XML blob, then any items in that
collection are removed.
If your process contains a Customer Collection variable, The Get PA Data Element tool binds the Customer Collection variable to a
list of string in IP. The list and XML tools work the same way to edit strings that are returned from Interaction Process Automation.
You can use the Put PA Data Element tool to assign a value or list of values to the Customer Collection data element. If the input
to the tool is a string, the input string is appended to the end of the Customer Collection that you're updating. Use the Put PA Data
Element tool to assign a list of string value from IP to the Customer Collection data element in IPA.
400
Get Process Properties
This Process Automation tool is for use with Interaction Process Automation to get the properties for a process. The properties
are then used by the Initiate Process tool.
Inputs
Process Name
The name of the process for which you need to get the properties.
Outputs
Process ID
Description
Published Version
Exit Paths
Success
Not Found
If the process name is not found, this step takes the Not Found exit path.
Failure
If this step does not execute successfully, it takes the Failure exit path.
Initiate Process
This Process Automation tool is for use with the Interaction Process Automation modules in IC Business Manager and IC Server
Manager.
This Process Automation tool invokes a published process.
401
Inputs
Process ID
The unique ID associated with the process (obtained using the Get Process Properties tool).
Initiator Name
PA Data Name
Timeout Seconds
The number of seconds the tool waits before timing out (defaults to 15 seconds if value is blank or 0).
If this property is set to ‘false’, the process will fail to launch if the process automation server is in an overload state.
If the property is not explicitly set to ‘false’ and the process automation server is in an overload state, the process
automation server will defer the launch request and retry the launch when the overload condition is resolved.
Outputs
Job Exec ID
A number to confirm the job execution. Information only, but can be used to cross-reference with reports, database, or Process
Automation Server logs.
Flow Exec ID
For information only and can be used to cross-reference with reports, database, or Process Automation Server logs.
Numeric Process ID
For information only and can be used to cross-reference with Interaction Process Automation Monitor.
Exit Paths
Success
No Process
This step takes the No Process exit path if the process ID is invalid.
Timeout
This step takes the Timeout exit path if the PA Server does not respond to the initiate request.
No Server
402
This step takes the No Server exit path if the PA Server is not running.
Failure
If this step does not execute successfully, it takes the Failure exit path.
403
Send Process Automation Handler Results
Note : In prior versions, this tool was Process Automation send handler Results.
This Process Automation tool is for use with the Interaction Process Automation modules in IC Business Manager and IC Server
Manager.
This Process Automation tool provides a way to send data and a result code for a handler started by the Process Automation
Server. When the Run Handler action is used in a process, the Process Automation Initiator runs, gets the PA Data, and returns the
data back to the Process Automation Server.
Inputs
Job ID
Sequence ID
Result Code
PA Data Name
The name of the data element group to send back to the Process Automation Server.
Timeout Seconds
The number of seconds the tool waits before timing out (defaults to 15 seconds if value is blank or 0).
Exit Paths
Success
Failure
If this step does not execute successfully, it takes the Failure exit path
404
Put Data Element
Note : In prior versions, this tool was Put PA Data Element.
This Process Automation tool is for use with the Interaction Process Automation modules in IC Business Manager and IC Server
Manager.
This Process Automation tool assigns a value or list of values to a data element. It is the reverse of the Get PA Data Element tool.
Inputs
PA Data Name
The name of the Process Automation data element group that contains the element for which the value will be assigned.
Element Name
The name of the data element for which the value will be assigned.
Value
The value or list of values associated with the data element. The value input can be one of these types: Integer, List of Integer,
Numeric, List of Numeric, Boolean, List of Boolean, String, List of String, DateTime, List of DateTime.
Exit Paths
Success
Failure
If this step does not execute successfully, it takes the Failure exit path.
Unknown PA Data
This exit path is taken if the specified PA Data Name is not found.
Incompatible Type
This path is taken if the value specified is not one of the valid types.
Inputs
Timeout Seconds
Outputs
405
Init Status
An integer that indicates how far along the Process Automation Server is in its initialization at the time the tool is invoked. The
value "4" indicates Active. All other values are currently reserved for future use.
This output is useful for checking that PAS is fully initialized before attempting to launch processes.
Load Status
An integer that is a function of CPU usage and memory usage and sums up how "busy" the PAS is.
The possible values are as follows:
Value Indicates
0 Idle
1 Active - Low
2 Active - High
3 Busy
4 Overload
5 Unknown
Memory Percent
Memory usage as a percentage of a maximum value that Task Manager displays as Private Bytes.
The default maximum value is 1.4G, so while it would be rare, it is possible to see values greater than 100%.
Cpu Percent
CPU usage, calculated as a rolling average of ten samples spaced no closer than three seconds. Therefore, the values used to
calculate the average span 30 seconds or more.
Thread Count
The total number of OS threads in use at a given time. Note that this is not the number of processes (see Active Processes below)
and it's not the number of threads allocated, which you might see in PerfMon or Task Manager. Most of the time, this value should
not be very high relative to the number of active processes. It might approach the number of threads allocated under very heavy
loads.
You can compare this value to the Active Processes value to assess whether or not it is high. In some cases, it is normal to be
high, but in general the design is such that PAS does not require very many threads to accommodate a large number of active
processes as long as they are not all doing something at precisely the same instant.
Active Processes
Protection Active
This is a boolean value that can be used to throttle inputs, if possible. If this value is true, it indicates that PAS has gone into self-
protection mode to avoid running out of resources based on the current load. In this mode, PAS will reject launches until the
pending backlog has been worked off and the values used to calculate the overload condition have fallen below the configured
thresholds again.
Exit Paths
406
Success
Timeout
This path is taken if the metrics are not successfully retrieved before the timeout period has passed.
Failure
Inputs
PA Data Name
The name of the Process Automation data element group created by the Create PA Data tool. The data element group must exist or
the "Unknown PA Data" path will be taken.
Exit Paths
Success
Failure
Unknown PA Data
This path is taken if the Process Automation data element group name was not found.
Reco
407
Introduction to Reco tools
Reco tools provide a handler developer the building blocks for speech applications. For more information about using Reco tools
with the speech recognition subsystem, refer to the CIC Speech Recognition Overview Technical Reference in the PureConnect
Documentation Library.
Note 2: Preloading grammars should be considered an expensive operation as the grammar is distributed to every ASR server,
compiled, and loaded into the cache. Frequently changing preloaded grammars could thus have detrimental implications on the
system performance. If possible, automatically changing pre-loaded grammars should be scheduled to be done in off-peak
hours (e.g. early in the morning).
IMPORTANT: Once a file has been registered as preloaded grammar, it must not be modified directly. The recognition
framework does not monitor the file for changes. Furthermore, if the system is stopped or terminates unexpectedly while the
file is being modified, the grammar will be corrupt and lead to failures. Instead, when creating a new grammar to be used as
preloaded grammar, create a new file and then use this tool to replace the current file.
Inputs
Name
Name of the preloaded grammar. This name is used to identify it in DS and in the
x-inin-reco:preloaded/name URI.
If a preloaded grammar with this name already exists, it will be replaced.
The name must consist only of alphanumeric characters (a-z, A-Z, 0-9) or '_'. Names are case sensitive.
Grammar URI
URI of the grammar to add to register as pre-loaded grammar. The supported schemas and grammar formats are engine
408
dependent. If the URI includes a fragment, it will be ignored. Filenames will automatically be converted to a file: URI. Relative URIs
are converted to absolute URIs based on the ‘DefaultBaseURI’ configuration parameter.
Grammar Mode
Mode of the referenced grammar. Currently, only "voice" grammars are supported as preloaded grammars.
Grammar Type
Optional. Media type (MIME type) of the grammar referenced by the URL. It is recommended to specify the MIME type for
grammars other than engine agnostic grammars. The following are the media types of the engine-agnostic grammar formats:
application/srgs SRGS ABNF
application/srgs+xml SRGS GrXML
application/x-jsgf JSpeech
ASR Engine
Name of the ASR engine for which this preloaded grammar should be registered.
If this box is checked, and the URI of the grammar being replaced represents a file, and the file name is different from the new URI,
the old file will be deleted after successfully registering the preloaded grammar.
Leave this box unchecked to only replace the preloaded grammar.
Register Asynchronously
If this box is checked, the grammar will be preloaded asynchronously. The tool will return before the grammar is compiled and sent
to ASR servers. The advantage of this mode is that the handler isn’t blocked for an extended period of time. The disadvantage is
that compilation and other failures might not be known by the time the tool returns.
If this box is left unchecked, the tool will not exit until the grammar has been preloaded successfully.
Outputs
Registered URI
Error Code
If the tool fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if no
error occurred.
Error Text
If the tool fails, this output parameter will contain a simple textual description of what went wrong.
Exit Paths
Success
A new preloaded grammar with the specified name has been added.
Failure
409
Some other error occurred.
Inputs
Error Code
This output parameter contains the error code returned by the server. This identifies the error that will be analyzed.
Exit Paths
The Exit Paths are configured as part of the tool properties.
Inputs
Recognition Result
XML DOM node of the ASR recognition result XML document (e.g. returned by Reco Input).
Acceptance Confidence
Minimum confidence score for results that are accepted without confirmation. Default: 0.85
Confirmation Confidence
Minimum confidence score for results that have to be confirmed. All results lower than this threshold will be ignored. Default: 0.2
Threshold Diffusion
This parameter is used to achieve a smart inclusion of results that might fall below the threshold, but that are statistically too
similar to acceptable results to be excluded without confirmation. For example, consider a scenario where a recognition result has
two hypotheses, one with a confidence of 0.87 and the other 0.83, and the Confirmation Confidence is 0.85. Only one of those two
hypotheses is above the threshold of 0.85, however the one that is not is close enough to it that it would be reasonable to prompt
the user before discarding it.
After all hypotheses that are above the acceptance or confirmation threshold have been found, the score of the hypothesis with the
lowest score is multiplied by [1.0 – ThresholdDiffusion]. This value is then used as a new threshold and all hypotheses that are
above this value are included too.
410
The default value of for this parameter is 0.05.
Outputs
Top Hypothesis
XML DOM Node of the <hypothesis> element with the highest score in its band. NULL node if no matching hypothesis found.
This parameter will contain the top hypothesis even if there were multiple matches.
Hypotheses
XML node iterator to iterate over the hypotheses that match the criteria. The Top Hypothesis is the first one that will be returned by
the XML Get Next Node tool.
Hypothesis Count
Exit Paths
Accept Single
Accept Multiple
This path is taken if multiple hypotheses are above the accept threshold.
Confirm Single
This path is taken if a single hypothesis is below the accept threshold but above the confirm threshold. This hypothesis should be
confirmed with the caller.
Confirm Multiple
This path is taken if multiple hypotheses are below the accept threshold but above the confirm threshold. These hypotheses have
to be confirmed.
Rejected
This path is taken if there are hypotheses in the recognition result, but they are all below the Confirm Confidence.
None
This path is taken if the recognition result is empty (no hypotheses) or the XML node is NULL.
Failure
Inputs
Interaction
Input Modes
An optional space-delimited list of input modes to use for this request. The input modes specified when the session was created
are used by default.
Value Type
Value type of the input. This corresponds to the name and parameters of a built-in grammar.
Defines the keys a user can press to terminate the input. The pound key (#) is set by default.
For example, when the IVR requests a PIN, the user can enter the PIN and then press # to proceed immediately, rather than waiting
for the timeout.
Defines the keys a user can press to escape a dialog. No escape key is set by default.
For example, if a user makes a mistake when entering their PIN and needs to start over, he or she can press the escape key to be
prompted again for the PIN.
Confidence Level
The minimum confidence that the highest scoring hypothesis of the recognition result must have for a successful recognition. If no
hypothesis is above this threshold, the tool will take the Nomatch exit path. This parameter corresponds to the confidencelevel
property of VoiceXML.
This parameter must have a value between 0.0 and 1.0 (inclusive). The default value is 0.5.
Top N Answers
Timing
412
Value
Maximum time to wait (in seconds) for speech or DTMF input. (That is, if no key is pressed or speech is detected within this time,
the recognition aborts. The default timeout period is 5 seconds.)
Mode
Interdigit
Maximum inter-digit delay for DTMF (in seconds). The default timeout period is 2.5 seconds.
Termination
Termination timeout (in seconds) for DTMF input when DTMF grammar must terminate. The default timeout period is 0 seconds.
Incomplete
Maximum time to wait (in seconds) after caller stops talking and grammar is not yet in an accepting state before timing out and
taking the No Match exit path. The default timeout period is 1.5 seconds.
Complete
Maximum time to wait (in seconds) after a valid speech input has been provided before the input is accepted after the caller stops
talking. The default timeout period is 0.5 seconds.
Max Speech
Maximum allowed duration of user speech before aborting. This prevents excessive background noise from blocking the tool
indefinitely. The default timeout period is 20 seconds.
Tone Detector
First tone detection frequency in Hz. The default value is 1100. Set this parameter to zero to disable tone detection.
Second tone detection frequency in Hz. The default value is zero. When set to zero, tone detection is disabled.
ON Duration(s)
413
Time (in seconds) during which the tone must be on. The default value is 0.2.
ON Deviation(s)
OFF Duration(s)
Time (in seconds) during which tone must be off. The default value is 0.0.
OFF Deviation(s)
Interval Count
Number of tone on/off intervals required for match. The default value is 0.
Properties
Inline recognition properties. Properties specified here are active for the duration of the recognition. These properties can be used
for advanced control of the recognition or to enable engine specific, custom extensions.
Outputs
XML Document
XML <result> element node of the recognition result data. If an error occurred, an empty XML node will be returned with error
information attached. Use XML Get Error Info to obtain extended error information
Hypothesis Count
Value of the "_value" slot of the hypothesis with the highest confidence. Empty string if top hypothesis does not have a _value slot.
Code (event)
This output parameter contains the error code if the tool failed in the form of a VoiceXML style event.
Text (message)
Exit Paths
Success
This path is taken if a valid input matching one or more of the specified grammars is recognized. This may be DTMF or voice.
Escape
This path is taken if a tone matching the specified rules is detected during the recognition.
No Input
This path is taken if "no input" was recognized during the specified timeout time. This corresponds to the noinput VoiceXML event.
No Match
This path is taken if the input provided but it did not match any of the active grammars. This corresponds to the nomatch VoiceXML
event. Even if the tool returns through this exit, there may still be a recognition result.
Max Speech
This path is taken if the Max Speech Timeout was exceeded during speech input. This normally means that the background noise is
too high and the handler should fall back to DTMF-only input. This exit corresponds to the maxspeechtimeout VoiceXML event.
Failure
This path is taken if some other error occurred. Use XML Get Error Info on the returned recognition result node to obtain additional
information.
Parameters
Hypothesis
Exit Paths
Success
Failure
415
Thus, callers can either say "Jane," "Doe," "Jane Doe," or "Doe Jane." Possible alternate spellings specified in Interaction
Administrator for that user are added as additional alternatives.
Note: If an alternate spelling ends with a language attachment, this tool treats the exclamation point and subsequent language
identifier as a language attachment.
Enabling the 'Last Name Optional' or 'First Name Optional' parameters will allow broader recognition (that is, the callers do not have
to say the full name). However, for large organizations this leads to lots of ambiguous matches, in particular for common names
such as "Smith."
Note: All selected slots are always returned, even if the caller doesn’t say the corresponding component. For example, if the
first name is optional and the user just says the last name of a person, the "firstname" slot will nevertheless be filled with the
first name of the directory entry.
IMPORTANT: Do not use this tool to overwrite a preloaded grammar or a grammar that might be in use. Instead, create a new
grammar file with a unique name, (for example, by appending the current time and date). Rendering the company directory into
the file may take quite some time. Overwriting a grammar file that may be used by the application could thus lead to a partially
completed file being loaded and cause the grammar parser to fail. By creating a new file, and only referencing it once it is
completed, prevents such problems. Use the Reco Add Preloaded Grammar tool to add/replace a preloaded grammar with the
newly created company directory grammar.
Inputs
Grammar File
File name and path of the grammar file to be created. If no path is specified, the grammar will be written to the directory specified
as 'DefaultGrammarBaseURI' Recognition configuration parameter. If the file name does not have an extension, ".gram" will be
added.
Language
ISO language code of the grammar to be created (set as value of ‘language’ grammar header).
Workgroups
Leading Filler
ABNF Rule fragment rendered as filler before the actual name tokens. For example:
[dial | call | (transfer | connect) [me] [to | with]]
Note: The filler must be in the SRGS ABNF format and is not rendered as optional. Thus, specifying "dial" as filler will mean
that the user must say "dial" followed by the name for the grammar to match.
If undefined, no leading filler is rendered.
Trailing Filler
ABNF Rule fragment rendered as filler after the actual name tokens. For example:
[please]
Note: The filler must be in the SRGS ABNF format and is not rendered as optional.
If undefined, no trailing filler is rendered.
Custom Headers
416
Custom header fields and rules to inject into the SRGS ABNF grammar. The following headers are created by the tool and cannot be
injected: 'mode', 'language', 'root'.
This checkbox specifies whether the grammar should be rendered with an optional first name. If left unchecked, the caller must say
the first name of the person. If checked, the fist name of the user is optional and callers may just say the last name.
This checkbox specifies whether the grammar should be rendered with an optional last name. If left unchecked, the caller must say
the last name. If checked, the last name of the user is optional in the grammar and callers may just say the first name.
This checkbox specifies whether user may say "last name, first name" in addition to "first name, last name." If left unchecked, the
grammar expects "first name, last name." If checked, the user my say either "first name, last name" or "last name, first name."
If checked, the recognition result will include a "user" slot containing the name (user id) of the user.
If checked, the recognition result will include an "extension" slot containing the extension of the user.
If checked, the recognition result will include a "firstname" slot containing the first name of the user.
If checked, the recognition result will include a "lastname" slot containing the last name of the user.
Outputs
Full file URI of the created grammar file. Useful for passing to Reco Register Grammar or Reco Add Preloaded Grammar.
Error Code
Error Text
Exit Paths
Success
Failure
417
Creation of grammar file failed. Consult the Error Code parameter for details.
IMPORTANT: Do not use this tool to overwrite a preloaded grammar or a grammar that might be in use. Instead, create a new
grammar file with a unique name, (for example, by appending the current time and date). Rendering the company directory into
the file may take quite some time. Overwriting a grammar file that may be used by the application could thus lead to a partially
completed file being loaded and cause the grammar parser to fail. By creating a new file and only referencing it once it is
completed prevents such problems. Use the Reco Add Preloaded Grammar tool to add/replace a preloaded grammar with the
newly created company directory grammar.
Inputs
Grammar File
File name and path of the grammar file to be created. If no path is specified, the grammar will be written to the directory specified
as 'DefaultGrammarBaseURI' Recognition configuration parameter. If the file name does not have an extension, ".gram" will be
added.
Language
ISO language code of the grammar to be created (set as value of ‘language’ grammar header).
Workgroups
Leading Filler
ABNF Rule fragment rendered as filler before the actual name tokens. For example:
[dial | call | (transfer | connect) [me] [to | with]]
418
Note: The filler must be in the SRGS ABNF format and is not rendered as optional. Thus, specifying "dial" as filler will mean
that the user must say "dial" followed by the name for the grammar to match.
If undefined, no leading filler is rendered.
Trailing Filler
ABNF Rule fragment rendered as filler after the actual name tokens. For example:
[please]
Note: The filler must be in the SRGS ABNF format and is not rendered as optional.
If undefined, no trailing filler is rendered.
Custom Headers
Custom header fields and rules to inject into the SRGS ABNF grammar. The following headers are created by the tool and cannot be
injected: 'mode', 'language', 'root'.
This checkbox specifies whether the grammar should be rendered with an optional first name. If left unchecked, the caller must say
the first name of the person. If checked, the fist name of the user is optional and callers may just say the last name.
This checkbox specifies whether the grammar should be rendered with an optional last name. If left unchecked, the caller must say
the last name. If checked, the last name of the user is optional in the grammar and callers may just say the first name.
This checkbox specifies whether user may say "last name, first name" in addition to "first name, last name." If left unchecked, the
grammar expects "first name, last name." If checked, the user my say either "first name, last name" or "last name, first name."
If this checkbox is selected, users can request a particular extension by saying, for example, "Dial extension 8157."
This parameter specifies the grammar (one or more words) that callers can use before the extension if the Recognize User
Extension parameter is selected. By default, the prefix is "extension."
This parameter specified the grammar (one or more words) that callers can use after the extension if the Recognize User
Extension parameter is selected. There is no default suffix.
If checked, the recognition result will include a "user" slot containing the name (user id) of the user.
If checked, the recognition result will include an "extension" slot containing the extension of the user.
If checked, the recognition result will include a "lastname" slot containing the last name of the user.
Outputs
Full file URI of the created grammar file. Useful for passing to Reco Register Grammar or Reco Add Preloaded Grammar.
Error Code
Error Text
Exit Paths
Success
Failure
Creation of grammar file failed. Consult the Error Code parameter for details.
Inputs
Simulation Script
The RecoTSSimulator element of the simulator script to be executed. If this parameter is undefined, the default simulation script of
the TS simulator will be used.
420
Class
The name of the simulation class in the Reco TS Simulator script for which a simulated interaction is to be created. If this
parameter is undefined, the first <Interaction> element in the simulation script will be used.
Language
Language identifier of the interaction to be created. The default language is United States English (en-US).
Outputs
Interaction
Custom Data
<CustomData> child element of the <Interaction> element in the simulation script. This node will be NULL if the <Interaction>
element does not have a <CustomData> child element.
Error Code
This output parameter contains the error code if the tool failed.
Error Text
Exit Paths
Success
Failure
This path is taken if an error occurred. The most probable cause for failure is if the RecoTSSimulator is not running.
421
Reco Custom Operation
This Reco tool allows the engine integration modules to expose custom operations offered by the ASR engine they implement. For
example, it can be used to manage the voiceprint database for speaker identification support.
Inputs
Interaction
Operation Name
Parameter Names
Optional string list containing the names of the parameters. If no names are specified, the parameters are considered unnamed.
Parameter Values
Optional string list of parameter values passed to the engine integration module.
Outputs
Return Value
Error Code
This output parameter contains the error code returned by the server.
Error Text
Exit Paths
Success
This path is taken if the custom operation has been executed successfully.
Failure
This path is taken if the operation failed. For more details, the handler may analyze the event returned in the Error Code output.
422
Reco Disconnect Simulated Interaction
This Reco tool disconnects a simulated interaction created with the Reco Create Simulated Interaction tool.
Inputs
Interaction
Exit Paths
Next
Inputs
Argument
XML DOM node of a <result> element. The argument document is not modified.
Pattern
XML DOM node of a <result> or <hypothesis> element. The argument document is not modified.
Compare Mode
Specifies whether to compare the values of the Mode attributes. Leave this box checked if you only want the hypotheses to match
if the values for the mode attributes are equal. Clear this box if you don't want the modes to be compared.
Compare Confidence
Specifies whether to compare the values of the Confidence attributes. Leave this box unchecked if you do not want the two
hypotheses confidences to be considered. Check this box if you only want to match hypotheses that have equal confidences.
Compare Grammar ID
Specifies whether to compare the values of the Grammar attributes. Leave this box checked if you want the two hypotheses to have
matching Grammar ID values. Clear this box if you do not want the Grammar IDs to be considered.
Compare Utterance
Specifies whether to compare the values of the "utterance" attributes. Leave this box unchecked if you do not want the values of the
<utterance> elements to be compared. Check this box if you only want to match hypotheses with matching <utterance> elements.
423
Compare Slots
Specifies whether to compare the number, names, and values of the slots of the hypotheses. Leave this box checked if you only
want to match hypotheses with matching slots. Clear this box if you do not want the slots to be compared.
Slot Names
Space-separated list of names of the slots to compare. If not specified, compares all slots.
Note: Use the "dot" notation to reference individual nested slots.
Specifies whether to negate the match. Leave this box checked if you want to include only those hypotheses from the Argument in
the filtered result that do not match any hypotheses in the Pattern document. This corresponds to a set difference.
Clear this box to include hypotheses from Argument in the filtered result that match with one or more hypotheses from the Pattern
document. This roughly corresponds to a set intersection.
Outputs
Result
XML DOM node of the <result> element of a new document that contains the filtered recognition result.
Hypothesis Count
Exit Paths
Success
This path is taken if there is a valid result with at least one hypothesis.
Empty Result
This path is taken if the Recognition Result document has become empty.
Failure
This path is taken if some error occurred, most likely an invalid <result>.
Inputs
Recognition Result
Index
424
Zero-based index of the hypothesis to retrieve. The default value is the first hypothesis that matches other parameters.
Mode
Min. Confidence
Grammar ID
Outputs
Hypothesis Element
XML DOM Node of the <hypothesis> element that matches the specified parameters. NULL node if no matching hypothesis
found.
Hypothesis Index
Zero-based index of the hypothesis element as child element of the recognition result. A value of –1 will be returned if there are no
hypotheses.
Hypothesis Mode
Mode of the hypothesis ("dtmf" or "voice"). An empty string will be returned if there are no hypotheses.
Hypothesis Confidence
Hypothesis Grammar ID
Exit Paths
Success
Not Found
This path is taken if no hypothesis matching the specified parameters was found.
Failure
425
Reco Get Next Hypothesis
This Reco tool retrieves the next hypotheses from a list of hypotheses.
Inputs
Hypothesis Iterator
Outputs
Hypothesis Iterator
Element
Mode
Mode of the hypothesis ("dtmf" or "voice"). This will be an empty string if there is no hypothesis.
Confidence
Grammar ID
Exit Paths
Success
End
This path is taken if the iterator points to end of the list (or list is empty).
Failure
426
Reco Get Property
This Reco tool retrieves the value of a recognition property. These properties are managed by the recognition subsystem and used
to control engine specific or extended functions.
Inputs
Interaction
Property Name
Outputs
Property Value
Error Code
This output parameter contains the error code if the tool failed.
Error Text
Exit Paths
Success
This path is taken if the value of the property was successfully retrieved.
Failure
427
Reco Get Registered Grammars
This Reco tool retrieves a list of the grammars registered on the session of the specified interaction.
Note: If the interaction does not yet have a session, an empty string will be returned and the tool will take the None exit path.
Inputs
Interaction
Outputs
Grammar Ids
Grammar Count
Error Code
If the registration fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if
no error occurred.
Error Text
If the tool fails, this output parameter will contain a simple textual description of what went wrong (e.g., the reason for compilation
error).
Exit Paths
Success
This path is taken if the list of active grammars was successfully retrieved.
None
This path is taken if the ASR session of this interaction does not have any grammars.
Failure
Hypothesis Or Slot
Index
Zero based index of the slot (child of hypothesis or parent slot). Defaults to the first slot that matches the name
Name
Name of the slot (case-sensitive). To reference a specific child slot in a nested slot, use a period as qualifier. For example.
"foo.bar" accesses the slot "bar" which is a child slot nested in the slot "foo." The name is ignored by default, i.e., slot at index or
confidence.
Min. Confidence
Minimum confidence the slot has to have for a match. No confidence attribute assumes 1.0. Default: 0.0
Outputs
Slot Element
XML DOM element of the matching slot. NULL Node if no matching slot found.
Slot Value
Value of the slot. If the slot has nested slots, this value is the recursive concatenation of the values of all child slots.
Slot Index
Slot Name
Name of the slot. An empty string will be returned if the slot is unnamed.
Slot Confidence
Exit Paths
Success
Not Found
This path is taken if no slot matching the specified parameters was found.
Failure
Inputs
Interaction
Features
Space-separated list of features. The engine must support all listed features for tool to take the Yes exit path.
Outputs
Unsupported Features
Space separated list of features that are not supported. This will be an empty string if all features are supported.
Exit Paths
YES
This path is taken if all of the specified features are supported by the current ASR engine of the specified session.
NO
This path is taken if one or more of the specified features are not supported.
No Session
Failure
Reco Initialize
This Reco tool explicitly initializes an ASR session for an interaction. It allows specifying the engine to use. If no engine is given,
the recognition subsystem will pick an engine based on the language identifier of the interaction, the requested features, and the
configuration order of the engines.
The Reuse Compatible Session checkbox controls whether an existing ASR session must be re-initialized or can simply be reused.
If all parameters are left unspecified and Reuse Compatible Session is checked, an ASR session with default parameters will be
created if the interaction does not have a session. If the current session is compatible, the session is used as is. If the checkbox is
unchecked, a new ASR session will be created irrespectively of whether the interaction already has an active session, even if the
specified parameters match the exiting session.
Common error codes returned by this tool:
430
Error code Description
error.com.inin.reco.asr.engine Specified ASR engine is unknown or not installed
error.unsupported.language Engine doesn’t support the specified language
error.com.inin.interaction.type The specified interaction type is not supported by the recognition
subsystem.
error.com.inin.inputmodes Not all of the specified ‘Input Modes’ are supported
(‘No Fallback’ = true) or none of the specified ‘Input Modes’ are
supported (‘No Fallback’ = false).
error.noresource Unable to initialize the recognition session because there are too many
sessions already active and the number of available ports is limited
(e.g. licenses or total load of all ASR servers exceeded limit).
error.com.inin.reco.feature The requested capabilities are not supported by the specified engine
(or any engine that may be selected based on the language etc.).
error.com.inin.reco.session.tied The session configuration cannot be changed, as the ASR engine of the
currently active session doesn’t support this (once the engine is
initialized, it has to stay with the call). The engine may still support
changing the recognition language.
error.com.inin.ownership The invoking handler is not the owner of the interaction or it lost the
ownership.
Note: Irrespective of whether a new session is created or an old session reused, invoking this tool will always un-register all
grammars and reset the session.
IMPORTANT: If the Language attribute of an interaction is changed after this tool has been invoked, the language of the ASR
session will not change until the session is re-initialized by calling this tool.
Inputs
Interaction
Optional. Name of the ASR engine configuration to use. If not defined, consider any engine that matches the Language ID argument
or the Language interaction attribute and the required features.
Server Groups
Note : This input is not used and is reserved for future use.
Language ID
Optional. ISO language ID of the language to be recognized. If this parameter is not defined, then by default the value of "Language"
interaction attribute will be used.
Note: Some engines support multiple languages and/or use the language specified in the grammar. This parameter may thus
just be used to ensure that the engine supports the language (but is still may allow using grammars of other languages).
Required Features
431
Optional. String containing a space separated list of features that the ASR engine must support. Default is an empty string.
Input Modes
Optional. Space-separated list of input modes to use for this session. If this parameter is not defined, the value of the the
‘Eic_RecoInputModes’ interaction attribute is used by default.
If allocating an ASR port fails because all of them are in use, the Reco subsystem may wait up to the number of seconds specified
by this parameter for a port to become available. If no port is available within this time, the tool fails with ‘Resource Limit’. The
default value for this parameter is 0.0s
This checkbox specifies behavior if the interaction already has an associated ASR session. This box is checked by default, and so
the session won't be re-initialized and the engine won't be unloaded if this interaction already has an existing ASR session that
matches the specified parameters. All grammars will be deactivated, however.
Clear this box if you want the session to always reset and the engine to reload.
This checkbox specifies whether a physical ASR port should only be allocated the first time an ASR operation is actually performed.
This box is unchecked by default.
Check this box if you want the tool to decide which engine to use, but not actually allocate the port. If this box is unchecked and all
ports are in use, the tool will take the Failure exit path.
This checkbox specifies whether the specified input modes must be supported or an automatic fallback is OK. This only applies if
‘Input Modes’ argument is defined (does not apply to default). This box is checked by default and the tool will take the Failure exit
path if any input modes specified as "Input Modes" arguments cannot be used.
Clear this box if you do not want this tool to fail if only some of the input modes specified as "Input Modes" are unavailable. If all
such modes are unavailable, the tool will still take the Failure exit path.
Properties
Inline properties (name/value pairs) to apply to session. These properties can be used to control the engine selection, pass engine
specific data to the engine integration, or set default values for certain parameters.
Outputs
Error Code
This output parameter contains the error code if the tool failed in the form of a VoiceXML style event.
Error Text
Exit Paths
Success
432
Failure
This path is taken if an error has occurred. The Error Code and Error Text parameters contain details about the failure.
Reco Input
This Reco tool sends a request to the input recognition subsystem to accept user input either by speech or DTMF. The recognition
will be performed using the grammars specified by their GrammarIDs. The list may include voice and or DTMF grammars and the
recognition will use the corresponding input methods. Thus, if no DTMF grammar is specified, only voice input is possible and vice-
versa. All grammars whose IDs are specified in the Grammars argument must have been registered previously through the
Reco Register Grammar, Reco Register Grammar String, or Reco Register Inline Grammar tools.
In addition to GrammarIDs of explicitly registered grammars, grammars can also be referenced through "inline" references. Inline
references have the following format:
$< GrammarURI > [~< GrammarType >][^<GrammarID>]
Thus, a URI grammar maybe referenced without having to previously register it. This is probably most useful for built-in grammars.
Note 1: It is not necessary to call Reco Initialize before invoking this tool, as an ASR engine will automatically be chosen if
none is already active (see Reco Initialize for details on how an engine is chosen if no other parameters are specified).
Note 2: If Input Modes other than the default are specified and one of the input modes is not supported by the current session,
it is simply ignored. Thus, if Input Modes is "3" (Voice & DTMF), yet the session does not support ASR, only DTMF input is
solicited. If none of the grammar IDs represents a DTMF grammar, the tool would fails with a Grammar Error. If the Input Modes
parameter is "2" (Voice) and only DTMF is supported, the tool fails with a Failure error and the Error Code output parameter
contains "error.com.inin.mode". It is thus recommended to use the default for Input Modes, unless it is used for a fallback to
DTMF or to explicitly request a certain input mode.
Inputs
Interaction
Input Modes
Optional. Space separated list of input modes to use for this request. Default: Input modes specified when the session was created.
Grammars
Space separated list of Grammar IDs of the grammars that are to be used to use to accept speech and DTMF input during this
recognition step. In addition to GrammarIDs of previously registered grammars, explicit references may be specified too.
Confidence Level
Minimum confidence the highest scoring hypothesis of the recognition result must have for a successful recognition. If no
hypothesis above this threshold, the tool returns through the Nomatch exit. This parameter corresponds to the "confidencelevel"
property of VoiceXML.
Range: 0.0 … 1.0. Default: 0.5.
433
Top N Answers
Timeout
Value
Maximum time to wait (in seconds) for speech or DTMF input (i.e. if no key is pressed or speech is detected within this time, the
recognition aborts). Default: 5s
Mode
Interdigit Timeout
Termination Timeout
Termination timeout (in seconds) for DTMF input when DTMF grammar must terminate. Default: 0s
Incomplete Timeout
Maximum time to wait (in seconds) after caller stops talking and grammar is not yet in an accepting state before timing out and
returning through No Match. Default: 1.5s.
Complete Timeout
Maximum time to wait (in seconds) after a valid speech input has been provided before the input is accepted after the caller stops
talking. Default: 0.5s
Maximum allowed duration of user speech before aborting. This prevents excessive background noise from blocking the tool
indefinitely. Default: 20s
Tone Detector
First tone detection frequency in Hz. Set to 0 to disable tone detection. Default: 1100
Second tone detection frequency in Hz. Set to 0 to disable tone detection. Default: 0
ON Duration(s)
Time (in seconds) during which tone must be on. Default: 0.2
ON Deviation(s)
OFF Duration(s)
Time (in seconds) during which tone must be off. Default: 0.0
OFF Deviation
Interval Count
Properties
Inline recognition properties. Properties specified here are active for the duration of the recognition. These properties can be used
for advanced control of the recognition or to enable engine specific custom extensions.
Outputs
XML Document
Hypothesis Count
Code (event)
This output parameter contains the error code if the tool failed in the form of a VoiceXML style event.
Text (message)
435
Exit:
Success
A valid input matching one or more of the specified grammars was recognized. May be DTMF or voice.
Escape
Tone
A tone matching the specified rules was detected during the recognition.
No Input
No input was recognized during the specified timeout time. This corresponds to the "noinput" VoiceXML event.
No Match
Input was provided, but it did not match any of the active grammars. This corresponds to the "nomatch" VoiceXML event. Even if the
tool returns through this exit, there may still be a recognition result.
Max Speech
The "Max speech timeout" was exceeded during speech input. This probably means that the background noise is too high and the
handler should probably fall back to DTMF-only input. This exit corresponds to the "maxspeechtimeout" VoiceXML event.
Failure
Some other error occurred. Use XML Get Error on the returned recognition result node to obtain additional information.
436
Reco Log Event
This Reco tool gives speech applications the ability to write events into the ASR engine log. These events, for example, allow
marking segments of the call that other utilities, such as OpenSpeech Insight, can report on.
Inputs
Interaction
Event Name
Event Value
Outputs
Error Code
This output parameter contains the error code if the tool exits through Failure.
Error Text
Exit Paths
Success
Failure
The logging operation failed. The details are provided in the Error Code and Error Text.
Inputs
Result or Hypothesis 1
XML DOM node of a <result> or <hypothesis> element. The argument document is not modified.
Result or Hypothesis 2
XML DOM node of a <result> or <hypothesis> element. The argument document is not modified.
Compare Mode
Specifies whether to compare the values of the Mode attributes. Leave this box checked if you only want the hypotheses to match
if the values for the mode attributes are equal. Clear this box if you don't want the modes to be compared.
Compare Confidence
Specifies whether to compare the values of the Confidence attributes. Leave this box unchecked if you do not want the two
hypotheses confidences to be considered. Check this box if you only want to match hypotheses that have equal confidences.
Compare Grammar ID
Specifies whether to compare the values of the Grammar attributes. Leave this box checked if you want the two hypotheses to have
matching Grammar ID values. Clear this box if you do not want the Grammar IDs to be considered.
Compare Utterance
Specifies whether to compare the values of the "utterance" attributes. Leave this box unchecked if you do not want the values of the
<utterance> elements to be compared. Check this box if you only want to match hypotheses with matching <utterance> elements.
Compare Slots
Specifies whether to compare the number, names and values of the slots of the hypotheses. Leave this box checked if you only
want to match hypotheses with matching slots. Clear this box if you do not want the slots to be compared.
Slot Names
Space delimited list of names of the slots to compare. If not specified, compare all slots. This is ignored when Compare Slots is
not checked.
Note: Use the "dot" notation to reference individual nested slots.
Outputs
Result
XML DOM node of the <result> element of a new document that contains the union of the hypotheses.
Hypothesis Count
Exit Paths
438
Success
Empty Result
Failure
This path is take if an error occurred. Most likely an invalid <result> or <hypothesis> element specified as an argument.
439
Reco Query Input Modes
This Reco tool retrieves the Eic_RecoInputModes interaction attribute, checks it against the specified mask, and takes the Enabled
or Disabled exit depending on the test. It takes the Enabled exit if all bits of Mode Check Mask in Eic_RecoInputModes are set.
Thus, the following expression must evaluate to true: (Mask AND Eic_RecoInputModes) == Mask).
The tool always returns as Enabled if the mask is undefined, an empty string or "0".
The output parameter Input Modes always returns the value of the Eic_RecoInputModes interaction attribute, irrespective of the
mask value. The input modes are returned as space-separated list of names.
Note: A Handler should not access the Eic_RecoInputModes attribute directly, as it might not be initialized.
Inputs
Interaction
Mask of modes to check against the currently set modes. By default, this parameter is set to just return the value, and thus the tool
will always take Enabled exit path if left unchanged.
Outputs
Input Modes
Exit Paths
Enabled
This path is taken if the input modes specified as arguments are enabled.
Disabled
This path is taken if one or more of the input modes specified as arguments are not enabled.
Failure
440
Reco Query Simulator Script State
This Reco tool queries the identifier of the current state in the simulation script. It also returns the <CustomData> child element if
the <State> element has one. Custom data is very useful to control the test or embed expected results in the simulation script.
Inputs
Interaction
Outputs
Current State
Identifier of the current state in the simulation script ('id' attribute of the <State> element). This will be an empty string if the
<State> element doesn't have an 'id' attribute.
Custom Data
<CustomData> child element of the current <State> element in the simulation script. This will be a NULL node if the <State>
element does not have a <CustomData> child element.
Exit Paths
Success
Failure
This path is taken if there is an error querying the simulated interaction. This usually means that the interaction has either already
been disconnected or it's not a simulated interaction.
Inputs
Interaction
Grammar URI
URI of the grammar to activate. The supported schemas and grammar formats are engine dependent. The URI may include a
fragment identifier identifying a certain rule in the grammar. Support for fragments depends on the grammar type and (ASR) engine.
Grammar Type
Use this optional parameter to define the media type (MIME type) of the grammar referenced by the URL. If not specified, the
recognition subsystem deduces the type from the file extension or the HTTP header. However, in general it’s a good idea to specify
the MIME type and not rely on the automatic deduction.
This parameter must be empty for built-in grammars.
If a type is specified that is different from the actual data, the tool will take the Invalid Type exit path. The following are the media
types of the engine-agnostic grammar formats:
Grammar Mode
Mode of the referenced grammar. Thus, a grammar with mode "dtmf" is used for DTMF input. The tool will determine the grammar
mode from data by default. An error will occur if it is not an engine agnostic grammar.
Note: A grammar cannot apply to more than one mode (thus, "voice dtmf" is not a valid mode).
Grammar Weight
The bias of this grammar in relation to other grammars, specified as a positive floating-point number. A value greater than 1.0
positively biases the grammar, and a value less than 1.0 negatively biases the grammar. The default value is 1.0. Not all engines
support this and it is ignored if not supported.
Registration Mode
Grammar ID
442
ID of the grammar. If not specified, the tool will synthesize one. The grammar IDs must only consist of alphanumeric characters as
well as ‘$’ and ‘_’. IDs starting with ‘$’ are reserved for synthesized and other special IDs.
Override Duplicate ID
Specifies behavior if the session already has a grammar with this the specified GrammarID: Leave this box checked if you want pre-
existing grammars to be overwritten by new grammars using the same ID. I.e., if a grammar with the specified ID has already been
registered for this session, the old grammar will be un-registered and replaced with the new grammar.
Clear this box if you do not want older grammars to be overwritten. If this box is unchecked, then if a grammar with the specified ID
has already been registered for this session, the tool will exit via the Failure exit path with error code
"error.com.inin.grammar.id.duplicate".
Outputs
New Grammar ID
Grammar ID of the grammar. If a Grammar ID is specified as an Input, the same value is returned. If none is specified, this parameter
returns a synthesized ID.
Error Code
If the registration fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if
no error occurred.
Error Text
If the registration fails, this output parameter will contain a simple textual description of what went wrong (e.g. reason for
compilation error).
Exit Paths
Success
This path is taken if the grammar specified by the URL was successfully registered. This path may be taken even if the grammar is
not actually valid as the engine may only fetch the grammar when it’s actually used.
Failure
Inputs
443
Interaction
Grammar Source
Grammar Type
Use this optional parameter to define the media type (MIME type) of the grammar referenced by the URL. If not specified, the
recognition subsystem deduces the type from the file extension or the HTTP header. However, in general it’s a good idea to specify
the MIME type and not rely on the automatic deduction.
This parameter must be empty for built-in grammars.
If a type is specified that is different from the actual data, the tool will take the Invalid Type exit path. The following are the media
types of the engine-agnostic grammar formats:
Grammar Mode
Mode of the of referenced grammar. Thus, a grammar with mode "dtmf" is used for DTMF input. The tool will determine the
grammar mode from data by default. An error will occur if it is not an engine agnostic grammar.
Note: A grammar cannot apply to more than one mode (Thus, "voice dtmf" is not a valid mode).
Grammar Weight
The bias of this grammar in relation to other grammars, specified as a positive floating-point number. A value greater than 1.0
positively biases the grammar, and a value less than 1.0 negatively biases the grammar. The default value is 1.0. Not all engines
support this and it is ignored if not supported.
Registration Mode
Grammar ID
ID of the grammar. If not specified, the tool will synthesize one. The grammar IDs must only consist of alphanumeric characters as
well as ‘$’ and ‘_’. IDs starting with ‘$’ are reserved for synthesized and other special IDs.
Override Duplicate ID
Specifies behavior if the session already has a grammar with this the specified GrammarID: Leave this box checked if you want pre-
444
existing grammars to be overwritten by new grammars using the same ID. I.e., if a grammar with the specified ID has already been
registered for this session, the old grammar will be un-registered and replaced with the new grammar.
Clear this box if you do not want older grammars to be overwritten. If this box is unchecked, then if a grammar with the specified ID
has already been registered for this session, the tool will exit via the Failure exit path with error code
"error.com.inin.grammar.id.duplicate".
Outputs
New Grammar ID
Grammar ID of the grammar. If a Grammar ID is specified as an Input, the same value is returned. If none is specified, this parameter
returns a synthesized ID.
Error Code
If the registration fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if
no error occurred.
Error Text
If the registration fails, this output parameter will contain a simple textual description of what went wrong (e.g. reason for
compilation error).
Exit Paths
Success
This path is taken if the grammar by the grammar text has been successfully compiled and activated.
Failure
Inputs
Interaction
Grammar Mode
Mode of the of referenced grammar. Thus, a grammar with mode "dtmf" is used for DTMF input. The tool will determine the
grammar mode from data by default. An error will occur if it is not an engine agnostic grammar.
445
Note: A grammar cannot apply to more than one mode (Thus, "voice dtmf" is not a valid mode).
Grammar Type
Use this optional parameter to define the media type (MIME type) of the grammar referenced by the URL. If not specified, the
recognition subsystem deduces the type from the file extension or the HTTP header. However, in general it’s a good idea to specify
the MIME type and not rely on the automatic deduction.
This parameter must be empty for built-in grammars.
If a type is specified that is different from the actual data, the tool will take the Invalid Type exit path. The following are the media
types of the engine-agnostic grammar formats:
Grammar Weight
The bias of this grammar in relation to other grammars, specified as a positive floating-point number. A value greater than 1.0
positively biases the grammar, and a value less than 1.0 negatively biases the grammar. The default value is 1.0. Not all engines
support this and it is ignored if not supported.Outputs
Registration Mode
Grammar ID
Grammar ID of the grammar. If a Grammar ID is specified as an Input, the same value is returned. If none is specified, this parameter
returns a synthesized ID.
Override Duplicate ID
Specifies behavior if the session already has a grammar with this the specified GrammarID: Leave this box checked if you want pre-
existing grammars to be overwritten by new grammars using the same ID. I.e., if a grammar with the specified ID has already been
registered for this session, the old grammar will be un-registered and replaced with the new grammar.
Clear this box if you do not want older grammars to be overwritten. If this box is unchecked, then if a grammar with the specified ID
has already been registered for this session, the tool will exit via the Failure exit path with error code
"error.com.inin.grammar.id.duplicate".
Outputs
Value
446
Code (event)
If the registration fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if
no error occurred.
Text (message)
If the registration fails, this output parameter will contain a simple textual description of what went wrong (e.g. reason for
compilation error).
Exit Paths
Success
This path is taken if the grammar by the grammar text has been successfully compiled and activated.
Failure
Inputs
Interaction
Name
Name of the preloaded grammar. The preloaded grammar must have been added previously in Interaction Administrator or the
Reco Add Preloaded Grammar tool.
Weight
The bias of this grammar in relation to other grammars, specified as a positive floating-point number. A value greater than 1.0
positively biases the grammar, and a value less than 1.0 negatively biases the grammar. The default value is 1.0. Not all engines
support this and it is ignored if not supported.
Grammar ID
ID of the grammar. If not specified, the tool will synthesize one. The grammar IDs must only consist of alphanumeric characters as
well as ‘$’ and ‘_’. IDs starting with ‘$’ are reserved for synthesized and other special IDs.
Override Duplicate ID
Specifies behavior if the session already has a grammar with this the specified GrammarID. Leave this box checked if you want pre-
existing grammars to be overwritten by new grammars using the same ID. I.e., if a grammar with the specified ID has already been
registered for this session, the old grammar will be un-registered and replaced with the new grammar.
Clear this box if you do not want older grammars to be overwritten. If this box is unchecked, then if a grammar with the specified ID
has already been registered for this session, the tool will exit via the Failure exit path with error code
"error.com.inin.grammar.id.duplicate".
447
Outputs
New Grammar ID
Grammar ID of the grammar. If a Grammar ID is specified as an Input, the same value is returned. If none is specified, this parameter
returns a synthesized ID.
Error Code
If the registration fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if
no error occurred.
Error Text
If the registration fails, this output parameter will contain a simple textual description of what went wrong (e.g. reason for
compilation error).
Exit Paths
Success
The grammar by the grammar text has been successfully compiled and activated.
Failure
448
Reco Release
This Reco tool requests a release of the recognition resources (ASR engine) and session. A handler can use this tool to explicitly
release the resources when it no longer needs the ASR engine. This is merely considered as a (strong) hint to the recognition
subsystem, but it may not honor it for some reason.
Irrespective of whether the ASR session is actually released or not, invoking this tool will un-register all grammars of the session.
Note: This tool does nothing if the interaction does not have an active recognition session. However in this case, it will still
take the Success exit path.
Inputs
Interaction
Exit Paths
Success
Not Owner
This path is taken if the invoking handler is not the owner of the interaction.
Failure
Inputs
Interaction
Exit Paths
YES
NO
449
Reco Set Inline Properties
This Reco tool sets multiple properties at once. The property names and their values are specified in the tool dialog.
Inputs
Interaction
Outputs
Code (event)
This output parameter contains the error code if the tool failed.
Text (message)
Exit Paths
Success
Failure
Inputs
Interaction
Input Modes
450
Input modes to enable. This parameter is optional, and by default is set to modes enabled by Reco Initialize or the default of the
recognition subsystem (if no session).
This checkbox specifies how the input modes are set. It is checked by default and will thus only set supported modes. For example,
if the argument is "dtmf voice" and ASR is not installed or has not been initialized for this session, the Eic_RecoInputModes
attribute is set to "1."
Uncheck this box if you want the Eic_RecoInputModes attribute to be set to the value of the Input Modes argument, regardless of
whether the specified input modes are supported.
Outputs
A space delimited list of names of the previous value(s) of the Eic_RecoInputModes attribute.
Error Code
This output parameter contains the error code if the tool failed.
Error Text
Exit Paths
Success
None Set
This path is taken if the Eic_RecoInputModes attribute has been set to 0 because either the Input Modes argument is 0 or all modes
are not supported (and the ‘Only supported modes’ checkbox is checked).
Failure
451
Reco Set Property
This Reco tool sets the value of a recognition property. These properties are managed by the recognition subsystem and used to
control ASR engine specific or extended functions.
Inputs
Interaction
Property Name
Property Value
Outputs
Error Code
This output parameter contains the error code if the tool failed.
Error Text
Exit Paths
Success
This path is taken if the value of the property was successfully retrieved.
Failure
452
Reco Set Simulator Script State
This Reco tool changes the active state in the simulation script for an interaction. It also returns the <CustomData> child element if
the <State> element has one.
Note: The state can be changed at any time, but changing the state while an input operation is active could lead to unexpected
behavior.
Inputs
Interaction
New State
Identifier of the state in the simulation script ('id' attribute of the <State> element) to be activated. If this is an empty string, the first
state will be activated.
Outputs
Custom Data
<CustomData> child element of the <State> element in the simulation script. NULL node if the <State> element does not have a
<CustomData> child element.
Exit Paths
Success
Failure
This path is taken if there is an error changing the state. Common causes for this are if the state is invalid, the interaction has
already been disconnected, or it's not a simulated interaction.
453
Reco Unregister All Grammars
This Reco tool unregisters all grammars registered on the session of the specified interaction.
Inputs
Interaction
Outputs
Error Code
If the registration fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if
no error occurred.
Error Text
If the tool fails, this output parameter will contain a simple textual description of what went wrong (e.g. reason for compilation
error).
Exit Paths
Success
Failure
454
Reco Unregister Grammar
This Reco tool unregisters a grammar that was previously registered through the Reco Register Grammar,
Reco Register Grammar String, or Reco Register Inline Grammar tool. The grammar is identified by its grammar ID. This tool simply
tells the recognition subsystem that the grammar will not be used anymore and the associated resources can be released. You
don’t necessarily have to invoke this tool, as the recognition subsystem will collect the grammars when the session completes.
In general, it is not necessarily a good idea to explicitly unregister grammars that may be re-registered shortly again (e.g. in a
subroutine handler that is invoked multiple times) and if they have an explicitly specified GrammarID as this defeats grammar
registration optimizations done by the Reco Subsystem.
Inputs
Interaction
Grammar ID
Outputs
Error Code
If the tool fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if no
error occurred.
Error Text
If the registration fails, this output parameter will contain a simple textual description of what went wrong (e.g. reason for
compilation error).
Exit Paths
Success
Failure
455
Reco Verifier Abort Training
This Reco tool is used to discard the cumulative voiceprint data that has been collected during the current training session. The
verifier database will not be affected.
Inputs
Interaction
Outputs
Error Code
If the tool fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if no
error occurred.
Error Text
If the tool fails, this output parameter will contain a simple textual description of what went wrong.
Exit Paths
Success
The voiceprint data of the current training session has been discarded.
Failure
Some other error occurred. Consult the Error Code and Error Text outputs for details.
456
Reco Verifier Commit Training
This Reco tool is used to commit a verifier training session to the verifier database associated with the session. It will only
succeed when a training session is currently active.
Inputs
Interaction
Outputs
Error Code
If the tool fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if no
error occurred.
Error Text
If the tool fails, this output parameter will contain a simple textual description of what went wrong.
Exit Paths
Success
The current training session voiceprint data was committed to the verifier database.
Failure
Some other error occurred. Consult the Error Code and Error Text outputs for details.
457
Reco Verifier Ignore Last Utterance
This Reco tool is used to discard the last utterance received during a training or verification session. This is typically used when it
is discovered that the last detected utterance doesn't match the expected utterance result. Another example would be if a 'help'
grammar was specified so the user could receive additional help while in a training/verification session. If the Ignore Last Utterance
tool wasn't used in this case, then the utterance for 'help' would count towards the voiceprint of the training/verification session
and lead to an invalid voiceprint entry.
Inputs
Interaction
Outputs
Error Code
If the tool fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if no
error occurred.
Error Text
If the tool fails, this output parameter will contain a simple textual description of what went wrong.
Exit Paths
Success
The last utterance spoken during a training or verification session is discarded and removed from the cumulative set of voiceprint
analysis data.
Failure
Some other error occurred. Consult the Error Code and Error Text outputs for details.
Inputs
Interaction
458
Identifier of the interaction.
Grammars
Maximum amount of time to wait for the grammars to become available. The default wait time is five seconds. Enter a negative
value if you want the tool to wait indefinitely.
Outputs
Pending Grammars
Error Code
If the registration fails, this output parameter contains an error code in the form of a VoiceXML event. This will be an empty string if
no error occurred.
Error Text
If the tool fails, this output parameter will contain a simple textual description of what went wrong (e.g. reason for compilation
error).
Exit Paths
Ready
This path is taken if all specified grammars are ready for recognition.
Not Ready
This path is taken if one or more of the grammars is not yet ready.
Failure
Reports
459
Report Tools
Every thirty minutes (or at some other interval you specify in Interaction Administrator), Queue Manger generates statistical
information about the activity of each queue. This information includes the number of items that were in the queue and other
statistical information about those items. For reporting purposes, the statistical information can be generated in several ways:
First, Queue Manager always generates statistical information for specified queues for every item.
Second, you can designate certain items as belonging to Stats Groups. Stats groups can contain items that can be dispersed
among different queues. At the designated interval when other statistics are generated, Queue Manger will generate statistics for
Stats Groups, even if those items reside on different queues. Stats Groups are a way for you to monitor a Group of calls or other
items despite their location within the system.
Third, you can designate certain items as belonging to a Report Group. Report Groups are useful for reporting on a subset of the
calls within the queue or Stats Group. When Queue Manger generates statistics for a queue, it additionally generates statistics for
all the items belonging to a Report Group. An item can belong to one only Report Group.
Click on one of the tools below for more information on that tool:
Advance Counter
Assign Report Group
Assign Stats Group
Get Nth Period Statistics Report Data
IVR Event Notify
IVR_EnterLevel
IVR_ExitIVR
Log Tools
Query Counter
Query Report Group
Query Stats Group
Remove Stats Group
Report Email
Report Export File
Report HTML Export
Report Print
460
Log Tools
Each log tool writes one or more pieces of information to a report log with a corresponding name. Each input parameter in a log
tool corresponds to a column defined in the report log in Interaction Administrator.
When you install CIC Server, the following report logs are configured automatically:
Account Code Configuration Log
This log contains a mirror image of the account codes as configured in CIC.
Agent Activity Log
This log contains details of individual status changes. It is updated each time an agent manually changes phone status (e.g. "at
lunch", "available", etc.).
Agent Queue Statistics Interval Log
The Agent Queue Statistics Interval log was deprecated in CIC 4.0.
This log contains details inserted from the Queue Period Statistics monitor handlers.
Fax Envelope History Log
This log contains statistics on faxes sent through CIC.
IC Change Notification Log
This log contains details of the change notifications transmitted by the Admin Server.
Interaction Administrator Change Notification Log
This log contains details about all changes made using the Interaction Administrator program.
Interaction Custom Attributes Record Log
Interval Line Group Statistics Log
This log contains interval statistics for line groups configured for reporting in CIC.
Interval Line Statistics Log
This log contains interval statistics for lines configured for reporting in CIC.
IVR History Log
This log contains the history of each interaction passed through IVR nodes configured in CIC's Interaction Attendant.
IVR Interval Log
This log contains the statistics of each IVR node configured in CIC's Interaction Attendant. This data is collected periodically
based on server parameters.
Line Configuration Mirror Log
This log contains a mirror image of the lines as configured in CIC.
Line Group Configuration Log
This log contains a mirror image of the line groups as configured in CIC.
Line Group to Lines Relationship Mirror Log
This log contains a mirror image of the line group to lines relationship as configured in CIC.
Statistics Group Interval Log
The Statistics Group Interval Log was deprecated in CIC 4.0.
This log contains details inserted by the Queue Period Statistics monitor handlers. It is similar to Agent Queue Statistics
Interval Log except that the agent values are not present because statistics groups are not associated with agents.
User to Workgroup Relationship Log
This log contains a mirror image of the users and their workgroups as configured in Interaction Administrator.
Workgroup Queue Statistics Interval Log
The Workgroup Queue Statistics Interval log was deprecated in CIC 4.0.
This log contains details inserted from the Queue Period Statistics monitor handlers. It is similar to Agent Queue Statistics
Interval Log, but contains information on workgroup/queue for which there was activity, or agents logged in the system.
WrapUp Statistics Log
This log contains statistics for each wrap-up code as configured in CIC.
Note : Because log tools send data to the log server asynchronously, error messages resulting from tool failure are written to
the log file.
Report log tools fail if the tool is out of sync with the actual report log defined in Interaction Administrator. If you use a custom
column in a report log, you must update any handlers that currently use the corresponding log tool to write information to that log.
See the PureConnect Reporting Technical Reference, the Advanced Reporting Technical Reference, and the PureConnect Data
Dictionary for more information on logs, log tools, logging handlers, custom columns, and reporting.
461
Advance Counter
Statistics counters gather information about a particular call (telephone or chat) as it moves across queues. Two of these
statistics counters are always in effect for every call: ConferenceCount and TransferCount. ConferenceCount is incremented
automatically for a call when that call is added to a conference. TransferCount is incremented automatically for a call when the
call is transferred by either a successful blind transfer or a successful consult transfer.
Use this Reports tool to create or increment your own custom statistics counters for ACD-processed interactions. For example, if
you want to know how many times a call has entered a certain workgroup, create a statistics counter for that call using this tool.
Any time a call enters that workgroup, use this counter to increment that statistics counter. When Queue Manager generates
statistical information for that queue, it will also generate the information for any custom statistics.
Note : This tool only works for interactions in ACD processing.
Inputs
Call Id
Exit Paths
Next
Inputs
Call Id
The name of the report group to which the call will be assigned.
Exit Paths
Next
462
Assign Stats Group
This Reports tool assigns a telephone call or chat session to a Stats group.
At regular intervals (every 30 minutes, or some other interval you configure in the QueuePeriodStatisticsInterval server parameter in
Interaction Administrator), Queue Manager generates statistical information about calls that have changed states in designated
queues. This statistical information eventually ends up in a database and is used for reporting purposes. In addition to the statistics
generated for the queues, Queue Manager also generates statistics for all the calls that belong to a statistics group.
Statistics groups are a way of categorizing the calls for which statistical information is being generated. Statistics generated for
calls in statistical groups is limited to information about the calls, and does not include the additional agent information generated
for queues. Statistics information for statistics groups is grouped together, even if these calls reside on different queues. A call
can belong to more than one statistics group.
As an example of how statistics groups work, imagine that your call center receives calls on three separate toll free numbers. You
want to determine how well your agents are processing these calls, so you need a way of organizing the statistics information
generated by Queue Manager. Each time a call enters SystemIVRWorkgroup, you assign that call to one of three statistics groups
depending upon which toll free number the caller dialed. When Queue Manager generates statistics information about all of the
calls in CIC, it also lists statistics for the groups of calls belonging to each statistics group. In other words, Queue Manager
generates statistics info for all of the calls, then for the three separate statistics groups.
Inputs
Call Id
Exit Paths
Next
Inputs
Interaction Id
Integer indicating level of the menu being entered. These levels have a value of 0 through 6.
Level in this sense does not refer to the actual location or tier in the menu structure. Level refers to the function performed at that
location. This tool uses the following level settings:
Server
0
Profile
1
Schedule
2
Application/Complex Operation
3
Menu
4
Task
5
Exit Path
6
See the online help for Interaction Attendant for more information on IVR nodes.
Level Name
Level Hierarchy
Cumulative level information from initial level to the most recent entered level.
Level Id Hierarchy
Cumulative level Id (unique identifier for IVR node in Interaction Attendant) parallel to level hierarchy.
Completion Type
Queue
Action
Outputs
Retval
Exit Paths
Success
464
Failure
IVR_EnterLevel
This tool is used in conjunction with IVR_ExitIVR to track an interaction's movements through an IVR. For accurate reporting, this
tool should be placed in a handler such that it is called every time an interaction moves to a new node in an IVR. When called, this
tool sets the IVR level's value for the interaction. "Level" in IVR refers to the interaction's use in Interaction Attendant's node tree.
When this tool is called, it sets the level value for the interaction on the IC_ATTR_IVR_CURRENT_LEVELS interaction attribute. If
IC_ATTR_IVR_CURRENT_LEVELS was already set, this tool will also set the IC_ATTR_IVR_PREVIOUS_LEVELS attribute
appropriately.
Notes: What is referred to as "level" by these tools is also referred to as "Nodes" in the online help for Interaction Attendant.
"Level" in this sense refers only to the function performed at that tier of the IVR, and does not necessarily have any relation to
the linear progression of tiers in the IVR structure. See the help documentation for that application for more information.
IVR is considered to have already started when a level is set. If a level name is set, and there is no value for the levels above,
they will be assumed to be "-" for unspecified for the purposes of further IVR processing.
Inputs
CallID
Integer representing the unique identifier for the interaction. Use the Call Id To Integer tool to convert the Call Id to an Integer to
pass into this tool.
Name of the level being entered. This string is limited to 50 characters. If a name is greater than 50 characters in length, it will be
truncated at 50.
IVR Level
Integer indicating Level of the menu being entered. These levels have a value of 1 through 5.
As stated above, level in this sense does not refer to the actual location or tier in the menu structure. Level refers to the function
performed at that location. The Interaction Attendant handlers make the following level settings by default:
Profile
1
Schedule
2
Application/Complex Operation
3
Menu
4
Task
5
See the online help for Interaction Attendant for more information on IVR nodes.
Exit Paths
Success
465
IVR_ExitIVR
This tool is used in conjunction with IVR_EnterLevel to track an interaction's movements through an IVR. For accurate reporting,
this tool should be called whenever an interaction leaves in IVR.
Note: this tool and IVR_EnterLevel report IVR activity, not interaction activity. If a call leaves IVR for any reason, then subsequently
re-enters IVR, it will be reported as a separate instance.
Inputs
Call ID
Integer representing the unique identifier for the interaction. Use the Call Id To Integer tool to convert the Call Id to an Integer to
pass into this tool.
Positive integer indicating the reason that the interaction left IVR. By default, the number one (1) is used to denote an abandoned
call. Other positive values may be assigned for custom IVR routing if desired.
This string denotes the destination of the interaction when it exits IVR. In this string, the colon (:) is a reserved character used to
truncate the exit path. I.e., anything after a colon will be dropped from the string. Thus, interactions with an exit path string of
"Workgroup:Marketing" or "UserQueue:MarkM" will be read as "Workgroup" or "UserQueue" respectively.
Note: Because of the way this string is truncated, it is not possible to use a full directory path as the exit path. A string such as
"c:\ic\admin" will be truncated to simply "c".
Exit Paths
Success
466
Logging Custom Passthrough
Executes a string containing an ODBC SQL statement. CIC Logging Server executes this string on the same database connection
that is used for all of our log info. This tool allows you to send an Insert statement through PMQ queues to the CIC Logging and
have the insert happen in the same server and database. This lets you reliably send your own data to custom logging tables with the
same reliability as used for CIC data.
To use the Logging Custom Passthrough tool, set 9999 - Custom Passthrough to Yes in the Report Logs subcontainer under
System Configuration in Interaction Administrator. By default, 9999-Custom Passthrough is set to No .
This string is not error checked.
Inputs
Exit Paths
Success
This tool takes the Success exit path unless a failure condition occurred (see failure conditions below).
Failure
This tool takes the Failure exit path if it was unable to send the command due to PMQ problems. Since this tool is asynchronous,
any database errors caused by an invalid statement or caused by some other type of error will occur on the CIC logging machine
and be logged with CIC logging errors.
467
Purge Log Records
Purge Log Records deletes data in a log file. You specify the date, and this tool deletes all records created before that date. This
tool allows you to schedule (using a handler started with the Timer initiator) the deletion of old information.
Note: This tool works only if your logs are stored in a Jet database. This tool does not work with CSV databases.
Inputs
Log ID
The Log Id from the Report Log container in Interaction Administrator. Although this parameter takes a string, enter the Log ID
number.
This tool deletes all records created before the date you specify in this parameter.
Exit Paths
Success
This step takes the Success exit path if the records are deleted.
Failure
This step takes the Failure exit path if the Log ID is invalid.
Query Counter
This Reports tool returns the value of a statistics counter. See Advance Counter for more information on statistics counters.
Inputs
Call Id
ID of the telephone call or chat session that has the associated statistics counter.
Outputs
Exit Paths
Next
468
Query Report Group
This Reports tool returns the name of the report group to which a call belongs. A call can be a member of only one report group at a
time. See the Report Tools overview for more information on Report tools.
Inputs
Call Id
Outputs
Exit Paths
Next
Inputs
Call Id
Outputs
A list of strings containing the names of any statistic groups to which the call belongs.
Exit Paths
Next
469
Remove Stats Group
This Reports tool removes a telephone call or chat session from a stats group. See the documentation for Assign Stats Group for
more information on stats groups.
Inputs
Call Id
Exit Paths
Next
Report E-mail
Note:
In 2015 R2 and later, in order to schedule reports, users must have access to ICBM and have the Interaction Supervisor Plug-in:
Historical Reporting license. This is a new requirement, as of 2015 R2. Additionally, the Report E-mail Tool can no longer be
used for custom report scheduling operations. ReportingExecutable.exe along with the Shell Execute Command tool
must be used. The Report E-mail Tool only works with Crystal Reports 9; it will not work with Crystal Reports 2013 (2015 R2,
and later). For more information, see "Report e-mail tool" in the Reporting Technical Reference, and also see "Appendix C: Run
an Interaction Reporter report or a Report Assistant report using command line parameters" in the CIC Scheduled Reports
Installation and Configuration Guide.
This Reports tool exports the report in the desired format, and then sends the file to the Mail To, and Carbon Copy list. All temp
files created in the process will be cleaned up automatically.
Mail addresses can be complicated. The actual emailing of the file is done using the Interaction Processor (IP) email tools. Thus
this tool has all of the email restrictions and implementation details of those email tools. Mail To list must conform to addresses
understood by the IP email tools. Currently the most confusing aspect of this is that MS Mail, and Outlook take user ID, or names
and convert them internally to MS Mail addresses. This must be done explicitly on the mail list. For example GregC or Cunningham,
Greg at Genesys is really MS:/I3/I3HOME/GREGC or CCMAIL:Cunningham, Greg at I3-Home, or
SMTP:[email protected], or X400:c=US;a=;p=i3;o=I3-Home;s=GregC;. These addresses can be separated with a
semicolon to form a list of recipients.
Note:
I3RunCrReport.exe will auto-register as the processor of the RPT file extension. This will allow a RPT file to be opened and
previewed simply by executing a shell open command on the file. A full copy of Crystal Reports is not required for a recipient to
preview a RPT file. They need only install printing support, and execute I3RunCrReport.exe once to register the extension.
Inputs
Report Name
This is the report definition that will be used to processes the requested report. It must be an Identifier Name of a report configured
in Interaction Administrator, and not the Display Name.
Export Type
470
The format of the resulting exported report. Some of the formats you can type here are:
Microsoft Word for Windows
Microsoft Excel 2.1
Microsoft Excel 3.0
Microsoft Excel 4.0
Microsoft Excel 5.0
Microsoft Excel 5.0 Extended
Rich Text Format
Crystal RPT
Text
Tabbed Text
Paginated Text
Comma Separated Text
Tab Separated Text
Character Separated Text
Records
DIF
Mail To
Specifies the recipient of the emailed report. You must specify the full internet address ([email protected]), a Microsoft
Exchange address (EX:/o=I3/oe......cn=JohnD), or a IBM Notes/Domino address (NOTES:CN=John
Doe/OU=Indy/O=Genesys). If you leave the To and CC parameters empty, the message is sent to the address specified in the
Unaddressed Mail Recipient server parameter.
Note:
In Directory Services, each user's Exchange address is stored in that user's User key in the emailAddress attribute.
Carbon Copy
Specifies who should receive a copy of this email You must specify the full internet address ([email protected]), a Microsoft
Exchange address (EX:/o=I3/oe......cn=JohnD), or a IBM Notes/Domino address (NOTES:CN=John
Doe/OU=Indy/O=Genesys). Separate multiple email addresses with a semicolon.
Subject
Any text you want to appear in the email's subject line. (optional parameter)
Message
Any text you want to appear in the email's body. (optional parameter)
This parameter takes a List of String value. The value you enter at a certain position must correspond with the Name value in the
same position in the String Parameter Name parameter above.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of DateTime value. The value you enter at a certain position must correspond with the DateTime Name
value in the same position in the DateTime Parameter Name parameter above.
If only the date portion of the DateTime value is needed, or if only the time portion of the DateTime value is needed, this tool will
only use that portion of the DateTime value.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of Numeric value. The value you enter at a certain position must correspond with the Numeric Name
value in the same position in the Numeric Parameter Names parameter above.
See Specifying Report Parameters for more information and examples.
Depending on export type, any of the following values separated by a semicolon. Click here for more information on Special Export
Options:
LinesPerPage=n
UseReportNumberFormat=0 or 1
UseReportDateFormat=0 to n, where n is the constant column width. Default is 9.
StringDelimiter={character}
FieldDelimiter={character}
ExcelColumHeadings=0 or 1
ExcelConstColWidth=0 or 1
ExcelTabularFormat=0 or 1
ExcelBaseAreaType={PAGEHEADER, PAGEFOOTER, REPORTHEADER, REPORTFOOTER, GROUPHEADER GROUPFOOTER}
ExcelBaseArea=n where n is a group number and ExcelBaseAreaType=GROUPHEAER or GROUPFOOTER
FirstPageNo=n where n is the first page number of the document. This option only applies when exporting .pdf or .rtf files.
LastPageNo=n where n is the last page number of the document. This option only applies when exporting .pdf or .rtf files.
Exit Paths
Success
The Success exit path is taken if the report was generated successfully.
Failure
472
The Failure exit path is taken if the report failed. This can occur if one of the parameter names or values requested by the report
was not supplied in your input values.
Inputs
Report Name
This is the report definition that will be used to process the requested report. It must be a Report Name (Identifier Name) of a report
configured in Interaction Administrator, and not the Display Name of the report.
Export Type
Export format to be used for output of report. HTML Export types are excluded from this list. Valid types include:
Acrobat Format (PDF)
Character-separated values
Comma-separated values (CSV)
Crystal Reports (RPT)
Crystal Reports 7.0 (RPT)
Data Interchange Format (DIF)
Excel 97-2000
Excel 97-2000 (Data only)
ODBC – dBASE Files
ODBC – dBASE Files – Word
ODBC – EIC IA Export
ODBC – EIC_Tables
ODBC – Excel Files
ODBC – FoxPro Files – Word
ODBC – LocalServer
ODBC – MS Access Database
ODBC – Visual FoxPro Database
ODBC – Visual FoxPro Tables
Paginated Text
Record style (columns of values)
Report Definition
Rich Text Format
Tab-separated text
Tab-separated values
Text
Word for Windows document
XML
Note: Excel versions 5.0, 7.0, and 8.0 are also supported, but are mapped automatically to Excel 97-2000. Extended versions are
mapped to Excel 97-2000 (Data Only).
The file name and location to which the report will be exported.
Note: Do not specify the file name extension.
473
Boolean Parameter Values
This parameter takes a List of String value. The value you enter at a certain position must correspond with the Name value in the
same position in the String Parameter Name parameter above.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of DateTime value. The value you enter at a certain position must correspond with the DateTime Name
value in the same position in the DateTime Parameter Name parameter above.
If only the date portion of the DateTime value is needed, or if only the time portion of the DateTime value is needed, this tool will
only use that portion of the DateTime value.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of Numeric value. The value you enter at a certain position must correspond with the Numeric Name
value in the same position in the Numeric Parameter Names parameter above.
See Specifying Report Parameters for more information and examples.
Depending on export type, any of the following values separated by a semicolon. Click here for more information on Special Export
Options:
LinesPerPage=n
UseReportNumberFormat=0 or 1
UseReportDateFormat=0 to n, where n is the constant column width. Default is 9.
StringDelimiter={character}
FieldDelimiter={character}
DSN
UID
PWD
TABLE
ExcelColumHeadings=0 or 1
474
ExcelConstColWidth=0 or 1
ExcelTabularFormat=0 or 1
ExcelNoWorksheetFunc
ExcelBaseAreaType={PAGEHEADER, PAGEFOOTER, REPORTHEADER, REPORTFOOTER, GROUPHEADER, or GROUPFOOTER}
ExcelBaseAreaGroupNum=n where n is a group number and ExcelBaseAreaType=GROUPHEAER or GROUPFOOTER
FirstPageNo=n where n is the first page number of the document. This option only applies when exporting .pdf or .rtf files.
LastPageNo=n where n is the last page number of the document. This option only applies when exporting .pdf or .rtf files.
Exit Paths
Success
The Success exit path is taken if the report was generated successfully.
Failure
The Failure exit path is taken if the report failed. This can occur if one of the parameter names or values requested by the report
was not supplied in your input values.
Inputs
Report Name
This is the report definition that will be used to processes the requested report. It must be an Identifier Name of a report configured
in Interaction Administrator.
File name with path. The exact intent is dependent on export type. HTML export types will use the file name as the base name for
the HTML, and will put any JPG file in the associated directory with the file
If no path is supplied, the file will be placed in the CIC work directory if one exits, or the temp directory, or the root of the C: drive.
This parameter takes a List of String value. The value you enter at a certain position must correspond with the Name value in the
same position in the String Parameter Name parameter above.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of DateTime value. The value you enter at a certain position must correspond with the DateTime Name
value in the same position in the DateTime Parameter Name parameter above.
If only the date portion of the DateTime value is needed, or if only the time portion of the DateTime value is needed, this tool will
only use that portion of the DateTime value.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of Numeric value. The value you enter at a certain position must correspond with the Numeric Name
value in the same position in the Numeric Parameter Names parameter above.
See Specifying Report Parameters for more information and examples.
Exit Paths
Success
The Success exit path is taken if the report was generated successfully.
Failure
The Failure exit path is taken if the report failed. This can occur if one of the parameter names or values requested by the report
was not supplied in your input values.
Report Print
This Reports tool is used to output to a printer, or to file, via the printer drivers. A blank printer name will output to the default
printer. The only input parameters that you need to provide for this tool are those that are User Defined in Interaction Administrator.
All System Defined and fixed-value parameters will be passed in automatically.
476
Notes: If printing to file, no automated cleanup of the files will take place. Either automated or manual cleanup routines are
required to remove any files after they have been used.
When CIC runs as a service, care must be taken to insure that the printers being used are accessible by the service. Services
either must be given specific user privileges, or devices need to have printing rights granted to everyone to insure that printing
is possible. Also the full path to the printer as seen on the Printer Properties/Secuity/Permisions will likely have to be used
unless the printer is local.
Inputs
Report Name
This is the report definition that will be used to processes the requested report. It must be an Identifier Name of a report configured
in Interaction Administrator, and not the Display Name.
Printer Name
Printer name used for output. A UNC path may be required to correct address the printer if it is a network printer. If no printer name
is supplied, the default printer will be used.
Number of Copies
Tells print engine number of copies to print. Value defaults to one if nothing is supplied. The range is 0 to 65,000.
The ending page of the report. If nothing is specified, the last page of the report is used.
Collate Flag
Set this value to "true" if you want to collate. Set this value to "false" if you do not want the report collated. If you leave this value
empty, the default value is true.
477
This parameter takes a List of String value. The value you enter at a certain position must correspond with the Name value in the
same position in the String Parameter Name parameter above.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of DateTime value. The value you enter at a certain position must correspond with the DateTime Name
value in the same position in the DateTime Parameter Name parameter above.
If only the date portion of the DateTime value is needed, or if only the time portion of the DateTime value is needed, this tool will
only use that portion of the DateTime value.
See Specifying Report Parameters for more information and examples.
This parameter takes a List of Numeric value. The value you enter at a certain position must correspond with the Numeric Name
value in the same position in the Numeric Parameter Names parameter above.
See Specifying Report Parameters for more information and examples.
Print File
Forces output to be printed to this file. This can be used to create PostScript output or to print to file from the Fax Printer to create
a file that can be processed for faxing.
If no path is supplied, the file will be placed in the CIC work directory if one exits, or the temp directory, or the root of the C: drive.
Exit Paths
Success
Failure
The report failed. This can occur if one of the parameter names or values requested by the report was not supplied in your input
values.
REST
478
Array Builder
This REST tool accepts a list of values to build an array object of values. This tool builds the name/value pairs and inner JSON
alphabetically by name. For more information, refer to the Interaction Designer REST APIs Developer's Guide in the PureConnect
Documentation Library.
Inputs
Values List
The parallel list of data type for each value in the Values List parameter. The length of this list must match the length of the list int
he Values List parameter.
Outputs
Array String
Exit Paths
Success
Failure
This path is taken if the lengths of the input lists are not equal.
This path is taken if a value cannot be converted to the listed data type.
This path is taken if a data type provided by the Value Type List parameter does not match an accepted data type (for example,
string, bool, double, float, int, array, or object).
479
Array Parser
This REST tool outputs a list of values from an array. This tool parses the name/value pairs and inner JSON alphabetically by
name. For more information, refer to the Interaction Designer REST APIs Developer's Guide in the PureConnect Documentation
Library.
Inputs
Array String
Outputs
Values List
The parallel list of the data type for each value in the Values List parameter. Data types can include: string, bool, double, array,
object (JSON), and null. These data types correspond to JSON data types: string, Boolean, number, array, object (JSON), and null. Integer and
floating-point output as a double type (corresponding to JSON’s number type).
Exit Paths
Success
Failure
This path is taken if the ION library cannot parse the string in the Array String parameter. This can result from a malformed array or
malformed elements which may include another array or JSON object.
Use the CertTrustU.exe to install a client certificate. The certificate must be in PEM format. For more information, see
PureConnect Security Features Technical Reference in the PureConnect Documentation Library.
Supports many concurrent requests.
Does not use Windows Certificate store to check for validity of the certificate and uses openssl to do the verification.
To obtain more information on any failure, check logs of Interaction Processor or the response body and headers for failure
information.
For more information, refer to the Interaction Designer REST APIs Developer's Guide in the PureConnect Documentation Library.
480
Inputs
URL
Proxy Uri
(Optional) String URI of the HTTP proxy to use for REST calls. This parameter supports the use of a forward proxy to retrieve
content from the origin (API) server. This parameter must include the protocol used. For example: http://env4-revproxy1.ininlab or
http://192.168.1.10.
ID/Key
The ID or key required for client credentials grant and password grant. Do not encode.
Secret
Secret required for client credentials grant and password grant. Do not encode.
User Name
Password
Grant Type
(Optional) Specify whether to use a grant type of "client_credentials" or "password". If this parameter contains an empty string, the default
"client_credentials" is used.
(Optional) Set to true to output the credentials in the body of the REST call. Set to false to encode the credentials in the header. You must set
this parameter to true for Salesforce.com API compatibility.
Content Type
The content type to add to the header of the REST call. If this parameter contains an empty string, the default (application/x-www-form-
urlencoded) is used.
Maximum time in seconds to wait for request to be sent and response received before terminating the REST call request. Default: 10 seconds.
(Optional) Specify whether the server certificate validates against a client certificate to establish the HTTPS connection (installed by using
CertTrustU.exe in I3\IC\Certificates\REST). Create the I3\IC\Certificates\REST directory if it does not exist. The I3\IC\Certificates\REST directory
is not created by default.
This parameter applies only if the URL protocol is HTTPS. Check this parameter to accept certificate even if certificate authority is unknown.
This parameter applies only if the URL protocol is HTTPS. Check this parameter to accept a certificate even if the name does not match the
visited host.
This parameter applies only if the URL protocol is HTTPS. Check this parameter to accept a certificate even if it has expired.
Outputs
Parsed bearer token that the responding server provides. Only supports JSON server response.
Exit Paths
Success
This path is taken if the operation is successful and a bearer token is parsed from JSON.
Unknown Host
This path is taken if an invalid or unknown hostname is used (for example, DNS lookup failed).
Timeout
Connection Failure
This path is taken if a valid HTTP or HTTPS session was not established. For example, a failure to establish a HTTPS connection
due to the absence of a client certificate when the Client SSL Certificate parameter is true.
Failure
This path is taken for any failure other than timeout or connection failure.
482
JSON Builder
This REST tool accepts a list of names, a list of values, and a list of value types to build a JSON object of name/value pairs. This
tool builds the name/value pairs and inner JSON alphabetically by name. For more information, refer to the Interaction Designer
REST APIs Developer's Guide in the PureConnect Documentation Library.
Inputs
Names List
The list of names. The length of this list must match the length of the list in the Values List parameter.
Values List
The parallel list of the value for each name in the Names List parameter. The length of this list must match the length of the list in
the Names List parameter.
A parallel list of the object type for each output value found in the Values List parameter. The length of this list must match the
length of the list in the Names List parameter.
Outputs
JSON string
Exit Paths
Success
This path is taken if the operation is successful.
Failure
This path is taken if the lengths of the input lists are not equal.
This path is taken if a value cannot be converted to the listed data type.
This path is taken if a data type provided by the Value Type List parameter does not match an accepted data type (for example,
string, bool, double, float, int, array, or object).
483
JSON Parser
This REST tool outputs a list of names, a list of values, and a list of value types from a JSON object. This tool parses the
name/value pairs and inner JSON alphabetically by name. For more information, refer to the Interaction Designer REST APIs
Developer's Guide in the PureConnect Documentation Library.
Inputs
J SON string
The JSON object to parse. For this tool to correctly parse the JSON object, all of the name elements in the name/value pairs listed
in the JSON object must be unique.
Outputs
Names List
Values List
The parallel list of the parsed value for each name in the Names List parameter.
A parallel list of the data type for each value found in the Values List parameter. Data types can include: string, bool, double, array,
object (JSON), and null. These data types correspond to the JSON data types: string, Boolean, number, array, object (JSON), and
null. Integer and floating-point output as a double type (corresponding to JSON's number type).
Exit Paths
Success
This path is taken if the operation is successful.
Failure
This path is taken if the ION library cannot parse the JSON object in the JSON String parameter. This can result from a malformed
or missing JSON object.
Use the CertTrustU.exe to install a client certificate. The certificate must be in PEM format. For more information, see
PureConnect Security Features Technical Reference in the PureConnect Documentation Library.
484
Expects to receive a URL with special characters already URL encoded. The tool does not automatically URL encode special
characters. For example, to URL encode Ñ , use %C3%B1 .
Supports many concurrent requests.
Does not use Windows Certificate store to check for validity of the certificate and utilizes openssl to do the verification.
To obtain more information on any failure, check logs of Interaction Processor or the response body and headers for failure
information.
For more information, refer to the Interaction Designer REST APIs Developer's Guide in the PureConnect Documentation Library.
Inputs
URL
The URL of the request. You must URL encode any special characters in the URL. For example, to URL encode Ñ , use %C3%B1 .
Proxy Uri
(Optional) String URI of the HTTP proxy to use for REST calls. This parameter supports the use of a forward proxy to retrieve
content from the origin (API) server. This parameter must include the protocol used. For example: http://env4-revproxy1.ininlab or
http://192.168.1.10.
HTTP Method
The HTTP method to execute. HTTP methods include GET, POST, PUT, PATCH, and DELETE.
(Optional) Additional HTTP headers to include in the REST call other than content type and authorization with a bearer token.
B earer Token
Content Type
The content type to add to the header of the REST call. If this parameter contains an empty string, the default (application/json) is used.
Maximum time in seconds to wait for request to be sent and response received before terminating the REST call request. Default: 20 seconds.
(Optional) The name of a certificate in the \I3\IC\Certificates\REST directory on the PureConnect server to use for Client Authentication. The
certificate must be in PEM format and contain the unencrypted private key.
This parameter applies only if the URL protocol is HTTPS. Check this parameter to accept certificate even if certificate authority is unknown.
This parameter applies only if the URL protocol is HTTPS. Check this parameter to accept malformed certificates.
485
Ignore SSL Certificate Name Mismatch
This parameter applies only if the URL protocol is HTTPS. Check this parameter to accept a certificate even if the name does not match the
visited host.
This parameter applies only if the URL protocol is HTTPS. Check this parameter to accept a certificate even if it has expired.
Outputs
Status Code
Status Text
Response Headers
Response Body
Exit Paths
Success
Unknown Host
This path is taken if an invalid or unknown hostname is used (for example, DNS lookup failed).
Timeout
Connection Failure
This path is taken if a valid HTTP or HTTPS session was not established. For example, a failure to establish a HTTPS connection
due to the absence of a client certificate when the Client SSL Certificate parameter is true.
Failure
This path is taken for any failure other than unknown host, timeout, or connection failure.
SMS
486
Overview of SMS Tools
Short Message Services (SMS) tools allow users to exchange text messages over cell phones. To make use of SMS Support, you
will need to connect with an SMS Broker. An SMS Broker is a company that takes care of routing the SMS Messages to cell phones
and collects SMS Messages from cell phones.
Click on one of the following tools for more information about that tool:
SMS Append Destination
SMS Append Destinations
SMS Append Message
SMS Create
SMS Get Results
SMS Complete Send
SMS Send
SMS Set Message
Inputs
SMS Identifier
Destination
Exit Paths
Success
This path is taken if the destination is successfully added to the SMS Object.
Failure
487
SMS Append Destinations
This SMS tool is used to add multiple destinations to an SMSObject. This allows you to send an SMS message to several
destinations at once. Typically, the main or primary destination is filled in the SMS Send tool while any additional destination is
added with this tool. Therefore, this tool should be called before using the SMS Send tool.
Inputs
SMS Identifier
List of Destinations
The list of telephone numbers of the intended recipients of the SMS Object.
Exit Paths
Success
This path is taken if the destinations is successfully added to the SMS Object.
Failure
488
SMS Append Message
This SMS tool appends a new message at the end of the message list.
Note : It is possible for a single SMS object to carry several messages that will be sent to each destination. Depending on the
SMS broker, sending these messages can require one or more requests.
Inputs
SMS Identifier
Message
Exit Paths
Success
Failure
489
SMS Complete Send
This SMS tool requests the SMS Server to actually send the SMS Object to the SMS Broker. The message must have been
previously sent to the SMS Server using the SMS Send tool.
Inputs
SMS Identifier
Exit Pa ths
Success
This path is taken if the SMS Object is successfully sent to the SMS Broker.
Failure
SMS Create
This SMS tool allows handlers to create SMS Objects from scratch.
Inputs
Queue Identifier
Outputs
SMS Identifier
Exit Pa ths
Success
Failure
490
SMS Get Results
This SMS tool queries the specified SMS Object to retrieve its return code list and its error message list.
Inputs
SMS Identifier
Outputs
Return Codes
Results
Exit Pa ths
Success
This path is taken if the return code and error message lists were successfully retrieved.
Failure
SMS Send
This SMS tool allows handlers to send SMS Objects to the SMS Server.
Note: This tool does not actually send the message to the SMS Broker. That is done with the SMS CompleteSend tool. This
tool initiates the handler System_OutgoingSMS which calls the SMS CompleteSend tool.
Inputs
SMS Identifier
Remote Name
The name of the recipient of the SMS Object. If the message is to be sent to more than one recipient, this parameter should be left
blank. Multiple Remote Names should be added to the EicRemoteName attribute using the QueueManager’s vector functions.
The telephone number of the intended recipient of the SMS Object. This parameter may contain multiple phone numbers. This
allows text/binary messages to be sent to several cell phones.
Message
491
The text/binary file to be added to the SMS Object.
Binary Message?
Check this box if you want the text of a non-binary message to be truncated to 160 characters.
Priority
The priority of the SMS Object. A value of 0 (default) denotes normal priority, use 1 for High priority, and 2 for Urgent.
Note: High and Urgent priorities often require a special subscription with the SMS Broker. Sending messages at these priorities
without the necessary subscription may cause an exception.
This integer corresponds to a class attribute for the SMS Broker. The following values may be used:
0: Immediate display. The message will not be registered by the mobile phone.
1: The message will be stored on the Mobile Phone.
2: The message will be stored on the SIM card.
3: The message will be stored on the Terminal Equipment. Used for SIM toolkit and Over The Air short messages.
4: None (default)
If used, there will be a Status Report (SR) message generated when the MT message is sent. SMS Notifications can be sent when
the message is delivered, not delivered, pending, etc.
Note: Notifications usually requires a special subscription with the SMS Broker. Asking for a notification without the necessary
subscription will either cause an exception or simply get ignored, depending on the SMS Broker. Check with your SMS Broker to
confirm the values associated with valid notification types.
Timeout
The number of seconds to wait for the message to be sent. Enter a value of zero to use the system default timeout period.
Number of tries
Codepage
This integer is the EBCDIC code page to use. This field is only available if the EBCDIC custom encoding is selected. Currently, only
the code page 290 is supported. This integer is set to 0 if not used.
Delayed until
If you want to delay the sending of this message, enter the date you want to have the message sent.
Valid until
492
Send As
The SMS Broker to send from. This input can indicate the default, a user, or a workgroup. Leave this input blank to indicate the
default which uses the SMS Outbound Routing table to choose the broker account to send from. Use the following format to
indicate a user or workgroup:
<userId>|<AssociationType>|<Association>|<Broker>|<BrokerAccountId>|<BrokerAccountLocalAddress>
<userId>
The user ID of the user initiating the SMS message send.
<AssociationType>
U (user) or W (workgroup) for broker accounts associated with users or workgroups.
<Association>
The user ID or workgroup name of the user or workgroup that is associated with t he desired broker account.
<Broker>
The name of the broker as configured in Interaction Administrator.
<BrokerAccountId>
The name of the broker account ID as configured in Interaction Administrator.
<BorkerAccountLocalAddress>
The broker account local address as configured in Interaction Administrator.
Notes :
If any of the information in the Send As parameter is incorrect or not configured correctly in Interaction Administrator (for
example, if the association between the account and the workgroup/user does not exist), the default is used.
If any of the strings in any of these values in the Send As parameter contain pipe characters (|) or ampersands (&), those strings
must be escaped as shown in the following example:
private string EscapePipeDelimitedString(string str)
{
str = str.Replace("&", "&");
str = str.Replace("|", "|");
return str;
}
Exit Pa ths
Success
This path is taken if the message is successfully sent to the SMS Server.
Failure
493
SMS Set Message
This SMS tool resets the message list with the given message. All messages that were previously carried by this SMS object are
discarded.
Inputs
SMS Identifier
Message
Exit Paths
Success
Failure
SOAP
494
SOAP Abort Request
This SOAP tool aborts the request. If ‘Send Unhandled Response’ is False, it does not send a response notification, not even an
“Unhandled” response when the Request handle goes out of scope. Aborting a request is useful if a SOAP request handler is
registered as Monitor handler, for example for wildcard SOAPAction. Multiple handlers may fire at the same time, but only one must
send a response notification to the client.
Outputs
SOAP Request
Exit Paths
Success
Failure
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Name
Fully qualified name of the element to create and add to the body. Please see remarks above for details.
Namespace
Optional string containing the namespace URI of the element. If the parameter is omitted and the name has a namespace prefix, the
tool will search in the parent elements for the namespace with the same prefix and make the element a member of this namespace.
Encoding Style
495
Optional string containing the value of the ‘encodingStyle’ attribute. Attribute is omitted if not specified or “NONE.” Specify
“STANDARD” for standard namespace ("http://schemas.xmlsoap.org/soap/encoding/”).
Value
Checking this box will replace the first element in the body that has the same (local) name and namespace. If the body contains
multiple elements with the same name and namespace, the remaining ones are not modified.
By default, this box is not checked and the element is added as the last child of the body.
If this box is checked, all existing elements will be removed from the body prior to adding the new element. By default, this box is
not checked and the new element is appended to the child list of the body.
Outputs
Body Element
Exit Paths
Success
Failure
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Name
Fully qualified name of the header element to create and add to the header.
Namespace
496
Optional string denoting the namespace URI of the element. If the parameter is omitted and the name has a namespace prefix, the
tool will search in the parent elements for the namespace with the same prefix and make the element a member of this namespace.
Must Understand
Actor URI
Encoding Style
Optional string setting the value of the ‘encodingStyle’ attribute. Attribute is omitted if not specified or “NONE”. Specify
“STANDARD” for standard namespace (“http://schemas.xmlsoap.org/soap/encoding/”).
Value
If this box is checked, this tool will replace first element in the body that has the same (local) name and namespace. If the body
contains multiple elements with the same name and namespace, the remaining ones are not modified. By default, this box is not
checked and the element is addd as the last child of the body.
Check this box to remove all existing elements from the body prior to adding the new element. By default, this box is not checked
and the element is appended to the child list of the body.
Outputs
Header Element
Exit Paths
Success
Failure
497
SOAP Add RPC Parameter
This SOAP tool is a convenience tool for composing RPC requests or responses. It adds a parameter element to the first element
in the body of the envelope, which represents the method in RPC requests. Use the XML tools to add complex data (not just a
string) to the parameter by manipulating the returned ‘Parameter Element’ node.
Note: The <Body> element must have a child element (method element). Otherwise this tool fails. When using
‘SOAP Create Envelope’, you must add a method element using ‘SOAP Add Body Element’. The 'SOAP Create RPC Response’ tool
already adds a method element.
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Name
Namespace
Optional string containing the Namespace URI of the element. If the parameter is omitted and the name has a namespace prefix, the
tool will search in the parent elements for the namespace with the same prefix and make the element a member of that namespace.
Value
Outputs
Parameter Element
Node of the element that just has been added to the method element.
Exit Paths
Success
Failure
498
SOAP Base64 Decode
This SOAP tool decodes the base64 encoded string into the binary representation and converts it to UNICODE based on the
specified character set. Thus, the character set argument specifies the character set of the base-64 encoded data.
Inputs
Encoded Data
Character Set
Outputs
Decoded Data
Data after decoding from Base64 and transforming from ‘Character Set’ to UNICODE.
Exit Paths
Success
Failure
499
SOAP Base64 Decode To File
This SOAP tool decodes the base64 encoded string into the binary representation and writes the data to the specified file as binary
data.
Inputs
Encoded Data
Filename
Filename and path of the file to which to write the decoded data.
Check this box to create a new file or append to an existing file. Leave this box cleared to create a new file or truncate an existing
file.
Exit Paths
Success
Access Denied
Failure
500
SOAP Base64 Encode
This SOAP tool converts the string (which is UNICODE) into the specified character set (default = UTF-8) and encodes the resulting
data into a Base64 string. Characters that cannot be translated to the destination character set will be represented as ‘?’. Wide
character sets, such as UTF-16 are currently not supported.
Note: SOAP does not mandate a maximum line width for base64 encoded data. Some other protocols, such as mime, do.
Inputs
Data
Character Set
Character set to convert data into before encoding. Optional. Default: ‘UTF-8’
Maximum width of a line in characters. The default value of –1 is interpreted as an unlimited line width.
Line Separator
Outputs
Encoded Data
Exit Paths
Success
Failure
501
SOAP Base64 Encode File
This SOAP tool reads the specified file as binary data and encodes it into a base64 string.
Note: SOAP does not mandate a maximum line width for base64 encoded data. Some other protocols, such as mime, do.
Inputs
Filename
Maximum width of a line in characters. The default value of –1 is interpreted as an unlimited line width.
Line Separator
Outputs
Encoded Data
Exit Paths
Success
Access Denied
Failure
The array items may be user defined (complex) types. Use the ‘XML Get Next Item’ tool to iterate through the‘Item Elements’
collection and populate the items. For example:
<Element xmlns:ns1=“uri:my-order-type”
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENC:arrayType="ns1:Order[3]"
xsi:type="SOAP-ENC:Array">
<ns1:Order>
<ns1:Product>Watchmacallit</ns1:Product>
<ns1:Quantity>3</ns1:Quantity>
<ns1:Price>19.99</ns1:Price>
</ns1:Order>
<ns1:Order>
<ns1:Product>Doodleany</ns1:Product>
<ns1:Quantity>9</ns1:Quantity>
<ns1:Price>12.49</ns1:Price>
</ns1:Order>
<ns1:Order>
<ns1:Product>Ozadingdong</ns1:Product>
<ns1:Quantity>1</ns1:Quantity>
<ns1:Price>43.15</ns1:Price>
</ns1:Order>
</Element>
Please refer to http://www.w3.org/TR/xmlschema-0 or http://www.w3.org/TR/xmlschema-2 for details on the XML Schema
Datatypes.
Inputs
Element
Values
List of strings to set as the array items. If not specified, empty elements will be created.
Size
Size of the array. If not specified, the length of the ‘Values’ list specifies the size. If both a ‘Values’ and ‘Size’ argument are given, the
‘Size’ has precedent and either not all items of the ‘Values’ list are included or the array is padded with elements containing the
‘Default Value’.
Default Value
Optional. Default array item value for padding items (if ‘Size’ is larger than size of ‘Values’ or no ‘Values’ defined).
Default: No value (padding elements will be empty)
Array Type
Optional. Type of the array. The argument may either be just the type name or have schema namespace prefix, such as xsd:string .
If the type argument does not have a prefix, xsd will be used.
Default: xsd:string
Type Namespace
503
Optional. Namespace of the array type.
Default: http://www.w3.org/2001/XMLSchema
Encoding Prefix
XSI Namespace
This box is checked by default and will add XSI type declaration for the SOAP Array. If all parameters are default, the declaration is:
xsi:type=“SOAP-ENC:Array”.
Uncheck this box if you do not want to add a type declaration for the array.
This box is checked by default and will declare the namespaces in the Envelope element (if they aren’t already). If any of the parent
elements already has a NS declaration for a prefix and the namespace URI is different, the declaration will be added to the element,
and not the Envelope.
If unchecked, the namespaces will be declared in the element itself.
This box is checked by default an returns collection of ‘Array Items’ containing all items of the array.
If unchecked, collection of array items will not be returned. I.e., 'Array Items' is returned as NULL.
Outputs
Item Elements
Node Iterator pointing to first element of a collection containing the nodes of the array items.
Count
504
Number of items in the array.
Note : this value is returned, even if ‘Return Item Collection’ is False.
Exit Paths
Success
Empty
Failure
Inputs
XML Encoding
Optional string character encoding to be used for the XML document. If omitted, “UTF-8” is used. See above.
Envelope Prefix
Namespace prefix for the envelope namespace. If not specified, the default “SOAP-ENV” is used.
Encoding Style
Space separated list of namespaces specifying the encoding style (value of the ‘encodingStyle’ attribute). If not specified or
“STANDARD” is passed as string, “http://schemas.xmlsoap.org/soap/encoding/” is used.
The encodingStyle attribute is omitted if “NONE” is specified.
505
RPC Method Name
Fully qualified name of the method element (first child element of the body element).
If not specified, no method element will be added.
Declare Namespaces
Space delimited list of namespace declarations of the form xmlns: {prefix}=‘ {URI}’ to be declared in the envelope. See remarks.
Selection Namespaces
String Optional. Space delimited list of namespace declarations to be set as selection namespaces for the XPath queries. If
argument not specified, the envelope prefix and the ‘Declare Namespace’ namespaces will be set as selection namespaces.
Note : Mapping for envelope prefix will always be added.
Outputs
Envelope
Exit Paths
Success
Failure
Inputs
Envelope
Envelope node of the request SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the
node is the element itself.
Fault Code
String to set as value of the <faultcode> element. String must not be empty.
Fault String
506
String to set as value of the <faultstring> element. Should be set to provide human readable information.
Fault Actor
String to set as value of the <faultactor> element. If argument is not specified, no <faultactor> element is added.
Leave this box checked if you want to create an empty <detail> element. Clear this box if you do not want to have a <detail>
element created.
Note: According to the SOAP spec, a <detail> element must be present if the fault is because the <Body> could not be processed
successfully.
Copy Header
Leave this box checked to copies the <Header> element and its contents from the source envelope. Clear this box if you do not
want to copy the <Header> element from the source envelope.
Outputs
Response Envelope
Detail Element
Node of the <detail> element of the <Fault> element. If ‘Create Detail Element’ is False, a NULL node is returned.
Exit Paths
Success
Failure
Inputs
507
Envelope
Envelope node of the request SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the
node is the element itself.
Method Name Mask
Optional mask to create the name of the response method.
The string passed here may contain the following substitution tags:
%1 Namespace prefix of the first child element of the <Body> element (RPC method).
%2 Base name of the first child element of the <Body> element (RPC method).
%{ Treat everything up to closing ‘} ’ as XPath query to be run against the ‘Envelope’ node and substitute the value of the first node
found into element name string.
%% ‘% ’ character
Default: “%1:%2Response”.
Method Namespace
Namespace of the method element. If not specified, namespace of request method is used.
Result Element Name
Name of the return value element (first child of the method element).
Default: “result”
Result Element Namespace
Namespace URI of the result element. If the parameter is omitted and the name has a namespace prefix, the tool will search in the
parent elements for the namespace with the same prefix and make the element a member of that namespace.
Return Value
String containing the return value of the method. This parameter does not parse XML data. This toolstep uses the return value as
content of the <Result> child element. Optional.
No Return Value (void response)
Check this box if you do not want to add a <Result> element. Leave this box unchecked if you do want to add a <Result> element.
Copy Header
Check this box to copy the <Header> element and its contents from the source envelope. Leave this box unchecked if you do not
want to copy the <Header> element from the source envelope.
Copy Method Element Attributes
Check this box to copy all attributes of the request method element into response method element. Leave this box unchecked if
you do not want to copy the attributes from request method element.
Outputs
Response Envelope
Document node of the response envelope.
Method Element
Node of the response method element.
Result Element
Node of the <Result> element in the method element.
Exit Paths
Success
This path is taken if the RPC response is successfully created.
Failure
This path is taken if the operation fails.
508
SOAP Expects Response
This SOAP tool takes a different exit path depending on whether the SOAP request requires a response (YES) or not (NO). If the
request expects a response and the handler exits (the SOAP Request handle goes out of scope) without having invoked
‘SOAP Send Response’, a Response Notification is sent back with the ‘Unhandled’ flag set to true.
Inputs
SOAP Request
Exit Paths
Yes
No
This path is taken if the SOAP request does not require a response.
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Outputs
Body
Exit Paths
Success
Failure
This path is taken if the SOAP envelope does not contain a Body element.
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Base Name
Base name of the element to return. If no name given, the first entry in the body in ‘Namespace’ is returned. This corresponds to the
element of the method for RPC requests.
Namespace
Retrieve Value
Check this box to return the node value. Leave this box unchecked if you do not want to retrieve the node value.
Outputs
Body Element
Child element of the <SOAP-ENV:Body> element that has the given base name and namespace. NULL node if the element is not in
the body.
Element Namespace
Value
Exit Paths
Success
Not Found
Failure
510
SOAP Get Fault
This SOAP tool retrieves fault information from the SOAP envelope. If there is no <Fault> element in the envelope, the ‘No Fault’ exit
is taken and NULL elements and empty strings are returned.
Note: If the envelope is read-only, the returned elements will be read-only too.
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Outputs
Fault Element
Fault Code
Value of the <faultcode> element. It provides programmatic information about the fault.
Fault String
Value of the <faultstring> element. It provides human readable information about the fault.
Fault Actor
Value of the <faultactor> element. It provides the URI of the source of the fault.
Detail Element
Node of the <detail> element. It is used to transfer application specific fault information. NULL Node if there is no <detail> element.
Exit Paths
Success
No Fault
Failure
511
SOAP Get Header
This SOAP tool retrieves the header element from the SOAP envelope if it has one.
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Outputs
Header
Node of the <SOAP-ENV:Header> element. NULL node if the envelope contains no header.
Exit Paths
Success
No Header
This path is taken if the SOAP envelope does not contain a Header element.
Failure
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Base Name
Namespace
Retrieve Value
Leave this box checked to return the node value. Clear the box if you do not want to retrieve the value.
512
Outputs
Header Element
Child element of the <SOAP-ENV:Header> element that has the given base name and namespace. NULL node if the envelope
contains no header or the element is not in the header.
Element Namespace
Value
Exit Paths
Success
Not Found
No Header
Failure
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Base Name
Namespace
513
Only include elements in this namespace. Optional.
Must Understand
If left unspecified, entries will not be filtered on 'mustUnderstand'. Otherwise, this field has the following possible values:
False Return header entries whose ‘mustUnderstand’ attribute is “0” (or no attribute is specified)
True Return header entries whose ‘mustUnderstand’ attribute is “1”.
Actor URIs
Space separated list of actor URIs. Only elements whose actor attribute has one of these namespaces is returned. If not specified,
don’t filter on actor namespace.
Outputs
Header Elements
Iterator to collection of header entries. Use the ‘XML Get Next Node’ tool to iterate over collection.
Count
Exit Paths
Success
None
No Header
Failure
514
SOAP Get Next RPC Parameter
This SOAP tool returns the element node at the current iterator position and returns an iterator to the next position. As the iterator
is just a variable, you can make copies at any time to remember a certain position, for example the start position. By using the
same variable as input and output iterator, you can easily iterate over the list by connecting the Success path back to this tool (after
processing the node, of course).
Note: The tool will fail (take the Failure exit) if the node to which ‘Parameter Iterator’ points is not an element! This cannot happen
if the iterator was obtained through ‘SOAP Get RPC Method Info’.
Inputs
Parameter Iterator
Retrieve Value
Leave this box checked to return the node value. Clear this box if yo do not want to retrieve the value. Disable retrieval of value if
value is not used and parameter may contain a large XML document.
Outputs
Next Parameter
Parameter Element
Parameter Namespace
Value
Exit Paths
Success
End
The tool takes the ‘End’ exit when the iterator points to an empty list or the iteration is complete (list traversed to end).
Failure
Inputs
SOAP Request
Handle of the SOAP request.
Outputs
Initiator Event
String denoting the notification event that caused the initiator to trigger.
SOAP Action
String denoting the SOAP action code of that request.
Client ID
Client ID (Notifier object id). Integer.
Client Name
String containing the name of the client
Request ID
Integer Request ID (for debugging/tracing purposes).
Payload Size
Size of the request payload in bytes. Integer.
Transport Info Size
Size of the transport information in size. Integer.
Exit Paths
Success
This path is taken if the information is successfully retrieved.
Failure
This path is taken if the operation fails.
516
SOAP Get RPC Method Info
This SOAP tool is a convenience tool for cracking RPC requests. It retrieves the first child element of the SOAP <Body> element
(Method element in RPC requests). It also returns a collection containing the child elements of the method, which constitute the
method arguments.
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Outputs
Method Element
Node of the method element (first child of the Body).
Method Base Name
Base name of the method element.
Method Namespace
Namespace URI of the method element.
Parameters
Iterator to collection of RPC parameter elements. Use the ‘SOAP Get Next RPC Parameter’ or ‘XML Get Next Node’ tool to iterate
over collection.
Parameter Count
Number of items in the Parameters collection.
Exit Paths
Success
This path is taken if the first child element is returned.
Fault
This path is taken if the body contains a <Fault> element.
No Method
This path is taken if the body does not contain an element.
Failure
This path is taken if the operation fails.
517
SOAP Get RPC Parameter
This SOAP tool is a convenience tool for cracking RPC requests. It retrieves a parameter element (child) from the first element in
the <Body> element (method in an RPC request).
It returns the first element that matches all of the specified arguments. If ‘Base Name’, ‘Namespace’, and ‘Index’ are undefined, the
first element will be returned.
Example: To retrieve the 2nd parameter from the ‘Add’ method in the calculator example presented in the Introduction, you would
specify “Parameter2” as name and “” as namespace, or ‘1’ as index.
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Base Name
Base name of the parameter. Optional.
Namespace
Namespace of the parameter. Optional.
Index
Zero based index into parameters of the method. If this parameter is specified, ‘Name’ and ‘Namespace’ may be omitted, but if
present must match the name and namespace of the parameter.
Retrieve Value
Leave this box checked to return the node value. Clear this box if you do not want to retrieve the value. Disable retrieval of value if
parameter contains a large XML document and the value is not used (performance option).
Outputs
Parameter Element
Parameter element.
Parameter Base Name
Base name of the parameter element.
Parameter Namespace
Namespace URI of the parameter element.
Parameter Index
Zero based index of the parameter element in the child list of the method element.
Value
Value of the parameter.
Exit Paths
Success
This path is taken if the element is successfully retrieved.
Not Found
This path is taken if the element can't be found.
Failure
This path is taken if the operation fails.
518
SOAP Get Transport Info
This SOAP tool returns an XML document containing transport specific (header) data. It allows the client to include any kind of out-
of-band data in the request. For example, for HTTP requests, this document contains the HTTP method and a list of the header
elements. See appendix for Schema. If there is no transport information data, an empty document is returned and the tool takes the
‘No Info’ exit. If there is an error (Failure), an empty document is returned which can be queried with ‘XML Get Error Info’.
Note: The data may be parsed every time the tool is invoked or cached. This may depend on the specified selection namespaces.
The returned document is read-only.
Inputs
SOAP Request
Handle of the SOAP request.
Selection Namespaces
Optional. Space delimited list of namespace declarations to be set as selection namespaces the XPath queries.
Preserve Whitespace
If this box is checked, nonessential whitespaces will be preserved. By default, this box is not checked and whitespaces are ignored
when parsing the payload.
Validate On Parse
If this box is checked, the tool will validat against the schema during parse. By default, this box is not checked and it only verifies
for well-formedness.
Resolve Externals
If this box is checked, all resolvable externals (namespaces, DTDs, entity references etc.) will be resolved at parse time. By default,
this box is not checked and externals are not resolved.
Outputs
Transport Info
Read-only node. XML document containing transport-specific out-of-band information. Empty document if no transport information.
See remarks.
Exit Paths
Success
This path is taken if the info is successfully retrieved.
No Info
This path is taken if there is no information to retrieve.
Failure
This path is taken if the operation fails.
Inputs
Request Envelope
XML Node of the SOAP envelope to send. Can be document node or <Envelope> element node.
URL
SOAP Action
String to be passed as SOAPAction header. The string passed here may contain the following substitution tags:
%1 Namespace of the first child element of the <Body> element (RPC method).
%2 Base name of the first child element of the <Body> element (RPC method).
%{ Treat everything up to closing ‘} ’ as XPath query to be run against the ‘Request Envelope’ node and substitute the value of the
first node found into the SOAPAction string.
%% ‘% ’ character
If this argument is not specified, the following mask will be used as default: “%1#%2” .
The value “NONE” may be specified to suppress addition of the SOAPAction header.
Additional HTTP Headers, separated by LF characters (\n). Optional. See above for details.
Selection Namespaces
Timeout Value
Maximum time the request may take before timing out (in milliseconds). A value of -1 is interpreted as an infinite timeout period.
Default: 60000 (60 seconds)
520
Size limit of the response data. If the data returned by the server exceeds this limit, the data is not processed and the tool fails. This
prevents denial of service attacks. Default: 1MB.
Escape URL
Leave this box checked to escape invalid characters in the URL with %<hexvalue> according to RFC2396. Clear this box if the URL is
already escaped.
Check this box to return the raw data of the response body as string (‘Raw Response Body). Leave this box cleared if you do not
want to return raw response data.
Outputs
Response Envelope
Document node of the response envelope. If an error occurred, an empty document is returned which can be queried using
‘XML Get Error Info’.
Status Code
Status Text
HTTP status text of the response (e.g. “OK”, “Internal Server Error”, etc).
Response Headers
Raw data of the response body (data that is parsed as response envelope). This string is only returned if the
‘Always Return Raw Response Body’ parameter is True, an error occurs, or the response content type is not XML.
Exit Paths
Success
This path is taken if the response contains valid SOAP envelope element(s) and the body is valid XML.
SOAP Fault
EmptyResponse
This path is taken if the response body was empty and the HTTP status code was 2xx. Some servers use this to signal success for
methods with no result (void).
Unknown Host
This path is taken if an invalid or unknown hostname is used (DNS lookup failed).
521
Connection Error
This path is taken if it is unable to establish connection to server: connection failed or existing connection was lost prematurely.
HTTP Error
This path is taken if there was an HTTP error (3xx, 4xx, 5xx) and it was not a SOAP Fault.
Parse Error
This path is taken if there was an error parsing the returned XML payload (status was 200 or 500).
Timeout
Size Limit
This path is taken if the response data exceeded the size limit.
Failure
This path is taken for any other failure. Use ‘XML Get Error Info’ on the ‘Response Envelope’ to obtain more information.
Inputs
Request Envelope
The optional XML Node of the SOAP envelope to send. Can be document node or <Envelope> element node. It can also be empty to
send an empty request.
URL
HTTP Method
SOAP Action
522
The string to be passed as the SOAPAction header. The string passed here may contain the following substitution tags:
%1 Namespace of the first child element of the <Body> element (RPC method).
%2 Base name of the first child element of the <Body> element (RPC method).
%{ Treat everything up to closing ‘}’ as XPath query to be run against the ‘Request Envelope’ node and substitute the value of the
first node found into the SOAPAction string.
%% ‘%’ character
Default: "%1#%2".
Note: For .NET webservices, use "%1/%2"
The value “NONE” may be specified to suppress addition of the SOAPAction header.
Optional. Additional HTTP Headers, separated by LF characters (\n). See remarks for details.
Selection Namespaces
Username (auth.sites)
Optional. Username for sites that require HTTP authentication. Default: No authentication.
Optional. Password for sites that require HTTP authentication. Default: No authentication.
Maximum time in seconds to wait for name resolution to complete. Default: 30s
Maximum time in seconds to wait for request to be sent and response to be completely received.
Default: 120s (2min)
Optional. Size limit of the response data. If the data returned by the server exceeds this limit, the data is not processed and the
tool fails. This prevents denial of service attacks. Default: 1MB.
Escape URL
Optional. Name of the client certificate to use from the local store. Default or empty string: Pick first certificate in store.
Unchecked by efault. Fail if the hostname of the visited host and the server certificate do not match.
Check to accept an SSL certificate even if the certificate name doesn’t match the visited host.
Unchecked by default. Fail if SSL certificate has expired or its date is invalid.
Check to accept an SSL certificate even if it has expired.
Outputs
Response Envelope
Document node of the response envelope. If an error occurred, an empty document is returned which can be queried using
‘XML Get Error Info’.
Status Code
Status Text
HTTP status text of the response (e.g. “OK”, “Internal Server Error”, etc).
Final URL
URL that was actually used to make the request after any redirections. This parameter can be used to check whether a redirect
occurred and what the URL of the final server was that served the request.
Response Headers
Raw data of the response body (data that is parsed as response envelope). This string is only returned if the 'Always Return Raw
Response Body’ parameter is True, an error occurs, or the response content type is not XML.
524
Exit Paths
Success
This path is taken if the response contains valid SOAP envelope element(s) and the body is valid XML.
SOAP Fault
Empty Response
This path is taken if the response body was empty and the HTTP status code was 2xx. Some servers use this to signal success for
methods with no result (void).
Unknown Host
This path is taken if an invalid or unknown hostname is used (DNS lookup failed).
HTTP Error
This path is taken if there was an HTTP error (3xx, 4xx, 5xx) and it was not a SOAP Fault.
Parse Error
This path is taken if there was an error parsing the returned XML payload (status was 200 or 500).
Timeout
Size Limit
This path is taken if the response data exceeded the size limit.
Failure
This path is taken for any other failure. Use ‘XML Get Error Info’ on the ‘Response Envelope’ to obtain more information.
525
Inputs
Request Envelope
The optional XML Node of the SOAP envelope to send. Can be document node or <Envelope> element node. It can also be empty to
send an empty request.
URL
HTTP Method
SOAP Action
The string to be passed as the SOAPAction header. The string passed here may contain the following substitution tags:
%1 Namespace of the first child element of the <Body> element (RPC method).
%2 Base name of the first child element of the <Body> element (RPC method).
%{ Treat everything up to closing ‘}’ as XPath query to be run against the ‘Request Envelope’ node and substitute the value of the
first node found into the SOAPAction string.
%% ‘%’ character
Default: "%1#%2".
Note: For .NET webservices, use "%1/%2"
The value “NONE” may be specified to suppress addition of the SOAPAction header.
Optional. Additional HTTP Headers, separated by LF characters (\n). See remarks for details.
Selection Namespaces
Username (auth.sites)
Optional. Username for sites that require HTTP authentication. Default: No authentication.
Optional. Password for sites that require HTTP authentication. Default: No authentication.
Password Encrypted?
Maximum time in seconds to wait for name resolution to complete. Default: 30s
Maximum time in seconds to wait for request to be sent and response to be completely received.
Default: 120s (2min)
Optional. Size limit of the response data. If the data returned by the server exceeds this limit, the data is not processed and the
tool fails. This prevents denial of service attacks. Default: 1MB.
Escape URL
Optional. Name of the client certificate to use from the local store. Default or empty string: Pick first certificate in store.
Unchecked by efault. Fail if the hostname of the visited host and the server certificate do not match.
Check to accept an SSL certificate even if the certificate name doesn’t match the visited host.
Unchecked by default. Fail if SSL certificate has expired or its date is invalid.
Check to accept an SSL certificate even if it has expired.
Outputs
Response Envelope
Document node of the response envelope. If an error occurred, an empty document is returned which can be queried using
‘XML Get Error Info’.
527
Status Code
Status Text
HTTP status text of the response (e.g. “OK”, “Internal Server Error”, etc).
Final URL
URL that was actually used to make the request after any redirections. This parameter can be used to check whether a redirect
occurred and what the URL of the final server was that served the request.
Response Headers
Raw data of the response body (data that is parsed as response envelope). This string is only returned if the 'Always Return Raw
Response Body’ parameter is True, an error occurs, or the response content type is not XML.
Exit Paths
Success
This path is taken if the if the response contains valid SOAP envelope element(s) and the body is valid XML.
SOAP Fault
Empty Response
This path is taken if the response body was empty and the HTTP status code was 2xx. Some servers use this to signal success for
methods with no result (void).
Unknown Host
This path is taken if an invalid or unknown hostname is used (DNS lookup failed).
HTTP Error
This path is taken if there was an HTTP error (3xx, 4xx, 5xx) and it was not a SOAP Fault.
Parse Error
This path is taken if there was an error parsing the returned XML payload (status was 200 or 500).
Timeout
Size Limit
This path is taken if the response data exceeded the size limit.
528
Failure
This path is taken for any other failure. Use ‘XML Get Error Info’ on the ‘Response Envelope’ to obtain more information.
Note : The SOAP HTTP Request Ex3 toolstep does not support the use of a HTTP proxy and therefore requires that the CIC
server has a direct routed connection to the web server hosting the SOAP endpoint.
The response body will be parsed and returned as ‘Response Envelope’ if the content type is text/xml. Otherwise, the body is
returned in ‘Raw Response Body’ and an empty document node is returned as ‘Response Envelope’. This document node can be
queried for information about what went wrong.
To obtain more information on any failure other than a ‘SOAP Fault,’ use the ‘XML Get Error Info’ tool on the response envelope XML
document returned by this tool.
Inputs
Request Envelope
The optional XML Node of the SOAP envelope to send. Can be document node or <Envelope> element node. It can also be empty to
send an empty request.
URL
HTTP Method
SOAP Action
The string to be passed as the SOAPAction header. The string passed here may contain the following substitution tags:
%1 Namespace of the first child element of the <Body> element (RPC method).
%2 Base name of the first child element of the <Body> element (RPC method).
529
%{ Treat everything up to closing ‘}’ as XPath query to be run against the ‘Request Envelope’ node and substitute the value of the
first node found into the SOAPAction string.
%% ‘%’ character
Default: "%1#%2".
Note: For .NET webservices, use "%1/%2"
The value “NONE” may be specified to suppress addition of the SOAPAction header.
Optional. Additional HTTP Headers, separated by LF characters (\n). See remarks for details.
Selection Namespaces
Username (auth.sites)
Optional. Username for sites that require HTTP authentication. Default: No authentication.
Optional. Password for sites that require HTTP authentication. Default: No authentication.
Password Encrypted?
Maximum time in seconds to wait for name resolution to complete. Default: 30s
Maximum time in seconds to wait for request to be sent and response to be completely received.
Default: 120s (2min)
Optional. Size limit of the response data. If the data returned by the server exceeds this limit, the data is not processed and the
tool fails. This prevents denial of service attacks. Default: 1MB.
Escape URL
Optional. Name of the client certificate to use from the local store. Default or empty string: Pick first certificate in store.
Unchecked by efault. Fail if the hostname of the visited host and the server certificate do not match.
Check to accept an SSL certificate even if the certificate name doesn’t match the visited host.
Unchecked by default. Fail if SSL certificate has expired or its date is invalid.
Check to accept an SSL certificate even if it has expired.
Outputs
Response Envelope
Document node of the response envelope. If an error occurred, an empty document is returned which can be queried using
‘XML Get Error Info’.
Status Code
Status Text
HTTP status text of the response (e.g. “OK”, “Internal Server Error”, etc).
Final URL
URL that was actually used to make the request after any redirections. This parameter can be used to check whether a redirect
occurred and what the URL of the final server was that served the request.
Response Headers
Raw data of the response body (data that is parsed as response envelope). This string is only returned if the 'Always Return Raw
Response Body’ parameter is True, an error occurs, or the response content type is not XML.
531
Exit Paths
Success
This path is taken if the response contains valid SOAP envelope element(s) and the body is valid XML.
SOAP Fault
Empty Response
This path is taken if the response body was empty and the HTTP status code was 2xx. Some servers use this to signal success for
methods with no result (void).
Unknown Host
This path is taken if an invalid or unknown hostname is used (DNS lookup failed).
HTTP Error
This path is taken if there was an HTTP error (3xx, 4xx, 5xx) and it was not a SOAP Fault.
Parse Error
This path is taken if there was an error parsing the returned XML payload (status was 200 or 500).
Timeout
Size Limit
This path is taken if the response data exceeded the size limit.
Failure
This path is taken for any other failure. Use ‘XML Get Error Info’ on the ‘Response Envelope’ to obtain more information.
<NS> namespace of the first body element; <MethodName> Name of the element [method name]):
1. <NS>
2. <NS> [<AnyCharacter>] <MethodName>
3. <MethodName>
4. [<AnyCharacter>] <MethodName>
This will catch actions such as “uri:my-uri#MyMethod”, “http://soap.inin.com/e-faq”, “MyMethod” etc. An empty SOAPAction
matches all methods.
Notes : The payload data is parsed every time this tool is invoked (i.e. it is not cached). The document is furthermore not read-only
532
and thus may be modified as needed, for example to create the response.
The payload envelope node will still be returned, even if the SOAP Action does not match.
Inputs
SOAP Request
If this box is checked, the SOAPAction header field will be verified against the payload. If this box is not checked, the SOAPAction
header will not be verified against the payload. This box is checked by default.
This optional input parameter is not currently used and will be removed in a future service update.
Selection Namespaces
Optional. Space delimited list of namespace declarations to be set as selection namespaces the XPath queries.
Note: The “SOAP-ENV” prefix will be used irrespective of the actual prefix in the payload.
A declaration mapping “SOAP-ENV” to the envelope namespace will always be added to the declarations, unless SOAP-ENV is
already declared in the argument.
Preserve Whitespace
If this box is checked, nonessential whitespaces will be preserved. By default, this box is not checked and whitespaces are ignored
when parsing the payload.
Validate On Parse
If this box is checked, the tool will validate against the schema during parse. By default, this box is not checked and it only verifies
for well-formedness.
Resolve Externals
If this box is checked, all resolvable externals (namespaces, DTDs, entity references etc.) will be resolved at parse time. By default,
this box is not checked and externals are not resolved.
Outputs
Payload
Node XML document with Envelope as document element. If there is an error, the document may be empty (but not NULL), and the
‘XML Get Error Info’ tool can be used to retrieve information about what failed).
Exit Paths
Success
This path is taken if the payload is successfully parsed. SOAP Action matches.
Empty Payload
533
This path is taken if the SOAP Payload is empty (XML document has no document element).
Wrong Action
This path is taken if the SOAP Action validation is enabled and action doesn’t match.
Parse Error
This path is taken if a parse error occurred parsing the payload. Use ‘XML Get Error Info’.
Failure
This path is taken for any other error. Use ‘XML Get Error Info’.
534
SOAP Query Encoding Style
This SOAP tool matches a space separated list of URIs against the ‘encodingStyle’ attribute of the given element. If the element
doesn’t have an ‘encodingStyle’ attribute, the parent of the element is checked and so on, until an element with an ‘encodingStyle’
attribute is found. If that attribute contains any of the specified encoding style URIs, the tool returns through ‘Success’ and returns
the style that was found.
Note: If the first ‘encodingStyle’ attribute found along the parent chain does not contain any of the specified styles, the search does
not continue and the tool exits ‘Not Found’.
Inputs
Element
Child Element of the SOAP envelope to query. If document node, the document element is queried.
Encoding Styles
Outputs
Element Of Style
XML node of the element in which the encoding style attribute was found.
Exit Paths
Found
Not Found
This path is taken ifthe first ‘encodingStyle’ attribute found along the parent chain does not contain any of the specified styles.
Failure
535
SOAP Send Response
This SOAP tool sends the specified payload as response to the sender of the request. To support transport specific features, the
‘Transport Control Data’ argument takes an XML node whose content will be sent back to the client. It can be used to send
transport specific out-of-band data to the client. For example, for the HTTP transport it allows to set additional header fields or
specify a special status code.
Inputs
SOAP Request
Handle of the SOAP request.
Payload
Node of the payload envelope to send back to the client. Must be document node or <Envelope> document element.
Transport Control Data
Optional. Node of an XML structure with additional transport specific control data. See remarks.
Exit Paths
Success
This path is taken if the response was sent successfully.
No Response
This path is taken if the request does not expect a response
Duplicate
This path is taken if the response for this request has already been sent
Failure
This path is taken if the operation fails. Check Payload node with XML Get Error Info
536
SOAP Set Element Type
In SOAP, the type of an argument or the return value is specified by the service description and doesn’t need to be included in the
payload. However, the service may define the type as xsd:anyType , for example for VARIANT types. In this case, the type must be
included in the argument. For example, if a type of “double” is specified, an element will look as follows:
<Element xmlns:xsd=“http://www.w3.org/2001/XMLSchema”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:type=“xsd:double”>1234.567</Element>.
Note: the type may be a user defined (complex) type. For example:
<ns1:Order xmlns:ns1=“uri:my-order-type”
xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:type=“ns1:Order”>
<ns1:Product>Watchmacallit</ns1:Product>
<ns1:Quantity>7</ns1:Quantity>
<ns1:Price>19.99</ns1:Price>
</ns1:Order>.
Please refer to http://www.w3.org/TR/xmlschema-0 or http://www.w3.org/TR/xmlschema-2 for details on the XML Schema
Datatypes.
Inputs
Element
Node of an element whose Schema instance type to set.
Type
String XSD type to declare for this element. See remarks for details. The argument may either be just the type name or have schema
namespace prefix, such as xsd:string . If the type argument does not contain a prefix, xsd will be used.
Type Namespace
Namespace of the type. Optional.
Default: http://www.w3.org/2001/XMLSchema
XSI Namespace
XML Schema Instance namespace. Optional.
Default: http://www.w3.org/2001/XMLSchema-instance
XSI Namespace Prefix
Prefix of the schema instance namespace. Optional.
Default: xsi
Declare Namespaces in Envelope
Leave this box checked to declare the XSD and XSI namespaces in the Envelope element (actually, the document element is used,
as this tool may be for other purposes than SOAP).
If any of the parent elements already has a NS declaration for a prefix and the namespace URI is different, the declaration will be
added to the element, and not the Envelope.
Clear this checkbox to declare the XSD and XSI namespaces in the element itself.
Exit Paths
Success
This path is taken if element type is successfully set.
Failure
This path is taken if the operation fails.
537
SOAP Set Fault
This SOAP tool adds a <Fault> element to the envelope or replaces an existing one. If one of the mandatory fields (Fault Code,
Fault Actor) is empty, the Failure path is taken and XML Get Error Info may be used on the Envelope node to query for error reasons.
Note: If the envelope already has a <Fault> element, the tool will remove the existing <Fault> element and replace it with the new
element.
Inputs
Envelope
Envelope node of the SOAP payload. Can be a document node whose document element is <SOAP-ENV:Envelope> or the node is
the element itself.
Fault Code
String to set as value of the <faultcode> element. String must not be empty.
Fault String
String to set as value of the <fautstring> element. Should be set to provide human readable information.
Fault Actor
String to set as value of the <faultactor> element. If argument is not specified, no <faultactor> element is added. Optional.
Create Detail Element
Leave this box checked to create an empty <detail> element. Clear this box if you don't want to create a <detail> element
Note: According to the SOAP spec, a <detail> element must be present if the fault is because the <Body> could not be processed
successfully.
Preserve Body Elements
Leave this box unchecked to remove all existing body elements and replace with a <Fault> element. Check this box to leave the
existing body elements and append <Fault> element as last child of <Body>.
Note: When sending a fault response to the client, only the <Fault> element is allowed in the body!
Outputs
Detail Element
Returns the node of the newly created <detail> element. If ‘Create Detail Element’ is False, a NULL node is returned.
Exit Paths
Success
This path is taken if the element is successfully added.
Failure
This path is taken if the operation fails.
Schedules
Get Schedules
This Schedules tool returns a list of Directory Services (DS) Keys representing schedules created in Interaction Administrator or
Interaction Attendant. You narrow this list by specifying a profile and/or keyword.
Note: This tool is used by Interaction Attendant to return a list of schedules. While it is possible that this tool be used in other
handlers, the handler author should have a solid understanding of CIC's IVR handlers, call flow, retrieving DS attributes, and
branching based on the values of DS attributes. These tools are currently used "out-of-the-box" in the Interaction Attendant
handlers. They may be used outside of Interaction Attendant in a future release.
538
See Scheduling in the Interaction Administrator and Interaction Attendant online documentation for more information on creating
and using schedules.
Inputs
Schedule Type
Profile
Optional. Retrieve schedules only for the specified Interaction Attendant profile. Specify the DS key path for the profile.
Keyword
Optional. Retrieve only Interaction Administrator schedules that contain the specified keyword in their title. Keywords are specified
for each schedule in Interaction Administrator.
Schedule Class
Operator 2
Outbound 3
Email 4
Outputs
Retrieved Schedules
A list of strings where each item in the list is a Directory Services (DS) path to a schedule that matches your input criteria. Portions
of DS searched include $CONFIG\Schedules and under $SERVER\Attendent\<ProfileName> for each Profile Name.
Exit Paths
Success
This tool takes the Success exit path if the query is successful. The query may be successful if the search returns no schedules.
Failure
This tool takes the Failure exit path if it is unable to query Directory Services.
Related Topics
Get Best Schedule
539
Get Best Schedule
This Schedules tool returns the most appropriate schedule for a specified DateTime value.
Note: This tool is used by Interaction Attendant. While it is possible that this tool be used in other handlers, the handler author
should have a solid understanding of CIC's IVR handlers, call flow, retrieving Directory Services (DS) attributes, and branching
based on the values of DS attributes. These tools are currently used "out-of-the-box" in the Interaction Attendant handlers. They
may be used outside of Interaction Attendant in a future release.
See Scheduling in the Interaction Administrator and Interaction Attendant online documentation for more information on creating
and using schedules.
Inputs
Schedules To Compare
A list of string value containing at least one entry. This list of string values is generated by the Get Schedules tool.
Date/Time
A DateTime value for which you want to find the best schedule. For example, suppose the Get Schedules tool returns a list of three
schedules: SupportOpen, SupportClosed, and SupportHoliday. If the DateTime value that you specify here falls within the range
specified for SupportOpen, then SupportOpen is chosen as the matching schedule. See Match Type for more information on this
tool chooses schedules.
Match Type
Outputs
Best Schedule
A string value containing the Directory Services path to the key containing the best schedule. If this value is empty, it means that no
schedule matches.
540
Exit Paths
Success
This tool takes the Success exit path if the schedules are successfully queried. The query may be successful if the query returns no
schedules.
Failure
This tool takes the Failure exit path if the Match Type value is empty or set to an invalid value.
Related Topics
Get Schedules
StatAlertServer
Inputs
The sequence ID provided to the initiator. This is used to correlate results with handler invocations in AlertServer.
Exit Paths
Success
The tool takes the Success exit path if the result is successfully returned.
Failure
The tool takes the Failure exit path if the operation is not successful.
System
541
System Tools
The System tools allow you to create handlers that look up, create entries, update entries on the Directory Services. Some of these
tools allow you to gather diagnostic information.
Complete External Blind Transfer
Complete External Call
Complete External Call (extended)
Complete Intercom Blind Transfer
Complete Intercom Call
Delete DS Key
DialPlan Failure
Execute Shell Command
GetDsAttr
GetDsAttrs
GetDsKeys
Get Email Profile
Get Operator Profile
Get Profile
Is Distribution List Member
Keypad Map
Log Event
LookUp
Lookup List
PutDsAttr
PutDsAttrs
PutDSKey
Query Backup
Semaphore Lock
Semaphore Unlock
Send Custom Notification
Server Name
Sleep
Unique ID
Whitepages
WhitepagesAsynch
WhitePagesLocality
542
Inputs
Call Identifier
Telephone number
The phone number of the transfer recipient. A comma causes a two-second pause, and any numbers after the "/" symbol are dialed
after the call is connected.
This optional parameter can contain the name of the recipient. This parameter could also contain the results of a whitepages
lookup.
The name of a particular line on which this call should be placed. An empty list indicates that this call may be placed on any
available line.
This list of dial strings parallels the list of line groups from the parameter above. When line group from position one is attempted,
dial string from position one is used, and so on. In the default shipping handlers, the DialPlanEX subroutine returns a list of dial
strings that parallels the list of line groups. You can pass the list of dial strings from that subroutine into this parameter. A comma
in a dial string causes a two-second pause, and any numbers after a "/" symbol are dialed after the call is connected.
This parameter passes a string of digits to be displayed as ANI or Caller ID on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the number entered in the Phone Number field in the Line
Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This parameter passes a string to display the name of the caller on the phone system that receives the call. If you do not specify a
value in this parameter, the Telephony Services subsystem uses the name associated with the number entered in the Phone Number
field in the Line Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This Boolean, set appropriately by default by CIC according to the configured line's support for putting a call back on the originating
system, is used to determine whether or not to use the putback feature if it is available for that line. If putback is available, then
setting this parameter to True will cause the transfer to be attempted using the Putback operation. The transfer will be attempted
using the originating SIP line if the originating SIP line is listed in the Dial Plan, regardless of the Dial Group preference. If the
originating SIP line is not referenced in a matching Dial Group in the Dial Plan or the Putback operation fails within the TS Server, a
conventional transfer will be attempted and will follow the Dial Group preference in the Dial Plan.
543
Note: We strongly recommend that you do not change the default value of this parameter unless you know exactly when and
why you need to override the default system value. This value is normally passed through the Transfer Request Initiator, but it
can be changed there as well.
Diversion Number
Used for forwarded SIP calls, this field specifies the destination/address to which the call was originally sent.
Diversion Name
Diversion Reason
Value Description
0 None
1 Unknown
2 Busy
3 No answer
4 Unavailable
5 Unconditional
6 Time of day
7 Do not disturb
8 Deflection
9 Follow-me
10 Out of service
11 Away
255 Other
Custom Headers
List of callAttr in custom headers. Use the format of key=value delimited by semicolon to pass to a SIP request. You cannot use a
reserved header as a custom header. To use customized headers, enable the Allow Full Custom Headers server parameter. For
more information, see Optional General Server Parameters in Interaction Administrator help.
Exit Paths
Success
The tool takes the Success exit path if the call is successfully transferred.
Busy
The tool takes the Busy exit path if the number called is busy.
544
Failure
The tool takes the Failure exit path if the operation is not successful.
Inputs
Call Identifier
Telephone number
The phone number of the party to be called. A comma causes a two-second pause, and any numbers after the "/" symbol are dialed
after the call is connected.
This optional parameter passes a string to display the name of the caller on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the name associated with the number entered in the
Phone Number field in the Line Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This parameter passes a string of digits to be displayed as ANI or Caller ID on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the number entered in the Phone Number field in the Line
Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This parameter takes a list of line groups (as configured in Interaction Administrator), or leave this parameter empty to use any
available line group.
Exit Paths
Success
This step takes the Success exit path if there is an available line.
This tool takes the ISDN Cause Code Value exit path if this tool detected a busy signal. This tool then places a string value in the
EIC_ISDNCauseValue call attribute. You would then use a selection step to branch based on the value of EIC_ISDNCauseValue. The
545
cause codes are numbers in string format, such as "42". You can view a list of cause codes and their explanations at
http://www.shout.net/~wildixon/telecom/isdn/cause-codes.html.
No Lines
This tool takes the No Lines path if no outgoing lines are available.
Failure
This step takes the Failure exit path if there are no available lines. If this step fails, the call does not change states.
Inputs
Call Identifier
Telephone number
The phone number of the party to be called. A comma causes a two-second pause, and any numbers after the "/" symbol are dialed
after the call is connected.
This parameter takes a list of line groups (as configured in Interaction Administrator), or leave this parameter empty to use any
available line group.
This list of dial strings parallels the list of line groups from the parameter above. When line group from position one is attempted,
dial string from position one is used, and so on. In the default shipping handlers, the DialPlanEX subroutine returns a list of dial
strings that parallels the list of line groups. You can pass the list of dial strings from that subroutine into this parameter. A comma
in a dial string causes a two-second pause, and any numbers after a "/" symbol are dialed after the call is connected.
Note: this parameter appears only in the Complete External Call (extended) tool.
This parameter passes a string of digits to be displayed as ANI or Caller ID on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the number entered in the Phone Number field in the Line
Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This parameter passes a string to display the name of the caller on the phone system that receives the call. If you do not specify a
value in this parameter, the Telephony Services subsystem uses the name associated with the number entered in the Phone Number
field in the Line Configuration container in Interaction Administrator.
546
Note: This only works for ISDN.
Custom Headers
List of callAttr in custom headers. Use the format of key=value delimited by semicolon to pass to a SIP request. You cannot use a
reserved header as a custom header. To use customized headers, enable the Allow Full Custom Headers server parameter. For
more information, see Optional General Server Parameters in Interaction Administrator help.
Exit Paths
Success
This step takes the Success exit path if there is an available line.
Busy
The tool takes the Busy exit path if the number called is busy.
No Lines
This tool takes the No Lines path if no outgoing lines are available.
Disconnect
The tool takes the Disconnect exit path if the call disconnects.
Failure
This step takes the Failure exit path if there are no available lines. If this step fails, the call does not change states.
Inputs
Call Identifier
Queue Identifier
547
Complete Intercom Call
This System tool places a call to another CIC queue and generates a Call To Non-System Queue event, which starts the
System_CallOfferingNonSystemQueue handler. For this step you must specify the name of a User, Station, or Workgroup queue
instead of a telephone number. This step has no exits because a handler or subroutine ends after this step has finished.
Note: This tool should only be used in the handlers System_InitiateManualDialing and System_InitiateCallRequest. This tool
only works with call objects created by a telephone going off-hook, or by a CIC client user making a call (for example, a
user clicking the Make Call button in Interaction Desktop). This tool fails if used in any other handlers or subroutines.
Inputs
Call Identifier
Queue Identifier
This optional parameter can contain the name of the recipient. This parameter could also contain the results of a Directory
Services lookup.
DataManager Query
This System tool returns contacts from Data Manager. The tool can return the available contact sources and attributes or contacts
from a particular source. Querying for sources would be used when querying a special source used as a catalog service. When
querying for contacts from a particular source, the schema will allow for sparse data so that fields not requested do not cause the
documents to be unnecessarily large.
The XML input parameter must be in a particular format to return the correct data.
Inputs
XML Node
Select an XML node for your query in one of the following formats:
Input Source Query Format
<query>
<querymode>source</querymode>
</query>
Input Contact Query Format
<query>
<querymode>contact</querymode>
<rowlimit>1000</rowlimit>
<owner>id</owner>
<filter>ID=5</filter>
<sortorder>ID</sortorder>
<timeout>20000</timeout>
<source>outlook</source>
548
<attributes>
<field>FirstName</field>
<field>LastName</field>
... additional fields
</attributes>
</query>
Outputs
XML Node
Select the an XML Node to output the results of the query. The results will be in one of the following formats:
Output Source Result Format
<sources>
<source>
<name>outlook</name>
<attributes>
<field>FirstName</field>
<field>LastName</field>
... additional fields
</attributes>
</source>
... additional sources
</sources>
Output Contact Result Format
<contacts>
<contact>
<FirstName>First1</FirstName>
<LastName>Last1</LastName>
... additional fields
</contact>
... additional contacts
</contacts>
Exit Paths
Success
Failure
549
Delete DS Key
This System tool deletes a key in Directory Services. This tool was designed to be used with the Interaction Attendant application,
but could be used with similar applications. You can optionally choose to retain or delete the subkeys below the key you are
deleting.
Caution: This tool could delete important information from your Windows NT Registry if used incorrectly, which could lead to
serious problems with CIC. If you are not sure about using this tool, contact technical support.
Inputs
The key to be deleted, including the path. By default, the path value stored in the Directory Services Path server parameter is used.
When using the default, you should only specify a key name and the default path to that key will be used.
Select this option to delete all child keys under the parent key being deleted. Clear this option to retain the child keys.
Exit Paths
Success
This tool takes the Success exit path if the delete operation is successful.
Failure
This tool takes the Failure exit path if the operation is not successful.
Dialplan Failure
This System tool is only used in the Dialplan handler. It causes the dial (or transfer) request to fail with the indicated text displayed
on the requesting client.
This step has no exits because a handler or subroutine ends after this step has finished.
Inputs
Call Identifier
Status Text
550
DID/DNIS Routing
This System tool takes the DNIS string of a telephone call and returns a scoped queue name based on the DID/DNIS configuration
in Interaction Administrator.
Inputs
Telephone Number
Outputs
Queue Name
Exit Paths
Success
Failure
Inputs
DLL Name
Function Name
The name of the function within the DLL you want to call.
The number of seconds this tool will wait for the custom DLL function to finish before taking the Timeout exit path. Assigning a
value of zero or any negative number to this parameter will cause the tool to wait indefinitely for the custom DLL function to finish.
Input 1
551
A string that contains an input value that the DLL uses.
Input 2
Input 3
Outputs
Output 1
Output 2
Output 3
Exit Paths
Success
This step takes the Success exit path according to Boolean return code in the function. If the DLL can be loaded and the function
located, users need to return 1 for this exit path to be taken or 0 for the Failure path.
Failure
This step takes the Failure exit path according to Boolean return code in the function.
This step takes the DLL Not Found exit path if the DLL could not be found or loaded. Basically the LoadLIbrary call failed.
This step takes the Function Not Found exit path if the specified function could not be located within the DLL.
Error
This step takes the Error exit path if the tool throws an uncaught exception.
Timeout
This step takes the Timeout exit path if the specified timeout period passes before the custom DLL function returns.
Inputs
Directory Path
The path in which you want to run the application, or the path to the executable.
File Name
Any command line parameters the application should use when it executes.
Seconds to Wait
The timeout to use when running a command synchronously. See the Run Synchronously option.
Check this box if you do not want a command window to appear when this step executes.
Run Synchronously
Outputs
Return Code
The number representing the results of the operation when run synchronously.
Exit Paths
Success
The file was found and the command to execute was given.
Failure
Wait Failure
553
External Handler Return
This System tool closes the handler called by the External Handler Call initiator and returns the result to the ExternalHandler C++
function that originally triggered the handler.
Inputs
Request Handle
A system generated identifier uniquely identifying the handler call that is generated by the External Handler Call initiator. This handle
is used to correlate the External Handler Return invocation with the original External Handler Call.
Data
A list of strings containing information from the handler that will be passed back as an output parameter to the ExternalHandler
C++ function.
Result
This is the result of the handler execution that will be returned to the ExternalHandler C++ function.
Exit Paths
Success
This path is taken if the handler data is successfully passed on to the C++ function.
Failure
Feature Licensed?
This System tool takes the name of an uncounted license, such as the release of CIC or a Reverse White Page Lookup, and checks
to see whether or not that licensed feature is available.
Inputs
Feature Name
Exit Paths
Licensed
Not Licensed
This path is taken if the specified feature does not have a license.
GetDSAttr
554
This System tool retrieves data from an attribute in a key in CIC's Directory Services (DS). You should use GetDSAttr when you can't
retrieve the value with the Lookup tool. While the Lookup tool can only retrieve values from certain predefined keys, GetDSAttr can
retrieve values from all keys, including keys you have created yourself. GetDSAttr cannot return any value in your registry, only those
within HKEY_LOCAL_MACHINE\Software\Interactive Intelligence\CIC\Directory Services\Root.
There are three special DS attributes. They are SERVER, SITE, and CONFIG.
All DS tools only access the part of the registry that affects CIC.
"SERVER" accesses
"... Directory Services\Root\<Site Name>\Production\<Server Name>"
"SITE" accesses
"... Directory Services\ Root \<Site Name>"
"CONFIG" accesses
"... Directory Services\ Root \<Site Name>\Production"
The reason these special cases were created is so that handlers could be generically created to run on any CIC Server. If these
weren't used, you would have to modify every DS tool anytime you wanted to use the handler on a different machine."
Example 1
Suppose you want to look up the value of the Default Voice Mail Recipient from within a handler. Since this value is not one of the
key types that can be accessed with the Lookup tool, you must use the GetDSAttr tool. You should use two GetDSAttr steps; the
first to retrieve the path to the Config key and the second to retrieve the value of an attribute within that key.
The first GetDSAttr step Directory Services Path should be set to "" (empty string) to tell GetDSAttr that you want to start in the
Root directory with Directory Services. The Directory Services Attribute you want to retrieve is "CONFIG" since Default Voice
Mail Recipient is a child key of CONFIG. These settings return the path to the Config directory on any CIC server, so this handler will
be easily transportable to other CIC servers. In this example, we'll place that value in a variable called lsConfigPath.
The second GetDSAttr step Directory Services Path should be set to GetHead(lsConfigPath) & "\\Configuration". This appends
the path info onto the specific key name you want to search within. The Directory Services Attribute you want to retrieve is
Default Voice Mail Recipient. Remember that the attribute name is context-sensitive and must match the case displayed in the
registry. In this example, the first entry in the returned list is the default voice mail recipient mailbox.
Another use for this tool is to retrieve the value of a custom server or system parameter.
Inputs
The path to the Directory Services Key being accessed and the name of the key. DsPath is the default name for this variable.
Outputs
A variable of type ListofString that contains a list of values retrieved from the specified attribute. Null values are not retrieved.
Exit Paths
Success
This step takes the Success exit path if the Attribute exists and the path is correct.
Failure
555
This step takes the Failure exit path if the Attribute does not exist or if the path to the Attribute is incorrect.
GetDSAttrs
This System tool retrieves a list of all the attributes in a key in CIC's Directory Services. Also returned are any values associated
with those attributes. You should use GetDSAttrs when you can't retrieve the list of values with the LookupList tool. While the
LookupList tool can only retrieve values from certain predefined keys, Det DS Attrs can retrieve values from all keys, including keys
you have created yourself. GetDSAttrs cannot return any values in your registry, only those within
HKEY_LOCAL_MACHINE\Software\Interactive Intelligence\CIC\Directory Services\Root.
There are three special DS attributes. They are SERVER, SITE, and CONFIG.
All DS tools only access the part of the registry that affects CIC.
"SERVER" accesses "...Directory Services\Root\<Site Name>\Production\<Server Name>"
"SITE" accesses "...Directory Services\Root\<Site Name>"
"CONFIG" accesses "...Directory Services\Root\<Site Name>\Production"
Inputs
The path to the Directory Services Key being accessed and the name of the key. DsPath is the default name for this variable.
Outputs
This is the list of all the attributes for the specified Directory Services Key. DsAttrList is the default name of the variable that
contains this value.
This is a list of corresponding values associated with the specified attributes returned in the previous parameter. If more than one
value exists for a single attribute, only the first is returned.
Exit Paths
Success
This step takes the Success exit path if the key and Attributes exist and the path is correct.
Failure
This step takes the Failure exit path if the key or its Attributes do not exist or if the path to the Attribute is incorrect.
556
Get Ds Keys
This System tool step returns a list of all the child keys (and their paths) for a specific parent key in CIC's Directory Services.
Inputs
The path to the parent Directory Services Key containing the child keys.
Outputs
This is the list of all the child keys for a specific parent key.
This is a list of corresponding paths for the Directory Services Keys returned in the previous parameter.
Exit Paths
Success
This step takes the Success exit path if the key name is correct or the path to the key is correct.
Failure
This step takes the Failure exit path if the key name is incorrect or the path to the key is incorrect.
557
Get DS Parameter
This System tool queries a server or system parameter directly. If the parameter does not exist, this tool can also be used to create
it.
Inputs
Parameter Source
Parameter Name
Add Parameter?
Set this to True if you want the server parameter to be added if it does not exist already.
Default Value
The default value of the specified parameter. This value will be assigned to the parameter if it is being created by this tool.
Outputs
Value
Exit Paths
Success
This path is taken if the value for the specified parameter is retrieved.
Failure
558
Get Email Profile
This System tool scores each profile under the active configuration and returns the highest scored profile or the default profile if
none of the profiles matches the input email information. This tool will look at all active profiles in Attendant and score each
profile based on the email and the Incoming Email Selection data for each profile.
Scores for the other inputs are used to further refine any matches, as each profile could have 0, 1 or more pieces of matching
information. The 1100, 1010, 1001 values are used to give higher weights to From Exact Match vs From Wildcard Match. Definitions
for these types of matches can be found in Interaction Attendant.
If a profile has more than one piece of scoring information, that profile's score is determined by adding those scores together. For
example, if one profile has both a From Exact Match and From Wildcard Match, the scores for both matches will be added together
to determine that profile's score.
Inputs
Mailbox
Email Cookie
Outputs
Profile
The profile with the highest score. If no profiles received any scores, the default profile will be returned.
Exit Paths
Success
Failure
559
Get Operator Profile
This System tool scores each operator profile under the active configuration based on the specified User Queue, Workgroup Queue,
or Profile information and returns operator profile with the highest matching score.
Inputs
User Queue
Workgroup Queue
Profile
Outputs
Operator Profile
Exit Paths
Success
Failure
Get Profile
This System tool scores each profile under the active configuration and returns the highest scored profile or the default profile if
none of the profiles matched the line, DNIS, or ANI information. Line, DNIS, and ANI information comes from the Interaction
Attendant Profile configuration, "Incoming Call Selection." This tool will look at all active profiles in Attendant and score each
profile based on the Line, DNIS, and ANI of the call and the Incoming Call Selection data for each profile.
Note : Starting in CIC 4.0 SU3, this tool supports complex SIP/Tel URI addresses when used to match Interaction Attendant
addresses.
Scores for the other inputs are used to further refine any matches, as each profile could have 0, 1 or more pieces of matching
information. The 1100, 1010, 1001 values are used to give higher weights to Exact Match vs Range Match vs Wildcard Match.
Definitions for these types of matches can be found in Interaction Attendant.
If a profile has more than one piece of scoring information, that profile's score is determined by adding those scores together. For
example, if one profile has both an ANI Exact Match and a DNIS Wildcard Match, the scores for both matches will be added together
to determine that profile's score.
This tool will match on SIP addresses. For example if had a DNIS match of 8723000 it would also match on a SIP call addressed to
sip:8723000:5060:
You may also enter text based DNIS entries such as johndoe in a profile. This would then match for a SIP call addressed as
sip:dukes@inin:5060:
560
Inputs
Line
DNIS
ANI
Outputs
Profile
The profile with the highest score. If no profiles received any scores, the default profile will be returned.
Exit Paths
Success
561
This path is taken if the profile is successfully returned.
Failure
Inputs
Parameter Group
Parameter Name
Outputs
Parameter Value
Exit Paths
Success
This path is taken if the specified parameter cannot be found on the server.
Error
562
Keypad Map
This System tool takes a string and maps each character to its corresponding character from a telephone keypad. The numeric
equivalent is stored as a string value. For example, the character ‘b’ would be mapped to the keypad equivalent of ‘2’. ‘Q’ is mapped
to ‘7’, and ‘Z’ is mapped to ‘9’.
Inputs
Set this parameter to true to map all punctuation to the character "*". Set this parameter to false if you want punctuation to be
ignored.
Outputs
This string value contains the numeric equivalent to the keypad presses.
Exit Paths
Next
563
Load Localized String
This System tool retrieves a string from a specified DLL in the specified language, allowing customers to retrieve localized strings
from custom DLLs.
Inputs
The full path to the DLL that contains the string you want to load.
If False, keeps the DLL in memory after use. If True, unloads it. If the tool is executed frequently, it is more efficient to leave it
loaded.
Language
String Identifier
Outputs
Localized String
Exit Paths
Success
Failure
This path is taken if the DLL could not be loaded, the string identifier did not exist, or a value for the specified language does not
exist.
564
Log Event
This System tool writes a message to the Windows NT event log.
Inputs
Log Type
The type of message to be written to the log. Legal values are "Error," "Warning," and "Informational."
Exit Paths
Next
LookUp
This System tool retrieves information from Directory Services, the storehouse for information about users, workgroups, stations,
lines, line groups, and DNIS/DID routing, server parameters, and wrap-up codes.
This information stored in Directory Services comes from several sources. Some of it is entered through Interaction Administrator
when someone configures a new user, workgroup, station, line or line group. Some of the information comes from Exchange (or
Domino) server, such as email addresses and email aliases. Some of it comes from changes made on a CIC Client configuration
page.
The Lookup tool provides access to Directory Services from within a handler. For example, in the Voice Mail handler, a Lookup step
retrieves the email address associated with the queue on which the call resides. In another example, a Lookup step might retrieve
the extension associated with a Workgroup queue.
Note: Some User Rights attributes (e.g., View Workgroup Queue List, View Station Queue List, Modify Attendant
Configurations, Modify Line Queue List, etc.) take longer to be updated and propagated through the system than all other
attributes. Some administrative changes to these user rights might not be immediately visible to the Lookup tools. If timing is
important with the Lookup tool steps, use the IC Change Notification Monitor initiator to monitor for User Rights changes
before using the Lookup tools.
To use the Lookup tool, you need to know which key in Directory Services contains the information you want, and you need to know
the value of one of the attributes within that key. With that key and attribute information, you can look up any attribute in Directory
Services.
Example 1 (searching with a scoped queue identifier)
Suppose you want the email address for the user queue called "StephenS". You know the key is "User", and the value of "Queue
Identifier" is "User Queue:StephenS". Since you have these two items, you can retrieve the email attribute associated with
"UserQueue:StephenS" .
For this example, the Inputs page would have the following values:
565
Key Type: "User"
Search Attribute Type: "Queue Identifier"
Value to use in search: "User Queue:StephenS"
Perform leading substring comparison?: true
Perform case insensitive comparison?: true
Compare based on Keypad Mappings?: false
Attribute type: "Mailbox"
To make this step more flexible, you could substitute "StephenS" with a string variable whose value could be determined when the
handler runs.
The outputs page would have the following values:
MailboxAttrib is a variable that will contain returned email address. With these settings, this step will try to match any "User" key
"Queue Identifier" attribute whose value is "User Queue:StephenS". If the tool finds a match it will return the "Mailbox" attribute value
into a variable called MailboxAttrib.
Example 2 (searching without a scoped queue identifier)
You could also look up the Extension for the workgroup "TechSupport". You know the key is Workgroup and the Queue Identifier
attribute is "TechSupport". You can retrieve the "Extension" attribute associated with the "Queue Identifier" attribute. In this example,
Foo is a string variable whose value is "Tech Support". This step then returns the extension associated with the Queue Identifier
contained in Foo.
For this example, the Inputs page would have the following values:
Inputs Page
Key Type
The name of the key in CIC Directory Services you want to search. When you type a key, its name must be enclosed in quotes .
566
For example, if you were looking up an email address for a specific user, you would type "User" in this field. The keys that can be
searched are:
"DnisDid"
"Line"
"LineGroup"
"StationGroup"
"User"
"Workgroup"
"Workstation"
The known attribute type you will use as the basis for your search. if you knew the Queue Identifier of a User and you wanted to
return some attribute for that Queue, you would type "Queue Identifier" in this parameter.
Refer to the Attributes that can be looked up in keys for a list of attributes that can be looked up.
The known attribute value that you are using as the basis for your search. For example, if you wanted to return some attribute for
the "Queue Identifier" John Doe, you would type "User Queue:John Doe" in this field. In most cases, you'll use a variable in this field
to make the Lookup step flexible. The value should be a regular expression value.
Note: When the Value to Use in Search is a queue name, you should always use a scoped queue name, such as User
Queue:Stephens, Workgroup Queue:Marketing, Line Queue:ISDN1, or Station Queue:Fax1.
Set this parameter to false if you want to search for an exact match between the search value and the attribute value in Directory
Services. If this parameter is set to true, the comparison will succeed if the leading characters of the attribute string are equal to
the comparison string. For example, if you are searching for the number 123, attributes with a value of 123, 1234 or 12345 are
matches. 51234 or 4321 are not matches.
Set this parameter to true if you are searching for a match including case. Set this value to false if you are not concerned with the
upper or lower case.
Keypad mappings are the letters associated with the numbers on a telephone keypad. These letters are printed on the keys of most
telephones. For example, the character ‘b’ would be mapped to the keypad equivalent of ‘2’. ‘Q’ is mapped to ‘7’, and ‘Z’ is mapped to
‘9’. By default this parameter is false so that keypad mapping is not performed.
Set this parameter to true if the value to use in the search is a regular expression value. Note that certain characters in regular
expression values require escape sequences.
Attribute type
The attribute type you want the Lookup to return. For example, if you want to return a user's email address, you would type
"Mailbox". Refer to the Attributes that can be looked up in keys for a list of attributes that can be returned.
Outputs Page
Attribute Value
The variable that will contain the value returned from the search. This will be null if zero, or more than one, matches are found.
567
Number of matching entries found
Exit Paths
Success
This step takes the Success exit path if the Lookup step finds only one match.
Failure
This step takes the Failure exit path if the Lookup step finds no match or if the input parameters contain invalid values. It will also
take the Failure path if it cannot access Directory Services.
Ambiguous
This step takes the Ambiguous exit path if the Lookup step finds more than one match. If the Perform Leading Substring
Comparison parameter is set to true and more than one match is found, this step takes the Ambiguous path, but the Attribute Value
contains the value of the exact match.
LookupList
This System tool returns all of the non-null values for a specific attribute in a specific key. These values are placed in a variable of
type ListofString. Refer to the Attributes that can be looked up in keys topic for a list of attributes that can be looked up.
If you are just looking up a single attribute value, such as a user's email address, or a workgroup's extension, use the LookUp tool.
LookUp and LookUpList have similar functionality, so refer to the LookUp tool online help for examples of looking up values in
Directory Services Keys.
Inputs
Key Type
The name of the key in CIC Directory Services you want to search. When you type a key, its name must be enclosed in quotes .
For example, if you were looking up an email address for a specific user, you would type "User" in this field. The keys that can be
searched are:
"DnisDid"
"Line"
"LineGroup"
"Server Parameter"
"StationGroup"
"User"
"Workgroup"
"Workstation"
"Wrap-up Code"
Note: Some User Rights attributes (e.g., View Workgroup Queue List, View Station Queue List, Modify Attendant
Configurations, Modify Line Queue List, etc.) take longer to be updated and propagated through the system than all other
attributes. Some administrative changes to these user rights might not be immediately visible to the Lookup tools. If timing is
important with the Lookup tool steps, use the IC Change Notification Monitor initiator to monitor for User Rights changes
before using the Lookup tools.
Attribute Type
The specific attribute in the key type you want to search. Refer to the Attributes that can be looked up in keys topic for a list of
attributes that can be looked up. If you type an attribute name as a literal value, it must be enclosed within quotes.
568
Sort Lists by Value?
False will sort the lists lexicographically by key value. True will sort lexicographically by attribute value.
Outputs
Key Type
A variable of type ListofString that contains a list of child key names retrieved from the search. Null values are not retrieved.
Attribute Value
A variable of type ListofString that contains a list of values retrieved from the specified attribute. Null values are not retrieved.
Exit Paths
Success
This step takes the Success exit path if the path to the key is valid and the attribute type and key type are valid.
Failure
This step takes the Failure exit path if the path to the key is invalid, or if the attribute or key type is invalid.
Inputs
Key Type
The name of the key in CIC Directory Services you want to search. When you type a key, its name must be enclosed in quotes. For
example, if you were looking up an email address for a specific user, you would type "User" in this field. The keys that can be
searched are:
"DnisDid"
"Line"
"LineGroup"
"Server Parameter"
"StationGroup"
"User"
"Workgroup"
"Workstation"
"Wrap-up Code"
Note: Some User Rights attributes (e.g., View Workgroup Queue List, View Station Queue List, Modify Attendant
Configurations, Modify Line Queue List, etc.) take longer to be updated and propagated through the system than all other
attributes. Some administrative changes to these user rights might not be immediately visible to the Lookup tools. If timing is
important with the Lookup tool steps, use the IC Change Notification Monitor initiator to monitor for User Rights changes
before using the Lookup tools.
569
Attribute Type
The specific attribute in the key type you want to search. Refer to the Attributes that can be looked up in keys topic for a list of
attributes that can be looked up. If you type an attribute name as a literal value, it must be enclosed within quotes.
False will sort the lists lexicographically by key value. True will sort lexicographically by attribute value.
The known attribute value that you are using as the basis for your search. For example, if you wanted to return some attribute for
the "Queue Identifier" John Doe, you would type "User Queue:John Doe" in this field. In most cases, you'll use a variable in this field
to make the Lookup step flexible.
Note: When the Value to Use in Search is a queue name, you should always use a scoped queue name, such as User
Queue:Stephens, Workgroup Queue:Marketing, Line Queue:ISDN1, or Station Queue:Fax1.
Set this parameter to false if you want to search for an exact match between the search value and the attribute value in Directory
Services. If this parameter is set to true, the comparison will succeed if the leading characters of the attribute string are equal to
the comparison string. For example, if you are searching for the number 123, attributes with a value of 123, 1234 or 12345 are
matches. 51234 or 4321 are not matches.
Set this parameter to true if you searching for a match including case. Set this value to false if you are not concerned with the upper
or lower case.
Keypad mappings are the letters associated with the numbers on a telephone keypad. These letters are printed on the keys of most
telephones. For example, the character ‘b’ would be mapped to the keypad equivalent of ‘2’. ‘Q’ is mapped to ‘7’, and ‘Z’ is mapped to
‘9’. By default this parameter is false so that keypad mapping is not performed.
Set this parameter to true if the value to use in the search is a regular expression value. Note that certain characters in regular
expression values require escape sequences.
Filter Columns
This is a list of strings of additional Directory Services attributes (e.g., user attributes in the User key) used to refine your lookup.
Filter Values
This list of strings provides attribute values to search for in the corresponding "Filter Columns" list. If the Filter Columns parameter
contains two attributes to search for, this Filter Values field should contain two values, each one corresponding to a Filter Column
(attribute) and listed in the same order. If you do not specify the same number of values as columns (attributes), an empty string
will be substituted for the missing value(s) and the extra columns will be ignored. The system will log an error message in the trace
log if the number of values does not match the number of columns (attributes).
Filter Types
This list of booleans of True or False corresponds to each of the Filter Columns and Filter Values elements and controls whether
the lookup match is inclusive or exclusive for each element.
The lookup for each named column (attribute) and value can be inclusive (True) or exclusive (False). That means that an inclusive
570
filter will return only those rows where a Filter Value is found in the specified Filter Column (attribute). An exclusive filter will return
only those rows where the Filter Values are NOT found in the specified Filter Column. that filter column values are not equal to the
filter value of that column.
Outputs
Key Type
A variable of type ListofString that contains a list of child key names retrieved from the search. Null values are not retrieved.
Attribute Value
A variable of type ListofString that contains a list of values retrieved from the specified attribute. Null values are not retrieved.
Exit Paths
Success
This step takes the Success exit path if the path to the key is valid and the attribute type and key type are valid.
Failure
This step takes the Failure exit path if the path to the key is invalid, or if the attribute or key type is invalid.
Example
Suppose you want to find out which users have a 'Title' of 'Support Engineer', live in Texas and whose status is not 'Do Not Disturb'.
Set the following inputs to the Lookup List Extended toolstep:
Key: User
Attribute type: 'title'
Sort Lists by value: (This value is unimportant for this example)
Value to use in search: 'support engineer'
Perform Leading substring comparison: No
Perform case insensitive comparison: yes
Compare based on keypad mappings: no
[Note that these inputs expect lists of strings or booleans, but this shows commas for display purposes.]
Filter columns: 'StateOrProvince', 'Status Text' /// These are the DS user attributes to search
Filter Values: 'TX', 'Do Not Disturb' /// These are the attribute values to match
Filter Types: True, False /// True means match "TX" and False means match any status except "Do Not Disturb"
Inputs
Server
Login
571
The login ID required for accessing the Notifier server.
Password
Operation
The name of the handler operation that will be fired. This is passed to the External Handler Call initiator on the remote IP processor.
Data
A list of strings containing information from the handler that is passed as an input parameter to the External Handler Call initiator
on the remote IP processor.
Timeout
The amount of time, in milliseconds, that this tool will wait for a response from the external server. If there is no response from the
server in the allotted time, this tool will take the "Failure" exit path.
Note : This timeout does not include the time required to connect to the remote server. It applies only to the time it takes for
the remote server to execute a handler and return a result once the connection is established.
Outputs
Data
The list of strings containing output information from the handler executed on the remote IP processor.
Result
Diagnostic
This output is used in determining the cause for failure when the result of the external handler is False. This string contains
information to help diagnose the failure that occurred on the remote IP processor when executing the external handler.
Exit Paths
Success
Failure
This path is taken of the operation fails. This could occur if the remote server name is incorrect or if the login and/or password
used are invalid.
572
OCR Installed
Important : The system no longer supports OCR tools.
This System tool determines whether the OCR Server is installed on your CIC Server. Typically this tool is used before proceeding
with OCR processing, which would fail if the OCR Server is not installed.
Exit Paths
Success
This tool takes the Success path if the OCR Server is installed.
Failure
This tool takes the failure path if the OCR Server is not installed.
573
Parse String RegEx
This System tool allows the parsing of a string based on a standard regular expression. This could be used to check and match IP,
email, or SIP addresses within a string.
Inputs
String
Expression
A string containing the regular expression with which the string is to be parsed. The regular expression uses the following escape
sequences:
Note : To get a single slash in the actual string at runtime, you need to enter double slashes. For example, to get the string "\+"
you need to enter "\\+" in the Interaction Designer editor.
The expression syntax supported in this tool is based on the Boost Library's Perl regular expression syntax, which is available online
at: http://www.boost.org (Search the Documentation link for: "Perl regular expression syntax")
Case Sensitive
When this checkbox is selected, case-insensitive comparisons are used. Clear this checkbox if you do not want the comparisons to
be case-sensitive.
Outputs
Result
Text string containing the results of the expression applied to the parsed string.
Exit Paths
Success
Failure
This path is taken if the regular expression did not match the input string.
574
Put Ds Attr
This System tool step adds (or replaces) a list of values to a single attribute in a specific CIC Directory Services key.
Caution: Any changes you make to values within Directory Services can cause CIC to fail. Many of the settings CIC uses to run
correctly are stored in Directory Services. When viewing your CIC Server registry, always make a backup copy before you begin
exploring. For the following instructions, you should only need to view the location of certain keys within Directory Services. If
you have any questions about viewing your Window's NT registry, contact your system administrator or technical support
representative.
Inputs
This is the path to, and the name of, the Directory Services key containing the attribute you want to modify.
The name of the attribute to be modified in the specified Directory Services key.
This list of strings contains the values that are added to the attribute. An attribute that is given a value of "" (i.e., no value) as its
only value will be removed from the entry.
Set this parameter to true to append the new value to the existing values. Set this parameter to false to replace the old values with
the new values.
Exit Paths
Success
This step takes the Success exit path if the path to the key is valid and the attribute type and key type are valid.
Failure
This step takes the Failure exit path if the path to the key is invalid, or if the attribute or key type is invalid.
575
Put Ds Attrs
This System tool step adds a list of values to a list of attributes in a specific CIC Directory Services key.
Caution: Any changes you make to values within Directory Services can cause CIC to fail. Many of the settings CIC uses to run
correctly are stored in Directory Services. When viewing your CIC Server registry, always make a backup copy before you begin
exploring. For the following instructions, you should only need to view the location of certain keys within Directory Services. If
you have any questions about viewing your Window's NT registry, contact your system administrator or technical support
representative.
Inputs
This is the path to, and the name of, the Directory Services key containing the attributes you want to modify.
The list containing the attributes to be modified in the specified Directory Services key.
Set this parameter to true to append the new values to the existing values. Set this parameter to false to replace the old values with
the new values.
Exit Paths
Success
This step takes the Success exit path if the path to the key is valid and the attribute types and key type are valid.
Failure
This step takes the Failure exit path if the path to the key is invalid, or if the attribute types or key type is invalid.
Put Ds Key
This System tool creates a Directory Services key.
Inputs
This is the path to, and the name of, the Directory Services key to be created.
The type of Directory Services key to be created. The valid types are:
Accumulator
Accumulators
Action
576
Actions
Audio Sample
Audio Samples
Caller ID
Caller ID Map
Caller ID Maps
Configuration
Configuration Set
Data Manager
Data Source
Data Sources
Default User
Default Users
Designer
Fax
Fax Driver
Fax Drivers
Fax Group
Fax Groups
Global Variable
Global Variables
Handler
Handlers
Initialization Function
Initialization Functions
Initialization Handler
Initialization Handlers
IP
Line
Line Group
Line Groups
Lines
Pager
Parameter
Parameters
Remote Administrator
Remote Administrators
Report
Report Log
Report Logs
Reports
Server
Server Accumulator
Server Accumulators
Server IP
Server Report Log
Server Report Logs
Server Table
Server Tables
Site
Skill
Skills
Status Message
Status Messages
Subroutine
Subroutines
User
577
Users
Web Form
Web Forms
Web Initiator
Web Initiators
Workgroup
Workgroups
Workstation
Workstations
Exit Paths
Success
This step takes the Success exit path if the path to the key is valid.
Failure
This step takes the Failure exit path if the path to the key is invalid.
578
Put External Password
This System tool is used to give login information to an external service such as a mainframe.
Inputs
Password Id
Server Name
Account Name
Password
Exit Paths
Success
This path is taken if the login information is successfully passed to the external service.
Failure
579
Put Structured Parameter
This System tool is used to put a structured parameter onto the server. Structured parameters are organized by groups and have a
type associated with them. The type can be used to have encrypted data in Directory Services. This allows you to store passwords
for other systems in Directory Services without them being in readable form in the registry.
With this tool, you specify a group name, and parameter name, a value, and whether or not you want it obfuscated.
Inputs
Parameter Group
Parameter Name
Parameter Value
Check this box if you want to obfuscate the value of the structured parameter.
Exit Paths
Success
This path is taken if the structured parameter is successfully placed on the server.
Error
580
Query Backup
This System tool determines whether or not a CIC server is part of a switchover environment and whether or not it is a backup
server. It does this by examining the machine on which it is running. Use this tool to have a handler decide whether it should
perform functionality only on the primary server or backup server. For example, you might not want to have the handler send an
email if running on the backup server. This tool allows you to build a patch in a handler that is dependent on the server being either
primary or backup.
Inputs
Enter the number of seconds to wait before the backup server query fails.
Outputs
Backup
Exit Paths
Success
This exit path indicates that the CIC server is in a switchover environment. The Backup output flag can either be TRUE or FALSE.
Failure
This exit path indicates that the server is not part of a switchover environment.
581
Query Conversation ID First Agent
This System tool returns the first agent and workgroup who handled the email conversation.
Note : This tool uses Interaction Tracker data, so you must have the Interaction Tracker Access or Recorder license for the
tool to work. If the license if not available, the tool returns empty values.
Inputs
Email Conversation ID
The indentifer for the email conversation for which you want to find the first user and workgroup.
Outputs
First ICUser
Exit Paths
Success
Failure
582
Query ConversationID Last Agent
This System tool returns the last agent and workgroup who handled the email conversation.
Note : This tool uses Interaction Tracker data, so you must have the Interaction Tracker Access or Recorder license for the
tool to work. If the license if not available, the tool returns empty values.
Inputs
Email Conversation ID
The indentifer for the email conversation for which you want to find the last user and workgroup.
Outputs
Last ICUser
Exit Paths
Success
Failure
583
Query License Details
This System tool takes the name of a counted license, such as the number of workstations or advanced scripter clients, and
determines the number of licenses currently available.
Inputs
License Name
Outputs
The total number of licenses for this feature. If the license does not exist on the server, this number will be zero.
Currently Available
The number of licenses currently available for this feature. If the number does not exist on the server, this number will be zero.
Exit Paths
Licensed
Not Licensed
This path is taken if the feature is not licensed. Note that this path will not be taken if a feature is licensed but has none available.
Inputs
User ID
Outputs
Number of passwords that will be checked in the user's history (i.e., the number of unique passwords required before one may be
reused). This corresponds to the "Minimum number of unique passwords before one can be reused" setting in Interaction
Administrator.
This is the minimum amount of time before which a user can change his or her password. This requirement is set in the "minimum
age of password before user can change it (days)" parameter in Interaction Administrator.
584
Minimum password length
The minimum number of digits, ignoring repeats, that the password must contain after DTMF conversion. For example, "abc" is
"222" after DTMF conversion, which is only one "unique" digit. "Abcd," however, converts to "2223," so this is two unique digits.
Whether or not the entire password may be composed of sequential digits after DTMF conversion. For example, "123123" would not
be considered "sequential" by this parameter, as the entire password is not sequential. However "123456" would be considered
sequential.
This is the number of minutes the account will be unavailable once the account has been locked out due to invalid login attempts.
The amount of time each invalid login attempt is remembered and counted against the total number of allowable attempts.
The minimum number of uppercase characters that the password must contain.
The minimum number of lowercase characters that the password must contain.
The minimum number of numeric characters that the password must contain.
The minimum number of special characters that the password must contain.
Special characters
The special characters that the password can contain to meet the requirement for minimum number of special characters. A
password can include any of these special characters in any combination to meet the requirement. A password can include other
special characters but the other special characters do not count toward the requirement.
Special characters can include: ~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/
Exit Paths
Next
585
Quick Directory Available Check
The System tool is designed to quickly determine if a directory is available on the network. It takes three parameters: the directory
name (UNC path), timeout for the check, and cache entry timeout
Note: The tool must not be used to check for availability of files, or large numbers of directories. It is for root share availability
check only .
Inputs
Path Name
Request Timeout
The number of seconds the tool will wait for a return before timing out.
The cache entry timeout specifies the amount of time last check will be cached. After that timeout expires, the system will
automatically check whether the state of directory availability has changed from the state recorded in the cache.
Exit Paths
Success
Failure
Timeout
This path is taken if the specified directory is not found in the allotted time.
RegEx Extended
This System tool allows the parsing of a string based on a standard regular expression. You might use this tool to check and match
IP, e-mail, or SIP addresses within a string. Or, you might use it to extract information, such as a call ID or phone number, from an e-
mail message.
Inputs
String
Expression
A string containing the regular expression with which the string is to be parsed. The regular expression uses the following escape
sequences:
586
“*” Represents the zero or more repetition operator.
“+” Represents the one or more repetition operator.
“?” Represents the zero or one repetition operator.
“[“ and “]” Used to specify character ranges (sets). Use a dash to specify a range, such as “[a-z]”.
“[^” and “]” Used to specify character ranges not to match. For example, “[^0-9]” would match a non-
number.
“{“ and “}” Used for bounded repetitions.
“(“ and “)” Used to group sub-expressions. You can also use this to specify captures.
“|” Represents the alternation operator.
The expression syntax supported in this tool uses the regex_search algorithm with match_continuous. This combination only
matches a string sequence where the first character matches the provided regular expression. For more information, see
http://www.boost.org.
So for example, to find an IP address in a String, the expression might look like this:
"([0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]{1,3}+\.[0-9]+)"
Note : To get a single slash in the actual string at runtime, you need to enter double slashes. For example, to get the string "\+"
you need to enter "\\+" in the Interaction Designer editor.
Format
The format is used to specify the output of the regular expression. It is very important that at least one capture is specified in the
regular expressions. A capture is specified using “(“ and “)”. The first capture is represented as “$1”, the second as “$2”, and so on.
Case sensitive
When this check box is selected, case-insensitive comparisons are used. Clear this check box if you do not want the comparisons
to be case-sensitive.
Repeat
It is possible to do a partial match of the input string. If there is a possibility for multiple matches, this option will continue
searching until the input string is consumed, or a match does not consume anything.
Multi-Output
If a single match should return multiple outputs, then this option should be checked. When used, the first character in the format
string is used as the output delimiter. For example, if the regular expression captured two pieces of information that needed to be
output as two separate items, then the format would be “;$1;$2”. The first character indicates that the ‘;’ delimits the outputs. In
this case, “$1” and “$2” are the separate outputs.
Outputs
Result
A string list containing the results of the expression applied to the parsed string.
Remainder
Because a partial match is possible, this string returns any input string that was not matched.
Exit Paths
587
Full Match
Partial Match
This path is taken if matches were found, but the input was not fully matched.
No Match
Failure
This path is taken if there is an error in the regular expression. An example of an error would be the expression "one|" because the
or operator is used without specifying the alternative.
Examples
The following example shows how to find all of the call IDs and phone numbers from an e-mail message.
String:
13:43:59: Initializing
13:43:59: Offering
13:44:06: Voice Mail
13:44:27: Disconnected [Remote Disconnect]
13:44:27: Caller has recorded and sent a Voicemail message
6 seconds
[ID: 2000061016#3173452098]
------------------------------------------
13:43:59: Initializing
13:43:59: Offering
13:44:06: Voice Mail
13:44:27: Disconnected [Remote Disconnect]
13:44:27: Caller has recorded and sent a Voicemail message
6 seconds
[ID: 2013061017#3173451234]
Expression:
.*?\\[ID:[ \\t]*([0-9]+)#([0-9]+)\\]
Format:
;ID=$1;Number=$2
Repeat:
On
Multi-Output:
On
588
Retrieve External Password
This System tool is used to get login information from an external service (such as a mainframe).
Warning: It is possible for users with the ability to publish and debug handlers to view login information with this tool.
Inputs
Password Id
Outputs
Server Name
Account Name
Password
This parameter contains whatever additional information may be needed to log in.
Exit Paths
Success
Failure
This path is taken if the operation fails. This will happen if this tool is used without having previously run a corresponding Put
External Password tool.
589
Semaphore Lock
This System tool attempts to acquire a lock on the resource semaphore named in the resource name parameter.
If the resource has not been initialized, the first use of a semaphore lock tool initializes the semaphore and the Shared Lock Limit.
Note: Locks are released when the handler placing them finishes. They can not be locked by one handler and released by another.
They can be locked by subroutines and kept alive by passing Semaphore Lock Handle to the subroutine, and keeping the returned
handle in scope until the calling handler completes.
Multiple calls to lock a resource by a handler and its subroutines will not place any additional locks. Instead a reference count is
incremented. The reference count will be used to insure that the resource is not unlocked until a matching number of Unlocks is
called.
Regardless of the number of times the lock is placed on the resource by the handler, when the handler exits, the resource lock is
freed for another handler to access.
Inputs
Number of locks that can be placed against the semaphore at the same time. When this limit is reached, all others must wait until a
lock is released. The default limit is 1.
Number of milliseconds the lock tool will wait for a lock before giving up and taking the timeout path. The default timeout is 500
milliseconds.
Outputs
This is the handle returned when a lock is successful. This handle must be used with the Semaphore Unlock tool. The handle is
also part of the mechanism that insures that a lock will be released when the handler exits.
Exit Paths:
Success
Failure
Some type of internal error kept the locking process from succeeding. Trace logs should be checked for error messages.
Timeout
590
Semaphore Unlock
This System tool releases the lock set by a Semaphore Lock tool. A valid Semaphore Lock Handle returned by the Lock tool must
be used to perform the unlock.
An error will occur if more unlocks are called than locks that were placed by a handler.
Inputs
Lock handle returned by a Semaphore Lock tool in this handler, or returned by a subroutine.
Exit Paths:
Success
This path is taken if the resource name and Lock Handle were valid, and the lock is released. Another handler that has been waiting
will immediately access this lock.
Failure
This path is taken if the resource name or Lock Handle was invalid, or a system error occurred. The trace logs can be used to
determine why a failure has occurred.
591
Send Custom Notification
This System tool creates an event that starts the Custom Notification initiator. You can pass information along with the event.
Inputs
The identifier for the custom object. This must match the Object ID in the Custom Notification initiator to run when this step
executes.
Note: Because custom object identifiers remain in memory indefinitely, you should not use dynamically-generated strings in
this field. Dynamically-generated strings will cause memory growth in the NotifierU.exe process.
The identifier for the event that starts a Custom Notification initiator. This must match the Notification Event in the Custom
Notification initiator to run when this step executes.
Note: Because custom object identifiers remain in memory indefinitely, you should not use dynamically-generated strings in
this field. Dynamically-generated strings will cause memory growth in the NotifierU.exe process.
Any data to pass in with the notification event. The Custom Notification initiator captures this information and passes it into a
handler. This parameter expects a list of strings value.
Exit Paths
Next
Server Name
This System tool retrieves the host name of the CIC server.
Output
Server Name
Exit Paths
Next
592
Sleep
This System tool pauses a handler's execution for a specific number of seconds.
Inputs
The number of seconds to pause the handler before continuing. Setting this value to 0 results in this handler thread giving up its
timeslice so that NT executes other tasks that are waiting for CPU time.
Since this parameter accepts only integer values, decimal values are not allowed. To indicate a partial second, you can specify a
negative value. Any negative values are interpreted as milliseconds (for example, -1500 is interpreted as 1.5 seconds and -3500
resolves to 3.5 seconds).
Caution: Setting large Time to Sleep values can cause handler threads to accumulate in Interaction Processor. We
recommend that you use the Timer initiator.
Exit Paths
Next
Inputs
Call Id Key
User Id
User Organization
VoiceMail Id
Guid created and assigned to the call or fax on creation, forward, or reply actions. If not supplied, operations cannot be chained to
original vociemails or faxes. (Optional)
Duration
Message length on new, forward, or reply. (Optional for listen or delete action.)
593
Mailbox Extension
Disposition Type
Source Type
Exit Paths
Next
Inputs
Request URL
The URL provided by the transcription service provider, typically something like:
594
https://www.myVTservice.com
Request Options
An optional parameter used to provide the transcription service with optional request values. This parameter does not normally
need to be set and handlers use a null value by default.
Note : This parameter is for future use.
Certificate
A certificate of authenticity provided by the service provider and consisting of a string of hexadecimal characters.
User ID
Identifies individual users or accounts for billing purposes. If a billing system is being used, this parameter is required for each
transaction.
Speaker ID
Identifies the speaker and is used to track model adaptations for unique speakers to improve the accuracy of transcriptions. Use
this parameter only if speakers can be reliably differentiated.
Note : You can have multiple, unique Speaker ID values for a particular User ID.
Filter Set
Provides the service provider with a context for the type of message. This parameter does not normally need to be set, but depends
on the service provider and scenario. Your service provider might require values that are different from the ones listed below.
Note : If no value (an empty string) is passed, the tool uses the vm4 filter set.
Recording ID
Recording File
595
Note : If both the recording ID and Recording File parameters are specified, the tool uses Recording ID.
Detailed Results
Attribute (True or False) that turns on/off detailed results from the transcription request. Handlers default to False . When set to
True , detailed results will appear in the voicemail message body of the transcription. A value other than True or False is
interpreted as False .
Timeout (sec)
Set to 45 seconds as the default, this value is used as a threshold for abandoning a transcription request. A voicemail is sent only
after a transcription request has returned or the abandon threshold has been reached. The delay is added to any delay in voicemail
delivery that may have existed prior to the activation of this feature. This value can be modified to meet specific needs, but keep in
mind that using a smaller timeout value increases chances of a request being abandoned due to timeout.
Outputs
Transcription Cookie
Exit Code
An Exit Code (iExitCode) of 0 (zero) indicates success and a non-zero code indicates an error or other condition about the results
of this tool step.
Exit Text
The exit text string (sExitText) corresponds to the Exit Code. When the Exit Code is 0, the Exit Text is "Success."
Exit Paths
Success
This step takes the Success exit path if the voicemail was successfully sent to the transcription service.
Failure
This step takes the Failure exit path if the voicemail was not successfully sent.
Inputs
Transcription Cookie
Timeout (sec)
Set to 45 seconds as the default, this value is used as the amount of time to wait for the transcription result.
Note : This timeout is the amount of time to wait to see if a result is available. It is not the same as the timeout of the
Transcribe Recording Begin tool, which specifies the amount of time to wait for the transcription to be received from the
service provider. In most cases, it is sufficient to set the two timeouts to the same value if the asynchronous capabilities of the
tool pair are not required.
Outputs
Transcription
Transcription XML
Exit Code
An Exit Code (iExitCode) of 0 (zero) indicates success and a non-zero code indicates an error or other condition about the results
of this tool step.
Exit Text
The exit text string (sExitText) corresponds to the Exit Code. When the Exit Code is 0, the Exit Text is "Success."
Exit Paths
Success
This step takes the Success exit path if the result was received successfully.
Timeout
The result was not acquired within the specified timeout limit.
597
Failure
This step takes the Failure exit path if the result was not successfully received.
Unique ID
This System tool returns a string identifier which is unique over a relatively long period of time (a little over 31 years). The string
returned is always composed of twelve decimal digits. When this tool is first called, the identifier is seeded with the number of
milliseconds since 1/1/1999 and its value is incremented by one on each successive call.
The tool was developed for use by Interaction Director, but should also be useful as a unique key for database operations.
Outputs
Exit Paths
Next
Verisign Transaction
This System tool, when used with the PayFlow Pro application from PayPal, allows the use of PayPal/Verisign credit card
transactions. For information, refer to the PayFlow Pro documentation available from PayPal (formerly Verisign).
Exit Paths
Success
Failure
Whitepages
This System tool performs a synchronous Reverse Whitepages (RWP) lookup, which means processing is suspended while the
lookup is performed. Behind the scenes, this tool initiates a request that instructs Data Manager to perform a RWP lookup against
the data sources that are configured to participate. It waits for the search to complete, and then returns the results.
Typically, this tool is used to populate the body of a voice mail message with directory information or to populate the Name field
for a call in a queue. (See the note below about how the EIC_RemoteName call attribute is populated.) This tool compares a
telephone number to the phone numbers listed in the WhitePages.txt file and returns any associated directory information listed
there. The WhitePages.txt file is located in the Resources directory on your CIC server (for example, <CIC Installed
Drive>\I3\IC\Resources). If Whitepages cannot find an associated name and the telephone number starts with a "1," it is looked up
based on the area code and exchange for North America.
The WhitePages.txt file may be updated while the CIC system is running; changes to it will take effect shortly after the file is
598
updated. The file consists of one entry per line; each entry consists of a partial (or full) telephone number followed by white space
followed by address information. Specify a full address by separating lines with the pipe (|) character (the pipe is replaced with a
new line character when the directory information is returned from the tool).
The following sample entries are taken from the WhitePages.txt directory:
1-317-222-2222 Time & Temperature
1-317-872-3000 Interactive Intelligence|7601 Interactive Way|Indianapolis, IN 46268
20 Egypt
All lookups in WhitePages.txt are done on a longest-matching leading string basis, thus a number beginning with 6724 will match
Christmas Island but a number beginning with 6725 will match Antarctica. Antarctica has an entry of 672; Christmas Island has an
entry of 6724. There is no entry for 6725, so it gets matched with the longest match available (Antarctica).
Note: In its current form the Whitepages tool is not designed for extremely large numbers of entries in the WhitePages.txt file.
We have experimented with extracting data from CD-ROM sources for use with the tool, but the licensing problems involved
with doing so have precluded us from offering such a service. Since the CIC system needs to access the reverse white pages
data in real time we do not support the use of databases from CD-ROMs nor do we support an interface to third party tools.
Note on how Caller ID is looked up: Whitepages.txt is not the first place the CIC looks when populating the Name field (which
is the EIC_RemoteName call attribute) for a call in a queue. CIC attempts to populate this field from several data sources, in a
specific order described below:
1. CIC uses the phone number/address information to do a white pages name lookup. If the lookup returns a value, CIC assigns
that values to Eic_RemoteName.
2. Otherwise, if the CO delivered caller name, CIC assigns that value to Eic_RemoteName.
3. Otherwise, if a formatted remote number was returned by white pages lookup, CIC assigns it to Eic_RemoteName.
4. Otherwise, CIC assigns "Unknown."
The Whitepages tool performs a synchronous lookup, meaning that it waits for the search to complete and then returns the results.
Processing is suspended while the search is performed.
Inputs
Interaction Address
The telephone number, fax number, email address, or web address to look up in the WhitePages.txt file. The type of address
information must be specified in the following input field. If a telephone number is specified, the input must be a unique
international number. This means that numbers for North America must include an area code and must start with "1"; international
codes must start with the appropriate country code.
Interaction Direction
Specifies the direction of the interaction. If the search is not associated with an interaction, or is not direction-sensitive, specify "3"
for Any.
1=Incoming
2=Outgoing
3=Any
Public/Private Sources
599
Specifies the source types to include in the search. Note that if 2 (Private) or 3 (Both) are specified, the CIC User ID must be
specified in the following field.
1=Public
2=Private
3=Both
IC User ID
Use for private searches only. Specifies the CIC User ID to use for searches against private RWP sources.
Specifies which Data Manager Contact List sources to use when performing the RWP search.
Separate items with a plus sign (+). Use '*' for the default RWP sources defined in Interaction Administrator.
Result Format
Format Description
Display Name A single display name, as generated by the CIC display name generation/formatting facility. If there are
multiple matched rows, then only the data from the first row is used. An example display name is:
John Q. Public (XYZ Corp)
600
Contact Summary A short summary of the contact data for the first matched row. This format is used for things like fax and
voicemail headers, mailing addresses, etc. The first line is always the display name, as generated by the
CIC display name generation/formatting facility. The next lines (if present) contain address information.
For example:
John Q. Public
XYZ Corp.
Finance
1 Oak St.
Albany, NY 12345
USA
If a primary phone, email, fax, chat, or web URL is non-empty, it is also added (and prefixed accordingly).
John Q. Public
XYZ Corp.
Finance
1 Oak St.
Albany, NY 12345
USA
phone:(333) 444-5555
fax:(333) 444-5556
mailto:[email protected]
chat:[email protected]
http://www.xyx.com
601
XML An XML string. This is the only format that may contain more than one result row. It is also the only
format that allows applications to access driver-specific attributes. This format is used internally for
almost all RWP processing.
An example containing two result rows:
<?xml version="1.0"?>
<rows>
<row IndivID="iovq*w~m&du#~5*|090|v3" FirstName="John" LastName="Doe"
Department="Marketing" IsPrivate="0" LocID="v9y+oec=&gaz$v9f,[w^93"
LocName="Acme-Toledo" OrgID="cbrwl4h.*&#n9to$0?@&?3" OrgName="Acme, Inc."
Phone="+12223334444^123" Email="[email protected]"
InteractionAddress="+12223334444" InteractionType="1" Source="I3Tracker Public Rwp"
ExtSource="I3Tracker Public Rwp" Replicate="0" IsStopSource="1"
ICInteractionID="2100176223" ICInteractionAttribute="Eic_RemoteName" DisplayName="Doe,
John (Acme, Inc.)" ContactSummary="Doe, John
Acme, Inc.
Marketing
phone:
(222)333-4444 ext 123"
 Origin="2" IsDefinitiveResult="0"/>
<row IndivID="e8x`.d#.*d~;np6sxh>" FirstName="Jane" LastName="Doe"
Department="Sales" IsPrivate="0" LocID="{b>8b];u(;>4v{#-;388]4" LocName="Acme-
Cleveland" OrgID=" cbrwl4h.*&#n9to$0?@&?3" OrgName="Acme, Inc."
Phone="+12223334444^124" Email="[email protected]"
InteractionAddress="+12223334444" InteractionType="1" Source="I3Tracker Public Rwp"
ExtSource="I3Tracker Public Rwp" Replicate="0" IsStopSource="1"
ICInteractionID="2100176223" ICInteractionAttribute="Eic_RemoteName" DisplayName="Doe,
Jane (Acme, Inc.)" ContactSummary="Doe, Jane
Acme, Inc.
Sales
phone:
(222)333-4444 ext 124"
 Origin="2" IsDefinitiveResult="0"/>
</rows>
Timeout
The time, in seconds, before this tool will return with a timeout error.
If TRUE, the results of the search will be recognized by Interaction Tracker (only if an Interaction Tracker license is found).
If FALSE, the results of the search are not sent to Interaction Tracker.
LocationFilter
Specifies a string that indicates a Location Filter specified in the Dial Plan. By default, the values can be "<All>", "<Default
Location>", or "<Skip this item>" but there may be many custom Location Filters listed as well, if they were previously defined in the
Regionalization configuration. Enter the Location Filter name as it appears in the Interaction Administrator dial plan.
Outputs
Directory Information
The results of the search. The format of this data depends on the value of the Result Format input parameter.
602
Formatted Interaction Address
Exit Paths
Next
WhitePagesAsync
This System tool sends an asynchronous RWP lookup request to Data Manager (DM) for an interaction to retrieve the caller's
name. See the Reverse Whitepages Lookup white paper for a detailed explanation of how this tool is used with CIC.
Inputs
Interaction Address
The phone number, telephone number, email address, or web address to look up in the specified source(s).
Interaction Direction
Specifies the direction of the interaction. If this lookup is not associated with an interaction or is not direction-sensitive, specify "3"
(Any).
1=Incoming
2=Outgoing
3=Any
Public/Private Sources
Species the source types to include in the search. Note that if "2" (Private) or "3" (Both) are specified, the CIC User ID must be
specified in the field below.
1=Public
2=Private
3=Both
IC User ID
Used for private searches only. Specifies the CIC User ID to use for searches against private RWP sources.
Call Identifier
The ID of the interaction whose specified attribute(s) will be set with the results.
603
Attribute Name
The name of the attribute(s) to set with the results. In general, only one attribute, EIC_RemoteName, is set; however, you can set
multiple attributes by listing their names, separated by '+'.
Specifies which Data Manager Contact List sources to use when performing the RWP lookup.
Result Format
Specifies the format of the result(s) string, which is used to set the specified interaction attribute(s). For descriptions of the
supported format options, see Whitepages.
1=Display Name
2=Contact Summary
3=XML
The display name to use if no match is found for the specified interaction address.
If True, the results of the search are recognized by Interaction Tracker (only if a valid Interaction Tracker license is found).
If False, the results are not sent to Interaction Tracker.
LocationFilter
Specifies a string that indicates a Location Filter specified in the Dial Plan. By default, the values can be "<All>", "<Default
Location>", or "<Skip this item>" but there may be many custom Location Filters listed as well, if they were previously defined in the
Regionalization configuration. Enter the Location Filter name as it appears in the Interaction Administrator dial plan.
Exit Paths
Next
604
WhitePagesLocality
This System tool retrieves the locality information (i.e., city, state, etc.,) for an incoming call. See the Reverse Whitepages Lookup
white paper for a detailed explanation of how this tool is used with CIC.
Inputs
Interaction Address
The telephone number, fax number, email address, or web address to be looked up.
LocationFilter
Specifies a string that indicates a Location Filter specified in the Dial Plan. By default, the values can be "<All>", "<Default
Location>", or "<Skip this item>" but there may be many custom Location Filters listed as well, if they were previously defined in the
Regionalization configuration. Enter the Location Filter name as it appears in the Interaction Administrator dial plan.
Outputs
Locality Information
The city, state, and/or country information for the incoming call.
Exit Paths
Next
TUI
605
Create Calendar Session
This TUI tool creates a calendar session identifier suitable for use with the Calendar tools in the Calendar palette. The credentials
and host for the session are taken from the Providers tab configured in the Mail container in Interaction Administrator.
Inputs
None
Outputs
Calendar Session
The calendar session identifier (idSession) to use as input for the Calendar tools.
Exit Code
An Exit Code of 0 (zero) indicates success and a non-zero code indicates an error or other condition about the results of this tool
step.
Exit Text
The exit text string (sExitText) corresponds to the Exit Code. When the Exit Code is 0, the Exit Text is "Success."
Exit Paths
Success
Failure
See the Exit Code and Exit Text outputs for an explanation of any possible failure condition.
A XML document handle to be used to create the private contact grammar. Usually, this is the output of other voice recognition
tools.
A string variable of the full path of where the new grammar will be written.
Language
Leading Filter
ABNF Rule fragment rendered as filler before the actual name tokens. For example:
[dial | call | (transfer | connect) [me] [to | with]]
NOTE: The filler must be in the SRGS ABNF format and is not rendered as optional. Thus, specifying "dial" as filler will mean
that the user must say "dial" followed by the name for the grammar to match.
If undefined, no leading filler is rendered.
Trailing Filter
ABNF Rule fragment rendered as filler after the actual name tokens. For example:
[please]
NOTE: The filler must be in the SRGS ABNF format and is not rendered as optional.
If undefined, no trailing filler is rendered.
Custom Headers
Custom header fields and rules to inject into the SRGS ABNF grammar. The following headers are created by the tool and cannot be
injected: 'mode', 'language', 'root'.
This checkbox specifies whether the grammar should be rendered with an optional first name. If left unchecked, the caller must say
the first name of the person. If checked, the fist name of the user is optional and callers may just say the last name.
This checkbox specifies whether the grammar should be rendered with an optional last name. If left unchecked, the caller must say
the last name. If checked, the last name of the user is optional in the grammar and callers may just say the first name.
This checkbox specifies whether user may say "last name, first name" in addition to "first name, last name". If left unchecked, the
grammar expects "first name, last name". If checked, the user may say either "first name, last name" or "last name, first name".
Exit Paths
607
Success
Failure
Creation of grammar file failed. Consult the Error Code parameter for details.
608
Find Localized File
This TUI tool retrieves the path to a localized version of an audio file (wav). Specify a path to the base file and then the tool
retrieves the path to the version of the file based on the language you request. If a language is specified, it has precedence
otherwise; the language attribute of the interaction is used. If no language attribute is set on the interaction, the default system
language will be used. Both the InteractionID and the language are optional.
The name match is determined by the name of the file. For example, when searching for ringback.wav in English any of these files
would be returned:
Ringback.en-US.wav
Ringback_en-US.wav
Ringbacken-US.wav
Ringback.en.wav
Ringback_en.wav
Ringbacken.wav
Ringback.wav
Inputs
Interaction ID (optional)
An optional InteractionID that determines the language for the search. The language attribute on the interaction is used.
A string of the full path for the base file, for example C:\I3\IC\Resources\Ringback.wav
Language (optional)
The language code of the prompt phrase to be played. If no language is specified, the language attribute of the interaction will be
used. If no language is specified for the interaction either, the default language will be used.
Outputs
A string that contains the path to the localized version of thefile, if it exists. For example, C:\I3\IC\REsources\Ringback-en_US.wav
Exit Paths
Success
Failure
609
Find User By TN
This TUI tool provides the name of a user queue based on a phone number associated with that queue. When given a phone
number, the tool searches for a user who has this phone number set as attribute value for (in order):
Custom user attribute "Mobile Office ANI"
Home Phone 1
Home Phone 2
Mobile Phone
Business Phone 1
Business Phone 2
The phone number may not be stored in the user's settings in the same format as the Phone Number parameter so the tool will try
to use the following patterns (in order) for the search:
The "Mobile Office ANI Pattern" server parameter
XXXXXXXXXX
XXX-XXX-XXXX
(XXX)XXX-XXXX
(XXX) XXX-XXXX
1-XXX-XXX-XXXX
1-(XXX)-XXX-XXXX
Inputs
Outputs
Queue Identifier
The fully-scoped user queue found to match the search criteria. If more than one queue fits the criteria no results are returned and
the Multiple exit path is taken.
Exit Paths
Found
A single matching user was found and the fully-scoped user queue has been returned.
Multiple
More than one user has a matching phone number so no Queue Identifier is returned.
Not Found
610
TUI Compile from String
This TUI tool is for internal use only.
TUI Session
This TUI tool is for internal use only.
Telephony
Telephony
The Telephony tools perform a variety of call-related functions within CIC. Click one of the tools below for more information on
that tool.
Add Party
Alert
Alert Station Group
Alert Workgroup
Answer
Assemble Prompt Phrase
Assemble String From Attributes
Assemble Text Phrase
Auto Conference
Bind Provisional Station
Blind Transfer
Change Workgroup Queue Initiator
Complete Parallel Make Call
Compress Audio File
Conference
Convert Call Id to String
Convert Conference ID to String
Convert String to Call Id
Convert String to Conference ID
Deferred Answer
Describe Phone Number
Disconnect
611
End TDD
Extended Blind Transfer
Extended Get Key
Extended Get Key Async
Extended Place Call
Flush Audio
Flush Keys
Get Attribute
Get Attributes
Get Billing Rate
Get Call Log
Get Datetime Attribute
Get Datetime Attributes
Get Key
Get Station Info
Get User's Location
Get Users with Role
Get Wildcard Attributes
Hold
Is Alertable?
Key Word Spotting
Listen From Call
Listen From Station
Log Message
Malicious Call Trace
Mute
Parallel Make Call
Parallel Make Call Failure
Park
PickUp
Place Call
Play Audio File
Play Digits
Play Prompt
Play Prompt Extended
Play Prompt Phrase
Play Recording
Play String
Play String Extended
Play Text File
Play Text File Extended
Play Tone
Priority Set Attributes
612
Private
Query Conference Properties
Query Logged In Users
Query Media Type
Query Monitored Queues
Query Queue
Queue Query Type
Query Statuses for User
Query User Status
Record Audio
Record Call
Record File
Record String
Record String Extended
Record Text File
Record Text File Extended
Reload Station
Remove Party
Reset Password
Secure Session Begin
Secure Session End
Secure Session Get Key
Secure Session Info Insert
Secure Session Info Validate
Select Call
Send ADSI String
Set Attribute
Set Attributes
Set Billing Rate
Set Call State
Set Datetime Attribute
Set Datetime Attributes
Set DTMF Password
Set State String
Set User Status
Set Visual Indicator
Station Answer
Station Audio
Station Connection Confirmation
Station Group Pickup
Station Pickup
Station Place Call
Synchronous Answer
613
System Queue
Transfer
Unbind Station
Unhold Call
User Login List
Validate DTMF Password
Verify Conference ID
Verify Interaction ID
Wait For Call On Queue
Wait for Disconnect
Wait for Monitor End
Wait Wrap Up
Wink
Zone Page
Related Topics
, symbol
/ symbol
Add Party
This Telephony tool adds a person connected on a line to a conference call.
Note: A conference call may contain no more than 32 calls.
Inputs
Call Identifier
The identifier for the conference call you want to add a party to.
Exit Paths
Success
This step takes the Success exit path if the Conference ID and the Call ID are valid.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID or conference ID is no longer valid (if the call is deallocated), or
system resource limitation.
Alert
This Telephony tool notifies a station queue of an interaction that needs to be picked up. Alert rings any station the interaction's
recipient is logged into. If the interaction's recipient is a workgroup or user queue, any recipient monitoring that queue from a CIC
614
client is alerted to the interaction.
Note: The Alert tool generally supports all CIC interaction types - calls, chats, email, generic objects, SMS, etc. - but not all of
the Input parameters apply to each type of interaction, except calls. All of the parameters can apply to calls.
All non-call interactions can be affected by the Timeout, ACD Call?, and ACD User ID parameters. In addition, email and generic
object interactions can use the Auto-answer parameter.
Alert times out if the interaction is not answered within a specific time period. This tool also accepts a caller's escape key inputs,
and stores any escape keys entered for further IVR processing. For example, if a caller presses the "0" key while the Alert tool is
alerting, the Alert tool takes the Escape exit path.
Alert changes the state of an interaction to Alerting. Only interactions in a state of Offering, On Hold, or Voice Mail can be acted
upon by the Alert tool.
This tool also cancels any pending operations when transferring an ACD call to a user's queue.
Note on whisper: When a call alerts on a user's queue, you can choose to play a tone, a .WAV file, or both to inform the agent
about the incoming call. This is useful if you are using auto-answer but want to warn the agent that another call is about to
connect to their queue. The agent must be configured for auto-answer in the user properties in Interaction Administrator.
Inputs
Call Identifier
The identifier for the station that receives the alerting call or communication.
Escape Keys
The valid keys a caller can press for this tool to take the Escape exit path.
The name of the audio file (.WAV) played for the caller while the call is alerting. This might be music or a message describing the
valid escape keys. If you specify a path, make sure it is a fully qualified path indicating server or drive letter. If you do not type a
path, this tool uses the path stored in the Resource Path server parameter. MP3 files are not supported.
Timeout (seconds)
The amount of time this step alerts the station before taking the Timeout exit path.
ACD Call?
Set this value to true if this is an ACD interaction. Set this value to false if this is not an ACD interaction.
ACD User ID
The user ID of the agent to receive this interaction if this call is an ACD interaction.
Set this value to true to have the call, generic object, or e-mail interaction placed on the queue in a state of "Connected" if the
station is off-hook. This is useful for agents who are taking calls on a stand-alone phone station.
If the interaction type is e-mail and this value is "true," then the e-mail is immediately connected without the agent using the Pickup
command.
615
Calling Number to be displayed
This string value can be displayed on an ADSI phone or an analog phone with a display.
This string value can be displayed on an ADSI phone or an analog phone with a display.
Ring Cadence
Determines the ringing cadence used to alert the called party. The following table describes the values you can specify and the rings
they produce:
Note: When ringing a station with a phone type configured as Caller ID or ADSI (i.e., a phone that can display caller ID), TS will
always use the default ring cadence (2 seconds on, 4 seconds off), regardless of which cadence is specified.
The tone frequency to be played to the agent receiving the whisper. Setting whisper tone frequency to 0 turns off whisper.
The volume of the tone. Specify a higher number here to make the tone louder.
The number of seconds the tone plays. Setting whisper tone duration to 0 turns off whisper.
The name of a .wav file to play. If you specify a path, make sure it is a fully qualified path indicating server or drive letter. If you do
not type a path, this tool uses the path stored in the Resource Path server parameter. The .WAV file is played entirely after the tone.
If tone or frequency are set to 0, the .WAV file will still play. .MP3 files are not supported.
616
Frequency 1 in Hertz
The frequency of the tone you want to generate. Set to 0 to disable call waiting.
The amplitude of the frequency you want to generate. By default this is set to -10.
Frequency 2 in Hertz:
The frequency of the second tone you want to generate. By default this is set to 440 Hz.
The amplitude of the frequency you want to generate. By default this is set to -10.
The number of seconds the tone plays. To convert milliseconds to seconds, divide your millisecond value by 1000. For example, if
you want the tome to play for 500 milliseconds, you would type .5 in this parameter.
The number of seconds of silence before the call waiting tone repeats.
The number of times the call waiting tone plays before the call is transferred to voice mail.
The name of a .wav file to play for the agent greeting. If you specify a path, make sure it is a fully qualified path indicating server or
drive letter. If you do not type a path, this tool uses the path stored in the Resource Path server parameter. The .WAV file is played
entirely after the tone. If tone or frequency are set to 0, the .WAV file will still play. .MP3 files are not supported.
Alert Primaries?
Primaries, in this case, refers to primary station appearances, such as SIP phones that support shared line appearances. The
primary phone is the one a call is targeted at (e.g., 7113) and the secondary or shared line appearances are the buttons or lights on
other phones that might monitor the same line. You do not need to set this parameter as the Telephony Services system sets it
automatically based on the user status. If the target user's status is "In a meeting", Alert Primaries? is set to False, as it should not
ring the target user's station, but it may ring any secondary line appearances for that station.
Monitoring Stations
Monitoring Users
617
DID
Outputs
Keys
The escape digit(s) pressed by the caller if the caller tries to cancel or speak with an operator while the call is alerting.
Exit Paths
Answered
The call was answered by the intended recipient. A handler can no longer act on the call object while the call’s recipient controls the
call object. (Call recording will continue even if the handler no longer has control of the call.)
Escape
Timeout
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Inputs
Call Identifier
Station Group
Escape Keys
The keys a caller can press to escape the alert mode and take the escape exit path.
The .wav file played to callers while the call alerts. Common uses are music, keypress instructions, or both. If you specify a path,
make sure it is a fully qualified path indicating server or drive letter. If you do not type a path, this tool uses the path stored in the
Resource Path server parameter.
Timeout
618
The number of seconds to alert before taking the Timeout exit path for special processing.
Set this parameter to True to alert every user in the workgroup at the same time. Set to False to alert users sequentially (one at a
time) using the order configured for that workgroup in Interaction Administrator. See the Maintain Order option in the Interaction
Administrator workgroup configuration container and the ACD Processing technical reference (located in your CIC Server
documentation directory on the CIC server) for more information on configuring these linear hunt groups.
Linear hunt groups always alert the first workgroup member as listed in Interaction Administrator. If that user does not pick up, or if
the call could not be assigned to that user, then the next user in the list is alerted. This means that users at the end of the list will
receive calls less often.
Linear is not used if Round Robin Alerting is selected.
Round robin alerting is similar to linear hunt groups, but CIC remembers which members have received calls and alerts the person
who has not received a call for the longest amount of time. In Interaction Administrator, you can select the Maintain Order option
for a list of workgroup members. If you set this to True, the order of the members is used in deciding which user to alert. This
option is ignored if Alert Users Simultaneously is set to True.
For example, a workgroup has five users (User1 - User5), all available for workgroup calls. User1 is the first member of this
workgroup as configured in Interaction Administrator. User2 is member 2, and so on.
If Alert Station Group is invoked on call #1 and shortly thereafter on call #2, call #1 would alert on User1 and call #2 would alert on
User2. If neither answers, call #1 will roll over to User3 and call #2 will roll over to User4. If User4 answers call #2 but User3 doesn't
answer call #1, call #1 will roll over to User5. If call #1 is still not answered, it will roll over to User2. If there is still no answer, call
#1 will roll over to User4 if User4 has finished with call #2, and will take the Timeout exit if not.
If at some later time another call invokes Alert Station Group, the first user considered is not necessarily User1, but is the "next"
user. That is, if User2 answered call #1 in the above scenario, the "next" user to try would be User3.
Frequency 1 in Hertz
The frequency of the tone you want to generate. By default this is set to 1100 Hz.
The amplitude of the frequency you want to generate. By default this is set to -10.
Frequency 2 in Hertz:
The frequency of the second tone you want to generate. By default this is set to 0 Hz.
The amplitude of the frequency you want to generate. By default this is set to -10.
The number of seconds the tone plays. To convert milliseconds to seconds, divide your millisecond value by 1000. For example, if
you want the tone to play for 500 milliseconds, you would type .5 in this parameter.
619
Silence Duration After Call Waiting Tone
The number of seconds of silence before the call waiting tone repeats.
The number of times the call waiting tone plays before the call is transferred to voice mail.
Outputs
Keys
Exit Paths
Answered
This tool takes the answered exit path if the call was picked up by a member of the workgroup. The handler no longer has control of
the call after that.
Escape
This tool takes the Escape exit path if the caller presses an escape key.
Timeout
This tool takes the Timeout exit path if the call alerts longer than the number of seconds specified in the Timeout parameter.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
No Stations Alertable
Alert Workgroup
This Telephony tool alerts an entire workgroup to an incoming call. Every agent with an available ACD status that is a member of
the workgroup to which the interaction has been assigned will be alerted. This tool is highly configurable with different options for
how the workgroup is alerted. Alert Workgroup allows you to set up a workgroup as a linear hunt group or a round robin hunt group.
Inputs
Call Identifier
Escape Keys
The keys a caller can press to escape the alert mode and take the escape exit path.
620
Audio File Name
The .wav file played to callers while the call alerts. Common uses are music, keypress instructions, or both. If you specify a path,
make sure it is a fully qualified path indicating server or drive letter. If you do not type a path, this tool uses the path stored in the
Resource Path server parameter.
Timeout
The number of seconds to alert before taking the Timeout exit path for special processing.
Set this parameter to True to alert every user in the workgroup at the same time. Set to False to alert users sequentially (one at a
time) using the order configured for that workgroup in Interaction Administrator. See the Maintain Order option in the Interaction
Administrator workgroup configuration container and the CIC ACD Processing Technical Reference located in the PureConnect
Documentation Library for more information on configuring these linear hunt groups.
Linear hunt groups always alerts the first workgroup member as listed in Interaction Administrator. If that user does not pick up, or
if the call could not be assigned to that user, then next user in the list is alerted. This means that users at the end of the list will
receive calls less often.
Linear is not used if Round Robin Alerting is selected.
Round robin alerting is similar to linear hunt groups, but CIC remembers which members have received calls and alerts the person
who has not received a call for the longest amount of time. In Interaction Administrator, you can select the Maintain Order option
for a list of workgroup members. If you select this option, the order of the members is used in deciding which user to alert. This
option is ignored if Alert Users Simultaneously is selected.
For example, a workgroup has five users (User1 - User5), all available for workgroup calls. User1 is the first member of this
workgroup as configured in Interaction Administrator. User2 is member 2, and so on.
If Alert Workgroup is invoked on call #1 and shortly thereafter on call #2, call #1 would alert on User1 and call #2 would alert on
User2. If neither answers, call #1 will roll over to User3 and call #2 will roll over to User4. If User4 answers call #2 but User3 doesn't
answer call #1, call #1 will roll over to User5. If call #1 is still not answered, it will roll over to User2. If there is still no answer, call
#1 will roll over to User4 if User4 has finished with call #2, and will take the Timeout exit if not.
If at some later time another call invokes Alert Workgroup , the first user considered is not necessarily User1, but is the "next"
user. That is, if User2 answered call #1 in the above scenario, the "next" user to try would be User3.
Select this option to alert every member of the workgroup, even if they are not currently logged in. Stations are alerted for users not
currently logged in. Clear this option to alert only members currently logged in.
Set this option to True to alert users who are already connected to other calls. Connected user's see the call in their user queue, but
their station will not alert because they are already connected to a call. Set to False to only alert users who are not connected.
Set this option to True to alert users who's status is set to a Do Not Disturb status. Set to False to only alert available agents.
Determines the ringing cadence used to alert the called party. The following table describes the values you can specify and the rings
they produce:
Frequency 1 in Hertz
The frequency of the tone you want to generate. Defaults to 350. To disable, set to 0.
Frequency 1 Amplitude in dB
Frequency 2 in Hertz
The frequency of the tone you want to generate. Defaults to 440. To disable, set to 0.
Frequency 2 Amplitude in dB
The number of seconds the tone plays. To convert milliseconds to seconds, divide your millisecond value by 1000. For example, if
you want the tone to play for 500 milliseconds, you would type .5 in this parameter.
The number of seconds of silence before the call waiting tone repeats.
Outputs
Keys
Exit Paths
Answered
This tool takes the answered exit path if the call was picked up by a member of the workgroup. The handler no longer has control of
the call after that.
Escape
This tool takes the Escape exit path if the caller presses an escape key.
Timeout
This tool takes the Timeout exit path if the call alerts longer than the number of seconds specified in the Timeout parameter.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Answer
This Telephony tool establishes a connection with an incoming call. This step fails if the Call Id is not valid.
Inputs
Call Identifier
Exit Paths
Next
After picking up a call, this step takes the Next exit path. Even if this step fails, it takes this exit path.
Inputs
Call Identifier
623
The identifier for the call on which the prompt phrase is assembled. The tool uses the identifier to ascertain the language of the
call.
Language
The language code of the prompt phrase to be played. If no language is specified, the default language will be used.
Singular if true
This Boolean permits simple handler-based control over the common case of generating different prompt sequences for plural
arguments than for singular ones (e.g., "one car" vs. "two cars"). Set to True to select the Singular Prompt Sequence. Set to False to
select the Plural Prompt Sequence.
Prompt Strings
This tab allows the specification of zero or more Prompt Strings that may need to be substituted dynamically into the phrase.
Typically, the entries on this tab are string literals or the names of string variables. A Prompt String consists of one or more prompt
identifiers separated by white space. A prompt identifier can be scoped by a handler name or unscoped. A scoped prompt identifier
consists of the handler name, a colon and the prompt ID (e.g., <HandlerName:PromptName>). All identifiers are case insensitive.
Variables
Parameters
The run-time substitution strings that are passed in at run-time to the sequence string.
String
The string variables must be either a </tts:....>, </file:......> or a prompt in the form <PROMPT_NAME> for prompts contained within
the handler, or <HANDLER:PROMPT_NAME> for prompts contained in another handler.
Sequence Strings
A sequence string is a mechanism by which you arrange multiple prompts to be played at one time.
In the simplest Case, the Sequence String would be <%1>. This means there will be one substitution string from the Prompt Strings
dialog below. The Prompt Strings dialog will either pass in a prompt, or a string variable which represents a prompt. However, the
Prompt Sequence could be much more complex than that, so here's a more detailed example:
<Prompt_IVR:IVR_REMOTE_VM_MENU> <%1> <IVR_REMOTE_VM_EXIT> </file=thankyou.wav> </tts=mister
smith>
This will play the following items in the order shown:
1. Prompt IVR_REMOTE_VM_MENU from the Prompt_IVR handler
2. %1 - substitution string
3. Prompt IVR_REMOTE_VM_EXIT from the current handler
4. a .WAV file "thankyou.wav"
5. Text to Speech saying, "Mister Smith".
Single Sequence and Plural Sequence show what the sequence will be based on the Singular? parameter from the Inputs page.
This dialog lets you choose which sequence string to use for this phrase. The Handlers dialog lists the handlers you currently have
open. Sequence Strings are resources just like prompts - they are resources of a handler. Simply highlight which handler you want
to use and check the box of the sequence string you want to use.
The Delete, Edit, and Insert buttons allow you to manage existing sequence strings and create new ones. When creating new
sequence strings, we highly recommend making use of the Notes field in the dialog box that appears as this will greatly facilitate
any future editing.
624
String Output
Variable out
Exit Paths
Next
625
Assemble String from Attributes
This Telephony tool builds a string using a format string that can include attribute values from the given interface. This tool is used
as part of the Interaction Attendant Set Attribute node.
Inputs
InteractionID
The interaction from which to draw any attribute values referenced in the given Format String.
Format String
A string that specifies how the result string should be build. This can include normal text and numbers, white space and punctuation
characters. The special syntax for referring to an interaction attributes is $(attribnam). For example, this format string:
"http://myserver/popmyscreen/id?=$(myattribute)" where the interation's myattribute value is "9927" would yield this result after
replacement: "http://myserver/popmyscreen/id?=9927"
Outputs
Result String
The string that contains all attribute references replaced by their current values. If an attribute does not exist, the attribute reference
in the string contains blank.
Exit Paths
Success
Failure
This path is taken if there was an error querying the interaction attributes.
See Also
For a list of interaction attributes, refer to the Interaction Attributes Reference Guide (attrib.chm) in the System APIs section of the
PureConnect Documentation Library.
626
Assemble Text Phrase
This Telephony tool allows you to define a sequence of international strings. These strings are a text equivalent of voice prompts
that can be use in chats, display strings, emails, faxes, etc.
Inputs
Language
The language code of the prompt phrase to be played. If no language is specified, the default language will be used.
Singular if true
This Boolean permits simple handler-based control over the common case of generating different prompt sequences for plural
arguments than for singular ones (e.g., "one car" vs. "two cars"). Set to True to select the Singular Prompt Sequence. Set to False to
select the Plural Prompt Sequence.
Text Strings
This tab allows the specification of zero or more international strings that may need to be substituted dynamically into the phrase.
Typically, the entries on this tab are string literals or the names of string variables.
Variables
Parameters
The run-time substitution strings that are passed in at run-time to the sequence string.
String
Sequence Strings
A sequence string is a mechanism by which you arrange multiple prompts to be played at one time.
The dialog lets you choose which sequence string to use for this phrase. The Handlers dialog lists the handlers you currently have
open. Sequence Strings are resources just like prompts - they are resources of a handler. Simply highlight which handler you want
to use and check the box of the sequence string you want to use.
String Output
Variable out
Exit Paths
Next
627
Auto Conference
This Telephony tool creates a named conference using the specified call identifier. Further calls can be added to the same
conference by calling this tool again with other call identifiers and specifying the same conference name. If a conference with the
specified name does not exist, one is automatically created.
Inputs
Conference Name
A unique name for the conference -- in this instance, the conference name for the conference to which you want to add the Call
Identifier.
Note : A value is required for this input.
Conference PIN
The PIN or password the participant intends to use when entering the conference.
Call Identifier
Auto Disconnect
Success
This step takes the Success exit path if both the Call Identifier and the Conference Name are valid.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or there is a system
resource limitation.
628
Bind Provisional Station
This Telephony tool binds a provisional station to a real station device. This is used in provisioning to assign the MAC address of
the provisional station to the station chosen through the TUI.
Inputs
Exit Paths
Success
This tool takes the Success exit path if the operation is successful.
Failure
This tool takes the Failure exit path if the operation cannot be performed.
629
Blind Transfer
This Telephony tool transfers a call (chat or telephone call) to an internal queue and generates a CallOfferingNonSystemQueue
event. This event starts any handler with the Call to Non-System Queue initiator, such as System_CallOfferingNonSystemQueue
handler. (This tool is different from the Transfer tool which transfers a call to another connected call.)
This tool will wait until the transferred call is connected. Once it is, any tracking that is being done on the call will terminate. If it is
not answered, the call will be returned for additional processing.
Note : Although you can also use this tool to transfer a call to another number, its intended use is with internal queues. It is not
used for external transfers in any of the handlers included with CIC and does not use the Dial Plan. For external transfers, see
Extended Blind Transfer.
Inputs
Call Identifier
Enter any string expression, including a literal telephone number, a queue ID, or a complex expression built with the Expression
Editor Assistant. A comma causes a two-second pause, and any numbers after the "/" symbol are dialed after the call is connected.
You can transfer a call to both remote numbers and queues. If you transfer a call to a queue, you must use a scoped queue name
such as "User Queue:MikeG".
Outputs
The completed call identifier. If the call is transferred to an external number and the call cannot be completed via a put-back
transfer (e.g., two B-channel transfer, Release Link Transfer, or flashhook transfer), then this output parameter will contain the callID
for the external call when the transfer is completed. Otherwise, if the call transfers successfully, the value is always zero.
This parameter is always cleared, regardless of whether or not an inbound transfer is performed. Therefore this passed variable
should not be reused later in the handler.
Exit Paths
Success
This step takes the Success exit path if the Call ID is valid.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Alert Failure
This tool takes the Alert Failure path if there was a failure attempting to alert the object. This could be caused by the object not
being of a type that the tool can alert or a failure in the alert itself.
630
Change Workgroup Queue Initiator
This Telephony tool allows users to change or indicate which outbound workgroup queue initiated a call. This tool was designed to
be used with the Dial on Behalf of Workgroup feature.
Inputs
Call Identifier
The ID for the interaction for which the queue change is being made.
Exit Paths
Success
This step takes the Success exit path if the change is made successfully.
Failure
This tool takes the Failure exit path if TsServer was not able to perform the change because the call was disconnected, the call was
deallocated, or TsServer failed to communicate with Queue Manager to perform the change.
Inputs
Call Identifier
Exit Paths
Next
Inputs
The file you want to save the newly compressed file under.
Compression Format
An integer value indicating the type of compression to be applied to the file. Valid values are:
0 TrueSpeech
1 GSM
2 MS ADPCMGSM - This format is unsupported so the tool will fail and an error will be logged.
3 G.711
4 G.726 - This format is unsupported so the tool will fail and an error will be logged.
5 IMA ADPCM - This format is unsupported so the tool will fail and an error will be logged.
See the Voice Mail Compression Options white paper for a more detailed explanation of audio file compression and compression
formats.
Normalize
Set this Boolean to True to normalize the audio file. When a recording is normalized, it is analyzed to determine what the maximum
volume level of the audio file is. A value 5% below the maximum value is then used to set the gain value that will bring the maximum
volume level up or down to a standard level. This ensures that at a given station, all recordings will play back at the same relative
volume. Using a value 5% below the maximum volume to calculate the gain prevents a short burst of static or similar anomalous
noise from throwing off this volume adjustment.
Delete Source
The source file will be deleted once the new file is successfully saved if this box is checked. This box is not checked by default.
Overwrite Destination
The new file will automatically overwrite a pre-existing file with the same name as the destination filename if this box is checked.
This box is checked by default.
Timeout
The number of seconds the tool should wait for the file to be compressed. If no value is returned in the specified time, this tool will
take the Failure exit path.
Exit Paths
Success
Failure
632
Conference
This Telephony tool step creates a conference call by connecting together two calls. (Add more calls (beyond the first two) with the
Add Party tool.)
Inputs
Call Identifier
The unique identifier for a call. In this instance, a call to a party you want to conference.
Call Identifier
The unique identifier for a second call. In this instance, a call to a second party you want to
conference.
Enabling this feature will automatically disconnect a call if it is the last one remaining in a conference. Auto Disconnect Last Call
may be set to "Yes" if this is desired, "No" if you want the last call in a conference to remain connected, or "Default" to allow the
server parameter to determine which action to take.
The maximum number of parties allowed in the conference. Default is -1. This information can be used for load balancing or server
selection.
Outputs
The unique identifier for the conference call created from the two objects on the Inputs page.
Success
This step takes the Success exit path if both the Call Identifier and the Conference Identifier are valid.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID or conference ID is no longer valid (if the call is deallocated), or
system resource limitation.
633
Convert Call Id to String
This Telephony tool converts an interaction’s Call ID into a string.
Inputs
Interaction Id
Outputs
String
Exit Paths
Next
Inputs
Conference Id
Outputs
String
The string representing the interaction’s conference ID, which is a 32-bit number.
Exit Paths
Next
634
Convert String to Call Id
This Telephony tool is the reciprocal of Convert Call Id To String, converting a string variable back into a valid integer Call ID.
Inputs
Interaction Id String
Outputs
Interaction Id
Exit Paths
Success
Invalid
635
Convert String to Conference ID
This Telephony tool is the reciprocal of Convert Conference Id To String, converting a string variable back into a valid integer
Conference ID.
Note: This tool replaces the Integer to Conference ID tool. Custom handlers containing the Integer to Conference ID tool will
continue to work but new handlers must use the Convert String to Conference ID tool.
Inputs
Conference Id String
Outputs
Conference Id
Exit Paths
Success
Invalid
636
Deferred Answer
This Telephony tool causes CIC to store the information needed to establish a connection with a specified incoming call at a later
time but does not establish the connection immediately as the Answer tool step does.
This tool enables Interaction Processor to delay answering an incoming call until a valid agent has been reached or the IVR is
entered so that incoming callers have time to disconnect without being charged by their telecommunications provider.
Inputs
Call Identifier
If True, causes CIC to automatically establish a connection with the specified call when most media requests occur. For example, if
this option is enabled and Interaction Processor (handlers) sends a call to the IVR which requires the call to be answered to play an
audio file, the call will be answered before the play occurs. Note that ringback audio triggered by the alert tool step does not trigger
this option because this would result in the call being answered almost immediately in common scenarios, defeating the purpose
of the feature.
If False, the tool step acts primarily as a placeholder to indicate intention on the part of the person who wrote the handler routine.
Exit Paths
Next
Inputs
Specifies a string that indicates a Location Filter specified in the Dial Plan. By default, the value should be "" (an empty string), but
there may be many custom Location Filters listed as well, if they were previously defined in the Regionalization configuration. Enter
the Location Filter name as it appears in the dial plan in Interaction Administrator.
Outputs
Dial Groups
A dial group is a group of lines or channels that CIC uses for outbound calls.
Dial Strings
The dial string is the actual string of characters sent to the CO to place a call.
Classifications
The classification of the input phone number. The classification name might represent all calls of a certain format or location, such
as "Local", "Long Distance", "Emergency", etc. Classifications are configured in Interaction Administrator. For more information on
classifications, see the Interaction Administrator online help.
Classification Categories
The classification category of the phone number. A classification category is a non-translatable string that represents one or more
phone number classifications. Classification categories are configured in Interaction Administrator. For more information on
classification categories, see the Interaction Administrator online help.
Pattern Name
Display String
The display string is the formatted phone number that is displayed on a CIC client interface.
Default Dialstring
Default Classification
The classification category used if one is not specified or cannot be found. See Classification Categories above.
Country Code
Standardized Number
A consistent format for the type of number. A more in-depth discussion of standardized numbers can be found the Dial Plan
technical reference document in the PureConnect Documentation Library.
638
Account Code Required
A boolean indicating whether or not a required account code is associated with this number.
Logical Components
Allows you to specify user-defined segments/components. A more in-depth discussion of standardized numbers can be found the
Dial Plan technical reference document in the PureConnect Documentation Library.
Allows you to specify a label for the user-defined segments/components. A more in-depth discussion of standardized numbers can
be found the Dial Plan technical reference document in the PureConnect Documentation Library.
User Data
Any data to add to the User Data field. This can be any string.
Exit Paths
Next
639
DID/DNIS Routing Ex
This Telephony tool looks up the queue name to which you can route a telephone number.
Inputs
Telephone Number
A string that contains the telephone number for which to look up the queue.
Set this Boolean parameter to True to search the DID/DNIS Routing Table.
Set this Boolean parameter to True to search the Queue Extensions list.
Set this Boolean parameter to True to search the Queue Names list.
Outputs
Exit Paths
Success
Failure
640
Disconnect
This Telephony tool disconnects a telephone call.
Inputs
Call Identifier
This Boolean determines whether or not any pending operations will be cancelled when the call is disconnected.
Reason Code
An integer representing the reason that the call was disconnected. The following reason codes are currently used by this tool:
0 None
1 No answer to the
call.
2 The line was busy.
Exit Paths
Next
Inputs
Call Identifier
Telephone Number
The queue id or phone number of the transfer recipient. A comma causes a two-second pause, and any numbers after the "/" symbol
are dialed after the call is connected.
You can transfer a call to both remote numbers and queues. If you transfer a call to a queue, you can use both a scoped or non-
scoped queue name. Non-scope Queue name refers to the name of the queue object without the queue type; for example, a phone
is referred to as "User Queue:MikeG" (a scoped queue name) and the Non-Scoped name is just "MikeG". If you use a non-scoped
queue name, CIC assumes the queue is a User queue.
This list of dial strings parallels the list of line groups from the parameter above. When line group from position one is attempted,
dial string from position one is used, and so on. In the default shipping handlers, the DialPlanEX subroutine returns a list of dial
strings that parallels the list of line groups. You can pass the list of dial strings from that subroutine into this parameter. A comma
in a dial string causes a two-second pause, and any numbers after a "/" symbol are dialed after the call is connected.
This parameter passes a string of digits to be displayed as ANI or Caller ID on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the number entered in the Phone Number field in the Line
Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This parameter passes a string to display the name of the caller on the phone system that receives the call. If you do not specify a
value in this parameter, the Telephony Services subsystem uses the name associated with the number entered in the Phone Number
field in the Line Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This Boolean is used to determine whether or not to use the putback feature if it is available for that line.
Diversion Number
Used for forwarded SIP calls, this field specifies the destination/address to which the call was originally sent.
Diversion Name
Diversion Reason
642
Value Description
0 None
1 Unknown
2 Busy
3 No answer
4 Unavailable
5 Unconditional
6 Time of day
7 Do not
disturb
8 Deflection
9 Follow-me
10 Out of service
11 Away
255 Other
The names of any attributes to be assigned to the call as Queue Manager attributes before the Make Call is placed on TS.
The values of any attributes named in the Call Attribute Names parameter above.
Outputs
If the call is transferred to an external number and the call cannot be completed via a put-back transfer (for example, two B-channel
transfer, Release Link Transfer, or flashhook transfer), then this output parameter will contain the call ID for the external call when
the transfer is completed. Otherwise, if the call transfers successfully, the value is always zero.
This parameter is always cleared, regardless of whether or not an inbound transfer is performed. Therefore, this variable should not
be reused later in the handler.
Exit Paths
Success
This tool takes the Success exit path if no other exit is taken.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Alert Failure
643
This tool takes the Alert Failure path if there was a failure attempting to alert the object. This could be caused by the object not
being of a type that the tool can alert or a failure in the alert itself.
Inputs
Call Identifier
Valid Keys
0,1,2,3,4,5,6,7,8,9 are the keys a caller may enter. You can change these keys using the Expression Editor Assistant.
Escape Keys
"*" is the escape key. When a caller presses the escape key, this step stops accepting caller input and takes the Escape exit path.
Change these keys using the Expression Editor Assistant.
Termination Keys
"#" is the termination key for this step. This step immediately stops waiting for key input when this key is pressed and exits through
the Success exit path. If the caller presses the termination key before entering any other keys, this tool takes the Success exit path.
The termination key appears in the Digits output key if it was included in the Valid Keys input. Otherwise, the Digits output variable
is empty.
The maximum number of keys this step accepts before taking the Successful exit path.
The number of seconds to allow between key presses before this step takes the Success exit path. The default is 2.5 seconds. The
Inter-Digit delay is not counted until the caller presses the first key. If the inter-digit delay expires, the tool will exit via the Success
exit path with an output of whatever digits the caller pressed up to that point.
Note for the following Tone Detection parameters: The default values for the next 8 settings recognize a standard fax
tone. In almost all cases, you do not need to change the default settings. If you want to detect a tone other than a fax device,
refer to the documentation for the device generating the tone. Also see the topic on Tones.
50
0
644
Permissible deviation in Tone Detection Frequency 2
50
Timeout
The total number of seconds after audio is played for any keys to be entered before this tool takes the Timeout exit path. The
default for this parameter is 20 seconds. If you are using this Extended Get Key step simply to flush any queued audio, set this value
to 0 seconds. You should not set this value to zero unless you are flushing audio. The maximum value for this tool is 600 seconds.
Any value specified greater than 600 will cause this tool to wait for 600 seconds.
This tool accepts a caller's key presses while the audio is being played.
This optional parameter specifies the name of an attribute to be monitored during the operation of this tool. If the value of this
attribute changes during the Extended Get Key operation, the tool will exit taking the Attribute exit path.
Set this to True if you do not want the input digits to be recorded in the trace file. This should be done if the digits being entered are
security-related digits, such as PINs or passwords.
This optional parameter specified the interaction ID associated with the attribute to monitor.
If set to true, queued plays are repeated if audio is interrupted (a voice mail greeting is detected).
Outputs
Keys
This is the variable that holds the caller’s key input. This variable is empty if the caller pressed the termination key without entering
any digits.
Exit Paths
Success
This step takes the Success exit path if the digits are received. If the caller pressed the termination key (#) without entering any
digits, this tool takes the Success exit path and the Digits output variable is empty.
Escape
This step takes the Escape exit path if the caller presses the configured escape key.
Tone
This step takes the Tone exit path if it detects the tone specified by the Tone parameters on the Inputs pages.
Timeout
This step takes the Timeout exit path if no keys are pressed within the amount of time allotted in the Timeout parameter on the
Inputs page. The GetQueueAnnouncement handler, which uses this tool step and calls the GetDigit function in Telephony Services,
645
also takes this exit path if it encounters an error and terminates with an unknown reason.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Attribute
This path is taken if an attribute that has been set to be monitored changes during the operation of this tool.
Inputs
Call Identifier
Valid Keys
0,1,2,3,4,5,6,7,8,9 are the keys a caller may enter. You can change these keys using the Expression Editor Assistant.
Escape Keys
"*" is the escape key. When a caller presses the escape key, this step stops accepting caller input and takes the Escape exit path.
Change these keys using the Expression Editor Assistant.
Termination Keys
"#" is the termination key for this step. This step immediately stops waiting for key input when this key is pressed and exits through
the Success exit path. If the caller presses the termination key before entering any other keys, this tool takes the Success exit path
and the Digits output variable is empty.
The maximum number of keys this step accepts before taking the Successful exit path.
The number of seconds to allow between key presses before this step takes the Success exit path. The default is 2.5 seconds. The
Inter-Digit delay is not counted until the caller presses the first key. If the inter-digit delay expires, the Get Digits Ex Async initiator
will then launch with a Termination Code of Success.
Note for the following Tone Detection parameters: The default values for the next 8 settings recognize
a standard fax tone. In almost all cases, you do not need to change the default settings. If you want to
detect a tone other than a fax device, refer to the documentation for the device generating the tone.
Also see the topic on Tones.
646
1100 To disable Fax tone detection, set this to 0.
50
50
Timeout (seconds)
The total number of seconds to wait for any input after audio is played before the get key operation terminates. The Get Digits Ex
Async initiator will then launch with a Termination Code of Timeout. The default for this parameter is 20 seconds.
This optional parameter specifies the name of an attribute to be monitored during the operation of this tool. If the value of this
attribute changes during the Extended Get Key operation, the Get Digits Ex Async initiator will launch with a Termination Code of
Attribute Changed.
Correlation ID
Specifies which handler this tool is in. The Get Digits Ex Async initiator will use this information to resume processing once get
digits operation ends.
The number of seconds to wait for any response before the get key operation terminates. The Get Digits Ex Async initiator will then
launch with a Termination Code of No Response. The default for this parameter is 20 seconds.
This optional parameter specifies the interaction ID associated with the attribute to monitor.
Exit Paths
Next
Inputs
Telephone Number
If the List of dial strings to be used parameter (described below) is used, this parameter indicates the telephone number to
display to a CIC Client user. This number is not dialed.
647
If the List of dial strings to be used parameter is empty, then the telephone number in this parameter is used to dial the call.
Lines Groups
This parameter takes a list of line groups (as configured in Interaction Administrator), or leave this parameter empty to use any
available line group. In the default shipping handlers, the DialPlanEX subroutines returns a list of line groups to be used. You can
pass that list in this parameter.
If this string is empty, the call is placed from the system queue. If the string identifies a station ("Station:Gagle", "Station
Queue:Gagle" or just "Gagle"), the call is placed from the named station.
Identifies the workgroup from which this call originated. This parameter is useful for auto-dialers, such as the Interaction Dialer,
when the ACD Server determines which agent a connected call should be sent to.
This list of dial strings parallels the list of line groups from the parameter above. When line group from position one is attempted,
dial string from position one is used, and so on. In the default shipping handlers, the DialPlanEX subroutine returns a list of dial
strings that parallels the list of line groups. You can pass the list of dial strings from that subroutine into this parameter. A comma
in a dial string causes a two-second pause, and any numbers after a "/" symbol are dialed after the call is connected.
Set this Boolean parameter to "True" if you want the handler to detect busy signals or whether the party did not pick up. Set to
"False" if you are integrating with a PBX that does not generate the expected call progress audio. See Call Analysis for more
information.
Note: In-band voice messages (such as "This is AT&T, it is 4 P.M. where you are calling") can cause call analysis to fail. If this
occurs, contact your long distance provider to have this message removed.
Note: If you turn off call analysis, calls made over analog, T1, and E1 lines will take the success exit path even if the call is
busy. See Call Analysis for more information.
Set this to True to have CIC attempt to detect an answering machine. If a machine is detected, this tool takes the Machine exit path.
If this is set to False, answering machines are not detected. See call analysis for more information on answering machine
detection.
The number of seconds of silence to elapse before taking the Machine exit path. This is useful if you want to ensure that the
machine's greeting has finished playing before you play an audio file to the machine. This field is ignored if the Include Answering
Machine Detection option is cleared.
No Answer Timeout
The number of seconds to wait before taking the No Answer exit path. The default value is 30 seconds. Fractions of seconds are
not valid. The timeout value must be 1 or greater. Setting the No Answer Timeout value to 0 actually causes it to default to 30
seconds.
Note : To use the No Answer Timeout parameter, you must also select the Honor No Answer Timeout parameter in
Interaction Administrator. If the Honor No Answer Timeout parameter is not selected, the default value of 30 seconds is
used for the No Answer Timeout parameter. For more information about the Honor No Answer Timeout parameter, see
General Telephony Parameters in Interaction Administrator help.
648
Calling Party Number
This parameter passes a string of digits to be displayed as ANI or Caller ID on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the number entered in the Phone Number field in the Line
Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This parameter passes a string to display the name of the caller on the phone system that receives the call. If you do not specify a
value in this parameter, the Telephony Services subsystem uses the name associated with the number entered in the Phone Number
field in the Line Configuration container in Interaction Administrator.
Note: This only works for ISDN.
Create the call with the CallInitiationContext attribute set to this value
If this is a consulting call, the call ID for the call being consulted may be placed here.
The names of any attribute to be assigned to the call as Queue Manager attributes before the Make Call is placed on TS.
The values of any attributes named in the Call Attribute Names parameter above.
Diversion Number
Used for forwarded SIP calls, this field specifies the destination/address to which the call was originally sent.
Diversion Name
Diversion Reason
649
Value Description
0 None
1 Unknown
2 Busy
3 No answer
4 Unavailable
5 Unconditional
6 Time of day
7 Do not
disturb
8 Deflection
9 Follow-me
10 Out of service
11 Away
255 Other
Outputs
Call Identifier
Exit Paths
Success
This step takes the Success exit path if the call goes through successfully. If call analysis is turned off, all successfully dialed calls
are considered successful if the call connects, even if the connection is a busy signal. (Note: Calls made over ISDN lines may still
take the Busy exit path if a D-channel message is returned indicating that the dialed number is busy.
Busy
This step takes the Busy exit path if the called number is busy, or if there are no available outgoing lines.
No Answer
This step takes the No Answer exit path if the called number does not answer.
Not Reached
This tool takes the Not Reached exit path if there is no dial tone or ring back.
Intercept
This tool takes the Intercept exit path if special information tones are detected. This can occur when an invalid number is reached,
and the external telephone system plays a recorded message.
650
Machine
This tool takes the Machine exit path if call analysis is turned on and an answering machine is detected.
Fax
This tool takes the Fax exit path if call analysis is turned on and a fax tone is detected.
No Lines
This tool takes the No Lines exit path if no lines are available to place this call.
Disconnect
This tool takes the Disconnect exit path if the call is disconnected prior to completion.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Canceled
This tool takes the Canceled exit path if the call attempt is cancelled prior to completion.
Flush Audio
This Telephony tool forces any prompt that has been queued to play immediately.
Inputs
Call Identifier
The unique identifier for the call playing the audio file.
This field determines whether or not the caller may interrupt this prompt by pressing keys on the keypad. Setting it to False means
that this prompt may be interrupted. Setting this parameter to True will cause the prompt to play and not be interrupted.
Exit Paths
Next
651
Flush Keys
This Telephony tool clears from memory any keys a caller has entered up to this point.
Inputs
Call Identifier
Exit Path
Next
Get Attribute
This Telephony tool step obtains an attribute from an interaction and assigns that attribute as the value of a variable. If that call
object attribute does not exist, the value in the output variable is null. For a list of the call object attributes that can be retrieved, see
the Interaction Attributes Technical Reference document in the PureConnect Documentation Library.
Note: This tool cannot get a value for an attribute in a Directory Services key. To get a value in a Directory Services Key, use
the GetDsAttr or GetDsAttrs tools.
Inputs
Call Identifier
Outputs
Exit Paths
Next
652
Get Attributes
This Telephony tool retrieves a list of attributes for an interaction and the value of the attributes. These can be default call
attributes or custom attributes you created with the Set Attribute tool. You specify which attributes to return, and the values are
output in a parallel list of strings. For example, if CallID is element 0, the returned value will also be in element 0.
Inputs
Call Identifier
The attributes to retrieve. For a list of attributes that can be retrieved with this tool, see the Interaction Attributes Technical
Reference in the PureConnect Documentation Library.
Outputs
Exit Paths
Next
653
Get Billing Rate
This Telephony tool retrieves the billing rate information stored for a call.
Inputs
Call Identifier
The identifier for the call that contains billing rate information. This billing rate information was created with a Set Billing Rate tool.
Outputs
This variable contains the billing information sent to AT&T's Vari-A-Bill services.
Exit Paths
Success
This step takes the Success exit path if the information was retrieved.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Inputs
Call Identifier
Outputs
The variable that contains the value of the log file contents.
Exit Paths
Next
Inputs
Call Identifier
Outputs
Exit Paths
Next
Inputs
Call Identifier
The list of attributes for which the datetime values are being retrieved.
Outputs
Exit Paths
Next
Get Key
655
Get Key
This Telephony tool step accepts a single key from a telephone keypad as input from a user and assigns that key as the value of
the output variable. If you need to collect more than one key from a caller for a given operation, such as for a last name lookup, use
Extended Get Key. If the user presses an escape key, the escape key pressed is assigned as the value of the output variable.
The value written to the output variable (the keys a caller presses) replaces any previously existing value.
Inputs
Call Identifier
The unique identifier for a call the key input comes from.
Valid Keys
Keys that are allowed as input. You can change the valid keys using the Expression Editor Assistant.
Escape Keys
The key a user can press to exit this step along the Escape exit path. You can leave this parameter empty, or have multiple escape
keys. This step immediately stops waiting for key input when an escape key is pressed. You can change the escape key(s) using the
Expression Editor Assistant.
Timeout
The maximum number of seconds this step waits before taking the Escape exit. The value of this parameter is set to 600 seconds
(10 minutes) by default. Setting the Timeout to 0 or a negative number causes this tool to wait indefinitely. Specifying any value
greater than 600 results in the default of 600 seconds.
Set this to True if you do not want the input digits to be recorded in the trace file. This should be done if the digits being entered are
security-related digits, such as PINs or passwords.
Outputs
Keys
Exit Paths
Success
If this step executes successfully, it exits through the Success exit path and the key pressed by the user is assigned to the output
variable.
Escape
If the user enters an Escape key, it exits through the Escape exit path and the escape key pressed by the user is assigned to the
output variable. This tool also takes the Escape exit path if the Timeout value expires.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
656
Get Station Info
This Telephony tool returns True or False to indicate if the SIP (i.e., Polycom) phone station queue has shared line appearances.
Input
The station queue name. For example: "Station Queue: KevinKSIP" This applies only to Polycom phone stations.
Outputs
Exit paths
Success
If it succeeds in determining if the station does or does not have shared line appearances.
Failure
If it can not find the station queue identifier by the given name.
If the system detects an Invalid API Version (e.g., if the tool DLL is not the right version for the system)
If there is a timeout communicating with Telephony Services via Notifier (e.g, the system is bogged down)
If the station is Not Active
657
Get User's Location
This Telephony tool returns the location of the specified user, based on the location of the user's logged in station. If the user is
not logged in or the user is logged into a remote station, the user's configured location is used. If the user does not have a
configured location, the CIC server location is used.
Inputs
User
Outputs
Location
Exit Paths
Success
Failure
658
Get Users with Role
This Telephony tool returns a list of users with the specified role.
Inputs
Role
Include Inherited
If true, returns a list of fully scoped user IDs and the list is prepended with "User Queue:". If false, returns a list of user names.
Outputs
List of Users
Exit Paths
Success
This path is taken if the role was found and the list was returned, even if no users have that role.
No Results
Failure
This path is taken if there is an internal error, such as the server not running.
659
Get Wildcard Attributes
This Telephony tool allows you to specify a wildcard value. It returns a list of call attribute names that matched the wildcard, and a
corresponding list of the attribute values. This tool works for telephone calls and chat sessions.
Note: Only user-defined attributes are supported, not the default attributes created by Telephony Services, and wildcard
matching is limited to the beginning of the attribute names. For example, if you use the wildcard value "IDS_", the following
attributes have been defined "IDS_ONE," "IDS_TWO," "MY_IDS_FOO;" then the tool will return IDS_ONE and IDS_TWO. For more
information, refer to the Interaction Attributes Technical Reference in the PureConnect Documentation Library.
Inputs
Call Identifier
The identifier for the call that contains the attributes you want to query.
The string value to search for. Wildcards can only represent the beginnings of attribute names. See the example in the note above
for more info.
Outputs
Exit Paths
Next
660
Hold
This Telephony tool step places a call on hold. The call that is placed on hold must be in a Connected state.
Inputs
Call Identifier
Set to True to place the call on hold and pass control of the call back to a handler, even if it was already picked up by a user.
Set to False if you want this step to fail if a user has already picked up the call. The user maintains control of the call.
Exit Paths
Success
This step takes the Success exit path if the call is placed on hold.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Is Alertable?
The purpose of this Telephony tool is to determine whether a call on a workgroup, user, or station queue may alert that queue. Once
this tool has determined whether the call may alert on the queue, use the exit paths to process the call.
Note: This tool should not be used if the call is, or is going to be, flagged for ACD processing.
Workgroup Queues
A call can alert on the workgroup queue (and take the Success exit path from this tool) if:
at least one workgroup member is logged in and monitoring the specified workgroup queue.
at least one workgroup member has an available status.
at least one workgroup member is not off hook.
User Queues
A call can alert on a user queue (and take the Success exit path from this tool) if:
that user is logged in and monitoring that queue.
that user has an available status.
that user is not off hook.
Station Queues
A call can alert on a station queue (and take the Success exit path from this tool) if:
that station does not have an active call or a call on hold.
that station is not offhook.
Inputs
Queue Identifier
Outputs
Contains a valid result when the input (Queue Identifier) is a user queue. When valid, it contains the user's current status, such as
Available, Gone Home, or Out of Office.
Valid only when querying a user queue set to a status with a return time, such as "On Vacation" or "Out of the Office." This is the
date and time the user has designated as the return time. The value of this variable can be played as a prompt for the caller as part
of an IVR handler. This value is invalid for workgroup and station queues.
Valid only when querying a user queue, this Boolean variable has a value of true if the date for the status is set. This value is invalid
for workgroup and station queues.
Valid only when querying a user queue, this Boolean variable has a value true if the time for the status is set.
This list of string value contains a list of all of the stations to be alerted. This station list should be explicitly checked for at least
one value before retrieving the first element. It is possible for Is Alertable? to return Success even when this list is empty. This can
occur if the user's Ring Phone attribute is false or if a workstation's Ring Always attribute is false.
Workgroup Queues
Is Alertable? creates a list of all stations associated with available workgroup members who are not off hook and in an available
status.
User Queues
Is Alertable? creates a list of all station info into which the user is logged. This includes workstations connected to a computer on
which the user has logged into a CIC client, stations through which a user has logged in remotely. This value is filled only if that
user queue is alertable.
Station Queues
Is Alertable? adds the identifier for the queue being queried if that station queue is alertable.
Monitoring Stations
The list of stations that are monitoring the queue specified in the Queue Identifier input parameter.
Monitoring Users
The list of users who are monitoring the queue specified in the Queue Identifier input parameter.
Returned only when querying a user queue, this is the remote telephone number (if on has been set by the user) for this queue.
This value is determined by comparing the number of call appearances with the number of active calls on the SIP station. The value
662
is TRUE if the device is a SIP station and the number of call appearances is greater than the number of active calls on the SIP
station. Otherwise, the value is FALSE.
Exit Paths
Success
This step takes the Success exit path if the queue is alertable. See the tool overview for a list of these conditions.
OnPhone
This step takes the OnPhone exit path in the following circumstances:
Workgroup : If all members of the workgroup are unavailable and at least one workgroup member is on the phone.
User : If that user has an active call on his or her user queue.
Station : If that station has an active call or a call on hold (which would result from a switch hook flash operation).
UseStation
User Queues only: This step takes the UseStation exit path if the user is not logged in but has a ringable default workstation
configured. This step only takes the UseStation exit path if the queue type is User and if the Success exit path is not taken. This
would occur if the user is not logged in, but has one or more default workstation configured that do not have other users logged in
to them.
Remote
User Queue only: This step takes the Remote exit path if the agent's status is set to Available, Forward and the agent has a remote
telephone number.
Failure
This step takes the Failure exit path if no one is monitoring the queue and the queue is not a station queue. This step also takes
the Failure exit path if the call object goes away.
663
Key Word Spotting
This Telephony tool enables CIC to start or stop monitoring a call for key words. If it identifies key words that are defined and
associated with the specified workgroup in Interaction Administrator, it initiates notifications. In its most basic form, the tool
stores the spotted key words and associates them with the call.
Inputs
Call Identifier
Action
Start to begin monitoring for key words, or Stop to end monitoring of a call.
Workgroup Queue Id
The workgroup ID, which defines the list of key words to spot.
Language
Exit Paths
Success
This tool takes the Success exit path if the operation is successful.
Failure
This tool takes the Failure exit path if the operation is not successful.
664
Listen From Call
This Telephony tool is similar to the Listen button on a CIC client toolbar. It allows one caller to listen to another user's call from
an external call. This tool was written to enable Listen functionality for users not running a CIC client.
Inputs
Call Identifier
Call Identifier
Set this to True if you want to listen to the call after it is transferred. Set to False if you want to stop listening when the call is
transferred.
Set to True or False to indicate whether or not this is a supervisory listen. This determines whether or not the person being listened
to will be able to see that they are being listened to in the CID client. Supervisory listens are not detected by the person being
listened to.
Set to True if you want the listening call to not disconnect when the target call finishes. For example, if you wanted to use the same
listening call to listen to another call.
User Identifier
Exit Paths
Success
Failure
This path is taken if the operation fails. Listen could fail for various reasons, including using an incorrect InteractionId, or if the
targeted caller disconnects before this tool is activated.
665
Listen From Station
This Telephony tool is similar to the Listen button on a CIC vlient toolbar. It allows one person at a specified station to listen to
another user's call.
Inputs
Call Identifier
The ID of the station from which to listen to the call. (Examples: "Station:Gagle", "Station Queue:Gagle" or just "Gagle").
Set this to True if you want to listen to the call after it is transferred. Set to False if you want to stop listening when the call is
transferred.
Set to True or False to indicate whether or not this is a supervisory listen. This determines whether or not the person being listened
to will be able to see that they are being listened to in a CIC client. Supervisory listens are not detected by the person being listened
to.
Set to True if you want listening to continue when the target call finishes. For example, if you wanted to use the same listening call
(returned as an output) to listen to another call.
Outputs
Call Identifier
Exit Paths
Success
Failure
This path is taken if the operation fails. Listen could fail for various reasons, including using an incorrect InteractionId, or if the
targeted caller disconnects before this tool is activated.
666
Log Message
This Telephony tool step writes a string to the Call Log attribute. Things that happen to a call are recorded and time stamped. For
example, a call that leaves a voice mail message might have a log that looks something like this:
10:44:25: Call answered
10:44:25: System greeting
10:44:32: Success from lookup. Search Attribute = Queue Identifier Search Value = User
Queue:StephenS
10:44:32: Call transferred to User Queue:StephenS
10:44:32: Sending call to UserQueue Handler
10:44:32: Status: Unavailable
10:44:51: Send message requested
Each of these entries was written to the call log with a Log Message step. Use a Get Call Log step to retrieve the contents of a call
log attribute. The contents can then be inserted in an email message of some other file.
When a call disconnects, CIC writes the contents of the Call Log attribute to the CallLog.log file.
Inputs
Call Identifier
The unique identifier that contains the name of the log you want to write a message to. The string identifier you specify here is the
string identifier you must specify when extracting the contents with the Get Call Log tool.
Exit Paths
Next
667
Malicious Call Trace
This Telephony tool provides the ability to send a Malicious Call Trace (MCT) request on a SIP-based interation. The request is
received by the SIP endpoint and then processed. If the endpoint supports the MCT request and is using a Time Division
Multiplexing (TDM) endpoint, it gerates a Malicious Call ID (MCID) request on the TDM endpoint.
Note : Full use of this feature requires customizations to buttons and handlers in a CIC client. Contact PureConnect Customer
Care for further information about this feature.
Inputs
Call Identifier
The call ID for the incoming call. This ID is used to look up the dialed number from which the call originated.
Initiate Recording?
If set to true, initiates a recording of the call. If set to false, the call is not recorded.
Exit Paths
Success
Failure
668
Mute Interaction
This Telephony tool turns off the user’s microphone. This allows the user to screen unwanted sounds or conversations from the
caller without having to put the caller on hold.
Inputs
Call Identifier
Select Start to begin muting a call, or Stop to end muting and resume normal call activity.
Exit Paths
Success
The Success path is taken if the specified Mute Action is successfully applied.
Failure
The Failure path is taken if the specified Mute Action could not be applied. This will occur of the Call Identifier is incorrect.
Inputs
Line Groups
Specify a list of line groups (as configured in Interaction Administrator), or leave this parameter empty to use any available line
group. In the default shipping handlers, the DialPlanEX subroutines returns a list of line groups to be used. You can pass that list in
this parameter.
If this string is empty, the call is placed from the system queue. If the string identifies a station (for example, "Station:Gagle,"
"Station Queue:Gagle," or just "Gagle"), the call is placed from the named station and if there is a logged in user on that station, the
user's queue.
Identifies the workgroup from which this call originated. This parameter is useful for auto-dialers, such as the Interaction Dialer,
when the ACD Server determines which agent a connected call should be sent to.
This list of dial strings parallels the list of line groups from the parameter above. When line group from position one is attempted,
the dial string from position one is used, and so on. In the default shipping handlers, the DialPlanEX subroutine returns a list of dial
strings that parallels the list of line groups. You can pass the list of dial strings from that subroutine into this parameter. A comma
in a dial string causes a two-second pause, and any numbers after a "/" symbol are dialed after the call is connected.
669
Perform Call Analysis
Set this Boolean parameter to "True" if you want the handler to detect busy signals or whether the party did not pick up. Set to
"False" if you are integrating with a PBX that does not generate the expected call progress audio. See Call Analysis for more
information.
Notes: In-band voice messages (such as "This is AT&T, it is 4 P.M., where are you calling") can cause call analysis to fail. If
this occurs, contact your long distance provider to have this message removed.
Note: If you turn off call analysis, calls made over analog, T1, and E1 lines will take the success exit path even if the call is
busy. See Call Analysis for more information.
With this option selected, CIC attempts to detect an answering machine. If a machine is detected, this tool takes the Machine exit
path. If this option is cleared, answering machines are not detected. See call analysis for more information on answering machine
detection.
The number of seconds of silence to elapse before taking the Machine exit path. This is useful if you want to ensure that the
machine's greeting has finished playing before you play an audio file to the machine. This field is ignored if the Include Answering
Machine Detection option is cleared.
No Answer Timeout
The number of seconds for the Extended Place Call tool to wait before taking the No Answer exit path. The default value is 30
seconds.
The number of seconds to wait before taking the Timeout exit path.
The minimum number of calls from the dial string list to be successfully completed before ending the Parallel Make Call
subroutines. For example, if a user has a list of five dial strings but only needs one to connect, assigning this parameter a value of 1
will end the Parallel make Call process after the first call is connected.
Global Parameter
The parameter that is sent to each instance of the Parallel Make Call Outbound Call initiator.
Local Parameters
A list of local parameters parallel to the list of dial strings. I.e., the first local parameter is sent to the initiator for the first dial
string, the second is sent for the second dial string, etc.
This parameter passes a string of digits to be displayed as ANI or Caller ID on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the number entered in the Phone Number field in the Line
Configuration container in Interaction Administrator.
Note : This only works for ISDN.
670
This parameter passes a string to display the name of the caller on the phone system that receives the call. If you do not specify a
value in this parameter, the Telephony Services subsystem uses the name associated with the number entered in the Phone Number
field in the Line Configuration container in Interaction Administrator.
Note : This only works for ISDN.
If a call is a consulting call, the call ID for the call being consulted can be specified here.
The names of any attributes to be assigned to the call as Queue Manager attributes before the Make Call is placed on TS.
The values of any attributes named in the Call Attribute Names parameter above.
Outputs
A list of calls from the original dialstring that were successfully made.
Exit Paths
Success
This path takes the Success exit path if it was able to compile the List of Succeeded Calls and the List of Failed Calls.
Timeout
This path is taken if the time set in the Parallel Make Call Timeout input expires.
Failure
This path is taken if the tool is unable to compile the List of Succeeded Calls and the List of Failed Calls.
Canceled
671
Parallel Make Call Failure
This Telephony tool flags an unsuccessful call to be placed on the List of Failed Calls generated with the Parallel Make Call tool.
Inputs
Call Identifier
Exit Paths
Next
Park
This Telephony tool parks an interaction on the user queue you specify. The Park tool allows a handler to re-park an interaction
after the original park operation has timed out. This tool allows handlers to differentiate between parked interactions timing out and
held interactions timing out. For example, when a parked call timeout occurs, the Held Call Timer initiator is triggered (just as it is
for held calls). If the call was parked, the ParkedFlag output parameter in the Initiator is set to true. The handler could then give the
caller the option to re-park.
You can also use this tool to park an interaction or an Orbit queue. For more information, see the Queue Identifier input description.
Inputs
Call Identifier
Queue Identifier
Exit Paths
Success
This tool takes the Success exit path if the call is successfully parked.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or there is a system
resource limitation.
This tool also takes the failure path if you attempt to park the call on a non-user queue.
672
PickUp
This Telephony tool picks up a call that is on hold. Calls that are not in a state of On Hold cannot be picked up. This step does not
pick up a call that has already been picked up by a CIC client user.
Inputs
Call Identifier
If this is set to True, the call is removed from any user or station queue which it is currently on and will be moved to the system
queue. Set to False to leave the call on any user or station queues. In both cases the state of the call will be changed from Held to
Active .
Set to True to place the call on hold and pass control of the call back to a handler, even if it was already picked up by a user.
Set to False if you want this step to fail if a user has already picked up the call. The user will maintain control of the call.
Exit Paths
Success
This step takes the Success exit path if the call is successfully picked up.
Failure
This step takes the Failure exit path if the call was not on hold or had already been picked up by a user. This tool can take the
Failure exit path for several other reasons. Failure can occur if the call disconnects, if the call is picked up by a user (and is no
longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or there is a system resource
limitation.
673
Place Call
This Telephony tool creates an outgoing call to an external or intercom number.
Inputs
Telephone Number
This is the number that will be called. In this parameter you can enter any string expression, including a literal telephone number, a
queue ID, a variable that contains the value of a telephone number, or a complex expression built with the Expression Editor
Assistant. A comma causes a two-second pause, and any numbers after the "/" symbol are dialed after the call is connected.
If this string is empty, the call is placed from the system queue. If the string identifies a station ("Station:Gagle," "Station
Queue:Gagle," or just "Gagle"), the call is placed from the named station. If there is a user logged in on that station, the call is placed
from the user's queue.
Outputs
Call Identifier
Exit Paths
Success
Busy
Failure
If this step does not execute successfully, it takes the Failure exit path.
Inputs
Call Identifier
674
Audio File Name
The unique name of the .WAV file. If you specify a path, make sure it is a fully qualified path indicating the server or drive letter. If
you do not type a path, this tool uses the path stored in the Resource Path server parameter.
The keypad keys a caller can press to advance the recording the number of seconds specified in Skip Amount.
The keypad keys a caller can press to rewind the recording the number of seconds specified in Skip Amount.
The number of seconds to advance and rewind when a caller presses a Skip Forward or Skip Backward key.
The keypad keys a caller can press to speed up playback of the audio file.
The keypad keys a caller can press to slow down playback of the audio file.
Immediate Mode
Set to True if you want the digits to be played when this step executes. Set to False if you want the digits to be queued with other
digits played before and after so that several prompts are seamlessly played one after another.
Exit Paths
Next
675
Play Digits
This Telephony tool plays one or more DTMF digits for a call. This tool could be used to send a series of digits representing a
telephone number to a paging service, or any other time DTMF tones are required
Inputs
Call Identifier
Immediate Mode
Set to True if you want the digits to be played when this step executes. Set to False if you want the digits to be queued with other
digits played before and after so that several prompts are played seamlessly, one after another.
Digits to be played
Exit Paths
Next
676
Play Prompt
This Telephony tool step plays a CIC prompt recorded with the Prompt Editor. All prompts must be created by using the Edit button
on the Inputs page, which opens the Prompt Editor. To play a prompt recorded in another handler, you must use the Play Prompt
Extended tool. See Record a prompt for more information on creating prompts.
To make sure a prompt plays before the next tool step is executed, place an Extended Get Key step after the PlayPrompt and set the
Timeout variable to a small decimal number (i.e., 0.01). Connect the next step from Timeout and leave the other exits unconnected.
This will cause all audio prompts to be flushed before continuing.
Inputs
Call Identifier
The unique identifier for the call for which the prompt is played.
Language
The language in which the prompt will be played. You must have a recording in the language you choose. (Different language
versions are defined when a prompt is created.)
Prompt Editor
Click the Edit button to open the Prompt Editor where you can select an existing prompt or create a new one. Whichever prompt you
have selected when you click OK in the Prompt Editor is the prompt that is played when this step executes. The selected prompt’s
name also appears on the Inputs page of the properties notebook. The only prompts you can select from are those recorded for
this handler or subroutine. If you want to select a prompt from another handler or subroutine, use the Play Prompt Extended tool.
Immediate Mode
Check this box if you want the prompt to be played when this step executes. Do not check this box if you want the prompt to be
queued with other prompts played before and after so that several prompts are played seamlessly, one after another.
Exit Paths
Next
677
Play Prompt Extended
Use this Telephony tool to play a prompt that was recorded in another handler. To use this tool, you will need to know the name of
the prompt, the handler it was created in, and the language to be used. You may have to open the handler that contains the prompt
you want to use in order to collect this information.
To make sure a prompt plays before the next tool step is executed, place an Extended Get Key step after the PlayPrompt and set the
Timeout variable to a small decimal number (i.e., 0.01). Connect the next step from Timeout and leave the other exits unconnected.
This will cause all audio prompts to be flushed before continuing.
If you want to record a new prompt, use the Play Prompt tool.
Inputs
Call Identifier
The unique identifier for the call for which the prompt is played.
Handler Name
Language
The language in which the prompt will be played. You must have a recording in the language you choose. (Different language
versions are defined when a prompt is created.)
Prompt Name
Immediate Mode
Check this box if you want the prompt to be played when this step executes. Do not check this box if you want the prompt to be
queued with other prompts played before and after so that several prompts are seamlessly played one after another.
Exit Paths
Next
Inputs
Call Identifier
Language
678
The language code of the prompt phrase to be played. If no language is specified, the language attribute of the call will be used. If
no language is specified for the call either, the default language will be used.
Singular if true
This Boolean permits simple handler-based control over the common case of generating different prompt sequences for plural
arguments than for singular ones (e.g., "one car" vs. "two cars"). Set to True to select the Singular Prompt Sequence. Set to False to
select the Plural Prompt Sequence.
Prompt Strings
This tab allows the specification of zero or more Prompt Strings that may need to be substituted dynamically into the phrase.
Typically, the entries on this tab are string literals or the names of string variables. A Prompt String consists of one or more prompt
identifiers separated by white space. A prompt identifier can be scoped by a handler name or unscoped. A scoped prompt identifier
consists of the handler name, a colon and the prompt ID (e.g., <HandlerName:PromptName>). All identifiers are case insensitive.
Variables
Parameters
The run-time substitution strings that are passed in at run-time to the sequence string.
Sequence Strings
A sequence string is a mechanism by which you arrange multiple prompts to be played at one time.
In the simplest Case, the Sequence String would be <%1>. This means there will be one substitution string from the Prompt Strings
dialog below. The Prompt Strings dialog will either pass in a prompt, or a string variable which represents a prompt. However, the
Prompt Sequence could be much more complex than that, so here's a more detailed example:
<Prompt_IVR:IVR_REMOTE_VM_MENU> <%1> <IVR_REMOTE_VM_EXIT> </file=thankyou.wav> </tts=mister
smith>
This will play the following items in the order shown:
1. Prompt IVR_REMOTE_VM_MENU from the Prompt_IVR handler
2. %1 - substitution string
3. Prompt IVR_REMOTE_VM_EXIT from the current handler
4. A .WAV file: "thankyou.wav"
5. Text to Speech saying, "Mister Smith."
Single Sequence and Plural Sequence show what the sequence will be based on the Singular? parameter from the Inputs page.
This dialog lets you choose which sequence string to use for this phrase. The Handlers dialog lists the handlers you currently have
open. Sequence Strings are resources just like prompts - they are resources of a handler. Simply highlight which handler you want
to use and check the box of the sequence string you want to use.
Exit Paths
Next
679
Play Recording
This Telephony tool plays an audio recording. The only recordings that can be played with this step are CIC Audio Recordings that
recorded with a Record Audio step. (CIC uses audio recordings to record voice mail.) You cannot play .WAV files or CIC Prompts
using this step. .MP3 files are not supported.
To play a .WAV file for a listener, use a Play Audio File step. To play an CIC Prompt, use a Play Prompt step.
Inputs
Call Identifier
Recording Identifier
Immediate Mode
Set to True if you want the digits to be played when this step executes. Set to False if you want the digits to be queued with other
digits played before and after so that several prompts are played seamlessly, one after another.
Exit Paths
Next
680
Play String
This Telephony tool reads the contents of a text string to a caller using the TTS engine.
Inputs
Call Identifier
Text
The text that is played. This can also be the string variable.
Immediate Mode
Select this option if you want the text to be played when this step executes. Clear this option if you want the text to be queued with
other prompts played before and after so that several prompts are played seamlessly, one after another.
Exit Paths
Next
Inputs
Call Identifier
The identifier for the call to which the string will be played.
Text
Voice Name
Volume
An integer from zero to 100 representing the percentage of the maximum permitted volume at which the string will be played. That
is, a value of 100 will play the recording at the maximum volume, whereas a value of 25 will play the recording at 25% of the
maximum level.
681
Speed
This optional value is used to specify the approximate rate of speech. Since rates vary depending on what TTS engine is used, refer
to the TTS provider documentation for more information.
Immediate Mode
Select this option if you want the text to be played when this step executes. Clear this option if you want the text to be queued with
other prompts played before and after so that several prompts are played seamlessly, one after another.
Optional Parameters
Exit Paths
Next
This step takes the Next exit path if the speech is played.
Rejected
This step takes the rejected exit path if the TTS subsystem does not have the resources to play the speech.
682
Play Text File
This Telephony tool plays the contents of a .TXT file using the Text-to-Speech engine.
Inputs
Call Identifier
The path to and name of the text file to be played. This can also be a string variable whose value is the path and name of a text file.
Immediate Mode
Select this option if you want the text to be played when this step executes. Clear this option if you want the text to be queued with
other prompts played before and after so that several prompts are seamlessly played one after another.
Exit Paths
Next
Inputs
Call Identifier
The path to and name of the text file to be played. This can also be a string variable whose value is the path and name of a text file.
Voice Name
Volume
An integer from 0 to 100 representing the percentage of the maximum permitted volume at which the text file will be played. That is,
a value of 100 will play the recording at the maximim volume, whereas a value of 25 will play the recording at 25% of the maximum
level.
683
Speed
This optional value is used to specify the approximate rate of speech. Since rates vary depending on what TTS engine is used, refer
to the TTS provider documentation for more information.
Immediate Mode
Select this option if you want the text to be played when this step executes. Clear this option if you want the text to be queued with
other prompts played before and after so that several prompts are played seamlessly, one after another.
Optional Parameters
To specify a name:value pair to control advanced MRCP properties, refer to Using MRCP Tools.
To use ITTS even if you have SAPI or MRCP as the default TTS provider, specify "I3TTS" as the optional parameter.
To specify a name:value pair to control advanced ITTS properties, refer to in Using ITTS Tools.
Exit Paths
Next
This step takes the Next exit path if the text is successfully played.
Rejected
This step takes the rejected exit path if the TTS subsystem does not have the resources to play the speech.
684
Play Tone
This Telephony tool generates a tone for a connected call. For a list of standard tones, see Tones.
Because the Play Tone tool does not have an Off Time parameter, you will not be able to generate Busy, Congestion, Reorder, or
Ringback tones.
Note : Interaction Designer includes a prompt library named Prompt_Tones.ihd. This library contains tones from all around the
world. You can use Interaction Designer to export any of the tones as .WAV files.
Inputs
Call Identifier
The frequency of the tone you want to generate. By default this is set to 1100 Hz.
The amplitude of the frequency you want to generate. By default this is set to -10.
The frequency of the second tone you want to generate. By default this is set to 0 Hz.
The amplitude of the frequency you want to generate. By default this is set to -10.
Tone Duration
The number of seconds the tone plays. To convert milliseconds to seconds, divide your millisecond value by 1000. For example, if
you want the tome to play for 500 milliseconds, you would type .5 in this parameter.
Exit Paths
Next
685
Private
This Telephony tool flags a call as Private. Marking a call as Private:
Prevents others from being able to use the Listen feature on that call.
Stops an ongoing recording on the call.
Inputs
Call Identifier
Exits
Next
Failure
This path is taken if the operation fails. Normally this will be because of an invalid call ID.
686
Query Conference Properties
This Telephony tool queries a conference call and returns information about the parties in that conference. Query Conference
Properties returns the number of parties currently in the conference and three lists. Each list contains one element for each party in
the conference.
Inputs
The unique identifier for the conference call created from the two objects on the Inputs page.
Outputs
A list containing the amount of time each party has been in the conference.
A list containing the Call State for each party involved in the conference.
Exit Paths
Success
Failure
687
Query Logged In Users
This Telephony tool queries a specified station queue and returns a list of all users currently logged in to that queue.
Inputs
Outputs
List of strings containing the IDs for all users currently logged in to the specified station queue.
Exit Paths
Success
Failure
688
Query Media Subtype
This Telephony tool determines a call's media subtype, such as telephone calls or chat sessions. Use this tool as a branch point
for processing different types of calls. Each supported media subtype has an associated exit path.
Inputs
Call Identifier
Outputs
Media Subtype
A string that contains the media subtype (for example, fax or sms) for the call that was queried. If the media subtype
is undefined this parameter contains an empty string.
Exit Paths
Undefined
If the interaction subtype is not a Fax or SMS session, this tool takes the Undefined exit path.
Custom
If the interaction subtype is not a Fax session, SMS session, or an undefined session, this tool takes the Custom exit
path.
Fax
If the interaction subtype is an Fax session, this tool takes the Fax exit path.
SMS
If the interaction subtype is an SMS session, this tool takes the SMS exit path.
Failure
Inputs
Call Identifier
689
Exit Paths
Telephone
If the call type is a telephone call, this tool takes the Telephone exit path.
Callback
If the call type is a callback, this tool takes the Callback exit path.
Chat
If the call type is a chat session, this tool takes the Chat exit path.
Web Collaboration
If the call type is a Web Collaboration session, this tool takes the Web Collaboration exit path.
Web
If the call type is a web session, this tool takes the Web exit path.
Generic Object
If the call type is a generic object, this tool takes the Generic Object exit path.
If the call type is an email, this tool takes the Email exit path.
Monitor Object
If the call type is a monitor object, this tool takes the Monitor Object exit path.
Recorder Object
If the call type is a Recorder object, this tool takes the Recorder Object exit path.
SMS
If the interaction type is an SMS session, this tool takes the SMS exit path.
Conference
If the interaction is a conference call, this tool takes the Conference exit path.
If the interaction is a work item, the tool takes the Work Flow Work Item exit path.
Social Conversation
If the interaction is a social media conversation, then the tool takes the Social Media Conversation exit path.
Invalid
If the call identifier is no longer valid (because the call is no longer in the CIC), this tool takes the Invalid exit path.
Inputs
Outputs
This list of string variable contains the list of queues monitored by this station. Pass this variable to the Select Call tool, or use the
InsertAtTail tool to manually add additional monitored queues to the list.
Exit Paths
Next
Query Queue
This Telephony tool looks in a queue and returns information about the contents of that queue. Query Queue returns seven lists;
each list has one element for each telephone or chat interaction in the queue.
Inputs
Queue Identifier
The name of the user and workgroup queue to be examined. This must be a fully scoped queue name such as "User
Queue:StephenS" or "Workgroup Queue:Support".
Set this value to true to include inactive calls in the query. Set this value to false to exclude inactive calls from the query.
Outputs
Call Identifiers
691
A list of call identifiers for each interaction in the queue. In future releases, this may contain other types of identifiers for other
types of queue items. These items are sorted chronologically with the oldest item as the first element in the list.
Remote Numbers
Status
The status of each item in the queue. These will be either Alerting, Active, Held, or Inactive.
States
A list of the states associated with each queue item. See States for a list of possible call states. These are state strings; they can
also be any string assigned in a handler.
Creation Times
Exit Paths
Success
This step takes the Success exit path if the information is successfully retrieved from the queue.
Failure
This step takes the Failure exit path if the queue does not exist.
692
Query Queue Type
This tool determines the type of queue (User, Workgroup, or Station).
Inputs
Queue Identifier
The unique identifier for a queue. This is the queue whose type will be determined.
Outputs
Non-Scoped Queue Name refers to the name of the queue object without the queue type; for example, a phone is referred to as
"User Queue:MikeG" (a scoped queue name) and the Non-Scoped name is just "MikeG."
Exit Paths
Station
Workgroup
User
Failure
This exit path is taken if the queue type is not of the type Station, Workgroup, or User.
693
Query Statuses for User
This Telephony tool returns a list of statuses for which the user has rights.
Inputs
User
Outputs
List of Statuses
The list of statuses that are available for the specified user.
Exit Paths
Next
If the user is found, this step takes the Next exit path.
Failure
Inputs
User Identifier
The identifier for the user whose status you want to query. You can format this value in the following ways: "User Queue:StephenS,"
"User:Stephens" or "StephenS."
Outputs
A datetime variable containing the date and time for the status. For example, if the user has set his or her status to "On Vacation
until 5/5/2000," this variable would have a value. If the user has not set a date, the value is empty.
A boolean value that is "true" if the date is set for the status and "false" if the date is not set.
694
Is Time in StatusDateTime set?
A boolean value that is "true" if the time is set for the status and "false" if the time is not set.
A boolean value that is "true" if the user is logged in and "false" if the user is not logged in.
A boolean value that is "true" if the status is a 'do not disturb' status and "false" if the status is not.
Is Status ACD?
A boolean value that is "true" if the status is an ACD status and "false" if the status is not.
Is Status Forward?
A boolean value that is "true" if the status is a forwarding status and "false" if the status is not.
Is Status On Phone?
A boolean value that is "true" if the status is a 'on the phone' status and "false" if the status is not.
Exit Paths
Next
This tool takes the Next exit path if the status is returned.
Failure
This tool takes the Failure exit path if the user identifier is invalid.
Record Audio
This Telephony tool step records a caller’s message and stores it temporarily (in the directory specified in the Recording Path
server parameter) as an CIC Audio Recording for playback in a Play Recording step or for a conversion to a .WAV in a Send Voice
Mail step. The .WAV file is discarded after a handler containing this step runs. If you need to save the .WAV file, use the Record File
tool.
This step does not convert the Audio Recording to .WAV format. Conversions to .WAV are performed in the Send Voice Mail step.
If a caller presses a key on the telephone keypad, the value of that key is stored as an output value and this handler takes the
success exit path.
Note: Record Audio fails if the call it records is not in a Connected state. If you are building a handler that uses the Record
Audio step, you can use a Pickup step to change the state from Notifying or Offering or On Hold to Connected.
Inputs
Call Identifier
Valid Keys
695
These are keys that can be pressed by the user and accepted for this step. Use this parameter to set up which key a user can press
to indicate that he or she has finished recording.
Note: A user can also indicate that a message is complete by hanging up.
Escape Keys
The key a caller can press to take the Escape exit path.
50
50
0.200000
-0.200000
0.000000
0.000000
Timeout (seconds)
The maximum length of the recording, and the number of seconds this step will record before taking the Success exit path. The
value of this parameter is set to 600 seconds (10 minutes) by default. Setting the Timeout to 0 or a negative number causes this
tool to record indefinitely. Specifying any value greater than 600 results in the default of 600 seconds.
Note: A server parameter called Voicemail Maximum Duration is available to pass a value to this tool step and override the
default value. For more information, see the "Packaged Server Parameters" topic in the Interaction Administrator Help.
696
Select this checkbox if you want any long periods of silence to be removed from the Audio Recording. Select this checkbox to
remove long periods of silence at the beginning or end of the recording. This is supported by the media server and defaults to 2
seconds.
The number of seconds of silence at the end of an utterance that will terminate the recording (defaults to 10). When set to 0, this
parameter indicates that the Interaction Administrator system line setting for voicemail silence detection is used. When set to a
number less than 0, it is disabled.
Mime Type
The audio format to use for recording the audio (when blank, defaults to the format specified on the media server). Available audio
formats include:
A udio/L16: Linear 16-bit
Audio/PCMU: muLaw
Audio/PCMA: aLaw
Audio/G726-32: G726 - 32bit
Audio/GSM: GSM
Audio/x-truespeech: DSP TrueSpeech
Indicates whether Automatic Level Control should be applied to the audio (defaults to false).
Outputs
Recording Identifier
The variable that identifies this recording. The recording is stored in the directory specified in the Recording Path server parameter.
The variable that contains the amount of audio that was recorded.
Keys
The value of a pressed key. It can only be one of the keys defined as Valid or Escape key(s). If you allow a person recording audio
to perform actions on that audio by pressing special keys, the key pressed is recorded in this variable.
Exit Paths
Success
This step takes the Success exit path if a non-escape key is pressed or if the recording is longer than the number of seconds
specified in the Timeout parameter.
Escape
This exit path is taken if the person recording the audio pressed one of the escape keys.
Cancelled
Call ownership changed. This can occur if a user picks up a call while voice mail is being recorded.
Failure
697
If the call ID is no longer valid, this tool takes the Failure exit path. This can occur if the caller hangs up before this step executes. If
the caller hangs up after recording has started, this tool takes the Success exit path.
Tone
Record Call
This Telephony tool records a telephone or chat interaction. Use this tool when you want to record a call for the lifetime of that
call, as opposed to recording some portion of the call while it is in a certain handler like Voice Mail.
This tool uses an existing recording created by using the Record button in a CIC client, if one exists. When creating a new recording,
Telephony Services uses a generic system ID, rather than the local user ID.
At the time the recording ends, the Eic_RecordFileName attribute is set to the file name and path for the storage location of the
recording. Inputs
Call Identifier
Record Action
Type either Start, Stop, or Pause. After pausing, a Start action will continue recording.
Set to True to continue the recording of a call even if the call is transferred.
Recording Requested By
Set to True to indicate that the user requesting the recording has supervisory status.
Mime Type
The audio format to use for recording the audio (when blank, defaults to the format specified on the media server). Available audio
formats include:
A udio/L16: Linear 16-bit
Audio/PCMU: muLaw
Audio/PCMA: aLaw
Audio/G726-32: G726 - 32bit
Audio/GSM: GSM
Audio/x-truespeech: DSP TrueSpeech
Indicates whether Automatic Level Control should be applied to the audio (defaults to false).
Outputs
698
The unique identifier for the recording interaction that is handling the recording of the call.
Exit Paths
Success
This step exits along the success path if the call is successfully recorded.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Record File
This Telephony tool records telephone conversation and saves it in the form of a .WAV file. This tool also accepts a key press from
a telephone keypad. As soon as any key is pressed, this tool exits and the recording is saved. Any time this tool exits, the recording
is saved. This tool is used in the SystemIVRRecordPrompt handler for CIC client users to record their personal prompts. You can
use this tool any time you want to record a call as a .WAV file.
This tool will overwrite any .WAV files with the same name in the same location.
This tool is different from Record Audio because Record File saves the .WAV file, where Record Audio deletes its recording when
the handler ends.
Inputs
Call Identifier
Valid Keys
The keys that are acceptable as input for this tool. If a user presses one of these keys, this tool stops recording and takes the
Successful exit path.
Escape Keys
The key press that causes this tool to take the Escape exit path. If a user presses one of these keys, this tool stops recording and
takes the Escape exit path.
Timeout (seconds)
The maximum allowable recording length before taking the Success path.
Note : You can either specify a maximum timeout of up to 600 seconds, or set the value to -1 to specify no limit.
The name to use when saving the .WAV file, including the .WAV extension. If there is already a file with that name, it is overwritten
when this step executes. If you specify a path, make sure it is a fully qualified path indicating server or drive letter. If you do not type
a path, this tool uses the path stored in the Recording Path server parameter.
If the filename or path is invalid, this tool takes the Failure exit path.
699
Set to True to remove long periods of silence in the recording.
When this is set to True, any additional recordings to the same file name are appended to the original file. If set to False, any
additional recordings to the same file overwrite the original file.
If this option is set to True, a tone is inserted before each appendage. If set to False, a tone is not inserted before each appendage.
The number of seconds of silence at the end of an utterance that will terminate the recording (defaults to 10). When set to 0, this
parameter indicates that the Interaction Administrator system line setting for voicemail silence detection is used. When set to a
number less than 0, it is disabled.
Mime Type
The audio format to use for recording the audio (when blank, defaults to the format specified on the media server). Available audio
formats include:
A udio/L16: Linear 16-bit
Audio/PCMU: muLaw
Audio/PCMA: aLaw
Audio/G726-32: G726 - 32bit
Audio/GSM: GSM
Audio/x-truespeech: DSP TrueSpeech
Indicates whether Automatic Level Control should be applied to the audio (defaults to false).
Outputs
Length of Recording
Keys
Any keys the caller has pressed. Once a valid or escape key has been pressed, this tool exits.
Exit Paths
Success
This step takes the Success path when one of the valid keys is pressed or if the number of seconds in the Timeout parameter is
exceeded.
Escape
Cancelled
This step takes the Cancelled path if someone else takes control of this call object.
700
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call is already disconnected, if the call is picked
up by a user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system
resource limitation.
Tone
Record String
This Telephony tool reads the contents of a string into an audio file (.WAV) using the Text-to-Speech engine.
Inputs
Text
The text that is recorded. This can also be the string variable.
The path to and name of the .WAV file that is to be created. If you do not include any path information, the file will be generated in
the directory specified by the "TTS Audio File Directory" server parameter. If no directory is specified, it defaults to whatever the
Win32 API function GetTempPath uses, which typically returns "C:\TEMP" when called from a normal application and "C:\WINNT"
when called from a service.
Outputs
Length of recording
An integer approximation of the playback length. When the server is running under a reasonable load, the record time should be 2-8
times quicker than the playback time.
Exit Paths
Success
This step takes the Success exit path if the .WAV file is created.
Failure
This step takes the Failure exit path if one of the following occurs:
The server has no TTS engine installed.
The audio file already exists and is read-only.
The process does not have write permission in the directory specified for the audio file.
The string was empty or contained nothing that could be converted into "phonemes" (i.e. no audio was generated).
Related Topics
Record String Extended
701
Record String Extended
This Telephony tool reads the contents of a string into an audio file (.WAV) using the Text-to-Speech (TTS) engine. This tool
extends the options available over the Record String tool in that you can specify Voice Name, Speed, and other Optional
Parameters.
For more information about installing, licensing, and configuring Interaction Text to Speech, see CIC Text To Speech Engines
Technical Reference in the PureConnect Documentation Library.
Inputs
Text
The text that is recorded. This can also be the string variable.
The path to and name of the .WAV file that is to be created. If you do not include any path information, the file will be generated in
the directory specified by the "TTS Audio File Directory" server parameter. If no directory is specified, it defaults to whatever the
Win32 API function GetTempPath uses, which typically returns "C:\TEMP" when called from a normal application and "C:\WINNT"
when called from a service.
Voice Name
Speed
This optional value is used to specify the approximate rate of speech. Since rates vary depending on what TTS engine is used, refer
to the TTS provider documentation for more information.
Optional Parameters
To specify a name:value pair to control advanced MRCP properties, refer to Using MRCP Tools.
To use ITTS even if you have SAPI or MRCP as the default TTS provider, specify "I3TTS" as the optional parameter.
To specify a name:value pair to control advanced ITTS properties, refer to in Using ITTS Tools.
Outputs
Length of recording
Exit Paths
Success
This step takes the Success exit path if the .WAV file is created.
Rejected
This step takes the Rejected exit path if one of the following occurs:
The server has no TTS engine installed.
The audio file already exists and is read-only.
The process does not have write permission in the directory specified for the audio file.
The string was empty or contained nothing that could be converted into "phonemes" (i.e. no audio was generated).
702
Record Text File
This Telephony tool reads the contents of a text file into an audio file (.WAV) using the Text-to-Speech (TTS) engine.
Inputs
The path to and name of the .WAV file that is to be created. If you do not include any path information, the file will be generated in
the directory specified by the "TTS Audio File Directory" server parameter. If no directory is specified, it defaults to whatever the
Win32 API function GetTempPath uses, which typically returns "C:\TEMP" when called from a normal application and "C:\WINNT"
when called from a service.
Outputs
Length of recording
Exit Paths
Success
This step takes the Success exit path if the .WAV file is created.
Failure
This step takes the Failure exit path if one of the following occurs:
The server has no TTS engine installed.
The audio file already exists and is read-only.
The process does not have write permission in the directory specified for the audio file.
The string was empty or contained nothing that could be converted into "phonemes" (i.e. no audio was generated).
The specified text file could not be accessed.
Related Topics
Record Text File Extended
Inputs
The text that is recorded. This can also be the string variable.
703
Audio File Name (.WAV)
The path to and name of the .WAV file that is to be created. If you do not include any path information, the file will be generated in
the directory specified by the "TTS Audio File Directory" server parameter. If no directory is specified, it defaults to whatever the
Win32 API function GetTempPath uses, which typically returns "C:\TEMP" when called from a normal application and "C:\WINNT"
when called from a service.
Voice Name
Speed
This optional value is used to specify the approximate rate of speech. Since rates vary depending on what TTS engine is used, refer
to the TTS provider documentation for more information.
Optional Parameters
To specify a name:value pair to control advanced MRCP properties, refer to Using MRCP Tools.
To use ITTS even if you have SAPI or MRCP as the default TTS provider, specify "I3TTS" as the optional parameter.
To specify a name:value pair to control advanced ITTS properties, refer to in Using ITTS Tools.
Outputs
Length of recording
Exit Paths
Success
This step takes the Success exit path if the .WAV file is created.
Rejected
This step takes the Rejected exit path if one of the following occurs:
The server has no TTS engine installed.
The audio file already exists and is read-only.
The process does not have write permission in the directory specified for the audio file.
The text file was empty or contained nothing that could be converted into "phonemes" (i.e. no audio was generated.
704
Reload Station
This Telephony tool sends a SIP message (check-sync) to cause the phone to reload/restart.
Inputs
Exit Paths
Success
This exit path is taken if the SIP message is sent to reload/restart the phone.
Failure
Remove Party
This Telephony tool is used to remove a specified call from a conference without disconnecting the call.
Inputs
Call Identifier
The unique identifier for a call. In this instance, a call to a party you want to conference.
Exit Paths
Success
This path is taken if the call is successfully removed from the conference.
Failure
705
Reset Password
This Telephony tool resets an CIC user's password to a randomly generated password.
Note: As the handler author, you are responsible for authenticating the user via the TUI and delivering the new password to the
user.
Inputs
User Identifier
Numeric Only
If true, a numeric password is generated. If false, the password will be a combination of alpha and numeric characters.
Outputs
New Password
Exit Paths
Success
Invalid User
This exit path is taken if the user associated with the ID is not found.
Failure
706
Secure Session Begin
This Telephony tool starts a secure session and starts the Secure Input Initiator.
The default name of the handler called by the Secure Session Begin tool is SecureInputSub. Create the SecureInputSub handler to
use the Secure Input Initiator. To call a different handler, add I3_RESERVED_IVR_HANDLER_NAME to the Auxiliary Data Names
parameter and add the handler name to the Auxiliary Data Value parameter at the same index.
Inputs
Call Identifier
A list of labels.
A list of names.
Outputs
Transaction Id
Exit Paths
Success
Failure
707
Secure Session End
This Telephony tool ends a secure session and reconnects the audio paths.
Inputs
Call Identifier
Exit Paths
Success
Failure
Inputs
Call Identifier
Name
Regular Expression
A regular expression in the Boost.Regex format. The tool performs a check against this regular expression.
Additional Checks
An input string that contains "Luhn". This parameter currently supports only the Luhn algorithm check. For more information, search
for "Luhn algorithm" on the Internet.
Valid Keys
0,1,2,3,4,5,6,7,8,9 are the keys a caller may enter. You can change these keys using the Expression Editor Assistant.
Escape Keys
708
"*" is the escape key. When a caller presses the escape key, this step stops accepting caller input and takes the Escape exit path.
Change these keys using the Expression Editor Assistant.
Termination Keys
"#" is the termination key for this step. This step immediately stops waiting for key input when this key is pressed and exits through
the Success exit path. If the caller presses the termination key before entering any other keys, this tool takes the Success exit path.
The termination key appears in the Digits output key if it was included in the Valid Keys input. Otherwise, the Digits output variable
is empty.
The maximum number of keys this step accepts before taking the Successful exit path.
The number of seconds to allow between key presses before this step takes the Success exit path. The default is 2.5 seconds. The
Inter-Digit delay is not counted until the caller presses the first key. If the inter-digit delay expires, the tool will exit via the Success
exit path with an output of whatever digits the caller pressed up to that point.
Note for the following Tone Detection parameters: The default values for the next 8 settings recognize a standard fax
tone. In almost all cases, you do not need to change the default settings. If you want to detect a tone other than a fax device,
refer to the documentation for the device generating the tone. Also see the topic on Tones.
1100
To disable Fax tone detection, set this to 0.
50
Use 0 to disable.
50
The number of seconds that the tone on time can deviate from the value in the Time in seconds which tone must be on
setting.
709
The number of seconds that the tone off time can deviate from the value in the Time in seconds which tone must be off
setting.
Timeout (seconds)
The total number of seconds after audio is played for any keys to be entered before this tool takes the Timeout exit path. The
default for this parameter is 20 seconds. If you are using this Extended Get Key step simply to flush any queued audio, set this value
to 0 seconds. You should not set this value to zero unless you are flushing audio. The maximum value for this tool is 600 seconds.
Any value specified greater than 600 will cause this tool to wait for 600 seconds.
This tool accepts a caller's key presses while the audio is being played.
This optional parameter specifies the name of an attribute to be monitored during the operation of this tool. If the value of this
attribute changes during the Extended Get Key operation, the tool will exit taking the Attribute exit path.
This optional parameter specified the interaction ID associated with the attribute to monitor.
If set to true, queued plays are repeated if audio is interrupted (a voice mail greeting is detected).
Outputs
A string that specifies regex or Luhn to indicate failure details on Failure exit path.
Exit Paths
Success
This step takes the Success exit path if it does not take one of the exits below. If the caller pressed the termination key (#) without
entering any digits, this tool takes the Success exit path and the Digits output variable is empty.
Escape
This step takes the Escape exit path if the caller presses an escape key.
Tone
This step takes the Tone exit path if it detects the tone specified by the Tone parameters on the Inputs pages.
Timeout
This step takes the Timeout exit path if no keys are pressed within the amount of time allotted in the Timeout parameter on the
Inputs page.
Failure
710
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
Attribute
This path is taken if an attribute that has been set to be monitored changes during the operation of this tool.
Inputs
Call Identifier
Name
The label to use when sending data to the Secure Session Info Validate tool step.
Value
Exit Paths
Success
Failure
This Telephony tool sends securely stored data from Telephony Services, as well as auxiliary data and data from the Secure
Session Info Inserted tool, to a web application that calls a third-party credit card validation or other secure operation.
Note : The web application is written by the customer. To download an example handler, click Sample Handler for Secure
IVR from the Utilities and Downloads page at https://help.genesys.com/utilities-and-downloads.html.
Inputs
Call Identifier
Web-Service Uri
Factory Label
Outputs
Approval Value
Approval Result
Exit Paths
Validate Failed
The tool takes this exit path if the web application fails to validate the secure data.
Validate Approved
The tool takes this exit path if the secure data is successfully validated.
Validate Declined
The tool takes this exit path if web application declines the use of the secure data.
Validate Other
The tool takes this exit path if the web application returns any other result.
712
Select Call
This Telephony tool searches a list of queues serially to determine if one of those queues contains a call that should be assigned
to the station. The call ID for an alerting or held call in one of the listed queues is returned. Any remaining conditions in the list are
ignored. If multiple calls in the queue satisfy the criteria, the one with the longest time in that has been alerting or on hold the
longest is used. This tool is typically used after CIC detects a station has gone off-hook, triggering the Station Off Hook initiator. If
none of the following conditions are met, dial tone is played.
Note: This tool does not take a user’s status into consideration. If your status is set to Do Not Disturb, you will still receive an
alerting call or a call on hold when you pick up your station.
Any user queue being actively monitored by the station has an alerting Returns that call ID.
call
Any user queue being actively monitored by the station has a held call Returns that call ID.
Any workgroup queue being actively monitored by the station has an Returns that call ID.
alerting call
Any workgroup queue being actively monitored by the station has a held Returns that call ID.
call
No-one is logged in at this station and any user queue for which the Returns that call ID.
station is the default workstation has an alerting call
No-one is logged in at this station and any user queue for which the Returns that call ID.
station is the default workstation has a held call
Inputs
Queues to Search
The list of queues to search. This list is typically, but does not have to be, output from the Query Monitored Queues tool.
Outputs
Call Identifier
Exit Paths
Success
This tool takes the Success exit path if the Queues to Search are valid queues.
Failure
This tool takes the Failure exit path if Queues to Search contains invalid queue identifiers, or if none of the searched queues
contain alerting or held calls.
Inputs
Exit Paths
Next
714
Set Attribute
This Telephony tool step assigns a new attribute to a telephone call or chat session, and assigns the value of that newly assigned
object attribute. When the object disappears, so do the attributes. Object attributes can be thought of as temporary storage, and
only last as long as the object. Object Attributes are not the same attributes in Directory Services Keys. A call log is an example of
one of these attributes. When the call goes away, so does the log. For a list of the existing call object attributes, see the Interaction
Attributes Technical Reference in the PureConnect Documentation Library.
Only strings can be stored as the value of an attribute.
Note: This tool cannot set a value for an attribute in a Directory Services key. To set a value in a Directory Services Key, use
the PutDsAttr and PutDsAttrs tools.
Inputs
Call Identifier
Exit Paths
Next
715
Set Attributes
This Telephony tool assigns one or more values to a list of one or more call attributes. The attributes are created if they do not
exist. This tool works for telephone calls and chat sessions.
Inputs
Call Identifier
The identifier for the call to to which you want to assign the attribute values.
The list of attributes for which you want to create or set values.
A parallel list of values. For example, if the List of Attribute Names contains two items, then the List of Attribute names must also
contain two values at the same positions in the list of strings.
Exit Paths
Next
716
Set Billing Rate
This Telephony tool should only be used if you are using AT&T's Vari-A-Bill service. Set Billing Rate instructs AT&T to charge a
customer a specific amount for a specific call. For more information on how Vari-A-Bill works, see the Vari-A-Bill User Guide you
received from your Vari-A-Bill vendor.
Contact your AT&T Technical Sales Specialist to arrange testing of any Vari-A-Bill functionality you create in handlers.
Vari-A-Bill is optional on each line and must be activated in the Line Configuration container in Interaction Administrator.
Inputs
Call Identifier
The number of cents to charge. If this is ISDN_NEW_RATE rate, it is the cents per minute. If this is ISDN_FLAT_RATE,
ISDN_PREM_CHARGE, or ISDN_PREM_CREDIT, it is the total amount to charge or credit.
Exit Paths
Success
This step takes the Success exit path if the rate is set.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system resource
limitation.
717
Set Call State
This Telephony tool step changes the state of a call. Set Call State could be used to indicate to CIC client users that a call is in
voice mail or sending/receiving a fax. While calls delivering voice mail or a fax are actually in a state of Connected, CIC client users
will see "Voice Mail" or "FAX."
See States for information on state strings.
Inputs
Call Identifier
Set to True if the call will be transferred to voice mail. This prepares the call for recording.
Set to True to take control of the call so that audio can be played for the call.
Set to True to cancel any operations about to be performed on the call object. For example, if a prompt or audio file was about to
be played, the play operation would be canceled.
This Boolean is set to true if the call is associated with a virtual station. By default, this parameter is false.
Exit Paths
Success
This step takes the Success exit path if the state is changed.
Failure
This step takes the Failure exit path if the state cannot be changed. This can occur for several reasons. Failure can occur if the call
disconnects, if the call is picked up by a user (and is no longer under the control of the handler), the call ID is no longer valid (if the
call is deallocated), or system resource limitation.
718
Send ADSI String
This Telephony tool sends two strings to a station queue to be displayed on an ADSI (Analog Display Services Interface) capable
telephone. While the labels for this tool indicate that you should send a telephone number and name to display, you can send any
string. The string is only sent when the phone is not connected to another CIC audio source (such as receiving dial tone, listening to
voicemail, connected to a call, etc.).
To clear the text displayed on the phone, call another instance of this tool with empty Calling Number and Calling Name strings.
The station to which the strings are sent must be configured with the ADSI option selected. See ADSI in the Interaction
Administrator online help for more information on configuring a station to receive ADSI information.
Inputs
Exit Paths
Next
719
Set Datetime Attribute
This Telephony tool sets the datetime value for a specified call attribute.
Note : This tool does not support setting a datetime variable to a date prior to 1970/01/06.
Inputs
Call Identifier
Exit Paths
Next
Inputs
Call Identifier
The list of attributes for which the datetime value is being set.
Exit Paths
Next
Inputs
User Identifier
The user identifier for the user setting his or her password. The following examples demonstrate acceptable syntax:
"JohnD"
"User:JohnD"
"User Queue:JohnD"
The digits to use as the new password. This password can be, but does not have to be, composed of DTMF digits.
Exit Paths
Success
This path is taken if the new password is still in the user's password history and is not yet available for re-use.
This path is taken if the password being replaced has not yet been in use for the minimum specified number of days.
This path is taken if the password specified does not meet the minimum number of required digits.
This path is taken if the password entered does not contain the minimum number of unique DTMF digits.
This path is taken if the password is composed entirely of sequential DTMF digits, either ascending or descending.
721
This path is taken if the agent is locked out due to exceeding the number of allowable failed logon attempts.
Failure
This path is taken if the tool is unable to put the password into Directory Services.
Inputs
Call Identifier
Exit Paths
Success
This step takes the Success exit path if the state is changed.
Failure
This step takes the Failure exit path if the state cannot be changed. This can occur for several reasons. Failure can occur if the call
disconnects, if the call is picked up by a user (and is no longer under the control of the handler), the call ID is no longer valid (if the
call is deallocated), or there are system resource limitations.
Inputs
User Identifier
The date and time information that accompanies the status. This information can be played in an IVR handler to tell a caller when a
user will be available.
The number of seconds after which the user's status will reset. If set to a number less than 1, the user's status will not reset
automatically.
Forwarding Number
The forwarding number for the user. This has no effect if a status date or time is being set or if auto-reset is set.
Exit Paths
Success
If this step executes successfully, this step takes the Success exit path.
Failure
If this step does not execute successfully, this step takes the Failure exit path.
723
Set Visual Indicator
This Telephony tool toggles (on or off) the indicator on an ADSI (Analog Display Services Interface) telephone. If the telephone is
connected to another CIC audio source (such as receiving dial tone, listening to voicemail, connected to a call, etc.), the indicator is
set when the station becomes available. It also keeps counts of new, old, and urgent messages.
The station on which the indicator is toggled must be configured with the ADSI option selected. See ADSI in the Interaction
Administrator online help Station Configuration topic for more information on configuring a station to receive ADSI information.
Inputs
Set to True to turn on the indicator. Set to False to turn off the indicator.
Exit Paths
Next
Start TDD
This Telephony tool was deprecated in CIC 4.0.
724
Station Answer
This Telephony tool picks up a call in alerting or held state on a station queue. It does not pick up calls in the connected state.
This tool was created so that if multiple stations go off hook at the same time for a group ring, one station will not steal a call
from another. For example, in a group ring situation, if three phones go off hook around the same time, the call should go to the
first station and not to the other two.
Inputs
Call Identifer
The identifier for the station queue on which the call resides.
Exit Paths
Success
This step takes the Success exit path if the operation is successful.
Failure
This step takes the Failure exit path if the station queue or call ID is not valid.
725
Station Audio
This Telephony tool makes a connection to a station queue. This connection creates a call object, and any type of audio can be
played to that queue once the connection is made. You can also pass the connection to a Station Place Call tool.
Station audio calls made with this tool are only valid for a limited set of operations: play and input, station place call, and blind
transfer.
Inputs
User Identifier
If you specify a User Queue ID, the station audio call will be placed on that user queue in addition to the specified station queue.
Set to True if you do not want the call to appear on a station queue.
Status Text
The Status Text input specifies a string which, if not empty, is the initial status string for the call. For the Off Hook handler, you
should set it to "Manual Dialing."
This Boolean determines whether or not the new connection will interrupt a currently connected call. By default, this parameter is
set to "false."
Initiated by Phone?
This Boolean indicates whether or not the call was initiated by a phone, since hold requests for phone-initiated calls and client-
initiated calls are handled differently. This parameter is set to “false” by default and is only set to “true” when the tool is called from
inside the Station Off Hook initiator.
Outputs
Call Identifier
The unique identifier for the call. This call is created when a connection is established with the station queue.
Exit Paths
Success
This step takes the Success exit path if the Station Identifier is valid.
Failure
This path is taken if the operation fails. Reasons for failure can include currently active call or station audio call, or an invalid user
queue. Insufficient voice resources can also cause this tool to fail if it is occurring frequently. The event log should indicate if this
has been happening.
726
Station Connection Confirmation
This Telephony tool checks the status of a specified connection call.
Inputs
Connection Call ID
Status
Exit Paths
Next
Inputs
Exit Paths
Success
This tool takes the Success exit path if the operation is successful.
Failure
This tool takes the Failure exit path if the operation cannot be performed.
727
Station Pickup
This Telephony tool picks up a call alerting on a station queue. Use Station Pickup when you want a call to be connected to a
station, just as if a CIC client pickup button was pressed. This tool was created to connect calls on analog stations not running a
CIC client.
Inputs
Call Identifier
The identifier for the station queue on which the call resides.
Exit Paths
Success
This step takes the Success exit path if the call is picked up.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by an
CIC client user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or there is
a system resource limitation.
728
Station Place Call
This Telephony tool places a call on behalf of a station device so that once the call connects, it is connected to a station.
This tool generates an "Outgoing Call Request" event. In the current handler set, this starts the System_InitiateCallRequest handler.
Inputs
Call Identifier
Telephone Number
Line Groups
This parameter takes a list of line groups (as configured in Interaction Administrator), or leave this parameter empty to use any
available line group. In the default shipping handlers, the DialPlanEX subroutines returns a list of line groups to be used. You can
pass that list in this parameter.
If this string is empty, the call is placed from the system queue. If the string identifies a station ("Station:Gagle", "Station
Queue:Gagle" or just "Gagle"), the call is placed from the named station and if there is a logged in user on that station, the user's
queue.
Identifies the user or workgroup from which this call originated. This parameter is useful for auto-dialers, such as the Interaction
Dialer, when the ACD Server determines to which agent a connected call should be sent.
Exit Paths
Success
If the operation is successful, this tool takes the Success exit path.
Failure
This tool takes the Failure exit path if the call ID is invalid or if the station queue ID is invalid.
729
Synchronous Answer
This Telephony tool establishes a connection with an incoming call. It differs from the Answer tool in that the GetCall command
issued to the TS server is done synchronously, allowing the call to be transferred to a different system if the first answering system
lacks the resources to perform IVR.
Inputs
Call Identifier
Exit Paths
Success
Failure
This path is taken if the operation fails. This will happen if the Call ID is invalid.
Disconnect
This path is taken if the call is disconnected before the operation is complete.
Resources Unavailable
This path is taken if the system does not have enough resources available to handle the call.
System Queue
This Telephony tool removes an interaction from any queue(s) that contain it, and it generates a Transfer to System Queue event.
This tool can access calls in any non-disconnected state.
Inputs
Call Identifier
Exit Paths
Next
730
Transfer
This Telephony tool allows you to perform a consult transfer. This step connects two calls. For example, you receive Call1. Call1
asks to be transferred to person 2. You call person 2, which creates Call2. You now have Call1 and Call2. The Transfer tool
connects those two calls. For immediately transferring calls without first creating Call2, see the Blind Transfer tool.
Inputs
Call Identifier
Call Identifier
The unique identifier for the second call. This call will be connected to the first call.
This Boolean, set appropriately by default by CIC according to the configured line's support for putting a call back on the originating
system, is used to determine whether or not to use the putback feature if it is available for that line. If putback is available, then
setting this parameter to True will cause the transfer to be attempted using the Putback operation. If the Putback operation fails
within TS Server, a conventional transfer will be attempted.
Note: We strongly recommend that you do not change the default value of this parameter unless you know exactly when and
why you need to override the default system value. This value is normally passed through the Transfer Request Initiator, but it
can be changed there as well.
Exit Paths
Success
This step takes the Success exit path if the calls are connected.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by a
user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or there is a system
resource limitation.
731
Unbind Station
This Telephony tool unprovisions the current phone by clearing the MAC address for the phone in Interaction Administrator and
causing the phone to reboot. This tool might be used, for example, when an administrator needs to provision a phone for a new user
and the previous user's configuration remains.
Inputs
Exit Paths
Success
This tool takes the Success exit path if the operation is successful.
Failure
This tool takes the Failure exit path if the operation cannot be performed.
Unhold Call
This Telephony tool takes a call off hold.
Inputs
Call Identifier
Exit Paths
Success
This tool takes the Success exit path if the operation is successful.
Failure
This tool takes the Failure exit path if the operation cannot be performed.
732
User Login List
This Telephony tool returns a list of stations into which a given user is logged in. This tool was created for whisper functionality so
that handlers can determine which stations should receive a whisper tone.
Inputs
User Identifier
The User for whom you want to return the station list. The User Identifier can be written as "MikeG", "User:MikeG" or "User
Queue:MikeG".
Outputs
A list of strings containing the stations into which the user is logged in.
Exit Paths
Next
733
Validate DTMF Password
This Telephony tool validates passwords entered over the telephone for remote voice mail retrieval.
Inputs
User Identifier
The user ID for which the password will be looked up. The following examples demonstrate acceptable syntax:
"JohnD"
"User:JohnD"
"User Queue:JohnD"
Exit Paths
Success
This step takes the Success exit path if the password matched the user ID.
This path is taken if the password is set to expire within a few days and the user is being reminded to change it.
This path is taken if the nag period has ended and the user must change their password.
Password Expired
Invalid Password
This path is taken if the new password is still in the user's password history and not yet available for re-use, the password specified
does not meet the minimum number of required digits, the password is composed entirely of sequential DTMF digits, or the
password does not contain the minimum number of unique DTMF digits.
This path is taken if the agent is locked out due to exceeding the number of allowable failed logon attempts.
Failure
This step takes the Failure exit path if the user ID could not be found or if the password supplied was incorrect.
734
Verify Conference ID
This Telephony tool checks a Conference ID to ensure it hasn't been deallocated.
Inputs
Conference ID
Exit Paths
Success
Invalid
Verify Interaction ID
This Telephony tool checks an Interaction ID to ensure that it hasn't been deactivated. Deactivation of an interaction takes place 60
seconds after deallocation.
Inputs
Interaction ID
Exit Paths
Success
Invalid
735
Wait For Call On Queue
This Telephony tool waits for an interaction on a specified queue or queues.
Inputs
Call Identifier
Timeout (seconds)
The number of seconds the tool will wait for the interaction.
The unique identifiers for the queue or queues the tool will monitor while waiting for the interaction.
Exit Paths
Success
This path is taken if the specified interaction appears in one of the designated queues.
Failure
Timeout
This path is taken if the timeout period ends before the specified interaction is located.
736
Wait For Disconnect
This Telephony tool causes the handler to pause until the specified call disconnects.
Inputs
Call Identifier
Timeout
The number of seconds the tool will wait for the specified call to disconnect. A value of -1 gives this tool an infinite timeout period.
A value of zero is also valid and will cause the tool to return immediately. A value of zero would be used if you don't need the
handler to wait, but simply want to see if the call is in a disconnected state.
Exit Paths
Success
This path is taken if the specified call disconnects within the specified time period.
Timeout
This path is taken if the specified call does not disconnect within the specified time period.
Failure
737
Wait For Monitor End
This Telephony tool pauses a handler until monitoring on the specified call ends or until the specified timeout period elapses.
Inputs
Call Identifier
Timeout (seconds)
The number of seconds the tool will wait for the monitor end.
Exit Paths
Monitor Disconnect
Target Disconnect
Target Private
This path is taken if the call has been marked private by clicking the "Private" button in a CIC client.
Stop Monitoring
This path it taken if call monitoring ends before the timeout period elapses.
Unknown
This path is taken if the tool exits for reasons other than call disconnection or monitor ending. Possible reasons for taking this
path include if the call had already disconnected before this tool began, or if an incorrect Call Identifier was used.
Timeout
This path is taken if the timeout period elapses and the call is still being monitored.
738
Wait Wrap Up
This Telephony tool was previously used to pause the handler until a wrap-up code can be retrieved.
Note : This tool is no longer usable following IC 3.0 SU13.
Inputs
Call Identifier
Exit Paths
Needed
This path is taken if the call has a wrap-up code that has not yet been entered by the CIC client.
Not Needed
This path is taken when a wrap-up code has been entered by the CIC client, if the call was removed from the user queue, or if the
call has gone to the voicemail state.
Failure
This path is taken if the call does not exist, if the user queue does not exist, or if the call is not on the user queue.
Wink
This Telephony tool is used to send a wink on a digital line to a CO (Central Office) while the call is in the "Connected" state. You
must, for this reason, define the wink as an "inverse wink" (at least one bit is high, low and high again). A wink is defined (for all
T1/E1 spans, unless override in the DCM (Dialogic Configuration Manager)) in the spandti.prm file located in the \Dialogic\data
directory; you must edit this file in order to change the definition of the wink. If you want to change the definition of the wink for a
single span, you must edit the file and rename it for the span. The name of the new file must then be entered for the particular span
into the parameter field in the misc table of the DCM. Only one wink definition can be defined for each E1/T1 line.
Any line on a T1/E1 span on which you change the wink definition (to be an inverse wink) cannot not be configured as "Wink start"
since "Wink Start" uses a regular wink.
Inputs
Call Identifier
Exit Paths
Next
Zone Page
739
Zone Page
This Telephony tool initiates a zone page. By dialing a short digit sequence (e.g., *88<zone>), a user, the page initiator, can begin a
live one-way broadcast to stations in a zone. This zone can be made up of any combination of user queues, station queues,
workgroup queues, and station groups.
At sites with poor network performance, there may be some significant delay between stations. In an environment where the
listener can hear more than one phone at a time, this may result in a noticeable echo between the broadcasting phones.
A zone page terminates when one of the following occurs:
the initiating station goes "on hook."
the initiating station enters the termination digit.
the timeout expires.
Notes: The Zone Page operation uses one IP resource per target phone on the CIC Server.
The Zone Page feature is only supported on Polycom SIP phones that support auto-answer (and are configured for auto-
answer). See the list of supported IP phones at: http://testlab.genesys.com/ProductsPage.aspx?ProductType=5
Inputs
Call Identifier
The identifier for the call on which the zone page is sent. The call must be in a "connected" state.
A list of fully scoped queue ID's to page. This list can be any combination of user queues, station queues, workgroup queues and
station groups.
Page Origin
The remote name displayed on paged phones, if specified. If an empty string is passed, the station name configured in IA will be
displayed.
Termination Keys
The telephone keys that terminate a zone page call. Terminating a zone page call in this way allows the initiating station to
complete the page without going "on hook".
Timeout (seconds)
The number of seconds before an alerting zone page times out. If the zone page times out, the initiator and all paged stations are
disconnected. By default this is set to -15.0.
The frequency of the tone played to the page initiator. By default this is set to 350.
The amplitude of the tone played to the page initiator. This is a number between -40 and 0 in dB. By default this is set to -10.
The duration in seconds of the tone played to the page initiator. To convert milliseconds to seconds, divide your millisecond value
by 1000. For example, if you want the tome to play for 500 milliseconds, you would type 0.5 in this parameter. By default this is set
to 0.5.
740
Exit Paths
Success
No Phones Available
The tool takes the No Phones Available exit path if there are no stations available to take the call. A station must be "on hook" to
receive a zone page.
Invalid Queue
The tool takes the Invalid Queue exit path if there is an invalid queue in the list of queue identifiers parameter
Timeout
This tool takes the Timeout exit path if the zone page alerts longer than the number of seconds specified in the Timeout parameter.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the tone or prompt generation to the initiator fails,
the call ID is no longer valid (if the call is deallocated), or there is a system resource limitation.
UMF
741
UMF Create Message
This UMF tool creates a message in the system and provides a handle to it as an output. The handle is used as input to all other
tools that operate on the message.
Outputs
Message Handle
Exit Paths
Success
Failure
Inputs
Message Handle
Outputs
Value
The value that was read from the message. This output will not contain a valid value unless the success exit path is taken.
Exit Paths
Success
This path is taken if the value is successfully read from the message.
Failure
This path is taken if the operation fails or if the element being read from the message is not the correct type.
742
UMF Get String
This UMF tool reads a data element from the message specified by the supplied handle.
Inputs
Message Handle
Outputs
Value
The value that was read from the message. This output will not contain a valid value unless the success exit path is taken.
Exit Paths
Success
This path is taken if the value is successfully read from the message.
Failure
This path is taken if the operation fails or if the element being read from the message is not the correct type.
Inputs
Message Handle
Value
Exit Paths
Success
Failure
743
UMF Put String
This UMF tool adds a data element to the message specified by the supplied handle.
Inputs
Message Handle
Value
Exit Paths
Success
Failure
744
UMF Send Event
This UMF tool sends the message specified by the supplied handle to another handler on the same server. Which handler gets
triggered by the message is determined by the event and object Ids that are specified on this tool. Handler execution continues as
soon as the message has been sent. No response is expected.
Inputs
Message Handle
Object ID
The value to use for the object ID that will be included with the message notification to the receiving handler. To trigger a handler
this value must match the value specified in the Object ID input on the UMF Message Received initiator.
Event ID
The value to use for the event ID that will be included with the message notification to the receiving handler. to trigger a handler this
value must match the value specified in the Notification Event input on the UMF Message Received initiator.
Exit Paths
Success
This path is taken if the message is successfully sent. This does not mean it was received by the intended handler, just that it was
sent by the Notifier.
Failure
745
UMF Send Request
This tool sends the message specified by the supplied handle to another handler on the same server. Which handler gets triggered
by the message is determined by the event and object IDs that are specified of this tool. Handler execution continues only after a
response is received or the timeout period expires.
Inputs
Message Handle
Object ID
The value to use for the object ID that will be included with the message notification to the receiving handler. To trigger a handler
this value must match the value specified in the Object ID input on the UMF Message Received initiator.
Event ID
The value to use for the event ID that will be included with the message notification to the receiving handler. To trigger a handler
this value must match the value specified in the Notification Event input on the UMF Message Received initiator.
Timeout
The number of milliseconds to wait for a response to the message. A value of zero means the timeout period is infinite.
Outputs
A handle to the response message if one was received in time. This output will only contain a valid value if the success path is
taken.
Exit Paths
Success
This path is taken if the message is successfully sent and a response is received within the timeout period.
Failure
Timeout
This path is taken if the timeout period expires before a response message has been received.
746
UMF Send Response
This UMF tool sends a response message specified by the supplied handle back to the source of the original message. One of the
inputs is set from a value that can only be obtained from the initiator. This value is used to route the response to the correct
recipient.
Inputs
Message Handle
Response Correlation ID
The value that is used to route the response back to the sender of the original message. This value is assigned by the server and
can only be obtained from the Response Correlation ID output on the UMF Message Received initiator.
Exit Paths
Success
This path is taken if the message is successfully sent. This does not mean it was received by the intended handler, just that it was
sent by the Notifier.
Failure
VoiceXML
747
VoiceXML Tools Overview
The Voice XML interpreter optional feature is integrated into the PureConnect platform. Handlers process incoming calls and
decide if a call needs to go through a VoiceXML application. The handler then invokes a tool that transfers the call to the VoiceXML
Interpreter, and a VoiceXML session is activated. The URL of the VoiceXML document is specified by the session activation tool,
and specifies which dialog to start. The VoiceXML Interpreter attempts to load and parse the document, and if it is successful, the
Interpreter takes ownership of the call.
Depending on the dialog specified in the VXML document, the Interpreter either queues TTS or plays an audio prompt to the caller.
The Interpreter then listens for DTMF or speech input.
Additional Information
For more information about VoiceXML integration in CIC, see the VoiceXML Installation and Configuration Guide in the
PureConnect Documentation Library.
If the tool exits through the ‘Invalid Interaction’ or ‘Error’ exit, the handler remains the owner of the interaction.
Inputs
Interaction
The unique interaction identifier (e.g., CallID) to send to the VoiceXML interpreter.
748
Document URI
Note : This parameter is not currently enabled but it is defined for future use.
This optional parameter specifies how to process pending prompt plays. There are three options:
0 Default - Play as "fetchaudio." Let the current prompts play until the VoiceXML session has started. Then,
abort the current prompt as soon as the VoiceXML session is ready to play its own prompts.
1 Play to Completion. - Play the current prompt until it finishes, even if the VoiceXML session is started and
ready to play its own prompts.
2 Abort. - The VoiceXML interpreter aborts any pending prompts immediately when it gets the call ownership.
The Interpreter uses any global “fetchaudio” settings during the fetch. If the “fetchaudio” property has no
value (default), nothing is played (silence).
Argument Names
An optional string list of argument name-value pairs that are passed to the interpreter as arguments.
Argument Values
An optional string list of argument values (name/value pairs) that correspond to the Argument Names. These arguments will be
available in VoiceXML through 'session.name' or just simply 'name.'
This checkbox explicitly tells the VoiceXML interpreter to force the interaction ownership.
Unchecked Default. The VoiceXML interpreter only acquires ownership if the handler currently owns the
interaction.
Checked The VoiceXML interpreter always acquires the interaction ownership.
Outputs
Event Name
This string is the VoiceXML event that caused the interpreter to exit, or the reason for a session initiation failure.
It is an empty string if the session terminated through the < exit> element.
Event Message
This string is additional message text associated with the VoiceXML event (‘_message’ property).
Exit Paths
Success
The VoiceXML session completed successfully and the return value and/or result data (XML node) are valid.
Disconnected
749
The interaction disconnected during the session.
Lost Ownership
Some other entity has taken away the ownership of the interaction during the VoiceXML session.
Invalid Interaction
Failure
An error occurred. That usually means an “error” event was thrown but not caught in the VoiceXML document. The name of the
event is returned in ‘Event Name.’ If the initial document fails to load, an error.badfetch event with potentially additional
decorations, such as error.badfetch.http.404, will be returned.
The ‘Event Message’ parameter usually contains additional information about what went wrong.
Inputs
Interaction
The unique interaction identifier (e.g., CallID) to send to the VoiceXML interpreter.
Document
This is an XML DOM node of the VoiceXML document to interpret. The argument may either be the document node or the <vxml>
element.
Note : This parameter is not currently enabled but is defined for future use.
This optional parameter specifies how to process pending prompt plays. There are three options:
0 Default. - Play as "fetchaudio" Let the current prompts play until the VoiceXML session has started. Then
abort the current prompt as soon as the VoiceXML session is ready to play its own prompts.
1 Play to Completion. - Play the current prompt until it finishes, even if the VoiceXML session is started and
ready to play its own prompts.
2 Abort. - The VoiceXML interpreter aborts any pending prompts immediately when it gets the call ownership.
The Interpreter uses any global “fetchaudio” settings during the fetch. If the “fetchaudio” property has no
value (default), nothing is played (silence).
Argument Names
750
An optional string list of argument name-value pairs that are passed to the interpreter as arguments.
Argument Values
An optional string list of argument values (name/value pairs) that correspond to the Argument Names. These arguments are
available in VoiceXML through 'session.name' or just simply 'name.'
This checkbox explicitly tells the VoiceXML interpreter to force the interaction ownership.
Unchecked Default. The VoiceXML interpreter only acquires ownership if the handler currently owns the
interaction.
Checked The VoiceXML interpreter always acquires the interaction ownership.
Outputs
Event Name
This string is the VoiceXML event that caused the interpreter to exit, or the reason for a session initiation failure.
It is an empty string if the session terminated through the < exit> element.
Event Message
This string is additional message text associated with the VoiceXML event (‘_message’ property).
Exit Paths
Success
The VoiceXML session completed successfully and the return value and/or result data (XML node) are valid.
Disconnected
Lost Ownership
Some other entity has taken away the ownership of the interaction during the VoiceXML session.
Invalid Interaction
Failure
An error occurred. That usually means an “error” event was thrown but not caught in the VoiceXML document. The name of the
event is returned in ‘Event Name.’ If the initial document fails to load, an error.badfetch event with potentially additional
decorations, such as error.badfetch.http.404, is returned.
The ‘Event Message’ parameter usually contains additional information about what went wrong.
Inputs
Interaction
The unique interaction identifier (e.g., CallID) to send to the VoiceXML interpreter.
Document URI
Note : This parameter is not currently enabled but it is defined for future use.
This optional parameter specifies how to process pending prompt plays. There are three options:
0 Default - Play as "fetchaudio" Let the current prompts play until the VoiceXML session has started. Then
abort the current prompt as soon as the VoiceXML session is ready to play its own prompts.
1 Play to Completion - Play the current prompt until it finishes, even if the VoiceXML session is started and
ready to play it's own prompts.
2 Abort - The VoiceXML interpreter will abort any pending prompts immediately when it gets the call ownership.
The Interpreter will use any global “fetchaudio” settings during the fetch. If the “fetchaudio” property has no
value (default), nothing is played (silence).
Argument Names
An optional string list of argument name-value pairs that are passed to the interpreter as arguments.
Argument Values
An optional string list of argument values (name/value pairs) that correspond to the Argument Names. These arguments will be
available in VoiceXML through 'session.name' or just simply 'name'.
This checkbox explicitly tells the VoiceXML interpreter to force the interaction ownership.
Unchecked Default. The VoiceXML interpreter only acquires ownership if the handler currently owns the
interaction.
Checked The VoiceXML interpreter always acquires the interaction ownership.
Outputs
Return Value
This string is the result of the ‘expr’ expression of the <exit> element. Empty string if no return value.
Result Data
752
This XMLNode is an element of the result data of the session. (“namelist” argument of the <exit> element). It is a NULL node if
there is no result data.
Event Name
This string is the VoiceXML event that caused the interpreter to exit, or the reason for a session initiation failure.
It is an empty string if the session terminated through the <exit> element.
Event Message
This string is additional message text associated with the VoiceXML event (‘_message’ property).
Exit Paths
Success
The VoiceXML session completed successfully and the return value and/or result data (XML node) are valid.
Disconnected
Transferred
The interaction was transferred to another destination during the session through the <transfer> element.
Lost Ownership
Some other entity has taken away the ownership of the interaction during the VoiceXML session.
Invalid Interaction
Unhandled Event
This exit path is taken if the session terminated because some event other than “error” is thrown during the session and not
handled by the VoiceXML application.
The ‘Event Name’ output parameter contains the name of the event and ‘Event Message’ may contain additional information.
Failure
An error occurred. That usually means an “error” event was thrown but not caught in the VoiceXML document. The name of the
event is returned in ‘Event Name.’ If the initial document fails to load, an error.badfetch event with potentially additional
decorations, such as error.badfetch.http.404, is returned.
The ‘Event Message’ parameter usually contains additional information about what went wrong.
Inputs
Interaction
The unique interaction identifier (e.g., CallID) to send to the VoiceXML interpreter.
Document
This is an XML DOM node of the VoiceXML document to interpret. The argument may either be the document node or the <vxml>
element.
Note : This parameter is not currently enabled but it is defined for future use.
This optional parameter specifies how to process pending prompt plays. There are three options:
0 Default. - Play as "fetchaudio." Let the current prompts play until the VoiceXML session has started. Then
abort the current prompt as soon as the VoiceXML session is ready to play its own prompts.
1 Play to Completion. - Play the current prompt until it finishes, even if the VoiceXML session is started and
ready to play it's own prompts.
2 Abort. - The VoiceXML interpreter aborts any pending prompts immediately when it gets the call ownership.
The Interpreter uses any global “fetchaudio” settings during the fetch. If the “fetchaudio” property has no
value (default), nothing is played (silence).
Argument Names
An optional string list of argument name-value pairs that are passed to the interpreter as arguments.
Argument Values
An optional string list of argument values (name/value pairs) that correspond to the Argument Names. These arguments are
available in VoiceXML through 'session.name' or just simply 'name.'
This checkbox explicitly tells the VoiceXML interpreter to force the interaction ownership.
Unchecked Default. The VoiceXML interpreter only acquires ownership if the handler currently owns the
interaction.
Checked The VoiceXML interpreter always acquires the interaction ownership.
Outputs
Return Value
This string is the result of the ‘expr’ expression of the < exit> element. Empty string if no return value.
Result Data
754
This XMLNode is an element of the result data of the session. (“namelist” argument of the < exit> element). It is a NULL node if
there is no result data.
Event Name
This string is the VoiceXML event that caused the interpreter to exit, or the reason for a session initiation failure.
It is an empty string if the session terminated through the < exit> element.
Event Message
This string is additional message text associated with the VoiceXML event (‘_message’ property).
Exit Paths
Success
The VoiceXML session completed successfully and the return value and/or result data (XML node) are valid.
Disconnected
Transferred
The interaction was transferred to another destination during the session through the < transfer> element.
Lost Ownership
Some other entity has taken away the ownership of the interaction during the VoiceXML session.
Invalid Interaction
Unhandled Event
This exit path is taken if the session terminated because some event other than “error” is thrown during the session and not
handled by the VoiceXML application.
The ‘Event Name’ output parameter contains the name of the event and ‘Event Message’ may contain additional information.
Failure
An error occurred. That usually means an “error” event was thrown but not caught in the VoiceXML document. The name of the
event is returned in ‘Event Name.’ If the initial document is not a valid VoiceXML document, an “error.badfetch” event will be
returned.
The ‘Event Message’ parameter usually contains additional information about what went wrong.
755
VoiceXML Async Cancel
This VoiceXML tool sends a request to the VoiceXML Interpreter to cancel play/input operations.
The request is asynchronous . That means the tool returns as soon as the VoiceXML cancel request has been initiated.
The VoiceXML interpreter “owns” the interaction when the tool returns through the ‘Success’ exit. The handler may not perform
operations against the interaction unless it re-acquires the ownership (in which case the VoiceXML session will abort immediately).
If the tool exits through the ‘Invalid Interaction’ or ‘Error’ exit, the handler remains the owner of the interaction.
Inputs
Interaction
The unique interaction identifier (e.g., CallID) to send to the VoiceXML interpreter.
Outputs
Event Name
This string is the VoiceXML event that caused the interpreter to exit, or the reason for a session initiation failure.
It is an empty string if the session terminated through the < exit> element.
Event Message
This string is additional message text associated with the VoiceXML event (‘_message’ property).
Exit Paths
Success
756
Overview of Web Interaction Tools
Web interaction tools are for building handlers that interact with people over the Internet. These interactions can be through a web
browser or through Internet chat. CIC has the ability to generate custom web pages and pop-up chat utilities for a person browsing
your web site.
Click on one of the following tools for more information about that tool:
Alert Interaction
Chat Goto URL
Chat Send File
Conference Interaction
Consult Transfer
Create Interaction
Disconnect Interaction
Hold Interaction
Mute Interaction
Park Interaction
Pickup Interaction
Receive Text
Receive Text Async
Record
Send Text
Send Voicemail
Snip Recording
Snooze Interaction
Transfer Interaction
757
Alert Interaction
This Web Interaction tool notifies a station queue of a web interaction (chat, collaboration, etc.) that needs to be picked up. This
tool alerts any station the interaction's recipient is logged into. If the interaction's recipient is a workgroup, user, or line queue, any
recipient monitoring that queue from a CIC client is alerted.
Alert Interaction times out if the interaction is not answered within a specific time period.
Alert Interaction changes the state of an interaction to Alerting. Only interactions in a state of Offering, On Hold, or Voice Mail can
be acted upon by the Alert Interaction tool.
This tool also cancels any pending operations when transferring an ACD call to a user's queue.
Inputs
Interaction Identifier
Timeout
The number of seconds this tool will wait before exiting via the Timeout exit path.
Is ACD Interaction
ACD User
The user ID of the agent to receive this interaction if this is an ACD interaction.
Auto Answer
Set this value to True to have the interaction placed on the queue in a state of "Connected" if the station is off-hook. This is useful
for agents who are not running a CIC client.
Outputs
Keys
The escape digit(s) pressed by the sender if the sender tries to cancel while the call is alerting.
Exit Paths
Success
Failure
Timeout
This path is taken if the designated timeout period expires before the interaction is picked up.
758
Chat Goto URL
This Web Interaction Tool sends a URL to participants of a web chat.
Inputs
Interaction Identifier
URL
Exit Paths
Success
This path is taken if the URL is sent to all participants of the chat.
Failure
759
Chat Send File
This Web Interaction tool sends text to a file.
Inputs
Interaction Identifier
Text
Exit Paths
Success
Failure
Conference Interaction
This Web Interaction tool creates a conference of two interactions, or adds an interaction to an existing conference.
Inputs
The unique ID of the interaction that will receive the new interaction.
Exit Paths
Success
Failure
Inputs
Exit Paths
Success
Failure
761
Create Interaction
This Web Interaction tool creates a chat or callback interaction from the system to an internal user.
Inputs
Interaction Type
The type of interaction being created. Valid options are "chat" or "callback."
The fully qualified name of the queue that the interaction will be placed on. For example, "User Queue:markm" or "Workgroup
Queue:Marketing."
A list of strings containing the names of attributes to be set for this interaction.
A list of strings containing the values of the attributes to be set for this interaction. This list is parallel to the list of names. For
example, if the "List of Attribute Names to Set" parameter contains three attribute names, then this parameter should contain three
values; the first value will be assigned to the first name, the second value to the second name, and the third value to the third name.
Outputs
Interaction Id
Exit Paths
Success
Failure
762
Disconnect Interaction
This Web Interaction tool is used to disconnect any Web interaction.
Inputs
Interaction Identifier
Exit Paths
Success
Failure
Hold Interaction
This Web Interaction tool places a web interaction on hold. Interactions that are placed on hold must be in a connected state.
Inputs
Interaction Identifier
Exit Paths
Success
Failure
763
Mute Interaction
This Web Interaction tool turns off any sound input from the user's end of a web interaction. This allows the user to screen
unwanted sounds or conversations from without having to put the interaction on hold. This same tool is also used to reactivate
sound input for muted interactions.
Inputs
Interaction Identifier
Set to True to turn muting on. Set to False to turn muting off.
Exit Paths
Success
Failure
Park interaction
This Web Interaction tool parks a web interaction (chats, callbacks, or collaborations) on a user queue you specify. The Park
Interaction tool allows a to handler re-park an interaction after the original park operation has timed out. This tool allows handlers
to differentiate between parked interactions timing out and held interactions timing out. For example, when a parked chat timeout
occurs, the Held Call Timer initiator is triggered (just as it is for held calls). If the call was parked, the ParkedFlag output parameter
in the Initiator is set to true. The handler could then give the caller the option to re-park.
Inputs
Interaction Identifier
Exit Paths
Success
This path is taken if the call is successfully parked on the designated queue.
Failure
764
Pickup Interaction
This Web Interaction tool picks up a web interaction (e.g., chat, callback, or collaboration) that is on hold. Interactions that are not
in a state of On Hold cannot be picked up. This step does not pick up an interaction that has already been picked up by a user.
Inputs
Interaction Identifier
Exit Paths
Success
Failure
Receive Text
This Web Interaction tool receives text from a remote web interaction participant.
Inputs
Interaction Identifier
Timeout
The number of seconds the tool will wait to receive the text before taking the Timeout exit path.
Outputs
Text
Exit Paths
Success
Failure
Timeout
This path is taken if the specified Timeout period expires before any text is received.
765
Receive Text Async
This Web Interaction tool receives text from a remote web interaction participant.
Inputs
Interaction Identifier
Timeout
The number of seconds the tool waits to receive the text before calling the Complete Async Receive Text initiator.
Context Value
The tool sends this value to the Complete Async Receive Text from an Interaction initiator to identify the source of the Receive Text
request. For example, the value can be the name of a handler.
Escape Only
Set this optional value to TRUE to return only the escape text. This value is ignored when the Escape Text field is not specified, and
therefore any string is treated as an escape string. The default value for the Escape Only input is FALSE.
Escape Text
Optional. When this text is matched, the Receive Text operation stops. You can use this input to specify an escape string to leave a
message and return the escaped return code.
Exit Paths
Success
Failure
766
Record
This Web Interaction tool starts and stops recording of a web interaction, just as if a CIC client user had pressed the Record button.
If this tool stops recording, the recording object is disconnected and the standard OnDisconnect handlers fire to process the
recording and send it to the appropriate party.
Inputs
Interaction Identifier
Recording Party
Supervisory Flag
Record Action
Exit Paths
Success
Failure
767
Send Text
This Web Interaction tool sends text to a remote web interaction participant.
Inputs
Interaction Identifier
Text
Exit Paths
Success
Failure
Send To Voicemail
This Web Interaction tool sends a chat or other web interaction into chat mail.
Input
Interaction Identifier
Exit Paths
Success
Failure
768
Snip Recording
This Web Interaction tool starts and stops an Interaction Recorder snippet recording on an interaction.
Inputs
Interaction Identifier
User Id
User Name
User Extension
Station Id
Supervisory Flag
Set to True or False to indicate whether the requestor has supervisory status
Record Action
Exit Paths
Success
Failure
769
Snooze Interaction
This Web Interaction tool places a web interaction in a "Snoozed" state. For example, if attempts to reach the callback requestor
are not successful, an agent can decide to retry the callback request later and place the callback request into a “Snoozed” state.
When an agent places a web interaction in a “Snooze” state, the Interaction Retry Later Attempt initiator starts the
System_RetryInteractionLater handler to call the Snooze Interaction toolstep to place the interaction in the “Snooze” state. When
the “Snooze” period ends, the Interaction Snooze Timed Out initiator starts the System_RetryInteractionTimeout handler to place
the interaction in a queue to start ACD processing.
Inputs
Interaction Identifier
Time
The datetime variable to indicate how long the interaction remains in a "Snoozed" state.
Exit Paths
Success
This path is taken if the tool successfully places the interaction in a "Snoozed" state.
Failure
770
Transfer Interaction
This Web Interaction tool transfers a web interaction from one queue to another. Valid queue types include the User and Workgroup
queues.
Inputs
Interaction Identifier
Outputs
Outbound Identifier
Exit Paths
Success
This path is taken if the web interaction is successfully transferred to the designated queue.
Failure
WebSphere MQ
771
Overview of WebSphere MQ Tools
IBM's WebSphere MQ (formerly called MQSeries) message queue software enables business applications to exchange information
across different operating system platforms. The PureConnect's MQ tools allow handlers to interact with a WebSphere MQ Client. If
you are not already using WebSphere MQ applications at your company, then you will never need to use these tools.
The documentation for the CIC MQ tools offers brief explanations, but refers you to your WebSphere MQ documentation for details.
This is because the CIC MQ tools are essentially a handler interface to the WebSphere MQ API.
These tools require that either the WebSphere MQ Client (recommended) or the WebSphere MQ server (i.e, QueueManager) be
installed and running on the CIC server. If the MQ Client is installed on the CIC server, you must install the MQ server
(QueueManager) on a separate server. If the MQ server is installed on the CIC server, the MQ Client can be installed on a separate
server. You can also install both the MQ Client and server on the CIC server, but we do not recommend that, unless the CIC server
is a very powerful server. The MQ server can run as a service, and you should see your WebSphere MQ documentation for more
information on installing and running WebSphere MQ Client as a service.
IBM maintains online versions of all WebSphere MQ documentation on their product web site. Refer to the WebSphere MQ Client
and Administrators Guide for more information on WebSphere MQ and WebSphere MQ server installation.
Click on one of the following CIC MQ tools for more information on that tool:
MQ Begin
MQ Close
MQ Commit
MQ Connect
MQ Disconnect
MQ Extended Get
MQ Extended Put
MQ Flush
MQ Get
MQ Open
MQ Put
MQ Rollback
772
MQ Begin
This WebSphere MQ tool executes the MQBegin call to begin a unit of work that is coordinated by the queue manager, and that may
involve external resource managers. See the MQBegin call documentation in your WebSphere MQ Application Programming Guide
for more information.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQBegin call.
Outputs
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQBegin call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
773
MQ Close
This WebSphere MQ tool executes the MQClose call to relinquish access to an object, and is the opposite of the MQ Open tool. See
the MQClose call documentation in your WebSphere MQ Application Programming Guide for more information.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQClose call.
Hobj
The handle to the object that is being closed. The object can be of any type. This value corresponds to Hobj in the MQClose call.
The MQ Open tool generates Hobj values. On successful completion, the queue manager sets this parameter to a value that is not a
valid handle for the environment.
Options
Options that control how the object is closed. You may specify only one option. Valid options are listed in the MQSeries
Application Programming Reference guide. This value corresponds to the Options parameter in the MQClose call.
Outputs
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQClose call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
774
MQ Commit
This WebSphere MQ tool executes the MQCMIT call to tell the queue manager that the application has reached a syncpoint, and
that all of the message gets and puts that have occurred since the last syncpoint are to be made permanent. Messages put as part
of a unit of work are made available to other applications; messages retrieved as part of a unit of work are deleted. See the
MQCMIT call documentation in your WebSphere MQ Application Programming Guide for more information.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQCMIT call.
Outputs
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQCMIT call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
MQ Connect
This WebSphere MQ tool executes the MQCONN call to connect an application program to a queue manager. MQ Connect provides
a queue manager connection handle (Hconn), which is used by other MQSeries tools. See the MQCONN call documentation in your
WebSphere MQ Application Programming Guide for more information.
Inputs
QMgrName
Name of queue manager. The name specified must be the name of a connectable queue manager. See the QMgrName parameter
documentation in the MQSeries Application Programming Reference guide for syntax guidelines.
ConnectOptions (MQCNO)
An integer input parameter used with the MQCNO structure. This parameter is specific to the Options field during an MQCONNX
connect operation, and defaults to 64.
If MQCNO_NONE is specified as input, the tool uses the MQCONN call to connect an application to a queue manager. Otherwise, it
uses the MQCONNX call.
The following table lists the connect option fields in MQCNO:
775
Field Description Topic
StrucId Structure identifier StrucId
Version Structure version number Version
Outputs
Hconn
The connection handle that can be used by other MQSeries tools. This value corresponds to the Hconn parameter in the MQCONN
call.
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQCONN call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter. This step will also fail if the Queue Manager isn't running or is configured incorrectly, or if the name specified in
the QMgrName is incorrect.
776
MQ Disconnect
This WebSphere MQ tool executes the MQDISC call to break the connection between the queue manager and the application
program. See the MQDISC call documentation in your WebSphere MQ Application Programming Guide for more information.
Inputs
Hconn
The connection handle to the Queue Manager to disconnect. The MQConnect tool generates this connection handle. This value
corresponds to the Hconn input parameter in the MQDISC call.
Outputs
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQDISC call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
MQ Extended Get
This WebSphere MQ tool executes the MQGET call to retrieve a message from a local queue that has been opened using the
MQOPEN call. See the MQGET call documentation in your WebSphere MQ Application Programming Guide for more information.
The function of MQ Extended Get is identical to MQ Get, except that MQ Extended Get returns all MQGET call output parameters
while MQ Get returns only the most commonly used output parameters.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQGET call.
Hobj
The object handle identifying the queue from which a message is retrieved. The Hobj is generated by the MQ Open tool. This value
corresponds to the Hobj parameter in the MQGET call.
Options (MQGMO)
777
Options that control the action of MQGET. See MQGMO - Get-Message options in the MQSeries Application Programming
Reference guide for a list of valid options. This value corresponds to the GetMesgOpts parameter in the MQGET call.
WaitInterval (MQGMO)
The approximate time, expressed in milliseconds, that the MQGET call waits for a suitable message to arrive..
Search MsgId
See the Message-Identifier options in the MQMD - Message Descriptor documentation for more information on setting this value.
Search CorelId
See the Correlation-Identifier options in the MQMD - Message Descriptor documentation for more information on setting this value.
The maximum message length in bytes. See MaxMsgLength in the Attributes for Local Queues and Model Queues for more
information on setting this value.
Buffer handle
If your message to get is a binary buffer constructed via the Buffer Tools, pass in the buffer handle here. Any non-zero number in the
Buffer Handle implies a binary buffer. Set the Buffer Handle to 0 for a text buffer.
Outputs
Note: The values of the following output parameters are defined in the MQMD - Message Descriptor portion of the WebSphere
MQ Application Programming Guide.
Message
If your message to get is all textual, pass in an empty string here; it will be filled-in with the message contents on return. Note: The
Buffer Tools also support textual buffers, but it is generally easier to use a string for this.
See the cross-reference note above.
Report
MsgType
Expiry
Feedback
Format
778
Encoding
CodedCharSetId
Priority
Persistence
MsgId
CorelId
BackoutCount
ReplyToQ
ReplyToQMgr
UserIdentifier
AccountingToken
ApplIdentityData
PutApplType
PutApplName
779
PutDate
PutTime
ApplOriginData
ResolvedQName (MQGMO)
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQGET call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
MQ Extended Put
This WebSphere MQ tool executes the MQPUT call to put a message on a queue or distribution list. The queue or distribution list
must already be open. See the MQPUT call documentation in your WebSphere MQ Application Programming Guide for more
information.
The function of MQ Extended Put is identical to MQ Put, except that MQ Extended Put sends all MQPUT call input parameters while
MQ Put sends only the most commonly used input parameters.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQPUT call.
Hobj
The object handle identifying the queue from which a message is retrieved. The Hobj is generated by the MQ Open tool. This value
corresponds to the Hobj parameter in the MQPUT call.
Note: The values of the following input parameters are defined in the MQPUT and MQMD sections of the WebSphere MQ
Application Programming Guide.
780
Buffer Handle
If your message to put is a binary buffer constructed via the Buffer Tools, pass in the buffer handle here. Any non-zero number in the
Buffer Handle implies a binary buffer. Set the Buffer Handle to 0 for a text buffer.
Message
If your message to put is all textual, pass in a string containing the buffer contents here. Note: The Buffer Tools also support
constructing a textual buffer, but it is generally easier to use a string for this. See the cross-reference Note above.
Options (MQPMO)
Content (MQPMO)
Report
MsgType
Expiry
Feedback
Format
Encoding
CodedCharSetId
Priority
Persistence
MsgId
781
See note above.
CorelId
ReplyToQ
ReplyToQMgr
UserIdentifier
AccountingToken
ApplIdentityData
PutApplType
PutApplName
PutDate
PutTime
ApplOriginData
Outputs
MsgId
CorelId
ResolvedQMgrName (MQPMO)
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQPUT call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
MQ Flush
This tool flushes the MQ message queue.
Outputs Tab
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. The WebSphere MQ Application Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
Failure
This path is taken if the message queue was not successfully flushed.
MQ Get
This WebSphere MQ tool executes the MQGET call to retrieve a message from a local queue that has been opened using the
MQOPEN call. See the MQGET call documentation in your WebSphere MQ Application Programming Guide for more information.
The function of MQ Extended Get is identical to MQ Get, except that MQ Extended Get returns all MQGET call output parameters
while MQ Get returns only the most commonly used output parameters.
783
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQGET call.
Hobj
The object handle identifying the queue from which a message is retrieved. The Hobj is generated by the MQ Open tool. This value
corresponds to the Hobj parameter in the MQGET call.
Options (MQGMO)
Options that control the action of MQGET. See MQGMO - Get-Message options in the MQSeries Application Programming
Reference guide for a list of valid options. This value corresponds to the GetMesgOpts parameter in the MQGET call.
WaitInterval (MQGMO)
The approximate time, expressed in milliseconds, that the MQGET call waits for a suitable message to arrive..
Search CorelId
See the Correlation-Identifier options in the MQMD - Message Descriptor documentation for more information on setting this value.
Outputs
Note: The values of the following output parameters are defined in the MQMD - Message Descriptor portion of the MQSeries
Application Programming Reference guide (http://www.software.ibm.com/ts/mqseries/library/manuals/).
Message
MsgType
Feedback
MsgId
CorelId
ReplyToQ
ReplyToQMgr
784
See note above.
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQGET call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
MQ Open
This WebSphere MQ tool executes the MQOPEN call to establish access to a queue or queue manager. See the MQOPEN call
documentation in your WebSphere MQ Application Programming Guide for more information.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQOPEN call.
ObjectType (MQOD)
The structure that identifies the object to be opened. See MQOD - Object Descriptor documentation in the WebSphere MQ
Application Programming Guide for more information.
ObjectName (MQOD)
See MQOD - Object Descriptor documentation in the WebSphere MQ Application Programming Guide for more information.
ObjectQMgrName (MQOD)
See MQOD - Object Descriptor documentation in the WebSphere MQ Application Programming Guide for more information.
DynamicQName (MQOD)
See MQOD - Object Descriptor documentation in the WebSphere MQ Application Programming Guide for more information.
Options
See MQOPEN documentation in the WebSphere MQ Application Programming Guide for more information.
Outputs
Hobj
785
See MQOPEN documentation in the WebSphere MQ Application Programming Guide for more information.
See MQOD - Object Descriptor documentation in the WebSphere MQ Application Programming Guide for more information.
ObjectName (MQOD)
See MQOD - Object Descriptor documentation in the WebSphere MQ Application Programming Guide for more information.
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQOPEN call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
MQ Put
This WebSphere MQ tool executes the MQPUT call to put a message on a queue or distribution list. The queue or distribution list
must already be open. See the MQPUT call documentation in your WebSphere MQ Application Programming Guide for more
information.
The function of MQ Extended Put is identical to MQ Put, except that MQ Extended Put sends all MQPUT call input parameters while
MQ Put sends only the most commonly used input parameters.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQPUT call.
Hobj
The object handle identifying the queue from which a message is retrieved. The Hobj is generated by the MQ Open tool. This value
corresponds to the Hobj parameter in the MQPUT call.
Note: The values of the following input parameters are defined in the MQPUT and MQMD sections of the WebSphere MQ
Application Programming Guide.
Message
Options (MQPMO)
Report
786
See note above.
MsgType
Expiry
Feedback
Priority
CorelId
ReplyToQ
ReplyToQMgr
Outputs
MsgId
CorelId
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQPUT call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
787
MQ Rollback
This WebSphere MQ tool executes the MQBACK call to tell queue manager that all of the message gets and puts that have occurred
since the last syncpoint are to be backed out. Messages put as part of a unit of work are deleted; messages retrieved as part of a
unit of work are reinstated on the queue. See the MQPUT call documentation in your WebSphere MQ Application Programming
Guide for more information.
Inputs
Hconn
The connection handle to the Queue Manager. The MQConnect tool generates this connection handle. This value corresponds to
the Hconn input parameter in the MQPUT call.
Outputs
Reason Code
For each call, a completion code and a reason code are returned by the queue manager or by an exit routine, to indicate the success
or failure of the call. This value corresponds to the Reason code parameter in the MQBACK call. The WebSphere MQ Application
Programming Guide contains a list of reason codes and their meanings.
Exit Paths
Success
This step takes the Success exit path if the completion code indicates success.
Failure
This step takes the Failure exit path if the completion code indicates failure. The reason for tool failure is contained in the Reason
Code parameter.
XML
788
XML Add Schema
This XML tool adds a schema to the schema cache of the document. The schema cache can be used to associate a schema with a
namespace. For example, you can load a document with ‘Resolve Externals’ and ‘Validate On Parse’ set to False. By adding pre-
loaded schemas to the schema cache for schemas that require external resolving, you can avoid the potentially expensive step of
resolving external references (for example, if the schema is located on a remote machine). After adding the schemas, you can
invoke the XML Validate Document tool to validate the document against the schemas.
Noted: Schemas in the schema cache will have precedence over schemas already in the document. This therefore allows
validating a document against a different schema than it was originally loaded with.
Adding a schema will automatically disable DTD processing, as you cannot use both in the same document.
The namespaces of Schemas added with this tool will only be included in the list returned by the XML Get Namespaces tool, if
they are actually used (referenced) in the document.
Inputs
Document
Namespace URI
Schema
Node of the Schema document to add. If not specified, schema of the given name is removed.
Exit Paths
Success
This path is taken if the schema is successfully added to the schema cache.
Failure
789
XML Assign Node
This XML tool assigns the XML Node represented by ‘Source Variable’ to ‘Destination Variable.’
Inputs
Source Variable
Outputs
Destination Variable
The new node variable that represents to the same physical XML node as ‘Source Variable.’
Exit Paths
Next
Inputs
Source Variable
Outputs
Destination Variable
The new node variable that represents to the same physical XML node as Source Variable.
Exit Path
Next
790
XML Clone Node
This XML tool clones the node and, depending on the Recursive flag, all its descendants. If the node is not a Document, the
resulting node will have the same owner document as the source node, but the new node will not have a parent. You can use the
XML Insert Node tool to attach the new node or branch to a different document.
If the node is a Document, the whole document is duplicated and returned as a result. If the source node is a member of a read-only
document, the node can only be cloned if Create New Document is True. In this case, the cloned document is not read-only.
Note: If the Source node is a document, the SelectionLanguage and SelectionNamespaces document properties are
copied to the destination document as well.
Inputs
Source
Node to clone.
Clone Recursively
Set this to True to clone the node and all its descendants. Set to False to clone only the current node, along with its attributes, if
applicable.
Note: does not apply to Document nodes. Documents are always cloned as a whole.
Set this to True to clone the Source node as a document element of a new document. Set to False to create the new node with no
parent, but with the same owner document as the source node. The new document will not be read-only, even if the source
document is.
Note: Source node must be an Element when this parameter is set to True.
Outputs
Clone
Exit Paths
Success
Failure
791
Note: Even if data is imported from a file, the data is always stored locally in the handler. Thus, no reference is maintained to
the file.
XML Data
This field displays the XML data being used to create the document.
Settings
Preserve Whitespace
Checking this box preserves white spaces when loading the document. This flag specifies the default white space handling when
the xml:space attribute is set to "default." When the parameter is true, all whitespace is preserved, regardless of the xml:space
settings in the document. When false, the values of the xml:space attribute specified in the document determine whether white
space is preserved or not.
By default, this box is not checked.
Validate On Parse
Checking this box forces the validation of the document during parsing. By default, this box is not checked.
Resolve Externals
Checking this box causes the parser to resolve resolvable externals such as namespaces, DTD external subsets, and external entity
references. By default, this box is not checked.
Cache Document
When this box is checked, the document is cached, allowing for very efficient re-use. This option is most useful for frequently used
documents that do not have to be changed programmatically, most notably XSLT style-sheets. Enabling caching of style-sheets is
particularly efficient, as pre-compiled templates of the style-sheets are kept in the cache.
Cached documents may be evicted from the cache if they are not used for more than about 10 minutes. However, this is completely
transparent, as a new instance will be created and cached the next time a the document is created.
If the box is not checked, a new instance of the document will be parsed from the string resource in the handler every time a handler
invokes the tool.
This box is checked by default.
Read Only
When this box is checked, the XML Document tree cannot be modified. An error occurs when attempts are made to modify a read-
only XML document. This box is checked by default.
XML Document
The node of the document. The value is NULL if an error other than parse error occurred.
The root element of the document. The value is NULL if the document has no root element or if a (parse) error occurred.
Selection Namespaces
This list associates a prefix with the corresponding namespace URI for XPath selection operations. See description for
SelectionNamespaces property in XML Set Document Property tool for more details. The four buttons on the bottom of the field
allow you to manage this list.
792
Add
Clicking this buttons opens a dialog box that allows you to add a new item to the list. Once the dialog box is open:
1. Select a namespace URI from the dropdown list or enter a namespace URI. The dropdown list shows a list of all namespaces
used by the data currently in the edit box. However, you are not required to use these namespace URIs, this is just for
convenience.
2. Enter the prefix to be associated with the namespace URI. The dropdown list shows the prefix of the first namespace
declaration using the given namespace URI. Again, this is just for your convenience, as one usually likes to use the same
prefixes in the selection patterns as the appear in the document. However, you may specify any prefix you like.
Note: Prefix names must be unique, but you may declare an arbitrary number of prefix mappings for the same namespace URI.
Edit
Remove
Clear
Exit Paths
Success
Parse Error
This path is taken if an error occurs parsing the data. Use the XML Get Error Info tool with the Document node as the argument to
retrieve rich information about the error.
Failure
This path is taken if the operation fails for any reason other than a parsing error.
Inputs
String Data
The data string to parse. The data string must contain valid XML to prevent parsing errors.
Preserve Whitespace
Specifies whether whitespaces in the document are preserved. This flag specifies the default white space handling when the
793
xml:space attribute is set to "default." When the parameter is true, all white space is preserved, regardless of the xml:space settings
in the document. When false, the values of the xml:space attribute specified in the document determine whether white space is
preserved or not.
Validate On Parse
Setting this argument to True forces the validation of the document during parsing.
Resolve Externals
If this parameter is True, resolvable externals such as namespaces, DTD external subsets, and external entity references are
resolved when the document is parsed.
A string containing a whitespace-separated list of namespace prefix declarations to be used for XPath selection tools.
This is the same data as can be set using the SelectionNamespaces document property (see XML Set Document Property).
Thus, this argument acts like invoking the XML Set Document Property toll right after this tool. However, you have to specify the
selection namespaces here, in particular for read-only documents, as calling XML Set Document Property on read-only documents
is not permitted.
Read Only
When this box is checked, the XML Document tree cannot be modified. An error occurs when attempts are made to modify a read-
only XML document. The box is unchecked by default.
Outputs
Document
The node of the document. The value is NULL if error other than parse error.
Document Element
The root element of the document. The value is NULL if document has no root element or an error occurs.
Exit Paths
Success
Parse Error
This path is taken if an error occurs while parsing the data. Use the XML Get Error Info tool with the "Document" node as the
argument to retrieve information about the error.
Failure
This path is taken if the operation fails for any reason other than a parsing error.
794
Element
Parent node must be an Element or Document node. If it is an Element node, the new node is appended to the child list of the
element. If it is a Document, the new node replaces the document element (root element).
Attribute
Parent node must be an Element. Node is added to the attributes of the element. If an attribute of the same name already exists, it
is replaced.
Text, CDATA
Parent node must be an Element. Node is appended to the child list of the element.
Comment, Processing Instruction
Parent node must be an Element or Document. Node is added to the child list of the parent.
If a new node is created without a parent, the node will be a member of an empty dummy document just created for the node. Thus,
the ‘Owner Document’ output of the XML Get Node Info tool always returns a document. Once the node is inserted into the
document tree of a different document, the dummy document is destroyed.
Note: If creating the node fails, the output node is a document node (irrespective of the ‘Node Type’) that can be queried with
XML Get Error Info for detailed error information. This document node is either the owner document of ‘Parent Node’, or, if no
parent node is given, an empty dummy document. If something is seriously wrong and creating the document node failed,
‘Node’ will be NULL.
Inputs
Parent Node
Optional. Node to which to add this node as child. Semantics depend on the node type. If no parent node is given, the node may be
added using the XML Insert Node tool. See description above.
Node Type
Integer value corresponding to the type of node to create. For list of values see XML Get Node Info tool. Nodes of type Document,
Document Type, Entity, or Notation cannot be created.
Name
Fully qualified name of the node. Should be empty for nodes that have no name (CDATA, Comment, Text, Document, Document,
Document Fragment).
Namespace URI
Namespace unique resource indicator (URI). If specified, the node is created in the context of this namespace with the prefix
specified on the node name. If the Name parameter does not have a prefix, a default namespace declaration will be inserted as
appropriate. This applies only to Element and Attribute nodes.
Node Value
Value of Attribute, Text, CDATA, Comment, and Processing Instruction (PI) nodes. If this argument is non-empty and the node is an
Element, a text node is added as child of the Element containing that text. If a data type is defined, the node value must be
parseable as that value.
May be left empty and then populated with the XML Set Node Value tool.
Data Type
String representation of the data type specifier included in the schema. Empty string: type undefined.
Ignored for node types that don’t support it.
This is the type defined as the nodes dt:dt attribute (dt is "urn:schemas-microsoft-com:datatypes" namespace)
795
Outputs
Node
Exit Paths
Success
Failure
Inputs
Source String
String to process.
Checkbox, default = True. Escape characters that are not characters from the basic ASCII character set (0x20…0x7E). The control
characters supported by XML (\t, \n, \r) are not escaped.
Escaped characters are replaced by a hexadecimal character reference (&#x <code>;).
796
Escape non-ANSI Characters
Checkbox, default = False. Escape characters that are not characters from the ANSI character set (0x20…0xFF). The control
characters supported by XML (\t, \n, \r) are not escaped.
Escaped characters are replaced by a hexadecimal character reference (&#x <code>;).
Normalize LF to CR/LF
Checkbox, default = False. Replace newlines (\n) with carriage-return/newline pairs (\r\n). Already present CR/LF pairs will not be
expanded (i.e. CR/LF will not be expanded to CR/CR/LF)
Normalize CR/LF to LF
Checkbox, default = False. Replace carriage-return/newline pairs (\r\n) with a linefeed (\n).
Output
Result String
Exit Path
Next
797
XML Get Attribute
This XML tool retrieves an attribute node and its value from an element node by attribute name.
The name of the attribute to retrieve can be given as qualified name (xxx:yyy) or as Base Name (yyy) Namespace URI pair. They
are mutually exclusive, and the failure path is taken if both a Name and a Base Name/URI pair are given.
Note that Name = "yyy" is the same as Base Name = "yyy" and ‘Namespace URI’ = "".
Inputs
Node
Name
Qualified Name of the attribute to retrieve. This field should be left empty if ‘Base Name’ and ‘Namespace URI’ are to be used, as
both of those fields will be ignored if ‘Name’ is given a value.
Base Name
Base name of the attribute to retrieve. This field will be ignored if ‘Name’ has a value specified.
Namespace URI
Namespace of the attribute to retrieve. This field will be ignored if ‘Name’ as a value specified.
Outputs
Attribute Node
Attribute node of the attribute of the element. NULL if no attribute of the given name.
Attribute Value
Exit Paths
Success
Unknown
This path is taken if the element has no attribute of the given name.
Failure
This path is taken if the node is not an element or some other unexpected error occurs.
798
XML Get Attributes
This XML tool returns an iterator pointing to the first attribute of the list of attributes of an element. Use XML Get Next Node to
retrieve the node at the current position and advance the iterator.
Note: The collection retrieved by this tool is "live." See description in XML Get Child Nodes.
Inputs
Node
Node of an Element whose attributes are to be retrieved. This node must be Element.
Outputs
Attribute Nodes
Exit Paths
Success
Empty
Failure
799
XML Get Child Nodes
This XML tool returns an iterator pointing to the first item of the list of child nodes of ‘Node’. The tool XML Next Node can be used
to retrieve the node at the iterator position and advance to the next node. The following node types may have children: Element,
Attribute, Document, Entity, Entity Reference, Document Fragment, Document Type.
Notes : Attributes are not children of an element. You have to use the XML Get Attributes tool to retrieve a list of attributes of
an Element.
The collection to which the node iterator points is "live." Thus, adding or removing child nodes to or from ‘Node’ while iterating
over the child nodes will be reflected immediately in the collection. The iteration is always stable (thus, if you insert a child
after the current iteration position, the iteration will hit that child when stepping to the corresponding position. Children inserted
before the current position will not be visited. If you restart the iteration at the beginning, for example by retrieving an iterator to
the first position with ‘XML Get First Iterator Position’, all children will be visited, even the subsequently inserted ones.
The same is true to removal of children, even the child to which the iterator points might be removed. The iterator will visit the
corresponding next child in the sequence.
Inputs
Node
Outputs
Child Nodes
Iterator to iterate over the list of child nodes. Points to first item in the list.
Exit Paths
Success
Empty
Failure
800
XML Get Document Property
This XML tool queries the value of a document property. See XML Set Document Property for a list of the supported properties.
Inputs
Document
Property Name
The string containing the name of the property to retrieve. Property names are case sensitive.
Outputs
Property Value
Exit Paths
Success
Failure
Inputs
Node
The node of the document that had a parse error, or a node passed to a tool when the failure path is taken.
Outputs
Error Code
File Position
801
Absolute character position in the file (or string) where the error occurred. –1 if no parse error.
Line
Line Position
Reason Text
Source Data
Data of the line containing the error or module that caused the error ( ‘GetSource’ field of IErrorInfo).
URL
URL of the document (empty for document created from strings or if not a parse error).
Two lines of text separated by a newline (\n). The first line contains an excerpt of the source line and the second a marker where
the error is. Thus the string will contain something like:
<foo attr="abc">Test</bar>\n
----------------------^
This will be empty if there is not a parse error.
Exit Paths
Success
No Error
Failure
802
XML Get First Iterator Position
Given a node list iterator pointing to any location in a node list, this XML tool returns an iterator that points to the first location in
that node list.
Note: This tool does not modify the iterator given as an argument. Instead, it returns a new iterator pointing to the first item of
the same collection as the argument. If you specify the same variable as an output argument that you also specified as input,
the iterator will effectively reset back to the first position.
Inputs
Outputs
Node Iterator
Count
Exit Paths
Success
End
This path is taken if the node output retrieves a value of NULL, indicating that iteration is complete.
Failure
803
XML Get Namespaces
This XML tool returns a list of strings containing all namespace URIs used in the document that owns the given node. Thus, all
namespace URIs used in the document are always returned, even if the node is some descendant of the document node.
Inputs
Document
Outputs
List containing strings of the namespace declaration URIs used in the document.
Exit Paths
Success
Empty
Failure
804
XML Get Next Node
This XML tool returns the node at the current iterator position and returns an iterator pointing to the next position in the list. As the
iterator is just a variable, you can make copies at any time to save a certain position. By using the same variable as input and
output iterator, you can easily iterate over the list by connecting the Success path back to this tool (after processing the node, of
course).
The tool takes the ‘End’ exit when the iterator points to an empty list or the iteration is complete (list traversed to end).
Inputs
Node Iterator
Outputs
Node
Exit Paths
Success
End
Iteration complete.
Note: This path is taken if this tool is invoked again after the last item has been retrieved. The ‘Node’ output variable is set to a
NULL node.
Failure
Inputs
Node
Outputs
Name
805
Qualified name for the Element, Attribute, or Entity Reference. For example, it returns xxx:yyy for the Element <xxx:yyy>.
Base Name
Right side of a namespace qualified name. For example, it returns yyy for the element <xxx:yyy>.
Prefix
Namespace prefix specified on the Element, Attribute, or Entity Reference. For example, for the element <xxx:yyy>, it returns xxx.
It returns an empty string, "", if no prefix is specified
Namespace URI
Universal resource identifier (URI) for the namespace. This refers to the uuu portion of the namespace declaration
xmlns:nnn="uuu".
Node Type
Integer value corresponding to the type code of the node. Valid type codes are:
1 Element
2 Attribute
3 Text
4 CDATA Section
5 Entity Reference
6 Entity
7 Processing Instruction (PI)
8 Comment
9 Document
10 Document Type
11 Document Fragment
12 Notation
Node Value
Value of Attribute , Text , CDATA , Commen t, and Processing Instruction (PI) nodes. Empty string for all other nodes.
Note: For Element nodes, this is not the same value as returned by ‘XML Get Node Value’! Elements themselves have no value,
and thus an empty string is returned.
Data Type
String representation of the data type specifier included in the Schema for this node (Element or Attribute). The string is empty if no
type is specified.
Parent Node
Parent node of the node. NULL if node has no parent (Document and Attribute nodes, for example)
Owner Document
806
Definition
Definition of this node in the DTD or XML Schema. NULL if no associated schema definition.
Exit Paths
Success
Failure
Inputs
Node
Outputs
Node Value
Exit Paths
Success
Failure
807
XML Get Schema
This XML tool retrieves the Schema of the given URI. It returns the node of the <Schema> tag, when the schema is an inline
schema, or the schema is an external schema and the document was loaded with ‘Resolve Externals’ turned on.
This tool first checks the schema cache of the document for schemas of that namespace. If none are found, the namespace
collection is checked. The namespace collection contains the namespaces used in the document and any schemas that are
associated with it. The schema cache contains schemas added manually through the XML Add Schema tool.
Note: The returned Schema node is always read-only.
Inputs
Document
Namespace URI
Outputs
Schema
Node of the Schema associated with the given URI. NULL of no Schema or unknown URI.
Exit Paths
Success
Unknown URI
This path is taken if the given URI is neither used in the document nor in the schema cache.
No Schema
The namespace URI is known, but there is no schema loaded for it.
Failure
808
XML Get Sibling
This XML tool returns the next or previous sibling of Node in document order. If there is no such sibling, a NULL node is returned
and the No Sibling exit is taken.
Inputs
Node
Previous Sibling
If this box is checked, the previous sibling node in document order will be returned. Left unchecked, the next node in document
order will be returned. The returned value will be NULL if the appropriate sibling does not exist. The box is unchecked by default.
Outputs
Sibling Node
Next or previous sibling of the node. NULL node if node has no previous/following sibling.
Exit Paths
Success
This path is taken when the sibling node has been retrieved successfully.
No Sibling
This path is taken if node has no following or previous sibling. A NULL node is returned.
Failure
809
XML Get Text
This XML tool returns the text of the node. The text returned depends on the type of node as follows:
Returns a string representing the value of the node. This comprises the concatenated node value of all its child nodes with entities
expanded.
Returns the text contained in the node, which is the same as ‘Value’ returned by XML Get Node Info.
Element:
Returns a string that represents the element content. Note that this will also include the text content from all child elements,
concatenated in document order. For example, the branch <A><B>This</B><B>Is</B><B>A</B><B>Test</B></A> will return
"ThisIsATest".
Document Fragment:
Entity Reference:
Returns the empty string "". These node types do not have associated text.
Inputs
Node
Outputs
Text
Text of the node and potentially of all its child nodes concatenated, entity references expanded etc., depending on type of the node.
See the description above.
Exit Paths
Success
Failure
810
XML Get XML
This XML tool creates a string that contains the XML representation of the node and all its descendant nodes.
Inputs
Node
Outputs
XML String
Exit Paths
Success
Failure
811
XML Insert Node
This XML tool appends the New Child node to Node, or inserts New Child before Insert Before in the child list of Node. The types of
nodes allowed as New Child depend on the type of Node.
Node types not listed below may not be specified as Node:
Attribute
Allowed child node types: Text, Entity Reference, and Document Fragment.
Document
Allowed child node types: Comment, Processing Instruction, Element, Document Fragment.
If the New Child node is an Element and the document already has a document element (root element), the existing document
element will be replaced (Insert Before is ignored).
Document Fragment
Allowed child node types: CDATA, Comment, Element, Text, Entity Reference, Processing Instruction, Document Fragment.
Element
CDATA, Comment, Element, Text, Attribute, Entity Reference, Processing Instruction, Document Fragment.
Notes: This tool allows adding attributes to an element, even though attributes are not considered actual children of element
nodes. This is a simplification to keep the number of tools low. If the New Child node is an attribute, it is added to the element.
If an attribute of the same name as the added attribute already exists, the existing attribute is replaced with the new node.
Insert Before must be left undefined.
This tool may not only be used to add new nodes but also to move nodes and whole branches in a document or to move nodes
or branches to a different document. The node parent and owning document will be adjusted as necessary. If you want to move
nodes within a document or between documents, you don’t need to remove the node before inserting it in the new location.
Errors occurring while inserting the node will be attached to Node. Thus, you have to call XML Get Error Info with Node as
argument.
Inputs
Node
Node to which to add the new child node (new parent of New Child).
New Child
Insert Before
Optional. Child node before which to insert the new child. If not specified, node will be added to end of the child list.
Exit Paths
Success
Failure
Inputs
URL or file name of the document to load. For example, ‘C:\text.xml’ or ‘\\test\c\test.xml’.
Preserve Whitespace
Specifies whether whitespaces in the document are preserved. This flag specifies the default white space handling when the
xml:space attribute is set to "default." When the parameter is true, all white space is preserved, regardless of the xml:space settings
in the document. When false, the values of the xml:space attribute specified in the document determine whether white space is
preserved or not.
Validate On Parse
Setting this argument to True will force the validation of the document during parse.
Resolve Externals
If this parameter is True, resolvable externals such as namespaces, DTD external subsets, and external entity references are
resolved when the document is parsed.
String containing a whitespace separated namespace prefix declarations to be used for XPath selection tools.
This is the same data as can be set using the SelectionNamespaces document property (see XML Set Document Property).
Thus, this argument acts like invoking the XML Set Document Property tool right after this tool. However, you have to specify the
selection namespaces here, in particular for read-only documents, as calling XML Set Document Property on read-only documents
is not permitted.
Cache Document
If this box is checked, the document is cached based on the document URL (case sensitive!) and modification time. Cached
documents are always read-only, irrespective of the ‘Read Only’ parameter.
The following parameter ‘Preserve Whitespace’, ‘Validate On parse’, ‘Resolve Externals’, and ‘Default Selection Namespaces’ are
also used to identify the document in the cache. If the URL is a filename, the modification time is used too. Thus, after the file is
modified, the next time the tool is invoked, a new document for the file is created and added to the cache. The previous document
stays in the cache and is reclaimed if not accessed for about 10 minutes and no references to it are outstanding in other handler
instances. Apart from making subsequent loads of the same document very efficient, caching has the advantage that documents
that represent XSLT style-sheets are compiled and cached in a pre-compiled form the first time an XSLT function is invoked, so
subsequent transformations with the same style-sheet are very efficient.
NOTE: Enabling document caching should not be used for documents that are changed frequently or very large documents, as the
memory footprint of the process could be unacceptably inflated.
Read Only
When this box is checked, the XML Document tree cannot be modified. An error occurs when attempts are made to modify a read-
only XML document. The box is unchecked by default.
Outputs
Document
813
The node of the document. The value is NULL if error other than parse error.
Document Element
The root element of the document. The value is NULL if document has no root element or an error occurred.
Exit Paths
Success
Parse Error
This path is taken if an error occurs while parsing the data. Use the XML Get Error Info tool with the "Document" node as the
argument to retrieve information about the error.
Failure
This path is taken if the operation fails for any reason other than a parsing error.
Inputs
Node
Child To Remove
Child to remove.
Exit Paths
Success
Failure
814
XML Save Document
This XML tool saves the document of the node to a file. Note that even if the node is somewhere down in the tree, the whole
document is always saved. To extract only a branch of the tree, use the XML Get XML tool on the root node of the branch to export
and write the returned string to a file. Alternatively, you can clone the node and its children into a new document and save that
document.
Inputs
Document
Filename
Exit Paths
Success
Access Denied
This path is taken if the save operation on the destination file not permitted.
Failure
This path is taken of the operation fails for any other error.
815
XML Select Nodes
This XML tool evaluates the given XPath pattern against the context as defined by the Context pattern and returns an iterator to the
resulting list of nodes.
Note that the Context node only defines the current context. You can still navigate the whole document tree. Thus, the pattern "/"
always returns the document node, even if the context is not the document node.
Note: Please be aware of the XPath rules for names with namespace prefixes. Element names in XPath expressions have to be
qualified with a namespace prefix defined in the SelectionNamespace property, even if the element is in the scopre of a
default namespace and has no prefix. For example, given the following XML document:
<A xmlns="uri:some-namespace">
<B>FOO</B>
</A>
The XPath query /A/B will not select element B! You will instead have to specify a prefix using the SelectionNamespaces
property and use this prefix in the query.
Example:
SelectionNamespaces: "xmlns:x="uri:some-namespace"
XPath query: "/x:A/x:B"
For some additional details, please consult the description of the SelectionNamespaces property in the
XML Set Document Property tool.
Inputs
Context
Pattern
Outputs
Node List
Iterator pointing to first item in the node list resulting from evaluating the given XPath expression against the context defined by the
Context node.
Exit Paths
Success
No Match
This path is taken if no nodes match the given XPath query. XPath matches the context as defined in the Context input.
Failure
816
XML Select Nodes As List
This XML tool evaluates the given XPath pattern against the context as defined by the ‘Context’ node and returns a list of strings,
where each item contains the node value of one of the selected nodes. The order in the list corresponds to the order of nodes
selected by the XPath query.
Note that the ‘Context’ node only defines the current context. You can still navigate the whole document tree. Thus, the pattern "/"
will always return the root node of the document, even if the context is not the root node.
NOTE: The namespace prefixes that can be used in XPath queries must be set using the SelectionNamespaces document
property (see XML Set Document Property) or can be passed as argument with the document creation tools.
Inputs
Context
Pattern
Outputs
Node Values
The List of string containing the node values of the query result.
Exit Paths
Success
No Match
This path is taken if no nodes match the given XPath query. XPath matches the context as defined in the Context input.
Failure
817
XML Select Single Node
This XML tool evaluates the XPath expression and returns the first node that satisfies the pattern. It can also return the node value,
which makes this tool particularly useful for retrieving the data of an arbitrary node in a document hierarchy. The node value is the
same as retrieved by XML Get Node Value, thus, if Retrieve Value is checked, this tools acts like if the matching node was fed into
the XML Get Node Value tool.
See the XML Get Node Value tool for semantics of the node value.
Note that the Context node only defines the current context. You can still navigate the whole document tree. Thus, the pattern "/"
always returns the document node, even if the context is not the document node.
Inputs
Context
Pattern
Retrieve Value
True Select node and return handle to the node and retrieve value of the selected node. Should only be turned on if node value is of
interest, can be quite expensive if the node is an element with many descendants.
False Only select the node and return a handle to the node. Node Value is empty. The check box is set to False as the default.
Outputs
Matching Node
First node resulting from evaluating the XPath expression. NULL if no node satisfies the pattern.
Node Value
Node Value of the selected node. Empty if no node satisfies the pattern or if Retrieve Value is false.
Exit Paths
Success
No Match
Failure
818
XML Select Single Node Set Value
This XML tool evaluates the XPath expression and changes the node value of the first node that satisfies the pattern. This is a
convenience tool that simplifies the use of XML as structured data. It basically wraps a call to XML Select Single Node and
XML Set Node Value into one tool.
Please consult description of XML Set Node Value tool for a description of the semantics of the value, in particular in conjunction
with data types.
Inputs
Context
Pattern
Value to set as the new nodes value. Must match the data type, if data type is defined for node.
Integer value corresponding to the new data type to be set before setting the value. See the XML Get Node Info tool for the list of
valid data types. If a type is not specified, the type will not be changed.
Outputs
Matching Node
Node whose value has been changed. NULL if no node satisfies the pattern.
Exit Paths
Success
This path is taken if a node matched the XPath query and the value has been successfully changed. the child nodes were
successfully retrieved.
No Match
Failure
This path is taken if the operation fails, for example if the value does not agree with the data type of the node.
Inputs
819
Node
Name
Qualified Name of the attribute to retrieve. This field should be left empty if Base Name and Namespace URI are to be used, as both
of those fields will be ignored if Name is given a value.
Base Name
Base name of the attribute to retrieve. This field will be ignored if Name has a value specified.
Namespace URI
Namespace of the attribute to retrieve. This field will be ignored if Name as a value specified.
Attribute Value
String to set as new value of the attribute. If a data type is specified for the attribute (e.g. through the Schema, the string must be
coercible into that value)
Integer value corresponding to the new data type to be set before setting the value. See the XML Get Node Info tool for the list of
valid data types. If a type is not specified, the type will not be changed.
Create if Unknown
This checkbox determines the tool’s behavior when it is directed toward an attribute that does not presently exist. If set to True, a
new attribute will be created with the given ‘Name’ value and Data Type, and it will be added to the Element.
If set to False, the tool will exit through the Unknown exit path.
Outputs
Attribute Node
Attribute node that has been modified. NULL if no attribute of the given name.
Exit Paths
Success
Unknown
This path is taken if the element has no attribute of the given name.
Failure
Name: Description:
SelectionLanguage Specifies the selection language for the ‘XML Select xxx’ operations.
XPath Use XPath as selection language. Default
XSLPattern Use Microsoft XSL Patterns as selection language
NOTE: The default is different from the default of the MSXML parser, as
XPath is the way of the future!
SelectionNamespaces Specifies the selection namespaces used for XPath queries. Please see
the extended description following this table.
The SelectionNamespaces property allows you to specify a white-space separated list of namespace declarations of the form
xmlns:<prefix>="<namespace-uri>". These namespaces define the prefixes for XPath selection operations, such as
XML Select Nodes. In XPath queries, namespace prefixes are NOT the same as the ones appearing in the document. For example,
given the document:
<a:A xmlns:a="urn:test-a">
<b:B xmlns:b= "urn:test-b">Foo</b:B>
</a:A>
Neither the XPath pattern /A/B nor /a:A/b:B will select element B. This might appear counter-intuitive, but has a good reason: the
namespace prefix is not necessarily unique, as elements in the same scope can have the same prefix for different namespace URIs,
such as in the following document:
<n:A xmlns:n="urn:test-a">
<n:B xmlns:n="urn:test-b">Foo</n:B>
<n:B xmlns:n="urn:test-c">Bar</n:B>
</n:A>
There would be no way to specifically select the second B element based on its namespace. Thus, the namespace prefixes for
XPath selections have to be defined separately. The document property SelectionNamespaces provides a way to specify the
namespace prefixes to be used in the XPath operations. Thus, specifying the string
xmlns:x=‘urn:test-a’ xmlns:y=‘urn:test-b’ xmlns:z=‘urn:test-c’ as selection namespaces allows to use the
XPath query /x:A/y:B to retrieve the first B element and /x:A/z:B to retrieve the second B element in the above document.
NOTE: The XML Create Document, XML Create Document From String and XML Load Document have a parameter to pass a
selection namespace declaration. This basically provides the same functionality as loading the document and then calling
‘XML Set Document Property’ for the SelectionNamespaces property (but it also allows setting the selection namespaces
for read-only documents).
Inputs
Document
Property Name
String containing the name of the property to retrieve. Property names are case sensitive.
Property Value
Exit Paths
Success
821
This path is taken if the document properties were successfully set.
Failure
Example:
Given the following node (we assume here that dt is the prefix for "urn:schemas-microsoft-com:datatypes"):
<FOO dt:dt="int">-12345</FOO>
Passing the node and "abcd" as argument will cause an error because "abcd" cannot be parsed into a number. If no data type is
defined for that node, the call succeeds, setting "abcd" as the new contents of the text child node.
NOTE: If the node is an empty element, a text node child is added.
Inputs
Node
Node Value
This is the new data type to set before setting the value. See the XML Get Node Info tool for a list of valid data types. If the data
type is not specified, the type will not be changed. If the string is left empty, the dt:dt attribute is removed.
Exit Paths
Success
Failure
822
XML Switch On Node Type
This XML tool determines the node type and takes a different exit path depending on the type of the node. Only the more common
node types are handled here. To determine the type of the less common nodes such as Entity Reference, Entity, Document Type,
Document Fragment, or Notation, use the ‘Node Type’ result of the XML Get Node Info tool.
Inputs
Node
Exit Paths
Element
Attribute
Text
CDATA
Document
Comment
PI
Other
This path is taken if the node is any node other than one previously listed.
NULL
Failure
Note 2: Even if an error occurs during the transformation, a document is returned in ‘Document’. This document will most
likely be empty, but can be passed to XML Get Error Info to retrieve verbose information about what went wrong. In most cases
this error will be a style sheet error or a parse error of the resulting document (i.e. the resulting document is not well formed).
Note 3: The resulting document must obviously be well-formed XML in order to be returned as document. Care must be taken
when HTML output is produced (<xsl:output method="html"/>), as some HTML tags do not constitute well formed XML
(such as the META tag). If HTML output is to be produced, we recommend using the XML Transform To String tool instead.
Example: Source document:
<items>
<item id="1">This is Item 1</item>
<item id="2">This is Item 2</item>
<item id="3">This is Item 3</item>
<item id="4">This is Item 4</item>
</items>
Style-sheet:
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:params="urn:my-params"
exclude-result-prefixes="params"
version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:param name="params:itemID"/>
<xsl:template match="/">
<result>
<xsl:text>Value: </xsl:text>
<xsl:value-of select="/items/item[@id=$params:itemID]"/>
</result>
</xsl:template>
</xsl:stylesheet>
String Parameter:
String Parameter Names: "itemID"
String Parameter Values: "2"
String Parameter Namespace URI: "urn:my-params"
Result:
<?xml version="1.0"?>
<result>Value: This is Item 2</result>
824
Inputs
Source
Stylesheet
Stylesheet to apply. This may be a document or an Element node representing a style sheet fragment.
Optional. List of names of the parameters passed to the XSLT style-sheet. Each item is paired up with the corresponding item in
'String Parameter Values’.
Optional. List of string values passed as parameters to the XSLT style-sheet. Each item is paired with the corresponding item in
‘String Parameter Names’.
Optional. List of nodes to pass as parameters to the XSLT style-sheet. The nodes in the list are paired with the corresponding item
in the ‘Node Parameter Namespace URIs’ argument.
Optional. List of namespaces that identify the corresponding object from the ‘Node Parameter List’ argument in the style-sheet.
Start Mode
Optional. Start mode for the XSLT transformation. This allows to specify a subset out of a larger XSLT style-sheet.
Optional. Namespace URI for the start mode. Allows to fully qualify the mode name.
Outputs
Result Document
Document node of the transformation result. A document node (usually empty) will be returned even if an error occurs during the
transformation (unless the error is catastrophic). Pass to XML Get Error Info to retrieve verbose information.
Root node (Element) of the document created as result of the transformation. NULL if error.
Exit Paths
Success
825
This path is taken if the document has been successfully transformed.
Failure
Inputs
Source
Stylesheet
Style-sheet to apply. This may be a document or an Element node representing a style sheet fragment.
Optional. List of names of the parameters passed to the XSLT style-sheet. Each item is paired up with the corresponding item in
String Parameter Values.
Optional. List of string values passed as parameters to the XSLT style-sheet. Each item is paired with the corresponding item in
String Parameter Names.
Optional. List of nodes to pass as parameters to the XSLT style-sheet. The nodes in the list are paired with the corresponding item
in the Node Parameter Namespace URIs argument.
Optional. List of namespaces that identify the corresponding object from the Node Parameter List argument in the style sheet.
Start Mode
Optional. Start mode for the XSLT transformation. This allows to specify a subset out of a larger XSLT style-sheet.
Output
Result
Exit Paths
Success
Failure
Inputs
Source String
String to process.
Normalize LF to CR/LF
Checkbox, default = False. Replace newlines (\n) with carriage-return/newline pairs (\r\n). Already present CR/LF pairs will not be
expanded (i.e. CR/LF will not be expanded to CR/CR/LF)
Normalize CR/LF to LF
Checkbox, default = False. Replace carriage-return/newline pairs (\r\n) with a linefeed (\n).
Outputs
Result String
String with all entity and character references replaced by corresponding character.
Exit Paths
Next
827
XML Validate Document
This XML tool performs run-time validation on the currently loaded document using the currently loaded DTD, schema, or schema
cache.
Note: If the node is not a document node, the owner document of the node is validated.
Inputs
Document
Exit Paths
Valid
Invalid
Document not successfully validated. Retrieve error information by calling XML Get Error Info on the Document node.
Failure
Other error (such as NULL node). Retrieve Error information through the XML Get Error Info on the Document node.
Initiators
Introduction to Initiators
An initiator is always the first step in a handler. It tells Interaction Processor which event starts an instance of that handler. When
one of the modules in CIC, such as Telephony Services, generates an event, that event is seen by the Notifier. Notifier then tells
other modules about that event. One of these modules is Interaction Processor, where the handlers are registered. When the
Notifier tells the Interaction Processor about an event, Interaction Processor starts an instance of a handler.
When you publish a handler, the handler’s initiator tells Interaction Processor which event to watch for. An event is something that
happens to an object. For example, a call (object) can be sent to voice mail (event). If you configure an initiator in a handler to start
when calls are sent to voice mail, then Interaction Processor starts that handler any time it is notified of that event.
Note: Subroutine initiators are different from other initiators because they are started by a call from another handler instead of
an event that occurs on the CIC system. See the Subroutine initiator documentation for more information.
Initiator Properties
On the Initiator Properties page for most initiators, there are three settings. (HTML, Chat, Timer, and Subroutine initiators are
different.) The combination of these three settings determine when Interaction Processor will start an instance of a handler
containing that initiator. These three settings are described below:
Notification Object Type
An object type is an entity that can be manipulated or managed by CIC. Examples of some of these objects include calls, chat
sessions, and faxes. Queues are also objects, including User, Station, Workgroup, and line queues. The Notification Object Type of
an initiator cannot be changed.
Object ID
One property for an instance of an object is a unique object id. This is a unique number that differentiates one instance of an object
from another. In most cases you should leave this setting to any so that the handler starts for an object with any Object ID. For
828
example, every call that comes through CIC has a unique Object ID. If you want a specific handler to run each time a specific event
occurs to that call, set the Object ID to any. The default value for this setting is any to allow an initiator to start with all occurrences
of an event to an object. For some initiators, you cannot change this setting.
Notification Event
An event is an action that can occur to an object. Examples of some of the events that occur on a call object are transfer, send to
voice mail, and new outgoing call request. Events also carry information that can be retrieved by the initiator for use in the handler.
For example, caller ID is passed along as information in the event. The initiator can retrieve this information, assign it as the value
of a variable, and then use the value from that variable in the handler.
The best way to understand how these three settings work together is to look at an example. For this example, pretend there is an
initiator called Dog Barking. To understand how the Initiator Properties interact, look at the following examples:
Notification Object Type: Dog
Object ID: {all}
Event: Bark
With these settings, the initiator would start any time any dog barked.
Outputs
Initiators can pass information (attributes of the object) to a handler. The information initiators pass into handlers is specified on
the initiator’s Outputs page. For, example, the Incoming Call initiator passes into its handler the Call Identifier, the Line Identifier, the
number the caller dialed, and other information. This information is used by a handler to perform actions on the incoming call
object.
Initiators
ACD Agent Available
ACD Call Timeout
ACD Process Call
Call Monitor
Call to Non-System Queue
Client Button Press
Client Prompt Request
Compile Voicemail TUI
Confirm Station Conection
829
Continuous Monitor Request
Custom Notification
Directory Services Change Notification Monitor
Email Interaction Disconnected
Email Interaction Incoming
Email Interaction Outgoing
Email Interaction Transferred
External Handler Call
Fax Send Completed
Generic Object In Non System Queue
Generic Object Monitor
GetDigitsExAsync
Held Interaction Timer
HTML Event
IC Change Notification Monitor
Incoming Call
Incoming Fax
Incoming Mail
Incoming SMS
Incoming Status Report
Incoming VPIM
Interaction Administrator Change Notification Monitor
Interaction Disconnected
Interaction Retry Later Attempt initiator
Interaction Snooze Timed Out initiator
Interaction Transferred to Queue
Keyword Spotted
Manage Survey Prompt
Message Light Notification
Messaging Request
Multi-Site Message Received
New Incoming Interaction
New Incoming Web Session
Object Disconnect
Outgoing Call Request
Outgoing Fax
Outgoing SMS
Parallel Make Call Outbound Call
Play Station Audio Request
Process Automation
Provision Station
Queue Period Statistics Report
Receive Log Events
830
Receive Traps
Run Survey
Secure Input
Send to Voice Mail
SMS in Non System Queue
SMS Monitor
SOAP Request
Station Off Hook
Subroutine
Switchhook Flash
Switchover Event
System Initialization
T1/E1 Wink Event
TCP/IP Connection Accepted
Timer
Transfer Request
Transfer to System Queue
UMF Message Received
User Status Monitor
Work Item Transferred to Queue
Wrapup Required
831
ACD Agent Available Initiator
This initiator starts any time an AcdAgentAvailable event occurs. This event occurs any time an agent (a CIC client user who is a
member of a workgroup designated to receive ACD interactions) logs into CIC or when an agent’s status changes to available. See
CIC ACD Processing Technical Reference located in the PureConnect Documentation Library for more information on ACD
processing.
ACD
Object ID
Select {all} for this initiator to work with all ACD objects.
Notification Event
Select AcdAgentAvailable.
Outputs
Agent Name
Exit Paths
Start
832
ACD Call Timeout Initiator
This initiator starts any time a call flagged for ACD processing waits too long in an ACD queue. You determine the in-queue time
limit in the ACD Process Call initiator. Use this initiator to start a handler that performs special processing for items that have been
waiting in a queue too long. One type of processing would be to place the call on an ACD queue with more agents or, if you are
using skills, to make the required skills less restrictive. No further ACD processing will be done on this call until the ACD Process
Call or ACD Process Chat tool is invoked. See the CIC ACD Processing Technical Reference located in the PureConnect
Documentation Library for more information on ACD processing.
ACD
Object ID
Select {all}.
Notification Event
Select AcdQueueItemTimeout.
Outputs
Call Identifier
The ID for the telephone call or chat session that timed out.
The name of the workgroup where the call resided before it timed out.
Exit Paths
Start
833
ACD Process Call Initiator
This initiator starts any time an AcdProcessQueueItem event occurs. This event is generated by the ACD Initiate Processing tool. A
queue item is either a telephone call or chat session to be processed by ACD. See the CIC ACD Processing Technical Reference
located in the PureConnect Documentation Library for more information on ACD processing.
ACD
Object ID
Select {all}.
Notification Event
Select AcdProcessQueueItem.
Outputs
Call Identifier
The name of the workgroup queue this call was in when the ACD Initiate Processing tool was called.
Exit Paths
Start
Call
Object ID
Select {all}.
834
Notification Event
Choose the type of event you want this initiator to start for. If you choose an event that is already in use in another Call Monitor
Initiator, you may receive an error. This is because you might have two handlers trying to act on the same call object
simultaneously.
Outputs
Call Identifier
Line Type
Telephone lines from your local phone service provider are either analog lines (i.e., Plain Old Telephone - POTS - lines) or digital
lines (e.g., T-1, ISDN, etc.).
Line ID
Station Type
Station ID
Local User ID
Local T Number
The telephone number of the CIC client user participating in the call.
Local Name
The name associated with the User ID of the CIC client user participating in the call.
Remote T Number
The unformatted telephone number of the person outside CIC who is making or receiving a call.
Remote Name
The name (if available) of the person outside CIC who is making or receiving a call.
Queue Type
Queue ID
Call State
This is the current state of the call when the event occurred. For more information on call states see States.
Call Direction
Inbound or outbound.
ACD Workgroup
If this was an ACD call, this is the name of the workgroup on which the call resided when the event occurred.
If this was a conference call, this is the number of callers participating in the conference call.
This is a value received by TS on T1/E1 lines for the ANI/DNIS string. It is raw, and un-decoded.
Flag used to indicate if the disconnect of the call was remote. It will be false if the disconnect was local, true if the disconnect was
remote.
Exit Paths
836
Start
Call
Object ID
Select {all}.
Notification Event
Outputs
Call Identifier
The identifier for the object that started this handler. A Call Identifier is a value that stays the same throughout the life of a call.
Line Identifier
The identifier for the line that this call object came in on. The contents of this variable corresponds to one of the lines set up in
Interaction Administrator. Line identifier could be null if the call is an intercom call.
Workstation Identifier
837
Queue Identifier
The name of the queue on which this call has been placed. This could be a user queue, a station queue, or a workgroup queue.
The time the call was received for external calls. The time the call was placed for internal calls.
Exit Paths
Start
838
Client Button Press Initiator
This initiator fires when the client presses a custom toolbar button that was configured in Interaction Administrator with the "fire a
handler" action.
Client Button
Object ID
Choose {all}.
Notification Event
Button pressed.
Outputs
Button Identifier
Interaction Identifier
User Name
Station Name
Exit Paths
Start
839
Client Prompt Request initiator
This is the initiator that fires when a user records a personal prompt from a CIC client or over the telephone (through the remote
voicemail retrieval handlers).
Station Queue
Object ID
Select {all}.
Notification Event
Outputs
The unique identifier for the station from which the request to record a personal prompt was made.
The unique identifier for the user queue associated with the station from which the request to record a personal prompt was made.
Prompt Type
Prompt Tag
The name of the recording. This is used by Interaction Attendant and contains the name specified by the Interaction Attendant user
when recording a new audio file.
Exit Paths
Start
840
Compile Voicemail TUI Initiator
Initiator Properties Page
For more information on the relationship between the parameters on the Initiator Properties page, see Introduction to Initiators.
Object ID
All
Notification Event
All
Outputs
XML Filename
Exit Paths
Start
841
Complete Async Receive Text from an Interaction Initiator
This initiator is triggered by the Receive Text Async tool.
Outputs
Interaction Identifier
The ID of the interaction that received the Receive Text Async operation.
An arbitrary string set in the Receive Text Async tool to define the source of the operation (for example, the name of a handler).
Starting DateTime
The date and time the Receive Text Async tool started.
The timeout value set in the Receive Text Async tool, in milliseconds.
0=Success
1=Failure
2=Timeout
3=Escape
Text
Exit Paths
Success
Failure
842
Confirm Station Connection
This initiator will only fire when the telephony parameter "Confirm Station Connection" in Interaction Administrator is enabled.
Otherwise, TsServer will follow its normal remote-station-connection behavior. For more information about the parameter, see the
Interaction Administrator online help.
If the "Confirm Station Connection" parameter is enabled, TS will not immediately proceed with normal operation (placing the
outbound call or connecting the picked up call) after the connection call is completed. Instead, it fires a Notification which triggers
this initiator.
Once this initiator has fired, TS will then wait for one of the following things to occur:
1. A positive confirmation via the Station Connection Confirmation tool. If this occurs, TS will continue with the previous
behavior.
2. A negative confirmation, in which case TS disconnects the connection call. This should cause a pending outbound call to
disconnect and never be dialed, or fail the pickup on an inbound call.
3. Timeout. If this occurs, TS will continue as though a positive confirmation has been returned.
Object ID
Select {all} for this initiator to work with all call objects.
Notification Event
Outputs
Call Identifier
Call Identifier
Exit Paths
Start
843
Continuous Monitor Request
A handler with this initiator will begin whenever a Continuous Monitor Request event is generated in the system.
Station Queues
Object ID
Select {all}.
Notification Event
ContinuousMonitorRequest
Outputs
Station Identifier
The unique identifier for the station making the continuous monitor request.
User Identifier
The unique identifier for the user making the continuous monitor request.
Exit Paths
Start
844
Custom Notification Initiator
This initiator starts when a custom event occurs. You must specify the custom object id and the notification event that starts this
initiator. One example might be a machine that reads credit card swipes. The machine that reads the credit cards has a unique
object id. Any time a card is swiped, the Notification Event is card swipe. Therefore, when a card is swiped this initiator starts if the
Object ID is card reader and the notification is card swipe.
Use this initiator to interface third-party products and applications with CIC.
There are two ways to create this event. You can use the Send Custom Notification tool, or you can use the
SendCustomNotification.exe application that shipped with CIC. Both methods generate the event that starts this initiator.
Object ID
Type the Object ID passed in by the Send Custom Notification tool or SendCustomNotification.exe application.
Notification Event
Type the Notification Event passed in by the Send Custom Notification tool or SendCustomNotification.exe application.
Outputs
The name of the event that started this initiator. If you set Notification Event to All, you can use the information in this string to
figure out which event started this handler.
Any information passed along with the Notification Event. Remembering the example of the card reader, this might be the
information on the card. This information is passed as a list of strings.
Exit Paths
Start
845
Note: In general, if you must monitor stations (or users and workgroups) for configuration changes, we recommend using the
IC Client COM API as the most efficient and safest way to monitor changes. If you do not have Client COM, we recommend IC
Change Notification Monitor initiator rather than the Directory Services Change Notification monitor as the next best approach.
You must test all changes carefully when using these Monitor initiators to make sure high level access level or security
changes don't cause excessive notifications.
For example, when a user's security privileges are changed, DS writes that change to an attribute within that user's User key. DS
then generates a notification that it has made the change. The Directory Services Change Notification Monitor initiator then starts
and retrieves information about that change from the notification. A notification is generated for each key that changes, and the
attributes that changed within that key are listed in a list of string type variables.
Note: This initiator is not currently used in the handlers that ship with CIC.
IC Change Notification
Object ID
Notification Event
This specifies the type of change event to monitor. If you want to monitor for all four types of changes, you need to use different
handlers that call a common subroutine.
Created Active - fires when an active DS key is created
Deleted Active - fires when an active DS key is deleted
Renamed Active - fires when an active DS key is renamed
Modified Active - fires when an active DS key is modified
Note: All DS keys under the root and site name are considered "active" and subject to monitoring. The root DS key path is:
HKEY_LOCAL_MACHINE\SOFTWARE\Interactive Intelligence\CIC\Directory Services\Root. Any keys outside of this tree are
considered "inactive."
Outputs
You have the option to create a custom variable to hold each of these outputs, if necessary. If you do create custom variables, you
will need to modify the rest of the handlers or subroutines appropriately instead of relying on the default variables provided in this
initiator. To create a custom variable, select the (new) option at the top of each drop-down list and specify the variable name on
the Declare Variable dialog.
Entry Path
The full path to the DS Key, including the name of the Key, starting in the DS root directory.
Entry Name
Object Class
Class tells you what kind of object was changed (User, Line, Line Group, Handler, etc). For example, if the change takes place to a
specific user's configuration, the Object Class would be User. If someone changed a report log, then the Object Class would be
846
Report Log.
Notification Type
The type of change that took place is described by one of the following values:
"Created"
"Deleted"
"Renamed"
"Modified"
Exit Paths
Start
847
Email Interaction Disconnected Initiator
This initiator starts when a user disconnects an email interaction.
Label (?)
Email Interaction
Object ID
Select {all}.
Notification Event
Outputs
Interaction Id
Exit Paths
Start
848
Email Interaction Incoming Initiator
This initiator when a new email interaction comes into the system.
Label (?)
Email Interaction
Object ID
Select {all}.
Notification Event
Outputs
Interaction Id
Queue
Reserved
Exit Paths
Start
849
Email Interaction Outgoing
This initiator starts when a user sends an email interaction from the client.
Label (?)
Email Interaction
Object ID
Select {all}.
Notification Event
Outputs
Interaction Id
Queue
Reserved
Exit Paths
Start
850
Email Interaction Transferred Initiator
This initiator starts when a user transfers an email interaction to another queue.
Label (?)
Email Interaction
Object ID
Select {all}.
Notification Event
Outputs
Interaction Id
Queue
Parked
A Boolean (true/false) value to indicate if the email interaction is parked on the destination queue.
Exit Paths
Start
851
External Handler Call Initiator
This initiator allows a handler to be initiated via an inline C++ function call. This inline function triggers the ExternalHandlerCall
initiator and gathers the result of the ExternalHandlerReturn tool.
The function call contains the following arguments:
First argument: a string for the operation name. The operation name is the object ID of the notification event that will trigger the
initiator.
Second argument: a list of strings that will be passed to the external handler call initiator.
Third argument: the timeout period in milliseconds for the function call to return.
Fourth argument: a list of strings that are passed back from the external handler return tool.
Object ID
The object Id for this initiator is the operation name passed as the first input argument to the ExternalHandler C++ function call.
Event ID
Unique identifier reserved for internal use only.
Outputs
RequestHandle
A system generated identifier for this external handler call. The request handle allows this initiator to correlate with the External
Handler Return tools.
Data
A list of strings corresponding to the second input argument to the ExternalHandler C++ function call.
Exit Paths
Start
Fax Envelope
852
Object ID
Select {all}.
Notification Event
FaxSendComplete
Outputs
Fax Envelope ID
Fax ID
Call Identifier
The call id for the call the fax went out on.
Send Successful
Recipient Name
Sender Name
True if you want to sender to be notified if the fax was not sent successfully; otherwise, false
The sender’s email address, or some other address to notify if the fax was not sent successfully.
FaxDevice
Send Type
Scheduled Time
The time the fax should be sent if the Send type is one.
The begin time a fax is sent if the Send Type was two.
The latest time a fax is sent if the Send Type was two.
Failed Attempts
The number of failed calls for that fax. For example, if the sender had configured their fax for 3 retries, the Fax Server might try to
send it up to four times. Depending on why the try failed, Fax Server may or may not attempt another retry. For reasons such as busy
signal and no answer, retries are attempted (if configured by the sender). For other cases such as operator intercept tones, that
entire fax job fails and no more retries are attempted.
Call Duration
This string contains the complete history of the fax's activities, starting when the fax is queued for sending, and ending when the fax
is successfully sent or the max number of attempts is met.
Exit Paths
Start
855
Generic Object In Non System Queue Initiator
Starts whenever a Generic Object is sent to a non-system queue. A non-system queue is any queue other than the system queue,
including user and workgroup queues.
Generic Object
Object ID
Select {all}.
Notification Event
Outputs
Generic Object ID
The identifier for the generic object that entered a non-system queue.
Queue Name
Exit Paths
Start
856
Generic Object Monitor Initiator
This initiator gathers information about a generic object after an event occurs on that object. Many events can be selected in the
Notification Event parameter. Some attribute values may be null, depending on where the email is when the event occurs. If the
object has not been on the system for a long enough time, some attributes may not be present.
Generic Object
Object ID
Select {all}.
Notification Event
Choose the type of event for which you want this initiator to start.
Outputs
Generic Object ID
Exit Paths
Next
Call
Object ID
Select {all}.
857
Notification Event
Select GetDigitsExAsync.
Outputs
Call Identifier
Correlation ID
Specifies where the Extended Get Key Async tool that prompted this initiator came from. Typically this will be the ACDAudioOnHold
handler.
Termination Code
The reason the Get Key operation ended. Valid termination codes are:
Code Meaning
0 Success
1 Timeout
2 Attribute Changed
3 Escape
4 Tone
5 Failure
6 No Response
Keys
Exit Paths
Next
858
Held Interaction Timer Initiator
This initiator starts when a interaction remains on hold longer than the number of seconds configured for the Held Interaction
Timeout server parameter. This server parameter is defined in Interaction Administrator and defaults to 900 seconds. A timer starts
each time a call is put in a held state. This initiator replaces the Held Call Timer Initiator.
Call
Object ID
Select {all}.
Notification Event
HeldTimerExpired.
Outputs
Interaction Identifier
The interaction ID for the interaction that remained on hold too long.
The initiator only fires for interactions that are on hold. It does not fire for parked interactions.
Exit Paths
Start
Registered Name
The name of this initiator which is registered on the CIC server when this handler is published. The event and field information is
stored along with the initiator's name on the CIC server and this allows this information to be recalled in another HTML initiator by
selecting the proper registered name. Inserting the Registered Name of a previously used HTML Event initiator will set all the
settings to be those of the named HTML Event initiator.
Example: HandlerA is written using the HTML Event initiator and the Registered Name is specified as "HandlerA." This stores all
the settings specified for HandlerA under that name on the CIC server. Later, you're writing a second handler, HandlerB, that uses all
859
the same settings as HandlerA. Instead of manually assigning them each individually, simply insert "HandlerA" into the Registered
Name field of HandlerB, and all the settings will be automatically set to those saved under "HandlerA."
HTML Event
Field List
Variable List
The variables in the handler that contains the values of the form element names.
Add button
Edit button
Click this button to edit a form element and its associated element.
Delete button
The variable of type List of String that holds any command line arguments passed along with the event.
Web Connection
The variable that contains the name of the web connection. The web connection is established by the CIC servlet. The web
connection is used by the Generate HTML step to send a web page back to a user. If there is no Generate HTML step to send a
page back to a user, the user is sent a page that says "Error Generating HTML."
Outputs
These outputs are generic optional servlet variables. You will most likely never need to specify values for these parameters. These
environment variables are set when the server executes the gateway program.
Gateway Interface
Contains the revision of the CGI specification that this server uses.
Request Method
The method used for the request. It tells you where and how to look for whatever data is passed. Usually it is either Post or Get.
Script Name
This is set to the file name of the servlet. This may be useful if you are generating scripts on the fly.
Query String
860
This variable contains information being passed to the servlet. If you are trying to debug your HTML query strings, you can store
their values here.
Server Software
The name and version of the information server software answering the request (and running the gateway).
Server Name
The server's host name, DNS alias, or IP address as it would appear in self-referencing URLs.
Server Protocol
Server Port
HTTP Accept
Path Info
The extra path information, as given by the client. In other words, scripts can be accessed by their virtual path name, followed by
extra information at the end of this path. The extra information is sent as PATH_INFO. This information should be decoded by the
server if it comes from a URL before it is passed to the servlet.
Path Translated
The server provides a translated version of PATH_INFO, which takes the path and does any virtual-to-physical mapping to it.
Remote Host
Contains the text equivalent of the host name of the computer connected to your web site. Specify a value here if you want to log
this information.
Remote Address
Contains the IP address in dotted-decimal notation of the computer making the request. Specify a value here if you want to log this
information.
Remote User
The name of the person connected to your web site. This information is not present if the user has not specified a name in his or
her browser.
Remote Identifier
If the HTTP server supports RFC 931 identification, then this variable is set to the remote user name retrieved from the server. Use
of this variable should be limited to logging only.
861
Authentication Type
Content Type
Content Length
HTTP Cookie
The information contained in the HTTP cookie of the user connected to your web site. The information is stored as a ‘&’-separated
set of values. An example would be:
Brian & Depauw Blvd.&Suite 1060&&Indianapolis&IN&46268&ExistingCustomer&Marketing
The subroutine SystemWebParseCookie will break apart this stream of data into the appropriate data containers(variables).
Exit Paths
Start
IC Change Notification
Object ID
{all}
Notification Event
862
{all}, or select one of the event types from the list. The events listed are for changes to user and workgroups.
Outputs
Entry Path
The full path to the DS Key, including the name of the Key, starting in the DS Root directory.
Entry Name
Object Class
Class tells you what kind of object was changed. (User, Line, Line Group, Handler, etc). For example, if the change takes place to a
specific user's configuration, the Object Class would be User. If someone changed a report log, then the Object Class would be
Report Log.
Notification Type
The type of change that took place is described by one of the following values:
"Created"
"Deleted"
"Renamed"
"Modified"
"Inactive Created" (if the Configuration Set is marked inactive in DS)
"Inactive Deleted" (if the Configuration Set is marked inactive in DS)
"Inactive Renamed" (if the Configuration Set is marked inactive in DS)
"Inactive Modified" (if the Configuration Set is marked inactive in DS)
Exit Paths
Start
863
Incoming Call Initiator
This initiator starts when a call comes into the system. If available, ANI and DNIS (caller id information) and other information
about that call is passed into the handler.
Call
Object ID
Select {all}
Notification Event
Select NewIncomingEvent.
Outputs
Call Identifier
Line Identifier
The unique identifier for the line on which the call is coming in.
Exit Paths
Start
Fax Envelope
Object ID
Select {all}.
Notification Event
Outputs
Fax Envelope ID
Fax ID
Call Identifier
The unique identifier for a call a fax comes in on. Call Id can be useful for obtaining information about the call. You can route a fax
based on who a fax comes from, or route based on some other attribute.
A handshake protocol used by the machine sending the fax. This information can be used to identify who sent a fax. See the
documentation that accompanied your fax hardware for more information.
The identifier for the fax station (stand-alone fax, SCBus fax, etc) that received the fax. This value is one of the fax stations set up in
Interaction Administrator.
The ID of the Remote Calling station. This information is sent by the remote fax. It can be useful when a fax is forwarded in email.
Call Duration
Exit Paths
Start
Mailbox
Object ID
The values available here are dependent upon the CIC server configuration. The drop-down list contains an identifier for each
mailbox that the Interaction Processor is currently configured to monitor, and the "catch all" identifier {all}
Notification Event
Outputs
Cookie
This initiator outputs an e-mail cookie type of variable that carries all of the e-mail and mailbox information that other tools need.
Incoming SMS
This initiator handles eSMSEvent_NewIncomingSMS events. This primary initiator is typically processed by the
System_IncomingSMS handler.
SMS Object
Object ID
Select {all}.
Notification Event
Incoming SMS
Outputs
SMS Identifier
866
The unique identifier for the SMS object.
Ticket Identifier
Queue Identifier
The identifier for the queue on which the SMS object exists.
Remote Name
Remote Telephone
Local Location
Short Message
Local Alias
Local Account
Date Received
Date Delivered
Date Broker
Exit Paths
867
Next
868
Incoming Status Report
This primary initiator is typically processed by the System_IncomingSR handler to process status reports sent by an SMS Broker.
SMS Object
Object ID
Select {all}.
Notification Event
Outputs
SMS Identifier
Ticket Identifier
Message Status
An explanation of the Message Status. For example, if the Message Status indicates that the message was not sent, this will
explain why it could not be sent (like an invalid option, invalid phone number, etc).
Date Broker
Exit Paths
Next
869
Incoming VPIM
This initiator starts any time a new incoming VPIM comes into the system.
Object ID
Choose {all}.
Notification Event
Outputs
Exit Paths
Start
Object ID
{all}
Notification Event
870
Select IA Change Event.
Outputs
Change Type
Time of Change
User
Station
The Station ID of the computer from where the change was made.
Class
Key
The Directory Services key in which the change was made. For example, this might be the User Key, Workgroup Key, etc.
Application Name
The application used to make a change that caused the initiator to start. This output contains "Interaction Administrator" if
Interaction Administrator was used to make a change and an empty string if any other application was used to make the change.
Exit Paths
Start
871
Interaction Disconnected Initiator
A handler with this initiator will run whenever a web interaction is disconnected.
Interaction Object.
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Exit Paths
Next
872
Interaction Retry Later Attempt initiator
This initiator starts when an agent places a web interaction in a “Snooze” state. This initiator starts the
System_RetryInteractionLater handler to call the Snooze Interaction toolstep to place the interaction in the “Snooze” state. When
the “Snooze” period ends, the Interaction Snooze Timed Out initiator starts the System_RetryInteractionTimeout handler to place
the interaction in the queue to start ACD processing.
Interaction Object.
Object ID
Select {all}.
Notification Event
Outputs
Interaction Identifier
A list of values for each of the variables listed in the Custom Retry Data Names parameter.
Exit Paths
Start
873
Interaction Snooze Timed Out initiator
This initiator starts when the “Snooze” period ends for a web interaction. When the “Snooze” period ends, this initiator starts the
System_RetryInteractionTimeout handler to place the interaction in the queue to start ACD processing.
The Interaction Retry Later Attempt initiator starts the System_RetryInteractionLater handler to call the Snooze Interaction toolstep
when an agent places the interaction in the “Snooze” state.
Interaction Object.
Object ID
Select {all}.
Notification Event
Outputs
Interaction Identifier
Queue Identifier
Exit Paths
Start
874
Interaction Transferred to Queue Initiator
This initiator is fired when a web interaction is transferred to a non-system queue. The System_InteractionOnNonSystemQueue
handler is launched with this initiator.
Interaction Object
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Queue Identifier
Exit Paths
Next
Label
Keyword Spotted
Call
875
Object ID
Select {all}.
Notification Event
Select {all}.
Outputs
Call Identifier
The identifier for the call in which the keyword was spotted.
Keyword Name
Keyword Set ID
Utterance
Select Utterance.
The absolute time stamp when the spotted keyword started, as reported by the media server.
Duration (ms)
Confidence
The confidence level as reported by the media server. This is a fractional number between 0.0 and 1.0 that indicates the level of
confidence that the spoken word is actually the word that is Interaction Analyzer is trying to detect.
Channel
Identifies the person who spoke (either the agent or the customer).
Keyword Tag
A tag that Interaction Administrator assigns to the Interaction Analyzer keyword set to which the keyword belongs.
A category that Interaction Administrator assigns to the Interaction Analyzer keyword set for the spotted keyword.
876
Exit Paths
Start
877
Manage Survey Prompt Initiator
This initiator starts when the client sends a notifier event, after a user requests to play or record a prompt for a customer
satisfaction survey.
Note: This initiator will not be functional until a future service update.
CCSurvey Object
Object ID
Select {all}.
Notification Event
Select {all}.
Outputs
Station Queue Id
User Queue Id
Phonenumber
Filename
878
Message Light Notification initiator
This initiator starts when the MLUtil DLL is executed. (MLUtil DLL is currently used by the voice mail form to send message light
notifications, starting this initiator.) It represents either a new message being added to a user's inbox, or a message being read or
removed from a user's inbox.
Call
Object ID
Select {all}.
Notification Event
Outputs
Operation
This integer value is 0 if the message was added to the user's inbox, 1 if the message was read or deleted from the user's inbox.
IC User Id
This string value is the CIC User ID of the user who has the message.
This integer value is the number of unread email messages in the user's inbox, or -1 if unknown. A -1 indicates that the process
sending the notification could not determine these values, and that the handler should determine these values.
This integer value is the number of unread voice mail messages in the user's inbox, or -1 if unknown. A -1 indicates that the process
sending the notification could not determine these values, and that the handler should determine these values.
This integer value is the number of unread fax mail messages in the user's inbox, or -1 if unknown. A -1 indicates that the process
sending the notification could not determine these values, and that the handler should determine these values.
Exit Paths
Next
879
Messaging Request Initiator
This initiator is fired when a web interaction is transferred to voicemail.
Interaction Object
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Queue Identifier
Exit Paths
Next
880
Multi-Site Message Received
This tool is the initiator for a handler that will send a specific message.
Initiator Properties
Label
The label that is displayed for this tool step on the main ID screen. The default label is "Multi-Site Message Received."
Object ID
A string value that matches the Object ID set in Multi-Site Send Event or Multi-Set Send Request.
Notification Event
A string Value that matches the Object ID set in Multi-Site Send Event or Multi-Set Send Request.
Outputs
Message Handle
The handle of the incoming message from which the data elements are to be read. The message handle is a value that is required
as input for all tools that operate on the message.
Response Correlation ID
A unique identifier for this message if the message was sent synchronously. Otherwise, this value will be zero. If the message
requires a response, the value of the variable will contain a non-zero value. This value must be passed unchanged o the Multi-Site
Send Response tool.
Response Destination ID
A value that identifies the source of the request if the message was sent synchronously. If the message was sent asynchronously,
this value will be an empty string. This value must be passed unchanged to the Multi-Site Send Response tool.
Note
The values in Response Correlation ID and Response Server ID should not be changed by the handler.
881
New Incoming Interaction Initiator
This initiator will fire on all new incoming web interactions, such as chats, callbacks or web collaborations.
Interaction Object
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Queue Identifier
Exit Paths
Next
882
New Incoming Web Session Initiator
This initiator will fire on all new incoming web interactions, such as someone browsing to a tracked page, or requesting a callback
or web collaboration.
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Exit Paths
Next
883
Object Disconnect Initiator
This initiator fires whenever an object is disconnected from a queue.
Queue Item
Object ID
Select {all}.
Notification Event
Select QueueItemDisconnected
Outputs
Call Identifier
Exit Paths
Start
Call
Object ID
Select {all}.
Notification Event
Outputs
884
Call Identifier
This variable is the identifier for the object that started this handler. A Call Identifier is a value that stays the same throughout the
life of a call.
The identifier for the number the caller dialed. A comma causes a two-second pause, and any numbers after the "/" symbol are
dialed after the call is connected.
The telephone number with any numbers after the "/" symbol removed. For example, if a user calls 1-317-872-3000/103 , the base
number would be 1-317-872-3000 . The base number can be used for security lookups.
Line groups
The identifier for the line that this call object can go out on. The contents of this variable correspond to one of the lines set up in
Interaction Administrator.
This parameter passes a string of digits to be displayed as ANI or Caller ID on the phone system that receives the call. If you do not
specify a value in this parameter, the Telephony Services subsystem uses the number entered in the Phone Number field in the Line
Configuration container in Interaction Administrator.
Note: This only works for ISDN.
This parameter passes a string to display the name of the caller on the phone system that receives the call. If you do not specify a
value in this parameter, the Telephony Services subsystem uses the name associated with the number entered in the Phone Number
field in the Line Configuration container in Interaction Administrator.
Note: This only works for ISDN.
Exit Paths
Start
885
For more information on the relationship between the parameters on the Initiator Properties page, see Introduction to Initiators.
Fax Envelope
Object ID
Select {all}.
Notification Event
Outgoing Fax
Outputs
Fax Envelope ID
The unique identifier for the outgoing fax envelope. See the Create Envelope tool for more information on fax envelope.
Fax ID
Recipient Name
Sender Name
Set this to true if you want the sender to be notified if the fax was sent successfully; otherwise, false.
886
Email address to notify if fax when fax is sent
Set this to true if you want to sender to be notified if the fax was not sent successfully; otherwise, false.
The sender’s email address, or some other address to notify if the fax was not sent successfully.
Text contained in the comments field (if any) on the cover page.
Only Interaction Fax cover page documents (with a file extension of .i3c) are valid in this release. This could change in future
releases.
Send Type
Scheduled Time
The time the fax should be sent if the Send type is one.
887
The begin time a fax should be sent if the Send Type was two.
The latest time a fax should be sent if the Send Type was two.
Exit Paths
Start
Outgoing SMS
This monitor initiator launches whenever a new, outgoing SMS Object is detected.
SMS Object
Object ID
Select {all}.
Notification Event
Outgoing SMS.
Outputs
SMS Identifier
Exit Paths
Next
Initiator Properties
888
For more information on the relationship between the parameters on the Initiator Properties page, see Introduction to Initiators.
Call.
Object ID
Select {all}.
Notification Event
Outputs
Call Identifier
This variable is the identifier for the object that started this handler. A Call Identifier is a value that stays the same throughout the
life of a call.
Telephone Number
Indicates that the call should be placed as an intercom call as opposed to an outbound call. When Parallel Make Call Dial is called,
the value of this flag is passed to the intercom call input parameter.
Station Identifier
Workgroup
The maximum number of seconds of silence to elapse after a call has been answered.
No Answer Timeout
889
The parameter that is sent to each instance of this initiator.
A string specific to this instance of the initiator. For more information, see the Parallel Make Call tool.
Exit Paths
Next
Station
Object ID
{all}
Notification Event
StationAudioRequest.
Outputs
The identifier for the workstation to which the .WAV file is played.
The name of the .WAV file to be played. MP3 files are not supported.
Exit Paths
Start
890
Process Automation Initiator
This initiator starts any time a handler is launched from a process. The output from this tool is used as input for the Process
Automation Send Handler Results tool.
Outputs
Job ID
Sequence ID
PA Data Name
Exit Paths
Start
891
Provision Station Initiator
This initiator starts a handler that is part of the Auto Provisioning process. It is called when an unprovisioned station calls into the
system and starts the auto provisioning process.
Station
Object ID
{all}
Notification Event
ProvisionStation
Outputs
Station Identifier
A string of the station ID. This value will be passed into the Bind Provisional Station tool.
The Interaction ID of inbound station audio. This will be needed if you plan on playing audio to the call.
Exit Paths
Start
892
Queue Period Report Statistics Initiator
The Queue Period Report Statistics Initiator generates an array of statistical information about a workgroup or user queue, or a
Stats group. For more information about Stats groups, see Report Tools. This initiator starts at the interval set in the Queue/IVR
reporting (min) field in Interaction Administrator. For more information about this field, see Configure reports for your CIC server
in Interaction Administrator help. This initiator requires that you set the StatServer_SendQPSNotification server parameter to a
value of true . For more information about this server parameter, see Optional General Server Parameters in Interaction
Administrator help.
Object ID
Select {all}.
Notification Event
Outputs
Array Size
These values represent the ranges used to determine the values for the liAllAnsweredBySvcLevels, liAllAbandonedBySvcLevels,
liAcdAnsweredBySvcLevels, liAcdAbandonedBySvcLevels values that Queue Manager reports and are retrieved with the Get Nth
Period Statistics Report Data tool.
Exit Paths
Next
REMOCO
Object ID
Specify {all}
Notification Event
ReceiveLogEvent
Outputs
IC Server
IC Subsystem
Event Type
Informational
Warning
Error
Event Message ID
Event Message
Substitution Strings
Exit Paths
Start
894
This step always exits through the start path.
REMOCO
Object ID
Specify {all}.
Notification Event
ReceiveTrap
Outputs
IC Server
Enterprise
Allows you to determine which Enterprise sent or generated the SNMP trap (could be Genesys, Dialogic, or Microsoft).
Enterprise OID
Generic Trap ID
Specific Trap ID
Either 1 or 2. See the trap 1 and trap 2 options described at the top of this topic.
Bound Variables
A list of any variables accompanying the trap. See the file I3IC.MIB in the location described above for more information.
Bound Values
895
The string values associated with the variable. See the file I3IC.MIB in the location described above for more information.
Exit Paths
Start
CCSurvey Object
Object ID
Select {all}.
Notification Event
Select {all}.
Outputs
Interaction ID
Survey ID
896
Secure Input Initiator
This initiator fires when Telephony Services starts a secure session.
Label
Secure Input
Outputs
Call Identifier
The identifier for the call on which the secure session is started.
A list of labels.
A list of names.
Transaction Id
The UUID that Telephony Services generates to identify the secure session.
Exit Paths
Start
897
Send to Voice Mail Initiator
This initiator starts when a notifying call is sent to voice mail, such as when someone clicks the Voicemail button in a CIC Client or
when someone manually transfers a call to another user’s voicemail through the Transfer dialog box in a CIC Client. This is not the
same initiator that starts the handler that records the voice mail button.
Call
Object ID
Select {all}.
Notification Event
Outputs
Call Identifier
Line Identifier
The telephone number of the person who is being transferred to voice mail.
If available, the name of the person who is being transferred to voice mail.
Queue Identifier
QueueId is the unique identifier for the station from which this "send to voice mail" command has been placed.
True if the call was transferred, False if the call was sent by a user clicking the Voicemail button in a CIC Client. In the default
handlers, a user’s No Answer Message is not played when the call is transferred. This is so that the caller does not know if the call
timed out on the queue or if the call was intentionally sent to voicemail from a CIC Client.
Exit Paths
Start
SMS Object
Object ID
Select {all}.
Notification Event
Outputs
SMS Identifier
Queue Identifier
Exit Paths
Next
899
SMS Monitor Initiator
This initiator launches whenever the specified SMS-related event occurs.
SMS Object
Object ID
Select {all}.
Notification Event
Select either Created, Connected, Disconnected, Transferred, or Parked, depending on which event you want to monitor.
Outputs
SMS Identifier
Exit Paths
Next
Outputs
SOAP Request
The handle representing the SOAP request. It can subsequently be used to query additional information from the (HTTP) header.
Initiator Event
String of the notification event that triggered the initiator.
SOAP Action
String. SOAP Action.
Exit Path
Start
This initiator always takes the Start exit path.
StatAlertServer Initiator
900
This initiator is called from Alert Server with the name of a handler to execute.
Outputs
Alert ID (string)
Statistic ID
The ID of the statistic that triggers the alert.
901
Value Description
0 Value equals
1 Value not equal
2 Value less than
8 Value contains
9 Value does not contain
902
Station Off Hook initiator
This initiator starts anytime a station goes off hook. It provides a Station Identifier, Station Queue Identifier, and User Queue
Identifier so that a handler can decide whether to play dial tone or assign an alerting or held call. This initiator is typically followed
by the Query Monitored Queues and Select Call tools.
Station
Object ID
Notification Event
Select StationOffHook.
Outputs
Station Identifier
Exit Paths
Start
903
Subroutine Initiator
The Subroutine Initiator is different from other initiators because it is started by a call from a handler or another subroutine, as
opposed to an event that occurs on the CIC system. When you publish any subroutine, any parameters you create on the parameters
page will become parameters in a subroutine tool that calls that subroutine. That subroutine tool will appear on the Subroutines
page of the Design palette. Refer to Introduction to Subroutines and Add or edit a subroutine parameter for more information on
how to use this initiator.
Parameters
Label
The label for the parameter that appears in the properties notebook that this subroutine.
Variable
The variable that holds the value of what is passed into this parameter.
Type
Input Only
Setting this parameter to true means that any change to the value of this variable will not be reflected in the handler that called it.
Setting this parameter to false means that a change to the value of this variable will be reflected in the handler that called it. In
other words, the value can be changed and the changed value is passed back to the calling handler or subroutine.
Add button
This button opens the Subroutine Parameter dialog box for you to create a new variable. See Add or edit a subroutine parameter for
more information on adding and editing subroutine parameters.
Edit button
This button opens the Subroutine Parameter dialog box for you to edit a selected variable. See Add or edit a subroutine parameter
for more information on adding and editing subroutine parameters.
Delete button
Exit Paths
Start
904
Switchhook Flash Initiator
This initiator starts when a caller presses a flash button on a telephone or quickly depresses the switch hook. The Flash event can
be generated from any station configured in CIC with a directly connected analog phone. For example, if a user wants to transfer the
call from a stand-alone station, they quickly depress the station's switchhook. The call is put on hold and they are given a menu of
choices of what to do. One of the options is to transfer the call.
Station
Object ID
Select {all}.
Notification Event
Select Flash.
Outputs
Station Identifier
The identifier for the station from which the switchhook flash originated.
The workstation queue associated with the station from which the switch hook flash originated.
Exit Paths
Start
905
Switchover Event Initiator
This initiator fires whenever a Switchover event occurs.
SwitchoverService
Object ID
Select {all}.
Notification Event
Outputs
Was Manual?
This Boolean indicates whether the Switchover event was Manual (True) or Automatic (False).
Exit Paths
Start
906
T1/E1 Wink Event Initiator
This initiator starts when a wink is received on a line, providing a way to start a handler for special processing when a wink is
received. Lines are configured to receive winks in the spanti.prm file located in the \Dialogic\data directory. You can change the
wink definition for a single span. If you want to change the definition of the wink for a single span, you must edit the file and rename
it for the span. The name of the new file must then be entered for the particular span into the parameter field in the misc table of the
DCM. Only one wink definition can be defined for each E1/T1 line.
Notes: This wink is not the wink used in wink start mode. Lines are configured to be either wink or immediate start in the line
configuration under IA. What a wink looks like (wink definition) is in the spandti.prm file.
This initiator will not start when receiving the initial wink on an outbound call on a wink start line.
Call
Object ID
{all}
Outputs
Call Identifier
The identifier for the call on which the wink was sent.
Exit Paths
Start
907
TCP/IP Connection Accepted initiator
When the TCP Listen tool detects a connection, it generates a TcpConnection event. This initiator is designed to detect that
connection and start a handler. See TCP/IP tools for more information on using TCP/IP tools. See Introduction to Initiators for
more information on using and configuring initiators.
Initiator Properties
TCP/IP Connection.
Object ID
Select {all}.
Notification Event
Select TcpConnection.
Outputs
Client Name
This tool queries the remote machine for a client name. If a name is not returned "unknown" is used.
Client IP Address
The IP address of the remote machine. This string value may look something like the following: "172.16.120.10."
Socket handle
The unique identifier for this established connection. Other TCP/IP tools use this handle for sending and receiving strings and
integers.
Exit Paths
Start
908
Timer Initiator
The timer initiator allows you to build a handler that runs at a time interval that you configure. You can configure the Timer initiator
to start an instance of a handler every day, hour, minute or second.
Note: Timer initiated handlers will run on primary and backup servers.
Note : Timer initiated handlers will only run if published as a Primary handler and will not run if published as a Monitor handler.
Timer Page
IP Start Time
The Reference Time is the time around which the Run Every setting is based. The Reference Time is based on a twenty-four hour
clock (midnight is 0 hours, 0 minutes, and 0 seconds).
For example, if you set the Reference Time to 1 hour and 13 minutes (01:13:00), and set the Run Every time to 30 minutes, then the
handler will run every thirty minutes before and after the reference time. In this example, the handler would run at 00:13:00, 00:43:00,
01:13:00, 01:43:00, and so on). In all, the handler would run 48 times over the course of a day at thirty-minute intervals.
Check the Start Time is UTC Time checkbox if you want the time options to be calculated in Universal Coordinated Time.
Note: in order for a specific reference date to be selected (see below), the Start Time is UTC Time checkbox must be
checked.
IP Reference Date
This can be used to have the timer only run on specific dates and/or days of the week. The default setting is "Handler Load," which
means that the start time and time interval will be measured from the time the handler was first published. If this is not desired, you
have the option of specifying a particular date, or choosing a day of the week as the reference date.
Setting a specific reference date tells IP to begin calculating the time as though the handler began running on that day or date.
Run Every
This is the interval at which the timer initiator runs. Set the days to 1, and it runs every day. Set the days to 2, and it runs every other
day. See the example above for information on how this setting interacts with the Reference Time setting.
If you want a handler to run on the first of every month or year, or on a specific day of the month, you can use a DateTimeNow
operation to assign the current date and time as the value of a variable. Then use a Condition step to determine whether the current
day of month is equal to one. If it is not, the handler ends. Configure the Timer initiator for this handler to run every day, and you’ll
have a handler that does something on a specific day of the month.
Check this box if you want the times to be shown in Universal Coordinated Time notation.
Exit Paths
Start
909
For more information on the relationship between the parameters on the Initiator Properties page, see Introduction to Initiators.
Call
Object ID
Select {all}.
Notification Event
Select TransferCallRequest.
Outputs
Call Identifier
The telephone number of the transfer recipient. A comma causes a two-second pause, and any numbers after the "/" symbol are
dialed after the call is connected.
The telephone number with any numbers after the "/" symbol removed. For example, if a user calls 1-317-872-3000/103 , the base
number would be 1-317-872-3000 . The base number can be used for security lookups.
Line Groups
The identifier for the station queue from which this transfer was placed.
The name of the user queue from which this transfer was placed.
This Boolean, set appropriately by default by CIC according to the configured line's support for putting a call back on the originating
system, is used to determine whether or not to use the putback feature if it is available for that line. If putback is available, then
setting this parameter to True will cause the transfer to be attempted using the Putback operation. If the Putback operation fails
within TS Server, a conventional transfer will be attempted.
Note: We strongly recommend that you do not change the default value of this parameter unless you know exactly when and
why you need to override the default system value. This value is normally passed through the Transfer Request initiator to the
Complete External Blind Transfer too.
Exit Paths
Start
910
This step always exits through the start path.
Initiator Properties
For more information on the relationship between the parameters on the Initiator Properties page, see Introduction to Initiators.
Call
Object ID
All
Notification Event
Outputs
Call Identifier
The identifier for the object that started this handler. A Call Identifier is a value that stays the same throughout the life of a call.
Line Identifier
The identifier for the line that this call object came in on. The contents of this variable correspond to one of the lines set up in
Interaction Administrator. Line identifier could be null if the call is an intercom call.
Exit Paths
Start
911
Transfer Conversation Initiator
This initiator is fired when a social media conversation interaction is transferred to a non-system queue. The
System_InteractionOnNonSystemQueue handler is launched with this initiator.
Interaction Object
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Queue Identifier
Exit Paths
Next
912
Transfer Direct Message Initiator
This initiator is fired when a social media direct message interaction is transferred to a non-system queue. The
System_InteractionOnNonSystemQueue handler is launched with this initiator.
Interaction Object
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Queue Identifier
Exit Paths
Next
913
UMF Message Received Initiator
This initiator allows the author to type a string value for both the event ID and Object ID. The initiator will then trigger when a
notification with matching event and object IDs is received. The same initiator receives messages sent as events and requests. In
the latter case, certain outputs that contain return information for a response will contain valid values. If the message was sent as
an event, those outputs will be zero.
Inputs
Notification Event
A string value that matches the Event ID you set in UMF Send Event or UMF Send Request.
Object ID
An integer value that matches the Object ID you set in UMF Send Event or UMF Send Request.
Outputs
Message Handle
A valid handle to the incoming message from which the data elements are to be read.
Response Correlation ID
A unique identifier for this message if the message was sent synchronously. Otherwise, this value will be zero. If the message
requires a response, the value of the variable will contain a non-zero value. This value must be passed unchanged to the UMF Send
Response tool.
User
Object ID
Select {all}.
Notification Event
Select Status.
Outputs
User ID
The first name of the agent who changed his or her status.
Last Name
The last name of the agent who changed his or her status.
Status Text
The current status that resulted from the change. This might be ‘Available’ or ‘Do Not Disturb’.
An unlocalized version of the status message. In a future release of CIC, there will be a localization mapping table for each of the
keys. This will be used to display the appropriate string to an end user based on the user's Local settings.
Date String
Time String
Extension
DND Indicator
The Do Not Disturb indicator. True if the status is a DND status. False if the status is not a DND status, like Available.
Logged In Indicator
A value of 1 (one) will be returned if the user is logged in, and a value of 0 (zero) if the user is not logged in.
This output parameter is for internal user only, and it may be removed in a future release.
Station Id
Error Flag
DND Indicator
915
Indicates whether this status is configured as a DND status in Interaction Administrator.
ACD Indicator
Indicates whether this status is configured as allowing ACD calls in Interaction Administrator.
Forward Indicator
On Phone Indicator
An unlocalized version of the previous status message. In a future release of CIC, there will be a localization mapping table for each
of the keys. This will be used to display the appropriate string to an end user based on the user's Local settings.
Previous Status
The time when the status was changed before the most recent change.
Exit Paths
Start
916
Work Item Transferred to Queue Initiator
Initiator Properties
For more information on the relationship between the parameters on the Initiator Properties page, see Introduction to Initiators.
Object ID
All
Notification Event
Outputs
Interaction ID
The identifier for the object that started this handler. A Call Identifier is a value that stays the same throughout the life of a call.
Queue Identifier
The identifier for the line that this call object came in on. The contents of this variable correspond to one of the lines set up in
Interaction Administrator. Line identifier could be null if the call is an intercom call.
Exit Paths
Start
917
System_IncomingSocialMediaConversation
This initiator is for all the Social Media Conversations. This initiator is fired when a social media conversation interaction is
transferred to a non-system queue. The System_IncomingSocialMediaConversation handler is launched with this initiator.
Interaction Object
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Queue Identifier
Exit Paths
Next
918
System_IncomingSocialMediaDirectMessage
This initiator is for all the Social Media Direct Messages. This initiator is fired when a social media direct message interaction is
transferred to a non-system queue. The System_IncomingSocialMediaDirectMessage handler is launched with this initiator.
Interaction Object
Object ID
Select {all}.
Notification Event
Outputs
Interaction ID
Queue Identifier
Exit Paths
Next
919
Procedures
Starting Interaction Designer with command line parameters
The following command line parameters can be used when starting Interaction Designer.
Overview of Steps
The process of building handlers can be broken down into six steps.
920
Step one: Research. You should be familiar with the handlers and subroutines currently running on your system.
Step two: Design. Map out the functionality you plan to build, and figure out how it will run with the other handlers and subroutines.
Step three: Building. Begin creating and linking steps to perform the new functionality.
Step four: Activating. When you finish building the handler or subroutine, you must compile and move it to the IC server using the
automated Publish process. Handlers and subroutines are published through Interaction Designer.
Step five: Testing. Test the handler on your live system or on a second system you've set up for testing purposes.
Step six: Promoting. If you are not already using the handler on your live system, activate the handler.
The first step in building handlers and subroutines is research. You must be familiar with the handlers and subroutines currently
being used on your CIC server. You need to know if the handler or subroutine you're planning can be integrated into a currently
running handler. Also, find out if you need to build a new handler or subroutine, or modify an existing one. You cannot build a new
handler or subroutine if you don't spend some time looking at the existing handlers.
There are several places you can look for information on the existing handlers. First, look at the contents of the Handler Help menu.
Many of the handlers and subroutines shipped with CIC are documented under Handler Help. This documentation summarizes the
functionality of the handlers and subroutines, and can help you see where you might want to make customizations.
Also, review the reference and procedural topics in this online help system. The tool documentation in the Reference section can
help you learn the function of each step in a handler or subroutine. The procedural topics and various introductions can help you
understand how handlers work.
Once you are familiar with how the handlers and subroutines are working on the CIC server, begin planning how to build in the new
functionality. Decide how the new functionality will be implemented. Review the following scenarios when making your decision.
When should I modify an existing handler or subroutine?
In many cases, modifying an existing handler is the best way to implement new functionality. In a simple example, you might want
to add a new key-press option for callers using your IVR (Interactive Voice Response) system. In this case, adding new functionality
only involves recording a new prompt, adding a condition to a Selection step, and adding a few other steps to your existing IVR
handler. You don't need to write a whole new subroutine or handler to add this simple functionality. If you only need small changes
or additions to the CIC functionality, consider small modifications to your handlers or subroutines.
If you decide to modify an existing handler or subroutine, we recommend that you only do so using the customization points
provided. Customization points ease future upgrades. Modifications made outside these customization points may be overwritten
when a hotfix or service release is installed. Modifying handlers outside the designated customization points may also cause
undesired behavior in CIC.
When should I build a new handler or subroutine?
If you are planning a significant addition or change in functionality, you probably need to build a new handler or subroutines. In most
cases, you should build a subroutine. A handler will start when an event occurs on the server to start that handler. Most of the
events that occur on the CIC server already have a handler associated with them. Unless you are adding third-party products that
generate their own unique events, you build a subroutine.
An example of a piece of third-party equipment that might generate a unique event is some kind of machine monitor. Suppose a
hospital has a computer monitoring a piece of equipment. Anytime that equipment fails, the monitoring computer creates an alarm
event. This event could be passed into CIC and start a handler designed to watch for an alarm event.
Whether you decide to build a handler or a subroutine, map out the new functionality on a whiteboard. Try to think in terms of the
Interaction Designer tools, and what groups of tools create the needed logic. Remember that creating handlers is programming;
planning at the outset saves time when you start building the handler.
Once you've mapped out the functionality and decided to implement the functionality, you're ready to start modifying or building
your handler or subroutines in Interaction Designer. Use Interaction Designer to add new steps and modify existing steps. For help
on a particular step, click the help button on its properties page, or you can select a tool on the tool palette and press the F1 key.
The help for each tool consists of a general description of the step, its parameters, and its exits. You can also find help on working
with steps from the contents page of the online help. Finally, look at how steps are used in other handlers and subroutines.
You do not need to deactivate a handler before you begin editing because any changes you make to a handler or subroutine do not
take effect until you publish the handler or subroutine and activate that handler or subroutine using the Manage Handlers notebook.
921
Step Four: Activating
Once you have finished building or modifying a handler or subroutine, you need to publish it so that your changes take effect.
Publishing a handler is the automated process of converting the handler to Java code, compiling that code with a Java compiler,
and placing the compiled code on the CIC server. During the publishing process, you may be notified of errors in the handler or
subroutine. These errors might result from unfilled parameters, invalid variable names, or other problems. Refer to the publishing
online help for advice on successful publishing. You may also need to consult the documentation that accompanied the Java
compiler.
Subroutines must be published before they can be called from other handlers and subroutines. Once you have published a new
subroutine, a new subroutine tool appears on your subroutine palette. Use this tool to create a new step in the handler or subroutine
that calls the new subroutine.
There are certain situations where you may not want to publish your handlers or subroutines to the same server where you created
them. To accomplish this, an intermediate publish file is generated and saved to a specified location, where it can then be moved to
the desired server and the publishing process completed.
When a handler or subroutine is first published, you have the option to have it made active immediately. If you choose not to do
this, or if the handler has been imported from another server or previously made inactive, you will need to activate it in the Manage
Handlers notebook before it can be used in CIC.
After you've published your handler or subroutine, either to a test server or the production server, test the functionality you've built.
If you've not already set a handler to active using the Manage Handler notebook, you should do so. This activates the new
functionality.
Related Topics
Handler Best Practices
Publish a handler or subroutine
Introduction to Handlers
Handlers are the programs that define the interaction processing functionality of the CIC system. A handler is a group of actions
(steps) that start when an event occurs on the CIC system. For example, the IVR (Interactive Voice Response) system that callers
interact with is a handler. Handlers record and send voice mail. Almost every call processing action that occurs on the CIC server is
the result of a handler. Handlers also define the functionality of Internet chat requests, HTML document generation, ACD
(Automated Communication Distribution), and more.
What is an event?
Events are the things that happen to objects. Every time one of the modules in CIC does something to an object, it generates an
event. For example, when Telephony Services receives an incoming call, it creates a new call object with a unique Object ID.
Telephony Services then generates an event called Incoming Call. Events can even be generated by hardware or software that are
not part of the CIC system (for example, a security card reader or a computer that monitors a piece of equipment).
Events serve two purposes in CIC. First, an event can tell Interaction Processor to start an instance of a handler designed to
respond to that event. When Telephony Services generates an Incoming Call event, the Notifier tells Interaction Processor that the
event has occurred. Interaction Processor starts an instance of any handlers configured to run when the Incoming Call event
occurs. Second, an event can carry information about the event. For example, an event generated by an incoming call carries
information about that call, such as the caller ID and the name of the line on which that the call is coming in. The information
contained in the event can be used by the handler to make decisions about what to do with the object.
922
the handler, one is the object type, and one is the Object ID.) When an event is generated, Interaction Processor starts any handler
whose initiator is configured to start when that event occurs.
Interaction Designer provides all the basic programming controls for you to build your handlers. Using steps, you can assign
variables, build conditions, test conditions, create selection statements, assign variable types, and perform other useful actions.
For a description of the purpose and properties of each step, select that step and click F1.
Choose one of the topics below for instructions on how to work with handlers:
Create a new handler
Introduction to steps
Introduction to subroutines
Open an existing handler
Print a handler
Publish a handler
923
Create a new handler or subroutine
Create a new handler when you want to perform actions in response to an event that occurs on the CIC server. Before you create a
new handler, review the documentation for the handlers that are already running on your system. The event that you want to start
your new handler may already be starting a previously published handler. In this case, you may want to build a subroutine.
From the File menu, choose New.
or
Note: you may also add your own documentation for any handlers you create to Designer's Help menu. To add an item to
Designer's Help menu, create a Help folder on the server under ..\I3\IC\Server, and place your help folder or files there. You can
create help files of any type, as long as there is an associated application. The next time Interaction Designer is started,
anything located in that directory will appear at the bottom of the Help menu.
Related Topics
Introduction to Handlers
Introduction to Initiators
Introduction to Subroutines
Overview of Building Handlers and Subroutines
Handler Standards
This topic describes the standards that were used in creating the handlers that shipped with CIC. We highly recommend adopting
these standards when creating your own handlers.
924
Call ID Interaction Interaction1
Conference ID conf confFollowMeCall
Database db dbCustomerData
Date Time dt dtTomorrow
DB Connection dbconn dbconnSQLSever
Diagnostic Data dd ddErrorMsg
EntryHdl enth enthTemp
EntryListHdl entlsth entlsthTemp
FaxEnvelopeID faxenv faxenvSend
FaxFileId faxfile faxfileIncomingFax
FaxObjectId faxobj faxobjTempFax
FaxPageListId faxpglst faxpglstProductListing
File Handle fileh filehTempData
Host Interface Connection hst hstMainFrame
Lock Handle lckh lckhThisLock
LoginHdl logh loghICUser
Mail Folder mf mfSentItems
MQ Connection mqcon mqconReportingQueue
MQ Object mqobj mqobjReortingObject
OperationListHdl oplsth oplsthTemp
Prompt prmpt prmptHello
Recording rec recConfCall
RequestHandle reqh reqhTemp
Semphore Lock Handle semlckh semlckhTemp
Sequence seq seqTemp
Session sess sessTemp
SessionHdl sesh seshtemp
SOAP Request soap soapTemp
SocketHandle sockh sockhTCPConenction
String s sName
UMF Message umf umfIncoming
Web Connection webconn webconnCustomerOrder
XML Node xmlnode xmlnodeUserInfo
XML Node Iterator xmlnodeit xmlnodeitProducts
925
Note that the Call ID variable does not follow the normal convention. This is intentional. Because all the xIC product lines focus on
processing interactions, this one variable is spelled out.
Subroutines
All handlers that start with an initiator other than the subroutine initiator should be named with this prefix: "System_" In addition, the
name of the handler should be in a mixed case, capitalizing the first character of each word. For example: System_IncomingCall.ihd
Any parameter (either input or output) to a subroutine should be named with a "p_" prefix. This allows anyone looking at the handler
to immediately know that this variable is a parameter to a subroutine. For example: p_Interaction1
Each subroutine should have a Boolean variable defined as bTransferred that is set to show whether the interaction is terminated in
this handler (False) or continues on (True).
Prompts
All fields within the Prompt Editor should be filled out: Prompt Name, Description, Chat Text, TTY Text.
In naming prompts, the names should be written in all uppercase with a suffix containing the language abbreviation. For example,
HELLOWORLD_ENUS.
General Layout
Handlers with tightly grouped or overlapping steps, links going in seemingly random directions, and unused tools are very hard for
others to read and debug. Sloppy handlers are also more likely to contain errors. While we do not want to dictate specific logic
flow, we do highly recommend following these general guidelines concerning layout:
Never allow links to flow through a tool step. Either move the steps to make more space, or re-route the link lines so that they
go around, instead of through, the intervening steps.
Do not bunch tools together; make sure there is plenty of white space between the tools. If you are modifying a handler and
need to make room for new steps, drag out the other tools to make space; do not just squeeze the tools in. Make use of the
zoom feature to grab and move large groups of tools if you need to make room for new steps.
All label fields on tool steps should be filled out. For example, assignment steps should have the variable name they are
assigning in the label, like "sUserName." Condition steps should give some indication of what is being evaluated, such as
"Success=TRUE?" or "iCount >= # of Users?," etc.
Drag all tool steps out wide enough that the Tool Name and Tool label are completely visible. The only exceptions to this might
be the selection tool that could contain very wide case elements, but even this can be widened completely in most cases.
Align your steps. If you have a number of tool steps that flow right to left, up to down, or whatever direction, align them so they
look nice. The alignment buttons in the layout toolbar make this a simple task.
Add notes as needed. If you are doing something that might seem odd or ambiguous to others, fill out the notes field to explain
what you are doing. For example, a note might explain that a set of tools is intended to work around a bug in LDAP. Prefix the
tool's label with the word, "NOTE:" to let others know that there is more information in the tool's properties page.
The description field of initiators should list any customization points in that handler.
When you are finished developing a handler, ensure only the variables being used are present in the handler by selecting all of
the unused variables in the Variable viewer and deleting them.
926
Save a handler or subroutine
Whenever a handler contains unsaved changes, Interaction Designer will indicate this by placing an asterisk (*) after the handler's
name in the title bar. To save the changes to a handler or subroutine:
1. From the File menu, click Save.
or
2. Type a description of your handler in the Publish Handler dialog box that appears. If you want the handler to be active upon
being published, select the Activate Handler check box and select whether the handler is a Primary or Monitor handler.
927
3. If you are publishing a subroutine, type a new subroutine category or select an existing subroutine category. These categories
represent tabs on the design palette, and typing a new category name creates a new page in the subroutine category field.
4. Click the OK button in the Publish Handler dialog box to continue the publish process.
If the publish operation is successful, the Please Wait dialog box disappears. If there are errors, the Parser Output dialog box
appears, as shown in the figure below.
928
Important notes about publishing:
Backup Copies:
A copy of the handler or subroutine (.IHD file) you are publishing is saved in CIC Directory Services. You can recover this file by
doing a search for the file on the server (it will have an extension of ".ihd."), and copying this file to another location. Then open
the file using Interaction Designer. Only the last published copy is saved, and previous copies are overwritten during the
publishing process. If you want to save older copies of handlers, you must save them manually to a backup directory.
Publishing Rights:
You must have handler publishing rights given in the Interaction Administrator, or you will receive an error when you try to
publish your handler. Contact the CIC system administrator to obtain publishing rights.
Also see the Batch Publishing topic for advanced options in publishing handlers.
Intermediate Publish
Generating an .i3pub file is a means of breaking the publishing processes into two stages so that a handler can be assembled,
packaged into an intermediate format and saved to disk, then transferred and published on an entirely different server. This
intermediate file contains the .class file, the configuration data for DS, the audio prompt data, and a copy of the .ihd file, along with
everything else needed for publish.
929
When this process is started, the user will be prompted for a directory into which the intermediate file will be saved. After making
this selection, the publish dialog box will appear which will prompt the user to enter a handler description and handler activation
data. Interaction Designer then converts the handler, compiles the code, and places everything needed for complete publish in a file
with the extension .i3pub in the specified directory.
When you select Generate .i3pub File from the File menu, the following dialog box appears:
Enter a description of the handler in the text window provided. If you want the handler to become active as soon as the publish is
complete, select the Activate Handler check box at the bottom of the dialog box. If Activate Handler is selected, you must also
select whether the handler is going to be a Primary or Monitor type handler. Follow these links to review the differences between
Primary and Monitor handlers.
When generating an .i3pub file for a subroutine, the dialog box looks slightly different than for a handler:
930
Add the appropriate notes in the text window and select whether or not you want the subroutine to become active immediately upon
publish, just as you would with an event-initiated handler. Also, you must select a category for the subroutine.
It is important to note that selecting the activation status of a handler will change any activation status the handler may have
previously had. For example, if a handler was Active Primary before, and someone republishes it and selects Active Monitor, then
that handler will be changed from Primary to Monitor. Interaction Designer attempts to help the user here by setting the default to
the condition that existed before -- if a previously published handler was active, then the checkbox will appear already checked; if it
was Primary, the Primary option will be set, etc. If the handler had not been published before, then it defaults to Inactive.
This "activate on publish" feature also applies to batch publish. Batch publish allows a user to create a text file listing .ihd files to
be published. The user can then start Interaction Designer with a command line parameter (/publish:{filename}) and Interaction
Designer will open the text file, then open each .ihd file listed and publish it. The user can also optionally specify the activation
status in the text file as well. Consider the following example batch publish file:
FirstOne.ihd
SecondOne.ihd | Primary
ThirdOne.ihd | Monitor
FourthOne.ihd
In this example, after FirstOne is published, there will be no change to its activation status (if it was Primary before, it's still Primary,
etc.) SecondOne will be set Active Primary, ThirdOne will be set Active Monitor, and FourthOne will have no change to its existing
activation status. If FirstOne or FourthOne had no activation status before (i.e. first publish on this server), then the default status
will be Inactive.
931
EICPublisher
EICPublisher is a simple command-line utility that can read .i3pub files and "finish publishing" them to the current CIC server.
EICPublisher is a separate executable that is shipped with Interaction Designer.
Note: EICPublisher 2.3 will not publish .i3pub files generated with any previous release of Interaction Designer. Only .i3pub files
generated with Interaction Designer 2.3 can be published with EICPublisher 2.3.
Usage:
To use EICPublisherU, enter the following command:
eicpublisheru [/help] [/?] [/verbose] [/noprompts] [/notifier={hostname}] [/user={username}]
[/password={password}] {filespec | @{file}}
where
/help or /? causes display of help text
/verbose causes the program to output extra process status info to stdout
/noprompts causes the program to avoid prompting the user for any input
{hostname} specifies a target CIC server
{username} specifies a valid CIC user id that has rights to publish on the target CIC server
{password} specifies the password for {username}
{filespec} specifies the file(s) to be processed
@{file} specifies the a text file listing the files to be processed
The [ ] means that piece is optional. Note that the username must have "Publish and Manage Handlers" rights (granted through
Interaction Administrator).
Examples:
Eicpublisheru /notifier=WhiteSands /user=JohnSmith Publishes all files that fit the mask "First*.i3pub" from
/password=smithj c:\temp\First*.i3pub the c:\temp directory.
Eicpublisheru /notifier=WhiteSands /user=JohnSmith Opens the file somefile.txt and publishes the
/password=smithj @somefile.txt intermediate files listed in there (one per line). So
somefile.txt could contain:
c:\temp\FirstOne.i3pub
SecondOne.someotherextension
ThirdOne.i3pub
Note: The files don't have to have .i3pub extensions -- EICPublisher does not require files to have any specific extensions.
When Interaction Designer generates the .i3pub file, it uses the same base name as the handler document. For example, if you
have FirstOne.ihd open, and you generate an .i3pub file from it, you'll get FirstOne.i3pub. You can rename that file to anything
you want, and EICPublisher will still process it. But the real handler name (FirstOne) is still contained in the .i3pub file, and that's
the name that will be used when it's published, not the name of the .i3pub file.
Example:
Suppose you start Interaction Designer, open FirstOne.ihd, generate FirstOne.i3pub, then rename it to NotTheFirstOne.junk. You
send NotTheFirstOne.junk to a customer and they run EICPublisherU on NotTheFirstOne.junk to publish it to their server. After
processing is complete, the handler FirstOne will exist on the customer's CIC server, not NotTheFirstOne.
932
Batch Publishing
Batch publishing is a way of publishing a group of handlers all at once, rather than one at a time through Interaction Designer. By
default, batch publishing publishes all of the default packaged handlers located in the i3\ic\handlers\40handlers directory. However,
you can also perform a batch publish on your own custom list of handler files.
Caution: The default batch publishing of all handlers should only be done when you install or upgrade CIC, unless you are
instructed to do so by PureConnect Customer Care. In a batch publish of the default handlers, any customizations you may
have made to your handlers (except customization handlers ) are overwritten by new handlers with the same name.
If you are logged into the CIC Server as the CIC administrator or system administrator, or if you have rights in Interaction
Administrator to publish handlers, you can perform a batch publish on the CIC server.
Note: You can optionally specify the activation status for each handler in the .lst file. For more information, see format
of the i3pubs.lst file.
4. Enter this command to publish the files listed in i3pubs.lst:
EICpublisherU @i3pubs.lst
For more information about this command, see EICpublisherU.
Note: To assign a category to a handler, you must publish it from within Interaction Designer or using the Interaction
Designer COM API. For more information on using the Interaction Designer COM API, refer to the Interaction Designer
COM API help in the PureConnect Documentation Library under the "System APIs" section.
933
/LogPublishEvents Causes Interaction Designer to write messages to NT event log instead of popping
modal dialogs.
Note: If a handler contains an instance of the DB Stored Procedure tool, the
/LogPublishEvents option will not prevent a dialog related to this tool from being
displayed. This tool in particular may require DSN login information to be provided in
order to work properly.
/ForcePublishClose Causes Interaction Designer to close after batch publish even if there were errors.
.i3pub Files
A similar method can be employed for generating a number of .i3pub files at one time. At the command line, enter the following:
idu /intermediatepublish:{filename}
This works the same as the batch publish described above except that the files are not published. They are instead placed in the
current directory as intermediate .i3pub files. The {filename} is the same format as for a batch publish.
934
Activating and Deactivating Handlers
Active handlers (and subroutines) are published handlers that run on your CIC server. Deactivated handlers are published handlers
that do not currently run on your CIC server. You can activate and deactivate handlers from Interaction Designer and Interaction
Administrator. Handlers may be activated at the time they are published if desired, as described in the section on Publishing a
Handler or Subroutine. After publishing (normal or batch publishing), you may activate a previously inactive handler or deactivate an
active handler. Both activating and deactivating handlers is performed in the Manage Handlers notebook.
Note: This procedure describes how to activate and deactivate handlers from Interaction Designer. For information on activating
and deactivating handlers from Interaction Administrator, see the Interaction Administrator online help.
To activate a handler from Interaction Designer:
This procedure may be performed after you have published your handler(s) and/or subroutine(s).
1. From the Interaction Designer Utilities menu, choose Manage Handlers.
The Manage Handlers notebook appears.
2. On the Primary Handlers page, select the handler(s) and/or subroutine(s) to activate in the Available Handlers list.
Note: If you don't see your handler listed in the Available Handlers list, check the Currently Selected Handlers
list to see if your handler is already activated. If so, you do not need to activate the handler and can quit this procedure
now. It may also be that the handler is running as a Monitor Handler. If the handler is running as a Currently Selected
Handler on the monitor page, you do not need to activate it again and can quit this procedure now.
3. Click the Add button to move the selected handler(s) to the Currently Selected Handler list. When you click OK, the handler is
activated and is available for use on the CIC server. You can now debug the handler if you want.
To deactivate a handler from Interaction Designer:
Note: You should perform this procedure if you want to stop a handler from running on the CIC Server.
Caution: If you deactivate a subroutine, and that subroutine is called by a currently running (activated) handler or subroutine,
errors may occur.
1. From the Utilities menu, click Manage Handlers.
The Manage Handlers notebook appears.
2. On the Primary Handlers page, select the handler(s) and/or subroutine(s) you want to deactivate in the Currently Selected
Handlers list.
Note: If you don't see your handler listed in the Currently Selected Handlers list, check the Available Handlers list to
see if your handler is already deactivated. If so, you do not need to deactivate the handler and can quit this procedure
now. It may also be that the handler is running as a Monitor Handler.
3. Click the Remove button to move the selected handler to the Available Handler list. When you click OK, the handler is
deactivated and is no longer available for use on the CIC server.
935
Manage Handlers notebook
In the Manage Handlers notebook you can activate and deactivate Primary and Monitor handlers. All published handlers are listed
here. Once you publish a handler, it appears in the Inactive Handlers list, unless it is already an actively running handler. CIC begins
to use Activated handlers as soon as another event occurs for which the handler is registered. If Interaction Processor is currently
running older versions of the handler, those threads finish before the new handler is used. Any threads running on handlers you
deactivate continue until the thread is finished.
Caution: CIC cannot differentiate between primary and monitor handlers in the Manage Handlers Notebook. This is why the
lists of inactive handlers are identical on the Primary Handlers and Monitor Handlers page. Make sure you don't activate a
primary handler on the Monitor Handlers page, or vice versa.
Note: You can also manage handlers in Interaction Administrator's Server Configuration container.
Primary handlers are generally handlers that act directly on objects such as calls within the system. Only one primary handler can
be activated for a given initiator. For example, you cannot activate two primary handlers that both start with the Incoming Call
initiator. Only one handler can act on the incoming call. This prevents two handlers from performing disparate actions on a single
object. If you attempt to activate two handlers that start with the same initiator, CIC generates an error message in the event log.
Monitor handlers do not actively manipulate or modify objects in the system. Typically they retrieve call attributes and write that
information to a database for reporting purposes, although they are not limited to reporting. CustomCallDisconnectMonitor
determines if a call was recorded, and if so, where to send a copy of that recording. Since monitor handlers are not acting on
objects, more than one monitor handler can use the same initiator. For example, CallDisconnectMonitor and
CustomCallDisconnectMonitor both use the Call Monitor Initiator configured to start when a call disconnects.
Click on one of the links below for more information on activating primary and monitor handlers.
Primary Handlers page
Monitor Handlers page
936
View Dependencies
When developing handlers, it is sometimes useful to see how all the parts fit together. A common question is, "What handlers call a
certain subroutine?" The Dependency Viewer allows you to see the interaction between the objects that make up handlers and the
handler themselves.
Interaction Designer supports the ability to track dependencies for the following objects used in handlers:
DB Profiles
Global Variables
HTML Templates
Initiators
InternationalString Resources
Prompt Resources
Sequence Resources
Subroutines
Tools
Choose the dependency that you want to view by selecting the appropriate item from the Dependency listbox. Click the plus signs
(+) beside an object shows its contents. Users can choose to group each type of dependency information in two ways. You can
either select to view the dependency information by what items (variables, tools, etc.) are used by a handler, or by handlers that use
each item by clicking on the appropriate "Group By" radio button on the dialog.
One thing to remember is that the dependency information displayed in this dialog is for published handlers only. Actions performed
on a handler that has not been published will not cause an update in the dependency information.
The Dependency View offers the following three options.
Download Handler
This downloads the selected handler to the directory specified in the Designer Preferences page. If no handler is specified there, the
user is prompted to supply a destination for the download.
Debug Handler
This opens the selected handler and initiates a debugging session.
937
Views Preferences
This tab in the Designer Preferences dialog box contains options you can set to affect the initial appearance of the Design window
each time a handler opens.
To display the Designer Preferences dialog box, click the Edit menu, click Preferences, and then click Designer Preferences.
Zoom
Set the initial zoom of the Design Window. This initial zoom can be anything from 10% to 200%. If a zoom size is set that is not one
of the standard sizes, that size will be added to the Zoom options given under the Layout menu.
Maximize on open
Select this checkbox if you want to have every handler automatically maximize on open.
Related Topics
Debugging Preferences
Designer Preferences Page
General Preferences
Handler Download Preferences
Customizing Handlers
Customization Points
Several handlers contain customization points. These are places where you can implement customizations and not worry about
future CIC releases overwriting your customizations. Customization points are just calls to customization subroutines. These
customization subroutine calls will always be in the same location, so there is no danger of future hotfixes or service releases
overwriting them.
Warning: Do not make changes in any base handler outside of the designated customization points. Doing so may cause CIC
to stop functioning properly. If you feel you must make a change to a handler outside of the designated customization points,
contact PureConnect Customer Care.
Customization subroutines can be located by using the Dependency Viewer. View the subroutine dependencies; all of the
customization subroutines have a naming scheme of "Custom" followed by an indicator of what it is intended to customize. For
example, "CustomHeldCallTimer.ihd" is the customization point provided for custom processing on calls that have remained on
hold longer than configured in the Held Call Timer server parameter.
System_AsynchronousDigitsReceived
This handler starts any time a GetDigitsExAsynch event is created by the Extended Get Key Async tool. This handler picks up call
processing where it was left off in the handler that generated the event.
System_CallOfferingNonSystemQueue
This handler determines the type of queue (user or workgroup) that a call should be routed to and calls the appropriate subroutine.
938
System_CallOfferingOperatorAttendant
This handler starts any time a Transfer to the operator is generated. The event is generated by handlers when a call on the IVR or a
call in the Interaction Attendant transfers to the operator.
System_CallOfferingOutboundAttendant
This handler starts any time a Transfer to the Outbound Attendant is generated. The event is generated by handlers when a call on
the IVR or a call in the Interaction Attendant transfers to the Outbound Attendant. Calls from Interaction Dialer may generate this
event when sending calls to an IVR.
System_CallOfferingSystemQueue
This handler starts any time a Transfer to System Queue event is generated. This event is generated any time a call is placed on the
system queue. The SetCallState step changes the state to connected, but it will fail if the call object no longer exists (i.e. the call
disconnected after this handler started). This handler is called only when a call is sent to the System queue after some other IVR
processing has been performed. New incoming calls are placed on the System queue by the Sytem_IncomingCall handler.
System_ClientDisconnect
This handler is intended to allow users to create custom handling for telephone calls being disconnected. This handler runs
whenever a Custom Client Disconnect initiator is fired. Once initiated, the handler queries the media type for the interaction to be
disconnected. If the interaction is a telephone call, the CustomClientDisconnect subroutine is called, then the call is disconnected.
For all other media, the interaction is simply disconnected.
System_ClientPlayRecording
This handler starts any time the client plays a recording through a user's currently logged in station.
System_ClientPromptRequest
This handler starts when a CIC client user presses one of the record prompt buttons located on the Configuration page. The three
types of prompts that can be recorded are Name, No Answer, Out of Office, and Smile. Information about the station and user queue
from which the request originated is also collected.
System_ContinuousListenRequest
This handler processes continuous monitoring requests from a CIC client. It simply calls SystemContinuousListen to perform the
monitor function.
System_EmailOfferingInteractionAttendant
This handler starts any time an email interaction is transferred from one node to another in the Email Attendant. This event is
generated by handlers.
System_FaxSendCompleted
This handler runs after a fax was successfully or unsuccessfully sent. After this handler runs, the server copy of the fax file is
deleted. If the Fax send was successful, an email is sent to the sender indicating success. If the fax send failed, an email indicating
the failure is sent to the sender. If the fax send failed, and the fax file was successfully created, the fax file is included in the failed
message email to the sender so that he or she can try resending.
System_GenericObjectOfferingNonSystemQueue
This handler uses the Query Queue Type tool to determine if the queue id is a user or workgroup queue and will send the call into
SystemIVRUserQueueCallback or SystemIVRWorkgroupQueue as appropriate.
System_HeldInteractionTimer
939
This handler starts when a call is on hold for a period of time longer than is specified in the Held Interaction Timeout server
parameter in Interaction Administrator. The handler then calls CustomHeldCallTimer to perform special processing on that call.
There is no processing by default, but you could configure anything you like.
System_IncomingCall
This handler answers an incoming call when it first comes in to CIC. System_Incoming Call then calls several customization points
to process the new call. This handler then calls SystemIVR where prompts are played and the caller's key presses are evaluated.
System_IncomingFax
System_IncomingFax looks for information in the Fax object and the IncomingFax event and uses this information to route the fax
to a recipient. This handler sends the fax file as an attachment to an email. It runs after the Fax server finishes receiving a fax.
System_IncomingInteraction
This handler processes an incoming web interaction when it first enters CIC and transfers it to the appropriate queue.
System_IncomingQueueEmail
This handler is initiated by the postmaster server any time an incoming email is detected. The handler retrieves the attributes of the
email object, formats the body and subject of the email, assigns any new attributes, and transfers the email object to the
appropriate queue.
System_IncomingSMS
This handler processes NewIncomingSMS events. It first calls CustomIncomingSMS, so that any customization can happen before
the standard process. If the handler is allowed to continue after the customization point, it fetches the System Parameter "SMS
Inbox" for the name of the mailbox the SMS should be sent to. If the System Parameter does not exist, the SMSObject is simply
disconnected.
In the other case, it queries the System Parameter "SMS Outbox", and will use the value for the ReplyTo field of the email. This
allows the agent or the user to reply to an SMS Message with another SMS Message. When the email is sent the SMSObject is
disconnected.
The Subject will contain the phone number used to send the SMS Message to the PureConnect Platform.
The Body will contain the text of the SMS Message.
Localization Note—the Template String SYSTEM_INCOMING_SMS_SUBJECT is used for the text of the Subject.
System_IncomingSR
This handler processes NewIncomingSR events. It first calls CustomIncomingSR, so that any customization can happen before the
standard process. If the handler is allowed to continue after the customization point, it fetches the System Parameter "SMS Inbox"
for the name of the mailbox the SMS should be sent to. If the System Parameter does not exist, the SMSObject is simply
disconnected. When the email is sent the SMSObject is disconnected.
The Subject will contain the phone number used to send the SMS Status Report to the PureConnect Platform.
The Body will contain the TicketId, the SMS Status, the SMS Detailed Status, the Client Id, and the Broker Date of the SMS
Status Report.
Localization Note—the Template String SYSTEM_INCOMING_SR_SUBJECT is used for the text of the Subject. The Template
String SYSTEM_INCOMING_SR_BODY is used for the text of the Body.
System_InitiateCallRequest
This handler places an intercom call or a call on an outside line. This handler is started when someone places a call using a CIC
client or places a call from a station.
System_InitiatePage
940
System_InteractionOfferingNonSystemQueue
This handler launches in response to an Interaction on Non System Queue event. It first determines the type of interaction, then
routes the intereraction to the appropriate queue.
System_InteractionVoicemail
System_MessageLight
This handler starts when a voicemail is left, a message is sent from remote voicemail, or when a reply is made to a previously left
voicemail. This handler will check each station associated with the message and set the voicemail indicator to on or off, depending
on whether or not there are unchecked messages still at that station.
System_OutgoingFax
This handler runs when a fax is sent manually from the Interaction Fax viewer. The only action this handler performs is to queue the
fax for sending.
System_OutgoingQueueEmail
This handler prepares an outgoing email to be sent. Any necessary formatting such as adding a "Re:" prefix to the subject line is
done, any attachments are bundled together, and the email object is transferred to the outgoing mail queue.
System_OutgoingSMS
This handler processes NewOutgoingSMS events. It is usually triggered from a Client application or via the SMS Send tool from a
handler. It just calls the SMS CompleteSend tool to instruct the SMSServer to actually send the SMS Message to the SMS Broker. It
simply disconnects the SMSObject on success. On failure, It will try to the SMS Results from the SMSObject and calls
CustomSystemError, then disconnects the SMSObject.
System_OutgoingSMSEmail.ihd
This handler monitors a mailbox and will use its incoming emails to send SMS Messages. The Subject must contains the
destination(s). In case of more than one destination, they must be separated with a comma, a semi-colon, a pipe, or a forward
slash. The body of the email is the text of the SMS Message. If the subject does not resolve in a list of valid phone numbers
(according to your Dial Plan), the process is cancelled silently.
Note : The shipped handler monitors the mailbox number 12. It is the responsibility of the CIC Administrator to set up that mailbox
in Interaction Administrator. When this operation is done the first time, it is advisable to reopen this handler and verify that it
actually points to mailbox number 12.
System_ParallelMakeCallProcess
System_QueueEmailOfferingNonSystemQueue
This handler starts any time a Transfer, to a user or workgroup, of a non-ACD Queue Routed Email is generated. For example, the
event will fire when an agent transfers an email interaction in the client to another user or workgroup. This handler determines the
type of queue (user or workgroup) that an email is routed to and calls the appropriate subroutine.
System_StationOffHook
This handler starts when someone picks up a station. This handler determines if there is a call waiting to be picked up. If there is a
call waiting to be picked up, that call is connected. If there is not a call waiting to be picked up, dialtone is played and the caller can
dial a number. When dialing, the caller may also enter Account and/or Authorization codes if necessary before dialing. The Station
Place Call then generates an Outgoing Call Request event that will start the System_InitiateCallRequest handler.
941
System_SupervisorAlert
This handler starts any time Interaction Supervisor sends an email alert. Interaction Supervisor alert data is formatted and packed in
an email message and sent to the intended recipient.
System_SwitchhookFlash
This handler starts when a user causes a flash event from a station connected to CIC. Flashes can be created either by quickly
depressing and releasing the station switch hook, or by pressing the telephone's flash button (if one exists). The purpose of this
handler is to allow station users (who are not running a CIC client) to perform basic operations such as transferring, conferencing,
and checking the contents of a station queue.
System_TransferCallRequest
This handler transfers a call to an internal extension or outside telephone number. This handler starts when someone transfers a
call.
System_TransferToVoicemailRequest
This handler sets a call's state to 'Voice Mail' and calls the VoiceMail subroutine. It is called from handlers, and when a CIC client
user clicks the Voice Mail button. This handler also identifiers the type of queue the call is on, and plays the appropriate prompts
for that queue's voicemail. If the caller is still connected after leaving voicemail, the call is transferred to the system queue.
System_TUIMenu
This handler starts any time the TUI is initiated in asynchronous mode. In asynchronous mode the handlers send an event to start a
new handler thread for processing the TUI. This allows for freeing the prior handler call stack so memory can be freed before
entering the TUI.
System_VoxFormRequest
This handler starts any time the voicemail player plays a recording through a user's currently logged in station.
System_WebCallBack
This handler is initiated from a callback request made at a website. This handler routes the request and sends an email to the
recipient containing information pertinent to the request and requestor.
System_WrapUpRequest
This handler starts any time an ACD call or a non-ACD call to a workgroup is flagged for an agent to enter a wrap-up code for the
call. The event is generated by handlers when a call flagged for wrap-up completes.
942
Retrieving the values of server and system parameters from handlers
Server and system parameters are variables whose values are set in Interaction Administrator. These values can be retrieved from
handlers, and from other locations within Interaction Administrator. For example, the Held Call Timeout server parameter
determines the number of seconds a call remains on hold before the Held Call Timer initiator starts a handler.
You can create your own custom server and system parameters and retrieve their values form within handlers. For example,
suppose you want to create a handler that retrieves the email address of the web administrator. If you hard coded the email address
in Send Email steps, you would have to modify your handlers each time you change web administrators. If the email address is
stored in a server parameter, any handler can retrieve that value each time it runs. When you change the email address stored in the
server parameter, all the handlers that retrieve that server parameter value are dynamically updated the next time they run.
See the Interaction Administrator online help for a list of default server and system parameters.
943
Service keys: Users, Lines, Line Groups, Workgroups, Stations. This is a long topic, and you may want to print it to keep as a
reference.
Notes: Don’t confuse attributes found in a Directory Services key with object attributes, which are pieces of information about
a call or chat object that travel with that object. For more information, refer to the Interaction Attributes Reference Guide
(attrib.chm) in the System APIs section of the PureConnect Documentation Library.
Attributes that start with a lowercase letter are set in e-mail server administration application (such as MS Exchange
Administrator or IBM Domino Administrator). Those that start with an uppercase letter are set in Interaction Administrator (IA).
User Key
Call Waiting Indicates if the user has enabled call "Yes" CIC client > Configuration > Calls
waiting. page > "Enable call waiting"
checkbox
Classification List Contains the list of phone number "Toll Free Intercom IA configuration of Default User,
classifications assigned to a role, Local Emergency" User, Role, or Workgroup, Access
workgroup, or user. Control tab, and Phone Number -
Classifications category
CompanyName Company name. "Interactive Intelligence, Email Server Administrator
Inc." program
Customize Client Allows user to customize the settings "No" IA User Configuration > Basic
on their client workstation. Security
Date Created The date on which this user key was "908400570" IA User Configuration > History
created.
Date Last Modified The date on which an attribute in this "913150263" IA User Configuration > History
user key was last modified.
Default Workstation From the Default Workstation list, "STEPHENSPC" IA User Configuration >
select the name of the workstation Configuration
primarily associated with the user’s
account.
DefaultMailFolder User's default mail folder for "Inbox"
accessing e-mail, voice mail, and
faxes.
DisplayName Name displayed in company directory "Schiller, Stephen" Email Server Administrator
and other locations. program, mailbox properties
EmailAddress Exchange email address (cannot be /o=i3/ou=i3-Home/cn= Email Server Administrator
changed). Recipient/cn=StephenS program
EmailAlias Email alias. "StephenS" Email Server Administrator
program
EmsExtensionAttribute1 Additional exchange attributes. "Jan 29" Email Server Administrator
program
EmsExtensionAttribute2 Additional exchange attributes. "[email protected]" Email Server Administrator
program
EmsProxyAddresses Set from Exchange. Do not modify. Email Server Administrator
program
EmsUSNChanged Set from Exchange. Do not modify. Email Server Administrator
program
Exclude From Directory Set to Yes if this option is selected. "Yes" IA User Configuration ?
Indicates if user is listed in Company Configuration tab > Exclude from
Directory. directory check box
Extended Absence Message Indicates the prompt file name if the \I3\IC\Resources\EAPro CIC client > Configuration >
user recorded an "Out of office mpt_Abell.wav Personal Prompts page > Record
message." out of office message button
945
Extended Absence Prompt Set to Yes if the user recorded an "Out "Yes" CIC client > Configuration >
of office message." Personal Prompts page > Record
out of office message button
Extension A unique (logical) extension number "114" IA User Configuration >
associated with this user. Configuration
Fax Capability Set to Yes if user or workgroup is "Yes" IA User Configuration > Options >
enabled to receive faxes. Fax Capability checkbox
Fax Use TIFF Set to yes if user, role, or workgroup is "Yes" IA User, Workgroup or Role
enabled to receive faxes. Configuration > Security tab > User
Rights 2 page > Use TIFF for faxes
checkbox
IA User Configuration > Security
Follow Me Set to yes if user has rights to use "Yes" tab > User Rights page > Follow
"Available, Forward" status. Me checkbox
Follow Me Alert Timeout Indicates the timeout (seconds) a 15|30 CIC client > Configuration > Follow
follow-me call alerts before trying next Me page
number.
Follow Me Message Indicates the Follow-me message D:\I3\IC\Resources\FMP CIC client > Configuration >
prompt name. rompt_ Personal Prompts page > Record
Abell.wav follow-me message button
Follow Me Pin Authentication Indicates if the user is required to "Yes|Yes" CIC client > Configuration > Follow
enter CIC password PIN to receive Me page
forwarded calls.
Follow Me Telephone Indicates the user's follow-me phone 7654699048|3174743633 CIC client > Configuration > Follow
Numbers number(s). Me page
Focus Gives the CIC client focus when a call "Yes" IA User Configuration > Client
alerts. Notification
Givenname First name. "Allen" Email server Administrator
program
Home Site The home site number for the user. 111 IA User Configuration >
Configuration tab
Listen In Permission to use the listen in button "No" IA User Configuration > Basic
on the CIC client Security
Mailbox The mailbox into which voicemail for "EX:/0=i3/ou=i3- IA User Configuration >
this user is placed. Home/cn= Configuration
Recipient/cn=StephenS"
MWI Address A user has MWI enabled and "1234" IA User Configuration > MWI
configured to notify a specific address.
MWI Enabled Indicates if the user has MWI enabled. "Yes" IA User Configuration > MWI
MWI Mode Indicates user's MWI status. "0" - Use default or IA User Configuration > MWI
logged in workstation
"1" - Send to SDMI port
"2" - Send to MWI
Address
Manager Handlers Permission to activate and deactivate "Yes" IA User Configuration > Basic
handlers. Security
946
Master Admin Top level permissions in IA. "Yes" IA User Configuration > Admin
Access
Message Notification Rights An alerting configuration option that "Yes" IA Client Configuration Template >
enables users to modify the general Alerting page
and parked call alerting options.
Modify Attendant Permission to modify Interaction [[All]] IA User, Default User, or Role
Configurations Attendant configurations in IA. Configuration > Access Control >
"Inbound" Modify Attendant Configurations
"Outbound"
Modify Line Queue List Permission to modify a Line Queue list "LineQueue1" IA User Configuration >
in IA.
"LineQueue2" Access Control >
Modify Line Queue
Modify Station Queue List Permission to modify a Station Queue "[[All]]" IA User Configuration >
list in IA.
Access Control >
Modify Station Queue
Modify User Queue List Permission to modify a User Queue "[[All]Administration]" IA User Configuration >
list in IA.
"KevinK" Access Control >
"StephenS" Modify User Queue
Modify Workgroup Queue List Permission to modify a Workgroup "Marketing" IA User Configuration >
Queue list in IA.
"Development" Access Control >
Modify Workgroup Queue
Name Prompt Set when a user records a name CIC client > Configuration
prompt.
Name Prompt Reminder Set by a handler to monitor the status "Sent" Handlers
of sending a user an e-mail reminder
about recording their name.
Name TTS Spelling A phonetic spelling of a user's name to "Kevin Koonz" IA User Configuration ? Phonetic
help the TTS engine "say" it accurately. Spellings
No Answer Message Set when a user records a No Answer CIC client > Configuration
Message.
Notes Notes typed on History page in IA. "This is a note." IA User Configuration >
History
NT Domain User Windows NT domain user name. "domain\user" IA User Configuration >
Configuration
Offering Call Timeout The number of seconds a call will alert "0" IA Default User Configuration >
before a handler takes over and Options
performs special processing, such as
Vmail.
Operator Target Number The number to dial for an operator. "0" Interaction Attendant
Parked Call Extension The destination extension for a parked IA Default User Configuration >
call that has reached its timeout. Used Options
in conjunction with Parked Call
Timeout.
PhonePrimaryFax Fax number "3177158114" Email Server Administrator
program
947
Phone Remote The phone number to use with the "7657290931" CIC client > Configuration
Available Forward status to forward
calls to a remote number.
PhoneHome1 The user's primary home telephone "7657163861" IA > Personal Info > General page
number.
PhoneMobile The user's mobile phone number. "3177280352" IA > Personal Info > More Phone
Numbers page
Pick Up Held Call Indicates if the user has enabled the "Yes" CIC client > Configuration > Calls
option to pick up the oldest held call page > Connect to Oldest Held Call
when picking up the phone, unless When I Pick up the Phone
there is an alerting call.
Pop Client Opens the CIC client when a call alerts. "Yes" IA User Configuration > Client
Notification
PostalCode Postal code (ZIP code). "46268" Email Server Administrator
program
Private Permission to set a call as private. "Yes" IA User Configuration > Basic
Security
Publish Handlers Permission to publish handlers. "Yes" IA User Configuration > Basic
Security
Queue Identifier Looking up this attribute will return the "User Queue:StephenS" (Internal)
fully qualified queue identifier;
however, this attribute does not
actually exist in the Windows NT
registry. The formula for this string is
"User Queue:" + the CIC username.
Record Permission to record a call. "Yes" IA User Configuration > Basic
Security
Require Forced Authorization Indicates whether or not a user's "Yes" IA User Configuration > Security
Code station phone allows toll calls without Rights > User Rights 2
an authorization code.
Ring Computer Audio alert through PC for incoming "Yes" IA User Configuration >
calls.
Client Notification
Ring Phone Telephone rings for incoming calls. "Yes" IA User Configuration >
Client Notification
Screen Calls Requires callers to record their name "Yes" IA Client Configuration Template >
so it can be displayed to the agent Follow Me page
before the agent accepts the call.
Show Config Page Permission to display Configuration "Yes" IA User Configuration > Basic
page in CIC client. Security
Show Lines Queue Page Permission to display Lines Queue "Yes" IA User Configuration > Basic
page in CIC client. Security
948
Show Report Page Permission to display Report page in "Yes" IA User Configuration > Basic
CIC client. Security
Show Stations Queue Page Permission to display Stations Queue "Yes" IA User Configuration > Basic
page in CIC client. Security
Show System Queue Page Permission to display System Queue "Yes" IA User Configuration > Basic
page in CIC client. Security
Show Users Queue Page Permission to display Users Queue "Yes" IA User Configuration > Basic
page in CIC client. Security
Show Workgroups Page Permission to display Workgroups "Yes" IA User Configuration > Basic
page in CIC client. Security
Show Workgroups Queue Page Permission to display Workgroups "Yes" IA User Configuration > Basic
Queue page in CIC client. Security
Status DND Indicates whether the user's current "Yes" CIC client interactions page.
status is a DND status.
Status Text The text of the user's status. "Do Not Disturb" CIC client interactions page.
Status Until Date If set, the date the user has set to "1998-12-7 00:00:00 CIC client interactions page.
return.
Status Until Time If set, the time the user has set to "10:00:00 AM" CIC client interactions page.
return.
StreetAddress Street address "1234 Abby Rd." Email Server Administrator
program
949
View Line Queue List List of Line Queues this user can view "LineQueue1" IA User Configuration>
in CIC client.
"LineQueue2" Access Control
View Reports List List of Reports this user can view in "[[All]]" IA User Configuration>
CIC client.
"[Graph] Area Code" Access Control
View Station Queue List List of Station Queues this user can "[[All]]" IA User Configuration>
view in CIC client.
"Line1Phone" Access Control
"Fax1"
View User Queue List List of User Queues this user can view "[[All]Administration]" IA User Configuration>
in CIC client.
"KevinK" Access Control
"StephenS"
View Workgroup List List of Workgroup Queues this user "Marketing" IA User Configuration>
can view in CIC client.
"Development" Access Control
View Workgroup Queue List List of Line Queues this user can view "Administration" IA User Configuration>
in CIC client.
"Support" Access Control
Whisper Tone Level Slider bar setting that indicates the IA Default User Configuration >
volume of the whisper tone an agent ACD Options
hears when there is an ACD call to the
workgroup.
Workgroups List of Workgroups of which user is a "Marketing" IA User Configuration>
member. "Support"
Workgroups
Workgroup
950
Date Last Modified The date on which an attribute "913150263" IA Workgroup Configuration
in this workgroup key was last > History
modified.
EmailAddress The mailbox into which "913150263" IA Workgroup Configuration
voicemail for this workgroup is > History
placed.
Extension A unique (logical) extension "3" IA Workgroup Configuration
number associated with this > Configuration
workgroup.
Has Queue Provides a queue into which "Yes" IA Workgroup Configuration
calls can be placed. > Configuration
International Permission to call international "Yes" IA Workgroup Configuration
numbers. > Basic Security
Listen In Permission to use the Listen In "Yes" IA Workgroup Configuration
button in CIC client. > Basic Security
Long Distance Permission to call long distance "Yes" IA Workgroup Configuration
numbers. > Basic Security
Manager Handlers Permission to activate and "Yes" IA Workgroup Configuration
deactivate handlers. > Basic Security
Master Admin Top level permissions in IA. "Yes" IA User Configuration >
Admin Access
Modify Workgroup Queue Permission to modify a "Marketing" IA User Configuration >
List Workgroup Queue list in IA. Access Control > Modify
"Development" Workgroup Queue
Notes Notes typed on History page in "This is a note." IA Workgroup Configuration
IA. > History
Offering Call Timeout The number of seconds a call "0" IA Workgroup Configuration
will alert before a handler takes > Options
over and performs special
processing, such as voicemail.
Private Permission to set a call as "Yes" IA Workgroup Configuration
private. > Basic Security
Workstation
952
Attribute Name Description Example Set from...
900 Service Permission to call 900 numbers. "No" IA Station Configuration >
Workstation Configuration
Active Indicates if station is active or "Yes" IA Station Configuration >
inactive. Workstation Configuration
Board Number Type the number of the Dialogic "9" IA Station Configuration >
station device interface board Workstation Configuration
supporting this workstation.
Channel SCBus Fax device channel "1"
number (only present if SCBus
type fax device).
Date Created The date on which this station "908400570" IA Station Configuration >
key was created. History
Date Last Modified The date on which an attribute in "913150263" IA Station Configuration >
this station key was last History
modified.
Driver
Extension A unique (logical) extension "5" IA Station Configuration >
number associated with this Workstation Configuration
workstation.
International Permission to call international "No" IA Station Configuration >
numbers. Workstation Configuration
Long Distance Permission to call long distance "No" IA Station Configuration >
numbers. Workstation Configuration
Notes Notes typed on History page in "This is a note." IA Station Configuration >
IA. History
Port Number The port number for this "9" IA Station Configuration >
workstation. Workstation Configuration
Queue Identifier Looking up this attribute will "Station Queue:STEPHENSPC" (Internal)
return the fully qualified queue
identifier; however, this attribute
does not actually exist in the
Windows NT registry. The
formula for this string is "Station
Queue:" + the CIC station name.
Remote Phone Number
Ring Always Determines whether station will "Yes" IA Station Configuration >
ring for alerting calls. Workstation Configuration
SnCreated For system use only. Do not ___________________ __________________
modify these values.
snModified For system use only. Do not ___________________ __________________
modify these values.
Station Type Station type, i.e. workstation, "Workstation" IA Station Configuration >
stand alone phone, analog fax Workstation Configuration
device, SCBus fax device, etc.
Line Key
953
Attribute Name Description Example Set from...
Active Indicates if line is active. "Yes" IA Line Configuration >
Configuration
Board Number The voice board number "1" IA Line Configuration >
associated with this analog line. Configuration
Board Type Line card type. "Analog" IA > Insert new line wizard
Caller ID Enabled Determines is caller ID is "Yes" IA Line Configuration >
enabled for this line. Caller ID
Caller ID Format One of three caller ID formats. "Class" or IA Line Configuration >
Caller ID
"ACLIP" or
"CLIP"
Date Created The date on which this line key "908400570" IA Line Configuration >
was created. History
Date Last Modified The date on which an attribute in "913150263" IA Line Configuration >
this line key was last modified. History
Direction Determines whether line accepts "Inbound" or IA Line Configuration >
inbound, outbound, or both types Configuration
of calls. "Outbound" or
"Both"
DNIS Enabled Determines whether line is DNIS "Yes" IA Line Configuration >
enabled. Caller ID
Inband Transfer Enabled Determines whether flash hook "Yes" IA Line Configuration >
transfers can be performed on Configuration>CO Supports
this line. Flash Hook transfer
Phone Number The phone number associated "555-1212" IA Line Configuration >
with this line. Configuration
Port Number The analog board port number "1" IA Line Configuration >
where this line is plugged in. Configuration
Prefix Digits The digits required by the CO for "9" IA Line Configuration >
calls made on this line. Configuration
Queue Identifier Looking up this attribute will "Line Queue:Line1" (Internal)
return the fully qualified queue
identifier; however, this attribute
does not actually exist in the
Windows NT registry. The
formula for this string is "Line
Queue:" + the CIC line name.
Silence Auto Disconnect Determines whether CIC or CO "Yes" IA Line Configuration >
Enabled evaluates silence as an Configuration
autodisconnect.
Silence Time The number of milliseconds to "1000" IA Line Configuration >
wait before disconnecting when Configuration
silence is detected.
SMDI Enabled Determines whether PBX has "No" IA Line Configuration > SMDI
enabled SMDI support on this
line.
954
Voice Resource Only
Date Last Modified The date on which an attribute in "913150263" IA Line Group Configuration
this line group was last >
modified..
History
Lines List of lines included in this line "Line1" IA Line Group Configuration
group. >
"Line2"
Configuration
"Line3"
Description A textual description for the line "This is a line group." IA Line Group Configuration
group. >
Configuration
snCreated For system use only. Do not ___________________ ___________________
modify these values.
DnisDid Key
955
Attribute Name Description Example Set from...
Digits The number the caller dials that "8794343" System Configuration >
associated with a certain queue DNIS/DID
identifier. (This number may not
necessarily be the number dialed
by the caller. The service provider
may send a truncated number or
a completely different number
depending on the definition of
service.)
Queue Identifier The fully qualified queue "Workgroup Queue:Marketing" System Configuration >
identifier where the call is routed DNIS/DID
when the specified digits are
dialed.
Debugging Handlers
956
Debugging
Debugging allows you to monitor a handler as it runs and to stop it at locations or situations of your choosing. You can set a
breakpoint on a particular step, for instance, and let your handler execute until it reaches that step. If you are interested in the values
assigned to a variable, you can have the debugger pause execution ("break") whenever the handler changes the variable's value.
When you debug a handler, you are viewing the handler in read-only format. When the handler runs on the server, it pauses whenever
it reaches a Notify Debugger step or any step that has been set as a breakpoint. Handlers that do not contain any Notify Debugger
steps will pause at the initiator. You can then establish other breakpoints in the handler and let the handler execute until it reaches
the next breakpoint.
In Debug mode, the debug toolbar and debug palette appear to allow you to manage the debugging session.
Interaction Designer's Debug mode is closely integrated with the Interaction Processor to support debugging over a network. This
allows you to run Interaction Designer on a client workstation to debug a handler even though that handler is actually executing on
the server.
You must be running a copy of Interaction Designer connected to the server running the handler you want to debug.
The handler or subroutine you want to debug must be published and running (activated ) on the server.
Related Topics
Debug a handler
Monitor the changes in the value of a variable in a debug handler
Setting a breakpoint
Stop the debugger
View the value of a variable in a debug handler
Debug a handler
This procedure describes the process for debugging a handler.
1. Open the handler you want to debug.
2. Publish the handler (if not already published).
3. Choose Debug Handlers… from the Utilities menu
4. Choose the handler you want to debug and Click on OK.
Shortcut: you may also click on debug button to debug the published version of the currently displayed handler.
Designer will open a debug session window containing a read-only copy of the handler being debugged. This file has the extension
.DBG. Steps that are breakpoints, i.e., Notify Debugger or the Initiator if the handler does not contain any Notify Debugger steps,
plus any other steps that have been designated as breakpoints, appear in red. Also, the background of the design window will be
wallpapered with the word "Debug" to further show that the active handler is running in debug mode.
When the handler is started on the CIC server and execution hits the first Notify Debugger or initiator breakpoint , the first
breakpoint in the handler becomes highlighted and the handler execution pauses. You are now in debug mode. While in debug mode,
you can see the values of variables in the Debug palette.
Note: When debugging a subroutine, if you set the breakpoint on the subroutine initiator, the values passed in by the calling
handler are not set in the local handler variables until after the subroutine step executes. It’s the execution of the subroutine
step that assigns the variables.
Related Topics
Debugging
Monitor the changes in the value of a variable in a debug handler
Setting a breakpoint
Stop the debugger
View the value of a variable in a debug handler
957
Stop the debugger
While in Debug mode, you can stop the debugger to end the debug session for the current handler. If you stop the debug session, a
prompt appears asking if you want to kill the handler. If you choose No, the handler continues to run to its normal completion. If
you choose Yes, then all execution of the handler stops at that breaking point and does not continue to execute in IP. This behavior
is configurable through the Designer Preferences page.
Set a breakpoint
A breakpoint causes a handler running in debug mode to pause execution. While the handler is paused, you can check the values of
variables. You can set breakpoints in two ways. First, when the debug session is initially started, you will be prompted to pick a
Notify Debugger step or initiator to break on. After one of those initial breakpoints is hit, you can then set a breakpoint on other
steps.
Your handler must be in debug mode for the following procedure.
To set a breakpoint:
1. Right-click on the step you want to set as a breakpoint.
2. Choose Set Breakpoint from the menu that appears. The step's color changes to red. When the debug handler runs, it will
automatically stop at this step.
Similarly, you can remove a breakpoint by choosing Remove Breakpoint.
Related Topics
Debugging
Debug a handler
Monitor the changes in the value of a variable in a debug handler
Stop the debugger
View the value of a variable in a debug handler
958
Viewing the Value of a Variable While Debugging
By default, the Debug palette appears at the bottom of the window at the start of a debugging session. The first tab on this palette
is the Watch Variables tab. This window displays the values of watch variables throughout the debugging session and also gives
you the option to have the handler pause whenever the value of one of the watched variables changes.
When the value of a watched variable changes, the background color changes for that variable in the watch window.
When the debugging session is first started, the watch window is empty. There are several ways to add variables to it:
You can drag variables into the Watch window directly from the Variables palette. Simply select the variable or variables you
want to monitor from the Variables palette and drag them into the Watch palette.
You can also add variables to the Watch window from the Variables palette by right-clicking on them and selecting "Add
Selected Variable(s) to Watch Window."
You can add variables by clicking the "< Click to Add >" entry in the listview. When this is done, a combo box appears from
which users can select the variables they want to watch.
Users can right-click on the watch window itself to display a pop-up menu that allows them to add variable watches. Select the
Add menu item to display the drop-down combo box from which users can select the variables they want to add.
You can add, change, or remove watch variables from the watch window by right-clicking them and selecting the appropriate option
from the pop-up menu.
If the watch variable value is too large to fit in the Value column, users can click on values displayed in the Value column to display
the value in the Variable Value Details View dialog.
When viewing the value of a native type variable (i.e., String, Integer, Boolean, DateTime, Numeric), users can dynamically update the
value of the variable while debugging on this Details Window. By default, the dialog creates an expression for the variable when the
dialog is displayed. If the user wants to change the value of the variable, they can do so in the expression editor control and then
click on the Set Value button.
Note: setting the value of a variable is only supported for native type variables in a debug session.
When execution is paused on the initiator in a debug session, handler variable values will have their initial values set. This is
because it is the execution of the initiator step that assigns the initiator output values to the handler variables. All parameters
passed in to a subroutine (either input only or input/output) are assigned after the subroutine initiator runs.
Related Topics
Call Stack
Debug a handler
Debug Palette
Debugging
Handler Variables
Monitor the changes in the value of a variable in a debug handler
Setting a breakpoint
Step Variables
Stop the debugger
Watch Variables
959
Monitor changes in the value of a variable in a debug handler
While in debug mode, you can watch for a change to the value of one or more variables. Interaction Designer checks for changed
variables at each breakpoint, and will highlight any watched variables that have changed since the previous breakpoint in the Watch
Variables window in the Debug Palette.
If you want the handler to pause when a watch variable changes, select the "Break on Change" box for that variable in the watch
window. If the variable's value changes, the handler will pause execution at the next step. Note that because the variables don't
change until a step exits, the step that execution pauses on is not the step that changed the variable. The variable was changed by
the previous step.
Related Topics
Debug a handler
Debugging
Setting a breakpoint
Stop the debugger
View the value of a variable in a debug handler
960
Introduction to Subroutines
Subroutines are handlers started by other handlers, as opposed to handlers started by events on the CIC server. Subroutines are
useful for many reasons.
First, a subroutine nicely encapsulates a set of logic into a single callable action. Thus, you can "reuse" a subroutine by calling it
from any handler where that set of logic is appropriate. For instance, suppose that you have created a subroutine called
LookupAccountNumber. Given a person's name, that subroutine will open a customer database, look up that person's account
number and return the account number to the handler that called it. Now, imagine a system of handlers that deals with customer
support. In such a system, the need to retrieve customer account numbers is a common one. Thus, when you build the customer
support system, you would be able to call LookupAccountNumber from any handler that needs such information.
Second, subroutines ease your maintenance burden. Recall the first example of LookupAccountNumber. Suppose that, after your
customer support handlers are finished and working, the customer database is redesigned. Instead of directly tying customer name
to account number, the database has been changed to tie customer name to social security number, and then, in a separate table, to
tie social security number to account number. Since your LookupAccountNumber localizes the access to the database in a single
handler, you only need to change how LookupAccountNumber gets the information. Essentially, you'll change it to use the given
name, retrieve a social security number, and then use the social security number to retrieve the account number. This change can
be made without any changes to all the other handlers that call LookupAccountNumber.
Third, subroutines make handler building more visually manageable and understandable. By localizing groups of steps into
subroutines, you can cut down on the number of steps that appear in the calling handler. Handlers with hundreds of steps can be
very hard to understand and manage; a few subroutines can make a large handler easy to modify and understand. Essentially, by
using subroutines properly, you break the logic down into manageable pieces.
Creating subroutines is almost exactly like creating handlers. There are two differences.
The first difference is that every subroutine starts with a subroutine initiator. In this subroutine initiator, you'll define what
information is passed into the subroutine from a handler that calls it. You'll also decide what information can be passed back to the
handler that calls the subroutine. These pieces of information exchanged between a subroutine and its caller are called parameters.
See Add or edit a subroutine parameter for more information.
The second difference appears during the publish process. If you are publishing a subroutine, you need to select or enter a
subroutine category on the Publish Handler dialog. During the publish process, Interaction Designer creates a subroutine tool for
the design palette.
When a subroutine is published, a tool for that subroutine appears on the subroutine palette. To create a call to the subroutine from
any handler, simply drag the subroutine tool from the subroutine palette and drop it onto the handler.
Subroutines may be saved and loaded into Interaction Designer in the same manner as other handlers. To ease handler authoring,
however, there are two additional ways in which subroutines may be loaded and viewed:
1. When viewing a handler containing a subroutine step, you may right-click on that step and select "Download from Server" from
the pop-up menu. This will download the subroutine to the directory specified in the Designer Preferences. If no directory is
specified there, the user will be prompted for one. Once the subroutine is downloaded, it will open in a new window.
2. From the Subroutine page of the Design Palette, you can right-click on a subroutine icon and select "Download from Server"
from the pop-up menu. This will also download the subroutine to a specified directory and open it in a new window.
The Published version of the subroutine that is running on the server will always be the version that is downloaded.
Related Topics
Add or edit a subroutine parameter
961
Add or edit a subroutine parameter
Subroutine parameters can be added and deleted form the Properties notebook of a Subroutine initiator. Add or edit a subroutine
parameter any time you need to capture information from the handler that calls the subroutine. The parameters that you enter using
this procedure appear in the subroutine tool that appears on the subroutine palette. The parameters do not appear in the step that
calls the subroutine until you publish the subroutine.
3. Enter a parameter label. This label appears in the step that calls this subroutine.
4. Enter a variable name to hold the value entered for the parameter.
5. Choose a type for the variable.
6. Select or clear the This parameter will be used only as an input value to this subroutine check box.
If you want the parameter to pass a value back to the handler that called it, make sure the check box is not selected. Selecting
this check box means that the value of this parameter cannot be changed within this called subroutine. Deselecting this check
box means that the value of this parameter can be changed within this subroutine and changes will be passed back to the
handler that called this subroutine.
7. If you want a default value for the parameter, type it in the Default entry dialog box. This can be a constant value, a value of a
variable, or an empty string.
8. Click OK to add this subroutine parameter.
Managing Handlers
962
Manage Handlers notebook
In the Manage Handlers notebook you can activate and deactivate Primary and Monitor handlers. All published handlers are listed
here. Once you publish a handler, it appears in the Inactive Handlers list, unless it is already an actively running handler. CIC begins
to use Activated handlers as soon as another event occurs for which the handler is registered. If Interaction Processor is currently
running older versions of the handler, those threads finish before the new handler is used. Any threads running on handlers you
deactivate continue until the thread is finished.
Caution: CIC cannot differentiate between primary and monitor handlers in the Manage Handlers Notebook. This is why the
lists of inactive handlers are identical on the Primary Handlers and Monitor Handlers page. Make sure you don't activate a
primary handler on the Monitor Handlers page, or vice versa.
Note: You can also manage handlers in Interaction Administrator's Server Configuration container.
Primary handlers are generally handlers that act directly on objects such as calls within the system. Only one primary handler can
be activated for a given initiator. For example, you cannot activate two primary handlers that both start with the Incoming Call
initiator. Only one handler can act on the incoming call. This prevents two handlers from performing disparate actions on a single
object. If you attempt to activate two handlers that start with the same initiator, CIC generates an error message in the event log.
Monitor handlers do not actively manipulate or modify objects in the system. Typically they retrieve call attributes and write that
information to a database for reporting purposes, although they are not limited to reporting. CustomCallDisconnectMonitor
determines if a call was recorded, and if so, where to send a copy of that recording. Since monitor handlers are not acting on
objects, more than one monitor handler can use the same initiator. For example, CallDisconnectMonitor and
CustomCallDisconnectMonitor both use the Call Monitor Initiator configured to start when a call disconnects.
Click on one of the links below for more information on activating primary and monitor handlers.
Primary Handlers page
Monitor Handlers page
963
Monitor Handlers page
Monitor handlers do not actively manipulate or modify objects in the system. Typically they retrieve call attributes and write that
information to a database for reporting purposes, although they are not limited to reporting. CustomCallDisconnectMonitor
determines if a call was recorded, and if so, where to send a copy of that recording. Since monitor handlers are not acting on
objects, more than one monitor handler can use the same initiator. For example, CallDisconnectMonitor and
CustomCallDisconnectMonitor both use the Call Monitor Initiator configured to start when a call disconnects.
Caution: CIC cannot differentiate between primary and monitor handlers in the Manage Handlers Notebook. This is why the lists of
inactive handlers are identical on the Primary Handlers and Monitor Handlers page. Make sure you don't activate a primary handler
on the Monitor Handlers page, or vice versa.
Note: You must have manage handler rights (configured in Interaction Administrator) to activate and deactivate handlers.
Inactive Handlers
Handlers in this list are registered on the server but not active.
Active Handlers
Handlers in this list are registered with the Interaction Processor and currently active (monitoring events in the Interaction
Processor).
964
Primary Handlers page
Primary handlers are generally handlers that act directly on objects such as calls within the system. Only one primary handler can be
activated for a given initiator. For example, you cannot activate two Primary handlers that both start with the Incoming Call initiator.
Only one handler can act on the incoming call. This prevents two handlers from performing disparate actions on a single object. If
you attempt to activate two handlers that start with the same initiator, CIC generates an error message in the event log.
Caution: CIC cannot differentiate between primary and monitor handlers in the Manage Handlers Notebook. This is why the
lists of inactive handlers are identical on the Primary Handlers and Monitor Handlers page. Make sure you don't activate a
primary handler on the Monitor Handlers page, or vice versa.
Note: You must have manage handler rights (configured in Interaction Administrator) to activate and deactivate handlers.
Inactive Handlers
Handlers in this list are registered on the server are but not active.
To activate a primary handler:
Double-click on the inactive primary handler's name.
or
Select the inactive primary handler's name and click Add.
Active Handlers
Handlers in this list are registered with the Interaction Processor and currently active (available for use by the Interaction
Processor).
To deactivate a primary handler:
Double-click the active primary handler name.
or
Select the active primary handler and click Remove.
965
Insert a Write Trace step that identifies the handler name and that it started. The IP.log trace log only shows when a handler
finishes. It does not indicate when a handler starts.
Assign blank or null values to all assignment steps.
Design your handler so that the steps flow down and fill the screen but not so far that you have to scroll down to see the steps.
Then connect and start over at the top. As the handler gets larger, add columns of steps to the right. This makes it easier to scroll
through the handler since you only have to scroll to the right and not down. A variation would be to reverse the layout and make it
so you scroll down but never to the right to view the handler.
Get a video card that can support dual monitors or high-resolution setting to minimize the amount of scrolling you'll need to do.
Expand step size to show the values and the step label.
Use "Hungarian Notation" to prefix variable names with the type of variable. For example, a string variable name would be prefixed
with "str". A list of string would be "lstr". Look at the default handlers for examples. The Queue Period Stats handlers are a good
example.
Many handler authors use "link" steps to clean up link lines. The link steps are usually just dummy assignment steps for a variable
called Link. Instead of creating Link as a string variable, make Link an integer. Integers take up less space.
Design handlers so as to avoid making it necessary to open the handler to make small changes. Use server parameters, IA tables or
database tables to store the information like directory paths, file names, server names, external numbers for blind transfers, or
anything else that may need to be changed.
After making many changes to a handler, select all the steps (Ctrl+A) and then copy and paste the steps into a new handler. This
will remove any un-used variables and will renumber the steps.
Just end the accumulator server using the Task Manager and let it restart on its own.
Create custom attributes to store default attributes that are not stored
Certain default call attributes such as ANI/DNIS string are not populated by default. Make a point of initializing these call attributes.
Related Topics
ACD Queue Tips
Database Practices
Documentation Practices
966
Efficiency Practices
Handler Best Practices
Limiting the Impact on Interaction Processor
Overall Project Tips
Overview of Building Handlers and Subroutines
Prompts
Troubleshooting Tips
Documentation Practices
Instead of using notes for the initiator, use the File Properties dialog to document a handler.
Use an assignment step labeled "ReadMe for steps X to Y" to document a series of steps.
Paste the statement value into the step notes in order to document the condition and to make editing easier. Make changes to the
statement in the notes and then paste the changes into the statement value.
Anytime you make changes to a production handler or a handler that someone else wrote, indicate which steps you changed by
changing the step label. Add an "*" before the label along with your initials. Also indicate the changes you made in the step notes.
You or someone else can then easily find any changes made to the handler by using the QuickJump utility. Steps with "*" labels will
be at the top of the list.
Related Topics
ACD Queue Tips
Database Practices
Efficiency Practices
General Handler Authoring Practices
Handler Best Practices
Limiting the Impact on Interaction Processor
Overall Project Tips
Overview of Building Handlers and Subroutines
Prompts
Troubleshooting Tips
967
Efficiency Practices
Avoid repeatedly looking up Directory Services/Registry information by assigning the information to call attributes. Simply retrieve
the attribute at any time in any other handler when you need the information again about the call.
If the database state does not change often, make your database driven handlers more efficient by avoiding lookups for every call
by storing the state in accumulators and then looking at the value of the accumulator for every call. A good example of this would
be storing queue open and closed times in a database and then creating a handler that periodically does the database lookup and
stores the value in an accumulator. These handlers would deal with incoming calls then only look at the accumulator rather than
performing the disk intensive DB lookup themselves.
This type of design is especially useful for systems that handle large volumes of calls. A variation of this design is to use registry
entries to store and retrieve the values. The point is to try to minimize disk intensive tasks with every call.
Related Topics
ACD Queue Tips
Database Practices
Documentation Practices
General Handler Authoring Practices
Handler Best Practices
Limiting the Impact on Interaction Processor
Overall Project Tips
Overview of Building Handlers and Subroutines
Prompts
Troubleshooting Tips
968
Overall Project Tips
If you are creating handlers for a third party, don’t count on your customer to be able to adequately back up custom handlers
themselves. Maintain copies of their handlers off site. This also protects you from any changes they might make to the handlers
you have written for them.
When creating handlers for a third party, name customer-specific handlers with a common prefix in order to more easily sort,
publish and manage them. However, you should avoid attaching specific company or project names to handlers in case you need to
reuse the handler for another project.
Avoid naming handlers and variables and other items after clients or projects so that you can easily reuse the handlers for other
clients or projects. This is especially true with subroutines that act like functions.
Plan out handlers using call flow Visio diagrams. Make sure all paths for all options in the call flow end with specific requirements.
A common mistake is to leave most of the detail out of the minor options. Get a sign-off on the call flow scope of work before
starting. No work should be done without a signed call flow.
Use server parameters to customize handlers for certain projects or provide specific names to handler items.
Related Topics
ACD Queue Tips
Database Practices
Documentation Practices
Efficiency Practices
General Handler Authoring Practices
Handler Best Practices
Limiting the Impact on Interaction Processor
Overview of Building Handlers and Subroutines
Prompts
Troubleshooting Tips
Database Practices
Use views and stored procedures established for date time conditions
969
Stored SQL procedures and views execute much faster than queries especially in the case of date time conditions
Use the Logging Custom Passthrough tool for all database writes
Using the regular DB tools to write data to tables can fail if the connection to the database is down. By using the Logging Custom
Passthrough tool you can take advantage of the built in support for MSMQ in CIC and assure that your writes will be processed
when the connection is restored. The only limitation is that you must create your own table in the CIC database. You can’t use the
LCP tool to write to other databases.
Are all database connections closed when a handler is stopped? Should the connection be released/closed?
All handlers should contain cleanup code that will be called when the handler exits. Every handler that creates a DB connection will
register a cleanup code to release it if it is not explicitly released in the handler.
In earlier releases of CIC, it was possible to cause the reference count on the DB to get improperly set when the connection handle
was passed to a subroutine. This caused it to not be automatically cleaned up if the handler were to exit unexpectedly. Even though
this problem no longer exists, we still feel people should explicitly release the connection themselves in the handlers, just to be
extra safe and to promote good programming habits.
In theory, yes. The default of 64 database connections is only a default. This can be increased by setting a command-line parameter
to IPDBServer (when running as a service, you set this in the registry under the CIC process tree entry for IPDBServer). However, 64
connections is a huge number of connections. If you are finding that you need more, you probably have some long-running
transactions somewhere that need to be optimized. Although you can raise the max connection limit, keep in mind that in reality
there really isn't such a thing as a truly 'unlimited' number of connections. DB connections take a lot of resources - both on the
client and on the server. So you are going to hit a practical limit at some point. What exactly that limit is depends on the machines
involved and how much degradation you are willing to live with, but somewhere around 100 connections would be a good point to
start being concerned.
Is it true that DB's must be opened and closed within a handler so connections are not passed through as
subroutine parameters? Instead, should new connections be made in every handler?
Again, this isn't a requirement - we do support passing connection handles to subroutines. However, doing so usually violates the
principle of not holding onto valuable resources (in this case, DB connections) any longer than you absolutely must. If the
operations performed in the subroutine are logically part of the same transaction as the caller's, then you should question why they
are encapsulated in the subroutine. If they are an independent transaction, then they should get and release their own connections.
Remember, with connection caching getting a connection (after the first initial connection) is a very fast operation. Connection
caching does change the way you do things, but it is worth it. Besides the obvious benefit of virtually eliminating the overhead of
constant connecting/disconnecting, it also promotes good transactional programming style. In a very simplified format, here is one
effective approach within CIC:
1. Identify all of the individual database transactions needed. A transaction for this discussion means a series of database
operations that must either all be completed (committed) successfully, or all be completely undone (rolled-back). In other
words, the series of operations must appear to be one single operation that either succeeds of fails (i.e. no partial succeeding).
Implicit in this definition is the requirement that the operations in the transaction must be intricately linked together in order to
preserve database consistency. In other words, if they are not intricately linked together, then they should be separated into
their own transactions.
Note that a transaction of just one operation is legitimate; in fact, this is the most common type of transaction. From a
theoretical standpoint, whether a transaction is composed of one operation or several is irrelevant. However, from a
programming standpoint it is. Most RDBMS guarantee that an individual operation, like an INSERT statement, will behave
atomically (the behavior when triggers are introduced does vary, though). But if you want this atomic behavior for multiple
operations, you must inform the RDBMS of this. In CIC, you would issue a BEGIN TRANSACTION command (via DB SQL Exec),
followed by either a COMMIT TRANSACTION or ROLLBACK TRANSACTION when you are done.
People will sometimes group unrelated or semi-related operations together under one transaction when they really belong in
separate transactions. This is often done out of convenience, or out of an attempt at optimization. Try hard not to do this.
When you are identifying transactions, the question you need to ask yourself is "will my database really be in an inconsistent
state if I split these operations apart and one of them succeeds and one fails?" If the answer to that question is no, then split
them into separate transactions.
2. Every transaction - whether composed of a single operation or multiple operations - should get & release its own connection.
The amount of time the connection is held should be minimized as much as possible. I.e., get it just prior to using it, and
970
release it immediately afterwards.
3. Implement each transaction in its own separate subroutine. The subroutine should have no other purpose other than to execute
the database transaction, returning any result data back to the caller. It should not be doing any other significant processing.
While this may at first seem hard to accomplish, cases where you legitimately can't do this are exceedingly rare.
A common situation where people don't think they can do this is when they need to fetch multiple rows of data and perform
some work on each row. However, in almost all cases, fetching everything into a list first will solve this.
One advantage to putting all your database code in separate, usually small, dedicated subroutines is that if your database schema
changes you will only need to make any corresponding handler changes in a small set of well-isolated subroutines. Even better, if
you decide to implement some transactions in stored procedures, the changes would only involve those subroutines. Also, one of
the biggest benefits of using dedicated subroutines is that it helps enforce the habit of identifying and encapsulating independent
transactions.
No, since we are not actually opening & closing connections, but instead getting & releasing connections to/from the cache.
Related Topics
ACD Queue Tips
Documentation Practices
Efficiency Practices
General Handler Authoring Practices
Handler Best Practices
Limiting the Impact on Interaction Processor
Overall Project Tips
Overview of Building Handlers and Subroutines
Prompts
Troubleshooting Tips
Troubleshooting Tips
Add Log Event steps after most failure paths in order to log the error to the NT Event log. Errors logged this way are much easier to
find than looking at trace logs. Use the "Error" log type sparingly. Use the "Warning" type instead unless the error is really bad.
Identify the handler name in the text of every Log Event step by inserting a variable called HandlerName in the text. Also identify the
previous step number that triggered the log event and a brief description of the possible problem. Please note that some telephony
tools will follow the failure path even when no "real" failure occurred. The Extended Get Key, for instance, will take the failure path if
the caller hangs up or is disconnected while the Get Key is playing prompts or waiting for input.
"Informational" NT Event log messages can be created in a handler using the Log Event tool. Use them to verify important steps in a
handler or track major changes or unique events in a handler. Can also be used to troubleshoot handlers by identifying failure paths
or other unwanted behaviors. Use this method rather than debugging handlers or looking at trace logs. Create Assignment steps
with HandlerName to find errors in Event logs more easily.
For handler paths that end with multiple possible conditions or selections, insert a blank assignment step in order to facilitate
troubleshooting. When debugging without these steps, it can be hard to determine which path is taken.
971
You can turn any step into a breakpoint after a handler is already in debug mode. Your handler must already be in debug mode to set
a breakpoint:
1. Right-click on the step you want to set as a breakpoint.
2. Choose Set Breakpoint from the menu that appears. The step’s color changes to red. When the debug handler runs, it will
automatically stop at this step.
Use a condition step for cell phone ANI before debug step
To debug a handler on a live system that is receiving many calls, insert a Condition step before a Notify Debugger step that checks
the ANI call information and matches it to your cell phone number. This will allow you to debug a live call without risking
interrupting a customer call. Only your cell phone number will trigger the debug. Consider using a system parameter for the ANI
string to avoid having to republish the handler when you want to change the debug trigger number.
Trigger your subroutine handler for debugging using a Send Custom Notification command. Create a separate handler that has the
Custom Notification initiator followed by your subroutine.
Insert an Execute Shell Command step with a Net Send command to quickly be notified of a troubleshooting event in a handler.
Another option is to use email tools and send the event to yourself.
Every handler developer should be familiar with how to read the information in the IP trace logs. This can often be the only way to
troubleshoot handler problems. Often a handler will work when debugged, but fail when running in normal mode. An IP log will tell
you exactly what was happening when a handler runs.
Use the Write Trace Message tool to indicate specific events such as conditions and selections you want to track in a problem
handler. These steps are not shown in the trace log even at the highest "Notes" level of tracing.
Trace log files can often be quite large and take forever to open using regular word processors. PureConnect Customer Care uses
Visual Slick Edit. It can quickly open large files and can do advanced searches.
Related Topics
ACD Queue Tips
Database Practices
Documentation Practices
Efficiency Practices
General Handler Authoring Practices
Handler Best Practices
Limiting the Impact on Interaction Processor
Overall Project Tips
Overview of Building Handlers and Subroutines
Prompts
972
Prompts
Prompt Scripts
Have the customer fill out a form for exactly what they want. This form should include not only each specific prompt that the
customer wants, but also how the customer wants each prompt to be worded.
When it is not possible to use a professional recording studio, prompt recordings should be done over the phone using a high
quality, noise-canceling headset. Record the prompts as a voicemail to yourself and save the voicemail attachments.
Note: The format of the resulting voicemail message depends on the voicemail compression settings in Interaction
Administrator. Depending on the settings, you might need to convert the files to the appropriate format. CIC IVR prompts
require the format CCITT, u-Law, 8 kHz, 80-bit, mono. Recordings made in Interaction Attendant are in the u-Law format.
Related Topics
ACD Queue Tips
Database Practices
Documentation Practices
Efficiency Practices
General Handler Authoring Practices
Handler Best Practices
Overall Project Tips
Overview of Building Handlers and Subroutines
Troubleshooting Tips
Transfer ACD calls to a separate queue for voicemail, external transfers or other special processing
ACD calls that need to go to voicemail or that require any other type of special additional IVR processing should be transferred to
special dummy queues. This will clean up the statistics for the parent queue and make reporting easier.
For example, calls that time out while on hold in an ACD queue that then should be transferred to a cell phone should first be
transferred to a special handling queue. In this case, create a queue called XFER and transfer the call there first. Then use Blind
Transfer or a similar step to transfer the call to an external number. This will keep the time spent on those calls from affecting the
stats of the parent queue.
Related Topics
Database Practices
Documentation Practices
Efficiency Practices
General Handler Authoring Practices
Handler Best Practices
Limiting the Impact on Interaction Processor
Overall Project Tips
Overview of Building Handlers and Subroutines
Prompts
Troubleshooting Tips
973
Limiting the Impact on Interaction Processor
When customizing or authoring handlers, be aware that each custom event or initiator causes overhead for Interaction Processor's
thread count. While new Call or Interaction Disconnect, TCP/IP, SOAP, or CustomNotification handlers might work fine in testing or
under a medium load, the thread count under a high load could be substantially higher than what CIC has been tested with in QA
labs.
Here are some suggestions for limiting the impact on Interaction Processor:
Use existing customization points for Interaction or Call disconnect when possible.
When designing handlers, consider the maximum number of threads in the thread pool, which is set in Interaction Administrator.
For more information, see the topic "IP Configuration" in the Interaction Administrator online help. The limit is set in Interaction
Administrator after the handler publishes. If the number of events received exceeds the set limit, the messages are queued and
run in order as the custom handlers terminate. Design for the possibility of queuing and failures due to timeouts to minimize
the impact of activity surges on call processing availability.
Do not excessively retry events that initiate handlers. If an event timed out, it could be because it was queued. A retry would
result in two of the same event in the queue and would slow down the processing.
Limit the runtime of custom handlers. Require that handlers run quickly or fail due to timeout.
If you can perform an action from a CIC client or from Scripter, do so. When you send actions to Interaction Processor, you
might gain access to convenient tools or database integrations, but it puts a scaling bottleneck into the design that is easily
avoided if each individual client performs their own action.
Avoid excessive round trips of data with TCP/IP tools. These tools are good ways to get custom data to clients, but if that
involves data that must be updated on the server with TCP/IP data back to the CIC server, be careful not to do that too
frequently. An alternative is to use web services to update the data on a third server. You can have the CIC server send the
initial data there along with its updates, and then have the clients send their data there along with updates to avoid the load on
the CIC server.
Related Topics
ACD Queue Tips
Database Practices
Documentation Practices
Efficiency Practices
General Handler Authoring Practices
Handler Best Practices
Overall Project Tips
Overview of Building Handlers and Subroutines
Prompts
Troubleshooting Tips
974
Introduction to steps
Each step in a handler or subroutine represents an action that a handler performs when run. Steps are like functions in a program. A
step is a single instance of a tool dragged from the tool palette into the handler window. Steps appear as named boxes in the
handler and are connected to other steps by links. Steps represent a single action that takes place when a handler or subroutine
runs. For example, an Assignment step can assign a value to a variable. A Whitepages step can look up a telephone number in the
CIC Whitepages. A Condition step can evaluate a condition and decide what step should come next. A Log Message step can write
information to a log. Each step performs an action in the handler, and combinations of linked steps make up the handlers that
respond to an event that occurred on the CIC server.
Anatomy of a step
The items in the following figure are described in the paragraphs below.
Step type
The type of tool from which the step was created. For example, if the step was created from the Assignment tool, the step type
is Assignment.
Step label
The custom name a handler author typed for this tool. Use these labels as quick reminders of a step's purpose in a handler. If
you do not enter a name for a step, the step label is the same name as the step type. For example, if you do not type a unique
label for a Log Message step, Log Message appears in the Label for the step.
Icon
The unique icon that corresponds with the step's type. For example, all Generate HTML steps have the same icon as the
Generate HTML tool. You cannot change a step's icon.
Exit Paths
The paths a step can take as a result of a step's action. It is through these exits that steps link to other steps. For example, a
Condition step has two exit paths: True and False. If the condition evaluated by the Condition step is true, the step will exit
along the true path. If the condition evaluated by the Condition step is false, the step will exit along the false path.
If a step has no exit paths, or no links from an exit path, the handler or subroutine ends after the completion of that step.
Properties notebook
The notebook from which you can define the action a step performs. Each step has a General page where you type the step's
label and any special notes about the step. Each step also has at least one of the following pages: a Settings page, an Inputs
page, and an Outputs page. It is on these pages that you customize the properties of the action that step will perform.
For example, the Assignment step assigns a value to a variable. From the Properties notebook for that step, you specify the variable
and the value it is assigned.
The Inputs page of a step's Properties Notebook lists all the parameters needed by the step to perform the action. Some of these
parameters may be optional. The Outputs page of a step's Properties Notebook displays the values that are created as a result of
the step performing some action. If these output values are stored in variables, they can be accessed by other steps in a handler.
For a description of the properties and pages of each step, see the Tools section in the reference section of this online
documentation. You can also click the help button inside a step's Properties Notebook for help on that tool.
975
Add a step
Use one of the following procedures to add a step to a handler.
Drag and Drop Method:
1. Click on a tool on the Tools page of the Design palette.
2. Drag the tool into the handler window.
Double-Click Method:
Double-click on a tool on the Tools page of the Design palette.
The new step for that tool appears in the top left corner of the handler window. If you do not see the step, it may be covered by a
step already in the top left corner. Move the covering step to reveal the step you added.
Delete a step
You can delete a step or a group of steps. Select a group of steps by drawing a box around them with the mouse pointer. The
selected steps are individually highlighted.
Note: There is currently no way to undelete a step or group of steps.
Connect a step
A step may have up to one link for each exit path. An exit path without a link causes the handler or subroutine to end if that exit path
is taken. Connected steps stay connected, even if they are moved. If you copy two or more connected steps, the copies are also
connected when you paste the steps. The figure below shows two linked steps.
1. Click the exit you want to connect from.
2. Drag to the step you want to connect.
A link appears between the exit path and the next step.
976
Move a step
You can move a step (or group of steps) to any location in a handler window without breaking its links or affecting its function.
Select a group of steps by drawing a box around them with the mouse pointer. The selected steps are individually highlighted. It's a
good idea to locate the steps in the order they occur to make the handler's actions easier to understand.
To move a step:
1. Select the step or steps.
2. Drag the step or steps to the new position.
The handler window scrolls automatically if you drag the steps beyond the handler window's edge.
Edit a step
You can edit the properties of a step by opening its Properties notebook. The Properties notebook for a step contains one or more
parameters. Edit these parameters to customize the action a step will take when the handler is run. Changes you make to the
properties of a step will not be used by CIC until you publish the handler or subroutine containing the step.
1. Double-click the step.
or
Right-click on the step and choose Properties from the menu that appears over the step.
The Properties notebook appears. While the Properties notebook is open, you cannot perform other actions in Interaction
Designer.
2. On the General Page, you can change the Label and the Notes.
3. On the other pages, you can change the values of any parameters.
4. When you are finished, click OK.
If the Incomplete Required Parameter dialog box appears, you have left a parameter empty and should click Yes to return to the
Properties notebook to fill in the value.
977
Find a step
Some handlers and subroutines are too large to fit entirely in the editing window. The QuickJump function can save scrolling time
by allowing you to jump directly to a step in a handler or subroutine.
To find a step:
1. From the View menu, choose QuickJump. The QuickJump palette appears. All of the steps in the handler are listed in the Step
Label list.
2. Double-click on a step listed in the QuickJump palette to move focus to that tool in the design window. The QuickJump dialog
box disappears, and the selected step appears in the center of your editing window.
Copy a step
You can copy a step or group of steps, and then paste those copies into the same handler or another handler. Select a group of
steps by drawing a box around them with the mouse pointer. The selected steps are individually highlighted. The steps you paste
are linked in the same manner as the steps you copied.
To copy a step or group of steps:
1. Select the step or steps to be copied.
Cut a step
You can cut a step or group of steps, and then paste those copies into the same handler window or another handler or subroutine.
Select a group of steps by drawing a box around them with the mouse pointer. The selected steps are individually highlighted.
To cut a step or group of steps:
1. Select the step or steps to be cut.
978
Paste a step
You can paste a step or steps from the Clipboard into a handler or subroutine. Any pasted steps have the same properties as the
originals. Steps copied from one handler window can be pasted into the same handler window or into another handler or subroutine.
To paste a step or group of steps:
1. Select the handler window where the step or steps will be pasted.
Delete a link
To delete a link:
1. Click on the link that you want to delete.
Anchor points appear along the link, letting you know that the link is selected.
2. Press the DELETE key on your keyboard.
The link is deleted.
Prompt Editor
Prompt Editor is the tool you’ll use to create and manage CIC Prompts. Prompts are voice or music recordings in a proprietary CIC
format. Prompts are smaller than other types of audio recordings, and they are opened and played more quickly than .WAV files.
These features are important for an interactive voice response system.
Choose one of the topics below for information recording, editing, and deleting Prompts:
Record a prompt
Listen to a prompt
Delete a prompt
Localizing Prompts
Note: If the audio quality is inferior, check to make sure the Microsoft CCITT G.711 and mu-law CODECS are installed. To do this,
open your Microsoft Control Panel and open the Multimedia Properties. Click the Advanced Tab, and then expand the Audio
Compression Codecs branch. A list of codecs appears. If you don't see Microsoft CCITT G.711 and mu-law CODECS, click Add, and
then install the missing codec.
Prompt Name
This is the name of the prompt set at the time it was recorded. Use this name when playing a prompt from a Play Prompt step.
Duration
Description
This is a brief description of the prompt, created when the prompt was first recorded.
Chat Text
TDD Text
Input Mode
Where applicable, this designates the input mode (DTMF, Voice, etc.) of the prompt. The input mode is set to Any by default.
OK
Saves any changes you have made and closes the Prompt Editor.
Cancel
Closes the Prompt Editor without saving any changes you have made.
Insert
Opens the New Voice Prompt dialog box where you can specify the name and description of a new prompt and the TDD prompt.
Delete
Edit
Search
Play
Record
Starts recording a new prompt that you created with the Insert button.
980
Import .WAV
Creates a prompt from a .WAV file of any format. This tool does not support MP3 files.
Creates a .WAV file from a prompt file you selected from the prompt list.
Trim Options
The Trim Leading Silence and Trim Trailing Silence options allow you to remove any silent moments at the beginning or end of a
prompt. The silent moments are trimmed when you click the stop button to end the recording of a new prompt. You cannot trim
silence from a prompt created in a previous recording session.
Select this box if you want to remove the silence at the beginning of a prompt you are recording.
Select this box if you want to remove the silence at the end of a prompt you are recording.
Record a prompt
Use this procedure to record a new CIC prompt. Before you begin, make sure that the recording properties for your operating
system are configured correctly. Refer to the Windows online documentation for more information on setting up recording
properties. Also make sure that your microphone is plugged in.
To record a prompt, open the handler that will play the prompt, and then open a Play Prompt step. Because there is no select button
in the Prompt Editor, the prompt you have selected when you click the OK button is the prompt that appears on the Inputs page.
To record a new prompt:
1. Click Edit on the Inputs page of a Play Prompt step.
The Prompt Editor appears.
2. Click Insert.
The Prompt dialog box appears.
3. Type a name and description for the new prompt and click OK. This is the name you will specify when playing back the prompt
with a Play Prompt or Play Prompt Extended step.
4. Click Record.
5. Begin speaking.
The words you speak are recorded in the prompt.
6. Stop the recording by clicking Stop.
The prompt and its duration are displayed in the Prompt Name list. The Prompt is played back automatically when recording is
finished.
Listen to a prompt
To listen to a prompt:
1. Click the Edit button on the Inputs page of a Play Prompt step.
The Prompt Editor appears.
2. Select a prompt from the Prompt name list.
3. Click the Play button.
The prompt is played.
Note: If the audio quality is inferior, check to make sure the Microsoft CCITT G.711 and u-Law CODECS is installed. To do this,
open your Microsoft Control Panel and open the Multimedia Properties. Click the Advanced Tab, and then expand the Audio
Compression Codecs branch. A list of codecs appears. If you don't see Microsoft CCITT G.711 and u-Law CODECS, click the
Add button and install the missing codec.
981
Delete a prompt
To delete a Prompt:
1. Click the Edit button in a step that requires an audio clip.
The Prompt Editor appears.
2. Select a prompt from the Prompt Name list.
3. Click the Delete button.
The prompt is deleted.
Import/Export Tables
Four .csv (comma delimited text) files are used for importing and exporting prompts and strings. These files contain the
information Interaction Designer needs to properly import new prompts and strings, and they also contain all the information you
need to manage exported prompts.
These files are most easily edited with MS Excel. Though they are text files, and as such can be opened and edited with many
different applications, it is important to only use an editor that will maintain their format. Interaction Designer will not be able to use
them properly if their formatting is altered.
Example: Prompt_Attendant_en-US.csv
This file contains the definitions of all the prompts in the handler. From left to right, the fields in this file are:
Field Description
Prompt File The name of the .wav file.
Description A transcription of the words spoken in the .wav file.
Chat Text The text that will appear in a text session that calls this prompt.
TDD Text The text that will appear on a TDD that calls this prompt.
Handler The name of the handler containing this prompt.
Prompt Name The name of the prompt as it appears in handlers.
Language The language code describing the language in which the prompt is recorded. All default
prompts are recorded in U.S. English and have a language code of en-US.
Field Description
Sequence String ID The name of the sequence string.
Singular Sequence String The sequence string as it would be used in the singular (for example, "A brown dog").
Plural Sequence String The sequence string as it would be used in the plural (for example, "Some brown dogs").
Description A description of the prompt.
Language The language code describing the language in which the string is written. All default strings
are written in U.S. English and have a language code of en-US.
Example: Prompt_Attendant_en-US_ISTRINGS.csv
This file contains all the international strings in this handler. From left to right, the fields in this file are:
Field Description
String ID The name of the international string.
Description A description of the string.
String Value The string value for the string ID.
Language The language code describing the language in which the string is written. All default strings
are written in U.S. English and have a language code of en-US.
Example: Prompt_Attendant_en-US_IS_SEQUENCE.csv
This file contains all the sequence strings related to international strings in this handler. From left to right, the fields in this file are:
Field Description
Sequence String ID The name of the sequence string.
Singular Sequence String The sequence string as it would be used in the singular (for example, "A brown dog").
Plural Sequence String The sequence string as it would be used in the plural (for example, "Some brown dogs").
Description A description of the sequence string.
Language The language code describing the language in which the string is written. All default strings
are written in U.S. English and have a language code of en-US.
Related Topics
Assemble Prompt Phrase
Assemble Text Phrase
Localizing Prompts
Play Prompt
Play Prompt Phrase
Prompts
983
Localizing Prompts
To create versions of the existing prompts in a different language, simply follow these steps:
1. Create a folder that will be used to hold the imported and exported prompts. You may want to create different folders for each
language, however this is not required.
2. Open the handler you want to localize in Interaction Designer.
3. Select Export Prompts and Strings from the Utilities menu and export the prompts into the folder you created in step 1.
Feel free to exit out of Interaction Designer after doing this.
4. Navigate to the folder into which you exported the prompts.
5. Locate the file "[handler name]_[language code].csv". If you are using separate folders for each language, copy this file into the
folder that will be used for the new prompts and open it. Otherwise, simply open the file.
6. Use the "Save As" command under the file menu to rename the .csv file to contain the language code for the new prompts. For
example, if the default prompts exported from Prompts_IVR are to be re-recorded in Chilean Spanish, the file "Prompts_IVR_en-
US.csv" file should be renamed, "Prompts_IVR_es-CL.csv". The language codes for all the prompts should also be changed in
the appropriate fields in the .csv file.
984
Prompt Libraries
All the prompts, prompt phrases, text strings and sequence strings that are shipped with this product are found in the following
handlers. When editing the existing prompts or creating new prompts, we strongly recommend storing prompts only in these
handlers.
Prompt_Attendant.ihd
Contains all the prompts and prompt phrases used by the Interaction Attendant handlers.
Prompt_Custom.ihd
This is an empty handler provided as a storage place for holding any custom prompts you may want to use in your own handlers or
in the customization handlers.
Prompt_IVR.ihd
Contains all the prompts and prompt phrases played during IVR.
Prompt_System.ihd
Contains all prompts other than those used by the Interaction Attendant handlers and those played during IVR.
Strings_Attendant.ihd
Contains all the text strings used by the Interaction Attendant Handlers.
Strings_Custom.ihd
This is an empty handler provided as a storage place for holding any custom strings you may want to use in your own handlers or in
the customization handlers.
Strings_IVR.ihd
Contains all the text strings used during IVR.
Strings_System.ihd
Contains all text strings other than those used by Interaction Attendant and those played during IVR.
Strings_Web.ihd
Contains all text strings used by the Web Services handlers.
Language Codes
Language codes are expressed as two two-letter abbreviations separated by a dash, for example, "en-US". The two parts of this code
correspond to the language spoken and the country representing the specific dialect being used. In this example, "en" stands for
English, and "US" for United States, thus en-US represents the dialect of English spoken in the United states. The two-letter
abbreviations for both language and country and taken from those set by ISO standards.
Related Topics
ISO Country Codes
ISO Language Codes
985
Other reference
Retrieving the values of server and system parameters from handlers
Server and system parameters are variables whose values are set in Interaction Administrator. These values can be retrieved from
handlers, and from other locations within Interaction Administrator. For example, the Held Call Timeout server parameter
determines the number of seconds a call remains on hold before the Held Call Timer initiator starts a handler.
You can create your own custom server and system parameters and retrieve their values form within handlers. For example,
suppose you want to create a handler that retrieves the email address of the web administrator. If you hard coded the email address
in Send Email steps, you would have to modify your handlers each time you change web administrators. If the email address is
stored in a server parameter, any handler can retrieve that value each time it runs. When you change the email address stored in the
server parameter, all the handlers that retrieve that server parameter value are dynamically updated the next time they run.
See the Interaction Administrator online help for a list of default server and system parameters.
Call Analysis
986
Call Analysis
Call analysis is an option for almost all remote calls made from CIC clients and handlers. Call analysis determines how Telephony
Services (TS) monitors outgoing calls. When call analysis is activated, TS monitors the outgoing call to see if it connected to a
person or answering machine. TS will also try to diagnose why a call did not connect and display the reason in the CIC client (e.g.,
remote busy, no answer, etc.). If call analysis is turned off, TS doesn't monitor the call, so those calls are displayed as "Connected"
or "Disconnected" in the CIC client.
Read further for more information on call analysis and when you should use it.
(SIT means Special Information Tone. For example, when a number has been disconnected, you hear the SIT tone, and then "The
number you have dialed, 123-4567, has been disconnected or is no longer in service. Please check the number and try your call
again.")
For answered calls, it displays "Connected".
Another feature of call analysis is voice detection. TS monitors the line for a voice at the other end of a connected call to
determine if a party answered. If TS does not detect a voice, it disconnects the call. That's why calls to some automated services,
such as paging services that play only a tone, can cause an analyzed call to disconnect.
Object States
988
States
As call objects (calls) move through the CIC system, the CIC hardware and software assign states to those calls. States have two
purposes in CIC. First, they show CIC client users the condition of calls in a queue. A CIC client user can tell if a call is On Hold,
Disconnected, or any other state just by looking at the icon associated with a call.
The second purpose of states is to define for the CIC system what operations can be performed on a call. For example, a call in an
"On Hold" state cannot be placed in a "Dialing" state. Also, some tool steps only perform actions on call objects that are in a
certain state. For example, the Record Audio step can only record a call if it is in a "Connected" state.
Valid call states include:
Alerting (seen for inbound calls)
A CIC client user is being notified (through ringing) that he or she has an incoming call.
Connected (seen for both outbound and inbound calls)
Both parties are connected and are able to speak with each other. If call analysis has not been enabled in the CIC client,
Connected means the same as Proceeding.
On Hold (seen for both outbound and inbound calls)The call is on hold.
Voice Mail
The call is leaving a voice mail message. While Voice Mail appears as a state to CIC client users, Voice Mail is not really a
state. Calls that appear in a state of Voice Mail are actually in a state of Connected. See the Interaction Attributes Reference
Guide for information on displaying custom strings to CIC client users.
Offering (seen for inbound calls)
The call has been placed in a queue, but the call is not ringing. CIC is determining if the called party is available to take the call.
Parked
The call has been placed on hold on the recipient's My Interactions queue.
Proceeding (seen for outbound calls)
The call is proceeding through the outside telephone network. Proceeding is used if an CIC client user has enabled call
analysis.
System
The call is interacting with the xIC system (IVR, etc.).
Disconnected Locally
The call was disconnected by the local participant.
Disconnected by Remote Party
The call was disconnected by the remote participant.
Note: There are many different reasons for call disconnects. For a reference of ISDN Cause Codes related to
disconnected calls, see the ITU-T Q.850 specification.
The state display string is maintained in the Eic_CallStateString attribute. It is used to construct the string displayed in CIC client in
the column entitled State. This display string can be constructed as a localizable string, meaning that certain numeric values
enclosed by % characters will be replaced with text strings on the client when the value is displayed. For example, this allows a
Client running on a Spanish PC to display the Spanish text for "Disconnected" while a German client displaying the same call would
show the German text for "Disconnected." The numeric values used by Queue Manager are shown below:
Localizable Display
String String
%13664% Connected
%13665% Held
%13666% Voice Mail
%13667% Parked
%13668% System
%13669% Disconnected (Local Disconnect)
%13670% Disconnected (Remote Disconnect)
%13671% Proceeding
%13672% Offering
InsertAtHead Value
InsertAtTail Value
JSON Builder Values List, JSON string
JSON Parser JSON string, Values List
ListToString List of Strings, Delimited String
LookUp Attribute Value
Lookup List Attribute Value
Lookup List Extended Attribute Value
Merge String Lists Source List 1, Source List 2, Merged List
990
SOAP Create Array Values
991
Interaction Designer interface
Introduction to the Design Palette
The Design palette contains all the tools and subroutines available for building handlers. The Design palette is divided into two
pages, one containing all the available tools, and one containing all available subroutines.
You can reposition the Design palette as desired by clicking on its title bar and dragging and dropping it in the desired location. You
can resize the palette by clicking on a corner and dragging. And, you can close the Design palette by clicking the Close button on its
title bar. To make the palette visible again after it has been closed, click Design palette on the View menu.
992
Disabled Features in Interaction Designer
This topic describes menu items that are dependent on the server connection.
993
File Menu Commands
The File menu offers the following commands:
Command Description
New Creates a new document.
Open Opens an existing document.
Close Closes an opened document.
Save Saves an opened document using the same file name.
Save As Saves an opened document to a specified file name.
Download Handler From Server … Downloads one or more handlers from the server.
Print Prints a document.
Print Preview Displays the document on the screen as it would appear printed.
Print Setup Selects a printer and printer connection.
Properties Opens a box where a description of the handler can be entered.
Export To XML Creates an XML document containing all the information in the current
handler.
Change Initiator Changes the Initiator for the current handler, or allows you to select an
initiator for a new handler.
Publish Publishes a handler to the CIC server.
Debug Immediate launches a debugging session for the currently published version of the
active handler.
Generate .i3pub File Creates an intermediate publish file in a specified directory.
Import Global Variables Imports global variables contained on the CIC server.
Exit Exits Interaction Designer.
Related Topics
Disabled Features in Interaction Designer
994
Edit Menu Commands
The Edit menu offers the following commands:
Command Description
Cut Deletes data from the document and moves it to the
Clipboard.
Copy Copies data from the document to the Clipboard.
Paste Pastes data from the Clipboard into the document.
Select All Selects all steps in the active handler window.
Preferences Opens the Designer Preferences page.
Command Description
Layout Toolbar Shows or hides the Layout toolbar.
Palette Toolbar Shows or hides the Palette toolbar.
Standard Toolbar Shows or hides the standard toolbar.
Debug Palette Shows or hides the Debug palette.
Design Palette Shows or hides the Design palette.
Messages Palette Shows or hides the Messages palette.
QuickJump Palette Shows or hides the QuickJump
palette.
Variables Palette Shows or hides the Variable palette.
Status Bar Shows or hides the Status bar.
Command Description
Grid Toggles the background grid in the design window.
Go Scrolls the design window up, down, left or right.
Zoom Controls the zoom level in the design window.
Align Selected Nodes Aligns the selected steps along the designated border of the primary selected
step.
995
Utilities Menu Commands
The Utilities menu offers the following commands, which perform useful actions in Interaction Designer.
Command Description
QuickJump Opens the QuickJump Palette to allow you to search for a step in a
handler or subroutine.
Debug Handlers Opens the Debug a Handler dialog box where you select a handler to
debug.
Stored Procedures Opens the Stored Procedures Definition dialog where you can modify a
stored procedure definition.
SOAP Wizard Builds a SOAP request subroutine you can use with the SOAP tools. You
define the calling subroutine and the variables to use.
Import Prompts and Strings Opens a dialog that allows you to import a list of .wav files and their
transcripts.
Export Prompts and Strings Exports the prompts within the open handler. Each prompt is exported as
a separate .wav file.
Related Topics
Disabled Features in Interaction Designer
996
Window Menu Commands
The Window menu offers the following commands, which enable you to arrange multiple views of multiple documents in the
application window:
Command Description
New Window Creates a new window that views the same
document.
Cascade Arranges windows in an overlapped fashion.
Tile Arranges windows in non-overlapped tiles.
Arrange Icons Arranges icons of closed windows.
Handler 1, 2, ... Goes to specified handler window.
Command Description
Help Topics Opens this online help file.
About This dialog displays the version number of this application and provides buttons to display CIC
server Information and System Information for the hardware and system software.
Contact Genesys This menu provides four links to PureConnect customer resources:
Home - links to the Genesys home page
Support - links to the Genesys.Support Services page, which requires a login name and
password.
Community - links to the Community.inin.com web site, which provides a place for CIC users
to post questions and share information.
Feedback - links to a PureConnect product feedback form where you can send key people
direct product feedback.
Interaction Designer's Help menu also allows you to add your own documentation and/or help files for any custom handlers you
may have created. To add an item to Designer's Help menu, simply place the file or directory in the folder …\I3\Server\Help. The
next time Interaction Designer is started, anything located in that directory will appear in the Help menu beneath the "Help Topics,"
"About," and "Contact Genesys" options.
Toolbars
Interaction Designer has three toolbars that can be displayed across the top of the application window, below the menu bar. The
toolbars provide quick mouse access to many tools used in Interaction Designer,
To hide or display each toolbar, choose the appropriate toolbar from the View menu.
Layout Toolbar
Palette Toolbar
Standard Toolbar
997
Designer Preferences Dialog Box
The Designer Preferences dialog box allows you to set a number of default behaviors in Interaction Designer. ID will use these
settings automatically whenever appropriate. If a preference is not set in this page, ID will prompt the user for the information each
time the relevant action is performed.
To display the Designer Preferences dialog box, click the Edit menu, click Preferences, and then click Designer Preferences.
The Designer Preferences dialog box contains four tabs:
Debugging
General
Handler Download
Views
Creating Expressions
Expressions are formulas that process literal values, variables, and operators to create a new value. You'll find this type of
processing useful in all but the simplest handlers, so understanding how to create expressions will allow you to create flexible and
powerful handlers. This topic offers the information you need to begin building your own expressions.
You can create an expression for any input parameter that takes a normal value. You cannot create expressions for input
parameters that take extended values, such as Call ID. Also, you cannot create an expression in an output parameter. Output
parameters can contain only variables that receive a tool's output values.
See Expression Editor Assistant for detailed instructions on creating expressions.
Sample Expressions
Expression: 1
The maximum number of keys a caller may press before this tool exits is 1.
Escape Keys
Expression: "*"
The valid string values for Escape Key is the * key. (Since this input parameter takes a string, the * is within quotation marks.)
Call ID
Expression: CallA
The identifier for this call is stored in the CallA variable.
User Queue
Prompt Name
998
Agent Name
Expression: GetHead(AvailableAgentList)
Returns the first string in a list of strings.
Variable: Loopcount
Expression: Loopcount + 1
Increments the integer variable loopcount by 1.
Path
Expression: "c:\\root\\foos"
When CIC parses this string, the \\ is interpreted as a single \. This is explained in the Expression Editor Assistant section.
Related Topics
Creating Expressions Without Using Expression Editor Assistant
Expression Editor Assistant
Limiting Available Literal Values, Variables and Operators
Learning Expression Editor Assistant Quickly
999
Limiting Available Literal Values, Variables, and Operators
One important concept to remember about Expression Editor Assistant is how it limits the available literal values, variables, and
operators to those that are valid for the expected type. For example, if you open Expression Editor Assistant for a string input
parameter, only string literal values, string variables, and operators that produce strings are available. Similarly, when you have
selected an operand in an operator, the only available literal values, variables, and operators are those that are valid for that operand
type.
Related Topics
Expression Editor Assistant
Creating Expressions
Learning Expression Editor Assistant Quickly
Creating Expressions Without Using Expression Editor Assistant
1000
Creating Expressions Without Using Expression Editor Assistant
You can copy a string created in a text editor (like Notepad.exe) and paste it into an expression. This can be more difficult to debug
once you've pasted it into the expression field. You won't receive assistance as you type using this method, but Expression Editor
Assistant still requires a valid expression before it will allow you to close the tool's properties notebook.
Related Topics
Expression Editor Assistant
Creating Expressions
Limiting Available Literal Values, Variables and Operators
Learning Expression Editor Assistant Quickly
Data types
Data Types
Each input parameter in a tool expects data of a certain type. An input parameter that expects a value of type integer cannot accept
a string. An input parameter that expects a value of type string cannot accept an expression that results in a value of type Boolean.
While there are many different data types in CIC, they can all be classified as either normal or extended .
Output parameters return data of a specific type. All output parameters place their data in a variable of a specific data type. For
example, the Digits output parameter places a string value in the Digits string variable.
See Expression Editor Assistant for more information on creating expressions.
Normal data types can be used in expressions, can be written to and read from a database, and can be displayed in an HTML form.
For example, integer is a normal type. Integer values can be used in expressions, can be read from and written to databases, and can
be displayed in an HTML document.
Normal data types include:
Boolean
Boolean values can have a value of either true or false. For example, the expression 4<5 results in a value of true. The
expression 5<4 results in a value of false. When a parameter expects a Boolean value, you can assign that parameter a literal
value of true or false, build an expression that results in a value of true or false, or type the name of a Boolean variable that is
assigned a value in some other step. See Comparison operators for examples of Boolean expressions.
The Comparison operators produce Boolean values. Boolean values may also be typed as literal Boolean Values (true and
false).
Date/Time
DateTime values contain information about a specific date and a time. The information contained in a DateTime value is the
year, month, day, hour, minute, and second. See DateTime operators for examples of how DateTime values can be used and
modified in expressions.
The Date/Time operators process and produce Date/Time values.
Integer
Integer values can be any positive or negative non-decimal numbers including zero. They include all numbers in the Whole
number set. When a parameter expects an integer value, you can assign that parameter a literal value (like -1, 0, or 434), build an
expression that results in an integer value, or type the name of an Integer variable that is assigned a value in some other step.
Note:
The largest positive integer value is 2,147,483,647. The smallest negative integer value is -2,147,483,648. Values outside this
range cannot be entered as literal values. Adding/subtracting integers such that the result is outside this range can cause
wraparound. Thus, the following equations are true at runtime:
2,147,483,647 + 5 = -2,147,483,644
-2,147,483,647 + -5 = 2,147,483,644
The Mathematical operators and the Type Conversion operators process and produce integer values.
Numeric
Numeric values include all real numbers in the range -2,147,483,648 to 2,147,483,647. When a parameter expects a Numeric
value, you can assign that parameter a literal value (like -1.5, 0, or 45.9348), build an expression that results in a numeric value,
or type the name of a numeric variable that is assigned a value in some other step. See Operator Descriptions for examples of
operations that result in numeric values.
1001
The Mathematical operators and the Type Conversion operators process and produce numeric values.
String
String values can be any sequence of text characters. When a parameter expects a string value, you can assign that parameter a
literal value (like "Dog", "Turk182", or "34.56"), build an expression that results in a string value, or type the name of a string
variable that is assigned a value in some other step. See Operator Descriptions for examples of operations that result in string
values.
The String operators process and produce integer values.
Lists of (any normal or extended type)
Lists contain one or more values of any normal or extended type. A List of strings variable might contain many string values.
Each position in the list has a number, and the first position in a list is always position zero.
Note:
A list cannot contain another list; in other words, you cannot have a list of lists.
The List operators and List tools both process and produce List of values.
Extended data types can be thought of as handles for values that are foreign to Interaction Designer. Extended values cannot be
used in expressions, cannot be read from or written to a database, and cannot be displayed in an HTML document.
Note:
Extended data types only appear as variables in the handlers. Input parameters that take extended types don't offer Expression
Editor Assistant. Rather, they offer a drop-down list where you can choose from a list of all variables of the extended value type.
Extended values hold information that is useful for hardware and software outside the base CIC system. These external types are
useful because they extend the functionality of the CIC system. New external types can even be added to the CIC system to allow
CIC to integrate with non-CIC hardware and software.
Here are some of the extended data types you'll encounter in handlers. You will probably encounter others, and new types are
created with each CIC release:
Call Identifier variable
An identifier for a call object created by the Telephony Services subsystem.
Note:
You can convert a call ID to an integer value with the Call ID to Integer tool, and an integer value to a Call ID with the Integer
to Call ID tool.
Database Connection variable
DBConnection values contain a handle (or identifier) for a database connection. When a DB GetConnection step connects to a
database, the result (or output) of that step is a handle for the connection that is stored in a Database Connection variable.
Several database tools us a Database Connection value to read from and write to databases. Because DBConnection values are
extended data types, they cannot be modified in expressions.
Database variable
Database variables contain a handle (or identifier) for a database. When a DBOpen step opens a database, the result of that step
is a handle for the opened database that is stored in a Database variable. This Database value is later used by a
DBGetConnection step to establish a connection with the database. Because Database values are extended data types, they
cannot be modified in expressions.
Fax ID variable
An identifier for a fax object (which contains a fax) created by the Create Fax tool.
File Handle variable
An identifier for a file opened with the File Open Read or File open Write tool.
Folder ID variable
An identifier for an opened folder in an email application, such as Microsoft Exchange or IBM Notes/Domino. See Email tools
for more information on email tools.
Hconn variable
An identifier for a connection with an MQSeries application created with the MQConnect tool.
Host Connect variable
An identifier for a mainframe or AS400 connection created by the Host Connect tool. See Overview of Host Interface Tools for
more information on Host Interface tools.
Socket Handle variable
An identifier for a TCP/IP connection created with the TCP Connect Tool. See TCP/IP tools overview for more information on
TCP/IP tools.
1002
Web Connection variable
WebConnection values contain a handle (or identifier) for a World Wide Web connection. When a GenerateHTML step creates
an HTML document, that document is sent back to a person browsing the web via the value of the WebConnection variable. The
WebConnection value is also used by several chat tools. Because WebConnection values are extended data types, they cannot
be modified in expressions.
1003
Operators
Operators are reserved words in expressions that act on literal values and variables. For each normal data type, there is a set of
operators that produce that data type. For example, mathematical operators perform addition, subtraction, multiplication, and other
operations on integer and numeric values. String operators process strings, and so on.
Expression Editor Assistant limits your choice of operators to those that are legal for the input parameter or selected operand. For
example, if you are editing an input parameter that expects a string, then only operators that result in strings are displayed in
Expression Editor Assistant. This rule also applies to operands. If you select an operand that expects an integer, Expression Editor
Assistant limits your operator choices to those that produce an integer.
Operator Categories
For each normal value type, there are several operators that produce a value of that type. Click on one of the links below for a list of
operators available for that type.
Comparison operations
Date/Time operations
List operations
Literal values
Mathematical operations
String operations
Type Conversions
Operands (Arguments)
Just like tools in a handler have parameters, many operators take arguments, or operands. For example, the operator for addition
takes two input operands: ? + ?. Addition takes two integer or two numeric values for operands. When you insert an operator into an
expression, the unfilled operands are represented with a "?" character.
Nested Operators
While you can use several assignment steps to construct complex expressions, you can also build complex expressions with
nested operators. For example, StrLen ("User Queue: " & QueueNameStr) returns the length of "User Queue: " combined with the
string contained in QueueNameStr variable.
CIC resolves the most deeply nested (innermost) operator(s) first, then works out to the least, or highest level operator. For
example, in the following expression, red would be resolved first, then blue, then green.
StrLen ( I>S( 5*5 ) & UserName )
Order of Operations
In general, all arguments to functions are fully evaluated before the function is called, and all operands to operators are evaluated
before the operator is applied. Exceptions are the And and Or operators, and the Test function, which may not evaluate all of their
arguments. The order of evaluation for "sibling" subexpressions occurs left to right.
Related Topics
Literal Values
Literal Values, Variables, and Operators
Variables
1004
Operators
Operators are reserved words in expressions that act on literal values and variables. For each normal data type, there is a set of
operators that produce that data type. For example, mathematical operators perform addition, subtraction, multiplication, and other
operations on integer and numeric values. String operators process strings, and so on.
Expression Editor Assistant limits your choice of operators to those that are legal for the input parameter or selected operand. For
example, if you are editing an input parameter that expects a string, then only operators that result in strings are displayed in
Expression Editor Assistant. This rule also applies to operands. If you select an operand that expects an integer, Expression Editor
Assistant limits your operator choices to those that produce an integer.
Operator Categories
For each normal value type, there are several operators that produce a value of that type. Click on one of the links below for a list of
operators available for that type.
Comparison operations
Date/Time operations
List operations
Literal values
Mathematical operations
String operations
Type Conversions
Operands (Arguments)
Just like tools in a handler have parameters, many operators take arguments, or operands. For example, the operator for addition
takes two input operands: ? + ?. Addition takes two integer or two numeric values for operands. When you insert an operator into an
expression, the unfilled operands are represented with a "?" character.
Nested Operators
While you can use several assignment steps to construct complex expressions, you can also build complex expressions with
nested operators. For example, StrLen ("User Queue: " & QueueNameStr) returns the length of "User Queue: " combined with the
string contained in QueueNameStr variable.
CIC resolves the most deeply nested (innermost) operator(s) first, then works out to the least, or highest level operator. For
example, in the following expression, red would be resolved first, then blue, then green.
StrLen ( I>S( 5*5 ) & UserName )
Order of Operations
In general, all arguments to functions are fully evaluated before the function is called, and all operands to operators are evaluated
before the operator is applied. Exceptions are the And and Or operators, and the Test function, which may not evaluate all of their
arguments. The order of evaluation for "sibling" subexpressions occurs left to right.
Related Topics
Literal Values
Literal Values, Variables, and Operators
Variables
Comparison Operators
The following operators compare two values and return a Boolean value (true or false.) Some of these operators will compare
alpha-numeric characters. For these operators, comparisons are made alphabetically. For example, "a" is less than "c" because a
appears in the alphabet before c. Also, all lower-case letters are less than upper-case letters. For example upper-case "A" is greater
than lower-case "z".
1005
=
(ANY_SIMPLE_TYPE) = (ANY_SIMPLE_TYPE)
The value on the left equals the value on the right, this operator will result in a value of true.
Example: In the expression 5=5, the result would be true because both values are equal.
In the expression "Fred"="Barny", the result would be false because the string "Fred" does not equal the string "Barny".
>
>=
<
<=
<>
Not
Not (Boolean)
Reverses the value of a Boolean expression.
1006
E xample : If the value is (4<3) is false, the value of Not(4<3) is true.
If the value is (1<2) is true, the value of Not(1<2) is false.
And
Or
(Boolean) Or (Boolean)
If the value of either operand is true, this operator will result in a value of true.
Example: In the expression (4<5) Or (6<5), the result would be true because at least one value is true.
In the expression (4<5) Or (7<8), the result would be true because at least one value is true.
In the expression (10<9) Or (2<1), the result would be false because neither value is true.
InStr
Date/Time operators
1007
Date/Time Functions
Most of the various date/time functions come in two flavors: time zone (TZ) and Universal Coordinated Time (UTC). UTC, formerly
known as Grenwich Mean Time, or GMT, is the same regardless of where you are in the world or whether or not it's Daylight
Saving's Time. Time Zone time, on the other hand, differs depending on how far you are from zero longitude and possibly also on
what time of year it is. Obviously, calculating the datetime value based on time zones is more complicated than using UTC. This is
why all datetime values in CIC are UTC times, and we strongly recommend keeping this standard when creating your handlers.
However, TZ functions are available to you if you want to base your datetime operators on time zone time instead. In the datetime
parameters, "TZ" designates the timezone string parameter. These names correspond either to the time zones defined by Windows
or to ICU time zone values that are specified in Interaction Administrator configuration.
Some examples of Windows time zones are: Alaskan Standard Time, Arabian Standard Time, Canada Central Standard Time, Central
America Standard Time, and Dateline Standard Time. Check the following registry key to get a list of time zones supported on your
server:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
Interaction Administrator, Interaction Desktop, and other sytems follow the ICU standard for time
zones written as configuration information. For more information, refer to http://userguide.icu-
project.org/datetime/timezone.
If a timezone (TZ) function is left blank, the timezone will default to the local time of the CIC Server that the handler is running on.
However, if a handler author wants to use a non-blank timezone string in a TZ datetime expression editor function, they need to
realize that the valid timezone strings can (and will) change on a per server basis.
Note: valid TZ values are defined either by the server or by the Interaction Administrator time zone configuration. CIC reads
what is there, but it does not define any values itself. For this reason, the values defined on one server may not be the same as
those defined on another. To determine what time zones are defined on your server, you must read the values from the registry.
Using UTC-based datetimes has three advantages over using time zone based datetimes:
No calculations are required to convert time from place to place.
No possibility of error due to differing definitions of time zones from server to server
No need to keep track of what areas do and do not participate in Daylight Savings Time.
However, regardless of how you want to express your datetime values, CIC always uses UTC internally. Whenever a datetime is
converted into its TZ equivalant, the underlying value remains unchanged.
Related Topics
Creating Datetime Values
Changing Datetime Values
Getting Datetime Values
Comparing Datetime Values
MakeDateTZ
MakeDateUTC
1008
MakeDateTimeTZ
MakeDateTimeUTC
ToDT
toDT ( String )
Creates a datetime from a string. The string will have one of the following formats:
YYYYMMDDHHmmSSZ
YYYYMMDDHHmmSS
YYYYMMDDHHmmZ
YYYYMMDDHHmm
YYYYMMDDZ
YYYYMMDD
where
YYYY = Year
MM = Month
DD = Day
HH = Hour
mm = Minute
SS = Second
Z = Indicates that this is a UTC datetime.
If there is an error making the date, the default DateTime of "Jan 1, 1970 12:00:00 AM" server local time is created.
ToDTTZ
toDTTZ ( String, TZ )
Creates a datetime from the string where the string is expressed . The string will have one of the the formats:
YYYYMMDDHHMMSSZ
YYYYMMDDHHMMSS
YYYYMMDDHHMMZ
YYYYMMDDHHMM
YYYYMMDDZ
YYYYMMDD
where
YYYY = Year
MM = Month
DD = Day
HH = Hour
MM = Minute
SS = Second
Z = Indicates that this is a UTC datetime. If you specify Z at the end of the string for toDTTZ, the timezone is not used.
If there is an error making the date, the default DateTime of "Jan 1, 1970 12:00:00 AM" server local time is created.
1009
Changing Datetime Values
AddYears
AddYears(dt, years)
Adds the specified number of years to the datetime value (dt). For example, adding 1 year to January 10, 2003 would result in
January 10, 2004.
Note: Each year added does not add 365 days to dt. Instead, each year added adds one to the year portion of that variable. This
is done to avoid any problems that may occur by adding through a leap year (e.g., January 4, 2004 to January 4, 2005 is 366
days, not 365). If a non-existent date results, such as by adding one year to February 29, 2004, the resulting dt is normalized to
the closest matching real date (i.e., February 28, 2005).
AddMonths
AddMonths(dt, months)
Adds the specified number of months to the datetime value (dt). Note that this is not a fixed number of thirty days, because not all
months are thirty days in length. One month added to January 6 would become February 6, and one month added to February 6
would become March 6, even though January is 31 days in length and February is 28. Also, non-existent dates are "normalized" to
the closest matching real date; adding one month to January 31 would result in February 28 (or February 29 if it’s a leap year), and
adding five months to January 31 would result in June 30.
AddDays
AddDays(dt, days)
Adds 86,400 seconds times the number specified in "days" to the datetime (dt). For example, AddDays (dt, 4) would add 345,600
seconds to dt.
AddHours
AddHours(dt, hrs)
Adds 3600 seconds times the number specified in "hrs" to the datetime (dt). For example, AddHours (dt, 4) would add 14,400
seconds to dt.
AddMinutes
AddMinutes(dt, mins)
Adds 60 seconds times the number specified in "mins" to the datetime (dt). For example, AddMinutes (dt, 4) would add 240 seconds
to dt.
AddSeconds
AddSeconds(dt, secs)
Adds the number of seconds specified in secs to the datetime (dt).
GetYearTZ
GetYearTZ( DateTime, TZ )
1010
Returns the year for the given datetime if the datetime were expressed in the TZ timezone.
If there is an error obtaining the year, -1 is returned.
GetYearUTC
GetYearUTC( DateTime )
Returns the year for the given datetime if the datetime were expressed in universal coordinated time.
If there is an error getting the year, -1 is returned.
GetMonthTZ
GetMonthTZ( DateTime, TZ )
Returns the month for the given datetime if the datetime were expressed in the TZ timezone.
If there is an error obtaining the month, -1 is returned.
GetMonthUTC
GetMonthUTC( DateTime )
Returns the month for the given datetime if the datetime were expressed in universal coordinated time.
If there is an error getting the month, -1 is returned.
GetDayTZ
GetDayTZ( DateTime, TZ )
Returns the day for the given datetime if the datetime were expressed in the TZ timezone.
If there is an error obtaining the day, -1 is returned.
GetDayUTC
GetDayUTC( DateTime )
Returns the day for the given datetime if the datetime were expressed in universal coordinated time.
If there is an error getting the day, -1 is returned.
GetDOWTZ
GetDOWTZ( DateTime, TZ )
Returns the day of week for the given datetime if the datetime were expressed in the TZ timezone.
1=Sunday, 2=Monday, etc. etc.
If there is an error obtaining the day of week, -1 is returned.
GetDOWUTC
GetDOWUTC( DateTime )
Returns the day of week for the given datetime if the datetime were expressed in universal coordinated time.
1=Sunday, 2=Monday, etc. etc.
If there is an error getting the second, -1 is returned.
GetHourTZ
GetHourTZ( DateTime, TZ )
1011
Returns the hour for the given datetime if the datetime were expressed in the TZ timezone.
If there is an error obtaining the hour, -1 is returned.
GetHourUTC
GetHourUTC( DateTime )
Returns the hour for the DateTime as expressed in universal coordinated time.
If there is an error getting the hour, -1 is returned.
GetMinuteTZ
GetMinuteTZ( DateTime, TZ )
Returns the minute for the given datetime if the datetime were expressed in the TZ timezone.
If there is an error obtaining the minute, -1 is returned.
GetMinuteUTC
GetMinuteUTC( DateTime )
Returns the minute for the DateTime as expressed in universal coordinated time.
If there is an error getting the minute, -1 is returned.
GetSecondTZ
GetSecondUTC
GetSecondUTC( DateTime )
Returns the second for the DateTime as expressed in universal coordinated time.
If there is an error getting the second, -1 is returned.
DateStrTZ
DateStrTZ (DateTime, TZ )
Returns a fixed length string representing the DateTime expressed in the TZ timezone with the format:
YYYYMMDDHHmmSS
where
YYYY = Year
MM = Month
DD = Day
HH = Hour
mm = Minute
SS = Second
If an invalid timezone is passed in or there is an error creating the string, the returned datetime string is "".
DateStrUTC
1012
DateStrUTC (DateTime)
Returns a fixed length string representing the DateTime, expressed in universal coordinated time, with the format:
YYYYMMDDHHmmSSZ
where
YYYY = Year
MM = Month
DD = Day
HH = Hour
mm = Minute
SS = Second
Z = Indicates that this is a UTC datetime
If there is an error creating the string, the returned datetime string is "".
Related Topics
Date/Time Functions - Using Time Zones versus Universal Coordinated time (UTC)
The date comparison functions for years and months return a value that represents the difference in dates only for the relevant
component of the date. For example, in performing #DiffYearsTZ or #DiffYearsUTC, it is the actual year that is being looked at, not
the number of 365 day periods that have elapsed between the two dates. So, for example, if #DiffYearsTZ is performed on the dates
December 30th, 1997 and January 2nd, 1998, it would return a value of 1 even though the two dates are only three days apart.
The date comparison functions for days, hours, minutes, and seconds, however, convert each date to a numeric value and then
return a value that represents the date difference in a number of units of seconds (60 seconds for DiffMinutes, 3,600 seconds for
DiffHours, and 86,400 seconds for DiffDays).
DiffYearsTZ
DiffYearsUTC
DiffMonthsTZ
1013
+GetMonthTZ(DateTime2,TZ))
If there is an error calculating the difference, -1 is returned.
DiffMonthsUTC
DiffDays
DiffHours
DiffMinutes
DiffSeconds
List Operators
GetAt
Note: There is no way to tell if a GetAt failed or succeeded and the value is just default unless you check the value returned by
a GetCount.
GetHead
GetHead (ANY_LIST_TYPE)
Retrieves the value of the first element in a list of any type. The value retrieved is of the same type as the list. If the position you are
retrieving from is empty, or if the element does not exist, this operation will return a null value.
Example: The ListofString contains "dog" in position zero, "cat" in position one, and "mouse" in position two. GetHead
(ListofString) results in a string with a value of "dog".
If there is no value at the specified position, this operation will return one of the following values:
List of Integer - 0
List of Numeric - 0
List of Boolean - false
List of String - ""
List of DateTime - Jan 1, 1970, 0,0,0
Note: There is not way to tell if a GetHead failed or succeeded and the value is just 0 unless you check the value returned by a
GetCount.
GetTail
Note: There is not way to tell if a GetTail failed or succeeded and the value is just 0 unless you check the value returned by a
GetCount.
GetCount
Find
Literal values
Literal values
Expression Editor Assistant provides several literal values you might need as you build expressions. These values are described
below:
Boolean values
Integer values
0 assigns a value of
0
1 assigns a value of
1
2 assigns a value of
2
Numeric values
String values
"" space
"" empty string
"\"" quotation
mark
"\n" new line
"\r" return
"\t" Tab
Mathematical operators
String Operators
1016
The following operators perform string operations.
?&?
SQLStr()
StrEqlNoCase
StrLeft
StrLen
StrLen (String)
Determines the number of characters in a string value.
1017
Example: StrLen ("Coffee") results in an integer with a value of six.
StrLower
StrLower (String)
Converts the letters of a String value to all lowercase.
Example: StrLower ("John Doe") results in a String with a value of "john doe".
StrMid
StrPos
StrRight
StrTrim
StrTrim (String)
Removes any leading and trailing spaces from a String value.
Example: StrTrim(" 123 456 ") would result in the value "123 456".
StrUpper
StrUpper (String)
Converts the letters of a String value to all upper case.
Example: StrUpper ("John Doe") results in a String with a value of "JOHN DOE".
SubstStr
SubstStr (String1,Sring2,String3)
Substitutes String3 for String2 if String2 occurs inside of String1.
String1 is the quoted string or string variable to search.
1018
String2 is the quoted string or string variable to search for in String1.
String3 is the quoted string or string variable to replace String2 in String1.
Example: SubstStr("Welcome to Interactive Marketing","Marketing","Research") returns "Welcome to Interactive Research".
SubstStrRegEx
SubstStr (String1,RegEx,String3)
Substitutes String3 for any matches found by the RegEx (regular expression) inside of String1.
String1 is the quoted string or string variable to search.
RegEx is the regular expression used to search for a sub-string in String1.
String3 is the quoted string or string variable to replace any match found by the RegEx in String1.
Example: SubstStrRegEx("What type of value is this: 12.202.48.80", "\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\b", "IP Address")
returns a value of "What type of value is this: IP Address".
Note : To get a single slash in the actual string at runtime, you need to enter double slashes. For example, to get the string "\+"
you need to enter "\\+" in the Interaction Designer editor.
1019
Type Conversions
toR
Round
Round (Numeric)
Converts a Numeric value to an Integer value by rounding to the nearest whole number.
Example: Round(4.32) results in a value of 4.
Round(4.50) results in a value of 5.
Round(4.73) results in a value of 5.
toS
toI
Test (?, ?, ?)
Constants
1020
Constants
$ComputerName
$CurrentStepID
$HandlerName
$HandlerStack
$Now
$PreviousStepID
Returns an integer that contains the step ID for the step that lead in to the currently active step.
1021
Miscellaneous topics
Print Preview toolbar
The print preview toolbar offers you the following options:
Print
Bring up the print dialog box, to start a print job.
Next Page
Preview the next printed page.
Prev Page
Preview the previous printed page.
Zoom In
Take a closer look at the printed page.
Zoom Out
Take a larger look at the printed page.
Close
Return from print preview to the editing window.
1022
Status Bar
The status bar is displayed at the bottom of the Interaction Designer window. To display or hide the status bar, use the Status Bar
command in the View menu.
The left area of the status bar describes actions of menu items as you use the arrow keys to navigate through menus. This area
similarly shows messages that describe the actions of toolbar buttons as you depress them, before releasing them. If after viewing
the description of the toolbar button command you want not to execute the command, then release the mouse button while the
pointer is off the toolbar button.
The area on the right side of the status bar indicates which of the following keys are on:
Indicator Description
CAP Caps Lock is on.
NUM Num Lock is on.
SCRL Scroll Lock is on.
1024
45 Error Search limit exceeded
Align Bottom
Aligns all selected toolsteps so that the bottom margin of each toolstep is in the same line with the bottom margin of the primary
selected tool.
Align Left
Aligns all selected toolsteps so that the left margin of each toolstep is in the same line with the left margin of the primary selected
tool.
Align Right
Aligns all selected toolsteps so that the right margin of each toolstep is in the same line with the right margin of the primary
selected tool.
Align Top
Aligns all selected toolsteps so that the top margin of each toolstep is in the same line with the top margin of the primary selected
tool.
Shortcuts
Mouse: Double-click the application's Control menu button.
Keys: ALT+F4
Associate Call
Associates an incoming call with a campaign list entry and returns the detailed data for the caller from the Interaction Dialer
Campaign COM object.
Caution : Do not use this tool in your handlers as it may cause CIC to function incorrectly. It is intended for Interaction Director
handlers only. You will never need to use or modify the values set in this tool.
Inputs
Phone Number
Key used to look up this person in the campaign database. The phone number is the unique key that identifies this caller and will be
used to look up their detailed data from the database
Call ID
Current Call Id.
1025
Outputs
Campaign ID
The name of the current campaign that this call is associated with.
Request ID
Internal Dialer Id representing the campaign request that contains the current call. (A request can have multiple calls associated
with it).
Reference ID
Internal Dialer Id representing the call itself.
Workgroup
ACD workgroup associated with the campaign.
Line Group
Linegroup associated with the campaign.
Counter
Additional field provided for the end user. Used to capture any counter type activity they require on a call by call basis.
Revenue
Additional field provided for the end user. Used to capture any revenue-related acitivity with the call.
Attempt
Number of times this person has been called while the campaign has been running
Exit Paths
Success
This path is taken of the association is successfully made and the specified data returned.
Failure
This path is taken if the operation fails.
1026
Auto Label Power Tools
Two Auto Label power tools are available in Interaction Designer for advanced users.
After you enable the auto label tools, if you edit one of the tools on the tool palette, the label on the tool changes to the contents of
the step. Existing steps do not change, but all newly edited step labels change in any handler. You may have to expand the step to
see the entire label.
The Auto Label Assignments tool affects the assignment tool steps in a handler.
The Auto Label Conditions tool affects the condition tool steps in a handler.
To enable one of these tools:
From the Utilities menu, point to Power Tools , and then choose either the Auto Label Assignments or Auto Label
Conditions tool.
See Also
Relabel Power Tools
Call ID to Integer
This tool is no longer part of the tool palette. It was replaced in version 2.4 by the Convert Call Id to String tool.
Callback
A callback is a request sent from a customer via a web site. The request contains contact information for the customer and
optionally information pertaining to the nature of the request. When the request is recieved, it is routed to an agent and a call is
made from that agent's station to the sender of the callback request.
1027
Calls to Subroutines
This step is a call to a subroutine. Subroutines are simply handlers started by other handlers, as opposed to handlers started by
events. When a handler author publishes a handler started by the Subroutine initiator, a tool to call that subroutine appears on the
subroutine page of the design palette. This "subroutine author" determines what the inputs and outputs for the resulting subroutine
tool will be by defining the subroutine parameters in the Subroutine initiator. The author flags each parameter as either "input only"
or "input/output." The subroutine author can also determine default values for those parameters.
If you don't see an icon for this step, it means the called subroutine is not registered on the server against which you are running
Interaction Designer.
Note: If you open a handler containing a call to a subroutine, and the parameters required by the called subroutine have changed,
you'll receive a Warning message telling you which parameters have changed.
Inputs
Any values in the input parameters listed here are passed to the called subroutine. The subroutine cannot change these values
because they are input only values.
Outputs
Any values in the Output parameters listed here are passed to the called subroutine. The subroutine can change these values
because they are input/output values. The values of any output parameters could change after the called subroutine executes. It's
not always necessary to place a value in an output parameter because the called subroutine provides the value upon execution.
Exit Paths
Calls to subroutines always exit along the Next exit path.
Related Topics
Introduction to Subroutines
Add or edit a subroutine parameter
Call Stack
This window contains the call stack for the currently executing handler. The information in the call stack is in the format "(step ID)
Handler name". Users can select entries in the window to view other handlers that are in the call stack. The calling step is
highlighted with a dashed line. The currently executing step will have a solid line around it.
Related Topics
Debug Palette
Handler Variables
Step Variables
View the value of a variable in a debug handler
Watch Variables
1028
Choosing an Operator
The box on the left contains a list of operator categories to select from when building your expression. If you select the Variables
category, you see a list of variables of the expected type in the Symbols and Values list. If you choose the Literal Values category,
you'll see a list of literal values to choose from. Selecting Mathematical operations displays a list of mathematical operations to
choose from.
The Expression Editor Assistant limits your choice in variables and operations to those that are of a type valid for the parameter.
For example, if the parameter accepts only a Boolean variable (true or false), then the only variables that appear in the Variables list
are variables of type Boolean. The only expressions you can build are those that result in a Boolean value.
The first category to choose from is Variables. You can assign a variable as the value of a parameter. To select a variable as the
value of a parameter, click on the Variable category. A list of variables appears on the choices box. Double-click on the variable you
want to assign as the value of the parameter. That variable appears in the Expression field.
Related Topics
Introduction to Expression Builder
Operator Descriptions
Conference ID to Integer
This tool is no longer in the tool palette. It was replaced in version 2.4 by the Convert Conference ID to String tool.
Use the Context Help command to obtain help on some portion of Interaction Designer. When you choose the Toolbar's Context
Help button, the mouse pointer changes to an arrow and question mark. Click somewhere in the Interaction Designer window, such
as another Toolbar button, to display the Help topic for that item or command.
Shortcut
Keys: SHIFT+F1
1029
Debug Palette
The debug palette contains four tabs for viewing the activity of a handler during the debug session. The Watch Variables, Step
Variables, and Handler Variables tabs show the values of variables throughout the debugging session. The Call Stack tab shows the
call stack for the debug session.
Related Topics
View the value of a variable in a debug handler
Debug Preferences
Use this tab of the Designer Preferences dialog box to set Interaction Designer's default behavior during debugging sessions.
To display the Designer Preferences dialog box, click the Edit menu, click Preferences, and then click Designer Preferences.
Initial Breakpoint
This setting determines where the initial breakpoint will be in handlers where the initiator's exit path leads directly to a Notify
Debugger step. The three options are:
Initiator – The handler will automatically pause on the initiator when the debugging session begins.
Notify Debugger – The handler will first pause on the Notify Debugger step when the debugging session begins. This means
that the initiator will have already executed before the first breakpoint.
Prompt – The user will be prompted to set the initial breakpoint at the beginning of each debugging session.
Handlers that do not have a Notify Debugger step immediately following the initiator will always use the initiator as the initial
breakpoint.
Note : if the handler is stopped by closing the debug window, the handler will continue in IP regardless of these settings.
Watch Variables
Users may select how much information they want to see on their watched variables.
Display hex value for integers – If checked, the hex value of any integers will be shown in addition to their decimal values.
Display string length for strings – If checked, the length of string variables will be shown in addition to their values.
Related Topics
Designer Preferences Page
General Preferences
Handler Download Preferences
Views Preferences
1030
Debug Toolbar
Click To
Causes a handler to run until it reaches the next break point or until the session ends.
Stops the debug session. When the debugging session is stopped by this method, the user will be
prompted if they want to allow the handler to continue when the debugging session ends.
Moves to the next step in the handler. This button is only used when single-stepping through handlers.
Press this button to enter a subroutine in the debugging session. This button is only available when the
handler is paused on a subroutine step.
Press this button to jump to the currently executing step in the handler.
Allows you to add a handler to the debugging session. Click the button to add handlers to the debugging
session, and use the drop-down to view handlers currently loaded. Selecting a handler from the drop-down
menu will bring that handler to the foreground. Handlers that are listed with a "Level #" next to them are in
the current call stack. Handlers with no "Level #" are loaded in the debug session window, but are not in
the current call stack.
Handlers are automatically downloaded by Designer and placed in the debug session as they are
executed. Adding handlers manually can be helpful if users want to add a handler to a debug session and
set a breakpoint on a step in that handler in advance.
Restarts the debugging session with all the same settings (breakpoints, viewed variables, etc.).
1031
Call Wrap Up
This initiator launches whenever a call is completed by an agent or by the system.
Object ID
Select {all} for this initiator to work with all Predictive Call objects.
Notification Event
Select Dialer Call Wrap Up.
Outputs
Workflow Name
String containing the name of the workflow that this fax request is associated with.
Campaign Name
String containing the name of the campaign that this fax request is associated with.
PredictiveAttributeNameList
List of attribute names that are associated with this contact and are sourced from the call list table in the Dialer database.
PredictiveAttributeValueList
List of attribute values that are associated with this contact and are sourced from the call list table in the Dialer database.
Exit Paths
Start
This step always takes the Start exit path.
1032
Fax Message Initiator
This initiator is used by the dialer for placing all associated fax calls. A fax call can be generated from either an "agentless"
campaign or a regular campaign where fax call analysis returns are associated with a specific .i3f fax file.
Object ID
Select {all} for this initiator to work with all Predictive Call objects.
Notification Event
Select Dialer Fax Message Request.
Outputs
Workflow Name
String containing the name of the workflow that this fax request is associated with.
Campaign Name
String containing the name of the campaign that this fax request is associated with.
Row Id
String containing the unique identifier for this contact. The Row Id is the identifier that uniquely distinguishes this contact from
others in the Call List.
Call ID
The unique identifier for the interaction.
Number Retries
The number of retries to attempt in the event of an error in transmission.
Exit Paths
Start
This step always takes the Start exit path
1033
Get Logged In Workflow
This Dialer tool returns the campaign and workflow that a specified logged in agent is associated with.
Note: This tool only appears in the tool palette if Dialer is installed.
Inputs
Agent ID
The ID of the logged in agent.
Outputs
Workflow Name
The name of the workflow the agent is associated with.
Campaign Name
The name of the campaign the agent is associated with.
Exit Paths
Next
This tool always takes the Next exit path.
1034
Get Workflows
This Dialer tool returns a list of active workflows defined by Interaction Dialer.
Note: This tool only appears in the tool palette if Dialer is installed.
Outputs
Workflow UUID List
List if UUIDs of all active workflows.
Exit Paths
Next
This tool always takes the Next exit path.
Object ID
Select {all} for this initiator to work with all Predictive Call objects.
Notification Event
Select Dialer Rule Action Event.
Outputs
Workflow Name
1035
String containing the name of the workflow that this fax request is associated with.
Campaign Name
String containing the name of the campaign that this fax request is associated with.
Address
The address that is being used by the rule action or policy.
Subject
The subject of the message that is being sent by the rule action or policy.
Message
The textual message of the rule action or policy (e.g. email body)
Evaluation Summary
Internal use only
Exit Paths
Start
This step always takes the Start exit path.
1036
Disconnect Email Object
This tool was deprecated in CIC 4.0.
End TDD
This Telephony tool was deprecated in 4.0.
1037
Change Initiator command (File menu)
Use this command to place an initiator into a handler or to replace the current initiator with a new initiator. Select the initiator you
want to use from the menu and click OK. If the handler already contained an initiator, it will be removed and replaced with the
selected initiator.
Toolbar:
Keys: CTRL+N
Toolbar:
Keys: CTRL+O
1038
Print Preview command (File menu)
Use this command to display the active document as it would appear when printed. When you choose this command, the main
window will be replaced with a print preview window in which one or two pages will be displayed in their printed format. The print
preview toolbar offers you options to view either one or two pages at a time; move back and forth through the document; zoom in
and out of pages; and initiate a print job.
Toolbar:
Keys: CTRL+P
File Properties
Opens the properties window for the active handler.
Toolbar:
Keys: CTRL+S
Find
Opens the Search dialog box to help you search a hander for a specific node.
Inputs
Enterprise Queue
The Enterprise Queue to which you want to route the call. Enterprise Queues are made up of one or more Site Queues. For example,
you could have an Enterprise Queue of Support that is comprised of (Site-Indy, Queue-Support), (Site-Boca, Queue-Support), (Site-
France, Queue-Support). This tool examines the Support queue at each site.
Skills Required
A list of skills required for the call. These skills should be typed as they appear in Interaction Administrator. Skill Names must be
defined the same for all sites. You should not define Windows NT at one site and Win NT at another.
Outputs
Site Name
The name of the site that can most quickly answer this call.
Queue Name
The name of the queue at the best site that can most quickly answer this call.
Queue State
The availability of the queue. It will be one of the following values:
1 Available
2 Closed
3 Inactive
4 Connection
Lost
Exit Paths
Success
This tool takes the Success exit path if it was able to return a Site Queue.
1040
Unknown Enterprise Queue
This tool takes the Unknown Enterprise Queue exit path if the Enterprise Queue was not valid. Enterprise queues are defined in
Interaction Director.
Failure
This tool takes the Failure exit path if it was unable to find a suitable Site Queue. This can occur if no agents have the required
skills, the other site queues are closed, there are no available lines, etc.
Inputs
Campaign ID
The name of the campaign to query.
Outputs
Predictive Campaign UUID
The UUID associated with the campaign.
Exit Paths
Success
This path is taken if the specified UUID is successfully returned.
Failure
This path is taken if the operation fails.
1041
Get Key Word Set Guid List
This Telephony tool returns the GUIDs for the specified keyword sets.
Note : Before you use this tool, you should check the keyword spotting feature in the Interaction Recorder Policy Editor. As of
CIC 4.0 SU3, Policy Editor offers keyword spotting by workgroups, roles, individual users, lines, and stations. Use this tool in
situations where keyword spotting in Policy Editor doesn't meet your needs.
Inputs
List of Keyword Set Names
A list of key word set names for which the user wants the associated GUIDs.
Outputs
List of Keyword Sets GUIDs Found
A list of the keyword set GUIDs found for the keyword set names specified as input.
Exit Paths
Success
This tool takes the Success exit path if GUIDs were found for all the keyword spotting sets.
Failure
This tool takes the Failure exit path if GUIDs can't be found for all of the keyword sets. In the event of a failure, the tool still goes
through the rest of the keyword set names and tries to map them to the GUIDs and still creates an output lists.
Inputs
1042
Site Name
The site name as listed in Interaction Administrator’s Interaction Director Sites container.
Queue Name
The name of the queue as listed in Interaction Administrator’s Interaction Director Queues container.
Skills Required
A list of skills required for the call. These skills should be typed as they appear in Interaction Administrator. Skill Names must be
defined the same for all sites. You should not define Windows NT at one site and Win NT at another.
Outputs
Estimated Wait Time
An estimate of the amount of time (in seconds) that a call will wait before being connected to an agent. This is calculated for the
next call that enters the queue. This wait time is calculated by multiplying the average wait time for the queue times this call’s
position and then subtracting the amount of time that the call has been on the queue. Average wait time is calculated by adding the
total wait time for all calls answered in a given period and dividing that total by the number of calls answered in that period. A
negative value is returned if the average wait time statistics are not available (due to insufficient observations in the sampling
period) or if the call has already waited longer than the estimated wait time.
Queue State
The availability of the queue. It will be one of the following values:
1 Available
2 Closed
3 Inactive
4 Connection
Lost
Exit Paths
Success
This tool takes the Success exit path if it returned the estimated wait time.
Unknown Site
This tool takes the Unknown Site exit path if the Site Name you specified was invalid.
1043
Unknown Queue
This tool takes the Unknown Queue exit path if the Queue Name you specified was invalid.
Failure
This tool takes the Failure exit path if it could not return the estimated wait time. Other reasons this tool might fail include if no
agents have the required skills, the other site queues are closed, there are no available lines, etc.
Inputs
Site Name
The site name as listed in Interaction Administrator’s Interaction Director Sites container.
Queue Name
The name of the queue as listed in Interaction Administrator’s Interaction Director Queues container.
Skills Required
A list of skills required for the call. These skills should be typed as they appear in Interaction Administrator. Separate multiple skills
with a semicolon.
Outputs
Longest Available Agent
The number of seconds that one of the agents monitoring this queue has been available.
Longest Wait
The longest wait of the currently waiting calls.
Average Wait
The average wait time of all calls waiting on this queue.
1044
Average Abandoned
The average length of abandoned calls.
Average ACW
The average time agents have been in a follow up status for all the agents currently in follow up status.
Average Period
The number of seconds over which the averaged values are calculated.
ACW Sample
The number of agents used to calculate the Average ACW statistic.
Active Lines
The number of active lines on which calls come into this queue.
Free Lines
Of the active lines, the number of lines that do not have calls.
Logged in Agents
The number of agents logged into this queue.
Available Agents
The number of agents with an Available status.
Assigned Agents
The number of agents that are currently connected to calls.
ACW Agents
The number of agents in a follow-up status.
1045
Logged In Agents Matching Skills
The number of agents currently logged in that have skills within the skill parameters you specified.
Calls Waiting
The number of calls waiting on this queue.
Calls Connected
The number of calls connected on this queue.
Service Level
The current service level for this queue. Service level is a percentage calculated by figuring the number of calls answered within a
time specified in Interaction Administrator.
Queue State
The availability of the queue. It will be one of the following values:
1 Available
2 Closed
3 Inactive
4 Connection
Lost
Exit Paths
Success
This tool takes the Success exit path if it returned the statistics.
Unknown Site
This tool takes the Unknown Site exit path if the Site Name you specified was invalid.
Unknown Queue
This tool takes the Unknown Queue exit path if the Queue Name you specified was invalid.
Failure
This tool takes the Failure exit path if it could not return the statistics.
1046
Get Site Queue State
This tool returns the Queue State for a Site Queue you specify. This tool returns statistical information about a Site Queue. A Site
Queue is one of the sites that makes up an Enterprise Queue. For example, you could have an Enterprise Queue of Support that is
comprised of the following site queues: (Site-Indy, Queue-Support), (Site-Boca, Queue-Support), (Site-France, Queue-Support).
Inputs
Site Name
The name of the site you want to query.
Queue Name
The name of the queue you want to query at the specified site.
Outputs
Queue State
The availability of the queue. It will be one of the following values:
1 Available
2 Closed
3 Inactive
4 Connection
Lost
Exit Paths
Success
This tool takes the Success exit path if the Queue State was returned.
Unknown Site
This tool takes the Unknown Site exit path if the Site Name you specified was invalid.
Unknown Queue
This tool takes the Unknown Queue exit path if the Queue Name you specified was invalid.
Failure
This tool takes the Failure exit path if the queue state was not returned.
1047
Get Email Object Response Message
This tool was deprecated in CIC 4.0.
Go TopLeft
Shifts the view in the design window all the way to the top and left.
Go Line Down
Scrolls the design window down by one line.
Go Line Left
Scrolls the design window left by one line.
Go Line Right
Scrolls the design window right by one line.
Go Line UP
Scrolls the design window upward by one line.
Go Page Down
Shifts the view in the design window down by the length of one full screen.
Go Page Left
Shifts the view in the design window left by the width of one full screen.
Go Page Right
Shifts the view in the design window right by the width of one full screen.
Go Page Up
Shifts the view in the design window up by the length of one full screen.
Grid
Toggles the background grid on and off in the design window.
1048
Handler Diff Power Tool
The Handler Diff tool lets you compare two directories of handlers. The output is an XML file that lists the differences between the
two sets of handlers. Optionally, you can specify an XSL file that will customize the display of the resulting diff XML file into a more
readable form.
To use the tool to compare two directories of handlers:
1. Close all open handlers in Interaction Designer.
2. From the Utilities menu, point to Power Tools , and then choose Handler Diff .
The Handler Diff dialog box appears.
3. Under "Old" Handler List , click the Browse button and then specify the folder that contains the set of the original handlers
you want to use.
After you select the folder, the Handler Diff tool populates the Old list with the .ihd files found in that folder.
4. Under "New" Handler List , click the Browse button and then specify the folder that contains the set of the original handlers
you want to compare with the Old Handler List.
5. Uncheck any handlers that you do not want to process.
Each list also has a button at the bottom of the list (Check only handlers that are checked in "New" list and Check
only handlers that are checked in "Old" list ) that will automatically check only those handlers that exist in the other list.
6. On the Diffs to Perform tab in the lower portion of the dialog box, clear the check box for any diffs you do not want to
perform. This tab lists all the handler attributes that you can compare.
When you click on a diff, a description of that diff appears in the Diff description portion of the dialog. There is a Check All
Diffs button that you can click to select all diffs at once.
7. To change the location of the output diff XML file, click the Output Location tab, and then click Pick output XML file and
specify where you want to have the diff output XML file written.
8. To customize the output with an XSL file, click the Output Formatting tab, select the Add XSL stylesheet to customize
handler diff XML output checkbox, and then select the appropriate .XSL file from the list.
GeneralHandlerDiffOverview.xsl is a sample, non-localized file installed in \IC\Server\HandlerDiff\XSLFiles that gives an
example of how you can use an XSL file to customize the output. If you decide to use an XSL file to customize the output, note
that the location of the stylesheet is written directly into the diff results XML file with a "<?xml-stylesheet" processing
instruction at the top. If you give the output XML file to another user with a stylesheet specified, it may not display the same
way on their machine unless the XSL file exists in the location specified in the XML file.
9. Click Run Handler Diff to start the comparison.
When the diff operation completes, the diff tool will launch Internet Explorer to display the resulting XML file. If you specified an
XSL sheet to use to customize the output, when Internet Explorer opens the file, you might see the error "To help protect your
security, Internet Explorer has restricted this file from showing active content that could acces your computer. Click here for
options..." If this message appears, click the message and then click Allow Blocked Content to display the information.
10. Click on a handler name in the left column to display the diff results for that handler in the right column.
1049
Handler Download Preferences
These settings affect the way Interaction Designer downloads handlers by means of the Download Handler from Server
command on the File menu. The settings also affect how handlers are loaded into a debugging session.
Handler Retrieval
This setting indicates the maximum number of seconds that Interaction Designer waits to download a handler. If the handler cannot
be loaded in the specified time, the user receives the "Could not retrieve handler from server archive" message box and the retrieval
attempt stops.
Destination Directory
This is the directory to which the handler is downloaded. If left unspecified, users are prompted to supply a directory each time a
handler is downloaded.
Handler Variables
When execution is paused on a step, users can click on the Handler Variables tab in the Debug Palette to view the variable values
for all variables in the currently displayed handler.
Related Topics
Call Stack
Debug Palette
Step Variables
View the value of a variable in a debug handler
Watch Variables
1050
How Paging Works in CIC
Paging Services uses the carrier telephone number to select the appropriate carrier out of a list of known paging carriers. The list of
carriers is configurable from Interaction Administrator and is maintained by Directory Services. The list is read at initialization and
monitored by Paging Services for changes during operation. If a carrier is found in the list, Paging Services uses stored parameters
to establish the connection with that carrier. Failure to find a matching carrier will cause the system to attempt to establish a
connection anyway using common defaults in the hope that the page can be sent. An event is logged in this case even if the page is
sent successfully to indicate that a new carrier should be added to the list in Directory Services.
To most efficiently use telephone lines, non-urgent pages are processed in batches by collecting page requests for a configurable
interval, sorting them according to carrier, and then sending as many as possible during a single call to the carrier. There may be
carrier-imposed limits as to how many pager messages may be transmitted in a single call, so the paging server will continue to
make as many separate calls as are required to process all of the page requests.
Page requests that are specified as urgent are sent immediately.
Pages may also be scheduled for future transmission. Messages waiting for their send time to arrive are sorted by send time and
carrier. If there are multiple messages to send to the same carrier at the same time, an attempt will be made to send them all during
a single connection, subject to the carrier-imposed limitations on connection time and message length.
Scheduled messages whose send time has arrived take priority over batch messages. A batch transmission that is in progress will
be allowed to complete, at which time all messages scheduled for the current time will be sent. Further processing of any pending
batch messages can then resume.
Page requests whose send time is in the past (either because that is what was supplied by the user or because upon return to
service following a failure it is discovered that scheduled messages have not been sent) are treated as urgent and sent
immediately.
Unsent pager messages are stored on disk so that if the CIC system is unavailable for some period of time the messages are
maintained and sending is resumed upon the system's return to service.
1051
Welcome to Interaction Designer
Other Documentation
Be sure to explore the PureConnect Documentation Library on your CIC Server. This contains online help and technical reference
documents that provide additional information and explanations of CIC features.
Note: See the help topic What's new in this release for information on new and changed tools, features, and handlers in each
release.
Interact!
If you have questions or comments about this documentation, please send an email to [email protected].
To provide feedback on this program or product, and to find other resources that help you interact with Genesys staff and users, see
the Help... Contact Genesys menus.
1052
Integer to Call ID
This tool is no longer in the tool palette. It was replaced in version 2.4 with the Convert String to Call Id tool.
Integer to Conference ID
This tool is no longer in the tool palette. It was replaced in version 2.4 by the Convert String to Conference ID tool.
This alphabetical list shows all countries and their corresponding two-letter country codes as per ISO 3166.
Afghanistan AF
Albania AL
Algeria DZ
American Samoa AS
Andorra AD
Angola AO
1053
Antarctica AQ
Antigua AG
Argentina AR
Armenia AM
Australia AU
Austria AT
Azerbaijan AZ
Bahamas BS
Bahrain BH
Bangladesh BD
Barbados BB
Belgium BE
Belize BZ
Benin BJ
Bermuda BM
Bhutan BT
Bolivia BO
Bosnia-Herzegovina BA
Botswana BW
Bouvet Island BV
Brazil BR
British Indian Ocean Territory IO
British Virgin Islands VG
Brunei BN
Bulgaria BG
Burma BU
Burundi BI
Byelorussian Ssr (Bielorussia) BY
United Republic of Cameroon CM
Canada CA
Canton and Enderbury Islands CT
Cape Verde CV
Cayman Islands KY
Central African Republic CF
1054
Chad TD
Chile CL
China CN
Christmas Island CX
Cocos Islands CC
Columbia CO
Comoros KM
Congo CG
Cook Islands CK
Costa Rica CR
Cuba CU
Cyprus CY
Croatia HR
Czechoslovakia CS
Czech. CZ
Denmark DK
Djibouti DJ
Dominica DM
Dominican Republic DO
Dronning Maud Land NQ
East Timor TP
Ecuador EC
Egypt EG
El Salvador SV
Equatorial Guinea GQ
Ethiopia ET
Faeroe Islands FO
Falkland Islands FK
Fiji FJ
Finland FI
France FR
French Guiana GF
French Polynesia PF
Gabon GA
1055
Gambia GM
Federal Republic of Germany DE
Georgia GG
Ghana GH
Gibraltar GI
Greece GR
Greenland GL
Grenada GD
Guadeloupe GP
Guam GU
Guatemala GT
Guinea GN
Guinea-Bisseu GW
Guyana GY
Haiti HT
Heard and Mc Donald Islands HM
Honduras HN
Hong Kong HK
Hungary HU
Iceland IS
India IN
Indonesia ID
Iran IR
Iraq IQ
Ireland IE
Israel IL
Italy IT
Ivory Coast CI
Jamaica JM
Japan JP
Johnston Island JT
Jordan JO
Democratic Kampuchea KH
Kazakhstan KK
Kenya KE
1056
Kiribati KI
Democratic People's Rep. of Korea KP
Republic of Korea KR
Kuwait KW
Kyrgyzstan (Kirgistan) KG
Lao People's Democratic Republic LA
Latvia LV
Lebanon LB
Lesotho LS
Liberia LR
Libyan Arab Jamahiriya LY
Liechtenstein LI
Lithuania LT
Luxembourg LU
Macau MO
Madagascar MG
Malawi MW
Malasia MY
Maldives MV
Mali ML
Malta MT
Martinique MQ
Mauritania MR
Mauritius MU
Mexico MX
Midway Islands MI
Moldova MD
Monaco MC
Mongolia MN
Montserrat MS
Morrocco MA
Mozambique MZ
Namibia NA
Nauru NR
Napal NP
1057
Netherlands NL
Netherlands Antilles AN
Neutral Zone NT
New Calidonia NC
New Zealand NZ
Nicaragua NI
Niger NE
Nigeria NG
Niue NU
Norfolk Island NF
Norway NO
Oman OM
Pacific Islands PC
Pakistan PK
Panama PA
Papua New Guinea PG
Paraguay PY
Peru PE
Phillipines PH
Pitcairn Island PN
Poland PL
Portugal PT
Puerto Rico PR
Qatar QA
Reunion RE
Romania RO
Russia RU
Rwanda RW
St. Helena SH
St. Kitts Nevis Anguilla KN
Saint Lucia LC
St. Pierre and Miquelon PM
Saint Vincent and the Grenadines VC
Samoa WS
1058
San Marino SM
Sao Tome and Principe ST
Saudi Arabia SA
Senegal SN
Seychelles SC
Sierra Leone SL
Singapore SG
Slovenia SI
Slovakia SQ
Solomon Islands SB
Somalia SO
South Africa ZA
Spain ES
Sri Lanka LK
Sudan SD
Suriname SR
Svalbard and Jan Mayen Islands SJ
Swaziland SZ
Sweden SE
Switzerland CH
Syran Arab Republic SY
Taiwan TW
Tajikistan TJ
United Republic of Tanzania TZ
Thailand TH
Togo TG
Tokelau TK
Tonga TO
Trinidad and Tobago TT
Tunisia TN
Turkey TR
Turkmenistan TM
Turks and Caicos Islands TC
Tuvalu TV
Uganda UG
1059
Ukrainian SSR UA
United Arab Emirates AE
United Kingdom GB
United States US
United States Misc. Pacific Islands PU
Unites States Virgin Islands VI
Upper Volta HV
Uruguay UY
USSR SU
Uzbekistan UZ
Vanuatu VU
Vatican City State VA
Venezuela VE
Vietnam VN
Wake Island WK
Wallis and Futuma Islands WF
Western Sahara EH
Yemen YE
Democratic Yemen YD
Yugoslavia YU
Zaire ZR
Zambia ZM
Zimbabwe ZW
(Afan) Oromo om
Abkhazian ab
Afar aa
Afrikaans af
Albanian sq
Amharic am
Arabic ar
1060
Armenian hy
Assamese as
Aymara ay
Azerbaijani az
Bashkir ba
Basque eu
Bengali; Bangla bn
Bhutani dz
Bihari bh
Bislama bi
Breton br
Bulgarian bg
Burmese my
Byelorussian be
Cambodian km
Catalan ca
Chinese zh
Corsican co
Croatian hr
Czech cs
Danish da
Dutch nl
English en
Esperanto eo
Estonian et
Faeroese fo
Fiji fj
Finnish fi
French fr
Frisian fy
Galician gl
Georgian ka
German de
Greek el
Greenlandic kl
1061
Guarani gn
Gujarati gu
Hausa ha
Hebrew iw
Hindi hi
Hungarian hu
Icelandic is
Indonesian in
Interlingua ia
Interlingue ie
Inupiak ik
Irish ga
Italian it
Japanese ja
Javanese jw
Kannada kn
Kashmiri ks
Kazakh kk
Kinyarwanda rw
Kirghiz ky
Kirundi rn
Korean ko
Kurdish ku
Laothian lo
Latin la
Latvian, Lettish lv
Lingala ln
Lithuanian lt
Macedonian mk
Malagasy mg
Malay ms
Malayalam ml
Maltese mt
Maori mi
Marathi mr
1062
Moldavian mo
Mongolian mn
Nauru na
Nepali ne
Norwegian no
Occitan oc
Oriya or
Pashto, Pushto ps
Persian fa
Polish pl
Portuguese pt
Punjabi pa
Quechua qu
Rhaeto-Romance rm
Romanian ro
Russian ru
Samoan sm
Sangro sg
Sanskrit sa
Scots Gaelic gd
Serbian sr
Serbo-Croatian sh
Sesotho st
Setswana tn
Shona sn
Sindhi sd
Singhalese si
Siswati ss
Slovak sk
Slovenian sl
Somali so
Spanish es
Sundanese su
Swahili sw
Swedish sv
1063
Tagalog tl
Tajik tg
Tamil ta
Tatar tt
Tegulu te
Thai th
Tibetan bo
Tigrinya ti
Tonga to
Tsonga ts
Turkish tr
Turkmen tk
Twi tw
Ukrainian uk
Urdu ur
Uzbek uz
Vietnamese vi
Volapuk vo
Welsh cy
Wolof wo
Xhosa xh
Yiddish ji
Yoruba yo
Zulu zu
Key codes for use with the Host Press Key tool
1064
Meaning Mnemonic Mainframe AS/400
@ @@ X X
Attention @A@Q X X
Backspace @< X X
Backtab (Left Tab) @B X X
Clear @C X X
Cmd (function) Key @A@Y X
Cursor Down @V X X
Cursor Left @L X X
Cursor Right @Z X X
Cursor Up @U X X
Delete @D X X
Dup @S@x X X
End @q X
Enter @E X X
Erase EOF @F X X
Erase EOL @e@d X
Erase Input @A@F X X
Field Exit @A@E X
Field Mark @S@y X
Field - @A@- X
Field + @A@+ X
Help @H X
Hexadecimal @A@X X
Home @0 (zero) X X
Insert @I X X
Insert Toggle @A@I X
Local Print @P X
Left Tab (Back Tab) @B X X
New Line @e@n* X X
Page Up @u X
Page Down @v X
Print Screen @A@T X
1065
Reset @R X X
Right Tab (Tab) @T X X
Sys Request @A@H X X
Tab (Right Tab) @T X X
Test @A@C X
PA1 @x X X
PA2 @y X X
PA3 @z X X
PA4 @+ X
PA5 @% X
PA6 @& X
PA7 @' X
PA8 @( X
PA9 @) X
PA10 @* X
PF1/F1 @1 X X
PF2/F2 @2 X X
PF3/F3 @3 X X
PF4/F4 @4 X X
PF5/F5 @5 X X
PF6/F6 @6 X X
PF7/F7 @7 X X
PF8/F8 @8 X X
PF9/F9 @9 X X
PF10/F10 @a X X
PF11/F11 @b X X
PF12/F12 @c X X
PF13/F13 @d X X
PF14/F14 @e X X
PF15/F15 @f X X
PF16/F16 @g X X
PF17/F17 @h X X
PF18/F18 @i X X
PF19/F19 @j X X
1066
PF20/F20 @k X X
PF21/F21 @l X X
PF22/F22 @m X X
PF23/F23 @n X X
PF24/F24 @o X X
1067
Keyword Spotting by Sets
This Telephony tool enables CIC to start or stop monitoring a call for key words. If it identifies key words that are defined and
associated with the specified GUIDs for the customer and agent channels, it initiates notifications. In its most basic form, the tool
stores the spotted key words and associates them with the call.
Note : Before you use this tool, you should check the keyword spotting feature in the Interaction Recorder Policy Editor. As of
CIC 4.0 SU3, Policy Editor offers keyword spotting by workgroups, roles, individual users, lines, and stations. Use this tool in
situations where keyword spotting in Policy Editor doesn't meet your needs.
Inputs
Call Identifier
The unique identifier of the call.
Action
Start to begin monitoring for key words, or Stop to end monitoring of a call. Start and Stop are the only supported actions.
Language
The language associated with the call.
Exit Paths
Success
This tool takes the Success exit path if the keyword spotting API call completed successfully.
Failure
This tool takes the Failure exit path if the API call failed or if the specified action is invalid.
Layout Toolbar
This menu contains options allowing you to control the appearance of the active handler window.
1068
Layout Toolbar
Click To
Toggle the grid in the design window background.
Align all selected steps so that the left border of each icon is even with that of the
primary selected step.
Align all selected steps so that the top border of each icon is even with that of the
primary selected step.
Align all selected steps so that the bottom border of each icon is even with that of the
primary selected step.
Align all selected steps so that the right border of each icon is even with that of the
primary selected step.
1069
Listen
The Listen tool is similar to the Listen button on a CIC client toolbar. It allows one person to listen to another user's call without
detection. This tool was written to enable Listen functionality for user's not running a CIC client.
For example, you could write a handler that allows you to enter a code and a station extension. A handler could then allow you to
listen to the currently connected call on that station.
Inputs
Call Identifier
The call to listen to.
Exit Paths
Success
This tool takes the success path if the Listen operation succeeds.
Failure
This tool can take the Failure exit path for several reasons. Failure can occur if the call disconnects, if the call is picked up by an
CIC client user (and is no longer under the control of the handler), the call ID is no longer valid (if the call is deallocated), or system
resource limitation.
1070
Literal Values
Literal values are the simplest of expressions. For example, if an Email Address input parameter takes a string value, you can type
"[email protected]". When the tool executes, the email is sent to the specified address.
Remember that literal string values must be placed within quotation marks "[email protected]". See Literal Value operators for more
information on syntax to use when typing literal values.
Note: Because the global variable is locked throughout the duration of a handler instance, handler developers should write
subroutines that read/modify the contents of global variables to minimize the time a global variable is locked.
Global variable values do not persist through restarts of Interaction Processor. Global variables are visible only within a single CIC
server.
1071
Manual Dial Request Initiator
This initiator begins when a person generates a manual dial request event by manually placing a call from a telephone (instead of
using a CIC Client).
Object ID
Select {all}.
Notification Event
Select Manual Dial Request.
Outputs
Call Identifier
The identifier for the object that started this handler. A Call Identifier is a value that stays the same throughout the life of a call.
Exit Paths
Start
This step always exits through the start path.
Mathematical Operators
The following operators perform math operations.
?+?
(Numeric or Integer) + (Numeric or Integer)
Adds two numbers of the same type (Integer or Numeric). The result of this operation is a value of the same type as the numbers
added.
Example: 1+1 results in a value of 2.
1072
?-?
(Numeric or Integer) - (Numeric or Integer)
Subtracts the value on the right from the value on the left. The two numbers must be of the same type (Integer or Numeric). The
result of this operation is a value of the same type as the numbers subtracted.
Example: 2-1 results in a value of 1.
?*?
(Numeric or Integer) * (Numeric or Integer)
Multiplies two numbers of the same type (Integer or Numeric). The result of this operation is a value of the same type as the
numbers multiplied.
Example: 4*3 results in a value of 12.
?/?
(Numeric or Integer) / (Numeric or Integer)
Divides the value on the right into the value on the left. The two numbers must be of the same type (Integer or Numeric). The result
of this operation is a value of the same type as the numbers subtracted.
Example: 16/8 results in a value of 2.
?^?
(Numeric or Integer) ^ (Numeric or Integer)
Raises the value of a Numeric or Integer to the power of a Numeric or Integer.
Example: 2 ^ 3 results in a value of 8.
Abs
Abs (Integer)
Returns the absolute value of an Integer.
Example: Abs(3-4) results in a value of 1.
Mod
Mod (Integer, Integer)
Returns the remainder after dividing the right integer into the left integer.
Example: Mod (5,2) results in a value of 1 because 2 goes in 5 twice with a remainder of one.
-?
- (Numeric or Integer)
Multiplies a value by negative one. In other words, converts a positive number to a negative number, and converts a negative number
to a positive number.
Example: -(-5) results in a value of 5. -(14) results in a value of -14.
1073
Melder - Request Audio Path
Description
Object ID
Select {all}.
Notification Event
Description
Outputs
Local Call Identifier
Description
Correlation String
Description
Exit Paths
Start
This step always takes the Start exit path.
1074
Melder - Setup Audio Path
Description
Object ID
Select {all}.
Notification Event
Description
Outputs
Correlation String
Description
Routing Path
Description
Exit Paths
Start
This step always takes the Start exit path.
MP3 files
CIC does not support MP3 audio files at this time. This is because Dialogic does not currently support MP3 audio on its boards.
1076
Overview of Multi-Site Tools
The Multi-Site messaging tools can be used to construct an arbitrary message format within a handler and receive that message in
another handler on a remote server. The format of the message is determined by the order in which the various elements are added
to the message. On the receiving end, the elements must be read from the message in the correct order. The type of the element is
checked when it is read, so an attempt to read the wrong element type results in an error.
When a message is ready to be sent, the sender specifies a destination site ID and the object and event values that are used to start
the notification on the receiving server. Messages are sent asynchronously, requiring no response, or synchronously, where the
sending tool waits a specified amount of time for a response message to come back. The response message is read in exactly the
same way as the original message by using the get tools in the same order as the sender used the put tools.
See the white paper, A Guide to Interaction Multi-Site, for a more detailed explanation of Multi-Site messaging in CIC.
Click on a tool below to learn more about that tool:
Multi-Site Create Message
Multi-Site Get Integer
Multi-Site Get Note
Multi-Site Get String
Multi-Site Put Integer
Multi-Site Put Note
Multi-Site Put String
Multi-Site Send Event
Multi-Site Send Request
Multi-Site Send Response
Palette Toolbar
Click To
Open or close the Design palette.
Open or close the messages bar. Whether the message bar is open or not, the button will
display as a red frown if the handler is not in a state that will allow it to be published (i.e.,
, , or contains steps with required fields not yet assigned values).
This button will display as a yellow grim face or a green smile whenever the handler is in
a state that can be published. The yellow face indicates that the handler is in a
publishable state, but that the message log contains errors. The green smiling face
indicates a publishable handler without any errors in the message log. Note that this
does not necessarily mean that the handler will function as intended, merely that all
required fields have been assigned values and the handler is in a state that can be
published.
Open or close the Variables palette.
1077
PCD and FPX file formats for faxes
The Create Fax Page List and Append Page tools supports the following Kodak file formats:
PhotoCD (PCD). This is a common, high-resolution format for images on CD-ROM. An image file can contain one or more
physical resolutions, with fixed dimensions. You can choose which resolution to load, and thus control the size of the resulting
bitmap.
FlashPix (FPX). This Kodak format is newer than PhotoCD. This format can also contain more than one physical resolution, but
without fixed dimensions. You can choose which resolution to load, and thus control the size of the resulting bitmap.
For PCD and FPX files, you can read the following bits per pixel: 8, 24.
1078
Predictive Call Completed
An outgoing predictive call has completed. Return the reason and finish code for the completion of the call to the Dialer Server.
(Mainly used in our default handler to communicate Busy, No Answer, or SIT calls).
Caution : Do not use this tool in your handlers as it may cause CIC to function incorrectly. It is intended for Interaction Director
handlers only. You will never need to use or modify the values set in this tool.
Inputs
Campaign ID
Campaign identifier. The name of the current campaign with which the call is associated.
Request ID
Internal Dialer Id representing the campaign request that contains the current call. (A request can have multiple calls associated
with it.)
Reference ID
Internal Dialer Id representing the call itself.
Finish Code
User-defined descriptive term representing the reason why the call failed.
Exit Paths
Success
This path is taken if the call information is successfully returned.
Failure
This path is taken if the operation fails.
1079
Preview Call
Send a Preview Call (Call Data) to a Dialer Agent. A preview dialing call is when the data for a call is first routed to an agent where
they read through and become familiar with who they are calling and then they physically place the call. The preview call is simply
data representing the call that is routed to an agent.
Caution : Do not use this tool in your handlers as it may cause CIC to function incorrectly. It is intended for Interaction Director
handlers only. You will never need to use or modify the values set in this tool.
Inputs
Predictive Attribute Name List
List of attribute names for the call.
Queue name
Agent Id that the preview call will be routed to.
Exit Paths
Success
This path is taken if the requested call data is successfully sent.
Failure
This path is taken if the operation fails.
Print a handler
Using this feature, you can print a handler at several magnifications. For example, you can print an entire handler on one page, or
you can print a larger view of a handler across several pages.
1. From the File menu, click Print.
or
Print Magnification
Size Scale is the magnification of the printout. The higher the Size Scale number, the larger your image will be.
1080
Printing a handler across multiple pages
Click Multi Pages to print the handler or subroutine across multiple pages.
Properties
This is a text box that allows handler authors to write notes about the handler in the active window. Handler authors may use this to
write a general description of the handler as a whole or to provide specific information that another user might need to know when
working with the handler at a later time.
For PSD files, you can read the following bits per pixel: 1, 8, 24.
1081
General Preferences
This page can be used to set three general defaults for Interaction Designer.
1082
Publishing IC 2.2 handlers in IC 2.4x
If you wrote or modified IC 2.2 handlers, you must first save them in IC 2.3x or greater before you can publish them in IC 2.4x.
Depending on the content of the original handler, you may receive Interaction Designer error messages indicating that a tool's
parameters and/or exit paths have changed since the previous release. This error message will tell you the offending tool's Step
Label and Node ID, and attempt to explain the problem with an error message.
You cannot publish this handler until you correct the problem and save it in the newer version. Use the Step Label, Node ID, and
error message text to locate the step and diagnose the problem. Make any changes that are necessary to solve the problem, such
as creating a variable to contain the value of the parameter, or creating a link from the new exit path. Then save the handler and try
publishing it again.
If you are still unable to solve the problem, contact technical support.
QuickJump
The QuickJump Palette allows you to easily locate a particular step within the open handler. There are four view options for the
QuickJump palette, selectable through the Utilities menu. Each view identifies the step by label, type, and ID. Double-click on a step
listed in the QuickJump palette to move focus to that tool in the design window.
1083
Register Call Data
This Dialer tool is not longer in the tool palette. It was previously used to associate an incoming call with a campaign list entry and
return the detailed data for the caller from the Interaction Dialer Campaign COM object.
Inputs
Campaign ID
Campaign identifier. The name of the current campaign that this call is associated with.
Request ID
Internal Dialer Id representing the campaign request that contains the current call. (A request can have multiple calls associated
with it).
Reference ID
Internal Dialer Id representing the call itself.
Call ID
Call Id for the outbound call
Exit Paths
Success
Key used to look up this person in the campaign database. The phone number is the unique key that identifies this caller and will be
used to look up their detailed data from the database
Failure
The name of the table to which the attributes are written.
1084
Relabel Power Tools
Two Relabel power tools are available in Interaction Designer for advanced users.
If you select a toolstep, or multiple toolsteps, and then click the Relabel tool, the step label changes to the contents of the step.
You might have to expand the step to see the entire label.
The Relabel Assignments tool affects the assignment tool steps in a handler.
The Relabel Conditions tool affects the condition tool steps in a handler.
To enable one of these tools:
From the Utilities menu, point to Power Tools , and then choose either the Relabel Assignments or Relabel Conditions
tool.
See Also
Auto Label Power Tools
Sample.lst
A custom handler list is just a list of handler names saved with the .lst extension. Here's an example:
handler1.ihd
handler2.ihd
handler3.ihd
handler4.ihd
handler5.ihd
handler6.ihd
Select All
Selects all tools in the current window.
1085
Send Pager Message Initiator
Send Pager Message tells the CIC Paging Server to send a page to a TAP compatible paging service. This initiator starts the
PagingDefault handler. Send Pager Message Initiator starts when CIC generates a Send notification for a Paging object. This occurs
when someone sends a page specifying only the Carrier Phone Number and Pager ID. PagingDefault.ihd uses this initiator.
Object ID
{all}
Notification Event
Send
Outputs
Carrier Phone Number
The telephone number for the paging service to which the pager is connected.
Pager ID
The unique identifier for a pager. This is established by the company providing the paging services, and may be omitted if the
recipient name is specified.
Message Text
The message to be sent. This may or may not be received, depending on the capabilities of the company providing the paging
services, the recipient's service level, or the pager model.
Urgent
An indicator that the message should be sent immediately, and not queued for sending later.
Send Date/Time
The date and time when the message should be sent. This is not required if the message is marked Urgent.
Exit Paths
Start
This step always exits through the start path.
1086
Send Pager Message Lookup Initiator
This initiator starts when CIC generates a SendWithLookup notification for a Paging object. This occurs when someone sends a
page from Paging Client specifying only the recipient's name. Send Pager Message Lookup Initiator doesn't start any handlers. This
initiator starts when CIC generates a SendWithLookup notification for a Paging object. This occurs when someone sends a page
specifying only the recipient's name.
Note: This initiator is not currently supported in the CIC handlers, so you cannot send a page by specifying the recipient name. You
must specify the carrier phone number and pager Id instead, and use the PagingDefault.ihd handler.
Object ID
{all}
Notification Event
SendWithLookup
Outputs
Recipient Name
The name of the page recipient.
Message Text
The message to be sent. This may or may not be received, depending on the capabilities of the company providing the paging
services, the recipients service level, or the pager model.
Urgent
An indicator that the message should be sent immediately, and not queued for sending later.
Send Date/Time
The date and time when the message should be sent. This is not required if the message is marked urgent.
Exit Paths
Start
This step always exits through the start path.
1087
Send Email Object Response
This tool was deprecated in CIC 4.0.
1088
SOAP Wizard
SOAP stands for Simple Object Access Protocol . SOAP is a protocol for exchanging XML-based messages over computer
networks, normally using HTTP/HTTPS.
For example, the SOAP Listener task on an IIS server uses HTTP protocol to transport SOAP messages to and from the Internet.
Applications developed using SOAP Notifier COM components use Notifier protocol to transport SOAP messages to and from a
CIC server. SOAP itself is not concerned with the protocol used for transport, so you can use SOAP on many types of computer
networks.
The SOAP tools allow you to build a SOAP Request subroutine. The Proxy wizard creates a handler that exposes a SOAP interface
for an existing subroutine initiator. You use the wizard to define the calling subroutine and then the variables to use. With this
information, the Proxy wizard builds a subroutine you can use with the SOAP tools.
Copy Header
If you want to copy the <Header> element and its contents from the source envelope to the response envelope, select this option.
This will affect both success and failure paths.
Note : For more information, refer to the Installing and Using SOAP Functionality Technical Reference and Installation Guide.
See Also
Using the SOAP Proxy Wizard
1089
Special Export Options
The following is a table of the export types, and the special export options that can be used with these export types. (Separate
multiple special options with a semicolon, i.e., "ExcelColumnHeadings=1;ExcelConstColWidth8.")
ExcelConstColWidth or ExcelConstColWidth=1 to n
Default is off/false. If specified without a value constant column widths will be enabled with a default width of 36. If a non zero
width is specified, then that width will be used to determine the fixed width of the columns.
1090
ExcelBaseAreaType
Defines the base area to be used for tabular formatting. This will be some section of the Crystal reporting hierarchy. The possible
values are WHOLEREPORT, DETAIL, PAGEHEADER, PAGEFOOTER, GROUPHEADER, and GROUPFOOTER.
If no ExcelBaseAreaType is defined, the WHOLEREPORT section will be used to define column alignment and widths.
If the base area is GROUPHEADER or GROUPFOOTER, the ExcelBaseAreaGroupNum identifies which of the group sections defines
the tabular base area.
ExcelBaseAreaGroupNum=1 to n
If the ExcelBaseAreaType is GROUPHEADER or GROUPFOOTER, this defines the group that is to be used for the tabular format.
LinesPerPage=1 to n
For paginated export type, this sets the number of lines to be used for each page of output. The default value is 66.
UseReportNumberFormat=0 or 1
The default value for this is false. If a value of 1 (true) is supplied, the report number formatting will be used for numeric output
values in the export. If the value is 0 (false), then the system default numeric formats as defined by the Locale settings will be used.
UseReportDateFormat=0 or 1
The default value for this is false. If a value of 1 (true) is supplied, the report date and time formatting will be used for date and time
output values in the export. If the value is 0 (false), then the system default date and time formats as defined by the Locale settings
will be used.
StringDelimiter={character}
Specified the single character that will be used as a delimiter at the beginning and end of a string value. The default is a double
quote.
FieldDelimiter={character}
Specifies the single character that will be used to separate fields in the export. The default value is a comma.
PWD={logging in password}
User password to be used with the UID and DSN. This value might not be required if the ODBC source has some other means of
authenticating the connecting user.
TABLE={export table}
Destination table for the ODBC exports. This value is required for the export to succeed.
1091
Standard Toolbar
Click To
Open a new handler.
Open an existing handler or subroutine. Interaction Designer displays the Open dialog box, in which you can
locate and open the desired handler or subroutine.
Save the active handler or subroutine with its current name. If you have not named the handler or subroutine,
Interaction Designer displays the Save As dialog box.
Remove selected data from the document and stores it on the Clipboard.
Publish the current handler. This button is not available until all required fields have been assigned values.
Initiates debugging.
Status Indicator
This icon indicates whether or not a handler is ready to publish. Clicking on this button opens and closes the Messages Bar.
Icon Meaning
The handler can be published.
The handler can be published, but there are warnings in the handler's
message window.
1092
Step Variables
When execution is paused on a step, users can click on the Step Variables tab in the Debug Palette and Designer will show the
variable values for all variables used by the currently displayed executing step.
Related Topics
Call Stack
Debug Palette
Handler Variables
View the value of a variable in a debug handler
Watch Variables
STID
A STID is a Statistics Tracking Id assigned to a call. Calls are assigned to Statistics Groups with the Assign Stats Group tool. Stats
groups allow Queue Manager to generate statistics about calls across queues.
1093
Subroutine Parameter dialog box
From the Subroutine Parameter dialog box you can add new, or edit existing, subroutine parameters. The parameters you create in
this initiator become inputs for the subroutine tool created when you publish this subroutine.
Parameter Label
The label that appears in the subroutine tool created when this subroutine is published.
Variable Name
The variable that contains the value passed in from the subroutine step that calls this subroutine.
Type
The data type of the variable. For example, the type might be String or Integer.
Option: This parameter will only be used as an input value to this subroutine
If you check this option, then this parameter will appear on the Inputs Page of the properties of any subroutine step that calls this
subroutine. If you don't check this option, then the parameter will appear on the Outputs Page of the properties.
Default Entry
The constant value or variable name to appear in the subroutine tool that calls this subroutine.
, symbol
A "," (comma symbol) can be used in a dialstring to indicate a two second pause. All of the Telephony tools accept this symbol.
/ symbol
A "/" (forward slash symbol) can be used in a dial string to indicate that numbers after the slash are to be dialed after a connection
is made. All of the Telephony tools accept this symbol, which is used to support direct extension dialing.
1095
WordForWindows1x
WordForWindows2x
WordForWindows60
WordForWindows70
WordPerfect42
WordPerfect50
WordPerfect51
WordPerfect52
WordPerfect60
WordStar50
WordStar55
WordStar60
WordStar70
WordStarWindows1x
XyWriteIIIPlus
For TGA files, you can read the following bits per pixel: 8, 16, 24, 32.
1096
TIF file format for faxes and OCR
The Create Fax Page List and Append Page tools, supports the following TIFF file formats:
TIFF. This is a tag-based file format designed to promote universal interchanges of digital image data. Because TIFF files do
not have a single way to store image data, there are many versions of TIFF. Create Fax Page List supports the most common
TIFF formats. CIC supports Group 3 and 4.
MPT. This is a multipage TIFF format that enables a file to contain more than one image. It is handled the same as a regular
TIFF file, except for the multipage feature.
You can read the following bits per pixel: 1, 2, 3, 4, 5, 6, 7, 8, 16, 24, 32.
Inputs
User Name
The User Name associated with the extension that will have its message waiting indicator turned on or off. User Names are defined
for each CIC user in Interaction Administrator, and are an attribute that can be looked up in Directory Services.
Turn on MWI
A value of true turns on the message waiting indicator on. A value of false turns the message waiting indicator off.
Exit Paths
Next
This tool always takes the Next exit path.
Toggle Messages
Opens or closes the Messages toolbar.
1097
Tones
Both the Play Tone and Extended Get Key tools generate or listen for tones. The following tables show the parameters for some of
the more common tones you can listen for or generate.
Note: Because the Play Tone tool does not have an Off Time parameter, you will not be able to generate Busy, Congestion,
Reorder, or Ringback tones. To play these tones, you should create a .WAV file containing the tone and play it to call.
The length information in the following table is listed in milliseconds. If you are using these values for the Play Tone tool, you must
convert these values to seconds (divide the millisecond value by 1000).
The following table shows the parameters for busy signals, congestion, reorder, and ringback.
The following table shows the DTMF Tone Specifications. These are the same tones generated when a key is pressed on a
telephone keypad.
The Categories section of the Tool Info dialog lists all the tool categories in alphabetical order, except for initiators, which are
unique and therefore listed first. Select a category to choose tools from that category.
The Tools section lists all the tools in a selected category in alphabetical order. The columns in this section are:
Column Description
Label The label of the tool that appears in Interaction Designer.
Name The internal name of the tool.
Category The tool's category.
Runtime DLL Name The runtime .dll file that contains the information for the tool.
Runtime Function Name The runtime function name called for the tool.
The version, if defined, for the tool.
Version
Help Context The help context ID, if defined, for the tool.
Help File The help file the help context ID refers to, if defined, for the tool.
The Parameters section displays the parameters for the selected tool in the order in which they appear on the tool step. The
columns in this section are:
Column Description
Label The label of the parameter as it appears on the tool step.
Index Ordinal position of the parameter.
Input If the parameter is required, this is set to "True". If it is an optional parameter, it is set to "False".
Required If the parameter is an input parameter this is set to "True". If it is an output parameter, it is set to "False".
Default Value The default value, if defined, for the parameter.
Type The type of input required for this parameter.
The Exit paths section displays the exit paths for the selected tool in the order they appear in the tool step. The columns in
this section are:
1099
Column Description
Label The label of the exit path as it appears on the tool step.
Index Ordinal position of the exit path.
Return Value Exit path taken by IP at runtime.
Note: NTT Hypervoice users should refer to the NTT Hypervoice documentation for a list of speech modes.
The following speech modes are available with domestic CIC's Centigram TruVoice TTS:
Identifier Mode
{1B6BF820-9299-101B-8A19-265D428C6000} Centigram Communications Corp. - Peter
{1B6BF820-9299-101B-8A19-265D428C6001} Centigram Communications Corp. - Sidney
{1B6BF820-9299-101B-8A19-265D428C6002} Centigram Communications Corp. - Eager Eddie
{1B6BF820-9299-101B-8A19-265D428C6003} Centigram Communications Corp. - Deep Douglas
{1B6BF820-9299-101B-8A19-265D428C6004} Centigram Communications Corp. - Biff
{1B6BF820-9299-101B-8A19-265D428C6005} Centigram Communications Corp. - Grandpa
Amos
{1B6BF820-9299-101B-8A19-265D428C6006} Centigram Communications Corp. - Melvin
{1B6BF820-9299-101B-8A19-265D428C6007} Centigram Communications Corp. - Alex
{1B6BF820-9299-101B-8A19-265D428C6008} Centigram Communications Corp. - Wanda
{1B6BF820-9299-101B-8A19-265D428C6009} Centigram Communications Corp. - Julia
The following speech mode IDs are available to international users using the L&H TTS3000:
1100
Identifier Mode
{534DE780-A7C7-11D1-B17B-0020AFED142E} Lernout & Hauspie - Adult Female #1 (Michelle)
American English (L&H V6.13)
1101
{0879A4E0-A92C-11D1-B17B-0020AFED142E} Lernout & Hauspie - Adult Female #1 (Véronique)
French (L&H V6.13)
{0879A4E1-A92C-11D1-B17B-0020AFED142E} Lernout & Hauspie - Adult Male #1 (Pierre) French
(L&H V6.13)
Object ID
{all}
Notification Event
Select Statistics.
Outputs
Queue Type
User.
Queue ID
The identifier for the User queue.
Interval Length
1103
Length in seconds of the interval that this data represents.
Alert Time
Total alert time of all calls alerting in queue.
Active Time
Total active time of all calls in queue.
Inactive Time
Total inactive time of all calls in queue.
Added Count
Number of calls added to the queue during this interval.
SL Alert to Inactive
1104
The number of altering calls that became inactive (abandoned).
SL Alert to Removed
The number of altering calls removed from the queue.
SL Active to Inactive
The number of active calls that became inactive.
SL Active to Removed
The number of active calls that became inactive (hang-up).
Average Wait Time
The average wait time for alerting calls.
Exit Paths
Start
This step always exits through the start path.
Non-Extended Tools
Each of the non-extended TTS tools automatically takes advantage of MRCP if Interaction Administrator indicates the default TTS
provider is MRCP. The tools use the default language set for a server and use it to select a compatible TTS voice on the MRCP
server to synthesize its text. If no compatible voice is found for a language, most MRCP servers use a default voice.
Extended Tools
The extended versions of the TTS tools can be used to take advantage of more advanced MRCP settings. You can use these tools
to control common features such as voice name, volume, and rate. To specify more advanced properties, you can use name:value
pairs in the tool step's Optional Parameters field.
The following table lists the name:value properties. When specifying a name:value pair, separate the name and value with a colon
(:), for example "property1:value".
1105
mrcp.audio.server.name MRCP server name as specified in Uses the specified MRCP server to synthesize
PureConnect. the text to speech.
mrcp.audio.voice.name MRCP voice name as specified in Uses the specified MRCP voice to synthesize
PureConnect. the text to speech.
*mrcp.audio.voice.rate SSML prosody rate of a voice. The value
can be an absolute float multiplier (i.e.,
2.0 means twice the rate or 0.5 means
half the rate), or the following predefined
values which indicate a relative change:
x-slow
slow
medium
fast
x-fast
default
*mrcp.audio.voice.volume SSML prosody volume. The value can be
an absolute number in the range 0-100.
(Higher values are louder and zero is
silence.) Or, use one of the following
predefined values to indicate a relative
change:
silent
x-soft
soft
medium
loud
x-loud
default
*mrcp.audio.language Voice language identifiers as specified
in RFC 3066 (language-country).
mrcp.audio.vendor The MRCP server vendor to use. This restricts the MRCP server selection
choices to ones from a particular vendor as
specified in Interaction Administrator.
*mrcp.audio.contentType The content type of the text being
synthesized.
Possible values:
text/plain (default)
application/ssml+xml
text/uri-list
multipart/mixed
* These parameters are vendor-dependent and may vary between TTS engines.
Example
The following optional parameter used in the Play String Extended tool step specifies that MRCP is used to play SSML text.
"MRCP mrcp.audio.contentType:application/ssml+xml"
1106
Using the SOAP Proxy Wizard
The SOAP Wizard creates a handler that exposes a SOAP interface for an existing subroutine initiator. You use the wizard to define
the calling subroutine and the variables to use. The wizard builds a subroutine you can use with the SOAP tools.
To use the SOAP wizard:
1. From the Utilities menu, point to SOAP Wizards , and then click Proxy Generator .
The Add SOAP Proxy Wizard appears.
2. Click Next .
A list of subroutine handlers appears.
3. Select the subroutine handler that the proxy calls, and then click Next .
Not all the subroutines handlers listed can be used. The subroutine must contain only variables of String or List of String type.
If you want to use a variable of another type, you will need to create a wrapper subroutine that changes the variable type.
If the subroutine has pass-by-reference parameters, the Subroutine Options dialog appears.
4. Select the subroutine options, if applicable, and then click Next .
The Web Service Description page appears.
5. Enter the web service name, IIS server host name, and port.
6. Click Next . The ISAPI Listener Files page appears.
7. If the Web Services Description File and the ISAPI Filter Config File locations are correct, click Next .
8. Select the Generate Failure Handling Logic checkbox if you want to add steps to the subroutine to handle failures.
9. Select Copy Header if you want to copy the <header> element from the source envelope to the response envelope.
10. Click Next . The completion page appears.
11. Click Finish .
Note : You still need to save, publish, and manage the handler.
See Also
SOAP Wizard
Note: Initial values are literal values only. You may not assign the initial value of a variable to an expression other than
a literal expression.
Clear the initial value
Select all variables that are not used in tool steps.
Add variables
To create a new variable, select "Add New" from the menu that appears from right-clicking on the variable window. Interaction
Designer will display the Declare Variable dialog. If the selected variable type for the new variable is of a type that allows for an
initial value, the Create w/Initial Value button will be enabled.
At this point we can either click Create w/Initial Value or click Create and set the initial value later by right-clicking the variable in
the window and selecting "Set Initial Value…" from the menu that appears. For this example, let’s assume that we clicked on the
Create button. Interaction Designer will automatically add the variable to the variable manager bar and then select it:
Interaction Designer now lets you assign an initial value to the variable:
1108
For this variable we will put in "Test String Value" (without the quotes). When setting the initial values for strings you do not have to
escape the string. For instance, if you had an embedded quote in the string, it is fine to enter:
Bob said "Hi"
You do not need to escape initial values by entering the following:
Bob said \"Hi\"
A couple of other notes about the initial value dialog:
The dialog will enable / disable items depending on the variable type. Therefore, if you are setting the initial value for a Boolean
variable, the Boolean Variable section at the top of the dialog will be enabled.
When setting the initial value for a datetime variable, you can set the value to be either a specific date/time such as February 2,
2001 at 5:00 AM. You also have the option to set it to Use Handler Start Time which sets the value to the time when Interaction
Processor launched the handler.
1109
Variables
Variables are containers for values. Variables exist for both normal and extended types, however you can declare variables only for
normal types. Extended type variables are declared automatically when you insert a step that processes an extended type value.
Global Variables
All variables are scoped to the handler in which they are declared. You can pass values to a subroutine, but the variables must be
declared within any handler or subroutine in which they are used.
A good way to store values outside of handlers is to store the value in a system or server parameter. You can create system and
server parameters in Interaction Administrator. For example, you could create a server parameter called StrAdminEmail with the
value of the system administrator's email address. A GetDSAttr step can retrieve the value of StrAdminEmail within a handler.
Server parameters make handlers easy to maintain and port to other CIC servers since values are not hard coded. See Retrieving the
values of server and system parameters from handlers for more information. Server parameters can store only string values, but the
type conversion operators could convert them to other values types.
Related Topics
Literal Values
Literal Values, Variables, and Operators
Operators
Messages Palette
The message palette contains two tabs, a Handler Messages tab and a General Messages tab.
Handler Messages
This page lists any warnings and/or errors contained within the handler and the step number of the toolstep to which the warning or
error applies. Double-clicking on the message will shift the design window's view to focus on the relevant toolstep and select that
step.
General Messages
The messages shown here describe problems pertaining to Interaction Designer, but not specifically pertaining to any currently
loaded handler. These could be messages pertaining to the COM API, loading libraries, loading subroutines, etc.
1110
Toolbar command (View menu)
Use this command to display and hide the Toolbar, which includes buttons for some of the most common commands in Interaction
Designer, such as File Open. A check mark appears next to the menu item when the Toolbar is displayed.
See Toolbar for help on using the toolbar.
Watch Variables
When execution is paused on a step, users can click on the Watch Variables tab in the Debug Palette and Designer will show the
variable values for all variables in the currently selected for watching. For more information on watching variables in a debug
session, see View the value of a variable in a debug handler.
Related Topics
Debug Palette
Step Variables
Handler Variables
Call Stack
Updated Handlers
AcdAvailableAgent
AcdAvailableInteraction
AcdInitiateGenericObject
AcdProcessCategories
ACDProcessEventCall
AcdProcessEventEmail
AcdProcessEventGenericObject
AcdProcessEventInteraction
AcdProcessInQueueTimeout
AcdQueueItemTimeout
B_PlayResultsAndSelect
B_PlayResultsAndSelectOrder
CiscoIPXML
ConvertEmailRecipientsToStrings
CreateDefaultAttendantMenuInit
CSSurvey_RunSurvey
CSSurveyDeleteComment
CSSurveyDisconnect
CSSurveyEntryPoint
CSSurveyGetKeys
CSSurveyPlayComment
CSSurveyPostResults
CSSurveyRecordAnswer
1111
CSSurveyRecordComment
CustomHoldMusic
DialByName
DialByName_Audio
DialByNamePromptFilter
DialPlanEx
EmailAdminEventMsg
EMSSystemIVRCustomizations
EMSSystemIVRUserQueue
ExtendedGetDTMF
FindSIPStationByAddress
FollowMeGetUserConfig
GetBillionPrompts_lang
GetCurrencyPrompt_lang
GetDatePrompts
GetDatePrompts_lang
GetDatePromptsTZ
GetEmailHTMLBody
GetEmailInlineAttachments
GetEntityNamePrompts
GetFaxAttachmentFiles
GetIntegerPrompts_lang
GetIWebScheduleAction
GetMailboxQuotaStatus
GetMajorLanguage_lang
GetManagedServerParameter
GetMilitaryTimePrompts_lang
GetMillionPrompts_lang
GetOperatorTarget
GetPotentialUsers
GetQueueAnnouncement
GetThreeDigitsInteger_lang
GetTimePrompts_lang
GetUserClassifications
GetUserRegion
GetUserTimeZone
GetValidUsers
GetVoicemailHTMLBody
I3DialPlan
I3MessageButton
IntAttAcdAudio
IntAttAcdAudio_Audio
IntAttAdvancedStatistics
1112
IntAttAgentTransfer
IntAttAttendantTransfer
IntAttAudioPlayback
IntAttCallerDataEntry
IntAttDBInsert
IntAttDialerCompleted
IntAttDirectProcessing
IntAttEmailAgentTransfer
IntAttEmailBuildReplay
IntAttEmailGetProfileKeyPath
IntAttEmailProcessProfile
IntAttEmailSelectionNode
IntAttEmailWorkgroupTransfer
IntAttEnhancedAudioPlayback
IntAttExpressionEvaluation
IntAttExtensionDialing
IntAttExternalTransfer
IntAttFaxBack
IntAttGetAudioPath
IntAttGetAudioSegments
IntAttGetProfileKeyPath
IntAttIncomingCall
IntAttIncomingEmail
IntAttLogging
IntAttManageAudioFiles
IntAttManageOptions
IntAttManageUnplannedSchedules
IntAttMSCRMFetchCaseByCaseID
IntAttMSRCM_PlayCases
IntAttMSCRM_PlayOrders
IntAttMSCRM_QueryCases
IntAttMSCRM_QueryCasesNoPlay
IntAttMSCRM_QueryContact
IntAttMSCRM_QueryOrders
IntAttParseEicSipHeader
IntAttProcessAcdWait
IntAttProcessError
IntAttProcessEvent
IntAddProcessEventEmail
IntAttProcessMenu
IntAttProcessMenuEmail
IntAttProcessProfile
IntAttProcessRelocation
1113
IntAttReceiveFax
IntAttRecordPrompt
IntAttRemoteDataQuery
IntAttRemoteDataQueryProcess
IntAttRequestCallback
IntAttScreenPop
IntAttSelectionNode
IntAttSelectionNodeRHS
IntAttStationOptions
IntAttSubroutineInitiator
IntAttVoicemailTransfer
IntAttWorkgroupTransfer
InteractionAttendantEmailEntryPoint
InteractionAttendantEntryPoint
MobileOfficeDID
OnHoldAudioRandomizationMonitor
OperatorIncomingCall
OperatorProcessProfile
OutboundIncomingCall
OutboundProcessProfile
PlayCommonName
PlayDateEx_lang
PlayDateTimeTZ
PlayEntityName
PlayEnvelopeInformation
PlayEnvelopeInformation_Audio
PlayIntegerEX_lang
PlayMessageCountsEx_Audio
PlayMessageFrom
PlayTone
PlayToneAudioFile
PlayUserStatus
Prompt_ASR
Prompt_Attendant
Prompt_Hotfix
Prompt_IVR
Prompt_System
Prompt_TimeZone
Prompt_TUIMain
Prompt_TUIMessageManagement
Prompt_TUIPrivateCompanyDirectory
RecoEntryPoint
RecoGenerateCompanyDirectory
1114
RecoGenerateCompanyDirectoryTimer
RecoGenerateDTMFGrammarString
RecoGenerateVoiceGrammarString
RecoGetInput
RecoGetResult
RecoLoadMainMenuGrammar
RecoRegisterSystemNamePrompts
RegionalDialPlanEx
ResolveVMRecipients
SetIWebStrings
SetScreenPop
Strings_Attendant
Strings_System
Strings_Web
System_AsynchronousDigitsReceived
System_CallOfferingAttendantRestart
System_CallOfferingNonSystemQueue
SystemCallOfferingOutboundAttendant
System_ClientDisconnect
System_ClientPromptRequest
System_EmailOfferingInteractionAttendant
System_FaxSendCompleted
System_GenericObjectOfferingNonSystemQueue
System_HeldInteractionTimer
System_IncomingCall
System_IncomingFax
System_IncomingInteraction
System_IncomingQueueEmail
System_InitiateCallRequest
System_InteractionOfferingNonSystemQueue
System_InteractionVoicemail
System_OutgoingFax
System_OutgoingQueueEmail
System_QueueEmailOfferingNonSystemQueue
System_SendClassificationAlert
System_StationOffHook
System_SwitchhookFlash
System_TransferCallRequest
System_TransferToVoiceMailRequest
System_TUIMenu
System_VoxFormRequest
System_WebSearch
System_WorkItemObjectOfferingNonSystemQueue
1115
System_WrapUpRequest
SystemAcdCallHolding
SystemAcdCallHolding_Audio
SystemAcdInteractionHolding
SystemAutoAnswerPage
SystemCallbackDisconnect
SystemChangeMailFolder
SystemClientPhoneticSpellings
SystemCompileNameAudio
SystemContinuousListen
SystemDescribePhoneNumber
SystemDescribeRegionalPhoneNumber
SystemDNISRouting
SystemEmailDisconnect
SystemExcelRunUsageReports
SystemFindUser
SystemGenerateUserNamePrompts
SystemGenerateUserNamePromptsProcess
SystemGenericObjectDisconnect
SystemGetOutboundANI
SystmIncomingCallAnalysis
SystemIncomingSIP
SystemIncomingTAPI
SystemInteractionDisconnect
SystemIntercomAttributeSync
SystemIVR
SystemIVRAGentQueueActivation
SystemIVRCallOfferingStationGroupQueue
SystemIVRCallOfferingStationQueue
SystemIVRCallOfferingUserQueue
SystemIVRCallOfferingWorkgroupQueue
SystemIVRChooseQueue
SystemIVRCompleteIntercomEscape
SystemIVRConfigureOneNumberFollowMeOptions
SystemIVRConfigureOneNumberFollowMeOptions_Audio
SystemIVRCustomizations
SystemIVREscape
SystemIVRFollowMeSequential
SystemIVRForceStationLogout
SystemIVRForwardMessage
SystemIVRForwardQueue
SystemIVRGetEmailIds
SystemIVRGetPhoneNumber
1116
SystemIVRGetUserAttribute
SystemIVRGetVMDestinationQueues
SystemIVRVoicemailOptions
SystemIVRInternalVoiceMail
SystemIVRLookup
SystemIVRManageDeletedMessages
SystemIVRManageNotificationOptions
SystemIVRManagePlaybackOptions
SystemIVROfficeWideHunt
SystemIVROfficeWideHuntProcess
SystemIVROneNumberFollowMe
SystemIVRPersonalVoicemailOptions
SystemIVRPickupCall
SystemIVRPrivateDirectory
SystemIVRProcessMessage
SystemIVRReceiveFaxCall
SystmIVRReplyMessage
SystemIVRSendMessage
SystemIVRSetForwardNumber
SystemIVRSetPassword
SystemIVRSetPassword_Audio
SystemIVRSetUserAvailability
SystemIVRSetUserStatus
SystemIVRStationAutoConference
SystemIVRStationGroupQueueAlert
SystemIVRStatusForward
SystemIVRUserQueueAlert
SystemIVRUserQueueDND
SystemIVRUserQueueEmail
SystemIVRUserQueueInteraction
SystemIVRValidateUser
SystemIVRValidateUser_Audio
SystemIVRWorkgroupQueueAlert
SystemIVRWorkgroupQueueEmail
SystemLookupQueueId
SystemMessageButtonLogin
SystemMessageLightProcess
SystemMonitorObjectdisconnect
SystemNotificationCall
SystemNotifcationsProcessor
SystemParseSIPAddress
SystemProcessFollowMe
SystemProcessNotifications
1117
SystemProvisionPhone
SystemRecordDisconnect
SystemSendWrapUpRequest
SystemSMSDisconnect
SystemSMSExpandAddresses
SystemUMDiversion
SystemVoicemailTranscription
SystemWorkgroupQueueInteraction
SystemZonePage
TargetRegionExternal
TargetRegionExtLookup
TargetRegionInternal
TargetRegionLine
TUIAudioMark
TUIAudioRecord
TUIAudioSend
TUICatchDefault
TUICatchInterpreter
TUIEntryPoint
TUIEventApplication
TUIEventMailbox
TUIEventMessage
TUIEventOptions
TUIEventPrompts
TUIEventSendMessage
TUIForwardMessage
TUIGenerateGrammars
TUIGetCalendarEvents
TUIGetDirectoryResult
TUIGetNoteId
TUIGetOPCDirectoryResult
TUIGetSpeechInput
TUIGetSpeechResult
TUIGetStatusData
TUIGetUserData
TUILoadGrammar
TUIMailProcessor
TUIMenuEventDispatch
TUIMenuInterpreter
TUIMenuInterpreterDTMF
TUIMenuInterpreterVoice
TUIMenuPlayAudio
TUIMenuQueueAudio
1118
TUIMenuRoot
TUIPlacePrivateCall
TUIPromptListen
TUIPromptRecord
TUIPromptReset
TUIPromptSave
TUIResolveUserOption
TUISetICUserStatus
UpdateLanguagePackInfo_lang
VoiceMail
New Handlers
ACDGetSkills
CustomAcdStatisticsQuery
CustomCallAnalytics
CustomCreateXMLNode
CustomKeywordSpotted
CustomParseRoutingContexts
CustomPlayDateEx_lang
Custom_GetServerParameter
Custom_LogErrorMessage
GetMessageAttachmentFiles
IntAttProcessExtension
IntAttUpdateSkills
IntAttVoiceDataEntry
IntAttVoiceDataEntryGrammars
IntAttVoiceGenerateDTMFGrammars
IntAttVoiceMenuInput
IntAttVoiceMenuInterpreter
IntAttVoiceMenuProcess
IntAttVoiceMenuResult
SR_BuildEmailBody
SR_CheckAccess
SR_DataProcessor
SR_DBQuery
SR_FillValuesTable
SR_GetDsAttribute
SR_GetSiteId
SR_IAChangeNotification
SR_RolesChangeNotification
SR_RunScheduledReport
1119
SR_SendEmailErrorNotification
SR_ServerParameterChangeNotification
SR_UpdateReportParametersTable
SR_UpdateReportsTables
SR_UpdateUserAccessTable
SR_WorkgroupsChangeNotification
Strings_AttendantSpeech
Strings_SR
SystemCreateXMLNode
SystemIVRCallAnalytics
SystemParseRoutingContexts
System_AcdStatisticsQuery
System_KeywordSpotted
System_OCREmail
TUIAudioRecordFile
TUIFileCleanUp
TUIGetDateOrTime
TUIGetFaxes
TUIGetFaxMessageIndicies
TUIGetICVoicemailOptions
TUIGetPhoneNumber
TUIICPlaybackOptions
UILoadUserObject
TUIOpenMailFolders
TUIPromptSetActiveGreeting
TUISetUserStatus
TUIUpdateMessageCountData
TUIUserValidated
WFM_HandlerServices
Deprecated Handlers
Custom_AcdAvailableAgent
CustomIncomingFax
CustomIncomingQueueEmail
CustomInteractionQueueItemTimeout
CustomIVRStationGroupQueueAlert
CustomWrapUpRequest
CustomWrapUpRequestIVR
CustomWrapUpRequestIVRDisconnect
Get Server Parameter
MSCRMCloseIncident
MSCRMCreateAccount
1120
MSCRMCreateContact
MSCRMCreateIncident
MSCRMCreateProduct
MSCRMOpenIncident
MSCRMQueryAccount
MSRCMQueryContact
MSRCMQueryContract
MSCRMQueryIncident
MSCRMQueryOrder
MSCRMQueryProduct
MSCRMRetrieveAccount
MSCRMRetrieveContact
MSCRMRetrieveContract
MSCRMRetrieveIncident
MSCRMRetrieveProduct
MSCRMUpdateAccount
MSCRMUpdateContact
MSCRMUpdateIncident
MSCRMUpdateProduct
MSCRM_QueryCases
MSCRM_QueryCasesNoPlay
MSCRM_QueryContact
MSCRM_QueryOrders
MSCRM_QueryOrdersNoPlay
SystemIncomingTDD
SysemIntercomMessaging
SystemSendPagerMessage
System_InitiatePage
System_SupervisorAlert
1121
WMF file formats for faxing
The Create Fax Page List and Append Page tools supports the following WMF file formats:
WMF: The Windows Metafile (WMF) format is a vectored format that may or may not also contain a raster image. When reading
a WMF file, Create Fax Page List and Append Pages converts all of the image data to a raster image.
For WMF files, you can read the following bits per pixel: 8, 24.
Object ID
All
Notification Event
Select Statistics.
Outputs
Queue Type
Workgroup.
Queue ID
The identifier for the Workgroup queue.
Interval Length
Length in seconds of the interval that this data represents.
Alert Time
Total alert time of all calls alerting in queue.
Active Time
Total active time of all calls in queue.
Inactive Time
Total inactive time of all calls in queue.
Added Count
Number of calls added to the queue during this interval.
SL Alert to Inactive
The number of altering calls that became inactive (abandoned).
SL Alert to Removed
1123
The number of altering calls removed from the queue.
SL Active to Inactive
The number of active calls that became inactive.
SL Active to Removed
The number of active calls that became inactive (hang-ups).
Average Wait Time
The average wait time for alerting calls.
Exit Paths
Start
This step always exits through the start path.
Zoom 10
Sets the magnification of the design window to 10%.
Zoom 100
Sets the magnification of the design window to 100%.
Zoom 125
Sets the magnification of the design window to 125%.
Zoom 150
Sets the magnification of the design window to 150%.
Zoom 175
Sets the magnification of the design window to 175%.
Zoom 200
Sets the magnification of the design window to 200%.
1124
Zoom 25
Sets the magnification of the design window to 25%.
Zoom 50
Sets the magnification of the design window to 50%.
Zoom 75
Sets the magnification of the design window to 75%.
Zoom In
Increases the magnification of the design window by one level.
Zoom Out
Decreases the magnification of the design window by one level.
Zoom
Increases or decreases the magnification of the active window.
Zoom Factor
The Zoom drop-down list on the toolbar allows you to select a magnification level from 10% to 200%.
1125
File Open Dialog Box
The following options allow you to specify which file to open:
File Name
Type or select the filename you want to open. This box lists files with the extension you select in the List Files of Type box.
Multiple files may be selected.
Drives
Select the drive in which Interaction Designer stores the file that you want to open.
Directories
Select the directory in which Interaction Designer stores the file that you want to open.
Network...
Choose this button to connect to a network location, assigning it a new drive letter.
1126
Notes: The DateTime and Number parameters were used for CIC reports in IC version 2.2 and previous. In newer reports,
datetime and numeric values are specified as string parameters.
When you use a report toolstep to export a historical report, use only user-supplied parameters. You can set values of other
types of parameters (such as fixed to default and system-supplied) in Interaction Administrator rather than through a handler.
For more information about parameter types, see "Parameter Definition for Reports" in the Interaction Administrator Help.
BooleanParamNames BooleanParamValues
"Boolean1" true
"Boolean2" false
1127
StringParamNames StringParamValues
"Date" "1962/10/31"
"DateRange" "1991/1/17-1991/2/28"
"DateList" "1997/12/25;1998/12/25;1999/12/25"
"DateSkipRange" "1999/1/1-1999/2/1;1999/3/1-1999/4/1"
"DateCombo" "1999/1/1;1999/2/1-1999/3/1"
"DateTimeRange" "1991/1/17 11:22:33-1991/2/28 11:22:33"
"DateTimeList" "1997/12/25 11:22:33;1998/12/25 11:22:33;1999/12/25 11:22:33"
"DateTimeSkipRange" "1999/1/1 11:22:33-1999/2/1 11:22:33;1999/3/1 11:22:33-1999/4/1
11:22:33"
"DateTimeCombo" "1999/1/1 11:22:33;1999/2/1 11:22:33-1999/3/1 11:22:33"
"NumberRange" "1-99"
"NumberList" "11;22;33"
"NumberSkipRange" "1-2;5-6"
"NumberCombo" "1;2-3"
"String" "This is a string."
"StringRange" "A-Z"
"StringList" "Fred;Mary;Joe"
"StringSkipRange" "A-B;D-E"
"StringCombo" "discrete;begin-end"
"Time" "11:22:33"
"TimeRange" "0:0:0-23:59:59"
"TimeSkipRange" "0:0:0-11:0:0;13:0:0-23:0:0"
"TimeCombo" "12:0:0;13:0:0-23:0:0"
"User" "Marketing"
"UserRange" "A-Z"
"UserList" "Fred;Mary;Jim"
"UserSkipRange" "A-M;X-Z"
"UserCombo" "Marketing;A-Z"
1128
DateTimeParamName DateTimeParamValue
"DateTime" MakeDateTimeTZ(1973, 9, 19, 5, 5, 55,
"")
For more information about the MakeDateTime format, see Creating Datetime Values.
NumberParamName NumberParamValue
"Number" 92.3
Substitution Fields
A substitution field is an PureConnect-specific tag in an HTML template. At handler run-time, when the Generate HTML step
executes, the substitution fields are replaced with the values of the expressions bound in the step properties.
When an HTML template is selected in Interaction Designer, Interaction Designer parses the template to find the tags. From the
context of the tags, Interaction Designer determines whether the binding type should be String or List of String.
ACD Tools
Acd Agent Login renamed to Acd Agent Log On
Acd Agent Login Remote renamed to Acd Agent Log On Remote
Acd Agent Logout renamed to Acd Agent Log Off
1129
Email Object Tools
All deprecated
Reco Tools
Reco Create Company Directory Grammar (updated)
Report Tools
The following Log Tools in the Reports category were deprecated in CIC 4.0:
Agent Queue Statistic Interval Log
Statistics Group Interval Log
Workgroup Queue Statistics Interval Log
SDMI Tools
All deprecated
Initiators
Complete Async Receive Text from an Interaction (new)
Wrapup Required (internal use only)
1130
Handler developers who want to take advantage of Interactive Text to Speech (ITTS) can use the existing TTS tools, Play String,
Play Text File, Record String, Record Text File, and the extended versions of each of those tools.
For more information about installing, licensing, and configuring Interaction Text to Speech, see CIC Text To Speech Engines
Technical Reference in the PureConnect Documentation Library.
Non-Extended Tools
Each of the non-extended TTS tools automatically takes advantage of ITTS if Interactive Administrator indicates the default TTS
provider is media server. The tools use the default language set for a server and use it to select a compatible TTS voice on the
media server to synthesize its text. If no compatible voice is found for a language, the media server uses a default voice.
Extended Tools
The extended versions of the TTS tools can be used to take advantage of more advanced ITTS settings. You can use these tools to
control common features such as voice name, volume, and rate. To specify more advanced properties, you can use name:value
pairs in the tool step's Optional Parameters field.
The following table lists the name:value properties. When specifying a name:value pair, separate the name and value with a colon
(:), for example "property1:value".
1131
Name Values Description
I3TTS None Indicates that media server is used for TTS.
IMPORTANT : This parameter is required for
extended versions of TTS tools. It needs to be
the first parameter specified in the optional
parameter field.
i3tts.content.language Identifiers as specified in RFC 3066 Uses the specified language to synthesize the
(language-country) text to speech.
i3tts.content.type text/plain (default) The content type of the text being synthesized.
application/ssml+xml
i3tts.voice.name The i3tts voice name. Uses the i3tts voice to synthesize the text to
speech.
i3tts.voice.rate The value can be a number in Hz or one of SSML prosody rate of a voice
the following values that indicate a
relative change:
x-slow
slow
medium
fast
x-fast
default
i3tts.voice.volume The value can be +/- number in dB or one SSML prosody volume
of the following values that indicate a
relative change:
silent
x-soft
soft
medium
loud
x-loud
default
i3tts.voice.pitch The value can be number in Hz or one of SSML prosody pitch
the following values that indicate a relative
change:
x-low
low
medium
high
x-high
default
1132
Change log
Date Changes
11-November-2011
CIC 4.0 introduces the following changes:
Handler changes in CIC 4.0
Tool changes in CIC 4.0
10-February-2015 The CIC product suite has a new distribution model with new naming, faster release cycles, and higher
quality. CIC 4.0 SU 6 was the last release using the older model. CIC 2015 R1 is first of the new releases.
CIC 2015 R1 or later can be applied to any CIC 4.0 SU.
CIC 2015 R2 introduces the following changes:
Telephony Tools
Assemble String from Attributes (updated)
Verify Interaction ID (updated)
Wait for Monitor End (updated)
05-May-2015 CIC 2015 R3 introduces the following changes:
ACD Tools
ACD Specify Interaction Skill (updated)
Process Automation Tools
Create PA Data renamed to Create Data Container
Get PA Data Element renamed to Get Data Element
Process Automation Send Handler Results renamed to Send Process Automation Handler Result
Put PA Data Element renamed to Put Data Element
Remove PA Data renamed to Remove Data Container
OCR Tools
Overview of OCR Tools (updated)
Telephony Tools
DateTime Attr (updated)
Play String Extended (updated)
Play Text File Extended (updated)
Record String Extended (updated)
Record Text File Extended (updated)
Set DateTime Attrs (updated)
Using ITTS Tools (new)
Using MRCP Tools (updated)
1133
11-August-2015 CIC 2015 R4 introduces the following changes:
Customer Interaction Center (CIC) supports several interaction management client applications. This
documentation uses the term "CIC client" to refer to these applications, which include Interaction Connect,
Interaction Desktop, Interaction Client .NET Edition, and Interaction Client Web Edition. Starting with CIC
2015 R3, Interaction Desktop replaced Interaction Client .NET Edition as the primary CIC client.
ACD Tools
Overview of Process Automation Tools (Updated)
Dialer Tools
Place Dialer Call (Updated)
OCR Tools
Overview of OCR Tools (updated)
03-November-2015 CIC 2016 R1 introduces the following changes:
Customer Interaction Center (CIC) supports several interaction management client applications. This
documentation uses the term "CIC client" to refer to these applications, which include Interaction Connect,
Interaction Desktop, Interaction Client .NET Edition, and Interaction Client Web Edition. Starting with CIC
2015 R3, Interaction Desktop replaces Interaction Client .NET Edition as the primary CIC client.
Changed Lotus Domino/Notes references to IBM Domino/Notes.
ACD Tools
Introduction to ACD Tools (updated)
Email Tools
Introduction to E-mail Tools (updated)
Email Interaction Transfer (updated)
09-February-2016 CIC 2016 R2 introduces the following changes:
Telephony Tools
Record Call (updated)
Initiators
Interaction Administrator Change Notification Monitor Initiator (updated)
03-May-2016 CIC 2016 R3 introduces the following changes:
Web Interaction Tools
Snip Recording (new)
SOAP Tools
SOAP HTTP Request Ex3 (updated)
09-August-2016 CIC 2016 R4 introduces the following changes:
System Tools
Query Security Policy (updated)
SMS Tools
SMS Send (updated)
01-November-2016 CIC 2017 R1 introduces the following changes:
List Tools
List to String (updated)
REST Tools (new)
Array Builder (new)
Array Parser (new)
Bearer Token Request (new)
JSON Builder (new)
JSON Parser (new)
REST HTTP Request (new)
SMS Tools
SMS Send (updated)
System Tools
RegEx Extended (updated)
1134
07-February-2017 CIC 2017 R2 introduces the following changes:
Basic Tools
Table Lookup (updated)
Telephony Tools
Parallel Make Call (updated)
02-May-2017 CIC 2017 R3 introduces the following changes:
System Tools
Whitepages (updated)
Telephony Tools
Record Audio (updated)
Record Call (updated)
Record File (updated)
08-August-2017 CIC 2017 R4 introduces the following changes:
Dialer Tools
Place Dialer Call (updated)
Reco Tools
Introduction to Reco tools (new)
REST Tools
Bearer Token Request (updated)
Telephony Tools
DID/DNIS Routing Ex (new)
SOAP Tools
SOAP Create RPC Response (updated)
31-October-2017 CIC 2018 R1 introduces the following changes:
File I/O Tools
Get File Statistics (updated)
Inittiators
Email Interaction Disconnected Initiator (updated)
Email Interaction Incoming Initiator (updated)
Email Interaction Outgoing Initiator (updated)
Email Interaction Transferred Initiator(updated)
Manage Survey Prompt Initiator (updated)
Timer Initiator (updated)
Telephony Tools
Secure Session Get Key (updated)
XML Tools
XML Create Document From String (updated)
20-February-2018 CIC 2018 R2 introduces the following changes:
PureConnect data privacy feature
Customers can prevent potentially sensitive data from appearing in trace logs. See Tools impacted by the
PureConnect data privacy feature.
Report Tools
Report E-mail (updated)
Rest Tools
Array Parser (updated)
JSON Parser (updated)
REST HTTP Request (updated)
1135
15-May-2018 CIC 2018 R3 introduces the following changes.
Fax Tools
Convert PRN to I3F (deprecated)
Host Interface Tools
Introduction to Host Interface tools (updated)
Initiators
Interaction Retry Later Attempt (added)
Interaction Snooze Timed Out (added)
Reports
Logging Custom Passthrough (updated)
Web Interaction Tools
Snooze Interaction (added)
21-August-2018 CIC 2018 R4 introduces the following changes.
ACD Tools
ACD Initiate Processing (updated)
Fax Tools
Get Fax File (updated)
Initiators
Transfer Conversation (added)
Transfer Direct Message (added)
Rest Tools
Bearer Token Request (updated)
Telephony Tools
Query Media Type (updated)
Secure Session Begin (updated)
13-November-2018 CIC 2018 R5 introduces the following changes.
Database Tools
DB Fetch (updated)
DB Query (updated)
DB SQLExec (updated)
DB Stored Procedure (updated)
Fax Tools
Append Document Pages (updated)
MRCP Tools
Using MRCP Tools (updated)
MIC Tools (removed)
Genesys no longer supports Messaging Interaction Center (MIC).
REST Tools
Array Builder (updated)
Array Parser (updated)
Bearer Token Request (updated)
JSON Builder (updated)
JSON Parser (updated)
REST HTTP Request (updated)
19-February-2019 CIC 2019 R1 introduces the following changes.
ACD Tools
ACD Initiate Bullseye Processing (added)
Reports Tools
IVR Event Notify (added)
WebSphere MQ tools
MQ Connect (updated)
28-February-2019 Created this change log.
1136
28-March-2019 Updated directory in SOAP HTTP Request Ex3, REST HTTP Request and Bearer Token Request tool topics.
14-May-2019 CIC 2019 R2 introduces the following changes.
Fax Tools
Append Pages (updated)
Create Fax Page List (updated)
REST Tools
REST HTTP Request (updated)
SOAP Tools
SOAP HTTP Request Ex3 (updated)
System Tools
Complete External Blind Transfer (updated)
Complete External Call (extended) (updated)
Telephony Tools
Extended Place Call (updated)
Get Attribute (updated)
Get Attributes (updated)
26-September-2019 Private tool step updated to indicate that it stops an ongoing recording on the call.
02-October-2019 Updated Queue Period Report Statistics Initiator to use Queue/IVR reporting (min) field in Interaction
Administrator and StatServer_SendQPSNotification server parameter.
09-October-2019 Updated Email Interaction Update Message, Send Email, Send Fax Mail, and Send Voicemail toolsteps to
accept a string of the email address or a string of the display name with the email address in the Sender, To
Recipients, CC, BCC and Reply To inputs.
Updated REST HTTP Request toolstep that URL must be URL encoded.
10-December-2019 Updated InStr() comparison operator to indicate it is case sensitive.
13-December-2019 Updated Create Fax Page List tool and Append Pages tool to indicate 32-bit version of applications required.
14-January-2020 Updated description of "Use Putback" in the Complete External Blind Transfer tool.
06-February-2020 Added VoiceXML Async Cancel tool.
30-April-2020 Added note to Reco Initialize tool to indicate Server Groups input is not used.
Updated links from my.inin.com to new locations.
23-June-2020 Updated REST HTTP Request tool - Client SSL Certificate input.
20-August-2020 Removed reference to Answering Machine Detection Type parameter from Call Analysis topic.
31-October-2021 Added System_IncomingSocialMediaConversation and System_IncomingSocialMediaDirectMessage
1137