Uploaded by sdelacruz

SerialInterface

advertisement
ORBCOMM Satellite Modem
Serial Interface Specification
Document Number: 713306201
Revision: J
Date: 02/18/2015
© 2014 ORBCOMM — All Rights Reserved.
This publication, or any part thereof, may not be reproduced or transmitted in any form or by any
means, electronic or mechanical, including photocopying, recording, storage in an information retrieval
system, or otherwise, without prior written permission by ORBCOMM, Inc. 395 W Passaic Street, Suite
325, Rochelle Park, NJ 07662 USA Phone 703-433-6325.
Trademark Notice
The ORBCOMM Company logo is a trademark of ORBCOMM, Inc. All other product names used
throughout this material are trademarks of the respective companies. No such use of any trademark is
intended to convey endorsement or other affiliation with these companies.
Indemnity Notice
This manual has been created in order to accommodate a range of container installations. Specific
business practices and system configurations may differ slightly from what is represented in this manual.
While ORBCOMM Inc. takes great care to ensure the accuracy of this manual, it is provided “as is”
without warranty of any kind, either express or implied, including, but not limited to, warranties of
merchantability or fitness for a particular purpose. ORBCOMM Inc. makes no warranties or
representations that this manual will meet the requirements for installation or that the operations of
the installed hardware will be uninterrupted or error free. Every effort was made to ensure that the
information in this manual was accurate at the time of printing. However, information is subject to
change without notice.
Export Control Statement
The contents of this document, in whole or in part, shall not be exported from the United States, which
export shall include, but not be limited to, transmittal to any non-U.S. citizen wherever said person is
located, except in accordance with all United States laws and regulations relating to exports and to all
administrative acts of the U.S. Government pursuant to such laws and regulations. Diversion, re-export
or transshipment of the contents of this document, in whole or in part, contrary to U.S. law is also
strictly prohibited.
More Information
To obtain information additional information, please contact:
Customer Service: customer.service@orbcomm.com, +1 703 433 6325
Sales: sales@orbcomm.com
Visit us on the Internet: www.orbcomm.com
ORBCOMM Satellite Modem Serial Interface Specification
2
2
2
Document History
Version
Issued By
Issue Date
Change Description
F
ORBCOMM
April 1999
This version of the Serial Interface
Specification represents a change in
direction for the Subscriber Communicators
(SCs). In an effort to support lower SC
prices, ORBCOMM intends to eliminate
requirements for functionality that is not
frequently used. In addition, ORBCOMM
wishes to promote a new, more robust
serial packet retry mechanism and a more
consistent status and configuration
mechanism.
Consequently, after March 1, 2000,
ORBCOMM will no longer require SC’s to
implement Doppler-based position
determination and byte Mode. NOTE:
should an SC Manufacturer elect to
implement Doppler-based position
determination or byte Mode, the
implementation shall adhere to the
specifications described herein.
In addition, all SC’s Type-Approved after
August 1, 1999 shall implement the
following new functionality:
Additional status_code values for the link
level ack packet that indicate rejection of a
packet (see Table 3.1);
A new serial packet retry mechanism to
correct a deficiency in the original method
(see Section 2.4.1); and
A consistent mechanism for evaluating the
SC’s status and specifying it’s configuration:
Creation of a new get parameter packet
(Table 3.20);
Creation of a new set parameter packet
(Table 3.21);
Creation of a new parameter response
packet (Table 3.22); and
ORBCOMM Satellite Modem Serial Interface Specification
3
3
3
Definition of additional, generally-useful,
configuration parameters.
Three new packets that can transfer to the
DTE information useful to Satellite Pass
Prediction (see Tables 3.23 – 3.25).
Finally, in order to promote the
standardization of Command Mode
interfaces, this specification introduces an
AT-style Command Mode whose
implementation is optional. Note however,
that if an SC manufacturer elects to
implement any Command Mode interface,
the AT-style format, as described in Section
2.3, shall be implemented. Additional
manufacturer-specific Command Mode
variations may also be implemented if
desired.
G
ORBCOMM
August 2005
Spelling and typographical errors corrected.
More rigidly enforced Text Conventions
(Section 1.2) and Terminology Clarifications
(Section 1.3).
Removed references to documents no
longer supported or released by
ORBCOMM.
Removed all references to Byte Mode,
Doppler-based position determination, and
the AT Command set as no current SCs
support this functionality.
Added notes to the SC-ORIGINATED MESSAGE
and SC-ORIGINATED DEFAULT MESSAGE packets
specifying a maximum total packet length
of 8192 bytes.
Updated Figure 4.1 to illustrate the
response of the SC to an invalid GET or SET
PARAMETER packet.
Updated Figure 4.7 to illustrate the
handling of a recipient acknowledgment of
an SC-ORIGINATED MESSAGE.
Updated Figures 4.3, 4.8 and 4.12 to show
the complete Acquire-Communicate cycle
for all interactions between the SC and the
Satellite.
ORBCOMM Satellite Modem Serial Interface Specification
4
4
4
In Chapter 3, repeated the note regarding
the Data Type byte found in the discussion
of the SC-ORIGINATED MESSAGE packet in the
relevant part of the SC-TERMINATED MESSAGE
packet.
Removed SC-ORIGINATED ENHANCED GLOBALGRAM
and SC-TERMINATED ENHANCED GLOBALGRAM
packets from Chapter 3 since ORBCOMM
has no plans to support them.
Revised diagrams and corresponding text in
Note 11 at the end of Chapter 3.
Added type_code 30 to the COMMUNICATIONS
COMMAND which signals the SC to prepare
for the removal of external power.
Documented the SC’s response in Table 327.
Clarified format and order of PIN code
bytes in CONFIGURATION COMMAND packet.
In Section 2.1, provided additional
information about the order of the length
and Fletcher checksum packet bytes.
Clarified order of latitude and longitude
code bytes in POSITION STATUS and SCORIGINATED POSITION REPORT packets and
removed reference to the bytes formerly
associated with Doppler-based position
determination from the POSITION STATUS
packet.
Corrected latitude resolution in the POSITION
REPORT packet.
Added header byte for new serial packet
retry mechanism to description of the
POSITION DETERMINATION and POSITION STATUS
packets.
In Table 3.5, adjusted names of bytes 5 & 6
of the STATUS packet (sc_state and
sc_diag_code) to match corresponding
configuration parameters. Added reference
to Appendix A for definition of these
parameters.
In Appendix A, changed the access type of
the configuration parameters
ser_max_retries (0x21) and
ORBCOMM Satellite Modem Serial Interface Specification
5
5
5
max_pos_det_queue (0x78) from read-only
to read-write.
In the PARAMETER RESPONSE packet description
in Chapter 3, corrected numbering of
packet bytes and a typographical error in
the Note.
In Chapter 3, note 6, added reference
associating IA5 data table with data type 5.
Corrected the mean motion multiplier in
the SATELLITE ORBITAL ELEMENTS packet
In Appendix A, changed the default,
minimum, or maximum values for the
following parameters: desired_gwy,
queued_ob_msgs, queued_ib_msgs, and
time_bytes.
In Appendix A, deleted parameter 0x25,
ops_mod.
Edited Figure 4.5 SC-Originated Globalgram
to show delivery to GCC.
Globally replaced references to GlobalGram
with Globalgram.
H
ORBCOMM
July 2014
I
ORBCOMM
August 2014
Changes to support the new OG2 Modem
Hardware
J
ORBCOMM
February 2015
Communications Command 0x04 added.
ORBCOMM Satellite Modem Serial Interface Specification
6
Internal Release
6
6
Table of Contents
1
Introduction
1.1
2
3
Terminology Clarifications
10
1.1.2
Commonly Used Acronyms
10
1.2
Related Documentation
11
1.3
Revision Control
11
Protocol Description
12
2.1
Link Layer
12
2.2
Fletcher Checksum Algorithm
13
2.3
Inter-Character Communications Timeout
15
2.4
Communications Timeout
15
Physical Layer
Signal Description
16
16
3.1.1
Data Terminal Ready (DTR)
16
3.1.2
Request To Send (RTS) & Clear To Send (CTS)
16
3.1.3
Carrier Detect (CD)
16
3.1.4
Data Set Ready (DSR)
17
3.1.5
Signal Ground (SG)
17
3.1.6
Transmit Data (TxD)
17
3.1.7
Received Data (RxD)
17
3.2
UART Settings
17
3.3
Storage
17
3.4
Modem Configuration
17
Packet Descriptions & Notes
4.1
OG1 Packet Descriptions
4.1.1
4.2
Commands
Responses
4.2.2
5
9
1.1.1
3.1
4
Scope
9
19
19
19
55
Unsolicited Responses
69
Serial Interface Packet Diagrams
83
5.1
OG1 and OG2 Serial Interface Packet Diagrams
ORBCOMM Satellite Modem Serial Interface Specification
7
83
7
7
6
Latitude and Longitude Conversion
90
7
Satellite Element Set Format Description
92
List of Figures
Figure 1: Typical Modem packet format ................................................................................................ 13
Figure 2: Typical OG1 Modem packet format........................................................................................ 19
Figure 5.1: Get and Set Parameters Command/Response .................................................................. 83
Figure 5.2: OTA Communications Commands ..................................................................................... 84
Figure 5.3: Internal Modem Communications Commands .................................................................. 84
Figure 5.4: Modem-Originated Report ................................................................................................... 85
Figure 5.5: Modem-Originated Globalgram ........................................................................................... 86
Figure 5.6: Modem-Terminated Globalgram.......................................................................................... 86
Figure 5.7: Modem-Originated Message ................................................................................................ 87
Figure 5.8: Modem-Terminated Message .............................................................................................. 87
Figure 5.9: Modem-Terminated User Command ................................................................................... 88
Figure 5.10: Polling by GCC .................................................................................................................... 89
List of Tables
Table 1: PING PACKET Structure ............................................................................................................... 20
Table 2: DTE ORIGINATED ACKNOWLEDGMENT PACKET Structure ............................................................. 21
Table 3: COMMUNICATIONS COMMAND PACKET Structure .......................................................................... 23
Table 4: MODEM ORIGINATED MESSAGE PACKET Structure ....................................................................... 32
Table 5: An Example of a MO MESSAGE PACKET..................................................................................... 35
Table 6: MODEM ORIGINATED REPORT PACKET Structure .......................................................................... 37
Table 7: MODEM ORIGINATED GLOBALGRAM PACKET Structure ................................................................. 41
Table 8: MODEM ORIGINATED POSITION REPORT PACKET Structure ........................................................... 44
Table 9: GET MODEM PARAMETER PACKET Structure ................................................................................ 46
Table 10: SET MODEM PARAMETER PACKET Structure............................................................................... 47
Table 11: GET MULTIPLE PARAMETER PACKET Structure .......................................................................... 49
Table 12: SET MULTIPLE PARAMETERS PACKET Structure ......................................................................... 51
Table 13: SET MULTIPLE PARAMETERS PACKET DATA FORMAT .................................................................... 52
Table 14: GPS POSITION UPDATE MODE PACKET Structure ...................................................................... 53
Table 15: MO ACKNOWLEDGMENT PACKET Structure ................................................................................ 55
Table 16: STATUS PACKET Structure ........................................................................................................ 57
Table 17: Example of a Gateway Information Block ............................................................................. 59
Table 18: PARAMETER RESPONSE PACKET Structure ................................................................................ 62
Table 19: MULTIPLE PARAMETER RESPONSE PACKET Structure ................................................................ 67
Table 20: Parameter Data Block ............................................................................................................. 68
Table 21: SYSTEM ANNOUNCEMENT PACKET Structure .............................................................................. 69
Table 22: SYSTEM RESPONSE PACKET Structure....................................................................................... 71
Table 23: MODEM TERMINATED MESSAGE PACKET Structure..................................................................... 75
Table 24: An Example Message of a MT MESSAGE PACKET ................................................................... 78
Table 25: MODEM TERMINATED USER COMMAND PACKET Structure .......................................................... 79
Table 26: MODEM TERMINATED GLOBALGRAM PACKET Structure .............................................................. 81
ORBCOMM Satellite Modem Serial Interface Specification
8
8
8
1 Introduction
This document describes the interface between ORBCOMM-certified Modems and Data Terminal
Equipment (DTE). The document is intended for both integrators of ORBCOMM modems and for
designers of ORBCOMM modems in order to guarantee compatibility between modems and
applications.
1.1
Scope
The document is divided into four chapters and four appendices, which are summarized below:
Section 1 Introduction defines the document scope, presents text conventions, provides terminology
clarifications, and lists related documentation.
Section 2 Protocol Description provides an introduction to the modem serial protocol.
Section 3 Physical Layer describes the physical interface the DTE must use to communicate with the
modem.
Section 4 Packet Descriptions & Notes defines the OG1 and OG2 serial port packets exchanged between
the modem and the Data Terminal Equipment (DTE).
Section 5 Serial Interface Packet Diagrams presents ladder diagrams that detail the response of the
Modem after receiving commands from the DTE and messages from the network.
Section 6 Latitude and Longitude Conversions illustrates the process of converting between ORBCOMM
encoded position format and geodetic position format.
Section 7 Satellite Element Set Format Description defines the format of the Satellite Element Set used
in the ORBCOMM Network.
ORBCOMM Satellite Modem Serial Interface Specification
9
9
9
1.1.1 Terminology Clarifications
This document uses the following terminology:




