rfc-3057

ISDN Q.921-User Adaptation Layer

K. Morneault, S. Rengasami, M. Kalla, G. Sidebottom
date2001-02 streamIETF arearai wgsigtran statusPROPOSED STANDARD pages66 canonicalhttps://www.rfc-editor.org/rfc/rfc3057 doi10.17487/RFC3057
This document defines a protocol for backhauling of ISDN Q.921 User messages over IP using the Stream Control Transmission Protocol (SCTP). This protocol would be used between a Signaling Gateway (SG) and Media Gateway Controller (MGC). [STANDARDS-TRACK]

obsoleted by

updated by

Extracted elements (30)

design-rationale §1.5.3

A separate SCTP stream is recommended for each D channel to minimize transmission and buffering delay. Because SCTP streams are unidirectional, the Interface Identifier is placed in the IUA message header rather than relying on stream-to-interface mapping.

sctp

design-rationale §1.2

Interface Identifier values are of local significance only, coordinated between the SG and ASP, and assigned according to network operator policy. Significance is not implied across SGs served by an AS, allowing flexibility in provisioning.

sctp

design-rationale §1.3.1

SCTP is chosen as the underlying transport because it provides explicit packet-oriented delivery, multi-stream sequenced delivery, multi-homing for network-level fault tolerance, resistance to flooding and masquerade attacks, and data segmentation to path MTU. These properties are essential for carrier-grade ISDN signaling backhaul.

sctp, security

design-rationale §1.3.1

TCP may be used instead of SCTP in scenarios without redundancy requirements or where redundancy is provided below the transport layer, acknowledging that not all deployments need SCTP's multi-homing and fault-tolerance features.

sctp, tcp

design-rationale §3.3.2.9

The Heartbeat message is recommended only when IUA runs over a transport layer other than SCTP, since SCTP has its own heartbeat mechanism. This avoids redundant liveness checks when using SCTP.

sctp

interoperability-note §3.3.2.5

If no Interface Identifiers are included in an ASPAC message, the message applies to all provisioned Interface Identifiers within the AS(s) in which the ASP is provisioned. Including only a subset notes the ASP as Active for all Interface Identifiers provisioned for that AS.

sctp

interoperability-note §3.3.2.5

Text-formatted Interface Identifiers (Tag 0x3) cannot be mixed with integer (Tag 0x1) or integer-range (Tag 0x8) types in the same message. An SG that only supports integer format will return an 'Unsupported Interface Identifier Type' error, requiring the ASP to resend with an integer Interface Identifier.

sctp

normative-requirement §3.1 MUST

All fields in an IUA message MUST be transmitted in network byte order (most significant byte first, big endian) unless otherwise stated.

sctp

normative-requirement §1.3.3 SHOULD NOT

For carrier-grade networks, the failure or isolation of a particular ASP SHOULD NOT cause stable calls to be dropped, implying ASPs need to share or pass call state; however, ASP-to-ASP call state communication is outside the scope of this document.

sctp

normative-requirement §3.1.5 MUST

Mandatory parameters MUST be placed before optional parameters in a message. The total length of a parameter (Tag + Length + Value) MUST be a multiple of 4 bytes; the sender SHOULD NEVER pad with more than 3 bytes, and the receiver MUST ignore padding bytes.

sctp

normative-requirement §3.2 MUST

The integer-formatted Interface Identifier MUST be supported; the text-formatted Interface Identifier MAY optionally be supported. If the optional Interface Identifier parameter is present in ASPAC/ASPIA messages, the integer format MUST be supported.

sctp

normative-requirement §1.5.1 MUST

The IUA layer MUST maintain a map of the Interface Identifier to a physical interface on the SG (e.g., T1/E1 line and TDM timeslot). The SG MUST also maintain the states of AS/ASP and reference them when routing messages.

sctp

normative-requirement §1.5.2 MUST

The IUA layer on the SG MUST maintain the state of the ASPs it is supporting; ASP state changes result from reception of ASPM peer-to-peer messages or SCTP association indications.

sctp

normative-requirement §3.3.2.9 MUST

The receiver of a Heartbeat (BEAT) message MUST respond with a Heartbeat Ack message, echoing all parameters of the received Heartbeat without change.

sctp

normative-requirement §1.3.5 SHOULD

The SG and ASP SHOULD be configurable to support both client and server roles. By default, the SG acts as server and ASPs SHOULD initiate the SCTP association to the SG. The SCTP/UDP/TCP registered port number for IUA is 9900.

sctp

normative-requirement §1.3.3 SHOULD

