How to setup custom ABA cards using Continuum NetController or ACX57xx

Issue

Sites need guidance on how to setup custom ABA cards in Continuum.

Product Line

Andover Continuum

Environment

CyberStation

NetController I (CX99xx)

NetController II (CX9680)

AC1Plus IOU Module

ACX57xx

Cause

The implementation of ABA cards in Continuum access control systems was designed to comply with the ISO 7811 ABA standard for magnetic stripe card. Because of this, the system only reads  one field (the PAN or Primary Account Number) from the ABA card, this field contains a number of up to 19 digits which is used as the card number.

Continuum Custom ABA feature provides for maximum flexibility by allowing the 19 digit PAN field on track 2 of the mag stripe to be organized in sub fields such as site code etc.

Resolution

Custom ABA cards are supported in the following Continuum controllers:

  1. NetController I (CX99XX)
  2. NetController II(CX9680)
  3. AC1Plus IOU module only (AC1/AC1-A modules do NOT support Custom ABA cards)
  4. ACX5740/20

Here is a summary of the steps to configure Custom ABA cards in Continuum: (see in depth details of the configuration below)

a) Define InfinityString in the controller using the name 'CustomABAFormat', you must then set the value of the string to define your specific format (SEE BELOW)

b) Configure the door for Custom ABA

c) Configure personnel for Custom ABA


The custom ABA card functionality in Continuum has been designed to be very flexible, with that flexibility comes certain amount of complexity, the section below explains in detail the implementation.

CyberStation provides support for custom ABA (American Banking Association) access cards.  To define a custom ABA access card format, you must create a special InfinityString and name it:

CustomABAFormat

This special name, together with a unique alphanumeric bitmap string structure that you enter as its value, allow CyberStation to interpret important custom information contained on a person's ABA access card for example, the site or "facility" code, the card issue code, the manufacturer code, and so on.

Note: Only Andover Continuum CX series controllers (ACX 57xx series controllers and AC-1 Plus modules) support custom ABA cards.  Also, a CustomABAFormat InfinityString must exist on each controller; otherwise those cards cannot access doors configured on that controller.

Procedure

The following table provides a general procedure for defining and configuring a custom ABA card format.  After the table, this topic presents detailed instructions for Step 5 (entering a value for the CustomABAFormat string).  For Steps 7 through 10, please also see topics for the Door editor's Card Formatstab, Entry Readertab, and Exit Readertab, as well as the Personnel editor's Generaltab.

How to Define and Configure a Custom ABA Format

Step

Action

1

Create a new InfinityString object.  In the Object name field of the New dialog, enter CustomABAFormat.

2

In the String Size field of the General tab, enter the string size for the value.  CyberStation shows a default of 132 characters.

Note: The limit is 60 characters.  Do not enter more than 60 characters; otherwise, you will receive an error message.

3

In the General tab, check the Setpoint checkbox to ensure the string value is saved in the database.  If you do not check this box, the value may be lost.

4

Click Apply to save.

5

In the Value field of the General tab, enter a special, unique alphanumeric string structure for this new InfinityString.

See Entering a Value for the CustomABAFormat String, below.

6

Click OK to save and exit the InfinityString editor.

7

In the Card Formatstabof the Door editor, click the ABA radio button, then check the Custom checkbox, to specify an ABA custom card format.  

Also, in a Site Codes field of this tab, enter this facility's site code (if it has a site code), as well as other information that you would otherwise normally enter when configuring a door.

See also the Door editor's Card Formatstab.

8

In the Entry Readerand Exit Readertabs of the Door editor, select card data validation options that you want.  Check the validation checkboxes, as needed.

See also the Door editor'sEntry Readerand Exit Readertabs.

9

In the Generaltabof the Personnel editor, configure this person for this type of custom ABA card.  From the Card Type dropdown menu, select CustomMagStripe.

See also the Personnel editor's Generaltab.

10

In the Generaltabof the Personnel editor, enter this person's card number and site code in the Card Number and Site Code field, respectively.  Make sure these numbers adhere to custom ABA card rules.  (See Rules and Guidelines, Card Number Requirements, Site Code Requirements, Shared-Field Inter Requirements, and Card Issue Code Requirements,below.)

Note: The site code is optional in a custom ABA configuration.  If you do not use a site code (that is, if you do not specify 1s in your string format) set the site code to 0.  If you do use a site code (specify 1 in your string format), you cannot use a site code of 0.

See also the Personnel editor's Generaltab.

Entering a Value for the CustomABAFormat String

In the Value field of the General tab, you must enter a special string structure.  This structure, which may vary in length depending on the number of digits used in each segment or "field" of the structure, tells CyberStation how to interpret and validate the information on a person's custom ABA card.  In general, your structure must match the layout of the data on a card.  Schneider Electric provides the following data fields that you use in defining your structure:

Card Field

Alphanumeric Identifier

Start sentinel (for a fixed length structure)

The start sentinel indicates the beginning of data.  See Rules and Guidelines, below.

T
(an ASCII character)

Start sentinel(for a variable-length structure)

The start sentinel indicates the beginning of data.  See Rules and Guidelines, below.