1.1.2
"Modem-Originated (MO) messages"
o This term refers to data that originates from the modem and travels to the Satellites and
the ORBCOMM System.
"Modem-Terminated (MT) messages"
o This term refers to data that transfers from the ORBCOMM System and Satellites to the
modem.
“Satellite Globalgram Mode”
o The satellite is in Globalgram Mode when the satellite is unable to communicate with an
ORBCOMM gateway. In this mode the modem is able to send Globalgrams to the
satellite. The Globalgrams are stored on the satellite until it can communicate with the
gateway specified in the Globalgram packet.
“Messaging Mode”
o The modem will be in messaging mode when the modem is communicating with a
satellite that can communicate with an ORBCOMM gateway.
Commonly Used Acronyms
Acronym
Description
ACK
Acknowledgment
CR
Carriage Return
CTS
Clear-To-Send
DCE
Data Communications Equipment
DSR
Data Set Ready
DTE
Data Terminal Equipment
DTR
Data Terminal Ready
GCC
Gateway Control Center
GWY
ORBCOMM Gateway
MHA
Message Handler Agent
MO
Modem Originated
MT
Modem Terminated
MTA
Message Transfer Agent
OMS
ORBCOMM Message Switch
O/R
Originator / Recipient address or Speed Dial Value
RTS
Request-To-Send
SMTP
Simple Mail Transfer Protocol
UTC
Coordinated Universal Time
ORBCOMM Satellite Modem Serial Interface Specification
10
10
10
1.2 Related Documentation
The following documents provide background information on the ORBCOMM System and provide
information on the modem’s communication with Satellites:
ORBCOMM System Overview (document no. A80TD0008).
ORBCOMM Messaging Services Description (document no. A80MK0019).
ORBCOMM Generation 2 Parameters Specification (document no. 713307401)
ORBCOMM OG2 Modem Specification Document (document no. 772433001)
1.3 Revision Control
Revision history is listed at the beginning of this document.
ORBCOMM Satellite Modem Serial Interface Specification
11
11
11
2 Protocol Description
In this document, the generic descriptions “data terminal” and “data terminal equipment” (DTE) refer to
the device connected to the modem’s command port, and not to the modem itself. The DTE must
manage sending commands to the modem and processing modem responses.
Within this document the term “message handler agent” (MHA) refers to the process in the DTE which
manages the sending and receiving of messages over the ORBCOMM network.
The modem’s purpose is to allow customer applications to send and receive messages over the
ORBCOMM network. Modems intended for use on the ORBCOMM network must implement the
ORBCOMM specified serial interface.
2.1 Link Layer
The protocol is designed exclusively for point-to-point links–only (one DTE and one modem can be
connected to the serial link). In the protocol between the modem and the DTE, a packet should be
acknowledged by the recipient before the sender may send another one. The only exception is if a
timeout has occurred. For more information on link layer timeouts, reference sections 2.3 and 2.4.
The least-significant bit of the least-significant packet byte is always transmitted first. The bytes of a
packet are transmitted without an inter-character delay—the start bit of the next byte immediately
follows the stop bit of the previous byte.
All packets begin with a Header byte (byte 0) to enable the receiver to synchronize to the packet
boundaries. Packets transmitted by the DTE shall begin with a Header byte of 0x86 and packets
transmitted by the modem shall begin with a Header byte of 0x06.1
All packets also contain a unique Packet Type identifier (byte 1) and a two-byte Length field with the LSB
located at byte 2 and the MSB located at byte 3. The value for the length is equal to all bytes within the
packet including the header byte, checksum bytes and all bytes in between. For example, the PING
PACKET in section 4.1.1.1 is always 7 bytes in length and includes the Header, the Packet Type, the two
Length Bytes, the Packet Sequence Number and the two Checksum bytes. The largest packet the OG1
protocol supports is 8192 bytes and the smallest packet is 7 bytes.
The Packet Sequence Number field of the serial interface packets (byte 4) is a unique value for each
distinct message chosen by the packet sender. Messages having the same Packet Sequence Numbers
are processed only once. Therefore, re-transmitted packets with the same Packet Sequence Number as
their immediate predecessors are not processed by the modem. A status code in the ACKNOWLEDGEMENT
PACKET indicates that the packet was a duplicate and had previously been processed.
1
Packet headers 0x85, 0x05 and the retry count byte are no longer supported.
ORBCOMM Satellite Modem Serial Interface Specification
12
12
12
NOTE
NOTE
Be aware that when the modem boots up it believes the last Packet Sequence
Number received is 0xFF; therefore, the DTE should send a Packet Sequence
Number other than 0xFF after booting up the modem.
The OG1 MO AND MT ACKNOWLEDGEMENT PACKETS are the only packets that do not
require a Packet Sequence Number.
Following the Packet Sequence Number there are N bytes of data that are different depending on the
packet’s type.
The protocol also mandates the use of a two byte modified Fletcher checksum to detect errors in the
packet bytes. This checksum is calculated over all packet bytes and is computed per section 2.2. The
following figure shows the format of a typical serial packet.
Figure 1: Typical Modem packet format2
The packets exchanged by the modem and DTE are specified in Chapter 3.
2.2 Fletcher Checksum Algorithm
The ORBCOMM serial port protocol uses FletcherEncode() to insert a checksum into a PacketBuffer and
FletcherDecode() to verify the PacketBuffer has the correct checksum.
The modified Fletcher encode algorithm used is as follows:
boolean FletcherEncode(uint8_t* PacketBuffer, uint32_t PacketBufferSize)
{
uint32_t PacketBufferIdx;
2
OG1 Acknowledgement packets are an exception and do not include a packet sequence number.
ORBCOMM Satellite Modem Serial Interface Specification
13
13
13
uint8_t ChecksumByte0 = 0;
uint8_t ChecksumByte1 = 0;
if((PacketBuffer == NULL) || (PacketBufferSize < 2))
return (FALSE);
PacketBuffer[PacketBufferSize – 1] = 0; //Set Checksum Low Byte to 0
PacketBuffer[PacketBufferSize – 2] = 0; //Set Checksum High Byte to 0
for(PacketBufferIdx = 0; PacketBufferIdx < PacketBufferSize; PacketBufferIdx++)
{
ChecksumByte0 += PacketBuffer[PacketBufferIdx];
ChecksumByte1 += ChecksumByte0;
}
//Copy the calculated checksum bytes into the serial port packet
PacketBuffer[PacketBufferSize – 2] = ChecksumByte0 – ChecksumByte1;
PacketBuffer[PacketBufferSize – 1] = ChecksumByte1 – (2 * ChecksumByte0);
return (TRUE);
}
NOTE
The last two bytes of the buffer passed by reference into the function will be
set by the function above. In addition, the buffer size must include the two
byte checksum values.
In the code above notice that the modified Fletcher encode algorithm requires
the last two bytes in the buffer to be equal to 0x00 before starting to encode.
The modified Fletcher decode algorithm used is as follows:
boolean FletcherDecode(uint8_t* PacketBuffer, uint32_t PacketBufferSize)
{
uint32_t PacketBufferIdx;
uint8_t ChecksumByte0 = 0;
uint8_t ChecksumByte1 = 0;
if(PacketBufferSize < 2)
return (FALSE);
for(PacketBufferIdx = 0; PacketBufferIdx < PacketBufferSize; PacketBufferIdx++)
{
ChecksumByte0 += PacketBuffer[PacketBufferIdx];
ORBCOMM Satellite Modem Serial Interface Specification
14
14
14
ChecksumByte1 += ChecksumByte0;
}
If(ChecksumByte0 || ChecksumByte1)
return (FALSE); //PacketBuffer Does Not Have A Valid Checksum
return (TRUE);
//PacketBuffer Has A Valid Checksum
}
2.3 Inter-Character Communications Timeout
Once the modem receives a header byte the rest of the packet is expected to be sent to the modem. If
the DTE takes more than 5ms to send any byte after the header byte, the modem will timeout and will
ignore characters until it receives a header byte. The modem will also transmit an ACKNOWLEDGMENT
PACKET to the DTE with a status code of 0x08 (packet was rejected due to an inter-character timeout
error).
2.4 Communications Timeout
To enable detection of a DTE communications failure, the modem implements a response timeout
mechanism. After transmitting a packet to the DTE, the modem will wait 1 second. Should the DTE fail
to respond within 1 second, the modem will re-transmit the packet, increment a failure count, and restart the response timer. The modem will attempt to deliver the packet nine times if the modem does
not receive a DTE ACKNOWLEDGEMENT PACKET. After the ninth time the modem will assume the DTE did
not receive the packet.3 Undelivered MT messages will be stored within the non-volatile memory of the
modem. The modem will attempt to send undelivered messages on modem boot, the next time a MT
message is received or when it receives a COMMUNICATIONS COMMAND PACKET with a command code of
0x1F (Request one MT Message/Report/Globalgram stored within the modem).
3
The timeout discussed in this paragraph excludes SET AND GET PARAMETER PACKETS, the PING PACKET and SET AND GET
MULTIPLE PARAMETERS PACKETS. The DTE does not need to respond to these packets.
ORBCOMM Satellite Modem Serial Interface Specification
15
15
15
3 Physical Layer
It is expected that the DTE will be co-located with the modem. The modem’s command port is
accessible through an asynchronous serial port. The serial port lines of the command port are at
processor logic levels. Please refer to the modem hardware specification for exact voltages. If the
desired application requires RS-232 signal levels, the DTE will have to provide line driver hardware.
While a three-wire (TxD, RxD, and ground) interface is likely to meet the requirements of nearly all
applications, flow control, if supported by the modem hardware, may be used to prevent data overruns.
This implies manipulation of the Data Terminal Ready (DTR) and Request-To-Send (RTS) lines by the DTE
and the Data Set Ready (DSR) and Clear-To-Send (CTS) lines by the DCE (modem).
3.1 Signal Description
The following section identifies the optional and mandatory signals of the modem serial interface.
Please refer to the modem hardware specification to determine which signals are supported. If a signal
is supported, it must comply with this interface specification.
NOTE
Be aware that some of the signals defined in this section have non-standard
definitions. In addition, not all signals are supported by every modem’s
hardware. Refer to the specific modem’s hardware specification to determine
which of the following signals are supported.
3.1.1 Data Terminal Ready (DTR)
If the DTR signal is supported within hardware, the DTR signal can be used for normal RS232 flow control
or it may be configured for different responsibilities depending on the Outbound Flow Control
Parameter (Parameter 38) and the Modem Power Down Mode (Parameter 47). For more information
on the non-standard options reference the ORBCOMM Satellite Modem Parameters Description
Document.
3.1.2 Request To Send (RTS) & Clear To Send (CTS)
CTS and RTS are signals that are hardware dependent. When CTS is present it is used in tandem with
RTS to monitor flow control between the modem and the DTE.
3.1.3 Carrier Detect (CD)
If CD is supported by hardware, the modem will activate the CD line whenever it is locked onto a
Satellite and is receiving Gateway Information, Downlink Channel Information and Uplink Channel
Information.
ORBCOMM Satellite Modem Serial Interface Specification
16
16
16
3.1.4 Data Set Ready (DSR)
If DSR is supported by hardware, the DSR signal can be used for normal RS232 flow control or it may be
configured to indicate queued MT messages are stored within the modem. For more information,
reference the Inbound Flow Control (parameter 39) and the DSR MT Message Alert Enabled (parameter
40) parameters located in the ORBCOMM Satellite Modem Parameters Description Document.
3.1.5 Signal Ground (SG)
Signal ground assures a common ground reference between the modem and the DTE and is present on
every modem.
3.1.6 Transmit Data (TxD)
TxD conveys serial data from the DTE to the modem and is present on every modem.
3.1.7 Received Data (RxD)
RxD conveys serial data from the modem to the DTE and is present on every modem.
3.2 UART Settings
The modem supports UART settings of no parity, 8 bit data length, 1 stop bit and various baud rates. For
more information on the baud rates the modem can support, reference the Command Serial Port Baud
Rate parameter (parameter 41) in the ORBCOMM Satellite Modem Parameters Description Document.
However, it should be noted, that all modems support the factory default baud rate of 4800 bps.
The duration of bits transmitted by the modem and the DTE will not differ by more than 1% from the
nominal duration derived from the selected baud rate.
3.3 Storage
The modem contains non-volatile memory which is dedicated to the storage of MT and MO messages.
For more information on the amount of non-volatile storage within the modem, reference the specific
modem’s hardware specification.
3.4 Modem Configuration
To support the widest variety of applications, the modem’s operational parameters are configurable.
DTE’s can access the modem’s operating parameters and internal status via the GET PARAMETER, GET
MULTIPLE PARAMETERS, SET PARAMETER, SET MULTIPLE PARAMETERS, PARAMETER RESPONSE PACKETS and MULTIPLE
PARAMETER RESPONSE PACKETS. These packets reference parameters and status information in the table via
indexes that correspond to the parameters’ locations within the table. The ORBCOMM Satellite Modem
Parameters Description Document presents the parameters and status data that are accessible in this
manner, their corresponding indexes, and their pre-set factory default values.
ORBCOMM Satellite Modem Serial Interface Specification
17
17
17
NOTE
GET MULTIPLE PARAMETERS, SET MULTIPLE PARAMETERS AND MULTIPLE PARAMETER
RESPONSE PACKETS are a part of the OG2 modem and may not be present in all
ORBCOMM modems.
ORBCOMM Satellite Modem Serial Interface Specification
18
18
18
4 Packet Descriptions & Notes
This section describes the packets available to the user on every ORBCOMM modem.
4.1 OG1 Packet Descriptions
The packets described in this section will only send data over ORBCOMM’s OG1 network. The typical
OG1 serial port packet format is shown in Figure 2. For more information on the OG1 serial port packet
breakdown refer to section 2.1. For ladder diagrams that show examples of typical DTE and modem
command response interactions refer to section 5.
Figure 2: Typical OG1 Modem packet format
NOTE
The OG1 MO AND DTE ORIGINATED ACKNOWLEDGEMENT PACKETS are the only packets
that do not require a packet sequence number.
4.1.1 Commands
The following sections describe the packets a DTE is capable of sending to the modem.
4.1.1.1 Ping Packet (Packet Type 0x00)
The PING PACKET is used as a way to test the serial connection between the DTE and the modem. The
modem will send an ACKNOWLEDGEMENT PACKET in response to a PING PACKET from the DTE.
ORBCOMM Satellite Modem Serial Interface Specification
19
19
19
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Checksum Least Significant Byte
6
Checksum Most Significant Byte
Table 1: PING PACKET Structure
4.1.1.1.1 PING PACKET STRUCTURE DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A PING PACKET always has a packet type value of
0x00.
Packet Length: Every packet has a two byte packet length. A PING PACKET will always have a packet
length of 7 bytes. Therefore byte 2 will have a value of 0x07 and byte 3 will have a value of 0x00. In
addition, notice that the packet length includes the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
NOTE
This is an ORBCOMM OG2 packet. Other modem manufacturers may or may
not support this packet.
ORBCOMM Satellite Modem Serial Interface Specification
20
20
20
4.1.1.2 DTE Originated Acknowledgement Packet (Packet Type 0x01)
The DTE ORIGINATED ACKNOWLEDGEMENT packet is sent to the modem after the DTE receives a packet from
the modem. The only exceptions are when the DTE receives a PARAMETER RESPONSE PACKET, a MULTIPLE
PARAMETER RESPONSE PACKET or a MODEM ORIGINATED ACKNOWLEDGMENT PACKET.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Status Code
5
Least Significant Byte of Checksum
6
Most Significant Byte of Checksum
Table 2: DTE ORIGINATED ACKNOWLEDGMENT PACKET Structure
4.1.1.2.1 DTE ORIGINATED ACKNOWLEDGEMENT PACKET STRUCTURE DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A DTE ORIGINATED ACKNOWLEDGEMENT PACKET always
has a packet type value of 0x014.
Packet Length: Every packet has a two byte packet length. A DTE ORIGINATED ACKNOWLEDGMENT PACKET
will always have a packet length of 7 bytes. Therefore byte 2 will have a value of 0x07 and byte 3 will
have a value of 0x00. In addition, notice that the packet length includes the checksum.
Status Code:
The following status code values are valid responses from the DTE:



