Message handlers

Using the dblsn command line, you create message handlers to tell the Listener which messages to filter and what actions should result from each accepted message.

See Listener utility.

Message interpretation

Messages (push requests) arrive as a single piece of text with the following structure:

message control_information

The control_information is for internal use only and is removed prior to message handling. The Listener substitutes non-printable characters with tildes, and then interprets the message portion with the following pattern:

message = sender subj-open subject subj-close content
subj-open = ( | [ | { | < | ' | "

The subj-open character is determined by the first possible character found by scanning from left to right. The value of subj-open determines the value of subj-close. The possible values of subj-close are ), ], }, >, ' and ".

The location of the first subj-close character marks the end of the subject and the beginning of the content.

The sender is empty when the message begins with a subj-open. In that case, the sender of the message is determined in a delivery path-dependent way. For example, messages going through UDP gateways arrive as [subject]content, and the sender is the IP address. SMTP gateways send an email message that is converted by an email to SMS service into a format that varies between different public wireless carriers.

Filters and action variables

The Listener provides filters and action variables to determine how to process an incoming message (push request).


Using subject and content filters
Filtering by remote ID
Using the filters message, message_start, and sender
Connection-initiated synchronization
Multi-channel listening