V
(an ASCII character)

Start sentinel (for displaying the card's encoded raw data in the Active Event View, whenever the card is swiped)

The start sentinel indicates the beginning of data.  See Rules and Guidelines, below.

R
(an ASCII character)

Site or "facility" code

The site code, if used, is a number that identifies your facility.  See Site Code Requirements, below.

1
(a hexadecimal integer)

Card number

See Card Number Requirements, below.

2
(a hexadecimal integer)

Field separator

The field separator separates the digits of one field from another.  See Rules and Guidelines, below.

S
(an ASCII character)

Card issue code

The card issue code, if used, is the number of times a person has been issued a card — second, third, fourth, and so on.  See Card Issue Code Requirements,below.

4
(a hexadecimal integer)

Manufacturer code

See Manufacturer Code Requirements, below.

8
(a hexadecimal integer)

Shared-field integers

Each of these integers indicates that the digit is shared in two or more fields.  If you specify shared-field integers, the string structure must be fixed-length.

See Shared-field Integer Requirements, below.

Any other
hexadecimal integer


(See Shared-field
Integer Requirements
.)

Not used

This character indicates digits that are not used within the string structure. See Rules and Guidelines, below.

X
(an ASCII character)

End sentinel

The end sentinel indicates the end of data. Use the end sentinel to end the string structure.

Z
(an ASCII character)

Longitudinal Redundancy Check (LRC)

The LRC checks for bit errors when the card is read.  Place the LRC after (to the right of) the end sentinel.   

L
(an ASCII character)

For example, you might enter a value such as:

T33111222222222SXXXX8888ZL

Setting the CustomABAFormat string structure to this value tells CyberStation to interpret the information from a custom ABA card as follows:

  • The first digit is the start sentinel.
  • The second and third digits are the site code's first two digits, as well as the first two digits of the card number.  (See also Shared-field Integer Requirements, below.)
  • Digits 4 through 6 are the remaining digits of the site code.
  • Digits 7 through 15 are the remaining digits of the card number.
  • Digit 16 is a field separator.
  • Digits 17 through 20 are marked as not used, and CyberStation ignores them.
  • Digits 21 through 24 are the manufacturer code.
  • Digit 25 is the end sentinel.
  • Digit 26 is the LRC (Longitudinal Redundancy Check).

Now suppose, based on the string structure above, you swipe a card at the custom ABA door, and the card is encoded with the following data:

10555123456789<field_separator>20021040<end_sentinel>

where the start_sentinel, end_sentinel, field_separator, andLRC are ASCII characters specified by the ABA card track 2 standard..

CyberStation interprets the card data like this:

  • Site code — 10555
  • Card number — 10123456789
  • Manufacturer code — 1040

Rules and Guidelines— Here are some important rules and guidelines to follow when entering the string structure value:

  • CyberStation parses and interprets the card data from left to right, based on the string structure you provide.  The leftmost digit becomes the most significant digit.  Remember, there is a limit of 60 characters.
  • There is a limit to the number of digits each field may have, as follows:

Field

Limit

Card number

19 digits

Site code

Five digits

Card issue code

Two digits

Manufacturer code

16 digits

Note: The actual manufacturer code is entered after the LRC (L) in the structure (becoming the last digit or digits of the structure).  Also, the card issue code is attached to the beginning of the card number.  See Manufacturer Code Requirementsand Card Issue Code Requirements, below, for details.

  • In a fixed-length structure, the number of digits in a field on a person's card must match the number of digits in each field of the structure you define.  For example, if your site code is 75 (encoded on the second and third digits on your card) and your card uses up to four digits for the card number (encoded on the fourth through seventh digits) you would configure the CustomABAFormat string as follows:

T112222...

When the cards are encoded, any card with a card number less than four digits must be padded with zeroes — in this case, to make four digits.  For example, a card with card number 12 must be encoded with 0012 in its card number field.

  • In a fixed-length structure, you must use a field separator (S) to correspond with every place it appears in the person's card.  For example, if the card contains four field separators, your structure must have four separators in the same locations within the structure.  If the card has no separators, then your structure would have no separators.
  • In a variable-length structure, you must use a field separator (S) to separate the fields.
  • A variable-length structure can accommodate cards containing fields whose digits vary in length.  If the number of digits in a field on a person's card is less than the number of corresponding digits in your structure, then CyberStation pads that number with zeroes.  For example, if a person's site code is 75 and card number is 1234, and your structure is:

V11111S222222

then these numbers become:

00075
001234

The data on the card would be encoded like this:

75<field_separator>1234<field_separator>...

where the start_sentinel andfield_separator are ASCII characters specified by the ABA card track 2 standard.

Remember, the card must be encoded with field separators to tell CyberStation where each field ends.

  • In a variable-length structure, a field separator (S) must not appear within a field.  That is, a field cannot span a separator.  Although this is allowed in a fixed-length format, in a variable-length format you may not, for example, enter:

V11222S22ZL

  • In any structure, the not-used character (X) should correspond with the location of any not-used character on the card.
  • If you specify shared-field integers, your structure must be fixed-length.  See Shared-field Integer Requirements, below.
  • If you want the raw encoded data on an ABA card to appear in the Active Event View each time a person swipes his/her card, use the R start sentinel, instead of the T or V.
  • Any ASCII character, other than T, Z, S, L, V, R, and X, is invalid.

Note: Hexadecimal integers A, B, C, D, E, and F are allowed because they are interpreted as numbers.  See Shared-field Integer Requirements, below.

  • If you do use a site code (that is, if you specify 1s in your string structure), you cannot use a site code of 0.  However, if you do not use a site code (if you do not specify 1s in your string structure) you must set the site code to 0.

Card Number Requirements— The field containing the integer 2 represents the card number that is read from a person's custom ABA card.  The limit is 19 digits.  The largest card number supported is 9999999999999999999.  The card number must be entered in the Card Number field on the Personnel editor's General tab.
 

Site Code Requirements— The field containing the integer 1 represents a person's site.  The limit is five digits.  The largest site code supported is 65535.  The site code is optional.  If you have a site code, it must be entered in the Site Code field on the Personnel editor's General taband in a Site Codes field on the Door editor'sCard Formats tab.  

Note: If you do not use a site code (that is, if you do not specify 1s in your string format) you must enter a site code of 0.  If you do use a site code (specify 1 in your string format), you cannot use a site code of 0.

Card Issue Code Requirements— The field containing the integer 4 represents digits belonging to the card issue code (that is, if your site uses issue codes).  The limit is two digits.  CyberStation reads the issue code (one or two digits) from the card, and attaches the code to the beginning of the person's card number, whereby it becomes part of the card number.  The card number is first padded with zeroes, if necessary, until it has the same number of digits as specified in the string structure.  For example, if a person's card number is 751, if his/her issue code is 12, and if the structure specifies a six-digit card number, the resulting card number is:

12000751

CyberStation inserts the issue code in front (to the left) of the card number.

Note: Because the issue code becomes the first digit (or first two digits) of a person's card number, you must enter this modified card number in the Card Number field of the Personnel editor's General tab, so that CyberStation recognizes the issue code.  Using the example above, you would enter 12000751.

Manufacturer Code Requirements— The field containing the integer 8 represents digits belonging to the manufacturer code (that is, if your site uses a manufacturer code).  The limit is 16 digits.  

Note: Because the CyberStation editors currently have no field in which you may enter the manufacturer code, you must append the card's actual manufacturer code after the LRC (L) whereby this code becomes the last digits of the structure.  For example, if the manufacturer code on your card is 576, then the latter half of the structure would look similar to this:

...S44XXX888ZL576

where CyberStation rejects any card that does not contain the number 576 in the location specified by the integers 888 in the structure.

Shared-Field Integer Requirements— In two or more fields, you may share any digit that is read from a person's card.  To do so, use one or more of the following hexadecimal integers in your string structure:

3, 5, 6, 7, 9, A, B, C, D, E, F

Each of these integers tells CyberStation to read the digit and use it in the fields specified by the integer.  For example, the integer 3 means the digit is used in the card number and the site code.  For example, the integer D means the digit is used in the site code, the card issue code, and the manufacturer code. (See the table, below.)

Note: To accommodate shared-field integers, your string structure must be fixed-length.

You must place the overlapping (shared) integer in the structure from left to right because CyberStation parses digits from left to right.

For example, suppose you were sharing two numbers in the site code and card number.  (The integer 3 specifies a share between these two fields.)  Suppose the person's site code is 75, and his/her card number is 75944.  Therefore, the site code and card number fields in your structure would look similar to this:

T332222...

For every combination of shared fields (two, three, or four fields) the following table tells you which hexadecimal integer to use in your string structure.

Note: Each integer below is the sum of the integers that represent the shared fields (1 for site code, 2 for card number, 4 for card issue code, and 8 for manufacturer code).  For example, a 9 specifies a share between the site code field (1) and manufacturer code field (8) — in other words, 1 plus 8.  For example, a 6 specifies a share between the card number field (2) and the card issue code field (4) — in other words, 2 plus 4.  

Use the following table to look up the shared-field integer that you need:

To Share Digits
in these Fields ...

... Use this Shared
Hexadecimal Integer

Card Number
Site Code

3
(represents 2 + 1)

Site Code
Card Issue Code

5
(represents 1 + 4)

Card Number
Card Issue Code

6
(represents 2 + 4)

Card Number
Site Code
Card Issue Code

7
(represents 2 + 1 + 4)

Site Code
Manufacturer Code

9
(represents 1 + 8)

Card Number
Manufacturer Code

A
(represents 2 + 8)

Card Number
Site Code
Manufacturer Code

B
(represents 2 + 1 + 8)

Card Issue Code
Manufacturer Code

C
(represents 4 + 8)

Site Code
Card Issue Code
Manufacturer Code

D
(represents 1 + 4 + 8)

Card Number
Card Issue Code
Manufacturer Code

E
(represents 2 + 4 + 8)

Card Number
Site Code
Card Issue Code
Manufacturer Code

F
(represents 2 + 1 + 4 + 8)

Remember, the string structure must be fixed-length.