0x00 – No Error
0x01 – The packet was received correctly, however, the DTE is busy and cannot process the
packet at this time. Retry the packet with a new sequence number 30 seconds later.
0x02 – 0xFF: Reserved
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
4
This is the same packet type as the Acknowledgment packet directed from the modem to the DTE
ORBCOMM Satellite Modem Serial Interface Specification
21
21
21
4.1.1.3 Configuration Packet (Packet Type 0x02)
This packet is no longer supported5,6. In order to set the Network Search Mode and Desired Gateway ID
use the SET PARAMETER PACKET. If this packet is sent to the modem the DTE should expect a MODEM
ORIGINATED ACKNOWLEDGMENT PACKET with a status code of “Packet Rejected, Unrecognized Packet Type”
(0x06).
5
The Pin Code is no longer supported by the ORBCOMM switch.
The CONFIGURATION PACKET used to allow the user to set the Pin Code, Desired Gateway ID, Gateway Search Mode
(now Network Search Mode), Default Polled, Default Acknowledgement Level, Default Report OR Indicator, Default
Priority, Default Message Body Type and Default Service Type. However, this packet has been removed since most
of previous discussed parameters are no longer supported.
6
ORBCOMM Satellite Modem Serial Interface Specification
22
22
22
4.1.1.4 Communications Command Packet (Packet Type 0x03)
The COMMUNICATIONS COMMAND PACKET allows a user to request and command the modem to do various
operations. It should be noted that communications commands are not stored in non-volatile memory
within the modem; therefore, Communications Commands do not persist over power cycles. For
example, if the modem is processing a Communications Command before the unit is powered off; the
modem will not attempt to process that Communications Command on the next power up. The
operations the Communications Command supports are listed below.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Communications Command Code
6
Communications Command Code Data Least Significant Byte
7
Communications Command Code Data Middle Least Significant Byte
8
Communications Command Code Data Middle Most Significant Byte
9
Communications Command Code Data Most Significant Byte
10
Gateway ID
11
Checksum Least Significant Byte
12
Checksum Most Significant Byte
Table 3: COMMUNICATIONS COMMAND PACKET Structure
4.1.1.4.1 COMMUNICATIONS PACKET STRUCTURE DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A COMMUNICATIONS COMMAND PACKET has a packet
type value of 0x03.
Packet Length: Every packet has a two byte packet length. A COMMUNICATIONS COMMAND PACKET will
always have a packet length of 13 bytes; therefore, byte 2 will have a value of 0x0D and byte 3 will have
a value of 0x00. In addition, notice that the packet length includes the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Communications Command Code: This bytes value determines what the modem is supposed to do
upon receiving this packet. The possible values for this byte are:
ORBCOMM Satellite Modem Serial Interface Specification
23
23
23












0x00: Request all Modem Terminated Messages/Commands queued at the ORBCOM Gateway
specified. The specified gateway number should be set in byte 10 of the Communications
Command packet. Note, that a gateway ID of 0 is not a valid gateway ID.
0x01: Request all Modem Terminated Messages/Commands Queued with a size no greater than
150 bytes at the ORBCOMM Gateway. The desired gateway should be specified in byte 10 of
the Communications Command packet. Note, that a gateway ID of 0 is not a valid gateway ID.
0x02: Request the first Globalgram with the provided gateway ID queued in the Satellite
currently communicating with the modem. The desired gateway should be specified in byte 10
of the Communications Command packet. Note, that setting a gateway ID with a value greater
than 0 is not valid for this command. This request does not perform anything if the modem is
not currently communicating with a satellite in Satellite Globalgram mode.
0x03: Request Originator Recipient addresses specified at the time of provisioning from the
gateway specified. The desired gateway should be specified in byte 10 of the Communications
Command packet. Note, that a gateway ID of 0 is not a valid gateway ID.
0x047: Request status of MO Message, Report or Globalgram identified by MHA message
reference number in value field. The MHA number to search should be specified in byte 6 of the
communications command packet.
0x05: Reserved8
0x06: Request a list of Modem Terminated Message subjects, time and list of originators that
are queued at the ORBCOMM Gateway. The desired ORBCOMM gateway should be specified in
byte 10 of the Communications Command packet. Note, that a gateway ID of 0 is not a valid
gateway ID.
0x07: Request a Single Modem Terminated Message identified by an index value. The index
value is from the position of the message subject relative to other message subjects, starting
with the value of 1. The index value should be specified in byte 6 and the desired ORBCOMM
gateway number needs to be specified in byte 10 of the Communications Command packet. The
list of subjects is obtained from sending a Communications packet with a Communications
Command Code of 0x06.
0x08: Delete one Modem Terminated message identified by an index value. The index value is
from the position of the message subject relative to other message subjects, starting with the
value of 1. The index value should be specified in byte 6 and the desired ORBCOMM gateway
number needs to be specified in byte 10 of the Communications Command packet. The list of
subjects is obtained from sending a Communications packet with a Communications Command
Code of 0x06.
0x09 – 0x0F: Reserved9,10
0x10: Request Status packet from the Modem.
0x11: Clear Active Modem Terminated or Modem Originated message being transferred
between the modem and the ORBCOMM Gateway.
7
Communications Command 0x04 is valid in version 1.5 and later of the OG2 firmware. If the firmware on the
OG2 modem is prior to version 1.5 ignore section 4.1.1.4.2.5 and reference section 4.1.1.4.2.6 for the modem’s
response.
8
Communications Command Code 0x05 allowed a user to request the status of the MO Message/Report identified
by the MHA reference number and specified gateway; however, this is no longer supported.
9
Communications Command Code 0x09 was previously a request to register with the ORBCOMM Gateway
specified in byte 10. However, this Communications Command Code has been discontinued.
10
Communications Command Codes 0x0A – 0x0F were previously generic functions but have now been changed to
reserved for backwards compatibility.
ORBCOMM Satellite Modem Serial Interface Specification
24
24
24














0x12: Clear one Modem Originated Message stored within the modem identified by the MHA
Reference Number. The MHA reference number should be specified in byte 6 of the
Communications Command packet.
0x13: Clear all Modem Originated Messages queued within the modem.
0x14: Clear all Modem Terminated Messages queued within the modem.
0x15 – 0x16: Reserved11,12
0x17: Request the modem to perform a Loop-Back Test with a specified ORBCOMM Gateway.
The desired ORBCOMM gateway number should be specified in byte 10 of the Communications
Command packet. Note, that a gateway ID of 0 is not a valid gateway ID.
o This request causes the modem to send a Report with a Speed Dial value of 0 to the
specified ORBCOMM Gateway. The Gateway will then send a command with the first 5
Report Bytes.
0x18: Commands the modem to power down until DTR transitions from inactive to active. This
command is only available with modems equipped with hardware that supports the DTR line.
0x19 – 0x1A: Reserved13,14
0x1B: Commands the modem to send a Position Report to the specified ORBCOMM Gateway
with a service type of 0x02. The desired gateway should be specified in byte 10 of the
Communications Command packet. Note, that a gateway ID of 0 is not a valid gateway ID. The
data populated within this command is from the ORBCOMM Latitude and Longitude
parameters. These values are currently not updated by the on board GPS, hardware permitting.
ORBCOMM suggests using the Position Report packet (Section 4.1.1.11) when sending GPS
information.
0x1C: Reserved15
0x1D: Force the modem to use the next Downlink.
0x1E: Command the modem to prepare for the Removal of External Power. This command is
optional; however, commanding the modem to do this prior to removing power ensures the
modem has backed up all vital information and is in an idle state.
0x1F: Request one MT Message/Report/Globalgram stored within the modem.
0x20: Have the Modem perform a software reset.
0x21– 0xFF: Reserved
Communications Command Data (bytes 6-9): Some Communication command codes require up to 4
bytes of data. Bytes 6-9 are where this data is set. The data bytes are aligned so that byte 6 is the least
significant byte. The following Communications Command Codes require data: 0x07, 0x08, 0x12 and
0x20. The modem will ignore these bytes for all other Communication Command Codes.
11
The Communications Command Code 0x15 allowed a user to request the modem perform a self-test. However,
this is no longer supported.
12
The Communications Command Code 0x16 allowed a user to request the modem perform an internal loop-back.
However, this is no longer supported.
13
Communications Command Code 0x19 use to allow the user to command the modem to power down for a
number of seconds. However, this is no longer supported.
14
Communications Command Code 0x1A use to allow the user to power down the modem for at least a number of
seconds and then awaken with the rise of the next satellite pass. However, this is no longer supported.
15
Previously commanded the modem to send Orbital Elements as a Modem Terminated Message (NASA 2-line
format, Appendix A) to the DTE; however, currently this is not supported.
ORBCOMM Satellite Modem Serial Interface Specification
25
25
25
Destination Gateway ID: This value instructs the modem that this specific command is for the
ORBCOMM Gateway ID specified. The Communication Command codes 0x00, 0x01, 0x02, 0x03, 0x06,
0x07, 0x08, 0x17 and 0x1B require this field to be populated. The modem will ignore this byte for all
other Communication Command Codes. Zero is not a valid gateway ID for commands requiring this
value. Refer to the Communications Command Code Responses section to see the error response.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
4.1.1.4.2 COMMUNICATIONS COMMAND CODE RESPONSES
After a COMMUNICATIONS COMMAND PACKET is received by the modem, the modem will immediately
respond with an ACKNOWLEDGEMENT PACKET. If the status code is 0x00 (success), then the DTE could
expect another response from the modem at some later time depending on the Command Code. This
section describes what the DTE should expect from the modem after the ACKNOWLEDGEMENT PACKET.
4.1.1.4.2.1 Responses to Command Code 0x00




If there are Modem Terminated Messages/Commands at the specified gateway then the
modem will send the DTE the Modem Terminated Messages/Commands.
If the specified gateway does not have any Modem Terminated Messages/Commands then the
modem will send the DTE a SYSTEM RESPONSE PACKET with the following values:
o Acknowledgement Originator: ORBCOMM Gateway (0x01)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: No Modem Terminated Messages/Commands Queued in
ORBCOMM Gateway (0x77)
If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter 0x0B
If the modem is unable to obtain a response from the gateway for whatever reason the modem
will send a SYSTEM RESPONSE PACKET to the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: For more details reference the SYSTEM RESPONSE PACKET.
4.1.1.4.2.2 Responses to Command Code 0x01


If there are Modem Terminated Messages/Commands that are no greater than 150 bytes at the
specified gateway then the modem will send the DTE the Modem Terminated
Messages/Commands.
If the specified gateway does not have any Modem Terminated Messages/Commands that are
no greater than 150 bytes then the modem will send the DTE a SYSTEM RESPONSE PACKET with the
following values:
o Acknowledgement Originator: ORBCOMM Gateway (0x01)
o Status of Message Transfer: Response to a Communications Command (0x0B)
ORBCOMM Satellite Modem Serial Interface Specification
26
26
26
o


Message Transfer Diagnostic: No Modem Terminated Messages/Commands of size less
than 150 bytes queued in ORBCOMM Gateway (0x78)
If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
If the modem is unable to obtain a response from the gateway for whatever reason the modem
will send a SYSTEM RESPONSE PACKET to the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: This value should describe the issue. For more details
reference the System Response packet.
4.1.1.4.2.3 Response to Command Code 0x02





If there are Globalgrams stored within the satellite and the satellite is in Satellite Globalgram
Mode then the modem will send the DTE a MODEM TERMINATED GLOBALGRAM PACKET.
If the specified satellite does not have any Modem Terminated Globalgrams and the satellite is
in Satellite Globalgram Mode, then the modem will send the DTE a SYSTEM RESPONSE PACKET with
the following values:
o Acknowledgement Originator: Satellite (0x00)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: No Globalgrams queued in current satellite (0x79)
If the current satellite communicating with the modem can communicate with an ORBCOMM
gateway, then the satellite is not in Satellite Globalgram Mode and the modem will send a
SYSTEM RESPONSE PACKET to the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Globalgram is not permitted at this time (0x72)
If the modem is unable to obtain a response from the satellite for whatever reason the modem
will send a SYSTEM RESPONSE PACKET to the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: This value should describe the issue. For more details
reference the System Response packet.
If the user specifies a gateway ID other than 0 the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
4.1.1.4.2.4 Response to Command Code 0x03


If successful the modem will send a MT MESSAGE PACKET containing the ASCII Originator Recipient
addresses to the DTE
If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
ORBCOMM Satellite Modem Serial Interface Specification
27
27
27

o Message Transfer Diagnostic: Invalid Parameter (0x0B)
If the modem does not receive a MT message then the modem will return a SYSTEM RESPONSE
PACKET to the DTE with the following data:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: This value will give more information of why the modem
did not receive a MT message. For more details reference the System Response packet.
4.1.1.4.2.5 Response to Command Code 0x04


If there is a message stored in the modem with the specified MHA number the modem will
return the following SYSTEM RESPONSE PACKET to the DTE:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Message Received By Acknowledgement Originator (0x0F)
o Message Transfer Diagnostic: No Additional Diagnostic Information Indicated (0x70)
If the modem does not have a stored message with the provided MHA number, then the
modem will return the following SYSTEM RESPONSE PACKET to the DTE:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Status Unknown (0x0C)
o Message Transfer Diagnostic: No Active Session or MO Message MHA Number Error
(0x6D)
4.1.1.4.2.6 Response to Command Code 0x05

The modem will always return the following SYSTEM RESPONSE PACKET to the DTE16:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
4.1.1.4.2.7 Response to Command Code 0x06




If there are Modem Terminated Messages at the specified gateway then the modem will send
the DTE a MODEM TERMINATED MESSAGE PACKET containing the list of originators, the time the MT
message was received and the subject for each message.
If there are no Modem Terminated Messages at the specified gateway then the modem will
send a SYSTEM RESPONSE PACKET to the DTE with the following values:
o Acknowledgement Originator: ORBCOMM Gateway (0x01)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: No Modem Terminated Messages/Commands Queued in
Specified ORBCOMM Gateway (0x77)
If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
If the modem is unable to obtain a response from the satellite for whatever reason the modem
will send a SYSTEM RESPONSE PACKET to the DTE with the following values:
16
This communications command code is no longer supported but will still return a system response for backwards
compatibility
ORBCOMM Satellite Modem Serial Interface Specification
28
28
28
o
o
o
Acknowledgement Originator: Modem (0x03)
Status of Message Transfer: Response to a Communications Command (0x0B)
Message Transfer Diagnostic: This value should describe the issue. For more details
reference the System Response packet.
4.1.1.4.2.8 Response to Command Code 0x07



If the requested Modem Terminated Messages is stored at the specified gateway then the
modem will send the DTE the requested MODEM TERMINATED MESSAGE PACKET.
If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
If the modem is unable to obtain a response from the satellite for whatever reason the modem
will send a SYSTEM RESPONSE PACKET to the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: This value should describe the issue. For more details
reference the System Response packet.
4.1.1.4.2.9 Response to Command Code 0x08



If the requested Modem Terminated Message is stored at the specified gateway and
successfully deleted then the modem will send the DTE a SYSTEM RESPONSE PACKET with the
following values:
o Acknowledgement Originator: ORBCOMM Gateway (0x01)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Requested Message Deleted (0x7A)
If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter 0x0B
If the modem is unable to obtain a response from the satellite for whatever reason the modem
will send a SYSTEM RESPONSE PACKET to the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: This value should describe the issue. For more details
reference the System Response packet.
4.1.1.4.2.10 Response to Command Codes 0x09 to 0x0F

