Scripting Guide for CS1000, M1 PBX

Embed Size (px)

Citation preview

297-2183-930

Nortel Contact Center ManagerScripting Guide for Communication Server 1000/Meridian 1 PBXProduct release 6.0 Standard 8.05 December 2007

Nortel Contact Center Manager Scripting Guide for Communication Server 1000/Meridian 1 PBX

Publication number: Product release: Document release: Date:

297-2183-930 6.0 Standard 8.05 December 2007

Copyright 2006 Nortel Networks. All Rights Reserved. Information is subject to change without notice. Nortel Networks reserves the right to make changes in design or components as progress in engineering and manufacturing may warrant. The process of transmitting data and call messaging between the Meridian 1 PBX and Contact Center Manager is proprietary to Nortel Networks. Any other use of the data and the transmission process is a violation of the user license unless specifically authorized in writing by Nortel Networks prior to such use. Violations of the license by alternative usage of any portion of this process or the related hardware constitutes grounds for an immediate termination of the license and Nortel Networks reserves the right to seek all allowable remedies for such breach. This page and the following page are considered the title page, and contain Nortel Networks and third-party trademarks. *Nortel Networks, Nortel, Nortel (Logo), the Globemark, CallPilot, IVR, Meridian, Meridian 1 PBX, Meridian Mail, Optivity, Communication Server, and Symposium are trademarks of Nortel. CRYSTAL REPORTS is a trademark of Crystal Decisions, Inc. MICROSOFT, MICROSOFT ACCESS, WINDOWS, WINDOWS NT, and WINDOWS XP are trademarks of Microsoft Corporation. SYBASE is a trademark of Sybase, Inc.

Contents1Getting startedNew in this release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to use this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skills you need . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Related documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to get help. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1314 17 18 20 21 23

2

Understanding and planning your scriptsOverview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using scripts in your contact center . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How call routing and call treatment work . . . . . . . . . . . . . . . . . . . . . . . . . . . Types of scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script building blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Planning your scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scripting tools and procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2526 27 29 33 37 40 47

3

Scripting rules and conventionsOverview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script formatting conventions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script naming guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General scriptwriting tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Guidelines for providing feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Scriptwriting tips for specific commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script example using formatting conventions and rules. . . . . . . . . . . . . . . . . Opening the scripting tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5556 58 63 65 68 83 86 87 90

4

Working with script variablesOverview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Starting the Script Variables tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types of variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating script variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

99100 104 106 109

Scripting Guide for Communication Server 1000/Meridian 1 PBX

v

Contents

Standard 8.05

Checking variables for referencing scripts . . . . . . . . . . . . . . . . . . . . . . . . . . Changing script variable properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Copying script variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deleting script variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing script variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

117 119 121 128 131

5

Creating and administering scripts

139

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 Section A: Creating and editing scripts 141 Creating new scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 Editing scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 Adding script elements to scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152 Saving changes to scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 Opening Web Scripts Editor in a new window. . . . . . . . . . . . . . . . . . . . . . . 158 Using text find and replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Using character count . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 Section B: Importing and exporting scripts 167 Importing scripts into Contact Center Manager . . . . . . . . . . . . . . . . . . . . . . 168 Exporting scripts to a remote location . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170 Section C: Administering scripts 175 Validating scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176 Activating and deactivating scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 Deactivating scripts with circular dependencies. . . . . . . . . . . . . . . . . . . . . . 186 Renaming scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Deleting scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

6

Basic script commands

193

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Section A: Basic general commands 195 ASSIGN TO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 EXECUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 EXECUTE SCRIPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199 IF-THEN-END IF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200 IF-THEN-ELSE-END IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201 QUIT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203 SECTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 WAIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

vi

Contact Center Manager

December 2007

Contents

Section B: Basic contact processing commands 209 CHANGE PRIORITY IN AGENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 CHANGE PRIORITY IN SKILLSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 DISCONNECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 GIVE BUSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217 GIVE MUSIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 GIVE OVERFLOW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221 GIVE RAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 GIVE RINGBACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 GIVE SILENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 QUEUE TO AGENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 QUEUE TO SKILLSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 REMOVE FROM AGENT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 REMOVE FROM SKILLSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 ROUTE CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

7

Advanced script commands

245246 247 253 255 261

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EVENT HANDLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . READVAR and SAVEVAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . WHERE-EQUALS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

Networking commands

267

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268 Section A: Network ACD routing 277 CHANGE PRIORITY IN NACD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 QUEUE TO NACD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 REMOVE FROM NACD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 Section B: Network Skill-Based Routing 285 CHANGE PRIORITY IN NETWORK SKILLSET . . . . . . . . . . . . . . . . . . 286 QUEUE TO NETWORK SKILLSET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 REMOVE FROM NETWORK SKILLSET . . . . . . . . . . . . . . . . . . . . . . . . 290

9

Voice processing commands

293

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Choosing the most efficient commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295 Section A: Basic IVRScripting Guide for Communication Server 1000/Meridian 1 PBX

301vii

Contents

Standard 8.05

GIVE IVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Section B: Voice session commands COLLECT DIGITS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OPEN VOICE SESSION and END VOICE SESSION . . . . . . . . . . . . . . . PLAY PROMPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305 306 309 313

Section C: Broadcast announcements 319 GIVE CONTROLLED BROADCAST ANNOUNCEMENT . . . . . . . . . . . 320

10

Host Data Exchange commands

327328 332 334 336 339

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SEND INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SEND REQUEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GET RESPONSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Database Integration Wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11

Intrinsics

343

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344 Examples of intrinsics use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347 Section A: Skillset intrinsics 349 Overview of skillset intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350 ANSWERED COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355 AVERAGE SPEED ANSWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 EXPECTED WAIT TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360 IDLE AGENT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 IDLE AGENT COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 LOGGED AGENT COUNT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 LOGGED OUT AGENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 LONGEST IDLE AGENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 MOST LOGGED AGENTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 OLDEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 OUT OF SERVICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 POSITION IN QUEUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383 PRIORITY IN QUEUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385 PRIORITY IN NETWORK QUEUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 QUEUED COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390 Section B: Time intrinsics 393 DAY OF WEEK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396viii Contact Center Manager

December 2007

Contents

DAY OF MONTH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398 MONTH OF YEAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400 TIME OF DAY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402 Section C: Traffic intrinsics 405 CALL RATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 CONTACT RATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 TOTAL ACTIVE CALLS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408 TOTAL ACTIVE CONTACTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409 Section D: Call intrinsics 411 AGE OF CALL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 CALL FORWARD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 CALL FORWARD BUSY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 CALL FORWARD DO NOT DISTURB. . . . . . . . . . . . . . . . . . . . . . . . . . . 415 CALL FORWARD NO ANSWER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 CDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417 CLID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418 CONFERENCED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421 DIALED DN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422 Transferring calls with the dialed DN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 DIRECT CALL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425 DNIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426 INTERNATIONAL CALL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 LOC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430 NETWORK CALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431 NPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432 NXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 NPANXX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 ON HOLD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 QUEUED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436 ROUTE NUMBER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 TRANSFERRED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 Section E: Open Queue Intrinsics 441 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442 AGE OF CONTACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 CONTACT DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444 CONTACT TYPE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 ROUTE POINT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450 URI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453

