SNPP Protocol

  1. System Overview

The SNPP (Simple Network Paging Protocol) Server enables clients to send messages to 1Way and/or 2Way subscribers over the Internet and check the status of a message that was sent to 2Way subscribers. Clients can also connect securely to SNPP Server using SSL and have access to the same features. The implementation of this server is based on the rfc1861 proposal. (Parts of that document have been used here with little or no alteration).

  1. Connection Information

SNPP Server Host Name: snpp.skytel.com
Port Number: 7777

For Secure Connections:
SNPP Server Host Name: secure-apps.skytel.com
Port Number: 7778

  1. Basic System

The base functionality consists of 6 commands: PAGEr, MESSage, RESEt, SEND, HELP and QUIT. The commands are not case sensitive and only the first four characters of the command are required.

Basic messages will be sent as a non-subscriber. If the message is sent successfully to a non-2Way PIN, a positive response will be returned to the client. If the message is sent successfully to a 2Way PIN, a 250 success status will be returned to the sender along with the PIN and a claim check ID. Submitting the Message status command along with the PIN and claim check ID will retrieve the sent message status.

A user may also attach Multiple Choice Response (MCR) to a message intended for a 2Way PIN. This may be accomplished by using the MCREsponse command.

At any time, the user may wish to remove all data entered to that point without disconnecting and start anew to enter information by submitting the RESEt command to the system.

The user should also consider the conflicts that can occur between the 1Way numeric pagers and alphanumeric messages. If a 1Way numeric PIN has been entered followed by an attempt to enter an alphanumeric message, the alphanumeric message will be rejected. Conversely, if an alphanumeric message has been entered followed by an attempt to enter a 1Way numeric PIN, the 1Way numeric PIN will be rejected.

Messages sent to 2Way PINs will be truncated at 500 characters. Messages to 1Way PINs will be truncated based upon the maximum message length set for each 1Way PIN.

Examples:

    1. Send Message.

In order to send a message to a subscriber, receive a claim check for the message and end the session (PIN = 1366180):

PAGE 1366180
>>>
   
    <<< 250 Pager ID Accepted
MESS This is a test >>>    
    <<< 250 Message OK
SEND >>>    
    <<< 250 1366180 3518 Message Sent
QUIT >>>    

    1. Retrieve Message Status.

In order to retrieve the status of a message to a subscriber (PIN = 1366180, Claim Check ID = 3518):

PAGE 1366180 >>>    
    <<< 250 Pager ID Accepted
MESS This is a test >>>    
    <<< 250 Message OK
SEND >>>    
    <<< 250 1366180 3518 Message Sent
MSTA 1366180 3518 >>>    
    <<< 600 00 000000000000 -0 1617852 Message has not been delivered
    <<< 259 End of MStatus Information
QUIT >>>    

 

    1. Reset Session.

In order to send a message to a subscriber then clear or reset current session and send another message to a subscriber:

PAGE 1366180 >>>    
    <<< 250 Pager ID Accepted
MESS This is a test >>>    
    <<< 250 Message OK
SEND >>>    
    <<< 250 1366180 3518 Message Sent
RESE >>>    
    <<< 250 Reset OK
PAGE 1366180 >>>    
    <<< 250 Pager ID Accepted
MESS Another test >>>    
    <<< 250 Message OK
SEND >>>    
    <<< 250 1366180 8367 Message Sent
QUIT >>>    

 

    1. Multiple Choice Responses.

In order to attach multiple choice responses to a 2Way message (PIN = 1366180):

MESS This is a test >>>    
    <<< 250 Message OK
MCRE Response 1 >>>    
    <<< 250 Response added to transaction
MCRE Response 2 >>>    
    <<< 250 Response added to transaction
MCRE Response 3 >>>    
    <<< 250 Response added to transaction

 

    1. Request Help.

In order to receive system help:

HELP >>>    
    <<< 214 SNPP Server Help
    <<<

214 Level 1 commands

    <<<

214 PAGEr <Pager ID>

    <<<

214 MESSage <Alpha or Numeric>

    <<<

214 RESEt

    <<<

214 SEND

    <<<

214 HELP

    <<<

214 QUIT

    <<<

214 Level 2 commands

    <<<

214 DATA

    <<<

214 LOGIn <Loginid> [Password]

    <<<

214 PAGEr <Pager ID>

    <<<

214 HOLDuntil <YYMMDDHHMMSS> [+/-GMT difference]

    <<<

214 CALLerid <CallerID>

    <<<

214 Level 3 commands

    <<<

214 2WAY

    <<<

214 MCREsponse Response_Text

    <<<

214 PAGEr <Pager ID>

    <<<

214 SEND

    <<<

214 MSTAtus <Message_Tag> <Pass_Code>

     

259 End of Help Information

 

    1. System Login.

In order to login to the paging system as a subscriber (PIN = 1366180, Password = 123456):

