OpenSS7
SS7 for the
Common Man
© Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved.
Last modified: Wed, 30 Jul 2008 14:05:22 GMT
Home TopIndex FirstPrev Next LastMore Download Info FAQ Mail  Home -> Documentation -> SIGTRAN -> rfc3332
Quick Links

Download

SCTP

SIGTRAN

SS7

Hardware

STREAMS

Asterisk

Related

Package

Manual

FAQ

SIGTRAN

SCTP

UA

TUA

SUA

ISUA

M3UA

M2UA

M2PA

IUA

TALI

SS7 over IP

Documentation

FAQ

SIGTRAN

Design

Conformance

Performance

References

Man Pages

Manuals

Papers

Home

Overview

Status

Documentation

Resources

About

News

rfc3332

Description: Request For Comments

You can download source copies of the file as follows:

rfc3332.txt in text format.

Listed below is the contents of file rfc3332.txt.




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
   Gaway 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

Sidebottom, et. al.         Standards Track                     [Page 1]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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 Procedures to Support the Management of SCTP Associations ...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

Sidebottom, et. al.         Standards Track                     [Page 2]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                     [Page 3]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                     [Page 4]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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.

Sidebottom, et. al.         Standards Track                     [Page 5]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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:

Sidebottom, et. al.         Standards Track                     [Page 6]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

      - 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.

Sidebottom, et. al.         Standards Track                     [Page 7]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                     [Page 8]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   - 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.

Sidebottom, et. al.         Standards Track                     [Page 9]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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

Sidebottom, et. al.         Standards Track                    [Page 10]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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

Sidebottom, et. al.         Standards Track                    [Page 11]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                    [Page 12]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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.

Sidebottom, et. al.         Standards Track                    [Page 13]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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].

Sidebottom, et. al.         Standards Track                    [Page 14]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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.

Sidebottom, et. al.         Standards Track                    [Page 15]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                    [Page 16]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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.

Sidebottom, et. al.         Standards Track                    [Page 17]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                    [Page 18]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                    [Page 19]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

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.

Sidebottom, et. al.         Standards Track                    [Page 20]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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 indication

1.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.

Sidebottom, et. al.         Standards Track                    [Page 21]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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.

Sidebottom, et. al.         Standards Track                    [Page 22]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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.

Sidebottom, et. al.         Standards Track                    [Page 23]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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

Sidebottom, et. al.         Standards Track                    [Page 24]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   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].

3. M3UA Protocol Elements

   The general M3UA message format includes a Common Message Header
   followed by zero or more parameters as defined by the Message Type.
   For forward compatibility, all Message Types may have attached
   parameters even if none are specified in this version.

Sidebottom, et. al.         Standards Track                    [Page 25]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

3.1 Common Message Header

   The protocol messages for MTP3-User Adaptation require a message
   header which contains the adaptation layer version, the message type,
   and message length.

      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    |   Reserved    | Message Class | Message Type  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Message Length                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                                                               /

   All fields in an M3UA message MUST be transmitted in the network byte
   order, unless otherwise stated.

3.1.1 M3UA Protocol Version: 8 bits (unsigned integer)

   The version field contains the version of the M3UA adaptation layer.

   The supported versions are the following:

         1      Release 1.0

3.1.2  Message Classes and Types

   The following list contains the valid Message Classes:

   Message Class: 8 bits (unsigned integer)

   The following list contains the valid Message Type Classes:

        0     Management (MGMT) Messages
        1     Transfer Messages
        2     SS7 Signalling Network Management (SSNM) Messages
        3     ASP State Maintenance (ASPSM) Messages
        4     ASP Traffic Maintenance (ASPTM) Messages
        5     Reserved for Other Sigtran Adaptation Layers
        6     Reserved for Other Sigtran Adaptation Layers
        7     Reserved for Other Sigtran Adaptation Layers
        8     Reserved for Other Sigtran Adaptation Layers
        9     Routing Key Management (RKM) Messages
       10 to 127 Reserved by the IETF
      128 to 255 Reserved for IETF-Defined Message Class extensions

