Simple Network Paging Protocol (or SNPP) is a protocol that allows pager messages to be sent and received over the internet. It is defined by RFC1861 and RFC1568.
This page is just a short summary of the SNPP protocol. For the most complete/correct information, always make sure to check the RFCs.
Version 1 of the protocol doesn’t have authentication, it only allows sending a message to a pager number. The maximum length of the message or the pager ID is not specified in the RFC.
The line ending is not specified in the RFC either, but a carriage return + line feed
(\r\n
) is probably a sensible choice in implementing SNPP servers and clients.
The protocol (SNPP Version 1)
The protocol is text based. It consists of single-line commands and responses. The argument to a command goes to the same line, seperated by a space. Here’s an example command/response pair. (C is the client and S is the server)
C: PAGE 5551212
S: 250 OK
Commands
PAGE: The PAGE command is used to set the Pager Number/Pager ID. It is followed by a numerical value.
PAGE 5551212
MESS: The MESS command is used to set an alphanumerical message to a client. It is followed by the message.
MESS To be or not to be
RESE: The RESE command is used to reset/clear the Pager ID and message fields.
C: RESE
S: 250 RESET OK
SEND: The SEND command sends the message to the Pager ID. The server should check if the Pager ID and message fields are filled before processing the request. If they are not filled, the server should reply with 503 Error, Incomplete Information
and allow the client to fix the error.
After sending the page, the server should keep the connection open to allow the client to enter another page.
QUIT: The QUIT command is used to terminate the current session. The server should close the connection after sending 221 OK, Goodbye
.
HELP: If the server wants, it can supply a help message in response to the HELP command. This is entirely optional, but helpful to clients if they are connecting manually over Telnet or Netcat. Each line of the help message should start with 214
and after the message is complete, 250 OK
should be sent.
214 Welcome to the best pager server 214 Use the PAGE and MESS commands to 214 set the number and the message. 250 OK
If you receive a command that you do not support: You can send 421 Error, Goodbye
and close the connection or send 502 Command Error, try again
and keep the connection open.
Sample Conversations
S: 220 SNPP Gateway Ready
C: PAGE 5551212
S: 250 OK
C: MESS Here is a sample message
S: 250 OK
C: SEND
S: 250 Page Sent
C: QUIT
S: 220 SNPP Gateway Ready
C: MESS Another example message
S: 250 OK
C: SEND
S: 503 Error, Incomplete Information
C: PAGE 5551212
S: 250 OK
C: SEND
S: 250 Page Sent
C: QUIT