Configuring the Server

  1. Type the following commands from the command prompt:

    $ sudo su opensrf
    $ cd /openils/conf
    $ cp oils_sip.xml.example oils_sip.xml
  2. Edit oils_sip.xml. Change the commented out <server-params> section to this:

    <server-params
       min_spare_servers='1'
       max_spare_servers='2'
       min_servers='3'
       max_servers='25'
                 />
  3. max_servers will directly correspond to the number of allowed SIP clients. Set the number accordingly, but bear in mind that too many connections can exhaust memory. On a 4G RAM/4 CPU server (that is also running evergreen), it is not recommended to exceed 100 SIP client connections.

Setting the encoding

SIPServer looks for the encoding in the following places:

  1. An encoding attribute on the account element for the currently active SIP account.
  2. The encoding element that is a child of the institution element of the currently active SIP account.
  3. The encoding element that is a child of the implementation_config element that is itself a child of the institution element of the currently active SIP account.
  4. If none of the above exist, then the default encoding (ASCII) is used.

Option 3 is a legacy option. It is recommended that you alter your configuration to move this element out of the implementation_config element and into its parent institution element. Ideally, SIPServer should not look into the implementation config, and this check may be removed at some time in the future.

Datatypes

The msg64_hold_datatype setting is similar to msg64_summary_datatype, but affects holds instead of circulations. When set to barcode, holds information will be delivered as a set of copy barcodes instead of title strings for patron info requests. With barcodes, SIP clients can both find the title strings for display (via item info requests) and make subsequent hold-related action requests, like holds cancellation.