|-a||Send the page at the specified time. A time specification prefixed with a plus sign (+) is added to the current time. The QuickPage daemon will not send any pages with a timestamp newer than the current time. This feature may be used to provide a simple alarm clock function for meeting reminders, etc. This option applies only to the pagerid(s) specified by the next -p option. If the specified time is in the format YYMMDDHHMMSS, the two-digit year is interpreted as follows: if the last two digits of the specified year are in the range 00-49 and the last two digits of the current year are in the range 50-99, assume the specified time is in the next century. Otherwise assume the specified time is in the current century.|
|-c||Use a different coverage area or paging service. This option is only useful if the recipient has more than one pager and/or more than one paging service. This option applies only to the pagerid(s) specified by the next -p option.|
|-C||Specify an alternate configuration file. This option may only be used on the QuickPage server.|
|-d||Debug mode. Very verbose and probably not interesting for the normal user. This option is provided for debugging purposes only.|
|-f||Specify who the page is from. This option specifies the argument to the SNPP CALLerid command. Every message segment will be prefixed with the value specified by this option unless disabled by the msgprefix keyword in the configuration file. A null argument ( -f "") may be specified to suppress the message prefix for a particular message. However, this will also suppress e-mail status notification. The default is the userid of the person running QuickPage.|
|-h||Help. Print a brief summary of the command line options.|
|-i||Use interactive mode. The page is sent immediately and summary messages are printed during the course of the transaction. This option may only be used on a machine with a physically attached modem. This option is intended for debugging purposes only and should not be used in a production environment. The -d option, when used in conjunction with this option, can be very effective in troubleshooting problems between the SNPP server and the remote paging terminal.|
Specify the service level for this page. The service level must be
a number between 0 and 11, inclusive.
The TME protocol specifies service level as follows:
With the exception of level zero, service levels have no meaning to QuickPage but they are accepted for compatibility with other programs. Any service level specified by the user is passed on to the SNPP server. For pages submitted with a service level of zero, the QuickPage daemon will send an e-mail message to the submitter notifying them whether the page succeeded (i.e. it was successfully transmitted to the paging service) or failed. This option applies only to the pagerid(s) specified by the next -p option.
This option tells
QuickPage to read an e-mail message from standard input. A page is
constructed by concatenating the From: header (XXX), the
Subject: header (YYY), and lines from the message
body (ZZZ) as follows:
Minimal support is provided for multipart MIME messages. The first part with a Content-Type: of text/plain will be processed. The remaining parts will be discarded. This will reduce the problems associated with people accidentally mailing binaries to their pagers.
The X-sun-attachment type is not supported and should not be used. MIME is a documented standard. The X-sun-attachment type is neither documented nor standard. However, QuickPage will still use the From: and Subject: lines (but no message body) from such messages for those people who insist on using it anyway.
A line starting with two dashes (--) in the message body (or in a MIME text part) is assumed to be the start of a signature and will cause QuickPage to stop processing the e-mail message at that point.
|-p||Specify the pagerid of the intended recipient. Multiple recipients may be specified by separating their pager IDs with commas (e.g. pagerid1,pagerid2,pagerid3). No spaces are permitted between recipients and the comma separator characters. Any -a, -c, or -l options previously encountered on the command line are reset to their default values after this option is processed. This option may occur multiple times on the command line, each possibly preceded by different -a, -c, or -l options.|
|-P||Like -p but does not reset -a, -c, or -l options previously encountered on the command line.|
|-q||Start a QuickPage daemon. This option causes QuickPage to detach itself from the controlling terminal and run as a daemon process. This option requires a numerical argument. If the argument is greater than zero, it specifies the number of seconds QuickPage should sleep between queue runs. An argument less than zero signals QuickPage to accept incoming SNPP connections and write new pages to the page queue, but to never process the page queue. An argument of zero signals QuickPage not to listen for incoming SNPP connections, but to process the page queue one time and then exit. See the NOTES section below for more information.|
|-Q||Print the current contents of the page queue. This option may only be used on the QuickPage server. Unless invoked by root or DAEMONUSER, this option will probably fail because of insufficient permissions.|
Specify the name(s) of the SNPP server(s). The hostnames used by
a client to contact a server are
determined by checking the following in this order:
Multiple hostnames are permitted by separating them with commas. If multiple servers are used, it is assumed that they all have identical copies of the configuration file.
|-v||Print the version of QuickPage and exit.|
|The QuickPage server requires a configuration file. This file is read one time during startup and again upon receipt of SIGHUP. The configuration file is made up of major and minor keyword=value pairs. Major keywords must start at the beginning of a line. Minor keywords must contain leading whitespace. All keywords must be immediately followed with an equal sign (=). Spaces are permitted between the equal sign and the value. The value may not contain whitespace. Keywords may appear in any order with the following four exceptions:|
Minor keywords must be grouped together under their respective major keyword.
Modems must be defined before any services that reference them.
Services must be defined before any pagers that reference them.
Pagers must be defined before any groups that reference them.
|The major keywords are:|
|The service named "default" always exists (even if not specified in the configuration file) and has the default values listed above. However, the default service may be redefined in the configuration file if desired.|
|Member definitions within a page group have the syntax:|
Where the square brackets indicate an optional duty schedule. The duty schedule has the same syntax as the Time parameter in the UUCP Systems file: Day is a list of case-sensitive weekday abbreviations (e.g. MoTuTh), Start is the start time (e.g. 800), and End is the end time (e.g. 1700). The word Any is synonymous with SuMoTuWeThFrSa. Midnight may be represented as either 0 or 2400. The time range must not span across midnight. A slash is required to separate the duty schedule from the member name. Multiple member definitions for the same person with different duty schedules are permitted (see the example below). Overlapping duty schedules for the same person within a group will not cause duplicate pages to be sent to that person. See the following example configuration file:
# use the S7 modem register to set a connection timeout
The order of the command line options is important. The -a, -c, and -l options must precede the pagerids they refer to.
The -p option resets -a, -c, and -l to their default values after it is processed. If this behavior is not desired, use -P instead.
All 8-bit characters are stripped to 7 bits before they are transmitted to the paging service, regardless of the parity setting defined in the configuration file. Also, all control characters (ASCII values between 0x00 and 0x20) are "escaped" as specified by the IXO/TAP protocol. Escaping is done by converting each control character into two bytes consisting of a SUB (0x1A) character followed by the printable ASCII character formed by adding 0x40 to the ASCII value of the control character. Thus, Ctrl-A is transmitted as the two-byte sequence 0x1A, 0x41.
The QuickPage daemon listens for incoming SNPP connections and periodically processes the page queue. A separate child process is created on demand to handle each incoming request and each queue run.
After a page is accepted, the child sends SIGUSR1 to its parent forcing it to start a queue run immediately without waiting for the time specified by -q. If desired, this signal can be suppressed using the "synchronous" keyword described above.
The page queue is locked during queue runs to prevent multiple processes from competing for modem resources.
The QuickPage SNPP daemon supports a proprietary XWHO command not documented in the official SNPP protocol as described in RFC-1861. XWHO takes no arguments and returns a multi-line response of the form:
214 pager1 text1
214 pager2 text2
214 pager3 text3
214 pagerN textN
where the first word after the 214 response code is the name of a pager or page group, followed by the value of the corresponding text keyword (with underscores converted to spaces) from the configuration file. Pager and group specifications that do not have the text keyword defined in the configuration file will not be included in the XWHO response. The purpose of the XWHO command is to allow SNPP clients to present users with a list of possible recipients and their names or descriptions. XWHO is supported by QuickPage in an attempt to overcome the current SNPP protocols deficiency. If the protocol is ever revised in the future to include this functionality, support for the XWHO command will be dropped in favor of whatever facilities are specified at that time. Software developers writing their own SNPP clients should be advised that the XWHO command is not stable and may be removed from future releases of QuickPage without notice.
If the CALLerid information received by the QuickPage daemon contains the @ character, it is truncated at that character before being prepended to messages. However, it is used as-is for the destination address when sending e-mail notification for high-priority recipients.
Due to the protocol limitations of SNPP, QuickPage derives e-mail notification addresses from the CALLerid information. Since the CALLerid information might be bogus, all e-mail notifications are sent using a null reverse path. This will prevent error messages from being generated by the mail system if a bogus address is used for e-mail notification.
If the server does not receive a CALLerid command (sent by the QuickPage client unless -f"" is specified on the command line) notification messages will not be sent, regardless of the specified service level.
When the -m flag is used to send a high-priority page, the status notification is sent to the return address in the original e-mail message unless overridden by the -f option.
The length of SNPP commands is limited only by the amount of memory available to QuickPage.
QuickPage uses a timeout of 255 seconds while waiting for a connection from the remote modem. This allows the administrator to specify an appropriate timeout by setting the modems S7 register in the dial command.
The modem must control the CD (carrier-detect) line. Otherwise, the on/off hook status of the modem cannot be determined. This is especially important if more than one paging service is used since QuickPage must be able to detect when its safe to send dial commands to the modem.
Pages are not queued on the client side. As a result, if no servers are available to the client at the time a page is submitted, an error message is printed and the page is discarded.
Pages received after a queue run has started will not be processed until the following queue run.
The default service requires a phone keyword (just like the rest of the service definitions), even if no pager entries specifically reference the default service.
Because QuickPage must read the configuration file to determine the location of the page queue, the -Q option will only work for users with appropriate access to the modems, page queue, and lock directory.
Please send additional bug reports to firstname.lastname@example.org.
QuickPage was written by Thomas Dwyer III <email@example.com> and is provided to the internet community free of charge for non-commercial use (i.e. QuickPage may not be used for profit in any way without prior written permission.)
Copyright (c) 1995-1999 Thomas Dwyer III
|Thomas Dwyer III||QPAGE (1)||05/08/99|