Eli Fulkerson .com HomeProjectsLibrarystuff
 

Library Stuff

Integrated Library System Utilities - SIP2 and API

Console utilities to interact with SIP2 and API servers, which are used for data interchange between library (as in, sssh, you're in a library) systems. SIP2 is "Standard Interchange Protocol Version 2.00" "API" is a shameless appropriation of the general acronym API that Innovative Interfaces Inc used to name their API.

In brief, they are used to access customer data and move books around.

I've cut out a lot of information from the examples, since these utilities largely output private data.

Source is offered under the GPL. Its pretty messy for the .exe's, I never got around to doing any cleanup past bare functionality.

sip2talk.exe


Listing directory https://download.elifulkerson.com/files/librarystuff/sip2talk/0.2/: sip2talk-src.zip January 31 2018 03:14:17 10618 Zip archive data, at least v2.0 to extract sip2talk-src.zip.asc January 31 2018 03:17:46 801 GnuPG signature sip2talk-src.zip.md5 January 31 2018 03:17:46 51 MD5 checksum sip2talk-src.zip.sha1 January 31 2018 03:17:46 59 SHA1 checksum sip2talk-src.zip.sha256 January 31 2018 03:17:46 83 SHA256 checksum sip2talk-src.zip.sha512 January 31 2018 03:17:46 147 SHA512 checksum sip2talk.exe January 31 2018 03:12:44 192000 PE32 executable (console) Intel 80386, for MS Windows sip2talk.exe.asc January 31 2018 03:17:28 801 GnuPG signature sip2talk.exe.md5 January 31 2018 03:17:28 47 MD5 checksum sip2talk.exe.sha1 January 31 2018 03:17:28 55 SHA1 checksum sip2talk.exe.sha256 January 31 2018 03:17:28 79 SHA256 checksum sip2talk.exe.sha512 January 31 2018 03:17:28 143 SHA512 checksum sip2talk.py January 31 2018 03:02:15 2640 Python script, ASCII text executable sip2talk.py.asc January 31 2018 03:17:37 801 GnuPG signature sip2talk.py.md5 January 31 2018 03:17:37 46 MD5 checksum sip2talk.py.sha1 January 31 2018 03:17:37 54 SHA1 checksum sip2talk.py.sha256 January 31 2018 03:17:37 78 SHA256 checksum sip2talk.py.sha512 January 31 2018 03:17:37 142 SHA512 checksumBrowse the download server

sip2talk.exe is a command line utility that performs a Patron Information Request against a specified SIP2 server.

C:\sip2talk.exe
--------------------------------------------------------------
sip2talk.exe by Eli Fulkerson
Please see http://www.elifulkerson.com/projects/ for updates.
--------------------------------------------------------------
Usage: sip2talk barcode hostname [server-port] [username] [password]


        If you don't pass server-port, it defaults to 6001.



C:\sip2talk.exe (card no) www.example.com 6001 (username) (password)
Barcode#: (card no)
SIP2 host: www.example.com
SIP2 port: 6001
username: (username)
password: (password)

Sent: (sip request goes here, details redacted)
Reply: (sip reply goes here, details redacted)

Not much of an output shot, but most of the output is private data about the individual in question.

sip2talk.py

A python version of sip2talk, largely identical in output to sip2talk.exe

C:\python.exe sip2talk.py 
Syntax:    sip2talk.py    [optional:username] [optional:password]


C:\python.exe sip2talk.py www.example.com 6001 (cardnumber)
Checking card# (cardnumber) against www.example.com:6001
..assuming no username/password
---
Raw Message:
6300120100518    163233          AO|AA(cardnumber)|AC|AD|AY1AZF24E

Raw Response:
6 4              00020100518    110900000000000000000000000000AO|AA(cardnumber)
9|AELAST, FIRST MIDDLE|AQLIBRARY|BZ0020|CA0010|CB0050|BLY|BV 0.00|BDHOME ADDRESS
|BEuser@example.com|BHUSD|PA20101009    235900|P
DDOB|PCA-RES|PECOUNTYTON|PFGENDER|DB$0.00|DM$0.00|AFOK|AY1AZB42C


Fields:
64              00020100518    110900000000000000000000000000AO
AA - (cardnumber)
AE - LAST, FIRST MIDDLE
AQ - LIBRARY
BZ - 0020
CA - 0010
CB - 0050
BL - Y
BV -  0.00
BD - HOME ADDRESS
BE - user@example.com
BH - USD
PA - 20101009    235900
PD - DOB
PC - A-RES
PE - COUNTYTON
PF - GENDER
DB - $0.00
DM - $0.00
AF - OK
AY - 1AZB42C

sip2ping.exe


Listing directory https://download.elifulkerson.com/files/librarystuff/sip2ping/0.2/: sip2ping-src.zip January 31 2018 03:14:08 10636 Zip archive data, at least v2.0 to extract sip2ping-src.zip.asc January 31 2018 03:16:43 801 GnuPG signature sip2ping-src.zip.md5 January 31 2018 03:16:43 51 MD5 checksum sip2ping-src.zip.sha1 January 31 2018 03:16:43 59 SHA1 checksum sip2ping-src.zip.sha256 January 31 2018 03:16:43 83 SHA256 checksum sip2ping-src.zip.sha512 January 31 2018 03:16:43 147 SHA512 checksum sip2ping.exe January 31 2018 03:11:45 186368 PE32 executable (console) Intel 80386, for MS Windows sip2ping.exe.asc January 31 2018 03:16:36 801 GnuPG signature sip2ping.exe.md5 January 31 2018 03:16:36 47 MD5 checksum sip2ping.exe.sha1 January 31 2018 03:16:36 55 SHA1 checksum sip2ping.exe.sha256 January 31 2018 03:16:36 79 SHA256 checksum sip2ping.exe.sha512 January 31 2018 03:16:36 143 SHA512 checksumBrowse the download server

sip2ping.exe resembles ping, but it times the length of time it takes for a SIP2 server to respond to a "SC Status Request"

C:\sip2ping.exe
--------------------------------------------------------------
sip2ping.exe by Eli Fulkerson
Please see http://www.elifulkerson.com/projects/ for updates.
--------------------------------------------------------------
Usage: sip2ping [-t] [-d] [-i interval] [-n times] [-u] hostname [server-port] [
username] [password]

         -t   : ping continuously until stopped via control-c
         -n 5 : for instance, send 5 pings
         -i 5 : for instance, ping every 5 seconds

        If you don't pass server-port, it defaults to 6001.



C:\sip2ping.exe www.example.com
SIP2 host: www.example.com
SIP2 port: 6001
No username/password specified.

Sent: 9910802.00|AY1AZFC23
Reply: SIPOUTPUT(REDACTED)|SIPOUTPUT|MORESIPOUTPUT|ETCETCETC|CHECKSUM

Response: time=734.303ms bytes=94 kbit/s=~1.024

sip2ping statistics for www.example.com:6001
     1 probes sent.
     1 successful, 0 failed.
Approximate exchange times in milli-seconds:
     Minimum = 734ms, Maximum = 734ms, Average = 734ms

sip2info.py


Listing directory https://download.elifulkerson.com/files/librarystuff/sip2info/0.2/: sip2info.py January 31 2018 03:01:54 2314 Python script, ASCII text executable sip2info.py.asc January 31 2018 03:16:15 801 GnuPG signature sip2info.py.md5 January 31 2018 03:16:15 46 MD5 checksum sip2info.py.sha1 January 31 2018 03:16:16 54 SHA1 checksum sip2info.py.sha256 January 31 2018 03:16:16 78 SHA256 checksum sip2info.py.sha512 January 31 2018 03:16:16 142 SHA512 checksumBrowse the download server

Python, just talks to the sip server and sees if it is there, via a "SC Status Request"

C:\python.exe sipinfo.py
Syntax:    sipinfo.py   [optional:username] [optional:password]


C:\python.exe sipinfo.py www.example.com 6001
Checking for SIP2 on www.example.com:6001
..assuming no username/password
---
Raw Message:
9910802.00|AY1AZFC23

Raw Response:
9 8YYYYYN60000320100518    1108052.00AOLIBRARY|AMLIBRARY|BXYYYYYYYYYYYNNYYY|ANSIP|AY1AZE770


Fields:
98YYYYYN60000320100518    1108052.00AOLIBRARY
AM - LIBRARY
BX - YYYYYYYYYYYNNYYY
AN - SIP
AY - 1AZE770

apitalk.py


Listing directory https://download.elifulkerson.com/files/librarystuff/apitalk/: apitalk.py November 03 2017 22:02:45 668 Python script, ASCII text executable apitalk.py.asc November 03 2017 22:12:09 801 GnuPG signature apitalk.py.md5 November 03 2017 22:12:09 45 MD5 checksum apitalk.py.sha1 November 03 2017 22:12:10 53 SHA1 checksum apitalk.py.sha256 November 03 2017 22:12:10 77 SHA256 checksum apitalk.py.sha512 November 03 2017 22:12:10 141 SHA512 checksumBrowse the download server

Kind of silly, since API is just done over HTTP, but this talks to the server and strips the html out for you.



ncipcheck.exe


Listing directory https://download.elifulkerson.com/files/librarystuff/ncipcheck/: ncipcheck-src.zip November 03 2017 22:15:20 11046 Zip archive data, at least v2.0 to extract ncipcheck-src.zip.asc November 03 2017 22:15:29 801 GnuPG signature ncipcheck-src.zip.md5 November 03 2017 22:15:29 52 MD5 checksum ncipcheck-src.zip.sha1 November 03 2017 22:15:29 60 SHA1 checksum ncipcheck-src.zip.sha256 November 03 2017 22:15:29 84 SHA256 checksum ncipcheck-src.zip.sha512 November 03 2017 22:15:29 148 SHA512 checksum ncipcheck.exe November 03 2017 22:09:51 7680 PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows ncipcheck.exe.asc November 03 2017 22:12:27 801 GnuPG signature ncipcheck.exe.md5 November 03 2017 22:12:27 48 MD5 checksum ncipcheck.exe.sha1 November 03 2017 22:12:27 56 SHA1 checksum ncipcheck.exe.sha256 November 03 2017 22:12:27 80 SHA256 checksum ncipcheck.exe.sha512 November 03 2017 22:12:27 144 SHA512 checksumBrowse the download server

ncipcheck.exe is a executable that connects to a specified NCIP server and does a version check request to make sure that the given NCIP server is running.