Scripting Guide for Communication Server 1000/Meridian 1 PBX

ix

Contents

Standard 8.05

12

Script expressions

455456 457 460 462 466

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Mathematical expressions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relational expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Order of operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

Applications

467

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468 Applications and application thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

14

Using sample scripts

479

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480 Section A: Getting started with sample scripts 481 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482 Creating the initial scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484 Editing the master script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490 Section B: Common scripts 493 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494 c_Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 c_Basic_Backup_Skillset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 c_Emergency_Boolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 c_Emergency_Skillset_Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 c_Excess_Call_Volume_Give_Busy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507 c_Expected_Wait_Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509 c_Forced_Announcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514 c_Holiday_Broadcast_Announcement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516 c_Priority_in_Queue_DNIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519 Section C: Network Skill-Based Routing scripts 523 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524 c_NSBR_Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525 c_NSBR_Primary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 c_NSBR_Distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530 c_Network. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532 Section D: Nodal Routing examples 533 Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 c_Master_Handles_Call_Transfers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535 c_Master_with_Exception_Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537x Contact Center Manager

December 2007

Contents

c_Master_with_Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c_Primary_One . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c_Primary_Two . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c_Primary_Three . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c_Primary_Four . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c_Primary_Five. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . c_Common_Secondary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

539 543 544 545 546 547 548

A

Troubleshooting

551552 553 556 561 563 565 579

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Script execution problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voice processing problems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Networking problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Phantom calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Validation errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Validation option rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

B C D

Scripting keywords

583

Reserved keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584

Using HDX

597

Using Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598

Scripting for Multimedia and Outbound

615616 617 618 620 622 624 625 626 628 631 632 633 634 636 641xi

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Using Multimedia Contact Intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %AGENT%AGENT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %DATE%DATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %INTEGER%WAITTIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %PRIORITY%PRIORITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %SKILLSET%SKILLSET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . %TIME%TIME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CONTACTSUBTYPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CUSTOMERID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CUSTOMFIELD1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FROMADDRESS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NEXTYEAR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . QUEUETYPE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TOADDRESS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Scripting Guide for Communication Server 1000/Meridian 1 PBX

Contents

Standard 8.05

Recommended scripts for Contact Center Multimedia. . . . . . . . . . . . . . . . . 643 Filtering Real Time Display statistics for rescheduled contacts. . . . . . . . . . 662 Modifying the multimedia scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667

E

SIP Contact Center

675676 679 688 700 705 710

Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . GIVE IVR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Example usage scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SIP intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration guidelines and general scripting considerations . . . . . . . . . . Test script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

F

Scripting Reference Glossary Index

735 757 797

Commands and intrinsics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736

xii

Contact Center Manager

Chapter 1

Getting startedIn this chapterNew in this release Overview How to use this guide Skills you need Related documents How to get help 14 17 20 20 21 23

Scripting Guide for Communication Server 1000/Meridian 1 PBX

13

Getting started

Standard 8.05

New in this releaseThe following sections detail what is new in the Nortel Contact Center Manager Scripting Guide for Communication Server 1000/Meridian 1 PBX (297-2183930) for release 8.5. Features on page 14 Other changes on page 15

FeaturesSee the following sections for information about feature changes: SIP-enabled Contact Center Manager Server on page 14 Script Variables window on page 14 Script Manager on page 15 New Script Editor window on page 15 Open Queue on page 15 SIP-enabled Contact Center Manager Server Modifications for scripting are required when using a SIP-enabled Contact Center Manager Server. The SIP changes to scripting affects the following sections: GIVE IVR on page 679 SIP intrinsics on page 700 Configuration guidelines and general scripting considerations on page 705 Script Variables window In the new Script Variables window, you can view all variables in both folder and grid format, and perform many functions. The Script Variables window description affects the following sections: Starting the Script Variables tool on page 104 Creating script variables on page 10914 Contact Center Manager

December 2007

Getting started

Checking variables for referencing scripts on page 117 Changing script variable properties on page 119 Script Manager The Script Manager lists all scripts in a table and provides a Last modified by filter, which sorts by user name. The Script Manager is described in the following sections: Scripting tools and procedures on page 47 Creating and editing scripts on page 141 Importing and exporting scripts on page 167 Administering scripts on page 175 New Script Editor window From the new script editor window, you can edit, validate, and activate scripts. You can also perform the following tasks: Opening Web Scripts Editor in a new window on page 158 Open Queue The Open Queue is a licensed feature that provides seamless integration between the Contact Center Manager Server, Contact Center Manager Administration, Contact Center Multimedia, and Communication Control Toolkit products. It provides workflow, queuing, routing, reporting, and management e-mail, outbound, Web communications contacts. Open Queue provides a truly integrated multimedia contact center. The Open Queue feature affects the following sections: Open Queue Intrinsics on page 441

Other changesSee the following sections for information about changes that are not featurerelated. Additional updates on page 16

Scripting Guide for Communication Server 1000/Meridian 1 PBX

15

Getting started

Standard 8.05

Additional updatesSeveral intrinsics were changed to reflect the fact they now represent both voice and video. The number of call variables that can be defined is increased from 20 to 50.

16

Contact Center Manager

December 2007

Getting started

OverviewThe Nortel Contact Center Manager Scripting Guide for Communication Server 1000/Meridian 1 PBX provides an overview of the functions of contact center scripts and explains the scripting process. The guide describes how to plan the scripts used in your contact center create, modify, and delete script variables create, validate, activate, and delete contact center scripts view applications, and change application thresholds use sample scripts for your contact center Throughout this guide, the term contact applies to both voice and non-voice contacts.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

17

Getting started

Standard 8.05

How to use this guideThis guide covers the following: understanding and planning your scripts scripting rules and conventions working with script variables creating and administering scripts working with basic and advanced script commands working with networking commands working with voice processing commands working with Host Data Exchange commands working with intrinsics using script expressions script-related applications using sample scripts scripting in Contact Center Multimedia scripting for SIP-enabled Contact Center This guide includes a detailed table of contents and an index to help you find specific information or procedures related to scripting. Where to start in this guide on page 19 focuses only on the most common tasks. If the task you want to perform is not listed, use the table of contents or index to find the information you need.

18

Contact Center Manager

December 2007

Getting started

Where to start in this guideThe following table describes where to start for common procedures.If you want to do this Start here

Plan your scripts Work with script variables Create or manage scripts Use script related applications Use sample scripts Use scripting in Contact Center Multimedia Use scripting in SIP-enabled Contact Centers

Chapter 2, Understanding and planning your scripts. Chapter 4, Working with script variables. Chapter 5, Creating and administering scripts. Chapter 13, Applications. Chapter 14, Using sample scripts. Appendix D, Scripting for Multimedia and Outbound. Appendix E, SIP Contact Center.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

19

Getting started

Standard 8.05

Skills you needThis guide is intended for individuals responsible for designing, writing, and maintaining the scripts used in Contact Center Manager. This section describes the skills and knowledge you need to use this guide effectively.

