tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search

RFC 3868

 
 
 

Signalling Connection Control Part User Adaptation Layer (SUA)

Part 4 of 5, p. 92 to 123
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 92 
4.  Procedures

   The SUA layer needs to respond to various local primitives it
   receives from other layers as well as the messages that it receives
   from the peer SUA layer.  This section describes the SUA procedures
   in response to these events.

4.1.  Procedures to Support the SUA-User Layer

4.1.1.  Receipt of Primitives from SCCP

   When an SCCP Subsystem Management (SCMG) message is received from the
   SS7 network, the SGP needs to determine whether there are concerned
   Application Servers interested in subsystem status changes.  The SUA
   management function is informed with the N-State or N-Coord primitive
   upon which it formats and transfers the applicable SNMM message to
   the list of concerned ASPs using stream ID "0".

   When MTP-3 Management indications are received (MTP-PAUSE, MTP-
   RESUME, MTP-STATUS), SCCP Subsystem Management determines whether
   there are concerned local SCCP-users.  When these local SCCP-users
   are in fact Application Servers, serviced by ASPs, SUA management is
   informed with the N-PCSTATE indication primitive upon which it
   formats and transfers the applicable SNM message (DUNA, DAVA, DRST or
   SCON) to the list of concerned ASPs using stream ID "0".

   The SUA message distribution function determines the Application
   Server (AS) based on comparing the information in the N-UNITDATA
   request primitive with a provisioned Routing Key.

   From the list of ASPs within the AS table, an ASP in the ASP-ACTIVE
   state is selected and a DATA message is constructed and issued on the
   corresponding SCTP association.  If more than one ASP is in the ASP-
   ACTIVE state (i.e., traffic is to be load-shared across more than one
   ASP), one of the ASPs in the ASP_ACTIVE state is selected from the
   list.  If the ASPs are in Broadcast Mode, all active ASPs will be
   selected and the message sent to each of the active ASPs.  The
   selection algorithm is implementation dependent but could, for
   example, be round robin or based on the SLS.  The appropriate

Top      Up      ToC       Page 93 
   selection algorithm must be chosen carefully as it is dependent on
   application assumptions and understanding of the degree of state
   coordination between the ASP_ACTIVE ASPs in the AS.

   In addition, the message needs to be sent on the appropriate SCTP
   stream, again taking care to meet the message sequencing needs of the
   signalling application.  DATA messages MUST be sent on an SCTP stream
   other than stream '0' when there is more than one stream.

   When there is no Routing Key match, or only a partial match, 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 in an
   M-ERROR indication primitive.  The treatment of unallocated traffic
   is implementation dependent.

4.2.  Receipt of Primitives from the Layer Management

   On receiving primitives from the local Layer Management, the SUA
   layer will take the requested action and provide an appropriate
   response primitive to Layer Management.

   An M-SCTP_ESTABLISH request primitive from Layer Management at an ASP
   or IPSP will initiate the establishment of an SCTP association.  The
   SUA layer will attempt to establish an SCTP association with the
   remote SUA peer by sending an SCTP-ASSOCIATE primitive to the local
   SCTP layer.

   When an SCTP association has been successfully established, the SCTP
   will send an SCTP-COMMUNICATION_UP notification primitive to the
   local SUA layer.  At the ASP or IPSP that initiated the request, the
   SUA layer will send an M-SCTP_ESTABLISH confirm primitive to Layer
   Management when the association setup is complete.  At the peer SUA
   layer, an M-SCTP_ESTABLISH indication primitive is sent to Layer
   Management upon successful completion of an incoming SCTP association
   setup.

   An M-SCTP_RELEASE request primitive from Layer Management initiates
   the shutdown of an SCTP association.  The SUA layer accomplishes a
   graceful shutdown of the SCTP association by sending an SCTP-SHUTDOWN
   primitive to the SCTP layer.

   When the graceful shutdown of the SCTP association has been
   accomplished, the SCTP layer returns an SCTP-SHUTDOWN_COMPLETE
   notification primitive to the local SUA layer.  At the SUA Layer that
   initiated the request, the SUA layer will send an M-SCTP_RELEASE
   confirm primitive to Layer Management when the association shutdown

Top      Up      ToC       Page 94 
   is complete.   At the peer SUA Layer, an M-SCTP_RELEASE indication
   primitive is sent to Layer Management upon abort or successful
   shutdown of an SCTP association.

   An M-SCTP_STATUS request primitive supports a Layer Management query
   of the local status of a particular SCTP association.  The SUA layer
   simply maps the M-SCTP_STATUS request primitive to an SCTP-STATUS
   primitive to the SCTP layer.  When the SCTP responds, the SUA layer
   maps the association status information to an M-SCTP_STATUS confirm
   primitive.  No peer protocol is invoked.

   Similar LM-to-SUA-to-SCTP and/or SCTP-to-SUA-to-LM primitive mappings
   can be described for the various other SCTP Upper Layer primitives in
   RFC 2960 [2960] such as INITIALIZE, SET PRIMARY, CHANGE HEARTBEAT,
   REQUEST HEARTBEAT, GET SRTT REPORT, SET FAILURE THRESHOLD, SET
   PROTOCOL PARAMETERS, DESTROY SCTP INSTANCE, SEND FAILURE, AND NETWORK
   STATUS CHANGE.  Alternatively, these SCTP Upper Layer primitives (and
   Status as well) can be considered for modeling purposes as a Layer
   Management interaction directly with the SCTP Layer.

   M-NOTIFY indication and M-ERROR indication primitives indicate to
   Layer Management the notification or error information contained in a
   received SUA Notify or Error message respectively.  These indications
   can also be generated based on local SUA events.

   An M-ASP_STATUS request primitive supports a Layer Management query
   of the status of a particular local or remote ASP.  The SUA layer
   responds with the status in an M-ASP_STATUS confirm primitive.  No
   SUA peer protocol is invoked.  An M-AS_STATUS request supports a
   Layer Management query of the status of a particular AS.  The SUA
   responds with an M-AS_STATUS confirm primitive.  No SUA peer protocol
   is invoked.

   M-ASP_UP request, M-ASP_DOWN request, M-ASP_ACTIVE request and M-
   ASP_INACTIVE request primitives allow Layer Management at an ASP to
   initiate state changes.  Upon successful completion, a corresponding
   confirm primitive is provided by the SUA layer to Layer Management.
   If an invocation is unsuccessful, an Error indication primitive is
   provided in the primitive.  These requests result in outgoing ASP Up,
   ASP Down, ASP Active and ASP Inactive messages to the remote SUA peer
   at an SGP or IPSP.

Top      Up      ToC       Page 95 
4.2.1.  Receipt of SUA Peer Management Messages

   Upon successful state changes resulting from reception of ASP Up, ASP
   Down, ASP Active and ASP Inactive messages from a peer SUA, the SUA
   layer MAY invoke corresponding M-ASP_UP, M-ASP_DOWN, M-ASP_ACTIVE and
   M-ASP_INACTIVE, M-AS_ACTIVE, M-AS_INACTIVE, and M-AS_DOWN indication
   primitives to the local Layer Management.

   M-NOTIFY indication and M-ERROR indication primitives indicate to
   Layer Management the notification or error information contained in a
   received SUA Notify or Error message.  These indications can also be
   generated based on local SUA events.

   All non-Transfer and non-SSNM messages, except BEAT and BEAT Ack,
   SHOULD be sent with sequenced delivery to ensure ordering.  All non-
   Transfer messages, with the exception of ASPTM, BEAT and BEAT Ack
   messages SHOULD be sent on SCTP stream '0'.  ASPTM messages MAY be
   sent on one of the streams used to carry data traffic related to the
   Routing Context(s), to minimize possible message loss.  BEAT and BEAT
   Ack messages MAY be sent using out-of-order delivery, and MAY be sent
   on any stream.

