Smart Suite Messaging Priorities
Overview
A message priority is used to define which row (or rows) in the queued_page list a paging process should take first.
The PRIORITY column (in some tables called MESSAGE_PRIORITY) is a NUMBER(3) data type, which means it's a number with a maximum places value of 3; so 999 is the highest priority one can assign (but that doesn't mean necessarily that one should!). When a message is taken (that is, stored) for a listing record (whether as an individual or in a message group), the next step is defined based on whether or not the "send to page" option is selected. If the send to page option is not selected, the message is simply stored to the MESSAGE table. If the send to page option is selected, the information for that message's row is placed in to the QUEUED_PAGE table. The paging applications that are logged in to the database check the QUEUED_PAGE table for any records that they should process. Part of the "order by" clause for the data that these applications select sorts the rows in queue by the priority in descending order (as well as the queued date; other factors affect this, such as rebeep intervals). This means that the higher the PRIORITY is, the closer to the top of the list it will be.
- For example, at time 0m 00s four messages are inserted into QUEUED_PAGE with a priority of 1. The paging process selects the first one in the "select..." list returned. One of the messages is processed.
- At time 0m 01s, only one message has been processed and two new ones come in: one with a priority of 1 and one with a priority of 3 (now there are five). The next select statement run by the application places the row with a priority 3 at the top.
- At time 0m 02s, let's pretend that three of the five messages have gone out -- two of the original "1" and the "3".
- At time 0m 03s, no new messages come in and the one queued first of the remaining two goes out.
- At time 0m 04s, no new messages come in and the next one queued goes out (these one at a time types can more easily be seen with a dial-up TAP connection which take more like 5 - 10 seconds to process).
With pages coming in with higher priorities, it's easy to imagine that some of the earlier records with lower priorities would get pushed back. This does happen sometimes, but it's rare to actually see it due to the speed of processing each row.
Application Level
Messages queued from the Smart Suite applications (Smart Console, Smart Speech, e.Notify, Smart Web, Spok Mobile, VRU, etc) are assigned a "PRIORITY" when added to the message table. The defaults for each application are as follows:
- e.Notify
- New templates created within e.Notify will default to Priority 2. This can be adjusted based on what rights have been granted to the user.
- Smart Speech
- Default: Priority 1
- Smart Web
- Default: Priority 1
- VRU
- Default: Priority 1
- Smart Console has a default priority set within each of the following configuration files:
- Individual Profile
- Priority 2
- Group Messaging
- Priority 3
- On Call
- Priority 2
- Individual Profile
Spok Mobile / Amcom Mobile Connect
"Mobile" allows customers to use priorities to define the ring/alert that will sound on the device when a new message arrives. This is defined at the time that the message is input. The sender of a message can select low, medium, or high before clicking the send button via Smart Web. The "high", "medium", and "low" values are also decided based on the "MEDIUM PRIORITY RANGE" keyword in the mxpp_in_out.ini (if set to 4 - 7, this means that anything priority 4 - 7 will be "medium"; higher than 7 is "high", lower than 4 is "low"). Messages sent from other applications will have the default priority assigned which will determine the ring tone played on the mobile device.
Other Priority Field Definitions within the Smart Suite applications
-
The priority field located within the Smart Center "Pager Model" form is only used in conjunction with the Motorola Unipage paging terminal to define the beep/ring/mail drop that was sent to the pager.
-
The priority field located within the Smart Center "Priority Rebeep" form is used to define the appropriate rebeep interval a customer may choose to deploy with a specific priority. When priority rebeeps are used, the Rebeep Interval and Max Rebeeps may be set given a specific priority in the Smart Center "Priority Rebeep" form.
Some examples of how one may set a priority rebeep are:
A priority 2 may be used to set a rebeep of 5 minutes each with 3 rebeeps total.
A priority 7 may have 2 minute intervals with 10 rebeeps total.
The default build is that none are defined here. This rebeep will be used whether or not the rebeep is defined for the class of a service for a given pager. -
The "Message Priority" form in eNotify is used to associate a user-friendly name with the priority. When creating eNotify templates, users will be able to select a meaningful name that correlates to a specific priority. The priority assigned to that name will be used in the queuing process of the event.
-
WCTP out: Stay tuned!
Database Level (for individual Listing records)
In addition to the application priorities that are definable, customers have the ability to control Messaging Queue priorities at a more granular level. Within Smart Center, customers can set priorities on individual Listing records and Message Groups. Both of these are covered more completely in the Smart Center Admin Guide or the various training videos and documents on Smart Center Administration.
- Priorities are set for individual records within the Messaging tab of the Listing form / Message Priority field. When defined, this priority will be be shown in the New Message window in the Individual Profile tab in Smart Console. The stored procedures that save the message to the message table (and then queued_page, if set to page) compare the priority in this field to whatever was entered in Smart Console (if the operator changed it) or whatever the application sets it as (eNotify, SmartWeb, etc). It then uses the higher of the priorities in the comparison.
For example, a person has a listing.message_priority set to 4. An operator sends a page and changes the priority to a 2 in the new message window. The message is still assigned a 4.
-
Priorities for a Message Group can also be set in the Message Group form. When defined, this priority will be be shown in the New Message window in the Group Page tab in Smart Console. For each record in the message group, the stored procedures that save the message to the message table (and then queued_page, if set to page) compare the priority in this field to whatever was entered in Smart Console (if the operator changed it) or whatever the application sets it as (eNotify, SmartWeb, etc). It then uses the higher of the priorities in the comparison.
For example, a group page is sent to a message group with three members. The priority is set to 3 from Smart Console (or an event is sent via eNotify with priority 3). One person in the group has a listing.message_priority of 7 and the other two have no priority defined. The message for the record with a listing.message_priority of 7 will be assigned a 7, and the other two will be assigned a 3.