Skip to main content
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Voyager Self Check module basic protocol reference

    Product: Voyager

    • Relevant for Installation Type: Multi-Tenant Direct, Dedicated-Direct, Local, TotalCare



    Basic information about the self check and Voyager connection and communication protocol.


    Voyager includes a subset of the formal 3M Standard Interchange Protocol1. The self check machine initiates the connection and each message to the server.

    Odd number messages are from the self check machine and even number messages are the response from the server.

    See: "3M Standard Interchange Protocol" Version 2.


    General Voyager SIP2 Implementation Information

    • 93 (Login) packet is required
    • Checksum (error checking) = off
    • Character set = UTF-8

    Messages From Client Machine

    • 17 (Item Information)

    • 23 (Patron Status Request)

      • Subset of 63

    • 37 (Fee Paid)

    • 63 (Patron Information)

    • 93 (Login)

      • Example:


    • 97 (Request ACS Resend)

      • Sent when machine gets a bad checksum

      • Server should resend last message

      • Voyager may not respond to these (?)

    • 99 (SC Status)

      • Status sent to server

      • Requires a response of 98 (ACS Status)

    Messages From Voyager

    • 18 (Item Information Response)

    • 24 (Patron Status Response)

    • 38 (Fee Paid Response)

    • 64 (Patron Information Response)

    • 94 (Login Response)

      • 1=ok

      • 0=not ok

      • Example:


    • 98 (ACS Status)

    Variable-Length Fields

    • AB (item identifier)

      • Should be a barcode, not an item ID

    • AF (screen message)

      • Starting in Voyager 9, this is pulled from the selfchk.cfg file

      • Will not send if it's over 64 characters

    • AJ (title identifier)

    Other Useful Information

    • Transaction Date

      • Often required

      • Format: YYYYMMDDZZZZHHMMSS (18 characters)

      • The timezone portion (ZZZZ) is usually just left blank (four spaces)

    • The pipe (|) character

      • Used as a field delimiter

      • Required after variable-length fields

        • This includes the end of the message

      • Voyager seems to accept it after the last fixed-length field


    Additional Information

    1Note that the Ex Libris SIP2 server for Voyager is limited in functionality.  Ex Libris does not implement the full protocol standard, only the functionality needed to interface with SelfCheck (SIP2).  The SIP2 protocol is implemented in a client-server fashion.  The SIP2 application programming interface (API) is standardized and (to the degree that it is implemented in the software) the same for any ILS.  However, on either side of that protocol/API are client and server applications.  The SIP2 server application (the "extension module that is licensed separately from the Voyager software") is ILS-specific, while the SIP2 client application is ILS-agnostic.  That means that a SIP2 server designed to work for one ILS, won't work for any other ILSs.  It is ILS specific.

    See also: 


    Self check is an extension module for Voyager - it is not part of the core Voyager software. Activating Self check/SIP2 may require the generation of a quote to cover the implementation and maintenance of this extension.


    • Article last edited: 17-Feb-2020
    • Was this article helpful?