4.3.  AS and ASP State Maintenance

   The SUA layer on the SGP maintains the state of each remote ASP, in
   each Application Server that the ASP is configured to receive
   traffic, as input to the SUA message distribution function.
   Similarly, where IPSPs use SUA in a point-to-point fashion, the SUA
   layer in an IPSP maintains the state of remote IPSPs.

   Two IPSP models are defined with regards to the number of messages
   that are needed to a IPSP state change.  They are defined as follows:

   1. IPSP Single Exchange (SE) model.  Only a single exchange of ASPTM
      or ASPSM messages is needed to change the IPSP state. This means
      that a set of request from one end and acknowledge from the other
      will be enough.

   2. IPSP Double Exchange (DE) model.  Both IPSPs have to send request
      messages and both IPSPs have to acknowledge the request messages
      from the other end.  This results in a double exchange of ASPTM
      and ASPSM message, one from each end.  This configuration supports
      dynamic routing key configuration by using RKM messages in the
      same way as ASP-SGP scenario.

   To ensure interoperability, an SUA implementation supporting IPSP
   communication MUST support IPSP SE model and MAY implement IPSP DE
   model.

Top      Up      ToC       Page 96 
   In section 4.3.1: ASP/IPSP States, only the SGP-ASP and the IPSP SE
   scenarios are described.  For the IPSP DE model, both IPSPs MUST
   follow the SGP side of the SGP-ASP procedures.

   In section 4.3.2, only the SGP-ASP scenario is described.  All of the
   procedures referring to an AS served by ASPs are also applicable to
   ASs served by IPSPs.

   In section 4.3.3, only the Management procedures for the SGP-ASP
   scenario are described.  The corresponding Management procedures for
   IPSPs are directly inferred.

   The remaining sections contain specific IPSP Considerations
   subsections.

4.3.1.  ASP States

   The state of each remote ASP/IPSP, in each AS that it is configured
   to operate, is maintained in the peer SUA layer (i.e., in the SGP or
   peer IPSP, respectively).  The state of a particular ASP/IPSP in a
   particular AS changes due to events.  The events include:

   * Reception of messages from the peer SUA layer at the ASP/IPSP;
   * Reception of some messages from the peer SUA layer at other
     ASPs/IPSPs in the AS (e.g., ASP Active message indicating
     "Override");
   * Reception of indications from the SCTP layer; or
   * Local Management intervention.

   The ASP/IPSP state transition diagram is shown in Figure 1.  The
   possible states of an ASP/IPSP are:

   ASP-DOWN: The remote SUA peer at the ASP/IPSP is unavailable and/or
   the related SCTP association is down.  Initially all ASPs/IPSPs will
   be in this state.  An ASP/IPSP in this state SHOULD NOT be sent any
   SUA messages, with the exception of Heartbeat, ASP Down Ack and Error
   messages.

   ASP-INACTIVE: The remote SUA peer at the ASP/IPSP is available (and
   the related SCTP association is up) but application traffic is
   stopped.  In this state the ASP/IPSP SHOULD NOT be sent any DATA or
   SSNM messages for the AS for which the ASP/IPSP is inactive.

   ASP-ACTIVE: The remote SUA peer at the ASP/IPSP is available and
   application traffic is active (for a particular Routing Context or
   set of Routing Contexts).

Top      Up      ToC       Page 97 
   Figure 1: ASP/IPSP State Transition Diagram, per AS

                                      +--------------+
                                      |              |
               +----------------------|  ASP-ACTIVE  |
               |   Other ASP/ +-------|              |
               |   IPSP in AS |       +--------------+
               |   Overrides  |           ^     |
               |              |    ASPAC/ |     | ASPIA/
               |              |[ASPAC-Ack]|     | [ASPIA-Ack]
               |              |           |     v
               |              |       +--------------+
               |              |       |              |
               |              +------>| ASP-INACTIVE |
               |                      |              |
               |                      +--------------+
               |                          ^       |
        ASPDN/ |                          |     | ASPDN /
   [ASPDN-Ack/]|                   ASPUP/ |     | [ASPDN-Ack /]
     SCTP CDI/ |              [ASPUP-Ack] |     | SCTP CDI/
     SCTP RI   |                          |     | SCTP RI
               |                          |     v
               |                      +--------------+
               |                      |              |
               +--------------------->|   ASP-DOWN   |
                                      |              |
                                      +--------------+


   The transitions in brackets are just valid for the IPSP SE model
   communication while the rest are valid for both ASPs and IPSPs.

   SCTP CDI: The SCTP CDI denotes the local SCTP layer's Communication
   Down Indication to the Upper Layer Protocol (SUA) on an SGP.  The
   local SCTP layer will send this indication when it detects the loss
   of connectivity to the ASP's peer SCTP layer.  SCTP CDI is understood
   as either a SHUTDOWN_COMPLETE notification or COMMUNICATION_LOST
   notification from the SCTP layer.

   SCTP RI: The local SCTP layer's Restart indication to the upper layer
   protocol (SUA) on an SG.  The local SCTP will send this indication
   when it detects a restart from the ASP's peer SCTP layer.

4.3.2.  AS States

   The state of the AS is maintained in the SUA layer on the SGP.  The
   state of an AS changes due to events.  These events include:

Top      Up      ToC       Page 98 
      * ASP state transitions
      * Recovery timer triggers

   The possible states of an AS are:

   AS-DOWN:     The Application Server is unavailable.  This state
                implies that all related ASPs are in the ASP-DOWN state
                for this AS.  Initially the AS will be in this state.
                An Application Server is in the AS-DOWN state before it
                can be removed from a configuration.

   AS-INACTIVE: The Application Server is available but no application
                traffic is active (i.e., one or more related ASPs are in
                the ASP-INACTIVE state, but none in the ASP-ACTIVE
                state).  The recovery timer T(r) is not running or has
                expired.

   AS-ACTIVE :  The Application Server is available and application
                traffic is active.  This state implies that at least one
                ASP is in the ASP-ACTIVE state.

   AS-PENDING:  An active ASP has transitioned to ASP-INACTIVE or ASP-
                DOWN and it was the last remaining active ASP in the AS.
                A recovery timer T(r) SHOULD be started and all incoming
                signalling messages SHOULD be queued by the SGP.  If an
                ASP becomes ASP-ACTIVE before T(r) expires, the AS is
                moved to the AS-ACTIVE state and all the queued messages
                will be sent to the ASP.

   If T(r) expires before an ASP becomes ASP-ACTIVE, and the SGP has no
   alternative, the SGP may stop queueing messages and discard all
   previously queued messages.  The AS will move to the AS-INACTIVE
   state if at least one ASP is in ASP-INACTIVE state, otherwise it will
   move to AS-DOWN state.

   Figure 2 shows an example AS state machine for the case where the
   AS/ASP data is provisioned.  For other cases where the AS/ASP
   configuration data is created dynamically, there would be differences
   in the state machine, especially at creation of the AS.

   For example, where the AS/ASP configuration data is not created until
   Registration of the first ASP, the AS-INACTIVE state is entered
   directly upon the first successful REG REQ from an ASP.  Another
   example is where the AS/ASP configuration data is not created until
   the first ASP successfully enters the ASP-ACTIVE state.  In this case
   the AS-ACTIVE state is entered directly.

Top      Up      ToC       Page 99 
                    Figure 2: AS State Transition Diagram

        +----------+   one ASP trans to ACTIVE   +-------------+
        |    AS-   |---------------------------->|     AS-     |
        | INACTIVE |                             |   ACTIVE    |
        |          |<---                         |             |
        +----------+    \                        +-------------+
           ^   |         \ Tr Expiry,                ^    |
           |   |          \ at least one             |    |
           |   |           \ ASP in ASP-INACTIVE     |    |
           |   |            \                        |    |
           |   |             \                       |    |
           |   |              \                      |    |
   one ASP |   | all ASP       \            one ASP  |    | Last ACTIVE
   trans   |   | trans to       \           trans to |    | ASP trans to
   to      |   | ASP-DOWN        -------\   ASP-     |    | ASP-INACTIVE
   ASP-    |   |                         \  ACTIVE   |    | or ASP-DOWN
   INACTIVE|   |                          \          |    | (start Tr)
           |   |                           \         |    |
           |   |                            \        |    |
           |   v                             \       |    v
        +----------+                          \  +-------------+
        |          |                           --|             |
        | AS-DOWN  |                             | AS-PENDING  |
        |          |                             |  (queueing) |
        |          |<----------------------------|             |
        +----------+    Tr Expiry and no ASP     +-------------+
                        in ASP-INACTIVE state

       Tr = Recovery Timer

4.3.2.1.  IPSP Considerations

   The AS state diagram for the AS-SG case is applicable for IPSP
   communication.

