ℹ️ The Auron SMS Server is now Auron Omni. Learn more here.

How can we help?

Message states and transitions


The core of Auron Omni is its internal message bus architecture. This article defines the message states and state transitions.

State and state transitions in Auron Omni are straightforward. The status of a message is split across two axes:

The channel status fields are mostly controlled by the channels, while trigger processing controls the trigger status.

These are the message status fields as shown in the Auron Omni Manager. The direction field is supplementary and not a status field.

Message status fields

Message status fields

The following sections explain the status fields in detail.

StatusID

The StatusID shows whether a message is sending or receiving, and whether this has succeeded or failed. This field is used in message processing to determine whether a trigger should run.

Each trigger specifies on which status it should run. Triggers can only run on a permanent status. This means that a trigger can run on a ‘RECEIVED’ status but cannot run on a ‘RECEIVING’ status.

Sending

The schematic below shows the state diagram for sending a message. The permanent states are green and red. Transient states are blue.

Send message status diagram

Send message status diagram

The following StatusID values are used when sending a new message:

StatusID Description Trigger
CREATING Creating this message. Message data is incomplete
SCHEDULED Scheduled for sending. See scheduled time
QUEUED Queued for sending. See Channel ID
SENDING Channel is currently sending this message
SENT Message was sent successfully
FAILED Message failed to send
NOCHANNEL No channel can send this message
BLOCKED A blocking rule prevents this message from sending
DAILYLIMIT The channel has already reached its daily limit
Sending and delivery reports

If delivery reports are supported, enabled, and the “Apply Delivery Report” trigger is created, the following additional StatusID values become available:

Message delivery state diagram

Message delivery state diagram

Here is a description of these states:

StatusID Description Trigger
DELIVERED The message was delivered
NOTDELIVERED The message was not delivered
NOREPORT Delivery report timed out
Receiving

This is a state diagram for receiving a message:

Receive message state diagram

Receive message state diagram

The following StatusID values are used when receiving a message:

StatusID Description Trigger
CREATING Creating this message. Message data is incomplete
RECEIVING The message is currently being received by the channel
RECEIVED The channel has received this message

AckStatusID

The acknowledge status ID (AckStatusID) shows whether a message is acknowledged. Depending on the channel, a message can be acknowledged on StatusID received, sent, both, or neither.

Ack message status diagram

Ack message status diagram

The following acknowledge statuses are possible:

StatusID Description
N/A. No acknowledge is required
ACK Acknowledged (positively)
NACK Negative acknowledge
WAITING Waiting to be acknowledged

TriggerStatusID

The TriggerStatusID (TriggerStatusID) shows whether the message was processed by a trigger and whether this succeeded or failed.

Trigger processing state diagram

Trigger processing state diagram

The following trigger statuses are possible:

StatusID Description
N/A. If a trigger condition is met this message is processed
PENDING Message was queued for processing
PROCESSING Message is currently being processed
PROCESSED This message was successfully processed
NOMATCH No trigger condition matched. This message does not need processing
NOTRIGGERS No triggers defined. This message does not need processing
FAILED Processing failed. This is an error in the script file