The modem will always return the following SYSTEM RESPONSE PACKET to the DTE:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
4.1.1.4.2.11 Response to Command Code 0x10

If the COMMUNICATIONS COMMAND PACKET is sent to the modem it will send a STATUS PACKET to the
DTE.
ORBCOMM Satellite Modem Serial Interface Specification
29
29
29
4.1.1.4.2.12 Response to Command Code 0x11

If successful the modem will not send an additional response to the DTE.
4.1.1.4.2.13 Response to Command Code 0x12


If successful the modem will not send an additional response to the DTE.
If the MHA reference number sent to the modem does not exist then the modem will send a
SYSTEM RESPONSE PACKET with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: No Active Session or MO Message MHA Reference
Number Error (0x6D)
4.1.1.4.2.14 Response to Command Code 0x13 – 0x14

The modem will not send an additional response to the DTE.
4.1.1.4.2.15 Response to Command Code 0x15 – 0x16

The modem will always send a Status packet to the DTE.17
4.1.1.4.2.16 Response to Command Code 0x17


The modem will always send a STATUS PACKET to the DTE.
o If successful both the Modem State and Modem Diagnostic Code will be 0x00 within the
Status packet.
o If unsuccessful the Modem Diagnostic Code will have an error value. For more details
reference the Status packet.
If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter 0x0B
4.1.1.4.2.17 Response to Command Code 0x18

The modem will not send any additional responses to the DTE.
o The modem will only turn off if the hardware supports DTR.
4.1.1.4.2.18 Response to Command Code 0x19 – 0x1A

The modem will not send any additional responses to the DTE.18
4.1.1.4.2.19 Response to Command Code 0x1B

If the user specifies an invalid gateway ID then the modem will send a SYSTEM RESPONSE PACKET to
the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter 0x0B
17
Although Communications Command Codes 0x15 and 0x16 are no longer supported they will return a Status
packet to maintain backwards compatibility. Note, the state and diagnostic code may not match previous versions.
18
These Communications Command Codes are no longer supported so the modem will not turn off as it previously
supported.
ORBCOMM Satellite Modem Serial Interface Specification
30
30
30


If the modem does not have a valid GPS position or the modem is unable to store the GPS
position report the modem will send a SYSTEM RESPONSE PACKET to the DTE with the following
values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Position Determination is Unavailable (0x75)
If there are no errors the modem will send a POSITION REPORT PACKET with a service type of 0x02
immediately. The modem will then send a SYSTEM RESPONSE PACKET to the DTE on completion.
4.1.1.4.2.20 Response to Command Code 0x1C

The modem will always return the following SYSTEM RESPONSE PACKET to the DTE:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
4.1.1.4.2.21 Response to Command Code 0x1D

The modem will not send any additional responses to the DTE.
4.1.1.4.2.22 Response to Command Code 0x1E

Once the modem has finished servicing this message the modem will send a SYSTEM RESPONSE
PACKET to the DTE with the following values:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Ready for Power Removal (0x81)
4.1.1.4.2.23 Response to Command Code 0x1F


This command will send one MT MESSAGE/REPORT/GLOBALGRAM/COMMAND PACKET to the DTE if
there are any stored within the modem.
If there are no MT Messages/Reports/Globalgrams/Commands stored within the modem then
there will be no more additional packets sent to the DTE by the modem.
4.1.1.4.2.24 Response to Command Code 0x20

This command will tell the modem to perform a software reset. If byte 6 is 0x55, perform a
software reset and remain in bootloader.
4.1.1.4.2.25 Response to Command Code 0x21 – 0xFF

The modem will always return the following SYSTEM RESPONSE PACKET to the DTE:
o Acknowledgement Originator: Modem (0x03)
o Status of Message Transfer: Response to a Communications Command (0x0B)
o Message Transfer Diagnostic: Invalid Parameter (0x0B)
ORBCOMM Satellite Modem Serial Interface Specification
31
31
31
4.1.1.5 Modem Originated Message Packet (Packet Type 0x06)
Sending a MODEM ORIGINATED MESSAGE PACKET to the modem will cause the modem to store the message
within persistent memory. The values set within the MODEM ORIGINATED MESSAGE PACKET determine how
the message is handled. Once the message is successfully transmitted to the specified gateway, the
modem will send the DTE a SYSTEM RESPONSE PACKET (Section 4.2.2.2) if the user specified a gateway
acknowledgment level of 0x01 or 0x02, then delete the message from persistent memory.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Destination Gateway ID
6
Polled By Gateway Or Transmit By Modem
7
Gateway Acknowledgement Level
8
Message Priority
9
Message Body Type
10
MHA Reference Number
11
Recipient Quantity
12
Subject Indicator
13
Recipient Addresses Byte 0
14
Optional – Recipient Addresses Byte 1
14+N
Optional - Recipient Addresses Byte N
(14+N)+1
(14+N)+(L+1)+1
Optional - Subject String Byte 0 of (N+1) bytes
Message Body Byte 0 of (L+1) bytes
(14+N)+(L+1)+(K+1)+1 Checksum Least Significant Byte
(14+N)+(L+1)+(K+1)+2 Checksum Most Significant Byte
Table 4: MODEM ORIGINATED MESSAGE PACKET Structure
4.1.1.5.1 MODEM ORIGINATED MESSAGE PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A MODEM ORIGINATED MESSAGE PACKET has a packet
type value of 0x06.
ORBCOMM Satellite Modem Serial Interface Specification
32
32
32
Packet Length: Every packet has a two byte packet length. A MODEM ORIGINATED MESSAGE PACKET is
variable length. The maximum size of this packet is 8192 bytes. A packet length greater than 8192 bytes
will be acknowledged with a status code of “Packet Rejected, Message Size Exceeds Queue Capacity”
(0x04).
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Destination Gateway ID: This value instructs the modem that this specific message is for the
ORBCOMM Gateway ID specified. Zero is not a valid gateway ID and the modem will reply with an
Acknowledgement packet with the status of 0x03 if the gateway ID is zero.
Polled By Gateway or Transmit by Modem: The value set here determines whether the message
remains within the modem until the specific ORBCOMM Gateway specified in byte 5 polls for the
message or if the modem attempts to transmit the message immediately. The valid values for this byte
are:


0x00 – Modem attempts to transmit Message immediately
0x01 – Message is stored within the modem until the specific ORBCOMM Gateway in byte 5
polls the Modem for messages.
Gateway Acknowledgment Level: The value set here determines what type of acknowledgement the
modem will receive after a message is sent. The valid values for this byte are19:



0x00 – No Acknowledgement Expected
0x01 – Only Non-Delivery to ORBCOMM Gateway Acknowledged
0x02 – Delivery to ORBCOMM Gateway Acknowledged
Message Priority: The value set in this byte determines at what priority the Modem attempts to send
the message. Valid values are:




0x00 – Non-Urgent (Lowest Priority)
0x01 – Normal
0x02 – Urgent
0x03 – Special Delivery (Highest Priority)
Message Body Type: Valid message body types are:

0x00 – IA5TEXT
o This body type is used to send plain text to a recipient. Each character must be from
0x00 to 0x7F
o If IA5TEXT is specified, the first byte of the message body must be 0x05.
19
In previous versions of the serial interface specification values 0x03 – Only Non-Delivery to Recipient
Acknowledged and 0x04 – Delivery to Recipient Acknowledged were also supported. These values no longer
supported. However, the modem will accept the message but will never return a recipient acknowledgment.
ORBCOMM Satellite Modem Serial Interface Specification
33
33
33

0x0E –Binary Data
o This body type is used to send application specific binary data using 8 bit data bytes
o No byte is placed in the first byte of the Message Body described later.
MHA Reference Number: A number from 0 – 254 chosen by the DTE to identify a specific message. If
there is already a Message/Report/Globalgram stored within the modem that has the same MHA
Reference number as a new packet, then the new packet will be rejected and the modem will send an
Acknowledgment packet with status code “Packet Rejected, Message/Report/Globalgram Duplicate
MHA Reference Number” (0x0C).
Recipient Quantity: The number of recipient addresses within this message. The maximum number is 6
recipient addresses/speed dial values and one originator address/speed dial values for a total maximum
number of 7. The value can be zero.
Subject Indicator: This byte specifies whether there is a subject within this message or not. Valid values
for this byte are:


0x00 – Message Does Not Contain a Subject
0x01 – Message Contains a Subject
Recipient Address String(s):










A recipient address can be either a speed dial value or an explicit address.
An explicit address must be an ASCII character string which adheres to the SMTP standard
syntax. A 0x00, 0x80 or 0x90 must follow the last character of the string to indicate that the
explicit address identifies a primary, blind, or copied recipient, respectively.
If the lower nibble of the recipient speed dial value is set to 0 the user is requesting a message
loopback; the ORBCOMM Gateway sends the received message back to the modem.
If the lower nibble of the Recipient speed dial value is set to 1-8 then the message will be sent to
the email address set up during provisioning.
Recipient speed dial values 9-15 are reserved for ORBCOMM use.
The upper nibble of the Recipient speed dial value is set to 0, 8, or 9 to indicate that the
recipient speed dial value identifies a primary, blind, or copied recipient, respectively.
Explicit addresses and recipient speed dial values are placed sequentially in the packet, without
the use of length fields.
The maximum explicit address length is 128 characters (all addresses included).
The maximum quantity of explicit addresses and/or speed dial values per message is 7.
There must be at least 1 originator recipient address or recipient speed dial value.
Subject String: The subject string specifies the subject of the message and is an ASCII string with a
maximum size of 80 bytes that is null-terminated. The null at the end of the string is included within the
80 byte limit. In addition, a subject should only be set within the message if the subject indicator (byte
12) was set to 0x01.
ORBCOMM Satellite Modem Serial Interface Specification
34
34
34
Message Body: This contains the message data. If the Message Body Type is 0x00 (IA5TEXT) then the
first byte of the message body must be 0x05.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
4.1.1.5.2 EXAMPLE OF A MO MESSAGE
In the following example of an MO Message, the message has no subject, includes a message body of
"Hello”, five recipients identified by speed dial Value 1 (primary), speed dial Value 2 (primary), nullterminated explicit address "SALLY" (primary), null-terminated explicit address "BILL" (blind), and speed
dial value 7 (blind). These bytes would be present in the MO Message packet user data fields, bytes 13
up to the Fletcher checksum.
Hex and text representation:
Index
Byte
Value
Description
9
0x00
IA5TEXT
10
0x00
0
MHA Reference Number
11
0x05
5
Recipient Quantity
12
0x00
No Subject
13
0x01
1
1st Recipient, Speed Dial 1
14
0x02
2
2nd Recipient, Speed Dial 2
15
0x53
'S'
16
0x41
'A'
17
0x4C
'L'
18
0x4C
'L'
19
0x59
'Y'
20
0x00
NUL
21
0x42
'B'
Message Body Type
Subject Indicator
3rd Recipient address
22
0x49
'I'
23
0x4C
'L'
24
0x4C
'L'
25
0x80
Blind Termination
26
0x87
Blind 7
27
0x05
5
28
0x48
'H'
29
0x65
'e'
30
0x6C
'l'
31
0x6C
'l'
32
0x6F
'o'
4th Recipient, BCC
5th Recipient, Blind Speed Dial 7
Message Body Type defined as IA5TEXT, so 0x05 must begin
message body
Table 5: An Example of a MO MESSAGE PACKET
ORBCOMM Satellite Modem Serial Interface Specification
35
35
35
4.1.1.6 Modem Originated Default Message (Packet Type 0x07)
The modem no longer supports this packet. If this packet is sent to the modem the DTE should expect a
MODEM ORIGINATED ACKNOWLEDGMENT packet with a status code of 0x06.
ORBCOMM Satellite Modem Serial Interface Specification
36
36
36
4.1.1.7 Modem Originated Report Packet (Packet Type 0x08)
Sending a MODEM ORIGINATED REPORT PACKET to the modem will cause the modem to store the report
within persistent memory. The values set within the MODEM ORIGINATED REPORT PACKET determine how
the message is handled by the modem and the gateway. Once the message is successfully transmitted
to the specified gateway the modem will delete the message from persistent memory.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Destination Gateway ID
6
Polled By Gateway Or Transmit By Modem
7
Service Type
8
Originator Recipient Speed Dial Value
9
MHA Reference Number
10
User Data Byte 0
11
User Data Byte 1
12
User Data Byte 2
13
User Data Byte 3
14
User Data Byte 4
15
User Data Byte 5
16
Checksum Least Significant Byte
17
Checksum Most Significant Byte
Table 6: MODEM ORIGINATED REPORT PACKET Structure
4.1.1.7.1 MODEM ORIGINATED REPORT PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A MODEM ORIGINATED REPORT PACKET has a packet
type value of 0x08.
Packet Length: Every packet has a two byte packet length. A MODEM ORIGINATED REPORT PACKET is always
18 bytes. Therefore, byte 2 should equal 0x12 and byte 3 should equal 0x00.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
ORBCOMM Satellite Modem Serial Interface Specification
37
37
37
Destination Gateway ID: This value instructs the modem that this specific message is for the
ORBCOMM Gateway ID specified. Zero is not a valid gateway ID and the modem will reply with an
Acknowledgement packet with the status of 0x03 if the gateway ID is set to 0.
Polled By Gateway or Transmit by Modem: The value set here determines whether the message
remains within the modem until the specific ORBCOMM Gateway specified in byte 5 polls for the
message or if the modem attempts to transmit the message immediately. The valid values for this byte
are:


0x00 – Modem attempts to transmit Message immediately
0x01 – Message is stored within the modem until the specific ORBCOMM Gateway in byte 5
polls the Modem for messages.
Service Type: The service type value determines what is sent back from the gateway, after a report is
transmit and received by the desired gateway.
The valid values for this byte are:










0x00: Normal priority, no acknowledgment expected
0x01: Normal priority, only non-delivery to ORBCOMM Gateway acknowledged acknowledgement generated by the modem based on lack of communication with satellite or
ORBCOMM Message Switch (OMS)
0x02: Normal priority, delivery to ORBCOMM Gateway acknowledged
0x03 – 0x04: Reserved20,21
0x05: Same as 0x00, but indicates report sent in response to poll from ORBCOMM Gateway
0x06: Same as 0x01, but indicates report sent in response to poll from ORBCOMM Gateway
0x07: Same as 0x02, but indicates report sent in response to poll from ORBCOMM Gateway
0x08 – 0x09: Reserved22,23
0x0A: Special delivery priority, no acknowledgment expected
0x0B: Special delivery priority, only non-delivery to ORBCOMM Gateway acknowledged.
20
A service type of 0x03, normal priority, only non-delivery to recipient acknowledged (from X.400 MTA, via
Internet, acknowledgement comes from Simple Mail Transfer Protocol (SMTP) Gateway) is no longer supported. If
a report with this service type is sent to the modem the MO report will be sent; however, the modem will not
receive a recipient acknowledgement packet.
21
A service type of 0x04, normal priority, delivery to recipient acknowledged is no longer supported. If a report
with this service type is sent to the modem the MO report will be sent; however, the modem will not receive a
recipient acknowledgement packet.
22
A service type of 0x08 was the same as 0x03, but indicated a report sent in response to a poll from the
ORBCOMM Gateway is no longer supported. If a report with this service type is sent to the modem the MO report
will be sent; however, the modem will not receive a recipient acknowledgement packet.
23
A service type of 0x09, was the same as 0x04, but indicated a report sent in response to a poll from the
ORBCOMM Gateway is no longer supported. If a report with this service type is sent to the modem the MO report
will be sent; however, the modem will not receive a recipient acknowledgement packet.
ORBCOMM Satellite Modem Serial Interface Specification
38
38
38
 0x0C – 0x0F: Reserved24,25,26,27
