ISDN User Part
The ISDN User Part (ISUP) is a signaling protocol within the Signaling System No. 7 (SS7) stack that enables the establishment, management, and teardown of circuit-switched connections for voice, data, and other services across public switched telephone networks (PSTN) and Integrated Services Digital Network (ISDN) environments.[1][2] Defined by ITU-T recommendations such as Q.761, ISUP operates as the user part of SS7, providing circuit-related signaling to support both basic call handling and supplementary services like call diversion and conference calling.[1] It relies on the underlying Message Transfer Part (MTP) for reliable transport of signaling messages between network elements, such as switches and signaling points.[3][2] ISUP's core functions include initiating calls via the Initial Address Message (IAM), which carries routing information and parameters; confirming call progress with Address Complete Message (ACM) and Answer Message (ANM); and terminating connections through Release Message (REL) and Release Complete (RLC) exchanges.[2][3] These procedures ensure efficient trunk management and interoperability in international telecommunications, accommodating both ISDN-compatible and legacy non-ISDN circuits.[1] Originally developed in the 1980s to extend SS7 capabilities for digital services, ISUP has evolved through amendments to incorporate features like emergency priority schemes and customized alerting tones, maintaining its role in global telephony despite the rise of IP-based alternatives.[1][3]Introduction
Definition and Purpose
The ISDN User Part (ISUP) is a protocol within the Signalling System No. 7 (SS7) that provides the signalling functions necessary to support both basic bearer services and supplementary services in Integrated Services Digital Network (ISDN) and public switched telephone network (PSTN) environments.[1] It operates at the user part layer of the SS7 stack, utilizing the Message Transfer Part (MTP) for reliable message routing and delivery across the signalling network.[1] The primary purpose of ISUP is to control the setup, maintenance, supervision, and teardown of circuit-switched connections, known as bearer channels, for voice and data circuits between telephone exchanges. This includes signalling procedures for establishing end-to-end connections, monitoring call progress, and releasing resources upon call completion or failure. By enabling these operations, ISUP facilitates efficient call handling in traditional telephony networks, supporting features such as alerting, answering, and disconnection.[1] ISUP's scope encompasses basic telephony services as well as ISDN-specific supplementary services, such as call forwarding, call waiting, and conference calling, distinguishing it from the earlier Telephone User Part (TUP) by incorporating advanced capabilities like overlap sending and receiving of address information for more flexible digit collection during call setup. Circuits are identified using the Circuit Identification Code (CIC), a parameter that uniquely specifies the bearer channel within a trunk group for precise routing and control.Historical Development
The ISDN User Part (ISUP) emerged in the early 1980s as an extension of the Telephone User Part (TUP) within Signaling System No. 7 (SS7), designed to enable digital signaling for Integrated Services Digital Network (ISDN) services and address the limitations of TUP in handling international calls over analog trunks.[4] This development was driven by the transition to fully digital networks, where ISDN required enhanced call control for voice, data, and supplementary services, replacing TUP's analog-oriented procedures that struggled with multi-frequency signaling and international interoperability.[5] The foundational work aligned with the CCITT's (now ITU-T) Yellow Book recommendations of 1980, which standardized SS7 as an international framework, setting the stage for ISUP's evolution to support ISDN's end-to-end digital connectivity.[6] The initial specification of ISUP was published in 1984 as part of the CCITT Red Book (Recommendations Q.761 to Q.764), introducing core procedures for circuit-switched ISDN calls and basic service support.[7] This version focused on national network applications, providing a foundation for trunk setup and release while ensuring compatibility with existing SS7 infrastructure. Enhancements followed in the 1988 Blue Book, refining message formats, error handling, and supplementary service integration to improve reliability in larger networks.[8] Further milestones included the 1992 White Book (ISUP'92), which introduced segmentation for long messages and better international compatibility, and the 1997 ISUP'97 version (Recommendations Q.761-Q.764 of September 1997), which provided enhancements for narrowband ISDN including improved international signaling and support for intelligent network (IN) capabilities.[9] Post-1997 developments involved iterative amendments to core specifications, particularly Recommendation Q.763 on formats and codes, to incorporate new parameters for emerging needs. For instance, Amendment 1 (March 2001) introduced the Application Transport Parameter to facilitate precursors to IP interworking, such as Bearer Independent Call Control (BICC), enabling ISUP's adaptation to hybrid circuit-IP environments. Subsequent updates, including Amendment 2 (2002) for emergency preference schemes and Amendment 6 (October 2009) for customized alerting tones, maintained backward compatibility while addressing specific service requirements. As of November 2025, the base ISUP specifications (e.g., Q.761 of 1999) have seen no major ITU-T revisions since 2012, with the most recent change being Amendment 7 to Q.763 (December 2023) for calling line identification enhancements; however, ongoing adaptations by ETSI and 3GPP continue to support legacy ISUP in modern IMS and 5G interworking scenarios.[10][11]Standards and Variants
ITU-T Specifications
The ITU-T specifications for the ISDN User Part (ISUP) form the international baseline for signaling in SS7 networks, defining protocols for call setup, management, and teardown in both PSTN and ISDN environments. The primary recommendations include Q.761, which outlines the functional description of ISUP operations; Q.762, which specifies general procedures for message handling and protocol interactions; Q.763, which details message formats, parameter encodings, and codes; and Q.764, which describes signaling procedures for basic and supplementary services. These were standardized in their 1997 edition as part of ISUP'97, incorporating amendments for enhanced interoperability and feature support, and they collectively ensure consistent implementation across global networks. The evolution of ISUP specifications reflects advancements in telephony requirements, beginning with the initial release in the 1984 Red Book (Recommendations Q.761–Q.764), which established basic call control for circuit-switched connections. This was followed by the 1988 Blue Book, enhancing compatibility with early ISDN deployments; ISUP'92 in the 1992 White Book, which introduced overlap address signaling to allow progressive digit transmission for more efficient international routing; and ISUP'97 in 1997, which added support for advanced parameters including Multi-Level Precedence and Preemption (MLPP) for prioritized emergency and government services. These progressions prioritized backward compatibility while expanding capabilities for supplementary services like call diversion and conference calling. Key features standardized in these recommendations include support for both en-bloc signaling, where complete called party numbers are sent in a single initial address message, and overlap signaling for segmented digit transmission, enabling faster call establishment in variable-length numbering plans. Continuity checks are mandated to verify transmission paths on seized circuits before proceeding with call setup, reducing failures in analog-to-digital transitions. These elements, along with defined parameter sets in Q.763, facilitate international interoperability by standardizing message flows and error handling across diverse national networks. As of 2025, the 1997 ISUP recommendations remain the foundational standards for legacy SS7 infrastructure, underpinning billions of daily voice calls in regions without full migration to IP-based systems like SIP. Updates have been limited to targeted amendments, such as those in Q.763 for parameter extensions (e.g., Amendment 7 in 2023 adding calling line identification authentication), with no comprehensive revisions since 1997 to preserve stability in operational networks.Regional and National Implementations
The ANSI variant of the ISDN User Part (ISUP), specified in ANSI T1.113, is tailored for North American telecommunications networks and supports 24-channel DS1 trunks commonly used in the region.[12] This variant incorporates unique parameters such as the Charge Number, which typically carries a 10-digit national number within the North American Numbering Plan to facilitate billing and routing.[13] It differs from the ITU-T baseline in aspects like the Circuit Identification Code (CIC) length, which is 14 bits in ANSI to accommodate larger trunk groups, and in cause code usage, where certain national-specific codes are employed for error handling and release procedures.[14][15] In Europe, the ETSI/ECS variants of ISUP are defined in the EN 300 356 series, which adapt the protocol for pan-European Integrated Services Digital Network (ISDN) environments while maintaining close alignment with ITU-T specifications.[16] These standards include Euro-ISUP extensions to support interworking with GSM networks, enabling seamless call setup and handover between fixed ISDN and mobile systems.[17] Additionally, they provide enhancements for ISDN bearer capabilities, such as specifying speech, 3.1 kHz audio, and unrestricted digital information transfer to meet diverse European service requirements.[18] National implementations further customize ISUP to local needs. In Japan, the NTT variant introduces additional continuity signals to enhance circuit validation during call setup, accommodating the country's high-density trunking and reliability standards.[19] Chinese implementations largely align with ITU-T recommendations but incorporate local numbering plans, such as the integration of national significant numbers and trunk prefixes defined in the country's National Numbering Plan, to support domestic routing without altering core message structures.[20][21] Regional variants maintain backwards compatibility with the Telephone User Part (TUP) through shared procedures for basic call control, allowing gradual migration in mixed networks.[22] However, differences in optional parameters, such as ANSI's Nature of Connection Indicators versus ITU-T's equivalent fields, can lead to interworking challenges, requiring gateways to map encodings for continuity and bearer service negotiation.[15][23]Protocol Fundamentals
Architecture in SS7
The ISDN User Part (ISUP) functions as the Layer 4 user part within the Signaling System No. 7 (SS7) protocol stack, providing circuit-switched call control services for the Integrated Services Digital Network (ISDN). It operates directly atop the Message Transfer Part Level 3 (MTP-3), which serves as the network layer responsible for message routing, discrimination, and distribution across the SS7 network.[24][1] This layering enables ISUP to leverage MTP-3's reliable transport for end-to-end signaling between exchanges without intermediate processing delays. In contrast, non-circuit-related services in SS7, such as transaction-oriented applications, utilize the Signaling Connection Control Part (SCCP) layered above MTP-3 to provide additional features like connection management and global title addressing; ISUP distinguishes itself by avoiding SCCP dependency, focusing exclusively on circuit-associated signaling.[24] ISUP's protocol boundaries are strictly limited to circuit-related operations, including the setup, supervision, and release of bearer and data channels in ISDN environments. It delegates transaction management and non-circuit signaling—such as supplementary services or intelligent network interactions—to other SS7 user parts like the Transaction Capabilities Application Part (TCAP) over SCCP.[1] This demarcation ensures efficient handling of voice and data calls while maintaining compatibility with dedicated telephone networks and mixed analogue/digital systems. By confining its scope to circuit supervision, ISUP avoids the overhead of SCCP's routing enhancements, relying instead on MTP-3 for basic message transfer.[24] Addressing in ISUP relies on the MTP-3 routing label, which incorporates the Destination Point Code (DPC) to identify the target signaling point and the Origination Point Code (OPC) to denote the sending exchange, facilitating precise message delivery across the SS7 network.[24][1] While SCCP-based user parts employ Subsystem Numbers (SSN) for application-level routing, ISUP primarily uses point codes for exchange identification, with optional SSN integration in hybrid scenarios. This point code mechanism supports hierarchical network addressing, where 14-bit codes (in international variants) uniquely label up to 16,384 signaling points globally. State management in ISUP involves maintaining synchronized per-circuit states across network nodes to ensure consistent call progress and resource allocation. Each circuit supervision message updates states such as idle, active, or maintenance, tracked independently for every time-slot or channel in the circuit group.[1] This distributed state synchronization prevents conflicts during call establishment or release, with MTP-3 providing the underlying reliability to propagate state changes reliably between originating and destination exchanges.[24]Key Procedures and Interactions
The ISDN User Part (ISUP) employs a sequence of basic procedures to establish, maintain, and terminate circuit-switched connections in telecommunications networks. Circuit seizure begins when the originating exchange selects an idle circuit and sends an Initial Address Message (IAM) to reserve it, specifying the called party's address and initial bearer capability.[25] Alerting occurs as the terminating exchange signals the called party, responding with an Address Complete Message (ACM) to indicate the call is progressing and provide continuity feedback if required. Answer supervision follows when the called party accepts the call, prompting the terminating exchange to send an Answer Message (ANM) to the originating side, enabling through-connection of the bearer path for media exchange. The disconnect sequence initiates from either party via a Release Message (REL) indicating the reason for termination, followed by the receiving exchange's Release Complete Message (RLC) to confirm circuit release and return it to idle status.[25][26] ISUP interacts closely with the Message Transfer Part (MTP) of the Signaling System No. 7 (SS7) stack to ensure reliable message transport across the network, leveraging MTP's routing, congestion control, and error detection mechanisms for delivery. For intelligent network services, ISUP hands off control to the Intelligent Network Application Part (INAP) via the Transaction Capabilities Application Part (TCAP) over SCCP when advanced features like service logic execution are needed, allowing seamless integration without disrupting the basic call flow. Continuity testing verifies the integrity of the transmission path using Continuity Check Request (CCR) and Continuity (COT) messages, typically applied during seizure to detect faults before full connection.[26][25] ISUP supports supplementary services through dedicated procedures that extend basic call control. For explicit call transfer (ECT), the served user invokes transfer of an active call to a third party by suspending the original connection and bridging the new one, using facility messages to coordinate across exchanges. Closed user group (CUG) restricts calls to predefined member sets, with procedures validating membership during setup and applying barring for non-members. Diversion services, such as call forwarding, redirect incoming calls based on user preferences, employing suspend and resume signaling to maintain transparency to the calling party. Circuit management includes blocking (BLO) to isolate faulty circuits, preventing their use until unblocked (UBL) after maintenance, ensuring network reliability.[25] Error recovery in ISUP relies on timer mechanisms to handle timeouts and retransmissions, promoting robustness. For instance, the T1 timer starts upon REL transmission and triggers retransmission of REL if no RLC arrives within 15-60 seconds (configurable), to recover from message loss. Congestion handling defers to MTP protocols, which signal ISUP to throttle message rates or discard low-priority traffic during network overload, preventing cascade failures.[25][26]Messages
Message Types and Functions
The ISDN User Part (ISUP) employs a variety of messages to manage circuit supervision, call setup, and release within the Signaling System No. 7 (SS7) framework. Each message is uniquely identified by a one-octet message type code, which determines its function and associated parameter format, as specified in ITU-T Recommendation Q.763. These messages are categorized into circuit-related and non-circuit-related types, enabling precise control over telephone circuits and network resources.[27] Circuit-related messages primarily handle the allocation, supervision, and deallocation of specific bearer circuits. The Initial Address Message (IAM), with code 0x01, seizes a circuit and conveys initial routing and destination information to establish a call connection. The Address Complete Message (ACM), code 0x06, signals that address signaling is complete and the destination has been reached, often indicating whether alerting is in progress. The Answer Message (ANM), code 0x09, confirms that the called party has answered, enabling through-connection of the circuit for conversation. The Release Message (REL), code 0x0D, initiates the teardown of a circuit by requesting its release, typically due to call termination or error conditions. The Release Complete Message (RLC), code 0x10, acknowledges the release, freeing the circuit for reuse.[27] Non-circuit messages address group-level or maintenance operations without targeting individual circuits. The Circuit Group Reset message (CGR), code 0x17, resets a group of circuits to an idle state, useful for maintenance or fault recovery. The Circuit Group Reset Acknowledgment (CGRA), code 0x29, confirms the successful reset of the group. Blocking (BLO), code 0x13, and Unblocking (UBL), code 0x14, messages respectively prevent or restore the use of a specific circuit due to faults or administrative actions.[27] ISUP messages are functionally grouped to support key procedures, such as call setup, alerting, and release. In the setup phase, the IAM initiates seizure, supplemented by the Subsequent Address Message (SAM, code 0x02) for additional digits in en-bloc or overlap sending modes. Alerting involves the ACM or the Call Progress message (CPG, code 0x2C), which reports events like ringing or network congestion. Release procedures rely on the REL followed by the RLC to ensure orderly disconnection. These groupings facilitate end-to-end call control while maintaining compatibility across international networks.[27]| Message Type | Code (Hex) | Primary Function |
|---|---|---|
| IAM | 0x01 | Circuit seizure and initial addressing |
| SAM | 0x02 | Additional address digits |
| ACM | 0x06 | Address signaling complete |
| CPG | 0x2C | Call progress indication (e.g., alerting) |
| ANM | 0x09 | Call answered |
| REL | 0x0D | Initiate circuit release |
| RLC | 0x10 | Confirm circuit release |
| CGR | 0x17 | Reset circuit group |
| CGRA | 0x29 | Acknowledge group reset |
| BLO | 0x13 | Block circuit |
| UBL | 0x14 | Unblock circuit |
Call Control Procedures
The ISDN User Part (ISUP) call control procedures define the sequence of signaling messages and actions for establishing, supervising, and clearing connections in circuit-switched networks using Signaling System No. 7 (SS7). These procedures ensure reliable end-to-end call handling between exchanges, incorporating checks for circuit availability and address completeness. They are specified in detail for both national and international applications, with actions triggered by message reception or timeouts.Call Establishment
Call establishment begins when the originating exchange seizes a circuit and transmits an Initial Address Message (IAM) to the next exchange, containing essential information such as the nature of connection indicators, calling and called party numbers, and optional continuity indicators. If en-bloc signaling is used, the IAM includes the complete called party number; in overlap signaling, the IAM carries the initial digits, followed by one or more Subsequent Address Messages (SAM) to provide remaining digits as they are collected. The choice between en-bloc and overlap modes depends on bilateral agreements between networks, with en-bloc preferred for efficiency in scenarios where full numbering is available upfront, while overlap supports progressive dialing. Upon receiving the IAM, the destination exchange verifies resource availability and may perform a continuity check if indicated, sending a Continuity Check Request (CCR) and starting timer T7 (15 seconds) to await a Continuity (COT) response from the originating side, confirming transmission path integrity; if T7 expires without COT, the call is released. Once address information is complete—via ACM in en-bloc or after the final SAM in overlap—the terminating exchange sends an Address Complete Message (ACM) to acknowledge receipt and indicate initial progress, potentially including backward call indicators for alerting or in-band information. If further progress occurs, such as ringing tone detection, a Call Progress (CPG) message is sent to inform the originating side. Call connection is finalized when the called party answers, prompting the terminating exchange to transmit an Answer Message (ANM), which stops any alerting and initiates charging.Call Maintenance
Once established, the call enters an active supervision state where both exchanges monitor the connection for stability, using periodic or event-driven messages to maintain supervision without interrupting bearer traffic. Mid-call events, such as additional digit collection for services like operator assistance, are handled through messages like the Information (INF) message, which conveys user-provided information without disrupting the active state. These procedures ensure seamless handling of supplementary services during the conversation phase, with exchanges responding to changes in call state via facility messages if needed.Call Termination
Normal call termination is initiated by the disconnecting party (either user or exchange) sending a Release (REL) message, specifying the cause for clearing and instructing the release of allocated resources. The receiving exchange confirms by returning a Release Complete (RLC) message, after which both sides idle the circuit; timer T1 (30 seconds for international, 6 seconds nationally) guards against lost RLC by triggering REL retransmission if expired. In abnormal cases, such as hardware faults or network congestion, a Release (REL) message with appropriate cause may be used to clear the connection from one end, followed by RLC from the other.Variants and Timers
ISUP supports en-bloc signaling, where all address information is sent in a single IAM for rapid setup, versus overlap signaling, which distributes digits across IAM and SAMs to accommodate real-time collection but introduces additional message exchanges and potential delays. Timers like T7 ensure procedural integrity during continuity checks, while release procedures incorporate guards such as T1 to handle message loss reliably. These variants and timers are configurable per network requirements, balancing speed and robustness in call flows.Message Structure
Overall Format
The ISDN User Part (ISUP) messages are structured within the Signaling Information Field (SIF) of a Signaling System No. 7 (SS7) Message Signal Unit (MSU), following the MTP3 headers including the length indicator and service information octet (SIO), providing a standardized binary format for call control and management in telecommunication networks.[28] The overall layout consists of fixed header elements followed by variable parameter sections, ensuring efficient transmission over signaling links while accommodating different network variants. This format supports message lengths up to 272 octets in the SIF, allowing for the inclusion of necessary signaling data without exceeding SS7 transport limits. The fixed parts of an ISUP message begin with the message type field, an 8-bit code that specifies the message's function, such as initial address message (IAM) or release message (REL), as defined in the message type table.[28] For circuit-related messages, the next element is the circuit identification code (CIC), a 12-bit field in the international ITU-T variant (encoded in 2 octets with 4 spare bits) or 14 bits in national variants like ANSI (also in 2 octets), which uniquely identifies the bearer circuit associated with the signaling.[28] Additional mandatory fixed parameters follow as specified per message type, with the fixed header overall ensuring core identification and control elements. Variable parts follow the fixed header and comprise mandatory and optional parameters, which carry the substantive signaling information. Mandatory parameters are either fixed-length (with predefined octet counts) or variable-length (preceded by a 1-octet length indicator specifying the subsequent content in octets). Optional parameters, if present, are grouped at the end and referenced via a 1-octet pointer field indicating their location, followed by individual length indicators and the parameter contents; this pointer mechanism allows flexibility in message assembly without altering the core structure.[28] The total message length is implicitly determined by the SIF boundaries, with parameter-specific length indicators ensuring precise parsing up to the 272-octet maximum. All elements are encoded in binary format using network byte order (big-endian), with fields aligned to octet boundaries for compatibility with SS7 link transmission; any unused bits in partial octets are typically set to zero. This encoding approach maintains compactness and interoperability across international and regional implementations.[28]Parameters and Encoding
ISUP messages consist of mandatory and optional parameters that convey essential call setup and control information. Mandatory parameters are fixed or variable in length and appear in a predefined order without individual identifiers, while optional parameters are identified by unique codes ranging from 1 to 255, some of which are reserved for national or international use.[28] The encoding follows rules defined in ITU-T Recommendation Q.763, where fixed parameters occupy a constant number of octets, variable parameters include a length indicator followed by content, and optional parameters use a one-octet code, a one-octet length field, and the content itself, terminated by an end-of-optional-parameters octet (code 0). Key mandatory parameters include the Called Party Number and Calling Party Number, both encoded in Binary Coded Decimal (BCD) format to represent telephone numbers efficiently. The Called Party Number parameter, for instance, begins with a one-octet field containing the nature of address indicator (e.g., subscriber number, national significant number) and numbering plan identification (e.g., E.164), followed by address digits encoded in BCD (four bits per digit), with an odd/even indicator to handle the last digit if incomplete; its total length varies from 2 to 32 octets depending on the number of digits.[28] Similarly, the Calling Party Number follows the same BCD structure, including additional indicators for presentation (e.g., allowed or restricted) and screening (e.g., user-provided or network-provided).[28] The User Service Information parameter, also mandatory in messages like the IAM, encodes bearer capability details such as information transfer capability (e.g., speech, 3.1 kHz audio) and user rate, structured as a variable-length field that maps to Q.931 information elements, with a maximum length constrained by the overall message size.[28] Optional parameters provide supplementary data and are included only when relevant to the call scenario. The Redirecting Number parameter (code 0x2D), for example, uses a variable-length BCD encoding akin to the Called Party Number, including nature of address and numbering plan fields to specify the original calling party in diversion scenarios, with lengths from 2 to 32 octets.[28] The Transit Network Selection parameter (code 0x5A), coded as a fixed three-octet field, identifies a preferred transit network using a national network identification code in the first two octets and a network identification plan in the third.[28] Parameter codes are assigned per Table 5/Q.763, with values 1-110 for international use, 128-254 for national variants, and certain codes reserved to avoid conflicts. Regional implementations introduce encoding variants to support specific features. In ANSI variants, as defined in T1.113, additional parameters like the Charge Number (code 0x64) are included, encoded in BCD similar to party numbers but with charge information indicators for billing purposes.[12] Extensions in the 1997 version of ISUP (ISUP'97), incorporated into later Q.763 amendments, add support for Multi-Level Precedence and Preemption (MLPP) through parameters like the MLPP Precedence parameter (code 0x6F), which uses a one-octet field to encode precedence levels (e.g., routine, priority, immediate) for emergency services. These variants ensure compatibility while accommodating national requirements, with encodings maintaining the core fixed/variable structure.[12]Error and Release Handling
Cause Codes
The cause codes in the ISDN User Part (ISUP) provide standardized diagnostic information to indicate the reasons for call release, errors, or other events in signaling messages, ensuring interoperability across networks. Defined in ITU-T Recommendation Q.850, these codes align directly with ISDN user-network interface protocols and are incorporated into ISUP via the cause indicators parameter specified in Q.763. They are essential for troubleshooting and network management, conveying precise failure modes without ambiguity.[29] The cause indicators parameter is encoded as a variable-length field within ISUP messages, starting with a 1-octet identifier (decimal 7) followed by the length and content octets. The content begins with the first octet containing an extension indicator (bit 8: 1 for last octet, 0 for continuation), coding standard (bits 7-6: 00 for ITU-T standardized), a spare bit (bit 5: 0), and the location indicator (bits 4-1, specifying the originator such as 0010 for private network, 0100 for local network, or 0110 for international network). The second octet includes another extension indicator (bit 8) and the 7-bit cause value (bits 7-1, ranging from 1 to 127). Optional diagnostic octets (3 to 3+n) may follow for additional details, such as called party number on unallocated failures. This structure forms an effective 8-bit representation when considering the cause value octet, with the location octet distinguishing the source of the indication (e.g., user or network side). For instance, cause value 31 (normal, unspecified) might be coded as 0x9F in the second octet (extension 1, value 0001111 binary). Cause values are grouped into classes based on their numerical range, reflecting the nature of the event, with full coverage from 1 (unallocated number) to 127 (interworking, unspecified). The classes ensure logical categorization: normal events (values 1-31) for expected terminations; resource unavailable (32-47) for capacity issues; service or option not available (49-63) for authorization or subscription problems; service or option not implemented (64-79); invalid message (81-95); protocol errors (96-111); and interworking (112-127). This alignment with Q.850 allows seamless mapping between ISDN access signaling (Q.931) and trunk signaling in ISUP.[29] In the normal events class (values 1-31), codes indicate routine disconnections without faults. For example, value 16 (normal call clearing) signals a user-requested termination of an established call, while 18 (no user responding) denotes timeout after alerting without answer. These are commonly used for clean handoffs. The resource unavailable class (values 32-47) addresses temporary or congestion-related failures. Value 34 (no circuit/channel available) occurs when insufficient trunks or channels exist to route the call, and 38 (network out of order) indicates a broader network element failure expected to persist. Value 47 serves as unspecified for this class. For service or option issues (values 49-63), codes highlight policy or configuration mismatches. Value 50 (requested facility not subscribed) rejects supplementary services like call forwarding if not provisioned for the user, and 58 (bearer capability not authorized) denies calls using unsupported voice or data rates due to subscription limits. Value 63 is the unspecified fallback. These cause codes are primarily employed in RELEASE (REL) messages to diagnose and propagate failure reasons across the network, with the location octet clarifying whether the issue originated from the user, local network, or remote entities. They may also appear in DISCONNECT or RESET messages for similar diagnostic purposes, aiding in release procedures without detailing the full flow.| Class | Value Range | Representative Examples |
|---|---|---|
| Normal Events | 1-31 | 1: Unallocated number 16: Normal call clearing 18: No user responding |
| Resource Unavailable | 32-47 | 34: No circuit/channel available 38: Network out of order 47: Resource unavailable, unspecified |
| Service/Option Not Available | 49-63 | 50: Requested facility not subscribed 58: Bearer capability not authorized 63: Service/option not available, unspecified |
| Service/Option Not Implemented | 64-79 | 65: Bearer capability not implemented 79: Service/option not implemented, unspecified |
| Invalid Message | 81-95 | 81: Invalid call reference value 95: Invalid message, unspecified |
| Protocol Error | 96-111 | 96: Mandatory information element missing 111: Protocol error, unspecified |
| Interworking | 112-127 | 127: Interworking, unspecified |
Release and Reset Mechanisms
The release procedure in the ISDN User Part (ISUP) is a bilateral process for normal call disconnection, initiated by one exchange sending a Release (REL) message with an associated cause code to indicate the reason for clearing the connection, such as normal call clearing. The receiving exchange responds with a Release Complete (RLC) message to acknowledge the release, confirming that the circuit has been freed and is available for reuse. This exchange ensures synchronized state management across both ends of the connection.[1] In emergency or failure scenarios, a unilateral release may be employed, where the initiating exchange sends an REL or Reset Circuit (RSC) message without expecting prior coordination, to rapidly clear the circuit; the RSC specifically resets the circuit state and is acknowledged by an RLC. For group-level operations, the Circuit Group Reset (GRS) message resets multiple circuits simultaneously for maintenance or failure recovery, acknowledged by a Circuit Group Reset Acknowledgement (GRC) to confirm the action on the affected group. These reset mechanisms minimize disruption by targeting specific circuits or groups while preserving ongoing traffic on unaffected paths. Timers govern the timing of these procedures to detect and handle anomalies. Upon sending an REL, timer T1 starts, typically with a duration of 30 seconds in national networks or 15-60 seconds generally; if it expires without an RLC, the REL is retransmitted or abnormal handling is triggered, such as forced circuit release or maintenance alerting. For reset acknowledgements, timer T16, typically set to 15-60 seconds, begins upon sending an RSC or GRS; expiry leads to retransmission attempts or escalation to broader recovery actions like group resets.[1] Special cases include emergency releases, where critical conditions allow unilateral action without awaiting acknowledgement to prioritize rapid recovery, often using RSC for immediate circuit reset. Overlap release applies in networks employing overlap signaling, permitting an REL to be sent before full address information is complete, typically with a cause code denoting incomplete addressing to abort partial setups efficiently.Applications and Examples
Sample Call Flows
Sample call flows in the ISDN User Part (ISUP) demonstrate the sequence of message exchanges between originating and terminating exchanges for common scenarios, as specified in ETSI EN 300 356-20, which aligns with ITU-T Q.761 to Q.764 for basic call control.[30] These flows highlight the use of key messages such as IAM (Initial Address Message), ACM (Address Complete Message), ANM (Answer Message), REL (Release Message), and RLC (Release Complete Message), with variations for en-bloc and overlap signaling modes.[30] En-bloc signaling sends the complete called party number in a single IAM for efficient national setups, while overlap signaling distributes digits across IAM and subsequent messages, commonly applied in international calls to accommodate variable number lengths per E.164 standards.[31]Basic Successful Call (En-Bloc Signaling)
In a basic successful call using en-bloc signaling, the originating exchange initiates the setup by sending an IAM with the full called party number to reserve a circuit and route the call.[30] The terminating exchange alerts the called party and returns an ACM to confirm address complete and continuity, enabling ringback tone to the caller.[30] Upon answer, the ANM is sent to seize the circuit for conversation.[30] The call ends with the REL from the disconnecting party, acknowledged by RLC to release the circuit.[30] A text-based representation of this flow is as follows:This sequence supports both speech and non-speech connections, with the entire process typically completing within seconds for national calls, though international setups may extend due to additional network hops.[31]Originating [Exchange](/page/Exchange) Terminating [Exchange](/page/Exchange) IAM -----------------------> (full called number) ACM <----------------------- (address complete, alerting) ANM <----------------------- (called party answers) (conversation phase) REL -----------------------> (release request) RLC <----------------------- (release complete)Originating [Exchange](/page/Exchange) Terminating [Exchange](/page/Exchange) IAM -----------------------> (full called number) ACM <----------------------- (address complete, alerting) ANM <----------------------- (called party answers) (conversation phase) REL -----------------------> (release request) RLC <----------------------- (release complete)
Overlap Signaling Example
Overlap signaling is employed when the full called party number is not immediately available, such as in international calls where digit collection occurs progressively to handle varying national formats.[31] The originating exchange sends an IAM with initial address digits and a continuity indicator, followed by one or more SAM (Subsequent Address Message) to deliver remaining digits as they are collected.[30] Once the complete address is received, the terminating exchange sends ACM to indicate readiness, and ANM upon answer, mirroring the en-bloc conversation and release phases.[30] The text-based flow for overlap signaling, contrasted with en-bloc, emphasizes the multi-message address delivery:This mode allows routing to begin before full digit collection, reducing setup delays in international scenarios but requiring careful timer management to prevent premature release.[31]En-Bloc Flow (Single IAM) Overlap Flow (IAM + SAM) Orig. Ex. IAM (all digits) -----> Orig. Ex. IAM (partial) -----> Term. Ex. Term. Ex. ACM ---------------- < Term. Ex. ACM ---------------- < ANM ---------------- < Term. Ex. ANM ---------------- < REL --------------> REL --------------> RLC ---------------- < RLC ---------------- <En-Bloc Flow (Single IAM) Overlap Flow (IAM + SAM) Orig. Ex. IAM (all digits) -----> Orig. Ex. IAM (partial) -----> Term. Ex. Term. Ex. ACM ---------------- < Term. Ex. ACM ---------------- < ANM ---------------- < Term. Ex. ANM ---------------- < REL --------------> REL --------------> RLC ---------------- < RLC ---------------- <
Failed Call Example
In a failed call scenario, such as an unallocated number, the originating exchange sends IAM, but the terminating exchange cannot route to the destination and responds immediately with REL indicating cause code 1 (unallocated/unassigned number), meaning the number is valid in format but not assigned in the network.[32] The originating exchange acknowledges with RLC to clear the circuit, avoiding resource hold.[30] For a busy condition, the REL carries cause code 17 (user busy), signaling that the called party is busy (e.g., all lines engaged or rejecting the call).[32] The simplified text flow for a failed call due to unallocated number is:These failure flows ensure rapid circuit release, with cause codes defined per ITU-T Q.850 to provide diagnostic information for network management.[32]Originating Exchange Terminating Exchange IAM -----------------------> REL <----------------------- (cause #1: unallocated number) RLC ----------------------->Originating Exchange Terminating Exchange IAM -----------------------> REL <----------------------- (cause #1: unallocated number) RLC ----------------------->