Network Working Group Ken Morneault INTERNET-DRAFT Cisco Systems Malleswar Kalla Telcordia Greg Sidebottom Nortel Networks Expires in six months September 1999 SS7 MTP2-User Adaptation Layer Status of This Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as 'work in progress.' The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. To learn the current status of any Internet-Draft, please check the '1id-abstracts.txt' listing contained in the Internet- Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast), or ftp.isi.edu (US West Coast). Abstract This Internet Draft defines a protocol for backhauling of SS7 MTP2 User signaling messages over IP using the Sigtran Common Transport Protocol (SCTP). This protocol would be used between a Signaling Gateway (SG) and Media Gateway Controller (MGC). It is assumed that the SG receives SS7 signaling over a standard SS7 interface using the SS7 Message Transfer Part (MTP) to provide transport. Morneault, Kalla & Sidebottom [Page 1] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 TABLE OF CONTENTS 1. Introduction..............................................2 1.1 Scope..................................................2 1.2 Terminology............................................3 1.3 Signaling Transport Architecture.......................3 1.4 Services Provide by the M2UA Adaptation Layer..........4 1.5 Function Provided by the M2UA Layer....................6 1.6 Definition of the M2UA Boundaries......................7 2. Protocol Elements.........................................8 2.1 Common Message Header..................................8 2.2 M2UA Message Header....................................9 2.3 M2UA Messages.........................................10 3. Procedures...............................................17 3.1 Procedures to Support Service in Section 1.4.1........17 3.2 Procedures to Support Service in Section 1.4.2........17 3.3 Procedures to Support Service in Section 1.4.3........17 4. Examples of MTP2 User Adaptation (M2UA) Procedures.......21 4.1 Establishment of associations between SG and MGC......21 examples 4.2 MTP Level 2 / MTP Level 3 Boundary Examples...........22 4.3 Layer Management Communication Examples................24 5. Security.................................................24 6. Acknowledgements.........................................24 7. References...............................................24 8. Author's Addresses.......................................25 1. Introduction 1.1 Scope There is a need for SCN signaling protocol delivery from an Signaling Gateway (SG) to a Media Gateway Controller (MGC). The delivery mechanism should meet the following criteria: * Support for MTP Level 2 / MTP Level 3 interface boundary * Support for communication between Layer Management modules on SG and MGC * Support for management of active associations between the SG and MGC In other words, the Signaling Gateway will terminate MTP Level 1 and MTP Leve 2 and will transport MTP Level 3 messages to a Media Gateway Controller (MGC). Morneault, Kalla & Sidebottom [Page 2] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 1.2 Terminology MTP2-User - A protocol that normally uses the services of MTP Level 2 (i.e. MTP3). Interface - For the purposes of this document, an interface is a SS7 signaling link. Association - An association refers to a SCTP association. The association will provide the transport for the delivery of protocol data units for one or more interfaces. Stream - A stream refers to a SCTP stream. For the purposes of this document, a stream will be mapped to a SS7 signaling link, or interface. Backhaul - Refers to the transport of signaling from the point of interface for the associated data stream (i.e., SG function in the MGU) back to the point of call processing (i.e., the MGCU), if this is not local [4]. Application Server Process - A process instance of an Application Server. Up to 3 processes can be defined (Primary, Secondary and Tertiary). Examples of Application Server Processes are primary or backup MGC instances. Application Server Process Path (or just Path) - A Path to a remote Application Server Process instance. A Path maps 1:1 to an SCTP association). Application Server - Groups all the Application Server Processes associated with an application (e.g., primary, secondary, tertiary). Examples of Application Servers are virtual MGCs or IP Databases. Fail-over - The capability to re-route signaling traffic as required between related Application Server Processes in the event of failure or unavailability of the currently used Application Server Process (e.g., from primary MGC to back-up MGC). Fail-over also applies upon the return to service of a previously unavailable Process. Signaling Link Terminal (SLT) - Refers to the means of performing all of the functions defined at MTP level 2 regardless of their implementation [2]. 1.3 Signaling Transport Architecture The architecture that has been defined for SCN signaling transport over IP uses multiple components, including an IP transport protocol, a signaling common transport protocol (SCTP) and an adaptation module to support the functions expected by a particular SCN signaling protocol from its underlying protocol layer. Morneault, Kalla & Sidebottom [Page 3] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 In reference to the SIGTRAN framework architecture [4], this document defines a SCN adaptation module that is suitable for the transport of SS7 MTP2 User. The only SS7 MTP2 User is MTP3. In a Signaling Gateway, it is expected that the SS7 signaling is received over a standard SS7 network termination, using the SS7 Message Transfer Part (MTP) to provide transport of SS7 signaling messages to and from an SS7 Signaling End Point (SEP) or SS7 Signaling Transfer Point (STP). In other words, the SG acts as a Signaling Link Terminal (SLT) [2]. The SG then provides interworking of transport functions with IP Signaling Transport, in order to transport the MTP3 signaling messages to the MGC where the peer MTP3 protocol layer exists, as shown below: ****** SS7 ****** IP ******* *SEP *-----------* SG *-------------* MGC * ****** ****** ******* +----+ |S7UP| +----+ +----+ |MTP | |S7UP| |L3 | +----+ +----+----+ +----+ |MTP | |MTP |M2UA| |M2UA| |L3 | | +----+ +----+ |L2 | |L2 |SCTP| |SCTP| |L1 | |L1 +----+ +----+ | | | |UDP | |UDP | +----+ +---------+ +----+ SEP - SS7 Signaling Endpoint UDP - User Datagram Protocol SCTP - Signaling Common Transport Protocol (Refer to Reference [5]) Figure 1: Note: STPs may be present in the SS7 path between the SEP and the SG. 1.3.1 UDP port A request will be made to IANA to assign a UDP port for M2UA. 1.4 Services Provided by the M2UA Adaptation Layer The SS7 MTP3/MTP2(MTP2-User) interface is retained at the termination point in the IP network, so that the M2UA protocol layer is required to provide the equivalent set of services to its users as provided by the MTP Level 2 to MTP Level 3. Morneault, Kalla & Sidebottom [Page 4] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 This includes the following services: 1.4.1 Support for MTP Level 2 / MTP Level 3 interface boundary Also provision is made for protocol elements that enable a seamless, or as seamless as possible, operation of the MTP2-User peers in the SS7 and IP domains. This includes Data Provides the ability to transport MTP2 User information (in this case, MTP Level 3 PDUs). Link Establish Provides the ability to request MTP Level 2 to bring SS7 links in-service. Link Release Provides the ability to request MTP Level 2 to take SS7 links out-of- service. Also, provides mechanism for MTP2 to autonomously indicate that SS7 link(s) have gone out-of-service. Link State Provides the ability to request state change or information on a per link basis. Some examples would be the forcing of Local Processor Outage or flushing buffers. Link Status Provides a means for asychronous notification of link state changes to be reported to the upper layer (MTP Level 3). An examples would be the reporting of remote processor outage event. Data Retrieval Provides a mechanism to perform SS7 link changeover procedure in the case of a SS7 link failure. 1.4.2 Support for communication between Layer Management modules on SG and MGC It is envisioned that the M2UA layer needs to provide some messages that will facilitate communication between Layer Management modules on the SG and MGC. To facilitate reporting of errors that arise because of backhauling MTP Level 3 scenario, the following primitive is defined: Morneault, Kalla & Sidebottom [Page 5] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 M-ERROR The M-ERROR message is used to indicate an error with a received M2UA message (e.g., interface identifier value is not known to the SG). 1.4.3 Support for management of active associations between SG and MGC The M2UA layer on the SG keeps the state of various ASPs it is associated with. A set of primitives between M2UA layer and the Layer Management are defined below to help the Layer Management manage the association(s) between the SG and the MGC. M-SCTP ESTABLISH The M-SCTP ESTABLISH primitive is used to request, indicate and confirm the establishment of SCTP association to a peer M2UA node. The M2UA layer may also need to inform the status of the SCTP association(s) to the Layer Management. This can be achieved using the following primitive. M-SCTP STATUS The M-SCTP STATUS primitive is used to request and indicate the status of underlying SCTP association(s). The Layer Management may need to inform the M2UA layer of a user status (i.e., failure, active, etc.), so that messages can be exchanged between M2UA layer peers to stop traffic to the local M2UA user. This can be achieved using the following primitive. M-ASP STATUS The M-ASP STATUS primitive is used by the Layer Management to indicate the status of the local M2UA user to the M2UA layer. 1.5 Functions Provided by the M2UA Layer 1.5.1 Mapping The M2UA layer must maintain a map of a Interface ID to a physical interface on the Signaling Gateway. A physical interface would be a V.35 line, T1 line/timeslot, E1 line/timeslot, etc. The M2UA layer must also maintain a map of Interface ID to SCTP association and to a stream within the association. Morneault, Kalla & Sidebottom [Page 6] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 1.5.2 Status of ASPs The M2UA layer on the Signaling Gateway must maintain the state of one or more Application Server Process(es) it is associated with. The state of an ASP changes because of reception of peer-to-peer messages or reception of indications from the local SCTP association. ASP state transition procedures are described in Section Section 3.3. 1.5.3 Flow Control / Congestion It is possible for the M2UA layer to be informed of IP network congestion by means of an implementation-dependent function (i.e. an indication from the SCTP). If the M2UA layer receives this indication, the action(s) taken are implementation dependent. 1.5.4 SCTP Stream Management SCTP allows user specified number of streams to be opened during the initialization. It is the responsibility of the M2UA layer to ensure proper management of these streams. SCTP streams provide a means for avoiding head of line blocking. For that reason, a stream will be used per SS7 signaling link terminated by the Signaling Gateway. The SS7 signaling link is identified by the Interface Identifier in the message header (refer to Section 2.3). 1.5.5 Seamless SS7 Network Management Interworking If the SG loses the SCTP association to the MGC, it should follow MTP 2 processor outage procedures [2]. 1.5.6 Management Inhibit/Uninhibit Local Management may wish to stop traffic across an SCTP association in order to temporarily remove the association from service or to perform testing and maintenance activity. The function could optionally be used to manage the start of traffic on to a newly-available SCTP association. 1.6 Definition of the M2UA Boundaries 1.6.1 Definition of the M2UA / MTP Level 3 boundary DATA ESTABLISH RELEASE STATE STATUS RETRIEVAL DATA RETRIEVAL DATA RETRIEVAL COMPLETE Morneault, Kalla & Sidebottom [Page 7] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 1.6.2 Definition of the M2UA / MTP Level 2 boundary DATA ESTABLISH RELEASE STATE STATUS RETRIEVAL DATA RETRIEVAL DATA RETRIEVAL COMPLETE 1.6.3 Definition of the Lower Layer Boundary between M2UA and SCTP The upper layer and layer management primitives provided by SCTP are provided in Reference [6] Section 9. 1.6.4 Definition of Layer Management / M2UA Boundary M-ERROR M-SCTP ESTABLISH M-SCTP STATUS M-ASP STATUS 2.0 Protocol Elements This section describes the format of various messages used in this protocol. 2.1 Common Message Header The protocol messages for MTP2 User Adaptation require a message header structure which contains a version, message type and message length. This message header is common among all SCN adaptation layers. 0 7 8 15 16 31 +---------------+---------------+ | Vers | Spare | Msg Type | +---------------+---------------+ | Message Length | +-------------------------------+ Figure 2 Common Message Header 2.1.1 Version The version field (vers) contains the version of the M2UA adapation layer. The supported versions are: 01 Release 1.0 of M2UA adaptation protocol Morneault, Kalla & Sidebottom [Page 8] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 2.1.2 Message Type The valid message types are defined in Section 2.2.2 and the message contents are described in Section 2.3. Each message can contain parameters. The following list contains the message types for the defined messages. MTP2 User Adaptatation (MAUP) Messages Data Request 0601 Data Indication 0602 Establish Request 0603 Establish Confirm 0604 Release Request 0605 Release Confirm 0606 Release Indication 0607 State Request 0608 State Confirm 0609 State Indication 060a Data Retrieval Request 060b Data Retrieval Confirm 060c Data Retrieval Indication 060d Data Retrieval Complete Indication 060e Application Server Process Maintenance (ASPM) Messages ASP Up (ASPUP) 0301 ASP Down (ASPDN) 0302 ASP Active (ASPAC) 0401 ASP Inactive (ASPIA) 0402 Management (MGMT) Messages Error 0001 2.1.3 Message Length The Message length defines the length of the message in octets, not including the header. 2.2 M2UA Message Header In addition to the common message header, there will be a M2UA specific message header. The M2UA specific message header will immediately follow the common message header, but will only be used with MAUP and MGMT messages. This message header will contain the Interface Identifier. The Interface Identifier identifies the physical interface at the SG for which the signaling messages are sent/received. The interface identifier follows Morneault, Kalla & Sidebottom [Page 9] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 the same endpoint naming scheme provided in MGCP [7]. For example, if a Signaling Gateway terminates a E1 and the SS7 signaling link is one timeslot 16, the interface identifier could be the following: e1/16@sgw1.example.net The use of wildcards is not acceptable. Note: The Interface Identifier string should be padded to 32-bit boundaries. The length field indicates the end of the string. 0 15 16 31 +---------------+---------------+ | Tag (0x1) | Length | +-------------------------------+ | Interface Identifier | +-------------------------------+ Figure 3 M2UA Message Header The Tag value for Interface Identifier is 0x1. The length provides the length of the Interface Identifier string in bytes. 2.3 M2UA Messages The following section defines the messages and parameter contents. The M2UA messages will use the command header and the M2UA specific header. 2.3.1 MTP2 User Adaptation Messages 2.3.1.1 Data (Request, Indication) The Data message contains an SS7 MTP2-User Protocol Data Unit (PDU). The Data message contains the protocol data. The format for the Data Message parameters is as follows: 0 15 16 31 +-------------------------------+ ... | Protocol Data | ... +---------------+---------------+ The Protocol Data field contains the MTP2-User application message. Morneault, Kalla & Sidebottom [Page 10] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 2.3.1.2 Establish (Request, Confirmation) The Establish Request message is used to establish the channel or to indicate that the channel has been established. Note that the gateway may already have the channel established at its layer. If so, upon receipt of an Establish Request, the gateway takes no action except to send an Establish Confirm. 0 15 16 31 +---------------+---------------+ | State | +---------------+---------------+ The valid values for State are shown in the following table. Define Value Description ESTABLISH_NORMAL 0x0 Follow normal procedure for establishing a SS7 link ESTABLISH_EMERGENCY 0x1 Follow emergency procedure for establishing a SS7 link 2.3.1.3 Release (Request, Indication, Confirmation) This Release Request message is used to release the channel. The Release Confirm and Indication messages are used to indicate that the channel has been released. 0 15 16 31 +---------------+---------------+ | Reason | +---------------+---------------+ The valid values for Reason are shown in the following table. Define Value Description RELEASE_MGMT 0x0 Management layer generated release. RELEASE_PHYS 0x1 Physical layer alarm generated release. RELEASE_SIOS 0x2 Receipt of SIOS RELEASE_OTHER 0x3 Other reason SS7 link out-of-service (should we keep it simple, or provide list of reasons that would enable debugging) 2.3.1.4 State (Request, Confirm) The State Request message can be sent from a MGC to cause an action on a particular SS7 link supported by the Signaling Gateway. The gateway sends a State Confirm to the MGC if the action has been successfully completed. The State Confirm reflects that state value received in the State Request message. Morneault, Kalla & Sidebottom [Page 11] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 0 15 16 31 +---------------+---------------+ | State | +---------------+---------------+ The valid values for State are shown in the following table. Define Value Description STATUS_LOC_PROC_SET 0x0 Request local processor outage. STATUS_LOC_PROC_CLEAR 0x1 Request local processor outage recovered. STATUS_EMER_SET 0x2 Request emergency alignment procedure. STATUS_EMER_CLEAR 0x3 Request normal alignment (cancel emergency) procedure. STATUS_FLUSH_BUFFERS 0x4 Flush transmit and retransmit buffers. STATUS_CONTINUE 0x5 Continue. 2.3.1.5 State Indication The MTP2 State Indication message can be sent from a gateway to a call agent to indicate a condition on a channel. 0 15 16 31 +---------------+---------------+ | State | +---------------+---------------+ The valid values for State are shown in the following table. Define Value Description EVENT_ENTER_LPO 0x0 Entered local processor outage. EVENT_EXIT_LPO 0x1 Exited local processor outage. EVENT_ENTER_CONG 0x2 Entered a congested state. EVENT_EXIT_CONG 0x3 Exited a congested state. EVENT_PHYS_UP 0x4 Physical interface up. EVENT_PHYS_DOWN 0x5 Physical interface down. EVENT_PROTOCOL_ERR 0x6 Protocol error occurred. EVENT_REM_ENTER_CONG 0xc Remote entered congestion. EVENT_REM_EXIT_CONG 0xd Remote exited congestion. EVENT_REM_ENTER_PO 0xe Remote entered processor outage. EVENT_REM_EXIT_PO 0xf Remote exited processor outage. 2.3.1.6 Retrieval (Request, Confirm) The MTP2 Retrieval Request message is used during the MTP Level 3 changeover procedure to request the BSN, to retrieve PDUs from the retransmit queue or to flush PDUs from the retransmit queue. Morneault, Kalla & Sidebottom [Page 12] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 0 15 16 31 +---------------+---------------+ | Action | +---------------+---------------+ | fsn_bsn | +---------------+---------------+ The valid values for Action are shown in the following table. Define Value Description ACTION_RTRV_BSN 0x1 Retrieve the backward sequence number. ACTION_RTRV_MSGS 0x2 Retrieve the PDUs from the retransmit queue. ACTION_DROP_MSGS 0x3 Drop the PDUs in the retransmit queue. In the Retrieval Request message, the fsn_bsn field contains the FSN of the far end if the action is ACTION_RTRV_MSGS. When the Signaling Gateway sends a Retrieval Confirm to this request, it echos the action and puts the BSN in the fsn_bsn field if the action was ACTION_RTRV_BSN. 2.3.1.7 Retrieval Indication The Retrieval Indication message is sent by the Signaling Gateway with a PDU from the retransmit queue. The Retrieval Indication message does not contain the Action or fsn_bsn fields, just a PDU from the retransmit queue. 0 15 16 31 +---------------+---------------+ | | . PDU from retransmit . . queue . | | +---------------+---------------+ 2.3.1.8 Retrieval Complete Indication The MTP2 Retrieval Complete Indication message is exactly the same as the MTP2 Retrieval Indication message except that it also indicates that it contains the last PDU from the retransmit queue. 2.3.2 Application Server Process Maintenance (ASPM) Messages The ASPM messages will only use the common header. 2.3.2.1 ASP UP (ASPUP) Morneault, Kalla & Sidebottom [Page 13] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 The ASPUP message is used to indicate to a remote M2UA peer that the layer is ready to receive traffic or maintenance messages. The ASPUP message contains the following parameters: Adaptation Layer Identifer (optional) SCN Protocol Identifier (optional) The Adaptation Layer Identifier is a string that identifies the adaptation layer. This string must be set to "M2UA" which means the length will be 4. The Protocol Identifier field contains the identity of the specific SCN signaling protocol being transported. The Protocol ID defines the protocol type, variant, and version, and thereby specifies the components and encoding of the PROTOCOL DATA field. The Protocol Identifier also defines what SCN protocol message components are included in the PROTOCOL DATA. (Ed. Note: Need encoding of mime-type value or OID or fixed string/integer that will be administered outside of this document (IANA). Also, perhaps bring in text from Christian's mime document - See "draft-ietf-sigtran-mime-isup.txt" for an example of an application/ISUP media type defined according to the rules defined in RFC 2048.?) The format for the ASPUP message is as follows: 0 15 16 31 +---------------+---------------+ | Tag (0x2) | Length | +---------------+---------------+ | Adaptation Layer Identifier | +---------------+---------------+ | Tag (0x3) | Length | +---------------+---------------+ | Protocol Identifier | +---------------+---------------+ | Tag (0x4) | Length | +---------------+---------------+ | INFO String | +---------------+---------------+ Note: Strings are padded to 32-bit boundaries. The length field indicates the end of the string. Morneault, Kalla & Sidebottom [Page 14] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 2.3.2.2 ASP Down (ASPDN) The ASPDN message is used to indicate to a remote M2UA peer that the layer is not ready to receive traffic or maintenance messages. The ASPDN message contains the following parameters: INFO String The format for the ASPDN message is as follows: 0 15 16 31 +---------------+---------------+ | Tag (0x4) | Length | +---------------+---------------+ | INFO String | +---------------+---------------+ ##### We discussed adding a reason code. Reason could be failure or management inhibit. ##### 2.3.2.3 ASP Active (ASPAC) The ASPAC message is sent by an ASP to indicate to an SG that it is the active ASP to be used from within a list of primary and back-up ASPs for a particular signaling mapping relationship. The ASPAC message contains the following parameters: INFO String The format for the ASPAC message is as follows: 0 15 16 31 +---------------+---------------+ | Tag (0x4) | Length | +---------------+---------------+ | INFO String | +---------------+---------------+ Morneault, Kalla & Sidebottom [Page 15] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 2.3.2.4 ASP Inactive (ASPIA) The ASPIA message is sent by an ASP to indicate to an SG that it is no longer the the active ASP to be used from within a list of primary and back-up ASP for a particular signaling mapping relationship. The SG will respond with an ASPIA message and either buffer or discard incoming messages for a timed period and then discard. The ASPIA message contains the following parameters: INFO String The format for the ASPIA message is as follows: 0 15 16 31 +---------------+---------------+ | Tag (0x4) | Length | +---------------+---------------+ | INFO String | +---------------+---------------+ 2.3.3 Layer Management (MGMT) Messages 2.3.3.1 Error (ERR) The ERR message is sent when an invalid value is found in an incoming messages. The ERR message contains the following parameters: Error Code The format for the ERR message is as follows: 0 7 8 15 16 31 +---------------+---------------+ | Error Code | +---------------+---------------+ The Error Code can be one of the following values: Invalid Version 0x1 Invalid Interface Identifier 0x2 Invalid SCN Version 0x3 Invalid Adaptation Layer Identifier 0x4 Invalid Stream Identifier 0x5 Invalid Message Type 0x6 Morneault, Kalla & Sidebottom [Page 16] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 3.0 Procedures The M2UA layers needs to respond to various primitives it receives from other layers as well as messages it receives from the peer-to-peer messages. This section describes various procedures involved in response to these events. 3.1 Procedures to Support Service in Section 1.4.1 These procedures achieve the M2UA layer's "Transport of MTP Level 2 / MTP Level 3 boundary" service. 3.1.1 MTP Level 2 / MTP Level 3 Boundary Procedures On receiving a primitives from the local layer, the M2UA layer will send the corresponding MAUP message (see Section 2) to its peer. The M2UA layer must fill in various fields of the common and specific headers correctly. In addition the message needs to be sent on the SCTP stream that corresponds to the SS7 link. 3.1.2 MAUP Message Procedures On receiving MAUP messages from a peer M2UA layer, the M2UA layer on an SG or MGC needs to invoke the corresponding layer primitives to the local MTP Level 2 or MTP Level 3 layer. 3.2 Procedures to Support Service in Section 1.4.2 3.2.1 LM primitives procedures On receiving these primitives from the local layer, the M2UA layer will send the corresponding LM message (Error) to its peer. The M2UA layer must fill in the various fields of the common and specific headers correctly. 3.2.2 LM message procedures Upon receipt of LM messages the M2UA layer must invoke the corresponding Layer Management primitives (M-ERROR) to the local layer management. 3.3 Procedures to Support Service in Section 1.4.3 These procedures achieve the M2UA layer's "Support for management of active associations between SG and MGC" service. 3.3.1 AS and ASP State The state of the each ASP is maintained in the M2UA layer on the SG. The state of an ASP changes due to events. The events include: * Reception messages from peer M2UA layer * Reception of indications from layers below Morneault, Kalla & Sidebottom [Page 17] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 The ASP state transition diagram is shown in Figure 4. The possible states of an ASP are: ASP-DOWN: Application Server Process is unavailable. Initially all ASPs are in this state. ASP-UP: Application Server Process is available but application traffic is stopped. ASP-ACTIVE: Application Server Process is available and application traffic is active. At most one ASP per AS can be in the active state. +-------------+ |-------->| | | | ASP-ACTIVE | | | | | | | | +-------------+ | ^ | | ASP | | ASP | Active | | Inactive | | v | +-------------+ | | | ASP Down / | | | SCTP CDI | | ASP-UP | | | | | | | | +-------------+ | ^ | | ASP | | ASP Down / | Up | | SCTP CDI | | v | +-------------+ | | | |-------->| | | ASP-DOWN | | | | | +-------------+ SCTP CDI: Local SCTP layer's Communication Down Indication to the Upper Layer Protocol (M2UA) on an SG. SCTP will send this indication when it detects the loss of connectivity to ASP's SCTP layer. Figure 4: ASP State Transition Diagram The possible states of an AS are: Morneault, Kalla & Sidebottom [Page 18] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 AS-DOWN: Application Server is unavailable. This state implies that all ASPs are in the ASP-DOWN state for this AS. AS-UP: One or more ASPs are in the ASP-UP state. AS-ACTIVE: Application Server is available and application traffic is active. This state implies that one ASP is in the ASP-ACTIVE state. AS-PENDING: Currently Active ASP became inactive or SCTP association with it is lost. A Recovery timer will be started and in coming SCN messages will be queuedby the SG. If an ASP becomes Active before the recovery timer expires, AS will move to AS-ACTIVE state and all the queued messages will be sent to the active ASP. If the recovery timer expires before an ASP becomes active, SG stops queuing messages and discards all queued messages. AS will move to AS-UP if at least one ASP is in ASP-UP state, otherwise it will move to AS-DOWN state. Note: If AS moves from AS-PENDING state to AS-UP or AS-DOWN states, the Layer Management on MG may take appropriate SCN notification actions. +----------+ one ASP trans ACTIVE +-------------+ | |------------------------>| | | AS-UP | | AS-ACTIVE | | | | | | |< -| | +----------+ \ / +-------------+ ^ | \ Tr Trigger / ^ | | | \ at least one / | | | | \ ASP in UP / | | | | \ / | | | | \ / | | | | \ /---/ | | one ASP | | \ / one ASP | | ACTIVE ASP trans | | all ASP \-/----\ trans | | trans to UP or to UP | | trans to / \ ACTIVE | | ACTIVE ASP | | DOWN / \ | | SCTP CDI | | / \ | | | | / \ | | | | /all ASP \ | | | v / trans to \ | v +----------+ / DOWN \ +-------------+ | |<--/ -| | | AS-DOWN | | AS-PENDING | | | | (queueing) | | |<------------------------| | +----------+ Tr Trigger no ASP +-------------+ in UP state or prev ACTIVE ASP trans to DOWN state Tr = Recovery Timer Figure 5: AS State Transition Diagram Morneault, Kalla & Sidebottom [Page 19] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 3.3.2 ASP UP 3.3.2.1 SG Operation The SG will mark the path as up if an explicit ASP UP (ASPUP) message is received and internally the path is allowed to come up (i.e., not in a locked local maintenance state). An ASP UP (ASPUP) message will be sent to acknowledge the received ASPUP. The SG will respond to a ASPUP with a ASPDN message if the path is in a locked maintenance state. The SG will send a ASPUP message in response to a received ASPUP message from the MGC even if that path was already marked as UP at the SG. The paths are controlled by the MGC. The SG will only send ASPUP in response to the reception of a ASPUP message. 3.3.2.2 MGC Operation The MGC will send ASPUP messages every 2 (add text regarding this being a configurable timer) seconds until the path comes up (i.e. until it receives a ASPUP message from the SG for that path). The MGC may decide to reduce the frequency (say to every 5 seconds) if the an acknowledge- ment is not received after a few tries. The MGC should wait for the ASPUP message from the SG before transmitting ASP maintenance messages (ASPIA or ASPAC) or M2UA messages or it will risk message loss. The ASPUP message received from the SG is not acknowledged by the MGC. 3.3.3 ASP Down 3.3.3.1 SG Operation The SG will mark the ASP as down and send a ASPDN message to the MGC if one of the following events occur: - a ASP Down(ASPDN) message is received from the MGC, - the ASP is locked by local maintenance. The SG will also send a ASPDN message when the ASP is already down and a ASPDN) message is received from the MGC. 3.3.3.2 MGC Operation The MGC will send ASPDN whenever it wants to take down a ASP. Since the ASPDN messages to the SG or the ASPDN responses from the SG can be lost (for example, during a MGC node failover), the MGC can send ASPDN messages every 2 seconds until the path comes down (i.e. until it receives a ASPDN message from the SG for that path). Morneault, Kalla & Sidebottom [Page 20] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 3.3.4 ASP Version Control If a ASP Up message with an unknown version is received, the receiving end will respond with an Error message. This will indicate to the sender which version the receiving node supports. This is useful when protocol version upgrades are being performed. A node with the newer version should support the older versions used on other nodes it is communicating with. The version field in the Error message header associated with the will indicate the version supported by the node. 3.3.5 ASP Inactive When a ASPIA message is received, message transmission to that ASP ceases. The SG will either discard all incoming messages or start buffering the incoming messages for N seconds after which messages will be discarded. If the ASP is down, all of the Paths that were supported by that ASP are, by default, down. 3.3.6 ASP Active When a ASP Active (ASPAC) message is received, the SG will start routing to that ASP. Reception of a ASPAC message overrides any previous ASPAC messages and results in the ASP associated with the ASPAC message to become the newly active ASP. 4.0 Examples of MTP2 User Adaptation (M2UA) Procedures 4.1 Establishment of associations between SG and MGC examples An example of the message flows for establishing active associations between SG and MGC is shown below. SG ASP1 <----------- ASP Up ASP Up ----------> (ACK) <----------- ASP Active ASP Active ----------> (ACK) Morneault, Kalla & Sidebottom [Page 21] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 An example of message flows for establishment of associations with two ASPs and the message flows for take-over of the primary (ASP1) by the secondary (ASP2). SG ASP1 ASP2 <----------- ASP Up ASP Up ----------> (ACK) <------------------------------ ASP Up ASP Up ------------------------------> (ACK) <----------- ASP Active ASP Active ----------> (ACK) ... <----------- ASP Inactive ASP Inactive ----------> (ACK) (this message is optional) ASP Inactive ------------------------------> <------------------------------ ASP Active ASP Active ------------------------------> (ACK) 4.2 MTP Level 2 / MTP Level 3 Boundary Examples 4.2.1 SS7 Link Alignment The MGC can request that a SS7 link be brought into alignment using the normal or emergency procedure. An example of the message flow to bring a SS7 link in-service using the normal alignment procedure is shown below. SG MGC <----------- Establish Request (ESTABLISH_START) Establish Response ----------> An example of the message flow to bring a SS7 link in-service using the emergency alignment procedure. SG MGC <----------- Establish Request (ESTABLISH_EMER) Establish Response ----------> Morneault, Kalla & Sidebottom [Page 22] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 4.2.2 SS7 Link Release The MGC can request that a SS7 link be taken out-of-service. It uses the Release Request message as shown below. SG MGC <------------ Release Request (RELEASE_MGMT) Release Response ------------> The SG can autonomously indicate that a SS7 link has gone out-of-service as shown below. SG MGC Release Indication ------------> (RELEASE_PHYS) 4.2.3 Set and Clear Local Processor Outage to be added 4.2.4 Notification of Processor Outage (local or remote) to be added 4.2.5 Flush Buffers or Continue to be added 4.2.6 SS7 Link Changeover An example of the message flow for a changeover is shown below. SG MGC <---------- Retrieval Request (MTP2_RTRV_BSN) Retrieval Confirm ----------> (with BSN) <---------- Retrieval Request (MTP2_RTRV_MSGS with FSN) Retrieval Confirm ----------> Retrieval Ind -----------> Retrieval Ind -----------> Rtrvl Complete Ind ----------> Note: The number of Retrieval Indication is dependent on the number of messages in the retransmit queue that have been requested. Only one Retrieval Complete Indication should be sent. Morneault, Kalla & Sidebottom [Page 23] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 4.3 Layer Management Communication Examples An example of the message flows for communication between Layer Manage- ment modules between SG and MGC is shown below. An active association between MGC and SG is established (section 4.1) prior to the following message flows. SG MGC <----------- Establish Request Error ----------> (Invalid Interface Id) 5.0 Security SCN adaptation layers rely on SCTP to provide security. 6.0 Acknowledgements The authors would like to thank commenters for their valuable comments and suggestions. 7.0 References [1] ITU-T Recommendation Q.700, 'Introduction To ITU-T Signalling System No. 7 (SS7)' [2] ITU-T Recommendation Q.701-Q.705, 'Signalling System No. 7 (SS7) - Message Transfer Part (MTP)' [3] Bellcore GR-246-CORE 'Bell Communications Research Specification of Signaling System Number 7', Volume 1, December 1995 [4] Framework Architecture for Signaling Transport, draft-ietf-sigtran- framework-arch-03.txt, June 1999 [5] Signaling Common Transport Protocol, draft-ietf-sigtran-sctp-00.txt, August 1999 [6] Media Gateway Control Protocol (MGCP), draft-huitema-megaco-mgcp- v1-03.txt, August 1999 Morneault, Kalla & Sidebottom [Page 24] Internet Draft SS7 MTP2 User Adaptation Layer Sep 1999 8.0 Author's Addresses Ken Morneault Tel: +1-703-484-3323 Cisco Systems Inc. EMail: kmorneau@cisco.com 13615 Dulles Technology Drive Herndon, VA. 20171 USA Malleswar Kalla Tel: +1-973-829-5212 Telcordia Technologies EMail: kalla@research.telcordia.com MCC 1J211R 445 South Street Morristown, NJ 07960 USA Greg Sidebottom Tel: +1-613-763-7305 Nortel Networks EMail: gregside@nortelnetworks.com 3685 Richmond Rd, Nepean, Ontario Canada K2H5B7 This Internet Draft expires April 2000.