Sep 27, 2012 - Connecting to External Systems via TCP/IP . ...... automatically restart on abnormal termination the INRS
Script and TCP/IP Interface Specification for the ISONAS Access Control System
September 2012
ISONAS Security Systems 303-567-6516
www.ISONAS.com
1
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Table of Contents Revision History ................................................................................................................. 8 Introduction ....................................................................................................................... 11 Architecture....................................................................................................................... 11 Connecting to the TCP/IP Server...................................................................................... 12 Restart Interval .............................................................................................................. 12 Encrypt and Encryption Key......................................................................................... 12 LOGON Process ........................................................................................................... 13 Syntax: ...................................................................................................................... 13 Response: .................................................................................................................. 13 Command Access Levels: ......................................................................................... 13 Connecting to External Systems via TCP/IP .................................................................... 14 Defining a New External Connection ........................................................................... 14 Editing Existing Connection Definitions ...................................................................... 16 Deleting an Existing Connection .................................................................................. 17 EVENT Notification ......................................................................................................... 17 Summary of Command Functional Capabilities ............................................................... 18 Format/Syntax ............................................................................................................... 20 Command parameter validation restrictions ................................................................. 20 COMMENTS .................................................................................................................... 22 Description: ................................................................................................................... 22 Syntax: .......................................................................................................................... 22 SUPERVISOR .................................................................................................................. 22 Description: ................................................................................................................... 22 Syntax: .......................................................................................................................... 22 Response: ...................................................................................................................... 23 CONNECTION................................................................................................................. 24 Description: ................................................................................................................... 24 Syntax: .......................................................................................................................... 24 Response: ...................................................................................................................... 24 DOORS ............................................................................................................................. 24 Description: ................................................................................................................... 24 Syntax: .......................................................................................................................... 24 Response: ...................................................................................................................... 26 DOORGROUP.................................................................................................................. 26 Description: ................................................................................................................... 26 Syntax: .......................................................................................................................... 26 Response: ...................................................................................................................... 26 DOORGROUPMEMBER ................................................................................................ 26 Description: ................................................................................................................... 26 Syntax: .......................................................................................................................... 26 Response: ...................................................................................................................... 27 ISONAS Security Systems 303-567-6516
www.ISONAS.com
2
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
GROUPNAME ................................................................................................................. 27 Description: ................................................................................................................... 27 Syntax: .......................................................................................................................... 27 Response: ...................................................................................................................... 27 HOLIDAYS ...................................................................................................................... 27 Description: ................................................................................................................... 27 Syntax: .......................................................................................................................... 27 Response: ...................................................................................................................... 27 IDFILE .............................................................................................................................. 28 Description: ................................................................................................................... 28 Syntax: .......................................................................................................................... 28 Response: ...................................................................................................................... 28 IDFILE Image Files .......................................................................................................... 28 Description: ................................................................................................................... 28 Syntax: .......................................................................................................................... 29 Response: ...................................................................................................................... 29 GROUPS ........................................................................................................................... 30 Description: ................................................................................................................... 30 Syntax: .......................................................................................................................... 30 Response: ...................................................................................................................... 30 BADGES........................................................................................................................... 31 Description: ................................................................................................................... 31 Syntax: .......................................................................................................................... 31 Response: ...................................................................................................................... 31 GUIDs Associated with BADGES ................................................................................... 31 Description: ................................................................................................................... 31 Syntax: .......................................................................................................................... 31 Response: ...................................................................................................................... 32 SHIFTS ............................................................................................................................. 33 Description: ................................................................................................................... 33 Syntax: .......................................................................................................................... 33 Response: ...................................................................................................................... 33 PERMISSION ................................................................................................................... 34 Description: ................................................................................................................... 34 Syntax: .......................................................................................................................... 34 Response: ...................................................................................................................... 34 PERMISSIONGROUP ..................................................................................................... 34 Description: ................................................................................................................... 34 Syntax: .......................................................................................................................... 34 APPLY .............................................................................................................................. 35 Description: ................................................................................................................... 35 Syntax: .......................................................................................................................... 35 Response: ...................................................................................................................... 36 ADMIT ............................................................................................................................. 36 Description: ................................................................................................................... 36 ISONAS Security Systems 303-567-6516
www.ISONAS.com
3
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Syntax: .......................................................................................................................... 36 Response: ...................................................................................................................... 36 UNLOCK .......................................................................................................................... 37 Description: ................................................................................................................... 37 Syntax: .......................................................................................................................... 37 Response: ...................................................................................................................... 37 LOCKDOWN ................................................................................................................... 37 Description: ................................................................................................................... 37 Syntax: .......................................................................................................................... 37 Response: ...................................................................................................................... 38 RESETNORMAL ............................................................................................................. 38 Description: ................................................................................................................... 38 Syntax: .......................................................................................................................... 38 Response: ...................................................................................................................... 38 SETHOSTOVERRIDE ..................................................................................................... 38 Description: ................................................................................................................... 38 Syntax: .......................................................................................................................... 38 Response: ...................................................................................................................... 39 SETLOCAL ...................................................................................................................... 39 Description: ................................................................................................................... 39 Syntax: .......................................................................................................................... 39 Response: ...................................................................................................................... 39 PRESENTBADGE ........................................................................................................... 39 Description: ................................................................................................................... 39 Syntax: .......................................................................................................................... 39 Response: ...................................................................................................................... 40 PRESENTGUID ............................................................................................................... 40 Description: ................................................................................................................... 40 Syntax: .......................................................................................................................... 40 Response: ...................................................................................................................... 40 QUEUE EMAIL ............................................................................................................... 41 Description: ........................................................................................................... 41 Syntax: .................................................................................................................. 41 Response: .............................................................................................................. 41 QUERY ............................................................................................................................. 42 Description: ................................................................................................................... 42 BADGE ..................................................................................................................... 42 Description: ........................................................................................................... 42 Syntax: .................................................................................................................. 42 Response: .............................................................................................................. 42 ALL DOORS ............................................................................................................ 42 Description: ........................................................................................................... 42 Syntax: .................................................................................................................. 42 Response: .............................................................................................................. 42 DOORS ..................................................................................................................... 44 ISONAS Security Systems 303-567-6516
www.ISONAS.com
4
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Description: ........................................................................................................... 44 Syntax: .................................................................................................................. 44 Response: .............................................................................................................. 44 ALL DOORGROUPS ............................................................................................... 45 Description: ........................................................................................................... 45 Syntax: .................................................................................................................. 45 Response: .............................................................................................................. 45 DOORGROUP.......................................................................................................... 45 Description: ........................................................................................................... 45 Syntax: .................................................................................................................. 45 Response: .............................................................................................................. 45 GROUPNAMES ....................................................................................................... 46 Description: ........................................................................................................... 46 Syntax: .................................................................................................................. 46 Response: .............................................................................................................. 46 GROUP ..................................................................................................................... 46 Description: ........................................................................................................... 46 Syntax: .................................................................................................................. 46 Response: .............................................................................................................. 46 ALL GROUPS .......................................................................................................... 47 Description: ........................................................................................................... 47 Syntax: .................................................................................................................. 47 Response: .............................................................................................................. 47 ALL SHIFTS ............................................................................................................ 47 Description: ........................................................................................................... 47 Syntax: .................................................................................................................. 47 Response: .............................................................................................................. 47 SHIFT ....................................................................................................................... 48 Description: ........................................................................................................... 48 Syntax: .................................................................................................................. 48 Response: .............................................................................................................. 48 ALL HOLIDAYS ..................................................................................................... 49 Description: ........................................................................................................... 49 Syntax: .................................................................................................................. 49 Response: .............................................................................................................. 49 ALL IDFILE ............................................................................................................. 49 Description: ........................................................................................................... 49 Syntax: .................................................................................................................. 49 Response: .............................................................................................................. 49 IDFILE ...................................................................................................................... 50 Description: ........................................................................................................... 50 Syntax: .................................................................................................................. 50 Response: .............................................................................................................. 50 IDFILE IMAGES...................................................................................................... 50 Description: ........................................................................................................... 50 ISONAS Security Systems 303-567-6516
www.ISONAS.com
5
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Syntax: .................................................................................................................. 50 Response: .............................................................................................................. 50 ALL BADGES .......................................................................................................... 51 Description: ........................................................................................................... 51 Syntax: .................................................................................................................. 51 Response: .............................................................................................................. 51 BADGE BADGEID .................................................................................................. 52 Description: ........................................................................................................... 52 Syntax: .................................................................................................................. 52 Response: .............................................................................................................. 52 BADGE UNIQUEID ................................................................................................ 53 Description: ........................................................................................................... 53 Syntax: .................................................................................................................. 53 Response: .............................................................................................................. 53 BADGE GUID .......................................................................................................... 54 Description: ........................................................................................................... 54 Syntax: .................................................................................................................. 54 Response: .............................................................................................................. 54 PERMISSIONS......................................................................................................... 55 Description: ........................................................................................................... 55 Syntax: .................................................................................................................. 55 Response: .............................................................................................................. 55 HISTORY ................................................................................................................. 56 Description: ........................................................................................................... 56 Syntax: .................................................................................................................. 56 Response: .............................................................................................................. 56 IO MODULES .......................................................................................................... 58 Description: ........................................................................................................... 58 Syntax: .................................................................................................................. 58 Response: .............................................................................................................. 58 IOMODULE ............................................................................................................. 60 Description: ........................................................................................................... 60 Syntax: .................................................................................................................. 60 Response: .............................................................................................................. 60 Response: .............................................................................................................. 60 STATUS ................................................................................................................... 61 Description: ........................................................................................................... 61 Syntax: .................................................................................................................. 61 Response: .............................................................................................................. 61 ACTIVE ALARMS .................................................................................................. 63 Description: ........................................................................................................... 63 Syntax: .................................................................................................................. 63 Response: .............................................................................................................. 63 CLEAR ALARMS ............................................................................................................ 63 Description: ................................................................................................................... 63 ISONAS Security Systems 303-567-6516
www.ISONAS.com
6
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Syntax: .......................................................................................................................... 63 SET IOMODULE ............................................................................................................. 64 Description: ................................................................................................................... 64 Syntax: .......................................................................................................................... 64 Response: ...................................................................................................................... 65 SETLOGGING ................................................................................................................. 66 Description: ................................................................................................................... 66 Syntax: .......................................................................................................................... 66 Response: ...................................................................................................................... 66 ENABLE ........................................................................................................................... 66 Description: ................................................................................................................... 66 Syntax: .......................................................................................................................... 66 Response: ...................................................................................................................... 66 DISABLE .......................................................................................................................... 67 Description: ................................................................................................................... 67 Syntax: .......................................................................................................................... 67 Response: ...................................................................................................................... 67 ARM ................................................................................................................................. 67 Description: ................................................................................................................... 67 Syntax: .......................................................................................................................... 67 Response: ...................................................................................................................... 68 DISARM ........................................................................................................................... 68 Description: ................................................................................................................... 68 Syntax: .......................................................................................................................... 68 Response: ...................................................................................................................... 68 SET TTL ........................................................................................................................... 69 Description: ................................................................................................................... 69 Syntax: .......................................................................................................................... 69 Response: ...................................................................................................................... 69 QUEUE SCRIPT .............................................................................................................. 69 Description: ................................................................................................................... 69 Syntax: .......................................................................................................................... 69 Response: ...................................................................................................................... 69 DEQUEUE SCRIPT ......................................................................................................... 70 Description: ................................................................................................................... 70 Syntax: .......................................................................................................................... 70 Response: ...................................................................................................................... 70 Error Table ........................................................................................................................ 70 APPENDIX A – AES Encryption Library........................................................................ 72 LOGON Process with encryption enabled.................................................................... 73
ISONAS Security Systems 303-567-6516
www.ISONAS.com
7
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Revision History Revision Date 7/16/2008
Author Roger Matsumoto
8/4/2008
Roger Matsumoto
9/11/2008
Rmb
10/6/2008
Rmb
10/13/2008
Rmb
10/21/2008 11/04/2008
Rmb Rmb
1/9/2009
Rmb
2/9/2009
Roger Matsumoto
5/4/2009
Rmb
ISONAS Security Systems 303-567-6516
Description Initial revision entry – added command parameter requirements table; enhanced command descriptions; clarified parameter descriptions. Formatting changes; Added Syntax table of commands in new appendix; Updated/corrected descriptive statements of command parameters; Delete Supervisor – rmv supervisor name and port Add Doors – dual auth values 0-3 Delete Doors – rms Servername and Port as cmd parameters Updated other commands to reflect the parameter requirements specified within the INRServ code . Added commands to add and delete door groups and to add and delete doors from door groups Updated command response to include IOSupervisors. Updated to include option Added events and errors associated with IO Points going True/False/Changing and clearing IO Alarms, added Query Active Alarms and Clear Alarms, modified several other Query responses. Added multiple commands per tcp/ip message. Modified and added errors to the error table. Modified SET IOMODULE to include priorities Clarified partial compile options (APPLY). Corrected ADD DOORGROUP documentation to show AREA option Added command Updated field description for start and end date of QUERY HISTORY command Updated Event to include Disable/Enable Input and Output Points . Added disable status to QUERY IOMODULE commands. Modified UNLOCK, LOCKDOWN, RESET NORMAL and CLEAR ALARM event reports to show BadgeID or “none” www.ISONAS.com
8
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
5/20/2009
Rmb
6/12/09
Rmb
7/17/2009
Roger Matsumoto
7/26/2009
Dick Burkley
8/06/2009
Dick Burkley
9/09/2009
Dick Burkley
10/05/2010
Dick Burkley
3/28/2011
Roger Matsumoto
5/27/2011 6/23/2011 7/26/2011 8/25/2011
Dick Burkley Dick Burkley Dick Burkley Dick Burkley
12/28/2011
Dick Burkley
8/29/2012
Roger Matsumoto
ISONAS Security Systems 303-567-6516
Added commands ARM,DISARM,ENABLE and DISABLE. Changed content of responses to several QUERY commands associated with IOMODULES to include additional information about the DISARM and DISABLE state. Added compile type for Resend to the APPLY command 1. ADD DOORS – the “connection” argument should be “subnet” and needs to be in the description table of the command 2. ADD HOLIDAYS – “allareaflag” default value is 0(zero) not 1(one). 3. APPLY – changed the syntax to indicate the “compiletype” flag is required and the “scope” could be optional 4. QUERY ACTIVE ALARMS – Changed response to indicate whether the “point” is an input point or an output point, and if indicated, whether the point went true or false. Added SETLOCAL command. Updated section on restart interval. Added note to PRESENT BADGE command concerning LOCAL mode Added permission group name to Add Permission command. Clarified event notification for REX and AUX alarms. Added optional specification of a doorname to the SET IOMODULE command to support the Thyssen Krupp elevator interface. Modified DOORS add command and associated error and response information. Updated RESETNORMAL description Updated SETLOCAL description Corrected ISONAS address Added List OPENED and CLOSED event as event reports and history records Added GUID to the cmd. Updated the following Event Notifications with GUID data: , , , www.ISONAS.com
9
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
9/27/2012
Dick Burkley
ISONAS Security Systems 303-567-6516
, , , , , , , Updated responses from the following commands with GUID: , , , . Updated the following response types of the command: , , , , , , , , , . The following New commands have been added: , , , , . Corrections made to the following commands: , , Added SetHostOverride command
www.ISONAS.com
10
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Introduction This interface provides facilities to configure the Isonas Access Control database and command specific reader controller and I/O module actions by: 1. Sending TCP/IP message to the INRServ.exe (Isonas Notification Request Server) interface program 2. Writing script commands which the system executes when specified conditions are met by events that take place within the access control system. The functions in this interface that change the state of the reader controllers (Admit, Unlock, Lockdown, Reset Normal) require that the standard Isonas Access Control System Controller Supervisor program(s) (CSUP.exe) be up and running providing access control to a number of Isonas IP, WirelessIP or serial reader controllers. Other functions provided by this interface interact directly with the database tables and do not require the existence of a running controller supervisor program.
Architecture The diagram below shows the architecture of the system. Both the TCP/IP interface and the ScriptRunner are included within the INRServ application.
The TCP/IP interface sends notification of all events which occur within the access control system to all of the client programs that have connected to it, including the Script Runner program. The Script Runner program compares these events to the event filters that have been specified. When an event matches the specified criteria the script itself is processed, sending commands to the TCP/IP interface for execution.
ISONAS Security Systems 303-567-6516
www.ISONAS.com
11
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Connecting to the TCP/IP Server
Here is the INRServ screen used to configure the TCP/IP interface. The IP address, Port and logfile name are set using the controls shown. The meaning of the connection timeout is explained below under the Logon process description.
Restart Interval An earlier version of the INRServ process had a minor resource leak associated with the client connection process that would eventually cause the system to fail due to lack of system resources if the client connects/disconnected frequently. As an interim workaround we provided a mechanism that shut the process down after a specified number of seconds. Setting the restart interval to zero disabled the restart process. By configuring the INRServ process to run as a windows service and setting the service to automatically restart on abnormal termination the INRServ could be continuously available and avoid the resource problem. The resource leak has been corrected in later versions and this restart interval is no longer needed.
Encrypt and Encryption Key The TCP/IP server can be configured to use AES (Advanced Encryption Standard – sometimes called Rijndael ) Encryption. If set, the system uses 256 bit encryption. You must set the 32 byte key by specifying the 32 hex bytes. (E.g., 000102030405060708090A0B0C0D0E0F101112131415161718911A1B1C1D1E1F) This same encryption mechanism is used by the ISONAS reader controllers if you configure them to do so. We have included the dll library that provides the encryption as part of the ISONAS system code, and you can use this library if you wish to do so. You may also use any other encryption software that conforms to the AES standard. Appendix 1 describes the library functions. ISONAS Security Systems 303-567-6516
www.ISONAS.com
12
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
LOGON Process When the client program connects to the server, it will immediately send the following message back to the client: | If encryption is enabled, the client should send a 16 byte encryption initialization vector at this point, and all subsequent messages sent to and received from the server are encrypted. The client program must send a message within the Connection Timeout with the following format and content:
Syntax: | Where: Username or Label identification for this client. Up to 20 characters. This must be the current password for Username or must be the current Isonas Administrative password | The vertical bar denotes the end of a command definition The angle brackets must be used as shown. Example: |
Response: If the username and password are accepted, the server will send a message: | If the logon process is unsuccessful, an error message is returned (see Error Table)
Command Access Levels: If a Username/Password is used to log on to the TCP/IP server, the interface will restrict the user’s access to functions based on the authority level of the userid as shown in the following table: Scope Administrator COMMON
Level Na 3
Capabilities/Limitations Full access Full access – can only operate* reader controllers if the Username is valid for Monitor functions and the reader controllers require level 3 or lower. COMMON 2 Full access to read and set all information – can only operate* reader controllers if the Username is valid for Monitor functions and the reader controllers require level 2 or lower. COMMON 1 Can only access/set people, badges and group information. Can only operate* reader controllers if the Username is valid for Monitor functions and the reader controllers require level 1 or lower. AREA 3 No access to set network information. Can retrieve information for the AREA or for COMMON. Can set shifts and permissions for reader controllers that are part of the AREA or are in the COMMON AREA. Can only operate* reader controllers if the Username is valid for Monitor ISONAS Security Systems 4720 Walnut St, Suite 200 303-567-6516 www.ISONAS.com Boulder, CO. 80301 USA
13
AREA
2
AREA
1
functions and the reader controllers are in the AREA or COMMON and require level 3 or lower. No access to set network information. Can retrieve information for the AREA (but not for COMMON). Can set shifts and permissions for reader controllers that are part of the AREA only. Can only operate* reader controllers if the Username is valid for Monitor functions and the reader controllers are in the AREA (but not COMMON) and require level 2 or lower. Can only access/set people groups and badges for the AREA. Can not change permissions but can invoke compilation. Can only operate* reader controllers if the Username is valid for Monitor functions and the reader controllers are in the AREA (but not COMMON) and require level 1 or lower.
Connecting to External Systems via TCP/IP The TCP/IP interface server can support outbound TCP/IP connections to external/foreign systems. The “Server Connections”, currently defined, are displayed in the list of connections. The details of a connection are displayed when it is selected in the list of connections.
Defining a New External Connection A new connection to an external system can be defined by clicking on the “Insert” button. This will disable all other features of the Server Connection display and allow the connection to be defined. ISONAS Security Systems 303-567-6516
www.ISONAS.com
14
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
The entry fields are defined as follows: • Connection – this field assigns a name to the defined connection and will be displayed in the list of connections (“Connected Processes”) when the interface is running. The connection can be up to 20 characters. • IP Address – This is the IP address of the device that the ISONAS TCP/IP Interface will connect to. This device will have an IP Address assigned to it. The IP Address must be in the standard form of nnn.nnn.nnn.nnn where “nnn” is a value of 0-255. • Port – This is the IP Port that the device is “listening” on for a connection. The ISONAS TCP/IP interface will connect to this Port on the specified IP Address (defined above). The Port can have a range of 1 to 65535. • Disable – This allows the connection to be defined but ignored by the ISONAS TCP/IP interface. If this is checked, the connection will be disabled. • Disconnect After Send – This will cause a disconnect to occur after each event notification message sent through the interface or after a complete response to a requested command has been sent to the external system. If this is checked, the connection will be disconnected and immediately re-established. • AES Encryption(256) – This specified that the data through this connection will be encrypted using the standard 256 bit AES encryption method. If this is checked, AES encryption will occur. • AES Key – This field is valid if AES encryption is being used. A “private key” is defined by specifying 32 pairs of two hexadecimal numbers (0 – 9 and A – F) eg. 000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E 1F ISONAS Security Systems 303-567-6516
www.ISONAS.com
15
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
The “Save” button will add the new connection to the list of connections and enable all of the display and browsing features of the “Server Connections” screen. The “Cancel” button will discard the information in the “Server Connection Detail” entry fields and enable all of the display and browsing features of the “Server Connections” screen.
Editing Existing Connection Definitions An existing connection definition can be edited/changed by selecting(highlighting) it within the list of defined connections. The “Edit” button can be clicked to disable all other features within the “Server Connections” screen and place it in “edit” mode.
Any of the entry fields can be changed to any appropriate value. The “Save” button will update the connection and enable all of the display and browsing features of the “Server Connections” screen. The “Cancel” button will discard the information in the “Server Connection Detail” entry fields and enable all of the display and browsing features of the “Server Connections” screen.
ISONAS Security Systems 303-567-6516
www.ISONAS.com
16
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Deleting an Existing Connection A defined connection can be deleted by selecting(highlighting) it within the list of connections. The “Delete” button can be clicked.
The confirmation above will be displayed to allow a final acknowledgement of the delete action before the actual deletion of the connection definition.
EVENT Notification Once connected, clients will receive notification of events that occur within the Isonas Access Control system. Messages will be in the following format: [ additional data depending on the event as listed below] | The following event types are reported: | | | 1 | | | | | | 2 | | | | 1
The TAMPER, REX and AUX events are alarm conditions. If REX and AUX are not set to be alarm conditions, they are reported simply as either ADMIT or REJECT events. 2 The BadgeId for LOCKDOWN, UNLOCKED, NORMAL RESET and CLEAR ALARM will be “none” unless the event was triggered by a badge presentation. ISONAS Security Systems 4720 Walnut St, Suite 200 303-567-6516 www.ISONAS.com Boulder, CO. 80301 USA
17
| | | | | | | | | | | | | | | | | | | | | | | |
Note: The events are reported in the sequence they are received. There are several circumstances where these will NOT be in chronological order. 1) Controller Supervisors are running on computers with different time settings (i.e., in different timezones). 2) A controller has been offline (in standalone mode) and is brought back online. The events are reported when the controller comes back online but occurred at an earlier time.
Summary of Command Functional Capabilities The commands are shown in the following table. The ADD,UPDATE and DELETE commands will add or delete data from specified tables. The APPLY command will cause the Isonas system to put the changed database into effect. Command ! or REMARK ADD/DELETE ADD/DELETE ADD/DELETE ISONAS Security Systems 303-567-6516
Data ignored Supervisor name Connection (IP address) Door www.ISONAS.com
18
Table SERVERS SUBNETS DOORS 4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
ADD/DELETE ADDDOOR/DELETEDOOR ADD/DELETE ADD/DELETE ADD/UPDATE/DELETE ADD/DELETE ADD/UPDATE/DELETE ADD/DELETE ADD/DELETE ADMIT APPLY CLEAR ALARMS DELETE DELETE DELETE LOCKDOWN PRESENTBADGE QUEUE EMAIL QUEUE SCRIPT QUERY
SETHOSTOVERRIDE RESETNORMAL SETLOCAL SET IOMODULE SETLOGGING SET TTL UNLOCK UPDATE IDFILEIMAGES
ISONAS Security Systems 303-567-6516
DoorGroupName DoorGroup, DoorName Group Name Holiday Person Person Badge Shift name Group/Shift/Door Door name Full or Incremental Alarms All permissions for a GROUP All permissions for a SHIFT All permissions for a DOOR Door Name Door Name Script Name ALL DOORS DOOR doorname ALL DOORGROUPS DOORGROUP ALL GROUPNAMES GROUP groupname ALL GROUPS ALL SHIFTS SHIFT shiftname ALL HOLIDAYS ALL IDFILE IDFILE uniqueId IDFILE IMAGES ALL BADGES BADGE badgeid BADGE uniqueid PERMISSIONS HISTORY ALL IOMODULES IOMODULE STATUS Door Name Door Name Door Name IOMODULE Door Name Door Name Person, Image Files
www.ISONAS.com
19
DOORGROUP DOORGROUP GROUPNAME HOLIDAYS IDFILE GROUPS BADGES SHIFTS PERMISSION (none) PERMISSION ALARMS PERMISSION PERMISSION PERMISSION (none) (none) (none) SCRIPTS DOORS DOORS DOORGROUPS DOORS GROUPNAMES GROUPS GROUPS SHIFTS SHIFTS HOLIDAYS IDFILE IDFILE BADGES BADGES BADGES RIGHTS HISTORY IOMODULES IOMODULES (none) (none) (none) (none) IOMODULES (none) DOORS (none) PICDB
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Format/Syntax The commands sent to the INRServ server are Ascii strings consisting of angle bracket () enclosed tokens. The first token is the Command. There are additional required and optional tokens following based on the specific command. All fields are case sensitive. Fields shown just with < .. > are required. | in the field definition indicates a choice. Fields shown in [ … ] are optional, but the syntax is position dependant. Therefore, you may leave off all trailing optional fields but must provide all fields up to the last one with valid data in it. Leading or trailing blanks in any field are ignored. Uppercase values are keywords which must be entered exactly as shown. Lower case values are variable data. Commands sent to the INRServ process must be terminated by a vertical bar character “|”. You may send multiple commands in a single tcp/ip message, up to a maximum total of 4096 characters. One “odd” behavior that you may encounter is associated with some of the QUERY commands. Most of the QUERY commands simply retrieve information from the database but several of them send requests to other processes (CSUP or IOSUP) and wait for responses before sending a response back to the TCP/IP interface client. If multiple commands are entered with the same TCP/IP message you may see the responses in a different order than the commands. Every command sent to the interface will produce a response message of some sort. The possibilities include: • An error message • The requested data (for a QUERY) • An | message for commands that have been executed. All messages received from the INRServ will start with and will also be terminated by the vertical bar. If the command is rejected or causes an error, a response indicating the type of error will be sent back by the interface. The responses to the QUERY command are documented under the QUERY command below.
Command parameter validation restrictions Parameter Name allareaflag appliestoflag area authoritylevel badgenumber badgepinflag clientId countlimitedflag credentialguid datestring debugmode ISONAS Security Systems 303-567-6516
Length Min/Max
Numeric
1/1 1/1 1/20 1/1 1/10 1/1 1/20 1/1 38 1/10 1/1
Y Y
Special
Y Y Y Y Y Y www.ISONAS.com
20
Note 5 Note 2 4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
doordescription doordirection doorgroup doormodel doorname doorsubaddress dualauthentication email address endtime expirationflag firstname grouparea groupname groupname holidayflag holidayname idstring incrementalfullnetworkflag ioindex lastname middleinitial modeflag modulename password permissiongroupname port register remaininguses reset32 script name selectionmask shiftname ssn starttime subnet supervisorId supervisorname time ttln user1 - user20 ISONAS Security Systems 303-567-6516
1/30 1/1 1/20 1/20 1/20 1/3 1/1 3/255 1/7 1/1 1/10 1/20 1/20 1/20 1/1 1/20 1/15 1/1 ½ 1/20 1/1 1/1 1/20 1/22 1/20 1/5 1/32 1/6 1/32 1/20 1/32 1/20 1/9 1/7 4/15 2/2 1/20 1/7-8 1 1/25
Y
Y Y Note 4 Y Y
Y
Y
Y
Y Y Y
Y Y Y Y
Note 1
Y Y
Note 3 1 or 2
www.ISONAS.com
21
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
validflag
1/1
Y
Note 1 - where comport is “COM” followed by, up to 3 digits (max numeric value of 254) or for an IP address with 4 octets separated by a period (“.”), each octet up to 3 digits (max value of 254). Note 2 - where the date is in the format of mm/dd/yyyy and month is 1-12, day is 1-31 depending on month and leap year. Note 3 - if value is numeric then range check is done otherwise Time is assumed to be entered in the “hh:mm:ss” format where hh is 0-23, mm is 0-59 and ss is 0-59. Note 4 – must be a valid email address format Note 5 – must be in the standard GUID format: {00000000-0000-0000-0000-000000000000}
COMMENTS Description: This command is ignored by the INRServ TCP/IP interface processor and Script interface processor, but is useful when developing script files. It provides the script author a method of commenting the script contents for maintainability.
Syntax: or
comments to annotate scripts. The rest of the data is ignored.
SUPERVISOR Description: These commands allow for the maintenance of controller supervisors (CSUP) with the Access Control System.
Syntax: | | supervisor id
supervisor name port
ISONAS Security Systems 303-567-6516
2 alphanumeric characters – the two character combination must be unique within the definition of all of the CSUPs currently defined up to 20 characters – a unique name that references a particular supervisor definition/process A unique TCP/IP port assigned to the Communications Supervisor (1 – 65535)
www.ISONAS.com
22
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
23
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
CONNECTION Description: This command allows for the maintenance of IP or comm. port connections to readers/doors from the specified controller supervisor.
Syntax: | | supervisor id The id of a previously defined supervisor subnet a comm port or an IP address (e.g., COM3 or 192.168.0.143) (COMxx where xx is a comm. port range of 1-99)
Response: | [error detail]|
DOORS Description: These commands are used to define the reader controller.
Syntax: [] [][][][] [][][][][][][] [][][][][] [][][][] [][][][][] [][][][][] [][][][] [][][][][] [][]| |
supervisorid subnet doorname doorsubaddress doormodel area doordescription ISONAS Security Systems 303-567-6516
The id of a previously defined supervisor a comm port or an IP address (e.g., COM3 or 192.168.0.143) (COMxx where xx is a comm. port range of 1-99) a Unique Door name to reference the door subaddress (always = 1 for IP and Wireless IP units)(1-254) PRC-001B , PRC-001 , dPRC-001 , KTP-Keypad , RC-01 , RC-02 Defaults to COMMON if not given Free-form description of the door www.ISONAS.com
24
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
doordirection authoritylevel dualauthentication
port iogroup networktimeout clearalarm latchinterval
doormode admitmode rejectmode rexinput auxinput unauthopenalarm unauthopendelay extendedopenalarm extendeopentimeout tamperalarm tampercount locallatchinterval localrexttl2 localunauthopenttl2 localtamperttl1 localbeep localbeepaccept localauxinput localaddcard localvoidcard localvoidallcard locallockdown localunlockcard localnormalcard serialmode serialpassthrudevice ISONAS Security Systems 303-567-6516
0 unspecified | 1 in | 2 out | 3 in/out (see Isonas Ref Manual) 0 | 1 | 2 | 3 (authority level to control door from the Monitor program) 0 | 1 | 2 | 3 ( dual authentication: 0=Off, 1=Any Two, 2=Same Person, 3=Different Person) 1-65535, Default 10001 Default blank 0-255 secs, Default=20 if DoorMode is Host, 0 if DoorMode is Local 0-1 0=Do not Clear, 1=Clear, default= 0 0-255 secs, default = 3 0=Host, 1=Local, 2=Standalone, 3=Disable. Default is 0. Host or Standalone will default Network Timeout to 20 if not explicitly specified. Local will default Network Timeout to 0 (will override specified value). Valid values BEEP, TTL1, TTL2, WOUNLATCH. Default is blank. (Multiple entries separated by “,”) Valid values BEEP, TTL1, TTL2. Default is blank. Valid values REXUNLATCH, REXWOUNLATCH, REXALARM, or REXLOCKDOWN. Default is disabled (no entry). Valid values AUXUNLATCH, AUXWOUNLATCH, AUXALARM, or AUXLOCKDOWN. Default is disabled (no entry). Valid values BEEP, TTL1, TTL2 or DISABLE. Default Enabled 0-65535 secs. Default = 0 Valid values BEEP, TTL1, TTL2 or DISABLE. Default Enabled 0-65535 secs. Default = 0 Valid values BEEP, TTL1, TTL2 or DISABLE. Default Enabled 0-255. Default = 0 0-255 secs. Default = 3 Values 0-1. Where 0=Disabled, 1=Enabled. Default is Disabled. Values 0-1. Where 0=Disabled, 1=Enabled. Default is Disabled. Values 0-1. Where 0=Disabled, 1=Enabled. Default is Disabled. Valid values REX, TAMPER or REJECT. (Multiple entries separated by “,”). Default is REJECT. Valid values SHORT or LONG. SHORT is for a short beep and LONG is for a long beep. Default is no beeping on Accept Valid values AUTHACCESS, TTL1 or TTL2. Default is disabled. 0-4294967295. Default is 0 (zero) 0-4294967295. Default is 0 (zero) 0-4294967295. Default is 0 (zero) 0-4294967295. Default is 0 (zero) 0-4294967295. Default is 0 (zero) 0-4294967295. Default is 0 (zero) Valid values LOCAL, KEYPADSILENT, KEYPADBEEP, BITMASK, DATAMANGLE, or PASSTHROUGH. Default is Disabled. Valid values ASCII, ASCIIHEX or BINARY. Default is blank. www.ISONAS.com
25
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
seriallength serialtimeout serialstart1 serialstart2 serialend1 serialend2
Values 0, 1-64, or 255. Values 0 and 255 represent a variable length serial value. Value 1-64 represent a fixed length of that value. Default is 0 (zero). 0-255 (represents a timeframe of 1/16 of a second). Values of 0 and 255 represents no timeout (disabled). Default is 0 (zero). 0-255. Default is 255. 0-255. This value will be overridden with 255 if “serialstart1” is set to 255. A value of 255 represents a non-entry value. Default is 255. 0-255. Default is 255. 0-255. This value will be overridden with 255 if “serialstart1” is set to 255. A value of 255 represents a non-entry value. Default is 255.
Response: | [error detail]|
DOORGROUP Description: These commands are used to define the DoorGroup.
Syntax: [] | | doorgroupname area
a unique name of a doorgroup a name of an area
Response: | [error detail]|
DOORGROUPMEMBER Description: These commands manage the names doors that are assigned to doorgroups.
Syntax: | | doorgroupname a unique name of a doorgroup doorname a unique name of an door ISONAS Security Systems 303-567-6516
www.ISONAS.com
26
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Response: | [error detail]|
GROUPNAME Description: These commands manage the definition of names of groups that people are assigned to.
Syntax: []| []| groupname a unique name of a group that people will be assigned to area Defaults to COMMON if not given.
Response: | [error detail]|
HOLIDAYS Description: Defines a particular day of the year to be a holiday.
Syntax: [][]| | holidayname a unique name of a holiday holidaydate the date of the holiday in the format of mm/dd/yyyy area Defaults to COMMON if not given allareaflag 0 | 1 does not | does apply to all areas. Defaults to 0
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
27
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
IDFILE Description: These commands manage the definition of people within the application
Syntax: [][][][] [] []…. []| | [][][][][] [][]…. []| Note: 1) UPDATE applies changes to the record with the matching id string value. 2) If you want to omit a field you must still supply the characters if want to update a subsequent field 3) If you specify two double quotes as the updatevalue for a field it will be cleared. For example | Would clear the last name of the person with id string “a123”, leaving other fields unchanged. lastname firstname middleinitial idstring area
ssn user1-20
the last name of the person the first name of the person the middle initial of the person the unique id of the person (cannot be duplicated) The area assigned to the person as a global grouping of entities in the Access Control System, like, doors, people, shifts, people groups, etc. Generally, thought of in terms grouping by geographical area the social security number of the person there are up to 20 user defined fields that can be assigned a text value
Response: | [error detail]|
IDFILE Image Files Description: This command manages the definition image files (pictures) assigned to people. There can be up to 9 image files assigned to each person. The person must be defined before image files can be assigned.
ISONAS Security Systems 303-567-6516
www.ISONAS.com
28
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Syntax: [][][] [][][][][][| Note: 1) UPDATE applies changes to the record with the matching id string value. 2) If you want to omit a field you must still supply the characters if want to update a subsequent field – Skips update of field value. 3) If you specify two double quotes as the updatevalue for a field it will be cleared. For example | Would clear the definition of the first image file name field, skip updates to the next two image file name fields and updates the fourth image file name field with “ImageFile4”. idstring ImageFile1-9
the unique id of the person there are up to 9 image files that can be assigned to a person. The first image file (ImageFile1) is assigned to image file index 1 in the Crystal Administrator image file for the person. The second image file is index 2, and so on. (Length is 80)
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
29
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
GROUPS Description: These commands manage the assignment of people to groups
Syntax: | | idstring the unique of the person to be assigned to the specified group name groupname the name of the group to which the person will be assigned to
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
30
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
BADGES Description: These commands manage the assignments of badge ids/credentials to people.
Syntax: [][] [][][][]| | [][][] [][]| idstring the unique idstring of the person to be assigned the badge number/credential badgenumber a unique badge number/credential id (1 - 4294967295) count limited specifies whether a badge number/credential has a limited number of uses; 0|1 for not count limited|count limited remaining uses the number of uses remaining if count limited is specified (0 999999) expiration flag indicates whether the badge number/credential will expire on a specified date; 0|1 , does not|does expire expiration date mm/dd/yyyy if expires; if expire flag is specified and this date is not specified (blank), the badge number/credential will expire now badgepinflag 0-7 The bits of this field have the following meanings when ‘on’: Bit 1 - badgenumber is valid when read as a badge (Default) 2 - badgenumber is valid when read from the integrated keypad 3 - badgenumber is valid when read from the serial comm. port guid The guid associated with the badgenumber in the following format: {00000000-0000-0000-0000-00000000000}
Response: | [error detail]|
GUIDs Associated with BADGES Description: These commands manage badge assignments by referencing their associated guid.
Syntax: | [][][] [][][]| guid The guid associated with the badgenumber in the following ISONAS Security Systems 303-567-6516
www.ISONAS.com
31
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
count limited remaining uses expiration flag expiration date
badgepinflag
badgenumber
format: {00000000-0000-0000-0000-00000000000} specifies whether a badge number/credential has a limited number of uses; 0|1 for not count limited|count limited the number of uses remaining if count limited is specified (0 999999) indicates whether the badge number/credential will expire on a specified date; 0|1 , does not|does expire mm/dd/yyyy if expires; if expire flag is specified and this date is not specified (blank), the badge number/credential will expire now 0-7 The bits of this field have the following meanings when ‘on’: Bit 1 - badgenumber is valid when read as a badge (Default) 2 - badgenumber is valid when read from the integrated keypad 3 - badgenumber is valid when read from the serial comm. port a unique badge number/credential id (1 - 4294967295)
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
32
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
SHIFTS Description: These commands define the time ranges in which groups of people will be valid for an admit at a door
Syntax: < validflag for Monday> < validflag for Tuesday> < validflag for Wednesday> < validflag for Thursday> < validflag for Friday> < validflag for Saturday>| | shiftname a unique name of a shift holidayflag 1 | 2 | 3 (normal only | holiday only | both) area area name validflag indicates whether the day of the week is valid/active for the shift; 0|1 invalid|valid starttime 1 + hundredths of a second since midnight (e.g. 2880001 = 8am) (range 1-8640000) endtime 1 + hundredths of a second since midnight (range 1-8640000)
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
33
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
PERMISSION Description: These commands mange the definitions of permissions or rules at doors.
Syntax: []| | | | | Note: Door Names and Door Group Names must be unique within the system. Groupname the name of the group to which the people are assigned to that will be valid at time door/door group shiftname the unique name of a shift (timeframe) that the group of people will be valid at the door/door group doorname or doorgroup the name of a door or door group that the group of people within the specified shift (timeframe) will be admitted through modeflag 0 normal 1 lockdown 2 unlocked 3 unlocked badge appliestoflag 0 both 1 network 2 standalone permissiongroupname the name of a permission group that this permission will be assigned to
Response: | [error detail]|
PERMISSIONGROUP Description: These commands mange the definitions of permission groups.
Syntax: [ ]| | permissionroupname the name of the permission group startdate mm/dd/yyyy The earliest date at which the permissions in this ISONAS Security Systems 303-567-6516
www.ISONAS.com
34
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Enddate
group will be valid. If the start and end dates are not specified, the permissions are always valid mm/dd/yyyy The latest date at which the permissions in this group will be valid
APPLY Description: This command will “compile” and put into effect the permissions/rules defined. These permissions determine who has access through what doors and at what time. The “compile” process builds this information so that credentials can be validated when presented to the readers.
Syntax: []| []| compiletype scopeidentifier
0 | 1 | 2 | 3 | 4 | 5 | 6 | 13 for incremental | full | network | partial door | partial doorgroup | partial person | partial area | resend The name of an item that limits the scope of the compile
0 - Incremental compile – sends only change information to the controllers. The scope is the complete database. 1 - Full compile – tells the controllers to delete the local database and sends out the complete replacement database. The scope is the complete database. 2 - Network only compile – does not update the database in the controllers. The scope is the complete database. 3 - Partial compile – scope is limited to the door specified by scopeidentifier == doorname. 4 – Partial compile – scope is limited to the specified doorgroup specified by scopeidentifier == doorgroup 5 – Partial compile – scope is limited to the person specified by scopeidentifier == personuniqueid. 6 – Partial compile – scope is limited to the area specified by scopeidentifier == areaname. 13 – Resend – will resend the complete local database to a specified reader controller scopeidentifier== doorname The network compile option is provided for those cases where sending the standalone data to the controllers causes too much disruption of real time operations. The strategy is then to defer sending until a more convenient “quiet” time, at which either an incremental or full compile is done. Incremental and Full compile options always compile the entire database, the difference between them is only in what information is sent to the reader controllers. A Full compile sends everything. An incremental compile sends only changes. The system will only allow one compilation to be active at any time. If the compile is rejected because of another compile in process, it will be queued for automatic execution if the QUE form of the command has been given. The system prevents compilation if a previous compilation is still in process. Error 203 is returned if an Apply is attempted while another compilation has not finished. The Apply Que command will add the requested compilation to a queue of compilations which will be started automatically when the system is no longer busy/locked by a previous compilation. The meaning of the parameters is the same as for Apply. ISONAS Security Systems 303-567-6516
www.ISONAS.com
35
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
The ApplyQue command can always be used. If no compilation is currently underway, the current compilation will be started immediately. The disadvantage of using Apply Que is that if any compilation error or warning messages are generated they will NOT be returned to the calling program. The two architectures that may be used for compilation are: • Use Apply. Try a compilation and if an error 203 is returned, try again later. If 203 is not returned, the return shows any errors or warnings. • Use Apply Que. Error 203 is never returned. The compile will be done as soon as the system becomes available. Errors or warnings will not be returned to the calling application.
Response: | [error detail]|
ADMIT Description: This command will cause the specified door to unlatch the door lock for the “latch interval’ defined for that door and then relatch it at the end of the interval
Syntax: | doorname
unique name of the door that the “admit” will be applied to
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
36
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
UNLOCK Description: This command will cause the specified door to unlatch and remain unlatched until another command or action causes the door to change its state
Syntax: []| []| doorname unique name of the door that the “unlock” will be applied to doorgroup unique name of a door group.. all members will be unlocked If the optional parameter is specified, the lockdown will be “permanent”. It will stay in effect until it is explicitly overridden by a command to reset the door to normal mode of operation. The permanent state will ignore programmed changes to the door state which would be caused by the beginning or end of an automatic unlock shift, a badge unlock shift, or a scheduled event. Note: If a reader controller is operating in LOCAL mode and it receives an UNLOCK command it will be forced into HOST mode. Note: If one or more members of a door group can not be reached because the CSUP is not running or can not be modified because of authorization failure, they will not be modified and NO ERROR MESSAGE will be returned.
Response: | [error detail]|
LOCKDOWN Description: This command will cause the specified door to lock and remain locked until commanded to change its state
Syntax: []| []| doorname doorgroup
unique name of the door that the “lockdown” will be applied to unique name of a door group.. all members will be unlocked
If the optional parameter is specified, the lockdown will be “permanent”. It will stay in effect until it is explicitly overridden by a command to reset the door to normal mode of operation. The permanent state will ignore programmed changes to the door state which would be caused by the beginning or end of an automatic unlock shift, a badge unlock shift, or a scheduled event. ISONAS Security Systems 303-567-6516
www.ISONAS.com
37
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Note: If a reader controller is operating in LOCAL mode and it receives an LOCKDOWN command it will be forced into HOST mode for the duration of the lockdown. Note: If a reader controller is operating in LOCAL mode and it receives an UNLOCK command it will be forced into HOST mode. Note: If one or more members of a door group can not be reached because the CSUP is not running or can not be modified because of authorization failure, they will not be modified and NO ERROR MESSAGE will be returned.
Response: | [error detail]|
RESETNORMAL Description: This command will cause the specified door to resume its normal programmed operation in either Local or Host mode. Local and permanent overrides are reset. NOTE 1: In both Local and Host mode, if the door is in a Badge Unlock permission time, it will be latched even if an unlocking badge had previously been presented. NOTE 2: In Local mode, if the door is in an automatic Unlock permission shift, the door will unlock. In Host mode, the door will be locked until the next event that changes it’s condition. (A compile, CSUP restart or the beginning of a new Unlock permission shift.
Syntax: []| []| doorname doorgroup
unique name of the door to be reset to normal condition unique name of the door group.. all members will be set normal
The optional PERM modifier does not affect the operation of the command.
Response: | [error detail]|
SETHOSTOVERRIDE Description: This command will cause the specified door to go into Host mode with the override flag set. The door will be in a normal (latched) state and will admit valid credentials when presented.
Syntax: []| ISONAS Security Systems 303-567-6516 www.ISONAS.com
38
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
< SETHOSTOVERRIDE> []| doorname doorgroup
unique name of the door to be reset to normal condition unique name of the door group.. all members will be set normal
If the optional parameter is specified, the override will be “permanent”. It will stay in effect until it is explicitly overridden by a command to reset the door to normal mode of operation. The permanent state will ignore programmed changes to the door state which would be caused by the beginning or end of an automatic unlock shift, a badge unlock shift, or a scheduled event.
Response: | [error detail]|
SETLOCAL Description: This command will cause set the controller back to LOCAL mode operation if it is programmed to run in LOCAL mode but has been put into HOST mode by a manual operation (UNLOCK, LOCKDOWN). If the door is programmed to run in HOST mode and receives a SETLOCAL command it treats it as a RESETNORMAL command.
Syntax: | doorname doorgroup
unique name of the door to which the “setlocal” will be applied unique name of the door group.. all members will be set local
Response: | [error detail]|
PRESENTBADGE Description: This command will simulate a physical badge/credential presentation at the specified door. This is only effective with reader controllers running in HOST mode.
Syntax: | doorname unique name of the door that the “admit” will be applied to badgenumber a unique badge number/credential id that will simulate a physical badge/credential presentation at the door (1 4294967295) ISONAS Security Systems 4720 Walnut St, Suite 200 303-567-6516 www.ISONAS.com Boulder, CO. 80301 USA
39
Response: | [error detail]|
PRESENTGUID Description: This command will simulate a physical badge/credential presentation at the specified door. This is only effective with reader controllers running in HOST mode.
Syntax: | doorname unique name of the door that the “admit” will be applied to guid The guid associated with the badge number in the following format: {00000000-0000-0000-0000-00000000000}
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
40
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
QUEUE EMAIL Description: The QUEUE EMAIL command will queue up an email to be sent to the specified email address(es).
Syntax: [][]…[email_text]]] | Where: email_address is an email address or a list of email addresses separated by commas or semicolons. (maximum length is 8192 characters) delay is the number of seconds to wait before sending the email. After waiting for the delay, the system will send the email and will combine the text from any additional emails to the same address or address list (see limitation below) into a single email. email_subject Is the subject line that will be put on the email email_text The body of the email will contain the paragraphs of text specified. The maximum size for each paragraph is 1024 characters. There is a reserved token available when this command is being sent from the Script processor to the TCP/IP interface. The token may be used in place of either the or token. This token will be replaced by the date, time and explanation for the event that caused the Script processor to run the script. For example:
[email protected]| In a script that is set to run whenever a door alarm event occurs will send an email (after waiting for 10 seconds). The email will be sent to the email address
[email protected] and the content will be text with the date, time, door and type of alarm that occurred. If more than one alarm occurs before the message is sent, the email will have multiple paragraphs of text, one for each alarm. Limitation: For emails to be combined into a single email, the address list must be identical in both order and content. If they are not identical, the emails will be sent separately even if a given email address appears in both address lists.
Response: if the email is successfully queued for transmission [error detail]| Note: the ACK response only indicates that the email has been successfully queued for transmission, not that it has been successfully sent. If an email can not be successfully sent, the error will be recorded in the designated logfile for the TCP/IP interface.
ISONAS Security Systems 303-567-6516
www.ISONAS.com
41
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
QUERY Description: The Query commands will retrieve detail information about the specified entity type. Some of these command will return multiple response messages and with the final message transmission signifying the completion of the response to the query.
BADGE
Description: Retrieves a list of all of the badges and pin codes assigned to a specified person.
Syntax: |
Response: [error detail]| The query badge command will produce a series of zero or more records containing the badges assigned to the specified individual, followed by an record as shown below. | Where badgeid idstring guid
is the badgeid is one the uniqueid of the specified person The guid associated with the badge id in the following format: {00000000-0000-0000-0000-00000000000}
|
ALL DOORS
Description: Retrieves a list of all of the doors within the application with their current states
Syntax: |
Response: [error detail]| | Where doorstatus is one of || doormode is one of ISONAS Security Systems 303-567-6516
www.ISONAS.com
42
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
alarmstatus
doorarea
These fields will be present only if the door is in an active alarm state. The fields will be any of: The status will be reported for if the controller supervisor is not running/connected for the door. is the AREA to which the door belongs
| The query of all doors will generate a series of responses (above DOORSTATUS), one for each door in the database. After all the door status records have been retrieved, the “END DOORSTATUS” response message will be issued.
ISONAS Security Systems 303-567-6516
www.ISONAS.com
43
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
DOORS
Description: Retrieves the current state of the specified door
Syntax: | doorname the unique door name to retrieve the current state for
Response: [error detail]| | doorstatus is one of || doormode is one of alarmstatus These fields will be present only if the door is in an active alarm state. The fields will be any of: The status will be reported for if the controller supervisor is not running/connected for the door. doorarea is the AREA to which the door belongs
ISONAS Security Systems 303-567-6516
www.ISONAS.com
44
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
ALL DOORGROUPS
Description: This retrieves a list of all door groups defined in the application
Syntax: |
Response: [error detail]| The query of all door groups will produce a series of records, each containing the name of one door group, followed by a termination record as shown below: | | doorgroup the unique door group name . The query of all door groups will generate a series of responses (above DOORGROUPS), one for each door group in the database. After all the door group records have been retrieved, the “END DOORGROUPS” response message will be issued
DOORGROUP
Description: This retrieves the list of doors assigned to a specified door group
Syntax: | doorgroup the unique door group name
Response: [error detail]| The query of a door group will produce a series of records, each containing the name of a door that is a member of the door group, followed by a termination record as shown below: | | doorgroup the unique door group name doorname The unique door name assigned to the specified door group . The query of the door group’s member list will generate a series of responses (above DOORGROUP), one for each door group in the database. After all the door group member records have been retrieved, the “END DOORGROUP” response message will be issued ISONAS Security Systems 303-567-6516
www.ISONAS.com
45
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
GROUPNAMES
Description: Retrieves a list of group names that people can be assigned to
Syntax:
Response: [error detail]| The query of all group names will generate a series of records, each containing a groupname, followed by a completion record as shown below: | | groupname a unique name of a group that people are assigned to . | The query of the door group’s member list will generate a series of responses (above ALL GROUPNAMES), one for each door group in the database. After all the door group member records have been retrieved, the “END GROUPNAMES” response message will be issued
GROUP
Description: Retrieves a list of people assigned to a specific group name or a list of groups to which a person is assigned
Syntax: | | groupname a unique name of a group that people can be assigned to Idstring a unique id of a person
Response: [error detail]| Either query of a people group will produce a series of records, each containing the idstring/’uniqueid of one member of the group, followed by a completion record as shown below: | | groupname a unique name of a group that people can be assigned to idstring The unique idstring associated with a particular person (also referred to as the unique id) ISONAS Security Systems 4720 Walnut St, Suite 200 303-567-6516 www.ISONAS.com Boulder, CO. 80301 USA
46
. | The query of the people group’s member list will generate a series of responses (above GROUP), one for each people group in the database. After all the group member records have been retrieved, the “END GROUP” response message will be issued
ALL GROUPS
Description: Retrieves a list of people assigned to each group name within the application
Syntax: |
Response: [error detail]| The query of all groups will generate a series of records, each containing a groupname and a uniqueid of a member of the group, followed by a completion record as shown below: < idstring >| < idstring >| groupname a unique name of a group that people can be assigned to idstring The unique idstring associated with a particular person (also referred to as the unique id) . | The query of the all people group member lists will generate a series of responses (above ALL GROUPS), one for each people group in the database. After all the group member records have been retrieved, the “END GROUPS” response message will be issued
ALL SHIFTS
Description: Retrieves a list of all shift names defines within the application
Syntax: |
Response: [error detail]| The query of all shifts will generate a series of records, each containing a shift name, followed by a completion record as shown below: | | ISONAS Security Systems 303-567-6516
www.ISONAS.com
47
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
shiftname a unique name of a shift . | The query of the all shifts will generate a series of responses (above ALL SHIFTS), one for each shift name in the database. After all the group member records have been retrieved, the “END SHIFTS” response message will be issued
SHIFT
Description: Retrieves the definition of the specified shift
Syntax: | shiftname a unique name of a shift
Response: [error detail]| < validflag for Monday> < validflag for Tuesday> < validflag for Wednesday> < validflag for Thursday> < validflag for Friday> < validflag for Saturday> | shiftname a unique name of a shift holidayflag 1 | 2 | 3 (normal only | holiday only | both) area area name validflag indicates whether the day of the week is valid/active for the shift 0|1 invalid|valid starttime 1 + hundredths of a second since midnight (e.g. 2880001 = 8am) (range 1-8640000) endtime 1 + hundredths of a second since midnight (range 1-8640000)
ISONAS Security Systems 303-567-6516
www.ISONAS.com
48
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
ALL HOLIDAYS
Description: Retrieves a list of all the holiday names with their associated dates
Syntax: |
Response: [error detail]| The query of all holidays will produce a series of records, one for each defined holiday, followed by a completion record as shown below: | | holidayname a unique name of a shift . The query of the all holidays will generate a series of responses (above ALL HOLIDAYS), one for each holiday in the database. After all the holiday records have been retrieved, the “END HOLIDAYS” response message will be issued
ALL IDFILE
Description: Retrieves a list of all the people defined within the application
Syntax: |
Response: [error detail]| The query of all idfile will generate a series of records, each containing the idstring of one person, followed by a completion record as shown below: < idstring >| < idstring >| idstring a unique idstring for a person (unique id) . | The query of the all people will generate a series of responses (above ALL IDFILE), one for each person in the database. After all the people records have been retrieved, the “END IDFILE” response message will be issued
ISONAS Security Systems 303-567-6516
www.ISONAS.com
49
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
IDFILE
Description: Retrieves the definition of the specified person
Syntax: | idstring
a unique idstring for a person (unique id)
Response: [error detail]| The query of a uniqueid will generate the following record: […. ]| lastname the last name of the person firstname the first name of the person middleinitial the middle initial of the person idstring the unique id of the person (cannot be duplicated) area the area in which the person is assigned to ssn the social security number of the person user1-20 there are up to 20 user defined fields that can be assigned a text value
IDFILE IMAGES
Description: Retrieves a list of image file names associated to the specified person
Syntax: | idstring a unique idstring for a person (unique id)
Response: [error detail]| The query of images will generate the following record: < idstring > | file1, … , file9 the image files associated with the specified idstring(unique id)
ISONAS Security Systems 303-567-6516
www.ISONAS.com
50
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
ALL BADGES
Description: Retrieves all badge numbers defined within the application
Syntax: |
Response: [error detail]| The query of all badges will generate a series of records, each containing a badgenumber and persons idstring, followed by a completion record as shown below: < badgenumber >< idstring >< badgepinflag >| badgenumber idstring badgepinflag
guid
a unique badge number/credential id (1 - 4294967295) the unique of the person to be assigned the badge number/credential 0-7 The bits of this field have the following meanings when ‘on’ 1 - badgenumber is valid when read as a badge 2 - badgenumber is valid when read from the integrated keypad 3 - badgenumber is valid when read from the serial comm. port The guid associated with the badge number in the following format: {00000000-0000-0000-0000-00000000000}
. | The query of the all badges will generate a series of responses (above ALL BADGES), one for each badgenumber in the database. After all the badge records have been retrieved, the “END BADGES” response message will be issued
ISONAS Security Systems 303-567-6516
www.ISONAS.com
51
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
BADGE BADGEID
Description: Retrieves the assigned person and the usage of the specified badge number
Syntax: < BADGEID>< badgenumber >| badgenumber a unique badge number/credential id (1 - 4294967295)
Response: [error detail]| The query of a badge by badgenumber will produce a record containing the idstring of the person to whom the badge is assigned: < badgenumber >< idstring >< badgepinflag > | badgenumber a unique badge number/credential id (1 – 4294967295) idstring unique idstring of the person assigned the badgenumber/credential badgepinflag 0-7 The bits of this field have the following meanings when ‘on’ 1 – badgenumber is valid when read as a badge 2 – badgenumber is valid when read from the integrated keypad 3 – badgenumber is valid when read from the serial comm. port countlimitedflag 0 – not count limited 1 – count limited remaining uses the number of uses remaining expiration flag 0 – does not expire 1 - expires expiration date the expiration date guid The guid associated with the badge number in the following format: {00000000-0000-0000-0000-00000000000}
ISONAS Security Systems 303-567-6516
www.ISONAS.com
52
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
BADGE UNIQUEID
Description: Retrieves the primary badge number and usage of the specified idstring for a person
Syntax: | idstring the unique idstring of the person
Response: [error detail]| The query of a badge by idstring will produce a record containing the badgenumber assigned to the person identified by the idstring: < idstring >< badgenumber >< badgepinflag > | badgenumber a unique badge number/credential id (1 - 4294967295) idstring the unique idstring of the person to be assigned the badge id/credential badgepinflag 0-7 The bits of this field have the following meanings when ‘on’ 1 - badgenumber is valid when read as a badge 2 - badgenumber is valid when read from the integrated keypad 3 - badgenumber is valid when read from the serial comm. port countlimitedflag 0 – not count limited 1 – count limited remaining uses the number of uses remaining expiration flag 0 – does not expire 1 - expires expiration date the expiration date guid The guid associated with the badge number in the following format: {00000000-0000-0000-0000-00000000000}
ISONAS Security Systems 303-567-6516
www.ISONAS.com
53
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
BADGE GUID
Description: Retrieves the assigned person and the usage of the specified badge number
Syntax: < GUID>< guid >| guid The guid associated with the badge number in the following format: {00000000-0000-0000-0000-00000000000}
Response: [error detail]| The query of a badge by badgenumber will produce a record containing the idstring of the person to whom the badge is assigned: | guid The guid associated with the badge number in the following format: {00000000-0000-0000-0000-00000000000} badgenumber a unique badge number/credential id (1 – 4294967295) idstring unique idstring of the person assigned the badgenumber/credential badgepinflag 0-7 The bits of this field have the following meanings when ‘on’ 1 – badgenumber is valid when read as a badge 2 – badgenumber is valid when read from the integrated keypad 3 – badgenumber is valid when read from the serial comm. port countlimitedflag 0 – not count limited 1 – count limited remaining uses the number of uses remaining expiration flag 0 – does not expire 1 - expires expiration date the expiration date
ISONAS Security Systems 303-567-6516
www.ISONAS.com
54
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
PERMISSIONS
Description: Retrieves all of the defined permissions
Syntax: |
Response: ERROR>[error detail]| The query of permissions will produce a series of records, each containing a permission record, followed by a termination record as shown below: | | doormode one of NORMAL | UNLOCK BADGE | UNLOCK AUTOMATIC | LOCKDOWN groupname the name of the group to which the people are assigned to that will be valid at time door/door group shiftname the unique name of a shift (timeframe) that the group of people will be valid at the door/door group doorname or doorgroup the name of a door or door group that the group of people within the specified shift (timeframe) will be admitted through ioprofile the name of an io profile or blank if unassigned applies NETWORK|STANDALONE|BOTH | The query of the all Permissions/Rights will generate a series of responses, one for each permission/right in the database. After all the permission/right records have been retrieved, the “END PERMISSIONS” response message will be issued
ISONAS Security Systems 303-567-6516
www.ISONAS.com
55
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
HISTORY
Description: Retrieves historical records within the parameters specified within the command issued
Syntax: [][ | startdate Specifies the start date for retrieving historical records: mm/dd/yyyy starttime Specifies the start time range of the start date for retrieving historical records; either hh:mm:ss or nnnnnnn where nnnnnnn is an integer giving the number of 1/100ths of a second + 1 since midnight (i.e., 2880001 = 8:00:00 am). enddate Specifies the end date for retrieving historical records: mm/dd/yyyy – date cannot be less than the start date endtime Specifies the end time range of the end date for retrieving historical records; either hh:mm:ss or nnnnnnn where nnnnnnn is an integer giving the number of 1/100ths of a second + 1 since midnight (i.e., 2880001 = 8:00:00 am). idstring Specifies only those historical records pertaining to this person be retrieved doorname Specifies only those historical records pertaining to this door be retrieved
Response: [error detail]| The system will report the events that occurred within the specified date time interval. If a filter value has been specified for either a specific door or a specific individual, only events that match the filter value will be reported. The messages will be in the following format: [ additional data depending on the event as listed below] | The following event types are reported: | | | | | | | | 3 | | 3
The BadgeId for LOCKDOWN, UNLOCKED and NORMAL RESET will be 0 unless the event was triggered by a badge presentation. ISONAS Security Systems 4720 Walnut St, Suite 200 303-567-6516 www.ISONAS.com Boulder, CO. 80301 USA
56
| | | | | | | | | | |
doorname badgenumber Fullname idstring guid
the name of a door at which the historical event took place The badge number involved in creating the historical event The expanded name of the person associated with creating the historical event The unique idstring of the person that is assigned the badgenumber The guid associated with the badge number in the following format: {00000000-0000-0000-0000-00000000000}
The time will be reported in the same format as the request. | The query of the history will generate a series of responses (above), one for each historical event within the criteria specified in the database. After all the history records have been retrieved, the “END HISTORY” response message will be issued
ISONAS Security Systems 303-567-6516
www.ISONAS.com
57
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
IO MODULES
Description: Retrieves the definition, current connected status, current active alarm status and input and output register values of all IO Modules within the application. Note that the values for the input and output registers will only be meaningful if the IOModule is currently connected.
Syntax: |
Response: [error detail]| The query of ALL IOMODULES will produce zero or more records of the following format: | modulename The unique name of an IO Module ipaddress The IP Address assigned to the IO module port The port number that will be used to establish an IP connection on unit The specific unit number that will be managed through this ipaddress/port connection numinputpoints The number of input points available in this unit of the IO module numoutputpoints The number of output points available in this unit of the IO module pollinginterval The number of seconds between polls for retrieving input point statuses connected 0|1 for not connected|connected inputregister Unsigned 4 byte integer showing the on/off status of up to 32 input points outputregister Unsigned 4 byte integer showing the on/off status of up to 32 output points activealarm 0|1 for no active alarm|active alarm for one or more of the input or output points inputdisableflags Unsigned 4 byte integer showing the disabled/enabled status of up to 32 input points (1 = disabled, 0 = enabled) inputdisarmflags Unsigned 4 byte integer showing the disarmed/armed status of up to 32 input points (1 = disarmed, 0 = armed) outputdisableflags Unsigned 4 byte integer showing the disabled/enabled status of up to 32 output points (1 = disabled, 0 = enabled) outputdisarmflags Unsigned 4 byte integer showing the disarmed/armed status of up to 32 output points (1 = disarmed, 0 = armed) ISONAS Security Systems 303-567-6516
www.ISONAS.com
58
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
The query of the IO modules will generate a series of responses (above), one for each IO module in the database. After all the IO module records have been retrieved, the “END IOMODULES” response message will be issued
ISONAS Security Systems 303-567-6516
www.ISONAS.com
59
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
IOMODULE
Description: Retrieves information about the specified IO point for the IO Module
Syntax: | modulename The unique name of an IO Module ioindex The input or output point that information will be returned for
Response: [error detail]| The query of an IOMODULE will produce the following response: | | modulename The unique name of an IO Module ioindex The input or output point that information will be returned for label The name assigned to the particular IO point historylogflag 0=no history logging, 1=log IO point activation, 2=Log IO point deactivation, 3= log IO point activation and deactivation alarmflag 0=no alarm activation, 1=alarm activation on IO point activation, 2= alarm activation on IO point deactivation, 3= alarm activation on IO point activation and deactivation disableflag (1 = disabled, 0 = enabled) disarmflag (1 = disarmed, 0 = armed)
|
Response: [error detail]| The query of an IOMODULE will produce the following response: | modulename The unique name of an IO Module inputregister A 4 byte integer showing the on/off status of up to 32 input points outputregister A 4 byte integer showing the on/off status of up to 32 output points activealarmflag 0|1 for no active alarms |active alarm ISONAS Security Systems 303-567-6516
www.ISONAS.com
60
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
inputdisableflags outputdisableflags inputdisarmflags outputdisarmflags
Unsigned 4 byte integer showing the disabled/enabled status of up to 32 input points (1 = disabled, 0 = enabled) Unsigned 4 byte integer showing the disabled/enabled status of up to 32 output points (1 = disabled, 0 = enabled) Unsigned 4 byte integer showing the disarmed/armed status of up to 32 input points (1 = disarmed, 0 = armed) Unsigned 4 byte integer showing the disarmed/armed status of up to 32 output points (1 = disarmed, 0 = armed)
| This query will produce a zero or more responses of the following form: [ or ] | modulename The unique name of an IO Module ioindex The input or output point that information will be returned for label The name assigned to the particular IO point historylogflag 0=no history logging, 1=log IO point activation, 2=Log IO point deactivation, 3= log IO point activation and deactivation alarmflag 0=no alarm activation, 1=alarm activation on IO point activation, 2= alarm activation on IO point deactivation, 3= alarm activation on IO point activation and deactivation pointstatus 0 | 1 showing the current value of the I/O point activealarmflag 0 | 1 for no active alarm | active alarm disableflag 0 | 1 for enabled | disabled disarmflag 0 | 1 for armed | disarmed
The input points will be listed first, followed by the output points. The final record will be: < END IOMODULE>
STATUS
Description: Retrieve the status of all of the controller supervisors and IO supervisors
Syntax: |
Response: The query status will produce zero or more records of the following format: [error detail]| |
ISONAS Security Systems 303-567-6516
www.ISONAS.com
61
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
| csupname hostname ipaddress number_controllers max_controllers number_IOSupervisors max_IOSupervisors number_stacked_commands
error_count
The unique name of a controller supervisor The name of the host computer where the csup is running The default IP address of the PC/Server the CSUP is running on The number of readers currently connected to and communicating with The number of readers this CSUP should be connected to and communicating with The number of IO Supervisors currently connected to and communicating with The number of IO Supervisors this CSUP should be connected to and communicating with a measure of the number of records waiting to be read in and processed by the reader controller. If this number is greater than 1 it typically is the standalone database of timezones and authorized badges that is being sent to the reader controllers as a result of the most recent compile of permissions.; The number of commands queued up to be sent to readers controlled by this CSUP the number of errors that have been encountered by the CSUP since the last RESET. (Note, a compile does a reset, resets can be manually invoked from the CSUP screen, and a reset will be done every Saturday at midnight.)
| | iosupname hostname ipaddress number_controllers max_controllers
The unique name of an IO supervisor The name of the host computer where the iosup is running The default IP address of the PC/Server the IOSUP is running on The number of IOModules currently connected to and communicating with The number of IOModules this IOSUP should be connected to and communicating with
| The query of the status of all controller supervisors will generate a series of responses (above), one for each controller supervisor in the database. After all the controller supervisor records have been retrieved, the “END STATUS” response message will be issued
ISONAS Security Systems 303-567-6516
www.ISONAS.com
62
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
ACTIVE ALARMS
Description: Retrieve all active alarms for reader controllers and IO modules.
Syntax: |
Response: The query status will produce zero or more records of the following formats: [error detail]| | | | | | | |
The final record will be: |
CLEAR ALARMS Description: The command will clear all active alarms for a specified DOOR or for a specified point of an IOMODULE. If a door or IOModule point is specified, only the alarm(s) for the specified door or point are cleared, other active alarms are not affected. If the ALL parameter is specified, all alarms will be cleared.
Syntax: | | | ISONAS Security Systems 4720 Walnut St, Suite 200 303-567-6516 www.ISONAS.com Boulder, CO. 80301 USA
63
| |
doorname Doorgroupname iomodulename pointindex
The unique name of a door The unique name of a doorgroup The unique name of an iomodule The index of the input or output point for which all active alarms are to be cleared.
SET IOMODULE Description: The command will activate/deactivate the IO points of a particular IO module
Syntax: [[]| modulename The unique name of an IO Module selectionmask a series of bit values ( zeroes and ones) that shows which output points should be included in the set command. The rightmost bit value corresponds to output point index 1. Bit positions where the bit value is one are included. Bit positions where the bit value is zero are excluded. Register a series of bit values that identifies whether the output point should be forced on (1) or off (0). Bit values at indexes where the selection mask is zero are ignored. R1 … r32 define the reset intervals (in seconds). If less than 32 reset values are specified, the system propagates the last reset value. Values may be separated by one or more spaces. A reset value of zero causes the system NOT to reset the output point. A non zero reset value causes the system to reverse the setting after the specified number of seconds. The maximum reset value is 254. (The value 255 is used internally by the system to mean “until the end of the shift” when Output Business rules are used to set the output points. P1, … , p32 define the priorities for each individual point. If less than 32 priority values are specified, the system propagates the last priority value. Priority values must be in the range 0-255. doorname an optional field specifying a doorname. If the IO Module is a Thyssen Krupp elevator system, the doorname identifies the Data Entry Device (DED) to which the io data values should be sent For example: | This command will set output point indexes as follows: ISONAS Security Systems 303-567-6516
www.ISONAS.com
64
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
Index 1 2 3 4 5 6 7 8
Setting off off not set on on on not set on
with a reset after 10 seconds and a priority of 50 with a reset after 10 seconds and a priority of 50 with a reset after 5 seconds and a priority of 50 with a reset after 5 seconds and a priority of 50 with a reset after 200 seconds and a priority of 50 with ar reset after 200 (propagated) and a priority of 100 (propagated)
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
65
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
SETLOGGING Description: Sets debug logging on or off. If logging is on, events within the interface will be recorded to the logfile. (The name of the logfile can be set within the configuration screen.). If logging is on, the interface will also activate logging within the IADI.dll component, which is used by SNMP for some commands. This log file is named: IADILog.txt.
Syntax: | loggingvalue 0|1 for logging off|on
Response: | [error detail]|
ENABLE Description: The ENABLE command will enable IO Points for normal operation if they have previously been put into a DISABLE state.
Syntax: []| []| []| []| []|
The fields are optional. If given, they limit the operation to the specified typecode. typecode iogroupname iomodulename pointindex
The specified typecode to which to limit the operation The name of an IOGroup The name of an IOModule The index value {1 – 32] of the selected input or output point
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
66
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
DISABLE Description: The DISABLE command will disable IO Points. In the disabled state the points are ignored. Changes in the input state are not recorded or reported, and commanded changes in the output state are not carried out.
Syntax: []| []| []| []| []|
The fields are optional. If given, they limit the operation to the specified typecode. typecode iogroupname iomodulename pointindex
The specified typecode to which to limit the operation The name of an IOGroup The name of an IOModule The index value {1 – 32] of the selected input or output point
Response: | [error detail]|
ARM Description: The ARM command will ARM IO Points for normal operation if they have previously been put into a DISARMed state.
Syntax: []| []| []| []| []|
The fields are optional. If given, they limit the operation to the specified typecode. typecode ISONAS Security Systems 303-567-6516
The specified typecode to which to limit the operation www.ISONAS.com
67
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
iogroupname iomodulename pointindex
The name of an IOGroup The name of an IOModule The index value {1 – 32] of the selected input or output point
Response: | [error detail]|
DISARM Description: The DISARM command will DISARM IO Points. Changes in the input state are not recorded or reported, and commanded changes in the output state are not carried out. The system handling of DISABLEd and DISARMed points is the same. Disable is intended for relatively static conditions such as taking a point “out of the system” because it is behaving badly until it is repaired. The DISARM/ARM capability provides a convenient way to change the behavior of points based on shifts and other more dynamic events. A typical usage would be to have a motion detector which is disarmed during the day but which is armed and programmed to create an alarm condition “after hours”.
Syntax: []| []| []| []| []|
The fields are optional. If given, they limit the operation to the specified typecode. typecode iogroupname iomodulename pointindex
The specified typecode to which to limit the operation The name of an IOGroup The name of an IOModule The index value {1 – 32] of the selected input or output point
Response: | [error detail]|
ISONAS Security Systems 303-567-6516
www.ISONAS.com
68
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
SET TTL Description: The SET TTL command will set the specified TTL output line of the specified reader controller to the specified value (on or off). Note that the TTL lines are normally held at 5 volts when they are “off” and go to zero volts when they are “on”. (This causes them to go “on” if wires are cut).
Syntax: []| |
doorname resetinterval
(where n is 1 or 2)
The name of the specified reader controller An integer specifying the number of seconds after which the TTL signal will turn OFF or a time interval specified as hh:mm:ss
Response: | [error detail]|
QUEUE SCRIPT Description: The QUEUE SCRIPT command will add a specified script to a queue with a start time as specified. The start time must be in the future if it is given as an absolute time. If the script can be successfully added to the queue, the system returns a unique queue id value (an integer). That value can be used by the DEQUEUE SCRIPT command to remove the script from the queue before it is executed.
Syntax: []| |
scriptname date time interval
The name of the script to be scheduled The day specified as mm/dd/yyyy If not given, the current date is assumed The time specified as hh:mm:ss where hh is 00 to 23 A time interval specified as an integer number of seconds or as hh:mm:ss where hh is 00 to 23
Response: | Where n is a unique integer value. ISONAS Security Systems 303-567-6516
www.ISONAS.com
69
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
[error detail]|
DEQUEUE SCRIPT Description: The DEQUEUE SCRIPT command will remove a script from the queue before it is executed.
Syntax: | | | | The command will remove the specified instance of the script from the queue if the queueid value is given. It will remove the earliest instance if the keyword is specified and the latest instance if the keyword is given. If is specified, the command will remove all instances of the script. scriptname queueid
The name of the script to be removed from the queue The unique integer that was returned when the script was QUEUEd for execution
Response: | [error detail]|
Error Table INRServ will execute commands as they are received. If errors are encountered a response of the following form will be sent: [ additional information depending on the type of error encountered ] | The following error codes apply to all commands except the APPLY command: 02 Internal Error (BCOM write error – probable cause – CSUP not available) 03 Feature not yet implemented 05 Access Denied 08 Insufficient Memory 30 Entry Not Found 33 Record Not Available 35 Record Not Found 37 File Not Open 40 Creates Duplicate Key ISONAS Security Systems 303-567-6516
www.ISONAS.com
70
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
43 Record Is Already Held 75 Invalid Field Type Descriptor 101 Invalid Door Model 102 Invalid Door Direction 103 Invalid Mode 104 Invalid Applies To 105 Invalid AREA Specified 106 Invalid Door or Controller Supervisor not running 107 Invalid IOGroup name 150 Referential Integrity Violation 200 Authorization Failure – not authorized 201 IOSUP is not running 202 Internal error – see compile log file for details 203 APPLY locked out – another process has started a compile 204 IOSUP not connected 205 IOMulticlient send error 210 Could not delete item – referential integrity constraint (item is referenced from another database table) 211 Could not delete Supervisor because it is defined to run as a Windows Service 212 Invalid Script name 213 Could not remove specified Script from the Queue 214 Invalid date range The APPLY command can have multiple warnings and/or errors occur. The error return is a one byte field with bits set to show if any of the error or warnings have been encountered. A zero return indicates no errors or warnings were encountered. The bits have the following meaning, with bit 1 as the low order (00000001) bit: Bit 1 could not find person in group Bit 2 could not find shift Bit 3 could not find door or server Bit 4 could not find periodic action Bit 5 reader controller left in unusual state at the end of the day. May cause inconsistent or incorrect behavior when the next day has a different holiday status. Bit 6 illegal shift overlap for special shifts Bit 7 exceeded maximum timezones or badge count or a badge has an illegal pin code Bit 8 internal error – see compile log file for details A recommended technique if these errors are encountered is to use the Isonas Administrative program and do a full compile of the same permissions table. Additional error information will be output in that environment to pinpoint the cause of the error.
ISONAS Security Systems 303-567-6516
www.ISONAS.com
71
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
APPENDIX A – AES Encryption Library A dll library that provides “C” callable entry points that perform AES encryption and decryption is located in the ISONAS installation directory: cbx_enc_2_0.dll Here are the constants and entry points for the library: #define ENC_MODE_CFB1 #define ENC_TYPE_AES #define ENC_SUCCESS #define BAD_KEY_MAT #define BAD_CIPHER_MODE #define BAD_CIPHER_STATE #define BAD_INPUT_LEN #define BAD_PARAMS #define BAD_IV_MAT #define BAD_ALIGN32 #define ENC_ERR_NOMEM #define ENC_ENCRYPT_ERR #define ENC_DECRYPT_ERR #define ENC_NO_INIT_VEC #define ENC_FATAL_ERROR // from WinSock.h; #define SOCKET_ERROR int__cdecl VC_Init( int char char int int PVOID );
mode, *initVector, *key, keyLength, encryptiontype, *ptrHandle
3 2 0 -2 -4 -5 -6 -7 -8 -10 -12 -13 -14 -16 -17
// Use CFB1 mode // Use AES cipher // Function returns OK // Key Length Error // Unsupported cipher // Invalid cipher parameters // Invalid array lengths // Invalid parameter // Invalid Init vector // Alignment error // No memory available // Encryption error // Decryption error // Did not receive Init vector // Unrecoverable error
-1
// use ENC_MODE_CFB1 // 16 byte initialization vector // 64 byte cstring specifying 32 byte key // == 256 – length in bits // use ENC_TYPE_AES // handle returned for input to other functions
Return values: BAD_KEY_MAT BAD_PARAMS ENC_ERR_NOMEM ENC_FATAL_ERROR ENC_SUCCESS int_cdecl VC_Encrypt( PVOID handle, char *initVector, char *plainText, char *cipherText, int *textLen ); Return values: ISONAS Security Systems 303-567-6516
www.ISONAS.com
72
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA
BAD_PARAMS BAD_INPUT_LEN BAD_CIPHER_STATE BAD_ALIGN32 ENC_FATAL_ERROR ENC_SUCCESS int_cdecl VC_Decrypt( PVOID handle, char *initVector, char *cipherText, char *plainText, int *textLen ); Return values: BAD_PARAMS BAD_INPUT_LEN BAD_CIPHER_STATE BAD_ALIGN32 ENC_FATAL_ERROR ENC_SUCCESS
LOGON Process with encryption enabled When the client program connects to the server, the server will immediately send the following message back to the client in plain text: | The client should then send a 16 byte encryption initialization vector to the server, followed by the encrypted logon message as described earlier in this document.
ISONAS Security Systems 303-567-6516
www.ISONAS.com
73
4720 Walnut St, Suite 200 Boulder, CO. 80301 USA