ISDN Q.921-User Adaptation Layer
obsoleted by
- rfc-4233 — Integrated Services Digital Network (ISDN) Q.921-User Adaptation Layer
updated by
- rfc-3807 — V5.2-User Adaptation Layer (V5UA)
Extracted elements (30)
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.
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 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.
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.
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.
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.
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.
All fields in an IUA message MUST be transmitted in network byte order (most significant byte first, big endian) unless otherwise stated.
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.
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.
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.
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.
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.
The receiver of a Heartbeat (BEAT) message MUST respond with a Heartbeat Ack message, echoing all parameters of the received Heartbeat without change.
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.
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.
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).
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.
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.
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.
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).
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.
Section 7.1 assigns an SCTP Payload Protocol Identifier for IUA (value 1), registered with IANA, to distinguish IUA payload data within SCTP associations.
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.
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.
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.
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).
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.
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.
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.