Lecture 4 - Integrated Services Digital Network (ISDN) : S38.3115 Signaling Protocols - Lecture Notes
Lecture 4 - Integrated Services Digital Network (ISDN) : S38.3115 Signaling Protocols - Lecture Notes
Lecture 4 - Integrated Services Digital Network (ISDN) : S38.3115 Signaling Protocols - Lecture Notes
1
(NB: senders are mentioned for completeness, they are easy to implement for a limited set of
signals. One only needs to store the signals in a memory in digital form such that the signals
can be sent from the memory onto a PCM timeslot).
On this course we will first talk about digital signaling for subscribers, i.e. the
DSS1 signaling system, although it appeared later than SS7.
For local operators, the most long term investment is the copper laid in ground
and connecting users to its local exchanges. By introducing digital signaling
on local loops, the operators thought that they will be able to add value to their
investment into their copper plant and that they will leverage the value of their
copper.
In practice it turned out that very few attractive subscriber services could be
invented such that were impossible to implement with analogue subscriber
lines and analogue subscriber signaling. Residential customers started to adopt
ISDN in their homes more or less widely only, when Internet connections at
home had become popular and modems for transferring data over analogue
phone lines started to feel clumsy and slow.
On the other hand, DSS1 was widely adopted for the purpose of connecting
PABXs to local exchanges and as a basis for specifying private network
signaling systems. With DSS1, we had the first rich signaling system that was
well specified and an international standard for corporate telephony services.
For example, DDI stopped to be a problem. Reachability became easier.
Clearly, easy reachability of company personnel is very valuable for
businesses that actively communicate with their customers.
So, even if DSS1 was not a huge success with residential customers, it became
sort of a mother of many other signaling systems and many of its principles
have been inherited to other more modern systems.
ISDN was specified in a series of CCITT books (red book 1984, blue book
1988, Euro ISDN 1992). The blue book was the first specs that was more or
less accurate enough for implementation. However, only Euro ISDN gave
enough detail for implementing supplementary services so that it started to
make sense to produce user devices in reasonable volumes.
Digital transmission
Message based signaling can be understood by breaking the required
functionality into layers and features on each layer. Messages are made of bits,
these are organized into frames and finally inside the frames, we can find the
messages that carry the telephony signaling information.
Line Coding
In order to transfer bits to a distance on a wire, an agreement what a logical
one and a logical zero look like is needed. This agreement is called the line
code. Physical limitations of the wired connection may dictate some properties
of good line codes. Let us take an example.
The simplest code one can think of, for example on a physical copper
connection like the local loop, would be to send a short pulse to indicate a
logical one and zero voltage would indicate logical zero. In case of local loop
this has the disadvantage that the code itself creates a constant current
component (in a Fourier breakdown of the coded signal) that is dependent on
what is being sent. This is not nice because the local loop is used for power
supply and there may be things like transformers on the line card (something
like this is needed for transforming a two wire connection to a four wire
connection that is done on the line card).
The limitation with the AMI code is that a long string of zeros is difficult to
count. The receiver needs to have a very accurate clock to be able to count the
number of zeros that was sent. In reverse-AMI the difficulty comes with a long
string of ones.
The difficulty of a possible long string of zeros is resolved in the HDB3 –code
(more generally HDBn), see Figure 4.1. HDB comes from the words “high
density bipolar 3”. This line code is used for example in the PCM system.
In HDB3, the forth consecutive zero is replaced by a pulse of the same polarity
as the previous one violating the idea that there should be no constant current
component and the basic encoding of logical zeros and ones. This violation
needs to be balanced out. This is done by sending a balance pulse instead of
the next zero.
1 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 0
+V
AMI 0 or inverse
-V
AMI - alternate mark inversion
+V
B 0 0 V
HDB3 0 0 0 0 V B V or inverse
-V
Exercise: Make a coding table of 32 lines for HDB3 showing how all
combinations of 5 bits are presented by positive and negative pulses and zeros.
Frame synchronization
In digital serial transmission, once we are able to detect logical zeros and ones,
we need to spot bytes and strings of bytes. This requires that we detect the
beginning and the end of a string, we call it a frame. Different transmission
methods use different framing methods. The ISDN signaling channel uses a
well known method, inherited from HDLC (high level data link control).
HDLC framing is most suitable for transferring messages that are from tens to
a few thousand bytes in length. The idea is to mark the beginning and the end
of a frame with eight bits: “01111110”. This combination is called a delimiter.
The immediate question is: what if the user wants to send 01111110? How can
we make the distinction with the delimiter? The problem is solved by bit
stuffing.
Bit stuffing and HDLC framing are implemented on silicon and higher
protocol layers need not worry about them. Processing HDLC framed
messages is natural for computers: the contents are moved to memory and the
message can be parsed using the CPU.
What if we need to send more than a few thousand bytes? We will discuss
other frame structures later on this lecture.
Basic rate interface offers 2 data (or voice) channels of 64 kbit/s each, plus a
signaling channel on 16 kbit/s. So, a customer, using the existing copper
wiring, could have 2 independent voice channels instead of one provided by
PSTN. This turned out to be of limited attraction to the users. The added value
came to fruition when faster connections to the Internet were needed. The data
(or voice) channels are called B-channels (short for bearer) and the signaling
channel is called the D-channel.
ISDN alternatively offers the Primary Rate Interface (PRI) that in practice
makes use of PCM transmission. PRI is meant for connecting PABXs and
servers like Voice Mail systems to exchanges. One PRI offers 30 data (or
voice) channels and one signaling channel each on 64 kbit/s.
Both in BRI and PRI the signaling channel is used for signaling related to calls
that use any of the B-channels on that interface. The D-channel can also be
used for transferring packet data. This possibility of transferring packet data
has been made some use of in ISDN. The possibility later found a great
success in GSM where signaling channels are used to carry short messages
between users. One example of the use of packet data on D-channel is the
always on-line connection to the Internet that was implemented using BRI.
The use of this service in ISDN was short lived because ADSL came very
quickly after its introduction.
From the ISDN exchanges point of view B-channels are continuous 64 kbit/s
bit streams that are connected to its switching fabric, switched to PCM
timeslots for wide area connectivity and allocated for calls based on signaling
that takes place on the D-channel.
BRI separates the home wiring (that is typically owned by the house owner)
from the copper pair operated by the operator. On this border, a Network
Termination box (NT) is installed. Originally, the operators wanted to make
this the demarcation point for responsibilities. Regulation forced the operators
to offer BRI using different interfaces. Towards the user devices an NT offers
the S-interface (or reference point). On the copper wire towards the exchange
we have the U-interface.
S-interface wiring uses 8 wires, two in each direction for data and four for
power, connectors are RJ45. The S-interface was in international standard
from the beginning. Its gross data speed is 192 kbit/s containing 2 × 64 kbit/s +
16 kbit/s = 144 kbit/s of user accessible data and 48 kbit/s of overhead. Line
coding on the S-interface is reverse AMI. The U-interface that became a
standard was based on 2B1Q line coding on 160 kbit/s. Naturally, the same 2
data channels and the signaling channel with the total of 144 kbit/s need to be
carried. On U-interface, the amount of overhead is 16 kbit/s.
On PRI, ISDN also provides the T-interface between the Network Termination
1 and Network Termination 2.
Between the Line Termination (LT) and the Exchange Terminal in the local
exchange, ISDN specifies the optional V-interface. This was elaborated to
V5.1 and V5.2 interfaces between subscriber multiplexers and LEs during the
1990’s. These were however implemented by major wire-line switching
system vendors in a slightly different manner and the goal that the operators
had in mind was only partially reached. The idea was that since ca. 70% of LE
cost is in the access part, let’s put a standard interface between the core switch
and the access part and let the vendors compete in the two areas separately.
ISDN also talks about the R-interface. In fact this is a pseudonym for any
legacy interface in the customer premises that can be mapped using a Terminal
Adaptor (TA) box to the S-interface.
When ISDN was deployed the boxes that the operator installed at homes were
often actually combinations of the functions that are described in ISDN
specifications. The home box could contain a TA for example for 2 analogue
phone lines and an NT1 with 3 RJ45 jacks for S-interfaces.
The code violation needed for frame synchronization is balanced using the L-
bit.
Figure 4.2 shows the S-interface frame structure. The 48 bits in a frame have
two samples for each B-channel (4000 times per second instead of 8000 times
per second in PCM). Four of the bits in a frame are allocated to the D-channel.
Next to D-channel bits, the NT echoes back downstream the D-channel bits it
has received from a terminal. This uses another 4 bits on the downstream
frame. The A-bit is used for Activation of the interface in the downstream
direction. All this uses 1 + 1 + 4 × 8 + 2 × 4 + 1 = 43 bits. The rest is for
achieving DC balance and future extensions.
NT -->TE
48 bit frame
2 bit delay
F Frame alignment bit B1 channel 1 bits A Activation bit
FA Frame synchronization bit B2 channel 2 bits M Multi-frame bit (normally 0)
L DC balance bit D D-channel bits S Future use (0)
N Inverted FA (normally 1) E Echo channel bits
To be more exact, LAPD serves for the purpose of reliable transfer of chunks
of data between many terminals and many layer 3 entities in the LE.
The first thing one almost always needs to understand about a protocol is
how the communicating parties are identified.
In case of LAPD, the parties are identified with a Data Link Connection ID
(DLCI) field that is carried in each frame. DLCI normally takes 16 bits after
the delimiter marking the beginning of the frame. The DLCI can be extended
to larger values if needed. DLCI has two subfields: SAPI or Service Access
Point Id and TEI for Terminal Endpoint Id. SAPI identifies the layer 3 or
management entity to which the frame is addressed. TEI values can be
dynamically allocated to terminals in a BRI. LAPD has procedures for the
dynamic allocation of TEI values.
Before any higher level (Q.931) functions can be performed, each ISDN
device must be assigned at least one unique TEI value. These numbers can be
pre-assigned (TEIs 0-63), or dynamically assigned (TEIs 64-126). Most TEI
assignment is done dynamically, using the TEI management protocol. Using
dynamic allocation eases configuration.
Next after the address field, LAPD has a control field of two bytes. This is
used for identifying the types of frames (I, S and U –frames) and carrying
frame numbers. LAPD supports both an acknowledged mode of data transfer
with I-frames and unacknowledged mode with IU-frames. In acknowledged
mode LAPD supports windowing: a certain number of frames can be sent
before an acknowledgement MUST be received prior to sending more. By
frame numbering reliable transfer of data can be achieved.
Each layer in a protocol stack usually needs some management functions. This
is called layer management. An example are the TEI management procedures
we already mentioned.
After the address and control bytes, a LAPD frame has room for the payload.
The frame ends with a two byte checksum and the ending delimiter.
Each message has a message type field. This gives an idea about the main
function or state transition that the receiver should execute on reception.
Identification in Q.931
Q.931 uses telephone numbers for identifying subscribers. The layer 3 entities
related to a call are identified by Call References that are arbitrarily chosen by
the communicating parties (Terminal or LE). A signaling message can identify
the B-channel that is allocated for a call in an information element that is
carried inside the signaling message.
All this means that Q.931 signaling is also logically separated from the voice
channels. Signaling entities can be created and they can live independent of the
allocation of voice channels.
ISDN BRI supports the max of 8 terminals in a single S-interface. They can all
use the same telephone number or each one can have its own telephone
number. The first option leads to a need to identify compatibility of the
terminal with the service that is being requested. For this purpose Q.931
supports Lower layer compatibility information and High layer compatibility
information elements during the call setup procedure. Compatibility info can
for example define that a G4 fax machine is requested and that other terminals
in the S-interface should not react to an incoming call. Actually, this violates
the layering principles that are assumed in OSI. Compatibility relates to higher
layers than layer 3. Nevertheless, the information about compatibility is
carried in Q.931 that is supposed to be a layer 3 protocol. The advantage is that
if there is no compatible device connected to the concerned S-interface, no
charges will be incurred to the calling subscriber. Instead the call will fail. The
alternative would be to let the user devices exchange whatever information
they wish prior to setting up a call (for example of less than N bytes). This,
however, did not meet the operator’s charging requirements. Letting users
communicate in any way prior to setting up a call and starting charging just
does not follow the telephone operator principles.
Signaling modes
Q.931 supports two modes of signaling: the functional mode and the stimulus
mode. In functional mode information is encoded in service specific
information elements. This sounds very logical but unfortunately, it means that
software in both ends of communications needs to be updated if new
functional information elements are needed for new services. There is not such
thing in ISDN as software download to Terminals from the network. This
leads to cumbersome updating of Terminals.
Stimulus mode means that signaling message carries the keying sequence on
the phone to the LE. It is possible to program new keying sequences on
programmable phones (soft keys) and implement new services just by
updating the LE.
Q.931 supports overlap sending. This means that the dialing sequence can be
as it was for PSTN phones: pick up the receiver, hear dial tone, push buttons
for dialing and wait for the ringing tone.
The first message for call setup is the SETUP message. SETUP message
contains at least the bearer service (= is this a data call or audio call). In
practice it is a good idea to include as many digits in the SETUP message as
there are in the shortest directory number in the local dialing plan (4 in the
Finnish ISDN network e.g. 4511 for TKK), so the originating exchange can
attempt routing immediately having received the SETUP message.
NB1: In case there is no number portability (NP), the last digits (in Finland
4…8) are needed only at the terminating exchange, the rest of the exchanges
do not even look at the last digits. If NP is allowed in the number block, all
digits need to be received prior to routeing decision at the originating
exchange.
NB2: There is no such thing as number complete indication from the terminal,
instead the network deduces when all digits have been received by executing
number analysis after each digit or at times instructed by former routing
information retrieved based on earlier digits received for the call.
One should also note that the call can be released any time during call setup if
the caller goes on-hook. Instead of CONNECT, there may be a
DISCONNECT in the backward direction etc.
If one takes a look at the call setup procedure, it becomes clear that Q.931 does
not follow the client-server model. Instead the model is that of communicating
finite state machines.
Signaling Efficiency
Another angle is the signaling system designers and operators point of view. In
this case we are interested in the use of network transmission capacity and
other resources that are needed for signaling. For digital signaling systems a
good metric is look at the size of typical signaling flows created using the
signaling system. Flow size can be measured in bits. Bits can be turned into
time spent by the signaling flow by a simple formula:
This measure is easy to use for a signaling system. For post dialing delay
measurements need to be made across a network or calculations must be based
on numerous assumptions about the network. Therefore, post dialing delay is
suitable for characterizing a network rather than a single signaling system.
Amount of signaling bits in a call flow << amount of bits in the service
The flow has been captured in the TKK Netlab by Vesa Kosonen. Layer two flags and the LAPD
checksums are not shown in the captured flow. The presentation uses hexa code instead of binary.
In hexa code four bit combinations are replaced by hexadecimal numbers from 0, 1, 2, …A, B, C,
D, E and F.
From one ISDN phone (29) to another ISDN phone (32) ENBLOCK SENDING- HEXA
representation
By cleaning up we get Table 4.1. LAPD (layer 2 content) is shown in bold. The reminder is Q.931.
The used telephone numbers are just two digits. In our comparison, we need to add a reasonable
amount of digits to this flow to account for some average number length.
009900000801130504038090A31801836C02008070038033327D0291817E0
SETUP 104
CALL PROC 029900020801930218018A
Alerting 0299020208019301
Connect 0299040208019307290569010714247C038090A3
Disconnect 0299060208019345080281901E028188
Release 009902080801134D08028090
Release
Complete 029908040801935A
Counting the bits message by message and accumulating the bits over the whole flow we get Table
4.2.
The cumulative milliseconds of the ISDN signaling flow, assuming a 16 kbps signaling channel in
the 2B+D interface, en-block sending, 8 digits for both the Called Party Number and the Calling
Party Number and taking into account both the Q.931 bits and the LAPD bits in the frames that
carry the signaling information are in column H of Table 4.2. The result is also presented
graphically in Figure 4.3.
70
60 62
58
50 52
44
40
MS
34
30 30
24
20
10
0 e
t
t
e
g
C
P
ec
ec
et
as
tin
O
TU
n
n
pl
PR
e
er
on
on
SE
om
el
Al
R
isc
L
C
AL
e
C
as
e
el
R
Table 4.3 presents some bit count metrics on the ISDN signaling flow.
Number length
ISDN signaling bitcount summary =8
L3 L2+L3 L2 overhead %
Call setup signaling (enblock) 536 664 24 %
Avg message in call setup 134 166
Call setup and release total 728 952 31 %
Avg message in total 104 136
The signaling transfer delay occurs due to the need to transfer the signaling bits on a signaling
channel of finite speed. We calculate signaling transfer using formula 1.
The total signaling transfer delay for call setup on a 2B+D access is less than 50 ms and total delay
including also call release is slightly above 60 ms.