Originator Recipient Speed Dial Value: Is a value that represents an address that is specified at the time
of provisioning. Valid values for this byte are:


0x00: Loop Back Test
o The ORBCOMM Gateway will send the first five bytes of the received Report back to the
modem in a User Command28 (with no acknowledgement expected).
0x01 – 0x03: User pre-defined address specified at the time of provisioning.
MHA Reference Number: A number from 0 – 254 chosen by the DTE to identify a specific message. If
there is already a Message/Report/Globalgram stored within modem storage that has the same MHA
Reference number as a new packet then the new packet will be rejected and the modem will send an
Acknowledgment response with status code 0x0C.
User Data (Bytes 10 – 15): 6 bytes that must be specified by the user.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
24
A service type of 0x0C, special delivery priority, delivery to ORBCOMM Gateway acknowledged is no longer
supported. If a report with this service type is sent to the modem the MO report will be sent; however, the
modem will not receive a recipient acknowledgement packet.
25
A service type of 0x0D, special delivery priority, only non-delivery to recipient acknowledged, is no longer
supported. If a report with this service type is sent to the modem the MO report will be sent; however, the
modem will not receive a recipient acknowledgement packet.
26
Service type 0x0E, special delivery priority, delivery to recipient acknowledged, is no longer supported. If a
report with this service type is sent to the modem the MO report will be sent; however, the modem will not
receive a recipient acknowledgement packet.
27
Service type 0x0F, cancel previous special delivery report (acknowledgment of delivery or non-delivery to
recipient is no longer supported. If a report with this service type is sent to the modem the MO report will be sent;
however, the modem will not receive a recipient acknowledgement packet.
28
Because a MT command can only contain 5 bytes, only the first 5 bytes of the report will be retransmitted back
by the gateway.
ORBCOMM Satellite Modem Serial Interface Specification
39
39
39
4.1.1.8 Modem Originated Default Report Packet (Packet Type 0x09)
The modem no longer supports this packet. If this packet is sent to the modem the DTE should expect a
MODEM ORIGINATED ACKNOWLEDGMENT packet with a status code of 0x06.
ORBCOMM Satellite Modem Serial Interface Specification
40
40
40
4.1.1.9 Modem Originated Globalgram Packet (Packet Type 0x0A)
Sending a MODEM ORIGINATED GLOBALGRAM PACKET to the modem will cause the modem to store the
Globalgram within persistent memory. The values set within the MODEM ORIGINATED GLOBALGRAM PACKET
determine how the message is handled by the modem and the gateway. Globalgrams are sent by the
modem when it is connected to a satellite that is not simultaneously connected to a gateway. Once the
Globalgram is acknowledged by the satellite, the Globalgram is deleted from persistent memory, the
modem will send a SYSTEM RESPONSE PACKET to the DTE and the satellite will store the Globalgram until it
comes within view of the destination gateway. Once the satellite is in view of the specified within the
MOBILE ORIGINATED GLOBALGRAM PACKET, the Globalgram will be sent by the satellite to the gateway.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Destination Gateway ID
6
MHA Reference Number
7
Speed Dial Value
8
User Data Byte 0
8+N
Optional-User Data Byte N
9+N
Checksum Least Significant Byte
10+N
Checksum Most Significant Byte
Table 7: MODEM ORIGINATED GLOBALGRAM PACKET Structure
4.1.1.9.1 MODEM ORIGINATED GLOBALGRAM PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A MODEM ORIGINATED GLOBALGRAM PACKET has a
packet type value of 0x0A.
Packet Length: Every packet has a two byte packet length. A MODEM ORIGINATED GLOBALGRAM PACKET can
be a maximum of 239 bytes and the minimum packet size is 11 bytes.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Destination Gateway ID: This value instructs the modem that this specific message is for the
ORBCOMM Gateway ID specified. Zero is not a valid gateway ID and the modem will reply with an
acknowledge message with the status of 0x03 if the gateway ID is set to zero
ORBCOMM Satellite Modem Serial Interface Specification
41
41
41
MHA Reference Number: A number from 0 – 254 chosen by the DTE to identify a specific message. If
there is already a Message/Report/Globalgram stored within modem storage that has the same MHA
Reference number as a new packet then the new packet will be rejected and the modem will send an
Acknowledgment response with status code 0x0C.
Recipient Speed Dial: A value that represents an address that is specified at the time of provisioning.
Valid values for this byte are:



0x00: Reserved29
0x01 – 0x08: User pre-defined addresses specified at the time of provisioning.
0x09 – 0x0F: Reserved for ORBCOMM use.
User Data (Bytes (N+8) – (N+9)): Between 1 and 229 bytes that are specified by the user. If the number
of user bytes is greater than 229 the modem will respond with a System Status packet that will describe
the error.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
29
This used to allow the user to perform a Globalgram loop back test. The satellite does not allow a Globalgram
loop back test therefore it is no longer supported.
ORBCOMM Satellite Modem Serial Interface Specification
42
42
42
4.1.1.10
Position Determination Packet (Packet Type 0x0F)
This packet was replaced by UPDATE GPS POSITION PACKET (Packet Type 0x22). If the modem is sent this
packet the modem will return an ACKNOWLEDGEMENT PACKET with a status of “Packet Rejected, Packet
Type Not Applicable or Not Supported by Hardware” (0x0B).
ORBCOMM Satellite Modem Serial Interface Specification
43
43
43
4.1.1.11
Modem Originated Position Report (Packet Type 0x11)
Sending a MODEM ORIGINATED POSITION REPORT PACKET to the modem will cause the modem to store the
position report within persistent memory. The values set within the MODEM ORIGINATED POSITION REPORT
PACKET determine how the message is handled by the modem and the gateway. Once the message is
transmitted to the specified gateway, the modem will delete the message from persistent memory.
It should be noted that the speed dial value for the MODEM ORIGINATED POSITION REPORT PACKET must be
set within the modem parameters prior to sending this packet to the modem. The parameter that must
be set is POSITION REPORT SPEED DIAL VALUE (parameter 87). This can be done by using a SET
PARAMETER PACKET described in section 4.1.1.13. It should also be noted that the service type for a
MODEM ORIGINATED POSITION REPORT PACKET is always 0x02 and the MO POSITION REPORT PACKET will be sent
to the gateway specified in DESIRED GATEWAY ID (parameter 1).
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
MHA Reference Number
6
Encoded Latitude Byte 0 (LSB)
7
Encoded Latitude Byte 1
8
Encoded Latitude Byte 2 (MSB)
9
Encoded Longitude Byte 0 (LSB)
10
Encoded Longitude Byte 1
11
Encoded Longitude Byte 2 (MSB)
12
Checksum Least Significant Byte
13
Checksum Most Significant Byte
Table 8: MODEM ORIGINATED POSITION REPORT PACKET Structure
4.1.1.11.1 MODEM ORIGINATED POSITION REPORT PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A MODEM ORIGINATED POSITION REPORT PACKET has a
packet type value of 0x11.
Packet Length: Every packet has a two byte packet length. A MODEM ORIGINATED POSITION REPORT PACKET
is always 14 bytes. Therefore, byte 2 should equal 0x0E and byte 3 should equal 0x00.
ORBCOMM Satellite Modem Serial Interface Specification
44
44
44
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
MHA Reference Number: A number from 0 – 254 chosen by the DTE to identify a specific message. If
there is already a Message/Report/Globalgram stored within modem storage that has the same MHA
Reference number as a new packet then the new packet will be rejected and the modem will send an
Acknowledgment response with status code 0x0C.
Encoded Latitude (Bytes 6 – 8): This is ORBCOMM’s method of representing the Earth’s Latitude within
a 24 bit number. The least significant byte is byte 6 and the most significant byte is byte 8. The
resolution of the Latitude is 1.2 meters; a value of 0 represents the North Pole and a value of 0x0FFFFFF
represents the South Pole. The algorithm to convert between Encoded Latitude and Geodetic Latitude is
located in Section 6.
Encoded Longitude (Bytes 9 – 11): This is ORBCOMM’s method of representing the Earth’s Longitude
within a 24 bit number. The least significant byte is byte 9 and the most significant byte is byte 11. The
resolution of the Longitude is 2.4 meters and a value of 0 represents the Greenwich Meridian and as the
values increase they move in an eastern direction. The algorithm to convert between Encoded Latitude
and Geodetic Latitude is located in Section 6.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
45
45
45
4.1.1.12
Get Modem Parameter Packet (Packet Type 0x12)
The modem allows access to several parameters. The contents of these parameters can be viewed by
sending the GET PARAMETER PACKET to the modem. For more information on the modem parameters refer
to the ORBCOMM Generation 2 Parameters Specification. If successful the modem will reply with a
PARAMETER RESPONSE PACKET. Otherwise, the modem will reply with an ACKNOWLEDGEMENT PACKET with a
status code greater than 0.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Parameter Number
6
Checksum Least Significant Byte
7
Checksum Most Significant Byte
Table 9: GET MODEM PARAMETER PACKET Structure
4.1.1.12.1 GET MODEM PARAMETER PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A GET MODEM PARAMETER PACKET has a packet type
value of 0x12.
Packet Length: Every packet has a two byte packet length. A GET MODEM PARAMETER PACKET is always 8
bytes. Therefore, byte 2 should equal 0x08 and byte 3 should equal 0x00.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Parameter Number: This byte is the parameter number to request. The acceptable parameter values
are located in the ORBCOMM Generation 2 Parameters Specification.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
46
46
46
4.1.1.13
Set Modem Parameter Packet (Packet Type 0x13)
The modem allows the user to set several parameters. In order to set a parameter the SET MODEM
PARAMETER PACKET must be sent to the modem. For more information on which parameters are available
refer to the ORBCOMM Generation 2 Parameters Specification. If successful the modem will reply with a
PARAMETER RESPONSE PACKET. Otherwise, the modem will reply with an ACKNOWLEDGEMENT PACKET with a
status code greater than 0.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Parameter Number
6
Parameter Data Size N
6+N
Parameter Data Byte N
7+N
Checksum Least Significant Byte
8+N
Checksum Most Significant Byte
Table 10: SET MODEM PARAMETER PACKET Structure
4.1.1.13.1 SET MODEM PARAMETER PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A SET MODEM PARAMETER PACKET has a packet type
value of 0x13.
Packet Length: Every packet has a two byte packet length. A SET MODEM PARAMETER PACKET is variable
depending on the parameter’s data size.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Parameter Number: This byte is the parameter number to request to set. The parameters that are
editable through the DTE interface are shown in the ORBCOMM Generation 2 Parameters Specification.
Parameter Data Size N: N is the number of parameter data bytes within the packet. This value must
equal the size of the parameter described in the ORBCOMM Generation 2 Parameters Specification.
Parameter Data Bytes: The N number of data bytes that are stored within the modem’s parameter.
The first byte after Parameter Data Size is the least significant byte of the data stored within the
parameter.
ORBCOMM Satellite Modem Serial Interface Specification
47
47
47
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
48
48
48
4.1.1.14
Get Multiple Parameters Packet (Packet Type 0x19)
The GET MULTIPLE PARAMETERS PACKET is sent to the DTE from the modem to request the values of multiple
parameters at once. Currently the maximum number of parameters allowed to be retrieved at once is
45. If any of the parameter numbers are incorrect, then the modem will return a MULTIPLE PARAMETER
RESPONSE PACKET with an error status and no data. For more information on which parameters are
available refer to the ORBCOMM Generation 2 Parameters Specification.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Reserved
6
Reserved
7
Reserved
8
Reserved
9
N Number of Parameters to Get
10
Parameter Number List
10+N
Checksum Least Significant Byte
11+N
Checksum Most Significant Byte
Table 11: GET MULTIPLE PARAMETER PACKET Structure
4.1.1.14.1 GET MULTIPLE PARAMETERS PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command Packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A GET MULTIPLE PARAMETERS PACKET always has a
packet type value of 0x19.
Packet Length: Every packet has a two byte packet length. A GET MULTIPLE PARAMETER PACKET is variable
in length. The length includes the size of the checksum. The maximum length of this packet is currently
set at 57 bytes.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Reserved (Bytes 5 – 8): Set these bytes to 0x00.
ORBCOMM Satellite Modem Serial Interface Specification
49
49
49
N Number of Parameters to Get: The number of parameter numbers that the DTE requests the modem
to retrieve. If this byte is set to 0x00 the modem will send back an MO Acknowledgement packet with a
status of Packet Rejected, Invalid Packet Parameter Received (0x03).
Parameter Number List: A list of single byte parameter numbers in the order the DTE wants retrieved.
For example, to read the Desired Gateway(1) and the Satellite ID In View(15) the message starting at
byte 9 would be:
byte
9
10
11
12
Value
0x02
0x01
0x15
checksum
Description
N Number of Parameters to Get
Desired Gateway
Satellite ID In View
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
NOTE
This is an ORBCOMM OG2 packet. Other modem manufacturers may or may
not support this packet.
ORBCOMM Satellite Modem Serial Interface Specification
50
50
50
4.1.1.15
Set Multiple Parameters Packet (Packet Type 0x20)
The SET MULTIPLE PARAMETERS PACKET is sent to the DTE from the modem to set the values of multiple
parameters at once. This packet will only allow the parameter data block to be a maximum of 128 bytes
in length. If any of the parameter numbers or values are incorrect, then the modem will return a
MULTIPLE PARAMETER RESPONSE PACKET with an error status and none of the parameters will be set. For
more information on which parameters are available refer to the ORBCOMM Generation 2 Parameters
Specification.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Reserved
6
Reserved
7
Reserved
8
Reserved
9
Number of Parameters to Set
10
Parameter Data Block(N Bytes)
10+N
Checksum Least Significant Byte
11+N
Checksum Most Significant Byte
Table 12: SET MULTIPLE PARAMETERS PACKET Structure
4.1.1.15.1 SET MULTIPLE PARAMETER PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Command packets have a packet
header of 0x86.
Packet Type: Every packet has a specific packet type. A SET MULTIPLE PARAMETERS PACKET always has a
packet type value of 0x20.
Packet Length: Every packet has a two byte packet length. A SET MULTIPLE PARAMETERS PACKET is variable
in length. The length includes the size of the checksum. The maximum length of this packet is 141
bytes.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Reserved (Bytes 5 – 8): Set these bytes to 0x00.
ORBCOMM Satellite Modem Serial Interface Specification
51
51
51
Number of Parameters to Set: The number of parameters set within this packet. If this byte is set to
0x00 the modem will send back an MO ACKNOWLEDGEMENT PACKET with a status of 0x03.
Parameter Data: The Parameter data should be formatted in the following way:
Byte Offset
Packet Structure
10
Parameter Number 0
11
Parameter Number 0's Value Byte 0 (LSB)
12
Parameter Number 0's Value Byte 1 (MSB)
.
.
.
.
N-1
N
Parameter Number K
Parameter Number K's Value Byte 0
Table 13: SET MULTIPLE PARAMETERS PACKET DATA FORMAT
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
NOTE
This is an ORBCOMM OG2 packet. Other modem manufacturers may or may
not support this packet.
ORBCOMM Satellite Modem Serial Interface Specification
52
52
52
4.1.1.16
Update GPS Position Packet (Packet Type 0x22)
The UPDATE GPS POSITION PACKET allows the DTE to cause the modem to attempt to update the Last
Known GPS Position parameter. Before sending this command, the DTE should make sure the GPS
Position Determination Configuration parameter is set to the desired values. In addition, the DTE should
ensure that the GPS Position Update Mode parameter is not set to Disable GPS. If this packet is sent to
the modem while the GPS is disabled the modem will return a MODEM ORIGINATED ACKNOWLEDGEMENT
PACKET with a status code 0x03 (Packet Rejected, Invalid Packet Parameter Received).
The values set within the GPS Position Determination Configuration parameter determines if a valid GPS
position has been calculated by the GPS module. Other parameters to become familiar with include:




GPS Hardware Software Version parameter
GPS Position Update Mode
GPS Status parameter
GPS Last Known Position parameter
For more information on these parameters reference the ORBCOM Satellite Modem Parameters
Description Document.
This packet is only supported by modems that include a GPS module on board. If the modem does not
have a GPS module and this packet is sent to modem then the modem will respond with a Modem
Originated GPS Acknowledgement packet with a status code of 0x0A (Packet Rejected, Packet Type Not
Applicable or Not Supported by Hardware). Upon successful reception of this packet the modem
responds to the DTE with a MODEM ORIGINATED GPS ACKNOWLEDGMENT PACKET with a status code of 0x00
(No Error).
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Packet Command Code
6
Checksum Least Significant Byte
7
Checksum Most Significant Byte
Table 14: GPS POSITION UPDATE MODE PACKET Structure
4.1.1.16.1 GPS POSITION UPDATE PACKET STRUCTURE
Packet Header: Every packet has a packet header and all DTE originated serial packets have a packet
header of 0x86.
ORBCOMM Satellite Modem Serial Interface Specification
53
53
53
Packet Type: Every packet has a specific packet type. An UPDATE GPS POSITION PACKET has a packet type
value of 0x22.
Packet Length: Every packet has a two byte packet length. A GPS Update Configuration packet will
always have a packet length of 20 bytes. Therefore byte 2 will have a value of 0x14 and byte 3 will have
a value of 0x00. In addition, notice that the packet length includes the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Packet Command Code: A GPS Update Configuration packet has a packet command code value of 0x01.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
NOTE
This is an ORBCOMM OG2 packet. Other modem manufacturers may or may
not support this packet.
ORBCOMM Satellite Modem Serial Interface Specification
54
54
54
4.2 Responses
The following sections describe the responses to commands from the DTE.
4.2.1.1 Modem Originated Acknowledgement Packet (Packet Type 0x01)
The MODEM ORIGINATED ACKNOWLEDGEMENT PACKET is sent to the DTE after the modem receives a
Command packet from the DTE. The only exceptions are when the DTE sends a GET/SET PARAMETER
PACKET, GET/SET MULTIPLE PARAMETERS PACKET OR A DTE ORIGINATED ACKNOWLEDGEMENT PACKET.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Status Code
5
Least Significant Byte of Checksum
6
Most Significant Byte of Checksum
Table 15: MO ACKNOWLEDGMENT PACKET Structure
4.2.1.1.1 MODEM ORIGINATED ACKNOWLEDGEMENT PACKET STRUCTURE DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A MODEM ORIGINATED ACKNOWLEDGMENT PACKET
always has a packet type value of 0x01.
Packet Length: Every packet has a two byte packet length. A MODEM ORIGINATED ACKNOWLEDGMENT
PACKET will always have a packet length of 7 bytes. Therefore byte 2 will have a value of 0x07 and byte 3
will have a value of 0x00. In addition, notice that the packet length includes the checksum.
Status Code:
The following status code values are valid responses:









0x00:
0x01:
0x02:
0x03:
0x04:
0x05:
0x06:
0x07:
0x08:
No Error
Packet Rejected, Wait 30 Seconds Then Send Again With New Sequence Number
Packet Rejected, Invalid Checksum
Packet Rejected, Invalid Packet Parameter Received
Packet Rejected, Message Size Exceeds Queue Capacity
Packet Rejected, Ill-Formed
Packet Rejected, Unrecognized Packet Type
Packet Rejected, Duplicated Packet Sequence Number
Packet Rejected, Inter-Character Timeout Error
ORBCOMM Satellite Modem Serial Interface Specification
55
55
55




0x09:
0x0A:
0x0B:
0x0C:
Packet Rejected, Message Storage Full
Hardware/Software Error, Try Again
Packet Rejected, Packet Type Not Applicable Or Not Supported by Hardware
Packet Rejected, Message/Report/Globalgram Duplicate MHA Reference Number
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
56
56
56
4.2.1.2 Modem Status Packet (Packet Type 0x05)
The STATUS PACKET is used to retrieve general status information from the modem. The STATUS PACKET is
sent by the modem to the DTE in response to a COMMUNICATIONS COMMAND PACKET with a command code
of 0x10.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Modem State
6
Modem Diagnostic Code
7
Active MHA Reference Number
8
Current satellite ID in view
9
N Number of Gateways Connected
10
Gateway Information Block (2N Bytes Long)
10+2N
Number of Modem Terminated Messages Queued
11+2N
Number of Modem Originated Messages Queued
12+2N
Modem’s UTC Time Week Byte 0 (LSB)
13+2N
Modem’s UTC Time Week Byte 1 (MSB)
14+2N
Modem’s UTC Seconds Byte 0 (LSB)
15+2N
Modem’s UTC Seconds Byte 1
16+2N
Modem’s UTC Seconds Byte 2 (MSB)
17+2N
Total Number of Satellites in the System
18+2N
Number of Stored Satellite Orbital Elements
19+2N
Percentage of Received Packets per Downlink Interval
20+2N
Checksum Least Significant Byte
21+2N
Checksum Most Significant Byte
Table 16: STATUS PACKET Structure
4.2.1.2.1 STATUS PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A STATUS PACKET always has a packet type value of
0x05.
ORBCOMM Satellite Modem Serial Interface Specification
57
57
57
Packet Length: Every packet has a two byte packet length. A STATUS PACKET has a variable size
depending on the number of gateway IDs currently connected to the modem. The maximum numbers
of Gateway IDs within the list are 5. Therefore, the maximum size a Status packet can be is 32 bytes. In
addition, notice that the packet length includes the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Modem State: The modem can be in the following state:










0x00: Idle
0x01: Sending Modem Originated Message
0x02: Sending Modem Originated Report
0x03: Sending Modem Originated Globalgram
0x04: Receiving Modem Terminated Message
0x05: Receiving Modem Terminated Command
0x06: Receiving Modem Terminated Globalgram
0x07: Reserved30
0x08: Reserved31
0x09: Performing ORBCOMM Gateway Loop-Back Test (may require several minutes, depending
on Satellite availability)
Modem Diagnostic Code: The modem can return the following Diagnostic Codes:











0x00: No Indication
0x01: Reserved30
0x02: Reserved30
0x03: Reserved31
0x04: Remote Loop-Back Failed, No Satellite Visible
0x05: Remote Loop-Back Failed, Transmitter Probably Bad
0x06: Remote Loop-Back Failed, ORBCOMM Gateway Not Responding
0x07: Remote Loop-Back Failed, Tx/Rx Data Does Not Match
0x08 – 0x13: Reserved for ORBCOMM use
0x14: Modem Detected General Failure
0x15 – Above: Reserved for Modem Manufacturers
Active MHA Reference Number: A number from 0 – 254 chosen by the DTE to identify a specific
message. This value correlates to the Modem Originated Message’s, Globalgram’s or Report’s MHA
reference number that is currently being transmit or received by the modem.
Current Satellite ID in View: If the modem is currently communicating with a satellite this value will be
greater than 0 and equate to the satellite ID.
30
31
Self-Test is no longer supported by the modem.
Local Loop-Back Test is no longer supported by the modem.
ORBCOMM Satellite Modem Serial Interface Specification
58
58
58
N Number of Gateways Connected: The current number of gateways the satellite can use to send and
receive data. The maximum number of gateways the modem knows about at one time is 5. In addition,
it should be noted that not all gateways provided in this message can be used by all users.
Gateway Information Block: There is a gateway information block for each gateway that is connected
to the Satellite communicating with the modem. If there are no viewable gateways, then the gateway
information block will not be populated. The first byte of the gateway information block is the gateway
ID and the second byte is the minimum priority allowed by that gateway.
Byte Offset
Packet Structure
10
Gateway ID 0
11
Gateway 0's Minimum Priority
12
Gateway ID 1
13
Gateway 1's Minimum Priority
.
.
10+2(N-1)
Gateway ID N
11+2(N-1)
Gateway ID N's priority
Table 17: Example of a Gateway Information Block
Since the maximum number of gateways is 5, the maximum number of gateway information blocks in a
Status packet is also 5.
Number of Modem Terminated Messages Queued: The number Modem Terminated Messages stored
within the modem.
Number of Modem Originated Messages Queued: The number of Modem Originated messages stored
within the modem.
Modem’s UTC Time Week (Bytes (9+2N)+3 - (9+2N)+4): The number of weeks since Sunday, January 6,
1980.
Example:


0:00:00 Jan 6, 1980 = 0 weeks
17:46:12 Oct 14, 2013 = 1762 weeks
Modem’s UTC Time Seconds (Bytes (9+2N)+5 - (9+2N)+7): Is a 24 bit integer representing the number
of seconds since Sunday at 0:00:00 (UTC). This value will reset midnight Sunday which will in turn cause
the UTC Time Week to increment.
Example:


0:00:00 = 0 Seconds
17:46:12 = 150372 Seconds
ORBCOMM Satellite Modem Serial Interface Specification
59
59
59
Total Number of Satellites In the System: The total number of satellites within the ORBCOMM
network.
Number of Stored Satellite Orbital Elements: This is now reserved and the value should be ignored.
Percentage of Received Packet per Downlink Interval: This is the percentage of packets successfully
received in a downlink interval. The higher the percentage the more likely the modem will be able to
communicate with a satellite.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
60
60
60
4.2.1.3 Position Status Packet (Packet Type 0x10)
This packet is no longer supported. If there is GPS hardware on board the modem, the GPS position
status can be polled using the Get or Get Multiple Parameters packet.
ORBCOMM Satellite Modem Serial Interface Specification
61
61
61
4.2.1.4 Parameter Response Packet (Packet Type 0x14)
The PARAMETER RESPONSE PACKET is sent to the DTE from the modem in response to a GET PARAMETER OR SET
PARAMETER PACKET as long as the SET/GET PARAMETER PACKETS do not have any protocol errors (i.e.
checksum error, size error, etc.).
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Parameter Request Status
6
Parameter Number
7
Parameter Data Byte Count N
7+N
Parameter Data Byte (N-1)
8+N
Checksum Least Significant Byte
9+N
Checksum Most Significant Byte
Table 18: PARAMETER RESPONSE PACKET Structure
4.2.1.4.1 PARAMETER RESPONSE DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A PARAMETER RESPONSE PACKET always has a packet
type value of 0x14.
Packet Length: Every packet has a two byte packet length. A PARAMETER RESPONSE PACKET is variable in
length. The length includes the size of the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Parameter Request Status: There is always a value in this location in response to a GET OR SET PARAMETER
PACKET. This value should be checked first before looking at the rest of the data within this packet.
Expected values for this byte are:






0x00:
0x01:
0x02:
0x03:
0x04:
0x05:
Parameter Get/Set Successful
Parameter Number Not Supported
Parameter Access Denied
Parameter Number Out of Range
The Parameter Value Attempting to Set is Invalid
The Parameter Value Attempting to Set is the Incorrect Size
ORBCOMM Satellite Modem Serial Interface Specification
62
62
62
Parameter Number: The parameter number that the DTE was attempting to Get or Set.
Parameter Data Byte Count N: The number of bytes of Parameter data returned with the packet. This
byte can be zero when no parameter data is returned.
Parameter Data: If this packet is received in response to a GET PARAMETER PACKET and the Parameter
Data Byte Count (Byte 7) is greater than 0, then this is where the parameter’s data will be located. The
first byte of parameter data is the least significant byte.
If this packet is received in response to a SET PARAMETER PACKET and byte 7 is greater than 0, then the
parameter data will mirror what the DTE sent the modem in the Set Parameter packet.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
63
63
63
4.2.1.5 Satellite State Vector Packet (Packet Type 0x15)
The modem no longer supports this packet. Satellite State Vector information can no longer be
retrieved from an OG1 modem.
ORBCOMM Satellite Modem Serial Interface Specification
64
64
64
4.2.1.6 Satellite Orbital Elements Packet (Packet Type 0x16)
The modem no longer supports this packet. Satellite Orbital Elements information can no longer be
retrieved from an OG1 modem.
ORBCOMM Satellite Modem Serial Interface Specification
65
65
65
4.2.1.7 Satellite Plane Orbital Elements Packet (Packet Type 0x17)
The modem no longer supports this packet. Satellite Plane Orbital Elements information can no longer
be retrieved from an OG1 modem.
ORBCOMM Satellite Modem Serial Interface Specification
66
66
66
4.2.1.8 Multiple Parameters Response Packet (Packet Type 0x21)
The MULTIPLE PARAMETER RESPONSE PACKET is sent to the DTE from the modem in response to a GET
MULTIPLE PARAMETERS or SET MULTIPLE PARAMETERS PACKET as long as the SET/GET MULTIPLE PARAMETERS
PACKETS do not have any protocol errors (i.e. checksum error, size error, etc.).
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Parameter Request Status
6
Number of Parameters Retrieved
7
Parameter Data Block (N Bytes)
7+N
Checksum Least Significant Byte
8+N
Checksum Most Significant Byte
Table 19: MULTIPLE PARAMETER RESPONSE PACKET Structure
4.2.1.8.1 MULTIPLE PARAMETER RESPONSE PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A MULTIPLE PARAMETER RESPONSE PACKET always has
a packet type value of 0x21.
Packet Length: Every packet has a two byte packet length. A MULTIPLE PARAMETER RESPONSE PACKET is
variable in length. The length includes the size of the checksum. The maximum length of this packet is
currently set at 138 bytes.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Parameter Request Status: There is always a value in this location in response to a GET OR SET MULTIPLE
PARAMETERS PACKET. This value should be checked first before looking at the rest of the data within this
packet. Expected values for this byte are:





0x00:
0x01:
0x02:
0x03:
0x04:
Parameter Get/Set Successful
Parameter Number Not Supported
Parameter Access Denied
The Parameter Value Attempting to Set is Invalid
The Parameter Value Attempting to Set is the Incorrect Size
ORBCOMM Satellite Modem Serial Interface Specification
67
67
67
Number of Parameters Retrieved: The number of different parameters within the Parameter data.
Parameter Data Byte Count N: The number of bytes of Parameter data returned with the packet. This
byte can be zero in the case there is no parameter data returned.
Parameter Data Blocks: If this packet is received in response to a GET MULTIPLE PARAMETERS PACKET and
byte 7 is greater than 0, then this is where the parameter’s data will be located. The first byte of
parameter data is the actual parameter number and the next byte after is the least significant byte of
the parameter value. Therefore the format should look something like this:
Byte Offset
Packet Structure
7
Parameter Number 0
8
Parameter Number 0's Value Byte 0 (LSB)
9
Parameter Number 0's Value Byte 1 (MSB)
.
.
6+N-1
6+N
Parameter Number K
Parameter Number K's Value Byte 0
Table 20: Parameter Data Block
If this packet is received in response to a SET MULTIPLE PARAMETERS PACKET and byte 7 is greater than 0,
then the parameter data will mirror what the DTE sent to the modem in the SET MULTIPLE PARAMETERS
PACKET. The parameter data will be in the same format as described above.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
NOTE
This is an ORBCOMM OG2 packet. Other modem manufacturers may or may
not support this packet.
ORBCOMM Satellite Modem Serial Interface Specification
68
68
68
4.2.2 Unsolicited Responses
The following sections describe the packets that are sent from the modem to the DTE upon receiving
modem terminated packets from the network.
4.2.2.1 System Announcement Packet (Packet Type 0x04)
The modem sends a SYSTEM ANNOUNCEMENT PACKET to the DTE to provide instructions on what the DTE
should do next. SYSTEM ANNOUNCEMENT PACKETS are not stored within non-volatile memory and therefore
do not persist over power cycles.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Announcement Code
6
Destination Gateway ID
7
Destination Speed Dial Value
8
Checksum Least Significant Byte
9
Checksum Most Significant Byte
Table 21: SYSTEM ANNOUNCEMENT PACKET Structure
4.2.2.1.1 SYSTEM ANNOUNCEMENT PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A SYSTEM ANNOUNCEMENT PACKET always has a
packet type value of 0x0A.
Packet Length: Every packet has a two byte packet length. A SYSTEM ANNOUNCEMENT PACKET will always
have a packet length of 7 bytes. Therefore byte 2 will have a value of 0x07 and byte 3 will have a value
of 0x00. In addition, notice that the packet length includes the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Announcement Code: This value specifies what that DTE should do next, but the DTE reaction is
application specific. The valid values for this byte are:



0x00: Calculate position estimate then send Modem Originated Position Report
0x01: Send One Report
0x02 – 0x03: Reserved
ORBCOMM Satellite Modem Serial Interface Specification
69
69
69







0x04: Send One Modem Originated Message
0x05: Send One Modem Originated Message or Report
0x06: Reserved32
0x07: Terminate Application Operation Immediately
0x08: Not Used
0x09 – 0x0F: Reserved
0x10 – Above: Modem Manufacturer Defined
Destination Gateway ID: This value is the ORBCOMM gateway identification number the DTE should
use to reply.
Destination Speed Dial Value: This value should be used as the destination address for a response to
this system announcement.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
32
This was send pre-defined speed dial value; however this is no longer supported.
ORBCOMM Satellite Modem Serial Interface Specification
70
70
70
4.2.2.2 System Response Packet (Packet Type 0x0B)
A SYSTEM RESPONSE PACKET is an unsolicited message sent from the modem to the DTE. The purpose of
this message is to give the DTE status information about a Modem Originated Globalgram, Report or
Message. In addition, certain communications commands will also cause a SYSTEM RESPONSE PACKET to be
sent to the DTE.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Acknowledgement Originator
6
Originator ID
7
Status of Message Transfer
8
Message Transfer Diagnostic Code
9
MHA Reference Number
10
Gateway Reference Number Byte 0
11
Gateway Reference Number Byte 1
12
Acknowledgement Mask
13
Checksum Least Significant Byte
14
Checksum Most Significant Byte
Table 22: SYSTEM RESPONSE PACKET Structure
4.2.2.2.1 SYSTEM RESPONSE PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A SYSTEM RESPONSE PACKET always has a packet type
value of 0x0B.
Packet Length: Every packet has a two byte packet length. A SYSTEM RESPONSE PACKET will always have a
packet length of 15 bytes. Therefore byte 2 will have a value of 0x0F and byte 3 will have a value of
0x00. In addition, notice that the packet length includes the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Acknowledgement Originator: This byte tells the DTE what is acknowledging the reception of data.
Values to expect in this byte are:
ORBCOMM Satellite Modem Serial Interface Specification
71
71
71




0x00:
0x01:
0x02:
0x03:
Current Satellite
ORBCOMM Gateway
Reserved33
Modem
Originator ID: This value is either the ID of the satellite that acknowledged the Globalgram or the ID of
the Gateway that acknowledged the Message or Report.
Status of Message Transfer: This byte describes the status of the Modem Originated Message,
Globalgram or Report previously sent. Values to expect in this byte are:
















0x00: Transfer Failure
0x01: Unable to Transfer
0x02: Reserved34
0x03: Reserved
0x04: Reserved
0x05: Reserved
0x06: Reserved
0x07: Reserved
0x08: Reserved
0x09: Reserved
0x0A: Transfer Attempt Failed but Message has been Re-Queued and will be Attempted Again
0x0B: Response to Communications Command
0x0C: Status Unknown
0x0D: Reserved35
0x0E: Message Transfer Aborted By User
0x0F: Message was Received Acknowledgement Originator (byte 5 of this packet)
Message Transfer Diagnostic Code: The diagnostic code gives the DTE more information as to why the
Modem Originated Message, Globalgram or Report failed.









0x00:
0x01:
0x02:
0x03:
0x04:
0x05:
0x06:
0x07:
0x08:
Unrecognized Originator/Recipient speed dial value or address
Ambiguous Originator/Recipient Address
MTA Congestion
Loop Detected
Reserved36
Transfer Timeout
Body Type Specified in MT Message is not supported
Content Too Long
Reserved37
33
Modem Originated Message and Report Acknowledgement from a Recipient is no longer supported
Conversion Not Performed is no longer supported.
35
A message transfer status of “No Acknowledgment from Recipient at this Time, Please Wait” is no longer
supported.
36
A diagnostic code of “Recipient Unavailable” is no longer supported.
37
The “Convert Impractical”, “Convert Prohibited” and “Convert Not Registered” are no longer supported.
34
ORBCOMM Satellite Modem Serial Interface Specification
72
72
72




































0x09: Reserved37
0x0A: Reserved37
0x0B: Invalid Parameter Specified in Received Packet
0x0C – 0x63: Reserved
0x64: Message-Level Checksum Failure
0x65: Modem Not Registered with Network
0x66: Reserved38
0x67: Current Satellite is not communicating with requested ORCOMM Gateway
0x68: Insufficient Message Priority
0x69: Satellite Not Responding
0x6A: Modem Access Restriction
0x6B: Modem Registration Expired
0x6C: Modem Originated Message Already Exists in ORBCOMM Gateway
0x6D: No Active Session, or Modem Originated Message MHA Number Error
0x6E: Error Occurred in ORBCOMM Gateway while Saving Message to Non-Volatile Memory
0x6F: Database Error Occurred in ORBCOMM Gateway
0x70: No Additional Diagnostic Information Indicated
0x71: Maximum Retries Attempted
0x72: Globalgram is Not Permitted at this Time
0x73: No Satellite in View at this Time
0x74: Position Report currently not available
0x75: Position Determination is Unavailable
0x76: Globalgram Size Exceeded
0x77: No Modem Terminated Messages/Commands Queued in ORBCOMM Gateway
0x78: No Modem Terminated Messages/Commands Queued in ORBCOMM Gateway of Size
Less than 150 Bytes
0x79: No Globalgrams Queued in Current Satellite
0x7A: Requested Message Deleted
0x7B: No Stored Satellite Orbital Elements
0x7C: Registration Request Received, Please Wait
0x7D: Registration Granted by ORBCOMM Gateway
0x7E: Registration Rejected by ORBCOMM Gateway
0x7F: Maximum Number of Globalgrams (16) Stored in Current Satellite
0x80: Invalid Range of One or More Fields
0x81: Ready for Power Removal
0x82 – 0x8C: Reserved
0x8D – Above: Reserved
MHA Reference Number: A number from 0 – 254 chosen by the DTE to identify a specific message. This
value correlates to the Modem Originated Message’s, Globalgram’s or Report’s MHA reference number
that caused the System Response packet to be generated by the modem. This value is valid if the
Acknowledgement Originator byte is 0x00 or 0x01. Otherwise the MHA Reference Number is not valid
and can be ignored.
38
The switch no longer supports Pin Codes; therefore, the “Pin Code Not Valid” diagnostic code is now reserved.
ORBCOMM Satellite Modem Serial Interface Specification
73
73
73
Gateway Reference Number (Bytes 10 – 11): This two byte value holds the ORBCOMM gateway ID that
sent the delivery confirmation. Byte 10 is the least significant byte and this number should be ignored if
the value is 0xFFFF. The Gateway Reference Number is only valid when the Acknowledgement
Originator is 0x01, otherwise; the Gateway Reference Number is not valid and can be ignored.
Acknowledgement Mask: Reserved39
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
39
The Acknowledgment Mask is no longer supported and the value should be ignored.
ORBCOMM Satellite Modem Serial Interface Specification
74
74
74
4.2.2.3 Modem Terminated Message Packet (Packet Type 0x0C)
Receiving a MODEM TERMINATED MESSAGE PACKET from the gateway will cause the modem to store the
message within persistent memory and attempt to deliver the message to the DTE. If the DTE responds
with an ACKNOWLEDGMENT PACKET with a status code of 0x00, then the modem will delete the message
from its persistent memory and the message is considered delivered. Otherwise, the modem will
attempt to deliver the message nine times and leave the message within persistent memory until it is
retrieved or deleted by the DTE.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Gateway ID
6
Subject Indicator
7
Message Body Type
8
Number of Originator Recipient Addresses/Speed Dial Values
9
Originator Recipient Address/Speed Dial Value Byte 0
9+N
Originator Recipient Address/Speed Dial Value Byte N
(9+N)+1
Message Subject String Byte 0
(9+N)+(1+ L)
Message Subject String Byte L
(9+N)+(1+ L)+1
Message Body Byte 0
(9+N)+(1+L)+(1+J)
Message Body Byte J
(9+N)+(1+L)+(1+J)+1
Checksum Least Significant Byte
(9+N)+(1+L)+(1+J)+2
Checksum Most Significant Byte
Table 23: MODEM TERMINATED MESSAGE PACKET Structure
4.2.2.3.1 MODEM TERMINATED MESSAGE PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A MODEM TERMINATED MESSAGE PACKET always has a
packet type value of 0x0C.
Packet Length: Every packet has a two byte packet length. A MODEM TERMINATED MESSAGE PACKET is
variable in length. The maximum size of this packet allowed is 8192 bytes.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
ORBCOMM Satellite Modem Serial Interface Specification
75
75
75
Gateway ID: The Gateway ID where the MT message was sent.
Subject Indicator: This value determines if there is a Message Subject or not. Valid values for this byte
are:


0x00: Message Does Not Contain a Subject
0x01: Message Contains a Subject
o If the message does not contain a subject the bytes dedicated to Message Subject
within the MODEM TERMINATED MESSAGE PACKET structure will not be present.
Message Body Type: This value defines what type of data is within the Message Body of the MODEM
TERMINATED MESSAGE PACKET. Valid values for this byte are:




0x00: IA5TEXT (One single byte data type parameter of 0x05 (ia5) will be in located at the first
byte of the Message Body)
0x01-0x0D: Reserved
0x0E: Binary Data
0x0F – Externally Defined
o If this is used one of the following single byte data type parameters must be placed in
the first byte of the Message Body described later.
o Possible Data Types are:
o 0x02: The addresses for Originator/Recipient speed dial values 1 – 15 are placed in
order, null-terminated, into a MT message.
o 0x03: Date, Originator and Subject for each MT message queued in the ORBCOMM
Gateway for this modem. Each attribute (date, originator and subject) of the message is
null terminated. Non-existent attributes are identified by a single null character.
o 0x04: Sets of orbital elements in NASA 2-line format as specified in section Error!
eference source not found..
o 0x05: IA5Text
o 0x10-Above: Reserved
Number of Originator Recipient Addresses/Speed Dial Values: The number of recipient speed dial
values/addresses and one originator address/speed dial values. The maximum number is 6 recipient
addresses/speed dial values and one originator address/speed dial values for a total maximum number
of 7. The value can be zero.
Originator Recipient Address/Speed Dial Value: The originator and recipients of a Modem Terminated
Message are structured according to the following rules:



An explicit address must be an ASCII character string (w/o null terminating) which adheres to
the SMTP standard syntax. A 0x00 or 0x90 follows the last character of the string to indicate that
the explicit address identifies a primary or copied recipient, respectively.
An originator recipient speed dial value must be a number between 0 and 15, occupying the
lower nibble of one byte in the packet. The upper nibble is set to zero or 9 to indicate that the
speed dial value identifies a primary or copied recipient, respectively.
Explicit addresses and originator recipient speed dial values are placed sequentially in the
packet, without the use of length fields.
ORBCOMM Satellite Modem Serial Interface Specification
76
76
76




The first explicit address or speed dial value identifies the originator (speed dial value of 0
indicates that the originator address is not being sent. This case occurs when the originator
cannot be matched to any of the originator/recipient speed dial values associated with the
modem, but the modem user has specified that he/she does not want the explicit addresses of
the originator or the copied recipients transmitted with any message. The remaining addresses
or speed dial values are the copied recipients (up to a total of 6 in this case). Note that there is
never a blind recipient filled into a Modem-Terminated Message.
The maximum explicit address length is 128 characters (null included).
The maximum quantity of explicit addresses and/or speed dial values per message is seven.
A Modem Terminated Message does not have to have any explicit address or speed dial value.
Message Subject String: A Null terminated string with a maximum size of 80 bytes, including the null
terminator. If byte 6 of this packet is set to 0 then there is no subject string.
Message Body: This is the actual message. Note, in the case when byte 7 is set to 0x00 or 0x0F a one
byte data type must be at the beginning of the message body.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
4.2.2.3.2 EXAMPLE OF A MT MESSAGE
In the following example of an MT Message, the text message (message body type = 0 and data type
parameter = 5) has a subject "TEST", a message body "Hello", an originator revealed by speed dial value
4, and four primary recipients identified by speed dial value 3, null-terminated explicit address "SALLY",
null-terminated explicit address "BILL", and speed dial value 7. These bytes would be present in the MT
Message packet bytes 7 up to the Fletcher Checksum.
ORBCOMM Satellite Modem Serial Interface Specification
77
77
77
Hex and text representation:
Index
Byte
Value
6
0x01
Subject included
7
0x00
IA5TEXT
8
0x05
5
Recipient Quantity
9
0x04
4
Originator, Speed Dial 4
10
0x03
3
1st Recipient, Speed Dial 3
11
0x53
'S'
12
0x41
'A'
13
0x4C
'L'
14
0x4C
'L'
15
0x59
'Y'
16
0x00
NUL
17
0x42
'B'
18
0x49
'I'
19
0x4C
'L'
20
0x4C
'L'
21
0x90
NUL
22
0x97
7, CC
23
0x54
'T'
24
0x45
'E'
25
0x53
'S'
26
0x54
'T'
27
0x00
NUL
28
0x05
5
29
0x48
'H'
30
0x65
'e'
31
0x6C
'l'
32
0x6C
'l'
33
0x6F
'o'
Description
Subject Indicator
Message Body Type
2nd Recipient address
3rd Recipient address, CC
4th Recipient, Speed Dial 7, CC
Subject
Message Body Type defined as IA5TEXT, so 0x05 must begin
message body
Table 24: An Example Message of a MT MESSAGE PACKET
ORBCOMM Satellite Modem Serial Interface Specification
78
78
78
4.2.2.4 Modem Terminated User Command Packet (Packet Type 0x0D)
A MODEM TERMINATED USER COMMAND PACKET is meant to allow a user to send 5 bytes of user defined data
to the DTE. When the modem receives a Modem Terminated User Command from the gateway, the
modem will store the User Command within persistent memory and then attempt to deliver the MODEM
TERMINATED USER COMMAND PACKET to the DTE. If the DTE responds with a DTE ORIGINATED
ACKNOWLEDGMENT PACKET indicating a status code of 0x00, then the modem will delete the message from
its persistent memory and the message is considered delivered. Otherwise, the modem will attempt to
deliver the message nine times and leave the message within persistent memory until it is retrieved or
deleted by the DTE through the use of a Communications Command.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Gateway ID
6
User Data Byte 0
7
User Data Byte 1
8
User Data Byte 2
9
User Data Byte 3
10
User Data Byte 4
11
Checksum Least Significant Byte
12
Checksum Most Significant Byte
Table 25: MODEM TERMINATED USER COMMAND PACKET Structure
4.2.2.4.1 MODEM TERMINATED USER COMMAND PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A MODEM TERMINATED USER COMMAND PACKET
always has a packet type value of 0x0D.
Packet Length: Every packet has a two byte packet length. A MODEM TERMINATED USER COMMAND PACKET
will always have a packet length of 13 bytes. Therefore byte 2 will have a value of 0x0D and byte 3 will
have a value of 0x00. In addition, notice that the packet length includes the checksum.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
Gateway ID: The Gateway ID where the User Command was sent.
ORBCOMM Satellite Modem Serial Interface Specification
79
79
79
User Data (Bytes 6 – 10): Data defined by the user and understood by the DTE.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
80
80
80
4.2.2.5 Modem Terminated Globalgram Packet (Packet Type 0x0E)
A MODEM TERMINATED GLOBALGRAM PACKET is meant to allow a user to send up to 182 bytes of user defined
data to the DTE.
After the modem receives a Modem Terminated Globalgram from the gateway, the modem will store
the Globalgram within persistent memory and attempt to deliver the MODEM TERMINATED GLOBALGRAM
PACKET to the DTE. If the DTE responds with a DTE ORIGINATED ACKNOWLEDGMENT PACKET containing a
status code of 0x00, then the modem will delete the message from its persistent memory and the
Globalgram is considered delivered. Otherwise, the modem will attempt to deliver the message nine
times and leave the message within the modem’s persistent memory until it is retrieved or deleted by
the DTE.
Byte Offset
Packet Structure
0
Packet Header
1
Packet Type
2
Least Significant Byte of Packet Length
3
Most Significant Byte of Packet Length
4
Packet Sequence Number
5
Gateway ID
6
Gateway Globalgram Reference Number
7
Originator Recipient Indicator
8
User Data Byte 0
9
User Data Byte 1
8+N
User Data Byte N
9+N
Checksum Least Significant Byte
10+N
Checksum Most Significant Byte
Table 26: MODEM TERMINATED GLOBALGRAM PACKET Structure
4.2.2.5.1 MODEM TERMINATED GLOBALGRAM PACKET DESCRIPTION
Packet Header: Every packet has a packet header and all Modem Response packets have a packet
header of 0x06.
Packet Type: Every packet has a specific packet type. A MODEM TERMINATED GLOBALGRAM PACKET always
has a packet type value of 0x0E.
Packet Length: Every packet has a two byte packet length. A MODEM TERMINATED GLOBALGRAM PACKET is
variable in length. The maximum size of this packet allowed is 192 bytes.
Packet Sequence Number: A number from 0 – 255 chosen by the DTE. The modem will not process a
packet if two consecutive packets have the same packet sequence number.
ORBCOMM Satellite Modem Serial Interface Specification
81
81
81
Gateway ID: The Gateway ID where the MT Globalgram was sent.
Gateway Globalgram Reference Number: A number assigned by the ORBCOMM Gateway. This value
can be used to identify and filter duplicate Globalgrams.
Originator Recipient Indicator: Is a value that represents an address that is specified at the time of
provisioning. Valid values for this byte are:



0x00: No speed dial value included
0x01 – 0x08: User pre-defined address specified at the time of provisioning.
0x09 – 0x0F: Reserved
User Data (Bytes 8 – (N+8)): Data defined by the user and intended to be understood by the DTE. The
maximum amount of user data allowed is 182 bytes.
Checksum: Every packet has a two byte Fletcher checksum at the end of the packet. The second to last
byte of the packet is the least significant byte of the checksum and the last byte of the packet is the
most significant byte of the checksum.
ORBCOMM Satellite Modem Serial Interface Specification
82
82
82
5 Serial Interface Packet Diagrams
5.1 OG1 and OG2 Serial Interface Packet Diagrams
This Chapter presents ladder diagrams illustrating the command/response of some serial packets.
Figure 5.1: Get and Set Parameters Command/Response
ORBCOMM Satellite Modem Serial Interface Specification
83
83
83
Figure 5.2: OTA Communications Commands
Figure 5.3: Internal Modem Communications Commands
ORBCOMM Satellite Modem Serial Interface Specification
84
84
84
Figure 5.4: Modem-Originated Report
ORBCOMM Satellite Modem Serial Interface Specification
85
85
85
Figure 5.5: Modem-Originated Globalgram
Figure 5.6: Modem-Terminated Globalgram
ORBCOMM Satellite Modem Serial Interface Specification
86
86
86
Figure 5.7: Modem-Originated Message
Figure 5.8: Modem-Terminated Message
ORBCOMM Satellite Modem Serial Interface Specification
87
87
87
Figure 5.9: Modem-Terminated User Command
ORBCOMM Satellite Modem Serial Interface Specification
88
88
88
Figure 5.10: Polling by GCC
ORBCOMM Satellite Modem Serial Interface Specification
89
89
89
6 Latitude and Longitude Conversion
From Geodetic To ORBCOMM Encoded:
boolean ConvertGeodeticToORBCOMM_Encoded(float GeodeticLatitude,
float GeodeticLongitude,
uint32_t* ORBCOMM_EncodedLat,
uint32_t* ORBCOMM_EncodedLong)
{
///////////////////////////////////////////////////////////////////////////
// Name: ConvertGeodeticToORBCOMM_Encoded
//
// Description: This function converts geodetic latitude and longitude
// to ORBCOMM encoded latitude and longitude
//
// Returns:
// TRUE - GPS Points Converted
// FALSE - Error Occurred
//
////////////////////////////////////////////////////////////////////////////
float GeodeticLat;
float GeodeticLong;
float TempVal;
boolean success = FALSE;
if((ORBCOMM_EncodedLat != NULL) && (ORBCOMM_EncodedLong != NULL))
{
GeodeticLat = (float)GeodeticLatitude / (float)0x00FFFFFF;
GeodeticLong = (float)GeodeticLongitude / (float)0x00FFFFFF;
if(GeodeticLong < 0)
{
//Position Located in Western Hemisphere
TempVal = (GeodeticLong + 360.0) / 360.0;
}
else
{
//Position Located in Eastern Hemisphere
TempVal = GeodeticLong / 360.0;
}
*ORBCOMM_EncodedLong = (uint32_t)(TempVal * 0x00FFFFFF) & 0x00FFFFFF;
TempVal = -(GeodeticLat - (180/2)) / 180;
*ORBCOMM_EncodedLat = (uint32_t)(TempVal * 0x00FFFFFF) & 0x00FFFFFF;
success = TRUE;
}
return (success);
}//end boolean ConvertGeodeticToORBCOMM_Encoded()
ORBCOMM Satellite Modem Serial Interface Specification
90
90
90
From ORBCOMM Encoded to Geodetic:
boolean ConvertORBCOMM_EncodedToGeodetic(uint32_t ORBCOMM_EncodedLat,
uint32_t ORBCOMM_EncodedLong,
float* GeodeticLatitude,
float* GeodeticLongitude)
{
///////////////////////////////////////////////////////////////////////////
// Name: ConvertORBCOMM_EncodedToGeodetic
//
// Description: This function converts ORBCOMM encoded latitude and
// longitude to geodetic latitude and longitude.
//
// Returns:
// TRUE - GPS Points Converted
// FALSE - Error Occurred
//
////////////////////////////////////////////////////////////////////////////
boolean success = FALSE;
float GeoLat = 0;
float GeoLong = 0;
if((GeodeticLatitude != NULL) && (GeodeticLongitude != NULL))
{
GeoLat = (float)(NUM_DEGS_LAT/2) - (((float)ORBCOMM_EncodedLat / (float)0x00FFFFFF) * 180);
GeoLong = ((float)ORBCOMM_EncodedLong / (float)0x00FFFFFF) * 360;
if(GeoLong > 360/2)
{
GeoLong -= 360;
}
*GeodeticLatitude = (float)(GeoLat * 10000000);
*GeodeticLongitude = (float)(GeoLong * 10000000);
}
return (success);
}//end boolean ConvertORBCOMM_EncodedToGeodetic()
ORBCOMM Satellite Modem Serial Interface Specification
91
91
91
7 Satellite Element Set Format Description
The satellite ephemeris data consists of two lines in the following format (not including the two-line
column “ruler”). Multiple element sets should repeat the formatting above— i.e., a two-line element set
for the first satellite, followed by a two-line element set for the second satellite, etc. All element sets
should be sent from the modem in the form of a Modem-Originated Message. This Message should be
sent with a blank ID, no ORIGINATOR and no SUBJECT. The Message body field should contain the twolined element sets with no additional characters.
Column
Number:
Element
1
2
3
4
5
6
123456789012345678901234567890123456789012345678901234567890123456789
1 NNNNNU NNNNNAAA NNNNN.NNNNNNNN +.NNNNNNNN +NNNNN-N +NNNNN-N N NNNNN
2 NNNNN NNN.NNNN NNN.NNNN NNNNNNN NNN.NNNN NNN.NNNN NN.NNNNNNNNNNNNNN
Set Format:
EXAMPLE: Actual F2 element set as received from USSPACECOM.
1
2
3
4
5
6
123456789012345678901234567890123456789012345678901234567890123456789
1 23546U 95017B
97072.53586170 .00000056 00000-0 32865-4 0 02534
2 23546 069.9776 265.2990 0013272 169.5560 190.5848 14.45508865102583
Format Description:
Line 1
Column
Description
01
Line Number of Element Data
02
Blank
03-07
Satellite Number (corresponds to the satellite_# when sent by modem. Zero fill all
leading characters.)
08
Classification of Element Set (U = unclassified)
09
Blank
10-11
International Designator (last two digits of launch year)-N/A
12-14
International Designator (Launch number of the year)-N/A
ORBCOMM Satellite Modem Serial Interface Specification
92
92
92
15-17
International Designator (Piece of launch)-N/A
18
Blank
19-20
Epoch Year (last two digits of year)— calculated from data in SATELLITE PLANE ORBITAL
ELEMENTS
21-32
Epoch (Julian Day and fractional portion of the day)— calculated from data in
SATELLITE PLANE ORBITAL ELEMENTS
33
Blank
34-43
Decay from SATELLITE PLANE ORBITAL ELEMENTS.
44
Blank
45-52
Second Time Derivative of Mean Motion— N/A
53
Blank
54-61
BSTAR drag term if GP4 general perturbation theory was used— N/A
62
Blank
63
Ephemeris type— N/A
64
Blank
65-68
Element set number— N/A
69
checksum (Modulo 10)
Line2
Column
Description
01
Line Number of Element Data
02
Blank
03-07
Satellite Number (same as above)
08
Blank
09-16
Inclination (degrees)— from SATELLITE PLANE ORBITAL ELEMENTS
17
Blank
ORBCOMM Satellite Modem Serial Interface Specification
93
93
93
18-25
Right Ascension of the Ascending Node (degrees)— from SATELLITE PLANE ORBITAL ELEMENTS
26
Blank
27-33
Eccentricity (decimal point assumed)— from SATELLITE PLANE ORBITAL ELEMENTS
34
Blank
35-42
Argument of Perigee (degrees)— from SATELLITE PLANE ORBITAL ELEMENTS
43
Blank
44-51
Mean Anomaly (degrees) — from satellite orbital elements
52
Blank
53-63
Mean Motion (revs per day) — from satellite orbital elements
64-68
Orbit number at epoch (revs) — from satellite plane orbital elements
69
checksum (Modulo 10)
NOTES:
1. To calculate checksum: letters, blanks, periods = 0; minus sign =1; plus sign = 2.
2. The International Designator and other complete data fields not required by the tracking
algorithm are sent as blank spaces or zeros.
3. All epochs are Coordinated Universal Time (UTC).
4. In fields where there may be leading zeros, blanks cannot be substituted for those leading
zeros.
5. Fields designated as N/A (not applicable) are not required and should be zero filled.
6. Plus signs (+) are optional.
7. Minus signs (-) are required.
8. A carriage return (CR) and a line feed (LF) must be appended to the end of each line.
ORBCOMM Satellite Modem Serial Interface Specification
94
94
94
Download