Sidebottom, et. al.         Standards Track                    [Page 26]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

      Message Type: 8 bits (unsigned integer)

      The following list contains the message types for the defined
      messages.

      Management (MGMT) Messages (See Section 3.8)

        0        Error (ERR)
        1        Notify (NTFY)
     2 to 127    Reserved by the IETF
   128 to 255    Reserved for IETF-Defined MGMT extensions

      Transfer Messages (See Section 3.3)

        0        Reserved
        1        Payload Data (DATA)
     2 to 127    Reserved by the IETF
   128 to 255    Reserved for IETF-Defined Transfer extensions

      SS7 Signalling Network Management (SSNM) Messages (See Section
      3.4)

        0        Reserved
        1        Destination Unavailable (DUNA)
        2        Destination Available (DAVA)
        3        Destination State Audit (DAUD)
        4        Signalling Congestion (SCON)
        5        Destination User Part Unavailable (DUPU)
        6        Destination Restricted (DRST)
     7 to 127    Reserved by the IETF
   128 to 255    Reserved for IETF-Defined SSNM extensions

      ASP State Maintenance (ASPSM) Messages (See Section 3.5)

        0        Reserved
        1        ASP Up (ASPUP)
        2        ASP Down (ASPDN)
        3        Heartbeat (BEAT)
        4        ASP Up Acknowledgement (ASPUP ACK)
        5        ASP Down Acknowledgement (ASPDN ACK)
        6        Heartbeat Acknowledgement (BEAT ACK)
     7 to 127    Reserved by the IETF
   128 to 255    Reserved for IETF-Defined ASPSM extensions

Sidebottom, et. al.         Standards Track                    [Page 27]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

      ASP Traffic Maintenance (ASPTM) Messages (See Section 3.7)

        0        Reserved
        1        ASP Active (ASPAC)
        2        ASP Inactive (ASPIA)
        3        ASP Active Acknowledgement (ASPAC ACK)
        4        ASP Inactive Acknowledgement (ASPIA ACK)
     5 to 127    Reserved by the IETF
   128 to 255    Reserved for IETF-Defined ASPTM extensions

      Routing Key Management (RKM) Messages (See Section 3.6)

        0        Reserved
        1        Registration Request (REG REQ)
        2        Registration Response (REG RSP)
        3        Deregistration Request (DEREG REQ)
        4        Deregistration Response (DEREG RSP)
     5 to 127    Reserved by the IETF
   128 to 255    Reserved for IETF-Defined RKM extensions

3.1.3  Reserved: 8 bits

   The Reserved field SHOULD be set to all '0's and ignored by the
   receiver.

3.1.4  Message Length: 32-bits (unsigned integer)

   The Message Length defines the length of the message in octets,
   including the Common Header.  The Message Length MUST include
   parameter padding bytes, if any.

   Note: A receiver SHOULD accept the message whether or not the final
   parameter padding is included in the message length.

Sidebottom, et. al.         Standards Track                    [Page 28]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

3.2 Variable Length Parameter Format

   M3UA messages consist of a Common Header followed by zero or more
   variable length parameters, as defined by the message type.  All the
   parameters contained in a message are defined in a Tag Length-Value
   format as shown below.

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Parameter Tag        |       Parameter Length        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                       Parameter Value                         /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Where more than one parameter is included in a message, the
   parameters may be in any order, except where explicitly mandated.  A
   receiver SHOULD accept the parameters in any order.

   Parameter Tag: 16 bits (unsigned integer)

      The Tag field is a 16-bit identifier of the type of parameter. It
      takes a value of 0 to 65534.  Common parameters used by adaptation
      layers are in the range of 0x00 to 0x3f.   M3UA-specific
      parameters have Tags in the range 0x0200 to 0x02ff.  The parameter
      Tags defined are as follows:

      Common Parameters.  These TLV parameters are common across the
      different adaptation layers:

        Parameter Name                     Parameter ID
        ==============                     ============
        Reserved                              0x0000
        Not Used in M3UA                      0x0001
        Not Used in M3UA                      0x0002
        Not Used in M3UA                      0x0003
        INFO String                           0x0004
        Not Used in M3UA                      0x0005
        Routing Context                       0x0006
        Diagnostic Information                0x0007
        Not Used in M3UA                      0x0008
        Heartbeat Data                        0x0009
        Not Used in M3UA                      0x000a
        Traffic Mode Type                     0x000b
        Error Code                            0x000c
        Status                                0x000d

Sidebottom, et. al.         Standards Track                    [Page 29]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

        Not Used in M3UA                      0x000e
        Not Used in M3UA                      0x000f
        Not Used in M3UA                      0x0010
        ASP Identifier                        0x0011
        Affected Point Code                   0x0012
        Correlation ID                        0x0013

      M3UA-Specific parameters.  These TLV parameters are specific to
      the M3UA protocol:

        Network Appearance                    0x0200
        Reserved                              0x0201
        Reserved                              0x0202
        Reserved                              0x0203
        User/Cause                            0x0204
        Congestion Indications                0x0205
        Concerned Destination                 0x0206
        Routing Key                           0x0207
        Registration Result                   0x0208
        Deregistration Result                 0x0209
        Local_Routing Key Identifier          0x020a
        Destination Point Code                0x020b
        Service Indicators                    0x020c
        Reserved                              0x020d
        Originating Point Code List           0x020e
        Circuit Range                         0x020f
        Protocol Data                         0x0210
        Reserved                              0x0211
        Registration Status                   0x0212
        Deregistration Status                 0x0213

        Reserved by the IETF             0x0214 to 0xffff

      The value of 65535 is reserved for IETF-defined extensions.
      Values other than those defined in specific parameter description
      are reserved for use by the IETF.

   Parameter Length: 16 bits (unsigned integer)

      The Parameter Length field contains the size of the parameter in
      bytes, including the Parameter Tag, Parameter Length, and
      Parameter Value fields.  Thus, a parameter with a zero-length
      Parameter Value field would have a Length field of 4.  The
      Parameter Length does not include any padding bytes.