Nortel product knowledgeKnowledge of, or experience with, the following Nortel products is helpful when you create scripts for Contact Center Manager: Contact Center Manager Communication Server 1000 or Meridian 1 PBX Unless otherwise specified, references in this guide to the Communication Server 1000 are applicable also to the Meridian 1 PBX switch. Communication Server 1000/MCS 5100 + Media Application Server switch (For SIP-enabled contact centers only)

PC experience or knowledgeKnowledge of, or experience with Windows Server 2003 is helpful when you administer Contact Center Manager.

Other experience or knowledgeOther experience or knowledge that can be of use include: programming flowcharting analytical skills contact center operations and contact-routing requirements

20

Contact Center Manager

December 2007

Getting started

Related documentsThe following guides are available on the Contact Center portfolio DVD or on the Nortel Web site (www.nortel.com).For information about Refer to NTP number

Planning and Contact Center Planning and engineering guidelines, Engineering Guide and server requirements Contact Center Manager CapTool Users Guide Server requirements The Contact Center portfolio Switch configuration

297-2183-934 297-2183-935

Contact Center Server and Operating 297-2183-263 System Requirements Guide Contact Center What is New in Release 6.0 Contact Center Communication Server 1000/Meridian 1 and Voice Processing Guide SIP Contact Center Switch Configuration Guide Contact Center 6.0 Security Guide Contact Center Portfolio Service Packs Compatibility and Security Hotfixes Applicability List 297-2183-903 297-2183-931

297-2183-962

Installation, upgrades, migration, and maintenance

Contact Center Manager Server Installation and Maintenance Guide Contact Center Manager Administration Installation and Maintenance Guide

297-2183-925 297-2183-926

Scripting Guide for Communication Server 1000/Meridian 1 PBX

21

Getting started

Standard 8.05

For information about Refer to

NTP number

Nortel Media Application Server 297-2183-227 Installation and Configuration Guide for Contact Center 6.0 Scripting Contact Center Manager Scripting Guide for Communication Server 1000/Meridian 1 PBX Contact Center Manager Database Integration User Guide Administering contact centers Handling contacts Contact Center Manager Administrators Guide Contact Center Agent Desktop User Guide CallPilot Application Builder Guide Programming Host Data Exchange API Programmers Guide 297-2183-930

297-2183-940 297-2183-927 297-2183-945

22

Contact Center Manager

December 2007

Getting started

How to get helpThis section explains how to get help for Nortel products and services. However, before contacting Nortel for support, see Troubleshooting on page 551 of this guide.

Finding the latest updates on the Nortel Web siteThe content of this documentation was current at the time the product was released. To check for updates to the latest documentation and software for Contact Center 6.0, click one of the following links:Link to Takes you directly to

Latest software

The Nortel page for Contact Center located at http:// www.nortel.com/espl.

Latest documentation The Nortel page for Contact Center documentation located at http://www.nortel.com/helmsman.

Getting help from the Nortel Web siteThe best way to get technical support for Nortel products is the Nortel Technical Support Web site: www.nortel.com/support This site provides quick access to software, documentation, bulletins, and tools to address issues with Nortel products. From this site, you can: download software and related tools download technical documents, release notes, and product bulletins sign up for automatic notification of new software and documentation search the Technical Support Web site and Nortel Knowledge Base for answers to technical issues open and manage technical support cases

Scripting Guide for Communication Server 1000/Meridian 1 PBX

23

Getting started

Standard 8.05

Getting help over the phone from a Nortel Solutions CenterIf you do not find the information you require on the Nortel Technical Support Web site, and you have a Nortel support contract, you can also get help over the phone from a Nortel Solutions Center. In North America, call 1-800-4NORTEL (1-800-466-7835). Outside North America, go to the Web site below to obtain the phone number for your region: http://www.nortel.com/callus

Getting help from a specialist by using an Express Routing CodeYou can use an Express Routing Code (ERC) to more quickly route your call to the appropriate support specialist. To locate the ERC for your product or service, go to: http://www.nortel.com/erc

Getting help through a Nortel distributor or resellerIf you purchased a service contract for your Nortel product from a distributor or authorized reseller, you can contact the technical support staff for that distributor or reseller.

24

Contact Center Manager

Chapter 2

Understanding and planning your scriptsIn this chapterOverview Using scripts in your contact center How call routing and call treatment work Types of scripts Script building blocks Planning your scripts Scripting tools and procedures 26 27 29 33 37 40 47

Scripting Guide for Communication Server 1000/Meridian 1 PBX

25

Understanding and planning your scripts

Standard 8.05

OverviewA script is an application that contains instructions that determine the sequence of steps that a contact follows after the contact arrives at Contact Center Manager. These steps include call treatments (such as music or ringback), call routing (such as skill-based routing), or interaction with the caller. Scripts perform two major functions: they define the path a contact follows, and they provide treatments to a contact as the contact moves through Contact Center Manager. Scripts are also used by the Contact Center Manager Server to track and record information about each step in a contacts progress. You can use this information to analyze how your contact center is functioning and decide how to improve service.

26

Contact Center Manager

December 2007

Understanding and planning your scripts

Using scripts in your contact centerTo use scripts effectively, you must understand the objectives of the contact center. Generally, a contact center has three major objectives: maximize contact center efficiency maximize user satisfaction analyze your contact center performance, and decide on how to improve service

Maximize contact center efficiencyTo maximize the efficiency of your contact center, you must accomplish the following goals: increase productivity improve service decrease costs handle unusual situations In an efficient contact center, agents process contacts that they are qualified to handle. You must design a script so that incoming contacts are presented to the agents who are best prepared to deal with the requirements of the contact. Matching contacts with a qualified agent is the basis for skill-based routing: determine a contacts requirements and route the contact to an agent who has the knowledge to deal with it effectively. Contacts must reach an agent as soon as possible to: prevent the contact from disconnecting while waiting in a queue ensure agents spend as little time as possible waiting to answer contacts When both conditions are met for all contact types, costs decrease and profits increase.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

27

Understanding and planning your scripts

Standard 8.05

Occasionally, an incoming contact does not follow the path specified in the script; for example, if a voice contact is returned to the queue or is disconnected. Design scripts to prevent such situations or to deal with them if they do occur. You must consider unexpected conditions and use scripting tools to resolve them.

Maximize user satisfactionYou must route all contacts to a qualified agent immediately unless a call back time is specified (such as for outbound or e-mail contacts). However, because of large call volumes and a limited number of agents, this is not always possible. Try to reduce the amount of time each contact waits in a queue. User satisfaction is extremely important. For example, voice contacts waiting in a queue do not want to hear silence until their call is answered. They want to know what is happening to their call. If callers doubt that their call is being handled properly, they may disconnect. Prioritizing contacts based on contact importance ensures maximum user satisfaction; however, for voice contacts, you can also: give selection options to contacts while they wait in a queue tell contacts how long they can expect to wait in a queue inform contacts of their position in a queue allow contacts to speak with an agent of their choice allow contacts to speak with an agent in the language of their choice Use well-designed scripts to accomplish these tasks.

