the scope of this book. 20.3.1 Message format There are four major types of SMS messages: submit, deliver, command, and status re- port. The submit format goes from the originating SME to the SMSC. The SMSC changes the message to the delivery format and sends it to the receiving SME. The command format allows an originating SME to give instructions to the SMSC. The sta- tus report message is used to confirm receipt of a delivered SMS message. Each message has a header. Some data elements within the header vary with the message type, and most are of interest only to programmers. We will highlight the more important elements here, focusing on the submit and deliver formats. Three addresses are included: originating, SMSC (for the center the message is sent to, which handles its transmission), and destination. The validity period is an interval during which the SMSC will try to deliver the message. After this time, the message is purged. The maximum is set by the SMSC and is usually 48 or 72 hours. A message sender can select a shorter interval so that the message deliv- ery attempts can be canceled if the message does not get through within a few minutes. The data coding scheme describes the format of the message contents. The message reference is a counter that supports concatenation of messages. After the header comes the message body, in one of three data formats. A simple text message in a western European language is encoded in 7-bit ASCII format, allowing about 160 characters per message. Worldwide character sets that support multiple al- phabets and languages are encoded in a 16-bit text format, but not all user terminals support these character sets. The third option is binary data. The data coding scheme setting in the header identifies which of these formats is being used for the body of the message and also specifies whether the message is encrypted. The exact length of the text in a single SMS message varies depending on format and compression. For exam- ple, the message size limit is 140 bytes, which a