ISDN User Part
The ISDN User Part or ISUP is part of Signaling System No. 7, which is used to set up telephone calls in the public switched telephone network. It is specified by the ITU-T as part of the Q.76x series.
When a telephone call is set up from one subscriber to another, several telephone exchanges could be involved, possibly across international boundaries. To allow a call to be set up correctly, where ISUP is supported, a switch will signal call-related information like called party number to the next switch in the network using ISUP messages.
The telephone exchanges may be connected via T1 or E1 trunks which transport the speech from the calls. These trunks are divided into 64 kbit/s timeslots, and one timeslot can carry exactly one call. Regardless of what facilities are used to interconnect switches, each circuit between two switches is uniquely identified by a circuit identification code that is included in the ISUP messages. The exchange uses this information along with the received signaling information to determine which inbound and outbound circuits should be connected together to provide an end to end speech path.
In addition to call related information, ISUP is also used to exchange status information for, and permit management of, the available circuits. In the case of no outbound circuit being available on a particular exchange, a release message is sent back to the preceding switches in the chain.
ISUP variants
Different ISUP variants exist. ITU-T specifies the variant used in the international network. In Europe ETSI releases its own ISUP specification which is close that of the ITU-T. ITU-T ISUP is used for international connections and is the base for some national ISUP variants. Most countries have their own variation of ISUP to cover national requirements. ANSI specifies variations of ISUP utilized under the North American Numbering Plan; however, some countries under the NANP differ in their support of some procedures Some countries outside the NANP support ANSI-based variants.While these variations of ISUP differ in subtle ways, the vast majority of ISUP message type, parameter type, and parameter field code-points, and related fundamental call processing procedures, agree across all variants.
ITU-T specification versions
- 1980 – ISUP Yellow Book
- 1984 – ISUP Red Book
- 1988 – ISUP Blue Book
- 1991 – ISUP Q.767
- 1992 – ISUP'92 White Book
- 1997 – ISUP'97
Message types
An ISUP message contains a fixed header containing the circuit identification code and the ISUP message type, followed by a mandatory fixed-length parameter part, a mandatory variable-length parameter part, and an optional parameter part that are dependent on the type of message being sent. ISUP messages can be sent using the services of the Message Transfer Part, or, less often, the Signalling Connection Control Part. These messages are transmitted in various stages of call setup and release. The most common messages are:- Initial address message — First message sent to inform the partner switch that a call has to be established on the CIC contained in the message. Contains the called number, type of service and optional parameters.
- Subsequent address message — For networks that support overlap dialing procedures, and then in the case that the IAM did not contain the full called number, one or more SAMs follow containing additional digits. This message is not supported by networks that only support en bloc dialing procedures.
- Address complete message — Message returned from the terminating switch when the subscriber is reached and the phone starts ringing, or when the call traverses an interworking point and the intermediate trunk is seized.
- Call progress — Contains additional information about the progress of a call. Normally sent after the ACM when the status of the call changes from that reported in the ACM.
- Answer message — Sent when the subscriber picks up the phone, a resource is connected or answer supervision is returned by an interworking point. Normally charging starts at this moment. It is required that the call be cut through in both directions by this point.
- Connect — Sent when the call is answered by an automatic terminal. This message replaces the ACM, CPG and ANM for calls that are answered by automatic terminals.
- Release — Sent to clear the call when a subscriber goes on hook. This is also sent if the terminating switch determines that the call cannot be completed. In either case, the terminating switch provides a cause value in the message to explain the reason for the release, e.g., "User busy".
- Release complete — Acknowledgment of the release – the circuit is idle afterward and can be used again.
Sample call flow
A subscriber telco switch A telco switch B B subscriber
Off hook
Dial digits --->
-- IAM -->
-Ringing ->
<-- ACM -- Off hook
<-- ANM --
----------------------- Conversation -----------------------
On hook -- REL --> On hook
<-- RLC --
Detailed call flows are provided in ITU-T Recommendation Q.784.1.
Below is a detailed exchange of ISUP messages involving two ISDN telecom switches. The report was from an Alcatel S12 digital switch.
BENIN 2005-07-15 16:49:16 FR
00121 00000000 G159CA01 L6X8AA47
SWA-ORJ-OBSERVATION
SYSTEM REPORT
-------------------------------------------------------------------------
OBSERVATION/CALL SAMPLING SUCCESSFUL
-----------------------------------------------------------------------
TYPE OF OBSERVATION: ORIGINATING
DATE = 2005-07-15 TIME = 16:48:23:09
CALLING DN = 52250000
CALLING CAT = PRIORITY SUBSC
INC EQ NBR = H'31 & 1
RCVD DIGITS = 012625729
CALLED DN = 012625729
OTG TRNKGRP = LAGOS_SC
OTG EQ NBR = H'1111 & 16
BEARER = AUDIO31
XFER MODE = CIRCUIT SWITCHED
CAUSE = NORMALUN
TERM SEIZED = 0: 0: 2: 3
THROUGH SWITCH = 0: 0: 4: 3
ANSWER = 0: 0:14: 6
RELEASE = 0: 0:46: 3
TAXATION INFO
-------------
CHARGED DN = 52250000
CALL DURATION = 0: 0:31: 6
COUNTS = 2
TARIFF GRP = 4 TARIFF ID = 7
RATE = 20 RANDOM CNT = 0
SURCH UNITS = 0 CAT UNITS = 0
TARIFF REG = 1
RECEIVER SZD = 0: 0: 0: 0 RECEIVER RLSD = 0: 0: 4: 2
REC EQ NBR = H'13 & 6 REC RLS INFO = FORCED RLSE
REC SIGNAL DIRECTION TIME
------------- --------- ----
REG-I-10 RECEIVED 0: 0: 1: 3
REG-I-1 RECEIVED 0: 0: 1: 6
REG-I-2 RECEIVED 0: 0: 1: 8
REG-I-6 RECEIVED 0: 0: 2: 1
REG-I-2 RECEIVED 0: 0: 2: 3
REG-I-5 RECEIVED 0: 0: 2: 5
REG-I-7 RECEIVED 0: 0: 3: 0
REG-I-2 RECEIVED 0: 0: 3: 3
REG-I-9 RECEIVED 0: 0: 3: 7
INC SIG TYPE = ANALOG-SUBSCR
SIGNAL DIRECTION TIME
------------- --------- ----
SEIZURE RECEIVED 0: 0: 0: 0
DIAL-TONE SENT 0: 0: 0: 0
CLEAR-FW-FW RECEIVED 0: 0:46: 1
OTG SIG TYPE = ISUP-NAT
MESSAGE DIRECTION TIME LENGTH
------------- --------- ---- ------
IAM SENT 0: 0: 2: 3 29
85014040007000010020000B03020604019010620A0603132552000000
SAM SENT 0: 0: 2: 4 13
85014040007000020200028002
SAM SENT 0: 0: 2: 6 13
85014040007000020200028005
SAM SENT 0: 0: 3: 1 13
85014040007000020200028007
SAM SENT 0: 0: 3: 4 13
85014040007000020200028002
SAM SENT 0: 0: 3: 8 13
85014040007000020200028009
ACM RECEIVED 0: 0: 4: 1 15
850141000070000616040129010100
ANM RECEIVED 0: 0:14: 6 18
8501410000700009012D02000039022DC000
SUS RECEIVED 0: 0:45: 4 10
850141000070000D0100
REL SENT 0: 0:46: 1 13
850140400070000C020002849F
RLC RECEIVED 0: 0:46: 3 9
850141000070001000
UNSOLICITED REPORT NO = 00121
Cause codes
Release cause codes are used to identify and debug any events occurring in ISDN User Part signaling. Every event in ISUP signaling generates a cause code number. Even for a normal ISUP call, a cause code is generated. There are lot of applications developed based on the cause code from ISUP signaling. Similarly Telecom operators trace for Causecodes to debug any call failures.Following are the list of cause codes used. Cause codes only defined by number are effectively undefined, and may be used for proprietary solutions.
- Unallocated number
- No route to specific transit network
- No route to destination
- Send special info tone
- Misdialed trunk prefix
- Channel unacceptable
- Call awarded and being delivered in established channel
- Preemption
- Preemption – circuit reserved for reuse
- 10
- 11
- 12
- 13
- 14
- 15
- Normal call clearing
- User busy
- No user responding
- No answer from user
- Subscriber absent
- Call rejected
- Number changed
- Redirect to new destination
- Unknown business group
- Exchange routing error
- Non-selected user clearing
- Destination out of order
- Invalid number format
- Facility rejected
- Response to STATUS ENQUIRY
- Normal, unspecified
- 32
- 33
- No circuit/channel available
- 35
- 36
- 37
- Network out of order
- Permanent frame mode connection out of service
- Permanent frame mode connection operational
- Temporary failure
- Switching equipment congestion
- Access information discarded
- Requested channel/circuit not available
- Preemption
- Precedence call blocked
- Resources unavailable, unspecified
- 48
- Quality of service unavailable
- Requested facility not subscribed
- Call type incompatible with service request
- 52
- Outgoing calls barred within CUG
- Call blocked due to group restrictions
- Incoming calls barred within CUG
- 56
- Bearer capability not authorized
- Bearer capability not presently available
- 59
- 60
- 61
- Inconsistency in designed outg. access inf. and subscr. class
- Service or option not available, unspecified
- 64
- Bearer capability not implemented
- Channel type not implemented
- 67
- 68
- Requested facility not implemented
- Only restricted digital bearer cap. is available
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- Service or option not implemented, unspecified
- 80
- Invalid call reference value
- Identified channel does not exist
- A suspended call exists, but this call identity does not
- Call identity in use
- No call suspended
- Call having the requested call identity has been cleared
- User not member of CUG
- Incompatible destination
- 89
- Non-existing CUG
- Invalid transit network selection
- 92
- 93
- 94
- Invalid message, unspecified
- Mandatory information element is missing
- Message type non-existing or not implemented
- Message incompatible with call state or mesg type non-existent or not implemented
- Information element non-existent or not implemented
- Invalid information element contents
- Message not compatible with call state
- Recovery on timer expiry
- Parameter non-existent or not implemented - passed on
- 104
- 105
- 106
- 107
- 108
- 109
- Message with unrecognized parameter discarded
- Protocol error, unspecified
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- Interworking, unspecified
Message format
- Routing Label
- Circuit Identification Code
- Message Type
- Mandatory Fixed Part
- Mandatory Variable Part
- Optional Part
The Circuit Identification Code is used to specify which trunk between two switches is used to carry a particular call. Note that some versions of ANSI ISUP permit a CIC with 14 significant bits instead of the 12 that are shown.
- The Message Type indicates the ISUP message type. The presence and form of the remaining 3 components are determined by this message type.
- The Mandatory fixed part, when present, contains the mandatory, fixed-length parameters associated with the message type.
- The Mandatory variable part, when present, contains the mandatory, variable-length parameters associated with the message type.
- The Optional part, when present, contains the optional parameters permitted to be included in the message type.