Track and report on contact informationUse scripts to track contact-related information and store it in a database for future analysis. If scripts are well designed, tracking contact data uses minimal system resources. Take time to plan and design your scripts to track the information you need. You can use this information later in reports that help you analyze how your contact center functions, and to decide how to improve service. For example, you may want to know the average amount of time agents spend answering contacts or the number of abandoned contacts.

28

Contact Center Manager

December 2007

Understanding and planning your scripts

How call routing and call treatment workSpecific scripts run when certain types of contacts enter Contact Center Manager. These scripts must recognize contact requirements and route the contacts to an agent who can deal effectively with these requirements. As a script designer, you must write scripts to ensure that contacts are routed to the qualified agents as quickly as possible. A contact is not always answered immediately by an agent. However, you can provide treatments to the voice contacts while they wait in a queue. These treatments can include telling callers the estimated amount of time before their call is answered, or playing music to callers while they wait in a queue.

Call routing and call treatment methodsYou can route calls by queuing them to: specific or multiple skillsets specific agents other contact center destinations other sites Examples of call treatments provided to voice contacts include: music ringback tones silence recorded announcements (RAN) voice menu options the option to access automated information the expected wait time in a queue

Scripting Guide for Communication Server 1000/Meridian 1 PBX

29

Understanding and planning your scripts

Standard 8.05

The process of call routing and providing call treatmentWhen a contact enters Contact Center Manager, the contact starts running the master script. Typically, the master script routes contacts and provides treatments based on the incoming contact information. The master script directs the contact to primary scripts based on this information. For example, if a calling line identification (CLID) number for a voice contact is determined to be on the list of VIP callers, the call can be queued to an agent or skillset reserved for calls requiring preferential treatment. Additionally, such items as time of day, day of the week, date, or contact center activity are used to determine how the contact is handled.

Example of voice contact routingThe following illustration shows how a typical voice contact is handled when it enters a contact center. The text following the illustration explains what happens at each step in the call flow process.

30

Contact Center Manager

December 2007

Understanding and planning your scripts

1.

The incoming voice contact arrives at the switch, where it is directed to a controlled directory number (CDN). The switch sends a notification about the voice contact to Contact Center Manager. Contact Center Manager takes control of the voice contact. The voice contact begins to follow the path specified in the master script. The master script determines the contact type based on dialed number identification service (DNIS), CLID, and other information, and directs the voice contact to a primary script. In this example, the master script determines that this is a sales voice contact. The voice contact is directed to the primary script Sales.

2.

3.

The primary script can now provide treatments to the voice contact: the voice contact can be queued to a skillset, or the voice contact can be directed to a secondary script. In this example, the primary script determines that the caller is interested in hardware sales. The primary script directs the voice contact to the secondary script Hardware Sales.

4.

The secondary script can provide additional treatments to the voice contact: the voice contact can be queued to the appropriate skillset or, if necessary, it can be directed to another secondary script. In this example, the secondary script determines that the caller is interested in purchasing a notebook computer. The primary script queues the voice contact to the skillset Notebooks.

5.

When an agent in the skillset Notebooks is available, the voice contact is presented to the agent. In this example, the voice contact is presented to either Agent 155 or Agent 160, both of whom have the Notebooks skillsets. The voice contact is presented to the first agent available to handle the voice contact.

What happens if a contact is not queued?You can take steps to ensure that contacts are queued to the appropriate skillset. If a contact is not queued to a skillset or to a specific agent when the contact reaches the end of the script, you can ensure that the contact is queued to a default skillset.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

31

Understanding and planning your scripts

Standard 8.05

For example, for a voice contact, if the default skillset is out of service, you can inform the contact of this by using a recorded announcement (default RAN) or predefined message. After the announcement, the contact is queued to the default automatic call distribution directory number (ACD-DN) of the CDN. For multimedia contacts, ensure that the contact is queued until the skillset becomes staffed or until the age of the contact intrinsic is greater than the acceptable limit. For information about queuing contacts to a default skillset or configuring default RANs, see the Contact Center Manager Administration online Help.

32

Contact Center Manager

December 2007

Understanding and planning your scripts

Types of scriptsAll Contact Center Manager scripts belong to one of three types: system-defined master network user-defined primary secondary sample

System-defined scriptsThe master and network scripts are system-defined, which means that they are provided with Contact Center Manager. Master script The master script (Master_Script) is the central point of entry for every contact that enters Contact Center Manager. The Master script is system-definedthat is, it comes with Contact Center Manager, and it cannot be deactivated, renamed, or deleted. However, you can change its contents to suit your contact center needs and update the master script. The master script performs the following functions: It directs incoming contacts to primary scripts based on conditions such as the DNIS, CLID, time of day, contact type, or other criteria that you choose. It schedules scripts and invokes primary scripts according to contact center conditions in real time. Network script If you purchased the Network Skill-Based Routing feature, you also have a network script. This script is used as the master script for network contacts that return to the queue after they are forwarded between sites in a multisite contact center.Scripting Guide for Communication Server 1000/Meridian 1 PBX 33

Understanding and planning your scripts

Standard 8.05

Subscripts for the network script do not generate call statistics; therefore, incoming call statistics are collected only from the Network_Script. You can use these statistics in reports to track and record information about each step in the progress of a call.

User-defined scriptsPrimary and secondary scripts are user-defined, which means that they are not provided with Contact Center Manager. If you are a Contact Center Manager desktop user with the appropriate privileges, you can create, change, or delete these scripts on the system. Primary and secondary scripts A primary script is executed or referenced in the master script to perform a specific function. Primary scripts contain sets of instructions that relate to a particular type of contact (sales) or user (nuisance), or to a set of conditions (time of day or day of the week). A primary script can route contacts to appropriately skilled agents, or it can send the routing control to a secondary script. A secondary script is any script that is referenced from a primary script or any other secondary script. For example, consider the following situation. Example of referenced scripts for a voice contact In this example, a caller is interested in purchasing a notebook computer from a computer retailer. You place commands in the master script that direct the voice contact to a primary sales script. You use conditional tests written into the sales script to determine if the caller intends to purchase a notebook. The sales script then directs the voice contact to a secondary script, notebook sales. If conditional tests written into the notebook sales script determine that the caller intends to purchase a notebook from a specific vendor, the voice contact is directed to another secondary script (for example, Vendor_Name_Sales). This script then sends the voice contact to an agent qualified to deal with the notebook products from a specific vendor. For information about how scripts reference each other, see the following illustrations. Referencing scripts (also known as branching), as shown in the first illustration, are often referred to as trees.

34

Contact Center Manager

December 2007

Understanding and planning your scripts

A script can be referenced from many scripts; that is, several scripts can branch to the same script (for example, the referenced script performs a function required by many other scripts). When this happens, the complicated structure is called a web, as shown in the following illustration.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

35

Understanding and planning your scripts

Standard 8.05

Master_Script: ... Execute Script A ...

Master_Script: ... Execute Script A ...

Master_Script: ... Execute Script A ...

A: ... Execute Script A ...

A: ... Execute Script B ...

A: ... Execute Script B ...

A: ... Execute ScriptMaster_Script

Execute Script B ...

Not OK

B: ... Execute Script A ...

B: ... Execute Script ...Master_Script

B: ... Execute Script A ...

