Amadis

Appendixes

Grid Analysis

That grid may be used by project teams to support their analysis and scan all the different topics:

 

 

Symbols, Options, and Constants

Following symbols, options, and constants may be adjusted depending on development stages and platform's constraints:

  • Symbols or Options: add/remove a symbol/option to define framework's behavior

  • Constant: set an appropriate value to set framework's footprint

The setup below correspond to a standard package configuration that is used to compile the framework for development and qualification.

For all symbols/options and constants: see GPI/Platform/gpi_agnos_framework_globals.h if available or in Library/File as indicated below.
For a static environment, define _STATIC_LOADER_ in AgnosEP and _STATIC_LINK_ in all CL kernels projects.

Symbol/Option/Constant

Value (Bytes)

Library/File

Comment

Symbol/Option/Constant

Value (Bytes)

Library/File

Comment

_ACE_

Added

CAD

Remove this symbol if ACE is not used (for production version)

_ADAPTER_

Removed

Platform
ACE2P
DualCertificationLevel3

Add this symbol if Agnos Framework doesn't use IP connection to communicate with ACE

_AGNOSISR_

Added

agnostypes.h

Remove this symbol if contact/contactless issuer scripts are not supported

_AGNOSK_

Added

agnostypes.h

Remove this symbol if contact is not supported

_AGNOSCL_

Added

agnostypes.h

Remove this symbol if contactless is not supported

_AGNOSCPL_

Added

agnostypes.h

Remove this symbol if completion is not supported

_AGNOSFMSG_

Added

agnostypes.h

Remove this symbol if advice and batch messages are not supported

_AGNOSTRACE_

Added

agnostypes.h

Remove this symbol to mute traces (for certification and production versions)

_AUTOMATION_

Added

CAD
SPED
DualCertificationLevel3

Remove this symbol if Agnos Automation is not supported (for certification and production versions)

_CONFIGURATOR_

Removed

DualCertificationLevel3

Add this symbol if AgnosGE is supported

_DEPRECATED_

Added

AgnosMW

Always added

_DUAL_POLLING_

Added

kizisapi.c

Remove this symbol if contact only is supported

_EMBEDDED_

Removed

ACE2P
DualCertificationLevel3
AtmosSTUBee

Add this symbol if Agnos runs on an embedded platform

_LOG_

Added

Platform

Remove this symbol to mute traces (for certification and production versions)

_REPLAY_

Added

CAD

Remove this symbol when card emulation is not supported (for certification and production versions)

_STATIC_LINK_

Removed

All CL Kernels

Add this symbol when a platform doesn't support dynamic library loading

_STATIC_LOADER_

Removed

AgnosEP

Add this symbol when a platform doesn't support dynamic library loading

_TIME_STAMP_

Added

Platform

Remove this symbol when performance timings are not supported (for certification and production versions)

_TRACE_

Added

AtmosSTUBee

Remove this symbol when AtmosSTUBee is not used (for certification and production versions)

FREE_RAM_SIZE

3000

sharedram.c

Always set to 3000 Bytes. Arbitrary extended RAM value to support messaging with ACE for TA. May be set to 0 for production version

ISSUER_RESPONSE_SIZE

(128 + MAX_SCRIPT_SIZE)

agnostypes.h

EMV issuer response size if _AGNOSCPL_ is defined. Minimum size to be supported is 128

MAX_AID

15

datamngr.h

Number of maximum AID per CL Kernel. Arbitrary value that may be adjusted depending on acquirer needs

MAX_CHARACTER_PER_LINE

16

display.h

Number of characters per PoP's display line. Set a value related to platform capabilities

MAX_COMBINATION_PER_TRANSACTION_TYPE

65

datamngr.h

 

MAX_DET_SIZE

2500

de-ds.c

Maximum DET signal size managed by L3

MAX_ITEM_NAME_LENGTH

100

select.h

