Digital Switching Overview - Lyle School of Engineering

advertisement
Digital Switching Control
Computers
EETS8320
SMU
Lecture 9
Subroutines and Interrupts, real
time computer controls, and
digital circuit switching
(print slides only, no notes pages)
Page 1
©1997-2005 R. Levine
Interrupts and Real Time
• Telecom switches must respond to real time
events (an operating system capability)
– A process not usually invoked by ordinary business or
scientific programming
• Computer hardware is designed to interrupt an
ongoing “background” program
– Saves the “context” of the interrupted program
– Starts a subroutine-like program specific to the event
– Upon completion, computer restores the “context” and
continues with the “background” program
• To understand this process better, we first review
how subroutine internals work
Page 2
©1997-2005 R. Levine
Subroutines
• In many computer programs the
same repeated sequence of
operations occur
– only the variables acted on are different in
each instance
• This is the typical application for
subroutines or functions
– Also called procedures, sub-programs, subprocedures. Functions are closely related.
Page 3
©1997-2005 R. Levine
Appearance in High Level
Languages
• Most high level (application) languages support
writing and using subroutines
• Example subroutine (pseudo-code):
SUBROUTINE ALFA (A, B, C, X, Y, Z);
Q:= 56; */Q is a “local” variable/*
Z:=X+Y+C;
A:=Z-B*Q
RETURN [A, Z];
END;
• Also, FUNCTIONs are subroutines which are
invoked from the calling program somewhat
differently, and return one result variable, typically
in a register.
Page 4
©1997-2005 R. Levine
How to Call Subroutines
• In main or calling program we typically use the
statement:
CALL ALFA (P,M,N,R,S,T);
• To invoke mathematical functions, use the
function name as a data variable:
G:= H/7 + 3*SIN(2*PI*ANGLE);
• System-provided functions include
– Mathematical, trigonometry items like SIN,COS, etc.. The
result can be used in an equation as a variable.
– Also system functions like READ, PRINT, WRITE, etc..,
for input/output from/to keyboard, display, disk, etc..
• Usually invoked without use of the keyword CALL
PRINT (X, P, M);
Page 5
©1997-2005 R. Levine
JUMP
• Corresponds in high level languages to GOTO
<label>;
– where <label> represents a target.address
• JUMP replaces the contents of the instruction
address register with the target.address from the
JUMP instruction
– Consequently, the computer will take the next program
step from the target.address in RAM
• rather than from the word following the JUMP program
step itself
– No provision exists for later returning to the step
following the JUMP
Page 6
©1997-2005 R. Levine
Corresponding Assembly
Language
• Assembly language jump operations (not
subroutine jumps:
JUMP target.address
JMPConditional target.address
– Does not imply any later return to succeeding
program steps…
• Jump to Subroutine
JSR target.address
– this is done in preparation for a later return to
the succeeding background program step...
Page 7
©1997-2005 R. Levine
Jump SubRoutine (JSR)
• More things happen than a simple JUMP:
– return.address, the (old value of instruction address + 1)
is automatically saved somewhere:
• In a special separate register in the CPU
• In a special reserved address/place in RAM
– this special RAM location may be “pointed to” by the
contents of a special CPU register (called a “stack pointer”)
which automatically begins by pointing to the first address in
a reserved array area in RAM (the stack area).
– When a subroutine in turn calls another subroutine, the
second JSR causes the stack pointer to automatically
increment by 1, so the nested subroutines can each return
properly from where they were called.
– target.address is then put into the instruction address
register (similar to a JMP operation)
Page 8
©1997-2005 R. Levine
Other Subroutine Happenings
• All the “volatile” data in the CPU must be saved
for later use after return from the subroutine:
– Includes: contents of ALU register(s)
– Overflow bit registers, other condition codes
• Condition codes, used in most modern computer designs, are
stored bits indicating results of previous operations and other
things about the state of the CPU. They were not discussed in
simple examples earlier.
• At the end of the subroutine run time execution,
all the “volatile” data must be restored to its
original place in the CPU
– The return.address must be put into the instruction
address register
– This last group of operations are produced by a
compiler, corresponding to the RETURN statement at
end of subroutine written in higher level language.
Page 9
©1997-2005 R. Levine
JMPConditional
• A conditional jump occurs only if a designated register bit in
the CPU contains a 1 (or a zero in some cases)
– The “condition” may be the status of:
• the sign bit (left bit in the ALU register)
– implies: jump if result of previous arithmetic operation is negative
• the overflow bit: result of previous arithmetic or shift operation
– In some designs, the entire register...
• could imply: jump if logical AND of two data words (which was the
latest previous operation) produces binary 1s
– using “all 1” data value as internal symbol for logical
TRUE, which is used in some CPU designs
• Corresponds in high level language to IF (<logical
expression>) THEN GOTO <label>;
– typical logical expression: ((X-Y)<O);
– another expression ((M==TRUE)&(K==TRUE));
• Again, no provision for returning to the program step
following the jump – not a subroutine jump…
Page 10
©1997-2005 R. Levine
Special CPU Designs
• Modern CPUs are designed to make JSR and
RETURN operations easy to program and faster
running:
– All volatile data items, including return.address, are
saved in a complete set of extra CPU registers.
• Changing register sets is called “changing context” in
computer jargon
• Much faster than copying each register to RAM one
operation at a time
– Some designs have 32 or 64 such sets of registers
• permits “nested” subroutine calls up to 32 “deep” without
using RAM memory to store variables
• When calling more than 32 deep, we can still use stack data
structures in RAM memory for the additional volatile data
– RETURN also involves switching context back to the earlier
register set
Page 11
©1997-2005 R. Levine
Data Variables
• In the expression CALL ALFA (P,M,N,R,S,T); variable
names P through T in the calling program correspond to
data items A, B, C, X, Y, Z respectively inside the subroutine
(see corresponding example subroutine on p.14).
• One method to pass data to/from the subroutine is to make
a copy of each corresponding data variable in a “local”
array of data used only by the subroutine
– Then copy back only the output variables to the
corresponding memory locations used by the calling
program at the RETURN.
– The output variables are identified to the compiler by the
programmer via listing them at the proper place in the
subroutine: RETURN A,Z; {but not B,C,X, and Y}
•
Most FUNCTION subroutines return their single “answer” in a predesignated register.
• In the PASCAL programming language, this is the “call by
value” method for passing variables
Page 12
©1997-2005 R. Levine
Data Variables
• Most compiler languages construct an array of addresses
(pointers) which inform the subroutine where all the data
variables are located in the RAM data area of the calling
program. Data items used only in the subroutine are stored only
in a local data area of memory and is not indirectly addressed.
• In SUBROUTINE ALFA (P,M,N,R,S,T); variable names P
through T represent data addresses in RAM, not data values.
• All operations acting on these data items in the subroutine use
“indirect addressing.”
• Indirect addressing requires two hardware operational steps:
– 1. Use the address of the pointer to get/put the address of the
variable.
– 2. Use the address of the variable to get/put the actual data value
• Remark: the use of a “connection memory” in telephone
switching (to be explained in a later lecture) also requires a two
step process very similar to the two-step process used for
indirect addressing.
Page 13
©1997-2005 R. Levine
Software Indirect Addressing
In symbolic program writing we indicate indirect addressing in some
languages in various ways, but hide this in others. A few examples:
ADD,I P
*z:= *x + *y;
in some assembly languages ,I is appended to the opcode
in C-language, asterisks [spaces are important in C to distinguish
multiplication]
z=x+y
•
•
•
•
hidden from programmer in FORTRAN, et al
In some computer designs, there is a bit in the op-code field which
indicates indirect addressing (not used in the previous simple
computer examples)
There is no need to “copy back” anything at the end of the
subroutine, since it has been manipulating the data in the calling
program’s data area of RAM all along. The subroutine RETURN
statement does not need an attached list of output data items.
In PASCAL programming language, this is the “call by name” method
for passing variables. In FORTRAN this is the normal way to use
variables in the calling program and in a subroutine.
Most FUNCTION subroutines return their single “answer” in a predesignated register.
Page 14
©1997-2005 R. Levine
When to Use Subroutines
• Subroutines should not be used indiscriminately
• There is substantial “software overhead”
– Run time penalty: More execution steps to perform the
JSR, set up the pointers or data copies, and to return.
• Indirect addressing requires two RAM accesses instead of 1.
– In hardware: Another register is needed in CPU to hold intermediate
address
– Some memory penalty: RAM program space for the
opcodes to perform those steps
• Examine the object code produced by your
compiler
– Example: If each subroutine call and return requires 10 stored
program steps and 14 machine cycles, then don’t use a
subroutine instead of writing explicitly a simple calculation
such as z:=x+y at each place it is required. Recall that this
simple statement only produces about 3 machine steps and
three operation cycles.
Page 15
©1997-2005 R. Levine
When not to use Subroutines
• When less time or memory is consumed
by writing all program steps explicitly
each time used
– Time may be more important in some
applications, memory space in others
• Some text editors, or “Macro” assemblers,
or some programming languages facilitate
repeating explicit source code in different
places with different data variable names
– Actually an automatic source text editing process.
Page 16
©1997-2005 R. Levine
Subroutine Conclusions
• Saves substantial program RAM when
properly used
• Facilitates “layered” development
– One program group can write overall structure, another
simultaneously develops and tests subroutines to
shorten project calendar development time
– Improvements, changes at one level do not affect other
level if interface (calling variable list) is fixed
• Faster programming, less writing errors,
less debugging
Page 17
©1997-2005 R. Levine
Subroutines and Interrupts
• So much for subroutines. Next we show how
subroutines are very similar to interrupt service
routines.
• Subroutines execute because they are “called” via a
JSR statement within the background program
code.
• Interrupts have a similar result compared to
subroutine calls, but they occur in response to an
electrical signal caused by an event
– Telephone example: external event is a subscriber lifting a
handset from a cradle switch, causing subscriber loop
current flow. Then appropriate electronic hardware in the
telephone switch/control computer causes an interrupt
jump to the start address of an interrupt service routine
(ISR) previously written to handle that event
Page 18
©1997-2005 R. Levine
Real-Time Computing
• Many computers must gather input and
produce output within a limited time
interval to work with external events
• Examples:
– Aircraft navigation control
• steer back on course when disturbed by wind;
millisecond responses
– Factory automation
• control of assembly line machinery, chemical
processes, etc.
– Telephone switching systems
• respond with dial tone within 1 second of lifting
handset, etc.
Page 19
©1997-2005 R. Levine
Methods for Sensing External Events
1. Constantly test an external signal level, waiting to start the
appropriate program
– Meanwhile cycling in an “idle” or “waiting” condition
• This requires the CPU to have an operation such as jump based on condition of
the external signal:
– JUMPConditional to target.address if control voltage is high
– don’t jump, just go to next program step, if voltage is low
– next program step is JUMP back to first program step!!
– Computer cannot get anything else accomplished
– This was the process in early (before ~1955) computers
2. Better alternative: Interrupt driven input/output
– Computer executes useful “background” program(s)
– When external event occurs, a special electrical signal causes “interrupt,”
similar to JSR to a preset target address
– continue with background program later, using stored return address
– Interrupt cause can be external, internal or from a peripheral device such
as completion of a data block transfer via direct memory access (DMA)
input/output equipment
Page 20
©1997-2005 R. Levine
Interrupts
•
•
•
•
Details of hardware implementation of interrupts vary among designs
Individual interrupt devices can be “armed” or “disarmed” under
software control. Certain interrupt channels are designed to have
higher priority than others, so they execute first in case of
simultaneous causative events
When the currently operating machine op-code cycle(s)* is/are
finished:
A pre-designated subroutine (Interrupt handler or Interrupt Service
Routine) starts to run, with all the same actions normally associated
with a JSR
–
–
–
–
•
Return address is saved
All volatile data items are saved (usually in a push-down stack and/or by switching
CPU register “context” sets)
Interrupts due to other causes are temporarily blocked (“disarmed” is the jargon) until
subroutine code actually starts to run
Program instruction register has the starting address of the pre-designated subroutine
placed in it, and a jump to that subroutine occurs. (There are some hardware design
alternatives to this specific method of starting the ISR software running)
Very similar to a subroutine call, but caused by an “external” electrical
signal
– Not caused by a JSR statement in the background program
*Long division operation uses several clock cycles, for example.
Page 21
©1997-2005 R. Levine
Subroutine and Interrupt
Service Routine (ISR)
• If you can write a subroutine you can
typically write an ISR… very similar.
• But the processes for setting up the
target.address for the interrupt are not
available to the programmer in most
higher level languages
– Design details vary, but normally involves placing
target.address in a special absolute address (within a data
stack structure) in memory or into a special hardware register
associated with the interrupt control hardware
– The ISR must be in RAM memory with its first program opcode step in RAM at target.address as well!
Page 22
©1997-2005 R. Levine
Division of Programming Labor
• Usually, system programmers write the
underlying code to set up the interrupt
– Place the proper target.address in proper
place(s) in memory
• System (or application) programmers
write the ISRs
• Application programmers use the results
– Mostly input or output data values
• Object code is placed (loaded) at proper
address(es) in RAM or firmware memory.
Page 23
©1997-2005 R. Levine
Responding to Real Time Events
• How to distinguish the particular device which
caused the interrupt? Examples:
– one particular telephone, out of many, goes off-hook
– Typist at one particular data terminal keyboard, out of many,
in a multi-desk data entry installation, presses ENTER key
1. “Vectored” interrupt to distinguish nature of cause
and/or particular device
distinct separate target.address for each device, and/or in
some designs, for each pushbutton on each device
2. Alternatively: data identifying the source device and
or input value (e.g. ASCII code for particular keyboard key or dialed
telephone digit) is passed into accessible RAM and “read”
by the ISR to determine which device (telephone) and
which pushbutton on each telephone caused the
interrupt
Page 24
©1997-2005 R. Levine
Interrupt for Every Little Event?
• Similar considerations about the “overhead”
for each interrupt and each JSR still apply:
– In small systems (e.g. a 16 station small-office
telephone switch or “key system”) the design can
respond to each off-hook and each individual
button push with a distinct interrupt
– In a 30,000 line public telephone switch*, a semiexternal I/O controller can gather up lots of data
values in an external FIFO** memory buffer, to
indicate what events occurred. The contents of
the FIFO buffer will be put into the computer
periodically when a “clock tick” occurs
* Typically 200,000 call attempts per busy hour (~55 call attempts/second,
and a call attempt comprises many dialed digits, etc.)
** FIFO= first in, first out memory data storage
Page 25
©1997-2005 R. Levine
Clock Driven Interrupts
• In a big system, the special semiexternal I/O equipment transfers a
FIFO buffer full of data typically 100
times each second
• The interrupt for this data transfer is
caused by a periodic internal clock
– not by any particular external event like
a user dialing a digit.
Page 26
©1997-2005 R. Levine
Interrupt vs. Trap
• Historical Distinction:
– External cause usually called an Interrupt
– Internal event (particularly a fault) cause usually called a trap
• Usually a fault or undesirable result, such as:
– Error detected when reading memory data (using extra
error checking bits together with stored data, for example
9 bits comprising 8 data bits and 1 parity check bit in
each memory “word”)
– Illegal operation, such as attempt to divide by zero
• But a clock interrupt signal is (strictly speaking)
internal, but is called an interrupt, not a trap
(intentional event, not due to a fault)!
– Internal clock can be set to cause a pre-arranged
interrupt at a pre-determined time (e.g., 6 seconds after
the countdown timer is set)
– Several distinct clocks with different time settings can
run simultaneously in most computers
Page 27
©1997-2005 R. Levine
Overview
• Switching software is real-time event-driven:
– The driving events are end-user actions such as
dialing digits, lifting handset, etc.
• Circuit-switched voice telephone software
mimics the human interface behavior of
historical electro-mechanical switches
– Including incidental items like intentional post-dialing delay and
non-symmetrical treatment of origin/destination vis-à-vis
disconnect (wireline switches)
• Telephone switching software is often
described or designed using finite state
machine (FSM) formalism
Page 28
©1997-2005 R. Levine
SDL and Flow Charts
• Three isomorphic (equivalent) descriptions:
– Graphical flow-chart-like (SDL= specification and
description language)
– Graphical linked points diagram
– Tabular row-column lists
• Specification and Description Language (SDL) is
documented in ITU Z.100 and SDL 2000
documents.
• SDL graphic symbols are like flow charts, but
include graphic symbols for operations like
setting timers, arming and disarming interrupts,
and starting interrupt service routines.
Page 29
©1997-2005 R. Levine
Historical Switching
• Original post-1876 A.G.Bell installations were point-to-point
hard wired. Examples:
– Office to warehouse of same firm (like a modern
intercom circuit)
– Palace to beach-house of the King of Hawaii
• Manual cord-board switching introduced in Hartford, CT in
1880s.
– Teen-age boys pulled electric wires across the room and
temporarily connected them in response to verbal instructions
from subscribers
– Later developments led to standard cord-board: a desk-like
panel with a retractable cord from each voice connection unit,
and a panel in front of the human operator with a socket for
each subscriber (and historically later, a socket for each trunk
line to another switching center)
– Parallel historical development of common battery power and
supervision technology also facilitated the cord switchboard
Page 30
©1997-2005 R. Levine
Other 19th Century Improvements
• Carbon Microphone (Edison and Berliner)
– Permitted loops of up to ~5 mi (8 km) due to greater
transmitted electrical audio power level
• 2-wire “loop,” instead of single wire using earth
conductivity for current return path
– Earth return was previous standard in telegraph systems, but
produced tremendous “cross-talk” for telephones
– Loop greatly improved voice quality and reduced audio noise
– Invented by J.J.Carty, later chief engineer of AT&T
• Alternating current ringer (low maintenance) instead of
previous buzzer devices with vibrating electric contacts
subject to sparking, corrosion and deterioration
• Common (central office) battery for dc loop current using
transformer to couple audio voice signal between two
telephones in a conversation
Page 31
©1997-2005 R. Levine
Switchboard Plug
• Same dimensions used today for 1/4 in
(6.35 mm) diameter stereo headset plug
Insulators
Note: use of red
insulation for negative polarity is
unique to the
telephone industry.
Other electrical
standards (power,
electronics, automotive) use red
for positive.
Page 32
Tip (green
positive
wire)
Sleeve (only in
Ring (red
electronegative
mechanical
wire) Plug Assembly Graphic Symbol
switches,
Ring Tip
Sleeve
no standard
Ring
outside-plant color)
Sleeve
Socket Assembly Graphic Symbol
©1997-2005 R. Levine
Tip
Historical Cord Circuit
telephone set and
subscriber loop
Other telephone
set not shown.
Operator headset
also in parallel with
voice wires temporarily, not shown.
Common battery feed
and voice coupling
Earphone
_
+
Microphone
Primitive Telephone set
(dial, ringer, cradle switch
not shown). No directional
coupler here as in later
technology.
Page 33
Note use
of same
CO battery
(with audio
bypass capacitor)
for all loops.
Primitive central office cord circuit. Positive battery terminal grounded
to minimize electrolytic corrosion. Audio frequency voice signals coupled
via transformer. Does not show ringing power, sleeve wires, signal lamps and buzzer,
operator exclusion switches, etc.
©1997-2005 R. Levine
Supervision Methods
•
In traditional telephone jargon, “supervision” describes only the
aspects of signaling which relate to busy/idle status
– Dialed digit information was historically distinct (called “signaling”)
– In modern cellular/PCS software both things are often described by the
word “supervision”
• therefore, be careful about jargon!
•
Historical method to get attention of the operator or subscriber
was a small hand-cranked AC generator or “magneto” at
subscriber end
– Produced about 90 V ac, at 20 Hz frequency.
– Still standard ringing waveform for North America today
•
Then the common-battery circuit was introduced
– Subscriber “switch-hook” closed a current loop and operated a light
and/or buzzer near that subscriber’s socket on the switchboard panel
– Operator lifted a retractable cord from the desk-top, connecting her*
headset to the subscriber via a voice-frequency transformer
– Operator then asked “Number Please?”
* Boys were replaced by more polite ladies in 1890’s; operator corps was exclusively female until 1960s .
Page 34
©1997-2005 R. Levine
Call Connection
•
Operator plugged other end of cord circuit into callèd subscriber
socket (the second syllable of callèd is artificially stressed in telephone
jargon to emphasize the spoken distinction with “call”)
– Outer part of socket and “sleeve” (called “C” wire in European jargon) of
plug carried a voltage when that line was busy. (No C wire in modern
electronic switches.)
– Voltage (if present) on sleeve produced an audible click in
operator earphone, indicating busy line
•
If callèd line is idle, cord circuit is plugged in, connecting voice circuit of both
telephones
– … and connecting temporarily the operator as well
– Operator presses momentary contact switch to apply 20 Hz, 90 V ac
ringing to the callèd loop
– When callèd person answers, operator presses a latching switch to
disconnect operator’s headphone from the cord circuit
– When either participant hangs up, dc loop current from common central
office battery stops, indirectly operating a distinct buzzer and light on the
cord board via a relay.
– Operator then “tears down” the connection by pulling both retractable
cord plugs from the callèd and calling part circuit sockets. Cords fall back
into desk surface due to cord weights under the desk.
Page 35
©1997-2005 R. Levine
Cord Switchboard Capacity
•
•
The number of simultaneous conversations is limited to the number of
cord circuits installed in a cord switchboard
– Each cord circuit is similar to a storage address (byte) in an electronic
switch vis-à-vis capacity
– The BHCA (call processing) capacity is limited by the attention and
operational speed available from the human operator
Both were improved by providing more operator positions (cord circuits)
– Each subscriber loop appeared at multiple sockets, each one within
reach of an individual operator position
• Thus a historical need for busy status signal (sleeve or C wire)
• Early example of switch “concentration”
• Operator-handled calls were controlled by human
intelligence
– Computer controlled (stored program controlled - SPC)
switches merely strive to put back into automatic service
many of the clever things human operators did historically
(example, ring back to originator when initially busy
destination finally becomes available)
Page 36
©1997-2005 R. Levine
Some Human Operator Features
• Call by name (no telephone number required)
– Response to: “Please call the Smith home.”
•
•
•
•
•
Wake up calls (at pre-determined time)
Re-connect calls accidentally disconnected*
Notify busy line of incoming call waiting
Set up 3-way (or more) conference call
Connect call to alternate line when subscriber is
away from home (call forwarding)
Note that modern “feature-rich” PBX, small business key systems, and some
PSTN switches now do these things via computer control
• Several experts have calculated that there are not enough
people on earth to support the today’s (2001) level of public
telephone traffic using operator cord board switching!
*The GSM cellular system can optionally be configured to do this.
Page 37
©1997-2005 R. Levine
Strowger Step-by-step Switch
• Almon B. Strowger, a mortician (undertaker) in Kansas City
KS, invented the first practical automatic dialing system
– Famous story: fearing that the human operator was directing calls for a
mortician to his competitor, he invented an automatic user-controlled
switch
– First commercial version (installed in LaPorte, IN, circa 1895) used
extra wires and push buttons on each subscriber set
– Rotary dial with impulsive loop current on the voice wire pair was a
later development
• Strowger’s manufacturing firm, Automatic Electric, moved
to suburban Chicago, IL, later absorbed by GTE, later
moved to Phoenix AZ, now AG Communication Systems
(partly owned by Lucent)
– “Stepper” progressive control switches were manufactured world wide
for many decades
– Electromechanical common-control switches developed by other
manufacturers, such as “panel” and “crossbar” types partially
succeeded steppers in the 1930 - 1960 decades
Page 38
©1997-2005 R. Levine
Schematic Stepper Diagram
3
Rank 0
4
5
6
7
2
Rank 9
Arm
1
Ten places on
each circular
rank where
a 3-contact
assembly is
located -- not
illustrated in
detail.
8
9
0
Tip, Ring, Sleeve
wires from Rank 8,
column 7.
Electromagnets and
springs activate the motions
of the wiper arm in response
to dial impulses.
Axle
Vertical Motion
Many details omitted
here
Rank 1
Page 39
Rotary Motion
©1997-2005 R. Levine
Stepper Switching
• Strowger switches evolved into an assembly with a movable
wiper switch “inlet” and 100 “outlets” (wire pairs with “sleeve”
wire)
– 10 contact pairs arranged in a horizontal arc, selected by rotating
the wiper switch arm. (Also a third “sleeve” wire in addition)
– 10 such horizontal arc sub-assemblies stacked and selected via
vertical motion of the axle (actually the first motion is vertical)
– Single-motion (rotation only) switch assemblies were also used
• “Line Finder” switch (mostly single motion) acts as input
concentrator (“inverse” of selector action)
– Wiper arm contacts act as the single outlet
– Line finder single-motion stepper typically wired to 10 subscriber
lines, selects a line when that line goes off-hook
• Stepper starts stepping from line to line when any of the 10 lines go
off hook, then stops when correct “off-hook” line is “found”
– analogous to operator responding to buzzer and light
– Multiple line finders wired in parallel to the same 10 telephone
sets analogous to multiple operator stations with each having
access to the same subscriber sockets.
• Number of simultaneous originating conversations limited to the
number of line finder switches connected to those lines. Ten line
Page 40
R. Levineis “non-blocking” with regard to line
finders wired©1997-2005
to ten subscribers
finders. (Overall system may still block at later stages…)
Selector Switches
•
Line finder outlet goes through a transformer “cord circuit”
•
•
•
Connected to dial-tone generator until the first dialed digit.
Then the circuit is switched through a chain of two-motion selector stepper
switches, with a “motion” for each digit. Each burst of impulses (dialed digit)
produces a rotary or vertical motion constituting the next stage of the wiper
arm selection process
Dial pulses from rotary dial (typically 10 impulses per second, each one
approximately 60 millisec current OFF and 40 ms current ON) are passed
around the cord circuit by special electro-mechanical relays
•
A relay employs magnetically operated switch contacts, so that current ON/OFF status in the
contacts mimics the current ON/OFF status in the wire coil causing the magnetic action.
– Special “slow release” relays hold the line finder so the 60 ms OFF intervals do
not cause a disconnection
• After turning and releasing the telephone set rotary dial from an
angle labeled with a specific number, the returning rotation of the
dial to its normal position produces 1 to 10 current impulses
– Simultaneously, an “Off-normal” switch contact in the telephone set
temporarily short-circuits earphone so clicking is not heard
•
Following a stage of selection motion, a slow release relay is automatically connected into that line
to prevent further disturbance of that particular selection due to the succeeding bursts of dialing
impulses
Page 41
©1997-2005 R. Levine
Incidental Information
•
Rotary dial label “0” represents 10 impulses everywhere in the world
(except Sweden, where the dial is labeled 0, 1, 2…9)
– However, touch-tone dials in Sweden use the same digit labels for DTMF
tones as the world standard.
– Impulsive signaling must be converted at international boundaries to
Swedish telephone system. But symbolic signaling (binary digit codes used
in CCS7, etc.) is the same everywhere.
•
Alphabetic dial labels (2=“ABC”, 3=“DEF”, etc.) were introduced in New
York City in ~1923 when subscribers complained about “long” 5 digit
directory numbers.
– Alphabetic dial labels were introduced in US, Canada, UK, France,
Scandinavia and USSR (three cities only) but not all the same:
•
Examples: Q on French dial, Russian (Cyrillic A B... G ...F) letters in Moscow, Leningrad, Odessa,
– Considered an obstacle to direct international dialing, alphabetic exchange
names were purged from telephone directories in 1960s by international
agreement.
• The “anti-digit dialing league” and other grass roots groups in the US opposed alldigit directories in the 1960s.
– Letter labels still appear on the dial in most of these named countries.
Business users highly value so-called “Anagram” numbers such as 1-800FLOWERS, or 1-800-NORSTAR, 1-800-AMERICAn, etc.
Page 42
©1997-2005 R. Levine
Significant Properties of
Stepper Switches
• To add more traffic capacity, merely install more line finders and
more selector switches
– This increases parallel path (traffic) capacity through the switch, since
multiple last stage selectors lead to the same destination lines.
• Only one last stage selector can connect at a given time. The sleeve wire is also
connected to each corresponding position on the selectors and is used to divert the
call to a busy signal generator if the sleeve voltage is ON for that destination line and
a call is attempted while destination line is busy.
• A non-blocking Strowger step switch assembly would require 100 last stage selector
switches connected to 100 destination telephone lines, and similar replication of
parallel paths all the way to the originating lines (line finders, earlier stepper stages,
etc.).
• This automatically increases the call processing capacity (BHCA)
of the switch as well
– Each selector is both a traffic path and a part of the digit processing hardware
– When there is a traffic path available to the destination, there is also the
hardware to respond to the succeeding dialed digits.
• A stepper switch assembly “automatically” has enough call processing
capability if it has adequate traffic path capacity
Page 43
©1997-2005 R. Levine
Stepper Properties
•
Stepper switches are extremely reliable overall if maintained
– Because of parallel path capability through a large stepper switch, the failure
rate of these switches (when properly maintained) is very good
•
•
•
Steppers can be adapted to many improvements
•
•
•
•
Failures affecting only one user amount to only about 1 hour cumulative in 20 years
Failure of the entire switch is only 1 or 2 minutes in 20 years, and when this occurs it is mostly
due to power supply or other aspects of the system
Touch-tone dialing (by means of a tone-to-pulse converter)
Computer control has been adapted to steppers to make advanced features available (such as call waiting, 3-way
conference, etc.)
Unfortunately, basic reliability, power consumption and size not improved!
Inter-switch signaling between stepper switches requires electrical
transmission of dialing impulses
– conversion between modern digital signaling (common channel 7) and
impulse signaling is feasible, but slow acting
• European version of SS7 signaling allows transmission of one dialed digit at a time,
but North American (ANSI) version does not send dialed number onward until the
“last” digit is dialed.
– several earlier “electronic” but non-digital switching systems still used
electromechanical switching (small relays) and analog transmission
(example: No. 1 ESS), but digital computer central control or stored program
control
Page 44
©1997-2005 R. Levine
Undesirable Stepper Properties
• High maintenance
– ‘“Gross Motion” or “Large Motion” wiping contacts
• Require lubrication, cleaning, adjustment, etc.
– Susceptible to corrosion from sparking, air pollution
(such as SO2 in the air, etc.)
• Slow mechanical operation
– Even when tone-to-pulse converters support
Touch-tone dialing
• Slow signaling
– Can’t take full advantage of CCS7 and other
electronic signaling systems
• Big and bulky
– Digital switches use ~1/50th the floor space of steppers;
~1/10th the floor space of crossbar switches.
Page 45
©1997-2005 R. Levine
Some Other Historical Electro-Mechanical Switches
•
Panel (1930s through 1950s)
–
•
Crossbar (1920s through 1990s)
–
•
A horizontally platform with rows and columns of contacts with wipers actuated
by magnetic coils. Gross motion problems, but more compact than Strowger
design.
Rotary (1930s through 1980s – small installations)
–
•
An assembly of rocking contacts attached to vertical and horizontal rotating
actuator axles. Because of relatively small motion and compact size, this was the
heir apparent to the stepper switch in both North America and Europe until
electronic switching appeared.
X-Y (1930s through 1980s – small installations)
–
•
A huge mechanical “monster” switch using continuously running electric motors
and electrically operated clutches to move wipers vertically and horizontally on a
rectangular wall panel of contacts. A high maintenance problem. Abandoned!
Similar to X-Y switch, but platforms had contacts arranged in semi-circles of
increasing radius. More compact than Stepper, but same gross motion problems.
Multi-relay (1930s through 1980s – small installations)
– Rocking contact motion, but still rather complex and difficult to maintain.
The last 3 were mainly used by “independent” telcos in North America. All here except
Crossbar and Multi-relay were “gross motion” switches.
Page 46
©1997-2005 R. Levine
Common Control
•
•
Many of these electro-mechanical designs had separate relay
assemblies to count (“decode”) the dial impulses, completely
separate from the switching portion of the system. These so-called
“common control” portions were analogous to the computer
control in a digital switch.
Once the desired destination directory number was decoded, it was
“translated” by special purpose wired logic devices
– One method for this was to use magnetic core memory of a special
wired type (not addressable RAM like modern computer memory)
– The equipment numbers resulting from the translation were used to
select a path through the switching part of the system.
•
•
The result of the “translation” was a code designating the proper
bay, shelf, and switch outlet wire for the internal destination calls,
or the proper outgoing trunk group for outgoing (other switch)
calls. The first non-busy channel in a trunk group was selected by
an appropriate special outgoing trunk switch.
These systems first demonstrated the need for provisioning
separately both sufficient call processing capacity (BHCA) and also
sufficient switching capacity (Erlangs)
Page 47
©1997-2005 R. Levine
Electronic Switches
• ESS No. 1: Electronic but not Digital! (1963)
– Computer control/stored program control (SPC)
– Analog Relay switching, using sealed contact reed switches
• Most of the design problems for high reliability were
addressed in this design.
– Duplicated processors, etc.
• ESS No. 4: Fully Digital but Trunks Only (1970)
– When designed (1960s-70s) the cost of A/D conversion
(CODECs) on each subscriber line was seen as prohibitive
– Depended on T-1 channel banks at distant ends of trunk groups
for A/D (analog/digital) conversion
– 4 ESS is a transit or tandem switch, not a central office or end office
• 4 ESS has only T-1 links at its ports (no telephone sets except for a few test
telephones)
•
Above are all Lucent (then AT&T) products. Competitors had similar
designs shortly after or almost contemporaneously. In that era Western
Electric (manufacturing division of AT&T) only sold products to the Bell
System operating companies, and was required to license all its patents as
one result of an earlier anti-trust settlement.
Page 48
©1997-2005 R. Levine
Subscriber Interface to Electronics Was Difficult
• Integrated circuits made the digital central office (end office
switch) economically feasible
– The most elegant hardware design requires a dedicated analogdigital converter at each subscriber loop. A long time economic
problem for end office switches.
• Subscriber loop circuitry usually on a removable printed
wiring card
– Replaceable in case of failure or damage from lightning, etc.
• Handles some so-called BORSCHT* functions
–
–
–
–
–
–
–
Battery Feed
Over voltage (from lightning and accidental power line contact)
Ringing
Supervision
Codec (A/D inter-conversion, also low pass audio filtering)
Hybrid (directional coupler, 2-wire to 4-wire inter-conversion)
Testing (a capability of the switch, not of the telephone set)
* This term credited to John Iwerson of AT&T Bell Labs ca. 1960s. Note that various
alternate spellings of BORSCHT exist in the food (not telephone) industry.
Page 49
©1997-2005 R. Levine
Modern Digital Switch Subscriber Loop
Schematic Block Diagram
telephone set and
subscriber loop
CO part
Common battery feed
and voice coupling
Ring
Hybrid and
matching
network
Receive
signal
_
Amplifier
and D/A
converter
Hybrid and
matching
network
+
Amplifier
and A/D
converter
Tip
Telephone set (dial,
ringer, cradle switch
circuits for loop length
level compensation
not shown)
Page 50
Wire
loop,
up to
~8 km
Transmit
signal
Central office switch equipment. Actual switching is not shown, but is
off to the right of this page. Audio frequency voice signals coupled
via transformer. Ringing power, loop current detection (supervision)
not shown.
©1997-2005 R. Levine
Subscriber Line Interface
Card/Chip (SLIC)
• Due to large volume of use, integrated
circuits (ICs) are available which perform
most of these BORSCHT functions
• ICs designed for line card in switch and
chips for use in a low-cost telephone set
are both available
• Spoken acronym SLIC /slIk/ sounds like
another acronym, Subscriber Line
Concentrator (SLC). Ask for fully spelled
out version if context is not clear!
Page 51
©1997-2005 R. Levine
Some BORSCHT Explanations
• Battery Feed via split winding on audio coupling
transformer
• Over-voltage (lighting, power line crossing)
protection primarily based on arc-over at spark
gaps installed where outdoor wiring enters
subscriber premises and CO building.
– Enclosed gas spark gaps provide uniform electrical “breakdown” at
~300 volts between wires or wire-to-ground
• Hermetic enclosure prevents variations due to air pressure and humidity, a
problem in older lightning arrestor devices
– Non-linear series resistance devices limit high current surges due to
lightning or accidental “cross” with power voltage wiring
• Light bulbs or “heat coils”
• Positive Temperature Coefficient (PTC) resistors using conductive polymer
plastics
– Not on subscriber loop circuit card, except for PTC
resistor.
Page 52
©1997-2005 R. Levine
More BORSCHT Explanations
• Ringing voltage from ringing generator via
electro-mechanical relay contacts on tip &
ring
• Supervision (dc loop current sensing) via
various methods:
– Sensing relay coil in series with subscriber loop. Loop current
actuates separate relay contacts.
• Inductance of relay coil affects frequency response somewhat, but
can be bypassed for audio frequencies via a capacitor
– Non-linear magnetic material (“saturable magnetic core”) with
loop current coil and sensing coil
• Loop current changes magnetization point behavior
• Sensing coil’s small signal inductance decreases when loop
current is on.
• Smaller, less costly, less effect on voice signal.
Page 53
©1997-2005 R. Levine
Still More BORSCHT
•
CODEC (COder/DECoder) in switch (except for ISDN sets):
– Low pass filter the audio on analog side of A/D conversion
• Active RC filter, switched capacitor filter, or CCD (charge control diode array)
transversal filter are different analog technologies
• Purpose is to attenuate audio power above about 3.5 kHz
– Then “measure” voltage, 8000 samples/second for coding
– Encode each voltage sample as a compressed digitally coded 8 bit
sign-magnitude binary code
• Mu-law approximately logarithmic compression rule used in North America
and Japan
• A-law log-linear compression rule used in other national PSTN systems
•
– Digital/Analog conversion in opposite direction as well
Hybrid or directional coupler is analog device using multiple windings on
transformers, together with a “matching network” composed of resistors
and capacitors
– Separates incoming and outgoing electrical waveforms on 2-wire
subscriber loop into separate unidirectional signals with good but not
perfect accuracy
– All digital transmission operations in a digital switch comprise two
opposite-flowing unidirectional signal paths
Page 54
©1997-2005 R. Levine
Automatic Test in Digital Switches
• Electro-mechanical relay installed in the line card can switch
subscriber loop temporarily to an auxiliary test device
– Main test operation is to measure (tiny) microamperes of
“leakage” current between wires and from each wire to
ground
• High leakage current indicates imminent failure due to moisture in cable,
damaged insulation, etc.
– Testing is usually done circa 2 AM when traffic is minimal
• Even so, if subscriber lifts handset or a call comes in, test is
suspended until loop is again idle
– Suspicious test results are automatically reported to repair
crafts persons
• Tremendous reduction in staff is feasible when their repair
work can be scheduled, rather than waiting for an emergency,
unexpected customer complaint, or loop failure!
• Most repairs are thus done before customer notices noisy line
problems!
• Consequently, most unexpected failures today are due to
human error or accident, rather than slow cable deterioration
Page 55
©1997-2005 R. Levine
Digital Switch Advantages
• Automatic test reduces staff costs significantly
– Predominant cost saving in many cases!!
• Feature-rich, increases income of public
telephone company by selling optional “vertical”
features (e.g. Call waiting, conference, etc.)
• Inter-works with digital trunks (T-1 etc.) without
use of channel banks
• Smaller size allows more CO capacity growth in
same building
• Less electric power consumption, reduces
operating costs somewhat
Page 56
©1997-2005 R. Levine
Block Diagram
•
Control Processor and Switching Matrix are duplicated for reliability
–
Line and trunk interface cards are not duplicated because failure rate on outside
plan wiring is greater than loop or trunk electronics.
Multiple station loops
Line/Loop
Interface
Multiple T-1 trunk groups
Control
Processor
(CPU, RAM
etc.)
Trunk
Interface
Line/Loop
Interface
More loop
not shown
Line/Loop
Interface
Page 57
Trunk
Interface
Internal
Internal
Switching
Switching
Matrix
or
Matrix or
Network
or
Network
“Fabric”
©1997-2005 R. Levine
More
not shown
Trunk
Interface
optional
remote
line
concentrator
Telecom Switching Matrix
• A telecom switching matrix or central switching network has:
– A dedicated internal buffer memory, distinct from the RAM
memory used for program code and data
• Often on a completely separate physical module (printed wiring card)
– Usually has at least two DMA bi-directional serial ports
• Input and output are simultaneous on each port with dedicated
hardware for each operation
– Serial I/O on each port
• requires shift registers for serial/parallel conversion, since the internal
buffer memory has parallel data ports
• Serial format is sometimes designed to be compatible with T-1 bit
stream (e.g., NEC switches), or E-1, but...
– Many designs use proprietary bit streams, with bit format rearranged by
special hardware at trunk interfaces to PSTN (e. g. Nortel DMS family, or
original 4ESS). Synch and/or framing bits are inserted/removed.
– Data bytes (pulse code modulation -- PCM samples) are usually rearranged in time order
• implies re-arrangement in buffer memory address order
• re-arrangement controlled by the “connection memory” mapping table
Page 58
©1997-2005 R. Levine
Simplified Block Diagram
• Diagram illustrates signal flow in only one direction
– Real switching matrix has additional DMA hardware to perform
matching signal flow in opposite direction as well (not shown)
SerialParallel
Converter
Connection
Memory
content
can be
changed
by the
main CPU
of the
computer
ParallelSerial
Converter
Data Bus
Connection
Memory
Address
Bus
Buffer RAM
Memory
Consecutive
Address
Generator
Consecutive
Address
Generator
Both address generators are synchronized to the same master clock (not shown)
Page 59
©1997-2005 R. Levine
Other Things Not Shown
• In addition, the serial-parallel converter boxes
would also have (not shown in figure)
– Framing pulse insertion circuitry:
• For a T-1 design, the equivalent clock rate of the memory is
24 bytes (192 bits) in 125 µs (corresponding to 1.536 Mb/s).
With the insertion of 1 framing pulse in each external 125 µs
frame the external bit rate is 1.544 Mb/s
– Elastic buffer:
• A specialized first-in-first-out (FIFO) memory device is used
at both ports to compensate for two short term timing
discrepancies: (jitter and/or framing bit insertion)
1. internal/external (1.536/1.544 Mb/s) bit rate discrepancy (output)
2. External line jitter (short-term time-varying bit rate, leading to non-uniform
bit intervals at the input)
•
• The external output must then be intentionally slightly
delayed to allow some bits to build up in the FIFOs to
accommodate irregular input and regular output.
“Start address” modification circuits, not described here...
Page 60
©1997-2005 R. Levine
•
Connection
Memory
Connection Memory contains a list or table for mapping input
time slots to output time slots.
– Pointer data values are set from the CPU on a “per-call” basis
•
The data output of this memory is used as an address to access
the buffer RAM (decimal representation shown)
–
Interesting analogy to indirect addressing as used for passing data variables
“by name” to a subroutine
Address
0
1
2
3
…
…
Page 61
Pointer or
Contents
14
9
0
23
23
2
©1997-2005 R. Levine
Illustrates a
24 slot design.
Addresses
4 through
22 not shown
in this diagram.
Connection Translation
• The list in the connection memory is an
example of a “translation” table
• This particular translation has certain
required properties for normal 2-way
telephone traffic:
– When fully traffic loaded, it must be singlevalued and thus invertible
• the same entry value cannot occur in more than one
address (one-to-one mapping)
• 3-way or other conference calls are handled in a
special way, to be discussed later in the course
– It maps the integer number range 0-23 onto the
range 0-23 (the word onto here has the
mathematical meaning “one-to-one”)
Page 62
©1997-2005 R. Levine
•
Connection Memory Operation
Consecutive address generators are synchronized to the sequential
appearance of 8-bit PCM samples at the input by means of circuitry not
shown in the diagram
–
•
In this example, the sequential address generators generate a sequence of
binary values represented by the decimal value sequence 0, 1, 2, … 23. This
design is intended for a 24 slot T-1 (DS-1) digital multiplex stream.
–
•
•
When the 8 bits are ready in the serial-parallel converter, they can be written into
the buffer RAM for temporary storage
For simplicity, assume that the usual 193rd framing bit in T-1 is not present here;
just 192 bits per time division multiplexing frame = 24 • 8 bits
The connection memory is scanned in consecutive address order. Its output
is a sequential presentation of the contents values. These values become the
non-consecutive addresses used for storing the input PCM samples in the
buffer RAM.
The output values are taken from the buffer RAM in consecutive address
order, converted to serial bit sequence and transmitted to the right side of
the diagram. Thus the PCM data entering in the first time slot of input
emerges in the 15th time slot of output (address 14 points to the 15th slot
when numbering time slots 1,2,…)
Page 63
©1997-2005 R. Levine
Timing Considerations
• Input and output consecutive address generators
do not necessarily need to be frame start
(framing phase) synchronized
– They would be un-synchronized in particular if the input
T-1 frame is slaved to its own distant end and the output
T-1 is separately frame synchronized to its own distant
end.
– However, the bit rates of the two ports (after correction
for jitter) must be the same on a long-term average
basis.
• If there is a long term discrepancy beyond the capability of
the FIFO elastic buffer, we will ultimately either loose some
input bits (FIFO overflow) or will run out of input (FIFO
underflow). The size of the FIFO buffer and the specified
max and min short term bit rate are designed to prevent
this problem.
Page 64
©1997-2005 R. Levine
Input-Output Frame Timing
Input frame
Continuing input bit stream
ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWX ABCDEFGHIJKLMNOPQRSTUVWX
125 microseconds
Output frame example 1
XAVBTCRDPENFMGHIJKLOQSUW
Output frame example 2
XAVBTCRDPENFMGHIJKLOQSUW
The top line of characters represents three input frames of
24 channel T-1 PCM data, each time slot represented by
one of the letters of the alphabet from A to X. The output
bit stream corresponding to the input frame enclosed in a
rectangle can emerge any time after the input frame is fully
received. It could occur immediately after (as in output
example 1), or a half frame later (as in output example 2) or
still later, provided that the buffer holding the output is
emptied in time to use it again.
Notice that the time slots in the output frame examples are
re-arranged in time order by the time switch.
Page 65
©1997-2005 R. Levine
Later output frame
XAVBTCRDPENFMGHIJKLOQSUW
Double Buffering I
• Note that the input data in slot 24 (address 23)
must emerge in slot 3 (address 2); example p.20
– This implies in general that the frame output
must begin after the reception in buffer
memory of all the PCM data in the input frame.
– In general two complete distinct 24 byte buffers
must be set aside in RAM for each direction of
data outflow
• One to receive the currently arriving frame
• Another to hold the PCM data which is currently being
output (received previously).
• Typically organized as two consecutive blocks of memory,
for example using the two buffer RAM address ranges 0-23
and 24-47 respectively.
Page 66
©1997-2005 R. Levine
Double Buffering II
• The function of the two buffers can be “swapped” at the end
of each frame (one for input, the other for output)
• A “base register” which is alternately provided with start
address contents 0 or 24 is added to the output address
from each side of the diagram. This is not shown explicitly
on the diagram.
• Thus the right consecutive address generator counts from 023 while it outputs the first frame, then 24-47 while it outputs
the next frame, then 0-23 for the third, and so on...
– The output of the connection memory will similarly output (nonconsecutive) numbers in the range 24-47 during the first frame,
then from range 0-23 during the second frame, then from range
24-47 during the next frame, and so on…
– This technique of using two buffer or storage areas in memory
is common to many systems in which input and output must be
continuous but data must be gathered in a block and rearranged or processed before output occurs.
Page 67
©1997-2005 R. Levine
Time Switching
• In previous example (p.59) there is no choice of
output port (every bit entering via the one left port
exits via the one right port). This switching matrix
can only permute the time order of the PCM
samples
– This is useful in a device in which each terminal device
at one end has a fixed time slot on a time division
multiplexed bit stream
• Example 1: a channel bank with distinct devices (telephone sets, for
example) connected for use in each time slot
• Example 2: a line module used in a large telephone switch with each
telephone set/line assigned to a specific time slot
– However, in general we want more choices of switched
channel destinations.
– The next degree of complexity is a multi-port switch
Page 68
©1997-2005 R. Levine
Time-Space Switching
• A digital switch of a similar type but with 3 or more input/output
links can perform time-space switching
• Considering for the moment only one direction of digital signal
flow
– A (double buffered) output memory area must be designed in
for each output port.
– The address range spanned by the connection memory
output must be sufficient to place a PCM sample in any
desired port’s output buffer
•
Typical time-space switch matrices have 16 or 32 multiplexed I/O links
– Each link carries 24, 30 or 128 channels (different designs)
– Even more or less channels are feasible. Designs vary according to specific
objectives.
• Example: 24 channels per port, 32 ports requires 2•24•32= 1536 bytes of output
buffer RAM for a switch. The inputs from any one of the 32 ports can write into any
of the 31 other output double buffers (and even into its own port output buffer if a
“loop-back” test is desired).
Page 69
©1997-2005 R. Levine
Digital Switching and DMA
• Almost all modern computers (since the 1960s)
include a direct memory access (DMA) I/O control
module -- typically as part of the CPU chip.
• DMA module transfers a block of data into or out of
the computer’s RAM memory apparently
“simultaneously” with the computer doing
something unrelated (such as mathematical
calculations) via “cycle stealing”
– Most computer operations only access the RAM during
part of the overall operation cycle
– During other parts of the cycle the ALU is,e.g., putting
results into a CPU register and does not access the RAM
– The DMA module accesses the RAM to read or write during
this part of the cycle. This is known by the misleading
name “cycle stealing”
Page 70
©1997-2005 R. Levine
DMA Operation
• The DMA module is a semi-autonomous input-output
controller
– It has onboard registers to store and manipulate the memory
address(es) it uses
• These DMA registers initialized by the CPU with a
memory starting address and a data block size.
• Upon finding a memory access time window, the
DMA module transfers a “word” (a PCM byte) to/from
memory, increments its own memory address
register, and waits for another part-cycle
opportunity..
• After the DMA module has completed transfer of a
complete block of data (e.g., 512 bytes of data for a
diskette) it causes a CPU interrupt, to signal that it is
finished.
Page 71
©1997-2005 R. Levine
Digital Switch vs. DMA I
• Digital Switch has dedicated separate
buffer memory (not computer’s RAM) for
switched PCM data
– DMA module uses portion of computer’s RAM
to temporarily hold input or output data.
• Digital switch always has ultimately serial
data I/O (e.g. to T-1 trunks)
– DMA module may have ultimately either serial
(e.g. keyboard) or parallel (e.g., hard disks or
VGA displays) I/O ports
• Both Digital Switch and DMA module copy
data into or out of a contiguous block of
memory addresses
Page 72
©1997-2005 R. Levine
Digital Switch vs. DMA II
• In general, a Digital Switch permutes the
order of the PCM data bytes in memory so
the serial input order is different from the
serial output order.
– DMA module does not permute the order of the
data bytes being transferred.
• A Digital Switch has a distinct “connect
memory” to hold the data table that
controls permutation of data addresses.
– DMA controller does not have a “connect
memory”
Page 73
©1997-2005 R. Levine
Historical Notes
–
Pulse Amplitude Modulation (PAM) was used in some early pre-digital switches*,
and PAM is used as an internal signal in many T-1 and E-1 channel bank units
•
•
•
–
Voice waveform is low-pass filtered with 3.5 kHz low pass filter
Filtered waveform is sampled 8000 times per second, producing a pulse train of analog PAM pulses
(continuously variable amplitude) representing the original waveform
PAM pulses from all the 24 (or 30) channels are fed sequentially to a shared analog-digital converter and
coder
each channel pulse is encoded as 8 binary bits (Mu-law or A-law encoding), producing 192
pulses during each 125 µsec frame for T-1 (240 pulses during each 125 µsec frame for 30 voice
channels for E-1)
•
•
frame synchronizing and other additional pulses are inserted (as required by the design) into the time
buffered bit stream
the inverse process occurs for reception and de-multiplexing and D/A conversion
– Pulse Width Modulation (PWM) was used in several early so-called “digital”
switches**.
•
•
•
–
Filtered speech signal is sampled 8000 samples per second
All pulses produced from these samples have the same voltage amplitude, but the width (typically a few
microseconds) varies in proportion to the sampled speech voltage.
PWM pulses are convenient for passing to a destination via electronic cross-point (space division)
switches
PAM and PWM can be converted back into analog waveform via a very simple low pass
filter (resistor and capacitor). Economical for discrete component equipment.
* AT&T ESS-101 and Nortel SP-1 PBX; ** Chestel PBX, Danray PBX and transit switch. Danray merged into Nortel.
Danray PWM transit switch was the historical foundation of MCI’s long distance network.
Page 74
©1997-2005 R. Levine
Some Jargon and History
• Analog electro-mechanical switches are all considered
“space” switches, since the signals are never delayed in time.
Each output wire pair is a different part of “space.”
• Several types of pre-digital switch designs were made
historically in the 1960s through 1980s before the telecom
industry standardized on PCM digital switching. These
switches mostly used PAM or PWM.
• These two types of signals can also be digitally space
switched using a rectangular array of electronic on-off
switches (cross-point switching). They are normally space
switched, but the PAM or PWM pulses could be stored using
capacitor circuits to make a time switch (seldom done).
• Some switches use electro-mechanical analog switching, but
are controlled by a digital computer. Most widespread
example is AT&T No.1 ESS, which uses sealed reed-contact
relays. This category is best described by the word
“electronic” but not “digital.” These are space switches.
Page 75
©1997-2005 R. Levine
Switch Traffic Capacity
• Connection points in a mechanical switch are
analogous to byte memory words in a digital
switching matrix RAM buffer.
– Excluding double counting due to double buffered
design, a one-to-one relationship exists between:
• circuit traffic capacity (number of simultaneous
conversations)
• byte (word) memory cells in the buffer memory
• In electromechanical switches, the number of
certain corresponding installed parts were the
limiting traffic factor:
– wiper contact arms in a Strowger step-by-step switch
– “junctor” lines in a cross-point/crossbar switch
– Cord circuit count in a manual switchboard
Page 76
©1997-2005 R. Levine
Translation Tables
• Each end office switch has at least 3 translation tables in its
control processor
– 1. Internal line appearance number (ILAN) translated to directory
number (DN)
• Identifies billing number for originated calls, and for calling line ID
• ILAN is a proprietary number indicating the rack, shelf and circuit card
number of a line
– 2. Inverse table of above: DN to ILAN
• Used to route incoming call to proper destination line
– 3. Translates from NPA/NXX (or just NXX) into the proper outgoing
trunk group to reach that destination.
• Two inverse tables are used for fast look-up in large switches:
– Like using both a Spanish-English and a separate English-Spanish
dictionary for human language ‘translation’
– Some tiny switches (  16 lines) use just one table and perform
exhaustive search for the “inverse” translation function
• Additions, removals, and changes in DNs are made by entries in
these tables, not by rewiring the external subscriber loops.
Page 77
©1997-2005 R. Levine
Other Switch Configurations
• A switch can be configured with only trunk interfaces (no line
interfaces). Applications include everything except traditional end
central office use:
– Tandem or transit switch use in local or long-distance network
– A cellular or Personal Communication System (PCS) radio system switch
• Connections to base radio stations are via digital trunks (e.g., T-1)
• Historically, a switch can be configured with only line interfaces
(no trunks) for use as an “intercom” or PAX inside a building.
Seldom installed today since a standard PBX with both inside and
outside connections is less costly than a “two track” systems.
• A line module can be located remote from the switch location
when a distant cluster of subscribers needs service.
• Connects to main switch via T-1 links thru a trunk interface
• Subscriber Line Concentrator (SLC-96) is an example of this.
• PBX also performs this function, but has different signaling and is typically subscriber
owned. PBX and SLC systems are not covered here In detail.
Page 78
©1997-2005 R. Levine
State Machine
•
Standards, user documentation, or software design documents can be
written in natural human language, but this often leads to
misunderstandings and differing implementations
– Readers disagree on meaning of natural language, regarding sequence
of steps, etc.
– Actual operational test of compliance to standards requires testing via
inter-working against pre-existing implementations
• Often, first-to-market implementations actually supersede the written standard when
discrepancies occur
• A better form of description is needed for:
– Software algorithm design
– Description and documentation of existing systems
• for testing or design of compatible equipment
• for user training
• Finite state machine (FSM) formalism (also called Discrete State
Machine -- DSM) serves this purpose
• SDL-Specification and Description Language, ITU-T standards
Z.100 and SDL 2000, formalize a graphic flow-chart-like symbolism
for this purpose.
Page 79
©1997-2005 R. Levine
Finite State Machine (FSM)
• FSM formalism can describe a computer or a
telephone switching system quite well
• A FSM has a number of distinct states
– States are distinguished from each other by the
unique binary value of:
• At least one bit somewhere in the CPU, RAM or mass
storage (disk, etc.) is distinct (1 vs. 0 value) from the
corresponding bit value in another state
• In an electro-mechanical telecom switch, at least one
relay/switch contact is distinct (ON vs. OFF)
• A FSM is “driven” from state to state by events
– An event is often an external cause such as a customer
dialing a digit, lifting or replacing a handset, etc.
• The expiration of a timer/counter is also an event
Page 80
©1997-2005 R. Levine
Useful Simplifications
•Strictly speaking, each combination of busy vs. idle telephone lines in a switch
is a different state of that overall state machine
–
–
Because of the similarity of operation of all telephone lines, we can simplify the
description by describing the telephone switch in terms of just the 2 (or 3, etc. lines
for a conference call) involved in the conversation
The distinctions due to different optional vertical features (call waiting, etc.) can be
handled by means of a general FSM description which handles every possible
feature, with clearly defined options to allow or deny each specific feature
dependent on a data table entry defining the class of service (COS) for that line*.
•We consider the states of one telephone and the aspects of the switch which
relate to it, and also the events at the callèd telephone as well.
•The general historical approach to FSM design is to describe what historical
electro-mechanical switches do, and then program the digital switch to present
the same behavior to the customer
•When new features are designed, feature conflicts sometimes arise. These
include discovery of ambiguous operations, etc.
– Feature conflicts are usually resolved by re-design of the
feature at the human interface level.
*Some local service providers (e.g. SouthWestern Bell -- SBC) now allow all subscribers to
use most previously “optional” services, charging on a per use basis until a maximum
monthly fee is accumulated.
Page 81
©1997-2005 R. Levine
FSM Description Formats
• Logically equivalent (isomorphic) descriptions can be made
in several forms
1. Graphic point or picture for each state, with directed lines or
arrows representing event-caused transitions between states
• Useful for human visualization, particularly with “cute-sy”
pictures.
2. Table with column for each state, row for each event (or the
reverse), and entries describing the target state and related
information.
• Often very large if all events are treated explicitly, and often has
many null (not possible) entries. Good for certain table-driven
computer software systems.
• Usually not instructive for human visualization
3. Flow-chart like description such as SDL
• Convenient starting point for software development
• One-to-one correspondence to formal software language is under
study (e.g. ITT CHILL language occasionally used)
Page 82
©1997-2005 R. Levine
Simplifying Conventions
• Certain events invariably lead to the same result,
regardless of current state (whenever logically
consistent)
– Example: “hang up” of the handset leads to
disconnection (“this line idle”) state
– To avoid pictorial clutter, this is omitted but implied in
graphic point-line diagram. Shown only where essential
for understanding.
• Multiple states can be symbolically combined into
one “covering” state to clarify the explanation
aspects
– All the internal details must still be explicitly defined for
a working description (perhaps separate diagram)
– Example: dialed digit collection (“digilator”)
Page 83
©1997-2005 R. Levine
Pictorial FSM Example
“Babble, babble”
Illustrates only 3 states
Conversation (answered) state
Event: replace handset
(note: some designs have
intermediate state with
10 sec. timeout)
Event: called by
another caller.
Event: lift handset
Ringing state
Page 84
Event: other caller
abandons call attempt,
ring-no-answer.
©1997-2005 R. Levine
Idle state
Originate-Answer Distinctions
• Most PSTN “wireline” switches actually handle disconnect
differently for an originator vs. an answerer. Such switches
disconnect:
– immediately when originator disconnects
– after (typically) 10 second timer expires, when answering person
disconnects.
– Distinction is software controlled based on a bit set in RAM
• Mimics a historical property of some electro-mechanical
switches
– Allows callèd person to hang up and then quickly run from one
extension set to another on same line without disconnection
• Many PBX and Cellular/PCS switches do not distinguish
originator vs. destination (except for billing!!)
– We do not distinguish in our diagram for simplicity
– If distinguished, two separate conversation states would be required
in the diagram
Page 85
©1997-2005 R. Levine
Example Extended
More states but still not “complete”
Conversation
Distant line
answers
or
Distant line rings or busy.
replace handset
callèd
Ringing other caller
abandons
“Digilator”
Valid
digits
Collect digits
~~
Dial tone
Lift handset
Idle
Event: timer expires
or invalid digits.
replace handset
~~
“Inert”
Page 86
Howler
©1997-2005 R. Levine
Dial first
digit
~~
Announcement:
“Please hang
up and
try again…”
Other Representations
• Not shown explicitly in these notes are two other FSM
representations of a telephone switch:
• Tabular representation could have (for example) a column
for each state, and a row for each event
– Entry for Idle column and “Lift Handset” row is “Go to
Dial Tone state”
– Entry for Dial Tone column and “Lift Handset” row is “not
applicable”
– Entry for Dial Tone column and “Dial first digit” row is:
Start timeout for inter-digit max time, go to next Digilator
internal state
• SDL description comprises a distinct flow-chart-like diagram
for the computer processing steps which must follow each
event
– Proto-representation of the software in the interrupt
handling routine invoked by that event.
Page 87
©1997-2005 R. Levine
•
Time-Space
Diagrams
In some cases the sequence of events and messages between
different parts of a telecom system is displayed via a time-space
diagram.
– Time (not to correct scale) usually increases in downward direction
– Various horizontal positions (not to scale) represent different physical
devices (subscriber set, end office switch, transit switch, etc.) in the
system
– Only one (usually representing a “successful” case) event sequence is
displayed.
Increasing Time
Originating
Station Set
Off Hook
Dial Tone
Dial Digits
End Office
Switch
Transit
Switch
Distant End
Office Switch
Recognize non-local number and
extend to destination switch
Ring
Connect Voice Channel
Answer
Page 88
©1997-2005 R. Levine
Destination
Station Set
Variations on a Theme
• Use of diagonal lines (as in previous page example)
emphasizes signal transmission time delay aspect
– Often called a “zig-zag” diagram
• Horizontal lines may also be used
– Then often called a “ladder”diagram. Still exhibits sequence of
events but de-emphasizes transmission delay
– Yet another name: “Ping Pong”Diagram
• Similar diagrams in other subject areas illustrate sequential
events at different locations
– e.g., Feynman diagrams in quantum physics
• Time-Space diagrams cannot clearly illustrate all exceptional
cases in one figure
– e.g. destination busy, or ring-no-answer, timer in software
expires, etc. etc.
Page 89
©1997-2005 R. Levine
Distant Line Ring or Busy
• When the destination telephone is in another
switch and the trunk signaling is one of the more
primitive types (not common channel No.7), the
origination switch cannot distinguish distant
ringing from busy
– The human caller must listen to the call
progress tones to distinguish busy/ringing
• When the callèd telephone line is in the same
switch or CCS7 signaling is used, this switch can
distinguish, and two states should be drawn.
– Two distinct states are not illustrated in these
notes.
Page 90
©1997-2005 R. Levine
Digilator Digit Collection
•
•
•
A contraction of the words “digit” and “percolator,” the Digilator
“state” is really a collection of many internal states and events.
Digit collection strategy can be described as a tree-structured
data collection decision process
Any pause before or between digits which exceeds maximum time
causes a state transition to a recorded announcement
–
–
•
Internal timer (typically 6 to 20 seconds) is started after each digit but the last,
and reset again when the next digit is sensed
Expiration of the timer causes a “time out” interrupt
Valid digit strings are described by both
– Numbering plan: assignment of specific number groups to local, longdistance, and service lines
– Dialing plan: assignment of specific digits (usually prefixes) for
purposes not described in dialing plan:
• Example: dial 9 prefix to get outside line in a PBX
• Example: dial initial 1 (North America) or 0 (many European nations) for
non-local (long distance) or special service calls (1-411, etc..)
Page 91
©1997-2005 R. Levine
Digilator Information
• In North American Numbering Plan (NANP)
– Initial digits 2,3,… 9 (traditionally represented by N) are
valid for local directory number (N  0,1)
• Subsequent digits can by any of 1,2,3,…9,0 (called X). First 3 digits form
exchange code NXX, remaining digits XXXX. Special treatment for 3-digit
service codes NXX=911, 311, and in some areas 611, 411, etc.
• Digit Collection will be stopped after 7 digits (local call) are collected
– Recently, mandatory 10 digit local dialing in numerous cities like Dallas.
• Then further testing or connection required to determine if this number is in
service, corresponds to a valid NXX, etc. Data for this decision may not be
available in the originating switch.
– The complicated cases are initial zero (0) and initial one
(1)
– Initial 1 may imply:
• service call: 1-411 for directory assistance, 1-611 for repair (initial 1 not used
universally)
• Non-local (inter-exchange carrier) but in e.g. Los Angeles, just non-local
• first digit of 11XX, a rotary dial substitute for special feature prefix/code such
as *69 (1169) for “call back most recent caller”
• first digit of 1010XXX prefix for selected inter-exchange carrier (e.g., 1010222
for MCI, 1010288 for ATT, etc.)
Page 92
©1997-2005 R. Levine
NANP
Dial
Plan
Initial
Zero
• Initial zero (0) has several subsidiary choices, depending
upon succeeding input:
• Followed by no other digits (typically 6 second timeout)
connects to local operator/attendant (0|)*
– Followed by second 0 and timeout (00|), connects to
preferred inter-exchange carrier’s operator/attendant
– Followed by 11 indicates international call (011-) prefix
• 010- is international operator assisted prefix
– Followed by any valid foreign directory number (country
code, area code, local number) indicates an operator
assisted call (so-called “zero-plus” call)
• Example, person-to-person or English-language-only
international call, etc.
* The non-standard symbol “|” is used here to represent a timeout
with no succeeding digits.
Page 93
©1997-2005 R. Levine
NANP Areas
•
US, Canada, and certain coastal* and Caribbean islands are under the NANP
– Each area has a 3 digit area code of form NXX, sometimes represented by the 3
letters NPA. In some documents, the 10 digits are represented ABC DEF GHIJ.
•
•
•
•
Historically the B digit was restricted to 1 or 0 due to historical use of NNX for local
office codes. No longer done (now NXX)
Size of an area is dependent on total directory numbers in use in that area. High
population density areas have required many area code splits or overlays in recent years
and will again in the future
“Caller pays” special surcharges is the source of questionable billing in some Caribbean
nations. Beware of area code 809 and others...
Certain pseudo-area codes are used to cover the entire NANP:
– 800, 888 and 877 for callèd-line-pays long distance numbers.
•
•
Actual target number is determined by a translation table data base using the
succeeding 7 digits
Call forwarding to existing line can be altered based on originator’s directory number,
time/date or other factors
– Your call to Sears Roebuck or Domino’s Pizza is routed to the geographically
nearest store (central office) to your point of origin
– When calling some large firms, your call to the same number may go the the east
coast customer service department in the morning, and the west coast department
in the afternoon and evening.
*e.g. St.Pierre and Miquelon, French “outre-mer” (overseas) departéments off
Canada’s Atlantic coast. Also Bermuda, etc.
Page 94
©1997-2005 R. Levine
ITU Numbering Plan
• The world is divided into 9 zones, each with a
specific initial digit used in national prefix:
– 1 North America (US, Canada and some islands)
– 2 Africa
– 3 Europe (part)
– 4 Europe (other part)
– 5 Central and South America
– 6 Australia and pacific (part)
– 7 Former USSR
– 8 China, Japan and Pacific (other part)
– 9 India and Middle East
• smaller nations have 3-digit code, larger nations or
national groups (e.g. US and Canada together) have 2- or 1digit codes.
Page 95
©1997-2005 R. Levine
How is Connection Routed?
• A connection is directed from an originating line or trunk to
a destination line or trunk outlet by setting the correct
numbers in the connection memory associated with the
switching matrix.
– The choice of destination or outlet is based on an internal
translation table which uses a part of the directory number as
input (e.g. NPA or NXX) and physical equipment identification
number (trunk number or ILAN) as output.
– The contents of this translation table may be changed from
time to time (or another table substituted) to accommodate:
• Malfunction or traffic saturation of certain links (use of
alternate path or route)
• Known or expected better choices for economic or traffic
reasons
– Time of day changes in traffic in various time zones
– Utilize different price strategies on leased or outgoing trunks
Page 96
©1997-2005 R. Levine
Historical North American* Signaling Methods
•
•
•
DC (direct currrent) or baseband dial-pulse signaling 1900-1940s
SF (single frequency) impulsive tone signaling for supervision and
dialing. Needed for FDM multiplexing.
MF (multi-frequency) dialing digit representations.
– The above 3 methods are each historically called “in band” even when
analog frequency band is not involved (for example, in T-1).
•
•
When digital multiplexing (eg, T-1) arrived, MF dialing signals and
“robbed bit” supervision signaling was used.
Many telephone networks formerly or presently use(d) in-band tone
signals to represent dialed digits (DTMF “touch tone,” or another set
of audible tones called multi-frequency MF)
– DTMF uses two simultaneous tones taken from a set of 8
– MF uses two simultaneous tones taken from a different set of 5
• Common channel signaling (SS7 ISUP) is dominant today
– Earlier versions were SS6 and SS7 TUP.
*R2 and other signaling methods used outside of North America are not covered
in this lecture.
Page 97
©1997-2005 R. Levine
DC Pulsing Signals
•
•
•
Before dial telephones, for inter-office (inter-switch) signaling (usually in same
city) the human “operator” connected through a trunk to another human
operator at destination switch. Requests for a destination number were verbal.
When subscribers ended the call, buzzers at each cord board signaled the
operators to manually “tear down” (unplug) each link.
Earliest step switch dial signaling methods accessed specific inter-office trunks
in response to dialing the first (typically) 3 digits. The remaining dialed digits
were out-pulsed in the same form as “locally” dialed signals (that is, brief 40 ms
interruptions in the loop current) on the the same wires as the eventual voice
channel, and operated the last stages of step switches in the destination switch.
A “long” interruption in the loop current ultimately caused automatic disconnect
of all the step switches involved in the call, just as for a “local” (same switch)
call.
This system was difficult to evolve further:
–
–
Required many permanently installed, directly-connected but not always frequently
used inter-office trunks.
Long distance voice transmission with electronic (vacuum tube) amplifiers began about
1914. (Before that, very costly thick low-resistance trunk lines were installed between
some cities.) Amplifiers also required conversion from 2-wire switching (used in each
end switch) to 4-wire switching in the trunk link.
Page 98
©1997-2005 R. Levine
Single Frequency (SF) Signaling
• In the 1920s and 1930s, analog frequency division
multiplexing (FDM) was introduced into the long distance
telephone network. Typically 12 conversations were
multiplexed on the same 4 trunk wires, by means of
amplitude modulation of each conversation (in each
direction) onto a distinct carrier frequency.
– Similar to having 12 radio broadcasting stations, with 12 pretuned radio receivers. Except the radio frequency signals were
all carried by wires and not “over the air.”
– DC or baseband pulsing was not feasible with FDM.
• In each conversation signal in each direction, a single
frequency (2600 Hz) tone was transmitted in the voice
channel to indicate the absence of subscriber loop current.
– Steady SF tone indicated that the channel was idle, or that the
subscriber at the relevant end had hung up.
– Out-pulsing of the SF tone at the beginning of a call setup
conveyed dialing digits as from a rotary dial.
Page 99
©1997-2005 R. Levine
Multi-Frequency (MF) Digit Signals
• SF for dialing was “slow,” and was also susceptible to theft
of service fraud from SF tones generated at the originating
subscriber end by “hackers.”*
• MF dialing encoded each digit, and also a “start” (KP) and
“stop” signal, each by means of a pair of tones taken from a
menu of five distinct audio frequencies.
– MF dialed digit signals were initially used with SF supervision.
– This required a more sophisticated multi-tone receiver to
decode the tones and produce electric current pulses
compatible with the switching equipment.
– New types of switch equipment (example: crossbar) were
introduced in the 1930s that did not need sequential digit
pulsing and thus connected the call faster when MF was used.
– MF signaling can out-pulse 10 digits in one second. Baseband
and SF out-pulsing could take up to 10 seconds for this.
*Large scale “hacker” fraud became a widespread problem in the 1960s
Page 100
©1997-2005 R. Levine
MF with Digital Multiplexing
• When T-1 transmission was introduced
(1961), MF was still used to convey dialed
digits.
– Supervision was signaled via “robbed bit”
signaling (described in EETS8302 lecture
notes and in Bellamy recommended reference)
• The same advantages and disadvantages
still applied to MF encoding of the
destination number
• Plus a new requirement:
– Not flexible for evolving new services. Next
slide shows and example where other
information is needed.
Page 101
©1997-2005 R. Levine
Automatic Routing of Subscriber Dialed Calls
•
•
Automatic routing of long distance calls via several intermediate
switches (first introduced in late 1950s) called for more
sophisticated signaling
Knowing only the destination telephone number was not sufficient
– A problem called “ring around” or “looping” can occur when an
automatic call routing system tries several suburban intermediate
switches surrounding a destination city, and eventually revisits the
same intermediate switches
– The call signaling must identify each call so that the previous
intermediate switches on its attempted route are not visited twice…
• Better to signal to originator to “try again later” and abandon the call
• Unlimited “ring around” will eventually gobble up all circumferential trunk
Destination
switch is.
channels, making the situation worse
than it already
B
A
Blue represents trunks
Used in call setup attempt.
from originating switch
Attempted connection
Is heading again for
Switch A…..
Page 102
C
D
©1997-2005 R. Levine
Red represents trunk groups
With all trunks already busy.
Common Channel Signaling
• The first common channel signaling system
(1970s, CCITT No.6 or common channel
interoffice signaling – CCIS) used fixed length
fixed structure binary code messages via a 2400
bit/second modem in a pre-designated channel.
• Signals in the “common”channel controlled call
setup and disconnect and some routing features
in any voice channel.
– Prevented hacker fraud
– Still not versatile for future evolution
• Replaced starting in 1980s with common channel
system number 7.
– Higher bit rate, faster call setup
– Versatile for future evolution
Page 103
©1997-2005 R. Levine
Signaling System 7
• Almost a world wide standard
– Some variations in versions and features in different
national telephone networks
• High bit rate. Two implementations:
– Uses one voice channel, carrying 56 kb/s or 64 kb/s
– Alternative implementation uses all of a T-1 link bit rate
(1536 kb/s) except the synchronizing bit.
• Flexible
– Message formats provide for future addition of new
parameters
• Reliable
– Typical SS7 network has extensive duplication of data
packet switches and geographically diverse alternate
transmission channels, and includes continual built-in
channel testing and route around failed links/switches.
Page 104
©1997-2005 R. Levine
Main SS7 Message Types
• Standard SS7 uses 4 Message types for ordinary call setup,
but other types exist and more can be added
– Initial Address Message (IAM) orig->dest
• Contains dialed and originator’s numbers, and other information
– Address complete msg. (ACM) dest->orig
• Indicates if destination Line is ringing or busy
– Answer (ANS) dest->orig
• Indicates that destination line has been answered.
• SS7 is designed to allow postponing assignment of a voice
channel until this event. This feature uses voice channel capacity
much more effectively but will be implemented only in the future
when the world PSTN is 100% SS7.
– Release (RLS) and its acknowledgements- either direction
• Causes disconnect process.
• In addition to the “standard” parameters of each message
type, new parameters can be added when required.
Page 105
©1997-2005 R. Levine
SS7 Services Examples:
• Calling Line Identification (Caller ID)
– Originator telephone number sent as a parameter in the
IAM to the destination switch. Sent to destination line
between first two rings via a modem tone, if not
“blocked.” This was the economic “killer app” for SS7
• Call back to last unanswered caller
• Call completion to busy subscriber
– Monitors busy line when denied caller requests, and
establishes connection with caller after it hangs up.
• Redirect “800” calls and other pre-designated
calls to alternate numbers
– When you dial 1 800 DOM-INOS, directs call to the
nearest Domino’s pizza retail store. Uses data base
indexed by first 6 digits of the originator’s number.
Page 106
©1997-2005 R. Levine
Future Telephone Signaling
• Voice over Internet Protocol (VoIP) using speech
digitally coded at low bit rate into data packets
has caused great interest in use of the Internet
and the traditional PSTN to set up calls. Two
protocols are in use for these applications:
• H.323, originally designed for multi-media and
conference calling via Internet, is the first
historical method. Similar in many ways and
designed to be backward compatible with SS7.
Uses binary number parameters in messages.
• Session Initiation Protocol (SIP) is simpler for
non-telephone experts to understand, and uses
alphabetic (ASCII) characters and printable
numeric digit parameters.
Page 107
©1997-2005 R. Levine
Advanced “Intelligent” Network (AIN)
•
Numerous advanced features utilize SS7 messages. Examples:
– Call completion to busy subscribers (CCBS). Originator dials *66 (auto
redial‡) upon reaching a busy line, then hangs up.
• Destination switch automatically sends a special SS7 message when desired
but busy destination person hangs up.
• Origination switch rings back the originating/requesting line. If origination
person answers, origination switch sends a message to destination switch
causing destination line to ring.
• If destination person answers, conversation proceeds.
•
SCP data base can “translate” 800/888/877 dialed numbers into
destination numbers appropriate to the caller, the time of day, etc.
– Callers to Sears Roebuck, Domino’s Pizza, etc. actually reach the
geographically closest retail outlet, or the east coast customer order
center in the morning and the west coast center later in the day, so
order takers work shorter hours at each such location!
– Translation based on origination calling line ID and extensive data base
relating each NPA/NXX to the directory number (DN) of the nearest
retail outlet, etc.
‡ This marketing name is misleading, because the network does not actually re-dial the desired
destination repeatedly. It is “dialed” only once, after the originator answers the ring back.
Page 108
©1997-2005 R. Levine
•
•
Local
Number
Portability
The objective of LNP is to promote local service competition.
The FCC (and some other national telecom regulators such as
OfTel in UK) have legally mandated “portability” of telephone
directory numbers when a subscriber changes from an existing
(“donor”) LEC switch to a new (“recipient”) competitive local
exchange carrier (CLEC) telephone service provider switch.
– In North America, several centralized duplicated SCP/STP data bases
provide a translation between the subscriber’s DN and a special
“dummy” number (called a location routing number -LRN) located on
the new recipient CLEC switch.
– After this translation, the call is routed to the recipient destination
switch using the LRN’s NPA/NXX. The actual dialed number is carried
in a separate special information parameter in the IAM message.
•
When the call is routed to the recipient destination switch, the
destination switch connects the call to the internal subscriber line
designated in a special translation table which relates such
“ported” DNs to the physical lines (ILANs) in the switch used for
that purpose.
Page 109
©1997-2005 R. Levine
Proposed “System Beta”
•
Your instructor proposed a software-based network technology* in 1998
to allow all of one subscriber’s business or residence telephone lines to
each be dialed using the same 7 (or 10) digit decimal telephone number.
– The subscriber may group all business lines (voice, fax, cell/PCS,
pager, data, etc.) under one number and all residential lines
(teenager’s line, home fax, etc.) under another number
– The different lines in a group are distinguished from each other by
means of functional purpose (FP) codes in the LNP (or other) data
base, which are mostly pre-set by the user
• FP codes for each line are stored in a suitable data base (perhaps the
same data base is used for LNP!)
• The internal network SS7 signal messages carry the FP codes in separate
parameters of existing messages
– Multi-use lines have a preset normal FP (typically voice or fax or
teletypewriter for the deaf, etc.) which can be optionally temporarily
superceded on individual calls by a dialed prefix (e.g., a fax machine
automatically dials a *329 prefix, indicating that the desired destination is a
fax line during this call only).
*US patent 6,076,121 issued June 13, 2000, and other patents pending.
Page 110
©1997-2005 R. Levine
Beta Status
•
Aside from making it easier to remember all the different telephone
numbers of your correspondents, System Beta reduces the problem of
telephone number exhaustion by reducing the quantity of telephone
numbers for most subscribers to just one or two, regardless of the
quantity of lines in service!
– In some cases most of the lines used by a subscriber will have internal nondecimal BCD digits in their internal network telephone numbers. This is not
visible to the end user, but it halts the consumption of extra decimal telephone
numbers by subscribers with multiple lines.
•
•
•
Can automatically connect calls involving technologically incompatible
end parties (e.g., voice -- teletype for deaf user) via “translation” center.
Such centers are already in place in all states and provinces in North
America.
Also permits blocking undesired callers by functional purpose (e.g., block
all unsolicited sales calls) and other new optional features
System Beta was tabled by the T1S1.3 standards committee which defines
North American SS7 signaling message standards.
– Waiting for direction from a major carrier or FCC to take it off the table.
•
Could permit “recombining” previously split area codes, restoring 7-digit
local calling, in perhaps 2 to 8 years after installation.
Page 111
©1997-2005 R. Levine
Download