Simple Network Paging Protocol
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
PAGE: The PAGE command is used to set the Pager Number/Pager ID. It is followed by a numerical value.
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.
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.
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.
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