LOGI 1366180 123456 >>>    
    <<< 250 Login Accepted

 

    1. Multi-Line Message.

The Data command is used in order to send a multiple line message, (PIN = 1366180):

PAGE 1366180 >>>    
    <<< 250 Pager ID Accepted
DATA >>>    
    <<< 354 Begin Input, End with <CRLF>'.'<CRLF>
This is >>>    
a multiple >>>    
line test. >>>    
    <<< 250 Data accepted

 

  1. Commands

The SNPP Server supports 13 commands. The commands are:

Command Description

CALLer id (SenderID)

This allows for the specification of the Caller Identifier function.

DATA

The DATA command is an alternate form of the MESSage command, allowing for multiple line delivery of a message to the paging terminal.

HELP

The optional HELP command displays a screen of information about commands that are valid on the SNPP server.
HOLDuntil The HOLDuntil command allows for the delayed delivery of a message, to a particular subscriber, until after the time specified.
LOGIn This command allows for a session login ID to be specified. It is used to validate the person attempting to access the paging terminal.
MCREsponse This command is issued prior the SEND command, and "seeds" the transaction with an acceptable multiple choice response.
MESSage The MESSage command specifies a single-line message, into the gateway.
MSTAtus Enables the client program to periodically check the status of delivery and response of a given message.
PAGEr The PAGEr command submits a pager ID (PID) number, for inclusion in the next messaging transaction.
QUIT The QUIT command terminates the current session.
RESEt The RESEt command clears already entered information from the server session, resetting it to the state of a freshly opened connection.
SEND Instructs the SNPP server to "launch" the message (plus attached response codes) to the field message unit.

 

The SNPP Server has 3 levels of operations. The levels are:

Level 1 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.
Level 2 This section specifies minimum enhancements to the SNPP protocol for added functionality and also enhancements to the SNPP protocol for more control over paging functions.
Level 3 Two-way Extensions. Enhancements to the SNPP protocol to support acknowledgment-based paging (2-way). One of the more powerful features of ReFLEX-style paging, in addition to confirmed message delivery, is the ability to "seed" a message with multiple-choice type responses (MCRs). After the recipient views the message, she can reply with one of the seeded messages.

 

Supported Command Levels

Level 1 Commands

PAGEr <Pager ID>

MESSage <Alpha or Numeric>

RESEt

SEND

HELP

QUIT

 

Level 2 Commands

DATA

LOGIn <Loginid> [Password]

PAGEr <Pager ID>

HOLDuntil <YYMMDDHHMMSS> [+/-GMT difference]

CALLerid <CallerID>

 

Level 3 Commands

MCREsponse Response_Text

PAGEr <Pager ID>

SEND

MSTAtus <Message_Tag> <Pass_Code>

What Commands We Support

Command Level 1 Level 2 Level 3
CALLer id (a.k.a., Sender ID)
 
X
 
DATA
 
X
 
HELP
X
 
 
HOLDuntil
 
X
 
LOGIn
 
X
 
MCREsponse
 
 
X
MESSage
X
 
 
MSTAtus
 
 
X
PAGEr

X

X

X

QUIT
X
 
 
RESEt
X
 
 
SEND
X
 
X

SNPP Commands That We Do Not Support

Command Level 1 Level 2 Level 3
2WAY
 

   

X

ACKRead
 

   

X

ALERt  

X

   

COVErage  

X

   

EXPTag  

   

X

KTAG  

   

X

LEVEl  

X

   

NOQUeueing  

   

X

PING  

   

X

RTYPe  

   

X

SUBJect  

X

X

 

  1. Return Codes

The SNPP server returns all of the codes as specified by the SNPP RFC(1861).

General return Commands

220 Gateway Ready
421 Too Many Errors, Goodbye
500 Command Not Implemented
554 Error, Unclassified

Page Commands

250 Pager ID Accepted
503 Already Selected Pager v
550 Error, Invalid Pager ID
  Pager is not 1Way
Pager is not 2Way
Pager is Disconnected
Pager Mail Box is Full
Received empty string
552 Maximum Recipients Exceeded
553 Error, Numeric Pager to Alpha Message
554 Error, Failed PIN Id max length exceeded

Message status commands

(If only one associated message)>
889 00 <Date&Time> <Full_Text_Response>
or
861 00 <Date&Time> Message Delivered, Awaiting
Reply
or
960 00 <Date&Time> Message Queued; Awaiting
Delivery

 

(If only more than one associated message)
214 Message Status Information
861 00 <Date&Time> Message Delivered, Awaiting
Reply
or
889 00 <Date&Time> <Full_Text_Response>
or
960 00 <Date&Time> Message Queued; Awaiting
Delivery
250 End of Message Status

 

554 Error, failed
550 Error, Invalid Pager Id or Claim Check Id
Empty String
Invalid Claim Check ID
Invalid Subscriber (not in db)