Network Working Group G. Sidebottom Request for Comments: 3332 Signatus Technologies Category: Standards Track K. Morneault Cisco J. Pastor-Balbas Ericsson Editors September 2002 Signaling System 7 (SS7) Message Transfer Part 3 (MTP3) - User Adaptation Layer (M3UA) 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 (2002). All Rights Reserved.Abstract
This memo defines a protocol for supporting the transport of any SS7 MTP3-User signalling (e.g., ISUP and SCCP messages) over IP using the services of the Stream Control Transmission Protocol. Also, provision is made for protocol elements that enable a seamless operation of the MTP3-User peers in the SS7 and IP domains. This protocol would be used between a Signalling Gateway (SG) and a Media Gateway Controller (MGC) or IP-resident Database, or between two IP-based applications. It is assumed that the SG receives SS7 signalling over a standard SS7 interface using the SS7 Message Transfer Part (MTP) to provide transport.Table of Contents
1. Introduction..................................................3 1.1 Scope.........................................................3 1.2 Terminology...................................................4 1.3 M3UA Overview.................................................6 1.4 Functional Areas.............................................10 1.5 Sample Configurations........................................18 1.6 Definition of M3UA Boundaries................................21 2. Conventions..................................................25
3. M3UA Protocol Elements.......................................25 3.1 Common Message Header........................................26 3.2 Variable Length Parameter....................................29 3.3 Transfer Messages............................................31 3.4 SS7 Signalling Network Management (SSNM) Messages............35 3.5 ASP State Maintenance (ASPSM) Messages.......................45 3.6 Routing Key Management (RKM) Messages........................48 3.7 ASP Traffic Maintenance (ASPTM) Messages.....................59 3.8 Management (MGMT) Messages...................................63 4. Procedures...................................................69 4.1 Procedures to Support the M3UA-User .........................69 4.2 Receipt of Primitives from the Layer Management .............70 4.3 AS and ASP State Maintenance.................................72 4.4 Routing Key Management Procedures............................87 4.5 Procedures to Support the Availability or Congestion Status of SS7 Destination...........................................89 4.6 MTP3 Restart.................................................92 5. Examples of M3UA Procedures..................................93 5.1 Establishment of Association and Traffic Between SGs and ASPs.........................................93 5.2 ASP traffic Failover Examples................................99 5.3 Normal Withdrawal of an ASP from an Application Server and Teardown of an Association..............................100 5.4 M3UA/MTP3-User Boundary Examples............................101 5.5 Examples of IPSP communication..............................105 6. Security Considerations.....................................108 6.1 Introduction................................................108 6.2 Threats.....................................................108 6.3 Protecting Confidentiality..................................108 7. IANA Considerations.........................................109 7.1 SCTP Payload Protocol Identifier............................109 7.2 M3UA Port Number............................................109 7.3 M3UA Protocol Extensions....................................109 8. References...................................................111 8.1 Normative References........................................111 8.2 Informative References......................................111 9. Acknowledgements.............................................113 10. Document Contributors.......................................113 Appendix A. ....................................................114 A.1 Signalling Network Architecture.............................114 A.2 Redundancy Models...........................................117 Editors' Addresses..............................................119 Full Copyright Statement........................................120
1. Introduction
This memo defines a protocol for supporting the transport of any SS7 MTP3-User signalling (e.g., ISUP and SCCP messages) over IP using the services of the Stream Control Transmission Protocol [17]. Also, provision is made for protocol elements that enable a seamless operation of the MTP3-User peers in the SS7 and IP domains. This protocol would be used between a Signalling Gateway (SG) and a Media Gaway Controller (MGC) or IP-resident Database [11], or between two IP-based applications.1.1 Scope
There is a need for Switched Circuit Network (SCN) signalling protocol delivery from an SS7 Signalling Gateway (SG) to a Media Gateway Controller (MGC) or IP-resident Database as described in the Framework Architecture for Signalling Transport [11]. The delivery mechanism should meet the following criteria: * Support for the transfer of all SS7 MTP3-User Part messages (e.g., ISUP [1,2,3], SCCP [4,5,6], TUP [12], etc.) * Support for the seamless operation of MTP3-User protocol peers * Support for the management of SCTP transport associations and traffic between an SG and one or more MGCs or IP-resident Databases * Support for MGC or IP-resident Database process failover and load sharing * Support for the asynchronous reporting of status changes to management In simplistic transport terms, the SG will terminate SS7 MTP2 and MTP3 protocol layers [7,8,9] and deliver ISUP, SCCP and/or any other MTP3-User protocol messages, as well as certain MTP network management events, over SCTP transport associations to MTP3-User peers in MGCs or IP-resident Databases.
1.2 Terminology
Application Server (AS) - A logical entity serving a specific Routing Key. An example of an Application Server is a virtual switch element handling all call processing for a unique range of PSTN trunks, identified by an SS7 SIO/DPC/OPC/CIC_range. Another example is a virtual database element, handling all HLR transactions for a particular SS7 DPC/OPC/SCCP_SSN combination. The AS contains a set of one or more unique Application Server Processes, of which one or more is normally actively processing traffic. Note that there is a 1:1 relationship between an AS and a Routing Key. Application Server Process (ASP) - A process instance of an Application Server. An Application Server Process serves as an active or backup process of an Application Server (e.g., part of a distributed virtual switch or database). Examples of ASPs are processes (or process instances) of MGCs, IP SCPs or IP HLRs. An ASP contains an SCTP endpoint and may be configured to process signalling traffic within more than one Application Server. Association - An association refers to an SCTP association. The association provides the transport for the delivery of MTP3-User protocol data units and M3UA adaptation layer peer messages. IP Server Process (IPSP) - A process instance of an IP-based application. An IPSP is essentially the same as an ASP, except that it uses M3UA in a point-to-point fashion. Conceptually, an IPSP does not use the services of a Signalling Gateway node. Failover - The capability to reroute signalling traffic as required to an alternate Application Server Process, or group of ASPs, within an Application Server in the event of failure or unavailability of a currently used Application Server Process. Failover also applies upon the return to service of a previously unavailable Application Server Process. Host - The computing platform that the process (SGP, ASP or IPSP) is running on. Layer Management - Layer Management is a nodal function that handles the inputs and outputs between the M3UA layer and a local management entity.
Linkset - A number of signalling links that directly interconnect two signalling points, which are used as a module. MTP - The Message Transfer Part of the SS7 protocol. MTP3 - MTP Level 3, the signalling network layer of SS7 MTP3-User - Any protocol normally using the services of the SS7 MTP3 (e.g., ISUP, SCCP, TUP, etc.). Network Appearance - The Network Appearance is a M3UA local reference shared by SG and AS (typically an integer) that together with an Signaling Point Code uniquely identifies an SS7 node by indicating the specific SS7 network it belongs to. It can be used to distinguish between signalling traffic associated with different networks being sent between the SG and the ASP over a common SCTP association. An example scenario is where an SG appears as an element in multiple separate national SS7 networks and the same Signaling Point Code value may be reused in different networks. Network Byte Order: Most significant byte first, a.k.a Big Endian. Routing Key: A Routing Key describes a set of SS7 parameters and parameter values that uniquely define the range of signalling traffic to be handled by a particular Application Server. Parameters within the Routing Key cannot extend across more than a single Signalling Point Management Cluster. Routing Context - A value that uniquely identifies a Routing Key. Routing Context values are either configured using a configuration management interface, or by using the routing key management procedures defined in this document. Signalling Gateway Process (SGP) - A process instance of a Signalling Gateway. It serves as an active, backup, load-sharing or broadcast process of a Signalling Gateway. Signalling Gateway - An SG is a signaling agent that receives/sends SCN native signaling at the edge of the IP network [11]. An SG appears to the SS7 network as an SS7 Signalling Point. An SG contains a set of one or more unique Signalling Gateway Processes, of which one or more is normally actively processing traffic. Where an SG contains more than one SGP, the SG is a logical entity and the contained SGPs are assumed to be coordinated into a single management view to the SS7 network and to the supported Application Servers.
Signalling Process - A process instance that uses M3UA to communicate with other signalling processes. An ASP, an SGP and an IPSP are all signalling processes. Signalling Point Management Cluster (SPMC) - The complete set of Application Servers represented to the SS7 network under a single MTP entity (Signalling Point) in one specific Network Appearance. SPMCs are used to aggregate the availability, congestion, and user part status of an MTP entity (Signalling Point) that is distributed in the IP domain, for the purpose of supporting MTP3 management procedures towards the SS7 network. In some cases, the SG itself may also be a member of the SPMC. In this case, the SG availability /congestion /User_Part status should also be taken into account when considering any supporting MTP3 management actions. Stream - A stream refers to an SCTP stream; a unidirectional logical channel established from one SCTP endpoint to another associated SCTP endpoint, within which all user messages are delivered in-sequence except for those submitted to the unordered delivery service.1.3 M3UA Overview
1.3.1 Protocol Architecture
The framework architecture that has been defined for SCN signalling transport over IP [11] uses multiple components, including a common signalling transport protocol and an adaptation module to support the services expected by a particular SCN signalling protocol from its underlying protocol layer. Within the framework architecture, this document defines an MTP3-User adaptation module suitable for supporting the transfer of messages of any protocol layer that is identified to the MTP Level 3 as an MTP User. The list of these protocol layers includes, but is not limited to, ISDN User Part (ISUP) [1,2,3], Signalling Connection Control Part (SCCP) [4,5,6] and Telephone User Part (TUP) [12]. TCAP [13,14,15] or RANAP [16] messages are transferred transparently by the M3UA protocol as SCCP payload, as they are SCCP-User protocols. It is recommended that M3UA use the services of the Stream Control Transmission Protocol (SCTP) [17] as the underlying reliable common signalling transport protocol. This is to take advantage of various SCTP features such as:
- Explicit packet-oriented delivery (not stream-oriented), - Sequenced delivery of user messages within multiple streams, with an option for order-of-arrival delivery of individual user messages, - Optional multiplexing of user messages into SCTP datagrams, - Network-level fault tolerance through support of multi-homing at either or both ends of an association, - Resistance to flooding and masquerade attacks, and - Data segmentation to conform to discovered path MTU size. Under certain scenarios, such as back-to-back connections without redundancy requirements, the SCTP functions above might not be a requirement and TCP MAY be used as the underlying common transport protocol.1.3.2 Services Provided by the M3UA Layer
The M3UA Layer at an ASP or IPSP provides the equivalent set of primitives at its upper layer to the MTP3-Users as provided by the MTP Level 3 to its local MTP3-Users at an SS7 SEP. In this way, the ISUP and/or SCCP layer at an ASP or IPSP is unaware that the expected MTP3 services are offered remotely from an MTP3 Layer at an SGP, and not by a local MTP3 layer. The MTP3 layer at an SGP may also be unaware that its local users are actually remote user parts over M3UA. In effect, the M3UA extends access to the MTP3 layer services to a remote IP-based application. The M3UA layer does not itself provide the MTP3 services. However, in the case where an ASP is connected to more than one SG, the M3UA layer at an ASP should maintain the status of configured SS7 destinations and route messages according to the availability and congestion status of the routes to these destinations via each SG. The M3UA layer may also be used for point-to-point signalling between two IP Server Processes (IPSPs). In this case, the M3UA layer provides the same set of primitives and services at its upper layer as the MTP3. However, in this case the expected MTP3 services are not offered remotely from an SGP. The MTP3 services are provided but the procedures to support these services are a subset of the MTP3 procedures due to the simplified point-to-point nature of the IPSP to IPSP relationship.
1.3.2.1 Support for the Transport of MTP3-User Messages
The M3UA layer provides the transport of MTP-TRANSFER primitives across an established SCTP association between an SGP and an ASP or between IPSPs. At an ASP, in the case where a destination is reachable via multiple SGPs, the M3UA layer must also choose via which SGP the message is to be routed or support load balancing across the SGPs, minimizing missequencing. The M3UA layer does not impose a 272-octet signalling information field (SIF) length limit as specified by the SS7 MTP Level 2 protocol [7,8,9]. Larger information blocks can be accommodated directly by M3UA/SCTP, without the need for an upper layer segmentation/re- assembly procedure as specified in recent SCCP or ISUP versions. However, in the context of an SG, the maximum 272-octet block size must be followed when interworking to a SS7 network that does not support the transfer of larger information blocks to the final destination. This avoids potential ISUP or SCCP fragmentation requirements at the SGPs. The provisioning and configuration of the SS7 network determines the restriction placed on the maximum block size. Some configurations (e.g., Broadband MTP [21]) may permit larger block sizes.1.3.2.2 Native Management Functions
The M3UA layer provides the capability to indicate errors associated with received M3UA messages and to notify, as appropriate, local management and/or the peer M3UA.1.3.2.3 Interworking with MTP3 Network Management Functions
At the SGP, the M3UA layer provides interworking with MTP3 management functions to support seamless operation of the user SCN signalling applications in the SS7 and IP domains. This includes: - Providing an indication to MTP3-Users at an ASP that a destination in the SS7 network is not reachable. - Providing an indication to MTP3-Users at an ASP that a destination in the SS7 network is now reachable. - Providing an indication to MTP3-Users at an ASP that messages to a destination in the SS7 network are experiencing SS7 congestion.
- Providing an indication to the M3UA layer at an ASP that the routes to a destination in the SS7 network are restricted. - Providing an indication to MTP3-Users at an ASP that a MTP3-User peer is unavailable. The M3UA layer at an ASP keeps the state of the routes to remote SS7 destinations and may initiate an audit of the availability, the restricted or the congested state of remote SS7 destinations. This information is requested from the M3UA layer at the SGP. The M3UA layer at an ASP may also indicate to the SG that the M3UA layer itself or the ASP or the ASP's Host is congested.1.3.2.4 Support for the Management of SCTP Associations between the SGP and ASPs.
The M3UA layer at the SGP maintains the availability state of all configured remote ASPs, to manage the SCTP Associations and the traffic between the M3UA peers. As well, the active/inactive and congestion state of remote ASPs is maintained. The M3UA layer MAY be instructed by local management to establish an SCTP association to a peer M3UA node. This can be achieved using the M-SCTP_ESTABLISH primitives (See Section 1.6.3 for a description of management primitives.) to request, indicate and confirm the establishment of an SCTP association with a peer M3UA node. In order to avoid redundant SCTP associations between two M3UA peers, one side (client) SHOULD be designated to establish the SCTP association, or M3UA configuration information maintained to detect redundant associations (e.g., via knowledge of the expected local and remote SCTP endpoint addresses). Local management MAY request from the M3UA layer the status of the underlying SCTP associations using the M-SCTP_STATUS request and confirm primitives. Also, the M3UA MAY autonomously inform local management of the reason for the release of an SCTP association, determined either locally within the M3UA layer or by a primitive from the SCTP. Also the M3UA layer MAY inform the local management of the change in status of an ASP or AS. This MAY be achieved using the M-ASP_STATUS request or M-AS_STATUS request primitives.
1.3.2.5 Support for the Management of Connections to Multiple SGPs
As shown in Figure 1 an ASP may be connected to multiple SGPs. In such a case a particular SS7 destination may be reachable via more than one SGP and/or SG, i.e., via more than one route. As MTP3 users only maintain status on a destination and not on a route basis, the M3UA layer must maintain the status (availability, restriction, and/or congestion of route to destination) of the individual routes, derive the overall availability or congestion status of the destination from the status of the individual routes, and inform the MTP3 users of this derived status whenever it changes.1.4 Functional Areas
1.4.1 Signalling Point Code Representation
For example, within an SS7 network, a Signalling Gateway might be charged with representing a set of nodes in the IP domain into the SS7 network for routing purposes. The SG itself, as a signalling point in the SS7 network, might also be addressable with an SS7 Point Code for MTP3 Management purposes. The SG Point Code might also be used for addressing any local MTP3-Users at the SG such as a local SCCP layer. An SG may be logically partitioned to operate in multiple SS7 network appearances. In such a case, the SG could be addressable with a Point Code in each network appearance, and represents a set of nodes in the IP domain into each SS7 network. Alias Point Codes [8] may also be used within an SG network appearance. Where an SG contains more than one SGP, the MTP3 routeset, SPMC and remote AS/ASP states of each SGP SHOULD be coordinated across all the SGPs. Rerouting of traffic between the SGPs MAY also be supported. Application Servers can be represented under the same Point Code of the SG, their own individual Point Codes or grouped with other Application Servers for Point Code preservation purposes. A single Point Code may be used to represent the SG and all the Application Servers together, if desired. If an ASP or group of ASPs is available to the SS7 network via more than one SG, each with its own Point Code, the ASP(s) will typically be represented by a Point Code that is separate from any SG Point Code. This allows, for example, these SGs to be viewed from the SS7 network as "STPs", each having an ongoing "route" to the same ASP(s). Under failure conditions where the ASP(s) become(s) unavailable from one of the SGs, this approach enables MTP3 route management messaging between the SG and SS7 network, allowing simple SS7 rerouting through
an alternate SG without changing the Destination Point Code Address of SS7 traffic to the ASP(s). Where a particular AS can be reached via more than one SGP, the corresponding Routing Keys in the SGPs should be identical. (Note: It is possible for the SGP Routing Key configuration data to be temporarily out-of-sync during configuration updates). +--------+ | | +------------+ SG 1 +--------------+ +-------+ | SS7 links | "STP" | IP network | ---- | SEP +---+ +--------+ +---/ \ | or | |* | ASPs | | STP +---+ +--------+ +---\ / +-------+ | | | | ---- +------------+ SG 2 +--------------+ | "STP" | +--------+ Figure 1 Example with mated SGs * Note:. SG-to-SG communication (i.e., "C-links") is recommended for carrier grade networks, using an MTP3 linkset or an equivalent, to allow rerouting between the SGs in the event of route failures. Where SGPs are used, inter-SGP communication might be used. Inter-SGP protocol is outside of the scope of this document. The following example shows a signalling gateway partitioned into two network appearances. SG +-------+ +---------------+ | SEP +--------------| SS7 Ntwk |M3UA| ---- +-------+ SS7 links | "A" | | / \ |__________| +-----------+ ASPs | | | | \ / +-------+ | SS7 Ntwk | | ---- | SEP +--------------+ "B" | | +-------+ +---------------+ Figure 2 Example with multiple Network
1.4.2 Routing Contexts and Routing Keys
1.4.2.1 Overview
The distribution of SS7 messages between the SGP and the Application Servers is determined by the Routing Keys and their associated Routing Contexts. A Routing Key is essentially a set of SS7 parameters used to filter SS7 messages, whereas the Routing Context parameter is a 4-byte value (integer) that is associated to that Routing Key in a 1:1 relationship. The Routing Context therefore can be viewed as an index into a sending node's Message Distribution Table containing the Routing Key entries. Possible SS7 address/routing information that comprise a Routing Key entry includes, for example, the OPC, DPC, SIO found in the MTP3 routing label, or MTP3-User specific fields (such as the ISUP CIC, SCCP subsystem number). Some example Routing Keys are: the DPC alone, the DPC/OPC combination, the DPC/OPC/CIC combination, or the DPC/SSN combination. The particular information used to define an M3UA Routing Key is application and network dependent, and none of the above examples are mandated. An Application Server Process may be configured to process signalling traffic related to more than one Application Server, over a single SCTP Association. In ASP Active and ASP Inactive management messages, the signalling traffic to be started or stopped is discriminated by the Routing Context parameter. At an ASP, the Routing Context parameter uniquely identifies the range of signalling traffic associated with each Application Server that the ASP is configured to receive.1.4.2.2 Routing Key Limitations
Routing Keys SHOULD be unique in the sense that each received SS7 signalling message SHOULD have a full or partial match to a single routing result. It is not necessary for the parameter range values within a particular Routing Key to be contiguous. For example, an AS could be configured to support call processing for multiple ranges of PSTN trunks that are not represented by contiguous CIC values.1.4.2.3 Managing Routing Contexts and Routing Keys
There are two ways to provision a Routing Key at an SGP. A Routing Key may be configured statically using an implementation dependent management interface, or dynamically using the M3UA Routing Key registration procedure.
When using a management interface to configure Routing Keys, the message distribution function within the SGP is not limited to the set of parameters defined in this document. Other implementation dependent distribution algorithms may be used.1.4.2.4 Message Distribution at the SGP
To direct messages received from the SS7 MTP3 network to the appropriate IP destination, the SGP must perform a message distribution function using information from the received MTP3-User message. To support this message distribution, the SGP might, for example, maintain the equivalent of a network address translation table, mapping incoming SS7 message information to an Application Server for a particular application and range of traffic. This could be accomplished by comparing elements of the incoming SS7 message to currently defined Routing Keys in the SGP. These Routing Keys could in turn map directly to an Application Server that is enabled by one or more ASPs. These ASPs provide dynamic status information regarding their availability, traffic handling capability and congestion to the SGP using various management messages defined in the M3UA protocol. The list of ASPs in an AS is assumed to be dynamic, taking into account the availability, traffic handling capability and congestion status of the individual ASPs in the list, as well as configuration changes and possible failover mechanisms. Normally, one or more ASPs are active (i.e., currently processing traffic) in the AS but in certain failure and transition cases it is possible that there may be no active ASP available. Broadcast, loadsharing and backup scenarios are supported. When there is no matching Routing Key entry for an incoming SS7 message, a default treatment MAY be specified. Possible solutions are to provide a default Application Server at the SGP that directs all unallocated traffic to a (set of) default ASP(s), or to drop the message and provide a notification to layer management. The treatment of unallocated traffic is implementation dependent.
1.4.2.5 Message Distribution at the ASP
The ASP must choose an SGP to direct a message to the SS7 network. This is accomplished by observing the Destination Point Code (and possibly other elements of the outgoing message such as the SLS value). The ASP must also take into account whether the related Routing Context is active or not (See Section 4.3.4.3). Implementation Note: Where more than one route (or SGP) is possible for routing to the SS7 network, the ASP could, for example, maintain a dynamic table of available SGP routes for the SS7 destinations, taking into account the SS7 destination availability/restricted/congestion status received from the SGP(s), the availability status of the individual SGPs and configuration changes and failover mechanisms. There is, however, no M3UA messaging to manage the status of an SGP (e.g., SGP-Up/Down/Active/Inactive messaging). Whenever an SCTP association to an SGP exists, the SGP is assumed to be ready for the purposes of responding to M3UA ASPSM messages (Refer to Section 3).1.4.3 SS7 and M3UA Interworking
In the case of SS7 and M3UA interworking, the M3UA adaptation layer is designed to provide an extension of the MTP3 defined user primitives.1.4.3.1 Signalling Gateway SS7 Layers
The SG is responsible for terminating MTP Level 3 of the SS7 protocol, and offering an IP-based extension to its users. From an SS7 perspective, it is expected that the Signalling Gateway transmits and receives SS7 Message Signalling Units (MSUs) to and from the PSTN over a standard SS7 network interface, using the SS7 Message Transfer Part (MTP) [7,8,9] to provide reliable transport of the messages. As a standard SS7 network interface, the use of MTP Level 2 signalling links is not the only possibility. ATM-based High Speed Links can also be used with the services of the Signalling ATM Adaptation Layer (SAAL) [18,19]. Note: It is also possible for IP-based interfaces to be present, using the services of the MTP2-User Adaptation Layer (M2UA) [27] or M2PA [28].
These could be terminated at a Signalling Transfer Point (STP) or Signalling End Point (SEP). Using the services of MTP3, the SG could be capable of communicating with remote SS7 SEPs in a quasi- associated fashion, where STPs may be present in the SS7 path between the SEP and the SG.1.4.3.2 SS7 and M3UA Interworking at the SG
The SGP provides a functional interworking of transport functions between the SS7 network and the IP network by also supporting the M3UA adaptation layer. It allows the transfer of MTP3-User signalling messages to and from an IP-based Application Server Process where the peer MTP3-User protocol layer exists. For SS7 user part management, it is required that the MTP3-User protocols at ASPs receive indications of SS7 signalling point availability, SS7 network congestion, and remote User Part unavailability as would be expected in an SS7 SEP node. To accomplish this, the MTP-PAUSE, MTP-RESUME and MTP-STATUS indication primitives received at the MTP3 upper layer interface at the SG need to be propagated to the remote MTP3-User lower layer interface at the ASP. MTP3 management messages (such as TFPs or TFAs received from the SS7 network) MUST NOT be encapsulated as Data message Payload Data and sent either from SG to ASP or from ASP to SG. The SG MUST terminate these messages and generate M3UA messages as appropriate.1.4.3.3 Application Server
A cluster of application servers is responsible for providing the overall support for one or more SS7 upper layers. From an SS7 standpoint, a Signalling Point Management Cluster (SPMC) provides complete support for the upper layer service for a given point code. As an example, an SPMC providing MGC capabilities could provide complete support for ISUP (and any other MTP3 user located at the point code of the SPMC) for a given point code. In the case where an ASP is connected to more than one SGP, the M3UA layer must maintain the status of configured SS7 destinations and route messages according to availability/congestion/restricted status of the routes to these SS7 destinations.1.4.3.4 IPSP Considerations
Since IPSPs use M3UA in a point-to-point fashion, there is no concept of routing of messages beyond the remote end. Therefore, SS7 and M3UA interworking is not necessary for this model.
1.4.4 Redundancy Models
1.4.4.1 Application Server Redundancy
All MTP3-User messages (e.g., ISUP, SCCP) which match a provisioned Routing Key at an SGP are mapped to an Application Server. The Application Server is the set of all ASPs associated with a specific Routing Key. Each ASP in this set may be active, inactive or unavailable. Active ASPs handle traffic; inactive ASPs might be used when active ASPs become unavailable. The failover model supports an "n+k" redundancy model, where "n" ASPs is the minimum number of redundant ASPs required to handle traffic and "k" ASPs are available to take over for a failed or unavailable ASP. A "1+1" active/backup redundancy is a subset of this model. A simplex "1+0" model is also supported as a subset, with no ASP redundancy.1.4.5 Flow Control
Local Management at an ASP may wish to stop traffic across an SCTP association to temporarily remove the association from service or to perform testing and maintenance activity. The function could optionally be used to control the start of traffic on to a newly available SCTP association.1.4.6 Congestion Management
The M3UA layer is informed of local and IP network congestion by means of an implementation-dependent function (e.g., an implementation dependent indication from the SCTP of IP network congestion). At an ASP or IPSP, the M3UA layer indicates congestion to local MTP3-Users by means of an MTP-STATUS primitive, as per current MTP3 procedures, to invoke appropriate upper layer responses. When an SG determines that the transport of SS7 messages to a Signalling Point Management Cluster (SPMC) is encountering congestion, the SG MAY trigger SS7 MTP3 Transfer Controlled management messages to originating SS7 nodes, per the congestion procedures of the relevant MTP3 standard. The triggering of SS7 MTP3 Management messages from an SG is an implementation-dependent function.
The M3UA layer at an ASP or IPSP MAY indicate local congestion to an M3UA peer with an SCON message. When an SG receives a congestion message (SCON) from an ASP, and the SG determines that an SPMC is now encountering congestion, it MAY trigger SS7 MTP3 Transfer Controlled management messages to concerned SS7 destinations according to congestion procedures of the relevant MTP3 standard.1.4.7 SCTP Stream Mapping.
The M3UA layer at both the SGP and ASP also supports the assignment of signalling traffic into streams within an SCTP association. Traffic that requires sequencing SHOULD be assigned to the same stream. To accomplish this, MTP3-User traffic may be assigned to individual streams based on, for example, the SLS value in the MTP3 Routing Label or the ISUP CIC assignment, subject of course to the maximum number of streams supported by the underlying SCTP association.1.4.8 Client/Server Model
It is recommended that the SGP and ASP be able to support both client and server operation. The peer endpoints using M3UA SHOULD be configured so that one always takes on the role of client and the other the role of server for initiating SCTP associations. The default orientation would be for the SGP to take on the role of server while the ASP is the client. In this case, ASPs SHOULD initiate the SCTP association to the SGP. In the case of IPSP to IPSP communication, the peer endpoints using M3UA SHOULD be configured so that one always takes on the role of client and the other the role of server for initiating SCTP associations. The SCTP and TCP Registered User Port Number Assignment for M3UA is 2905.
1.5 Sample Configuration
1.5.1 Example 1: ISUP Message Transport
******** SS7 ***************** IP ******** * SEP *---------* SGP *--------* ASP * ******** ***************** ******** +------+ +---------------+ +------+ | ISUP | | (NIF) | | ISUP | +------+ +------+ +------+ +------+ | MTP3 | | MTP3 | | M3UA | | M3UA | +------| +------+-+------+ +------+ | MTP2 | | MTP2 | | SCTP | | SCTP | +------+ +------+ +------+ +------+ | L1 | | L1 | | IP | | IP | +------+ +------+ +------+ +------+ |_______________| |______________| SEP - SS7 Signalling End Point SCTP - Stream Control Transmission Protocol NIF - Nodal Interworking Function In this example, the SGP provides an implementation-dependent nodal interworking function (NIF) that allows the MGC to exchange SS7 signalling messages with the SS7-based SEP. The NIF within the SGP serves as the interface within the SGP between the MTP3 and M3UA. This nodal interworking function has no visible peer protocol with either the MGC or SEP. It also provides network status information to one or both sides of the network. For internal SGP modeling purposes, at the NIF level, SS7 signalling messages that are destined to the MGC are received as MTP-TRANSFER indication primitives from the MTP Level 3 upper layer interface, translated to MTP-TRANSFER request primitives, and sent to the local M3UA-resident message distribution function for ongoing routing to the final IP destination. Messages received from the local M3UA network address translation and mapping function as MTP-TRANSFER indication primitives are sent to the MTP Level 3 upper layer interface as MTP-TRANSFER request primitives for ongoing MTP Level 3 routing to an SS7 SEP. For the purposes of providing SS7 network status information the NIF also delivers MTP-PAUSE, MTP-RESUME and MTP-STATUS indication primitives received from the MTP Level 3 upper layer interface to the local M3UA-resident management function. In addition, as an implementation and network option, restricted destinations are communicated from MTP network management to the local M3UA-resident management function.
1.5.2 Example 2: SCCP Transport between IPSPs
******** IP ******** * IPSP * * IPSP * ******** ******** +------+ +------+ |SCCP- | |SCCP- | | User | | User | +------+ +------+ | SCCP | | SCCP | +------+ +------+ | M3UA | | M3UA | +------+ +------+ | SCTP | | SCTP | +------+ +------+ | IP | | IP | +------+ +------+ |________________| This example shows an architecture where no Signalling Gateway is used. In this example, SCCP messages are exchanged directly between two IP-resident IPSPs with resident SCCP-User protocol instances, such as RANAP or TCAP. SS7 network interworking is not required, therefore there is no MTP3 network management status information for the SCCP and SCCP-User protocols to consider. Any MTP-PAUSE, MTP- RESUME or MTP-STATUS indications from the M3UA layer to the SCCP layer should consider the status of the SCTP Association and underlying IP network and any congestion information received from the remote site.
1.5.3 Example 3: SGP Resident SCCP Layer, with Remote ASP
******** SS7 ***************** IP ******** * SEP *---------* *--------* * * or * * SGP * * ASP * * STP * * * * * ******** ***************** ******** +------+ +---------------+ +------+ | SCCP-| | SCCP | | SCCP-| | User | +---------------+ | User | +------+ | _____ | +------+ | SCCP | | | | | | SCCP | +------+ +------+-+------+ +------+ | MTP3 | | MTP3 | | M3UA | | M3UA | +------| +------+ +------+ +------+ | MTP2 | | MTP2 | | SCTP | | SCTP | +------+ +------+ +------+ +------+ | L1 | | L1 | | IP | | IP | +------+ +------+ +------+ +------+ |_______________| |______________| STP - SS7 Signalling Transfer Point In this example, the SGP contains an instance of the SS7 SCCP protocol layer that may, for example, perform the SCCP Global Title Translation (GTT) function for messages logically addressed to the SG SCCP. If the result of a GTT for an SCCP message yields an SS7 DPC or DPC/SSN address of an SCCP peer located in the IP domain, the resulting MTP-TRANSFER request primitive is sent to the local M3UA- resident network address translation and mapping function for ongoing routing to the final IP destination. Similarly, the SCCP instance in an SGP can perform the SCCP GTT service for messages logically addressed to it from SCCP peers in the IP domain. In this case, MTP-TRANSFER indication primitives are sent from the local M3UA-resident network address translation and mapping function to the SCCP for GTT. If the result of the GTT yields the address of an SCCP peer in the SS7 network then the resulting MTP- TRANSFER request primitive is given to the MTP3 for delivery to an SS7-resident node. It is possible that the above SCCP GTT at the SGP could yield the address of an SCCP peer in the IP domain and the resulting MTP- TRANSFER request primitive would be sent back to the M3UA layer for delivery to an IP destination.
For internal SGP modeling purposes, this may be accomplished with the use of an implementation-dependent nodal interworking function within the SGP that effectively sits below the SCCP and routes MTP-TRANSFER request/indication messages to/from both the MTP3 and the M3UA layer, based on the SS7 DPC or DPC/SSN address information. This nodal interworking function has no visible peer protocol with either the ASP or SEP. Note that the services and interface provided by the M3UA layer are the same as in Example 1 and the functions taking place in the SCCP entity are transparent to the M3UA layer. The SCCP protocol functions are not reproduced in the M3UA protocol.1.6 Definition of M3UA Boundaries
1.6.1 Definition of the Boundary between M3UA and an MTP3-User.
From ITU Q.701 [7]: MTP-TRANSFER request MTP-TRANSFER indication MTP-PAUSE indication MTP-RESUME indication MTP-STATUS indication1.6.2 Definition of the Boundary between M3UA and SCTP
An example of the upper layer primitives provided by the SCTP are provided in Reference [17] Section 10.1.6.3 Definition of the Boundary between M3UA and Layer Management
M-SCTP_ESTABLISH request Direction: LM -> M3UA Purpose: LM requests ASP to establish an SCTP association with its peer. M-STCP_ESTABLISH confirm Direction: M3UA -> LM Purpose: ASP confirms to LM that it has established an SCTP association with its peer. M-SCTP_ESTABLISH indication Direction: M3UA -> LM Purpose: M3UA informs LM that a remote ASP has established an SCTP association.
M-SCTP_RELEASE request Direction: LM -> M3UA Purpose: LM requests ASP to release an SCTP association with its peer. M-SCTP_RELEASE confirm Direction: M3UA -> LM Purpose: ASP confirms to LM that it has released SCTP association with its peer. M-SCTP_RELEASE indication Direction: M3UA -> LM Purpose: M3UA informs LM that a remote ASP has released an SCTP Association or the SCTP association has failed. M-SCTP_RESTART indication Direction: M3UA -> LM Purpose: M3UA informs LM that an SCTP restart indication has been received. M-SCTP_STATUS request Direction: LM -> M3UA Purpose: LM requests M3UA to report the status of an SCTP association. M-SCTP_STATUS confirm Direction: M3UA -> LM Purpose: M3UA responds with the status of an SCTP association. M-SCTP STATUS indication Direction: M3UA -> LM Purpose: M3UA reports the status of an SCTP association. M-ASP_STATUS request Direction: LM -> M3UA Purpose: LM requests M3UA to report the status of a local or remote ASP. M-ASP_STATUS confirm Direction: M3UA -> LM Purpose: M3UA reports status of local or remote ASP. M-AS_STATUS request Direction: LM -> M3UA Purpose: LM requests M3UA to report the status of an AS.
M-AS_STATUS confirm Direction: M3UA -> LM Purpose: M3UA reports the status of an AS. M-NOTIFY indication Direction: M3UA -> LM Purpose: M3UA reports that it has received a Notify message from its peer. M-ERROR indication Direction: M3UA -> LM Purpose: M3UA reports that it has received an Error message from its peer or that a local operation has been unsuccessful. M-ASP_UP request Direction: LM -> M3UA Purpose: LM requests ASP to start its operation and send an ASP Up message to its peer. M-ASP_UP confirm Direction: M3UA -> LM Purpose: ASP reports that is has received an ASP UP Ack message from its peer. M-ASP_UP indication Direction: M3UA -> LM Purpose: M3UA reports it has successfully processed an incoming ASP Up message from its peer. M-ASP_DOWN request Direction: LM -> M3UA Purpose: LM requests ASP to stop its operation and send an ASP Down message to its peer. M-ASP_DOWN confirm Direction: M3UA -> LM Purpose: ASP reports that is has received an ASP Down Ack message from its peer. M-ASP_DOWN indication Direction: M3UA -> LM Purpose: M3UA reports it has successfully processed an incoming ASP Down message from its peer, or the SCTP association has been lost/reset.
M-ASP_ACTIVE request Direction: LM -> M3UA Purpose: LM requests ASP to send an ASP Active message to its peer. M-ASP_ACTIVE confirm Direction: M3UA -> LM Purpose: ASP reports that is has received an ASP Active Ack message from its peer. M-ASP_ACTIVE indication Direction: M3UA -> LM Purpose: M3UA reports it has successfully processed an incoming ASP Active message from its peer. M-ASP_INACTIVE request Direction: LM -> M3UA Purpose: LM requests ASP to send an ASP Inactive message to its peer. M-ASP_INACTIVE confirm Direction: LM -> M3UA Purpose: ASP reports that is has received an ASP Inactive Ack message from its peer. M-ASP_INACTIVE indication Direction: M3UA -> LM Purpose: M3UA reports it has successfully processed an incoming ASP Inactive message from its peer. M-AS_ACTIVE indication Direction: M3UA -> LM Purpose: M3UA reports that an AS has moved to the AS-ACTIVE state. M-AS_INACTIVE indication Direction: M3UA -> LM Purpose: M3UA reports that an AS has moved to the AS-INACTIVE state. M-AS_DOWN indication Direction: M3UA -> LM Purpose: M3UA reports that an AS has moved to the AS-DOWN state. If dynamic registration of RK is supported by the M3UA layer, the layer MAY support the following additional primitives: M-RK_REG request Direction: LM -> M3UA Purpose: LM requests ASP to register RK(s) with its peer by sending REG REQ message
M-RK_REG confirm Direction: M3UA -> LM Purpose: ASP reports that it has received REG RSP message with registration status as successful from its peer. M-RK_REG indication Direction: M3UA -> LM Purpose: M3UA informs LM that it has successfully processed an incoming REG REQ message. M-RK_DEREG request Direction: LM -> M3UA Purpose: LM requests ASP to deregister RK(s) with its peer by sending DEREG REQ message. M-RK_DEREG confirm Direction: M3UA -> LM Purpose: ASP reports that it has received DEREG REQ message with deregistration status as successful from its peer. M-RK_DEREG indication Direction: M3UA -> LM Purpose: M3UA informs LM that it has successfully processed an incoming DEREG REQ from its peer.2. Conventions
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in [20].