4.3.3.  SUA Management Procedures for Primitives

   Before the establishment of an SCTP association the ASP state at both
   the SGP and ASP is assumed to be in the state ASP-DOWN.

   Once the SCTP association is established (see Section 4.2.1) and
   assuming that the local SUA-User is ready, the local SUA ASP
   Maintenance (ASPM) function will initiate the relevant procedures,
   using the ASP Up/ASP Down/ASP Active/ASP Inactive messages to convey
   the ASP state to the SGP (see Section 4.3.4).

Top      Up      ToC       Page 100 
   If the SUA layer subsequently receives an SCTP-COMMUNICATION_DOWN or
   SCTP-RESTART indication primitive from the underlying SCTP layer, it
   will inform the Layer Management by invoking the M-SCTP_STATUS
   indication primitive.  The state of the ASP will be moved to ASP-
   DOWN.

   In the case of SCTP-COMMUNICATION_DOWN, the SCTP client MAY try to
   reestablish the SCTP association.  This MAY be done by the SUA layer
   automatically, or Layer Management MAY reestablish using the M-
   SCTP_ESTABLISH request primitive.

   In the case of an SCTP-RESTART indication at an ASP, the ASP is now
   considered by its SUA peer to be in the ASP-DOWN state.  The ASP, if
   it is to recover, must begin any recovery with the ASP-Up procedure.

4.3.4.  ASPM Procedures for Peer-to-Peer Messages

4.3.4.1.  ASP Up Procedures

   After an ASP has successfully established an SCTP association to an
   SGP, the SGP waits for the ASP to send an ASP Up message, indicating
   that the ASP SUA peer is available.  The ASP is always the initiator
   of the ASP Up message.  This action MAY be initiated at the ASP by an
   M-ASP_UP request primitive from Layer Management or MAY be initiated
   automatically by an SUA management function.

   When an ASP Up message is received at an SGP and internally the
   remote ASP is in the ASP-DOWN state and not considered locked-out for
   local management reasons, the SGP marks the remote ASP in the state
   ASP-INACTIVE and informs Layer Management with an M-ASP_Up indication
   primitive.  If the SGP is aware, via current configuration data,
   which Application Servers the ASP is configured to operate in, the
   SGP updates the ASP state to ASP-INACTIVE in each AS that it is a
   member.

   Alternatively, the SGP may move the ASP into a pool of Inactive ASPs
   available for future configuration within Application Server(s),
   determined in a subsequent Registration Request or ASP Active
   procedure.  If the ASP Up message contains an ASP Identifier, the SGP
   should save the ASP Identifier for that ASP.  The SGP MUST send an
   ASP Up Ack message in response to a received ASP Up message even if
   the ASP is already marked as ASP-INACTIVE at the SGP.

   If for any local reason (e.g., management lock-out) the SGP cannot
   respond with an ASP Up Ack message, the SGP responds to an ASP Up
   message with an Error message with Reason "Refused - Management
   Blocking".

