Connected: An Internet Encyclopedia
Q.931 Protocol Overview

Up: Connected: An Internet Encyclopedia
Up: Topics
Up: Hardware
Up: ISDN
Prev: Q.921 Protocol Overview
Next: G.711 Protocol Overview

Q.931 Protocol Overview

Q.931 Protocol Overview Q.931 is ISDN's connection control protocol, roughly comparable to TCP in the Internet protocol stack. Q.931 doesn't provide flow control or perform retransmission, since the underlying layers are assumed to be reliable and the circuit-oriented nature of ISDN allocates bandwidth in fixed increments of 64 kbps. Q.931 does manage connection setup and breakdown. Like TCP, Q.931 documents both the protocol itself and a protocol state machine.

The general format of a Q.931 message includes a single byte protocol discriminator (8 for Q.931 messages), a call reference value to distinguish between different calls being managed over the same D channel, a message type, and various information elements (IEs) as required by the message type in question:

The most important messages types are:

ALERTING (1)
IEs: Bearer capability, Channel identification, Progress indicator, Display, Signal, High layer compatibility

Direction: Called user -> network -> calling user

The called user is being alerted, i.e "the phone is ringing".

CALL PROCEEDING (2)
IEs: Bearer capability, Channel identification, Progress indicator, Display, High layer compatibility

Direction: Called user -> network -> calling user

Call establishment is proceeding.

CONNECT (7)
IEs: Bearer capability, Channel identification, Progress indicator, Display, Date/time, Signal, Low layer compatibility, High layer compatibility

Direction: Called user -> network -> calling user

The call has gone through and been accepted.

CONNECT ACKNOWLEDGE (15)
IEs: Display, Signal

Direction: Calling user -> network -> called user

SETUP (5)
IEs: Sending complete, Repeat indicator, Bearer capability, Channel identification, Progress indicator, Network specific facilities, Display, Keypad facility, Signal, Calling party number, Calling party subaddress, Called party number, Called party subaddress, Transit network selection, Repeat indicator, Low layer compatibility, High layer compatibility

Direction: Calling user -> network -> called user

Initial message sent to initiate a call

SETUP ACKNOWLEDGE (13)
IEs: Channel identification, Progress indicator, Display, Signal

Direction: Called user -> network -> calling user

SUSPEND (37)
IEs: Call identity

Direction: User -> network

ISDN calls can be suspended (put on hold) to allow another call to use the B channel. SUSPEND/RESUME messages manage suspended calls.

SUSPEND ACKNOWLEDGE (45)

IEs: Display

Direction: Network -> user

SUSPEND REJECT (33)

IEs: Cause, Display

Direction: Network -> user

RESUME (40)
IEs: Call identity

Direction: User -> network

RESUME ACKNOWLEDGE (48)
IEs: Channel identification, Display

Direction: Network -> user

RESUME REJECT (34)
IEs: Cause, Display

Direction: Network -> user

DISCONNECT (69)
IEs: Cause, Progress indicator, Display, Signal

A message sent from the user to request call breakdown, or from the network to indicate the call has been cleared.

RELEASE (77)
IEs: Cause, Display, Signal

A message sent to indicate the channel is being released.

RELEASE COMPLETE (90)
IEs: Cause, Display, Signal

STATUS ENQUIRY (117)
IEs: Display

Direction: User -> network

Requests a STATUS message from the network

STATUS (125)
IEs: Cause, Call State, Display

Direction: Network -> user

Indicates current call state in terms of Q.931 state machine

A simple Q.931 message exchange might go as follows:

After the Q.931 header, identifying the call and the message type, comes the information elements. There are two types of IEs: single byte and multi-byte, distinguished by their high-order bit:

The most important IEs are all multi-byte:

Bearer capability (4)
Specifies a requested service: packet or circuit mode, data rate, type of information content

Call identity (16)
Used to identify a suspended call

Call state (20)
Describes the current status of a call in terms of the standard Q.931 state machine

Called party number (112)
The phone number being dialed

Calling party number (108)
The origin phone number

Cause (16)
The reason a call was rejected or disconnected. A sample of possible cause codes:
1Unassigned number
3No route to destination
6Channel unacceptable
16Normal call clearing
17User busy
18User not responding
19User alerting; no answer
22Number changed
27Destination out of order
28Invalid number format
34No circuit/channel available
42Switching equipment congestion

Channel identification (24)
Identify a B channel

Date/time (41)
Poorly defined. Not year 2000 compliant!

Display (40)
Human-readable text. Can be specified with almost any message to provide text for an LCD display, for example.

Service Profile Identification (58)
Contains a Service Profile Identifier (SPID)

Signal (52)
Provide call status tones according to the following chart:

MeaningNorth American Practice
0000 0000Dial tone350 Hz + 440 Hz; continuous
0000 0001Ringing440 Hz + 480 Hz; 2 sec on/4 sec off
0000 0010InterceptAlternating 440 Hz and 620 Hz; 250 ms each
0000 0011Network congestion (fast busy)480 Hz + 620 Hz; 250 ms on/250 ms off
0000 0100Busy480 Hz + 620 Hz; 500 ms on/50