To meet carrier-grade ISDN reliability requirements, Network Operators SHOULD ensure there is no single point of failure in the end-to-end network architecture between an ISDN node and an IP ASP. Related ASPs SHOULD be distributed over at least two Hosts.

sctp, security

protocol-element §3.1.2

ASPSM messages (class 3) include: ASP Up (1), ASP Down (2), Heartbeat (3), ASP Up Ack (4), ASP Down Ack (5), Heartbeat Ack (6). ASPTM messages (class 4) include: ASP Active (1), ASP Inactive (2), ASP Active Ack (3), ASP Inactive Ack (4).

sctp

protocol-element §3.1.2

Management (MGMT) message types include: Error/ERR (0), Notify/NTFY (1), TEI Status Request (2), TEI Status Confirm (3), TEI Status Indication (4). TEI Status messages support M-TEI STATUS primitives for querying assigned/unassigned TEI state.

sctp

protocol-element §3.1.2

Message Class field (8-bit) defines the category of IUA message: 0=Management (MGMT), 3=ASP State Maintenance (ASPSM), 4=ASP Traffic Maintenance (ASPTM), 5=Q.921/Q.931 Boundary Primitives Transport (QPTM). Classes 9–127 are reserved by IETF; 128–255 for IETF-defined extensions.

sctp

protocol-element §3.3.1

QPTM messages (class 5) include: Data Request/Indication (1/2), Unit Data Request/Indication (3/4), Establish Request/Confirm/Indication (5/6/7), and Release Request/Confirm/Indication (8/9/10). These carry Q.921/Q.931 boundary primitives between SG and MGC.

sctp

protocol-element §3.3.3.1

The Error (ERR) message carries an Error Code parameter (Tag 0xc) with defined values including: Invalid Version (0x01), Invalid Interface Identifier (0x02), Unsupported Traffic Handling Mode (0x05), Unexpected Message (0x06), Invalid Stream Identifier (0x09), Unassigned TEI (0x0a), Unrecognized SAPI (0x0b), Invalid TEI/SAPI combination (0x0c).

sctp

protocol-element §3.3.2.5

The Traffic Mode Type parameter (Tag 0xb) in ASPAC/ASPIA messages specifies either Over-ride (0x1), where the ASP takes over all traffic for an AS, or Load-share (0x2), where it shares traffic with other active ASPs. Only one Traffic Mode Type is allowed per Interface Identifier.

sctp

registry §7.1

Section 7.1 assigns an SCTP Payload Protocol Identifier for IUA (value 1), registered with IANA, to distinguish IUA payload data within SCTP associations.

registry, sctp

registry §7.2

Section 7.2 defines the IUA Protocol Extensions registry: Message Class values 9–127 are reserved by IETF; 128–255 are reserved for IETF-defined extensions. Parameter Tag value 65535 is reserved for IETF-defined extensions; all other unassigned values require IETF action.

registry, sctp

security-consideration §6

Section 6 identifies threats to IUA deployments including unauthorized message injection, masquerade attacks on the SG-MGC association, and denial of service. SCTP's built-in resistance to flooding and masquerade attacks is cited as a mitigation, and use of IPsec or TLS is recommended to protect confidentiality of signaling traffic over IP.

security, sctp

state-machine §4.3.1

The ASP state machine has four states: ASP-DOWN (initial), ASP-INACTIVE (entered on ASPUP/UP ACK exchange), ASP-ACTIVE (entered on ASPAC/ACTIVE ACK exchange), and back to ASP-INACTIVE on ASPIA/INACTIVE ACK. The SG tracks these states per ASP to manage traffic routing and fail-over.

sctp

wire-format §3.1

The Common Message Header is 8 octets: Version (8-bit), Reserved (8-bit), Message Class (8-bit), Message Type (8-bit), and Message Length (32-bit). All fields are transmitted in network byte order (big endian).

sctp

wire-format §3.2

The DLCI field encodes SAPI in bits 3–8 of octet 1 (6 bits), SPR in bit 2, and TEI in bits 2–8 of octet 2 (7 bits), coded in accordance with Q.921.

sctp

wire-format §3.2

The IUA Message Header (integer Interface Identifier form) carries Tag 0x1 with a fixed length of 8 octets for the 32-bit Interface Identifier, followed by Tag 0x5 (length=8) for the DLCI field. The text-based variant uses Tag 0x3 with variable length.

sctp

wire-format §3.1.5

Variable-length parameters use a Tag-Length-Value format: Tag (16-bit unsigned), Length (16-bit unsigned, including Tag+Length+Value but not padding), and variable-length Value. The total parameter length MUST be a multiple of 4 bytes; padding bytes are zero-filled and not counted in the Length field.

sctp