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