OK

OK

OK

Sample scriptsSample scripts are provided with Contact Center Manager Administration as text files. They help you create scripts for typical contact center situations. You can import or copy the contents of these scripts to help you create your own scripts. You access the sample scripts through the Import dialog box in the Scripting component of Contact Center Manager Administration. The Import dialog box has two importing options: importing from the sample scripts directory on the Contact Center Manager Administration server importing a saved script file on the client computer or the network There is no sample scripts directory on the client computer. The sample scripts previously available on the client computer by using the Classic Client are now available through the Import dialog box in the Scripting component of Contact Center Manager Administration. For information about the sample scripts contained in these directories, see Using sample scripts on page 479.36 Contact Center Manager

December 2007

Understanding and planning your scripts

Script building blocksScripts contain the instructions that tell Contact Center Manager how to process incoming contacts. These instructions consist of commands, scripting keywords and parameters (some of which are optional), and expressions.

CommandsCommands perform distinct functions. For example, scripts route a contact to a specific destination, play music or recorded announcements, or disconnect a contact. Commands consist of combinations of intrinsics, constants, variables, and expressions.

IntrinsicsIntrinsics are words or phrases that you use in scripts to represent a value or a set of values about the Contact Center Manager system. Intrinsics contain systemwide information about skillsets, agents, time, and call traffic. Use intrinsics to access system information, which is then used in formulas and decision-making statements. Example In the following section of a script, the intrinsic AVERAGE SPEED ANSWER checks whether contacts are answered more quickly, on average, by the support skillset than by the service skillset. If they are, incoming contacts are queued to the support skillset.IF (AVERAGE SPEED ANSWER support_sk < AVERAGE SPEED ANSWER service_sk) THEN QUEUE TO SKILLSET support_sk WAIT 2 END IF

Scripting Guide for Communication Server 1000/Meridian 1 PBX

37

Understanding and planning your scripts

Standard 8.05

VariablesScript variables are user-defined words that you can insert in a script in place of a value or a set of values. There are three types of variables: Global variables are script variables that you can use in any script on the system. Example Create a variable named business_hours_gv and assign the values 08:00.. 17:00 to that variable. You can then use this variable in several scripts, updating them all at one time (for example, if you change hours of operation) by updating the variable. Call variables are script variables with a value that can change for each contact. These variables follow the contact through the system and are passed from one script to another with the contact. Example Create a loop counter where you give a RAN to a voice contact every fourth time around the loop. When the call variable changes to the value 4, the loop plays the RAN. Wild variables are integer call variables that encounter a READVAR/ SAVEVAR command. The value of the wild variable can then be accessed by other scripts to execute further commands. Example Write a script that uses a call variable to change a wild variable. You can use another script with the READVAR command to check the value of the wild variable, and then perform an action. For example, disconnect a call if the wild variable is of a certain value. Tip: To help you identify types of variables when you write and edit your scripts, include information about the variable type in its name. For example, you can name a global variable for a greeting RAN greeting_ran_gv, or you can name a call variable for contact-entered data caller_data_cv, and you can precede wild variables with wv_. For information about variables, see Working with script variables on page 99.

38

Contact Center Manager

December 2007

Understanding and planning your scripts

ExpressionsContact Center Manager uses expressions to create and compare data. To create custom calculations for comparing known facts with conditional situations, you can use mathematical expressions such as addition (+), subtraction (), division (/), and multiplication (*); logical conjunctions such as AND, OR, and NOT; and comparisons such as less than (), less than or equal to (< =), greater than or equal to (> =), and not equal to (< >). Example In the following section of a script, the number of voice contacts waiting for the sales skillset is compared to the number of agents logged on to that skillset. In this case, if the number of voice contacts is three times larger than the number of agents, the caller is sent an announcement stating that heavy call volumes can delay providing service to the voice contact.IF (QUEUED COUNT sales_sk) > (3* LOGGED AGENT COUNT sales_sk) THEN GIVE RAN long_delay_ran_gv END IF

SkillsetsA skillset is an area of expertise possessed by an agent or a group of agents that corresponds to a specific contact type. Skillsets match a contacts specific requirements with the agents who are best prepared to meet their needs. For example, if you expect your contact center to receive contacts requesting information about servicing notebook computers, create a skillset (such as skillset notebook_service_sk), and assign agents to this skillset who know about servicing notebook computers.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

39

Understanding and planning your scripts

Standard 8.05

Planning your scriptsAn efficient contact center successfully matches contacts and their specific requirements with qualified agents. If you know what the types of users contact your contact center, and the specific information or services they require, then you can write effective scripts.

Scriptwriting processThe following flowchart shows an overview of the scriptwriting process.

Determine the types of calls to be dealt with in your call center

Define the script objective

Compose the script

Test the script

Match call types with agent skillsets (skill-based routing)

Identify the available resources

Validate the script

Review the results

Chart the call routing/ treatment process

Correct any validation errors

Print and file the script

Identify and create any needed variables

Activate the script

Determine the types of contacts entering your contact centerAfter you determine the types of contacts entering your contact center, you can create skillsets that correspond to these contact types and assign agents to the skillsets.

40

Contact Center Manager

December 2007

Understanding and planning your scripts

Understand skill-based routingThe concept of matching qualified agents with related contact types is the basis for skill-based routing. You must be able to match the contacts requirements with an agent who can meet the contacts requirements. At the same time, you must be aware of when to provide treatments to contacts and how contact information is tracked. When you understand these issues, you can write efficient scripts.

Define the script objectiveEach script should meet an objective of your contact center. You may require the script to perform one or more functions. Determine the purpose of the script (for example, routing a specific contact to a specific agent). Remember that each script can be referenced by, or can reference, other scripts. Consider the following questions: What kinds of scripts do you need for your system? How many scripts do you need to meet these requirements? How do the scripts interact with one another? To help plan your scripts, you can create a flowchart or an illustration to outline the logic of the script (for example, a script tree or web). A flowchart helps you visualize the sequence of steps that a contact follows after it enters Contact Center Manager. You can also use a flowchart to determine when you send treatments to the voice contact and when you can collect data for reporting.

Identify the available resourcesContact Center Manager includes resources that you can use in your scripts to control what happens to a call when it enters the contact center. Knowing about these resources and how they work together helps you to design a logical path that calls follow. Before you write scripts, you must be familiar with the following resources: CDNs RAN routes music routes

Scripting Guide for Communication Server 1000/Meridian 1 PBX

41

Understanding and planning your scripts

Standard 8.05

skillsets number of agents in each skillset contact center working hours and holidays IVR queues call treatments CLIDs and DNISs CallPilot and Meridian Mail Media Application Server (MAS) Your contact center administrator has this information or, for information about setting up these resources, see the following documents: Nortel Contact Center Manager Administrators Guide Contact Center, Communication Server 1000/Meridian 1 and Voice Processing Guide Contact Center Manager Administration online help

