Message Transfer Part
The Message Transfer Part (MTP) is divided into three levels:
MTP Level 1
The lowest level, MTP Level 1, is equivalent to the OSI
Physical Layer. MTP Level 1 defines the physical, electrical, and functional
characteristics of the digital signaling link. Physical interfaces defined include
E-1 (2048 kb/s; 32 64 kb/s channels), DS-1 (1544 kb/s; 24 64 kp/s
channels), V.35 (64 kb/s), DS-0 (64 kb/s), and DS-0A (56
kb/s).
MTP Level 2
MTP Level 2 ensures accurate end-to-end transmission of a message cross a
signaling link. Level 2 implements flow control, message sequence validation,
and error checking. When an error occurs on a signaling link, the message (or
set of messages) is retransmitted. MTP Level 2 is equivalent to the OSI
Data Link Layer.
An SS7 message is called a signal unit (SU). There are three kinds of
signal units: Fill-In Signal Units (FISUs), Link Status Signal Units
(LSSUs), and Message Signal Units (MSUs) (Fig. 4).
Figure 4. SS7 Signal Units

Fill-In Signal Units (FISUs) are transmitted continuously on a signaling link
in both directions unless other signal units (MSUs or LSSUs) are present. FISUs
carry basic level 2 information only (e.g., acknowledgment of signal unit receipt
by a remote signaling point). Because a CRC checksum is calculated
for each FISU, signaling link quality is checked continuously by both signaling
points at either end of the link. (Note: In the ITU-T Japan variant, signaling
link quality is checked by the continuous transmission of flag
octets (8-bit bytes) rather than FISUs; FISUs are sent only at predefined timer
intervals (e.g., once every 150 milliseconds).
Link Status Signal Units (LSSUs) carry one or two octets (8-bit bytes)
of link status information between signaling points at either end of a link.
The link status is used to control link alignment and to indicate the status
of a signaling point (e.g., local processor outage) to the remote signaling point.
Message Signal Units (MSUs) carry all call control, database
query and response, network management, and network maintenance
data in the signaling information field (SIF).
MSUs have a routing label which allows an originating
signaling point to send information to a destination signaling
point across the network.
The value of the LI (Length Indicator) field determines the signal unit
type:
|
LI Value
|
Signal Unit Type
|
|
0
|
Fill-In Signal Unit (FISU) |
|
1..2
|
Link Status Signal Unit (LSSU) |
|
3..63
|
Message Signal Unit (MSU) |
Figure 5. Message Type Length Indicator Value(s)
The 6-bit LI can store values between zero and 63. If the number of octets
which follow the LI and precede the CRC is less than 63, the LI contains this
number. Otherwise, the LI is set to 63. An LI of 63 indicates that the message
length is equal to or greater than 63 octets (up to a maximum of 273 octets).
The maximum length of a signal unit is 279 octets: 273 octets (data) + 1 octet
(flag) + 1 octet (BSN + BIB) + 1 octet (FSN + FIB) + 1 octet (LI + 2 bits spare)
+ 2 octets (CRC).
Flag
The flag indicates the beginning of a new signal unit and implies the end of
the previous signal unit (if any). The binary value of the flag is 0111 1110.
Before transmitting a signal unit, MTP Level 2 removes "false flags"
by adding a zero-bit after any sequence of five one-bits. Upon receiving a signal
unit and stripping the flag, MTP Level 2 removes any zero-bit following a sequence
of five one-bits to restore the original contents of the message. Duplicate flags
are removed between signal units.
BSN (Backward Sequence Number)
The BSN is used to acknowledge the receipt of signal units by the remote signaling
point. The BSN contains the sequence number of the signal unit being acknowledged.
(See description under FIB below.)
BIB (Backward Indicator Bit)
The BIB indicates a negative acknowledgment by the remote signaling point when
toggled. (See description under FIB below.)
FSN (Forward Sequence Number)
The FSN contains the sequence number of the signal unit. (See description under
FIB below.)
FIB (Forward Indicator Bit)
The FIB is used in error recovery like the BIB. When a signal unit is ready for
transmission, the signaling point increments the FSN (forward sequence number)
by 1 (FSN = 0..127). The CRC (cyclic redundancy check) checksum value is calculated
and appended to the forward message. Upon receiving the message, the remote signaling
point checks the CRC and copies the value of the FSN into the BSN of the next
available message scheduled for transmission back to the initiating signaling
point. If the CRC is correct, the backward message is transmitted. If the CRC
is incorrect, the remote signaling point indicates negative acknowledgment by
toggling the BIB prior to sending the backward message. When the originating
signaling point receives a negative acknowledgment, it retransmits all forward
messages, beginning with the corrupted message, with the FIB toggled.
Because the 7-bit FSN can store values between zero and 127, a signaling point
can send up to 128 signal units before requiring acknowledgment from the remote
signaling point. The BSN indicates the last in-sequence signal unit received
correctly by the remote signaling point. The BSN acknowledges all previously
received signal units as well. For example, if a signaling point receives a signal
unit with BSN = 5 followed by another with BSN = 10 (and the BIB is not toggled),
the latter BSN implies successful receipt of signal units 6 through 9 as well.
SIO (Service Information Octet)
The SIO field in an MSU contains the 4-bit subservice field followed by the 4-bit
service indicator. FISUs and LSSUs do not contain an SIO.
The subservice field contains the network indicator (e.g., national
or international) and the message priority (0..3 with 3 being the highest priority).
Message priority is considered only under congestion conditions, not to control
the order in which messages are transmitted. Low priority messages may be discarded
during periods of congestion. Signaling link test messages receive a higher priority
than call setup messages.
The service indicator specifies the MTP user (Fig. 6),
thereby allowing the decoding of the information contained in
the SIF.
Figure 6. Service Indicator Values
SIF (Signaling Information Field)
The SIF in an MSU contains the routing label and signaling information
(e.g., SCCP, TCAP, and ISUP message data). LSSUs and
FISUs contain neither a routing label nor an SIO as they are sent between two
directly connected signaling points. For more information about routing labels,
refer to the description of MTP Level 3 below.
CRC (Cyclic Redundancy Check)
The CRC value is used to detect and correct data transmission
errors. For more information, see the description for BIB above.
MTP Level 3
MTP Level 3 provides message routing between signaling points in the SS7 network.
MTP Level 3 is equivalent in function to the OSI Network Layer.
MTP Level 3 routes messages based on the routing label in the signaling information
field (SIF) of message signal units. The routing label is comprised of the destination
point code (DPC), originating point code (OPC), and signaling link
selection (SLS) field. Points codes are numeric addresses which uniquely
identify each signaling point in the SS7 network. When the destination point
code in a message indicates the receiving signaling point, the message is distributed
to the appropriate user part (e.g., ISUP or SCCP) indicated by the service indicator
in the SIO. Messages destined for other signaling points are transferred provided
that the receiving signaling point has message transfer capabilities (like an
STP). The selection of outgoing link is based on information in the DPC and SLS.
An ANSI routing label uses 7 octets; an ITU-T routing label uses 4 octets (Fig.
7).

Figure 7. ANSI vs. ITU-T SIO and SIF
ANSI point codes use 24-bits (three octets); ITU-T point codes typically use
14-bits. For this reason, signaling information exchanged between ANSI and ITU-T
networks must be routed through a gateway STP, protocol converter, or other signaling
point which has both an ANSI and an ITU-T point code. (Note: China uses 24-bit
ITU-T point codes which are incompatible with both ANSI and other ITU-T networks).
Interaction between ANSI and ITU-T networks is further complicated by different
implementations of higher level protocols and procedures.
An ANSI point code consists of network, cluster, and member octets (e.g., 245-16-0).
An octet is an 8-bit byte which can contain any value between zero and 255. Telcos
with large networks have unique network identifiers while smaller operators are
assigned a unique cluster number within networks 1 through 4 (e.g., 1-123-9).
Network number 0 is not used; network number 255 is reserved for future use.
ITU-T point codes are pure binary numbers which may be stated in terms of zone,
area/network, and signaling point identification numbers. For example, the point
code 5557 (decimal) may be stated as 2-182-5 (binary 010 10110110 101).
Signaling Link Selection (SLS)
The selection of outgoing link is based on information in the DPC and Signaling
Link Selection field. The SLS is used to:
- Ensure message sequencing. Any two messages sent with the same SLS will always
arrive at the destination in the same order in which they were originally sent.
- Allow equal load sharing of traffic among all available links. In theory,
if a user part sends messages at regular intervals and assigns the SLS values
in a round-robin fashion, the traffic level should be equal among all links
(within the combined linkset) to that destination.
In ANSI networks, the size of the SLS field was originally 5 bits (32 values).
In configurations with two links in each linkset of a combined linkset (totaling
4 links), 8 SLS values were assigned to each link to allow an equal balance of
traffic.
A problem arose when growing networks provisioned linksets beyond 4 links.
With a 5 bit SLS, a configuration with 5 links in each linkset of a combined
linkset (totaling 10 links) results in an uneven assignment of 3 SLS values for
8 links and 4 SLS values for the remaining 2 links. To eliminate this problem,
both ANSI and Bellcore moved to adopt an 8-bit SLS (256 values) to provide better
loadsharing across signaling links.
In ITU-T implementations, the SLS is interpreted as the signaling link code
in MTP messages. In ITU-T Telephone User Part message, a portion of the circuit
identification code is stored in the SLS field.
MTP Level 3 re-routes traffic away from failed links and signaling points and
controls traffic when congestion occurs. However, a detailed discussion of this
topic is outside the scope of this tutorial.
MTP Levels 2 and 1 can be replaced by ATM (Asynchronous Transfer Mode),
a simple broadband protocol which uses fixed-length 53 octet cells. MTP
Level 3 interfaces to ATM using the Signaling ATM Adaptation Layer (SAAL).
This interface is currently an area of ongoing study.
The
SEGway
Signaling Gateway supports MTP Level 1, 2, and 3, and SCCP
layers of the SS7 Protocol Stack.
Continue with ISUP...
|