With the implementation of this issue, the SCPs will have the option to use either X.25 or TCP/IP as their communications protocol, but not both, during a transition period in which all SCPs are expected to migrate to TCP/IP.
3.1 Overview of The TCP/IP Implementation
Before addressing the details of the TCP/IP messages, an overview is provided of the new SMS Transport Layer, data representation, the concept of data encapsulation and how a message is processed through the protocol layers.
3.1.1 SMS Transport Layer
This “layer” is comprised of ISO Layers 5 through 7. It runs on top of TCP/IP performing minimum but robust functions for the Session, Presentation and Application layers. The following services are provided by the SMS Transport Layer:
- defines the message boundary in the TCP stream of data
- defines session ID exchange and keep alive message (Good-Day)
- defines procedures for session release (graceful disconnect, Good-Bye)
- defines procedures for session disconnect (immediate disconnect, Good-Night)
- preserves UAL application confirmation support
- encapsulates a subset of UAL header data and all UPL command/response messages
- uses ASN.1/BER for message structure representation for cross platform inter-operability.
3.1.2 ASN.1 (Abstract Syntax Notation 1)
This is the international standard for data representation and encoding (CCITT Recommendation X.208, ISO 8824). It provides a robust data structure for complicated data representations (e.g., array, link-list, conditional existence, conditional format etc.), is platform independent (globally transportable) and it is a mature standard with compilers available on most platforms.
3.1.3 BER (Basic Encoding Rules)
This language is used to encode ASN.1 data into a stream for transport. It is an international standard (CCITT Recommendation X.209, ISO 8825). The encoded stream is compact (i.e., saves network communication bandwidth), it is platform independent (globally transportable) and it is a mature standard with encoders/decoders available on most platforms.
3.1.4 Why Data Encapsulation
The purpose of encapsulation is to make communication layer changes from X.25 to TCP transparent to SMS/800 and SCP applications (UPL layer in the Protocol Layer Comparison, above). A subset of the X.25 UAL header data is preserved to create transparency to local communication layer interfaces.The subset of the UAL header data will now be referred to as UPL header data. The data are encapsulated in ASN.1 OCTET STRINGs.
Telecommunications uses ‘octet’ as the unit measure, whereas the TCP Header and the IP Header are defined using ‘bits’, and the UPL Header fields are defined as ‘bytes’. One byte is equal to eight bits, which is equal to one octet.
3.1.5 Overview of the Message Process
The application layer performs high-level protocol functions such as request/reply correlation, message queuing, message priority, and system failure/recovery. The transport, network, and NAL layers provide an error-free communications path for the transfer of data between the SMS/800 and communicating SCPs. They relieve the application layer of any concerns about the way in which reliable data transfer is achieved.
When a message is sent from SMS/800 to the SCP, the message will be processed by each of these layers in the following order: application, transport, network, and NAL. The SCP will then process the message by the same layers, but in the reverse order. SMS/800 will deliver the message to the appropriate SCP.
The communication protocols defined in this document describe how messages are exchanged between SMS/800 and the SCP. The ASN.1 message language defines how the messages themselves are encoded. This language is a set of rules that specify the allowable formats for coding message data.