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
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 value of the LI (Length Indicator) field determines
the signal unit type:
Signal Unit Type
|| Fill-In Signal Unit (FISU)|
|| Link Status Signal Unit (LSSU)|
|| Message Signal Unit
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).
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 (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.,
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)
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
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
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
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
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
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.
Signaling Gateway supports MTP Level 1, 2, and 3, and SCCP
layers of the SS7 Protocol Stack.