`Case 2:21-cv-00479 Document1-4 Filed 12/31/21 Page 1 of 23 PagelD #: 99
`
`
`EXHIBIT D
`EXHIBIT D
`
`
`
`
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 2 of 23 PageID #: 100
`
`1111111111111111111111f1I110111,11111)11111111111111111111111
`
`United States Patent [19]
`Suder et al.
`
`[n] Patent Number:
`[45] Date of Patent:
`
`6,067,349
`May 23, 2000
`
`[54] DIALING USING CALLER ID
`
`[75]
`
`Inventors: Eric G. Suder; Harold E. A. Hansen
`II, both of Plano, Tex.
`
`[73] Assignee: Estech Systems, Inc., Plano, Tex.
`
`[21] Appl. No.: 09/002,205
`
`[22] Filed:
`
`Dec. 31, 1997
`
`[51] Int. C1.7
`[52] U.S. Cl.
`
` HO4M 1/64
` 379/88.19; 379/88.21;
`379/142; 379/355
` 379/67.1, 88.12,
`[58] Field of Search
`379/88.19, 88.2, 88.21, 88.22, 88.27, 142,
`355
`
`[56]
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5/1990 Miller
`4,930,152
`5,283,818 2/1994 Klausner et al.
`5,671,269
`9/1997 Egan et al.
`
` 379/214
` 379/67
` 379/88
`
`5,717,741
`
`2/1998 Yue et al.
`
` 379/67
`
`Primary Examiner—Scott L. Weaver
`Attorney, Agent, or Firm—Kelly K. Kordzik; Winstead
`Sechrest & Minick P.C.
`[57]
`ABSTRACT
`
`A telephone and voice mail (voice processing) system,
`which is implemented using only a single processing system
`for controlling operation of both the telephone system and
`the voice mail system, permits a user to call back a party
`using caller ID data stored with a voice mail message left by
`the party calling into the system. This is accomplished by
`storing caller ID information associated with an incoming
`call along with the message placed by the incoming caller
`and stored within the mailbox associated with the called
`party. Additionally, the caller ID information may be used to
`create a speed dial list within the telephone and voice mail
`system for later use by the user. Such caller ID information
`may be retrieved from a voice mail message left by the
`calling party, or may be retrieved while conducting a con-
`versation with the incoming call.
`
`31 Claims, 14 Drawing Sheets
`
`1003
`
`Message
`Ends
`
`-1001
`
`User Listening
`to Voice Mail
`Message
`
`1002
`User
`Pressed Redial
`Key 1410?
`
`Yes
`
`Ten Digits of Caller
`ID Data Retrieved
`From Mailbox
`Message Structure
`
`-1004
`
`Compare Area
`-1005
`Code of Phone
`Number Against the
`Local Area Code
`Table
`
`1007
`
`Add a 1 in
`Front of Phone
`Number
`
`1006
`
`Match
`an Entry in
`Local Area Code
`Table?
`
`-1008
`Yes Matched Entry
`Programmed for
`7 or 10 Digits
`
`1009
`
`7
`
`0 1910
`
`Strip 1st Three
`Digits of Phone
`Number
`
`Dial As
`Is
`
`
`
`waled °S11
`
`000z 'a sulk
`
`17T JO 1 13311S
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 3 of 23 PageID #: 101
`
`108
`
`D <
`
`Micro-
`processor
`
`397
`
` Multi-Drop
`Async Comm Link
`
`196
`
`11,3
`
`MODEM
`
`CODEC
`
`Hard Disk
`
`107
`
`109
`
`Watch-
`Dog
`
`110
`Real-time
`Clock
`
`101
`111
`
`Flash
`Mem
`
`112
`
`DRAM
`
`100 ---..
`
`
`
`131 =i--'' -r -
`
`Gate
`Array
`
`-105
`
`102
`y______
`
`DSP
`
`103
`Digial
`Cross-
`Point
`Matrix
`A
`A
`
`114-
`
`DSLAC
`
`CODEC
`
`2.048 Time Slot
`-117 MHz
`Counter
`Frame
`Sync
`
`1
`
`115-
`
`Analog
`Port
`#1
`
`116-
`
`Analog
`Port
`#2
`
`Switching
`Power
`Supply
`120
`
`24 VAC
`75 VA (9)-
`
`124
`
`125-
`
`-123
`
`121
`
`+5v/3A
`+12v/1A
`-5V/.5A
`
`190
`
`122 EKT
`Hwy to
`PCARDS
`300
`CO Hwy
`to PCARDS
`300
`
`Fig. 1
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 4 of 23 PageID #: 102
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 2 of 14
`
`6,067,349
`
`While EKT
`Phone 1400
`is Idle
`
`-201
`
`Press Calling 202
`List Key
`
`r
`Press the Dial Pad Key nnn
`Corresponding to the --. 1A)
`First Letter of the Name
`of the Person or
`Company to be Called
`
`The First/Next
`Entry for the Dial
`Pad Key Appears
`in Display 1401
`
`204
`
`Display
`Contains the
`Name of the Person or
`Company to be
`Called?
`
`205
`
`Yes
`
`Fig. 2A
`
`Press Flash/RDL 206
`Key 1410 to
`Place the Call
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 5 of 23 PageID #: 103
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 3 of 14
`
`6,067,349
`
`Fig. 2B
`
`Ten Digits of Caller ID Data
`Retrieved From Calling List
`Structure
`
`-207
`
`Compare Area Code of Phone
`Number Against the Local Area
`Code Table
`
`-208
`
`209
`
`Match
`an Entry in Local
`Area Code
`Trace?
`
`Yes
`
`Add a 1 in Front
`-210
`of Phone
`Number
`
`Matched Entry
`Programmed
`for 7 or 10 Digits
`
`211
`
`7w
`
`10
`
`Strip 1st Three
`Digits of Phone
`-214
`Number
`
`Dial As
`Is
`
`-213
`
`217
`
`Enter Queue to
`Wait for Line
`
`Line
`Available?
`
`215
`
`-216
`
`Yes
`Seize Line
`t
`Assign DTMF Sender
`i
`Dial Phone Number
`
`-218
`
`-219
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 6 of 23 PageID #: 104
`
`waled °S11
`
`000z 'a sulk
`
`17T JO 17 1331IS
`
`Multi Drop Async Comm Link
`307
`
`301
`
`Microcontroller
`
`308
`
`-309
`
`DSP
`
`Crosspoint
`
`Time
`Slot
`Counter
`From 100
`
`-304
`
`Time Slot
`Generation
`
`EKT HWY
`13
`CO HWY
`(
`122
`
`3029
`
`-306
`
`Data
`Transceiver
`
`EKT
`Interface
`
`-
`
`to
`EKT
`
`1
`2
`3
`
`-305
`
`-
`
`0
`
`Loop
`Start
`COS
`
`to
`CO
`
`1
`2
`3
`
`-310
`
`Analog
`Port
`Interface
`
`to
`Analog
`Device
`(see Fig. 13)
`
`1
`2
`3
`
`300
`
`Fig. 3
`
`
`
`waled °S11
`
`000z 'a sulk
`
`17T JO s lamIS
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 7 of 23 PageID #: 105
`
`403
`i
`Incoming Call
`With Called ID
`Data
`
`402 1
`Access Voice
`Mail Message
`With Caller ID
`Data
`
`404
`User
`Presses
`Calling List
`Key?
`
`Yes
`
`406
`User
`Hangs Up
`Phone?
`
`Yes 407
`r
`Call or Voice
`Access
`Complete
`
`405
`r
`Caller ID Data is Indexed and
`Stored in Call List on Hard Disk
`107
`
`Fig. 4
`
`
`
`juajud *ST1
`
`fit JO 9 lamIS
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 8 of 23 PageID #: 106
`
`501
`r
`
`0
`
`DTMF
`Receivers
`
`502
`r
`
`503
`i
`
`Automatic
`Gain Control
`
`Recording
`Buffers
`
`- DT
`- BT/ROT
`- RBT
`- Single Tones
`- DTMF Senders
`
`.40
`
`507
`r
`
`Call
`Processing
`Tone Gen.
`
`508
`r
`
`Play Buffers
`
` -0
`
`594
`
`FAX Tone
`Det.
`
`505
`r
`
`Caller ID
`Modems
`
`0
`
`506
`r
`
`Conference
`Bridges
`
`Fig. 5
`
`102
`
`
`
`waled °S11
`
`000z 'a sulk
`
`171 JO L WIN
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 9 of 23 PageID #: 107
`
`123
`
`1104
`
`CODEC
`
`• Data 0
`
`To
`Block
`302
`
`/
`306
`
`( 1102
`
`To Phone 0
`
`Data
`
`P
`T
`C
`
`1103
`
`+36V
`
`Fig. 6
`
`1204
`
`i 1203
`
`1201
`
`DSLAC
`Chip with
`CODEC
`
`0
`
`Line
`Interface
`
`TIP
`,
`, CO
`Ring , To Line 0
`
`
`
`O
`
`1203—
`
`Line
`Voltage
`Monitor
`
`Fig. 7
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 10 of 23 PageID #: 108
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 8 of 14
`
`6,067,349
`
`r
`
`1400 1401
`
`12/2V10:45 AM
`NEW 3 OLD 1, /
`
`(/ /1(.L.) (L.)
`CE) CE)
`CI )
`CI )
`)
`)
`
`)
`)
`CI )
`)
`CED C1=)
`CG) CED
`
`MSG/REgA=IMSG/REC
`
`1402
`
`1404
`
`1403
`
`(2 ABC
`
`GHI
`
`5 JKL
`
`(7POR )
`
`(8
`
`STU )
`
`PICK-UP
`
`(8 OPR
`
`7)
`
`(3)
`
`‘ I&
`
`K2)
`
`IC ARI
`
` ,II"11"r 1
`
`HOLD
`
`(-7)
`
`VOICEMAIL
`
`3 DEF
`(6 MNO
`
`VWX
`
`PAGE
`
`REC/MON )
`
`
`
`/ MUTE/DND
`
`TRAN/CONF
`
`
`
`)
`
`SH/RDL
`)
`
`
`
`3
`)
`
`(1r
`
`
`PROGJHELP
`
`CFWD
`
`
`
`1407 1408 1410 1406 1409
`
`Fig. 8
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 11 of 23 PageID #: 109
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 9 of 14
`
`6,067,349
`
`-901
`
`Outside Call
`Rings In
`
`Yes
`
`Caller
`ID Data
`Available on the
`Call?
`
`902
`
`Caller ID Data
`Stored in the
`Call Structure
`
`-903
`
`Caller Dials an -904
`Extension
`
`996
`
`Normal Call
`
`Yes
`
`Extension
`Answered?
`
`905
`
`No
`
`-907
`
`Voice Mail
`System
`Answers Call
`
`-908
`
`Caller Leaves
`Message
`
`Fig. 9
`
`910
`
`Message
`Stored Without
`Caller ID Data
`
`909
`Yes
`
`Caller
`ID Data
`Available ?
`
`911
`Ten Digits of Caller ID
`Data Stored in Mail for
`Message Structure
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 12 of 23 PageID #: 110
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 10 of 14
`
`6,067,349
`
`Fig. 10A
`
`1903
`
`Message
`Ends
`
`-1001
`
`User Listening
`to Voice Mail
`Message
`
`1002
`User
`Pressed Redial
`Key 1410?
`
`Yes
`
`Ten Digits of Caller
`ID Data Retrieved
`From Mailbox
`Message Structure
`
`-1004
`
`i'
`Compare Area
`-1005
`Code of Phone
`Number Against the
`Local Area Code
`Table
`
`1007
`
`Add a 1 in
`Front of Phone
`Number
`
`1006
`
`Match
`an Entry in
`Local Area Code
`Table?
`
`-1008
`Yes Matched Entry
`Programmed for
`7 or 10 Digits
`
`7
`
`1009
`s
`Strip 1st Three
`Digits of Phone
`Number
`
`10 igio
`
`Dial As
`Is
`
`6
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 13 of 23 PageID #: 111
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 11 of 14
`
`6,067,349
`
`0
`
`1011
`
`Line Available?
`
`Yes
`
`Seize Line
`
`1014
`
`Assign DTMF
`Sender
`
`Dial Phone
`Number
`
`Enter Queue to
`Wait for Line
`
`1013
`
`Fig. 10B
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 14 of 23 PageID #: 112
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 12 of 14
`
`6,067,349
`
`-1101
`A Call is
`Received for an
`Extension
`
`i
`System 100 Sends
`Messages Containing
`Caller ID Data Through
`Comm Link 307 to
`Microcontroller 301
`
`1102
`
`Yes
`
`1103
`
`Call for
`Extension
`Connected to an
`Analog Port?
`
`No
`
`Display on EKT
`1400 Updated
`with Caller ID Data
`
`-1108
`
`Fig. 11
`
`1104
`
`Utilize Caller ID
`Modems in DSP
`309 to Convert
`Caller ID Data to
`Tones
`
`Send Tones
`Through Cross- 1105
`Point Switch 308
`to Analog
`Interface 310
`i
`Ring the Intended
`Extension and
`Pass the Tones as
`Caller ID Data
`
`1106
`
`i
`Analog Phone
`Receives Caller ID
`Data and Updates
`Display
`
`1107
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 15 of 23 PageID #: 113
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 13 of 14
`
`6,067,349
`
`-1201
`
`A New Voice
`Message is
`Stored for an
`Extension
`i'
`System 100 Sends
`Messages Containing
`-1202
`Data About a New Voice
`Message Through
`Comm Link 307 to
`Microcontroller 301
`
`Yes
`
`1203
`Voice
`Message for
`Extension Connected
`to an Analog
`Port?
`
`No
`
`-1208
`
`Display on EKT
`1400 Updated
`with New Voice
`Message Data
`
`Fig. 12
`
`1206
`
`1207
`
`4204
`
`-1205
`
`Utilize Caller ID
`Modems in DSP
`309 to Convert
`Voice Message
`Data to Tones
`i
`Send Tones
`Through Cross-
`point Switch 308
`to Analog
`Interface 310
`i
`Ring the Intended
`Extension and
`Pass the Tones as
`Caller ID Data
`i
`Analog Phone
`Receives Caller ID
`Data and Updates
`Display
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 16 of 23 PageID #: 114
`
`U.S. Patent
`
`May 23, 2000
`
`Sheet 14 of 14
`
`6,067,349
`
`13,00
`
`1301
`
`IIIIIIII
`
`ABC
`JO
`
`/WO MPANY 3.12
`:12
`SON, INC
`
`111111111111111
`
`1y
`
`CI
`-L),
`IMP
`
`C1=)
`,CI
`4=0
`
`li 11 Vi i i
`
`1=IMSG/REC 1=1 MSG/R EC
`
`
`
`)
`
`2 ABC
`
`3 DEF
`
`4 GHI
`
`POR
`
`)
`
`PICK-UP
`
`MNO
`
`5 JKL
`(8 STU ) (9 vwx)
`
`PAGE
`
`OPR
`
`d
`
`PARK 3
`
`
`
`)
`
`PARK 2
`
`C )
`
`PARK 1 ' 11111, 11,,,,
`
`HOLD
`
`( )
`
`VOICEMAIL
`
`4
`
`4
`
` )
` )
` )
`
` )
`
` )
`
`JJ
`
`PROG/HELP
`
`
`
`
`CFWD
`
`)
`C-
`) c
`
`TRAN/CONF
`
`FLASH/RDL
`
`3
`)
`
`R EC/MON
`
`DND/MUTE
`
`SPEAKER
`
`I I 1111111111
`
`Fig. 13
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 17 of 23 PageID #: 115
`
`6,067,349
`
`1
`DIALING USING CALLER ID
`
`RELATED APPLICATIONS
`
`The present application is a continuation-in-part applica-
`tion of U.S. patent application Ser. No. 08/873,215 "Tele-
`phone Call/Voice Processing System" and U.S. patent appli-
`cation Ser. No. 08/872,714 entitled "Dial On-Hold".
`
`TECHNICAL FIELD
`
`The present invention relates in general to telephone and
`voice processing systems, and in particular, to a telephone
`call/voice processing system that uses caller ID information
`for dialing out and creating calling lists.
`
`BACKGROUND INFORMATION
`
`Caller ID is a feature available over the public switched
`telephone network whereby an incoming call's telephone
`number is automatically made available to the called party.
`This feature has become very useful for both businesses and
`homes, enabling the receiver of an incoming call to know
`who is the calling party before answering the incoming call.
`Additionally, the telephone number retrieved from the caller
`ID information has also been used to automatically retrieve
`account information associated with the calling party for
`display on a computer at the station where the incoming call
`is to be routed.
`However, there has been little further use of such caller ID
`information to enhance the capabilities of a telephone call/
`voice processing system. The present invention uses the
`caller ID information in a unique manner, which further
`enhances the capabilities of a telephone call/voice process-
`ing system.
`
`SUMMARY OF THE INVENTION
`
`In the present invention, caller ID information is retrieved
`and stored by a telephone call/voice processing system. In
`one embodiment of the present invention, when an incoming
`call is coupled to the voice mail system, the caller ID
`information is stored with the recorded message from the
`calling party. Then, when the user of the particular mailbox
`at which the particular message was left listens to the
`message, the user may initiate an automatic call back to the
`calling party. This is made possible by the telephone call/
`voice processing system retrieving the caller ID information,
`which includes the telephone number and/or name of the
`calling party, and then placing an outgoing call using the
`retrieved telephone number.
`In another embodiment of the present invention, a user
`may add a particular phone number to that user's calling list
`(e.g., a speed dial list) while either speaking with the calling
`party or listening to a message left by the calling party. In
`both cases, the caller ID information associated with the
`calling party is stored within the calling list for later use by
`the telephone user.
`The foregoing has outlined rather broadly the features and
`technical advantages of the present invention in order that
`the detailed description of the invention that follows may be
`better understood. Additional features and advantages of the
`invention will be described hereinafter which form the
`subject of the claims of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`For a more complete understanding of the present
`invention, and the advantages thereof, reference is now
`
`5
`
`2
`made to the following descriptions taken in conjunction with
`the accompanying drawings, in which:
`FIG. 1 illustrates, in block diagram form, components of
`a telephone call/voice processing system;
`FIG. 2 illustrates a process for placing a call using caller
`ID information stored in a calling list.
`FIG. 3 illustrates, in block diagram form, components of
`a port card implemented within the telephone call/voice
`10 processing system of FIG. 1;
`FIG. 4 illustrates a process for storing caller ID informa-
`tion within a calling list;
`FIG. 5 illustrates functions implemented within a signal
`processing circuit within the telephone call/voice processing
`15 system of FIG. 1;
`FIG. 6 illustrates an electronic key telephone interface;
`FIG. 7 illustrates a loop start CO interface;
`FIG. 8 illustrates an EKT;
`FIG. 9 illustrates a process for storing caller ID informa-
`tion with a voice mail message;
`FIGS. 10A and 10B illustrates a process for re-dialing
`using stored caller ID information;
`FIG. 11 illustrates a process for displaying caller ID
`25 information;
`FIG. 12 illustrates a process for displaying generic mes-
`sages in place of caller ID information; and
`FIG. 13 illustrates an analog telephone with a display.
`
`20
`
`30
`
`DETAILED DESCRIPTION
`
`In the following description, numerous technical details
`are set forth such as specific word length and specific
`hardware interfaces, etc. to provide a thorough understand-
`35 ing of the present invention. However, it will be obvious to
`those skilled in the art that the present invention may be
`practiced without such specific details. In other instances,
`well-known circuits have been shown in block diagram form
`in order not to obscure the present invention in unnecessary
`40 detail. For the most part, details concerning timing consid-
`erations and the like have been omitted inasmuch as such
`details are not necessary to obtain a complete understanding
`of the present invention and are within the skills of persons
`of ordinary skill in the relevant art.
`Refer now to the drawings wherein depicted elements are
`not necessarily shown to scale and wherein like or similar
`elements are designated by the same reference numeral
`through the several views.
`Referring to FIG. 1, there is illustrated, in block diagram
`50 form, system 100 for telephone call and voice processing.
`Microprocessor 101, which may be a Motorola 68000 class
`microprocessor, communicates with hard disk 107 using
`driver circuitry 108. Hard disk 107 stores program data,
`voice prompts, voice mail messages, and all other types of
`speech used within system 100.
`Microprocessor 101 also includes watchdog timer 109
`and real-time clock source 110.
`Microprocessor 101 is coupled via bus 105 to flash
`60 memory 111 and dynamic random access memory
`("DRAM") 112. Flash memory 111 is used to store bootstrap
`data for use during power up of system 100. DRAM 112
`stores the program accessed by microprocessor 101 during
`operation of system 100.
`Bus 105 also couples microprocessor 101 to signal pro-
`cessing circuitry, which in this example is digital signal
`processor ("DSP") 102. Digital signal processor ("DSP")
`
`45
`
`55
`
`65
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 18 of 23 PageID #: 116
`
`6,067,349
`
`3
`102 implements a number of functions traditionally imple-
`mented by discrete analog components.
`Referring next to FIG. 5, there are illustrated some of the
`primary functions implemented in DSP 102. DTMF receiv-
`ers 501 are implemented using frequency domain filtering
`techniques. DTMF receivers 501 detect all 16 standard
`DTMF (touch-tone) digits.
`Automatic gain control ("AGC") 502 is a closed-loop
`gain control system which normalizes received audio levels
`during recording.
`Recording buffers 503, which are coupled to AGC 502,
`receive and store speech samples after they have passed
`through AGC block 502. These speech samples are con-
`verted to µ-law PCM (Pulse Code Modulation) and double
`buffered (several samples per buffer). Microprocessor 101
`copies the record data out of DSP buffers 503 into RAM
`buffers (not shown), which are located in the microprocessor
`101 data RAM area.
`Fax tone detector 504 is implemented using frequency
`domain filtering techniques. Fax tone detector 504 detects
`the standard 1100 Hz FAX CNG tone (also referred to as the
`Calling Tone).
`Caller ID data is transmitted from the Central Office
`("CO") using a Frequency Shift Keying ("FSK") modulation
`scheme. FSK works by converting binary data to tones that
`can be transmitted over the voice network. The CO transmits
`the caller ID data between the first and second rings of the
`phone. The caller ID data is received in the form of tones by
`caller ID modems 505. These tones are then converted back
`to digital caller ID data. For further discussion of caller ID,
`please see SPCS Customer Premises Equipment Data
`Interface, #TR-TSY-0030, available from Bellcore.
`Call processing tone generators 507 are free running
`oscillators which generate the appropriate tones (and tone
`pairs) which make up the industry standard call processing
`tones. These tones include:
`dial tone
`busy/reorder tone
`ring back tone
`single frequency (440 Hz) tone
`DTMF dialer tones
`Play buffers 508 replay data from hard disk 107 through
`microprocessor 101 and place this play data in buffers 508.
`This data is converted from an 8-bit µ-law PCM signal to
`14-bit linear data.
`Conference bridges 506 allow multiple conference
`bridges to mix together conferees into a multi-party confer-
`ence. These conferees may be a mixture of inside and
`outside parties. A combination of "loudest speaker" and
`"summing" is utilized.
`DSP 102 communicates with microprocessor 101 via a
`host interface port ("HIP") via bus 105. The HIP link
`supports a command-based protocol, which is used to
`directly read or write DSP memory locations. DSP 102 is a
`RAM-based part and has its program downloaded from
`microprocessor 101. Once downloaded and running, micro-
`processor 101 (the host) polls for events or receives inter-
`rupts indicating that data is available. DSP 102 speech
`connections are made over an industry standard 32-time slot,
`2.048 megabits per second (Mb/s) digital serial link 124.
`Link 124 occupies one of the digital highways implemented
`by digital cross-point matrix 103. Each service of DSP 102
`occupies a single time slot. For example, DTMF receiver 1
`occupies time slot 0 while conference bridge circuit 12
`occupies time slot 31.
`
`10
`
`4
`Digital cross-point matrix 103 is also coupled to bus 105
`and operates to connect any voice path to any other voice
`path. Digital cross-point matrix 103 is a VLSI (Very Large
`Scale Integration) integrated circuit. An example of digital
`5 cross-point matrix 103 is manufactured by MITEL Semi-
`conductor Corporation as part No. 8980. Digital cross-point
`matrix 103 communicates with microprocessor 101 via a
`memory mapped input/output (I/O) scheme. A command/
`control protocol is used for communication between micro-
`processor 101 and digital cross-point matrix 103 via bus
`105. Cross-point matrix 103 is coupled by highway 124 to
`DSP 102. Cross-point matrix 103 is coupled by connection
`125 to highway 121. Cross-point matrix 103 is also coupled
`to peripheral cards by highways 122 and 123. The peripheral
`cards are described in further detail below with respect to
`15 FIG. 3.
`Connections 121-125 are referred to as "highways",
`which are transmission links using time-division multiplex-
`ing ("TDM") as a means for transmitting and receiving data.
`Digital cross-point matrix 103 is capable of making 256
`20 simultaneous fully non-blocking connections within system
`100. However, system 100 may be upgraded by adding
`additional DSPs and/or cross-point matrices.
`Cross-point matrix 103 makes connections using the
`TDM highway by receiving instructions from microproces-
`25 sor 101 to interconnect channels within the frames of the
`TDM bit stream. This results in the non-blocking capability
`of cross-point matrix 103, and also allows for a single voice
`resource, caller, or voice message to be simultaneously
`coupled to multiple other voice resources, station or CO
`30 originated callers, and/or voice messages.
`Gate array 104 is an SRAM (Static Random Access
`Memory) based device. An example of gate array 104 is
`manufactured by XILINX. Gate array 104 is responsible for
`generating all system timing. A master clock signal is
`35 provided by microprocessor 101 at 16.384 MHz. This clock
`signal is divided down to provide a number of phase
`coherent system clocks such as 4.096 MHz, 2.048 MHz and
`8 KHz (frame sync). In addition, a 5-bit time slot counter is
`implemented which allows all the system CODECs to detect
`40 the appropriate time slot to use (0-31). An additional divider
`chain is included to divide the system clock down to 20 Hz,
`which is used by the ringing generator power supply (not
`shown).
`Gate array 104 is downloaded at boot-up by system
`45 software. Gate array 104 is based on an SRAM architecture.
`That is, the internal fusible links commonly found in pro-
`grammable logic are actually stored in volatile SRAM.
`Because of this architecture, gate array 104 is downloaded
`after power-up. Also, note the added flexibility of being able
`50 to modify the logic by simply loading new system software.
`Because the device is SRAM-based, it loses its program-
`ming when power is removed.
`Bus 105 is also coupled to modem 106, which provides a
`capability of calling into system 100 on a remote basis to
`55 load additional programs, voice prompts, etc., or updates
`thereto, into hard disk 107. Modem 106 is coupled to
`coder/decoder ("CODEC") 113, which is coupled to high-
`way 121. This connection allows coupling of modem 106
`through cross-point matrix 103 to CO lines through highway
`60 122 and the p-card described below with respect to FIG. 3.
`Also coupled to highway 121 is dual subscriber line
`access chip 114, which is well-known in the art, and which
`is coupled to analog ports 115 and 116, which provide an
`ability for system 100 to communicate to analog-type con-
`65 nections such as cordless telephones and fax machines.
`Highway 121 is also coupled to CODEC 117, which is
`coupled to transformer 118 to a music source 119, which
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 19 of 23 PageID #: 117
`
`6,067,349
`
`5
`provides an ability to couple an external music source to a
`caller through cross-point matrix 103 for such things as
`providing the caller with music on-hold.
`Power to system 100 is provided through switching power
`supply 120, which converts AC to the various DC supply
`voltages needed by circuitry within system 100.
`Referring next to FIG. 3, there is illustrated peripheral-
`card ("p-card") 300, which is coupled to main board 190 of
`system 100. Main board 190 communicates with p-card 300
`via a multi-drop async serial link 307. This connection 307
`is made directly to microprocessor 101 (via buffers not
`shown). P-card 300 provides interconnections between CO
`lines and extension lines to system 100.
`Microcontroller 301 is an 8-bit microcontroller, an
`example of which is manufactured by Hitachi as Part No.
`H8, which controls all the real-time functions associated
`with p-card 300. Microcontroller 301 is responsible for all
`low-level communication with the EKTs 1400 (electronic
`key telephones) (see FIG. 8) and CO lines. A low level event
`is an event which is specific to the hardware and is required
`to be handled in real-time. These events are unique to the
`EKT or CO trunk protocol. In contrast, high level events can
`be abstracted to have no correlation to actual hardware. An
`example of a high level event might be "Turn the SPKR
`LED On." The corresponding low-level event would be
`"Send HEX Code 21 to EKT Address 4." This level of
`abstraction helps stabilize the complex system software.
`Another example would be that system software can send a
`command to seize a CO trunk without being concerned with
`the low-level differences between a ground start or DID
`trunk. Some of the low-level tasks include updating EKT
`LEDs and LCD displays, decoding key press messages from
`the EKTs 1400, scanning the CO status bits and filtering
`RING and CO seizure events.
`Microcontroller 301 converts these low-level real-time
`events to high-level events which form a protocol referred to
`as the ESi Command Language (ECL). This ECL protocol
`is implemented on multi-drop async serial channel 307
`between main board 190 and all p-cards 300 in system 100.
`Microcontroller 301 contains 2 async serial ports. One of
`these serial ports is connected to main board 190, and the
`other port drives data transceiver and multiplexer 302.
`When p-card 300 is plugged into main board 190 (via
`ribbon cable (not shown)) a card address is assigned to
`p-card 300. This card address is read by microcontroller 301
`and is used to filter commands over communication link
`307. When main board 190 software wants to communicate
`with the specific p-card 300, the address is sent in the
`message packet which all p-cards 300 receive. P-cards 300
`match the address in the message to the hard wired address
`on the ribbon cable. If a match is made, only that p-card 300
`responds to the command set.
`Microcontroller 301 contains an internal program
`memory (not shown) which contains a bootstrap program
`which upon reset or power-up requests a fresh firmware load
`from main board 190. This firmware load is stored in the
`main memory of microcontroller 301. Upon completion of
`the load, the program is executed from main memory. This
`scheme allows for microcontroller 301 firmware to be
`updated and loaded at any time.
`Main board 190 sources all system timing through block
`304. Timing signals to p-card 300 consists of a 2.048 MHz
`clock signal, an 8 KHz frame sync, which signifies the first
`time slot of a 32 time slot highway, and 5 time slot counter
`bits, which represent a binary count from 0 to 31.
`As mentioned above, p-card 300 is assigned a card slot
`address when it is connected to main board 190. This card
`
`6
`slot address is used to calculate which time slots p-card 300
`should be using. The time slots used for the CO CODECs
`1204 (see FIG. 7) are actually generated by the time slot
`assignment circuitry contained in the DSLAC chip. There
`5 are two separate 2.048 MHz (32 time slot) highways 122 and
`123 that run between main board 190 and p-card 300. One
`(123) is for the EKTs 1400 and the other (122) is for the
`COs.
`Referring to FIGS. 3 and 6, EKT interface 306 describes
`10 the connection between system 100 and electronic key
`telephone (EKT) 1400. This interface consists of two physi-
`cal pairs of wires running between system 100 (often
`referred to as a Key System Unit (KSU)) and EKT 1400.
`One of these pairs supports an analog bidirectional audio
`15 path and the other supports a bi-directional digital control
`channel.
`EKT 1400 is connected to the KSU via transformers 1101
`and 1102, providing a high degree of isolation as well as
`longitudinal balance. Transformer 1101 is for the audio path
`20 and transformer 1102 is for the data path on each end of the
`connection. Power is supplied to EKT 1400 by phantoming
`the power through the center taps of transformers 1101 and
`1102. The KSU supplies a nominal voltage of 36 volts DC
`which passes through a positive temperature co-efficient
`25 varistor ("PTC") 1103. PTC 1103 acts as a resettable fuse
`which becomes very resistive during excessive current flow
`(such as when a short in the station wiring occurs). EKT
`1400 regulates down to +12 and +5 volts.
`The audio path is a dry analog bidirectional path consist-
`30 ing of a traditional hybrid (2:4 wire converters) on each end.
`The audio path on p-card 300 is converted to a 4-wire path
`by the hybrid circuit in interface 306. The separate transmit
`and receive paths are gain adjusted and connected to
`CODEC 1104. CODEC 1104 converts the analog signals to
`35 digital and presents these voice signals to EKT highway 123.
`EKT highway 123 consists of a 2.048 Mb/s serial stream
`which is divided into 32 64 Kb/s time slots. Each CODEC
`1104 occupies one time slot on highway 123. System 100
`reserves two time slots per EKT 1400 for future migration
`40 to a fully digital 2B+D EKT where two 64 Kb/s digital
`channels are available to each station instrument.
`Timing for CODECs 1104 is supplied by time slot gen-
`eration block 304, which is coupled to the time slot counter
`output from system timing block 104 (see FIG. 1).
`The EKT data is produced by a UART (Universal Asyn-
`chronous Receiver/Transmitter) in microcontroller 301. This
`NRZ transmit and receive data is presented to data trans-
`ceiver and multiplexer 302. A single data transceiver is used
`for all 8 EKT circuits and is multiplexed through an
`50 8-channel analog mux to each EKT data transformer 1102 in
`a round-robin fashion.
`Messages to EKT 1400 consist of commands such as
`POLL, TURN ON LED, WRITE LCD
`CHARACTER, RING PHONE, etc. Response messages
`55 from EKT 1400 consists of a lower level key command in
`the first 5 bits and a single hook switch bit in the 8th bit. If
`the 7th bit of the response message is set, a high level
`response command such as FIRMWARE VERSION or
`TERMINAL TYPE is present in the first 5 bits.
`Referring next to FIGS. 3 and 7, the loop start central
`office (CO) lines are supplied by the local telephone com-
`pany and consist of a wet balanced differential audio pair.
`The term "wet" refers to the fact that a voltage of —48 volts
`is present on the pair. System 100 requests dial tone from the
`65 CO by providing a nominal 200 ohm loop across the TIP and
`RING conductors and releases the connection by opening
`the loop.
`
`45
`
`60
`
`
`
`Case 2:21-cv-00479 Document 1-4 Filed 12/31/21 Page 20 of 23 PageID #: 118
`
`6,067,349
`
`7
`The CO rings system 100 by placing a 90 vrms AC, 20 Hz
`sine wave on the TIP and RING conductors. System 100
`seizes the line by going off hook.
`P-card 300 incorporates a unique circuit which monitors
`the voltage present across TIP and RING of each CO. This
`line voltage monitor circuit 1202 serves to detect the ring
`voltage present during ringing (ring detection) and the
`unique feature of monitoring the CO line status for condi-
`tions such as whether the CO is plugged in or if someone is
`off hook in front of system 100. The latter can be used to
`detect theft of service or allow a credit card verification
`terminal to be used without interfering w