Chart the call routing processCreate a flowchart You can create a flowchart that illustrates the call routing and call treatment process. The flowchart on page 44 shows an example of call routing and call treatment. The following text explains the call process. A voice contact arrives at the switch and is sent to Contact Center Manager. The voice contact moves through the master script and arrives at either the primary or a secondary script (depending on how the master script is written). The script first checks to see if agents are available in the requested skillets to answer the voice contact. If not, the voice contact is disconnected. The script then checks to see if the voice contact is on the list of VIP voice contacts. If so, the voice contact is given preferential treatment. If not, a test determines if there are more than twice as many voice contacts queued as there are agents logged on to the preferred skillset (skillset A). If so, the caller receives a busy tone. If there are fewer than twice as many voice contacts queued as there are agents logged on to skillset A, the voice contact is queued to skillset A.42 Contact Center Manager

December 2007

Understanding and planning your scripts

After the voice contact is queued to skillset A, the script performs conditional tests and treatments to the voice contact until it is answered.

Are all skillsets out of service? NO Is the CLID in the VIP_list variable? NO

YES

Execute Night_Treatment

Give RAN closed

Disconnect

YES

Execute Special_Handling

Queue to skillset A with priority 1

Give RAN special_ran

YES Give Busy

Are there more than twice as many calls as agents logged in to skillset A? NO Queue to skillset A with priority 3

Give Music Classical

Execute Night_Treatment NO Is the call still in the queue? YES Is the call more than 2 minutes old? NO YES

Quit

Change priority in skillset A to priority 1

Wait 6 seconds

Execute Check_Age

Wait 20 seconds

Queue to skillset B with priority 3

Give RAN agents_busy

Give Music Classical

Give RAN agents_still_busy

QUIT

Scripting Guide for Communication Server 1000/Meridian 1 PBX

43

Understanding and planning your scripts

Standard 8.05

To see the sample script that this flowchart represents and a detailed explanation of the call routing process, see Script example using formatting conventions and rules on page 87. Describe in writing If you graphically plan the logic of a script and know its intended function, you can write the script before you create it in the Web Scripts Editor (for information about the Web Scripts Editor, see Web Scripts Editor on page 48).

Identify and create needed variablesA variable is a placeholder that stores a value or a set of values. For example, you can create a variable named holidays_gv to store information about the days when your contact center is closed. You use variables to test for conditions that affect the treatments given to the contact or the data (both call information and user-entered data) collected from a contact as it moves through Contact Center Manager. You must define all your variables before you write your scripts. If you define a variable that is not used in any script, delete the variable. For information about variables, see Working with script variables on page 99.

Compose scriptsTo compose a script, you follow a four-part process: compose the script in the Web Scripts Editor validate the script activate the script test the script For information about composing scripts, see Scripting tools and procedures on page 47. Script maintenance and system processing power If you create several primary scripts that perform a similar function, maintaining these scripts can be time-consuming. Each script includes many script elements common to all scripts. If you modify a script element that is common to all the scripts, you must edit and then reactivate each script.44 Contact Center Manager

December 2007

Understanding and planning your scripts

As an efficient alternative, consider combining all common elements in one secondary script, and use multiple primary scripts to define unique call variables. For example, if your contact center receives three types of contactssales, service, and supportcreate three primary scripts and one common secondary script to handle these contact types. The three primary scripts define call variables associated with each contact type (sales, service, or support). The secondary script contains all routing instructions and treatments common to each contact type.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

45

Understanding and planning your scripts

Standard 8.05

Example The following illustration shows a master script referencing three primary scripts that direct voice contacts to a common secondary script. In the example, the three primary scripts (sales_sk, service_sk, and support_sk) define the call variables delay_cv, skillset_cv, and RAN_cv. The value of the CDN tested in the master script determines which primary script executes. After the call variables are defined in the primary script, the secondary script, common, is executed using the values assigned in the primary script.Master_Script ... WHERE CDN EQUALS VALUE 4162357001: EXECUTE SCRIPT sales_sk VALUE 4162357002: EXECUTE SCRIPT service_sk VALUE 4162357003: EXECUTE SCRIPT support_sk DEFAULT: EXECUTE SCRIPT sales_sk END WHERE ...

sales_sk ... ASSIGN 4 TO delay_cv ASSIGN sales_sk TO skillset_cv ASSIGN sales_RAN_gv TO RAN_cv EXECUTE SCRIPT common

service_sk ... ASSIGN 8 TO delay_cv ASSIGN service_sk TO skillset_cv ASSIGN service_RAN_gv TO RAN_cv EXECUTE SCRIPT common

support_sk ... ASSIGN 10 TO delay_cv ASSIGN support_sk TO skillset_cv ASSIGN support_RAN_gv TO RAN_cv EXECUTE SCRIPT common

common ... QUEUE TO SKILLSET skillset_cv WAIT 2 SECTION loop WAIT delay_cv IF NOT QUEUED THEN EXECUTE jump_out END IF GIVE RAN RAN _cv EXECUTE loop SECTION jump_out GIVE RAN sorry_closed_RAN_gv DISCONNECT

46

Contact Center Manager

December 2007

Understanding and planning your scripts

Scripting tools and proceduresThis section describes the tools that you use to view, create, and edit scripts. This section also describes script states, validation, and activation.

Viewing, creating, and editing scriptsUse the following tools to view, create, and edit scripts: the Script Manager the Web Scripts Editor the Script Commands Reference

Script ManagerIn the Contact Center Manager Administration application, in the Scripting component, use the Script Manager to list the scripts on the system. From this window, you can add or remove a script and access the Web Scripts Editor to change a script.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

47

Understanding and planning your scripts

Standard 8.05

Web Scripts EditorIn the Scripting component of the Contact Center Administration application, in the Web Scripts Editor, you can create, edit, validate, and activate the scripts that process contacts for your contact center. The Web Scripts Editor has a text-based editor to customize your scripts. In the Web Scripts Editor, you can import and export scripts, and copy portions of other scripts into the current script.

Script Commands Reference From the Web Scripts Editor, you can access the Script Commands Reference, where you can view and select available script commands, variables, events, intrinsics, and operators for pasting into scripts. Although you can type commands into your scripts manually, if you use the Script Command Reference, all parameters that you must replace are automatically inserted. Automatically inserting parameters into scripts can reduce errors.

48

Contact Center Manager

December 2007

Understanding and planning your scripts

For information about the building blocks of scripts (commands and expressions), see the following chapters: Chapter 4, Working with script variables Chapter 6, Basic script commands Chapter 7, Advanced script commands Chapter 11, Intrinsics Chapter 12, Script expressions

Validation Options dialog boxFrom the Web Scripts Editor, you can access the Validation Options dialog box. Use the Validation Options tool to create or edit scripts. Set validation options so the application sends a message when you break scriptwriting rules. These rules help eliminate run-time errors that can cause improper routing of contacts in Contact Center Manager.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

49

Understanding and planning your scripts

Standard 8.05

You can configure validation options so you receive a message about broken scriptwriting rules automatically after you validate a script, or before you edit and then reactivate an activated script. You can also configure validation options to display error messages. For a list of error messages, see Appendix A, Troubleshooting. Configuring validation options1 From the Web Scripts Editor, choose View > Validation Options. Result: The Validation Options dialog box appears.

2 3

Configure validation options by selecting the appropriate check boxes. Click OK.

Disabling validation options1 From the Web Scripts Editor, choose View > Validation Options. Result: The Validation Options dialog box appears. 2 3 Clear the check boxes as necessary. Click OK.