Maximum length of an item in a selection list. Arbitrary value that may be adjusted depending on acquirer needs

MAX_KERNEL

25

datamngr.h

Number of maximum CL Kernels. Arbitrary value that may be adjusted depending on acquirer needs

MAX_LINES

2

display.c

Number of available PoP's display lines. Set a value related to platform capabilities

MAX_NB_ITEMS

50

select.h

Number of maximum item in a selection list. Arbitrary value that may be adjusted depending on acquirer needs

MAX_NB_LANGUAGE

2

display.h

Number of maximum languages. Arbitrary value that may be adjusted depending on acquirer needs

MAX_SCRIPT_SIZE

128

agnostypes.h

EMV issuer scripts size if _AGNOSCPL_ is defined

MAX_SIMULTANEOUS_SESSION

65

datamngr.h

Number of maximum pre-processing sessions managed simultaneously by our kernels for a given transaction type

MAX_STRING_LENGTH

50

display.h

Number of maximum characters per string (a string may be display on several lines using '\\'. Arbitrary value

MAX_SUPPORTED_ADF

10

agnoostypes.h

Number of maximum ADF supported to manage mutual supported applications between a card and a PoP

MAX_SUPPORTED_AID

30

datamngr.h

Number of maximum AID supported by PROCESSING file (including CT and CL AID)

NB_ACQUIRER_STRINGS

25

display.h

Number of strings supported by Agnos Frameowork to pass TA. May be adjusted to support acquirer needs

NB_EMV_STRINGS

34

display.h

Always set to 34. Defined as per EMVCo standard

NB_INDIVIDUAL_STRINGS

0

display.h

RFU

NB_ISSUER_STRINGS

0

display.h

RFU

ONLINE_BUFFER_SIZE

3000

datamngr.h

Always set to 3000 Bytes. Minimum RAM value to support messaging with ACE for TA. Shall be set to 3000 if torn supported (production version)

RAW_FORMAT_DATA_OBJECT_SIZE

400

datamngr.h

n/a

SIZE_FOR_CL_DATA_OBJECT

10000

sharedram.c

Maximum size available for all combinations per Transaction Type

SIZE_FOR_EMV_TAGS

11500

sharedram.c

Always set to 11500 Bytes. Theoritical value equal to:

max_number_of_SFI x max_APDU_response_size + max_configuration_tags_size

where:

max_number_of_SFI = 30
max_APDU_response_size = 255 Bytes
max_configuration_tags_size = 3850 Bytes

SIZE_FOR_EMV_UNKNOWNTAGS

2500

sharedram.c

Always set to 2500 Bytes. Arbitrary value to support unknown tags fetched from card, i.e. tags not defined in AgnosDB/emvtags.c

SIZE_FOR_PAYPASS_TORN

13500

sharedram.c

Always set to 13500 Bytes when supported (for certification and - optionally - production). May be set to 1 if torn are not supported in production

TIME_STAMP_BUFFER_SIZE

40000

log.c

Set a value related to performance testing needs (only for development version)

 

LED Management

There is no EMVCo's or payment networks' requirements related to LED management. However, there are 2 common sense needs that must be addressed:

  1. LED display shall be managed consistently across the brand to guaranty a user experience independent from the card's brand

  2. LED display shall allow an optimal performance measurement

Agnos manages the LED as following:

  • LED1: displayed when system polls for a card presentation

  • LED2: displayed when a card has been detected

  • LED3: displayed when a card read has been completed (along with a sound allowing a performance measurement either with the LED or with the BEEP). At this time, card may be removed

  • LED4: displayed when L3 raises a final verdict

Additionally:

  • GREEN is used as the color for accepted transactions

  • RED is used as the color for declined transacions

About the message strings display:

  • During a CL flow, a PROCESSING message may be displayed once GPO response has been received (if this message is supported by the system)

  • Message displays follow EMVCo Book A string table (CL) and EMVCo Book IV string table (CT)