Menu

Home

Petteri Kivimäki

Welcome to JSIP2 wiki!

3M Standard Interchange Protocol (SIP) is an industry standard protocol by 3M to allow automate check out terminals communicate with library systems (ILS).

JSIP2 is an Open Source (MIT) library that implements the 3M SIP version 2 protocol including the 3M SIP2 Extensions for SIP2 clients. The library contains the necessary functionality for SIP2 client socket based implementation supporting all the SIP2 messages and fields, including also the fields defined in the the 3M SIP2 Extensions.

The SIP2 messages are listed below.

  • Login (93) - Login response (94) (info)
  • SCStatus Request(99) - ACS Status Response (98) (info)
  • Patron Status Request (23) - Patron Status Response (24) (info)
  • Patron Information Request (63) - Patron Information Response (64) (info)
  • Checkout Request (11) - Checout Response (12) (info)
  • Checkin Request (09) - Checkin Response (10) (info)
  • Block Patron Request (01) - Patron Status Response (24) (info)
  • End Patron Session (35) - End Session Response (36) (info)
  • Fee Paid Request (37) - Fee Paid Response (38) (info)
  • Item Information Request (17) - Item Information Response (18) (info)
  • Item Status Update Request (19) - Item Status Update Response (20) (info)
  • Patron Enable Request (25) - Patron Enable Response (26) (info)
  • Hold Request (15) - Hold Response (16) (info)
  • Renew Request (29) - Renew Response (30) (info)
  • Renew All Request (65) - Renew All Response (66) (info)
  • Request resend (97) (info)

In addition to the official SIP2 messages listed above, each ILS may have their own extensions that are not included in the official documentation, but are described in the documentation of the ILS in question only. By default JSIP2 does not include these messages.

About SIP2

All communication between the system using the JSIP2 library and the ILS is initiated by the system. The ILS only responds to the messages sent by the system, it does not initiate messages. For each message sent from the system, there is a required response message from the ILS.

Each request/response pair should stand on its own, irrespective of any previous or future request/response pair. However, there are some exceptions to this rule, because usually it's not possible to complete any patron or item related actions without authentication and patron validation.

Authentication happens by sending the Login Request message containing a valid username and password. Some additional information, like circulation location for example, may also be required, as the parameters needed in the Login Request message vary between different library systems.

After a succesful login, the SC Status request should be sent to the library system, that responds with the ACS Status message, which contains information about the operating parameters and supported messages. After receiving the ACS Status response the system is ready for normal operation.

Validating the patron happens by sending the Patron Status Request or the Patron Information Request to the ILS, which response contains the information about the validity of the patron. This information should be checked programmatically before any circulation transactions take place.

Please see the complete SIP2 Developers Guide by 3M for further information.

Source: SIP2 Developers Guide.