50

Contact Center Manager

December 2007

Understanding and planning your scripts

Script statesA script can have one of three states: Edited The script is created or edited, and saved, but not validated. Validated The script syntax is checked for errors, and the script is ready to be activated. Activated The script is active in the system. When you finish writing or updating a script in the Web Scripts Editor, you must validate and activate it before it can process contacts. When you no longer want the script to process contacts, you can deactivate it. You can also edit and reactivate a script that is in the Activated state. Revalidation is performed when you activate the script. You can save a script without validating or activating it.

ValidationBefore you put a script into service, or activate it, you must ensure that the syntax and semantics are correct. This process is called validation. If the script contains no errors, validation produces an executable version of the script. If the script contains errors, validation produces a list of those errors and the corresponding lines of the script. Script validation detects only syntax errors. It cannot detect logic errors.

ActivationAn activated script processes contacts. A script must be validated before it is activated. The system validates a script automatically before it is activated, if you have not validated the script manually. If a script is activated but is not referenced by the master script (directly, or indirectly through other scripts), it does not process contacts.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

51

Understanding and planning your scripts

Standard 8.05

Nortel recommends that you avoid activating scripts during busy contact center periods. To avoid having to reactivate the master script when you write test scripts, keep a test CDN and a test primary script activated at all times. Then, edit and change only the test primary script, not the master script. You can also use other secondary test scripts. However, Nortel recommends that you make changes outside busy hours. Activating secondary scripts When you activate a script, all scripts that it references are automatically activated (if they are not already activated). Therefore, you must validate all referenced scripts before you activate your script. If you do not, activation of your script fails. Example The All_Shift script references the Day_Shift, Night_Shift, and Wkend_Shift scripts. You must validate all secondary scripts before you can activate the All_Shift script.

All_Shift

Day_Shift Night_Shift

Wkend_Shift

The administrator successfully validates each script. When the administrator activates the All_Shift script, the system automatically activates the Day_Shift, Night_Shift, and Wkend_Shift scripts.

52

Contact Center Manager

December 2007

Understanding and planning your scripts

Changing an activated script You can make changes to a script while it is activated. You can immediately activate the script with the changes, or you can save the script with a new name and not immediately put the changes into service. If you put the new version of the script into service immediately, contacts that are already in progress when the script is changed continue to be handled by the original version of the script. The updated version of the script processes new contacts. If an error occurs when the script is activated, the original script is used to process contacts. You cannot save your changes with the same name as the currently activated script.

DeactivationA deactivated script does not process new contacts. If calls already in the system are using the script when the script is deactivated, the calls are processed by the script until they are handled by an agent. You cannot deactivate or delete a script while it is being referenced by another activated script. Although you cannot deactivate the master script or the network script, you can change the contents and activate the new version. Validation is performed when you activate the script.

Deleting references and scriptsYou may not be able to delete references or scripts if you modify the master script during busy periods.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

53

Understanding and planning your scripts

Standard 8.05

54

Contact Center Manager

Chapter 3

Scripting rules and conventionsIn this chapterOverview Script formatting conventions Script naming guidelines Script rules General scriptwriting tips Guidelines for providing feedback Scriptwriting tips for specific commands Script example using formatting conventions and rules Opening the scripting tool 56 58 63 65 68 83 86 87 90

Scripting Guide for Communication Server 1000/Meridian 1 PBX

55

Scripting rules and conventions

Standard 8.05

OverviewThis chapter contains tips to help you plan how to write and organize your scripts. This chapter includes the following topics: Script formatting conventions on page 58 describes the formatting conventions. Follow these conventions so your scripts are easy to understand. Script naming guidelines on page 63 describes the guidelines for naming scripts. Script rules on page 65 lists the rules that you must follow when you write scripts. If you do not follow these rules, errors can occur when you validate your scripts. General scriptwriting tips on page 68 gives recommendations for writing efficient scripts. Guidelines for providing feedback on page 83 describes the guidelines for providing feedback within your scripts. Scriptwriting tips for specific commands on page 86 provides tips about writing and using scripting commands such as GIVE IVR and OPEN/END VOICE SESSION. Script example using formatting conventions and rules on page 87 provides a sample script that demonstrates formatting conventions and tips. Opening the scripting tool on page 90 provides instructions about connecting to Contact Center Manager.

Before you beginBefore you begin to write scripts or create variables, Contact Center Manager must be installed and configured. Also, all system resources such as RAN routes, music routes, voice ports, call treatments, DNs, and IVR DNs must be set up and acquired. You do not need to acquire RAN and music routes. For more information, see the Contact Center Manager, Communication Server 1000 and Voice Processing Guide.

56

Contact Center Manager

December 2007

Scripting rules and conventions

Additionally, all agents, skillsets, and thresholds must be created. For more information, see the Nortel Contact Center Manager Administrators Guide. If you plan to use voice prompts in your scripts, all voice segments must be created using the Voice Prompt Editor for Meridian Mail and Application Builder for CallPilot. For more information about Voice Prompt Editor, see the Nortel Contact Center Manager Administrators Guide. For more information about Application Builder, see the CallPilot Application Builder Guide.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

57

Scripting rules and conventions

Standard 8.05

Script formatting conventionsThis section provides formatting conventions for writing scripts. To ensure that your scripts are easy to read and understand, follow a consistent format.

CommandsType commands in uppercase letters.QUEUE TO SKILLSET service_sk

IntrinsicsType intrinsics in uppercase letters.IF (AGE OF CALL > 30)

Logical expressionsType logical operators (And, Not, Or) in uppercase letters.IF (TIME OF DAY = business_hours_gv) AND (DAY OF WEEK = business_days_gv) THEN GIVE RAN open_ran_gv END IF

ParenthesesExpressions in parentheses are processed before other expressions in a statement. Ensure that the parentheses in your scripts correctly set the order of call processing that you want. For information about how parentheses affect your scripts, see Order of operations on page 466.

58

Contact Center Manager

December 2007

Scripting rules and conventions

Section namesType section names with initial uppercase letters followed by lowercase letters.SECTION Night_Treatment

Remember that the word SECTION is a command, and what follows is the section name.

Skillset namesType skillset names in lowercase letters or in mixed case with the first letter in uppercase.sales or Sales

Tip: If you follow the skillset name with an underscore and the letters sk (for example, sales_sk or Sales_sk), you can identify skillsets displayed in the Web Scripts Editor. Non-voice contacts must have a unique identifier. For example: EM_ for e-mail contacts OB_ for outbound contacts VI_ for video contacts WC_ for Web communication contacts These unique identifiers are reserved for non-voice contacts. You cannot create new voice skillsets starting with the reserved unique identifiers. If you upgraded from a previous Contact Center release and have skillset names starting with the reserved unique identifiers, you cannot modify them.

VariablesType variables in lowercase letters or in mixed case with the first letter in lowercase.GIVE RAN closed Scripting Guide for Communication Server 1000/Meridian 1 PBX 59

Scripting rules and conventions

Standard 8.05

orGIVE RAN openHours

