summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc4165.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc4165.txt')
-rw-r--r--doc/rfc/rfc4165.txt2971
1 files changed, 2971 insertions, 0 deletions
diff --git a/doc/rfc/rfc4165.txt b/doc/rfc/rfc4165.txt
new file mode 100644
index 0000000..8075c11
--- /dev/null
+++ b/doc/rfc/rfc4165.txt
@@ -0,0 +1,2971 @@
+
+
+
+
+
+
+Network Working Group T. George
+Request for Comments: 4165 B. Bidulock
+Category: Standards Track OpenSS7
+ R. Dantu
+ University of North Texas
+ H. Schwarzbauer
+ Siemens
+ K. Morneault
+ Cisco Systems
+ September 2005
+
+
+ Signaling System 7 (SS7) Message Transfer Part 2 (MTP2) -
+ User Peer-to-Peer Adaptation Layer (M2PA)
+
+Status of This Memo
+
+ This document specifies an Internet standards track protocol for the
+ Internet community, and requests discussion and suggestions for
+ improvements. Please refer to the current edition of the "Internet
+ Official Protocol Standards" (STD 1) for the standardization state
+ and status of this protocol. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2005).
+
+Abstract
+
+ This document defines a protocol supporting the transport of
+ Signaling System Number 7 (SS7) Message Transfer Part (MTP) Level 3
+ signaling messages over Internet Protocol (IP) using the services of
+ the Stream Control Transmission Protocol (SCTP). This protocol would
+ be used between SS7 Signaling Points using the MTP Level 3 protocol.
+ The SS7 Signaling Points may also use standard SS7 links using the
+ SS7 MTP Level 2 to provide transport of MTP Level 3 signaling
+ messages. The protocol operates in a manner similar to MTP Level 2
+ so as to provide peer-to-peer communication between SS7 endpoints.
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 1]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 1.1. Scope ......................................................3
+ 1.2. Terminology ................................................3
+ 1.3. Abbreviations ..............................................4
+ 1.4. Conventions ................................................5
+ 1.5. Signaling Transport Architecture ...........................5
+ 1.6. Services Provided by M2PA ..................................7
+ 1.7. Functions Provided by M2PA .................................9
+ 1.8. Definition of the M2PA Boundaries .........................10
+ 1.9. Differences Between M2PA and M2UA .........................10
+ 2. Protocol Elements ..............................................12
+ 2.1. Common Message Header .....................................12
+ 2.2. M2PA Header ...............................................13
+ 2.3. M2PA Messages .............................................14
+ 3. State Control ..................................................17
+ 3.1. SCTP Association State Control ............................17
+ 3.2. M2PA Link State Control ...................................18
+ 4. Procedures .....................................................19
+ 4.1. Procedures to Support MTP2 Features .......................19
+ 4.2. Procedures to Support the MTP3/MTP2 Interface .............30
+ 4.3. SCTP Considerations .......................................33
+ 5. Examples of M2PA Procedures ....................................34
+ 5.1. Link Initialization (Alignment) ...........................34
+ 5.2. Message Transmission and Reception ........................37
+ 5.3. Link Status Indication ....................................37
+ 5.4. Link Status Message (Processor Outage) ....................38
+ 5.5. Level 2 Flow Control ......................................42
+ 5.6. MTP3 Signaling Link Congestion ............................44
+ 5.7. Link Deactivation .........................................45
+ 5.8. Link Changeover ...........................................45
+ 6. Security Considerations ........................................47
+ 7. IANA Considerations ............................................47
+ 7.1. SCTP Payload Protocol Identifier ..........................47
+ 7.2. M2PA Protocol Extensions ..................................48
+ 8. Acknowledgements ...............................................49
+ 9. References .....................................................50
+ 9.1. Normative References ......................................50
+ 9.2. Informative References ....................................51
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 2]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+1. Introduction
+
+1.1. Scope
+
+ There is a need for Switched Circuit Network (SCN) signaling protocol
+ delivery over an IP network. This includes message transfer between
+ the following:
+
+ - a Signaling Gateway (SG) and a Media Gateway Controller (MGC)
+ [RFC2719]
+
+ - a SG and an IP Signaling Point (IPSP)
+
+ - an IPSP and an IPSP
+
+ This could allow for convergence of some signaling and data networks.
+ SCN signaling nodes would have access to databases and other devices
+ in the IP network domain that do not use SS7 signaling links.
+ Likewise, IP telephony applications would have access to SS7
+ services. There may also be operational cost and performance
+ advantages when traditional signaling links are replaced by IP
+ network "connections".
+
+ The delivery mechanism described in this document allows for full
+ MTP3 message handling and network management capabilities between any
+ two SS7 nodes communicating over an IP network. An SS7 node equipped
+ with an IP network connection is called an IP Signaling Point (IPSP).
+ The IPSPs function as traditional SS7 nodes using the IP network
+ instead of SS7 links.
+
+ The delivery mechanism should:
+
+ - Support seamless operation of MTP3 protocol peers over an IP
+ network connection.
+
+ - Support the MTP Level 2 / MTP Level 3 interface boundary.
+
+ - Support management of SCTP transport associations and traffic
+ instead of MTP2 Links.
+
+ - Support asynchronous reporting of status changes to management.
+
+1.2. Terminology
+
+ MTP - The Message Transfer Part of the SS7 protocol [Q.700] [Q.701]
+ [Q.702] [Q.703] [Q.704] [Q.705] [T1.111].
+
+ MTP2 - MTP Level 2, the MTP signaling link layer.
+
+
+
+George, et al. Standards Track [Page 3]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ MTP3 - MTP Level 3, the MTP signaling network layer.
+
+ MTP2-User - A protocol that normally uses the services of MTP Level
+ 2. The only MTP2 user is MTP3. The MTP2 user is equivalent to the
+ M2PA user.
+
+ Signaling End Point (SEP) - An SS7 Signaling Point that originates or
+ terminates signaling messages. One example is a central office
+ switch. [RFC2719]
+
+ IP Signaling Point (IPSP) - An SS7 Signaling Point with an IP network
+ connection used for SS7 over IP.
+
+ Signaling Gateway (SG) - A signaling agent that receives/sends SCN
+ native signaling at the edge of the IP network [RFC2719]. In this
+ context, an SG is an SS7 Signaling Point that has both an IP network
+ connection used for SS7 over IP, and a traditional (non-IP) link to
+ an SS7 network.
+
+ Signal Transfer Point (STP) - A Signal Transfer Point as defined by
+ MTP standards, e.g., [Q.700].
+
+ Signaling Point (STP) - A Signaling Point as defined by MTP
+ standards, e.g., [Q.700].
+
+ Association - An association refers to an SCTP association [RFC2960].
+ The association provides the transport for MTP3 protocol data units
+ and M2PA adaptation layer peer messages.
+
+ Network Byte Order - Most significant byte first, also known as "Big
+ Endian". See [RFC791], Appendix B "Data Transmission Order".
+
+ Stream - A stream refers to an SCTP stream [RFC2960].
+
+1.3. Abbreviations
+
+ BSNT - Backward Sequence Number to be Transmitted
+
+ FSNC - Forward Sequence Number of last message accepted by remote
+ level 2
+
+ LI - Length Indicator
+
+ MSU - Message Signal Unit
+
+ SCCP - Signaling Connection Control Part
+
+ SCN - Switched Circuit Network
+
+
+
+George, et al. Standards Track [Page 4]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ SCTP - Stream Control Transmission Protocol
+
+ SIF - Signaling Information Field
+
+ SIO - Service Information Octet
+
+ SLC - Signaling Link Code
+
+ SS7 - Signaling System Number 7
+
+ SSN - Stream Sequence Number
+
+ STP - Signal Transfer Point
+
+1.4. Conventions
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in [RFC2119].
+
+1.5. Signaling Transport Architecture
+
+ The architecture that has been defined [RFC2719] for Switched Circuit
+ Network (SCN) signaling transport over IP uses multiple components,
+ including an IP transport protocol, the Stream Control Transmission
+ Protocol (SCTP), and an adaptation module to support the services
+ expected by a particular SCN signaling protocol from its underlying
+ protocol layer.
+
+ Within this framework architecture, this document defines an SCN
+ adaptation module that is suitable for the transport of SS7 MTP3
+ messages. The adaptation layer, known as the MTP2 User Peer-to-peer
+ Adaptation Layer (M2PA), provides MTP3 with an interface and services
+ similar to MTP2. In effect, MTP2 and lower layers of the traditional
+ SS7 protocol stack are replaced by an IP equivalent.
+
+ Figure 1 shows the seamless interworking at the MTP3 layer. MTP3 is
+ adapted to the SCTP layer using the MTP2 User Peer-to-peer Adaptation
+ Layer (M2PA). All the primitives between MTP3 and MTP2 are supported
+ by M2PA. The SCTP association acts as one SS7 link between the
+ IPSPs. An IPSP may have the Signaling Connection Control Part (SCCP)
+ and other SS7 layers above MTP3.
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 5]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ ******** IP ********
+ * IPSP *--------* IPSP *
+ ******** ********
+
+ +------+ +------+
+ | TCAP | | TCAP |
+ +------+ +------+
+ | SCCP | | SCCP |
+ +------+ +------+
+ | MTP3 | | MTP3 |
+ +------+ +------+
+ | M2PA | | M2PA |
+ +------+ +------+
+ | SCTP | | SCTP |
+ +------+ +------+
+ | IP | | IP |
+ +------+ +------+
+
+ IP - Internet Protocol
+ IPSP - IP Signaling Point
+ SCTP - Stream Control Transmission Protocol [RFC2960]
+
+ Figure 1. M2PA Symmetrical Peer-to-Peer Architecture
+
+ Figure 2 shows an example of M2PA used in a Signaling Gateway (SG).
+ The SG is an IPSP that is equipped with both traditional SS7 and IP
+ network connections.
+
+ The SEP and the SG communicate through a traditional SS7 link, which
+ follows a protocol such as [Q.702]. The SG and the IPSP communicate
+ through an IP link using the M2PA protocol. Messages sent from the
+ SEP to the IPSP (and vice versa) are routed by the SG.
+
+ Any of the nodes in the diagram could have SCCP or other SS7 layers
+ above MTP3. The Signaling Gateway acts as a Signal Transfer Point
+ (STP). Other STPs MAY be present in the SS7 path between the SEP and
+ the SG.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 6]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ ******** SS7 *************** IP ********
+ * SEP *--------* SG *--------* IPSP *
+ ******** *************** ********
+
+ +------+ +------+
+ | TCAP | | TCAP |
+ +------+ +------+
+ | SCCP | | SCCP |
+ +------+ +-------------+ +------+
+ | MTP3 | | MTP3 | | MTP3 |
+ +------+ +------+------+ +------+
+ | MTP2 | | MTP2 | M2PA | | M2PA |
+ | | | +------+ +------+
+ | | | | SCTP | | SCTP |
+ +------+ +------+------+ +------+
+ | MTP1 | | MTP1 | IP | | IP |
+ +------+ +------+------+ +------+
+
+ SEP - SS7 Signaling Endpoint
+
+ Figure 2. M2PA in IP Signaling Gateway
+
+ Figure 2 is only an example. Other configurations are possible. In
+ short, M2PA uses the SCTP association as an SS7 link. The
+ M2PA/SCTP/IP stack can be used in place of an MTP2/MTP1 stack.
+
+1.5.1. Point Code Representation
+
+ MTP requires that each node with an MTP3 layer is identified by an
+ SS7 point code. In particular, each IPSP MUST have its own SS7 point
+ code.
+
+1.6. Services Provided by M2PA
+
+ The SS7 MTP3/MTP2 (MTP2-User) interface is retained in the IPSP. The
+ M2PA protocol layer is required to provide a set of services to its
+ user equivalent to that provided by MTP Level 2 to MTP Level 3.
+
+ These services are described in the following subsections.
+
+1.6.1. Support for MTP Level 2 / MTP Level 3 Interface Boundary
+
+ This interface is the same as the MTP2/MTP3 interface described in
+ the applicable SS7 standards [Q.703] [Q.704] [T1.111] [Q.2140], with
+ the addition of support for the larger sequence numbers found in
+ [T1.111] and [Q.2210].
+
+
+
+
+
+George, et al. Standards Track [Page 7]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ M2PA receives the primitives sent from MTP3 to its lower layer. M2PA
+ processes these primitives or maps them to appropriate primitives at
+ the M2PA/SCTP interface. Likewise, M2PA sends primitives to MTP3
+ similar to those used in the MTP3/MTP2 interface.
+
+ Because M2PA uses larger sequence numbers than MTP2, the MTP3
+ Changeover procedure MUST use the Extended Changeover Order and
+ Extended Changeover Acknowledgement messages described in [Q.2210]
+ and [T1.111].
+
+ Also, the following MTP3/MTP2 primitives must use the larger sequence
+ numbers:
+
+ - BSNT Confirmation
+
+ - Retrieval Request and FSNC
+
+1.6.2. Support for Peer-to-Peer Communication
+
+ In SS7, MTP Level 2 sends three types of messages, known as signal
+ units: Message Signal Units (MSUs), Link Status Signal Units (LSSUs),
+ and Fill-In Signal Units (FISUs).
+
+ MSUs originate at a higher level than MTP2, and are destined for a
+ peer at another node. Likewise, M2PA passes these messages from MTP3
+ to SCTP as data for transport across a link. These are called User
+ Data messages in M2PA.
+
+ LSSUs allow peer MTP2 layers to exchange status information.
+ Analogous messages are needed for M2PA. The Link Status message
+ serves this purpose.
+
+ FISUs are transmitted continuously when no other signal units are
+ waiting to be sent. FISUs also carry acknowledgement of messages.
+ Since an IP network is a shared resource, it would be undesirable to
+ have a message type that is sent continuously as is the case with
+ FISUs. Furthermore, SCTP does not require its upper layer to
+ continuously transmit messages. Therefore, M2PA does not provide a
+ protocol data unit like the FISU. The M2PA User Data message is used
+ to carry acknowledgement of messages. If M2PA needs to acknowledge a
+ message, and it has no MTP3 message of its own to send, an empty User
+ Data message can be sent.
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 8]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+1.7. Functions Provided by M2PA
+
+1.7.1. MTP2 Functionality
+
+ M2PA provides MTP2 functionality that is not provided by SCTP; thus,
+ together M2PA and SCTP provide functionality similar to that of MTP2.
+
+ SCTP provides reliable, sequenced delivery of messages.
+
+ M2PA functionality includes:
+
+ - Data retrieval to support the MTP3 changeover procedure
+
+ - Reporting of link status changes to MTP3
+
+ - Processor outage procedure
+
+ - Link alignment procedure
+
+1.7.2. Mapping of SS7 and IP Entities
+
+ The M2PA layer must maintain a map of each of its SS7 links to the
+ corresponding SCTP association.
+
+1.7.3. SCTP Association Management
+
+ SCTP allows a user-specified number of streams to be opened during
+ the initialization. It is the responsibility of the M2PA layer to
+ ensure proper management of the streams allowed within each
+ association.
+
+ M2PA uses two streams in each direction for each association. Stream
+ 0 in each direction is designated for Link Status messages. Stream 1
+ is designated for User Data messages, as well as Link Status messages
+ that must remain in sequence with the User Data messages. Separating
+ the Link Status and User Data messages into separate streams allows
+ M2PA to prioritize the messages in a manner similar to MTP2.
+
+ Notifications received from SCTP are processed by M2PA or translated
+ into an appropriate notification to be sent to the upper layer MTP3.
+
+1.7.4. Retention of MTP3 in the SS7 Network
+
+ M2PA allows MTP3 to perform all of its Message Handling and Network
+ Management functions with IPSPs as it does with other SS7 nodes.
+
+
+
+
+
+
+George, et al. Standards Track [Page 9]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+1.8. Definition of the M2PA Boundaries
+
+1.8.1. Definition of the M2PA / MTP Level 3 Boundary
+
+ The upper layer primitives provided by M2PA are the same as those
+ provided by MTP2 to MTP3. These primitives are described in the
+ applicable SS7 standards [Q.703] [Q.704] [T1.111] [Q.2140].
+
+1.8.2. Definition of the Lower Layer Boundary between M2PA and SCTP
+
+ The upper layer primitives provided by SCTP are described in
+ [RFC2960] Section 10 "Interface with Upper Layer".
+
+1.9. Differences Between M2PA and M2UA
+
+ The MTP2 User Adaptation Layer (M2UA) [M2UA] also adapts the MTP3
+ layer to the SCTP/IP stack. It does so through a backhauling
+ architecture [RFC2719]. This section is intended to clarify some of
+ the differences between the M2PA and M2UA approaches.
+
+ A possible M2PA architecture is shown in Figure 3. Here the IPSP's
+ MTP3 uses its underlying M2PA as a replacement for MTP2.
+ Communication between the two layers MTP3/M2PA is defined by the same
+ primitives as in SS7 MTP3/MTP2. M2PA performs functions similar to
+ MTP2.
+
+ ******** SS7 *************** IP ********
+ * SEP *--------* SG *--------* IPSP *
+ ******** *************** ********
+
+ +------+ +-------------+ +------+
+ | SCCP | | SCCP | | SCCP |
+ +------+ +-------------+ +------+
+ | MTP3 | | MTP3 | | MTP3 |
+ +------+ +------+------+ +------+
+ | MTP2 | | MTP2 | M2PA | | M2PA |
+ | | | +------+ +------+
+ | | | | SCTP | | SCTP |
+ +------+ +------+------+ +------+
+ | MTP1 | | MTP1 | IP | | IP |
+ +------+ +------+------+ +------+
+
+ Figure 3. M2PA in IP Signaling Gateway
+
+ A comparable architecture for M2UA is shown in Figure 4. In M2UA,
+ the MGC's MTP3 uses the SG's MTP2 as its lower SS7 layer. Likewise,
+ the SG's MTP2 uses the MGC's MTP3 as its upper SS7 layer. In SS7,
+
+
+
+
+George, et al. Standards Track [Page 10]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ communication between the MTP3 and MTP2 layers is defined by
+ primitives. In M2UA, the MTP3/MTP2 communication is defined as M2UA
+ messages and sent over the IP connection.
+
+ ******** SS7 *************** IP ********
+ * SEP *--------* SG *--------* MGC *
+ ******** *************** ********
+
+ +------+ +------+
+ | SCCP | | SCCP |
+ +------+ +------+
+ | MTP3 | (NIF) | MTP3 |
+ +------+ +------+------+ +------+
+ | MTP2 | | MTP2 | M2UA | | M2UA |
+ | | | +------+ +------+
+ | | | | SCTP | | SCTP |
+ +------+ +------+------+ +------+
+ | MTP1 | | MTP1 | IP | | IP |
+ +------+ +------+------+ +------+
+
+ NIF - Nodal Interworking Function
+
+ Figure 4. M2UA in IP Signaling Gateway
+
+ M2PA and M2UA are similar in that:
+
+ a. Both transport MTP3 data messages.
+
+ b. Both present an MTP2 upper interface to MTP3.
+
+ Differences between M2PA and M2UA include:
+
+ a. M2PA: IPSP processes MTP3/MTP2 primitives.
+ M2UA: MGC transports MTP3/MTP2 primitives between the SG's MTP2
+ and the MGC's MTP3 (via the NIF) for processing.
+
+ b. M2PA: SG-IPSP connection is an SS7 link.
+ M2UA: SG-MGC connection is not an SS7 link. It is an
+ extension of MTP to a remote entity.
+
+ c. M2PA: SG is an SS7 node with a point code.
+ M2UA: SG is not an SS7 node and has no point code.
+
+ d. M2PA: SG can have upper SS7 layers, e.g., SCCP.
+ M2UA: SG does not have upper SS7 layers since it has no MTP3.
+
+ e. M2PA: relies on MTP3 for management procedures.
+ M2UA: uses M2UA management procedures.
+
+
+
+George, et al. Standards Track [Page 11]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ Potential users of M2PA and M2UA should be aware of these differences
+ when deciding how to use them for SS7 signaling transport over IP
+ networks.
+
+2. Protocol Elements
+
+ This section describes the format of various messages used in this
+ protocol.
+
+ All fields in an M2PA message must be transmitted in the network byte
+ order, i.e., most significant byte first, unless otherwise stated.
+
+2.1. Common Message Header
+
+ The protocol messages for M2PA require a message header structure
+ that contains a version, message class, message type, and message
+ length. The header structure is shown in Figure 5.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Version | Spare | Message Class | Message Type |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | Message Length |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 5. Common Message Header
+
+2.1.1. Version
+
+ The version field contains the version of M2PA. The supported
+ versions are:
+
+ Value
+ (decimal) Version
+ --------- -------
+ 1 Release 1.0 of M2PA protocol
+
+2.1.2. Spare
+
+ The Spare field SHOULD be set to all zeroes (0's) by the sender and
+ ignored by the receiver. The Spare field SHOULD NOT be used for
+ proprietary information.
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 12]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+2.1.3. Message Class
+
+ The following List contains the valid Message Classes:
+
+ Value
+ (decimal) Message Class
+ --------- -------------
+ 11 M2PA Messages
+
+ Other values are invalid for M2PA.
+
+2.1.4. Message Type
+
+ The following list contains the message types for the defined
+ messages.
+
+ Value
+ (decimal) Message Type
+ --------- -------------
+ 1 User Data
+ 2 Link Status
+
+ Other values are invalid.
+
+2.1.5. Message Length
+
+ The Message Length defines the length of the message in octets,
+ including the Common Header.
+
+2.2. M2PA Header
+
+ All protocol messages for M2PA require an M2PA-specific header. The
+ header structure is shown in Figure 6.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | unused | BSN |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | unused | FSN |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 6. M2PA-specific Message Header
+
+2.2.1. Backward Sequence Number (BSN)
+
+ This is the FSN of the message last received from the peer.
+
+
+
+
+George, et al. Standards Track [Page 13]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+2.2.2. Forward Sequence Number (FSN)
+
+ This is the M2PA sequence number of the User Data message being sent.
+
+ The FSN and BSN values range from 0 to 16,777,215.
+
+2.3. M2PA Messages
+
+ The following section defines the messages and parameter contents.
+ An M2PA message consists of a Common Message Header and M2PA Header,
+ followed by the data appropriate to the message.
+
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ \ \
+ / Common Message Header /
+ \ \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ \ \
+ / M2PA-specific Message Header /
+ \ \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ \ \
+ / Message Data /
+ \ \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The field "Message Data" contains either:
+
+ - a User Data message (Section 2.3.1), or
+ - a Link State message (Section 2.3.2)
+
+2.3.1. User Data
+
+ The User Data is the data sent from MTP3. The User Data is an
+ optional field. It need not be included in an acknowledgement-only
+ message.
+
+ The format of the User Data message is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ \ \
+ / Data /
+ \ \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+
+
+
+
+George, et al. Standards Track [Page 14]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ The Data field contains the following fields of the MTP Message
+ Signal Unit (MSU):
+
+ - the Message Priority field (PRI)
+ - Service Information Octet (SIO)
+ - Signaling Information Field (SIF)
+
+ The MTP MSU is described in Q.703 [Q.703], Section 2.2, "Signal Unit
+ Format", and T1.111.3 [T1.111], Section 2.2, "Signal Unit Format".
+ The Japanese TTC standard uses the PRI field as an MTP3 Message
+ Priority field [JT-Q703] [JT-Q704]. For versions of MTP that do not
+ use these two bits, the entire first octet of the Data field is
+ spare.
+
+ The format of the first octet of the Data field is:
+
+ 0
+ 0 1 2 3 4 5 6 7
+ +-+-+-+-+-+-+-+-+
+ |PRI| spare | (followed by SIO, SIF)
+ +-+-+-+-+-+-+-+-+
+
+ PRI - Priority used only in national MTP defined in [JT-Q703] and
+ [JT-Q704]. These bits are spare for other MTP versions.
+
+ Note that the Data field SHALL NOT contain other components of the
+ MTP MSU format:
+
+ - Flag
+ - Backward Sequence Number (BSN)
+ - Backward Indicator Bit (BIB)
+ - Forward Sequence Number (FSN)
+ - Forward Indicator Bit (FIB)
+ - Length Indicator (LI)
+ - Check bits (CK)
+
+ The Data field SHALL be transmitted in the byte order as defined by
+ MTP3.
+
+ M2PA SHALL NOT add padding to the MTP3 message.
+
+ Note: In the SS7 Recommendations, the format of the messages and
+ fields within the messages are based on bit transmission order. In
+ these recommendations, the Least Significant Bit (LSB) of each field
+ is positioned to the right. The received SS7 fields are populated
+ octet by octet as received into the 4-octet word, as shown below.
+
+
+
+
+
+George, et al. Standards Track [Page 15]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ As an example, in the ANSI MTP protocol, the Data field format is
+ shown below:
+
+ |MSB---------------------------------------------------------LSB|
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |PRI| spare | SIO | SIF octet | ... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ \ \
+ / : /
+ \ \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | ... | ... | ... | SIF octet |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Within each octet, the Least Significant Bit (LSB) per the SS7
+ Recommendations is to the right (e.g., bit 15 of SIO is the LSB).
+
+2.3.2. Link Status
+
+ The MTP2 Link Status message can be sent between M2PA peers to
+ indicate link status. This message performs a function similar to
+ the Link Status Signal Unit in MTP2. The format of the Link Status
+ message is as follows:
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | State |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ The valid values for State are shown in the following table.
+
+ Value
+ (decimal) Description
+ --------- -----------
+ 1 Alignment
+ 2 Proving Normal
+ 3 Proving Emergency
+ 4 Ready
+ 5 Processor Outage
+ 6 Processor Recovered
+ 7 Busy
+ 8 Busy Ended
+ 9 Out of Service (OOS)
+
+
+
+
+
+George, et al. Standards Track [Page 16]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+2.3.2.1. Link Status Proving
+
+ The Link Status Proving message may optionally carry additional
+ bytes. If the optional bytes are used, the format of the message is
+ as follows.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | State |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ \ \
+ / filler /
+ \ \
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ It is RECOMMENDED that the length of the Link Status Proving message
+ be similar to the size of the User Data messages that will be carried
+ on the link.
+
+ It is RECOMMENDED that the filler field contain a number pattern that
+ varies among the Link Status Proving messages, and that allows the
+ SCTP checksum [RFC3309] to be used to verify the accuracy of
+ transmission.
+
+3. State Control
+
+3.1. SCTP Association State Control
+
+ Figure 7 illustrates state changes in the M2PA management of the SCTP
+ association, together with the causing events. Note that some of the
+ error conditions are not shown in the state diagram.
+
+ Following is a list of the M2PA Association States and a description
+ of each.
+
+ IDLE - State of the association during power-up initialization.
+
+ ASSOCIATING - M2PA is attempting to establish an SCTP association.
+
+ ESTABLISHED - SCTP association is established.
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 17]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ +-----------+
+ | IDLE |
+ +-----------+
+ |
+ | Associate
+ | (Issue SCTP associate)
+ |
+ | +----------------------+
+ | | (Issue SCTP |
+ V V associate) |
+ +-------------+ |
+ | ASSOCIATING |----------------->+
+ +-------------+ SCTP Comm Error |
+ | |
+ | |
+ | SCTP Comm Up |
+ | |
+ V |
+ +-------------+ |
+ | ESTABLISHED |----------------->+
+ +-------------+ SCTP Comm Error
+ OR SCTP Comm Lost
+
+ Figure 7. M2PA Association State Transition Diagram
+
+3.2. M2PA Link State Control
+
+ The M2PA link moves from one state to another in response to various
+ events. The events that may result in a change of state include:
+
+ - MTP3 primitive requests
+
+ - Receipt of messages from the peer M2PA
+
+ - Expiration of timers
+
+ - SCTP notifications
+
+ These events affect the M2PA link state in a manner similar to MTP2.
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 18]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+4. Procedures
+
+ Because M2PA provides MTP3 with an interface and functionality like
+ MTP2, its internal functioning is similar to that of MTP2.
+
+ Except as modified in this document, M2PA SHOULD follow the
+ requirements of the applicable MTP2 specification. These may include
+ [Q.703] or [T1.111]. The same standard MUST be followed on both ends
+ of the M2PA link.
+
+ In particular, the corresponding applicable timer value defaults and
+ ranges specified for the applicable MTP2 standard should be used for
+ the M2PA timers.
+
+ When referring to MTP2 terminology in this document, the terminology
+ of [Q.703] is used. This does not imply that the requirements of
+ [Q.703] are to be followed.
+
+4.1. Procedures to Support MTP2 Features
+
+4.1.1. Signal Unit Format, Delimitation, Acceptance
+
+ Messages for transmission across the network must follow the format
+ described in Section 2.
+
+ SCTP provides reliable, in-sequence delivery of user messages.
+ Therefore the related functionality of MTP2 is not needed. SCTP does
+ not provide functions related to Link State Control in MTP2. These
+ functions must be provided by M2PA.
+
+ Since SCTP provides delivery of messages, there is no need for M2PA
+ to delimit its messages with a flag, as is done in MTP2.
+ Furthermore, M2PA does not need to perform zero bit insertion and
+ deletion on its messages.
+
+ Since SCTP uses a checksum to detect transmission errors, there is no
+ need for an M2PA checksum, as is needed in MTP2. This also
+ eliminates the need for the error rate monitors of MTP2.
+
+ Since SCTP provides reliable delivery and ordered delivery, M2PA does
+ not perform retransmissions. This eliminates the need for the
+ forward and backward indicator bits in MTP2 signal units.
+
+ Acceptance of a message is indicated by a successful receipt of the
+ message from SCTP.
+
+
+
+
+
+
+George, et al. Standards Track [Page 19]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+4.1.2. MTP and SCTP Entities
+
+ This section describes how M2PA relates MTP and SCTP entities.
+
+ Each MTP link corresponds to an SCTP association. To prevent
+ duplicate associations from being established, it is RECOMMENDED that
+ each endpoint know the IP address (or IP addresses, if multi-homing
+ is used) and port number of both endpoints. SCTP prevents two
+ associations with the same IP addresses and port numbers from being
+ established.
+
+ It is necessary for at least one of the endpoints to be listening on
+ the port on which the other endpoint is trying to establish the
+ association. Therefore, at least one of the port numbers SHOULD be
+ the M2PA registered port.
+
+ If only one association is to be established between these two IP
+ addresses, then the association SHOULD be established using the M2PA
+ registered port at each endpoint.
+
+ If it is desirable to create multiple associations (for multiple
+ links) between the two IP addresses, different port numbers can be
+ used for each association. Nevertheless, the M2PA registered port
+ number SHOULD be used at one end of each association.
+
+ Each combination of IP address/port for the two endpoints (i.e., each
+ association) MUST be mapped to the same Signaling Link Code (SLC) at
+ each endpoint, so that each endpoint knows which link is being
+ created at the time the SCTP association is established. However,
+ M2PA does not do any processing based on the SLC.
+
+ Following are examples of the relationships between associations and
+ links. Note that a link is an SCTP association identified by two
+ endpoints. Each endpoint is identified by an IP address and port
+ number. Each association is mapped to an SLC.
+
+ Figure 8 shows a case with two IPSPs, each with two IP addresses.
+ Two associations are the links that connect the two IPSPs. Since
+ these links are in the same link set, they MUST have different SLCs.
+
+ Table 1 shows the relationships in tabular form. Table 1 is only
+ conceptual. The actual method for mapping the SCTP associations to
+ the SLCs is implementation dependent.
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 20]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ IPSP X IPSP Y
+
+ +-------------+ +-------------+
+ | | SCTP | |
+ | IPA | association 1 | IPB |
+ | port = PW +---------------+ port = PW |
+ | SLC = a | | SLC = a |
+ | | | |
+ | | | |
+ | | SCTP | |
+ | IPC | association 2 | IPD |
+ | port = PW +---------------+ port = PW |
+ | SLC = b | | SLC = b |
+ | | | |
+ | | | |
+ +-------------+ +-------------+
+
+ IPx = IP address
+ PW = Registered port number for M2PA
+
+ Figure 8. Two IPSPs with Two IP Addresses Each
+
+
+ +-------------+---------------------------------------+-----+
+ | Association | IPSP X | IPSP Y | SLC |
+ | +------------+------+------------+------+ |
+ | | IP address | Port | IP address | Port | |
+ +=============+============+======+============+======+=====+
+ | 1 | IPA | PW | IPB | PW | a |
+ +-------------+------------+------+------------+------+-----+
+ | 2 | IPC | PW | IPD | PW | b |
+ +-------------+------------+------+------------+------+-----+
+
+ Table 1. Two IPSPs with Two IP Addresses Each
+
+ Figure 9 and Table 2 show an example with three IPSPs. Note that in
+ this example, the two links are in different link sets. Therefore,
+ it is possible that the SLC values a and b MAY be equal.
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 21]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ IPSP X IPSP Y
+
+ +-------------+ +-------------+
+ | | SCTP | |
+ | IPA | association 1 | IPB |
+ | port = PW +---------------+ port = PW |
+ | SLC = a | | SLC = a |
+ | | | |
+ | | | |
+ | | SCTP | |
+ | IPC | association 2 | |
+ | port = PW +-------+ | |
+ | SLC = b | | | |
+ | | | | |
+ | | | | |
+ +-------------+ | +-------------+
+ |
+ |
+ | IPSP Z
+ |
+ | +-------------+
+ | | |
+ | | IPD |
+ +-------+ port = PW |
+ | SLC = b |
+ | |
+ | |
+ | |
+ | |
+ | |
+ | |
+ | |
+ | |
+ +-------------+
+
+ IPx = IP address
+ PW = Registered port number for M2PA
+
+ Figure 9. One IPSP Connected to Two IPSPs
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 22]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ +-------------+---------------------------------------+-----+
+ | Association | IPSP X | IPSP Y/Z | SLC |
+ | +------------+------+------------+------+ |
+ | | IP address | Port | IP address | Port | |
+ +=============+============+======+============+======+=====+
+ | 1 | IPA | PW | IPB | PW | a |
+ +-------------+------------+------+------------+------+-----+
+ | 2 | IPC | PW | IPD | PW | b |
+ +-------------+------------+------+------------+------+-----+
+
+ Table 2. One IPSP Connected to Two IPSPs
+
+ Figure 10 and Table 3 show two associations between the same IP
+ addresses. This is accomplished by using different port numbers for
+ each association at one endpoint.
+
+ IPSP X IPSP Y
+
+ +-------------+ +-------------+
+ | | SCTP | |
+ | IPA | association 1 | IPB |
+ | port = P1 +---------------+ port = PW |
+ | SLC = a | | SLC = a |
+ | | | |
+ | | | |
+ | | SCTP | |
+ | IPA | association 2 | IPB |
+ | port = PW +---------------+ port = PW |
+ | SLC = b | | SLC = b |
+ | | | |
+ | | | |
+ +-------------+ +-------------+
+
+ IPx = IP address
+ P1 = Pre-selected port number
+ PW = Registered port number for M2PA
+
+ Figure 10. Multiple Associations Between Two IP Addresses
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 23]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ +-------------+---------------------------------------+-----+
+ | Association | IPSP X | IPSP Y | SLC |
+ | +------------+------+------------+------+ |
+ | | IP address | Port | IP address | Port | |
+ +=============+============+======+============+======+=====+
+ | 1 | IPA | P1 | IPB | PW | a |
+ +-------------+------------+------+------------+------+-----+
+ | 2 | IPA | PW | IPB | PW | b |
+ +-------------+------------+------+------------+------+-----+
+
+ Table 3. Multiple Associations Between Two IP Addresses
+
+ The association SHALL contain two streams in each direction. Stream
+ 0 is designated for Link Status messages. Stream 1 is designated for
+ User Data messages, as well as Link Status messages that must remain
+ in sequence with the User Data messages.
+
+ The following Link Status messages SHALL be sent on the Link Status
+ stream (stream 0):
+
+ - Alignment
+ - Proving Normal
+ - Proving Emergency
+ - Ready (when sent during alignment)
+ - Busy
+ - Busy Ended
+ - Out of Service
+
+ The following Link Status messages SHALL be sent on the User Data
+ stream (stream 1):
+
+ - Processor Outage
+ - Processor Recovered
+ - Ready (when sent at the end of processor outage)
+
+4.1.3. Link Alignment
+
+ The purposes of the alignment procedure are:
+
+ (1) To provide a handshaking procedure so that both endpoints are
+ prepared to send SS7 traffic, and to prevent traffic from
+ being sent before the other end is ready.
+
+ (2) To verify that the SCTP association is suitable for use as an
+ SS7 link.
+
+
+
+
+
+
+George, et al. Standards Track [Page 24]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ Link alignment takes place after the association is established. If
+ SCTP fails to establish the association, and M2PA has received a
+ Start Request from its MTP3, then M2PA SHALL report to MTP3 that the
+ link is out of service.
+
+ The Link Status Out of Service message replaces the SIOS message of
+ MTP2. Unlike MTP2, the message SHOULD NOT be transmitted
+ continuously. After the association is established, M2PA SHALL send
+ a Link Status Out of Service message to its peer. Prior to the
+ beginning of alignment, M2PA MAY send additional Link Status Out of
+ Service messages.
+
+ The Link Status Alignment message replaces the SIO message of MTP2.
+ This message is sent to signal the beginning of the alignment
+ procedure. The Link Status Alignment message SHOULD NOT be
+ transmitted continuously. M2PA MAY send additional Link Status
+ Alignment until it receives Link Status Alignment, Link Status
+ Proving Normal, or Link Status Proving Emergency from the peer.
+
+ The Link Status Proving Normal message replaces the SIN message of
+ MTP2. The Link Status Proving Emergency message replaces the SIE
+ message of MTP2.
+
+ The proving period MAY be omitted if this is allowed by the
+ applicable MTP2 standard (e.g., [Q.2140]).
+
+ If proving is performed, then during the proving period (i.e., after
+ M2PA starts the proving period timer T4), M2PA SHALL send Link Status
+ Proving messages to its peer at an interval defined by the protocol
+ parameter Proving_Interval. It is RECOMMENDED that Proving_Interval
+ be set so that the traffic load generated with the Link Status
+ Proving messages during the proving period is comparable to the
+ normal traffic load expected when the link is in service.
+
+ The Link Status Ready message replaces the FISU of MTP2 that is sent
+ at the end of the proving period. The Link Status Ready message is
+ used to verify that both ends have completed proving. When M2PA
+ starts timer T1, it SHALL send a Link Status Ready message to its
+ peer in the case where MTP2 would send a FISU after proving is
+ complete. If the Link Status Ready message is sent, then M2PA MAY
+ send additional Link Status Ready messages while timer T1 is running.
+ These Link Status Ready messages are sent on the Link Status stream.
+
+ In the case that MTP2 sends an MSU or SIPO message at the end of
+ proving, M2PA SHALL send (respectively) a User Data or Link Status
+ Processor Outage message.
+
+
+
+
+
+George, et al. Standards Track [Page 25]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+4.1.4. Processor Outage
+
+ The Link Status Processor Outage message replaces the SIPO message of
+ MTP2. Unlike MTP2, the message SHOULD NOT be transmitted
+ continuously. M2PA SHALL send a Link Status Processor Outage message
+ to its peer at the beginning of a processor outage condition where
+ MTP2 would send SIPO. M2PA MAY send additional Link Status Processor
+ Outage messages as long as that condition persists. The Link Status
+ Processor Outage message SHALL be sent on the User Data stream.
+
+ While in a local processor outage (LPO) condition:
+
+ (a) Any User Data messages received from the peer MUST NOT be
+ acknowledged and MUST be buffered.
+
+ (b) M2PA SHOULD continue to acknowledge User Data messages
+ received and accepted by MTP3 before the local processor
+ outage.
+
+ (c) M2PA SHOULD continue to transmit messages that have been sent
+ by its upper layer MTP3.
+
+ While there is a remote processor outage (RPO) condition:
+
+ (a) M2PA SHOULD continue to acknowledge User Data messages
+ received and accepted by MTP3, regardless of the remote
+ processor outage.
+
+ (b) If any User Data messages received from the peer after the
+ Link Status Processor Outage cannot be delivered to MTP3, then
+ these messages MUST NOT be acknowledged and MUST be buffered.
+
+ If M2PA receives a Flush command from MTP3,
+
+ (a) M2PA SHALL discard any incoming messages that were queued and
+ unacknowledged during the processor outage condition.
+
+ (b) M2PA SHALL discard messages in the transmit and retransmit
+ queues as required by MTP2.
+
+ If M2PA receives a Continue command from MTP3, M2PA SHALL begin
+ processing the incoming messages that were queued and unacknowledged
+ during the processor outage condition.
+
+ When the local processor outage condition ends, M2PA SHALL send a
+ Link Status Processor Recovered message to its peer on the User Data
+ stream. This message is used to signal the end of the processor
+ outage condition, instead of an MSU or FISU, as is used in MTP2. The
+
+
+
+George, et al. Standards Track [Page 26]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ BSN in the Link Status Processor Recovered message is set to the FSN
+ of the last User Data message received (and not discarded) from the
+ peer M2PA. M2PA SHALL cease transmitting User Data messages after
+ sending the Link Status Processor Recovered message, until it has
+ received the Link Status Ready message (see below).
+
+ Upon receiving the Link Status Processor Recovered message, the M2PA
+ in RPO SHALL respond with a Link Status Ready message on the User
+ Data stream. The BSN in the Link Status Ready message is set to the
+ FSN of the last User Data message received (and not discarded) from
+ the peer M2PA.
+
+ Upon receiving the Link Status Ready message, the M2PA formerly in
+ LPO SHALL respond with a Link Status Ready message on the User Data
+ stream. The BSN in the Link Status Ready message is set to the FSN
+ of the last User Data message received (and not discarded) from the
+ peer M2PA.
+
+ M2PA (at both the LPO and RPO ends) uses the BSN value in the
+ received Link Status Ready message to resynchronize its sequence
+ numbers, if this is required by MTP2. M2PA SHALL NOT resume
+ transmitting User Data messages until it has sent the Link Status
+ Ready message.
+
+ During resynchronization, M2PA SHALL NOT discard any received User
+ Data messages that were sent after the processor outage ended.
+
+ When M2PA experiences a local processor outage, it MAY put the link
+ out of service by sending a Link Status Out of Service message, if
+ this is allowed by the applicable MTP2 standard (e.g., [Q.2140]).
+
+ In other respects, M2PA SHOULD follow the same procedures as MTP2 in
+ processor outage.
+
+4.1.5. Level 2 Flow Control
+
+ The Link Status Busy message replaces the SIB message of MTP2. The
+ message SHOULD NOT be transmitted continuously. M2PA SHALL send a
+ Link Status Busy message to its peer at the beginning of a receive
+ congestion condition where MTP2 would send SIB. M2PA MAY send
+ additional Link Status Busy messages as long as that condition
+ persists. When the condition ends, M2PA SHALL send a Link Status
+ Busy Ended message to its peer.
+
+ M2PA SHALL continue transmitting messages while it is in receive
+ congestion, but MUST NOT acknowledge the message that triggered the
+ sending of the Link Status Busy message, nor any messages received
+ before the sending of Link Status Busy Ended.
+
+
+
+George, et al. Standards Track [Page 27]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ When the peer M2PA receives the first Link Status Busy message, it
+ SHALL start the Remote Congestion timer T6 if there are messages in
+ the retransmission buffer awaiting acknowledgement (i.e., T7 is
+ running). M2PA SHALL stop the T7 timer if it is running. Additional
+ Link Status Busy messages received while T6 is running do not cause
+ T6 to be reset and do not cause T7 to be started. While T6 is
+ running, T7 SHALL NOT be started.
+
+ When the peer M2PA receives the Link Status Busy Ended message and T6
+ has not expired, it SHALL stop T6 (if T6 is running) and start T7 (if
+ there are messages awaiting acknowledgement in the retransmission
+ buffer).
+
+ The peer M2PA SHOULD continue receiving and acknowledging messages
+ while the other end is busy, but MUST NOT send User Data messages
+ after receiving Link Status Busy and before receiving Link Status
+ Busy Ended.
+
+4.1.6. Link Out of Service
+
+ The Link Status Out of Service message replaces the SIOS message of
+ MTP2. Unlike MTP2, the message SHOULD NOT be transmitted
+ continuously. M2PA SHALL send a Link Status Out of Service message
+ to its peer at the beginning of a condition where MTP2 would send
+ SIOS. M2PA MAY send additional Link Status Out of Service messages
+ as long as that condition persists.
+
+ When M2PA places a link in the OUT OF SERVICE state, M2PA SHOULD NOT
+ terminate the SCTP association.
+
+4.1.7. SCTP Association Problems
+
+ The SCTP association for a link may become unusable, such as when one
+ of the following occurs:
+
+ - SCTP sends a Send Failure notification to M2PA.
+
+ - SCTP sends a Communication Lost notification to M2PA.
+
+ - SCTP sends a Communication Error notification to M2PA.
+
+ - The SCTP association is lost.
+
+ If the SCTP association for a link becomes unable to transmit or
+ receive messages, M2PA SHALL report to MTP3 that the link is out of
+ service and enter the OUT OF SERVICE state.
+
+
+
+
+
+George, et al. Standards Track [Page 28]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+4.1.8. Transmission and Reception Priorities
+
+ In MTP, Link Status messages have priority over User Data messages
+ ([Q.703], Section 11.2). To achieve this in M2PA, M2PA uses separate
+ streams in its SCTP association for Link Status messages and User
+ Data messages.
+
+ M2PA SHALL send all messages using the ordered delivery option of
+ SCTP.
+
+ M2PA SHOULD give higher priority to messages sent on the Link Status
+ stream than to messages sent on the User Data stream when sending
+ messages to SCTP.
+
+ M2PA SHOULD give higher priority to reading the Link Status stream
+ than to reading the User Data stream.
+
+ M2PA SHOULD give higher priority to receiving notifications from SCTP
+ than to reading either the Link Status stream or the User Data
+ stream.
+
+4.1.9. M2PA Version Control
+
+ A node upgraded to a newer version of M2PA SHOULD support the older
+ versions used on other nodes with which it is communicating. If that
+ is the case, then alignment can proceed normally.
+
+ In particular, it is recommended that for future modifications to
+ this protocol:
+
+ - Any newer version SHOULD be able to process the messages from an
+ older version.
+
+ - A newer version of M2PA SHOULD refrain from sending messages to
+ an older version of M2PA messages that the older version cannot
+ process.
+
+ - If an older version of M2PA receives a message that it cannot
+ process, it SHOULD discard the message.
+
+ - In cases where different processing is done in two versions for
+ the same format of a message, then the newer version SHOULD
+ contain procedures to recognize and handle this appropriately.
+
+ In case a newer version of M2PA is incompatible with an older
+ version, the newer version SHOULD recognize this and prevent the
+ alignment of the link. If a Link Status Alignment message with an
+
+
+
+
+George, et al. Standards Track [Page 29]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ unsupported version is received by the newer version, the receiving
+ end's M2PA SHOULD reply with a Link Status Out of Service message and
+ not complete the alignment procedure.
+
+4.2. Procedures to Support the MTP3/MTP2 Interface
+
+4.2.1. Sending and Receiving Messages
+
+ When MTP3 sends a message for transmission to M2PA, M2PA passes the
+ corresponding M2PA message to SCTP using the SEND primitive.
+
+ User Data messages SHALL be sent via the User Data stream (stream 1)
+ of the association.
+
+ M2PA Link Status messages are passed to SCTP using the SEND
+ primitive.
+
+ The following Link Status messages SHALL be sent on the Link Status
+ stream (stream 0):
+
+ - Alignment
+ - Proving Normal
+ - Proving Emergency
+ - Ready (when sent during alignment)
+ - Busy
+ - Busy Ended
+ - Out of Service
+
+ The following Link Status messages SHALL be sent on the User Data
+ stream (stream 1):
+
+ - Processor Outage
+ - Processor Recovered
+ - Ready (when sent at the end of processor outage)
+
+ If M2PA receives a message from SCTP with an invalid Message Class or
+ unsupported Message Type in the Common Message Header, M2PA SHALL
+ discard the message.
+
+ For message types other than User Data, the Forward Sequence Number
+ is set to the FSN of the last User Data message sent.
+
+ If M2PA receives a User Data message with an FSN that is out of
+ order, M2PA SHALL discard the message.
+
+ Note: In all calculations involving FSN and BSN, the programmer
+ should be aware that the value wraps around to 0 after reaching its
+ maximum value.
+
+
+
+George, et al. Standards Track [Page 30]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ When there is a message to acknowledge, M2PA MUST acknowledge the
+ message with the next User Data message sent. If there is no User
+ Data message available to be sent when there is a message to
+ acknowledge, M2PA SHOULD generate and send a User Data message with
+ no data payload, without delay. (In other words, in the case where
+ MTP2 would acknowledge a message with a FISU, M2PA SHOULD acknowledge
+ the message with an empty User Data message.) The FSN for this empty
+ User Data message is not incremented. It MUST contain the same FSN
+ as the most recently sent User Data message that contains data.
+ Delaying of acknowledgements can result in poor SS7 performance.
+
+ If M2PA receives an empty User Data message, it SHALL NOT send an
+ acknowledgement of that message.
+
+ Note that there is no reason to place Link Status messages or empty
+ User Data messages in the M2PA retransmit buffer, since these
+ messages are not retrieved for changeover and timer T7 does not apply
+ to them.
+
+ Note that since SCTP provides reliable delivery and ordered delivery
+ within the stream, M2PA does not perform retransmissions.
+ Nevertheless, M2PA SHALL retain transmitted User Data messages in a
+ retransmit queue until they are acknowledged. These messages are
+ needed in case MTP3 performs data retrieval as part of a changeover
+ procedure.
+
+ Because propagation delays in IP networks are more variable than in
+ traditional SS7 networks, a single T7 timer (excessive delay of
+ acknowledgement), as in MTP2, is inadequate. If any message is
+ unacknowledged after a period equal to the T7 value, the T7 timer
+ SHALL expire.
+
+4.2.2. MTP3 Signaling Link Congestion
+
+ M2PA SHALL detect transmit congestion in its buffers according to the
+ requirements for signaling link transmit congestion in MTP3, e.g.,
+ Q.704 [Q.704], Section 3.8.
+
+4.2.3. Changeover
+
+ The objective of the changeover is to ensure that signaling traffic
+ carried by the unavailable signaling link is diverted to the
+ alternative signaling link(s) as quickly as possible while avoiding
+ message loss, duplication, or mis-sequencing. For this purpose, the
+ changeover procedure includes data retrieval, which is performed
+ before opening the alternative signaling links to the diverted
+ traffic. Data retrieval consists of these steps:
+
+
+
+
+George, et al. Standards Track [Page 31]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ (1) buffer updating, i.e., identifying all those User Data
+ messages in the retransmission buffer of the unavailable
+ signaling link which have not been received by the far end
+ M2PA, as well as untransmitted messages, and
+
+ (2) transferring those messages to the transmission buffers of the
+ alternate links.
+
+ Note that only User Data messages containing data are retrieved and
+ transmitted over the alternate links. Link Status messages and empty
+ User Data messages SHALL NOT be retrieved and transmitted over the
+ alternate links.
+
+ M2PA's Sequence Numbers are 24 bits long. MTP2's Forward and
+ Backward Sequence Numbers are only seven bits long. Hence, it is
+ necessary for MTP3 to accommodate the larger sequence numbers. This
+ is done through the use of the Extended Changeover Order (XCO) and
+ Extended Changeover Acknowledgement (XCA) messages instead of the
+ Changeover Order (COO) and Changeover Acknowledgement (COA) messages.
+ The XCO and XCA messages are specified in [Q.2210] Section 9.8.1 and
+ T1.111.4 [T1.111], Section 15.4. Only the XCO and XCA messages from
+ [Q.2210] or [T1.111] are required. The BSN is placed in the XCO/XCA
+ message as explained in [Q.2210] and [T1.111].
+
+ Also, the following MTP3/MTP2 primitives MUST use the larger sequence
+ numbers:
+
+ - BSNT Confirmation
+
+ - Retrieval Request and FSNC
+
+ If M2PA receives a Retrieval Request and FSNC request from MTP3, M2PA
+ SHALL retrieve from its buffers and deliver to MTP3 in order:
+
+ (a) any transmitted User Data messages beginning with the first
+ unacknowledged message with FSN greater than FSNC.
+
+ (b) any untransmitted User Data messages.
+
+ For emergency changeover, MTP3 retrieves only the unsent messages for
+ transmission on the alternate link(s). If M2PA receives a Retrieval
+ Request and FSNC request with no FSNC value, or with an invalid FSNC,
+ then M2PA SHALL retrieve from its buffers and deliver to MTP3 in
+ order:
+
+ (a) any untransmitted User Data messages.
+
+
+
+
+
+George, et al. Standards Track [Page 32]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ The Japanese TTC version of MTP defined in [JT-Q703] and [JT-Q704]
+ has a Retrieval Request (as well as Retrieval Request and FSNC). The
+ Retrieval allows MTP3 to retrieve both unsent and unacknowledged
+ messages for transmission on the alternate link(s). In this version
+ of MTP, if M2PA receives a Retrieval Request, then M2PA SHALL
+ retrieve from its buffers and deliver to MTP3 in order:
+
+ (a) any transmitted but unacknowledged User Data messages.
+
+ (b) any untransmitted User Data messages.
+
+4.2.3.1. Multiple User Data Streams and Changeover
+
+ The changeover procedure makes it problematic for M2PA to have
+ multiple User Data streams in one direction for a link. Buffer
+ updating would have to be done separately for each User Data stream
+ to avoid duplication or loss of messages. But MTP3 provides for only
+ one XCO/XCA message for sending the last-received sequence number.
+
+ Even with sequence numbering of User Data messages at the M2PA layer,
+ it is necessary to perform buffer updating on each stream. Since the
+ M2PA messages would be delivered over multiple streams, there could
+ be a gap in the M2PA sequence numbers at the receiving end when the
+ changeover procedure begins. If only the M2PA sequence number is
+ used in the XCO/XCA message, there would be a possibility of losing
+ the messages in the gap, or duplicating messages after the gap.
+
+ M2PA links with multiple User Data streams would be possible if a
+ multiple-BSNT XCO/XCA message is defined in MTP3, or if MTP3 allows
+ multiple XCO/XCA messages (one for each User Data stream) to be sent
+ during a changeover. This is beyond the scope of this document.
+
+4.3. SCTP Considerations
+
+ Some M2PA procedures may be affected by the use of SCTP as a
+ transport layer. These considerations are discussed in this section.
+
+4.3.1. SCTP Slow Start
+
+ SCTP contains a slow start algorithm to control the amount of data
+ being injected into the network. The algorithm allows SCTP to probe
+ the network to determine the available capacity. The algorithm is
+ invoked in these cases: when transmission begins on an association,
+ after a sufficiently long idle period, or after repairing loss
+ detected by the SCTP retransmission timer.
+
+
+
+
+
+
+George, et al. Standards Track [Page 33]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ It is possible that transmission of M2PA messages MAY be delayed by
+ SCTP slow start under certain conditions, including the following:
+
+ (a) Link Alignment. Link alignment takes place after an
+ association is established. SCTP invokes the slow start
+ algorithm since transmission is beginning on the association.
+
+ (b) Changeover. Messages are retrieved from one link
+ (association) and transferred to another for transmission. If
+ the second link had previously been idle, or is in the process
+ of link alignment, SCTP may invoke the slow start algorithm.
+
+ (c) Path failure (multi-homing). If SCTP switches from a failed
+ path to a new path, and the new path had previously been idle,
+ SCTP may invoke the slow start algorithm.
+
+ (d) Reduced traffic volume. Any time that M2PA sends a low volume
+ of traffic on a link and then the volume increases, SCTP may
+ invoke the slow start algorithm.
+
+ Programmers should be aware of this condition and how it may affect
+ M2PA performance. In some cases, it may be possible to avoid the
+ negative effects of slow start. For example, the Link Status Proving
+ messages sent during the proving period may be used to complete slow
+ start before the link is placed in service.
+
+5. Examples of M2PA Procedures
+
+ In general, messages passed between MTP3 and M2PA are the same as
+ those passed between MTP3 and MTP2. M2PA interprets messages from
+ MTP3 and sends the appropriate message to SCTP. Likewise, messages
+ from SCTP are used to generate a meaningful message to MTP3.
+
+ Note that throughout this section, the primitives between MTP3 and
+ M2PA are named using the MTP terminology [Q.700] [Q.701] [Q.702]
+ [Q.703] [Q.704] [Q.705]. Communications between M2PA and SCTP are
+ named using SCTP terminology.
+
+5.1. Link Initialization (Alignment)
+
+ An example of the message flow used to bring an SS7 link in service
+ is shown in Figures 11 and 12. Alignment is done by both ends of the
+ link. To simplify the diagram, alignment is shown on one end only.
+ Some messages from the remote end are not shown. It is assumed in
+ this example that SCTP has been initialized.
+
+
+
+
+
+
+George, et al. Standards Track [Page 34]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . Associate . . . .
+ . ------------> . . .
+ . . . . . .
+ . . (SCTP Association . .
+ . . procedure) . .
+ . . . . . .
+ . Communication Up Communication Up .
+ . <------------ ------------> .
+ . . . . . .
+ . Link Status Out of Service . .
+ . ------------------------------------> .
+ . . . . . .
+ Emergency OR . . . .
+ Emergency Ceases . . . .
+ ------------> . . . .
+ . . . . . .
+ Start . . . . .
+ ------------> . . . .
+ . . . . . .
+ . . . . . .
+ . Link Status Alignment . . .
+ . ------------------------------------> .
+ . . . . . .
+ . Start timer T2 . . .
+ . . . . . .
+ . . . Link Status Alignment .
+ . <------------------------------------ .
+ . . . . . .
+ . Stop timer T2 . . .
+ . . . . . .
+
+ Proving period begins.
+
+ Figure 11. Example: Link Initialization - Alignment
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 35]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . Start timer T3 . . .
+ . Link Status Proving . . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . Link Status Proving .
+ . <------------------------------------ .
+ . . . . . .
+ . Stop timer T3 . . .
+ . . . . . .
+ . Start timer T4 . . .
+ . Link Status Proving . . .
+ . ------------------------------------> .
+ . ------------------------------------> .
+ . ------------------------------------> .
+ . ------------------------------------> .
+ . ------------------------------------> .
+ . ------------------------------------> .
+ . . . . . .
+ . Timer T4 expires . . .
+ . . . . . .
+
+ Send Link Status Ready (one or more) and wait for the remote end
+ to complete its proving period.
+
+ . . . . . .
+ . Start timer T1 . . .
+ . . . . . .
+ . Link Status Ready . . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . . . .
+ . . . Link Status Ready .
+ . <------------------------------------ .
+ . . . . . .
+ . Stop timer T1 . . .
+ . . . . . .
+ In Service . . In Service
+ <------------ . . ------------>
+ . . . . . .
+
+ MTP3 MAY begin sending data messages.
+
+ Figure 12. Example: Link Initialization - Proving
+
+
+
+
+
+George, et al. Standards Track [Page 36]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+5.2. Message Transmission and Reception
+
+ Messages are transmitted using the Data Request primitive from MTP3
+ to M2PA. Figure 13 shows the case where the Link is In Service. The
+ message is passed from MTP3 of the source to MTP3 of the destination.
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ Message for . . . .
+ transmission . . . .
+ ------------> . . . .
+ . . . . . .
+ . Send . . . .
+ . (Data Message) . . .
+ . ------------> . . .
+ . . . . . .
+ . . (SCTP sends message) . .
+ . . . . . .
+ . . . Receive .
+ . . . ------------> .
+ . . . . . .
+ . . . . Received message
+ . . . . ------------>
+ . . . . . .
+
+ Figure 13. Example: Link Initialization - In Service
+
+5.3. Link Status Indication
+
+ An example of a Link Status Indication is shown in Figure 14. If
+ SCTP sends a Communication Lost primitive to M2PA, M2PA notifies MTP3
+ that the link is out of service. MTP3 responds in its usual way.
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . Communication Lost . . .
+ . <------------ . . .
+ . . . . . .
+ Out of Service . . . .
+ <------------ . . . .
+ . . . . . .
+
+ Figure 14. Example: Link Status Indication
+
+
+
+
+
+
+George, et al. Standards Track [Page 37]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+5.4. Link Status Message (Processor Outage)
+
+ Figure 15 shows how M2PA responds to a local processor outage. M2PA
+ sends a Link Status message to its peer. The peer M2PA notifies MTP3
+ of the outage. MTP3 can then follow the processor outage procedures
+ as in [Q.703].
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . M2PA detects . . . .
+ . Local Processor . . . .
+ . Outage . . . .
+ . . . . . .
+ . Link Status . . . .
+ . Processor Outage . . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . . Remote Processor
+ . . . . Outage .
+ . . . . ------------>
+ . . . . . .
+ . Link Status . . .
+ . Processor . . .
+ . Recovered . . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . . Remote Processor
+ . . . . Outage Ceases
+ . . . . ------------>
+ . . . . . .
+ . . . Link Status Ready .
+ . <------------------------------------ .
+ . . . . . .
+ . Link Status Ready . . .
+ . ------------------------------------> .
+ . . . . . .
+ Message for . . . .
+ transmission . . . .
+ ------------> . . . .
+ . . . . . .
+ . User Data . . .
+ . ------------------------------------> .
+ . . . . . .
+
+ Figure 15. Example: Link Status Message - Processor Outage
+
+
+
+
+
+George, et al. Standards Track [Page 38]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ Figure 16 shows an example of processor outage in more detail. All
+ M2PA messages in this example are sent on the Data stream (stream 1).
+
+ A B
+ ---------------------------- ----------------------------
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ 6 Messages for . . . .
+ transmission . . . .
+ ------------> . . 6 Messages for
+ . . . . transmission
+ . . . . <------------
+ . User Data FSN=1 . . .
+ . ------------------------------------> .
+ . User Data FSN=2 . . .
+ . ------------------------------------> .
+ . User Data FSN=3 . . .
+ . ------------------------------------> .
+ . . . User Data FSN=11 .
+ . <------------------------------------ .
+ . . . User Data FSN=12 .
+ . <------------------------------------ .
+ . . . User Data FSN=13 .
+ . <------------------------------------ .
+
+ Side A detects LPO.
+
+ . . . . . .
+ . . . User Data FSN=14 BSN=3 .
+ . <------------------------------------ .
+ . . . User Data FSN=15 BSN=3 .
+ . <------------------------------------ .
+ . . . User Data FSN=16 BSN=3 .
+ . <------------------------------------ .
+ . LS PO FSN=3 BSN=11 . . .
+ . ------------------------------------> .
+ . . . . Remote Processor
+ . . . . Outage .
+ . . . . ------------>
+
+ While in LPO, A must buffer messages 14-16 without acknowledging
+ them. A may continue transmitting messages from MTP3, and
+ acknowledging messages that were received before LPO.
+
+
+
+
+
+
+George, et al. Standards Track [Page 39]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ . . . . . .
+ . User Data FSN=4 BSN=13 . . .
+ . ------------------------------------> .
+ . User Data FSN=5 BSN=13 . . .
+ . ------------------------------------> .
+ . User Data FSN=6 BSN=13 . . .
+ . ------------------------------------> .
+ . . . . . .
+
+ While in RPO, B may continue acknowledging messages. Suppose that
+ B receives message 4 and 5, but has not processed 6 yet.
+
+ . . . . . .
+ . (empty) User Data FSN=16 BSN=4
+ . <------------------------------------ .
+ . (empty) User Data FSN=16 BSN=5
+ . <------------------------------------ .
+
+ LPO ends at A. A flushes 14-16 (the messages that were buffered
+ without acknowledgement).
+
+ . . . . . .
+ . LS PR FSN=6 BSN=13 . . .
+ . ------------------------------------> .
+ . . . . Remote Processor
+ . . . . Outage Ceases
+ . . . . ------------>
+ . . . . . .
+
+ Suppose that B processed message 5, but never processed message 6.
+ B flushes message 6 from its Receive Buffer. B notifies A of this
+ using the Link Status Ready message setting BSN=5, the last message
+ that was processed at B.
+
+ . . . . . .
+ . . . . . .
+ . . . LS Ready FSN=13 BSN=5 .
+ . <------------------------------------ .
+ . . . . . .
+
+ B has completed synchronization of sequence numbers and has sent
+ an LS Ready, so it is able to resume sending data at this point
+ with the new sequence numbers (starting with FSN=14).
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 40]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ . . . . . .
+ . . . . . Message for
+ . . . . transmission
+ . . . . <------------
+ . . . User Data FSN=14 BSN=5 .
+ . <------------------------------------ .
+ . . . . . .
+
+ A can use the Link Status Ready information to resynchronize its
+ sequence numbers to begin with FSN=6 in the next User Data message.
+
+ . . . . . .
+ . LS Ready FSN=5 BSN=13 . . .
+ . ------------------------------------> .
+ . . . . . .
+
+ A has completed synchronization of sequence number and has both
+ received and sent an LS Ready, so it is able to resume sending data
+ at this point with the new sequence numbers and acknowledging data
+ received after receiving LS Ready.
+
+
+ . . . . . .
+ . . . . . .
+ . User Data FSN=5 BSN=14 (empty) . .
+ . ------------------------------------> .
+ . . . . . .
+ Message for . . . Message for
+ transmission . . transmission
+ ------------> . . <------------
+ . User Data FSN=6 BSN=14 . . .
+ . ------------------------------------> .
+ . . . User Data FSN=15 BSN=5 .
+ . <------------------------------------ .
+ . . . . . .
+ . . (empty) User Data FSN=15 BSN=6 .
+ . <------------------------------------ .
+ . User Data FSN=6 BSN=15 (empty) . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . . . .
+ . . . . . .
+
+ Figure 16. Example: Processor Outage and Recovery
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 41]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+5.5. Level 2 Flow Control
+
+ Figures 17 and 18 illustrate the Level 2 Flow Control procedure. In
+ Figure 17, congestion ceases before timer T6 expires. Figure 18
+ shows the case where T6 expires.
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . Implementation dependent . .
+ . determination of M2PA . .
+ . receive congestion onset . .
+ . . . . . .
+ . Link Status Busy . . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . . Start .
+ . . . . Timer T6 .
+ . . . . . .
+ . Implementation dependent . .
+ . determination of M2PA . .
+ . receive congestion abatement . .
+ . . . . . .
+ . Link Status Busy Ended . . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . . Stop .
+ . . . . Timer T6 .
+ . . . . . .
+
+ Figure 17. Example: Level 2 Flow Control - Congestion Ceases
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 42]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . Implementation dependent . .
+ . determination of M2PA . .
+ . receive congestion onset . .
+ . . . . . .
+ . Link Status Busy . . .
+ . ------------------------------------> .
+ . . . . . .
+ . . . . Start .
+ . . . . Timer T6 .
+ . . . . : .
+ . . . . : .
+ . . . . Timer T6 .
+ . . . . Expires .
+ . . . . . .
+ . . Link Status Out of Service .
+ . <------------------------------------ .
+ . . . . . .
+ . . . . Out of Service
+ . . . . ------------>
+ . . . . . .
+
+ Figure 18. Example: Level 2 Flow Control - Timer T6 Expires
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 43]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+5.6. MTP3 Signaling Link Congestion
+
+ In Figure 19, M2PA notifies MTP3 of congestion onset and abatement.
+ The notification includes the congestion level, if there are levels
+ of congestion defined.
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . Implementation dependent . .
+ . determination of M2PA . . .
+ . transmit congestion . . .
+ . onset (level) . . .
+ . . . . . .
+ Congestion Indication . . . .
+ (level) . . . . .
+ <------------ . . . .
+ . . . . . .
+ . Implementation dependent . .
+ . determination of M2PA . . .
+ . transmit congestion . . .
+ . abatement (level) . . .
+ . . . . . .
+ Congestion Indication . . . .
+ (level) . . . . .
+ <------------ . . . .
+ . . . . . .
+
+ Figure 19. Example: MTP3 Signaling Link Congestion
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 44]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+5.7. Link Deactivation
+
+ Figure 20 shows an example of link deactivation. MTP3 can request
+ that a link be taken out of service.
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ Stop . . . . .
+ ------------> . . . .
+ . . . . . .
+ . Link Status Out of Service . .
+ . ------------------------------------> .
+ . . . . . .
+ Out of Service . . . .
+ <------------ . . . .
+ . . . . . .
+
+ Figure 20. Example: Link Deactivation
+
+5.8. Link Changeover
+
+ In Figure 21, MTP3 performs a changeover because the link went out of
+ service. MTP3 selects a different link to retransmit the
+ unacknowledged and unsent messages.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 45]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ MTP3 M2PA SCTP SCTP M2PA MTP3
+ ---- ---- ---- ---- ---- ----
+ . . . . . .
+ . Communication Lost . . .
+ . <------------ . . .
+ . . . . . .
+ Out of Service . . . .
+ <------------ . . . .
+ . . . . . .
+ Retrieve BSNT . . . .
+ ------------> . . . .
+ . . . . . .
+ BSNT Confirmation . . . .
+ <------------ . . . .
+ . . . . . .
+ XCO (BSNT) on another link . . .
+ ------------------------------------------------------------>
+ . . . . . .
+ . . . . Retrieve BSNT
+ . . . . <------------
+ . . . . . .
+ . . . . BSNT Confirmation
+ . . . . ------------>
+ . . . . . .
+ . . . . . XCA (BSNT)
+ <------------------------------------------------------------
+ . . . . . .
+ Retrieval Request . . . .
+ and FSNC . . . . .
+ ------------> . . . .
+ . . . . . .
+ Retrieved Message . . . .
+ <------------ . . . .
+ . : . . . . .
+ . : . . . . .
+ <------------ . . . .
+ . . . . . .
+ Retrieval Complete . . . .
+ <------------ . . . .
+ . . . . . .
+ Send messages on another link.
+
+ Figure 21. Example: Link Changeover
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 46]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+6. Security Considerations
+
+ M2PA is designed to carry signaling messages for telephony services.
+ As such, M2PA MUST involve the security needs of several parties:
+
+ - the end users of the services
+
+ - the network providers
+
+ - the applications involved
+
+ Additional requirements MAY come from local regulation.
+
+ While these parties may have some overlapping security needs, their
+ needs may not be identical. Any security solution SHOULD fulfill all
+ of the different parties' needs.
+
+ Consult [RFC3788] for a discussion of security requirements and for
+ guidance on the use of security protocols. Implementers of M2PA MUST
+ follow the guidelines in [RFC3788].
+
+7. IANA Considerations
+
+7.1. SCTP Payload Protocol Identifier
+
+ The SCTP Registered User Port Number Assignment for M2PA is 3565.
+ The TCP Registered User Port Number 3565 is also assigned to M2PA, in
+ case a specification for M2PA over TCP is created.
+
+ The value assigned by IANA for the Payload Protocol Identifier in the
+ SCTP Payload Data chunk is
+
+ M2PA 5
+
+ The SCTP Payload Protocol Identifier is included in each SCTP Data
+ chunk, to indicate which protocol the SCTP is carrying. This Payload
+ Protocol Identifier is not directly used by SCTP but may be used by
+ certain network entities to identify the type of information being
+ carried in a Data chunk.
+
+ The User Adaptation peer may use the Payload Protocol Identifier as a
+ way of determining additional information about the data being
+ presented to it by SCTP.
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 47]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+7.2. M2PA Protocol Extensions
+
+ This protocol may be extended through IANA in three ways:
+
+ - through definition of additional message classes,
+
+ - through definition of additional message types, and
+
+ - through definition of additional message parameters.
+
+ The definition and use of new message classes, types, and parameters
+ is an integral part of SIGTRAN adaptation layers. Thus, these
+ extensions are assigned by IANA through an IETF Consensus action as
+ defined in [RFC2434].
+
+ The proposed extension must in no way adversely affect the general
+ working of the protocol.
+
+ The defined values for the message classes, types, and parameters are
+ listed in the Signaling User Adaptation Layer registry
+ (sigtran-adapt).
+
+7.2.1. IETF Defined Message Classes
+
+ The documentation for a new message class MUST include the following
+ information:
+
+ (a) A long and short name for the message class.
+
+ (b) A detailed description of the purpose of the message class.
+
+7.2.2 IETF Defined Message Types
+
+ Documentation of the message type MUST contain the following
+ information:
+
+ (a) A long and short name for the new message type.
+
+ (b) A detailed description of the structure of the message.
+
+ (c) A detailed definition and description of the intended use of
+ each field within the message.
+
+ (d) A detailed procedural description of the use of the new
+ message type within the operation of the protocol.
+
+ (e) A detailed description of error conditions when receiving this
+ message type.
+
+
+
+George, et al. Standards Track [Page 48]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ When an implementation receives a message type that it does not
+ support, it MUST discard the message.
+
+7.2.3. IETF-defined Parameter Extension
+
+ Documentation of the message parameter MUST contain the following
+ information:
+
+ (a) Name of the parameter type.
+
+ (b) Detailed description of the structure of the parameter field.
+
+ (c) Detailed definition of each component of the parameter value.
+
+ (d) Detailed description of the intended use of this parameter
+ type, and an indication of whether, and under what
+ circumstances, multiple instances of this parameter type may
+ be found within the same message type.
+
+7.2.4. Defined Values
+
+ This section lists the values defined in this document that should be
+ included in the Signaling User Adaptation Layer registry
+ (sigtran-adapt).
+
+ The following values for Message Class are defined in this document:
+
+ Value
+ (decimal) Message Class
+ --------- -------------
+ 11 M2PA Messages
+
+ The following values for Message Type are defined in this document:
+
+ Value
+ (decimal) Message Type
+ --------- -------------
+ 1 User Data
+ 2 Link Status
+
+8. Acknowledgements
+
+ The authors would like to thank the following for their valuable
+ comments and suggestions: Brian Tatum, Wayne Davis, Cliff Thomas,
+ Jeff Copley, Monique Bernard, Malleswar Kalla, Ian Rytina, Greg
+ Sidebottom, Al Varney, Jeff Craig, and Andrew Booth.
+
+
+
+
+
+George, et al. Standards Track [Page 49]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+9. References
+
+9.1. Normative References
+
+ [JT-Q703] TTC, "Message Transfer Part Signalling Link," TTC Standard
+ JT-Q703, Telecommunication Technology Committee (TTC),
+ version 3 (April 27, 1994).
+
+ [JT-Q704] TTC, "Message Transfer Part Signalling Network Functions,"
+ TTC Standard JT-Q704, Telecommunication Technology
+ Committee (TTC), version 4 (May 30, 2002).
+
+ [Q.703] ITU, "Signalling System No. 7 - Signalling Link," ITU-T
+ Recommendation Q.703, ITU-T Telecommunication
+ Standardization Sector of ITU (July 1996).
+
+ [Q.704] ITU, "Message Transfer Part - Signalling Network Functions
+ and Messages," ITU-T Recommendation Q.704, ITU-T
+ Telecommunication Standardization Sector of ITU (July
+ 1996).
+
+ [Q.2140] ITU, "B-ISDN ATM Adaptation Layer - Service Specific
+ Coordination Function for Signalling at the Network Node
+ Interface (SSCF at NNI)," ITU-T Recommendation Q.2140,
+ ITU-T Telecommunication Standardization Sector of ITU
+ (February 1995).
+
+ [Q.2210] ITU, "Message Transfer Part Level 3 Functions and Messages
+ Using the Services of ITU-T Recommendation Q.2140," ITU-T
+ Recommendation Q.2210, ITU-T Telecommunication
+ Standardization Sector of ITU (July 1996).
+
+ [RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, September
+ 1981.
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
+ IANA Considerations Section in RFCs", BCP 26, RFC 2434,
+ October 1998.
+
+ [RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C.,
+ Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M.,
+ Zhang, L., and V. Paxson, "Stream Control Transmission
+ Protocol", RFC 2960, October 2000.
+
+
+
+
+
+George, et al. Standards Track [Page 50]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+ [RFC3309] Stone, J., Stewart, R., and D. Otis, "Stream Control
+ Transmission Protocol (SCTP) Checksum Change", RFC 3309,
+ September 2002.
+
+ [RFC3788] Loughney, J., Tuexen, M., and J. Pastor-Balbas, "Security
+ Considerations for Signaling Transport (SIGTRAN)
+ Protocols", RFC 3788, June 2004.
+
+ [T1.111] ANSI, "American National Standard for Telecommunications -
+ Signaling System Number 7 (SS7) - Message Transfer Part
+ (MTP)," ANSI T1.111-2001, American National Standards
+ Institute (February 2001).
+
+9.2. Informative References
+
+ [M2UA] K. Morneault, et. al., "Signaling System 7 (SS7) Message
+ Transfer Part 2 (MTP2) - User Adaptation Layer," RFC 3331,
+ Internet Engineering Task Force - Signalling Transport
+ Working Group (September, 2002).
+
+ [Q.700] ITU, "Introduction to CCITT Signalling System No. 7,"
+ ITU-T Recommendation Q.700, ITU-T Telecommunication
+ Standardization Sector of ITU (March 1993).
+
+ [Q.701] ITU, "Functional Description of the Message Transfer Part
+ (MTP) of Signalling System No. 7," ITU-T Recommendation
+ Q.701, ITU-T Telecommunication Standardization Sector of
+ ITU (March 1993).
+
+ [Q.702] ITU, "Signalling Data Link," ITU-T Recommendation Q.702,
+ ITU-T Telecommunication Standardization Sector of ITU
+ (November 1988).
+
+ [Q.705] ITU, "Signalling System No. 7 - Signalling Network
+ Structure," ITU-T Recommendation Q.705, ITU-T
+ Telecommunication Standardization Sector of ITU (March
+ 1993).
+
+ [RFC2719] Ong, L., Rytina, I., Garcia, M., Schwarzbauer, H., Coene,
+ L., Lin, H., Juhasz, I., Holdrege, M., and C. Sharp,
+ "Framework Architecture for Signaling Transport", RFC
+ 2719, October 1999.
+
+
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 51]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+Authors' Addresses
+
+ Tom George
+ Plano, TX
+ USA
+
+ Phone: +1-972-985-4594
+ EMail: tgeorge_tx@verizon.net
+
+ Brian Bidulock
+ OpenSS7 Corporation
+ 1469 Jeffreys Crescent
+ Edmonton, AB T6L 6T1
+ Canada
+
+ Phone: +1-780-490-1141
+ EMail: bidulock@openss7.org
+
+ Ram Dantu, Ph.D.
+ Assistant Professor
+ Department of Computer Science
+ University of North Texas
+ Denton, TX 76203
+ USA
+
+ Phone: +1-940-565-2822
+ EMail: rdantu@unt.edu
+
+ Hanns Juergen Schwarzbauer
+ SIEMENS AG
+ Hofmannstr. 51
+ 81359 Munich
+ Germany
+
+ Phone: +49-89-722-24236
+ EMail: HannsJuergen.Schwarzbauer@Siemens.com
+
+ Ken Morneault
+ Cisco Systems Inc.
+ 13615 Dulles Technology Drive
+ Herndon, VA 20171
+ USA
+
+ Phone: +1-703-484-3323
+ EMail: kmorneau@cisco.com
+
+
+
+
+
+
+George, et al. Standards Track [Page 52]
+
+RFC 4165 SS7 MTP2-User Peer-to-Peer Adaptation Layer September 2005
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2005).
+
+ This document is subject to the rights, licenses and restrictions
+ contained in BCP 78, and except as set forth therein, the authors
+ retain all their rights.
+
+ This document and the information contained herein are provided on an
+ "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
+ OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
+ ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
+ INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
+ WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Intellectual Property
+
+ The IETF takes no position regarding the validity or scope of any
+ Intellectual Property Rights or other rights that might be claimed to
+ pertain to the implementation or use of the technology described in
+ this document or the extent to which any license under such rights
+ might or might not be available; nor does it represent that it has
+ made any independent effort to identify any such rights. Information
+ on the procedures with respect to rights in RFC documents can be
+ found in BCP 78 and BCP 79.
+
+ Copies of IPR disclosures made to the IETF Secretariat and any
+ assurances of licenses to be made available, or the result of an
+ attempt made to obtain a general license or permission for the use of
+ such proprietary rights by implementers or users of this
+ specification can be obtained from the IETF on-line IPR repository at
+ http://www.ietf.org/ipr.
+
+ The IETF invites any interested party to bring to its attention any
+ copyrights, patents or patent applications, or other proprietary
+ rights that may cover technology that may be required to implement
+ this standard. Please address the information to the IETF at ietf-
+ ipr@ietf.org.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+George, et al. Standards Track [Page 53]
+