Sidebottom, et. al.         Standards Track                    [Page 30]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   Parameter Value: variable length.

      The Parameter Value field contains the actual information to be
      transferred in the parameter.

      The total length of a parameter (including Tag, Parameter Length
      and Value fields) MUST be a multiple of 4 bytes.  If the length of
      the parameter is not a multiple of 4 bytes, the sender pads the
      Parameter at the end (i.e., after the Parameter Value field) with
      all zero bytes.  The length of the padding is NOT included in the
      parameter length field.  A sender SHOULD NOT pad with more than 3
      bytes.  The receiver MUST ignore the padding bytes.

3.3 Transfer Messages

   The following section describes the Transfer messages and parameter
   contents.

3.3.1 Payload Data Message (DATA)

   The DATA message contains the SS7 MTP3-User protocol data, which is
   an MTP-TRANSFER primitive, including the complete MTP3 Routing Label.
   The DATA message contains the following variable length parameters:

      Network Appearance       Optional
      Routing Context          Optional
      Protocol Data            Mandatory
      Correlation Id           Optional

Sidebottom, et. al.         Standards Track                    [Page 31]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The following format MUST be used for the Data Message:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Tag = 0x0200           |          Length = 8           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Network Appearance                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Tag = 0x0006           |          Length = 8           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Routing Context                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Tag = 0x0210           |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                        Protocol Data                          /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Tag = 0x0013           |          Length = 8           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Correlation Id                         |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Network Appearance: 32-bits (unsigned integer)

      The Network Appearance parameter identifies the SS7 network
      context for the message and implicitly identifies the SS7 Point
      Code format used, the SS7 Network Indicator value, and the MTP3
      and possibly the MTP3-User protocol type/variant/version used
      within the specific SS7 network.  Where an SG operates in the
      context of a single SS7 network, or individual SCTP associations
      are dedicated to each SS7 network context, the Network Appearance
      parameter is not required.  In other cases the parameter may be
      configured to be present for the use of the receiver.

      The Network Appearance parameter value is of local significance
      only, coordinated between the SGP and ASP. Therefore, in the case
      where an ASP is connected to more than one SGP, the same SS7
      network context may be identified by different Network Appearance
      values depending over which SGP a message is being
      transmitted/received.

      Where the optional Network Appearance parameter is present, it
      must be the first parameter in the message as it defines the
      format of the Protocol Data field.

Sidebottom, et. al.         Standards Track                    [Page 32]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

      IMPLEMENTATION NOTE: For simplicity of configuration it may be
      desirable to use the same NA value across all nodes sharing a
      particular network context.

   Routing Context: 32-bits (unsigned integer)

      The Routing Context parameter contains the Routing Context value
      associated with the DATA message.   Where a Routing Key has not
      been coordinated between the SGP and ASP, sending of Routing
      Context is not required.  Where multiple Routing Keys and Routing
      Contexts are used across a common association, the Routing Context
      MUST be sent to identify the traffic flow, assisting in the
      internal distribution of Data messages.

   Protocol Data: variable length

      The Protocol Data parameter contains the original SS7 MTP3
      message, including the Service Information Octet and Routing
      Label.

      The Protocol Data parameter contains the following fields:

         Service Indicator,
         Network Indicator,
         Message Priority.

         Destination Point Code,
         Originating Point Code,

         Signalling Link Selection Code (SLS).

         User Protocol Data.  Includes:

            MTP3-User protocol elements (e.g., ISUP, SCCP, or TUP
            parameters).

Sidebottom, et. al.         Standards Track                    [Page 33]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The Protocol Data parameter is encoded 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Originating Point Code                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Destination Point Code                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       SI      |       NI      |      MP       |      SLS      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                     User Protocol Data                        /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Originating Point Code: 32 bits (unsigned integer)
   Destination Point Code: 32 bits (unsigned integer)

   The Originating and Destination Point Code fields contains the OPC
   and DPC from the routing label of the original SS7 message in Network
   Byte Order, justified to the least significant bit.  Unused bits are
   coded `0'.

   Service Indicator: 8 bits (unsigned integer)

   The Service Indicator field contains the SI field from the original
   SS7 message justified to the least significant bit.  Unused bits are
   coded `0'.

   Network Indicator: 8-bits (unsigned integer)

   The Network Indicator contains the NI field from the original SS7
   message justified to the least significant bit.  Unused bits are
   coded `0'.

   Message Priority: 8 bits (unsigned integer)

   The Message Priority field contains the MP bits (if any) from the
   original SS7 message, both for ANSI-style and TTC-style [29] message
   priority bits. The MP bits are aligned to the least significant bit.
   Unused bits are coded `0'.