Tip: To identify types of variables in your scripts, include information about the variable type in its name. For example, you can name a global variable for a greeting RAN greeting_ran_gv or you can name a call variable for caller-entered data call_data_cv. You must use the unique identifier ct_ for contact type variables. For example, ct_SentMail.

Comparison expressions using IF-THEN-ELSE-END IFIF and THEN must always be on the same line, unless the statement is too long to fit on a single line. Indent commands following the IF statement by using the tab key. When an IF statement is followed by a second IF statement (known as a nested IF), indent the second IF statement. When you use multiple IF statements in a script, each IF must have a matching END IF.IF (CLID = vip_list_gv) THEN EXECUTE Vips_Section ELSE IF (CLID = special_list_gv) THEN EXECUTE Special_Section END IF END IF

60

Contact Center Manager

December 2007

Scripting rules and conventions

Blank lines, indenting, and commentsTo improve the readability of your scripts, leave blank lines between sections, and before and after comments. Indent commands inside sections to make it easy to identify sections. Indent commands that extend beyond one line. Comments help others understand your intentions for a section. Although comments are not required, they can be extremely helpful in explaining the original purpose of the section. Comments in your scripts must begin with an opening marker (/*) and end with a closing marker (*/). Tabs and extra spaces within a line do not affect the script. Blank lines do not affect the script.ATTENTION

Comments in your scripts must begin with an opening marker (/*) and end with a closing marker (*/). If you do not include both an opening and closing marker, the script does not validate.

Example The following example shows the correct use of comments, indenting, and blank lines between sections:/* This section of the script queues calls to the general skillset during regular business hours.*/ IF (DATE = holiday_gv) OR (DAY OF WEEK = weekend_gv) THEN EXECUTE Night_Treatment END IF QUEUE TO SKILLSET general_sk QUIT SECTION Night_Treatment GIVE RAN closed_ran_gv DISCONNECT

Scripting Guide for Communication Server 1000/Meridian 1 PBX

61

Scripting rules and conventions

Standard 8.05

Basic script exampleThe following example shows a voice script with all recommended formatting conventions applied. This example clearly distinguishes elements such as commands, variables, and skillsets. Write all your voice scripts in this manner. ExampleIF (DATE = holidays_gv) OR (DAY OF WEEK = weekend_gv) OR (TIME OF DAY = after_hours_gv) OR OUT OF SERVICE skillset_sk THEN GIVE RAN closed_ran_gv DISCONNECT END IF

QUEUE TO SKILLSET skillset_sk WAIT 2 GIVE RAN agents_busy_ran_gv GIVE MUSIC soft_music_gv

SECTION WaitLoop WAIT loop_time_gv IF NOT QUEUED THEN IF OUT OF SERVICE skillset_sk THEN GIVE RAN sorry_day_closed_ran_gv DISCONNECT ELSE QUEUE TO SKILLSET skillset_sk WAIT 2 END IF END IF EXECUTE WaitLoop

62

Contact Center Manager

December 2007

Scripting rules and conventions

Script naming guidelinesFollow the guidelines in this section when you name new scripts or rename existing scripts.

Rules for naming scriptsFollow these rules when you name scripts. Script names are not case-sensitive. The script name must be unique. You cannot use the name of an existing script. Do not use spaces or punctuation marks in script names, except underscores (_). Do not use a scripting keyword as a script name. See Appendix B, Scripting keywords, for a list of scripting keywords. Script names must start with a letter. For example, CC1_TIPS is a valid script name, but 1_CCTIPS is not a valid script name.

Hints and tips for assigning script namesScript names are generally used internally by the contact center administrator. However, if the script is referenced from the master script, the script name becomes the application name and appears on real-time displays and historical reports. Using prefixes to indicate the contact type is optional, but if prefixes are not used, all application statistics are considered voice statistics. Review the historical reports when you filter by the field ContactType in the Report Creation Wizard. Nortel recommends the following naming prefixes for non-voice scripts: OB_ for outbound EM_ for e-mail WC_ for Web communication VI_ for video

Scripting Guide for Communication Server 1000/Meridian 1 PBX

63

Scripting rules and conventions

Standard 8.05

The administrator can sort the scripts alphabetically on the real-time displays.

64

Contact Center Manager

December 2007

Scripting rules and conventions

Script rulesThis section describes the rules for creating Contact Center Manager scripts. If you do not follow these rules, you receive errors when you validate the script, and the call does not receive the treatment you intend. Most, but not all, of these script element restrictions are detected during script validation (before the script is activated). However, the validator cannot detect every possible situation that can cause a problem.

First command ruleDo not use the following commands as the first command executed in a script: WAIT QUIT GIVE SILENCE REMOVE FROM AGENT CHANGE PRIORITY IN AGENT REMOVE FROM SKILLSET CHANGE PRIORITY IN SKILLSET READVAR/SAVEVAR This rule does not apply to multimedia contacts with the exception of the QUIT command, which causes contacts to be queued to the default skillset for the contact type. For information about these commands in SIP-enabled contact centers, see SIP Contact Center on page 675. Call rejection If one of the preceding commands is encountered as the first command, the call is routed to the default ACD-DN configured for the CDN. (The call is not queued to the default skillset or RAN). Contact Center Manager logs an error to the alarm monitor and event browser.

Scripting Guide for Communication Server 1000/Meridian 1 PBX

65

Scripting rules and conventions

Standard 8.05

Call intrinsics ruleDo not use any of the following call intrinsics in the network script or any of its subscripts. These intrinsics always return a value of False: CALL FORWARD CALL FORWARD BUSY CALL FORWARD NO ANSWER CALL FORWARD DO NOT DISTURB This rule applies only if you purchased the Network Skill-Based Routing option.

ListsFor many commands and skillset intrinsics, you can list up to 20 skillsets or agents. List entries must be separated by commas. ExampleQUEUE TO SKILLSET sales_sk, service_sk, support_sk

Parentheses ruleParentheses are allowed in script commands to group elements and formulas in expressions. Each open parenthesis must have a matching closing parenthesis.

Variables ruleWhen you use a command that changes the value of a variable, that variable must be defined as a call variable.

EVENT HANDLER command rulesThe following rules apply to the EVENT HANDLER command: 1. 2. If you use an EVENT HANDLER command in a script, it must be the first command. The script must also have a closing END HANDLER command. The EVENT HANDLER command applies only to the script in which it appears. If the script calls a secondary script, the EVENT HANDLERContact Center Manager

66

December 2007

Scripting rules and conventions

command no longer applies to the contact. If you want the EVENT HANDLER command to apply to secondary scripts, you must repeat it at the beginning of each script.

SECTION and EXECUTE command rulesThe following rules apply to the SECTION and EXECUTE commands. 1. 2. Any loop that is created in a script by using the SECTION and EXECUTE commands must have a WAIT command. Each EXECUTE command must have a SECTION label defined in the script as its target.

The reverse is not true. Each SECTION label does not require an EXECUTE command to target it.

IF-THEN-END IF command ruleThe IF-THEN-END IF command can have multiple commands between THEN and END IF.

IF-THEN-ELSE-END IF command ruleThe IF-THEN-ELSE-END IF command can have multiple commands between THEN and ELSE, as well as multiple commands between ELSE and END IF. The ELSE branch executes onl