Top      Up      ToC       Page 101 
   At the ASP, the ASP Up Ack message received is not acknowledged.
   Layer Management is informed with an M-ASP_UP confirm primitive.

   When the ASP sends an ASP Up message it starts timer T(ack).  If the
   ASP does not receive a response to an ASP Up message within T(ack),
   the ASP MAY restart T(ack) and resend ASP Up messages until it
   receives an ASP Up Ack message.  T(ack) is provisioned, with a
   default of 2 seconds.  Alternatively, retransmission of ASP Up
   messages MAY be put under control of Layer Management.  In this
   method, expiry of T(ack) results in an M-ASP_UP confirm primitive
   carrying a negative indication.

   The ASP must wait for the ASP Up Ack message before sending any other
   SUA messages (e.g., ASP Active or REG REQ).  If the SGP receives any
   other SUA messages before ASPUP message is received (other than ASPDN
   - see section 4.3.4.2), the SGP SHOULD discard them.

   If an ASP Up message is received and internally the remote ASP is in
   the ASP-ACTIVE state, an ASP Up Ack message is returned, as well as
   an Error message ("Unexpected Message), and the remote ASP state is
   changed to ASP-INACTIVE in all relevant Application Servers.

   If an ASP Up message is received and internally the remote ASP is
   already in the ASP-INACTIVE state, an ASP Up Ack message is returned
   and no further action is taken.

4.3.4.1.1.  SUA Version Control

   If an ASP Up message with an unsupported version is received, the
   receiving end responds with an Error message, indicating the version
   the receiving node supports and notifies Layer Management.

   This is useful when protocol version upgrades are being performed in
   a network.  A node upgraded to a newer version should support the
   older versions used on other nodes it is communicating with.  Because
   ASPs initiate the ASP Up procedure it is assumed that the Error
   message would normally come from the SGP.

4.3.4.1.2.  IPSP Considerations

   An IPSP may be considered in the ASP-INACTIVE state after and ASPUP
   or ASPUP Ack has been received from it.  An IPSP can be considered in
   the ASP-DOWN state after an ASPDN or ASPDN Ack has been received from
   it.  The IPSP may inform Layer Management of the change in state of
   the remote IPSP using M-ASP_UP or M-ASP_DN indication or confirmation
   primitives.

Top      Up      ToC       Page 102 
   Alternatively, when using IPSP DE model, an interchange of ASP Up
   messages from each end MUST be performed.  Four messages are needed
   for completion.

   If for any local reason (e.g., management lock-out) and IPSP cannot
   respond to an ASP Up message with an ASP Up Ack message, it responds
   to an ASP Up message with an Error message with Reason "Refused -
   Management Blocking" and leaves the remote IPSP in the ASP-DOWN
   state.

4.3.4.2.  ASP Down Procedures

   The ASP will send an ASP Down message to an SGP when the ASP wishes
   to be removed from service in all Application Servers that it is a
   member and no longer receive any Connectionless or Connection -
   Oriented, SSNM or ASPTM messages.  This action MAY be initiated at
   the ASP by an M-ASP_DOWN request primitive from Layer Management or
   MAY be initiated automatically by an SUA management function.

   Whether the ASP is permanently removed from any AS is a function of
   configuration management.  In the case where the ASP previously used
   the Registration procedures (see Section 4.4.1) to register within
   Application Servers but has not deregistered from all of them prior
   to sending the ASP Down message, the SGP MUST consider the ASP as
   deregistered in all Application Servers that it is still a member.

   The SGP marks the ASP as ASP-DOWN, informs Layer Management with an
   M-ASP_Down indication primitive, and returns an ASP Down Ack message
   to the ASP.

   The SGP MUST send an ASP Down Ack message in response to a received
   ASP Down message from the ASP even if the ASP is already marked as
   ASP-DOWN at the SGP.

   At the ASP, the ASP Down Ack message received is not acknowledged.
   Layer Management is informed with an M-ASP_DOWN confirm primitive. If
   the ASP receives an ASP Down Ack without having sent an ASP Down
   message, the ASP should now consider itself as in the ASP-DOWN state.
   If the ASP was previously in the ASP-ACTIVE or ASP_INACTIVE state,
   the ASP should then initiate procedures to return itself to its
   previous state.

   When the ASP sends an ASP Down message it starts timer T(ack).  If
   the ASP does not receive a response to an ASP Down message within
   T(ack), the ASP MAY restart T(ack) and resend ASP Down messages until
   it receives an ASP Down Ack message.  T(ack) is provisioned, with a
   default of 2 seconds.  Alternatively, retransmission of ASP Down

Top      Up      ToC       Page 103 
   messages MAY be put under control of Layer Management.  In this
   method, expiry of T(ack) results in an M-ASP_DOWN confirm primitive
   carrying a negative indication.

4.3.4.3.  ASP Active Procedures

   Anytime after the ASP has received an ASP Up Ack message from the SGP
   or IPSP, the ASP MAY send an ASP Active message to the SGP indicating
   that the ASP is ready to start processing traffic.  This action MAY
   be initiated at the ASP by an M-ASP_ACTIVE request primitive from
   Layer Management or MAY be initiated automatically by an SUA
   management function.  In the case where an ASP wishes to process the
   traffic for more than one Application Server across a common SCTP
   association, the ASP Active message(s) SHOULD contain a list of one
   or more Routing Contexts to indicate for which Application Servers
   the ASP Active message applies.  It is not necessary for the ASP to
   include all Routing Contexts of interest in a single ASP Active
   message, thus requesting to become active in all Routing Contexts at
   the same time.  Multiple ASP Active messages MAY be used to activate
   within the Application Servers independently, or in sets.  In the
   case where an ASP Active message does not contain a Routing Context
   parameter, the receiver must know, via configuration data, which
   Application Server(s) the ASP is a member.

   For the Application Servers that the ASP can be successfully
   activated, the SGP or IPSP responds with one or more ASP Active Ack
   messages, including the associated Routing Context(s) and reflecting
   any Traffic Mode Type value present in the related ASP Active
   message.  The Routing Context parameter MUST be included in the ASP
   Active Ack message(s) if the received ASP Active message contained
   any Routing Contexts.  Depending on any Traffic Mode Type request in
   the ASP Active message, or local configuration data if there is no
   request, the SGP moves the ASP to the correct ASP traffic state
   within the associated Application Server(s).  Layer Management is
   informed with an M-ASP_Active indication.  If the SGP or IPSP
   receives any Data messages before an ASP Active message is received,
   the SGP or IPSP MAY discard them.  By sending an ASP Active Ack
   message, the SGP or IPSP is now ready to receive and send traffic for
   the related Routing Context(s).  The ASP SHOULD NOT send Data or SSNM
   messages for the related Routing Context(s) before receiving an ASP
   Active Ack message, or it will risk message loss.

   Multiple ASP Active Ack messages MAY be used in response to an ASP
   Active message containing multiple Routing Contexts, allowing the SGP
   or IPSP to independently acknowledge the ASP Active message for
   different (sets of) Routing Contexts.  The SGP or IPSP MUST send an
   Error message ("Invalid Routing Context") for each Routing Context
   value that cannot be successfully activated.

Top      Up      ToC       Page 104 
   In the case where an "out-of-the-blue" ASP Active message is received
   (i.e., the ASP has not registered with the SG or the SG has no static
   configuration data for the ASP), the message MAY be silently
   discarded.

   The SGP MUST send an ASP Active Ack message in response to a received
   ASP Active message from the ASP, if the ASP is already marked in the
   ASP-ACTIVE state at the SGP.

   At the ASP, the ASP Active Ack message received is not acknowledged.
   Layer Management is informed with an M-ASP_ACTIVE confirm primitive.
   It is possible for the ASP to receive Data message(s) before the ASP
   Active Ack message as the ASP Active Ack and Data messages from an SG
   or IPSP may be sent on different SCTP streams.  Message loss is
   possible, as the ASP does not consider itself in the ASP-ACTIVE state
   until reception of the ASP Active Ack message.

   When the ASP sends an ASP Active message it starts timer T(ack).  If
   the ASP does not receive a response to an ASP Active message within
   T(ack), the ASP MAY restart T(ack) and resend ASP Active messages
   until it receives an ASP Active Ack message.  T(ack) is provisioned,
   with a default of 2 seconds.  Alternatively, retransmission of ASP
   Active messages MAY be put under control of Layer Management.  In
   this method, expiry of T(ack) results in an M-ASP_ACTIVE confirm
   primitive carrying a negative indication.

   There are three modes of Application Server traffic handling in the
   SGP SUA layer: Override, Loadshare and Broadcast.  When included, the
   Traffic Mode Type parameter in the ASP Active message indicates the
   traffic-handling mode to be used in a particular Application Server.
   If the SGP determines that the mode indicated in an ASP Active
   message is unsupported or incompatible with the mode currently
   configured for the AS, the SGP responds with an Error message
   ("Unsupported / Invalid Traffic Handling Mode").  If the traffic-
   handling mode of the Application Server is not already known via
   configuration data, then the traffic-handling mode indicated in the
   first ASP Active message causing the transition of the Application
   Server state to AS-ACTIVE MAY be used to set the mode.

   In the case of an Override mode AS, reception of an ASP Active
   message at an SGP causes the (re)direction of all traffic for the AS
   to the ASP that sent the ASP Active message.  Any previously active
   ASP in the AS is now considered to be in state ASP-INACTIVE and
   SHOULD no longer receive traffic from the SGP within the AS.  The SGP
   or IPSP then MUST send a Notify message ("Alternate ASP Active") to
   the previously active ASP in the AS, and SHOULD stop traffic to/from

Top      Up      ToC       Page 105 
   that ASP.  The ASP receiving this Notify MUST consider itself now in
   the ASP-INACTIVE state, if it is not already aware of this via
   inter-ASP communication with the Overriding ASP.

   In the case of a Loadshare mode AS, reception of an ASP Active
   message at an SGP or IPSP causes the direction of traffic to the ASP
   sending the ASP Active message, in addition to all the other ASPs
   that are currently active in the AS.  The algorithm at the SGP for
   loadsharing traffic within an AS to all the active ASPs is
   implementation dependent.  The algorithm could, for example, be round
   robin or based on information in the Data message (e.g., the SLS or
   SSN).

   An SGP or IPSP, upon reception of an ASP Active message for the first
   ASP in a Loadshare AS, MAY choose not to direct traffic to a newly
   active ASP until it determines that there are sufficient resources to
   handle the expected load (e.g., until there are "n" ASPs in state
   ASP-ACTIVE in the AS).

   All ASPs within a load-sharing mode AS must be able to process any
   Data message received for the AS, to accommodate any potential fail-
   over or rebalancing of the offered load.

   In the case of a Broadcast mode AS, reception of an ASP Active
   message at an SGP or IPSP causes the direction of traffic to the ASP
   sending the ASP Active message, in addition to all the other ASPs
   that are currently active in the AS.  The algorithm at the SGP for
   broadcasting traffic within an AS to all the active ASPs is a simple
   broadcast algorithm, where every message is sent to each of the
   active ASPs.  An SGP or IPSP, upon reception of an ASP Active message
   for the first ASP in a Broadcast AS, MAY choose not to direct traffic
   to a newly active ASP until it determines that there are sufficient
   resources to handle the expected load (e.g., until there are "n" ASPs
   in state ASP-ACTIVE in the AS).

   Whenever an ASP in a Broadcast mode AS becomes ASP-ACTIVE, the SGP
   MUST tag the first DATA message broadcast in each traffic flow with a
   unique Correlation Id parameter.  The purpose of this Correlation Id
   is to permit the newly active ASP to synchronize its processing of
   traffic in each traffic flow with the other ASPs in the broadcast
   group.

Top      Up      ToC       Page 106 
4.3.4.3.1.  IPSP Considerations

   Either of the IPSPs can initiate communication.  When an IPSP
   receives an ASP Active, it should mark the peer as ASP-ACTIVE and
   return an ASP Active Ack message.  An ASP receiving an ASP Active Ack
   message may mark the peer as ASP-Active, if it is not already in the
   ASP-ACTIVE state.

   Alternatively, when using IPSP DE model, an interchange of ASP Active
   messages from each end MUST be performed.  Four messages are needed
   for completion.

4.3.4.4.  ASP Inactive Procedures

   When an ASP wishes to withdraw from receiving traffic within an AS,
   or the ASP wants to initiate the process of deactivation, the ASP
   sends an ASP Inactive message to the SGP or IPSP.

   An ASP Inactive message MUST be always responded by the peer
   (although other messages may be sent in the middle):

   -  If the corresponding RK is registered (statically or dynamically),
      the peer should respond with an ASP Inactive Ack message.

   -  If the RK is not registered, or the RC information is not valid,
      the peer must respond with an ERROR message with Error Code =
      "Invalid Routing Context".

   -  If the RC is missing and its specification is needed according to
      the used configuration, the peer must respond with an ERROR
      message with Error Code = "No Configured AS for ASP".

   The action of sending the ASP Inactive message MAY be initiated at
   the ASP by an M-ASP_INACTIVE request primitive from Layer Management
   or MAY be initiated automatically by an SUA management function.  In
   the case where an ASP is processing the traffic for more than one
   Application Server across a common SCTP association, the ASP Inactive
   message contains one or more Routing Contexts to indicate for which
   Application Servers the ASP Inactive message applies.

   In the case where an ASP Inactive message does not contain a Routing
   Context parameter, the receiver must know, via configuration data,
   which Application Servers the ASP is a member and move the ASP to the
   ASP-INACTIVE state in each all Application Servers.

   In the case of an Override mode AS, where another ASP has already
   taken over the traffic within the AS with an ASP Active ("Override")
   message, the ASP that sends the ASP Inactive message is already

Top      Up      ToC       Page 107 
   considered by the SGP to be in state ASP-INACTIVE.  An ASP Inactive
   Ack message is sent to the ASP, after ensuring that all traffic is
   stopped to the ASP.

   In the case of a Loadshare mode AS, the SGP moves the ASP to the
   ASP-INACTIVE state and the AS traffic is reallocated across the
   remaining ASPs in the state ASP-ACTIVE, as per the loadsharing
   algorithm currently used within the AS.  A Notify message
   ("Insufficient ASP resources active in AS") MAY be sent to all
   inactive ASPs, if required.  An ASP Inactive Ack message is sent to
   the ASP after all traffic is halted and Layer Management is informed
   with an M-ASP_INACTIVE indication primitive.

   In the case of a Broadcast mode AS, the SGP moves the ASP to the
   ASP-INACTIVE state and the AS traffic is broadcast only to the
   remaining ASPs in the state ASP-ACTIVE.  A Notify message
   ("Insufficient ASP resources active in AS") MAY be sent to all
   inactive ASPs, if required.  An ASP Inactive Ack message is sent to
   the ASP after all traffic is halted and Layer Management is informed
   with an M-ASP_INACTIVE indication primitive.

   Multiple ASP Inactive Ack messages MAY be used in response to an ASP
   Inactive message containing multiple Routing Contexts, allowing the
   SGP or IPSP to independently acknowledge for different (sets of)
   Routing Contexts.  The SGP or IPSP sends an Error message ("Invalid
   Routing Context") message for each invalid or not configured Routing
   Context value in a received ASP Inactive message.

   The SGP MUST send an ASP Inactive Ack message in response to a
   received ASP Inactive message from the ASP and the ASP is already
   marked as ASP-INACTIVE at the SGP.

   At the ASP, the ASP Inactive Ack message received is not
   acknowledged.  Layer Management is informed with an M-ASP_INACTIVE
   confirm primitive.  If the ASP receives an ASP Inactive Ack without
   having sent an ASP Inactive message, the ASP should now consider
   itself as in the ASP-INACTIVE state.  If the ASP was previously in
   the ASP-ACTIVE state, the ASP should then initiate procedures to
   return itself to its previous state.  When the ASP sends an ASP
   Inactive message it starts timer T(ack).  If the ASP does not receive
   a response to an ASP Inactive message within T(ack), the ASP MAY
   restart T(ack) and resend ASP Inactive messages  until it receives an
   ASP Inactive Ack message.  T(ack) is provisioned, with a default of 2
   seconds.  Alternatively, retransmission of ASP Inactive messages MAY
   be put under control of Layer Management.  In this method, expiry of
   T(ack) results in a M-ASP_Inactive confirm primitive carrying a
   negative indication.

Top      Up      ToC       Page 108 
   If no other ASPs in the Application Server are in the state ASP-
   ACTIVE, the SGP MUST send a Notify message ("AS-Pending") to all of
   the ASPs in the AS which are in the state ASP-INACTIVE.  The SGP
   SHOULD start buffering the incoming messages for T(r) seconds, after
   which messages MAY be discarded.  T(r) is configurable by the network
   operator.  If the SGP receives an ASP Active message from an ASP in
   the AS before expiry of T(r), the buffered traffic is directed to
   that ASP and the timer is cancelled.  If T(r) expires, the AS is
   moved to the AS-INACTIVE state.

4.3.4.4.1.  IPSP Considerations

   An IPSP may be considered in the ASP-INACTIVE state by a remote IPSP
   after an ASP Inactive or ASP Inactive Ack message has been received
   from it.

   Alternatively, when using IPSP DE model, an interchange of ASP
   Inactive messages from each end MUST be performed.  Four messages are
   needed for completion.

4.3.4.5.  Notify Procedures

   A Notify message reflecting a change in the AS state MUST be sent to
   all ASPs in the AS, except those in the ASP-DOWN state, with
   appropriate Status Information and any ASP Identifier of the failed
   ASP.  At the ASP, Layer Management is informed with an M-NOTIFY
   indication primitive.  The Notify message must be sent whether the AS
   state change was a result of an ASP failure or reception of an ASP
   State management (ASPSM) / ASP Traffic Management (ASPTM) message.
   In the second case, the Notify message MUST be sent after any ASP
   State or Traffic Management related acknowledgement messages  (e.g.,
   ASP Up Ack, ASP Down Ack, ASP Active Ack, or ASP Inactive Ack).

   In the case where a Notify ("AS-PENDING") message is sent by an SGP
   that now has no ASPs active to service the traffic, or where a Notify
   ("Insufficient ASP resources active in AS") message MUST be sent in
   the Loadshare or Broadcast mode, the Notify message does not
   explicitly compel the ASP(s) receiving the message to become active.
   The ASPs remain in control of what (and when) traffic action is
   taken.

   In the case where a Notify message does not contain a Routing Context
   parameter, the receiver must know, via configuration data, of which
   Application Servers the ASP is a member and take the appropriate
   action in each AS.

Top      Up      ToC       Page 109 
4.3.4.5.1.  IPSP Considerations (NTFY)

   Notify works in the same manner as in the SG-AS case.  One of the
   IPSPs can send this message to any remote IPSP that is not in the
   ASP-DOWN state.

4.3.4.6.  Heartbeat Procedures

   The optional Heartbeat procedures MAY be used when operating over
   transport layers that do not have their own heartbeat mechanism for
   detecting loss of the transport association (i.e., other than SCTP).

   Either SUA peer may optionally send Heartbeat messages periodically,
   subject to a provisioned timer T(beat).  Upon receiving a Heartbeat
   message, the SUA peer MUST respond with a Heartbeat Ack message.

   If no Heartbeat Ack message (or any other SUA message) is received
   from the SUA peer within 2*T(beat), the remote SUA peer is considered
   unavailable.  Transmission of Heartbeat messages is stopped and the
   signalling process SHOULD attempt to reestablish communication if it
   is configured as the client for the disconnected SUA peer.

   The Heartbeat message may optionally contain an opaque Heartbeat Data
   parameter that MUST be echoed back unchanged in the related Heartbeat
   Ack message.  The sender, upon examining the contents of the returned
   Heartbeat Ack message, MAY choose to consider the remote SUA peer as
   unavailable.  The contents/format of the Heartbeat Data parameter is
   implementation-dependent and only of local interest to the original
   sender.  The contents may be used, for example, to support a
   Heartbeat sequence algorithm (to detect missing Heartbeats), and/or a
   timestamp mechanism (to evaluate delays).

   Note: Heartbeat related events are not shown in Figure 2 "ASP state
   transition diagram".

4.4.  Routing Key Management Procedures

4.4.1.  Registration

   An ASP MAY dynamically register with an SGP as an ASP within an
   Application Server using the REG REQ message.  A Routing Key
   parameter in the REG REQ message specifies the parameters associated
   with the Routing Key.

   The SGP examines the contents of the received Routing Key parameter
   and compares it with the currently provisioned Routing Keys.  If the
   received Routing Key matches an existing SGP Routing Key entry, and
   the ASP is not currently included in the list of ASPs for the related

Top      Up      ToC       Page 110 
   Application Server, the SGP MAY authorize the ASP to be added to the
   AS.  Or, if the Routing Key does not currently exist and the received
   Routing Key data is valid and unique, an SGP supporting dynamic
   configuration MAY authorize the creation of a new Routing Key and
   related Application Server and add the ASP to the new AS.  In either
   case, the SGP returns a Registration Response message to the ASP,
   containing the same Local-RK-Identifier as provided in the initial
   request, and a Registration Result "Successfully Registered".  A
   unique Routing Context value assigned to the SGP Routing Key is
   included.  The method of Routing Context value assignment at the SGP
   is implementation dependent but must be guaranteed to be unique for
   each Application Server or Routing Key supported by the SGP.  If the
   SGP determines that the received Routing Key data is invalid, or
   contains invalid parameter values, the SGP returns a Registration
   Response message to the ASP, containing a Registration Result "Error
   - Invalid Routing Key", "Error - Invalid DPC", "Error - Invalid
   Network Appearance" as appropriate.

   If the SGP does not support the registration procedure, the SGP
   returns an Error message to the ASP, with an error code of
   "Unsupported Message Type".

   If the SGP determines that a unique Routing Key cannot be created,
   the SGP returns a Registration Response message to the ASP, with a
   Registration Status of "Error - Cannot Support Unique Routing".  An
   incoming signalling message received at an SGP should not match
   against more than one Routing Key.

   If the SGP does not authorize the registration request, the SGP
   returns a REG RSP message to the ASP containing the Registration
   Result "Error - Permission Denied".

   If an SGP determines that a received Routing Key does not currently
   exist and the SGP does not support dynamic configuration, the SGP
   returns a Registration Response message to the ASP, containing a
   Registration Result "Error - Routing Key not Currently Provisioned".

   If an SGP determines that a received Routing Key does not currently
   exist and the SGP supports dynamic configuration but does not have
   the capacity to add new Routing Key and Application Server entries,
   the SGP returns a Registration Response message to the ASP,
   containing a Registration Result "Error - Insufficient Resources".

   If an SGP determines that one or more of the Routing Key parameters
   are not supported for the purpose of creating new Routing Key
   entries, the SGP returns a Registration Response message to the ASP,

Top      Up      ToC       Page 111 
   containing a Registration Result "Error - Unsupported RK parameter
   field".  This result MAY be used if, for example, the SGP does not
   support RK Address parameter.

   A Registration Response "Error - Unsupported Traffic Handling Mode"
   is returned if the Routing Key in the REG REQ contains a Traffic
   Handling Mode that is inconsistent with the presently configured mode
   for the matching Application Server.

   An ASP MAY register multiple Routing Keys at once by including a
   number of Routing Key parameters in a single REG REQ message.  The
   SGP MAY respond to each registration request in a single REG RSP
   message, indicating the success or failure result for each Routing
   Key in a separate Registration Result parameter.  Alternatively the
   SGP MAY respond with multiple REG RSP messages, each with one or more
   Registration Result parameters.  The ASP uses the Local-RK-Identifier
   parameter to correlate the requests with the responses.

   An ASP MAY modify an existing Routing Key by including a Routing
   Context parameter in the REG REQ.  If the SGP determines that the
   Routing Context applies to an existing Routing Key, the SG MAY adjust
   the existing Routing Key to match the new information provided in the
   Routing Key parameter.  A Registration Response "Routing Key Change
   Refused" is returned if the SGP does not accept the modification of
   the Routing Key.

   Upon successful registration of an ASP in an AS, the SGP can now send
   related SS7 Signalling Network Management messaging, if this did not
   previously start upon the ASP transitioning to state ASP-INACTIVE.

4.4.2.  Deregistration

   An ASP MAY dynamically deregister with an SGP as an ASP within an
   Application Server using the DEREG REQ message.  A Routing Context
   parameter in the DEREG REQ message specifies which Routing Keys to
   deregister.  An ASP SHOULD move to the ASP-INACTIVE state for an
   Application Server before attempting to deregister the Routing Key
   (i.e., deregister after receiving an ASP Inactive Ack).  Also, an ASP
   SHOULD deregister from all Application Servers that it is a member
   before attempting to move to the ASP-Down state.

   The SGP examines the contents of the received Routing Context
   parameter and validates that the ASP is currently registered in the
   Application Server(s) related to the included Routing Context(s).  If
   validated, the ASP is deregistered as an ASP in the related
   Application Server.

Top      Up      ToC       Page 112 
   The deregistration procedure does not necessarily imply the deletion
   of Routing Key and Application Server configuration data at the SGP.
   Other ASPs may continue to be associated with the Application Server,
   in which case the Routing Key data SHOULD NOT be deleted.  If a
   Deregistration results in no more ASPs in an Application Server, an
   SGP MAY delete the Routing Key data.

   The SGP acknowledges the deregistration request by returning a DEREG
   RSP message to the requesting ASP.  The result of the deregistration
   is found in the Deregistration Result parameter, indicating success
   or failure with cause.

   An ASP MAY deregister multiple Routing Contexts at once by including
   a number of Routing Contexts in a single DEREG REQ message.  The SGP
   MAY respond to each deregistration request in a single DEREG RSP
   message, indicating the success or failure result for each Routing
   Context in a separate Deregistration Result parameter.

4.4.3.  IPSP Considerations (REG/DEREG)

   The Registration/Deregistration procedures work in the IPSP cases in
   the same way as in AS-SG cases.  An IPSP may register an RK in the
   remote IPSP.  An IPSP is responsible for deregistering the RKs that
   it has registered.

4.5.  Availability and/or Congestion Status of SS7 Destination Support

4.5.1.  At an SGP

   On receiving a N-STATE, N-PCSTATE and N-INFORM indication primitive
   from the nodal interworking function at an SGP, the SGP SUA layer
   will send a corresponding SS7 Signalling Network Management (SNM)
   DUNA, DAVA, SCON, or DUPU message (see Section 3.4) to the SUA peers
   at concerned ASPs.  The SUA layer must fill in various fields of the
   SNM messages consistently with the information received in the
   primitives.

   The SGP SUA layer determines the set of concerned ASPs to be informed
   based on the specific SS7 network for which the primitive indication
   is relevant.  In this way, all ASPs configured to send/receive
   traffic within a particular network appearance are informed.  If the
   SGP operates within a single SS7 network appearance, then all ASPs
   are informed.

   DUNA, DAVA, SCON, and DRST messages are sent sequentially and
   processed at the receiver in the order sent.  SCTP stream 0 SHOULD
   NOT be used.  The Unordered bit in the SCTP DATA chunk MAY be used
   for the SCON message.

Top      Up      ToC       Page 113 
   Sequencing is not required for the DUPU or DAUD messages, which MAY
   be sent unordered.  SCTP stream 0 is used, with optional use of the
   Unordered bit in the SCTP DATA chunk.

4.5.2.  At an ASP

4.5.2.1.  Single SG Configurations

   At an ASP, upon receiving an SS7 Signalling Network Management (SSNM)
   message from the remote SUA Peer, the SUA layer invokes the
   appropriate primitive indications to the resident SUA-Users.  Local
   management is informed.

   In the case where a local event has caused the unavailability or
   congestion status of SS7 destinations, the SUA layer at the ASP
   SHOULD pass up appropriate indications in the primitives to the SUA
   User, as though equivalent SSNM messages were received.  For example,
   the loss of an SCTP association to an SGP may cause the
   unavailability of a set of SS7 destinations.  N-PCSTATE indication
   primitives to the SUA User are appropriate.

   Implementation Note: To accomplish this, the SUA layer at an ASP
   maintains the status of routes via the SG.

4.5.2.2.  Multiple SG Configurations

   At an ASP, upon receiving a Signalling Network Management message
   from the remote SUA Peer, the SUA layer updates the status of the
   affected route(s) via the originating SG and determines, whether or
   not the overall availability or congestion status of the effected
   destination(s) has changed.  If so, the SUA layer invokes the
   appropriate primitive indications to the resident SUA-Users.  Local
   management is informed.

4.5.3.  ASP Auditing

   An ASP may optionally initiate an audit procedure to inquire of an
   SGP the availability and, if the national congestion method with
   multiple congestion levels and message priorities is used, congestion
   status of an SS7 destination or set of destinations.  A Destination
   Audit (DAUD) message is sent from the ASP to the SGP requesting the
   current availability and congestion status of one or more SS7
   destinations or subsystems.

   The DAUD message MAY be sent unordered.  The ASP MAY send the DAUD in
   the following cases:

Top      Up      ToC       Page 114 
   - Periodic.  A Timer originally set upon reception of a DUNA, SCON or
                DRST message has expired without a subsequent DAVA,
                DUNA, SCON or DRST message updating the
                availability/congestion status of the affected
                Destination Point Code.  The Timer is reset upon issuing
                a DAUD.  In this case the DAUD is sent to the SGP that
                originally sent the SSNM message.

   - Isolation. The ASP is newly ASP-ACTIVE or has been isolated from an
                SGP for an extended period.  The ASP MAY request the
                availability/congestion status of one or more SS7
                destinations to which it expects to communicate.

   Implementation Note:

      In the first of the cases above, the auditing procedure must not
      be invoked for the case of a received SCON message containing a
      congestion level value of "no congestion" or undefined" (i.e.,
      congestion Level = "0").  This is because the value indicates
      either congestion abatement or that the ITU MTP3 international
      congestion method is being used.  In the international congestion
      method, the MTP3 layer at the SGP does not maintain the congestion
      status of any destinations and therefore the SGP cannot provide
      any congestion information in response to the DAUD.  For the same
      reason, in the second of the cases above a DAUD message cannot
      reveal any congested destination(s).

   The SGP SHOULD respond to a DAUD message with the availability and
   congestion status of the subsystem.  The status of each SS7
   destination or subsystem requested is indicated in a DUNA message (if
   unavailable), a DAVA message (if available), or a DRST (if restricted
   and the SGP supports this feature).  If the SS7 destination or
   subsystem is available and congested, the SGP responds with an SCON
   message in addition to the DAVA message.  If the SS7 destination or
   subsystem is restricted and congested, the SGP responds with an SCON
   message in addition to the DRST.  If the SGP has no information on
   the availability / congestion status of the SS7 destination or
   subsystem, the SGP responds with a DUNA message, as it has no routing
   information to allow it to route traffic to this destination or
   subsystem.

   An SG MAY refuse to provide the availability or congestion status of
   a destination or subsystem if, for example, the ASP is not authorized
   to know the status of the destination or subsystem.  The SG MAY
   respond with an Error Message (Error Code = "Destination Status
   Unknown") or Error Message (Error Code = "Subsystem Status Unknown").

Top      Up      ToC       Page 115 
4.6.  MTP3 Restart

   In the case where the MTP3 in the SG undergoes an MTP restart, event
   communication SHOULD be handled as follows:

   When the SG discovers SS7 network isolation, the SGPs send an
   indication to all concerned available ASPs (i.e., ASPs in the ASP-
   ACTIVE state) using DUNA messages for the concerned destinations.
   When the SG has completed the MTP Restart procedure, the SUA layer at
   the SGPs inform all concerned ASPs in the ASP-ACTIVE state of any
   available/restricted SS7 destinations using the DAVA/DRST message.
   No message is necessary for those destinations still unavailable
   after the restart procedure.

   When the SUA layer at an ASP receives a DUNA message indicating SS7
   destination unavailability at an SG, SCCP Users will receive an N-
   PCSTATE indication and will stop any affected traffic to this
   destination.  When the SUA receives a DAVA/DRST message, SCCP Users
   will receive an N-PCSTATE indication and can resume traffic to the
   newly available SS7 destination via this SGP, provided the ASP is in
   the ASP-ACTIVE state toward this SGP.

   The ASP MAY choose to audit the availability of unavailable
   destinations by sending DAUD messages.  This would be for example the
   case when an AS becomes active at an ASP and does not have current
   destination statuses.  If MTP restart is in progress at the SG, the
   SGP returns a DUNA message for that destination, even if it received
   an indication that the destination became available or restricted.

4.7.  SCCP - SUA Interworking at the SG

4.7.1.  Segmenting / Reassembly

   When it is expected that signalling messages will not fit into a PDU
   of the most restrictive transport technology used (e.g., 272-SIF of
   MTP3), then segmenting/reassembly could be performed at the SG, ASP
   or IPSP.  If the SG, ASP or IPSP is incapable of performing a
   necessary segmentation/reassembly, it can inform the peer of the
   failure using the appropriate error in a CLDR or RESRE/COERR message.

4.7.2.  Support for Loadsharing

   Within an AS (identified by RK/RC parameters) several loadsharing
   ASPs may be active.

Top      Up      ToC       Page 116 
   However, to assure the correct processing of TCAP transactions or
   SCCP connections, the loadsharing scheme used at the SG must make
   sure that messages continuing or ending the transactions/connections
   arrive at the same ASP where the initial message (TC_Query, TC_Begin,
   CR) was sent to/received from.

   When the ASP can be identified uniquely based on RK parameters (e.g.,
   unique DPC or GT), loadsharing is not required.  When the ASPs in the
   AS share state or use an internal distribution mechanism, the SG must
   only take into account the in-sequence-delivery requirement.  In case
   of SCCP CO traffic, when the coupled approach is used, loadsharing of
   messages other than CR is not required.

   If these assumptions cannot be made, both SG and ASP should support
   the following general procedure in a loadsharing environment.

4.7.2.1.  Association Setup, ASP going active

   After association setup and registration, an ASP normally goes active
   for each AS it registered for.  In the ASPAC message, the ASP
   includes a TID and/or DRN Label Parameter, if applicable for the AS
   in question.  All the ASPs within the AS must specify a unique label
   at a fixed position in the TID or DRN parameter.  The same ASPAC
   message is sent to each SG used for interworking with the SS7
   network.

   The SG builds, per RK, a list of ASPs that have registered for it.
   The SG can now build up and update a distribution table for a certain
   Routing Context, any time the association is (re-)established and the
   ASP goes active.  The SG has to perform some trivial plausibility
   checks on the parameters:

   - Start and End parameters values are between 0 and 31 for TID.
   - Start and End parameters values are between 0 and 23 for DRN
   - 0 < (Start - End + 1) <= 16 (label length maximum 16-bit)
   - Start values are the same for each ASP within a RC
   - End values are the same for each ASP within a RC
   - TID and DRN Label values must be unique across the RC

   If any of these checks fail, the SG refuses the ASPAC request, with
   an error, "Invalid loadsharing label."

Top      Up      ToC       Page 117 
4.7.3.  Routing and message distribution at the SG

4.7.3.1.  TCAP traffic

   Messages not containing a destination (or "responding") TID, i.e.,
   Query, Begin, Unidirectional, are loadshared among the available
   ASPs.  Any scheme permitting a fair load distribution among the ASPs
   is allowed (e.g., round robin).

   When a destination TID is present, the SG extracts the label and
   selects the ASP that corresponds with it.

   If an ASP is not available, the SG may generate (X)UDTS "routing
   failure", if the return option is used.

4.7.3.2.  SCCP Connection Oriented traffic

   Messages not containing a destination reference number (DRN), i.e., a
   Connection Request, MAY be loadshared among the available ASPs.  The
   load distribution mechanism is an implementation issue.  When a DRN
   is present, the SG extracts the label and selects the ASP that
   corresponds with it.  If an ASP is not available, the SG discards the
   message.

4.7.4.  Multiple SGs, SUA Relay Function

   It is important that each ASP send its unique label (within the AS)
   to each SGP.  For a better robustness against association failures,
   the SGs MAY cooperate to provide alternative routes toward an ASP.
   Mechanisms for SG cooperation/coordination are outside of the scope
   of this document.

5.  Examples of SUA Procedures

   The following sequence charts overview the procedures of SUA.  These
   are meant as examples, they do not, in and of themselves, impose
   additional requirements upon an instance of SUA.

5.1.  SG Architecture

   The sequences below outline logical steps for a variety of scenarios
   within a SG architecture.  Please note that these scenarios cover a
   Primary/Backup configuration.  Where there is a load-sharing
   configuration then the SGP can declare availability when 1 ASP issues
   ASPAC but can only declare unavailability when all ASPs have issued
   ASPIA.

Top      Up      ToC       Page 118 
5.1.1.  Establishment of SUA connectivity

   The following is established before traffic can flow.

   Each node is configured (via MIB, for example) with the connections
   that need to be setup.

    ASP-a1            ASP-a2                SG                  SEP
   (Primary)           (Backup)
      |------Establish SCTP Association------|
                         |--Estab. SCTP Ass--|
                                             |--Align SS7 link---|
      +----------------ASP Up---------------->
      <--------------ASP Up Ack--------------+
                         +------ASP Up------->
                         <---ASP Up Ack------+
      +-------------ASP Active--------------->
      <----------ASP Active Ack--------------+
      <----------NTFY (ASP Active)-----------+
                         <-NTFY (ASP Active)-+
                                             +--------SSA-------->
                                             <--------SSA--------+
      <-----------------DAVA-----------------+
      +-----------------CLDT----------------->
                                             +--------UDT-------->

5.1.2.  Fail-over scenarios

   The following sequences address fail-over of SEP and ASP.

5.1.2.1.  SEP Fail-over

   The SEP knows that the SGP is 'concerned' about its availability.
   Similarly, the SGP knows that ASP-a1 is concerned about the SEPs
   availability.

     ASP-a1            ASP-a2                SG                  SEP
   (Primary)           (Backup)
                                              <--------SSP--------+
       <-----------------DUNA-----------------+
       +-----------------DAUD----------------->
                                              +--------SST-------->

Top      Up      ToC       Page 119 
5.1.2.2.  Successful ASP Fail-over scenario

   The following is an example of a successful fail-over scenario, where
   there is a fail-over from ASP-a1 to ASP-a2, i.e., Primary to Backup.
   During the fail-over, the SGP buffers any incoming data messages from
   the SEP, forwarding them when the Backup becomes available.

     ASP-a1            ASP-a2                SG                  SEP
   (Primary)           (Backup)
       +-------------ASP Inactive------------->
       <-----------ASP Inactive ACK-----------+
       <--------------------NTFY (AS Pending)-+
                          <-NTFY (AS Pending)-+
                          +----ASP Active----->
                          <--ASP Active Ack---+
                          <-NTFY (AS Active)--+
       <----------NTFY (AS Active)------------+

5.1.2.3.  Unsuccessful ASP Fail-over scenario

     ASP-a1            ASP-a2                SG                  SEP
   (Primary)           (Backup)
       +-------------ASP Inactive------------->
       <-----------ASP Inactive ACK-----------+
       <--------------------NTFY (AS Pending)-+
                         <--NTFY (AS Pending)-+
             After some time elapses (i.e., timeout).
                                              +--------SSP-------->
                                              <--------SST--------+
       <-------------------NTFY (AS Inactive)-+
                         <-NTFY (AS Inactive)-+

5.2.  IPSP Examples

   The sequences below outline logical steps for a variety of scenarios
   within an IP-IP architecture.  Please note that these scenarios cover
   a Primary/Backup configuration.  Where there is a load-sharing
   configuration then the AS can declare availability when 1 ASP issues
   ASPAC but can only declare unavailability when all ASPs have issued
   ASPIA.

5.2.1.  Establishment of SUA connectivity

   The following shows an example establishment of SUA connectivity. In
   this example, each IPSP consists of an Application Server and two
   ASPs.  The following is established before SUA traffic can flow.  A
   connectionless flow is shown for simplicity.

Top      Up      ToC       Page 120 
   Establish SCTP Connectivity - as per RFC 2960.  Note that SCTP
   connections are bidirectional.  The endpoint that establishes SCTP
   connectivity MUST also establish UA connectivity (see RFC 2960,
   section 5.2.1 for handling collisions) [2960].

   IP SEP A                                                  IP SEP B
   AS A                                                          AS B
   ASP-a1     ASP-a2                                 ASP-b2    ASP-b1

   [All ASPs are in the ASP-DOWN state]

   +-------------------------------ASP Up-------------------------->
   <-----------------------------ASP Up Ack------------------------+

                 +--------------ASP Up--------------->
                 <------------ASP Up Ack-------------+

   +---------------------------ACTIVE------------------------------->
   <-------------------------ACTIVE Ack-----------------------------+

   [Traffic can now flow directly between ASPs]

   +-----------------------------CLDT------------------------------->

5.2.2.  Fail-over scenarios

   The following sequences address fail-over of ASP.

5.2.2.1.  Successful ASP Fail-over scenario

   The following is an example of a successful fail-over scenario, where
   there is a fail-over from ASP-a1 to ASP-a2, i.e., Primary to Backup.
   Since data transfer passes directly between peer ASPs, ASP-b1 is
   notified of the fail-over of ASP-a1 and buffers outgoing data
   messages until ASP-a2 becomes available.

   IP SEP A                                                  IP SEP B
   ASP-a1     ASP-a2                                 ASP-b2    ASP-b1

   +-----------------------------ASP Inact------------------------>
   <---------------------------ASP Inact Ack----------------------+
              <---------------NTFY (ASP-a1 Inactive)--------------+
              +---------------------ASP Act----------------------->
              <-------------------ASP Act Ack---------------------+

Top      Up      ToC       Page 121 
5.2.2.2.  Unsuccessful ASP Fail-over scenario

   The sequence is the same as 5.2.2.1 except that, since the backup
   fails to come in then, the Notify messages declaring the availability
   of the backup are not sent.

6.  Security Considerations

   The security considerations discussed for the 'Security
   Considerations for SIGTRAN Protocols' [3788] document apply to this
   document.

7.  IANA Considerations

7.1.  SCTP Payload Protocol ID

   IANA has assigned a SUA value for the Payload Protocol Identifier in
   the SCTP DATA chunk.  The following SCTP Payload Protocol Identifier
   is registered:

      SUA    "4"

   The SCTP Payload Protocol Identifier value "4" SHOULD be included in
   each SCTP DATA chunk, to indicate that the SCTP is carrying the SUA
   protocol.  The value "0" (unspecified) is also allowed but any other
   values MUST not be used.  This Payload Protocol Identifier is not
   directly used by SCTP but MAY be used by certain network entities to
   identify the type of information being carried in a DATA chunk.

   The User Adaptation peer MAY use the Payload Protocol Identifier, as
   a way of determining additional information about the data being
   presented to it by SCTP.

7.2.  Port Number

   IANA has registered SCTP Port Number 14001 for SUA.  It is
   recommended that SGPs use this SCTP port number for listening for new
   connections.  SGPs MAY also use statically configured SCTP port
   numbers instead.

7.3.  Protocol Extensions

   This protocol may also be extended through IANA in three ways:

   -  Through definition of additional message classes.
   -  Through definition of additional message types.
   -  Through definition of additional message parameters.

Top      Up      ToC       Page 122 
   The definition and use of new message classes, types and parameters
   is an integral part of SIGTRAN adaptation layers.  Thus, these
   extensions are assigned by IANA through an IETF Consensus action as
   defined in [2434].

   The proposed extension MUST in no way adversely affect the general
   working of the protocol.

   A new registry has been created by IANA to allow the protocol to be
   extended.

7.3.1.  IETF Defined Message Classes

   The documentation for a new message class MUST include the following
   information:

   (a) A long and short name for the message class;
   (b) A detailed description of the purpose of the message class.

7.3.2.  IETF Defined Message Types

   Documentation of the message type MUST contain the following
   information:

   (a) A long and short name for the new message type;
   (b) A detailed description of the structure of the message.
   (c) A detailed definition and description of intended use of each
       field within the message.
   (d) A detailed procedural description of the use of the new message
       type within the operation of the protocol.
   (e) A detailed description of error conditions when receiving this
       message type.

   When an implementation receives a message type which it does not
   support, it MUST respond with an Error (ERR) message, with an Error
   Code = Unsupported Message Type.

7.3.4.  IETF-defined TLV Parameter Extension

   Documentation of the message parameter MUST contain the following
   information:

   (a) Name of the parameter type.
   (b) Detailed description of the structure of the parameter field.
       This structure MUST conform to the general type-length-value
       format described earlier in the document.
   (c) Detailed definition of each component of the parameter value.

Top      Up      ToC       Page 123 
   (d) Detailed description of the intended use of this parameter type,
       and an indication of whether and under what circumstances
       multiple instances of this parameter type may be found within the
       same message type.

8.  Timer Values

   Ta                                      2 seconds
   Tr                                      2 seconds
   T(ack)                                  2 seconds
   T(ias)    Inactivity Send timer         7 minutes
   T(iar)    Inactivity Receive timer      15 minutes
   T(beat)   Heartbeat Timer               30 seconds

9.  Acknowledgements

   The authors would like to thank (in alphabetical order) Richard
   Adams, Javier Pastor-Balbas, Andrew Booth, Martin Booyens, F.
   Escobar, S. Furniss Klaus Gradischnig, Miguel A. Garcia, Marja-Liisa
   Hamalainen, Sherry Karl, S. Lorusso, Markus Maanoja, Sandeep Mahajan,
   Ken Morneault, Guy Mousseau, Chirayu Patel, Michael Purcell, W.
   Sully, Michael Tuexen, Al Varney, Tim Vetter, Antonio Villena, Ben
   Wilson, Michael Wright and James Yu for their insightful comments and
   suggestions.



(page 123 continued on part 5)

Next RFC Part