Sidebottom, et. al.         Standards Track                    [Page 34]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   Signalling Link Selection: 8 bits (unsigned integer)

   The Signalling Link Selection field contains the SLS bits from the
   routing label of the original SS7 message justified to the least
   significant bit and in Network Byte Order.  Unused bits are coded
   `0'.

   User Protocol Data: (byte string)

   The User Protocol Data field contains a byte string of MTP-User
   information from the original SS7 message starting with the first
   byte of the original SS7 message following the Routing Label.

   Correlation Id: 32-bits (unsigned integer)

   The Correlation Id parameter uniquely identifies the MSU carried in
   the Protocol Data within an AS.  This Correlation Id parameter is
   assigned by the sending M3UA.

3.4 SS7 Signalling Network Management (SSNM) Messages

3.4.1 Destination Unavailable (DUNA)

   The DUNA message is sent from an SGP in an SG to all concerned ASPs
   to indicate that the SG has determined that one or more SS7
   destinations are unreachable.  It is also sent by an SGP in response
   to a message from the ASP to an unreachable SS7 destination.  As an
   implementation option the SG may suppress the sending of subsequent
   "response" DUNA messages regarding a certain unreachable SS7
   destination for a certain period to give the remote side time to
   react.  If there is no alternate route via another SG, the MTP3-User
   at the ASP is expected to stop traffic to the affected destination
   via the SG as per the defined MTP3-User procedures.

Sidebottom, et. al.         Standards Track                    [Page 35]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The DUNA message contains the following parameters:

      Network Appearance      Optional
      Routing Context         Optional
      Affected Point Code     Mandatory
      INFO String             Optional

   The format for DUNA Message parameters 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0200          |          Length = 8           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Network Appearance                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Tag = 0x0006           |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                       Routing Context                         /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0012          |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Mask      |                 Affected PC 1                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                              ...                              /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Mask      |                 Affected PC n                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Tag = 0x0004         |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                          INFO String                          /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Network Appearance: 32-bit unsigned integer

      See Section 3.3.1

   Routing Context: n x 32-bits (unsigned integer)

      The optional Routing Context parameter contains the Routing
      Context values associated with the DUNA message.  Where a Routing
      Key has not been coordinated between the SGP and ASP, sending of

Sidebottom, et. al.         Standards Track                    [Page 36]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

      Routing Context is not required.  Where multiple Routing Keys and
      Routing Contexts are used across a common association, the Routing
      Context(s) MUST be sent to identify the concerned traffic flows
      for which the DUNA message applies, assisting in outgoing traffic
      management and internal distribution of MTP-PAUSE indications to
      MTP3-Users at the receiver.

   Affected Point Code: n x 32-bits

      The Affected Point Code parameter contains a list of Affected
      Destination Point Code fields, each a three-octet parameter to
      allow for 14-, 16- and 24-bit binary formatted SS7 Point Codes.
      Affected Point Codes that are less than 24-bits, are padded on the
      left to the 24-bit boundary.  The encoding is shown below for ANSI
      and ITU Point Code examples.

   ANSI 24-bit Point Code:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Mask      |    Network    |    Cluster    |     Member    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                      |MSB-----------------------------------------LSB|

   ITU 14-bit Point Code:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Mask      |0 0 0 0 0 0 0 0 0 0|Zone |     Region    | SP  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                                           |MSB--------------------LSB|

      It is optional to send an Affected Point Code parameter with more
      than one Affected PC but it is mandatory to receive it.  Including
      multiple Affected PCs may be useful when reception of an MTP3
      management message or a linkset event simultaneously affects the
      availability status of a list of destinations at an SG.

Sidebottom, et. al.         Standards Track                    [Page 37]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   Mask: 8-bits (unsigned integer)

      The Mask field can be used to identify a contiguous range of
      Affected Destination Point Codes.  Identifying a contiguous range
      of Affected DPCs may be useful when reception of an MTP3
      management message or a linkset event simultaneously affects the
      availability status of a series of destinations at an SG.

      The Mask parameter is an integer representing a bit mask that can
      be applied to the related Affected PC field.  The bit mask
      identifies how many bits of the Affected PC field are significant
      and which are effectively "wildcarded".  For example, a mask of
      "8" indicates that the last eight bits of the PC is "wildcarded".
      For an ANSI 24-bit Affected PC, this is equivalent to signalling
      that all PCs in an ANSI Cluster are unavailable.  A mask of "3"
      indicates that the last three bits of the PC is "wildcarded".  For
      a 14-bit ITU Affected PC, this is equivalent to signaling that an
      ITU

      Region is unavailable.  A mask value equal (or greater than) the
      number of bits in the PC indicates that the entire network
      appearance is affected - this is used to indicate network
      isolation to the ASP.

   INFO String: variable length

      The optional INFO String parameter can carry any meaningful UTF-8
      [10] character string along with the message.  Length of the INFO
      String parameter is from 0 to 255 octets.  No procedures are
      presently identified for its use but the INFO String MAY be used
      for debugging purposes.

3.4.2 Destination Available (DAVA)

   The DAVA message is sent from an SGP to all concerned ASPs to
   indicate that the SG has determined that one or more SS7 destinations
   are now reachable (and not restricted), or in response to a DAUD
   message if appropriate. If the ASP M3UA layer previously had no
   routes to the affected destinations the ASP MTP3-User protocol is
   informed and may now resume traffic to the affected destination.  The
   ASP M3UA layer now routes the MTP3-user traffic through the SG
   initiating the DAVA message.

Sidebottom, et. al.         Standards Track                    [Page 38]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The DAVA message contains the following parameters:

      Network Appearance       Optional
      Routing Context          Optional
      Affected Point Code      Mandatory
      INFO String              Optional

   The format and description of the Network Appearance, Routing
   Context, Affected Point Code and INFO String parameters is the same
   as for the DUNA message (See Section 3.4.1).

3.4.3 Destination State Audit (DAUD)

   The DAUD message MAY be sent from the ASP to the SGP to audit the
   availability/congestion state of SS7 routes from the SG to one or
   more affected destinations.

   The DAUD message contains the following parameters:

      Network Appearance      Optional
      Routing Context         Optional
      Affected Point Code     Mandatory
      INFO String             Optional

   The format and description of DAUD Message parameters is the same as
   for the DUNA message (See Section 3.4.1).

3.4.4 Signalling Congestion (SCON)

   The SCON message can be sent from an SGP to all concerned ASPs to
   indicate that an SG has determined that there is congestion in the
   SS7 network to one or more destinations, or to an ASP in response to
   a DATA or DAUD message as appropriate.  For some MTP protocol
   variants (e.g., ANSI MTP) the SCON message may be sent when the SS7
   congestion level changes.  The SCON message MAY also be sent from the
   M3UA layer of an ASP to an M3UA peer indicating that the M3UA layer
   or the ASP is congested.

   The SCON message contains the following parameters:

      Network Appearance       Optional
      Routing Context          Optional
      Affected Point Code      Mandatory
      Concerned Destination    Optional
      Congestion Indications   Optional
      INFO String              Optional

Sidebottom, et. al.         Standards Track                    [Page 39]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The format for SCON Message parameters 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0200          |           Length = 8          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Network Appearance                      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Tag = 0x0006           |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                       Routing Context                         /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0012          |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Mask     |                 Affected PC 1                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                              ...                              /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      Mask     |                 Affected PC n                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0206          |             Length = 8        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    reserved   |                 Concerned DPC                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0205          |             Length = 8        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Reserved                    |  Cong. Level  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            Tag = 0x0004       |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                         INFO String                           /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Sidebottom, et. al.         Standards Track                    [Page 40]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The format and description of the Network Appearance, Routing
   Context, Affected Point Code, and INFO String parameters is the same
   as for the DUNA message (See Section 3.4.1).

   The Affected Point Code parameter can be used to indicate congestion
   of multiple destinations or ranges of destinations.

   Concerned Destination: 32-bits

      The optional Concerned Destination parameter is only used if the
      SCON message is sent from an ASP to the SGP. It contains the point
      code of the originator of the message that triggered the SCON
      message. The Concerned Destination parameter contains one
      Concerned Destination Point Code field, a three-octet parameter to
      allow for 14-, 16- and 24-bit binary formatted SS7 Point Codes.  A
      Concerned Point Code that is less than 24-bits is padded on the
      left to the 24-bit boundary.  Any resulting Transfer Controlled
      (TFC) message from the SG is sent to the Concerned Point Code
      using the single Affected DPC contained in the SCON message to
      populate the (affected) Destination field of the TFC message

   Congested Indications: 32-bits

      The optional Congestion Indications parameter contains a
      Congestion Level field.  This optional parameter is used to
      communicate congestion levels in national MTP networks with
      multiple congestion thresholds, such as in ANSI MTP3.  For MTP
      congestion methods without multiple congestion levels (e.g., the
      ITU international method) the parameter is not included.

   Congestion Level field: 8-bits (unsigned integer)

      The Congestion Level field, associated with all of the Affected
      DPC(s) in the Affected Destinations parameter, contains one of the
      following values:

         0     No Congestion or Undefined
         1     Congestion Level 1
         2     Congestion Level 2
         3     Congestion Level 3

Sidebottom, et. al.         Standards Track                    [Page 41]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

      The congestion levels are defined in the congestion method in the
      appropriate national MTP recommendations [7,8].

3.4.5 Destination User Part Unavailable (DUPU)

   The DUPU message is used by an SGP to inform concerned ASPs that a
   remote peer MTP3-User Part (e.g., ISUP or SCCP) at an SS7 node is
   unavailable.

   The DUPU message contains the following parameters:

      Network Appearance       Optional
      Routing Context          Optional
      Affected Point Code      Mandatory
      User/Cause               Mandatory
      INFO String              Optional

   The format for DUPU message parameters 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0200          |             Length = 8        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                      Network Appearance                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |        Tag = 0x0006           |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                       Routing Context                         /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0012          |          Length = 8           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |   Mask = 0    |                  Affected PC                  |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0204          |          Length = 8           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |             Cause             |            User               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0004          |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                          INFO String                          /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Sidebottom, et. al.         Standards Track                    [Page 42]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   User/Cause: 32-bits

      The Unavailability Cause and MTP3-User Identity fields, associated
      with the Affected PC in the Affected Point Code parameter, are
      encoded as follows:

   Unavailability Cause field: 16-bits (unsigned integer)

      The Unavailability Cause parameter provides the reason for the
      unavailability of the MTP3-User.  The valid values for the
      Unavailability Cause parameter are shown in the following table.
      The values agree with those provided in the SS7 MTP3 User Part
      Unavailable message.  Depending on the MTP3 protocol used in the
      Network Appearance, additional values may be used - the
      specification of the relevant MTP3 protocol variant/version
      recommendation is definitive.

         0         Unknown
         1         Unequipped Remote User
         2         Inaccessible Remote User

   MTP3-User Identity field: 16-bits (unsigned integer)

      The MTP3-User Identity describes the specific MTP3-User that is
      unavailable (e.g., ISUP, SCCP, ...).  Some of the valid values for
      the MTP3-User Identity are shown below.  The values align with
      those provided in the SS7 MTP3 User Part Unavailable message and
      Service Indicator.  Depending on the MTP3 protocol variant/version
      used in the network appearance, additional values may be used.
      The relevant MTP3 protocol variant/version recommendation is
      definitive.

          0 to 2   Reserved
             3     SCCP
             4     TUP
             5     ISUP
          6 to 8  Reserved
             9     Broadband ISUP
            10     Satellite ISUP
            11     Reserved
            12     AAL type 2 Signalling
            13     Bearer Independent Call Control (BICC)
            14     Gateway Control Protocol
            15     Reserved

      The format and description of the Affected Point Code parameter is
      the same as for the DUNA message (See Section 3.4.1.) except that
      the Mask field is not used and only a single Affected DPC is

Sidebottom, et. al.         Standards Track                    [Page 43]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

      included.  Ranges and lists of Affected DPCs cannot be signaled in
      a DUPU message, but this is consistent with UPU operation in the
      SS7 network.  The Affected Destinations parameter in an MTP3 User
      Part Unavailable message (UPU) received by an SGP from the SS7
      network contains only one destination.

      The format and description of the Network Appearance, Routing
      Context, and INFO String parameters is the same as for the DUNA
      message (See Section 3.4.1).

3.4.6 Destination Restricted (DRST)

   The DRST message is optionally sent from the SGP to all concerned
   ASPs to indicate that the SG has determined that one or more SS7
   destinations are now restricted from the point of view of the SG, or
   in response to a DAUD message if appropriate.  The M3UA layer at the
   ASP is expected to send traffic to the affected destination via an
   alternate SG with route(s) of equal priority, but only if such an
   alternate route exists and is available.  If the affected destination
   is currently considered unavailable by the ASP, The MTP3-User should
   be informed that traffic to the affected destination can be resumed.
   In this case, the M3UA layer should route the traffic through the SG
   initiating the DRST message.

   This message is optional for the SG to send and it is optional for
   the ASP to act on any information received in the message.  It is for
   use in the "STP" case described in Section 1.4.1.

   The DRST message contains the following parameters:

      Network Appearance       Optional
      Routing Context          Optional
      Affected Point Code      Mandatory
      INFO String              Optional

   The format and description of the Network Appearance, Routing
   Context, Affected Point Code and INFO String parameters is the same
   as for the DUNA message (See Section 3.4.1).

Sidebottom, et. al.         Standards Track                    [Page 44]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

3.5 ASP State Maintenance (ASPSM) Messages

3.5.1 ASP Up

   The ASP Up message is used to indicate to a remote M3UA peer that the
   adaptation layer is ready to receive any ASPSM/ASPTM messages for all
   Routing Keys that the ASP is configured to serve.

   The ASP Up message contains the following parameters:

      ASP Identifier                Optional
      INFO String                   Optional

   The format for ASP Up message parameters 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0011          |           Length = 8          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                         ASP Identifier                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0004          |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                          INFO String                          /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   ASP Identifier: 32-bit unsigned integer

      The optional ASP Identifier parameter contains a unique value that
      is locally significant among the ASPs that support an AS.  The SGP
      should save the ASP Identifier to be used, if necessary, with the
      Notify message (see Section 3.8.2).

      The format and description of the optional INFO String parameter
      is the same as for the DUNA message (See Section 3.4.1).

Sidebottom, et. al.         Standards Track                    [Page 45]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

3.5.2 ASP Up Acknowledgement (ASP Up Ack)

   The ASP UP Ack message is used to acknowledge an ASP Up message
   received from a  remote M3UA peer.

   The ASP Up Ack message contains the following parameters:

   INFO String (optional)

   The format for ASP Up Ack message parameters 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag =0x0004             |             Length          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                          INFO String                          /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The format and description of the optional INFO String parameter is
   the same as for the DUNA message (See Section 3.4.1).  The INFO
   String in an ASP Up Ack message is independent from the INFO String
   in the ASP Up message (i.e., it does not have to echo back the INFO
   String received).

3.5.3 ASP Down

   The ASP Down message is used to indicate to a remote M3UA peer that
   the adaptation layer is NOT ready to receive DATA, SSNM, RKM or ASPTM
   messages.

   The ASP Down message contains the following parameters:

   INFO String    Optional

Sidebottom, et. al.         Standards Track                    [Page 46]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The format for the ASP Down message parameters 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag =0x0004           |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                         INFO String                           /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The format and description of the optional INFO String parameter is
   the same as for the DUNA message (See Section 3.4.1).

3.5.4 ASP Down Acknowledgement (ASP Down Ack)

   The ASP Down Ack message is used to acknowledge an ASP Down message
   received from a remote M3UA peer.

   The ASP Down Ack message contains the following parameters:

   INFO String     Optional

   The format for the ASP Down Ack message parameters 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0004          |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                         INFO String                           /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The format and description of the optional INFO String parameter is
   the same as for the DUNA message (See Section 3.4.1).

   The INFO String in an ASP Down Ack message is independent from the
   INFO String in the ASP Down message (i.e., it does not have to echo
   back the INFO String received).

Sidebottom, et. al.         Standards Track                    [Page 47]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

3.5.5 Heartbeat (BEAT)

   The BEAT message is optionally used to ensure that the M3UA peers are
   still available to each other.  It is recommended for use when the
   M3UA runs over a transport layer other than the SCTP, which has its
   own heartbeat.

   The BEAT message contains the following parameters:

   Heartbeat Data         Optional

   The format for the BEAT 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0009          |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                       Heartbeat Data                          /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The Heartbeat Data parameter contents are defined by the sending
   node. The Heartbeat Data could include, for example, a Heartbeat
   Sequence Number and/or Timestamp.  The receiver of a BEAT message
   does not process this field as it is only of significance to the
   sender.  The receiver MUST respond with a BEAT Ack message.

3.5.6 Heartbeat Acknowledgement (BEAT Ack)

   The BEAT Ack message is sent in response to a received BEAT message.
   It includes all the parameters of the received BEAT message, without
   any change.

3.6 Routing Key Management (RKM) Messages [Optional]

3.6.1 Registration Request (REG REQ)

   The REG REQ message is sent by an ASP to indicate to a remote M3UA
   peer that it wishes to register one or more given Routing Keys with
   the remote peer.  Typically, an ASP would send this message to an
   SGP, and expects to receive a REG RSP message in return with an
   associated Routing Context value.

Sidebottom, et. al.         Standards Track                    [Page 48]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The REG REQ message contains the following parameters:

   Routing Key           Mandatory

   One or more Routing Key parameters MAY be included.  The format for
   the REG REQ 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Tag = 0x0207         |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                         Routing Key 1                         /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                              ...                              /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |          Tag = 0x0207         |            Length             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                         Routing Key n                         /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Routing Key: variable length

      The Routing Key parameter is mandatory. The sender of this message
      expects that the receiver of this message will create a Routing
      Key entry and assign a unique Routing Context value to it, if the
      Routing Key entry does not already exist.

      The Routing Key parameter may be present multiple times in the
      same message. This is used to allow the registration of multiple
      Routing Keys in a single message.

Sidebottom, et. al.         Standards Track                    [Page 49]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The format of the Routing Key parameter 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Local-RK-Identifier                     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Traffic Mode Type (optional)                 |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Destination Point Code                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Network Appearance (optional)                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Service Indicators (optional)                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Originating Point Code List (optional)           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Circuit Range List (optional)               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      \                                                               \
      /                              ...                              /
      \                                                               \
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Destination Point Code                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Service Indicators (optional)                |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |              Originating Point Code List (optional)           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                   Circuit Range List (optional)               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

      Note: The Destination Point Code, Service Indicators, Originating
      Point Code List and Circuit Range List parameters MAY be repeated
      as a grouping within the Routing Key parameter, in the structure
      shown above.

   Local-RK-Identifier: 32-bit unsigned integer

      The mandatory Local-RK-Identifier field is used to uniquely
      identify the registration request.  The Identifier value is
      assigned by the ASP, and is used to correlate the response in an
      REG RSP message with the original registration request.  The
      Identifier value must remain unique until the REG RSP message is
      received.

Sidebottom, et. al.         Standards Track                    [Page 50]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The format of the Local-RK-Identifier field 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x020a          |         Length = 8            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                  Local-RK-Identifier value                    |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Traffic Mode Type: 32-bit (unsigned integer)

   The optional Traffic Mode Type parameter identifies the traffic mode
   of operation of the ASP(s) within an Application Server.  The format
   of the Traffic Mode Type Identifier 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x000b          |         Length = 8            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                       Traffic Mode Type                       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   The valid values for Traffic Mode Type are shown in the following
   table:

         1     Override
         2     Loadshare
         3     Broadcast

   Destination Point Code:

      The Destination Point Code parameter is mandatory, and identifies
      the Destination Point Code of incoming SS7 traffic for which the
      ASP is registering.  The format is the same as described for the
      Affected Destination parameter in the DUNA message (See Section
      3.4.1).  Its format is:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x020b          |         Length = 8            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Mask = 0   |            Destination Point Code             |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Sidebottom, et. al.         Standards Track                    [Page 51]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   Network Appearance:

      The optional Network Appearance parameter field identifies the SS7
      network context for the Routing Key, and has the same format as in
      the DATA message (See Section 3.3.1).  The absence of the Network
      Appearance parameter in the Routing Key indicates the use of any
      Network Appearance value.  Its format is:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x0200          |         Length = 8            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Network Appearance                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Service Indicators (SI): n X 8-bit integers

      The optional SI [7,8] field contains one or more Service
      Indicators from the values as described in the MTP3-User Identity
      field of the DUPU message.  The absence of the SI parameter in the
      Routing Key indicates the use of any SI value, excluding of course
      MTP management.  Where an SI parameter does not contain a multiple
      of four SIs, the parameter is padded out to 32-byte alignment.

      The SI format is:

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x020c          |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      SI #1    |     SI #2     |    SI #3      |    SI #4      |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                              ...                              /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |      SI #n    |             0 Padding, if necessary           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   OPC List:

      The Originating Point Code List parameter contains one or more SS7
      OPC entries, and its format is the same as the Destination Point
      Code parameter.  The absence of the OPC List parameter in the
      Routing Key indicates the use of any OPC value,

Sidebottom, et. al.         Standards Track                    [Page 52]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Tag = 0x020e          |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Mask = 0   |          Origination Point Code #1            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Mask = 0   |          Origination Point Code #2            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                              ...                              /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Mask = 0   |          Origination Point Code #n            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Circuit Range:

      An ISUP controlled circuit is uniquely identified by the SS7 OPC,
      DPC and CIC value.  For the purposes of identifying Circuit Ranges
      in an M3UA Routing Key, the optional Circuit Range parameter
      includes one or more circuit ranges, each identified by an OPC and
      Upper/Lower CIC value.  The DPC is implicit as it is mandatory and
      already included in the DPC parameter of the Routing Key.  The
      absence of the Circuit Range parameter in the Routing Key
      indicates the use of any Circuit Range values, in the case of
      ISUP/TUP traffic.  The Origination Point Code is encoded the same
      as the Destination Point Code parameter, while the CIC values are
      16-bit integers.

Sidebottom, et. al.         Standards Track                    [Page 53]

RFC 3332             SS7 MTP3-User Adaptation Layer       September 2002

   The Circuit Range format 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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |           Tag = 0x020f        |              Length           |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Mask = 0   |          Origination Point Code #1            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       Lower CIC Value #1      |      Upper CIC Value #1       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Mask = 0   |          Origination Point Code #2            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       Lower CIC Value #2      |      Upper CIC Value #2       |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      /                              ...                              /
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |    Mask = 0   |          Origination Point Code #n            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |       Lower CIC Value #n      |      Upper CIC Value #n       |
      +