ProCash/NDC V3.0/00 ProConsult/NDC V3.0/00 User Guide Edition November 2012 Copyright and Trademarks Copyright © Wincor Nixdorf GmbH 2012. All rights, including rights of translation by printing, copying or similar methods, even of parts, are reserved. All rights, including rights created by patent grants or registration of a utility model or design, are reserved. Delivery subject to availability; right of technical modifications reserved. All names of hardware and software products mentioned in this manual are trade names and/or trademarks of their respective manufacturers. All hardware and software names used are trademarks of their respective manufacturers. Reliant® is a registered trademark of Pyramid Technology Corporation. SINIX is the UNIX® System derivative of Wincor Nixdorf GmbH. UNIX is a registered trademark in the United States and other countries, licensed exclusively through X/Open Company Limited. Base: OSF/Motif™, Copyright © Open Software Foundation, Inc. X Window System™, Copyright © Massachusetts Institute of Technology. OSF/Motif is a trademark of Open Software Foundation, Inc. X Window System is a registered trademark of Massachusetts Institute of Technology. MS-DOS® and Windows® are registered trademarks of Microsoft Corporation in the United States and other countries. Introduction Software Structure System Setup Modes of operation Configuration Data Security Features Messages Printers Additional useful Information Abbreviations Figures Tables Related publications Contents Contents Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 What’s new . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Wincor Nixdorf Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Product AddOn ProFlex/NDC-DDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Purpose of the Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Function Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Supported hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multi Vendor capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software Products of ProCash/NDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Software Products of ProConsult/NDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 17 17 18 18 19 20 22 24 25 Software Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dynamic Link Libraries (DLL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Parameter / Data Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types of Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compatible Customization Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extended Configuration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Global Screen Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Error Mapping Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Font Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Standard Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 27 31 31 32 33 34 35 36 36 System Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Software Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 Directory Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Power-up mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exiting power-up mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Out-of-service mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . In-service mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Offline mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Suspend mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . November 2012 45 46 46 46 47 48 48 Contents Service and Operating(SOP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Automatic return . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . In-service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Cassettes counters/status printing after exit SV mode . . . . . . . . . . . . . . Rear Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Start Rear Balancing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Customize Rear Balancing functions . . . . . . . . . . . . . . . . . . . . . . . . . . . Dispense Below Zero . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 50 51 51 54 54 55 56 Miscellaneous Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ADRS operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ProCash Analyzer (PCA) ProView adaptation . . . . . . . . . . . . . . . . . . . . . . . ProFlex/NDC-DDC AddOn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . BNA Message Emulation with ProFlex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CPM Message Emulation with ProFlex . . . . . . . . . . . . . . . . . . . . . . . . . . . . NCR compatible 7 Denomination support . . . . . . . . . . . . . . . . . . . . . . . . . . 59 59 60 60 61 61 61 Configuration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 Steps processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 Card Read State (A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 PIN Entry State (B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Customer Selectable PIN State (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Extension to state (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Envelope Dispense (C) State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Pre-Set Operation Code Buffer State (D) . . . . . . . . . . . . . . . . . . . . . . . . 82 – Clear mask (entry 3) example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 – A, B, C, D preset masks (entries 4-7) example . . . . . . . . . . . . . . . . . 85 Extension to State (D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Four FDK Selection Function State (E) . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Amount Entry State (F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Amount Check State (G) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Information Entry State (H) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Transaction Request State (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Extension to state (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Close State (J) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 FIT Switch State (K) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 Expanded FIT Switch State (_) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 Extension to State (_) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 November 2012 Contents Card Write State (L) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enhanced PIN Entry State (M) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Camera Control State (N) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enhanced Amount Entry State (R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extension to State (R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Language Code Switch State (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extension to State (S) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Card Read - PIN Entry Initiation State (T) . . . . . . . . . . . . . . . . . . . . . . Extension to State (T) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Language Select From Card State (V) . . . . . . . . . . . . . . . . . . . . . . . . . FDK Switch State (W) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FDK Information Entry State (X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extension to State (X) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eight FDK Selection State (Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extension to State (Y) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multi Language Extension to State (Y) . . . . . . . . . . . . . . . . . . . . . . . . . Audio Control State (i) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hardware Fitness State (‘h’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extension to State (‘h’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Smart FIT Check State (‘k’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barcode Read State (‘s’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Skip State step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Screen Control Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Digit Screen Numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying Graphics as Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Full Screen graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Display resolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Displaying MacroMedia Flash executables . . . . . . . . . . . . . . . . . . . . . Displaying Video files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Voice Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Auto Voice Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Audible Echo on Keyboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reserved Screens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reserved Pictures (G00-G06) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Language Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Miscellaneous Configuration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Terminal Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Logical Unit Number (LUNO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . November 2012 115 118 121 122 125 127 129 131 134 135 138 141 144 147 150 151 153 157 160 163 167 170 171 171 172 178 178 178 179 179 180 180 181 182 185 186 187 187 187 Contents Timer Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Local download feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Configure local download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 Security Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PIN and PIN Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Personal Identification Number (PIN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PIN Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Variable length PIN Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PIN Offset Number (DES verification) . . . . . . . . . . . . . . . . . . . . . . . . . . PIN Verification Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PIN Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Local PIN Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Network PIN Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – ANSI PIN/PAN Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Diebold PIN Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ID Card and FIT Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ID Card Data Tracks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIT (Financial Institution Table) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIT Library Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Multi Card, Multi Institution Capability . . . . . . . . . . . . . . . . . . . . . . . . . . Alternate Transaction Sequences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIT Data Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Institution Index (PIDDX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Institution Identification (PFIID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIT Switch Index (PSTDX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maximum PIN Entry Digits (PMXPN) . . . . . . . . . . . . . . . . . . . . . . . . . . PIN Check Length (PCKLN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PIN Pad Character (PINPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PAN Index (PANDX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PAN Length (PANLN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PAN Pad Character (PANPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PIN Retry Count Index (PRCNT) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Offset Number Index (POFDX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Decimalization Table (PDCTB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Encrypted PIN Key (PEKEY) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Data Track Locator (PINDX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . November 2012 197 197 198 199 199 200 200 201 202 203 203 204 205 206 207 208 208 209 210 210 210 212 213 213 213 214 216 217 217 218 218 219 219 219 220 Contents Language Code Index (PLNDX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Message Authentication (MAC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . MAC flags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Security Terminal Number (Machine Number) . . . . . . . . . . . . . . . . . . . MAC data field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Time variant number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Typical Message Authentication Procedure . . . . . . . . . . . . . . . . . . . . . MACing for State and FIT Table Load commands . . . . . . . . . . . . . . . . Triple DES operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . EMV capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Remote Key Loading (RKL) capability . . . . . . . . . . . . . . . . . . . . . . . . . . . . Payment Card Industry (PCI) compliance . . . . . . . . . . . . . . . . . . . . . . . . . PCI PA DSS support and documentation . . . . . . . . . . . . . . . . . . . . . . . 220 221 221 222 223 223 223 224 225 225 225 226 226 226 Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Messages from Terminal to Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transaction Request message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solicited Status messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unsolicited Status messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Network to Terminal messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Transaction Reply command (message ID ‘4’) . . . . . . . . . . . . . . . . . . . Terminal Command message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . State Tables Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Screen Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Configuration Parameters Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Enhanced Configuration Parameters Load . . . . . . . . . . . . . . . . . . . . . Interactive Transaction Response . . . . . . . . . . . . . . . . . . . . . . . . . . . . FIT Data Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Encryption Key Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Extended Encryption Key Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dispenser Currency Mapping Table Load . . . . . . . . . . . . . . . . . . . . . . Configuration ID Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Date And Time Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Message Authentication Field Selection Load . . . . . . . . . . . . . . . . . . . Specific Command Reject Conditions . . . . . . . . . . . . . . . . . . . . . . . . . Terminal operations in Transaction Replies . . . . . . . . . . . . . . . . . . . . . . . . Print Immediate (‘4’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Set Next State and Print (‘5’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 227 230 240 245 247 248 257 261 264 267 271 276 280 283 286 289 291 294 297 302 310 311 311 November 2012 Contents Night Safe Deposit and Print (‘6’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Deposit and Print (‘1’ or ‘7’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dispense, Deliver and Print (‘2’ or ‘8’) . . . . . . . . . . . . . . . . . . . . . . . . . . Display and Print (‘3’ or ‘9’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Eject Card, Dispense and Print (‘A’) (Card before Cash) . . . . . . . . . . . Eject Card, Dispense and Print (‘F’) (Parallel CBC) . . . . . . . . . . . . . . . Parallel Eject/Dispense and Print (Fast Cash) (‘B’ or ‘C’) . . . . . . . . . . . Print Data and Stay in Present State (‘P’) . . . . . . . . . . . . . . . . . . . . . . . Print Statement and Set Next State (‘Q’) . . . . . . . . . . . . . . . . . . . . . . . . Electronic Journal Upload (EJU) commands . . . . . . . . . . . . . . . . . . . . . . . Send Options And Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acknowledge And Continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acknowledge And Stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NDC Status Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solicited Status (terminal state) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Send Configuration Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Send Supply Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Send Error Log Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Send date/time information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Send Configuration ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Hardware Configuration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Supplies Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Fitness Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Tamper and Sensor Status Data . . . . . . . . . . . . . . . . . . . . . . . . . . . – Software ID and Release Number . . . . . . . . . . . . . . . . . . . . . . . . . . – Extended Hardware Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . – Local Configuration Option Digits . . . . . . . . . . . . . . . . . . . . . . . . . . Solicited Status (device fault) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Encryptor Initialisation Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Unsolicited Device Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Power Up (unsolicited) (DID ‘B’) . . . . . . . . . . . . . . . . . . . . . . . . . . . – Card Reader (sol./unsol.) (DID ‘D’) . . . . . . . . . . . . . . . . . . . . . . . . . – Dispenser (sol./unsol.) (DID ‘E’) . . . . . . . . . . . . . . . . . . . . . . . . . . . . – Coin Dispenser (sol./unsol.) (DID ‘Y’) . . . . . . . . . . . . . . . . . . . . . . . – Depository (sol./unsol.) (DID ‘F’) . . . . . . . . . . . . . . . . . . . . . . . . . . . – Envelope Dispenser (unsolicited) (DID ‘\’ . . . . . . . . . . . . . . . . . . . . – Receipt Printer (unsolicited) (DID ‘G’) . . . . . . . . . . . . . . . . . . . . . . . – Journal Printer (unsolicited) (DID ‘H’) . . . . . . . . . . . . . . . . . . . . . . . – Statement Printer (sol./unsol.) (DID ‘V’) . . . . . . . . . . . . . . . . . . . . . . November 2012 312 312 314 314 315 316 317 317 318 318 319 322 324 326 326 327 336 340 344 345 346 350 353 356 357 359 360 361 365 369 371 372 377 381 384 386 387 389 391 Contents – Vandal Guard (unsolicited) (DID ‘J’) . . . . . . . . . . . . . . . . . . . . . . . . – EDM - Module (unsolicited) (DID ‘L’) . . . . . . . . . . . . . . . . . . . . . . . . – Door Access (unsolicited) (DID ‘N’) . . . . . . . . . . . . . . . . . . . . . . . . . – Sensor Status (unsolicited) (DID ‘P’) . . . . . . . . . . . . . . . . . . . . . . . . – Supervisor Key Messages (unsolicited) (DID ‘R’) . . . . . . . . . . . . . . – Barcode Reader (unsolicited) (DID ‘s’) . . . . . . . . . . . . . . . . . . . . . . Electronic Journal Upload (EJU) Message . . . . . . . . . . . . . . . . . . . . . . 394 395 399 399 401 402 403 Additional Useful Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NDC Standard Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ASCII to EBCDIC Code Conversion Table . . . . . . . . . . . . . . . . . . . . . . . . . Screen Design Worksheet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407 407 412 414 Printers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printer Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printer Control Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electronic journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electronic journal storage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Types of journal information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing with Windows GDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Printing with XFS Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barcode Print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barcode Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barcode print examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Barcode image examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Landscape printing on the receipt printer . . . . . . . . . . . . . . . . . . . . . . . . . . Two Colors print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Default Deposit Print Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 415 416 418 418 419 419 420 420 421 421 423 424 424 425 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433 Abbreviations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435 Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437 November 2012 Contents November 2012 What’s new This section lists a summery of documentation changes and enhancements of the ProCash/NDC User Guide. Since June 2012 until November 2012: • Barcode Reader unsolicited message added • Version update Since May 2011 until June 2012: • New section ”NCR compatible 7 Denomination support” on page 61 • New section ”BNA Message Emulation with ProFlex” on page 61 • New section ”CPM Message Emulation with ProFlex” on page 61 Since March 2011 until May 2011: • Minor corrections Since October 2010 until March 2011: • 4 digit screens support documented. New section ”4 Digit Screen Numbers” on page 172 Since May 2010 until October 2010: • J/Install name introduced • ProFlex/NDC-DDC AddOn support Since December 2009 until May 2010: • ProCash28x support documented Since June 2009 until December 2009: November 2012 13 What’s new • New section ”Cassettes counters/status printing after exit SV mode” on page 51 • Extended section ”PCI PA DSS support and documentation” on page 226 • New HW components and CINEO (RM3) support • New section ”Printing with XFS Forms” on page 420 • New section ”Two Colors print” on page 424 Since June 2008 until June 2009: • New section ”ProFlex/NDC-DDC AddOn” on page 60 • Alpha numeric states support documented • General version updates • Minor corrections Since May 2007 until June 2008: • New section ”Landscape printing on the receipt printer” on page 424 Since July 2006 until May 2007: • New section ”Payment Card Industry (PCI) compliance” on page 226 • New section ”ProCash Analyzer (PCA) ProView adaptation” on page 60 • New section ”Barcode Print” on page 420 • Description of GDI printing moved to ProTopas Module Construction Kit Programming Guide section “GDI Printer Overlay Framework” Since September 2005 until July 2006: • New section ”Barcode Read State (‘s’)” on page 167 • New section ”Coin Dispenser (sol./unsol.) (DID ‘Y’)” on page 381 Since November 2003 until October 2004: 14 November 2012 What’s new • New section ”Electronic Journal Upload (EJU) commands” on page 318 • New section ”Electronic Journal Upload (EJU) Message” on page 403 • New section ”Remote Key Loading (RKL) capability” on page 226 • New section ”EMV capability” on page 225 • New section ”Displaying MacroMedia Flash executables” on page 179 • New section ”Smart FIT Check State (‘k’)” on page 163 • Changed section ”Hardware Fitness State (‘h’)” on page 157 • Changed section “Amount Check State (G)” on page 94 • New section “Dispenser Currency Mapping Table Load” on page 289 Since May 2002 until November 2003: • New section ”Miscellaneous Operations” on page 59 • Changed section ”Related publications” on page 437 • New section ”Triple DES operation” on page 225 • Extended section ”Solicited Status messages” on page 240 • Extended section ”Send Configuration Information” on page 327 • Changed section ”Software Products of ProConsult/NDC” on page 25 • Changed section ”Software Products of ProCash/NDC” on page 24 • New section ”Printing with Windows GDI” on page 419 • Changed section ”Dynamic Link Libraries (DLL)” on page 27 • Changed section ”Directory Structure” on page 38 Since October 2001 until May 2002: • New section “Enhanced Amount Entry State (R)” on page 122 • New section “Audio Control State (i)” on page 153 • New section “Voice Control” on page 180 • New section “Dispense Below Zero” on page 56 • Enhanced section “Unsolicited Device Status” on page 369 November 2012 15 What’s new 16 • Enhanced section “Printer Models” on page 415 • Changed section ”Related publications” on page 437 • Enhanced section ”Directory Structure” on page 38 • Enhanced section “Solicited Status (terminal state)” on page 326 November 2012 Introduction Preface Introduction Preface In the past NCR and Diebold/Interbold have dominated the international market of automated teller machines (ATM). Both vendors have defined very similar protocols for the network integration of their systems. The existing MS-DOS based NDC-Emulation from Wincor Nixdorf is running in NCR network environments all around the world. New technologies and of course windows oriented platforms provided from Microsoft has forced Wincor Nixdorf to develope the NDC-Emulation running with Windows. The product ProCash/NDC and since October 2002 ProConsult/NDC from Wincor Nixdorf has been developed with all known advantages provided by Windows like Multithreading Processes, using WOSA services, open system environment through the ProTopas architecture from Wincor Nixdorf. The ability to integrate ProCash/NDC in multi vendor projects (ProCash/NDC running on NCR, Olivetti, or Diebold hardware) is another big advantage of this software architecture. Wincor Nixdorf Solution ProCash/NDC and ProConsult/NDC have been developed using the C++ object oriented ProTopas architecture. ProTopas is a flexible development platform for self-service device applications in open system environments. Development with ProTopas means using existing Frameworks, modifying and creating new Frameworks for the specific self-service application. The application design allows customers to create easily new Frameworks of customer specific functions using ProTopas/KIT. Wincor Nixdorf provides ProCash/NDC and ProConsult/NDC with function messages of NCR terminals which are described in later sections. Any function restrictions against NCR can be recognized if it is not documented in this manual. November 2012 17 Product AddOn ProFlex/NDC-DDC Introduction Product AddOn ProFlex/NDC-DDC ProFlex/NDC-DDC is a HTML based product solution for customers who wants to use and create their own transaction flow with extended functions independent from a host states table. See details in section ”ProFlex/NDC-DDC AddOn” on page 60 Purpose of the Document This document will provide the software analyst with the necessary information on the functions which are supported by product ProCash/NDC and ProConsult/NDC. Furthermore all the information needed for the operation of the ATM, as far as it is NDC specific and not covered by other documentation (e.g. CSC-W32, Protopas or ProDevice documents). A detailed description of all the application specific parameters will be found in the ProCash/NDC ProConsult/NDC Installation manual along with information for installation and upgrading the products. NDC specific features like States, Screens, FIT, commands and messages will be described here in detail. Since the list of supported features keeps growing please always use the latest release of this documentation. We will make updated versions available as soon as practical, either by file download or as an online-documentation. Any feature exceeding the described ones may not be supported. In this case please refer to the protocol descriptions of the network (in case of project specific extensions) or to recent releases of the Programmers Reference Manuals of NCR. 18 November 2012 Introduction Function Overview Function Overview ProCash/NDC and ProConsult/NDC written for Wincor Nixdorf terminals contain base functions from the original NCR Direct Connect (NDC) software provided by NCR. The functionality depends on the host Software (BASE24, ON/2, TP/2, etc.). The download of original NCR Customization Tables such as States, FIT’s, Screens and Parameters controls the terminal, thus defining the available functions. Those are typically (but not exclusively): • Withdrawal(ProCash/NDC only) • Fast cash(ProCash/NDC only) • Envelope deposit(ProCash/NDC only) • Balance inquiry • Transfer • Payment • PIN change • Rear Balancing • Multi language • Statement print • MACing • Triple DES security • PCI Data Security Standard • EMV support • Remote Key Loading (RKL) • Cash and Cheque deposit • E-Journal Upload (EJU) • Coin dispense and deposit • Barcode read and print November 2012 19 Supported hardware Introduction Supported hardware Currently following systems and hardware components are supported: ATM’s: • CSC4xx Rear/Frontload • CSC400 Frontload • ProCash-Compact • ProCash 2000, 21XX, 21XXxxe, PC8000 series • ProCash 3000, CoinIn • CSC21xx, CSC1500 • Cash Recycling System (CRS), 3100xe, 3100xxe • EBH/RM2 PC4000 • SlimCash 200 • RM3 CINEO series • ProCash28x Info Terminals: • ProPrint 200 • ProPrint 2000 • ProConsult, Certo, CINEO T3000 Dispenser modules: • CDM-V1, CDM-NG, CMD-V4, CDM-NG (6 cassettes), Novotech (coin), CMD-V5 Needle printers: • Journal: ND98D, ND98, ND71, NP06 • Receipt: ND9E, ND71, ND9A, NP07 • Statement: ND97, ND94, ND97 Thermal printers: • 20 Receipt: ND9C, ND99, ND9G, TH21, TH22, TP07, TP12, TP13, TP25 November 2012 Introduction Supported hardware • Journal:TH30, TP06 • Statement: TH97/G, TP01, TP20, TH23 Card readers: • ID14 (Sankyo Seiki), ID15 (Wincor Nixdorf), ID18 (OMRON), V2X, ID24 (DIP reader), ICM300 (manual smart card reader) continued on next page ... November 2012 21 Multi Vendor capability Introduction Encryption modules: • EDM module (restricted security), EPP’s V4, V4+, V5 (international) • JustTide EPP Envelope deposit modules: • Papalakko, Wincor Nixdorf (Envelopes) • Cheque/Cash Deposit Module (CCDM V1) Miscellaneous: • Operator Panel (Low- or high end), GOPL (OP05) support • Touch screen support • Power Supply box • Sound card • USB support • Barcode Reader support • Single Cheque Scanners: SEAC, RS89x • ASKIM II • CINEO skimming cameras Multi Vendor capability Since release 1.3/00 ProCash/NDC supports hardware platforms from other vendors as well. Follwing hardware platforms of other vendors are supported, which can be installed via standard installation procedure via J/Install: • NCR cash systems • Diebold cash systems • Nautilus/Hyosung systems Following vendors are running with ProCash/NDC, but they have to be installed with a special prepared installation set: • 22 Fujitsu cash systems November 2012 Introduction • Olivetti cash systems • Delarue cash systems Multi Vendor capability November 2012 23 Software Products of ProCash/NDC Introduction Software Products of ProCash/NDC In the following table is listed the basic software products that are required to setup a whole ProCash/NDC application: Table 1: Basic Software of ProCash/NDC Name current Release Systems Operating system Windows 7 or Windows XP Professional see Note2 ProBase/C 1.1/30 + Updates all Wincor ProCash/Topas 5.0/00 all PARAC-NT 3.2/30 all ProView Agent 1.0/31 all ProCash/NDC 3.0/00 all SNA-Workstation 4.0 optional Eicon software components 3.0 optional ProTopas/SOP-NDC Communication software For detailed information about function and configuration of each product refer to ProCash/NDC ProConsult/NDC Installation manual NOTE 1: ProCash/NDC is running on PC based systems. For Windows 7 you need 2GB and for Windows XP 1GB RAM and hard disk partition space of 20GB is required as minimum. NOTE 2: Windows 7 and Windows XP is released on Embedded PC’s only. 24 November 2012 Introduction Software Products of ProConsult/NDC Software Products of ProConsult/NDC In the following table is listed the basic software products that are required to setup a whole ProConsult/NDC application: Table 2: Basic Software of ProConsult/NDC Name current Release Systems Operating systems Windows 7 or Windows XP Professional see Note2 ProBase/C 1.1/30 + Updates all Wincor ProCash/Topas 5.0/00 all PARAC-NT 3.2/30 all ProView Agent 1.0/31 all ProConsult/NDC 3.0/00 all SNA-Workstation 4.0 optional Eicon software components 3.0 optional ProTopas/SOP-NDC Communication software For detailed information about function and configuration of each product refer to ProCash/NDC ProConsult/NDC Installation manual NOTE 1: ProConsult/NDC is running on PC based systems. For Windows 7 you need 2GB and for Windows XP 1GB RAM and hard disk partition space of 20GB is required as minimum. NOTE 2: Windows 7 and Windows XP is released on Embedded PC’s only. November 2012 25 Software Products of ProConsult/NDC 26 November 2012 Introduction Software Structure Dynamic Link Libraries (DLL) The following described Dynamic Link libraries are the part of ProCash/NDC or ProConsult/NDC, which have to be installed via J/Install on the harddisk of the ATM. These modules control the functions of the application. The following software modules build the application part NDC on the ATM: • Transaction Framework (dcsttfw.dll) The Transaction Framework maps the downloaded NDC states to the belonging step function defined in the LYNXPAR section of the registry. • Cash Dispenser Framework (dccdmfw.dll) (not ProConsult/NDC) The Cash Dispenser Framework controls the dispensing requests from the consumer. It maps the physical cassettes to logical positions which have to match with the positions configured at the host side. It handles the cassette counters and syncronizes them with WOSA. • Device Status Framework (dcdevsta.dll) The Device Status Framework collects the status of the devices from the different device frameworks. It also offers the supplies of the devices. The actual status will be passed to the Message Control Framework whenever it asks for the device status. • Message Control Framework (dcmsgcfw.dll) The Message Control Framework handles the NDC messages sent from the host to the terminal and builds up the messages which have to be sent from the terminal to the host. It asks the Device Status Framework for the current status of the device to fill the severity and supply status fields of solicited and unsolicited messages to be sent to the host. • SOP User Exit Framework for ProSop (dcsuefw.dll) The ProSop User Exit Framework contains NCR service functions like “Display supply status, “Clear card capture counter”, “Rear balancing”, etc.. November 2012 27 Dynamic Link Libraries (DLL) • Software Structure NDC Printer Framework (ndcprtfw.dll) The NDC Printer Framework analyzes the printer data from the host and converts it to printable printer buffers. First it reads the base settings from the registry and set it as default (sets lpi and cpi size, activates the printer font, reads the char convertion table, etc.) after that it fills the printer data with the specific macros depending on which NDC escape sequences are in the printer data from the host. The formatted print buffer will be passed to the base printer framework of ProTopas. • NDC Dialog Framework (ndcdiafw.dll) The NDC Dialog Framework handles the consumer FDK, PIN inputs and controls the screen flow. • Dialog Utility Library (dcdiauti.dll) The Dialog Utility Library contains Windows functions that has been separated from the NDC Dialog Framework (exp. Mouse Hook). • Application Framework (dcapplfw.dll) The Application Framework has the control above the other Frameworks. It starts the Protocol Framework, Communication Framework, Step Table Framework and handles the synchronisation with the different Frameworks. • Converter Framework (dcconvfw.dll) The Converter Framework handles the Customisation Image (CI) downloaded from the host. It stores the host configuration (States, Screens, Timers, FIT table , Configuration parameters and Configuration ID) in the LYNXCI path of the Registry. • Protocol Framework (dcprotfw.dll) The Protocol Framework send to or receives messages from the Communication Framework. • Security Overlay Framework (dcsecure.dll) The Security Framework performes local PIN verification with the corresponded FIT data. Performs calls to security functions of Protopas basic framework. • SOP Service Framework (dcServic.dll) The SOP service framework contains Dialog and synchronisation functions of ProTopas/SOP-NDC. 28 November 2012 Software Structure • Dynamic Link Libraries (DLL) SOP Dialog Framework (dcSopDia.dll) The SOP dialog framework controls the dialog screens on the facia screen or on the operator panel of ProTopas/SOP-NDC. • GDI Printer Overlay Framework (dcPrtGdi.dll) The GDI Printer Overlay Framework converts PrintRaw data to GDI print data, which are passed to a Windows printer (e.g. ND9G). This Overlay framework has to be configured in between the ProTopas printer framework and the NDC Printer Framework in the Repository Manager. Refer to ProTopas Module Construction Kit - Programming Guide section “GDI Printer Overlay Framework” for detailed descriptions about GDI printing with ProCash/NDC and ProConsult/NDC. Note: Either dcPrtGdi.dll or FormsPrt.dll can be configured, never both in one printer framwork! • Forms Raw Print Wrapper Overlay Framework (FormsPrt.dll) The Forms Raw Print Wrapper Overlay Framework parses and converts Raw print data and creates XFS forms dynamically at runtime. The form data are passed to the XFS PRT service via PrintForm command where the ProTopas printer framework CCPRT30.DLL is in use. This Overlay framework has to be configured in between the ProTopas printer framework and the NDC Printer Framework in the Repository Manager. Refer to ProTopas Module Construction Kit - Programming Guide section “Forms Raw Print Wrapper Overlay Framework” for detailed descriptions about Forms printing with ProCash/NDC and ProConsult/NDC. Note: Either FormsPrt.dll or dcPrtGdi.dll can be configured, never both in one printer framework! • EMV Transaction Overlay Framework (dcEmvTa.dll) The EMV Transaction Overlay Framework is needed to handle transactions with EMV data. Please refer to Wincor Nixdorf / Diebold D91x Message Format Extension for EMV for detailed descriptions. • EMV Message Control Overlay Framework (dcEmvMc.dll) The EMV Message Control Overlay Framework is needed to append messages with EMV data. Please refer to Wincor Nixdorf / Diebold D91x Message Format Extension for EMV for detailed descriptions. November 2012 29 Dynamic Link Libraries (DLL) • Software Structure EMV Converter Overlay Framework (dcEmvCv.dll) The EMV Converter Overlay Framework is needed to handle EMV download data. Please refer to Wincor Nixdorf / Diebold D91x Message Format Extension for EMV for detailed descriptions. • WEB Transaction Overlay (websttFw.dll) The WEB Transaction Framework contains additional Propery functions to receive printer statuses via variables within a HTML page. Furthermore it contains overlaid transaction steps and functions for the operation of ProFlex/NDC-DDC (PTFLEX). • CardLess Transaction Overlay(cltsttFw.dll) The Cardless Transaction Overlay alternatively enables consumer transactions without an ID card. The transaction will be initiated when a consumer presses a button in the Function Selection (FDK) Dialog instead of inserting a card. If a card will be inserted instead of pressing a FDK button, the transaction will be started in the standard way. • ProCash Analizer Adapter(dcPca.dll) The ProCash Analizer Adapter transports Counters, Device and Supply Status information of devices from the client (Dispenser, Deposit Modules, Printers, Card Reader), to the ProCash Analizer terminal application which is part of the ProView Server. • Host Protocol Log Filter(dcHpLogF.dll) The Host Protocol Filter prevents logging of consumer related data like PIN block and Track data. This is part of the PCI Data and Security Standard defined by VISA and MasterCard. The security relevant data are replaced through stars (*) for each character. 30 November 2012 Software Structure Parameter / Data Files Parameter / Data Files Types of Parameters Every terminal needs many different parameters to operate as expected. The most complex set of parameters is called "Customization" and contains the dialogs and the sequence of functional steps (e.g. card read - PIN Entry Function selection ...) which the system will perform. NCR supports the central customization by files which will be distributed to all connected ATM’s. Our ProCash/NDC and ProConsult/NDC emulation fully supports this Customization Download. The parameters will be stored into the Windows registry. Changes to those parameters may be overwritten any time by a new download. Thus permanent changes must be made to the customization files on the Host, not on the ATM. Furthermore each ATM will have a number of extended parameters which are specific to its type or to the particular machine. The Wincor Nixdorf solution, being an emulation, needs several parameters to cover the differences to the original systems and for enhanced services. Existing parameters can be edited in text files (*.ppf or *.ina type). The Registry update with the changed values will be done via PARAC-NT after the next “RUN” process and with CCRCCONV.EXE. Details will be given in the ProCash/NDC ProConsult/NDC Installation manual. November 2012 31 Parameter / Data Files Software Structure Compatible Customization Data All customization data are stored in the Windows registry location: HKEY_LOCAL_MACHINE\ SOFTWARE\ Wincor Nixdorf\ ProTopas\ CurrentVersion\ LYNXCI • Screen Data (LYNXCI\SCREEN\XXX[1]) [1] ’XXX’ represents the downloaded screen number are the predefined display screens provided by the host. • State Table (LYNXCI\STATE) is used to define and control the logic flow of the for client transactions. • Financial Institution Table (LYNXCI\FIT) consists of an entry for every institution or group of institutions offering services on the ATM. Client card data are compared to data in this file to determine whether the card holder can receive services. • Customization Parameters (LYNXCI\PARAMETER) contain some terminal specific settings and specific definitions of the message protocol. • Timers (LYNXCI\TIMER) contain downloaded timer values valid for all ATM’s in the network. • Receipt Templates (LYNXCI\SCREEN\R00; LYNXCI\SCREEN\R01) As part of the screens download the host can send receipt header data (R00) and predefined receipt data (R01) (data that are mixed together with the host printer data of the transaction reply). Those screens are stored in sub section “..\LYNXCI\R00” and “..\LYNXCI\R01”. • EMV Parameters (LYNXCI\EMV) This section contain specific EMV parameters. 32 November 2012 Software Structure Parameter / Data Files Extended Configuration Data All non downloaded configuration data are stored in the following location of the Windows registry: HKEY_LOCAL_MACHINE\ SOFTWARE\ Wincor Nixdorf\ ProTopas\ CurrentVersion\ LYNXPAR • Application Parameters (LYNXPAR\APPLICATION) This section contain parameters which are not assigned to a specific hardware device. These are global settings of NDC and can be parameters for the protocol or timers etc.. • Cash Dispenser Parameters (LYNXPAR\CASH_DISPENSER) This section contain parameters related to the cash dispenser like cassettes type configuration, dispense algorithm, dispenser status. (This section is missing in the non cash product ProConsult/NDC.) • Coin Dispenser Parameters (LYNXPAR\COIN_DISPENSER) This section contain parameters related to the coin dispenser like hopper configuration and dispense options. • Card Reader Parameters (LYNXPAR\CARD_READER) This section contain parameters related to the card reader like track configuration and transport handling of the ID card. • Deposit Parameters (LYNXPAR\DEPOSIT) This section contain parameters related to the deposit module. • Printer Parameters (LYNXPAR\PRINTER) This section contain parameters related to the journal, receipt and document printers. • GDI Printer Parameters (LYNXPAR\GDI_RINTER) This section contain parameters for printers using GDI. November 2012 33 Parameter / Data Files • Software Structure Barcode Parameters (LYNXPAR\BARCODE) This section contain parameters related to the barcode reader. • Operator Screen Parameters (LYNXPAR\OPERATOR_SCREENS) This section contain the operator screen template parameters that are used to display or print the supply counters within the user exit menu “Individual Functions” of ProSop. • Function ID mapping (LYNXPAR\FUNC_ID_MAP) This section contain the assignment to the ProCash/NDC or ProConsult/NDC step functions and function ID’s that are send in transaction replies. • State mapping (LYNXPAR\STATE_MAP) This section contain the assignment to the ProCash/NDC or ProConsult/NDC step functions and state ID’s that are send in the states table download from host. • ProFlex/NDC-DDC (LYNXPAR\PTFLEX) This section contain sub sections and parameters for the add on product ProFlex/NDC-DDC. Refer to manual ProFlex/NDC-DDC. Global Screen Configuration The global non downloaded screen configuration contains default display settings and path for graphic files (*.PCX), Bitmaps (*.BMP) and Videos (*.AVI; *.MPG) etc.. Furthermore for each screen can be configured special display settings or idle rotations which are independend from the host download. Those parameters are stored in the following location of the Windows registry: HKEY_LOCAL_MACHINE\ SOFTWARE\ Wincor Nixdorf\ ProTopas\ CurrentVersion\ LYNXCI\SCREEN LYNXCI\SCREEN\XXX Details will be given in the ProCash/NDC ProConsult/NDC Installation manual. 34 November 2012 Software Structure Parameter / Data Files Error Mapping Configuration All device errors and mapping parameters are devided in error classes. The “CLASS” section is devided in the CSC-W32 device classes inclusive the ProCash/NDC classes. Each class contains sub sections of error codes which contain the CSC-W32 error and the error mapping definitions for the message protocol. They are stored in the following location of the Windows registry: HKEY_LOCAL_MACHINE\ SOFTWARE\ Wincor Nixdorf\ ProTopas\ CurrentVersion\ CCERRMAP\CLASS Details will be given in the ProCash/NDC ProConsult/NDC Installation manual November 2012 35 Font Files Software Structure Font Files ProCash/NDC uses the Windows font format (*.FON) for displaying text and graphic characters for downloaded NDC screens. The fonts can be created and modified via utility “FONTEDIT.EXE”. During the installation the default base set of ProCash/NDC or ProConsult/NDC fonts will be installed and activated automatically like standard Windows fonts. The following section contains a short list of NDC Standard Fonts that are installed during the installation of ProCash/NDC or ProConsult/NDC: Standard Fonts table 3: Standard fonts table Font name File name Designation 640x480 (W * H) [1] 800x600 (W * H) [1] 1024x768 (W * H) [1] 1 NDC-SA1.FON Single Size Alpha 1 20x30 25x37 32x48 2 NDC-SA2.FON Single Size Alpha 2 20x30 25x37 32x48 > NDC-DA1.FON Double Size Alpha 1 40x30 50x37 64x48 ? NDC-DA2.FON Double Size Alpha 2 40x30 50x37 64x48 3 NDC-GA1.FON Standard Graphic 1 20x30 25x37 32x48 4 NDC-GA2.FON Standard Graphic 2 20x30 25x37 32x48 5 NDC-GA3.FON Standard Graphic 3 20x30 25x37 32x48 9 NDC-SARA.FON Single Size Arabic 20x21 25x26 32x33 B NDC-DARA.FON Double Size Arabic 40x42 50x52 64x64 [1] - 36 Depending on the display resolution you have to select the belonging font with the correct width and height (W * H). During the installation the standard fonts are automatically installed with the display resolution currently set in the control panel of Windows. November 2012 System Setup Software Installation The application software will be installed via the J/Install Product CD (NDC/DDC V3.0/00), Customizing and Update diskettes. On Wincor Nixdorf hardware systems precondition is the installation of product ProBase/C, which is delivered on a separate CD. The installation process will be started via batch routine ’AUTORUN.BAT’ located in the root of the J/Install CD. During the installation you will be guided via menu dialogs through the installation processes. You can set also specific parameters via a parameter configuration dialog. All details about product installation will be provided in the ProCash/NDC ProConsult/NDC Installation manual. November 2012 37 Directory Structure System Setup Directory Structure ProCash/NDC or ProConsult/NDC is only one part of a bundle of software packages running on an Windows based ATM. A lot of directories and a large number of Dynamic Link Libraries (DLL’s) makes it difficult to assign configuration files and DLL’s to the right software sub product. ProTopas based DLL’s and ProCash/NDC or ProConsult/NDC specific DLL’s are stored together in directory C:\PROTOPAS\BIN. The following table gives short overview about the modules and their directories: table 4: Software structure File Structure Description ProBase\CSCW32 modules of CSC-W32 operating system ProBase\ProDevice modules of ProDevice (WOSA) \PROTOPAS fwstrt.bat Starts ProCash/NDC or ProConsult/NDC fwkill.bat Stops ProCash/NDC or ProConsult/NDC ccprot.log Log file of Host and ATM messages \PROTOPAS\BIN dcApplFW.dll Application Framework dcSttFW.dll Transaction Framework dcMsgcFW.dll Message Control Framework dcConvFW.dll Converter Framework dcCdmFW.dll Cash Dispenser Framework dcSueFW.dll Sop User Exit Framework dcSecure.dll Security Overlay Framework 3DesEppF.dll Triple DES EPP Overlay Framework dcDevSta.dll Device Status Framework dcServic.dll ProTopas/SOP-NDC Service Framework dcSopDia.dll ProTopas based SOP Dialog Framework (obsolete) ndcDiaFW.dll NDC Dialog Framework ndcPrtFW.dll NDC Printer Framework dcPrtGdi.dll GDI Printer Overlay Framework dcEmvTa.dll EMV Transaction Overlay Framework 38 November 2012 System Setup Directory Structure File Structure Description dcEmvCv.dll EMV Converter Overlay Framework dcEmvMc.dll EMV Message Control Overlay Framework dcTcp2h.dll TcpIP converter for 2 bytes binary headers (header length excluded) dcTcp2hi.dll TcpIP converter for 2 bytes binary headers (header length included) dcTcp4a.dll TcpIP converter for 4 bytes ASCII headers (header length excluded) dcTcp4ai.dll TcpIP converter for 4 bytes ASCII headers (header length included) dcTcp3a.dll TcpIP converter for 3 bytes ASCII headers (header length excluded) dcTcpSTX.dll TcpIP converter for STX and ETX message length calculation dcSimCom.dll Host Simulator Framework dcDiaUti.dll Dialog Utility Library webSttFw.dll Web Extensions Transaction Overlay ProFlex/NDC-DDC functions cltSttFw.dll Cardless Transaction Overlay dcPca.dll ProCash Analizer Adapter dchplogf.dll Host Protocol Filter ccrcconv.exe Updates the Windows registry with contents of *.RCK files dcctrl.exe Utility for external application control dcctrl.txt Description text file how to use dcctrl.exe \PROTOPAS\CONF Kconf.exe Converts *.INA files to *.RCK format Kconf.txt Describes functionality of Kconf.exe conv.bat Update job for *.INA files to update existing and store new parameters in the Registry conv-all.ok (conv-all.bat) Batch file which is called once immediately after installation to store additional parameters in the registry (will be renamed from *.BAT to *.OK after the call). November 2012 39 Directory Structure System Setup File Structure Description prtmakro.bat Batch job to store additional parameters for the journal and receipt printer to enable ’INIT’ sequences via makros. prtmakro.ina Parameter source file of printer parameters used by Kconf.exe prosop.bat Batch job to set SOP User Exit and Trace menu items for ProSop (Single DES). prosop.ina Parameter source file of SOP User Exit and Trace (Single DES) used by Kconf.exe sop3des.bat Batch job to set SOP User Exit and Trace menu items for ProSop (Triple DES). sop3des.ina Parameter source file of SOP User Exit and Trace (Triple DES) used by Kconf.exe gdi_prt.bat Batch job to set GDI printer parameters. gdi_prt.ina Parameter source file of GDI printer parameters used by Kconf.exe logon.bat Batch job to set parameters in the Registry to activate automatic logon. logon.ina Parameter source file for automatic logon parameters autostrt.bat Batch job to set one parameter which activates an automatic call of ’C:\STARTUP.BAT’ after restart. autostrt.ina Parameter source file for the automatic ’startup.bat’ call. ccerrmap.ina Parameter source file of all application and CSC-W32 error codes and mapping definitions which is used during ’conv-all.bat’ process is running. lynxsop.ina Parameter source file of Rear Balancing step table parameters which is used during ’conv-all.bat’ process is running. ccvtable.fil (asc, ebc) Line convertion tables: EBCDIC - ASCII and ASCII - ASCII (default is ASCII - ASCII) cfgmanag.lnk Link of the Configuration Manager for the start bar of Windows. 40 November 2012 System Setup File Structure Directory Structure Description \PROTOPAS\WORK cccmos.bin CMOS file - stores transaction oriented counters and device statuses (e.g. Last Transaction Status information) \PROTOPAS\BITMAPS \PROTOPAS\BITMAPS\640x480 \PROTOPAS\BITMAPS\800x600 \PROTOPAS\BITMAPS\1024x768 Resolution depended sub directories where the default graphics are stored during the installation. *.PCX, *.BMP, *.ICN, *.JPG Graphic and Bitmap files which are controlled via screen escape sequences or as a local definition for Background pictures or to replace downloaded NDC text screens. dctmpoos.bmp Bitmap which is displayed during the system shutdown initiated by the restart handler in a fatal error condition. dcoos.bmp Bitmap which is permanently displayed if the maximum system reboots has been initiated by the restart handler. *.AVI, *.MPG, *.MPEG Video animation file which can be configured instead of a ’normal’ graphic in the registry section “..\LYNXCI\SCREEN”. \PROTOPAS\FONTS \PROTOPAS\FONTS\640x480 \PROTOPAS\FONTS\800x600 \PROTOPAS\FONTS\1024x768 Resolution depended sub directories where the default fonts are stored during the installation. \PROTOPAS\FONTS\ GDI_PRT Contains Windows fonts that are used if GDI printing is enabled (e.g. ND9G, TP07, TP13). \PROTOPAS\TOOLS HostSim.exe Dialog oriented host simulator simulates host to terminal messages. MfcDlg.exe Dialog window where you can enter specific screens to display during runtime. MfcVar.exe Displays variables (e.g. Opcodes) during the transaction flow. protlog.exe Message analyzer of log file ’CCPROT.LOG’ reboot.exe Initiates a system shutdown or relogon November 2012 41 Directory Structure System Setup File Structure Description write-id.exe Utility to write track 1,2 or/and 3 data on ID cards via ID Card Unit. write-id.cmd Batch file which can be modified for calling write-id.exe to write tracks on ID cards. fontedit.exe Modifies and view Windows font contents asc2fon.exe Converts ASCII font files to Windows fonts fon2asc.exe Extracts Windows fonts to ASCII text files prt-dof.exe Sends control sequences (in *.DOF format) to the receipt or journal printer. asc2dof.exe Converts ASCII printer fonts to *.DOF format. dof2asc.exe Extracts DOF files to ASCII printer font files asc-nd99.exe Converts ASCII printer font files to *.SWF format for ND99 printer. nd99-asc.exe Extracts binary *.SWF font files of ND99 to ASCII matrix font files. ldnd99.exe Font and Logo loader for ND99 nd99logo.exe Extracts ND99 logo files to ASCII matrix file asc2logo.exe Converts ASCII logo files to binary logo files for ND99. nd9e-dof.exe Converts an ASCII logo file to DOF format for ND9E printer. pcx2asc.exe Extracts 2 or 16 color PCX graphics to ASCII matrix text file. cfgmanag.exe Configuration Manager. Easy access to analyzing tools and configuration data via pull down menus. cfgmanag.mnu Menu definition file for the Configuration Manager that allows menu configuration. (Will not be installed, but can be ordered from WCN support). cfgmanag.hlp Help text file for the Configuration Manager. ina2def.exe Converts INA files to PARAC definition RC source files. compregf.exe Compares an extracted registry text file with the contents of the Windows registry. 42 November 2012 System Setup Directory Structure File Structure Description cpyntfnt.exe Installes and registers Windows font files. asc2pcc.exe Converts ASCII files to PCC/PCX files. icn2asc.exe Extracts ICN icon files to ASCII matrix files. asc2icn.exe Converts ASCII files to ICN files. sethwppf.exe Sets hardware depended menu for Status Overview in ProSop and deconfigures paper journal of no journal printer is installed. (used during installation). prt-raw.exe Test utility that can print a text file with ASCII printer data and macros via printer interface of CSC-W32. printraw.exe Test utility that prints raw data via ProTopas API function PrintRaw() from file C:\PROTOPAS\RAWDATA.TXT, or prints the contents of registry parameter MSGxxx via function Print(xxx). dcsopmgr.exe ProTopas/SOP-NDC User Manager. initepp.exe Deletes keys from EPP and gives detailed information about the EPP hardware. dof-rj03.exe Converts ASCII printer fonts to *.DOF format for NP06/TP06 and NP07/TP07. rj03-dof.exe Converts hex *.DOF files of NP06/TP06 and NP07/TP07 font definitions to ASCII files. confchck.exe Configuration Utility. It is called during installation and by the Config. Manager addonchk.exe Installation Utility that is called during installation only. cfgmedit.exe Editor with restricted file access that can be used via the Configuration Manager. exterrmp.exe Splits CCERRMAP.INA in multiple files where each class is a single file. mfcfont.exe Utility to create own Windows fonts for screen display and GDI print pcatest.exe Test utility for local verification of ProCash Analizer information November 2012 43 Directory Structure 44 System Setup November 2012 Modes of Operation At any time, Wincor Nixdorf terminals operates in one of the following six modes: • power-up mode • out-of-service mode • in-service mode • offline mode • Service and Operating (supervisor mode) • suspend mode The terminal changes from one mode to another when it encounters a specific event, like the SOP switch is pressed or the terminal discovers that it is no longer communicating with the network. Figure 1 shows how the terminal normally exits one mode and enters another. If the terminal loses power or is reset, the terminal abnormally exits from the mode it was in, when the reset or power failure occurred. figure 1: Terminal operation POWER-UP POWER-UP OFFLINE OFFLINE SUPERVISOR SUPERVISOR MODE MODE SUSPEND SUSPEND MODE MODE OUT OUT OF OF SERVICE SERVICE IN IN SERVICE SERVICE The following paragraphs describe how the terminal enters and exits each of the modes and, if applicable, how the terminal functions when it is in that mode. November 2012 45 Power-up mode Modes of Operation Power-up mode The terminal enters power-up mode when the terminal is switched on. During power-up mode, the restart handler starts the WOSA services, the Protopas environment and at least the ProCash/NDC, ProConsult/NDC frameworks. After all terminal devices are opened the communication framework is waiting for line activity. Exiting power-up mode The terminal exits to offline or out-of-service mode when it leaves power-up mode. If line connection is established, the communication framework sends the power up message as configured to the host. Out-of-service mode The terminal may enter out-of-service mode from any one of the following modes: • power-up mode • offline mode • in-service mode (if the terminal receives an out-of-service command from the network) • supervisor mode The terminal accepts and stores configuration data while it is in out-of-service mode. During this time, the terminal can also receive and execute print immediates, startup and shutdown commands from the network. Depending on what mode the terminal was in before going out-of-service, the terminal may perform other functions. 46 November 2012 Modes of Operation In-service mode In-service mode The terminal enters in-service mode from any of the following modes: • out-of-service mode (if the terminal receives a startup command from the network) • supervisor mode (if the return to previous mode feature is enabled ) • offline mode (if communication with the network is restored) While in-service, the terminal uses the configuration data to make transaction sequence decisions. The terminal exits in-service mode under the following conditions: • The terminal receives a shutdown command from the network; the terminal exits to out-of-service mode after finishing any customer transactions in progress. • The terminal looses communication with the network; the terminal exits to offline mode. • The terminal exits to supervisor mode when there is an SOP entry on the operator panel, the SOP switch is pressed, or when the safe door is open. • An abnormal exit occurs. Except when an abnormal exit occurs, the in-service mode can only be exited from State 000. November 2012 47 Offline mode Modes of Operation Offline mode The terminal may enter offline mode from any of the following modes: • in-service mode • out-of-service mode • power-up mode • supervisor mode Offline mode is entered from the in-service mode if communication is lost between the network and the terminal. While in this mode, the terminal operates as follows: • The terminal displays the user-defined offline screen (screen C01) on the screen. • The terminal enters an idle loop until network communication is restored. The terminal exits this mode under the following conditions: • communication with the network is restored • the terminal enters supervisor mode • an abnormal exit occurs Suspend mode The suspend mode feature must be activated in the miscellaneous parameters (see ProCash/NDC ProConsult/NDC Installation manual for details). Suspend mode is entered from the in-service mode if a tampering suspected error has occurred and the specific error of the device class in CCERRMAP is set to Severity 3. While in this mode, the terminal operates as follows: • The terminal displays the suspend mode screen C05 or C02 (if screen C05 not exists) on the screen. • Green status lights in front and on the Operator Panel will be switched off. • The terminal doesn’t accept customer cards. 48 November 2012 Modes of Operation Service and Operating(SOP) The terminal exits this mode under the following conditions: • the terminal enters supervisor mode • the host sends an in-service or out-of-service command • the suspend mode timer has expired (return to previous mode) Service and Operating(SOP) For Wincor Nixdorf terminals the operator uses the Service and Operating to replenish supplies, change passwords and change encryption keys. While in the SOP mode, the manager or operator can enable or disable devices or device options for service and maintenance. All service and operator functions are described in the manual ProTopas/SOP-NDC Operator Manual. If the manager enters the SOP, the terminal sends an unsolicited status message to the network when it enters the operator mode. Refer to section ”Unsolicited Status messages” on page 245 for further information. While in SOP mode, the terminal responds to network messages as follows: • The terminal processes load command messages and replies with solicited status messages indicating either a ready condition or a command reject condition. • The terminal responds to all other Transaction Reply command messages with a solicited status message indicating a command reject condition. • The terminal responds to an Terminal Command message requesting configuration information with a solicited status message containing configuration information. • The terminal accepts Terminal Command messages requesting start-up or shutdown but does not process or reply to them until it exits the supervisor mode. • If the terminal receives any Terminal Command messages requesting startup or shutdown while in the SOP, then upon exiting the SOP, the terminal processes the last such message received and sends the network a solicited status message indicating a ready condition. November 2012 49 Service and Operating(SOP) Modes of Operation Service & Operating (operator panel or consumer display) On rearload terminals the operator uses the operator functions via the Operator Panel. On Frontload terminals the operator can enable the Service & Operating on the consumer screen if he presses the SOP button. Service and Operating provides the following features to enhance operations: • menu selections that are available without device synchronization, such as viewing counters while the terminal remains in service • simplifies diagnostics by providing easy-to-understand entry screens and reports test results in understandable phrases • a sequencing capability allowing the terminal to perform each command in the sequence without any operator input except an enter keystroke • device self tests and operator messages to be included in sequences • a simplified status list that compiles supply, device and fault status on one easy-to-understand report; entries are date stamped and all codes are declared in the manual System Messages of CSC-W32. • allows the cash position data (balancing data) to be entered into the terminal • help text (extensive, context-sensitive, online help) • the Operator Panel has status lights that indicate the terminal status • messages can be displayed on the Operator Panel as soon as the situation occurs (in-service, out-of-service, door open, door closed) Each institution can configure the service and operator functions menu structure to fit the specific needs of the institution with a special tool called SOPCONF. With SOPCONF you can create operator groups, limiting which commands each group is authorized to use. With the SOP itself you can specify special groups with own passwords. Automatic return The automatic return to previous mode feature configures a terminal to automatically return to service after exiting SOP mode, if the terminal was in-service before entering SOP mode. If the feature is disabled, the terminal remains out-of-service after exiting SOP. This option can be downloaded with the customization table load command (see ProCash/NDC ProConsult/NDC Installation manual “Optional Parameters (NDC)”). 50 November 2012 Modes of Operation Service and Operating(SOP) In-service By default, the terminal accepts load command messages while in-service. It also processes the Terminal Command message requesting configuration information, even if a customer is on the terminal. Cassettes counters/status printing after exit SV mode The application prints the cash counters and state of the cassettes on journal after leaving supervisor mode if the status or counter of a cassette has been changed during SV mode. This is useful for the operator because he gets immediately the final overview of counters and state for the cassettes when supervisor mode is left. The journal message text and destination is configurable via TOPMSG and CUSTMSG parameters (MSGxxxx). Depending on the hardware configuration the application prints the counters and cassettes status of: 1. CASH OUT COUNTERS Parameters: MSG1112, MSG1113 (physical order) Parameters: MSG1114, MSG1115 (logical order) 2. CASH IN COUNTERS Parameters: MSG1121, MSG1122 3. COIN OUT COUNTERS Parameters: MSG1123, MSG1124 4. COIN IN COUNTERS Parameters: MSG1125, MSG1126 The cassettes counters are printed in two parts. In the first part the old counters before SOP session are printed. In the second part the new counters after SOP session will be printed. For each logical cassette type the (remaining) counter and the cassettes status is printed. November 2012 51 Service and Operating(SOP) Modes of Operation CASH OUT COUNTERS: The cash out counters are devided in three columns: 1. Currency 2. Denomination 3. Number of notes remaining in cassette; If a star (*) is appended to the counter, the cassette will not be used for dispensing by the application. The reasons could be because the cassette has a defect or it is physically empty or not logged on. The number of cassettes depends on how many cassettes are configured as cash out cassettes. Example: 10:41:12 CASH COUNTERS BEFORE SOP EUR 10 1166 EUR 20 936* EUR 20 981* EUR 500 500* RETRACTS: 0 REJECTS: 78 10:41:12 CASH COUNTERS AFTER SOP EUR 10 1165 EUR 20 936* EUR 20 981* EUR 500 500* RETRACTS: 0 REJECTS: 79 52 November 2012 Modes of Operation Service and Operating(SOP) CASH IN COUNTERS: The status of each cassette is reflected in one single character with following meanings: ’O’ ’F’ ’H’ ’M’ ’L’ ’E’ ’I’ - cassette status OK - cassette status full - cassette status high (nearly full) - cassette missing - cassette status low - cassette status empty - cassette not ready or defect The cassettes numbering depends on how many cassettes are configured as cash in cassettes. Example: 09:34:39 CASH IN COUNTERS BEFORE SOP 1: 467 O 2: 0 M 3: 0 I 09:34:39 CASH IN COUNTERS AFTER SOP 1: 0 O 2: 0 O 3: 0 O COIN OUT COUNTERS: Refer to the description of CASH OUT COUNTERS. COIN IN COUNTERS: Refer to the description of CASH IN COUNTERS. November 2012 53 Rear Balancing Modes of Operation Rear Balancing On Wincor Nixdorf terminals the rear balancing functions can be performed in two ways: • on rear load terminals on the operator panel • on front load terminals on the screen Start Rear Balancing • Rear load terminals If the ProSop is in use, the rear balancing function is part of the User Exit interface and can be called within the “Individual Functions” menu. If the ProTopas/SOP-NDC is in use, the rear balancing function is integrated in the step table configuration. If the rear balancing function has been entered, the script framework calls step functions as configured in the step configuration file “LYNXSOP.INA”. Please contact international Software support for details how to configure rear balancing step functions to build up a rear balancing step table. • Front load terminals On front loads the rear balancing functions will be performed in the same way. The only difference is that supervisor mode is entered on the consumer display. The supervisor mode must be activated using the green SOP button on the right-hand side under the customer console in the front. You have to open the front door of the safe to reach the button. The operator screen will be displayed 2 or 3 seconds after pressing the button. Then you can select the options with the PIN PAD and softkeys. 54 November 2012 Modes of Operation Rear Balancing Customize Rear Balancing functions To build up rear balancing functions for the operator panel or consumer screen, you have to create a step table which is stored in section “..\LYNXSOP\ REAR_BALANCING”. The parameter file “LYNXSOP.INA” in “C:\PROTOPAS\CONF” can be used to enhance or replace the existing steps against your rear balancing steps. Rear Balancing default configuration [REAR_BALANCING] STEP_START = "START" STEP_ABORT = "ABORT" [REAR_BALANCING\ABORT] STEP_FUNC = "APPL_STOP_REAR_BAL" STEP_PARAM = "" JUMP_ON_RC = "RET_ERROR" [REAR_BALANCING\RET_OK] STEP_FUNC = "RETURN" STEP_PARAM = "0" [REAR_BALANCING\RET_ERROR] STEP_FUNC = "RETURN" STEP_PARAM = "1" [REAR_BALANCING\START] STEP_FUNC = "DISPLAY_CONFIRM_MSG" STEP_PARAM = "No Rear Balancing Configured!,2,1" JUMP_ON_RC = "RET_ERROR,RET_ERROR,RET_ERROR" November 2012 55 Dispense Below Zero Modes of Operation Dispense Below Zero Since release 1.2 ProCash/NDC is able to perform dispense operations when the physical cassettes counters become negative. Some customers have requested this behavior for host environments where counter actualization is not mandatory after every time when cashout cassettes will be refilled with cash. That means at least, cashout cassettes can be refilled without updating the local cassette counters where dispensing is possible immediately after cassette insertion (and cassette logon via SOP if automatic logon is NOT enabled). How to configure Dispense Below Zero: Dispense Below Zero can be enabled via following parameter in CUSTOM.PPF: SECTION PARAMETER [CASH_DISPENSER DISPENSE_BELOW_ZERO Please refer to ProCash/NDC ProConsult/NDC Installation manual for detailed description of this parameter. Restrictions: 56 • Dispense Below Zero can be used with ProTopas/SOP-NDC only. If the ProSop is in use you get counter mismatches between the ProSop counters (received from WOSA) and the recalculated counters in the User Exit function provided by ProCash/NDC. • Dispense Below Zero cannot be used together with ProView. Because ProView is requesting for the WOSA counters and does not get the recalculated counters from ProCash/NDC. • Dispense Below Zero can be used only for cash out systems when the logical WOSA service (BSATM32.DLL) is configured. • It is mandatory to install cashout cassettes with a physical LOW sensor to be able to send a “Money Low” unsolicited message to the host, because the logical cassettes counters never fall down below the low threshold. November 2012 Modes of Operation Dispense Below Zero Changes of cash counter behaviour: If Dispense Below Zero is enabled ProCash/NDC handles the internal counters as follows: As long as the number of notes remaining in the cassette is higher or equal than 500 notes, the counters are calculated in the standard way. If the remaining counter is lesser than 500 notes, the counter maintained in the CashUnitInfo() structure of WOSA will be encreased with 500 notes via SetCuInfo() call from ProCash/NDC framework dcCdmFW. That has the effect that the WOSA counter will not fall down to zero or below zero in any case. WOSA is not able to handle negative counters. (The counters of WOSA would remain zero for all following dispenses. The result is that the counters of rejected and dispensed notes get lost.) Temporarily the number of notes added for each cassette is stored in the CMOS. The CMOS counters are used to recalculate back the original counters for the NDC Supply counter message and SOP Cash supply counters. Send Supply Counters terminal response: If the remaining counter for a cassette becomes negative, the counter number of notes remaining in cassette is set to 65535 (FFFF) in the Supply Counters solicited message. The counters number of notes dispensed and rejected are still maintained with the actual values. Display or Print Cash Supplies in ProTopas/SOP-NDC: For cassettes with negative counters only the number of rejected and dispensed notes are displayed or printed in the Cash Counters supply function. All other counter values are blanked out. November 2012 57 Dispense Below Zero 58 Modes of Operation November 2012 Miscellaneous Operations ADRS operation ADRS by ProCash/NDC The ProCash/NDC application periodically checks several devices of a self service terminal and the application tries to repair them if neccessary. This function is called Automatic Device Repair System (ADRS). Especially the shutters and transport ways of input and output devices (Cash Dispenser Module, Deposit Module, CashIn Module, etc.) are checked after each consumer transaction. If status requests to the device are returned with transport jams or device not operational, the application actively tries to repair them via reset, or shutter close commands. During silent service ADRS is called 3 times in a 60 second time cycle. ADRS methods in ProCash/NDC are implemented for the following devices: • Cash Dispenser Module Checks shutter and transport way status, performs retract or close shutter commands, sends status message to the host • Deposit Module Checks shutter status, sends status message to the host, performs retract • Receipt Printer Checks supply status, sends low/out status message to the host • Journal Printer Checks supply status, sends low/out status message to the host • Document Printer Checks supply status, sends low/out status message to the host ADRS by WOSA WOSA (ProDevice) also uses ADRS for the Cash Dispenser device. In a configurable time cycle the status of the device is checked and if neccessary, a reset command is initiated by the WOSA service (Wincor Nixdorf systems only). ADRS by Firmware In specific conditions the firmware itself performs ADRS through automatic resets (resp. for the cash dispenser so called clearing run). The ADRS behavior can be controlled via configuration parameters. Please refer to ProCash/NDC Installation Manual and ProDevice parameter specification for ADRS configuration parameters. November 2012 59 ProCash Analyzer (PCA) ProView adaptation Miscellaneous Operations ProCash Analyzer (PCA) ProView adaptation ProCash/NDC and ProConsult/NDC provides device status, supply status and supply counter information to ProCash Analyzer. The counter information will be transfered through the module dcPca.dll. ProFlex/NDC-DDC AddOn ProFlex/NDC-DDC is a product that offers a fully HTML based transaction flow. It uses the function base ProCash/NDC. The whole consumer flow and device logic is designed in intelligent java scripts and HTML technology using the ProTopas/WEB-Extensions. The transaction flow is fully encapsulated from any states and screens flow that is usually downloaded from host. That means the host does not need to download any screens or states. Important note: ProFlex/NDC-DDC has to be installed as AddOn product together with product key ProCash/NDC. If you are using the ProFlex/NDC-DDC AddOn registration key, the installation of ProTopas/WEB-Extensions is automatically integrated in ProFlex/NDC-DDC. In this case an extra registration key for the ProTopas/WEB-Extensions is not required. Please refer to document ProFlex/NDC-DDC V1.1/00 for detailed information. 60 November 2012 Miscellaneous Operations BNA Message Emulation with ProFlex BNA Message Emulation with ProFlex Since release 2.1/20 ProCash/NDC and ProConsult/NDC emulate NCR’s Bunch Note Acceptor (BNA) message protocol for cash deposit transactions. BNA messages are supported for simple cash deposit and cash recycle transaction messages. For details about the message structure for Transaction Request/Reply and unsol./sol. Device Status messages, etc., refer to the original Aptra Advanced NDC documentation offered from NCR. Important Note: BNA Message Emulation is supported with ProFlex/NDC only, because BNA related States and Screens are not supported. CPM Message Emulation with ProFlex Since release 2.1/20 ProCash/NDC and ProConsult/NDC emulate NCR’s Cheque Processing Module (CPM) message protocol for Cheque deposit transactions. CPM messages are supported either for Single Cheque or Bundle Cheque transaction messages. For details about the message structure for Transaction Request/Reply and unsol./sol. Device Status messages, etc., refer to the original Aptra Advanced NDC documentation offered from NCR. Important Note: CPM Message Emulation is supported with ProFlex/NDC only, because CPM related States and Screens are not supported. NCR compatible 7 Denomination support Since release 2.1/20 ProCash/NDC supports the extended NDC message protocol that allows up to 7 dispense denominations. Please refer to the original Aptra Advanced NDC documentation offered from NCR to get details about 7 denomination support. November 2012 61 NCR compatible 7 Denomination support 62 November 2012 Miscellaneous Operations Configuration Data Configuration data is down-line loaded from the network to each terminal using a series of load command messages. Configuration data is divided into four categories: • States The states table directs the terminal to the tasks to be performed during each part of a transaction. Refer to section ”States” on page 64 for details. • Screens Screen data contains display, control, and delimiter characters for different screens which must be shown during different parts of a transaction. Refer to section ”Screens” on page 171 for details. • Miscellaneous Configuration Data Consists of terminal parameters (capabilities), LUNO (a unique number identifying each terminal), and terminal timer values. Refer to section ”Miscellaneous Configuration Data” on page 187 for details. • FIT Financial Institution Tables entries provide information which is used for identifying which institution has issued a particular card, decoding or encoding of data and for electronic fund transfers. Refer to chapter ”Security Features” on page 197 for details. Downloaded configuration data are stored in the registry location “LYNXCI” after a "Set Config ID" load command is received. From now on the terminal will be loaded automatically with the configuration data of the registry when the application starts up as long as the terminal has not received any new customization data. When power is restored or the terminal is turned on, the network requests a configuration ID from the terminal. If the configuration ID sent by the terminal does not match the configuration ID at the network, the network will usually send a new configuration load to the terminal. Terminals connected to the network are assigned to distinct groups. A network programmer can create unique configuration data for each group, thereby giving each group of terminals its own "personality", e.g. for systems of different type or purpose. November 2012 63 States Configuration Data States The states configuration data is down-line loaded using the States Table Load command message (refer to section ”State Tables Load” on page 261). Each state is associated with a specific task. For example, while the terminal is in the select function state the terminal is dedicated to the task of prompting the consumer to select a function and recognizing the key (function) selected. Only those subroutines and hardware components (such as screen and keyboard) that facilitate function selection are used. The terminal requires the repeated use, in different ways, of some states. For instance, the consumers have to select the type of transaction (deposit, withdrawal, inquiry or other) and later they have to select the type of account. Both tasks are performed using different versions of the select function state. Each state type can have one or more state tables associated with it. Each state table of the same state type is a different version of that state providing the same type of functions, but used in a different manner. The different state tables are specified by a three-digit decimal number in range 000 through 999 or three alpha numeric digits in range A00 through ZZZ. This ranges allow to support up to 1000 different numeric state records plus 45655 different alpha numeric state records. Each state table contains nine entries. 1. A state table is 25 characters long (first entry, which is one character long, plus eight three-digit entries). 2. The first entry in a state table is a single character identifying the type of state (ASCII graphic character). 3. The other eight entries are used to specify the actions performed (such as screen displayed, buffers used and next state table) and are three characters long. State table 000 is the first state table that the terminal is in when it enters in-service mode. State table 000 is usually a card read state. The terminal should always return to a close state after the consumer’s transaction(s) have been completed. 64 November 2012 Configuration Data States The terminal may use one state type several times while processing a transaction; depending on the transaction that the costumer has requested, other state types might not be used at all. The use of these state types, in any order, defines terminal operation. A summary of all the state types is shown in the following tables. table 5: State summary State Name State Description Type Card Read A Reads the magnetic stripe from the ID card and then usually indicates a PIN entry state as the next state. PIN Entry B Reads the PIN number entered by the customer and verifies that the PIN entered is valid. Unlock Envelope Dispenser C After this state the terminal immediately goes to the next state. Preset Operation Code Buffer D Clears and sets any or all 8 bytes of the operation code buffer. FDK Selection E Reads the code of each operation key pressed by the customer. The key codes are stored in the operation code buffer. The next state varies depending on the customer’s selection. Amount Entry F Reads the entered amount, displays that amount on the screen, and stores it in the amount buffer. If a withdrawal transaction is being processed, an amount check state will normally be the next state. Otherwise, a Preset Operation Code Buffer state will usually be the next state. Amount Check G Verifies that the amount entered is a whole amount (zero cents). If the amount entered by the customer is not a whole amount, the next state is always determined by the network configuration. Otherwise, a Preset Operation Code Buffer state will typically be the next state. November 2012 65 States Configuration Data State Name State Description Type Information Entry H Reads in a variable-length string of numerical keys and stores that data in a general purpose buffer. Optionally, the terminal displays the data on the screen. If the customer presses the cancel key, an operation key, or times-out during data entry, the input string is terminated. The next state depends on the customer’s input. Transaction Request I Sends a Transaction Request message to the network and executes the Transaction Reply commands received from the network. The next state depends on the network response. Close J Returns or retains the customer’s card and optionally issues a printed acknowledgment form to the customer. Typically, the next state table used is 000 (a card read state preparing the terminal for the next customer). FIT Switch K Used to modify selection paths based on FIT table entry and institution type. The terminal can use customized state tables for the customers of a specific institution. The terminal can provide different functions to different customers depending on the customer’s institution. Card Write L During this state, the terminal writes the contents of the track 3 data buffer onto the magnetic stripe of a card Enhanced PIN Entry M Same functions as B state, but including updating track data on the ID card. Card read (Non-000 state applications) T This card read state is used, if the application requires that the number of the card read state be something other than 000. Hardware Fitness h The Hardware Fitness state checks for fatal error condition of the terminal devices. It goes to the specified next state depending on devices which have a fatal condition. The extension of this state checks for warning conditions und uses the specified next state exit. Smart FIT Check k The Smart FIT Check state performs a FIT check with the chip data that is read from the chip of a smart card. 66 November 2012 Configuration Data States State Name State Description Type Barcode Read s Skip Step Enhanced Amount Entry The Barcode Read State enables the barcode scanner and reads the barcode field that the consumer has placed in the reading zone of the barcode reader. The Skip Step is used to skip states which are not supported by ProCash/NDC or ProConsult/NDC. R Reads the entered amount, displays it on the screen, and stores it in the Amount buffer, General Purpose buffer B or C buffer. Language S Code Switch In this state the flow of a transaction is switched on whether a language code is present in the card data or not. Language Select from Card V In this state one set of state tables can be used to display screens in different languages within the same transaction. This is determined by a code on the cardholder’s card. FDK Switch W This state reads the data buffer from the 8 FDK selection state to identify which next state the terminal should go. FDK Information X This state translates the FDK selected by the cardholder into a value that is placed in the specified buffer for use by an FDK switch state. 8 FDK Selection Y This state reads the FDK selected by the cardholder, stores the key code in an FDK buffer for use by an FDK switch state, and updates the operation code buffer. Customer b Selected PIN This state allows the consumer to change the PIN. Audio Control i This state allows the consumer to set the audio volume for the played message and to switch audio channels. Expanded FIT Switch ’_’ FIT switch state with enhanced number of next states depending on the specified switch index in the FIT table. Extension Z The Extension state extends the functions of state ‘S’, ‘T’, ‘X’, ‘k’ and ‘Y’. The Extension state can be activated in the extension state number field of the state. November 2012 67 States Configuration Data Steps processing ProCash/NDC or ProConsult/NDC uses step oriented functions for each state. Every downloaded state is assigned to a specific ProCash/NDC or ProConsult/NDC step. The step assignment is stored in the Windows registry location “..\LYNXPAR\STATE_MAP” The following table shows, which NDC state is assigned to a ProCash/NDC or ProConsult/NDC step: table 6: ProCash/NDC, ProConsult/NDC steps belonging to NDC states State Type Step State Type Step A DC_CARD_READ T NDC_CARD_PIN B DC_PIN_ENTRY V NDC_CARD_LANGUAGE C DC_DISPENSE_ENVELOPE W NDC_FDK_SWITCH D DC_PRESET_OP_CODE X NDC_FDK_INFO_ENTRY E DC_FDK_SELECT4 Y NDC_FDK_SELECT F DC_AMOUNT_ENTRY Z NDC_EXT G DC_WHOLE_DOLLAR_CHECK ’_’ NDC_EXP_FIT_SWITCH H DC_INFORMATION_ENTRY b NDC_CUST_SEL_PIN I DC_TRAN_REQUEST i NDC_AUDIO_CONTROL J DC_CLOSE_TRAN P NDC_EXP_FIT_SWITCH K DC_FIT_SWITCH R NDC_ENH_AMOUNT_ENTRY L DC_WRITE_CARD h DC_HARDWARE_FITNESS [1] M DC_ENH_PIN_ENTRY k NDC_SMART_FIT_CHECK S NDC_LANGUAGE_SWITCH s DC_READ_BCR N DC_CAMERA_CONTROL all states DC_NEXT_X (X = 1-8) [1] [1] - Wincor Nixdorf specific state 68 November 2012 Configuration Data States Card Read State (A) The Card Read state is usually the first state used during transaction processing. This state table is normally assigned to the state number 000. The terminal enters state number 000 automatically when placed in-service. The Card Read state table performs the following functions: • identifies the number of the screen displayed for prompting card entry • identifies the screen displayed after a misread • defines the card track(s) from which data is read • contains a flag for the card return feature (immediately or at the end of the transaction) • indicates the next state number for cards that are read properly • scans the FIT to obtain a match on the financial institution number • tells the terminal the next state to go to if there is no FIT match table 7: Card Read state entries Entry Definition 1 state type 2 screen number 3 correct read next state number 4 error (misread) screen number 5 read condition 1 6 read condition 2 7 read condition 3 8 card return flag 9 no FIT match next state number November 2012 69 States Configuration Data The card read (A) state entries are defined as follows: State type Entry number:1 Valid range: A Description: This state ID identifies this state table as a Card Read state table. Screen number Entry number:2 Valid range: 000-999 Description: This is the number of the screen which prompts the customer to insert a card. This screen is displayed while the terminal is awaiting card entry. Good read next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state the terminal enters after the customer’s card is read properly. Normally the next state is a PIN entry state type. Error (misread) screen number Entry number:4 Valid range: 000-999 Description: This is the number of the screen displayed if the card is not read properly. Normally, this screen will prompt the customer to check that the card is inserted correctly and to reinsert the card. 70 November 2012 Configuration Data States Read condition 1 Entry number:5 Valid range: 001-015 Description: This is one of the three entries (used with entry no. 6 and 7) that tell the terminal which card track(s) must be read. This is the first read condition. If this condition cannot be met, read condition 2 is used next. Refer to table “Card Read state entries” for the definition of the card read conditions. Read condition 2 Entry number:6 Valid range: 001-015 Description: This is one of the three entries (used with entry no. 5 and 7) that tell the terminal which card track(s) must be read. This is the second read condition used. This one is used if read condition 1 cannot be done. If read condition 2 cannot be met, read condition 3 is used. Refer to table “Card Read state entries” for the definition of the card read conditions. Read condition 3 Entry number:7 Valid range: 001-015 Description: This is one of the three entries (used with entry no. 5 and 6) that tell the terminal which card track(s) must be read. If neither read condition 1 or read condition 2 can be met, this read condition is used. Refer to table “Card Read state entries” for the definition of the card read conditions. Card return flag Entry number:8 Valid range: 000-001 Description: This entry tells the terminal whether the card should be returned immediately or upon transaction completion. The valid values are as follows: 000 - return card immediately 001 - return card upon transaction completion November 2012 71 States Configuration Data No FIT match next state number Entry number:9 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state the terminal enters if the FIT number on the card does not match that of any member institution. table 8: Read condition entry definitions Required track(s) Card read table Entry 5 (read condition 1) 1 only 004 2 only 002 3 only 001 1 and 2 006 1 and 3 005 2 and 3 003 1 and 2 and 3 007 2 or 3 002 1 or 3 004 1 or 2 004 1 or2or3 004 (1 and 2) or (1 and 3) 006 (2 and 1) or (2 and 3) 006 (3 and 1) or (3 and 2) 005 1 or (2 and 3) 004 2 or (1 and 3) 002 3 or (1 and 2) 001 Chip connect only 008 3 and chip connect 009 2 and chip connect 010 2, 3 and chip connect 011 1 and chip connect 012 1, 3 and chip connect 013 1, 2 and chip connect 014 1, 2, 3 and chip connect 015 72 Card read table Entry 6 (read condition 2) 004 002 001 006 005 003 007 001 001 002 002 005 003 003 003 005 006 008 009 010 011 012 013 014 015 November 2012 Card read table Entry 7 (read condition 3) 004 002 001 006 005 003 007 001 001 002 001 005 003 003 003 005 006 008 009 010 011 012 013 014 015 Configuration Data States Short desciption to Table 8: If read condition 1 is satisfied, the good read next state number entry (table entry 3) is taken. Otherwise, read condition 2 is attempted. If read condition 2 is satisfied, the good read next state number entry (table entry 3) is taken. Otherwise, read condition 3 is attempted. If read condition 3 is satisfied, the good read next state number entry (table entry 3) is taken. Otherwise, the card is ejected and the error screen number (table entry 4) is displayed. November 2012 73 States Configuration Data PIN Entry State (B) The PIN Entry state prompts the customer to enter the PIN and displays an X for each PIN digit entered. FIT determines whether the terminal performs PIN verification (local PIN verification) or whether this is done by the network (remote PIN verification). If local PIN verification is used, the terminal does not use state entry 8. If remote PIN verification is used, the terminal does not use state entry 5. For details on each PIN verification method, refer to chapter ”Security Features” on page 197. table 9: PIN Entry state entries Entry Definition 1 state type 2 screen number 3 time-out next state number 4 cancel next state number 5 local PIN check, correct PIN next state number 6 local PIN check, maximum bad PIN’s next state number 7 local PIN check, error screen number 8 remote PIN check, next state number 9 local PIN check, maximum PIN attempts The PIN Entry (B) state entries are defined as follows: State type Entry number:1 Valid range: B Description: This state ID identifies this state table as a PIN Entry state table. 74 November 2012 Configuration Data States Screen number Entry number:2 Valid range: 000-999 Description: This is the number of the screen display that prompts the customer to enter the PIN. This screen is displayed when the terminal enters the PIN entry state. This screen must position the cursor at the beginning of the area where the Xs are displayed. Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds if the customer fails to enter the PIN within the specified time limit. Enter 255 to deactivate the time-out function. Entering 255 keeps the terminal in this state until an operation key is pressed. Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: This is the number of the state to which the terminal proceeds if the customer presses the cancel key. Local PIN check, good PIN next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds after it verifies that the customer entered the correct PIN (if local PIN check). The number of digits to be checked are specified by FIT field PCKLN. Normally the next state is a Pre-Set Operation Code Buffer state. November 2012 75 States Configuration Data Local PIN check, maximum bad PIN’s next state number Entry number:6 Vollud data range:000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds after the customer incorrectly enters the PIN the number of times specified by state entry 9. Normally, the next state is a close state. Local PIN check, error screen number Entry number:7 Valid range: 000-999 Description: The number of the screen display that prompts the customer to enter the PIN again. This screen is displayed each time the customer enters an incorrect PIN until the retry value is reached as specified by state entry 9 (or by the card). This screen must position the screen cursor at the beginning of the area in which the Xs are displayed. Remote PIN check, next state number Entry number:8 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds if no local PIN check is specified in FIT. Local PIN check, maximum PIN attempts Entry number:9 Valid range: 000-009 Description: This entry specifies the maximum number of times that a customer can enter an incorrect PIN before the terminal goes to the state specified by state entry 6. (This can be overridden by an entry on the card if such is specified by the FIT. Typically used in the ’M’ state.) 76 November 2012 Configuration Data States Customer Selectable PIN State (b) This state allows the cardholder to input a new PIN. It differs from the PIN entry state (B) in the number of retries. The state will prompt for the new PIN twice and will take a good exit if both are the same and local PIN check is enabled. If checking is local, the exit will be taken when the two new PIN’s have been built into the PIN blocks for transmitting. If checking is enabled and the two PIN’s entered are not the same the cardholder wil be asked to re-enter the Customer Selectable PIN (CSP) and the state will not exit. If the FIT specifies that short PIN entry is to be tested for, short PIN’s will be regarded as one try against the limit specified in the state table. The screen association for this state is derived from screen specified in table entry 2. The cardholder PIN is entered on the facia keyboard and consists of four to sixteen digits. If the number of digits entered is less than the value specified in the FIT entry PMXPN the cardholder must press FDK A or ’ENTER’ key on the facia keyboard after the last digit entered . The ’CLEAR’ key clears all digits. table 10: Customer Selectable PIN state entries Entry Definition 1 state type 2 first entry screen number 3 time-out next state number 4 cancel next state number 5 good next state number 6 CSP fail next state number 7 second entry screen number 8 mismatch first entry screen number 9 extension state number November 2012 77 States Configuration Data The Customer Selectable PIN (b) state entries are defined as follows: State type Entry number:1 Valid range: b Description: This state ID identifies this state table is a Customer Selectable PIN state table. First entry screen number Entry number:2 Valid range: 000-999 Description: Display screen that prompts the cardholder to enter the PIN the first time. Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number to which the terminal goes if the cardholder does not make a CSP entry within the specified time limit. Enter 255 if the time-out function is not required. Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: State number to which the terminal goes if the cardholder presses the ’CANCEL’ key to stop the CSP transaction. Good next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: State number to which the terminal goes if the cardholder enters a matching pair of new PIN values. 78 November 2012 Configuration Data States CSP fail next state number Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: State number to which the terminal goes if the cardholder fails to enter a matching pair of new PIN digits or the maximum number of retries for local PIN checking is reached. This state will also be taken if: 1.No FIT match 2.Cardholder tampering is detected. 3.PIN block generation fails. Second entry screen number Entry number:7 Valid range: 000-999 Description: Display screen used to ask for confirmation of the CSP. Mismatch first entry screen number Entry number:8 Valid range: 000-999 Description: Displays a new screen that replaces the screen for table entry 2 on each attempt after a CSP pair attempt did not match or an error has occurred and there are still further retries allowed. Extension state number Entry number:9 Valid range: 000-254, 256-999, A00-ZZZ Description: State number of the extension state. November 2012 79 States Configuration Data Extension to state (b) This state extends the Customer selected PIN state regarding number of PIN entry attempts and type of PIN verification. table 11: Extension state entries Entry Definition 1 state type 2 number of attempts allowed to enter a matching CSP pair 3 use local verification of new PIN pair attempts 4-9 reserved, must be ’000’ The Extension state entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies that this state table is an Extension state. Number of attempts allowed to enter a matching CSP pair Entry number:2 Valid range: 000-010 Description: Limits the number of attempts the cardholder may make to select a new PIN. A zero entry means no limit. Use local verification of new PIN pair attempts Entry number:3 Valid range: 000-001 Description: Specifies which attempts are to be verified locally: 0 - Do not verify locally 1 - Verify both attempts locally. Result available in transaction request field ’U’. 80 November 2012 Configuration Data States Envelope Dispense (C) State The Envelope Dispense (C) state tells the terminal how to process a deposit operation. If there are still enough envelopes in the deposit module and the local parameter “DISPENSE_ENVELOPE” is enabled, the envelope is dispensed within the envelope dispense (C) state. If the local parameter “DISPENSE_ENVELOPE” is disabled, the Envelope Dispense (C) state immediately enters the next state exit without an envelope dispense operation. Envelope dispensing takes place in the deposit function of the transaction reply. Refer to ProCash/NDC ProConsult/NDC Installation manual for detailed parameter description. table 12: Envelope Deposit (C) state entries Entry Definition 1 state type 2 next state number 3-9 reserved, must be ’000’ The Envelope Deposit (C) state entries are defined as follows: State type Entry number:1 Valid range: C Description: This state ID identifies this state table as an Envelope Deposit state. Next state number Entry number:2 Valid range: 000-511 Description: The number of the state to which the terminal proceeds after entering state C. November 2012 81 States Configuration Data Pre-Set Operation Code Buffer State (D) The operation code buffer is eight bytes long. The Pre-Set Operation Code Buffer state can do any combination of the following: • Clear the operation code buffer or clear selected bytes of the operation code buffer. • Pre-set selected bytes of the operation code buffer with A, B, C, or D and F, G, H or I Each bit of the masks in this state represents a byte (buffer position) in the operation code buffer. Bit 0 of the mask represents the first byte; bit 7 of the mask represents the eighth byte. table 13: Pre-Set Operation Code Buffer state table Entry Definition 1 state type 2 next state number 3 clear mask 4 A preset mask 5 B preset mask 6 C preset mask 7 D preset mask 8 reserved 9 extension state number The Pre-Set Operation Code Buffer (D) state entries are defined as follows: State type Entry number:1 Valid range: D Description: This state ID identifies this state table as a Pre-Set Operation Code Buffer state table. 82 November 2012 Configuration Data States Next state number Entry number:2 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds after clearing or presetting the operation code buffer. Clear mask Entry number:3 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be cleared to graphic "space." Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is not set (zero), the corresponding entry is cleared. If a bit is enabled (one), the corresponding entry is unchanged. Set this entry to 255 if none of the operation code buffer positions are to be cleared. A Preset mask Entry number:4 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be set to A. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to A. If a bit is disabled (zero), the corresponding entry is unchanged. B Preset mask Entry number:5 Valid range: 000-255 Description: Specifies bytes of operation codeoperation code buffer buffer to be set to B. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to B. If a bit is disabled (zero), the corresponding entry is unchanged. November 2012 83 States Configuration Data C Preset mask Entry number:6 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be set to C. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to C. If a bit is disabled (zero), the corresponding entry is unchanged. D Preset mask Entry number:7 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be set to D. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to D. If a bit is disabled (zero), the corresponding entry is unchanged. Reserved Entry number:8 Valid range: 000 Description: Entry 8 is reserved and must be 000. Extension State number Entry number:9 Valid range: 000-254 or 256-999, A00-ZZZ Description: State number of the extension state containing information on how the other operation codes are preset. 84 November 2012 Configuration Data States Clear mask (entry 3) example Start with an operation code buffer that looks like the following: Buffer Bit Pos Weight B 0 1 _ 1 2 _ 2 4 C 3 8 _ 4 16 _ 5 32 D 6 64 _ 7 128 To clear buffer position 6 (byte 6), add the weights of the positions that you do not want to clear and put that result in the clear mask entry (entry 3). Buffer Bit pos Positions not cleared Weights not cleared B _ 0 1 X X 1 + 2 + 4 _ 2 X + 8 + C 3 X 16 + _ 4 X 32 + _ D 5 6 X 128 = 191 _ 7 X With 191 entered in entry 3, the resultant operation code buffer would appear as follows: Buffer Bit pos B 0 _ 1 _ 2 C 3 _ 4 _ 5 _ 6 _ 7 A, B, C, D preset masks (entries 4-7) example Assume that you want to set the operation code buffer positions as follows: • positions 0 and 2 to A • positions 1 and 5 to B • position 3 to C • positions 4 and 7 to D The buffer would appear as follows: Buffer Bit pos Weight A 0 1 B 1 2 A 2 4 C 3 8 D 4 16 B 5 32 _ 6 64 D 7 128 The entries would have to be set as follows: • entry 4 (A preset mask) - 1+4 = 005 • entry 5 (B preset mask) - 2 + 32 = 034 • entry 6 (C preset mask) - 8 = 008 • entry 7 (D preset mask) - 16 + 128 = 144 November 2012 85 States Configuration Data Extension to State (D) The extension to state (D) allows presetting the operation code buffer with F, G, H or I. table 14: Preset operation code buffer Extension state table Entry Definition 1 state type 2 F preset mask 3 G preset mask 4 H preset mask 5 I preset mask 6-9 reserved must be 000 The Pre-Set Operation Code Buffer Extension (Z) state entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as an Pre-Set Operation Code Buffer Extension state. F Preset mask Entry number:2 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be set to F. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to F. If a bit is disabled (zero), the corresponding entry is unchanged. 86 November 2012 Configuration Data States G Preset mask Entry number:3 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be set to G. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to G. If a bit is disabled (zero), the corresponding entry is unchanged. H Preset mask Entry number:4 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be set to H. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to H. If a bit is disabled (zero), the corresponding entry is unchanged. I Preset mask Entry number:5 Valid range: 000-255 Description: Specifies bytes of operation code buffer to be set to I. Each bit relates to a byte in the operation code buffer. Bit 0 relates to the first entry; bit 7 relates to the eighth entry. If a bit is enabled (one), the corresponding entry is set to I. If a bit is disabled (zero), the corresponding entry is unchanged. November 2012 87 States Configuration Data Four FDK Selection Function State (E) This state reads the operation key that has been pressed by the cardholder, stores the key code in the operation code buffer, and then advances to the next state. This state permits the customer to select one function from up to four functions displayed on the screen, by pressing one of the active operation keys. The state table data for this state type defines which of the four operation keys are to be active during this state. table 15: Four FDK Select Function state entries Entry Definition 1 state type 2 screen number 3 time-out next state number 4 cancel next state number 5 operation key A next state number 6 operation key B next state number 7 operation key C next state number 8 operation key D next state number 9 operation code buffer location The Four FDK Selection Function (E) state entries are defined as follows: State type Entry number:1 Valid range: E Description: This state ID identifies this state table as a Function Selection state table. 88 November 2012 Configuration Data States Screen number Entry number:2 Valid range: 000-999 Description: The number of the display screen which prompts the customer to choose between transaction types, account names, etc.. This screen is displayed upon entry into the selection function state and must be aligned with the active operation keys (table entry 5, 6, 7, and 8) for proper operation. Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer fails to make the selection within the specified time limit (specify "255" if the time-out function is not used). Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the cancel key instead of an operation key. Operation key A next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the A operation key (specify "255" to deactivate the A operation key during this state). Operation key B next state number Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the B operation key (specify "255" to deactivate the B operation key during this state). November 2012 89 States Configuration Data Operation key C next state number Entry number:7 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the C operation key (specify "255" to deactivate the C operation key during this state). Operation key D next state number Entry number:8 Valid range. 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the D operation key (specify "255" to deactivate the D operation key during this state). Operation code buffer location Entry number:9 Valid range: 000-007 Description: Specifies the operation code buffer byte in which the key code for the selected operation key is to be stored. The network down-line loads the following data to select the indicated buffer byte: 000 = buffer position 0 001 = buffer position 1 002 = buffer position 2 003 = buffer position 3 004 = buffer position 4 005 = buffer position 5 006 = buffer position 6 007 = buffer position 7 90 Buffer positions are as follows: ________ 01234567 November 2012 Configuration Data States Amount Entry State (F) This state reads the amount entered by the consumer, displays it on the screen and saves it in the amount buffer. This buffer is 8 or 12 bytes long. In the amount entry state, the operation keys are used by the consumer to indicate whether the displayed amount is either correct or incorrect. table 16: Amount Entry state entries Entry Definition 1 state type 2 screen number 3 time-out next state number 4 cancel next state number 5 operation key A next state number 6 operation key B next state number 7 operation key C next state number 8 operation key D next state number 9 display amount screen number The Amount Entry (F) state entries are defined as follows: State type Entry number:1 Valid range: F Description: This state ID identifies this state table as an Amount Entry state table. Screen number Entry number:2 Valid range: 000-999 Description: Number of display screen that prompts an amount entry. This screen is displayed upon entry into the amount entry state. November 2012 91 States Configuration Data Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer fails to enter the amount within the specified time limit (specify "255" if the time-out function is not used). Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the cancel key before pressing an operation key. Value "255" deactivates the CANCEL key during this state. Operation key A next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the A operation key. Value "255" deactivates the A operation key during this state. Operation key B next state number Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the B operation key. Value "255" deactivates the B operation key during this state. Operation key C next state number Entry number:7 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the C operation key. Value "255" deactivates the C operation key during this state. 92 November 2012 Configuration Data States Operation key D next state number Entry number:8 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the D operation key. Value "255" deactivates the D operation key during this state. Normally one operation key is used to indicate whether the amount entry is correct and another is used to indicate whether it is incorrect. The other operation keys are inactive. Display amount screen number Entry number:9 Valid range: 000-999 Description: Overlay screen number that sets the screen cursor position. This screen optionally defines the initial display format prior consumer amount entry. The cursor should be set on the left- hand side of the echo field on the screen. This is space filled until the required start position for the currency character is reached. Default echo field for eight digits: bbbbb$ 0.00 (where b = space) Default echo field for twelve digits: bbbbbbbbb$ 0.00 (where b = space) November 2012 93 States Configuration Data Amount Check State (G) This state checks to see if the amount entered is a whole amount (zero cents). This state should follow the amount entry function state when a withdrawal transaction is being performed. When checking that an amount is dispensable, Central must have downloaded the Dispenser Currency Cassette Mapping Table. If this table has not been downloaded, or a currency type identified in table entry 7 is not present in the table, processing will proceed with non-whole amount entry next state number. table 17: Amount Check state entries Entry Definition 1 state type 2 whole amount entry next state number 3 non-whole amount entry next state number 4 buffer to be checked 5 zero entry next state number (if table entry 8 is zero) or integer multiple value (if table entry 8 is non zero) 6 number of decimal places 7 currency type 8 amount check condition 9 reserved must be zero The Amount Check (G) state entries are defined as follows: State type Entry number:1 Valid range: G Description: This state ID identifies this state table as a amount check state table. 94 November 2012 Configuration Data States Whole amount entry next state number Entry number:2 Valid range: 000-999 Description: The state number to which the terminal proceeds upon finding 00 (zero cents) value in the amount entry. Non-whole amount entry next state number Entry number:3 Valid range: 000-999 Description: The state number to which the terminal proceeds upon finding a cents value other than 00 cents in the amount entry. Buffer to be checked Entry number:4 Valid range: 000-002 Description: This field specifies which buffer is to be checked: 000 - amount buffer 001 - general purpose buffer B 002 - general purpose buffer C Zero entry next state number Integer Multiple Value Entry number:5 Valid range: 000-999 Description: If table entry 8 is zero: The state number to which the terminal proceeds, if the consumer enters zero amount or does not enter any value. If table entry 8 is non-zero: Integer multiple value used in checking specified buffer. For example, to check that the specified buffer contains a multiple of the minimum denomination $5, this field would be set to '005'. This field is ignored if table entry 8 is not ‘002’. November 2012 95 States Configuration Data Number of decimal places Entry number:6 Valid range: 000-004 Description: Number of decimal places used in specified buffer. For example, $5 is sent as 500 cents, so has 002 decimal places. Currency type Entry number:7 Valid range: 001-255 Description: Currency type of amount in specified buffer. Used in conjunction with the Dispenser Currency Cassette Mapping Table. This field is ignored if table entry 8 is not '003'. Amount check condition Entry number:8 Valid range: 000-003 Description: If the condition being checked evaluates to 'true' then processing will proceed to the next state identified in table entry 2; otherwise processing will proceed to the next state identified in table entry 3. All conditions check the buffer indicated by table entry 4. All conditions except condition ‘000’ take account of the decimal point location via the value in table entry 6. When this entry is set to 000, the state does not use state parameters 5 to 9, to enable backwards compatibility. When this entry is set to 001, the state evaluates whether the value to the right of the decimal point position is zero. When this entry is set to 002, the state evaluates whether the value is a whole number multiple of the value identified in table entry 5. When this entry is set to 003, the state evaluates whether the value is dispensable by the terminal, taking into account the currency type required (table entry 7), currency type denominations available, dispenser status and cassette status. Reserved Entry number:9 Valid range: 000 Description: Entry 9 is reserved and must be 000. 96 November 2012 Configuration Data States Information Entry State (H) This state reads in a variable-length string of numeric keys, saves the data in one of two general purpose buffers (see table entry 9), and displays either the data or ‘X’ for each numeric key pressed. The input string is terminated by an operation key, cancel key, or a time-out. General purpose buffers B and C are variable in length. Maximum length is 32 bytes. When the terminal enters this state, the specified buffer contains only the data from the depressed numeric keys. If no keys are depressed, then the buffer contains no data. table 18: Information Entry state entries Entry Definition 1 state type 2 screen number 3 time-out next state number 4 cancel next state number 5 operation key A next state number 6 operation key B next state number 7 operation key C next state number 8 operation key D next state number 9 buffer and display parameters The Information Entry (H) state entries are defined as follows: State type Entry number:1 Valid range: H Description: This state ID identifies this state table as an information entry state table. November 2012 97 States Configuration Data Screen number Entry number:2 Valid range: 000-999 Description: The number of the display screen that prompts key entry from the customer. This screen is displayed upon entry into the information entry state and must leave the cursor at the beginning of the data or X display area. Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer fails to respond to the CRT message within a specified time limit. Value "255" disables the time-out function. Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the cancel key before pressing an operation key. Operation key A next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the A operation key. Value "255" deactivates the A operation key during this state. This key automatically activates the Enter key on the EPP or PIN Pad. 98 November 2012 Configuration Data States Operation key B next state number Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the B operation key. Value "255’ deactivates the B operation key during this state. Operation key C next state number Entry number:7 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the C operation key. Value "255" deactivates the C operation key during this state. Operation key D next state number Entry number:8 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the D operation key. Value "255" deactivates the D operation key during this state. November 2012 99 States Configuration Data Buffer and display parameters Entry number:9 Valid range. 000-323 Description: This entry specifies whether the actual data entered or X is to be displayed, beginning at the current cursor position. This entry also specifies which general purpose buffer (B or C) is used for storing the numeric data input and how many digits can be entered. The default buffer size of 32 digits can be decreased if the first two digits have a non zero value up to the maximum of 32. The valid characters are as follows: xx0 = xx1 = xx2 = xx3 = display X for each numeric key pressed; store keys in general purpose buffer C (max. 32 digits). display data as entered; store keys in general purpose buffer C (max. 32 digits). display X for each numeric key pressed; store keys in general purpose buffer B (max. 32 digits). display data as entered; store keys in general purpose buffer B (max. 32 digits). Set a buffer limit example: 123 = 100 display data as entered; store keys in general purpose buffer B with max. 12 digits. November 2012 Configuration Data States Transaction Request State (I) The Transaction Request state tells the terminal what information to include in the transaction request message, transmits the transaction request message to the network, and waits for the network response. When the network responds with a Transaction Reply command message, the terminal executes the Transaction Reply command message and goes to the next state specified in the Transaction Reply command message. If the network does not respond with a Transaction Reply command message within the time specified by timer 03 (section “Timer Data” on page 188), the terminal goes to the state specified in entry 3 of this state. table 19: Transaction Request state entries Entry Definition 1 state type 2 screen number 3 network response time out next state number 4 send track 2 data 5 send track 1, track 3 6 send operation code buffer 7 send amount buffer 8 send PIN buffer (Buffer A) data / Select Extended format 9 send general purpose buffer(s) B and/or C or Extension State Number (Range 000-254, 256-999, A00-ZZZ) The Transaction Request (I) state entries are defined as follows: State type Entry number:1 Valid range: I Description: This state ID identifies this state table as a transaction request state table. November 2012 101 States Configuration Data Screen number Entry number:2 Valid range: 000-999 Description: The number of the screen displayed while the terminal transmits a request to the network and waits for the associated Transaction Reply command. This is normally a Please Wait screen. Network response time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the network does not respond to the transaction request in the time specified by timer 03 (section “Timer Data” on page 188). This timer checks for receipt of a Transaction Reply command message in response to a transaction request. Send track 2 data Entry number:4 Valid range: 000-001 Description: This field indicates whether track 2 data should be sent in the transaction request message. The valid values are as follows: 000 - do not send data 001 - send data Send track 1, 3 Entry number:5 Valid range: 000-007 Description: The track 1, 3 data entry specifies whether track 1 and/or track 3 data is sent to the network. The valid values are as follows: 000 - no additional tracks 001 - send track 3 only 002 - send track 1 only 003 - send track 1 and 3 102 November 2012 Configuration Data States Send operation key data Entry number:6 Valid range: 000-001 Description: This field indicates whether the operation key data should be sent in the transaction request message. The valid values are as follows: 000 - do not send data 001 - send data Send amount buffer data Entry number:7 Valid range: 000-001 Description: This field indicates whether the amount buffer data should be sent in the transaction request message. The valid values are as follows: 000 - do not send data 001 - send data Send PIN buffer data Entry number:8 Valid range: 000-001, 128 Description: This field indicates whether the PIN buffer data should be sent in the transaction request message or when bit 128 is enabled use table entry 9 as an extension state definition. The valid bit values are as follows: 000 - do not send data 001 - send data 128 - do not send PIN data, but use extension state specified in table entry 9 129 - send PIN data and use extension state specified in table entry 9. November 2012 103 States Configuration Data Send general purpose buffers B and/or C data Entry number:9 Valid range: 000-003, Extension state range: 000-254, 256-999, A00-ZZZ Description: This field indicates whether the data from the general purpose buffers B and/or C should be sent in the transaction request message. If bit 128 is enabled in table entry 8 its meaning of this table entry changes to an extension state number definition. The valid values are as follows: 000 - do not send data from either buffer 001 - send general purpose buffer B data only 002 - send general purpose buffer C data only 003 - send general purpose buffers B and C data Extension to state (I) In the Extension state of the transaction request state additional buffers can be defined to be sent to the network. table 20: Extension state entries Entry Definition 1 state type 2 send general purpose buffers B and/or C 3 send optional date fields ’A’ - ’H’ 4 send optional data fields ’I’ - ’L’ 5 send optional data fields ’Q’ - ’V’ 6-9 reserved The Extension state entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as an Extension state table. 104 November 2012 Configuration Data States Send general purpose buffers B and/or C data Entry number:2 Valid range: 000-003 Description: This field indicates whether the data from the general purpose buffers B and/or C should be sent in the transaction request message. The valid values are as follows: 000 - do not send data from either buffer 001 - send general purpose buffer B data only 002 - send general purpose buffer C data only 003 - send general purpose buffers B and C data Optional data fields ’A’ - ’H’ Entry number:3 Valid range: 000-255 Description: This entry is bit encoded to control the sending of individual optional data fields in the transaction request message. If a bit is set, the corresponding data field is sent. If a bit is clear, the data field is not sent. BIT 1 2 3 4 5 6 7 8 Field ID ’A’ reserved ’B’ reserved ’C’ ’D’ ’E’ ’F’ ’G’ ’H’ November 2012 105 States Configuration Data Optional data fields ’I’ - ’L’ Entry number:4 Valid range: 000-015 Description: This entry is as for entry 3 but with following values: BIT 1 2 3 4 5 6 7 8 Field ID ’I’ ’J’ ’K’ ’L’ ’M’ reserved ’N’ reserved ’O’ reserved ’P’ reserved Optional data fields ’Q’ - ’V’ Entry number:5 Valid range: 000-063 Description: This entry is as for entry 3 but with following values: BIT 1 2 3 4 5 6 7 8 106 Field ID ’Q’ ’R’ ’S’ ’T’ reserved ’U’ ’V’ reserved reserved November 2012 Configuration Data States Close State (J) The Close state should terminate the customer’s current terminal interface. This state performs the following functions: • displays a screen • completes any printing on the customer or journal printer that was initiated by a Transaction Reply command message. • returns or retains the activator card as instructed by the Transaction Reply command message. In addition, if the terminal returns the ID card and the consumer fails to remove the card within the time period specified by timer 02 (section “Timer Data” on page 188), the terminal will automatically retain the card. table 21: Close state entries Entry Definition 1 state type 2 transaction record form delivered screen number 3 next state number 4 no transaction record form delivered screen number 5 card retained screen number 6 Statement delivered screen 7 reserved 8-9 not used The Close (J) state entries are defined as follows: State type Entry number:1 Valid range: J Description: This state ID identifies this state table as a Close state table. November 2012 107 States Configuration Data Transaction record form delivered screen number Entry number:2 Valid range: 000-999 Description: The number of the display screen that asks the customer to please take the card and the transaction record form. This screen is displayed upon entry to the close state only if the customer’s card is returned and a transaction record form was printed. Next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds after the close state is completed. No transaction record form delivered screen number Entry number:4 Valid range: 000-999 Description: The number of the display screen that asks the customer to please take the card. This screen is displayed upon entry to the close state only if the customer’s card is returned and no transaction record form was printed. Card retained screen number Entry number:5 Valid range: 000-999 Description: The number of the screen that informs the customer that the card has been retained. This screen is displayed upon entry to the close state only if the customer’s card has been retained by the terminal as instructed by the network. If the customer times-out, this screen is not displayed. 108 November 2012 Configuration Data States Statement delivered screen Entry number:6 Valid range: 000-999 Description: Display screen to be overlaid when either the receipt is delivered (entry 2) or there is no receipt delivery (entry 4). This screen is only displayed if the statement is cut and delivered in a close state and the terminal has not been instructed by the last transaction reply message to capture the card Reserved Entry number:7 Valid range: 000 Description: Entry 7 is reserved and must be 000. Not used Entry number:8-9 Valid range: Description: Entries 8 and 9 are not used by ProCash/NDC or ProConsult/NDC. November 2012 109 States Configuration Data FIT Switch State (K) The FIT Switch state allows the terminal to follow an alternate sequence of states and screens according to the value of the Primary Account Number (PAN) on the activator card. This state examines the PSTDX entry in the FIT to determine the next state number. Refer to section ”FIT (Financial Institution Table)” on page 208 for a detailed explanation of the FIT tables. Each FIT designates a next state according to the institution type to which it applies. The next state executed is indexed in this table. For example, if the FIT identified during the Card Read state contains a PSTDX of 3, state entry 5 contains the next state number. table 22: FIT Switch state entries Entry Definition 1 state type 2-9 next state number The FIT Switch (K) state entries are defined as follows: State type Entry number:1 Valid range: K Description: This state ID identifies this state table as an FIT Switch state table. 110 November 2012 Configuration Data States Next state number Entry number:2-9 Valid range: 000-254, 256-999, A00-ZZZ Description: Entries 2 through 9 contain the number of the state to which the terminal proceeds depending on the value in the PSTDX value of FIT. These entries are defined as follows: Entry Description 2 next state number if PSTDX = 0 3 next state number if PSTDX = 1 4 next state number if PSTDX = 2 5 next state number if PSTDX = 3 6 next state number if PSTDX = 4 7 next state number if PSTDX = 5 8 next state number if PSTDX = 6 9 next state number if PSTDX = 7 November 2012 111 States Configuration Data Expanded FIT Switch State (_) The Expanded FIT Switch state operates as state type ’K’ except that more switch capacity has been addded through a mandatory extension state. Each FIT designates a next state according to the institution type to which it applies. The next state executed is indexed in this table. For example, if the FIT identified during the Card Read state contains a PSTDX of 3, state entry 5 contains the next state number. table 23: Expanded FIT Switch state entries Entry Definition 1 state type 2-8 next state number 9 extension state number The Expanded FIT Switch (_) state entries are defined as follows: State type Entry number:1 Valid range: ’_’ Description: This state ID identifies this state table as an Expanded FIT Switch state table. 112 November 2012 Configuration Data States Next state number Entry number:2-8 Valid range: 000-254, 256-999, A00-ZZZ Description: Entries 2 through 8 contain the number of the state to which the terminal proceeds depending on the value in the PSTDX value of FIT. These entries are defined as follows: Entry Description 2 next state number if PSTDX = 0 3 next state number if PSTDX = 1 4 next state number if PSTDX = 2 5 next state number if PSTDX = 3 6 next state number if PSTDX = 4 7 next state number if PSTDX = 5 8 next state number if PSTDX = 6 9 extension state number of the mandatory extension state Extension State number Entry number:9 Valid range: 000-254; 256-999, A00-ZZZ Description: State number of the extension state. November 2012 113 States Configuration Data Extension to State (_) This state is the Extension state for the Expanded FIT Switch state (_). table 24: Extension state entries Entry Definition 1 state type 2 next state number if PSTDX = 7 3 next state number if PSTDX = 8 4 next state number if PSTDX = 9 5 next state number if PSTDX = 10 6 next state number if PSTDX = 11 7 next state number if PSTDX = 12 8 next state number if PSTDX = 13 9 next state number if PSTDX = 14 The Extension State entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as the Extension state to the Expanded FIT Switch state table. Next state number Entry number:2-8 Valid range: 000-254, 256-999, A00-ZZZ Description: Entries 2 through 9 contain the number of the state to which the terminal proceeds depending on the value in the PSTDX value of FIT. 114 November 2012 Configuration Data States Card Write State (L) During a Card Read state the card data buffers are cleared of all previous data. The Card Read state defines the card tracks to be read, and stores the card track data in the corresponding card data buffer. In the transaction request state, the terminal sends a transaction request message to central. You can specify whether or not track 1, 2 or/and track 3 data are included in this message. Central responds to this message by sending a transaction reply command to the terminal. Within this command is a field which contains updated track 1/2 or/and track 3 data. This data replaces any previous data in the terminal‘s track data buffer. During the Card Write state the terminal writes the contents of the track 1/2/3 data buffer onto the magnetic stripe of the card. You specify which screen is to be displayed on the screen while writing takes place. Writing takes place only if the track data buffer contains data obtained from a successful track 3 read during a card read state, or updated track data from a transaction reply command. There are three next state numbers that the terminal can go to once it leaves the Card Write state. One exit is taken if the track write is successful. Another exit taken if the track write is unsuccessful. A third exit is taken if the track buffer is empty or contains invalid data and no writing is attempted. If the terminal is to write more than one track, the order will be first track 1, then track 2 and at least track 3. Before writing , a check is made to ensure that the data are valid. If the data are valid and a track write fails the terminal will not attempt any further requested track writes and the write state will exit. To use the Card Write state, the magnetic stripe card must still be in the reader. The following conditions must apply: • If table entry 8 of the Card Read state (Type A) is used, it must not be 000 (return card immediately) • A card before cash transaction reply must not have been performed. • A parallel eject/dispense and print (Fast Cash) transaction reply must not have been performed. November 2012 115 States Configuration Data table 25: Card Write state entries Entry Definition 1 state type 2 screen number 3 good write next state 4 bad write next state 5 no write attempted 6 reserved 7 reserved 8 reserved 9 reserved The Card Write state entries are defined as follows: State type Entry number:1 Valid range: L Description: This state ID identifies this state table as the Card Write state. Screen number Entry number:2 Valid range: 010-999 Description: Screen displayed during card write operation. Good Write next state Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number goes to after a satisfactory track write operation. 116 November 2012 Configuration Data States Bad Write next state Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: State number goes to if the track write is unsuccessful. No Write attempted Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: State number goes to if no data or invalid data is present in the track buffer. This state is also used if a start and/or end sentinel is missing. Reserved Entry number:6-9 Valid range: 000 Description: Must be 000 for each table entry. November 2012 117 States Configuration Data Enhanced PIN Entry State (M) This state performs the same functions as the PIN Entry (B) state. It also supports track 3 retries if the FIT specifies local PIN check and indicates that there is a track 3 retry field on the card. If the FIT specifies track 3 retries but there is no data in the track 3 buffer, the Cancel Next state exit is taken. Before the customer can enter a PIN for a local PIN check with track 3 retries, the PIN retry field on the card is checked. For a Mutual Institutions Transfer System (MINTS) format card, the retry field of the track 3 data buffer must not equal or exceed the limit specified in state table entry 9. If an International Standards Organistation (ISO) format card is used, the retry field must not equal 0. If that is the case, in both situations the terminal exits to the Maximum Bad PIN’s Next state specified in table entry 6. This check is done before the start of each PIN entry attempt. After the PIN is entered by the customer and compared with the calculated PIN, the PIN retry field in the track 3 data buffer is updated. For MINTS format cards, if the entered PIN is correct, the PIN retry field is set to 0. For ISO format cards, the retry field is set to the value specified in state table entry 9. If the entered PIN is incorrect, the PIN retry field is incremented for MINTS format cards and decremented for ISO format cards. The updated track 3 data buffer is available for transmission through the Transaction Request state.The buffer can also be written on the card using the Card Write state. table 26: Enhanced PIN Entry state entries Entry Definition 1 state type 2 screen number 3 time-out next state number 4 cancel next state number 5 local PIN check, correct PIN next state number 6 local PIN check, maximum bad PIN’s next state number 7 local PIN check, error screen number 8 remote PIN check, next state number 9 local PIN check, maximum PIN attempts 118 November 2012 Configuration Data States The Enhanced PIN Entry (M) state entries are defined as follows: State type Entry number:1 Valid range: M Description: This state ID identifies this state table as an Enhanced PIN Entry state table. Screen number Entry number:2 Valid range: 000-999 Description: This is the number of the screen display that prompts the customer to enter the PIN. This screen is displayed when the terminal enters the PIN entry state. This screen must position the cursor at the beginning of the area where the Xs are displayed. Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds if the customer fails to enter the PIN within the specified time limit. Enter 255 to deactivate the time-out function. Entering 255 keeps the terminal in this state until an operation key is pressed. Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: This is the number of the state to which the terminal proceeds if the customer presses the cancel key. November 2012 119 States Configuration Data Local PIN check, good PIN next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds after it verifies that the customer entered the correct PIN (if local PIN check). The number of digits to be checked are specified by FIT field PCKLN. Normally the next state is a Pre-Set Operation Code Buffer state. Local PIN check, maximum bad PIN’s next state number Entry number:6 Vollud data range:000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds after the customer incorrectly enters the PIN the number of times specified by state entry 9. This state could be a Card Write state in order to update the track 3 PIN retry field. Local PIN check, error screen number Entry number:7 Valid range: 000-999 Description: The number of the screen display that prompts the customer to enter the PIN again. This screen is displayed each time the customer enters an incorrect PIN until the retry value is reached as specified by state entry 9 (or by the card). This screen must position the screen cursor at the beginning of the area in which the Xs are displayed. Remote PIN check, next state number Entry number:8 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds if no local PIN check is specified in FIT. 120 November 2012 Configuration Data States Local PIN check, maximum PIN attempts Entry number:9 Valid range: 000-009 Description: This entry specifies the maximum number of times that a customer can enter an incorrect PIN before the terminal goes to the state specified by state entry 6. This entry is used as the PIN retry count if the PIN retry count is not on the card (FIT entry PRCNT = FF). Camera Control State (N) This state does not perform any operation. It just uses the next state exit when the state is entered. table 27: Camera Control State ENTRY DEFINITION 1 state type 2 not supported 3 next state 4-9 reserved November 2012 121 States Configuration Data Enhanced Amount Entry State (R) This state reads the amount entered by the cardholder, displays it on the screen, and saves it in the buffers specified by the state table. Exit from the Enhanced Amount Entry state occurs when an active FDK is pressed, the Cancel key is pressed or a time-out occurs. The Enter key is equivalent to FDK ‘A’. The Clear key is always active and clears the amount entered and the screen echo field to allow data entry retries within the Amount Entry state. The Digital Audio Service can echo the keys pressed on the keyboard. table 28: Enhanced Amount Entry state entries Entry Definition 1 state type 2 screen number 3 time-out next state number 4 cancel next state number 5 operation key A next state number 6 operation key B next state number 7 operation key C next state number 8 operation key D next state number 9 extension state number 122 November 2012 Configuration Data States The Enhanced Amount Entry (R) state entries are defined as follows: State type Entry number:1 Valid range: R Description: This state ID identifies this state table as an Enhanced Amount Entry state table. Screen number Entry number:2 Valid range: 000-999 Description: This is the number of the screen display that prompts the consumer to enter an amount. Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The number of the state to which the terminal proceeds if the consumer fails to enter the amount within the specified time limit. Enter 255 if the time-out function is not required. Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: This is the number of the state to which the terminal proceeds if the consumer presses the Cancel key. Operation key A next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the A operation key. Value "255" deactivates the A operation key during this state. November 2012 123 States Configuration Data Operation key B next state number Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the B operation key. Value "255" deactivates the B operation key during this state. Operation key C next state number Entry number:7 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the C operation key. Value "255" deactivates the C operation key during this state. Operation key D next state number Entry number:8 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number to which the terminal proceeds if the customer presses the D operation key. Value "255" deactivates the D operation key during this state. Normally one operation key is used to indicate whether the amount entry is correct and another is used to indicate whether it is incorrect. The other operation keys are inactive. Extension State number Entry number:9 Valid range: 000-254; 256-999, A00-ZZZ Description: State number of the extension state. 124 November 2012 Configuration Data States Extension to State (R) This state is the Extension state for the Enhanced Amount Entry state (R). table 29: Extension state entries Entry Definition 1 state type 2 document amount buffer 3 display amount screen number 4 start CAV command 5-9 reserved The Extension State entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as the Extension state to the Enhanced Amount Entry state table. Document amount buffer Entry number:2 Valid range: 000-002 Description: This field determines which buffer the amount entered will be stored in: 000 - Amount Buffer 001 - General Purpose buffer B 002 - General Purpose buffer C November 2012 125 States Configuration Data Display amount screen number Entry number:3 Valid range: 000-999 Description: Overlay screen number that sets the screen cursor position. This screen optionally defines the initial display format prior consumer amount entry. The cursor should be set on the left- hand side of the echo field on the screen. This is space filled until the required start position for the currency character is reached. Default echo field for eight digits: bbbbb$ 0.00 (where b = space) Default echo field for twelve digits: bbbbbbbbb$ 0.00 (where b = space) Start CAV command Entry number:4 Valid range: 000-001 Description: This field determines whether to start CAV processing or not if a document is available. ProCash/NDC or ProConsult/NDC only supports value 000. If a non-zero value is downloaded, the cancel next state is taken. 126 November 2012 Configuration Data States Language Code Switch State (S) In this state the flow of a transaction is switched depending on whether a language code is present in the card data or not. You can use this state to automatically select the language to be used from the code on the card, or to allow manual selection for cards which either have no language code, or an invalid language code. This state is subject to the same restrictions as the language select state. See section “Language Select from Card State (V)” for details. table 30: Language Code Switch state entries Entry Definition 1 state type 2 no language code, next state no. 3 language code = 0, next state 4 language code = 1, next state 5 language code = 2, next state 6 language code = 3, next state 7 language code = 4, next state 8 language code = 5, next state 9 extension state number November 2012 127 States Configuration Data The Language Code Switch state entries are defined as follows: State type Entry number:1 Valid range: S Description: This state ID identifies this state table as a Language Code Switch state table. No Language Code, Next State No. Entry number:2 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to if the language code is illegal or cannot be read. Language Code = 0, next state Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 0. Language Code = 1, next state Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 1. Language Code = 2, next state Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 2. Language Code = 3, next state Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 3. 128 November 2012 Configuration Data States Language Code = 4, next state Entry number:7 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 4. Language Code = 5, next state Entry number:8 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 5. Extension State number Entry number:9 Valid range: 000-999 Description: State number of the extension state containing next states for language code 6-9. A value of 255 means that there is no extension state, and language code 6-9 cause the no language code next state exit to be taken. Extension to State (S) This state is the Extension state for the Language Code Switch state (S). table 31: Extension state entries Entry Definition 1 state type 2 language code = 6, next state 3 language code = 7, next state 4 language code = 8, next state 5 language code = 9, next state 6 reserved 7 reserved 8 reserved 9 reserved November 2012 129 States Configuration Data The Extension state entries of the Language Code Switch state are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as the Extension state to the Language Code Switch state. Language Code = 6, next state Entry number:2 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 6. Language Code = 7, next state Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 7. Language Code = 8, next state Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 8. Language Code = 9, next state Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to, if the language code is 9. Reserved Entry number:6-9 Valid range: 000 Description: Must be 000. 130 November 2012 Configuration Data States Card Read - PIN Entry Initiation State (T) You can use this state instead of the Card Read state (A), if you want to initiate PIN entry by the consumer at the same time as the terminal reads the card. This state performs the same functions as the card read state. This state also enables the keyboard for PIN entry while the card is being read, and displays a screen prompting the customer to enter the PIN. One difference between this state and the Card Read state is that in this state the card is always returned according to the instruction in the Transaction Reply command message. See also section “Card Read State (A)” on page 69. table 32: Card Read - PIN Entry Initiation state entries Entry Definition 1 state type 2 screen number 3 good read next state number 4 error (misread) screen number 5 read condition 1 6 read condition 2 7 read condition 3 8 reserved 9 extension state number The Card Read - PIN Entry Initiation (T) state entries are defined as follows: State type Entry number:1 Valid range: T Description: This state ID identifies this state table as a Card Read -PIN Entry Initiation state table with a parallel card read. November 2012 131 States Configuration Data Screen number Entry number:2 Valid range: 000-999 Description: This is the number of the screen display which prompts the customer to insert a card. This screen is displayed while the terminal is awaiting card entry. This screen will be displayed on the screen. Good read next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: The state number the terminal enters after the customer’s card is read properly: Following a good read of the card if FIT’s are not used. (Table Entry 3 in Extension State = 000), or if the FIT number on the card matches a FIT number in the FIT table. Normally the next state is a PIN entry state type. Error (misread) screen number Entry number:4 Valid range: 010-800 Description: This is the number of the screen displayed, if the card is not read properly. Normally, this screen will prompt the customer to check that the card is inserted correctly and to reinsert the card. Read condition 1 Entry number:5 Valid range: 001-015 Description: This is one of the three entries (used with entry no. 6 and 7) that tell the terminal which card track(s) must be read. This is the first read condition. If this condition cannot be met, read condition 2 is used next. Refer to table “Card read state entries” for the definition of the card read conditions. 132 November 2012 Configuration Data States Read condition 2 Entry number:6 Valid range: 001-015 Description: This is one of the three entries (used with entry numbers 5 and 7) that tell the terminal which card track(s) must be read. This is the second read condition used. This one is used if read condition 1 cannot be done. If read condition 2 cannot be met, read condition 3 is used. Refer to table “Card read state entries” for the definition of the card read conditions. Read condition 3 Entry number:7 Valid range: 001-015 Description: This is one of the three entries (used with entry numbers 5 and 6) that tell the terminal which card track(s) must be read. If neither read condition 1 or read condition 2 can be met, this read condition is used. Refer to table “Card read state entries” for the definition of the card read conditions. Card return flag Entry number:8 Valid range: 000-001 Description: This field is not used. The early card eject feature is not supported by this state. Card is always returned as specified be the Transaction Replay command message. Extension State number Entry number:9 Valid range: 000-254, 256-999, A00-ZZZ Description: State number of the extension state containing information for parallel PIN entry. November 2012 133 States Configuration Data Extension to State (T) This state is the Extension state to the card read state (T). table 33: Extension state entries Entry Definition 1 state type 2 screen number 3 no fit match next state number 4 clear key mask (not supported) 5 accept key mask (not supported) 6 reserved, must be 000 7 reserved, must be 000 8 reserved, must be 000 9 reserved, must be 000 The card read extension state entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as the extension state to the card read state (T). Screen number Entry number:2 Valid range: 010-999 Description: Display screen that prompts cardholder to enter PIN. This screen is displayed on card entry. The identified screen must leave the screen cursor positioned at the beginning of the PIN entry display area. An X is displayed for each key pressed. track 1 name cannot be displayed at this time as card has not been read. 134 November 2012 Configuration Data States No FIT match Next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to if the financial institution number on the card does not match any FIT. If FIT’s are not used this entry must be 000. Language Select From Card State (V) In this state you can set one of state tables to display screens in different languages within the same transaction. This is determined by one character (byte) on the cardholder’s card. This code is located using the Language Code Index parameter (PLNDX) in the FIT. See chapter “Security Features” for more details. You can use up to six screen groups in this state, and you specify which language is to be used in each group. You also specify in table entry 9 how many screens each group will contain. table 34: Language Select From Card state entries Entry Definition 1 state type 2 next state number 3 language code for group 1 4 language code for group 2 5 language code for group 3 6 language code for group 4 7 language code for group 5 8 language code for group 6 9 screen group size (range 000-400) November 2012 135 States Configuration Data The Language Select From Card (V) state entries are defined as follows: State type Entry number:1 Valid range: V Description: This state ID identifies this state table as a Language Select From Card state table. Next state number Entry number:2 Valid range: 0-9 Description: State number terminal goes to after selecting the screen group. Language Code Entry number:3 Valid range: 0-9 Description: Decimal number in range 0-9 identifying code for screen group 1. Language Code Entry number:4 Valid range: 0-9 Description: Decimal number in range 0-9 identifying code for screen group 2. Language Code Entry number:5 Valid range: 0-9 Description: Decimal number in range 0-9 identifying code for screen group 3. 136 November 2012 Configuration Data States Language Code Entry number:6 Valid range: 0-9 Description: Decimal number in range 0-9 identifying code for screen group 4. Language Code Entry number:7 Valid range: 0-9 Description: Decimal number in range 0-9 identifying code for screen group 5. Code Entry number:8 Valid range: 0-9 Description: Decimal number in range 0-9 identifying code for screen group 6. Screen Group Size Entry number:9 Valid range: 000-400 Description: State number of the extension state containing information for parallel PIN entry. November 2012 137 States Configuration Data FDK Switch State (W) Data is placed in the FDK buffer during the FDK Selection state or the FDK Information Entry state. This data is read by the FDK Switch state in order to identify which next state the terminal should go to. table 35: FDK Switch state entries Entry Definition 1 state type 2 FDK A next state no. 3 FDK B next state no. 4 FDK C next state no. 5 FDK D next state no. 6 FDK F next state no. 7 FDK G next state no. 8 FDK H next state no. 9 FDK I next state no. The FDK Switch (W) state entries are defined as follows: State type Entry number:1 Valid range: W Description: This state ID identifies this state table as a FDK Switch state table. FDK A Next state No. Entry number:2 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. 138 November 2012 Configuration Data States FDK B Next state No. Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. FDK C Next state No. Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. FDK D Next state No. Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. FDK F Next state No. Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. FDK G Next state No. Entry number:7 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. November 2012 139 States Configuration Data FDK H Next state No. Entry number:8 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. FDK I Next state No. Entry number:9 Valid range: 000-254, 256-999, A00-ZZZ Description: State number terminal goes to depending on key code stored in FDK buffer. 140 November 2012 Configuration Data States FDK Information Entry State (X) When the cardholder selects an FDK, this state places the corresponding value in the general purpose buffer or amount buffer that you have specified in table entry 7. Table entries 2-9 in the extension to this state contain values relating to the FDK’s. You can use this function, for example, where a screen offers a selection of fixed amounts that the cardholder can select by pressing a particular FDK. This state translates the FDK selected by the cardholder into a value that is placed in the specified buffer. The FDK key code is stored in the FDK buffer for use by an FDK Switch state. table 36: FDK Information Entry state entries Entry Definition 1 state type 2 screen number 3 time-out next state number. 4 cancel next state number 5 FDK next state number 6 extension state number 7 buffer ID 8 FDK’s active mask 9 reserved The FDK Information Entry (X) state entries are defined as follows: State type Entry number:1 Valid range: X Description: This state ID identifies this state table as the FDK Information Entry state. November 2012 141 States Configuration Data Screen number Entry number:2 Valid range: 010-999 Description: Display screen that prompts key selection by the consumer. Time-out Next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to if the consumer fails to respond to the message on screen within the permitted time limit. Enter 255 if the time-out function is not required. Cancel Next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to if the cancel key is pressed. FDK Next state Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to if an FDK is pressed. Extension State Number Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: State number of the extension state containing assigned values for the 8 FDK’s. 142 November 2012 Configuration Data States Buffer ID Entry number:7 Valid range: 010-039 Description: Identifies which buffer is to be edited and the number of zeros to add to the values specified in the extension state. 01X = general purpose buffer B 02X = general purpose buffer C 03X = amount buffer X - specifies the number of zeros in the range 0-9. If Amount buffer is used, the amount buffer will contain 8 or 12 digits, depending on the option selected. If this state is followed by an amount check state the amount entered is assumed to be a whole amount. FDK Active Mask Entry number:8 Valid range: 000-255 Description: Specifies the FDK’s that are active during this state. Each bit relates to an FDK. Bit 0 relates to FDK A, bit 7 relates to FDK I. If a bit is ‘1’ the relative FDK is active. If a bit is ‘0’ the relative FDK is inactive. The eight bits the binary equivalent of an FDK active mask. For example in the following mask: b7 0 b6 1 b5 0 b4 1 b3 1 b2 1 b1 0 b0 1 the three decimal characters in table entry 8 are 093 and the active FDK’s are A, C, D, F and H. Reserved Entry number:9 Valid range: 000 Description: Must be 000. November 2012 143 States Configuration Data Extension to State (X) This state is the Extension state to the FDK Information Entry state (X). table 37: Extension state entries Entry Definition 1 state type 2 value stored if FDK A is pressed 3 value stored if FDK B is pressed 4 value stored if FDK C is pressed 5 value stored if FDK D is pressed 6 value stored if FDK F is pressed 7 value stored if FDK G is pressed 8 value stored if FDK H is pressed 9 value stored if FDK I is pressed The Extension state entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as the Extension state to the FDK Information Entry state. Value stored if FDK A is pressed Entry number:2 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDK Information Entry state (table entry 7) if the specified FDK is pressed. 144 November 2012 Configuration Data States Value stored if FDK B is pressed Entry number:3 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDK Information Entry state (table entry 7) if the specified FDK is pressed. Value stored if FDK C is pressed Entry number:4 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDK Information Entry state (table entry 7) if the specified FDK is pressed. Value stored if FDK D is pressed Entry number:5 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDK Information Entry state (table entry 7) if the specified FDK is pressed. Value stored if FDK F is pressed Entry number:6 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDk Information Entry state (table entry 7) if the specified FDK is pressed. Value stored if FDK G is pressed Entry number:7 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDK Information Entry state (table entry 7) if the specified FDK is pressed. November 2012 145 States Configuration Data Value stored if FDK H is pressed Entry number:8 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDK Information Entry state (table entry 7) if the specified FDK is pressed. Value stored if FDK I is pressed Entry number:9 Valid range: 000-999 Description: Contains a value stored in the buffer specified in the associated FDK Information Entry state (table entry 7) if the specified FDK is pressed. 146 November 2012 Configuration Data States Eight FDK Selection State (Y) This state reads the FDK selected by the cardholder, stores the key code in an FDK buffer for use by an FDK switch state, and updates the operation code buffer. If you do not specify an extension state in table entry 6, the key code of the FDK selected by the cardholder is stored directly in the operation code buffer. If you do specify an extension state, the key code is translated into three pseudo key codes, which are then stored in the operation code buffer. You can specify a second extension state in table entry 9 to identify the screen bases for multi-language screen displays. If you do not specify this extension state, then multi-language is not used. table 38: Eight FDK Selection state entries Entry Definition 1 state type 2 screen number 3 time-out next state number 4 cancel next state number 5 FDK next state number 6 extension state number 7 buffer positions 8 FDK’s active mask 9 multi language extension state number The Eight FDK Selection state (Y) state entries are defined as follows: State type Entry number:1 Valid range: Y Description: The state type entry identifies this state table as the Eight FDK Selection state table. November 2012 147 States Configuration Data Screen number Entry number:2 Valid range: 000-999 Description: Display screen which prompts key selection by the cardholder. Time-out next state number Entry number:3 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to if the cardholder does not respond to the message on screen within the specified time limit. Enter 255 if the time-out function is not required. Cancel next state number Entry number:4 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to if the cardholder presses the cancel key. FDK next state number Entry number:5 Valid range: 000-254, 256-999, A00-ZZZ Description: State number the terminal goes to if the cardholder presses an FDK. Extension state number Entry number:6 Valid range: 000-254, 256-999, A00-ZZZ Description: State number of extension state containing assigned operation codes for the 8 FDK’s. If there is no extension state enter 255. 148 November 2012 Configuration Data States Buffer positions Entry number:7 Valid range: 000-777 Description: no extension state: This defines the operation code buffer position to be edited by a value in the range ‘000’ to ‘007’. extension state: This specifies three bytes of the operation code buffer to be set to the values specified in the extension state. Three numeric values, each in the range ‘0’ to ‘7’, are specified to define three positions in the 8 byte operation code buffer to be edited. These three values must be ordered to correspond with the edit characters in the extension state. If no buffer positions or less than three buffer positions are to be edited, this is specified in the extension state. FDK’s active Mask Entry number:8 Valid range: 000-255 Description: Specifies the FDK’s that are active during this state. Each bit relates to an FDK. Bit 0 relates to FDK A, bit 7 relates to FDK I. If a bit is 1 the relative FDK is active. If a bit is 0 the relative FDK is inactive. The eight bits represent the binary equivalent of an FDK active mask. For example in the following mask, the three decimal characters in the table entry are 183 and the active FDK`s are A, B, C, F, G, and I. BIT mask: b7 b6 1 0 b5 1 b4 1 b3 0 b2 1 b1 1 b0 1 Multi language Extension state number Entry number:9 Valid range: 000-254, 256-999, A00-ZZZ Description: If the state selects the multi language screen base, this contains the extension state number. If there is no extension state, enter 000 or 255. November 2012 149 States Configuration Data Extension to State (Y) This state is the Extension state to the Eight FDK Selection state (Y). table 39: Extension state entries Entry Definition 1 state type 2 operation code stored if FDK A pressed 3 operation code stored if FDK B pressed 4 operation code stored if FDK C pressed 5 operation code stored if FDK D pressed 6 operation code stored if FDK F pressed 7 operation code stored if FDK G pressed 8 operation code stored if FDK H pressed 9 operation code stored if FDK I pressed The Extension state entries are defined as follows: State type Entry number:1 Valid range: Z Description: Identifies this state table as the Extension state for the Eight FDK Selection state table. 150 November 2012 Configuration Data States Operation Code stored if FDK pressed Entry number:2-9 Valid range: ‘A’ - ‘I’, ’@’ or 1 - 9, 0 Description: This table entry contains the operation code characters to be written to the operation code buffer if the specified FDK is pressed. Three characters are specified for each code, which must be in the range ‘A’ - ‘I’. They are written in order to the three positions specified in the Eight FDK Selection state table (entry 7). Enter ‘@’ if no character is to be written to a specified position in the buffer (fields are unchanged). The values 1 to 9 and 0 represent the characters ’A’ - ‘I’, and ’@’. Multi Language Extension to State (Y) This state is the Multi Language Extension state to the Eight FDK Selection state (Y). table 40: Extension state entries Entry Definition 1 state type 2 screen language offset if FDK A is pressed 3 screen language offset if FDK B is pressed 4 screen language offset if FDK C is pressed 5 screen language offset if FDK D is pressed 6 screen language offset if FDK F is pressed 7 screen language offset if FDK G is pressed 8 screen language offset if FDK H is pressed 9 screen language offset if FDK I is pressed November 2012 151 States Configuration Data The Multi Language Extension state entries are defined as follows: State type Entry number:1 Valid range: Z Description: Identifies this state table as the Multi Language Extension state for the Eight FDK Selection state table. Screen language offset if FDK pressed Entry number:2-9 Valid range: 000-999 Description: Each table entry contains the screen number of the first screen for each language group. The initial offset is 000, and all unused fields should contain this value. 152 November 2012 Configuration Data States Audio Control State (i) The Audio Control State allows the consumer to set the volume for the voice message that will be played for the duration of the current transaction. Furthermore the consumer can switch between the audio channels of the sound card. If the terminal has a sound card installed, the left of the two channels (left and right channel) can be connected to a loudspeaker and the right channel can be connected to a headphone jack (if physically installed). The state table sets which audio channels are in use on entry to this state, and whether the cardholder will be given the option to adjust the volume. If the cardholder is to be given the option, then a message prompting the cardholder to adjust the volume is played repeatedly. The message is not played if the option is not offered. The cardholder may press: • FDKs to increase or decrease the volume This functionality can be disabled by setting entry 7 in the state table. If you map the FDKs to the numeric keyboard, the cardholder can adjust the volume by pressing numeric keys instead of the FDKs • ENTER to set the volume at its current level. The state takes the Function Complete Next State exit • CANCEL to return the volume to its default level. The state takes the Function Complete Next State exit. If the cardholder does not press any keys within the time specified by Timer 00, then this state invokes the Time Out State. Make sure that the screen associated with the Time Out State is helpful to cardholders with visual difficulties. For example, you can map FDKs to the PIN pad and play an appropriate message. The Audio Control State's prompt screen must not contain an audio message. The volume returns to its default level on exit from the Close State. See Table 41 on the following page for state table entry definitions: November 2012 153 States Configuration Data table 41: Audio Control state entries Entry Definition 1 state type 2 Prompt screen 3 Timeout next state 4 Function complete next state 5 Increase Volume FDK mask 6 Decrease Volume FDK mask 7 Audio control 8 Audio message 9 Reserved The Audio Control (‘i’) state entries are defined as follows: State type Entry number:1 Valid range: ’i’ Description: This state ID identifies this state table as an Audio Control state. Prompt screen Entry number:2 Valid range: 000-999 Description: Prompts user to adjust volume. This screen is only displayed if table entry 7 indicates that the volume is to be adjusted. Timeout next state Entry number:3 Valid range: 000-254; 256-999, A00-ZZZ Description: State number to which the terminal proceeds if the cardholder has responded within the time specified by Timer 00. Value 255 disables the time-out feature. 154 November 2012 Configuration Data States Function complete next state Entry number:4 Valid range: 000-254; 256-999, A00-ZZZ Description: State number to which the terminal proceeds if: - the cardholder selects Cancel or Enter - table entry 7 selects a channel but disables volume adjustment - there is no audio file present on the terminal Increase Volume FDK mask Entry number:5 Valid range: 000-255 Description: Specifies which FDKs will increase the volume in this state. Bit 0 relates to FDK A, bit 1 to FDK B etc. If a bit is 1 then the FDK referred to is active; otherwise it is inactive. The FDKs are not enabled unless the least significant bit of table entry 7 is 1. A value of 000 disables this entry and is discouraged. Decrease Volume FDK mask Entry number:6 Valid range: 000-255 Description: Specifies which FDKs will decrease the volume in this state. Bit 0 relates to FDK A, bit 1 to FDK B etc. If a bit is 1 then the FDK referred to is active; otherwise it is inactive. The FDKs are not enabled unless the least significant bit of table entry 7 is 1. A value of ”000” disables this entry and is discouraged. Where the same FDK is specified as having both Increase Volume and Decrease Volume functions, Decrease Volume takes precedence. November 2012 155 States Configuration Data Audio control Entry number:7 Valid range: 000-015 Description: This entry is bitmapped: Bit Definition 0 0 - volume adjust off 1 - volume adjust on 1 0 - disables effect of bits 2 and 3 1 - enables effect of bits 2 and 3 2 0 - disables loudspeaker (left channel) 1 - enables loudspeaker (left channel) 3 0 - disables audio jack (right channel) 1 - enables audio jack (right channel) EXAMPLE: For instance, a value of 007 enables volume adjustment and directs audio output to the speaker; 015 enables volume adjustment and enables both channels. A value of 003 is discouraged in this entry: this would turn both channels off but enable volume adjustment. If this entry does not instruct a change to the audio channel in use, the current audio channel(s) will remain in use. Audio message Entry number:8 Valid range: 000 or 999 Description: Specifies which audio message will be played. Provided that table entry 7 indicates that the volume is to be adjusted, the message will be played repeatedly until the state is exited. If there is no audio file present on the terminal, it will take the Function Complete Next State exit. 156 November 2012 Configuration Data States Hardware Fitness State (‘h’) The Hardware Fitness state is a special state designed by Wincor Nixdorf that can be used for specific purposes on Wincor Nixdorf terminals. This state allows to jump into another state flow depending on the actual hardware fitness of the devices defined in the state table. Also an extension state can be defined which allows additional decisions to jump to a defined next state. If multiple conditions apply, the priority is top down; i.e. state ‘h’ entry 3 (reboot) has the highest priority over all values. The value of the last table entry of the extension state becomes active only if no previous condition was fullfilled. The general order is: reboot, device fatal, device warning. table 42: Hardware Fitness state entries Entry Definition 1 state type 2 no error next state 3 next state if reboot requested (defined in CCERRMAP) 4 next state if CDM fatal error 5 next state if journal fatal error 6 next state if receipt fatal error 7 next state if deposit fatal error 8 reserved for future use 9 extension state number The Hardware Fitness (‘h’) state entries are defined as follows: State type Entry number:1 Valid range: ‘h’ Description: This state ID identifies this state table as a Hardware Fitness state. November 2012 157 States Configuration Data No error next state Entry number:2 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if none of the subsequent hardware conditions apply. Next state if reboot requested Entry number:3 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if a system reboot has been requested. This reboot request can be issued by errors of classes which have set the reboot flag. This can be used to prevent offering other functions to the customer after serious malfunctions requiring a system reboot have occurred. Next state if Cash Dispenser fatal error Entry number:4 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if the cash dispenser is fatal. Next state if Journal fatal error Entry number:5 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if the journal printer is fatal. Next state if Receipt fatal error Entry number:6 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if the receipt printer is fatal. 158 November 2012 Configuration Data States Next state if Deposit fatal error Entry number:7 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if the deposit module is fatal. Reserved for future use Entry number:8 Valid range: 000 or 255 Description: Entry 8 is reserved and must be 000 or 255. Extension state number Entry number:9 Valid range: 000-999 Description: State number of the extension state (Z) containing additional device conditions. November 2012 159 States Configuration Data Extension to State (‘h’) The Extension state to the Hardware Fitness state contains additional conditions to go to the specified next state. Typically for NDC the Hardware Fitness Extension state is a Z state. table 43: Hardware Fitness Extension state entries Entry Definition 1 state type 2 denomination type 3 next state if denomination not available 4 next state if journal warning 5 next state if receipt warning 6 next state if deposit warning 7 reserved for future use 8 reserved for future use 9 reserved for future use The Hardware Fitness Extension (Z) state entries are defined as follows: State type Entry number:1 Valid range: Z Description: This state ID identifies this state table as a Hardware Fitness Extension state. 160 November 2012 Configuration Data States Denomination Type Entry number:2 Valid range: 000-044 Description: The data field is divided in three digits: First digit: Reserved, always zero. Second digit: Specifies the denomination type of cash cassettes which should be verified as not being GOOD or LOW (fatal condition). The entry range 1-4 indicates denomination Type 1 to 4. Third digit: Specifies which cassette position will be checked for low notes (warning condition). The entry range 1-4 indicates the denomination Type 1 to 4. Next state if Denomination not available Entry number:3 Valid range: 000-999 Description: The number of state to which the terminal proceeds if the Denomination is not available. Next state if Journal warning Entry number:4 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if the journal printer has a warning status. Next state if Receipt warning Entry number:5 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if the receipt printer has a warning status. November 2012 161 States Configuration Data Next state if Deposit warning Entry number:6 Valid range: 000-999 Description: The number of the state to which the terminal proceeds if the deposit module has a warning status. Reserved Entry number:7-9 Valid range: 000 or 255 Description: Entries 6-9 are reserved and must be 000 or 255. 162 November 2012 Configuration Data States Smart FIT Check State (‘k’) This state is only required when chip data is to be used in a FIT check. The Smart FIT Check state should be entered after the chip data a read from the smart card and stored in the magnetic track buffers of the application. The Smart FIT Check state then performs a FIT check on the contents of the three track buffers. It is possible to create more than one Smart FIT Check state to accomodate multiple FIT checks. This would allow different FIT checks to be performed on data from the same card. table 44: Smart FIT Check State Entry Definition 1 state type 2 reserved 3 good read next state number 4 error (misread) screen number 5 read Condition 1 6 read Condition 2 7 read Condition 3 8 card return flag 9 no FIT match next state The Smart FIT Check (’k’) state entries are defined as follows: State type Entry number:1 Valid range: ’k’ Description: This state ID identifies this state table as a Smart FIT Check state. November 2012 163 States Configuration Data Reserved Entry number:2 Valid range: 0 Description: Not used - set to 0. This is left blank to align the following table entries to the same positions as those in the Card Read State, allowing common FIT check procedures to be used. Good read next state number Entry number:3 Valid range: 000-999 Description: State number to which the terminal goes if the Financial Institution number on the card matches a Financial Institution number in the FIT. Error (misread) screen number Entry number:4 Valid range: 000-999 Description: If the read conditions are not satisfied due to a bad card or a mechanism error, the card is ejected and this screen is displayed. Read condition 1 Entry number:5 Valid range: see description Description: First of three entries indicating which card track buffer(s) will be read. Bit 0 1 2 3-7 164 Description Read track 3 Read track 2 Read track 1 Reserved November 2012 Configuration Data States Read condition 2 Entry number:6 Valid range: see description Description: Second of three entries indicating which card track buffer(s) will be read. Bit 0 1 2 3-7 Description Read track 3 Read track 2 Read track 1 Reserved Read condition 3 Entry number:7 Valid range: see description Description: Third of three entries indicating which card track buffer(s) will be read. Bit 0 1 2 3-7 Description Read track 3 Read track 2 Read track 1 Reserved Card return flag Entry number:8 Valid range: 000-999 Description: Tells the terminal when the card should be returned to the cardholder: 000 - eject the card immediately 001 - return the card as specified by a transaction reply message. November 2012 165 States Configuration Data No FIT match next state number Entry number:9 Valid range: 000 or 999 Description: This is the state is executed if the FIT check fails. It may be a close state or a return to another Chip exit state which places the chip data in the read buffers before calling a different Smart FIT Check state with different read conditions. If FITs are not used, this entry must be 000. 166 November 2012 Configuration Data States Barcode Read State (‘s’) The Barcode Read State (’s’) enables the barcode scanner module to read a barcode field. After the barcode scanner is enabled, a screen will be displayed where the consumer is advised to place the barcode field under the red light of the barcode scanning unit until a sound (device dependend) and a screen change after a successful read is noticed. Then the Good Read Next state exit will be taken. If the barcode field could not be detected by the barcode scanner, the screen remains active until the timeout timer expires or the consumer presses the CANCEL key. Valid formats of barcode data can be specified via local configuration parameter READ_CODE (ACCEPT_CODE_FORMAT). Refer to ProCash/NDC ProConsult/NDC Installation manual for detailed parameter description. table 45: Barcode Read State Entry Definition 1 state type 2 screen number 3 timeout next state number 4 cancel next state number 5 good read next state number 6 error next state number 7 barcode evaluation flag 8 reserved 9 reserved The Barcode Read (’s’) state entries are defined as follows: State type Entry number:1 Valid range: ’s’ Description: This state ID identifies this state table as a Barcode Read state. November 2012 167 States Configuration Data Screen number Entry number:2 Valid range: 000; 010-999 Description: Screen number that will be displayed when the barcode reader is activated. If this entry is 000, no screen will be displayed. Timeout next state number Entry number:3 Valid range: 255; 000-999 Description: Next state exit that is taken if a time-out occures before a barcode field could be read. Enter value 255 if the time-out exit should not be used. The keyboard response timer TIMER_00 together with more-timer TIMER_01 is being used to determine time-out. Cancel next state number Entry number:4 Valid range: 255; 000-999 Description: Next state exit that is taken if the customer presses the CANCEL key. Value 255 disables the CANCEL key. Good read next state number Entry number:5 Valid range: 000-999 Description: Next state that is taken if the barcode could be read successfully. Error next state number Entry number:6 Valid range: see description Description: Next state that is taken if a device error has occurred or the barcode is invalid. Barcode evaluation flag Entry number:7 Valid range: 000, 001, 900-999 168 November 2012 Configuration Data States Description: Defines how to process the barcode data. Value 000 001 002-899 900-999 Description Barcode data is stored into the variable DCMC_BCR_DATA prefixed with a buffer ID 's' (0x53). This variable will later be sent to the host in the transaction request message. Subsequent characters below 0x20 (' '-space) are converted to one single space. Barcode data is stored into general purpose buffer B and C. The first 32 bytes are put into buffer B and the following 32 bytes are stored in buffer C. With this a maximum of 64 bytes of barcode data can be processed. Subsequent characters below 0x20 (' '-space) are converted to one single space. reserved for future use The barcode data is handled through an overlay step DC_PROC_BCR_DATA. The barcode data is stored into the variable DC_BCR_DATA without conversion and then the step is called with the entered number (900 - 999) as parameter.The overlay can then decide how to process the barcode data in specific customer environments. Reserved Entry number:8-9 Valid range: 000 Description: Field entry numbers 8 and 9 are reserved for future use. November 2012 169 States Configuration Data Skip State step The Skip state steps can be used to skip non supported states which can be just ignored through a good next state number definition. table 46: Skip state step Step name Definition DC_NEXT_1 uses field 1 for good state next operation DC_NEXT_2 uses field 2 for good state next operation DC_NEXT_3 uses field 3 for good state next operation DC_NEXT_4 uses field 4 for good state next operation DC_NEXT_5 uses field 5 for good state next operation DC_NEXT_6 uses field 6 for good state next operation DC_NEXT_7 uses field 7 for good state next operation DC_NEXT_8 uses field 8 for good state next operation 170 November 2012 Configuration Data Screens Screens Screen data is also a type of configuration data. All screens are assigned to a decimal number between 000 and 999. Furthermore the NDC+ protocol is using reserved screen numbers like C00 through C06, Axx, Dxx, Exx, and so on that can be used for specific functions. Restrictively ProCash/NDC and ProConsult/NDC just can store the reserved screens in the registry if they are downloaded from host. The only reserved screens supported, are C00 - C06. For detailed descripton see section “Reserved Screens” on page 182. Normally, the screen number and following data are down-line loaded to the terminal using the Screens Table Load command message. Refer to section “Screen Data Load” on page 264 for details. However, new screens can be sent by the network in a Transaction Reply command message. Unused screens do not need to be down-line loaded. The terminal stores the screen data in the registry location “..\LYNXCI\SCREEN”. Wincor Nixdorf terminals can display screens in the grid of 32 columns by 16 rows. See section “Screen Design Worksheet” on page 414. Screen Control Characters Nearly in all screens serveral control characters are included, like cursor positioning, set an overlay screen, clear screen, display Track 1 information, etc.. A global overview gives Table “Screen control characters” on page 173. ProCash/NDC and ProConsult/NDC support following major control functions: • Clears a screen • Sets the screen cursor • Delays then shows a character • Shows inverse video characters • Allows blinking November 2012 171 Screens Configuration Data 4 Digit Screen Numbers ProCash/NDC and ProConsult/NDC supports downloads of 4 digit screen numbers. The format how the 4 digit screens are stored in the screen table can be specified in the Screen Data Load message. Please refer to section section ”Screen Data Load” on page 264 for details. Note: Screen numbers used in State Tables have to be in 3 digit format. Screens can devided in Custumer groups: • Screen group ’u’ is used for language independent screen numbers • Screen group ’l’ is used for language dependent screen numbers Screen group ’u’: This group defines language independent numbers for example u2456. The full number range for this group is 0000-9999. If multi language is used, the user screens can be split in multi language groups. The size of each language group can be variable where it is assumed that each group will contain a maximum of 1000 screens. A screen in group ’u’ can also be defined as a four-digit number in double quotes, without the prefix letter, for example “2431”. Screen group ’l’: This group defines language dependent numbers for example l3254. This is also a four-digit group, but will normally only define screens in the range 0000 to 0999. Screen group ’l’ maps onto the 1000 screens from group ’u’ which are in use for the current language. If no language is defined, then group ’l’ will map to the first language group. 172 November 2012 Configuration Data Screens Screen delimiters The field separator (FS) or group separator (GS) at the end of the message are screen delimiters. Each screen data field must be terminated by one of these two screen delimiters. Normally, FS separates each screen data field in a Screens Table Load command message. The end of the message terminates the last screen data field in a Screens Table Load command message. table 47: Screen control characters cross-reference Control Code CR FF HT SI SO VT ASCII HEX Equivalent 0D 0C 09 0F 0E 0B EBCDIC HEX Equivalent 0D 0C 05 0F 0E 0B table 48: Screen control characters Control Code CR FF HT SI SO VT Description moves the cursor to the first position in the current row clears the screen and positions the cursor to position @,@ on the display grid causes the customer’s name, encoded on track 1 of the customer’s card, to be shown on the customer display, starting at the current customer display cursor position sets the cursor to the position specified by the two bytes following SI. the first byte is the row, and the second byte is the column. data shown on the screen remains unchanged. overlays the screen specified by the three bytes following SO. screen data can be nested or overlaid to five levels using the control character SO. shows an alternate character on the customer display. the alternate character is specified by the byte following VT November 2012 173 Screens Configuration Data CR control character The CR control character moves the cursor to column @ in the following row. FF control character The FF control character clears the screen with the default foreground and background colors. The cursor is set to the top left hand corner (row @, column @) of the screen. Screen blinking will be switched off. HT control character The HT control character inserts the name from track 1 of the customer’s activator card into the screen data. The terminal displays the name starting at the current cursor position. SI control character The SI control sequence moves the cursor to a specified row and column. The format of the control sequence is as follows: SI 1A The terminal places the cursor at row 1, column A. Any of the 16 rows can be selected by using a row select character from ’@’ through 3. Any of the 32 columns can be selected by using a column select character ’@’ through ’?’. See also the grid graphic in section “Screen Design Worksheet” on page 414. VT control character The VT control sequence is used to display characters from secondary character set. ASCII codes in the range 20 - 7F hex, preceded by a ’VT’ character, forces displaying characters from the Customer Graphic 1 character set. The format of the control sequence is as follows: VT C 174 November 2012 Configuration Data Screens SO control character The SO control sequence inserts a specified screen into the current screen. The format of the control sequence is as follows: SO nnn The network uses the control character SO to call another screen. This technique is called nesting. Nesting is accomplished by placing control character SO followed by a three-digit screen number within a current screen. The maximum number of nesting levels is five. When using nested screens, the maximum number of characters per screen is as follows: • screen 1: 600 characters • screens 2 through 6: 310 characters each The network can use an SO control sequence along with an ESC [z control sequence to show animated screens. In a typical animation sequence, the last screen calls the first screen again. To prevent infinite nesting when using animation, the ESC [z control sequence must be the last instruction in each animation screen. The SO control sequence can also be used for the reserved graphic picture sequences as Gxx, Kxx,Lxx, Mxx, etc. Example sequence: \0eG01 November 2012 175 Screens Configuration Data table 49: Screen escape sequences cross-reference Escape Sequence ESC P ESC [ ESC ( ESC ) ASCII HEX Equivalent 1B 50 1B 5B 1B 28 1B 29 EBCDIC HEX Equivalent 27 D7 27 63 27 4D 27 5D table 50: Screen escape sequences Escape Parameters Description Sequence ESC [...m kk;ff;bb Activates blinking characters and sets foreground and background color. Example: kk = 00 - blinking off; 10 - blinking on (max. 100 ESC characters per screen) [10;67;71m ff = foreground color bb = background color ESC [...z ttt Display idle sequence. Displays the screen in the specified time ttt. ESC ( c Select primary character set; (c = font type) ESC ) c Select secondary character set; (c = font type) ESC P0... nnn Voice control; Defines a voice message number ;0ESC\ that is played when the screen is displayed. Voice files have to be stored in the path locations defined via parameter AUDIOx_PATH for each language group (x = language group) in section “..\LYNXCI\SCREEN”. ESC P1.. nn Logo control; displays number nn logo. (e.g. ESC\ ESCP199ESC\) ESC P2... nnn Picture control; diplays number nnn picture. (e.g. ESC\ ESCP2999ESC\) ESC PE... path Picture control; diplays a graphic specified via ESC\ path. (e.g. ESCPEC:\PICT\PICTURE.PCXESC\) The backslash character (\) is stored in hexadecimal format (\5c) in the registry. ESC is stored as \1b. 176 November 2012 Configuration Data Screens Example entry for ESCPE: CONTENTS = “\1bPEC:\5cPICT\5cPICTURE.PCX\1b\5c” November 2012 177 Screens Configuration Data Displaying Graphics as Icons ProCash/NDC and ProConsult/NDC can display *.pcx, or *.bmp files which are smaller than the whole screen as an icon. Therefore a cursor positioning is required to fit the icon in the right place. You can add text above or below the icon without modifying icon data. Also, text can share a row with an icon. However, if text and the icon share a row, one cannot overlap on the other, and one space must separate the text and the icon. Their combined lengths cannot extend beyond the end of the row. Non supported graphic extensions, for example specified in a downloaded screen using the ESCPE control sequence can be mapped to another file extension supported by ProCash/NDC via parameter “PICTURE_EXT_XXX”. See ProCash/NDC ProConsult/NDC Installation manual section Graphic and Video file extension mapping for detailed descriptions how to map graphic and video files. Full Screen graphics Wincor Nixdorf terminals support full screen graphics as *.pcx, or *.bmp formats. With these graphics it is possible to show animation’s and text together instead of using icons and/or text using WIN-NT font files. Additionally the text from the font files can be overlaid (transparent mode) onto full screen graphics. The possibilities are endless. Mixtures of all kinds of graphics in one customization image are possible, PCX’s, BMP’s with/without overlaid text. Display resolutions ProCash/NDC and ProConsult/NDC support following display resolutions and color depths: Mode Resolution color depths [1] VGA 640x480 16 SVGA 640x480 256, 65535 (16 bit) SVGA 800x600 256, 65535 (16 bit) SVGA 1024x768 256, 65535 (16 bit) [1] - PCX graphics are supported in 16 or 256 colors only. 178 November 2012 Configuration Data Screens Displaying MacroMedia Flash executables ProCash/NDC and ProConsult/NDC are able to display Flash video animations. Flash files can be created via different utilities like MacroMedia Flash. A Flash animation has to be stored as an executable file like “MyFlash.exe”. Please refer to ProCash/NDC ProConsult/NDC Installation manual to get detailed information how to configure Flash animations in ProCash/NDC and ProConsult/NDC. Important Note: You have to install Internet Explorer 5.5 or higher to be able to display Flash files. Displaying Video files In addition to the graphics, ProCash/NDC and ProConsult/NDC are able to display AVI and MPG video files. They can be configured in the same way as the graphic files. The only difference is the file extension, which has to be *.avi, *.mpg or *.mpeg. If a video file is specified within the screen flow, an external program named “ccMciPly.exe” located in directory “C:\PROTOPAS\BIN” is called that performs function calls to the API of the MCI player. If you want to play video files it is necessary to check if the video file can be played with the current installed codec on the ATM. This can be easily tested if you double click the video file. After you have double clicked the file, the Microsoft MCI player should come up automatically to play the video. If you get an error or the MCI player doesn’t come up, you have to install the correct Video Compression Codec. Some codecs will be installed together with the Internet Explorer or Media Player installation. The current version of the Video Compression Codecs can be viewed in the “Multimedia” dialog box in the Control Panel of Windows. IMPORTANT NOTE: Since version $MOD$ 020701 1009 of “ccMciPly.exe”, videos are running in the topmost window. That means, videos are always played in the foreground window. Other open windows behind (previously accessed via ALT-TAB) cannot be reached any more. The only chance to get access to other open windows is via key combination ALT+F4 on the alpha keyboard. ALT+F4 terminates the program “ccMciPly.exe”. November 2012 179 Screens Configuration Data Voice Control If the terminal has installed a sound card and the path of the voice files are configured via AUDIOx_PATH (see ProCash/NDC ProConsult/NDC Installation manual for detailed definition of this parameter), the terminal attempts to play pre-recored messages in some states. Make sure that the pre-recorded message is brief enough to play completely before the state is timed out. The terminal attempts to play messages at following times: Auto Voice Feature The following voice messages are spoken if the Auto Voice Feature option 02 is set to 001 in the “Enhanced Configuration Parameters Load” message. See also Table 51 for the message description. • PIN Entry (Message 7) The message starts during a PIN Entry state or Enhanced PIN Entry state when the card has been read and recognized. • Transaction Request (Message 1) The message starts when a Transaction Request message is sent to the host. • Card Taken (Message 8) The message starts as soon as a card is taken in the Close state. If the card has already been taken, the message starts on entry to the Close state. table 51: Default Voice Message files Audio (*.WAV) file 1.WAV 7.WAV 8.WAV Message Number 1 7 8 Message “your transaction is being processed” “please enter your personal identification number” “thank you for using this atm” NOTE: The three WAVE message files are recorded as male voice 180 November 2012 Configuration Data Screens Audible Echo on Keyboard ProCash/NDC and ProConsult/NDC also support Audio Echo on Keyboard if Option 31 is enabled in the “Enhanced Configuration Parameters Load” message (see Table 52). Table 52 lists the wave files used if Audio Echo on Keyboard is enabled: table 52: Default WAVE files for Audio Echo on Keyboard Audio (*.WAV) file ZERO.WAV ONE.WAV TWO.WAV THREE.WAV FOUR.WAV FIVE.WAV SIX.WAV SEVEN.WAV EIGHT.WAV NINE.WAV Phrase “zero” “one” “two” “three” “four” “five” “six” “seven” “eight” “nine” NOTE: The WAVE files are recorded as female voice November 2012 181 Screens Configuration Data Reserved Screens Wincor Nixdorf terminals contain reserved screens C00 through C06 stored in the registry location “..\LYNXCI\SCREEN”. These screens contain default data which is displayed when no reserved screen is downloaded with its own data. table 53: Downloaded reserved screens supported by Wincor Nixdorf terminals Screen No. Function C00 More time screen; This screen prompts the customer who has failed to respond to a request for keyboard input within the specified keyboard response time. C01 Offline screen; This screen appears on the customer display when the terminal is offline. The screen’s characters default to offline at terminal power up or reset. C02 Out of Service screen; This screen appears on the customer display when the terminal is in out-of-service mode. The screen’s characters default to out-of-service at terminal power-up or reset. C03 Supply screen. This screen is displayed while the terminal is in supervisor mode. C04 Card capture screen; This screen is displayed when the terminal captures a card as a result of a card reader failure C05 Cardholder tampering screen; This screen is displayed when cardholder tampering is suspected and the terminal enters suspend mode. C06 Temporarily Out of Service screen 182 November 2012 Configuration Data Screens General use of default reserved C screens The reserved screens C00-C06 can be downloaded from host. If one of those screens is not downloaded, the following defaults are used: Default screen Downloaded screen C00 000 C01 001 C02 002 C03 003 C04 none C05 C02 / 002 C06 C02 / 002 If one or more of the reserved screens are not downloaded by the host you can create your own reserved screens in PARAC configuration file ’CUSTOM.PPF’. In Registry section ”..\LYNXCI\SCREEN” the new subsections of your new defined C screens will be created and updated if you start the PARAC run. See ProCash/NDC ProConsult/NDC Installation manual for details. Screen C00 Screen C00 prompts customers who fail to respond within a specified time interval. Screen C00 must be defined and must conform to the following operation key A and B requirements: • if operation key A is pressed, the terminal returns to the original state in which the time-out occurred. The customer presses this key to request more time. • if operation key B is pressed, the terminal returns to the time-out next state entry of the original state in which the time-out occurred. Normally, this timeout next state is a close state. Screen C01 Screen C01 is displayed when the terminal is in offline mode. November 2012 183 Screens Configuration Data Screen C02 Screen C02 is displayed when the terminal is in out-of-service mode. Screen C03 Screen C03 is the supply screen. This screen is displayed when the terminal is in supervisor mode. Screen C04 Screen C04 is displayed when the terminal captures the card in case of a card reader failure. When this occurs, the next state is executed. This screen is displayed as long as in the value of Timer 2 specified. Screen C05 Screen C05 is displayed when cardholder tampering is suspected and the terminal enters Suspend mode. The Suspend mode condition as an error Severity 3 can be configured in CCERRMAP. See ProCash/NDC ProConsult/NDC Installation manual for details. Screen C06 Screen C06 is displayed when the terminal is temporarily in out of service mode. This screen is displayed under following conditions: • When specified in a go out of service comand from host • On exit supervisor mode to out of service if supervisor mode was entered from in service and the auto return to previous mode is not set. • If supply mode is entered from out of service while displaying screen C06. 184 November 2012 Configuration Data Screens Reserved Pictures (G00-G06) ProCash/NDC provides a set of standard pictures (icons) that can be inserted via the SO control sequence. The are configured as reserved pictures G00 through G06 in registry location “..\LYNXCI\SCREEN”. The following table describes the meaning of each picture. table 54: Reserved pictures G00-G06 Picture No. Description G00 Card Insert G01 PIN keypad G02 Scan document G03 Make deposit G04 Take receipt G05 Take Money G06 Take statement November 2012 185 Screens Configuration Data Language Selection You can create multi language customer screens to be displayed as requested from one set of state tables. This can be defined via group definitions for each language, in which the equivalent screen for all languages has the same relative position within the group. Make sure that all the screens for which a choice of languages can be made are in the group. Note that nested screens must have absolute positions. The first group must start at ’000’, and contain thos screens fro which language selection is not possible. That is, screens displayed from the Card Read state and Language Select from Card state. Screens normally associated with not in service conditions, such out of service, supervisor or offline, should also be in this group if the ’Cxx’ default screens are used. You do not need to cahnge the state tables, but you must include an Eight FDK Selection Function state, or Language Select from Card state, in order to select the language. EXAMPLE: If four languages are required, the screen group bases could be: – Language A - ’000’ – Language B - ’100’ – Language C - ’200’ – Language D - ’300’ If a screen ’055’ is displayed from a state table, the screen is downloaded as: – ’055’ for Language A – ’155’ for Language B – ’255’ for Language C – ’355’ for Language D 186 November 2012 Configuration Data Miscellaneous Configuration Data Miscellaneous Configuration Data Miscellaneous configuration data is down-line loaded via (Enhanced) Customisation Table Load command message from network to terminal. Refer to section ”Configuration Parameters Load” on page 267 and to section ”Enhanced Configuration Parameters Load” on page 271 for the message format. The (Enhanced) Customisation Table Load command message has three data fields: • terminal parameters • logical unit number • timer data Each field is preceded by a field separator (FS). The following sections describe the contents of these data fields. Terminal Parameters The terminal parameters data fields are described in section ”Configuration Parameters Load” on page 267 and section ”Enhanced Configuration Parameters Load” on page 271. Logical Unit Number (LUNO) The second piece of information in the miscellaneous configuration data is called the Logical Unit No. (LUNO). The LUNO is a unique number that indicates which terminal has transmitted a message. If the key-entry person enters a machine number, the terminal places the terminal number at the end of the LUNO in the transaction request, solicited status, and unsolicited status messages (except the power failure unsolicited status message). November 2012 187 Miscellaneous Configuration Data Configuration Data Timer Data The third piece of information in the miscellaneous configuration data is called timer data. Some timers must be down-line loaded by the network because they do not have default times. Other timers may be down-line loaded, but they do not have to be as they have default settings. The time-out intervals are specified as a number of 0.8 second segments (ticks). The number of ticks assigned to a timer can be 000 to 255. This gives each timer a time-out range of 0 to 204 seconds. Unless otherwise stated in the timer descriptions that follow, specifying a time-out interval of 000 causes the terminal to never take the time-out next state exit from a state. The data for each timer is down-line loaded in the sequence the timer number (2 bytes) then the number of 800-millisecond ticks (3 bytes). Timers are stored in registry location “..\LYNXCI\TIMER”. The timer values are stored in seconds. 188 November 2012 Configuration Data Miscellaneous Configuration Data table 55: Timer values Timer Default value in PPF Timer Default value in PPF number (seconds / ticks) number (seconds / ticks) 00 030 / 038 86 018 / 023 (not used) 01 015 / 019 87 030 / 038 (not used) 02 005 / 006 94 030 / 038 (not used) 03 030 / 038 95 030 / 038 04 040 / 050 96 000 / 000 05 040 / 050 97 010 / 013 (not used) 06 030 / 038 98 030 / 038 (not used) 07 001 / 001 99 030 / 038 08 040 / 050 09 020 / 025 10 001 / 001 11 - 12-14 - 15 - 16-17 - 18 - 19 - 20 - Timer 00 Timer 00 sets the keyboard response timeout interval. When a screen is displayed that prompts the customer to make a keyboard entry, the customer must respond within the timeout interval specified for timer 00. Otherwise, the terminal will exit its present state, display screen number 000, and start timer 01. November 2012 189 Miscellaneous Configuration Data Configuration Data Timer 01 Timer 01 sets the consumer response extension timeout interval. If the customer exceeds the timeout interval allowed for keyboard entry (timer 00), for deposit envelope insertion (timer 04, 08 or timer 20), or for securomatic insertion (timer 08), screen 000 is displayed. Screen 000 asks if the customer needs more time. Timer 01 is the timeout interval for the customer’s response to screen 000. The keyboard beeper sounds while this timer is active. If this timer expires for the keyboard, the terminal advances to timeout next state; if the timer expires for the deposit, the terminal sends a solicited status message to the network. Timer 02 Timer 02 sets the close state screen time-out interval. At the end of this interval, the terminal proceeds to the next state number specified in the close state. A timeout interval of 000 is not permitted for timer 02. Timer 03 Timer 03 sets the communication message timeout interval. When the terminal is ready to transmit a Transaction Request message to the network, the terminal starts Timer 03. If the terminal does not receive a Transaction Reply command before Timer 03 expires, the terminal exits the transaction request state by going to the network response time-out next state number. Timer 04 Timer 04 sets the envelope insertion time-out interval for the depository. When a screen is displayed that prompts the customer to insert an envelope into the depository, the customer must respond within the time-out interval specified by timer 04; otherwise, the terminal exits its present state, displays screen 000 and starts timer 01. The keyboard beeper sounds while this timer is active. Timer 05 Timer 05 sets the withdrawal time-out interval for terminals with a withdrawal door. The maximum amount of time that the terminal waits for a customer to remove the cash is the sum of timers 05 and 07. After the cash has been counted and placed in the delivery mechanism, the terminal unlocks the delivery door and starts timer 05. 190 November 2012 Configuration Data Miscellaneous Configuration Data • If the customer fails to fully open the withdrawal door and clear the rear withdrawal area sensors before timer 05 expires (or to just fully open the door on terminals with a manual door), the terminal transmits the withdrawal door solicited status to the network indicating a fault and waits for a new Transaction Reply command message from the network. • If the customer fully opens the withdrawal door and clears the rear withdrawal area sensors before timer 05 expires (or just fully opens the door on terminals with a manual door), the terminal proceeds to timer 07. Timer 06 Timer 06 sets the communications offline timeout interval. This timer is started each time the terminal receives a poll or select sequence from the network. If the terminal has not been polled or selected within the interval specified for timer 06, the terminal proceeds to offline mode (out-of-service to customers) and displays screen 001. A timeout interval of 000 is not permitted for timer 06. Timer 07 Timer 07 sets the withdrawal door open timeout interval. This timer specifies the amount of time that the terminal waits after the withdrawal door is fully opened before going to the next specified state. On all terminals with a delivery door, this timer starts after the withdrawal door is fully opened and either the sensors are cleared or timer 05 expires. On all terminals without a delivery door, this timer starts after timer 10 expires. A timeout interval of 000 is not permitted for timer 07. Timer 08 Timer 08 sets the envelope insertion timeout interval for the night safe depository. When a screen is displayed prompting the insertion of a deposit, the customer has to respond within the timeout interval specified by timer 08. Otherwise, the terminal exits its present state, displays screen 000 and starts timer 01. November 2012 191 Miscellaneous Configuration Data Configuration Data Timer 09 Timer 09 sets the customer timeout interval before a card capture attempt. If, during a close state, the card is presented to the customer and not removed within this time period, a card capture attempt is made. This timer starts after the terminal executes the card return function ID and at the beginning of the close state if the card was not returned at the card read state. Timers 02 and 09 start at the same time. When the card is removed, timer 09 stops. The default setting for timer 09 on power-up is 30 seconds (38 ticks). A timeout interval of 000 is not permitted for timer 09. Timer 10 Timer 10 sets the withdrawal timeout interval for terminals without a withdrawal door. Timer 10 sets the amount of time the beeper beeps while waiting for the customer to take the cash. After the terminal counts and places the cash in the withdrawal area, the terminal displays a Take Cash screen, starts timer 10, and activates the beeper. After timer 10 expires, the terminal stops the beeper and starts timer 07. Therefore, the total amount of time that the terminal waits for a customer to remove the cash is the sum of timers 10 and 07. A value of 000 in timer 10 will result in no beeping and zero time. The default setting for timer 10 on power-up is 006 ticks. Timer 11 (CSC450 with vandal shield only) Timer 11 sets the vandal shield delay time before closing. Timer 11 sets the amount of time the vandal shield delays before it begins to close. The vandal shield uses this timer if a value of 004 is in state entry 3 of the vandal shield state. Timer 11 defaults to 080 ticks on power-up. 192 November 2012 Configuration Data Miscellaneous Configuration Data Timer 15 Timer 15 is used with the card read ‘T’ state (not used by Wincor Nixdorf terminals). Timer 18 Timer 18 sets the swipe card reader error screen timer (not used by ProCash/NDC and ProConsult/NDC application). Timer 20 Timer 20 sets the insertion timeout interval for the depository. If timer 20 is configured to a non-zero value, it is used instead of timer 04. Timer 20 allows seven seconds of silent time, after which the beeper starts at a slow rate for the remainder of the specified time. Timer 94 Timer 94 sets the Document/Envelope eject timeout. This timer gives the length of time the Document/Envelope remains accessible to the cardholder before it is retracted. If the cardholder takes the Document/Envelope before the timer expires, the timer is cancelled. Timer 95 Timer 95 sets the statement retract timeout. This timer is used during the Close State processing. It determines when to retract a statement that has not been taken by the customer. The default value is 30 ticks and the timer is not used if you set a zero value. This timer is also used when Transaction Reply command ’S’ is sent in the transaction reply and the statement is laying in the collection tray of the statement printer. The timer will be started when this condition is detected. If the timer expires the statement is retracted and Transaction Reply command ’S’ commences. If the statement is taken before the timer expires, Transaction Reply command ’S’ commences without retract attempt. Timer 96 Timer 96 sets the statement present timeout. This timer is used only in the statement and continue function and is started regardless of whether or not a statement has been delivered. When the timer expires, the next state specified by the transaction reply command is entered. Timer value zero means no wait. November 2012 193 Miscellaneous Configuration Data Configuration Data Timer 99 Timer 99 specifies after what time the vandal guard close operation should be started when the consumer transaction has been finished. 194 November 2012 Configuration Data Local download feature Local download feature The local download feature is useful if you want to overload the downloaded customization image (CI) from host with local defined settings. With local downloads you can skip unsupported functions or overwrite non legal values in states or screens and it allows to enhance the host configuration with new functions locally. In addition to the download modifications you can also change local ATM settings (e.g. graphic file locations or printer settings). Configure local download Local download procedures can be called after following two situations: • ATM has received Config ID (Set Config ID command) from host • ATM has received Go in Service command from host The local download process can be evaluated via two batch files. Depending on the existing file name the local download is called after the ATM has received the Config ID and/or a Go in Service command. The following table describes the filenames, location and in which situations the files are called: Filename Directory Called when dcCfgId.cmd C:\PROTOPAS\CONF after Config ID received dcInServ.cmd C:\PROTOPAS\CONF after Go in Service received The contents of the files can be any command which is supported in a Windows command line window. Contents of dcCfgId.cmd or dcInServ.cmd: regedit -s stt010.reg Description: Calls regedit silent (no screen appears) to update contents of stt010.reg. The contents of stt010.reg could contain following entries: REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Wincor Nixdorf\ProTopas\CurrentVersion\LYNXCI\STATE\010] "STEP_PARAM"="113217217013211012013003" overloads values of state 010. Note: The command job must return within 30 seconds. November 2012 195 Local download feature 196 Configuration Data November 2012 Security Features General Overview To understand and use the information in this section, you should understand some basic terms and concepts, which are defined below. Algorithm An algorithm is a structured mathematical procedure for solving a specific problem. The DES algorithm is designed to encrypt and decrypt blocks of data. The DES algorithm is not confidential and can be obtained by the general public. The keys used as part of the algorithm are what provides the confidentially Data The Data Encryption Standard (DES) specifies an algorithm Encryption to be used in electronic hardware devices for the purpose of Standard [DES] cryptographic protection of computer data. Encryption keys Encryption keys are numbers that are used as part of the PIN verification process and also for encrypting messages to and from the terminals. As the DES algorithm is available to the general public, the keys must be kept secret to ensure the confidentiality of the data being encrypted. Personal Identification Number [PIN] The Personal Identification Number (PIN) is the customer’s way of verifying his or her identity as established by an activator card. By entering this PIN, the customer is identified and can access the relevant accounts. PIN verification PIN verification is the method of ensuring that the PIN entered on the ATM is the proper PIN for the card inserted in the ATM. November 2012 197 PIN and PIN Verification Financial Institution Table [FIT] Security Features The Financial Institution Table (FIT) provides the following items to the network: – capacity of using multiple card formats and multiple institutions – the type of PIN verification – the encryption key (if PEKEY is used) that is used to encrypt a PIN, which is sent to the network – control of the transaction sequence of the terminal via FIT switch indexes. FIT can also be used to allow the institutions to define the exact operation flow of the terminal. This is done by supplying state flow through the FIT. Message Authentication Code [MAC] Message Authentication Code (MAC) provides a method of ensuring that messages sent between the terminal and the network are authentic and have not been modified. PIN and PIN Verification In order to access a Wincor Nixdorf customer service terminal, the customer must enter a Personal Identification Number (PIN). Typically, a request for PIN entry is made after the customer has inserted an activator card into the terminal. The terminal and/or the network must then verify the PIN before the transaction can continue. The processes for this verification are called PIN verification processes. This section describes both the PIN and the processes required to verify the PIN. 198 November 2012 Security Features Personal Identification Number (PIN) Personal Identification Number (PIN) The PIN is generally derived from an account number. In most PIN verification methods that account number is the Primary Account Number (PAN). The examples and explanations in this document assume that the PAN is the account number associated with the PIN. It is not necessary to use the entire PAN; it is possible to use only those PAN digits that vary from customer to customer. The local PIN verification process is based on an algorithm, a sequence of mathematical steps. Usually, some type of key governs the algorithm sequence. Generally, the process that generates the customer’s PIN also verifies that PIN. A particular key and a set of PAN’s correspond to a set of PIN’s. Some of the PIN’s may be duplicated; that is, one PIN may be derived from several PAN’s, but any given PAN has only one possible PIN. PIN Entry The first step in the PIN verification process is the customer’s PIN entry. This is done through a PIN entry state. If local PIN verification is being used, the terminal verifies the PIN and goes to the next state required. When remote PIN verification is used instead of local PIN verification, one of two transaction request messages is usually sent to the network. In the first method, the terminal can accept any PIN and continue with a transaction selection to the customer. The terminal then sends both the unverified PIN and the transaction request to the network in the same message. Then, the network can authorize or deny either the PIN or transaction. In the second way, the terminal forwards the PIN to the network in one request message, then awaits the go-ahead before giving a transaction selection to the customer. The second request message holds the current transaction information. November 2012 199 Personal Identification Number (PIN) Security Features Variable length PIN Entry Using FIT, the terminal can accept a variable-length PIN. The FIT field PMXPN indicates the maximum number of PIN digits that a customer may enter. As soon as the customer enters the maximum number of PIN digits, the terminal automatically completes the PIN entry state. For example, the maximum number of PIN digits may be nine. On entry of the ninth digit, the terminal automatically completes the PIN entry state. The institution may issue PIN’s shorter than the maximum PIN length defined in a FIT. Customers receiving shorter PIN’s must press operation key A (which is active on PIN entry) to signal the end of the entry. After the customer presses operation key A, the terminal automatically completes the PIN entry state. For example, if the maximum PIN length is nine digits and the customer has a fivedigit PIN, the customer must press operation key A after the five-digit PIN is entered. If the customer inadvertently presses operation key A before entering all of the required PIN digits, the terminal automatically attempts to verify the digits entered. The PIN verification will fail and a retry or error state occurs (depending on the configuration of the states). PIN Offset Number (DES verification) For DES PIN verification, the PIN offset number allows an institution to let customers choose any PIN they wish. To accomplish this, an offset is added to or subtracted from the customer’s generated PIN to obtain the desired PIN. This is not, however, ordinary addition or subtraction, but modulo 10. In modulo 10, no figures are carried. The following example shows the difference between these two mathematical systems. 2716 2716 + 3329 + 3329 5035 (modulo 10) Note: 200 6045 (regular addition) Diebold PIN and VISA/ABA PIN verification is not supported by ProCash/NDC and ProConsult/NDC. November 2012 Security Features Personal Identification Number (PIN) In the DES PIN verification process, the offset is added to the generated PIN to obtain the customer PIN. For example, if the GPIN is 5646 and the offset is 1507, the CPIN would be calculated as follows: 5646 + 1507 6143 GPIN OFFSET CPIN An activator card data track stores the offset. FIT entry POFDX tells the terminal where to find the offset on the activator card data track. If an institution does not wish to use the offset, it may be set to zero. PIN Verification Processes ProCash/NDC and ProConsult/NDC support following types of PIN verification: • DES local • DES remote These PIN verification processes are the steps that either the terminal or the network performs to verify that a customer-entered PIN is valid. The type of terminal you have and the data security equipment installed may dictate the processes that are available to you. For Wincor Nixdorf cash terminals, the following equipment is available to control PIN handling: • DES PIN algorithm • Encryption Decryption Module (EDM) November 2012 201 PIN Verification Security Features The following paragraphs describe this equipment and list the PIN verification processes that the equipment supports. DES PIN DES PIN encryption provides for local DES PIN verification and remote network PIN verification. This feature also encrypts the PIN before sending it to the network. This type of encryption provides increased security for the PIN. EDM The Encryption Decryption Module (EDM) (available in all cash out systems) provides all the features of the DES PIN Verification/ Encryption option and the following additional features: •Message •PIN Authentication (MAC) encryption using Diebold or ANSI format DES PIN requires Financial Institution Table (FIT) entries. These FIT entries tell the terminal what PIN verification process to use and where to find the information that the terminal needs to perform the verification process. Remote PIN Verification The terminal can also send the PIN to the network for verification rather than verifying the PIN at the terminal. The EDM encrypts the PIN before sending it to the network for verification. The following sections describe some of the essentials for PIN verification and each verification process. PIN Verification Wincor Nixdorf terminals support local or remote PIN verification. Depending on the FIT entries the terminal determine if the PIN should be checked locally or remote by the host. 202 November 2012 Security Features PIN Verification Local PIN Verification In the DES PIN verification process, the key is the PIN key. This PIN key is stored at the terminal. The PIN key serves the same purpose as the ALGO. The PIN key governs a sequence of operations in the DES ALGO. This algorithm is a standard procedure available to the public. Security is achieved by keeping the PIN key confidential. To obtain greater security, the PIN key is encrypted using the DES algorithm and another secret key. The resulting encrypted PIN key (PEKEY) is put into a FIT entry. During PIN verification, the terminal (or network) decrypts PEKEY to restore the PIN key. Before adding the generated PIN to the offset, DES PIN verification must go through two algorithm procedures. The first procedure decrypts PEKEY from the FIT using the Master key. In the second procedure, the decrypted PEKEY is the PIN key that is used to encrypt the PAN. The encrypted PAN is decimalized using the decimalization table in the FIT. Decimalization ensures that the PIN digits are decimal. Network PIN Verification Network PIN verification requires that the PIN be padded to 16 digits and encrypted before sending it to the Network. The terminal can encrypt the customer-entered PIN once or twice, then send it to the Network with unencrypted PAN and offset. The PIN may be send unencrypted, but this is not recommended only for system testing. When the encrypted PIN reaches the verification point in the network, a single (or double) decryption restores the customer entered PIN. Then the generated PIN will be compared with the calculated PIN. If the PIN is correct the transaction can be continued. The institution may choose to verify the encrypted PIN without performing decryption. This can be done by comparing the encrypted PIN to a table of encrypted PIN values. Therefore the PAN is used as a table look-up key. For remote PIN verification, the PIN is sent to the network in two different forms: • ANSI PIN/PAN Block • Diebold PIN Block • BANKSYS PIN Block The terminal encrypts the block and sends it to the network. The network then handles the PIN verification. The FIT field PMXPN tells the terminal which form to use. See section ”Maximum PIN Entry Digits (PMXPN)” on page 213 for more details on PMXPN. November 2012 203 PIN Verification Security Features ANSI PIN/PAN Block The ANSI PIN/PAN block is a 16-hex digit block that contains the result of exclusively ORing the ANSI PIN block and the Primary Account Number (PAN) block. The ANSI PIN block is 16 hex digits and appears as follows: PIN digits PIN digits or hex F depending on length of PIN Filled with hex digit F Length of PIN (4-12) Control field (presently 0) The PAN block is 16 hex digits and appears as follows: PAD digits PAN digits The PAD digits are always hex 0. The PAN digits are the least significant digits of the PAN. The number of digits is determined by the FIT parameters PANLN, PANDX, and PINDX. If the PAN digits are less than 12, hex 0’s are used to fill the remaining slots. The PIN block and PAN block are then exclusively ORed together to create the PIN/PAN block. This block is then encrypted according to the FIT field PINPD and sent to the network. 204 November 2012 Security Features PIN Verification Diebold PIN Block The Diebold PIN block is 16 hex digits and appears as follows: PIN digits PAD digits PIN or PAD digits depending on PIN length Refer to section ”PIN Pad Character (PINPD)” on page 216 for more details on the Diebold PIN block. The Diebold implementation of DES uses 16 hex digits, 0-F. The encryption process results in 16 hex digits that are converted to ASCII by prefixing each hex digit with a hex 3 to convert the 16 hex digits to 16 ASCII digits. These 16 ASCII digits are sent to the host if the protocol is ASCII. If the communication protocol is EBCDIC, the 16 ASCII digits are converted prior to transmission. The host must reconvert the received 16 digits to 16 hex digits prior to decrypting PIN buffer A. If the protocol is ASCII, the only conversion required is removing the prefixed hex 3 from each digit and combining the resultant into eight bytes. If the host protocol is EBCDIC, each digit must be converted by using the conversion prior to combining the digits into eight bytes. The following table shows the conversion from ASCII to EBCDIC. HEX DIGIT ASCII (HEX) GRAPHIC DIGIT EBCDIC (HEX) 0 1 2 3 4 5 6 7 8 9 A B C D E F 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F 0 1 2 3 4 5 6 7 8 9 : ; < = > ? F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 7A 5E 4C 7E 6E 6F November 2012 205 ID Card and FIT Definitions Security Features For example assume that the PIN is encrypted and F is used to pad the PIN. If the entered PIN is 4512, the 16 hex digits internal to the terminal before encryption are: 45 12 FF FF FF FF FF FF These 16 hex digits are internal to the terminal after encryption as follows (example only): 7A 4C F2 97 31 6E 51 33 These hex digits are then converted to ASCII by prefixing each hex digit with a hex 3: 373A 343C 3F32 3937 3331 363E 3531 3333 If the host protocol is ASCII, the PIN buffer contains these ASCII digits. If the host protocol is EBCDIC, the PIN buffer will contain the following 16 bytes: F77A F44C 6FF2 F9F7 F3F1 F66E F5F1 F3F3 The graphic presentation in a line trace of these bytes will be as follows: 7:4<?297316>5133 ID Card and FIT Definitions This section describes each FIT byte and the associated identification card magnetic data tracks. 206 November 2012 Security Features ID Card and FIT Definitions ID Card Data Tracks A customer card has one, two or three magnetic data tracks. These tracks retain sufficient information to identify a corresponding customer's account. FIT allows a terminal to find the information on the data tracks. Industry standards designate the three tracks as follows: Track 1, Track 2 and Track 3. Wincor Nixdorf terminals can be equipped to read each track and to write to Track 1/2 and 3. Normally, Track 1 contains the customer's name. Depending on the terminal programming, the name can be shown on the terminal screen during a transaction. Each track has a common set of reference delimiters that are specially encoded digits. The delimiters locate three positions: the start sentinel (SS), the end sentinel (ES), and the field separator (FS). If the track contains more than one separator, the separators are designated as the first field separator, second field separator, and so on. For error checking, there is one other digit on a track. This digit is the longitudinal redundancy digit (LRC). The start sentinel is the first track digit. The end sentinel and LRC are the last two digits. Track 1 can be encoded with up to 79 digits, including the sentinels, separator, and LRC. Track 2 can be encoded with up to 40 digits and track 3 can be encoded with up to 107. The tracks have the same physical length; they differ in capacity because of different encoding densities (bits per inch). The terminal reads the magnetic data digits of each track and stores the information in three data buffers. The data on a track is found by counting forward from the start sentinel or first field separator or backward from the end sentinel. November 2012 207 FIT (Financial Institution Table) Security Features FIT (Financial Institution Table) The FIT table contains data that specifies institution IDs, information required for PIN verification, and routing information for multi-institution terminal use. A FIT can also contains card formats and indexes indicating where to find specific information on a card. FIT data is down-line loaded to a terminal. Each of the FIT table bytes falls under following categories: • institution identification • indexes and lengths related to the ID card format • counts, digits, codes and keys for PIN verification and related security • reserved for future use Configuration Data Before processing transactions, a terminal must receive configuration data from the host. Configuration data is down-line loaded into the Windows registry location “..\LYNXCI\FIT”. The Financial Institution Tables are part of the configuration data which are added to the personality of the terminal. FIT data are down-line loaded in a Financial Institution Table Load command message, see section ”FIT Data Load” on page 280 for details. ProCash/NDC or ProConsult/NDC stores FIT data in the Windows registry location “..\LYNXCI\FIT”, which represents the FIT library. ProCash/NDC and ProConsult/NDC can store a maximum of 1000 FIT entries (000-999). The highest numbered FIT entry received in a Financial Institution Table Load command message marks the end of the FIT library. After reading an identification card, the terminal scans the FIT library, trying to match the card institution ID field with a particular FIT entry. If the terminal finds a match, it then proceeds to the PIN entry state table. See section ”PIN Entry State (B)” on page 74 in manual part 1 for details. An institution identification scan always begins with FIT 000 and continues until: • the terminal matches a FIT institution ID • the terminal finds a null FIT (a FIT which is not completed during a configuration down-line load) • the terminal reaches the end of the FIT library 208 November 2012 Security Features FIT (Financial Institution Table) FIT Library Restrictions A FIT library has four restrictions. Violating these restrictions may cause unpredictable terminal operation. FIT gap A FIT library should not have any gaps. A gap is one or more zero FIT’s between filled FIT’s. For example, if any sample application requires 27 FIT entries, they must be consecutively numbered from 000 to 026. The terminal then recognizes only FIT 000 to FIT 026 since any scan will find a zero FIT at FIT 027. The sample application could not use FIT 000 to FIT 013 followed by FIT 020 to FIT 032 because of the gap beginning with FIT 014 through FIT 019. Modifying the FIT library The financial institution can modify the FIT configuration data. For example, institution E has FIT’s 006 through 010. If, for some reason, institution E wishes to add another FIT, for example, between 008 and 009, the current FIT’s 009 through 011 must shift one position ahead to become 010 through 012. The inserted FIT becomes the new 009. On the other hand, if institution E wishes to drop a card format, for example, FIT 007, FIT’s 008 through the end of the library must shift back one position. Thus, 008 becomes 007, 009 becomes 008, and so forth. Never delete a FIT by omitting that FIT from a down-line load. This creates a gap in the FIT library at which FIT scanning will stop. Instead of deleting a FIT, renumber them. A FIT may contain all zeros (a zero FIT). The zero FIT must be last, because its PIDDX, PFIID, PSTDX and PINDX fields are not the same as those in the base FIT. An institution may include several zero FIT’s or groups of zero FIT’s within the down-line load. These zero FIT’s may be given values at a later date. Switch FIT’s A FIT entry that has a PFIID of all Fs will match any card. This entry must be the last FIT in the table. No FIT entry with a higher number will be checked. November 2012 209 FIT Data Definitions Security Features Multi Card, Multi Institution Capability An activator card has one to three magnetic data tracks (section ”ID Card and FIT Definitions” on page 206). Several FIT bytes indicate the size and location of the data fields on the tracks. These bytes specify the following: • on which track the specific data fields can be found • the direction of the data field, relative to a track delimiter • the number of track positions occupied Alternate Transaction Sequences A FIT may contain information that causes the terminal to follow alternate sequences of states and screens. This allows the use of transaction sets specifically designed for different activator card formats. This method uses the FIT switch state table. Refer to section ”FIT Switch State (K)” on page 110 for detailed description of this state. FIT Data Definitions The bytes that make up a FIT entry are divided into 16 fields. Many of the fields contain only one byte. A FIT byte represents one of the following: • two hex digits with hex values 0 to F for each digit • two hex digits with each digit restricted to the decimal values 0 to 9 • eight bits possibly divided into bit fields one to seven bits wide Table 56 shows the 16 fields listed by mnemonic, in alphabetical order; Table 57 shows these fields listed according to their positions in the FIT. 210 November 2012 Security Features FIT Data Definitions An index indicates how many digit positions should be skipped over between a track delimiter and the first data digit. Throughout this section, the term displacement means the number of digits to be skipped. A displacement equal to zero means skip no positions; the first data position is adjacent to the track delimiter. A displacement equal to three means skip three positions; the data begins in the fourth position. The following two tables give a short description about the FIT fields: table 56: Alphabetical FIT references Field Mnemonic Description Length Byte Position PAGDX ALGO number index (not used) 1 8 PANDX PAN index 1 12 PANLN PAN length 1 13 PANPD PAN pad character 1 14 PCKLN PIN check length 1 10 PDCTB decimalization table 8 17-24 PEKEY encrypted PIN key 8 25-32 PFIID institution identification 5 2-06 PIDDX institution index 1 1 PINDX data track locator 3 33-35 PINPD PIN pad character 1 11 PLNDX language code index 1 36 PMXPN maximum PIN entry digits 1 9 POFDX offset number index 1 16 PRCNT PIN retry count index 1 15 PSTDX indirect next state index 1 7 reserved (not used) 2 37-38 November 2012 211 FIT Data Definitions Security Features table 57: FIT fields listed by data track position Byte Position Length Field Mnemonic Description 1 1 PIDDX institution index 2-06 5 PFIID institution identification 7 1 PSTDX indirect next state index 8 1 PAGDX ALGO number index (not used) 9 1 PMXPN maximum PIN entry digits 10 1 PCKLN PIN check length 11 1 PINPD PIN pad character 12 1 PANDX PAN index 13 1 PANLN PAN length 14 1 PANPD PAN pad character 15 1 PRCNT PIN retry count index 16 1 POFDX offset number index 17-24 8 PDCTB decimalization table 25-32 8 PEKEY encrypted PIN key 33-35 3 PINDX data track locator 36 1 PLNDX language code index 37-38 2 reserved (not used) Institution Index (PIDDX) PIDDX is the displacement from the delimiter specified by PINDX (byte 0, low-order digit) to the start of the activator card institution identification field. PIDDX comprises two hex digits with values 00 to 7F. 212 November 2012 Security Features FIT Data Definitions Institution Identification (PFIID) PFIID is the institution identification number. After reading an activator card, the terminal scans its FIT library for a PFIID that matches the institution identification number on the activator card. PFIID contains ten hex digits (two per byte). Each digit must have a hex value of 0 to 9 or F (A, B, C, D and E are not permitted). An F in any position means “match all”; that is, any value on the activator card at that position matches. FIT's that have Fs in PFIID should be at the higher numbered positions in the FIT library. For example, a PFIID that is all Fs should be the last FIT in the library because all activator cards match the PFIID. FIT Switch Index (PSTDX) PSTDX indicates the next state location in the FIT Switch state table. See section ”FIT Switch State (K)” on page 110 for details. PSTDX comprises two hex digits with values 00 to 06 and . (PSTDX is not a displacement on the ID card.) Maximum PIN Entry Digits (PMXPN) PMXPN is the maximum number of PIN digits that the terminal accepts from a customer on any one PIN entry. PMXPN must be greater than or equal to the value of the five low-order bits of PCKLN. PMXPN comprises two hex digits with values of 04 to 10 for Diebold PIN block or 84 to 8C for ANSI PIN block. With the data security module installed, the PMXPN values are 04 to 0F. ProCash/NDC or ProConsult/NDC identifies a null FIT if PMXPN = 0. The highest order bit of PMXPN indicates whether Diebold or ANSI PIN block is used. The bit definitions are as follows: 0 - Diebold PIN block 1 - ANSI PIN block An institution may issue PIN's shorter than PMXPN. These are variable-length PIN's. Customers with variable-length PIN's enter their PIN digits, then press operation key A to signal the end of the PIN entry. November 2012 213 FIT Data Definitions Security Features PIN Check Length (PCKLN) PCKLN provides the following information to the terminal: The number of PIN digits to be verified. This number must be less than or equal to the maximum PIN length (PMXPN). If this number is less than PMXPN, the Diebold PIN verification process checks the last digits entered up to the number indicated by the PCKLN field. For example, if the customer has a PIN of 1346875 and the PCKLN is 4, the process will check the last four digits entered, 6875. The number of digits in the offset number. This number is always equal to the number of PIN digits verified. The PIN verification algorithm to be used for terminal PIN verification. This information is in two bit fields: 3 BITS 5 BITS The high-order three-bit field indicates the type of local terminal PIN verification to be used. BITS ALGORITHM 000 DES 001 not supported 010 Diebold (not supported) 011 reserved 100 not supported 101 reserved 110 reserved 111 reserved 214 November 2012 Security Features FIT Data Definitions DES and Diebold - The low order five-bit field is the number of PIN digits verified and the number of digits in the offset. The value must be less than or equal to PMXPN. If the entire PCKLN byte is zero, the terminal does not perform local PIN verification. TERMINAL VERIFICATION HEX VALUE RANGE none 00 DES 04-10 DES (EDM) 04-0F Diebold 40, 44 November 2012 215 FIT Data Definitions Security Features PIN Pad Character (PINPD) PINPD is only used for DES encryption of PIN’s in messages sent to the network. PINPD is reserved and equal to zero for other PIN verifications. PINPD comprises two hex digits. The high-order digit indicates the message encryption type, the key(s), and the use of the message coordination number. HIGH-ORDER BITS HEX TYPE OF ENCRYPTION USE AS KEY 1 USE AS KEY 2 USE COORD.NO. 0000 0 single COM none no 0010 2 double MASTER COM no 0011 3 double PIN* COM no 0100 4 none none none no 1000** 8 single COM none yes 1010** A double MASTER COM yes 1011** B double PIN* COM yes 1100 C none none none yes * PIN key is PEKEY decrypted by master key ** Not applicable with ANSI PIN block The low-order digit pads the PIN to the right in the PIN buffer of the terminal. When ANSI PIN block has been selected, PINPD is not used to pad the PIN. PINPD must be used to select the type of ANSI PIN block encryption. The PIN buffer stores the customer-entered PIN digits in an equal number of positions. Then, the pad digits concatenate to the PIN digits to yield 16 PIN buffer positions. When the message coordination number is not in the message sent to the network, the terminal encrypts (either single or double) these 16 PIN buffer digits before transmission. The 16 PIN buffer digits can also be sent without encryption, but this is not recommended. When the message coordination number is in the message to the network, the message coordination number is inserted in the PIN buffer before encryption. In effect, the PIN and pad shift right one position, loosing one pad digit. The valid range of hex values for PINPD includes 00 to 0F, 20 to 4F, 80 to 8F, and A0 to CF. 216 November 2012 Security Features FIT Data Definitions PAN Index (PANDX) PANDX is the displacement from the delimiter specified by PINDX (byte 1, loworder digit) to the start of the ID card PAN field (those PAN digits used for PIN verification). PANDX comprises two hex digits with values 00 to 7F. PAN Length (PANLN) PANLN is the number of PAN digits to be used for terminal PIN verification. Depending on PIN verification, PANLN has the following value limits: • DES - PANLN comprises two hex digits with values 00 to 10. • Diebold - PANLN comprises two hex digits with values 04 to 13 or 1F. PANLN must be greater than or equal to the value of the five low-order bits in PCKLN. When PANLN equals 1F, the terminal uses all PAN digits from the PANDX starting position to the field separator that follows. • ANSI PIN block - PANLN comprises two hex digits with values from 00 to 0C or 1F. When PANLN equals 1F, the PAN is obtained as follows: – locate the first field separator on the specified track. – count back 13 digits or to the first digit before the start sentinel, whichever count is the least. – the PAN will include all the digits from this point up to but not including the last digit before the first field separator. – the delimiter and direction specified in PINDX and PANDX do not apply. November 2012 217 FIT Data Definitions Security Features PAN Pad Character (PANPD) PANPD has three definitions (depending on the PIN verification scheme used): DES - PANPD comprises two hex digits. The low-order digit pads those PAN digits specified by PANLN (to 16 positions). The 16-position padded PAN is then encrypted to produce a generated (natural) PIN. The high-order PANPD hex digit specifies which of the following encryption keys is used: 0 = use the PIN key (decrypted PEKEY) 8 = use the master key Other hex values of either 00 to 0F or 80 to 8F. DIEBOLD - PANPD is the algorithm number (ALGO) when PAGDX equals hex FF. When PAGDX does not equal FF, PANPD is not used and is, thus, equal to zero. PANPD comprises two hex digits with each digit restricted to values 0 to 9 (hex values A to F not permitted). The PANPD values are 00 to 99. PIN Retry Count Index (PRCNT) The low-order seven bits of PRCNT are the displacement from the delimiter specified by PINDX (byte 1, high-order digit) to the ID card PIN entry count field. The high-order bit of PRCNT indicates the retry count conditions. HI-ORDER BIT CARD RETRY COUNT CONDITION FORMAT 1 ISO Count down on each retry; stop at zero. 0 MINTS Count up on each retry; stop at the retry value in PIN entry state table. PRCNT comprises two hex digits with values 00 to 7F (MINTS) or 80 to FE (ISO) or FF. When PRCNT is hex FF, the PIN entry count is not on the ID card, but in the PIN entry state table. 218 November 2012 Security Features FIT Data Definitions Offset Number Index (POFDX) POFDX is the displacement from the delimiter specified by PINDX (byte 2, loworder digit) to the start of the ID card offset field. POFDX comprises two hex digits with values 00 to 7F or FF. When the value of POFDX equals hex FF, the offset is not used. Decimalization Table (PDCTB) PDCTB is the DES decimalization table containing a pattern of decimal digits (two per byte, hex values A to F not permitted). The institution is responsible for producing values for PDCTB. A sample value follows: 01 23 45 67 89 AB CD EF (standard hex digits) 01 23 45 67 89 01 23 45 (decimalized digits) The digit positions map the corresponding hex digits from the DES process to ensure that only decimal digits result. Each decimal digit (0 to 9) should appear at least once, but not more than twice. Encrypted PIN Key (PEKEY) PEKEY is the encrypted PIN key. The master key encrypts the PIN key. The PIN key encrypts the PAN digits specified by PANDX and PANLN to yield a generated PIN for DES terminal PIN verification. PEKEY comprises 16 hex digits (two per byte), with each digit having a hex value of 0 to F. For non-DES operation PEKEY is reserved and all bytes must be hex 00. The institution is responsible for providing PEKEY values. November 2012 219 FIT Data Definitions Security Features Data Track Locator (PINDX) PINDX comprises six hex digits (two per byte). Five of the six PINDX digits specify the ID card data track delimiter to be used in conjunction with five corresponding indexes (PAGDX, PIDDX, PRCNT, PANDX, PLNDX and POFDX). PINDX Byte Hi-Order HEX digit LO-Order HEX digit FIT byte 33 PAGDX (ALGO) PIDDX (ID) FIT byte 34 PRCNT (RETRY) PANDX (PAN) FIT byte 35 PLNDX (LANGUAGE) POFDX (OFFSET) The four bits of each non-reserved digit define a track, a delimiter and a direction from that delimiter. Digit Bits Bit Pair Definition 00XX Start sentinel, count forward 01XX First field separator, count forward 10XX End sentinel, count backward 11XX Reserved XX00 Track 2 XX01 Track 3 XX10 Track 1 XX11 Reserved Language Code Index (PLNDX) The Language Code Index specifies the offset for the language code on the ID card. This field can be used in conjunction with state V (Language Select from Card state). The V state sets the screen group of multi language screens that should be displayed during transactions. PLNDX is in range of 01-7F hex. The value of 00 hex is not allowed if the language code is used. The value 7F hex means zero if the language code is used and the search is backwards from an end sentinel only. 220 November 2012 Security Features Message Authentication (MAC) Message Authentication (MAC) Overview Message authentication minimizes the risk of unauthorized tampering with the messages sent between the terminal and the network. Message modification and message replay are two methods of message tampering. Message modification is where the data communication lines between the terminal and next node are tampered with so that values in a message can be changed for fraudulent purposes. Message replay is where entire messages are copied from a previous transaction and retransmitted later for fraudulent purposes. To help minimize the risk of message tampering, two fields are added to the messages, a time variant number and a Message Authentication Code (MAC). The time variant number is a randomly-generated eight-digit hex number. This number is generated by the terminal for each transaction request message. The MAC is an eight-digit hex number containing the result of a MAC calculation on the message. For example, the transaction request message is formed and includes a time variant number. Once this is done, a DES operation is performed on the message using the master key and the DES algorithm. The result of this operation is the MAC. The MAC is placed in the MAC data field at the end of the message. Upon receiving the message, the network performs the same DES operation on it. The network then compares the result of this DES operation with the MAC contained in the MAC data field. If the two match, the network is assured that the message is from a valid terminal and that it has not been tampered with. The network then returns the time variant number with its Transaction Reply command. The ATM can check that this is the same time variant number sent in the transaction request. This ensures that the entire process is authentic. Messages that can be authenticated are as follows: • Transaction Request command • Transactioen Reply command • State Table Load command • FIT Table Load command • MAC Field Selection Load command • Solicited Status messages November 2012 221 Message Authentication (MAC) Security Features The ANSI standard X9.9 describes the procedures and provides the algorithm used to calculate the MAC data. A MAC master key is used with this algorithm to perform the MAC calculation. This master key is down-line loaded from the network in an Encryption Key Load command message. MAC flags Message Authentication is controlled by some configuration parameters which have to be set in PARAC configuration file ’CUSTOM.PPF’. The following table shows the MAC flags to be activated: table 58: MAC flags definition NDC PARAMETER in FLAG CUSTOM.PPF 1 2 8 9 10 222 VALUE DESCRIPTION 0 Do not check TVN in Transaction reply messages, or MAC in Transaction reply, State Table or FIT Load messages. 1 Check TVN in Transaction reply messages, or MAC in Transaction reply, State Table or FIT Load messages. 0 Do not send the TVN and MAC data in Transaction Request messages 1 Send the TVN and MAC data in Transaction Request messages 0 Do not check the Security Terminal Number in Tran. Reply messages 1 Check the Security Terminal Number in Tran. Reply messages 0 The MAC calculation is performed on the whole message 1 The MAC calculation is performed on the fields that are specified in the MAC field selection table downloaded from host. 0 Do not send the TVN and MAC on solicited device status messages 1 Send the TVN and MAC on solicited device status messages SEND_MACHINE_NO (not configurable via ProTopas/SOP-NDC 0 Do not include the Security Terminal Number in terminal to host messages Include the Security Terminal Number in terminal to host messages MAC_ASCII (not configurable via ProTopas/SOP-NDC 0 Calculate the MAC in EBCDIC 1 Calculate the MAC in ASCII CHECK_TVN_MAC SEND_TVN_MAC CHECK_MACHINE_NO MAC_FLD_SELECTED SEND_TVN_MAC_SOL 1 November 2012 Security Features Message Authentication (MAC) Security Terminal Number (Machine Number) Message Authentication uses a six digit Security Terminal Number in the messages which has to be included to build the MAC field. The Security Terminal Number can be entered in the User Exit functions item ’Enter Machine no.’ of ProSop. If you have configured the ProTopas/SOP-NDC, refer to the ProTopas/SOP-NDC Operator Manual for details. See also ProCash/NDC ProConsult/NDC Installation manual section [HARDWARE_CONFIGURATION] about MACing activation. MAC data field There are two additional fields in the messages for message authentication. The first field, the MAC data field, contains the result of a MAC calculation performed on the message. This MAC calculation uses the MAC master key and the DES algorithm to obtain its result. The MAC data field is calculated by performing a MAC calculation on the message from the first field after the protocoldependent header (on a Transaction Reply command this is the Transaction Reply command identifier) up to but not including the field separator preceding the MAC data field. The MAC data field is always the last field of the message preceding the end of text (ETX). The digits on which the MAC calculation is performed are the same digits that appear on the communications line. For example, if the protocol is IBM 3275 EBCDIC, the digits that are authenticated will be EBCDIC; if the protocol is IBM 2265 ASCII, the digits will be ASCII. Time variant number If the message is a transaction request or Transaction Reply command, another field, the time variant number, is also included in the message. The time variant numbers are generated randomly by the terminal. If a terminal expects a MAC in a message and does not receive it, the terminal will reject the message. On the other hand, if a terminal does not expect a MAC but receives it, the terminal operation is not guaranteed. Refer to section ”Messages” on page 227 for more details on the messages. November 2012 223 Message Authentication (MAC) Security Features Typical Message Authentication Procedure The following steps describe a typical message authentication procedure. • If the terminal is sending a transaction request message, it first generates a time variant number and inserts the number after the third field separator of the message. • The terminal performs a MAC calculation on the transaction request message. The result of this calculation is placed at the end of the message in the MAC data field. • When the network receives the transaction request message, it performs a MAC calculation on the message. • The network compares the result of the MAC calculation with the data in the MAC data field. If the two are the same, the network generates a Transaction Reply command message instructing the terminal to perform the desired transaction. If not, a Transaction Reply command message is sent directing the customer to try another transaction. • The network inserts the time variant number received in the transaction request message into the Transaction Reply command message. • The network performs a MAC calculation on the Transaction Reply command message. The result of this calculation is placed at the end of the message in the MAC data field. • When the terminal receives the Transaction Reply command message, it performs a MAC calculation on the message. • The terminal compares the result of the MAC calculation with the data in the MAC data field of the Transaction Reply command message. If the two are the same, the terminal then continues to step 9. If not, the terminal sends a command reject in a solicited status message. • The terminal then compares the time variant number sent in the transaction request message to the time variant number received in the Transaction Reply command message. If the two are the same, the terminal services the Transaction Reply command. If not, the terminal sends a command reject in a solicited status message. 224 November 2012 Security Features Triple DES operation MACing for State and FIT Table Load commands For the State Table Load and FIT Table Load command messages, only the MAC data field is used for message authentication. The network performs a MAC calculation on the Load command message being sent and puts the result in the MAC data field. When the terminal receives the message, it performs a MAC calculation on the message. The terminal then compares the result of the MAC calculation with the MAC data field. If the two are the same, the terminal accepts the Load command message. If not, the terminal transmits a command reject in the solicited status message. Triple DES operation Since release 1.2/10 ProCash/NDC is able to operate in triple DES mode. For triple DES operation, following minimum conditions are required: • The EPP hardware of the system must be able to operate with double length triple DES keys (minimum firmware version 4.23). • Triple DES mode has to be enabled in the installation dialog of ProCash/NDC at the beginning of the installation process. Refer to ProCash/NDC Installation manual for details about Triple DES configuration. • The host system must be able to download double length triple DES keys to the terminal. • Local security keys (Master-Key , COM-Key) have to be entered via Triple DES key entering method. EMV capability Since release 1.3/00 ProCash/NDC supports transactions with EMV data. Please refer to Wincor Nixdorf / Diebold D91x Message Format Extension for EMV for detailed descriptions how to integrate EMV support. November 2012 225 Remote Key Loading (RKL) capability Security Features Remote Key Loading (RKL) capability Since release 1.3/00 ProCash/NDC supports Remote Key Loading (RKL). Please refer to Wincor Nixdorf / Diebold D91x Message Format Extension for RKL for detailed descriptions how to integrate RKL. Payment Card Industry (PCI) compliance ProCash/NDC and ProCash/DDC follows the european PCI Data Security Standard (DSS). The PCI DSS is a multifaceted security standard that includes requirements for security management, policies, procedures, network architecture, software design and other critical protective measures. The application hides security relevant user data (exp. track data, PIN data, etc.). PCI PA DSS support and documentation Please contact the international support refering to ProCash/NDC and ProCash/DDC Payment Card Industry Payment Application Data Security Suite v1.2 Implementation Guide. 226 November 2012 Messages This section describes the messages that make up the communications interface between the Wincor Nixdorf terminals and the controlling network. Unless otherwise indicated, information refers to all versions. The terminal gathers all the necessary information for a transaction request. Typically this information consists of the following: • account card data including the Primary Account Number (PAN) • the Personal Identification Number (PIN) • various terminal keyboard inputs figure 2: “Transaction message flow” on page 228 is an example of a typical message exchange sequence. The Transaction Request message is sent to the network. The network responds to a Transaction Request message with a Transaction Reply command message. The Transaction Reply command message tells the terminal how to accomplish the requested transaction. After the terminal completes the transaction with the customer, it sends a solicited status message to the network. The basic message formats used in the system are fixed. These formats contain the necessary control characters to conform with most protocol formats. This section shows the format for each message type used in the system. Messages can travel either from the terminal to the network, or from the network to the terminal. Messages from Terminal to Network The terminal transmits three message types. • Solicited Status messages • Unsolicited Status messages September 2012 227 Messages from Terminal to Network Messages Transaction Request messages • figure 2: Transaction message flow TERMINAL NETWORK Consumer enters card and PIN Transaction Request message Consumer enters request data; terminal formats request Complete transaction as directed; format status message Make decision to allow or disallow transaction Transaction Reply message Solicited Status message Record completed transaction The following subsections illustrate these messages in tabular form. The notes in the following table apply to all tables. table 59: Code conventions Code Symbols Description X This symbol indicates that the terminal ignores the data. The data for this code must be a valid character as described in this manual. An example of an invalid Wincor Nixdorf terminal character for this code is a zero (hex 00). --- Three dashes indicate that the field data is dependent on the specific transaction performed and the valid entries for the field. Refer to the field descriptions in this manual. : The colon symbol indicates that the following two digits are a hexadecimal number. ‘ ‘ Single quotation marks indicate that the characters enclosed within them are graphic characters from an ASCII or EBCDIC code set. 228 September 2012 Messages Messages from Terminal to Network [ ] Brackets indicate that the field is optional. The field can be deleted completely from the message without affecting the format or meaning of the message. The data for this code must be a valid character as described in this manual. An example of an invalid Wincor Nixdorf terminal character for this code is a zero (hex 00). It will be skipped by the emulation. VAR (Numeric) VAR indicates that the length of the field is variable. Numeric parenthetic expressions following VAR show the maximum number of characters allowed in the field. figure 3: Terminal to network messages Terminal to network messages Solicited Status TERMINAL Unsolicited Status HOST Transaction Request September 2012 229 Messages from Terminal to Network Messages Transaction Request message This message contains data which the network needs to authorize a customer transaction at the terminal. The maximum length of this message is 2000 characters (bytes). The network answers a Transaction Request with a Transaction Reply command to the terminal. The following table shows the data fields and sequence of fields for a Transaction Request message. table 60: Transaction Request message Description Code No. of Characters solicited/unsolicited ID ’1’ 1 message identifier ’1’ 1 field separator (FS) :1C 1 logical unit number (LUNO) --- 3 or 9 field separator (FS) :1C 1 field separator (FS) :1C 1 time variant number [---] 8 field separator (FS) :1C 1 top-of-form flag --- 1 message coordination number --- 1 field separator (FS) :1C 1 track 2 data [VAR] Var (40 max) field separator (FS) :1C 1 track 3 data [VAR] Var (106 max) field separator (FS) :1C 1 operation code buffer [---] 0 or 8 field separator (FS) :1C 1 whole-amount/cents keyboard entry [---] 0, 8 or 12 field separator (FS) :1C 1 PIN buffer (Buffer A) [VAR] Var (16 max) field separator (FS) :1C 1 general purpose buffer B [VAR] Var (32 max) field separator (FS) :1C 1 230 September 2012 Messages Messages from Terminal to Network Description Code No. of Characters general purpose buffer C [VAR] Var (32 max) field separator (FS) [:1C] 1 track 1 data buffer (1) identifier [1] 1 track 1 data buffer [VAR] Var (79 max) field separator (FS) [:1C] 1 [1] Transaction status identifier [2] 1 [1] Last transaction status data [VAR] 25 [1] field separator (FS) [:1C] 1 CSP data ID ’U’ [:1C] 1 CSP data [VAR] Var (16 max) field separator (FS) [:1C] 1 confirmation CSP data ID ’V’ [:1C] 1 confirmation CSP data [VAR] Var (16 max) field separator (FS) [:1C] 1 [2] MAC data [---] 8 [2] [1] These bytes are only sent if the download option is selected in the „Enhanced Configuration Parameters“ load message. [2] These bytes are only sent if MACing is used The following paragraphs describe the fields in the Transaction Request message. Solicited/unsolicited message field Field size: 1 character Valid range: 1-2 Description: This field tells the network whether the message is solicited or unsolicited. The valid entries for this field are as follows: 1 - unsolicited message 2 - solicited message In case of a Transaction Request message, this field will be 1. September 2012 231 Messages from Terminal to Network Messages Message identifier field Field size: 1 character Valid range: 1 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Transaction Request message is 1. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number used for MACing. See section ”Message Authentication (MAC)” on page 221 for further information. Time variant number Field size: 8 characters Valid range: See description Description: This is an eight-character field, containing hexadecimal characters, randomly generated by the ATM. See chapter ”Security Features” from page 197 for further information. 232 September 2012 Messages Messages from Terminal to Network Top-of-form (TOF) flag Field size: 1 character Valid range: 0-1 Description: This data field informs the network if this transaction is printing at the top of the transaction record form. The valid values are as follows: 0 - not printing this transaction at the top of the transaction record form. 1 - printing transaction at the top of the transaction record form. Message coordination number Field size: 1 character Valid range: ASCII 31-3F (or extended range 31-7E) Description: This is a character assigned by the terminal to each transaction request message. The terminal assigns a different coordination number to each successive transaction request on a rotating basis. The valid range for the coordination numbers is graphic ‘1’ through ‘9’, ‘:’, I ;’, <" =, , ‘>‘, and ‘?’ (ASCII 31 through 3F). If the extended range for the message coordination number field is enabled (Enhanced Configuration Parameters Load message), the valid range is ASCII 31 trough 7E. The host or controller must include the corresponding coordination number when responding with a transaction reply message. If the coordination numbers do not match, the terminal sends a solicited status message with a command reject status. Track 2 data field Field size: Variable Valid range: See description Description: This variable length data field contains up to 40 characters of data from track 2 of the magnetic stripe on the customer’s account card. This field includes the data from the start sentinel to the end sentinel inclusive. September 2012 233 Messages from Terminal to Network Messages Track 3 data field Field size: Variable Valid range: See description Description: This is variable length field contains up to 106 characters of data from track 3 of the magnetic stripe. This field includes the data from the start sentinel to the end sentinel inclusive. Operation code buffer Field size: 0 or 8 characters Valid range: See description Description: The operation code buffer field contains the data collected in the operation code buffer as a result of function display keys (FDK’s) pressed. States D, E and Y determines the contents of this field, which identifies the transaction selected by the consumer. The field can be either zero or eight characters long. The Preset Operation Code state can clear and preset any of the positions in the operation code buffer. State E or Y determine in which position and how many graphics are stored in the operation code buffer when an FDK is pressed. For detailed descriptions refer to following sections: “Pre-Set Operation Code Buffer State (D)” on page 82 “Four FDK Selection Function State (E)” on page 88 “Eight FDK Selection State (Y)” on page 147 234 September 2012 Messages Messages from Terminal to Network Whole-amount and Cents keyboard entry field Field size: 0 or 8, 0 or 12 Valid range: See description Description: If the amount buffer size feature is not selected, the whole-amount and Cents keyboard entries field can be either zero or eight characters long. If the amount buffer size feature is selected, this field can be either zero or twelve characters long. This field identifies the whole-amount and cent amount entered at the keyboard. The content of this field is determined by the Amount Entry state. The data is right-aligned with zeros to fill unused positions on the left. PIN buffer Field size: 0 or up to 16 characters Valid range: See description Description: The variable-length PIN buffer field will contain either no characters (if local PIN check is used) or the 16-character encrypted or decrypted PIN (if remote PIN check is used). The PIN buffer is also known as general purpose buffer A. General purpose buffer B Field size: Up to 32 characters Valid range: See description Description: The contents of the variable-length general purpose buffer B field depend on whether the consumer message is being sent in response to an interactive transaction screen. If it is not being sent in response to an interactive transaction screen, this field only contains up to 32 digits that were entered by the customer. If it is being sent in response to an interactive transaction screen, this field contains up to 32 digits that were entered by the customer, and, if less than 32 digits were entered, this field also contains the character representing the operation key pressed or a timeout (A, B, C, D, E (cancel) or T (time-out)). September 2012 235 Messages from Terminal to Network Messages General purpose buffer C Field size: Up to 32 characters Valid range: See description Description: The variable-length general purpose buffer C field contains up to 32 digits that were entered by the customer, if so selected by the information entry state. Track 1 data buffer identifier (1) Field size: 1 character Valid range: 1 Description: This one-character field identifies the data that follows in the next field as track 1 data. Track 1 data field Field size: Variable (79 maximum) Valid range: See description Description: This variable-length field contains up to 79 characters of data from the track 1 magnetic stripe. This field includes the data from the start sentinel to the end sentinel inclusive. Transaction status data identifier Field size: 1 Valid range: 2 Description: Identifies the following data in the next fields as Transaction status data of the previous transaction. 236 September 2012 Messages Messages from Terminal to Network Last transaction status data Field size: 25 Valid range: See description Description: Contains status data relating to the previous transaction performed by the terminal. It contains the following data: •Last transaction serial number - 4 bytes Contains the four-digit serial number of the last transaction processed by the terminal. •Last status issued - 1 byte Contains one byte identifying what the last known status message sent from the terminal was. The field can contain the following values: ’0’ - none sent ’1’ - good termination sent ’2’ - error status sent ’3’ - transaction reply rejected •Last transaction notes dispensed - 20 bytes Contains four five-digit decimal counts defining the notes dispensed on the last transaction. The following fields are included only if a coin dispenser module is installed: •Last transaction coinage amount dispensed. It is included for migration purposes for Central Applications which support third generation coinage dispensing. It is set to ‘00000’. •Last transaction coins dispensed contains four five-digit decimal counts defining the coins dispensed from each hopper on the last dispense transaction. These will be zero if the last function command was not a coin dispense type function or if this is the first transaction from a ‘cold’ start. September 2012 237 Messages from Terminal to Network Messages CSP data ID ’U’ Field size: 1 character Valid range: ’U’ Description: The value ’U’ in this field identifies the following field as the first Customer selected PIN data. If this field is selected in the transaction request state table and no CSP has been requested only this field will be present. CSP data Field size: 16 characters Valid range: See description Description: This field contains an encrypted 16 character PIN. Confirm CSP data ID ’V’ Field size: 1 character Valid range: ’V’ Description: Confirmation CSP data ID ’V’ is the field that identifies the following field as the second Customer selected PIN data. If this field is selected in the transaction request state table and no CSP has been requested only this field will be present. If the CSP state indicates that loacal verification of the two CSP’s is to be carried out only the identifier will be sent if requested by the transaction request state. Confirmation CSP data Field size: 16 characters Valid range: See description Description: Confirmation CSP data. This field contains an encrypted 16 character PIN. 238 September 2012 Messages Messages from Terminal to Network MAC data field Field size: 8 characters Valid range: See description Description: This eight-character field contains hexadecimal characters that represent the MAC calculation of the transaction request message. See the section ”Message Authentication (MAC)” on page 221 for additional details. September 2012 239 Messages from Terminal to Network Messages Solicited Status messages Solicited Status messages are sent from the terminal as the response to command messages received from the network. The maximum length of this message is 256 characters. The network expects a reply concerning the results of the last function performed through a Solicited Status message. If an error is detected during the last function performed, error status data pertaining to the terminal is inserted into the status message. If the functions are performed as commanded, a ready status indicator is inserted into the status message. The following tables list the data field associated with the Solicited Status message and shows field positions. The following table contains the fields of the solicited status message: table 61: Solicited Status message Description Code No. of Characters solicited/unsolicited ID ‘2’ 1 message identifier ‘2’ 1 field separator (FS) :1C 1 logical unit number (LUNO) --- 3 or 9 field separator (FS) :1C 1 field separator (FS) :1C 1 status descriptor --- 1 field separator (FS) [:1C] 1 status information [---] VAR field separator (FS) [:1C] 1 [1] MAC data field [---] 8 [1] [1] These bytes are only sent if MACing is activated for the solicited message. 240 September 2012 Messages Messages from Terminal to Network The following paragraphs describe the fields for the solicited status message. Solicited/unsolicited message field Field size: 1 character Valid range: 1-2 Description: This field tells the network whether the message is solicited or unsolicited. The valid entries for this field are as follows: 1 - unsolicited message 2 - solicited message In the case of the solicited status message, this field will be 2. Message identifier field Field size: 1 character Valid range: 2 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Solicited Status message is 2. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See chapter ”Security Features” from page 197 for additional details. September 2012 241 Messages from Terminal to Network Messages Status descriptor Field size: 1 character Valid range: See description Description: This one-character field describes the terminal status as it responded to the command. The valid values are as follows: ‘8’ - device fault or configuration information. This character indicates a terminal device is reporting an abnormal status or that configuration information follows. ‘9’ - ready. This character indicates the successful completion of either a terminal command or a Transaction Reply command when the separate ready for Transaction Reply command is not selected. ‘A’ - general command reject. This character indicates the unsuccessful completion of either an terminal command or a Transaction Reply command. For example, a graphic ‘A’ can be inserted into the status descriptor if the terminal receives any of the following: - an illegal command - illegal data from the network - configuration data while “In Service” mode Some additional general command reject conditions are listed in section ”Specific Command Reject Conditions” on page 302. ‘B’ - ready. When separate ready for Transaction Reply commands is selected, this character indicates successful completion of the Transaction Reply command. ‘C’ - specific command reject. The terminal sends this character if the specific command reject option is enabled. This character indicates the unsuccessful completion of a message because of a message authentication code (MAC) failure or a time variant number failure, Message Format or Field errors. The terminal can send this character in response to any of the following messages: - a Transaction Reply command message - a State Tables Load command message - a FIT Data Load command message ‘F’ - Terminal State. This is sent in response to terminal commands requesting Tallies, Logs, Supply Counters or terminal configuration information. 242 September 2012 Messages Messages from Terminal to Network Status information (status descriptor ‘F’ - Terminal State) Field size: VAR Valid range: See description Description: The status information will vary according to which of the following terminal commands has been received by the terminal: •send configuration information •send supply counters •send error log information •send date/time information •send configuration ID •send Software ID and release number See section ”Solicited Status (terminal state)” on page 326 for detailed description of status information. September 2012 243 Messages from Terminal to Network Messages Status information (status descriptor ‘8’ - Device Fault) Field size: 1 character Valid range: See description Description: If the status descriptor = ’8’, this field identifies device reporting abnormal status of following devices: ‘D’- card reader/writer ‘E’- cash dispenser ‘F’- deposit ’G’- receipt printer ’H’- journal printer ‘V’- statement printer ’\’- envelope dispenser ’Y’- coin dispenser See section ”Solicited Status (device fault)” on page 361 for detailed description of status information. MAC data field Field size: 8 characters Valid range: See description Description: This eight-character field contains hexadecimal characters that represent the MAC calculation of the transaction request message. See the section ”Message Authentication (MAC)” on page 221 for additional details. 244 September 2012 Messages Messages from Terminal to Network Unsolicited Status messages This message is transmitted to the network when a change of status occurs at the terminal. Maximum length is 256 characters. The following table contains the status fields of unsolicited messages: table 62: Unsolicited Status message Description Code No. of Characters solicited/unsolicited ID ‘1’ 1 message identifier ‘2’ 1 field separator (FS) :1C 1 logical unit number (LUNO) --- 3 or 9 field separator (FS) :1C 1 field separator (FS) :1C 1 status information --- VAR The following paragraphs describe the fields in the unsolicited status message. Solicited/unsolicited message field Field size: 1 character Valid range: 1-2 Description: This field tells the network whether the message is solicited or unsolicited. The valid entries for this field are as follows: 1 - unsolicited message 2 - solicited message In the case of the Unsolicited Status message, this field will be 1. September 2012 245 Messages from Terminal to Network Messages Message identifier field Field size: 1 character Valid range: 2 Description: This one-character data field defines the type of message being transmitted. The only valid value for the unsolicited status message is 2. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See chapter ”Security Features” from page 197 for additional details. Status information Field size: Variable Valid range: See description Description: This field contains the device identifier and device status information. For details of this field, refer to section ”Unsolicited Device Status” on page 369 of NDC device status. 246 September 2012 Messages Network to Terminal messages Network to Terminal messages There are three basic message types transmitted from the network to the terminal. 1. Transaction Reply command (message ID ‘4’) 2. Terminal command (message ID ‘1’) 3. Load command (message ID ’3’) See the following figure for an overview. There are several download commands used in communications between network and terminal. States, Screens, FIT’s, and terminal configuration data download commands are part of configuration data during terminal startup. Load commands can be sent as interactive transaction responses that are used during system operation to satisfy transaction requests. Encryption Key Load commands are used during terminal startup (or for dynamic key exchange used by some customers) to load new encryption keys. The Configuration ID Number Load command is used to change the configuration ID after terminal startup and whenever new configuration data is sent to the terminal. figure 4: Network to terminal commands Network to terminal messages Load commands TERMINAL Transaction Reply commands HOST Terminal commands September 2012 247 Network to Terminal messages Messages Transaction Reply command (message ID ‘4’) The Transaction Reply command message is sent to the terminal in response to a Transaction Request message. Two conditions must be fullfilled for the transmission of the Transaction Reply command message to the terminal. • The customer has entered all the required data for a specific transaction request. • The request has been sent to the network. The Transaction Reply command acts as an authorization to the terminal to complete the transaction. The Transaction Reply command message is restricted to a length of 2000 characters. It is prohibited to transmit a Transaction Reply command message without the end of text character. table 63: “Transaction Reply command message” on page 248 lists the fields of the Transaction Reply command message. The paragraphs following the tables describe the fields in the Transaction Reply command message. table 63: Transaction Reply command message Description Code No. of Characters Transaction Reply command identifier ‘4’ 1 response flag [X] 1 field separator (FS) :1C 1 logical unit number (LUNO) [X] 3 field separator (FS) :1C 1 message sequence number [X] 3[1] field separator (FS) :1C 1 next state ID (000-254, 256-999, A00-ZZZ) [---] 3 field separator (FS) :1C 1 number of bills to dispense [---] VAR group separator (GS) [:1D] 1 number of coins to dispense [---] VAR field separator (FS) :1C 1 transaction serial number --- 4 function identifier --- 1 248 September 2012 Messages Network to Terminal messages Description Code No. of Characters screen number (010-999) [---] 3 screen display update data [---] VAR field separator (FS) :1C 1 message coordination number --- 1 card return/retain flag --- 1 printer flag (0 - 4) (8) (=) --- 1 printer data --- VAR (580 max) group separator (GS) [:1D] 1 printer flag (0 - 4) [---] 1 printer data [---] VAR group separator (GS) [:1D] 1 printer flag (0 - 4) [---] 1 printer data [---] VAR group separator (GS) [2] [:1D] 1 printer flag (0 - 4) [2] [---] 1 [---] VAR field separator (FS) :1C 1 buffer identifier (4) [‘4’] 1 track 3 data [---] VAR (106 max) field separator (FS) :1C 1 buffer identifier (E) [‘E’] not supported document destination [---] not supported lift front/rear image(s) [---] not supported archive lifted front/rear image(s) [---] not supported printer data [2] lift zones in image list [---] not supported archive lifted image list zones [---] not supported check magnetism [---] not supported check zone verification [---] not supported report candidates/identify [---] not supported September 2012 249 Network to Terminal messages Messages Description Code No. of Characters document entry retries [---] not supported field separator (FS) [:1C] 1 [3] buffer identifier (F) [‘F’] not supported document enable code [---] not supported group separator (GS) [:1D] not supported document name [---] not supported track 1 buffer identifier (K) ’K’ 1 track 1 data [---] VAR (max 78) track 2 buffer identifier (L) ’L’ 1 track 2 data [---] VAR (max 39) field separator (FS) [:1C] 1 [3] MAC data [---] 8 [3] [1] If message authentication is used, the three-byte message sequence number is replaced by an eight-byte time variant number, and the optional field separator and MAC data are included in the message. [2] This fields can be repeated up to nine further times. [3] This group of fields (FS/MAC Data) is used only when MAC is configured. The following paragraphs describe the fields in the State Table Load command message. The following paragraphs describe the fields in the Transaction Reply command message. Message identifier field Field size: 1 character Valid range: 4 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Transaction Reply command message is 4. 250 September 2012 Messages Network to Terminal messages Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). If the terminal uses MACing, this field is replaced by an eight-byte Time Variant Number. See chapter ”Security Features” from page 197 for details. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See chapter ”Security Features” from page 197 for additional details. Next state ID data field Field size: 3 characters Valid range: 000-511 Description: This three-character data field contains a decimal number from 000 to 511 in three bytes of graphic code. This field defines the state number which the terminal should execute after the normal completion of the specified Transaction Reply command. Number of bills to dispense Field size: Variable Valid range: See description Description: This field contains the two digit number of bills to dispense for logical cassette type 1 through 4. If the number of bills requested by the host are higher than the cash dispenser is able to dispense in one bundle, the terminal responds with a command reject or a specific command reject. September 2012 251 Network to Terminal messages Messages Number of coins to dispense Field size: Variable Valid range: See description Description: This field contains the two digit number of coins to dispense for coin hopper 1 through 4. Valid range is 00-50 for each hopper. Transaction serial number Field size: 4 characters Valid range: 0000-9999 Description: The transaction serial number data is four characters of graphic code which identify the transaction to the network. This number originates at the network when a transaction request message is received. The depository printer prints this number on the deposit envelope. Function identifier field Field size: 1 character Valid range: See description Description: The contents of this one-character data field instruct the terminal as to what functions it is to perform. The valid characters are listed as follows: Function ID ’1’ or ‘7’ ’2’ or ‘8’ ’3’ or ‘9’ ‘4’ ‘5’ ‘6’ 252 Short description of the function instructs a deposit + print instructs a dispense + print instructs a display + print instructs a print immediate. A graphic ‘4’ instructs the terminal to print the information sent down-line to the terminal. This function ID is often used when the operator requests to balance the terminal. instructs a set next state + print. A graphic ‘5’ instructs the terminal to print the information sent down-line to the terminal; the terminal proceeds to the next state defined in the Transaction Reply command. This function ID is often used when the consumer requests an inquiry, when a transaction is disallowed, or for any print operation. Night safe deposit and print September 2012 Messages Network to Terminal messages ‘A’ ‘F’ ‘P’ ‘B’ or ‘C’ ‘Q’ eject card and dispense and print (card before cash) card before parallel dispense and print instructs a print statement and wait parallel dispense and print and card eject Print statement and next state Screen number Field size: 3 characters Valid range: 000-999 Description: This field contains either a three-digit decimal value from010 to 999, or a five-character value containing a four-digit screen number prefixed with the letter ’u’ or ’l’. The screen number defines the screen to be displayed on the terminal during execution of the specified function. To select a screen from the current language group, use either group ’l’ or a three-digit screen number. To select a screen independently of language group, use group ’u’. Screen display update Field size: Variable Valid range: See description Description: This variable-length field contains screen numbers and new screen data which can replace existing screen data. The new screen data can be displayed when this screen number is referenced during transaction processing. The screen update data have the following format: No. of Bytes Content 3 screen number VAR screen data 1[1] group separator 4[1] reserved field (should be 4 spaces) 3 [1] screen number [1] VAR screen data [1] These fields are repeated if multiple screens are updated within one reply message. September 2012 253 Network to Terminal messages Messages Message coordination number Field size: 1 character Valid range: ASCII 31-3F (or extended range 31-7E) Description: This is a character assigned by the terminal to each transaction request message. The terminal assigns a different coordination number to each successive transaction request on a rotating basis. The valid range for the coordination numbers is graphic ‘1’ through ‘9’, ‘:’, I ;’, <" =, , ‘>‘, and ‘?’ (ASCII 31 through 3F). If the extended range for the message coordination number field is enabled (Enhanced Configuration Parameters Load message), the valid range is ASCII 31 trough 7E. The host or controller must include the corresponding coordination number when responding with a transaction reply message. If the coordination numbers do not match, the terminal sends a solicited status message with a command reject status. A graphic ‘0’ overrides the message coordination number. As a result, the terminal cannot verify that the transaction authorization corresponds to the last consumer message. Card return/retain flag field Field size: 1 character Valid range: 0-1 Description: This one-character field instructs the terminal to either return or retain the customer’s account card during the close state. The valid values are as follows: ‘0’ - return card ‘1’ - retain card 254 September 2012 Messages Network to Terminal messages Printer flag field Field size: 1 character Valid range: 0-4; 8; = Description: This one-character field tells the terminal which printer or printers to use. The valid graphic characters for this field are as follows: ‘0’ - do not print ‘1’ - print on journal printer only ‘2’ - print on customer printer only ‘3’ - print on both printers ‘4’ - print on deposit if function ID is ‘1’ or ‘7’. ’8’ - print on statement printer only ’=’ - print on receipt printer in landscape mode Printer data field Field size: Variable (580 characters maximum) Valid range: See description Description: This is a variable-length data field with a maximum of 580 characters. Inserted data is printed by the printer indicated in the printer flag field. Track 3 buffer identifier Field size: 1 character Valid range: ’4’ Description: This one-character track 3 buffer identifier field tells the terminal that track 3 data follows in the buffer data field. Track 3 data Field size: Variable (106 characters maximum) Valid range: See description Description: This field contains the data to be written onto track 3 as instructed by a Transaction Reply command. This data replaces any data previously located in the track 3 buffer of the terminal. The track 3 data consists of up to 106 characters including the start and end sentinels. September 2012 255 Network to Terminal messages Messages Track 1 buffer identifier Field size: 1 character Valid range: ’K’ Description: This one-character buffer identifier field tells the terminal that track 1 data follows in the buffer data field. Track 1 data Field size: Variable (78 characters maximum) Valid range: See description Description: This field contains the data to be written to track 1. This data replaces any data previously located in the track 1 buffer of the terminal. The track 1 data consists of up to 78 characters including the start and end sentinels. Track 2 buffer identifier Field size: 1 character Valid range: ’L’ Description: This one-character buffer identifier field tells the terminal that track 2 data follows in the buffer data field. Track 2 data Field size: Variable (39 characters maximum) Valid range: See description Description: This field contains the data to be written to track 2. This data replaces any data previously located in the track 2 buffer of the terminal. The track 2 data consists of up to 39 characters including the start and end sentinels. MAC data field Field size: 8 characters Valid range: See description Description: This eight-character field contains hexadecimal characters that represent the MAC calculation of the transaction request message. See chapter ”Security Features” from page 197 for additional details. 256 September 2012 Messages Network to Terminal messages Terminal Command message This message is transmitted by the network to startup or shutdown the terminal, or to request a configuration ID. table 64: “Terminal Command message” on page 258 shows the format of the Terminal Command message. The following paragraphs describe each Terminal Command message type. Startup When the terminal is powered on the first time, all configuration data from the host must be downloaded to the terminal. This requires a startup sequence that loads the ProCash/NDC or ProConsult/NDC frameworks with a predefined configuration from the WIN-NT Registry. In the next step the terminal is ready to receive download commands from the host. The startup command can also put the terminal into service after shutdown or exit from maintenance mode. Shutdown This is an Terminal Command message from the network that places the terminal temporarily out-of-service. All pending messages are sent and current transactions completed, before the terminal executes the shutdown. The terminal then indicates that it has successfully completed the shutdown procedures by sending a ready status in a solicited status message. Configuration information request This Terminal Command message requests the terminal to send a solicited status message containing configuration information. September 2012 257 Network to Terminal messages Messages The following table shows the fields of the Terminal Command message: table 64: Terminal Command message Description Terminal Command identifier response flag field separator (FS) logical unit number (LUNO) field separator (FS) message sequence number field separator (FS) command code Code ‘1’ [X] :1C [X] :1C [X] :1C --- No. of Characters 1 1 1 3 1 3 1 1 The following paragraphs describe the fields in the Terminal Command message. Message identifier Field size: 1 character Valid range: 1 Description: This one-character data field defines the type of message being transmitted. The only valid value for Terminal Command messages is 1. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. 258 September 2012 Messages Network to Terminal messages Message sequence number Field size: 3 characters Valid range: 000-999 Description: The Message Sequence Number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). If the terminal uses MACing, this field is replaced by an eight-byte Time Variant Number. See chapter ”Security Features” from page 197 for details. The Message sequence number is ignored by ProCash/NDC and ProConsult/NDC. Command code Field size: 1 character Valid range: See description Description: This one-character field is used to identify the type of command. The valid values for this field are as follows: ‘1’ - Go in service to customers (startup). ‘2’ - Go out-of-service to customers (shutdown). This code optionally contains a one digit modifier. This modifier specifies what OOS screen has to be displayed when the terminal goes out of service. If no modifier is included, the default Temporary Out-of-Service screen (C06) is displayed. The defined values for the modifier are: ‘0’ - display Out-of-Service screen (C02) ‘1’ - display Temporary Out-of-Service screen (C06) ’3’ - Send Configuration ID. The host requests the configuration ID number. The ATM responds with a Terminal State message (Status Descriptor ‘F’, Message Identifier ‘6’). See section ”Configuration ID Load” on page 291 and section ”Send Configuration ID” on page 345. ‘4’ - Send Supply Counters. The host requests the Supply counters. The ATM responds with a Terminal State message (Status Descriptor ‘F’, Message Identifier ‘2’). See also section ”Solicited Status (terminal state)” on page 326. ’5’ - Send Tally Information (not supported) September 2012 259 Network to Terminal messages Messages ‘6’ - Send Error Log Information. The Send Error Log command asks the terminal to send the error log information for the device groups specified by the Device Identifier. (Status Descriptor ‘F’, Message Identifier ‘4’). See also section ”Solicited Status (terminal state)” on page 326. ‘7’ - Send Configuration Information. The host requests Configuration ID, Hardware Status, and Sensor Status. The ATM responds with a Terminal State message (Status Descriptor ‘F’, Message Identifier ‘1’). See also section ”Solicited Status (terminal state)” on page 326. ‘8’ - Send Date and Time information (Status Descriptor ‘F’, Message Identifier ‘5’), see section ”Solicited Status (terminal state)” on page 326. Command modifier Field size: 1 character Valid range: See description Description: This field must be present for command code ’6’. For command code ’7’ this field is optional. Error Log Information (Command code ’6’) Modifier ’A’ ’B’ ’C’ NOTE: Description Processor and system High order communications SST devices In ProCash/NDC or ProConsult/NDC the solicited status response for modifier ’A’ and ’B’ is the same as for modifier ’C’. Configuration Information (Command code ’7’) Modifier ’1’ ’2’ ’3’ ’4’ ’5’ ’6’ ’7’ 260 Description Send hardware configuration only Send supplies data only Send fitness data only Send tamper and sensor status data only Send software ID and release number data only Send enhanced configuration data Send local configuration option digits September 2012 Messages Network to Terminal messages State Tables Load This type of message is used to load state tables to the terminal. The maximum message length for this command is 2000 characters. Each message contains a portion of the state tables. The following paragraphs describe the fields that can be included in the State Tables Load command message. table 65: State Tables Load Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (configuration) ‘1’ 1 Modifier (states) ‘2’ 1 Field separator (FS) [:1C] 1 State number --- 3 State data --- 25 Field separator (FS) [:1C] 1 [1] State number [---] 3 [1] State data [---] 25 [1] Field separator (FS) [:1C] 1 [2] 8 [2] MAC data [1] This group of fields (FS/state number/state data) can be repeated, as necessary, to a maximum of 600 bytes per State Tables Load command message. [2] This group of fields (FS/MAC Data) is used only when MAC is configured. The following paragraphs describe the fields in the State Tables Load command message. September 2012 261 Network to Terminal messages Messages The following paragraphs describe the fields in the State Tables Load command message. Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for a download command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that configuration data follows. The valid value is ‘1’. 262 September 2012 Messages Network to Terminal messages Modifier field Field size: 1 character Valid range: 2 Description: This one-character field identifies the configuration data to follow as state table data. The valid value is ‘2’. State number Field size: 3 characters Valid range: 000-254, 256-999, A00-ZZZ Description: This is a three-character field from 000 to 254, 256-999, A00-ZZZ. It identifies the state number for the state data that follows. State data Field size: Variable Valid range: See description Description: The first entry identifies the state type. The rest of the characters are associated state data. State number, state data, and field separator fields can be repeated as required to a maximum of 2000 bytes (total message length). MAC data field Field size: 8 characters Valid range: See description Description: This eight-character field contains hexadecimal characters that represent the MAC calculation of the transaction request message. See section ”Message Authentication (MAC)” on page 221 for additional details. September 2012 263 Network to Terminal messages Messages Screen Data Load This type of message is used to download screen configuration data to the terminal where the data are stored in the WIN-NT registry sub section “..\LYNXCI\SCREEN”. table 66: Screen Data Load Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (configuration) ’1’ 1 Modifier (screens) ‘1’ 1 Field separator (FS) :1C 1[1] Screen number --- 3[1] Screen data --- VAR[1] [1] This group of fields can be repeated, as required, to a maximum of 2000 bytes per Screen Data Load command message. 264 September 2012 Messages Network to Terminal messages The following paragraphs describe the fields in the Screen Data Load command message. Load Command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Screen Data Load command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that configuration data follows. The valid value is ‘1’. September 2012 265 Network to Terminal messages Messages Modifier field Field size: 1 character Valid range: 1 Description: This one-character field identifies the configuration data to follow as screen data. The valid value is ‘1’. Screen number Field size: 3 characters Valid range: 000-999 Description: This is a three, or four-character field that identifies the screen number for the screen data that follows. Screen numbers can be specified as three decimal digits (123), four decimal digits in double quotes (“0123“), a group letter and two digits or a group letter and four digits. The groups with four digit numbers are ‘E’, ‘X’, ‘Y’, ‘Z’ and ‘u’. A screen defined in group ‘l’ is also accepted, mapping directly onto group ‘u’ (l0123 is equivalent to u0123). Screen data Field size: Variable Valid range: See description Description: The variable-length screen data field represents the data to be shown on the screen. This field always follows a screen number entry. Screen numbers, screen data, and field separator fields can be repeated as required to a maximum of 2000 bytes (total message length). 266 September 2012 Messages Network to Terminal messages Configuration Parameters Load The Configuration Parameters Load command message configures terminal parameters, the LUNO and terminal timers. The format of the Configuration Parameters Load message is shown in table 67: “Configuration Parameters Load” on page 267. This message down-line loads the logical unit number (LUNO), parameters and timers into the WIN-NT Registry. This configuration message should be used first after a power-up because it defines the LUNO and communications timers. The following table contains field definitions of the Configuration Parameters Load command message: table 67: Configuration Parameters Load Description Code No. of Characters Load Command Identifier ‘3’ 1 Response Flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (configuration) ‘1’ 1 Modifier (parameters+LUNO+timers) ‘3’ 1 Field separator (FS) :1C 1 Camera control X 1 (not supported) Card reader error threshold --- 3 Reserved ’000’ 3 Reserved ’000’ 3 Track 3 write error threshold X 3 (not supported) Optional parameters --- 3 Reserved ‘000’ 3 Reserved ’000’ 3 Reserved ’000’ 3 Field separator (FS) :1C 1 September 2012 267 Network to Terminal messages Messages Description Code No. of Characters Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Timer number --- 2 Number of ticks --- 3 Timer number [---] 2[1] Number of ticks [---] 3[1] [1] This field can be repeated with the number of timers that are requested to be loaded. The following paragraphs describe the fields in the Configuration Parameters Load message. Load Command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Configuration Parameters Load command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. 268 September 2012 Messages Network to Terminal messages Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that configuration data follows. The valid value is ‘1’. Modifier field Field size: 1 character Valid range: 3 Description: This one-character field identifies the configuration data to follow as LUNO, parameters and timer data. The valid value is ‘3’. Optional Parameters Field size: 3 characters Valid range: 000-255 Description: The value in the optional parameters field is the sum of the weights of the selected features. Weight ’008’ ’002’ ’001’ Features 12 digit amount buffer size automatic return to previous mode separate ready (’B’) response to transaction reply September 2012 269 Network to Terminal messages Messages Timer number Field size: 2 characters Valid range: 00-20 Description: This two character field contains the timer number. See section ”Timer Data” on page 188 for details on timers. The valid values are as follows: 00 keyboard response time-out interval 01 consumer response extension time-out interval 02 close state screen time-out interval 03 communication message time-out interval 04 envelope insertion time-out interval (depositor) 05 withdrawal time-out interval 06 communications off-line time-out interval 07 withdrawal shutter open time-out interval 08 not used 09 consumer time-out interval before card capture attempt 10 additional cash present time-out interval 11 vandal shield timer 82-83 not used 86 rear settlement time-out interval 87 not used 88-90 reserved 91-93 not used 94 envelope eject time-out interval 95 Statement retract time-out interval 96 Statement present time-out interval 97 vestibule door open time-out interval 98 reserved 99 vandal close timer Number of ticks Field size: 3 characters Valid range: 000-255 Description: This three-character decimal data field determines the time-out intervals for the timers in 800 millisecond ticks. The number of ticks can be 000-255; this gives a time-out range from 0 - 204 seconds. Timer number and number of ticks fields can be repeated as required. Any timers with default values may be, but do not have to be, downline loaded. 270 September 2012 Messages Network to Terminal messages Enhanced Configuration Parameters Load The Enhanced Configuration Parameters Load command message (modifier ’A’) contains additional options and parameters which are not included in the Configuration Parameters Load command message (modifier ’3’). table 68: Enhanced Configuration Parameters Load Description Code No. of Characters Load Command Identifier ‘3’ 1 Response Flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (configuration) ‘1’ 1 Modifier (parameters+LUNO+timers) ‘A’ 1 Field separator (FS) :1C 1 Logical unit number (LUNO) --- 3 Field separator (FS) :1C 1 Option number --- 2 Option code --- 3 Option number [---] 2 Option code [---] 3 Field separator (FS) :1C 1 Timer number --- 2 Number of seconds --- 3 Timer number [---] 2[1] Number of seconds [---] 3[1] [1] This field can be repeated with the number of timers that are requested to be loaded. September 2012 271 Network to Terminal messages Messages The following paragraphs describe the fields in the Enhanced Configuration Parameters Load command message. Load Command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Enhanced Configuration Parameters Load command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that configuration data follows. The valid value is ‘1’. 272 September 2012 Messages Network to Terminal messages Modifier field Field size: 1 character Valid range: A Description: This one-character field identifies the configuration data to follow as LUNO, parameters and timer data. The valid value is ‘A’. Logical Unit Number (LUNO) Field size: 3 characters Valid range: 000-999 Description: This three-character field defines the three-character LUNO number. Option number Field size: 2 characters Valid range: 00-99 Description: This two-character field defines the option number of the threecharacter option code. See Table 69 “Option codes” for detailed description of these codes. table 69: Option codes Option number Option code Description 00 Camera Control (not supported) 01 Ready/Supply options 02 000 No options selected (not supported) 001 Separate READY (B) status sent in response to Transaction Reply 002 Auto return to previous mode from supply mode (not supported) 008 12 digit amount buffer 001 Auto Voice on (default) 002 03 Auto Voice off Date format for supervisor/journal messages 001 MMDD(YY) 002 DDMM(YY) 04 001-040 Roll width. Defines the number of receipt and journal columns used to print messages from the host. (Default is 025) 05 001-040 Left print column (Defines the leftmost print column for receipt and journal messages. Default is ’008’) September 2012 273 Network to Terminal messages 06 Vandal Guard Open Condition 000 001 07 Open vandal guard when card detected (default condition) Open vandal guard when keyboard is enabled Track 1 format 001 002 ISO format (default condition) VISA format 08 Reserved for future use 09 Diebold status reporting for vandal guard (not supported) 10 Tamper Indicator Control option (not supported) 11 Extended status control (not supported) 12 Specific Command Reject option 000 13 Messages Do not transmit Specific Command Reject (default condition) 001 Transmit Specific Command Reject 001-255 Card reader error thresholds (Default value is 010) 14 Track 3 write error thresholds 15 Last Transaction Status information 000 001 16-17 Do not append information (default condition) Append information Not supported by ProCash/NDC 18-20 Codes reserved for future use 21-22 Not supported by ProCash/NDC 23 Envelope dispenser status option 000 001 24-28, 30 Do not send unsolicited envelope dispenser messages (default) Send unsolicited envelope dispenser messages Not supported by ProCash/NDC 31 Enable Audio Echo on Keyboard 000 001 Do not echo the keyboard (default condition) Echo the keyboard,except in PIN states or/and when ’*’ is pressed 32-33 Codes reserved for future use 34 Message Coordination Number range. Default range is 31(Hex) - 3F(Hex). This parameter allows to extend the MCN range up to 7E(Hex). 000 31H - 3FH (default condition) 001 31H - 7EH 35-49 Codes reserved for future use 50-99 Codes reserved for private use 274 September 2012 Messages Network to Terminal messages Timer number Field size: 2 characters Valid range: 00-20 Description: This two character field contains the timer number. See section ”Timer Data” on page 188 for details on timers. The valid values are as follows: 00 keyboard response time-out interval 01 consumer response extension time-out interval 02 close state screen time-out interval 03 communication message time-out interval 04 envelope insertion time-out interval (depositor) 05 withdrawal time-out interval 06 communications off-line time-out interval 07 withdrawal shutter open time-out interval 08 not used 09 consumer time-out interval before card capture attempt 10 additional cash present time-out interval 11 vandal shield timer 82-83 not used 86 rear settlement time-out interval 87 not used 88-90 reserved 91-93 not used 94 envelope eject time-out interval 95 Statement retract time-out interval 96 Statement present time-out interval 97 vestibule door open time-out interval 98 reserved 99 vandal close timer Number of seconds Field size: 3 characters Valid range: 000-255 Description: This three-character decimal data field determines the time-out intervals for the timers in seconds. The number of seconds can be 000-255. Timer number and number of seconds fields can be repeated as required. Any timers with default values may be, but do not have to be, down-line loaded. September 2012 275 Network to Terminal messages Messages Interactive Transaction Response This message may be sent in response to a Transaction Request in order to obtain more information from the cardholder. This facility allows Central to communicate directly with the keyboard and display in those situations where state table sequencing is inappropiate. For example, a cardholder account selection can be handled in this way. Central can establish which accounts are available to the cardholder and build the screen accordingly. The message defines screen data and active keys. Key data is returned in a Transaction Request message. After the Interactive Transaction Response message, the terminal waits for a consumer response or time-out. When an FDK or cancel key is pressed or the screen timer expires, the terminal responds with a Transaction Request message containing key data usually in general purpose buffer B. table 70: Interactive Transaction Response Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (ITR) ‘2’ 1 Display flag --- 1 Active keys --- 6, 10 Field separator (FS) :1C 1 Screen timer --- 3 Field separator (FS) :1C 1 Screen data --- VAR The following paragraphs describe the fields in the Interactive Transaction Response command message. 276 September 2012 Messages Network to Terminal messages Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Interactive Transaction Response command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See chapter ”Security Features” from page 197 for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 2 Description: This one-character data field tells the terminal that screen data of an ITR follows. The valid value is ‘2’. September 2012 277 Network to Terminal messages Messages Display flag Field size: 1 character Valid range: 0-2 Description: This one-character field instructs the terminal display as follows: ‘0’ - display Xs as consumer response ‘1’ - display consumer response ‘2’ - display Xs as consumer response. (NCR displays ’*’) The keyed response is stored in general purpose buffer B for later transmission in a Transaction Request message. Active keys Field size: 6 or 10 characters Valid range: 0-1 Description: This 10-character field either activates or deactivates keyboard keys for consumer responses. A graphic 0 will deactivate, while a graphic 1 will activate, the selected key(s) as follows: 278 Character Declaration first selects all numeric keys second selects FDK ’A’ third selects FDK ’B’ fourth selects FDK ’C’ fifth selects FDK ’D’ sixth selects the Cancel key seventh selects FDK ’F’ eighth selects FDK ’G’ ninth selects FDK ’H’ tenth selects FDK ’I’ September 2012 Messages Network to Terminal messages Screen timer Field size: 3 characters Valid range: 000-255 Description: This three-character field determines time-out intervals for the CRT display. Graphic characters represent 001 to 255 800-millisecond ticks to give a time-out range from 0.8 to 204 seconds. If the terminal "timed out" waiting for the consumer to respond (via keyboard entry) to a screen command, the last character in general purpose buffer B is “T”. Entering 000 gives an infinite display time. Screen data Field size: Variable Valid range: See description Description: This is a variable-length field which represents data to be displayed on the consumer screen. September 2012 279 Network to Terminal messages Messages FIT Data Load This type of message down-line loads Financial Institution Tables (FIT's) to the terminal. Each message can include up to four tables. The terminal can store up to 1000 FIT's. One FIT is required for each member financial institution. Refer to chapter ”Security Features” from page 197 for details on FIT. table 71: “FIT Data Load” on page 280 illustrates the message format. The following paragraphs describe the message fields. table 71: FIT Data Load Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (configuration) ‘1’ 1 Modifier (FIT) ‘5’ 1 Field separator (FS) :1C 1 FIT number --- 3 FIT data (38 bytes) --- 114 Field separator (FS) [:1C] 1 [1] FIT number [---] 3 [1] FIT data (38 bytes) [---] 114 [1] Field separator (FS) [:1C] 1 MAC data [---] 8 [1] This group of fields (FS/FIT number/FIT data) can be repeated, as required, to a maximum of four FIT's per FIT Data Load command message. The following paragraphs describe the fields in the FIT Data Load command message. 280 September 2012 Messages Network to Terminal messages Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the FIT Data Load command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that configuration data follows. The valid value is ‘1’. Modifier field Field size: 1 character Valid range: 5 Description: This one-character field identifies the configuration data to follow as FIT data. The valid value is ‘5’. September 2012 281 Network to Terminal messages Messages FIT number Field size: 3 characters Valid range: 000-509 Description: This three-character field designates the number assigned to the FIT in the following field. FIT data Field size: 38 bytes Valid range: See description Description: The FIT data specifies control words for processing the PIN. FIT is also used for indirect next state and remote PIN encryption. FIT is down-line loaded to the terminal. MAC data Field size: 8 characters Valid range: See description Description: This eight-character field contains hexadecimal characters that represent the MAC calculation of the FIT Data Load command message. Refer to section ”Message Authentication (MAC)” on page 221 for additional details. 282 September 2012 Messages Network to Terminal messages Encryption Key Load The Encryption Key Load message carries encrypted encryption keys to replace the current keys. This message also includes a control word (in the modifier field) that identifies the key in the message and the means of decrypting it (see chapter ”Security Features” from page 197 for a detailed description of data encryption). The Encryption Key Load message can be used only for single lengths keys (24 characters). For double lengths keys (48 characters), the Extended Encryption Key Load message has to be used. table 72: “Encryption Key Load” on page 283 illustrates the message format. table 72: Encryption Key Load Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (encryption key change) ‘3’ 1 Key change [---] 1 Field separator (FS) :1C 1 New key data [---] 24 September 2012 283 Network to Terminal messages Messages The following paragraphs describe the fields in the Encryption Key Load message. Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Encrypion Key Load command message is ‘3’. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 3 Description: This one-character data field tells the terminal that encryption key data follows. The valid value is ‘3’. 284 September 2012 Messages Network to Terminal messages Key change Field size: 1 character Valid range: 1-9 Description: This one-character field tells the terminal what key(s) to use for encryption and message authentication. The valid values for this field are as follows: ‘1’ - decrypt new master key with current master key ‘2’ - decrypt new COMM key with current master key ‘3’ - decrypt new COMM key with current COMM key ‘4’ - use power-up COMM key (B key) as current COMM key ‘5’ - decrypt MAC key with current master key ‘6’ - decrypt MAC key with current COMM key ‘7’ - use power-up COMM key (B key) as current MAC key ‘8’ - decrypt new VISA master key with current VISA master key (not supported by Wincor Nixdorf terminals) ‘9’ - send VISA key table to terminal (not supported by Wincor Nixdorf terminals) New key data Field size: Variable Valid range: See description Description: The terminal receives, decrypts and stores new key data inputs for future use. The size of this field varies, depending on the key change field. The field sizes are as follows: If the key change field is 4 or 7, there is no new key data; this field is not included in the message. If the key change field is 1, 2, 3, 5, 6 or 8, the new key data field is 24 characters. It is eight hex bytes transmitted as eight 3 decimal characters with a range of 000-255. September 2012 285 Network to Terminal messages Messages Extended Encryption Key Load The Extended Encryption Key Load message allows to carry encrypted encryption keys in double length (48 characters) or single length (24 characters) to replace the current keys. Double lengths keys usually are used if triple DES verification is enabled. This message also includes a control word (in the modifier field) that identifies the key in the message and the means of decrypting it (see chapter ”Security Features” from page 197 for a detailed description of data encryption). If this message is sent with a single length key and the terminal is configured to work with double length keys, a command reject is issued indicating an Encryption Key Change message of the wrong length has been issued. Table 73 “Extended Encryption Key Load” illustrates the message format. table 73: Extended Encryption Key Load Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (encryption key change) ‘4’ 1 Key change [---] 1 Field separator (FS) :1C 1 Key data size [---] 3 New key data [---] 24 or 48 286 September 2012 Messages Network to Terminal messages The following paragraphs describe the fields in the Extended Encryption Key Load message. Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Extended Encrypion Key Load command message is ‘3’. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 4 Description: This one-character data field tells the terminal that encryption key data in single length or double length follows. The valid value is ‘4’. September 2012 287 Network to Terminal messages Messages Key change Field size: 1 character Valid range: 1-9 Description: This one-character field tells the terminal what key(s) to use for encryption and message authentication. The valid values for this field are as follows: ‘1’ - decrypt new master key with current master key ‘2’ - decrypt new COMM key with current master key ‘3’ - decrypt new COMM key with current COMM key ‘4’ - use power-up COMM key (B key) as current COMM key ‘5’ - decrypt MAC key with current master key ‘6’ - decrypt MAC key with current COMM key ‘7’ - use power-up COMM key (B key) as current MAC key ‘8’ - decrypt new VISA master key with current VISA master key (not supported by Wincor Nixdorf terminals) ‘9’ - send VISA key table to terminal (not supported by Wincor Nixdorf terminals) ‘H’ - Send Key Verification Values (KVVs) Key data size Field size: 3 Valid range: 018 or 030 Description: The key data size specifies the size of the following key data field. For a single length key the size is 018 (24 characters). For a double length key the size is 030 (48 characters). 288 September 2012 Messages Network to Terminal messages New key data Field size: Variable Valid range: See description Description: The terminal receives, decrypts and stores new key data inputs for future use. The size of this field varies, depending on the key change field. The field sizes are as follows: If the key change field is 4 or 7, there is no new key data; this field is not included in the message. If the key change field is 1, 2, 3, 5, 6 or 8, the new key data field is 24 characters for single length keys or 48 characters for double length keys (Triple DES mode). It is eight or sixteen hex bytes transmitted where the terminal receives each byte as a 3 digit decimal value in range of 000-255. Dispenser Currency Mapping Table Load This message contains a table that is used to define currency types, which is mapped to the configuration settings in table entry 7 of the Amount Check State defined in the Amount Check State Table. Table 74 “Dispenser Currency Mapping Table Load” illustrates the message format. table 74: Dispenser Currency Mapping Table Load Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (configuration) ‘1’ 1 Modifier (Dispenser Currency Mapping ‘E’ Table) 1 Field separator (FS) 1 :1C September 2012 289 Network to Terminal messages Messages Dispenser Currency Mapping Table data --- VAR Number of Mapping Entries (range 01-FF) --- 2[1] Currency Type (range 01-FF) used for mapping to state ’G’ table entry 7 --- 2[1] Cassette Type. Single digit ASCII hex value (range 0-F) --- 1[1] Denomination for Cassette. Five-digit ASCII numeric value (e.g. 00010 for $10) --- 5[1] [1] If the Number of Mapping Entries a greater than 01, the following fields are repeated with the specified number of Mapping Entries The Dispenser Currency mapping Table Load is expected at the terminal only when the terminal is in out-of-service mode or supply/supervisor mode. If Central transmits a Dispenser Currency mapping Table Load message and it does not conform to the format above, or is sent at a time when it is not expected, a solicited error message is generated, identifying a specific command reject value for the failure reason (or simply 'A' if specific command reject processing is not activated). If a specific command reject value is generated then the message content will be ignored. See also section “Amount Check State (G)” on page 94 for detailed configuration description. 290 September 2012 Messages Network to Terminal messages Configuration ID Load This message contains an identifier for the configuration data sent to the terminal, i.e. the configuration data in a given terminal. At terminal startup, or any time that configuration data is sent to the terminal, the configuration ID is set to 0000. The Configuration ID Load command message must be included as the last of the down-line loaded configuration data to set the configuration ID to the desired number. Thus, the Configuration ID Load command message acts as an “authorization signature” for the preceding data. The configuration ID number can be any number from 0000 to 9999. After the terminal has received a new configuration ID all downloaded parameters are stored into the WIN-NT Registry. The Configuration ID can be used to verify configuration data. When properly configured, the WIN-NT Registry contains the configuration ID number assigned by the Configuration ID Load command message during configuration. To verify the configuration data, the network sends a configuration ID request terminal command (section ”Terminal Command message” on page 257). The terminal responds by sending the configuration ID number to the network. If the configuration data has been changed without the “authorization signature”, the terminal had been powered down and has not been reconfigured, or if the encryption keys have been changed, the terminal sends 0000 to the network. The terminal can respond, as described above to the configuration ID request message only when it is in supply mode or out-of-service mode. When not in one of these conditions, the terminal responds with a command reject (section ”Specific Command Reject Conditions” on page 302). September 2012 291 Network to Terminal messages Messages table 75: Configuration IDLoad Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (configuration data) ‘1’ 1 Modifier (configuration ID number) ‘6’ 1 Field separator (FS) :1C 1 Configuration ID number --- 4 The following paragraphs describe the fields in the Configuration ID Load command message. Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Configuration ID Load command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. 292 September 2012 Messages Network to Terminal messages Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). If the terminal uses MACing, this field is replaced by an eight-byte time variant number. See chapter ”Security Features” from page 197 for details. Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that configuration data follows. The valid value is ‘1’. Modifier Field size: 1 character Valid range: 6 Description: This one-character field tells the terminal that the configuration data that follows is the configuration ID. The only valid value is ‘6’. Configuration ID number Field size: 4 characters Valid range: 0001-9999 Description: This four-character field contains the configuration ID Number. The configuration ID number must be in the range of 0001 to 9999. 0000 indicates that the terminal is not configured. September 2012 293 Network to Terminal messages Messages Date And Time Load This message is used to set the date and time in the terminal. table 76: Date And Time Load Description Code No. of Characters Load command identifier ‘3’ 1 Response flag [X] 1 Field separator (FS) :1C 1 Logical unit number (LUNO) [X] 3 Field separator (FS) :1C 1 Message sequence number [X] 3 Field separator (FS) :1C 1 Load identifier (customisation data) ‘1’ 1 Modifier (date and time) ‘C’ 1 Field separator (FS) :1C 1 Date/Time data VAR 10 The following paragraphs describe the fields in the Date And Time Load command message. Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Date And Time Load command message is 3. 294 September 2012 Messages Network to Terminal messages Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that customisation data follows. The valid value is ‘1’. Modifier Field size: 1 character Valid range: C Description: This one-character field tells the terminal that the customisation data that follows is date and time data. The only valid value is ‘C’. September 2012 295 Network to Terminal messages Messages Date and time data Field size: 10 characters Valid range: See description Description: The date and time specified by the is formatted as follows:„YYMMDDHHMM“. Description Range YY = Year ‘00’ - ‘99’ MM = Month ‘01’ - ‘12’ DD = Day ‘01’ - ‘31’ HH = Hour ‘00’ - ‘23’ MM = Minute ‘00’ - ‘59’ 296 September 2012 Messages Network to Terminal messages Message Authentication Field Selection Load This type of message is used to set the messages and fields specified for full or selective MAC verification. The following paragraphs describe the message fields. table 77: Message Authentication Field Selection Load Description Load command identifier Response flag Field separator (FS) Logical unit number (LUNO) Field separator (FS) Message sequence number Field separator (FS) Load identifier (configuration data) Modifier (configuration ID number) Field separator (FS) Transaction request field Field separator (FS) Transaction reply field Field separator (FS) Solicited status field Field separator (FS) Other messages field Field separator (FS) Track 1 field Field separator (FS) Track 2 field Field separator (FS) Track 3 field Field separator (FS) MAC data Code ‘3’ [X] :1C [X] :1C [X] :1C ‘1’ ‘B’ :1C VAR :1C VAR :1C --:1C VAR :1C VAR :1C VAR :1C VAR [:1C] [---] September 2012 No. of Characters 1 1 1 3 1 3 1 1 1 1 37 (only 17 supported) 1 23 (only 17 supported) 1 11 (not supported) 1 4 1 6 1 6 1 11 1 8 297 Network to Terminal messages Messages The following paragraphs describe the fields in the Message Authentication Field Selection Load command message. Load command identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Message Authentication Field Selection Load command message is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number. See section ”Message Authentication (MAC)” on page 221 for additional details. Message sequence number Field size: 3 characters Valid range: 000-999 Description: The message sequence number field is part of the logical protocol in a network message. It is a reserved entry and contain any three-digit decimal number (000-999). Load identifier Field size: 1 character Valid range: 1 Description: This one-character data field tells the terminal that configuration data follows. The valid value is ‘1’. 298 September 2012 Messages Network to Terminal messages Modifier Field size: 1 character Valid range: B Description: This one-character field tells the terminal that the configuration data that follows is the configuration ID. The only valid value is ‘B’. Transaction request field Field size: 0-37 (17 fields supported only) Valid range: 0 or 1 (for each field) Description: The following table shows the fields which can be verified: Field Position Description 0 0 - MAC complete message; 1 - Selective MACing 1 Solicited/Unsolicited ID and Message identifier 2 Logical unit number 3 Reserved 4 Time variant number 5 top-of-form flag 6 Message coordination number 7 Track 2 data 8 Track 3 data 9 Operation code data 10 Amount entry field 11 PIN buffer 12 General Purpose Buffer B 13 General Purpose Buffer C 14 Track 1 data buffer identifier 15 Track 1 data 16 Transcation status Data identifier and Last transaction status Transaction reply field Field size: 0-23 (17 supported only) Valid range: 0 or 1 (for each field) Description: The following table shows the fields which can be verified: September 2012 299 Network to Terminal messages Field Position Description 0 0 - MAC complete message; 1 - Selective MACing 1 Transaction Reply command identifier and response flag 2 Logical unit number 3 Message sequence number / Time variant number 4 Next state ID 5 Number of bills to dispense from denomination 1-4 6 Transaction serial number 7 Function identifier 8 Screen number 9 Screen display update data 10 Message coordination number 11 Card return / retain flag 12 Printer flag field and Printer data 13 Printer flag field and Printer data after the first group separator 14 Printer flag field and Printer data within the next group separators 15 Track 3 buffer identifier 16 Track 3 data field Messages Solicited status field Field size: 11 Valid range: 0 or 1 Description: This field contains the MAC selection data for the solicited status message. This field is ignored by the application. ProCash/NDC and ProConsult/NDC always performs a full MAC for solicited status messages. Other messages field Field size: 4 Valid range: 0 or 1 Description: This field conains the MAC selection data for FIT load, State Table load, Terminal State status and Dispenser Currency Mapping Table messages. MAC verification of Terminal State and Dispenser Currency Mapping Table messages are not supported. 300 September 2012 Messages Network to Terminal messages Track 1 field Field size: 6 Valid range: 0 or 1 Description: This field contains the MAC selection data for Track 1 data. Offset Description 0 0 - MAC full track. Ignore bytes 1-5 1 - Selectively MAC the fields below 1 Sub field 1 until ’=’ (including start sentinel) 2-5 Sub field 2-5 that should be MACed Track 2 field Field size: 6 Valid range: 0 or 1 Description: This field contains the MAC selection data for Track 2 data. Description Offset 0 0 - MAC full track. Ignore bytes 1-5 1 - Selectively MAC the fields below 1 Sub field 1 until ’=’ (including start sentinel) 2-5 Sub field 2-5 that should be MACed Track 3 field Field size: 11 Valid range: 0 or 1 Description: This field contains the MAC selection data for Track 3 data. Description Offset 0 0 - MAC full track. Ignore bytes 1-10 1 - Selectively MAC the fields below 1 Sub field 1 until ’=’ (including start sentinel) 2-10 Sub field 2-10 that should be MACed MAC data field Field size: 8 characters Valid range: See description Description: This eight-character field contains hexadecimal characters that represent the MAC calculation of the Message Authentication Field Selection Load message. See the section ”Message Authentication (MAC)” on page 221 for additional details. September 2012 301 Network to Terminal messages Messages Specific Command Reject Conditions The terminal will return a specific command reject status if an error is detected in any command sent from the network to the terminal. The situations which cause a command reject are as follows: • Illegal message class (legal classes are 1, 2, 3 or 4) • Illegal message sub class • Illegal message identifier • Illegal terminal command code • Illegal terminal command modifier • Field separator in illegal position • Insufficient fields in the message • Insufficient Registry space to store configuration data • The dispense amount request is to large • The message coordination number in a Transaction Reply message does not match the number in the Transaction Request, and is not ’0’. • Illegal function ID in Transaction Reply command. An illegal function ID is a non supported ID by ProCash/NDC or ProConsult/NDC. • An encryption key change message is received before the original key has been entered at the terminal. • More than 13 print fields in aTransaction Reply command • Date and Time data are invalid in a date and time load command Default operations include the following: • Entry to default close state. For example , non existent state number • Illegal characters for data convertion received • Default display, for example if a screen does not exist the screen number is displayed on the consumer screen 302 September 2012 Messages Network to Terminal messages The following table shows under which conditions the specific command reject value/qualifier combinations are produced: table 78: Specific Command Reject Conditions Value Qualifier Description 1 MAC Failure Result of MAC verification did not equal the MAC 2 Time Variant Number Failure The time variant number received in the last Transaction Reply message is not the same as the lasttransmitted value. 3 Security Terminal Number Mismatch The number received in the last transaction reply security terminal number is not the same as the number held in the terminal A Message format errors 01 Message length error. An incomplete message is found under the following conditions: – Report logs missing the group number Load of configuration ID incomplete or missing ID field. – Diebold PIN mode message - missing or incomplete data. – Option /timer - incomplete number/value field in configuration message – Truncated MAC field selection load, with expected MAC data missing. September 2012 303 Network to Terminal messages 02 Messages Field separator not found or found unexpectedly in the following circumstances: – Found in the middle of an option / timer number and value field in configuration message. – Not found when skipping the first three field separators in a Transaction Reply message. – Not found at the end of the coinage field. – Not found in MAC Field Selection Load Data. – Mandatory last field separator not found or found unexpectedly in a Transaction Reply message. 03 04 B – Found unexpectedly in the Override Reserved Screen command. Too many print groups in the Transaction Reply message. More than 13 print groups are present in a Transaction Reply message. A group separator is missing or found unexpectedly. Field value errors 01 02 Illegal Message Class. Message class was not 1, 2, 3, 4 or 7, or message class was 7 and exit support was not detected. Illegal Message Sub-Class or Identifier on a Configuration Load message with class '3' . The following will cause this report: – Message sub-class outside the range '1' - '4' 03 04 – Message identifier outside the range '1' - '6' or 'A' -'C'. Illegal Load Key Message Identifier. Within a load encryption key data message: – The modifier field is outside the range '1' - '9' Illegal Terminal Command Code: – Returned if the command code is outside the range '1' - '?'. 304 September 2012 Messages 05 Network to Terminal messages Illegal Terminal Command Modifier. Within a legal terminal command, if a modifier is required: – Report tallies modifier outside the range 'A' - 'N' or 'V' or 'Y' or '\' or'[' . – Report error log modifier outside the range 'A'' - 'C' – The terminal command code is 7 and the command modifier is outside the range 0-7. 06 07 – The command code is '?' but the modifier is not 0 or 1. Illegal Function ID in Transaction Reply command: – Function ID outside the range 'l'- '9', 'A', 'B', 'C', 'F', 'P', 'Q', 'S' or 'T' Data Field contains non-numeric data. This is found in the following circumstances: – Encryption key change message key data. – Coinage field has at least one non-numeric character present. 08 – Option/Timer number or value in configuration message. Numeric value out of range. – In a FIT message, FIT data value is greater than 255 – message contain a value exceeding their maximum values. 09 10 11 13 – The zone name length in the printer fields of a Transaction Reply message is out of range. Invalid Message Co-Ordination Number. In a Transaction Reply message, the co-ordination number is not zero and does not match the transmitted value. Illegal FIT number. A FIT in a FIT load message is not in the range of the reserved pool size. Too many notes in Transaction Reply command. The total number of notes requested exceeds the limit of 40 or 20. Unrecognised document destination. Returned if the document destination (field in the the Transaction Reply) is not one of the allowed values or if the field is null. September 2012 305 Network to Terminal messages 14 15 16 17 18 C 01 02 Messages Too many coins in Transaction Reply command. Total number of coins requested exceeds the limit of 25. Unrecognised buffer identifier. Returned if the Transaction Reply contains a buffer identifier not currently supported. Buffer identifier 'E' missing. Returned if the Transaction Reply command ID is 'S' (Process Document with Cash) but there is no mandatory field 'ae' in the Transaction Reply message. Document name error. Returned if the data present in a printer field in the Transaction Reply message is shorter than the zone name length given. The screen identifier in an Override Reserved Screen Command is not in the range 'D0000' to 'D0010'. Illegal Message Type for Current Mode. Message type only accepted while terminal Is in In Service mode and is expecting a Transaction Reply. The reject is caused by receipt of a Transaction Reply at other times while the terminal is in service. Message cannot be accepted while diagnostics and clear SOH programs for Level 2 and Level 3 are in progress. This reply is designed to draw attention to the fact that these programs are being executed. It applies to the following messages: – Download messages for customisation. 03 – Transaction Replies (not Print Immediate). Message cannot be accepted while in Out-of-Service or Supply modes. The following messages cannot be accepted in these modes: – Transaction Replies (not Print Immediate). – Interactive Transaction Response. 306 September 2012 Messages 04 Network to Terminal messages Message unacceptable in current mode. The following messages cannot be accepted while in InService mode: – Terminal commands '4', '5', '6', '9'. – Interactive Transaction Response when not in Transaction Request State. – Also applies to terminal command when attempting to enable Supervisor 'Dump Images' but terminal is performing a transaction. 05 06 07 08 09 10 11 12 13 14 D 01 02 03 04 05 06 E Reserved Reserved Reserved Security key initialise message rejected. The key is already in a legal state. Reserved Message not accepted while processing a Transaction Reply. not used Cannot process a document while a statement print function is being carried out. Cannot perform a statement print function while processing a document. not used Hardware failure Encryption failure during key change message. Time of day clock failure during data/time set command or invalid data sent. Reserved Key initialisation command not accepted, due to encryption failure during initialisation. Reserved Insufficient disk space. Not supported September 2012 307 Network to Terminal messages 01 Messages Not supported by software: – The requested function is not supported by current ProCash/NDC or ProConsult/NDC release. – VISA PIN verfication key table load via encryption key load message. – MAC field selection load. 02 03 04 05 308 Not supported by hardware: A dispense function has been issued which requests coins but there is no Coin dispenser present. Sideways printing on receipt is requested and the option is not available. Reserved Reserved Journal printer backup is inactive September 2012 Messages Network to Terminal messages figure 5: Transaction Reply message accept/reject flowchart Network sends a Transaction Reply message or host generated screen to the terminal Terminal Terminalinin inservice service mode? mode? No Yes No Terminal Terminal in in transaction transaction request request state? state? Is Is message message aaprint print immediate immediate?? No Yes Yes Yes Process message Terminal Terminal in in out-of-service out-of-service mode ? mode ? No Yes Terminal in Terminalmode in supervisor and MISC_PRINT supervisor mode Flag is set to 8 ? No Reject message September 2012 309 Terminal operations in Transaction Replies Messages Terminal operations in Transaction Replies This section describes the operation of the terminal in response to Transaction Reply command messages. Each Transaction Reply command message identifies a particular function for the terminal to perform. How the terminal responds to each of these function identifiers is the subject of this section. The following table lists NDC function ID’s and the assignment to the internal ProCash/NDC or ProConsult/NDC step function: table 79: NDC function ID’s assigned to step functions Function description ID Step function Print Immediate ‘4’ DC_F_PRINT_IMMEDIATE Set Next State and Print ‘5’ DC_F_SET_NEXT_STATE Night Safe Deposit and Print ’6’ DC_F_NIGHT_SAFE_DEPOSIT Deposit and Print ’1’ or ’7’ DC_F_DEPOSIT Dispense, Deliver and Print ‘2’ or ‘8’ DC_F_DISPENSE Display and Print ‘3’ or ‘9’ NDC_F_DISPLAY Eject Card Dispense and Print ‘A’ (Card Before Cash) Parallel Eject/Dispense and Print (Fast Cash) NDC_F_CBC_DISPENSE ‘B’ or ‘C’ NDC_F_PARALLEL_DISPENSE Eject Card Dispense and Print ‘F’ Parallel NDC_F_CBC_PARALLEL Print Statement and Set Next State ’Q’ NDC_F_PRINT_STM_NEXT Print Data and Stay in Present ’P’ State NDC_F_PRINT_STM_WAIT Ignore Reply Function DC_F_IGNORE 310 September 2012 Messages Terminal operations in Transaction Replies Print Immediate (‘4’) The terminal handles the Print Immediate function ID as follows: 1. Shows the screen specified in the Transaction Reply command message. 2. Initializes for printing. 3. Tells the printer(s) (receipt or journal) defined in the printer flag field of the Transaction Reply command message to print. 4. If a fault occurs while the printer is printing the terminal sends a printer unsolicited status message indicating a fault. Set Next State and Print (‘5’) The terminal handles the Set Next State and Print function ID as follows: 1. Initializes for printing. 2. Tells the printer(s) (receipt or journal) defined in the printer flag field of the Transaction Reply command message to print. 3. If a fault occurs while the printer is printing, the terminal sends a printer unsolicited status message indicating a fault. 4. Initializes for printing. 5. Tells the printer(s) (receipt or journal) defined in the printer flag field of the Transaction Reply command message to print. 6. If a fault occurs while the printer is printing, the terminal sends a printer unsolicited status message indicating a fault. September 2012 311 Terminal operations in Transaction Replies Messages Night Safe Deposit and Print (‘6’) The terminal handles the Night Safe Deposit and Print function as follows: 1. Shows the screen specified in the Transaction Reply command message 2. Starts the Timer 08 and waits for the deposit to be completed. The deposit is completed when the deposit shutter has been safety closed. • If Timer 08 expires before the deposit is completed, the terminal starts timer 1 and shows screen ’000’. If timer 1 expires before the deposit is completed, the terminal sends a deposit solicited status message indicating a fault and waits for a new Transaction Reply command. • If the cancel key is pressed while Timers 01 or 08 are active, the terminal sends a deposit solicited status message indicating a fault and waits for a new Transaction Reply command. • If Timer 08 does not expire and the cancel key is not pressed while Timer 01 or 08 is active, the terminal goes to step 3. 3. Tells the journal and/or receipt printers defined in the printer flag field of the Transaction Reply command message to print. 4. If a fault occurs while the printer is printing, the terminal sends a printer unsolicited message indicating a fault. Deposit and Print (‘1’ or ‘7’) The terminal handles the Deposit and Print function ID as follows: 1. Shows the screen specified in the Transaction Reply command message. If the envelope should be given in the host replay, the screen “please take the envelope” will be displayed. 2. Starts Timer 04 (envelope insertion timer). 3. Checks for envelope insertion. • 312 If Timer 04 expires before the customer inserts the envelope, the terminal starts timer 01 (consumer time-out response) and shows screen ’000’. If Timer 01 expires before the customer inserts the envelope, the terminal returns a depository solicited status message indicating a fault and waits for a new Transaction Reply command message. September 2012 Messages Terminal operations in Transaction Replies • If the cancel key is pressed while the terminal is checking for the insertion of the envelope, the terminal returns a depository solicited status message indicating a fault and waits for a new Transaction Reply command message. • If an envelope is inserted, the terminal goes to step 5. 4. Initializes for envelope entry. 5. Transports the deposit envelope. • If a fault occurs during transport, the terminal returns a depository solicited status message indicating a fault and waits for a new Transaction Reply command message. • If a fault does not occur, the terminal goes to step 7. 6. Increases the deposit envelope count by one. 7. Prints the transaction serial number, the contents of the amount buffer, and the first 20 characters of track 2 data on the envelope. 8. Initializes for finishing the deposit. 9. Waits for the deposit to finish. • If a fault occurs while the terminal is waiting for the deposit to finish, the terminal returns a depository solicited status message indicating a fault and waits for a new Transaction Reply command message. • If a fault does not occur, the terminal checks for an additional function identifier in the Transaction Reply command message. 10. Initializes for printing. 11. Tells the printer(s) (receipt or journal) defined in the printer flag field of the Transaction Reply command message to print. 12. If a fault occurs while the printer is printing the terminal returns a printer unsolicited status message indicating a fault. September 2012 313 Terminal operations in Transaction Replies Messages Dispense, Deliver and Print (‘2’ or ‘8’) The terminal handles the Dispense, Deliver and Print function ID as follows: 1. Shows the screen specified in the Transaction Reply command message. 2. Initializes for the dispense function. 3. Starts dispensing. 4. If a fault occurs during dispense, the terminal proceeds as follows. • Returns a dispenser solicited status message indicating a fault . • Waits for a new Transaction Reply command message. 5. Wincor Nixdorf retract able terminals proceeds as follows: • Starts Timer 10 (doorless terminal withdrawal time-out interval). • Turns on the beeper. 6. Informs the printer(s) (receipt or journal) defined in the printer flag field of the Transaction Reply command message to print. 7. If a fault occurs while either printer is printing, the terminal proceeds as follows: • Returns a printer unsolicited status message indicating a fault. • Waits for a new Transaction Reply command message. 8. If a fault does not occur while the printer is printing, the terminal waits for printing to finish and then checks for an additional function identifier in the Transaction Reply command message. Display and Print (‘3’ or ‘9’) The terminal handles the Display and Print function ID as follows: 1. Shows the screen specified in the Transaction Reply command message. 2. After the screen is displayed the terminal does the following: • Starts Timer 10 (withdrawal time-out interval). • Turns on the beeper. 3. Informs the printer(s) (receipt or journal) defined in the printer flag field of the Transaction Reply command message to print. 314 September 2012 Messages Terminal operations in Transaction Replies 4. If a fault occurs while the printer is printing, the terminal proceeds as follows: • Sends a printer unsolicited status message indicating a fault. • Waits for a new Transaction Reply command message. 5. If a fault does not occur while the printer is printing, the terminal waits for printing to finish and then checks for an additional function identifier in the Transaction Reply command message. Eject Card, Dispense and Print (‘A’) (Card before Cash) The terminal handles the Eject Card, Dispense and Print function ID as follows: 1. Dispense the money and ejects the card. 2. Shows first the “Please take your card“ screen, which is the first nested screen configured in the base screen specified in the Transaction Reply command message. the screen is displayed as long as the customer takes the card or it will be captured after the Timer 09 has expired. 3. If card was taken, cash will be delivered and the second nested screen „Please wait for Cash and receipt“ which is configured in the base screen from Transaction Reply is shown. If the card was not taken, card will be retained, the dispensed money will be rejected and the terminal enters the next state specified in the Transaction Reply. 4. Prints the receipt and journal data. 5. Cut and deliver receipt if necessary. 6. Shows the „Take receipt and Cash“ or „Take Cash“ screen as long as Timer 02 is active. Timer 02 is in use to determine the length of time that the Close screen is displayed. For retract terminals Timer 05 is started the cash has been dispensed. Also the beeper is active during Timer 05 is running. If the notes have not been taken when the timer expires, a retract is attempted. If some notes are retracted, the message „Cash retracted“ is logged to the journal and an unsolicited error is reported to the host. If the notes are taken within the time frame of Timer 05 the timer is canceled. In both cases, Timer 07 is started, and the next state is entered on expiry. September 2012 315 Terminal operations in Transaction Replies Messages Eject Card, Dispense and Print (‘F’) (Parallel CBC) The terminal handles the Parallel Eject Card, Dispense and Print function ID (Card before Cash) as follows: 1. Ejects the card. 2. Shows the ‘Please take your card“ screen specified in the Transaction Reply command message as long as the customer takes the card or it will be captured after the Timer 09 has expired. 3. If card was taken, dispense the cash and shows the screen „Please wait for Cash and receipt“. If card was not taken, card will be retained, the dispensed money will be rejected and the terminal enters the next state specified in the Transaction Reply. 4. Prints the receipt and journal data. 5. Cut and deliver receipt if necessary. 6. Shows the „Take receipt and Cash“ or „Take Cash“ screen as long as Timer 02 is active. Timer 02 is in use to determine the length of time that the Close screen is displayed. For retract terminals Timer 05 is started the cash has been dispensed. Also the beeper is active during Timer 05 is running. If the notes have not been taken when the timer expires, a retract is attempted. If some notes are retracted, the message „Cash retracted“ is logged to the journal and an unsolicited error is reported to the host. If the notes are taken within the time frame of Timer 05 the timer is canceled. In both cases, Timer 07 is started, and the next state is entered on expiry. 316 September 2012 Messages Terminal operations in Transaction Replies Parallel Eject/Dispense and Print (Fast Cash) (‘B’ or ‘C’) The terminal handles the Parallel Eject/Dispense and Print function ID as follows: 1. Parallel Eject/Dispense and Print. Shows the ‘Please wait“ screen specified in the transaction request state. 2. Cut and deliver receipt if necessary and shows the screen „Take Card and Cash“. 3. Wait for card to be taken or captured, if not already taken. Displays the screen „...and receipt“ specified in the close state. Timer 02 is in use to determine the length of time that the Close screen is displayed. For retract terminals Timer 05 and Timer 07 is started the cash has been dispensed. Also the beeper is active during Timer 05 is running. If the notes have not been taken when the timer expires, a retract is attempted. If some notes are retracted, the message „Cash retracted“ is logged to the journal and an unsolicited error is reported to the host. If the notes are taken within the time frame of Timer 05 and Timer 07 the timer is cancelled. • If a fault does occur after five attempts to write to the card, the terminal goes to step 5. 4. Retains the card if the terminal cannot advance the card to write on it. 5. Returns a card writer solicited status message indicating a fault and waits for a new Transaction Reply command message Print Data and Stay in Present State (‘P’) The Print Data and Stay in Present Mode function tells the terminal to print data and stay in present state. This allows the terminal to print large amounts of data without continually sending request messages to the network. After printing has been finished, the terminal sends a READY to the network. Then the network sends the next part of the printer data. This can be repeated until the network sends a new function reply containing a next state. September 2012 317 Electronic Journal Upload (EJU) commands Messages Print Statement and Set Next State (‘Q’) The Print Statement and Set Next State function is used to print statement data on receipts. During printing on receipt the terminal displays the transaction request screen (Please Wait). Depending on the print flag logging data are printed on journal. Then the terminal displays the transaction reply screen (Take Statement). If the printing has been finished, the terminal sends a READY to the network. Electronic Journal Upload (EJU) commands This section describes the commands that will be sent by the host to enable, continue und stop Electronic Journal Upload (EJU). EJU consists of following three terminal commands: • Send Options And Timers • Acknowledge And Continue • Acknowledge And Stop see description of the commands on the following pages ... 318 September 2012 Messages Electronic Journal Upload (EJU) commands Send Options And Timers This command can be sent at any time to enable the Electronic Journal Upload. See also ProCash/NDC ProConsult/NDC Installation manual for EJU configuration. The following table describes the message format and its fields: table 80: Send Options And Timers message format Description Mandatory Optional Code No. of Characters Message Identifier M 6 1 Field Separator (FS) M :1C 1 Field Separator (FS) M :1C 1 Field Separator (FS) M :1C 1 Command Type M 3 1 Option Number Block Size O 60 2[1] Option Value Block Size O VAR 3[1] Option Number Retry Threshold O 61 2[1] Option Value Retry Threshold O VAR 3[1] Field Separator (FS) M :1C 1 Acknowledge Timer Number O 60 2 AcknowledgeTimer Value O VAR 3 [1] If one or both Option Number(s) (60 or/and 61) are inserted, the 3 digit Option Value has to follow after each option. Message Identifier Field size: 1 character Valid range: 6 Description: This field specifies the message identifier. The message identifier for Electronic Journal is 6. September 2012 319 Electronic Journal Upload (EJU) commands Messages Command Type Field size: 1 character Valid range: 3 Description: This field specifies the command type for message identifier 6. The command type for Send Options and Timers is 3. Option Number Block Size Field size: 2 characters Valid range: 60 Description: This field specifies the option number indicating the block size following the three digit Option Value Block Size. Option Value Block Size Field size: 3 characters Valid range: 010-350; default is 200 Description: This field specifies the option value for the maximum size of electronic journal data that has to be sent to the host. Option Number Retry Threshold Field size: 2 characters Valid range: 61 Description: This field specifies the option number indicating the retry threshold following the three digit Option Value Retry Threshold. Option Value Retry Threshold Field size: 3 characters Valid range: 000-999; default is 000 (infinite retries) Description: This field specifies the option value for the number attempts to successfully send an Electronic Journal Upload block. The send attempt will be marked as successfull as soon as the terminal has received an Acknowledge command. 320 September 2012 Messages Electronic Journal Upload (EJU) commands Acknowledge Timer Number Field size: 2 characters Valid range: 60 Description: This field indicates the Acknowledge Timer Number with the following Acknowledge Timer Value. Acknowledge Timer Value Field size: 3 characters Valid range: 000-255; default is 000 (infinite) Description: This field specifies the Acknowledge Timer Value for the timer that indicates the maximum time in seconds to wait for an acknowledgement message from host before the same block will be resent. September 2012 321 Electronic Journal Upload (EJU) commands Messages Acknowledge And Continue This command should be sent by the host each time a block of electronic journal data is received from the terminal. It can also be sent unsolicited at any time to enable EJU instead of sending the Options And Timers command. Then the default option and timer values will be used. If after sending an EJ block to the host, the terminal does not receive an acknowledgement within the specified time, the terminal will send the same block again. If the terminal has received the acknowledgement for the last electronic journal data block, the contents of the shared mapping where all EJ data are stored will be erased. See also ProCash/NDC ProConsult/NDC Installation manual for EJU configuration. The following table describes the Acknowledge And Continue message format and its fields: table 81: Acknowledge And Continue Description Mandatory Optional Code No. of Characters Message Identifier M 6 1 Field Separator (FS) M :1C 1 Field Separator (FS) M :1C 1 Field Separator (FS) M :1C 1 Command Type M 1 1 Last Character Received O VAR 6 Message Identifier Field size: 1 character Valid range: 6 Description: This field specifies the message identifier. The message identifier for Electronic Journal is 6. Command Type Field size: 1 character Valid range: 1 Description: This field specifies the command type for the Acknowledge And Continue of message identifier 6. 322 September 2012 Messages Electronic Journal Upload (EJU) commands Last Character Received Field size: 6 characters Valid range: 000000-999999 Description: The value in this field should be the same as the value in the Last Character This Block field in the last EJU data message sent by the terminal. If the value is different, the terminal will not count this message as an acknowledgement. The last Char Previous Block and Last Char This Block values are based on a modulus 1,000.000 character count which starts at zero when the application will be started and EJU has been activated. September 2012 323 Electronic Journal Upload (EJU) commands Messages Acknowledge And Stop This command acknowledges the last EJU block received by the host, and in addition indicates that EJU has to be stopped. This will disable the EJU function until the host sends a new Acknowledge And Continue command or Options And Timers command. See also ProCash/NDC ProConsult/NDC Installation manual for EJU configuration. The following table describes the Acknowledge And Stop message format and its fields: table 82: Acknowledge And Stop Description Mandatory Optional Code No. of Characters Message Identifier M 6 1 Field Separator (FS) M :1C 1 Field Separator (FS) M :1C 1 Field Separator (FS) M :1C 1 Command Type M 2 1 Last Character Received M VAR 6 Message Identifier Field size: 1 character Valid range: 6 Description: This field specifies the message identifier. The message identifier for Electronic Journal is 6. Command Type Field size: 1 character Valid range: 2 Description: This field specifies the command type for the Acknowledge And Stop of message identifier 6. 324 September 2012 Messages Electronic Journal Upload (EJU) commands Last Character Received Field size: 6 characters Valid range: 000000-999999 Description: The value in this field should be the same as the value in the Last Character This Block field in the last EJU data message sent by the terminal. The last Char Previous Block and Last Char This Block values are based on a modulus 1,000.000 character count which starts at zero when the application will be started and EJU has been activated. September 2012 325 NDC Status Messages Messages NDC Status Messages Solicited Status (terminal state) If the status descriptor field contains an ‘F’ in the solicited status message, the status information will vary according to which of the following terminal commands has been received by the terminal. Terminal Command Message Identifier Send Configuration Information 1 Send Supply Counters 2 Send Error Log Information 4 Send Date/Time Information 5 Send Configuration ID 6 Hardware Configuration Data H Supplies Data I Fitness Data J Tamper and Sensor Status Data K Software ID and Release Number L Local Configuration Option Digits M 326 September 2012 Messages NDC Status Messages Send Configuration Information This solicited status message is sent to central in response to a Send Configuration Information terminal command message. table 83: Send Configuration Information Description Code No. of Characters message identifier ‘1’ 1 configuration ID --- 4 field separator (FS) :1C 1 hardware fitness --- 22 or 38 field separator (FS) :1C 1 hardware configuration --- 44 or 76 field separator (FS) :1C 1 supply status --- 23 or 26 field separator (FS) :1C 1 sensor status --- 12 field separator (FS) :1C 1 NDC+ release number --- 6 field separator (FS) :1C 1 NDC+ software ID --- 9 Message identifier Field size: 1 Valid range: 1 Description: This message is sent to central in response to a send configuration information terminal command message. Configuration ID Field size: 4 Valid range: 0000-9999 Description: Contains the last four digit configuration ID numbers sent to the terminal from host. September 2012 327 NDC Status Messages Messages Hardware Fitness Field size: 22 or 38 Valid range: 0-4 Description: Contains one byte per device or major device resource. Each byte is encoded with an error severity value indicating the current fitness of the device. The following table describes the meaning of the severity codes: Code Severity 0 no error 1 routine errors have occurred 2 warning conditions have occurred 3 suspend, terminal is currently in suspend state due to suspected tampering with this device 4 fatal error condition exists Routine, warning and fatal conditions can only be cleared by local supervisor transactions or through an system reboot for some devices if the reboot flag is set. The following table gives an overview about the devices of the hardware fitness: table 84: Hardware Fitness Table Field 0 1 2 3 4 5 6 7 8 9 10 328 Contents time of day clock high order communications system disk card reader cash handler depository receipt printer journal printer reserved reserved night safe depository Field 11 12 13 14 15 16 17 18 19-20 21 September 2012 Contents encryptor security camera door access flex disk cassette type 1 cassette type 2 cassette type 3 cassette type 4 reserved statement printer Messages NDC Status Messages The following table lists devices that are additionally appended in the Hardware Configuration Status message if command modifier ’6’ for command code ’7’ is used: table 85: Hardware Fitness Table Enhanced Field 22 23 24 25 26 27 28 29 30 Contents Signage Display Reserved Coin Dispenser System Display Media Entry Indicators Envelope Dispenser Document Processing Module Coin Dispensing Module Tamper Indication Document Processing Module Tamper Indication Module Field 31 32 33 34 35 36 37 Contents Reserved Digital Audio Service Reserved Reserved Reserved Reserved Reserved Hardware configuration Field size: 44 or 76 Valid range: see detailed value description Description: Contains one byte per device or major device resource. Each byte is encoded with an error severity value indicating the current fitness of the device. See table 86: “Device Configuration Table” on page 329 for the definition of ech byte. table 86: “Device Configuration Table” on page 329 mainly contains expressions of NCR specific hardware. For ProCash/NDC and ProConsult/NDC this table is just a reference table where the option bits of each hardware device can be taken and be set in section [HARDWARE_CONFIGURATION] of configuration file CUSTOM.PPF, to send the expected values for the host in the Hardware Configuration Information message. table 86: Device Configuration Table Byte Device Description September 2012 329 NDC Status Messages Messages 0 Product 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1E 1F Class 5663 5674 5675 5684 5685 5688 5665 5670 personaS75 personaS88 personaS40 personaS70 personaS74 personaS84 personaS85 5305 5886 1 7F No Configuration 2 System Disk 00 02 Hard Disk present Reserved Magnetic Card Reader/Writer 01 03 05 07 08 09 0A 0B 0C 10 11 1D Track 2 (read only) Track 1/2/3 MCRW (write track3 only) Low cost DIP reader 3 Track Write MCRW Track 2 Smart Card Reader Track 1/2/3 Smart Card Reader 3 Track Write Smart Card Reader Track 2/3 DIP MSR Track 1/2/3 CIM 86 MCRW Track 1/2 DIP MSR Track 1/2 Swipe Card DIP Reader MIMIC Smart Card DIPReader Cash Handler 00 01 02 Standard cash handler not configured Standard cash handler configured Angel spray dispenser configured Depository 00 01 02 03 04 Not configured Reserved PPD Reserved (third generation ADM) DPM envelope depository (non-5665 SSTs only) Receipt Printer 00 01 02 03 04 05 06 07 08 Not configured Plain paper Black dot paper (TOF) Sideways printing, no black mark Sideways printing, black mark Thermal printer - no black mark Thermal printer - black mark Thermal printer - sideways printing, no black mark Thermal printer - sideways printing, black mark 3 4 5 6 330 September 2012 Messages 7 8 9 10 11 NDC Status Messages Journal Printer 00 01 02 03 80 81 82 83 Not configured Integral journal printer Reserved Thermal printer Electronic journal Electronic journal and integral journal printer Reserved Electronic journal and thermal printer Reserved 00 01 Not configured Configured Reserved 00 01 Not configured Configured Night Safe Depository 00 01 02 Not configured Configured Reserved Encryptor ?0 ?1 02 03 04 ?5 06 Not configured NBS encyptor Reserved Reserved Reserved EKC encryptor Reserved ? = SST key entry mode (0, B, or C) where: 0 = single length keys without XOR key entry B = single length keys using XOR key entry C = double length keys 12 13 14 15 16 Security Camera 00 01 02 03 04 Not configured Fixed format (for instance, 3M) Variable format (for instance, D/A) Reserved Digital Door Access 00 01 Not configured Configured Flex Disk 00 01 02 Not configured 1.44 MB flex disk connected 2.88 MB flex disk connected Tamper Indicat. Bins not DPM or CDM 00 01 02 03 No TI bins present Secure cash, insecure cards, PPD or no PPD Secure cash, insecure cards, secure PPD Secure cash, cards, and PPD or no PPD Cardholder Keyboard 00 01 02 Reserved Standard (BAPE) Keyboard EKC Keyboard September 2012 331 NDC Status Messages 17 Messages Operator Keyboard 00 01 02 Not configured Standard keyboard (Basic) Keyboard plus FDK’s (Enhanced) Cardholder Display / Voice BIT 0 BIT 1 BIT 2 BIT 2 BIT 3 BIT 3 BIT 4 BIT 4 BIT 5 BIT 6 BIT 7 0 - (always) 0 - (always) 0 - Voice not supported 1 - Voice supported if digital audio present 0 - Standard FDK’s 1 - Touch screen 0 - VGA 1 - VGM Translator 0 - (always) 0 - (always) 0 - (always) 19 7F No configuration 20 7F No configuration 21 Statement printer 00 01 02 03 05 09 Not configured Configured Reserved Reserved 5665 DPM statement printer Enhanced thermal statement printer (SDC+) Signage Display [1] 00 01 Not configured Configured 23 --- Reserved 24 Coin Dispenser [1] 00 01 02 None RMX S4 System Display [1] 00 01 02 Not configured 20 x 40 Display Enhanced Display (16 x 32) Media Entry Indicators [1] 00 01 Not configured Configured Envelope Dispenser [1] 00 01 02 03 Not configured Configured Reserved Reserved Document Processing Module [1] 00 01 02 Not configured 5665 DPM configured DP-ATM configured 18 22 25 26 27 28 332 September 2012 Messages 29 NDC Status Messages Coin Dispensing Module Tamper Indication [1] 00 01 Not configured Present Document Processing Module Tamper Indication [1] 00 01 Not configured Present 31 --- Reserved 32 Digital Audio Service [1] 00 01 Not configured Present --- [1] Reserved 30 33-37 [1] These devices are only appended in the message if command modifier ’6’ is used. September 2012 333 NDC Status Messages Messages Supply Status Field size: 23 or 26 Valid range: 0 - Not Configured 1 - Good State 2 - Media Low 3 - Media Out 4 - Overfilled Description: Contains one byte of following devices: table 87: Supply Status Device Table Field 0 1 2 3 4 5 6 7 8 9 10 [1] Contents reserved reserved not used = 0 card capture bin cash handler reject bin deposit bin receipt paper journal paper not used = 0 not used = 0 night safe depository Field 11 - 14 15 16 17 18 19-20 21 22 23 24 25 Contents not used = 0 cassette type 1 cassette type 2 cassette type 3 cassette type 4 not used = 0 statement printer statement ribbon reserved [1] reserved [1] envelope dispenser [1] These devices are only appended in the message if command modifier ’6’ is used. Sensor Status Field size: 12 Valid range: see description Description: Contains one character per sensor and is identical to the information reported in character 2-13 of the Sensors status message. See section ”Sensor Status (unsolicited) (DID ‘P’)” on page 399 for details. 334 September 2012 Messages NDC Status Messages NDC+ Release Number Field size: 6 Valid range: see description Description: Contains a six digit decimal number. The first pair of digits represents the release number. The second pair of digits represents the point release number. The third pair of digits represents the patch release number. Example: 060400 is release 06.04.00 NDC+ Software ID Field size: 9 Valid range: see description Description: Contains the NDC+ Software ID. Following values are valid: G530-0205 (NDC+ Native mode) G530-0206 (NDC+ Diebold Emulation mode) ProCash/NDC reports G530-0205 (NDC+ Native mode) September 2012 335 NDC Status Messages Messages Send Supply Counters This solicited status message is sent to the host in response to a “Send Supply Counters” terminal command message. table 88: Supply Counters Description Code No. of Characters message identifier ‘2’ 1 transaction serial number --- 4 accumulated transaction count --- 7 notes in cassette --- 20 notes rejected --- 20 notes dispensed --- 20 last transaction notes dispensed --- 20 cards captured --- 5 envelopes deposited --- 5 camera film remaining --- 5 (not supported) last envelope serial number --- 5 coins remaining in safe [---] 20 [1] coins total dispensed [---] 20 [1] last transaction coins dispensed [---] 20 [1] [1] This field is appended only if a coin dispenser module is connected. The field size depends on how many host hoppers are configured. The default for NDC compatibility is set to 4 hopper types. Message identifier Field size: 1 Valid range: 2 Description: This message is sent to the host in response to a Send Configuration Information terminal command message. 336 September 2012 Messages NDC Status Messages Transaction serial number Field size: 4 Valid range: 0000-9999 Description: Contains the TSN of the last transaction processed by the terminal. If this does not correspond to the last TSN sent by host, the transaction has not been initiated and terminal counters have not been updated. Accumulated transaction count Field size: 7 Valid range: 0000000-9999999 Description: Defines the total number of transactions completed since the terminal was installed, or the non-volatile terminal memory was last corrupted. The count is reset to 0 after 9,999,999 transactions. Notes in cassette Field size: 20 Valid range: 00000-09999; 65535 Description: Consists of four 5 digit decimal counts of the total number of notes remaining in cassette types 1, 2, 3 and 4. The counts are set by supervisor functions and are decremented on each dispense transaction. These counts are zero if not set by the „Standard Cassette Change“ or „Set Cassette Counters“ SOP function. If physically more notes are dispensed (dispense below zero) than initially set (number of notes loaded) via one of the SOP function, ProCash/NDC sets this counter to value 65535 if the dispense below zero option is enabled. Notes rejected Field size: 20 Valid range: 00000-99999 Description: Consists of four 5 digit decimal counts of the total number of notes moved to the reject bin from cassettes 1, 2, 3 and 4. Although the fields ‘Notes in Cassettes’ and ‘Notes rejected’ may not be totally accurate, the sum of these counters for a particular cassette does accurately represent the difference between the original number of notes added and the number of notes dispensed. September 2012 337 NDC Status Messages Messages Notes dispensed Field size: 20 Valid range: 00000-99999 Description: Consists of four 5 digit decimal counts of the total number of notes dispensed from cassettes 1, 2, 3 and 4. These counts are consistent with note counts reported since the counts were last cleared by a SOP function. Last transaction notes dispensed Field size: 20 Valid range: 00000-99999 Description: Consists of four 5 digit decimal counts of the total number of notes dispensed on the last transaction processed by the terminal. These field allows the host to recover note counts after power failure, even if the power failure occurred in the middle of a dispense operation. Card captured Field size: 5 Valid range: 00000-99999 Description: Consists of one 5 digit decimal count of the number of cards captured since the count was cleared by a SOP function. The count includes cards captured up to and including the transaction defined in the transaction serial number. Envelopes deposited Field size: 5 Valid range: 00000-99999 Description: Consists of one 5 digit decimal count of the number of envelopes deposited since the count was last cleared by a SOP function. The count includes envelopes deposited up to and including the transaction defined in the transaction serial number. 338 September 2012 Messages NDC Status Messages Camera film remaining Field size: 5 Valid range: 00000 Description: Not supported by Wincor Nixdorf terminals. Always returned as zeros. Last envelope serial number Field size: 5 Valid range: 00000 Description: The last envelope serial number is always set to 00000. September 2012 339 NDC Status Messages Messages Send Error Log Information This solicited status message is sent to the host in response to a “Send Error Log Information” terminal command message. All error log information are stored in the CMOS file “C:\PROTOPAS\WORK\CCCMOS.BIN”. If the error log information request (6C) is sent from the host, the terminal reads the contents from the CMOS and send it to the network. The error log file can be cleared via the User Exit function. Enter “Individual Functions” from the main menu and select “Clear Error Log”. table 89: Send Error Log Information Description message identifier group number new entries date last cleared month day hour minute device identification (DID) maintenance status (M-Status) severity part number maintenance data (M-Data) field separator Code ‘4’ C --------------------VAR :1C No. of Characters 1 1 2 12 2 [1] 2 [1] 2 [1] 2 [1] 1 [1] 2 [1] 1 [1] 1 [1] 23 [1] 1 [1] [1] These fields are repeated for each log entry present. The field separator is not present after the last log entry. In case of a repeated log there are two entries. The first acts as a header indicating the time of the most recent entry and the number of times repeated. The following log entry contains the information which has been repeatedly logged by the system, with the time of the first entry. Message identifier Field size: 1 Valid range: 4 Description: This message is sent to central in response to a send error log group terminal command message. 340 September 2012 Messages NDC Status Messages Group number Field size: 1 Valid range: C Description: This field indicates the group number of the requested group. ‘A’ = Processor system (not supported by Wincor Nixdorf terminals) ‘B’ = Communications (not supported by Wincor Nixdorf terminals) ‘C’ = ATM devices New entries Field size: 2 Valid range: See description Description: The number of new entries on the log since last read. If this is greater than log entries reported it indicates that log entries have been missed. Date last cleared Field size: 12 Valid range: See description Description: The date and time the log was last cleared in the following format: YY = Year 00-99 MM = Month 01-12 DD = Day 01-31 HH = Hour 00-23 MM = Minute 00-59 SS = Second 00-59 Month Field size: 2 Valid range: 01-12 Description: Month log entry September 2012 341 NDC Status Messages Messages Day Field size: 2 Valid range: 01-31 Description: Day log entry Hour Field size: 2 Valid range: 00-23 Description: Hour log entry Minute Field size: 2 Valid range: 00-59 Description: Minute log entry Device identification Field size: 1 Valid range: ‘C’ Description: This field identifies the device for which the log entry was made. This is the device identification used in all Wincor Nixdorf terminals reporting. 342 ‘A’ Processor system (not supported by Wincor Nixdorf terminals) ‘B’ Communications (not supported by Wincor Nixdorf terminals) ‘C’ or greater- ATM device log ‘?’ - Repeat log September 2012 Messages NDC Status Messages Maintenance status (M-status) Field size: 2 Valid range: 00-99 Description: For a repeat log entry (’?’) this is field contains the number of times the log entry is repeated. Severity Field size: 1 Valid range: 1-4 Description: Severity of the log entry. Part number Field size: 1 Valid range: always zero Description: Part number of the component of the device. Maintenance data (M-data) Field size: 2 Valid range: 0-9; A-F Description: Maintenance data consisting of a string of hexadecimal characters. Each pair of characters represents the binary value of a single byte of detailed maintenance data. For a repeat log entry this data field is empty. September 2012 343 NDC Status Messages Messages Send date/time information This solicited status message is sent to the host in response to a send date and time terminal command message. table 90: Send Date/Time Info Description Code No. of Characters message identifier ‘5’ 1 TOD clock status 0-2 1 terminal date/time --- 12 Message identifier Field size: 1 Valid range: 5 Description:This message is sent to central in response to a send date and time information terminal command message. TOD clock status Field size: 1 Valid range: 0-2 Description: 0 = Time is actual; 1 = Time is default; 2 = TOD malfunction Terminal date/time Field size: 12 Valid range: See description Description: The actual date and time returned by the terminal clock in format: YY = Year 00-99 MM = Month 01-12 DD = Day 01-31 HH = Hour 00-23 MM = Minute 00-59 SS = Second 00-59 344 September 2012 Messages NDC Status Messages Send Configuration ID This solicited status message is sent to central in response to a Send Configuration ID terminal command message with command code ’3. table 91: Send Configuration ID Description Code No. of Characters message identifier ‘6’ 1 configuration ID --- 4 Message identifier Field size: 1 Valid range: ’6’ Description: This message is sent to central in response to a Send Configuration ID terminal command message (command code ’3’). Configuration ID Field size: 4 Valid range: 0000-9999 Description: Contains the last four digit configuration ID number sent to the terminal from host. September 2012 345 NDC Status Messages Messages Hardware Configuration Data This solicited status message is sent to central in response to a Send Configuration Information terminal command message with command code ’7’ and command modifier ’1’. table 92: Hardware Configuration Data Description Code No. of Characters message identifier ‘H’ 1 configuration ID identifier ’A’ 1 configuration ID --- 4 field separator (FS) :1C 1 product class identifier ’B’ 1 product class --- 2 field separator (FS) :1C 1 hardware configuration identifier ’C’ 1 device identifier --- 1 hardware configuration data --- 2 group separator (GS) [1] [:1D] 1 [---] 1 [---] 2 device identifier [1] hardware configuration data [1] [1] These fields, devided through group separators, are repeated for each of the devices present in the ATM. Message identifier Field size: 1 Valid range: ’H’ Description: This message is sent to central in response to a send configuration information terminal command message (command code ’7’ inclusive command modifier ’1’). 346 September 2012 Messages NDC Status Messages Configuration ID Identifier (’A’) Field size: 1 Valid range: ’A’ Description: Identifier of the four digit configuration ID number that follows. Configuration ID Field size: 4 Valid range: 0000-9999 Description: Contains the last four digit configuration ID number sent to the terminal from host. Product class ID Identifier (’B’) Field size: 1 Valid range: ’B’ Description: Identifier of the two digit product class that is included in the following two fields of the message. Product class Field size: 2 Valid range: 0000-9999 Description: This two character field contains the product class of the terminal. The following entries are possible: Product class Sytem Type 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 5663 5674 5675 5684 5685 5688 5665 5670 personaS75 personaS88 personaS40 personaS70 personaS74 personaS84 personaS85 September 2012 347 NDC Status Messages Messages Hardware configuration identifier (’C’) Field size: 1 Valid range: ’C’ Description: This field indicates that hardware configuration information of each present device follows. It is devided into a series of subfields separated by group separators. One subfield consists of Device Identifier and Hardware Configuration Data. If a device is not present, there will be no corresponding Device Identifier subgroup in the field. Device identifier Field size: 1 Valid range: Description: This field contains the Device Identifier of each present device. Hardware configuration data Field size: 2 Valid range: see table 86: “Device Configuration Table” on page 329. Description: This field contains the two digit hardware configuration information of each present device. It contains information for each device indicating which variant of the device is configured and if any other configuration data is available. The following table lists the Device Identifier Graphic (DIG) of the devices that can be included in the Hardware Configuration Data field: table 93: Hardware Configuration Data DIG Table DIG Data Length Device Description A - Time-of-Day Clock B - High Order Communications C 2 System Disk D 2 Magnetic Card Reader/Writer E 2 Cash Handler F 2 Envelope Depository 348 September 2012 Messages NDC Status Messages G 2 Receipt Printer H 2 Journal Printer I - Reserved J - Reserved K 2 Night Safe Depository L 2 Encryptor M 2 Security Camera N 2 Door Access System O 2 Off-Line Disk P 2 TI Bins Q 2 Cardholder Keyboard R 2 Operator Keyboard S 2 Cardholder Display T - Reserved U - Reserved V 2 Statement Printer W - Reserved X - Reserved Y 2 Coin Dispenser Z 2 System Display [ 2 Media Entry Indicators \ 2 Envelope Dispenser ] 52 Document Processing Module (DPM) ^ 2 CDM Tamper Indicators - 2 DPM Tamper Indicators a 2 Digital Audio Service [-] - means that this DIG is not included in the Hardware Configuration Data field September 2012 349 NDC Status Messages Messages Supplies Data This solicited status message is sent to central in response to a Send Configuration Information terminal command message with command code ’7’ and command modifier ’2’. table 94: Supplies Data Description Code No. of Characters message identifier ‘I’ 1 supply status identifier ’A’ 1 device identifier --- 1 supply status data --- VAR group separator (GS) [1] [:1D] 1 device identifier [1] [---] 1 [---] VAR supply status data [1] [1] These fields, devided through group separators, are repeated for each of the devices present in the ATM. Message identifier Field size: 1 Valid range: ’I’ Description: This message is sent to central in response to a send configuration information terminal command message (command code ’7’ inclusive command modifier ’2’). Supply status identifier (’A’) Field size: 1 Valid range: ’A’ Description: This field indicates that supply data of each present device follows. It is devided into a series of subfields separated by group separators. One subfield consists of Device Identifier and following supply data. If a device is not present, there will be no corresponding Device Identifier subgroup in the field. 350 September 2012 Messages NDC Status Messages Supply status data Field size: VAR Valid range: each element of the supplies status data will take one of the following values: ’0’ ’1’ ’2’ ’3’ ’4’ Not configured/reserved Good state Media low Media out Overfill Description: This field contains information for each present device indicating the condition of the parts of the device that are replenishable. The following table lists the Device Identifier Graphic (DIG) of the devices that can be included in the Supplies Status Data field: table 95: Supplies Status Data DIG Table DIG Data Length Device Description A - Time-of-Day Clock B - High Order Communications C - System Disk D 1 Magnetic Card Reader/Writer E 5 Cash Handler F 1 Envelope Depository G 4 Receipt Printer H 3 Journal Printer I - Reserved J - Reserved K 1 Night Safe Depository L - Encryptor M 1 Security Camera N - Door Access System O - Off-Line Disk P - TI Bins Q - Cardholder Keyboard September 2012 351 NDC Status Messages Messages R - Operator Keyboard S - Cardholder Display T - Reserved U - Reserved V 5 Statement Printer W - Reserved X - Reserved Y 4 Coin Dispenser Z - System Display [ - Media Entry Indicators \ 1 Envelope Dispenser ] 8 Document Processing Module (DPM) ^ - CDM Tamper Indicators - - DPM Tamper Indicators a - Digital Audio Service [-] - means that this DIG is not included in the Supply Status Data field 352 September 2012 Messages NDC Status Messages Fitness Data This solicited status message is sent to central in response to a Send Configuration Information terminal command message with command code ’7’ and command modifier ’3’. table 96: Fitness Data Description Code No. of Characters message identifier ‘J’ 1 hardware fitness identifier ’A’ 1 device identifier --- 1 fitness --- 1 group separator (GS) [1] [:1D] 1 device identifier [1] [---] 1 [---] 1 fitness [1] [1] These fields, devided through group separators, are repeated for each of the devices present in the ATM. Message identifier Field size: 1 Valid range: ’J’ Description: This message is sent to central in response to a send configuration information terminal command message (command code ’7’ inclusive command modifier ’3’). Hardware fitness identifier (’A’) Field size: 1 Valid range: ’A’ Description: This field indicates that the hardware fitness of each present device follows. It is devided into a series of subfields separated by group separators. One subfield consists of Device Identifier and following hardware fitness. If a device is not present, there will be no corresponding Device Identifier subgroup in the field. September 2012 353 NDC Status Messages Messages Fitness Field size: 1 Valid range: each fitness character is encoded with one of the following error severity values, indicating the current fitness of the device: ’0’ ’1’ ’2’ ’3’ ’4’ No error/ not supported Routine errors have occurred Warning conditions have occurred, investigation required Suspend Mode. The terminal is currently in the suspend mode due to suspected tampering with this device Fatal error condition exists on this device Routine, Warning and fatal errors can only be cleared by entering Supervisor Mode or local Supervisor function “Clear Fitness”. Description: This field contains information for each present device indicating the current fitness the device present. table 97: Fitness Data DIG Table DIG Data Length Device Description A 1 Time-of-Day Clock B 1 High Order Communications C 1 System Disk D 1 Magnetic Card Reader/Writer E 5 Cash Handler F 1 Envelope Depository G 1 Receipt Printer H 1 Journal Printer I - Reserved J - Reserved K 1 Night Safe Depository L 1 Encryptor M 1 Security Camera N 1 Door Access System O 1 Off-Line Disk P - TI Bins Q 1 Cardholder Keyboard 354 September 2012 Messages NDC Status Messages R - Operator Keyboard S - Cardholder Display T - Reserved U - Reserved V 1 Statement Printer W - Reserved X - Reserved Y 5 Coin Dispenser Z - System Display [ - Media Entry Indicators \ 1 Envelope Dispenser Document Processing Module (DPM) ] 14 ^ - CDM Tamper Indicators - - DPM Tamper Indicators a 1 Digital Audio Service [-] - means that this DIG is not included in the Fitness Data field September 2012 355 NDC Status Messages Messages Tamper and Sensor Status Data This solicited status message is sent to central in response to a Send Configuration Information terminal command message with command code ’7’ and command modifier ’4’. table 98: Tamper and Sensor Status Data Description Code No. of Characters message identifier ‘K’ 1 sensor status identifier ’A’ 1 sensor status --- 5 field separator :1C 1 tamper indicator identifier ’B’ 1 tamper status --- VAR Message identifier Field size: 1 Valid range: ’K’ Description: This message is sent to central in response to a send configuration information terminal command message (command code ’7’ inclusive command modifier ’4’). Sensor status identifier (’A’) Field size: 1 Valid range: ’A’ Description: This field indicates that a five bytes sensor status follows. These sensor status bytes are identical to the information reported in bytes 2-6 of the Sensor Status message. See section ”Sensor Status (unsolicited) (DID ‘P’)” on page 399. Sensor Status Field size: 5 Valid range: 0 - 1 Description: These 5 bytes represents the same sensor status as reported in the unsolicited Sensor Status message (DID ’P’). 356 September 2012 Messages NDC Status Messages Tamper status identifier (’A’) Field size: 1 Valid range: ’A’ Description: This field indicates that TI sensor status information follows. Tamper Status Field size: VAR Valid range: 0 - 1 Description: Character 1-7 of the tamper status data are identical to the information reported in bytes 7-13 of the Sensor Status message. See section ”Sensor Status (unsolicited) (DID ‘P’)” on page 399. The characters 8-13 are devices that are not supported by ProCash/NDC and appended as zeros in this message. If a device is not configured, any associated TI byte will take the value ’0’. Software ID and Release Number This solicited status message is sent to central in response to a Send Configuration Information terminal command message with command code ’7’ and command modifier ’5’. table 99: Software ID and Release Number Description Code No. of Characters message identifier ‘L’ 1 release number identifier ’A’ 1 NDC release number --- VAR (6) field separator :1C 1 software ID identifier ’B’ 1 NDC software ID --- VAR (9) See description of the fields on the following page. September 2012 357 NDC Status Messages Messages Message identifier Field size: 1 Valid range: ’L’ Description: This message is sent to central in response to a send configuration information terminal command message (command code ’7’ inclusive command modifier ’5’). Release number identifier (’A’) Field size: 1 Valid range: ’A’ Description: This field indicates that a six digit release number follows. NDC release number Field size: 6 Valid range: VAR Description: Contains a six digit decimal number. The first pair of digits represent the release number. The second pair of digits represent the point release number. The third pair of digits represent the patch number (Example : 060000 is release 06.00.00). Software ID identifier (’B’) Field size: 1 Valid range: ’B’ Description: This field indicates that the sftware ID follows. NDC Software ID Field size: 9 Valid range: VAR Description: Contains the NDC+ software ID. For this release the field is set to following value: G530-0205 (NDC+ Native mode). 358 September 2012 Messages NDC Status Messages Extended Hardware Configuration This solicited status message is sent to central in response to a Send Configuration Information terminal command message with command code ’7’ and command modifier ’6’. The message has the same structure as with command modifier ’1’ except it has included additional devices in the Hardware Fitness fields. Refer to table 85: “Hardware Fitness Table Enhanced” on page 329 for description of the additional device fields. September 2012 359 NDC Status Messages Messages Local Configuration Option Digits This solicited status message is sent to central in response to a Send Configuration Information terminal command message with command code ’7’ and command modifier ’7’. table 100: Local Configuration Option Digits Description Code No. of Characters message identifier ‘M’ 1 local options identifier ’A’ 1 local option digits --- VAR (16) Message identifier Field size: 1 Valid range: ’M’ Description: This message is sent to central in response to a send configuration information terminal command message (command code ’7’ inclusive command modifier ’7’). Local options identifier (’A’) Field size: 1 Valid range: ’A’ Description: This field indicates that local option digits follows. Local option digits Field size: 16 Valid range: VAR Description: These characters represent the values of the Local Option Digits. You can enable specific options via parameter LOCAL_MODE_ OPTIONS in configuration file CUSTOM.PPF. 360 September 2012 Messages NDC Status Messages Solicited Status (device fault) When the status descriptor is ‘8’ - device fault, the following information is present in the status information field. table 101: Solicited Status (Device Fault) Description Code No. of Characters device identifier --- 1 transaction status VAR 17 field separator [:1C] 1 error severity VAR 5 field separator [:1C] 1 diagnostic M-status --- VAR diagnostic M-data [---] VAR field separator [:1C] 1 supplies status VAR 5 Device Identifier Field size: 1 Valid range: See description Description: This field identifies the device by means of a device identification (DID). The following table shows DID entries of solicited status messages which Wincor Nixdorf terminals may send in response for transaction reply commands: DID Device D card reader/writer E cash handler F depository Y coin dispenser September 2012 361 NDC Status Messages Messages Transaction Status Field size: 17 Valid range: See description Description: Contains information required to make a transaction completion decision. The length of the field is different for each device but each device will always send the same number of characters. See next section for detailed descriptions for each device. Error Severity Field size: 2 Valid range: 0-99 Description: Contains information required to decide locking the device or continue to use. The length of the filed is one character with the exception of currency handler which sends five characters. Each character is always coded in the same way: table 102: Error Severity Table Code Short Description Detailed Description 0 no error Continue to use. No error has occurred. Diagnostic information follows. 1 routine error Continue to use. A routine error has occurred and diagnostic information follows. 2 warning Continue to use but it is recommended that the network operator is informed of the error or exception condition. Diagnostic information follows. 3 suspend The terminal will suspend transaction processing on completion of the current transaction (state 000 entered). This is sent if cardholder tampering is suspected. 4 fatal Device is out of service and will continue to report intervention at the terminal. It is recommended that the terminal is put out of service or transactions involving the faulty device are not allowed. 362 September 2012 Messages NDC Status Messages Diagnostic M-Status Field size: 2 Valid range: 0-99 Description: The two digit M-Status contain the NDC specific main error status which gives a global information of the error situation. The M-Status values can be configured (mapped) for each error CLASS and error CODE of vendor specific errors (on Wincor Nixdorf systems CSC-W32 errors) via parameter “M_STATUS” in configuration file CCERRMAP.INA. Please refer to the ProCash/NDC ProConsult/NDC Installation manual section “Customize Error Mapping Table CCERRMAP” how to configure M-Status. Diagnostic M-Data Field size: 0-30 Valid range: 0-9; A-F Description: This field is used to log additional M-Data status information. It can be variable depending on the device. M-Data are appended to the M-Status without separator. M-Data contain additional hardware status information of NCR hardware. On Wincor Nixdorf systems this hardware status information can be configured (mapped) via parameter “M_DATA” in configuration file CCERRMAP.INA to the vendor specific error code with the closest match to the meaning of the NCR specifc M-Data code. A cross reference of the M-Data descriptions can be taken from the original Diagnostic Status Code Note Book that can be ordered from NCR. (See also M-Status description). Supplies Status Field size: 5 Valid range: 0-99 Description: Contains information related to the state of supplies (paper, currency, magnetic cards, envelopes) in the terminal. This field contains one character for each supplies container managed by the device. September 2012 363 NDC Status Messages Messages Each character is always coded in the same way: table 103: Supplies Status Table Code Short Description Detailed Description 0 no-new-state The state of the container can be assumed as unchanged 1 good state The state of the container is known to be good (not low empty or overfilled). 2 media low The container has reached the low condition. 3 media out The container is empty. 4 overfill The container has sensed a full condition and should be emptied. If this field is omitted it can be assumed that there is no new state on any container. 364 September 2012 Messages NDC Status Messages Encryptor Initialisation Data This message class/sub-class is used for initialising the encryptor module, and is used in a similar way to the terminal state message. However, it does not contain any of the fields associated with message authentication, and is therefore suitable for the initial exchange of data required to initialise the encryptor. This message is solicited and is returned in response to an Extended Encryption Key Change message sent from the central. table 104: Encryptor Initialisation Data Description Code No. of Characters solicited/unsolicited ID ‘2’ 1 message identifier ‘3’ 1 field separator :1C 1 logical unit number (LUNO) [X] 3 field separator (FS) :1C 1 field separator (FS) :1C 1 information identifier --- 1 field separator (FS) [:1C] 1[1] encryptor information [---] VAR [1] This field separator is omitted if the message contains no encryptor information. This is the case for Information Identifier = ‘5’. The following paragraphs describe the fields in the Transaction Request message. Solicited/unsolicited message field Field size: 1 character Valid range: 1-2 Description: This field tells the network whether the message is solicited or unsolicited. The valid entries for this field are as follows: 1 - unsolicited message 2 - solicited message For the Encryptor Initialisation Data message, this field will be 2. September 2012 365 NDC Status Messages Messages Message identifier field Field size: 1 character Valid range: 3 Description: This one-character data field defines the type of message being transmitted. The only valid value for the Encryptor Initialisation Data is 3. Logical unit number (LUNO) Field size: 3 or 9 characters Valid range: See description Description: This three-character data field is defined in the configuration data transmitted to the terminal. If a machine number is entered, this field will contain nine characters with the last six characters of this field being the terminal number used for MACing. See section ”Message Authentication (MAC)” on page 221 for further information. Information Identifier Field size: 1 character Valid range: See description Description: This field identifies the type of information sent, as follows: 366 •‘1’ - EPP Serial Number and Signature •‘2’ - EPP Public Key and Signature •‘3’ - New Key Verification Value (KVV) for key just loaded or reactivated •‘4’ - Keys Status (KVVs) •‘5’ - Key Loaded •‘6’ - Key Entry Mode September 2012 Messages NDC Status Messages Encryptor Information Field size: variable Valid range: See description Description: Encryptor Information, dependent on the Information Identifier as follows: Information Identifier ’1’: EPP Serial Number Size: 8 EPP Serial Number Signature, created using the SK-NCR key, and base 94 encoded. For further details of EPP authentication and base 94 encoding. Size: 320 Information Identifier ’2’: EPP Public Key, base 94 encoded. Size: 320 EPP Public Key Signature, created using the SK-NCR key, and base 94 encoded. Size: 320 Information Identifier ’3’: New Key Verification Value (KVV) Size: 6 or 72 Information Identifier ’4’: Keys Status, containing KVVs as follows: - Master Key KVV - Communications Key KVV - MAC Key KVV - B-Key KVV - VISA Master Key KVV Size: 6 for each - VISA Key Table KVVs Size: 72 Note: If a key has not been loaded, its KVV will be six zeros. September 2012 367 NDC Status Messages Messages Information Identifier ’5’: For key loaded this field is absent Information Identifier ’6’: Key Entry Mode, a single character in the range ‘1’ to ‘4’ as follows: •‘1’ - Single length without XOR •‘2’ - Single length with XOR •‘3’ - Double length with XOR •‘4’ - Double length, restricted Size: 1 368 September 2012 Messages NDC Status Messages Unsolicited Device Status The following table shows the structure of the status information field in unsolicited status messages of NDC. table 105: Unsolicited Device Status Description Code No. of Characters device identifier (DID) --- 1 device status VAR 13 field separator [:1C] 1 error severity VAR 5 field separator [:1C] 1 diagnostic M-status --- VAR diagnostic M-data [---] VAR field separator [:1C] 1 supplies status VAR 5 Device Identifier (DID) Field size: 1 Valid range: See description Description: This field identifies the device by means of a device identification (DID). Device Status Field size: 13 Valid range: See description Description: Used for recording any transaction exceptions of device state changes. For devices which report both solicited and unsolicited status messages a common set of transaction device status codes are defined for use in either type of message. When processing a transaction reply command any unsolicited transaction exceptions are reported prior to the solicited device fault or ready status. September 2012 369 NDC Status Messages Messages Error Severity Field size: 2 Valid range: 0-99 Description: See section ”Solicited Status (device fault)” on page 361 Diagnostic M-Status Field size: 2 Valid range: 0-99 Description: The two digit M-Status contain the NDC specific main error status which gives a global information of the error situation. The M-Status values can be configured (mapped) for each error CLASS and error CODE of vendor specific errors (on Wincor Nixdorf systems CSC-W32 errors) via parameter “M_STATUS” in configuration file CCERRMAP.INA. Please refer to the ProCash/NDC ProConsult/NDC Installation manual section “Customize Error Mapping Table CCERRMAP” how to configure M-Status. Diagnostic M-Data Field size: 0-30 Valid range: 0-9; A-F Description: This field is used to log additional M-Data status information. It can be variable depending on the device. M-Data are appended to the M-Status without separator. M-Data contain additional hardware status information of NCR hardware. On Wincor Nixdorf systems this hardware status information can be configured (mapped) via parameter “M_DATA” in configuration file CCERRMAP.INA to the vendor specific error code with the closest match to the meaning of the NCR specifc M-Data code. A cross reference of the M-Data descriptions can be taken from the original Diagnostic Status Code Note Book that can be ordered from NCR. (See also M-Status description). Supplies Status Field size: 5 Valid range: 0-99 Description: See section ”Solicited Status (device fault)” on page 361 370 September 2012 Messages NDC Status Messages Power Up (unsolicited) (DID ‘B’) This message is used to inform the host that a power interruption or system reboot has occurred. Under such circumstances, the message cannot be sent until the communication with the host has been reestablished. The status field for this type message is composed of the following sub fields: Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 B Indicates a power failure. Device Status 4 VAR Four characters (‘0000’ ‘9999’) defining the configuration number of the customization data. The host ensures that the terminal has the correct CI before sending a go in service command. U September 2012 371 NDC Status Messages Messages Card Reader (sol./unsol.) (DID ‘D’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 D Indicates a card reader unit message U 0 S/U 1 S/U 2 S/U 3 S/U 4 No transaction exception condition occurred but consult other fields for error severity, diagnostic status or supplies status changes. Cardholder did not take his card within the allowed time and it was captured or jammed. The mechanism failed to eject the card and it was captured or jammed. The mechanism failed to update Track 3 on the card. Invalid Track 3 data received from Central S/U 9 Consecutive Chip contact errors occurred 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. Transaction 1 Device Status; gives details of any transaction related exception condition detected while processing a card at the terminal. Error Severity 372 1 September 2012 Messages NDC Status Messages Description No. of Sol./ Code Characters Unsol. Detailed Definition Diagnostic M-status and M-Data 2-10 Operation successful Blank track Track not supported Read error Write error No card in reader at start of command Card removed during capture Shutter jammed open 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 September 2012 Shutter switch failure detected Error recovery successful shutter jammed closed Card jam (not during capture) Card captured after unsuccessful eject Possible cardholder tampering Too many consecutive read errors Too many consecutive write errors Too many consecutive card jams 373 NDC Status Messages Description Messages No. of Sol./ Code Characters Unsol. 17 18 19 20 21 22 23 24 25 26 27 33 35 37 38 40 41 50 51 52 53 54 55 56 57 374 September 2012 Detailed Definition Too many consecutive shutter jammed closed Card jam during capture Too many consecutive invalid cards Device still inoperative No card during clean test Speed out of spec. (fast) Speed within +3% Speed within +-1% Speed within -3% Speed out of spec. (slow) Invalid card detected CIM service test failed Error in track 3 data CROPF feature not supp. LFCC bin full soon/full LFCC bin removed CROPF feature failure Card not in SCRW stage position Smart card stopper pin or contacts lowered, unable to capture Invalid smart card command code error Invalid smart card command data error SCIF not configured/not responsing SCIF response timeout exeeded Card reader is in SCRW mode (diagnostics only) Invalid smart card response length Messages Description NDC Status Messages No. of Sol./ Code Characters Unsol. 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 September 2012 Detailed Definition Invalid SCIF command code Invalid SCIF command format No smart card encryptor response error Invalid key ID Invalid key type Invalid parent key type Invalid key - doesn’t exist Password not decimal Password no match Key integrity error Key parity error Invalid data format Stopper PIN failure Contact unit failure Card movement failure Smart card switch off failure Smart card removed error No smart card response Smart card transmission error Smart card switched off Illegal card type/param. Power up ime exceeded ANSI PIN block error CIM self test failed CIM security module defective CIM security module communication failure CIM interface board defective CIM interface board communication failure 375 NDC Status Messages Messages Description No. of Sol./ Code Characters Unsol. Detailed Definition Supplies Status 1 No new state No overfill condition Overfill condition 376 0 1 4 September 2012 Messages NDC Status Messages Dispenser (sol./unsol.) (DID ‘E’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 E Indicates a dispenser solicited or unsolicited message. U 0 S S S 1 2 3 Successful operation, but an exception condition occurred which is detailed in later fields. Short dispense No notes dispensed Faulty dispense. Notes dispensed unknown. The following counts contain requested dispense values. S 4 U 5 Transaction Status 1 (T-code plus T-data); gives details of a dispense operation in response to a transaction reply command message. Characters 2-9 (T-Data) contain notes dispensed counts. Each pair of characters represents a twodigit decimal value in range 00-99 per cassette type No notes dispensed or card not ejected. This status is returned on a card before cash transaction if the stack operation fails and the notes are purged prior to card eject. Some notes have been retracted following a Present and Notes not taken time-out. The number of notes retracted is unknown. Characters Cass Types 2-3 4-5 6-7 8-9 logical cassette 1 logical cassette 2 logical cassette 3 logical cassette 4 September 2012 377 NDC Status Messages Messages Description No. of Sol./ Code Characters Unsol. Error Severity 5 0-4 Severity info related to complete device. Severity related to cassette type 1. Severity related to cassette type 2. Severity related to cassette type 3. Severity related to cassette type 4. Character ’0’ Character ’1’ Character ’2’ Character ’3’ Character ’4’ Diagnostic M-status and M-data 2-32 00 01 02 03 04 05 06 07 08 09 10 11 378 Detailed Definition September 2012 No error Pick requested from noninstalled cassette Too many bills being rejected Pick failure Pick failure and low (out of bills) Sensor failure or currency jam Divert gate fault Reject bin inoperative Reject bin overfill Comm failure between dispenser and terminal Fatal previous error Unrecovered previous error Messages Description NDC Status Messages No. of Sol./ Code Characters Unsol. 12 13 14 15 16 17 18 19 20 21 22 23-27 28 29 30 31 32 33 September 2012 Detailed Definition Present mechanism failed or jammed Exit shutter jammed open Exit shutter jammed closed Bills passing overfill sensor on present operation Timing disk did not operate correctly Exit sensor failed to clear Timing disk did not operate correctly Exit sensor blocked initially on next operation Not configured Security violation Security inhibition Reserved An area of NVRAM cannot be accessed Presenter transport timing disk did not operate correctly or motor failed One of the presenter transport sensors failed clear or blocked Reserved Heartbeat on execution processor failed (80652) Communications failure on the I2C bus of the execution processor 379 NDC Status Messages Description Messages No. of Sol./ Code Characters Unsol. 34 35 36 37 38 39 40 41 Detailed Definition A present bills operation has been attempted without any bills being stacked or a retract operation has been attempted with no bills presented. Operation incomplete due to ac and 24V dc power disconnection through interlock. Pick valve test not attempted because cassettes were installed TI service switched ON TI service switched OFF LVDT or associated circuitry malfunctioning Bill parameters not configured An attempt to pick from a cassette which has been disabled for In Service Replenishment Supplies Status. 5 Indicates the state of the reject bin and currency cassettes. Codes for the reject cassette (character ’0’) 0 1 4 no new state no overfill condition overfill condition Codes for disp. cass. types 1-4 (character ’1’ - ’4’) 0 1 2 3 no new state Sufficient notes Low on notes Out of notes 380 September 2012 Messages NDC Status Messages Coin Dispenser (sol./unsol.) (DID ‘Y’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 Y Indicates a coin dispenser solicited or unsolicited message. S/U 0 S 1 S 3 Good operation. All coins were successfully dispensed but some exception occurred as detailed in the accompanying diagnostic status. The coin low thresholds for each hopper were not set during the configuration off the machine. No coins have been dispensed. The coin dispense operation was not started for one of the following reasons: 1. A requested hopper was either fatal or out Transaction Status 1 (T-code plus T-data); gives details of a dispense operation in response to a transaction reply command message. 2. The coin dispenser was in a position where coins cannot be dispensed to the cardholder. 3. The low condition has been reached and there are insufficient coins to perform the dispense. No coins have been dispensed. September 2012 381 NDC Status Messages Description 382 Messages No. of Sol./ Code Characters Unsol. S 4 S 9 S : S ; S < S = September 2012 Detailed Definition The coin dispense operation has failed due to a problem other than a jam. Some coins may have been dispensed. The coin dispense operation has failed due to a jam in the hopper. Some coins may have been dispensed. The coin dispense operation has failed due to a jam in the transport chute. Some coins may have been dispensed. The transport chute exit sensor was blocked at the start of the coin dispense operation. No coins have been dispensed. A coin dispense operation was attempted while the severity of the CDM was fatal. No coins have been dispensed. Tampering was detected during the coin dispense operation. The coin dispense has failed due to the module being accessed during the dispense. Some coins may be dispensed. Messages NDC Status Messages Description No. of Sol./ Code Characters Unsol. Detailed Definition Characters 2-9 (T-Data) contain coins dispensed counts. Each pair of characters represents a twodigit decimal value in range 00-50 per hopper type Characters Coin Hopper Types 2-3 4-5 6-7 8-9 logical hopper 1 logical hopper 2 logical hopper 3 logical hopper 4 Error Severity 5 0-4 Severity info related to complete device. Severity related to hopper type 1. Severity related to hopper type 2. Severity related to hopper type 3. Severity related to hopper type 4. Character ’0’ Character ’1’ Character ’2’ Character ’3’ Character ’4’ Diagnostic M-status and M-data 2-32 Supplies Status. 5 Indicates the state of each coin hopper type. Codes for coin hopper types 1-4 (character ’1’ - ’4’) 0 1 2 3 September 2012 no new state sufficient coins Low on coins coin hopper empty 383 NDC Status Messages Messages Depository (sol./unsol.) (DID ‘F’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 F Indicates a depository solicited or unsolicited message. U 0 S 1 S 2 S 3 S 4 Successful operation, but an exception condition occurred which is detailed in the following field. Time-out on cardholder deposit. Failure to enable mechanism for a deposit Deposit failed, cardholder has access to envelope. This status is also returned if there is any doubt about cardholder access. Deposit failed, cardholder does not have access to envelope Transaction Status 1 (T-code plus T-data); gives details of a deposit operation in response to a transaction reply command message Error Severity 384 1 0-4 September 2012 This is a single character field coded in the standard way to be used to make a shutdown decision. Messages NDC Status Messages Description No. of Sol./ Code Characters Unsol. Detailed Definition Diagnostic M-status and M-data 2-22 11 No error Transport jam Transport jam and shutter jammed open Transport jam and shutter jammed closed Shutter jammed open Shutter jammed closed Transport sensor failure Communication failure within the atm Invalid device print head status Invalid device module status Deposit not done, error count exceeded Deposit bin overfill 13 15 50 51 52 55 Timing disk failure Transport motor failure Anti fishing sensor error Motor speed too fast Print head removed Interlock failed 0 1 4 no envelope deposited no overfill condition overfill detected 00 01 02 03 04 05 06 07 08 09 10 Supplies Status 1 September 2012 385 NDC Status Messages Messages Envelope Dispenser (unsolicited) (DID ‘\’ ProCash/NDC sends unsolicited envelope dispenser messages depending on the value of the enhanced configuration option 23. See section “Enhanced Configuration Parameters Load” on page 271 for details. Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 \ indicates a depository solicited or unsolicited message. 0 Envelope presentation successful 1 Failure - envelope not presented or retracted Device Status. 1 Indicates whether the last transaction was successful U Error Severity 1 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. Diagnostic M-status and M-data 2-8 00 01 No error Transport jam before exit sensor Transport jam at exit sensor Exit sensor failure shutter jammed open Bin low sensor failure Timing disk sensor failure Bin is low and failed to present, EMPTY. 02 03 04 05 06 Supplies Status 386 1 1 2 3 September 2012 Sufficient envelopes Envelopes low Envelopes exhausted Messages NDC Status Messages Receipt Printer (unsolicited) (DID ‘G’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 G Indicates a receipt printer unsolicited message. U 0 Successful print S 1 Print operation not successfully completed U 2 Device not configured Transaction/ 1 Device Status. Indicates whether or not the print was successfully completed. error severity 1 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. See table “Error severity table” for details. Diagnostic M-status and M-data 2-10 00 01 02 03 04 No error Head jam/ Knife jam Failed to go not busy Black mark error Always saw the black mark Paper out Paper not loaded or Paper jam before transport Communication error Printer open Ribbon needs replaced soon Printhead needs replaced soon Knife needs replaced soon 05 07 08 09 10 11 12 September 2012 387 NDC Status Messages Description Messages No. of Sol./ Code Characters Unsol. 13 14 15 16 Supplies Status 388 1 Detailed Definition Ribbon needs replaced now Printhead needs replaced now Sideways communication error Eject jam CHAR CODE 0 1 Sufficient paper 2 Paper low 3 Paper exhausted 1 1 Ribbon o.k. 2 Ribbon replacement recommended 3 Ribbon replacement mandatory 2 1 Printhead o.k. 2 Printhead replacement recommended 3 Printhead replacement mandatory 3 1 Knife o.k. 2 Knife replacement recommended September 2012 Messages NDC Status Messages Journal Printer (unsolicited) (DID ‘H’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 H Indicates a journal printer unsolicited message. U S 0 1 S 2 Successful print. Print operation not successfully completed Device not configured Transaction/ 1 Device Status. Indicates whether or not the print was successfully completed. Error Severity 1 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. See table “Error severity table” for details. Diagnostic M-status and M-data 2-10 00 01 02 03 04 No error Head jam/ Knife jam Failed to go not busy Black mark error Always saw the black mark Paper out Paper not loaded or paper jam before transport Communication error Printer open Ribbon needs replaced soon Printhead needs replaced soon Knife needs replaced soon 05 07 08 09 10 11 12 September 2012 389 NDC Status Messages Description Messages No. of Sol./ Code Characters Unsol. 13 14 15 16 Supplies Status 390 1 Detailed Definition Ribbon needs replaced now Printhead needs replaced now Sideways communication error Eject jam CHAR CODE 0 1 Sufficient paper 2 Paper low 3 Paper exhausted 1 1 Ribbon o.k. 2 Ribbon replacement recommended 3 Ribbon replacement mandatory 2 1 Printhead o.k. 2 Printhead replacement recommended 3 Printhead replacement mandatory September 2012 Messages NDC Status Messages Statement Printer (sol./unsol.) (DID ‘V’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 V Indicates a statement printer sol./unsolicited message. U 0 S/U S U 1 2 3 U 4 Successful print, but consult other fields for Error Severity, diagnostic status or supplies status change. Print / cut not successful Device not configured Statement present in transport Cardholder pressed cancel during a “print statement and wait” function Transaction/ 1 Device Status. In a solicited status it gives details of any transaction oriented faults. In an unsolicited status it indicates a transport error or a cut and deliver error in the close state. Error Severity 1 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. See table “Error severity table” for details. Diagnostic M-status and M-data 2-32 00 01 02 04 05 No error Mechanical jam Communication error Black mark error Media jam (fatal), or exit sensor error (warning) Paper out Ribbon needs replaced now (Fatal) Ribbon needs replaced soon (Warning) 07 08 08 September 2012 391 NDC Status Messages Messages Description No. of Sol./ Code Characters Unsol. Detailed Definition Diagnostic M-status and M-data 2-16 Knife needs replaced soon Printhead needs replaced now (Fatal) Printhead needs replaced soon (Warning) Printer left open 09 10 10 11 16 17 18 19 20 21 22 23 33 34 35 36 392 September 2012 Capture jam Media removed by customer during capture Media stuck in throat, unable to pull into printer possible customer tampering No paper present at start of command Printer malfunction paper present Bin overfill Print attempted beyond end of media Printer fatal Buncher communications failure Clamp drive jammed open Clamp drive jammed open Capture bin full Messages NDC Status Messages Description No. of Sol./ Code Characters Unsol. Supplies Status 1 Detailed Definition CHAR CODE Sufficient paper 0 1 Paper low 2 Paper exhausted 3 1 Ribbon o.k. 1 Ribbon replacement 2 recommended 3 Ribbon replacement mandatory 2 1 Printhead o.k. 2 Printhead replacement recommended 3 Printhead replacement mandatory 3 1 Knife o.k. 2 3 4 1 4 September 2012 Knife replacement recommended Knife replacement mandatory Capture bin o.k. Capture bin overfill 393 NDC Status Messages Messages Vandal Guard (unsolicited) (DID ‘J’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 J Indicates a vandal guard unsolicited message. Device Status 1 1 Always ‘0’ for the vandal guard. Error Severity 1 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. See table “Error severity table” for details. Diagnostic M-status and M-data 2-6 00 01 02 03 No error Failed to close Failed to open Jammed, position undefined 394 U September 2012 Messages NDC Status Messages EDM - Module (unsolicited) (DID ‘L’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 L Indicates an EDM module unsolicited message. Device Status 1 1 2 EDM error EDM not configured Error Severity 1 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. See table “Error severity table” for details. Diagnostic M-status and M-data 2-10 00 01 02 03 04 05 No error Parity error Hardware error Key transport error No key Invalid command as keyboard is currently enabled Communication failure Security module reset was successful Invalid command data data mismatch No key loaded in DEU prior to requesting an encr. or decr. operation U 07 08 11 12 13 September 2012 395 NDC Status Messages Description Messages No. of Sol./ Code Characters Unsol. 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 32 396 September 2012 Detailed Definition Set up failure - key space ID1 already exists and is not a programmer parent with E/D attribute and 17 keys Invalid keyspace ID format, outside 0 -15. Keyspace already exists. Keyspace does not exist Keyspace ID1 has wrong attribute or class. Keyspace ID2 has wrong attribute or class. Invalid keyspace, wrong access right Only two RAR access spaces allowed, keyspace not created Secret keyspace creation disabled. Keyspace is not a parent. Key ID2 not a keyspace specified or keyspace specified not a child of key ID2 keyspace. Invalid parent format. Invalid parent ID, keyspace not a parent or keyspace does not exist. Parent keyspace is a programmer, can not have secret child. Key spaces do not match. Key ID outside maximum range of keys. Messages Description NDC Status Messages No. of Sol./ Code Characters Unsol. 33 34 37 38 39 40 41 48 49 50 51 52 53 54 55 56 57 58 59 60 September 2012 Detailed Definition Key ID1 has wrong attribute. Key ID2 has wrong attribute. Invalid key ID, no PIN encryption allowed. Invalid key, key does not exist. Key ID2 does not specify an IV. Invalid key ID, no key Invalid key ID, key may not be exclusively ORed with key from different keyspace. Invalid attribute field. Attribute already in family. Invalid parameter field. Undefined parameter for keyspace class. Variation index outside range 01-7F hex. Variation index already in family. Invalid mode for this function. Invalid left shift, value out of range. Invalid length, or length and offset outside range. Invalid access right. Invalid POST PIN PAD digit (> 0F hex). Invalid PRE PIN PAD data length (> 0C hex). Modulus bit length > 576 or Exponent bit length > 576 or Modulus bit length <= exonent bit length. 397 NDC Status Messages Description Messages No. of Sol./ Code Characters Unsol. 64 65 66 70 74 75 76 97 98 99 398 September 2012 Detailed Definition Password does not contain decimal digits Invalid password, no match. Keyspace inaccessible, password error count exceeded. PIN verification failed. Invalid PIN encrypt type function (encryption mode changed). Key integrity error. Invalid PIN, no encryption allowed (truncated PIN does not contain decimal digits). Timeout error. Communication error. TC<>41, or TRS<>00 00 00 00, when decrypted. Messages NDC Status Messages Door Access (unsolicited) (DID ‘N’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 N Indicates a door access unsolicited message. Device Status 1 1 Always ‘1’ indicating that access is possibly inhibited. Error Severity 1 2 Always ‘2’ indicating a warning. Local intervention required. Diagnostic M-status and M-data 2-4 00 01 02 03 05 No error Bad read error Time-out error Comms error Not configured U Sensor Status (unsolicited) (DID ‘P’) This message is sent on Supervisor mode entry and exit, tamper indicating bin in/out conditions and alarm conditions. See also ProCash/NDC ProConsult/NDC Installation manual section [APPLICATION_XXX].. Description No. of Char Characters Code Detailed Definition Device Identifier 1 P Indicates a Sensor status message. Device Status 13 ‘1’ ‘3’ ’TI’ sensor change (characters 2-13 give complete definition of all sensors) Mode change (characters 3-13 are omitted) Alarm state change 1 ‘2’ If byte 1 = ’2’ 2 ‘0’ ‘1’ Supervisor mode inactive Supervisor mode active If byte 1 = ’1’ or ‘3’ 2 ‘0’ ‘1’ Supervisor mode inactive Supervisor mode active September 2012 399 NDC Status Messages Description Messages No. of Char Characters 3 Code Detailed Definition ‘0’ Vibration and/or heat sensor inactive Vibration and/or heat sensor active ‘1’ 4 ‘0’ ‘1’ Door has been closed Door has been opened 5 ‘0’ Silent signal sensor inactive Silent signal sensor active ‘1’ 6 ‘0’ ‘1’ 400 Electronics enclosure sensor inactive Electronics enclosure sensor active 7 ‘0’ ‘1’ Deposit bin out Deposit bin in 8 ‘0’ ‘1’ Card bin out Card bin in 9 ‘0’ ‘1’ Currency reject bin out Currency reject bin in 10 ‘0’ ‘1’ Cassette in position 1 out Cassette in position 1 in 11 ‘0’ ‘1’ Cassette in position 2 out Cassette in position 2 in 12 ‘0’ ‘1’ Cassette in position 3 out Cassette in position 3 in 13 ‘0’ ‘1’ Cassette in position 4 out Cassette in position 4 in September 2012 Messages NDC Status Messages Supervisor Key Messages (unsolicited) (DID ‘R’) This message sends supervisor key messages from the terminal to inform the host of the functions selected by the operator after entry to supervisor mode. Supervisor key messages are supported in ProTopas/SOP-NDC only. They can be configured via parameter “MESSAGE_MODE”. See also ProCash/NDC SOP Programmers Reference manual for detailed descriptions. Description No. of Char Chars device identifier 1 device status VAR 1-2 Code Detailed Definition R Indicates a Sensor status message. ’00’ - ’98’ Key selection from Select menu (4 max) or 1 2-3 ’0’ ’1’ ’2’ ’3’ ’4’ ’7’ ’8’ ’00’ - ’98’ Select menu Replenishment menu Configure menu Access menu In Service Supervisor menu Exit menu Exit menu Menu item selected or 1-2 3-4 ’00’ - ’98’ Host menu Host function September 2012 401 NDC Status Messages Messages Barcode Reader (unsolicited) (DID ‘s’) Description No. of Sol./ Code Characters Unsol. Detailed Definition Device Identifier 1 s Indicates a Barcode Reader unsolicited message. Device Status 1 0 Always ‘0’ for the Barcode Reader. Error Severity 1 0-4 This is a single character field coded in the standard way to be used to make a shutdown decision. See table “Error severity table” for details. Diagnostic M-status and M-data 2-10 00 01 No error Failure during barcode read Supplies Status 1 0 No new state 402 U September 2012 Messages NDC Status Messages Electronic Journal Upload (EJU) Message This section describes the message format of the Electronic Journal Upload (EJU) message that will be sent in response to an Options And Timers or Acknowledge And Continue command. Please refer to section ”Electronic Journal Upload (EJU) commands” on page 318 for detailed descriptions about EJU command messages. The following table describes the message format of the EJU message. table 106: Electronic Journal Upload message format Description Code No. of Characters Message Identifier 6 1 Message Modifier 1 1 field separator :1C 1 field separator :1C 1 field separator :1C 1 field separator :1C 1 Machine Number VAR 6 Date VAR 6 Time VAR 6 Last Char Previous Block VAR 6 Last Char This Block VAR 6 Block Length [:1C] 3 Response Data VAR 0-350 Message Identifier Field size: 1 character Valid range: 6 Description: This field specifies the message identifier. The message identifier of the Electronic Journal Upload message is 6. September 2012 403 NDC Status Messages Messages Message Modifier Field size: 1 character Valid range: 1 Description: This field specifies the message modifier. The Message Modifier 1 indicates this message as Electronic Journal Upload data. Machine Number Field size: 6 characters Valid range: 000000-999999 Description: This field contains the machine number from the terminal. Date Field size: 6 characters Valid range: 000000-999999 in format YYMMDD Description: This field contains the date (from internal system clock of the terminal) when the EJ block was sent to the host. Time Field size: 6 characters Valid range: 000000-999999 in format HHMMSS Description: This field contains the time (from internal system clock of the terminal) when the EJ block was sent to the host. Last Char Previous Block Field size: 6 characters Valid range: 000000-999999 Description: The last Char Previous Block and Last Char This Block values are based on modulus 1,000.000 character count which starts at zero when the EJU is conffollowing a restart start of the terminal. The count is incremented for each character written to the electronic journal. 404 September 2012 Messages NDC Status Messages Last Char This Block Field size: 6 characters Valid range: 000000-999999 Description: The terminal compares the last Character Received field in the acknowledgement message sent from the host with the Last Character This Block field of the last EJU data message that is sent to the host. If these two values are not the same, the acknowledgement message is ignored. The Last Character Previous Block field can be used by the host for checks on message received. Response Data Field size: up to 350 bytes Valid range: 0-350 Description: Electronic Upload Data consists of ASCII text with carriage return (CR) at the end of each line. If no electronic data available to sent, the response data size is zero. September 2012 405 NDC Status Messages 406 Messages September 2012 Additional Useful Information NDC Standard Character Sets Single Pixel Single Arabic November 2012 407 NDC Standard Character Sets Single Graphic 1 Single Graphic 2 Single Graphic 3 408 November 2012 Additional Useful Information Additional Useful Information NDC Standard Character Sets Single Alpha 1 Single Alpha 2 November 2012 409 NDC Standard Character Sets Double Arabic Double Alpha 1 410 November 2012 Additional Useful Information Additional Useful Information NDC Standard Character Sets Double Alpha 2 Chinese 1 Chinese 2 November 2012 411 ASCII to EBCDIC Code Conversion Table Additional Useful Information ASCII to EBCDIC Code Conversion Table GRAPHIC ASCII (HEX) EBCDIC (HEX) GRAPHIC ASCII (HEX) EBCDIC (HEX) NUL 00 00 SPACE 20 40 SOH 01 01 ! 21 4F STX 02 02 " 22 7F ETX 03 03 # 23 7B EOT 04 37 $ 24 5B ENQ 05 2D % 25 6C ACK 06 2E & 26 50 BEL 07 2F 27 7D BS 08 16 ( 28 4D HT 09 05 ) 29 5D LF 0A 15 * 2A 5C VT 0B 0B + 2B 4E FF 0C 0C , 2C 6B CR 0D 0D - 2D 60 SO 0E 0E . 2E 4B SI 0F 0F / 2F 61 DLE 10 10 0 30 F0 DC1 11 11 1 31 F1 DC2 12 12 2 32 F2 DC3 13 13 3 33 F3 DC4 14 3C 4 34 F4 NAK 15 3D 5 35 F5 SYN 16 32 6 36 F6 ETB 17 26 7 37 F7 CAN 18 18 8 38 F8 EM 19 19 9 39 F9 SUB 1A 3F : 3A 7A ESC 1B 27 ; 3B 5E 412 November 2012 Additional Useful Information ASCII to EBCDIC Code Conversion Table GRAPHIC ASCII (HEX) EBCDIC (HEX) GRAPHIC ASCII (HEX) EBCDIC (HEX) FS 1C 1C < 3C 4C GS 1D 1D = 3D 7E RS 1E 1E > 3E 6E US 1F 1F ? 3F 6F @ 40 7C ' 60 Undefined A 41 C1 a 61 81 B 42 C2 b 62 82 C 43 C3 c 63 83 D 44 C4 d 64 84 E 45 C5 e 65 85 F 46 C6 f 66 86 G 47 C7 g 67 87 H 48 C8 h 68 88 I 49 C9 i 69 89 J 4A D1 j 6A 91 K 4B D2 k 6B 92 L 4C D3 l 6C 93 M 4D D4 m 6D 94 N 4E D5 n 6E 95 O 4F D6 o 6F 96 P 50 D7 p 70 97 Q 51 D8 q 71 98 R 52 D9 r 72 99 S 53 E2 s 73 A2 T 54 E3 t 74 A3 U 55 E4 u 75 A4 V 56 E5 v 76 A5 W 57 E6 w 77 A6 X 58 E7 x 78 A7 Y 59 E8 y 79 A8 November 2012 413 Screen Design Worksheet Additional Useful Information GRAPHIC ASCII (HEX) EBCDIC (HEX) GRAPHIC ASCII (HEX) EBCDIC (HEX) Z 5A E9 z 7A A9 [ 5B 4A { 7B C0 \ 5C E0 | 7C 6A ] 5D 5A } 7D D0 ^ 5E 5F - 7E A1 _ 5F 6D DEL 7F 07 Screen Design Worksheet Fields in dark gray illustrate the softkey positions on the right from top to bottom FDK A, B, C, D and on the left from top to bottom FDK I, H, G, F. Fields in light gray illustrate the touch zone areas inclusive softkey area. 414 November 2012 Printers Printer Models ProCash/NDC and ProConsult/NDC support all models of printers that are listed in Table 107. All printer control characters of ProCash/NDC or ProConsult/NDC will be initiated via macros. Then the macros are transfered to the WOSA service. WOSA passes the data to CSC-W32. See also CSC-W32 Programmers Reference. The current ProCash/NDC and ProConsult/NDC releases support following printer models as listed in the following table: table 107: Printer Models Models Printer Description ND71 RECEIPT/JOURNAL dot matrix printer (obsolete) ND99 THERMO RECEIPT printer (obsolete) ND98 JOURNAL dot matrix printer ND9A RECEIPT dot matrix printer ND9E RECEIPT dot matrix printer ND9C RECEIPT Thermal printer ND9D JOURNAL Thermal printer ND9G RECEIPT Thermal printer (only GDI interface) TH30 JOURNAL Thermal printer TH21 RECEIPT Thermal printer (optional with GDI interface) TH23 STATEMENT Thermal printer (optional with GDI interface) TH97 STATEMENT dot matrix printer TH97/G STATEMENT Thermal printer (optional with GDI interface) TP01 STATEMENT Thermal printer (optional with GDI interface) TP20 STATEMENT Thermal printer (optional with GDI interface) TP07 (a) RECEIPT Thermal printer (optional with GDI interface) TP06 JOURNAL dot matrix printer (optional with GDI interface) NP07 RECEIPT dot matrix printer NP06 JOURNAL dot matrix printer TP12 RECEIPT Thermal printer (only GDI interface) TP13 RECEIPT Thermal printer (GDI interface) Detailed descriptions can be taken from the hardware specification manuals. Please refer also to the ProCash/NDC ProConsult/NDC Installation manual for detailed descriptions about printer utilities. November 2012 415 Printer Control Characters Printers Printer Control Characters The following tables gives a short description about control sequences used in the NDC+ message protocol, which are supported by ProCash/NDC and ProConsult/NDC. table 108: NDC Printer control characters Control Character ASCII Code Short Description LF 0AH Line Feed, causes the next graphic character to be printed on the next line. FF 0CH Causes a feed to the next TOF mark or feed to the maximum receipt length, cut and deliver to customer. SO 0EH Fills an area of the printer form with spaces. This 'SO' character is followed by a single graphic character indicating the desired number of spaces: Character 1-9 : ; < = > ? No. of spaces 1-9 10 11 12 13 14 15 HT 09H Horizontal tabulators; positions the next graphic character in the next tab column. Tabs are defined to be in every eighth column from the left margin. ESC (1 1B (1 sets Single Alpha 1 char set size (10 CPI) ESC (2 1B (2 sets Single Alpha 2 char set size (10 CPI) see Note ESC (7 1B (7 sets Single Alpha 3 char set size (10 CPI) see Note ESC (> 1B (> sets Double Alpha 1 char set (5 CPI) ESC (? 1B (? sets Double Alpha 2 char set size (5 CPI) ESC (B 1B (B sets Double Alpha 3 char set size (5 CPI) ESC (C 1B (C sets Condensed Alpha 1 char set size (17 CPI) ESC (D 1B (D sets Condensed Alpha 2 char set size (17 CPI) 416 November 2012 Printers Printer Control Characters Control Character ASCII Code Short Description ESC (E 1B (E sets Condensed Alpha 3 char set size (17 CPI) ESC [pxxx 1B [pxxx left margin control ESC [qxxx 1B [qxxx right margin control ESC [rxx 1B [rxx lines per inch control ESC %xxx 1B %xxx sets printer code page xxx. 000 = set user charset ESC kcxxx 1B kcxxx Barcode format and data. c = type of Barcode; xxx = Barcode data ESC ex 1B ex Barcode HRI position (x = position value). 1 - HRI not printed; 2 - above barcode; 3 - below barcode; 4 - above and below barcode ESC wx 1B wx Barcode width (x = width value). Defines the minimum Width in x /150 inch (recalculated in GDI environment). Value range: 2 - 4 ESC hxxx 1B hxxx Barcode height ( xxx = height). Height is recalculated in the GDI environment. Value range: 001 - 255 ESC cx 1B cx set color; x = 0 - default, x = 1 - black, x = 2 - red ESC Gx 1B Gx Print Graphic; x = graphic file name terminated with ESC\ ESC \x 1B \x Print Logo; x = 1 digit logo number 1-9 terminated with ESC\ If character set Alpha 2 or Alpha 3 is sent from host, the printer switches to the user defined character set. See also ProCash/NDC ProConsult/NDC Installation manual section ’Printer Fonts’ for details. November 2012 417 Electronic journal Printers Electronic journal Wincor Nixdorf terminals are able to log all journal printer messages into journal files which are stored on the PC hard disk. The predefined path of the journal files on the harddisk is C:\JOURNAL and C:\CUSTUMER. See also section [TOPMSG] and [CUSTMSG] in configuration file CUSTOM.PPF. Electronic journal storage The journal file will be created daily and have the following format: YYYYMMDD.JRN YYYY MM DD .JRN EXAMPLE: 418 - represents the current 4 digit year - represents the current 2 digit month - represents the current 2 digit day - is the file extension 19990701.JRN November 2012 Printers Printing with Windows GDI Types of journal information Following information can be stored into the electronic journal files: • date and time • device errors • transaction reply printer data • operation code buffer and requested amount • ID-card track 2 data • ID-card track 3 data • Transaction Reply command of reply • dispense data • ATM modes (in-service, out-of-service, offline, supervisor mode) See also section [TOPMSG] and [CUSTMSG] of configuration file CUSTOM.PPF where you can see the default journal output definitions Printing with Windows GDI ProCash/NDC and ProConsult/NDC supports raw printing via the Windows GDI Interface. Printing via GDI requires graphic able printers, which support Windows printing via a Windows printer driver. The printer has to be installed as a Windows printer. In addition an associated port monitor has to be installed to get status information about printed jobs, paper supply status and status of the printer hardware. In Table “Printer Models” on page 415 you can see what type of printer can or must be installed as a Windows printer. All detailes about configuration and GDI print technology in ProCash/NDC or ProConsult/NDC are described in the ProTopas Module Construction Kit - Programming Guide section “GDI Printer Overlay Framework” and ProCash/DDC ProConsult/DDC Installation manual. November 2012 419 Printing with XFS Forms Printers Printing with XFS Forms ProCash/NDC and ProConsult/NDC supports XFS forms printing for receipt and document print if the Forms Raw Print Wrapper Overlay Framework (FormsPrt.DLL) is configured in the Repository Manager assigned to the relevant printer device framework. The XFS Forms printing is mandatory in vendor specific environments where RAW print is not support any more for new printing devices. The activation or XFS Forms printing has to be done manually. All details about configuration and Forms print related parameters and dependencies are described in: ProTopas Module Construction Kit - Programming Guide section “Forms Raw Print Wrapper Overlay Framework”. Forms print is supported for following ProTopas printer device frameworks: • CCRecPrtFW • CCDocPrtFW Barcode Print ProCash/NDC and ProConsult/NDC supports barcode printing in GDI mode using GDI capable printers like ND9G, TP07, TP01, TP12, etc.. The barcode format, style and size can be controlled by the host with the use of standard NDC printer control sequences to be included in the printer data buffer, which can be sent in the Function Command of a consumer transaction. Following NDC printer control sequences are required: Control Character ASCII Code Short Description ESC e x 1B 65 x Barcode HRI position (x = position value). 1 - HRI not printed; 2 - above barcode; 3 - below barcode; 4 - above and below barcode ESC h xxx 1B 68 xxx Barcode height ( xxx = height). Height is recalculated in the GDI environment. Value range: 001 - 255 ESC k cxxx ESC \ 1B 6b cxxx 1B 5C Barcode format and data. c = type of Barcode; xxx = Barcode data ESC w x Barcode width (x = width value). Defines the minimum Width in x /150 inch (recalculated in GDI environment). Value range: 2 - 4 420 1B 77 x November 2012 Printers Barcode print examples Barcode Formats ProCash/NDC and ProConsult/NDC supports following barcode formats: Value c for Barcode Format sequence ESC k 0 UPC-A 1 UPC-E 2 EAN 13 3 EAN 8 4 CODE 39 5 Interleaved 2 of 5 6 CODABAR 7 128 A 8 128 B 9 128 C : CODE 93 ; Standard 2 of 5 < CODE 11 Barcode print examples To print barcode images on a receipt, following sequences has to be inserted in the print data field of the Function command sent by the host: • UPC-A \1be3\1bk0007567816412\1b\5c • UPC-E \1be3\1bk10425261\1b\5c • EAN-13 \1be3\1bk2750103131130\1b\5c • EAN-8 \1be3\1bk355123457\1b\5c • Code39 \1be3\1bk4TEST8052\1b\5c November 2012 421 Barcode print examples Printers • Interleaved 2 of 5 \1be3\1bk574380707240152655700\1b\5c • Codabar \1be3\1bk6A123456A\1b\5c • 128-A \1be3\1bk7HI345678\1b\5c • 128-B \1be3\1bk8HI345678\1b\5c • 128-C \1be3\1bk9HI345678\1b\5c • Code 93 \1be3\1bk:CODE 93 STANDARD\1b\5c • Standard 2 of 5 \1be3\1bk;74380707240152655700\1b\5c • Code 11 \1be3\1bk<CODE 11\1b\5c 422 November 2012 Printers Barcode image examples Barcode image examples The following barcode images are example printouts which can printed on a GDI capable receipt or statement printer: November 2012 423 Landscape printing on the receipt printer Printers Landscape printing on the receipt printer Landscape printing on the receipt printer can be activated via function identifiers ‘P’ (Print Statement and Wait) and ‘Q’ (Print Statement and Set Next State) in conjunction with the printer flag ‘=’ in the Transaction Reply message sent from Central. See also section ”Transaction Reply command (message ID ‘4’)” on page 248. When printing in sideways mode on the receipt printer the maximum configuration of a customer receipt is 80 columns by 20 lines. Where the data sent from the Host causes this line count to be exceeded the sideways statement shall be cut after 20 lines and the remaining data printed on the next statement(s). Landscape printing via printer flag ’=’ is supported in GDI mode only. Please make sure that the receipt printer is properly installed and configured for printing via GDI. For landscape printing it is required to increase the paper width of the selected printer form to be able to print 80 characters in one line. Two Colors print ProCash/DDC and ProConsult/DDC supports two color (black and red) printing for Receipt and Document printers. The color selection can be controlled via escape control sequence ESCcx. Please refer to Table “NDC Printer control characters” on page 416 and ProTopas Module Construction Kit - Programming Guide for detailed information about color printing. Note: The basic requirement for color printing are printers which support color printing (thermal printers need specific paper). 424 November 2012 Printers Default Deposit Print Data Default Deposit Print Data If a deposit is requested in a Transaction Reply command, but none of the printer flag fields contains a value of ‘4’ or ‘5’, the following information is printed, depending on whether the amount buffer length is eight or twelve characters: Eight Character Amount Buffer: • Transaction serial number - this four character number is printed in print columns 1 to 4 and repeated in columns 16 to 19. • Amount buffer - the contents of the Amount buffer are printed in print columns 6 to 14. Leading zeros are suppressed and the decimal character (‘,’ or ‘.’ ) is displayed in its true position. • Card data - the first 30 characters from Track 2 of the card are printed in columns 21 to 50, with a leading ‘*’ in column 20. The Start/End sentinels are not printed. The field separator is printed as ‘=’ . Printing is truncated if an end sentinel is encountered. If the Track 2 data does not contain 30 characters, the trailing characters are blanked. • Machine number - the machine number is entered using the supervisor function ‘MACHINE NO’. Six characters are reserved for this field. If there is no machine number, the field remains blank. The machine number appears in columns 72 to 77. • Date and time - the date is displayed in columns 53 to 60, and the time in columns 62 to 69. In Diebold mode, the date is always displayed as mm/dd/yy. In Native mode, the date is displayed in one of four formats: MM/DD/YY, DD/MM/YY, YY/MM/DD or YY/DD/MM. The date format is set by the option set in the Enhanced Configuration Parameters Load Message, and the third and fourth formats are available only if the Digital Camera System is configured. The time is displayed as hh:mm:ss, using the 24 hours convention. Eight characters are reserved for this field, and it is always displayed as hh:mm:ss. A typical print line is: 1234 250.00 1234*012345678901234567890123456789 20/11/90 15:30:29 000000 November 2012 425 Default Deposit Print Data Printers Twelve Character Amount Buffer: Transaction serial number - this four-character number is printed in print columns 1 to 4 • Amount buffer - the contents of the Amount buffer are printed in print columns 6 to 18. Leading zeros are suppressed and the decimal character (‘,’ or ‘.’ ) is displayed in its true position • Card data - the first 30 characters from Track 2 of the card are printed in columns 21 to 50, with a leading ‘*’ in column 20. The Start/End sentinels are not printed. The field separator is printed as ‘=’ . Printing is truncated if an end sentinel is encountered • Date and time - the date is displayed in columns 53 to 60, and the time in columns 62 to 69. In Diebold mode, the date is always displayed as mm/dd/yy. In Native mode, the date is displayed in one of four formats: MM/DD/YY, DD/MM/YY, YY/MM/DD or YY/DD/MM. The date format is set by the option set in the Enhanced Configuration Parameters Load Message, and the third and fourth formats are available only if the Digital Camera System is configured. The time is displayed as hh:mm:ss, using the 24 hours convention. Eight characters are reserved for this field, and it is always displayed as hh:mm:ss. A typical print line is: 1234 250.00 *012345678901234567890123456789 20/11/90 15:30:29 000000 426 November 2012 Tables Tables Table 1: Basic Software of ProCash/NDC . . . . . . . . . . . . . . . 24 Table 2: Basic Software of ProConsult/NDC . . . . . . . . . . . . . 25 . . . . . . . . . . . . . . . . . . . . . 36 table 3: Standard fonts table table 4: Software structure . . . . . . . . . . . . . . . . . . . . . . 38 table 5: State summary . . . . . . . . . . . . . . . . . . . . . . . . 65 table 6: ProCash/NDC, ProConsult/NDC steps belonging to NDC states 68 table 7: Card Read state entries 69 table 8: Read condition entry definitions . . . . . . . . . . . . . . . 72 table 9: PIN Entry state entries . . . . . . . . . . . . . . . . . . . . 74 table 10: Customer Selectable PIN state entries . . . . . . . . . . . . 77 table 11: Extension state entries . . . . . . . . . . . . . . . . . . . . 80 table 12: Envelope Deposit (C) state entries . . . . . . . . . . . . . . 81 table 13: Pre-Set Operation Code Buffer state table . . . . . . . . . . 82 table 14: Preset operation code buffer Extension state table . . . . . 86 . . . . . . . . . . . 88 table 16: Amount Entry state entries . . . . . . . . . . . . . . . . . . 91 table 17: Amount Check state entries . . . . . . . . . . . . . . . . . 94 table 18: Information Entry state entries . . . . . . . . . . . . . . . . 97 . . . . . . . . . . . . . . . . . . . table 15: Four FDK Select Function state entries table 19: Transaction Request state entries . . . . . . . . . . . . . . 101 table 20: Extension state entries . . . . . . . . . . . . . . . . . . . . 104 table 21: Close state entries 107 . . . . . . . . . . . . . . . . . . . . . . table 22: FIT Switch state entries . . . . . . . . . . . . . . . . . . . 110 table 23: Expanded FIT Switch state entries . . . . . . . . . . . . . . 112 table 24: Extension state entries . . . . . . . . . . . . . . . . . . . . 114 November 2012 427 Tables table 25: Card Write state entries . . . . . . . . . . . . . . . . . . . 116 table 26: Enhanced PIN Entry state entries . . . . . . . . . . . . . . 118 table 27: Camera Control State . . . . . . . . . . . . . . . . . . . . 121 table 28: Enhanced Amount Entry state entries . . . . . . . . . . . . 122 table 29: Extension state entries 125 . . . . . . . . . . . . . . . . . . . table 30: Language Code Switch state entries . . . . . . . . . . . . 127 . . . . . . . . . . . . . . . . . . . 129 table 32: Card Read - PIN Entry Initiation state entries . . . . . . . . 131 table 33: Extension state entries . . . . . . . . . . . . . . . . . . . 134 table 34: Language Select From Card state entries . . . . . . . . . . 135 table 35: FDK Switch state entries . . . . . . . . . . . . . . . . . . 138 table 36: FDK Information Entry state entries . . . . . . . . . . . . . 141 table 37: Extension state entries . . . . . . . . . . . . . . . . . . . 144 table 38: Eight FDK Selection state entries . . . . . . . . . . . . . . 147 table 39: Extension state entries . . . . . . . . . . . . . . . . . . . 150 table 40: Extension state entries . . . . . . . . . . . . . . . . . . . 151 table 31: Extension state entries table 41: Audio Control state entries . . . . . . . . . . . . . . . . . table 42: Hardware Fitness state entries 154 . . . . . . . . . . . . . . . 157 table 43: Hardware Fitness Extension state entries . . . . . . . . . . 160 table 44: Smart FIT Check State . . . . . . . . . . . . . . . . . . . 163 table 45: Barcode Read State . . . . . . . . . . . . . . . . . . . . . 167 table 46: Skip state step . . . . . . . . . . . . . . . . . . . . . . . . 170 table 47: Screen control characters cross-reference . . . . . . . . . 173 table 48: Screen control characters . . . . . . . . . . . . . . . . . . 173 table 49: Screen escape sequences cross-reference . . . . . . . . . 176 table 50: Screen escape sequences 176 428 . . . . . . . . . . . . . . . . . November 2012 Tables table 51: Default Voice Message files . . . . . . . . . . . . . . . . . 180 table 52: Default WAVE files for Audio Echo on Keyboard . . . . . . . 181 table 53: Downloaded reserved screens supported by Wincor Nixdorf terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 table 54: Reserved pictures G00-G06 . . . . . . . . . . . . . . . . . 185 table 55: Timer values 189 . . . . . . . . . . . . . . . . . . . . . . . . . table 56: Alphabetical FIT references . . . . . . . . . . . . . . . . . table 57: FIT fields listed by data track position 211 . . . . . . . . . . . . 212 . . . . . . . . . . . . . . . . . . . . . 222 . . . . . . . . . . . . . . . . . . . . . . 228 table 60: Transaction Request message . . . . . . . . . . . . . . . . 230 table 61: Solicited Status message . . . . . . . . . . . . . . . . . . . 240 table 62: Unsolicited Status message . . . . . . . . . . . . . . . . . 245 table 63: Transaction Reply command message . . . . . . . . . . . . 248 table 64: Terminal Command message . . . . . . . . . . . . . . . . 258 table 65: State Tables Load . . . . . . . . . . . . . . . . . . . . . . 261 table 66: Screen Data Load . . . . . . . . . . . . . . . . . . . . . . 264 table 58: MAC flags definition table 59: Code conventions table 67: Configuration Parameters Load . . . . . . . . . . . . . . . 267 table 68: Enhanced Configuration Parameters Load . . . . . . . . . . 271 table 69: Option codes . . . . . . . . . . . . . . . . . . . . . . . . . 273 table 70: Interactive Transaction Response . . . . . . . . . . . . . . 276 . . . . . . . . . . . . . . . . . . . . . . . . 280 table 72: Encryption Key Load . . . . . . . . . . . . . . . . . . . . . 283 table 73: Extended Encryption Key Load 286 table 71: FIT Data Load . . . . . . . . . . . . . . . table 74: Dispenser Currency Mapping Table Load . . . . . . . . . . 289 table 75: Configuration IDLoad . . . . . . . . . . . . . . . . . . . . . 292 November 2012 429 Tables table 76: Date And Time Load . . . . . . . . . . . . . . . . . . . . . 294 table 77: Message Authentication Field Selection Load . . . . . . . . 297 table 78: Specific Command Reject Conditions . . . . . . . . . . . . 303 table 79: NDC function ID’s assigned to step functions . . . . . . . . 310 table 80: Send Options And Timers message format . . . . . . . . . 319 table 81: Acknowledge And Continue . . . . . . . . . . . . . . . . . 322 table 82: Acknowledge And Stop . . . . . . . . . . . . . . . . . . . 324 table 83: Send Configuration Information . . . . . . . . . . . . . . . 327 table 84: Hardware Fitness Table . . . . . . . . . . . . . . . . . . . 328 table 85: Hardware Fitness Table Enhanced . . . . . . . . . . . . . 329 . . . . . . . . . . . . . . . . . 329 table 87: Supply Status Device Table . . . . . . . . . . . . . . . . . 334 table 88: Supply Counters . . . . . . . . . . . . . . . . . . . . . . . 336 table 89: Send Error Log Information . . . . . . . . . . . . . . . . . 340 table 90: Send Date/Time Info . . . . . . . . . . . . . . . . . . . . . 344 table 91: Send Configuration ID . . . . . . . . . . . . . . . . . . . . 345 table 92: Hardware Configuration Data . . . . . . . . . . . . . . . . 346 table 93: Hardware Configuration Data DIG Table . . . . . . . . . . 348 . . . . . . . . . . . . . . . . . . . . . . . . 350 table 95: Supplies Status Data DIG Table . . . . . . . . . . . . . . . 351 table 96: Fitness Data . . . . . . . . . . . . . . . . . . . . . . . . . 353 table 97: Fitness Data DIG Table . . . . . . . . . . . . . . . . . . . 354 table 98: Tamper and Sensor Status Data . . . . . . . . . . . . . . . 356 table 99: Software ID and Release Number . . . . . . . . . . . . . . 357 table 100:Local Configuration Option Digits . . . . . . . . . . . . . . 360 table 101:Solicited Status (Device Fault) . . . . . . . . . . . . . . . . 361 table 86: Device Configuration Table table 94: Supplies Data 430 November 2012 Tables table 102: Error Severity Table table 103: Supplies Status Table . . . . . . . . . . . . . . . . . . . . . 362 . . . . . . . . . . . . . . . . . . . . 364 table 104: Encryptor Initialisation Data table 105: Unsolicited Device Status . . . . . . . . . . . . . . . . . 365 . . . . . . . . . . . . . . . . . . 369 table 106: Electronic Journal Upload message format . . . . . . . . . 403 . . . . . . . . . . . . . . . . . . . . . . . . 415 table 108: NDC Printer control characters . . . . . . . . . . . . . . . . 416 table 107: Printer Models November 2012 431 Tables 432 November 2012 Figures Figures figure 1: Terminal operation . . . . . . . . . . . . . . . . . . . . figure 2: Transaction message flow . . . . . . . . . . . . . . . . 228 figure 3: Terminal to network messages . . . . . . . . . . . . . . 229 figure 4: Network to terminal commands . . . . . . . . . . . . . . 247 figure 5: Transaction Reply message accept/reject flowchart 309 November 2012 . . . 45 433 Figures 434 November 2012 Abbreviations API Application Program Interface ARC Application Return Code ASCII American Standard Code for Information Interchange ATM Automated Teller Machine CCDM Cash Cheque Deposit Module CDM Cash Dispenser Module CI Customization Image CRT Cathode Ray Tube CSC Customer Service Center CRS Cash Recycling Module CSP Customer Selected PIN DES Data Encryption Standard EBH Euro Banknote Handler EBCDIC Extended Binary Coded Decimal Interchange Code FDK Function Display Key FIT Financial Institution Table GOPL Graphical Operator Panel HRI Human Readable Interface ID IDentification IDCU ID Card Unit November 2012 435 Abbreviations ITR Interactive Transaction Response MAC Message Authentication Code MDS Modular Delivery System NCR National Cash Register NDC NCR Direct Connect OAR Open Account Relationship PAN Primary Account Number PC Personal Computer PCI Payment Card Industry PCCP PC Configurator Package PIN Personal Identification Number POS Point of Sales (Cash Registers) QLLC Qualified Logical Link Control RM2 Recycling Module 2 SDLC Synchronous Data Link Control SNA System Network Architecture SOH State Of Health SST Self Service Terminal TABS Total Automatic Banking System 436 November 2012 Related publications Available manuals Basically all the manuals you need to get information about configurations and functionality of ProCash/NDC, ProConsult/NDC, ProDevice (WOSA), CSC-W32 and AddOn products can be downloaded from the Wincor Nixdorf intranet server. Link: http://asw.wincor-nixdorf.com ProCash/NDC and ProConsult/NDC Manuals DESIGNATION VERSION ORDER NUMBER ProCash/NDC Installation manual 3.0/00 (PDF file) ProFlex/NDC-DDC Programming Guide 3.0/00 (PDF file) ProConsult/NDC Installation manual 3.0/00 (PDF file) ProCashIn/Online Installation & Configuration manual 3.0/00 (PDF file) ProChequeIn Installation & Configuration manual 3.0/00 (PDF file) ProCash/NDC-DDC ProConsult/NDC-DDC WEB-Extensions Installation & Configuration manual 3.0/00 (PDF file) Protopas Module Construction Kit Programming Guide 5 (PDF file) Protopas Framework Documentation Programming Guide 5 (PDF file) Protopas Host Protocol and Communication Frameworks Programming Guide 5 (PDF file) ProCash/NDC ProConsult/NDC Installation manuals These two Installation manuals contain detailed descriptions of configuration parameters of ProCash/NDC, ProCash/DDC and ProConsult/NDC, ProConsult/DDC, which are stored in the Windows registry. Further contents are descriptions about several Utilities which are additionally delivered. November 2012 437 Related publications ProTopas Module Konstruction Kit Programming Guide Describes the Frameworks of the ProTopas Manager and gives detailed API descriptions for the programmer. With this manual a programmer is able to build up Protopas applications. ProTopas Framework Documentation Programming Guide Gives a global overview about the ProTopas Framework architecture and describes the interaction between the different frameworks. ProTopas Host Protocol and Communication Frameworks ProGramming Guide Describes the API’s of the Communication Frameworks from ProTopas Manager and gives detailed descriptions for the programmer. ProCash/NDC ProConsult/NDC WEB-Extension Inst. & Conf. manual The Installation & Configuration manual contains detailed descriptions how the add on product WEB-Extensions is integrated in ProCash/NDC and ProConsult/NDC. It also gives detailed descriptions about additional configuration parameters, which are needed to enable the WEB-Extensions. ProCashIn/Online Inst. & Conf. manual The Installation & Configuration manual contains detailed descriptions how the add on product ProCashIn/Online is integrated in ProCashIn/NDC and ProCashIn/DDC. It also gives detailed descriptions about additional configuration parameters, which are needed to enable ProCashIn/Online. ProChequeIn Installation & Configuration Manual This manual describes how to install and configure ProCash/NDC-DDC or ProConsult/NDC-DDC on Cheque deposit systems for Cheque processing. ProFlex/NDC-DDC Programming Guide Describes function details of the products ProFlex/NDC and ProFlex/DDC. It gives detailed programming descriptions for developers how to set up the transaction flow and how to install and configure the product for a host connection. 438 November 2012