📄 rfc1645.txt
字号:
Network Working Group A. Gwinn
Request for Comments: 1645 Southern Methodist University
Obsoletes: 1568 July 1994
Category: Informational
Simple Network Paging Protocol - Version 2
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
Abstract
This RFC suggests a simple way for delivering both alphanumeric and
numeric pages (one-way) to radio paging terminals. Gateways
supporting this protocol, as well as SMTP, have been in use for
several months for nationwide paging and messaging. In addition,
email filters and SNPP client software for Unix and Windows are
available at no cost. Please contact the author for more
information.
Earlier versions of this specification were reviewed by IESG members
and the "822 Extensions" Working Group. They preferred an alternate
strategy, as discussed under "Relationship to Other IETF Work",
below.
1. Introduction
Beepers are as much a part of computer nerdom as X-terminals
(perhaps, unfortunately, more). The intent of Simple Network Paging
Protocol is to provide a standard whereby pages can be delivered to
individual paging terminals. The most obvious benefit is the
elimination of the need for modems and phone lines to produce
alphanumeric pages, and the added ease of delivery of pages to
terminals in other cities or countries. Additionally, automatic page
delivery should be somewhat more simplified.
2. System Philosophy
Radio paging is somewhat taken for granted, because of the wide
availability and wide use of paging products. However, the actual
delivery of the page, and the process used (especially in wider area
paging) is somewhat complicated. When a user initiates a page, by
dialing a number on a telephone, or entering an alphanumeric page
through some input device, the page must ultimately be delivered to
Gwinn [Page 1]
RFC 1645 SNPP - Version 2 July 1994
some paging terminal, somewhere. In most cases, this delivery is
made using TAP (Telocator Alphanumeric input Protocol, also known as
IXO). This protocol can be a somewhat convoluted, and complicated
protocol using older style ASCII control characters and a non-
standard checksumming routine to assist in validating the data.
Even though TAP is widely used throughout the industry, there are
plans on the table to move to a more flexible "standard" protocol
referred to as TME (Telocator Message Entry Protocol). The level two
enhancements to SNPP (as described below) are intended for use with
this forthcoming standard.
However, acknowledging the complexity and flexibility of the current
protocols (or the lack thereof), the final user function is quite
simple: to deliver a page from point-of-origin to someone's beeper.
That is the simple, real-time function that the base protocol
attempts to address. Validation of the paging information is left
completely up to the paging terminal, making an SNPP gateway a direct
"shim" between a paging terminal and the Internet.
3. Why not just use Email and SMTP?
Email, while quite reliable, is not always timely. A good example of
this is deferred messaging when a gateway is down. Suppose Mary Ghoti
(fish@hugecompany.org) sends a message to Zaphod Beeblebrox's beeper
(5551212@pager.pagingcompany.com). Hugecompany's gateway to the
Internet is down causing Mary's message to be deferred. Mary,
however, is not notified of this delay because her message has not
actually failed to reach its destination. Three hours later, the
link is restored, and (as soon as sendmail wakes up) the message is
sent. Obviously, if Mary's page concerned a meeting that was
supposed to happen 2 hours ago, there will be some minor
administrative details to work out between Mary and Zaphod!
On the other hand, if Mary had used her SNPP client (or simply
telnetted to the SNPP gateway), she would have immediately discovered
the network problem. She would have decided to invoke plan "B" and
call Zaphod's pager on the telephone, ringing him that way.
The obvious difference here is not page delivery, but the immediate
notification of a problem that affects your message. Standard email
and SMTP, while quite reliable in most cases, cannot be positively
guaranteed between all nodes at all times, making it less desirable
for emergency or urgent paging. This inability to guarantee delivery
could, whether rightly or wrongly, place the service provider in an
uncomfortable position with a client who has just received his or her
emergency page, six hours too late.
Gwinn [Page 2]
RFC 1645 SNPP - Version 2 July 1994
Another advantage of using a separate protocol for paging delivery is
that it gives the sender absolute flexibility over what is sent to
the pager. For instance, in the paging arena, where messages are
sent to alphanumeric pagers, it is less desirable to send the
recipient general header lines from a standard SMTP message. Much of
the information is useless, possibly redundant, and a waste of
precious RF bandwidth.
Therefore, when implementing an SMTP gateway, the service provider
should elect to parse out needed information (such as the sender, and
possibly subject) such to maximize the utility of the transmission.
Parsing generally means less control over content and format by the
message originator. SNPP provides a clean, effective way to send a
message, as written, to the recipient's pager.
The other consideration is the relative simplicity of the SNPP
protocol for manual telnet sessions versus someone trying to manually
hack a mail message into a gateway.
4. The SNPP Protocol
The SNPP protocol is a sequence of commands and replies, and is based
on the philosophy of many other Internet protocols currently in use.
SNPP has several input commands (the first 4 characters of each are
significant) that solicit various server responses falling into four
categories:
2xx - Successful, continue
3xx - Begin DATA input (see "DATA" command)
4xx - Failed with connection terminated
5xx - Failed, but continue session
The first character of every server response code is a digit
indicating the category of response. The text portion of the
response following the code may be altered to suit individual
applications.
The session interaction is actually quite simple (hence the name).
The client initiates the connection with the listening server. Upon
opening the connection, the server issues a "220" level message
(indicating the willingness of the server to accept SNPP commands).
The client passes pager ID information, and a message, then issues a
"SEND" command. The server then feeds the information to the paging
terminal, gathers a response, and reports the success or failure to
the client.
Gwinn [Page 3]
RFC 1645 SNPP - Version 2 July 1994
4.1 Examples of SNPP Transactions
The following illustrate examples of client-server communication
using SNPP.
4.1.1 A Typical Level One Connection
Client Server
Open Connection -->
<-- 220 SNPP Gateway Ready
PAGE 5551212 -->
<-- 250 Pager ID Accepted
MESS Your network is hosed -->
<-- 250 Message OK
SEND -->
<-- 250 Message Sent OK
QUIT -->
<-- 221 OK, Goodbye
4.1.2 A Typical Level Two, Multiple Transaction
The following example illustrates a single message sent to two
pagers. Using this level protocol, pager-specific options may be
selected for each receiver by specifying the option prior to issuing
the "PAGEr" command. In this example, an alternate coverage area is
selected for the first pager, while delayed messaging is specified
for the second.
Client Server
Open Connection -->
<-- 220 SNPP Server Ready
COVE 2 -->
<-- 250 Alternate Area Selected
PAGE 5551212 FOOBAR -->
<-- 250 Pager ID Accepted
HOLD 9401152300 -0600 -->
<-- 250 Delayed Message OK
PAGE 5552323 XYZZY -->
<-- 250 Pager ID Accepted
SUBJ Seattle Meeting -->
<-- 250 Message Subject OK
DATA -->
<-- 354 Begin Input, End With '.'
Please meet me tomorrow at -->
the Seattle office -->
<-- 250 DATA Accepted
Gwinn [Page 4]
RFC 1645 SNPP - Version 2 July 1994
SEND -->
<-- 250 Message Sent OK
QUIT -->
<-- 221 OK, Goodbye
4.2 Level 1 Commands
Level one commands are designed as a minimum implementation of the
protocol. This collection of commands may be used with either
TAP/IXO or TME for message delivery to the paging terminal.
4.2.1 PAGEr <Pager ID>
The PAGEr command submits a pager ID (PID) number, for inclusion in
the next messaging transaction. The PID used must reside in, and be
validated by the paging terminal. Limited validation may optionally
be done on the server (such as all numeric, and ID length), or
validation can be left up to the terminal at the time the page is
sent.
When implementing SNPP, the user may elect to support multiple
recipients per message sent. However, be wary that validation-
prior-to-sending is not possible with TAP/IXO (and is not an official
option of the current TME specification). What this means is that in
order to validate a PID, one must generate a message to the pager.
The terminal responds favorably or negatively. When reporting
failure of a single PID in a sequence, delineating and reporting the
failure in a "standard format" may prove to be a challenge.
Possible responses from the SNPP server, with suggested text, in
response to a PAGEr command are:
250 Pager ID Accepted
421 Too Many Errors, Goodbye (terminate connection)
421 Gateway Service Unavailable (terminate connection)
550 Error, Invalid Pager ID
554 Error, failed (technical reason)
The level 2 enhancements affect the PAGEr command. Please refer to
the appropriate section for details.
4.2.2 MESSage <Alpha or Numeric Message>
The MESSage command specifies a single-line message, into the
gateway. Limited validation of the message may be done on the SNPP
server (such as length), but type-of-message validation should be
done by the paging terminal. Duplicating the MESSage command before
SENDing the message should produce an "503 ERROR, Message Already
Gwinn [Page 5]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -