The SMS Day End process inserts rows into the sms_notice table. The Horizon SMS Processor reads from the sms_notice table and transmits messages to the SirsiDynix SMS Server, which forwards them to another service for sending the text message.
In this troubleshooting checklist, "transmit" means the step where the Horizon SMS Processor transmits messages to the SirsiDynix SMS Server. Keep in mind that there are several additional steps after that point before the borrower receives the text message.
When the SMS Processor runs, it "wakes" periodically and checks to see if there are messages to send. So one useful diagnostic technique is to turn off the SMS Processor, run Day End, and check to see if Day End is inserting the proper messages into the sms_notice table.
The SMS Processor selects one message at a time from the sms_notice table and determines whether to transmit it; and if not, whether to save it for transmission later or to delete it.
Times used in the logic of transmission are obtained from the server where the Horizon database is hosted.
Check the Horizon Information Portal appserver log for entries labeled "HznSmsProcessor". Many cases of failed transmissions are logged with some detail.
All of the following must occur in order for a message to be transmitted by Horizon SMS:
1. | Registration |
a. |
|
2. | Horizon Information Portal |
a. | Horizon Information Portal must be installed, and configured to run against the same database as Horizon. |
b. | In the Horizon Information Portal installation directory (at appserver\jboss\server\default\conf\), hip.properties must have the following line: |
sms.processor.enable=true
c. | After this property is set, restart the appserver. |
For more information, see Enabling the SMS processor.
3. | Horizon - General Configuration |
a. | In Horizon, you must set up at least one Country Code. |
Set up all the country codes for the phone numbers that your borrowers need to receive messages at. These are 2-character alphabetic codes.
To do this, go to Table Editor > country_code.
For more information, see Specifying country codes.
b. | Specify one or more SMS-enabled phone types. For example, a mobile phone type. |
To do this, go to Table Editor > phone types.
For more information, see Enabling SMS for a phone type.
c. | For a borrower, add (or modify) a phone number so that it uses an SMS-enabled phone type, specify a Country Code, and enable one or more message types for that phone number. |
To do this, go to the Edit Borrower dialog box.
For example, select mobile for the phone type, specify US for the country code, and select the Enable SMS Hold Notice checkbox. This allows SMS hold notices to be sent to that phone number for the borrower.
Note: If no Country Code is specified, the system attempts to use some default settings (see the next step).
Important: The same SMS message will be sent to every valid phone number for the borrower that is enabled for that message type.
4. | Horizon - SMS Control Table |
a. | Configure the appropriate system settings in the sms_control table. Most of these are required, unless otherwise indicated. |
SMS Server URL must be https://loccs.sirsidynix.net/Tropo_LOCCS/sms/v2/sendmessage/
SMS Server Site Code must be a valid site code that was provided by your SirsiDynix service representative.
SMS Server Site Token must be a valid site token that was provided by your SirsiDynix service representative.
SMS Transmission Interval (sec) specifies the gap between when the SMS Processor checks for any new messages that need to be sent to the SMS server. If messages are available to be sent while the Processor is sleeping, this interval must expire before the Processor runs again and transmits the message.
Note: While the Day End process runs, only general messages will be transmitted. Hold, overdue, and pre-overdue notices are saved for transmission after the Day End process completes.
SMS Day End Implicit End Interval (min) specifies the maximum length of time to wait for Day End to finish before resuming the sending of hold, overdue, and pre-overdue notices.
Default Country Code specifies the default system-wide value to use if no Country Code was specified for a borrower. This must be 2 alphabetic characters. If this is not provided, the system uses "US" as the default.
SMS Transmission Begin and End Times specify the time period during which the system will send hold, overdue, and pre-overdue notice messages. For example, during normal business hours. If both these times are provided, then messages are sent only between the Begin and End times. If either or both of these times is not provided, the SMS Processor transmits any message in the sms_notice table at any time. If a message transmission is delayed due to this feature, the sms_notice table for that one message is updated in the ignore_until_date and ignore_until_time columns. The SMS Processor then does not select that message until the indicated date and time. When finally selected, all the other logic described in this section are applied again. Regardless of this setting, General messages are sent whenever the SMS Processor is running.
Note: The SMS processor removes duplicate Day End messages to the same borrower with identical text so that only one message gets sent.
For hold and overdue notices, a block of the exact corresponding type must exist in the burb table for the borrower, at the time the message is considered for transmission. These block types are one of the following: hnsms, odsms# (where # is the notice number), odsmsF. If a message fails this test, the SMS Processor discards it.
For pre-overdue notices, an item must be checked out to the borrower, it must not be overdue, and the moment of transmission of the message must be within N days of the item’s due date, where N is the value of pre_overdue_days from the btype table. If a message fails this test, the SMS Processor discards it.
For more information, see Enabling SMS messaging.
5. | Horizon - SMS Control Exceptions |
The Exception section of sms_control in the Table Editor allows you to configure settings specific to one library location.
In general, values that are not specified in the Exceptions section use the default values established in the system level of the SMS Control table (see previous step). The exceptions to this are the following:
– | The "Enable" checkboxes must be enabled at the system level in order for selecting the corresponding checkbox at the exception level to allow messages of those types to be transmitted. |
– | SMS Transmission Begin and End Times do not inherit a default value. The absence of either the Begin or End time for this location exception cause the SMS Processor to continue running throughout the day, with no interruption of service. |
If the preceding steps do not help you, follow the steps in SMS Day End Troubleshooting before contacting your SirsiDynix SirsiDynix Customer Support representative.
© 1998-2017 Sirsi Corporation