`Glowny et al.
`
`111111
`
`1111111111111111111111111111111111111111111111111111111111111
`US006728345B2
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6, 728,345 B2
`Apr. 27, 2004
`
`(54) SYSTEM AND METHOD FOR RECORDING
`AND STORING TELEPHONE CALL
`INFORMATION
`
`(75)
`
`Inventors: David A. Glowny, Milford, CT (US);
`Phil Min Ni, Danbury, CT (US); John
`E. Richter, Trumbull, CT (US)
`
`(73) Assignee: Dictaphone Corporation, Stratford, CT
`(US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 385 days.
`
`(21) Appl. No.: 09/876,979
`
`(22) Filed:
`
`Jun. 8,2001
`
`(65)
`
`Prior Publication Data
`
`US 2001/0040942 A1 Nov. 15, 2001
`
`Related U.S. Application Data
`
`( 63) Continuation of application No. 09/328,299, filed on Jun. 8,
`1999, now Pat. No. 6,249,570.
`Int. Cl? ................................................. H04M l/04
`(51)
`(52) U.S. Cl. ................ 379/88.22; 379!111; 379/202.01
`(58) Field of Search ...................... 379/67.1, 68, 88.09,
`379/88.11, 88.22, 88.25, 93.12, 93.17, 93.23,
`111, 112.Dl, 112.06, 116, 202.01, 265.03,
`265.D7, 266.1, 267, 309; 360/5, 6, 55
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`3,104,284 A * 9/1963 French et a!. ............... 704/203
`3,369,077 A * 2/1968 French eta!. ............... 704/207
`3,723,667 A * 3/1973 Park et a!. ............... 369/47.55
`3,727,203 A * 4/1973 Crossman .................. 360/72.2
`4,130,739 A * 12/1978 Patten ..................... 369/47.36
`4,199,820 A * 4/1980 Ohtake eta!. .............. 386/126
`4,260,854 A * 4/1981 Kolodny et a!.
`.............. 379/75
`4,298,954 A * 11/1981 Bigelow et a!.
`.............. 710/53
`
`4,435,832 A * 3/1984 Asada et a!. ................ 704/262
`4,442,485 A * 4/1984 Ota et a!.
`..................... 710/57
`4,542,427 A * 9/1985 Nagai ........................ 360/72.1
`4,549,047 A * 10/1985 Brian eta!. .............. 379/88.26
`4,602,331 A * 7/1986 Sheth ......................... 711!113
`4,621,357 A * 11/1986 Naiman et a!.
`............. 370/370
`4,630,261 A * 12/1986 Irvin .......................... 370/235
`4,631,191 A * 12/1986 Dale et a!. ............... 424/186.1
`4,679,191 A * 7/1987 Nelson eta!. .............. 370/355
`4,686,587 A * 8/1987 Hipp et a!.
`................ 360/74.2
`4,688,117 A * 8/1987 Dwyer eta!. .............. 360/72.3
`4,692,819 A * 9/1987 Steele
`....................... 360/72.1
`4,709,390 A * 11/1987 Atal eta!. .................. 704/262
`4,785,408 A * 11/1988 Britton et a!.
`.............. 704/270
`4,785,473 A * 11/1988 Pfeiffer et a!. ........... 379/88.24
`4,799,144 A * 1!1989 Parruck eta!. ................ 710/2
`4,799,217 A * 1!1989 Fang .......................... 370/458
`4,811,131 A * 3/1989 Sander et a!. .............. 360/74.4
`4,811,376 A * 3/1989 Davis et a!.
`............... 340/7.28
`4,827,461 A * 5/1989 Sander .......................... 369/7
`4,829,514 A * 5/1989 Frimmel eta!. ............ 370/368
`4,835,630 A * 5/1989 Freer ........................... 360/69
`4,841,387 A * 6/1989 Rindfuss .................... 360/72.1
`4,851,937 A * 7/1989 Sander ........................ 360/69
`4,853,952 A * 8/1989 Jachmann et a!.
`....... 379/88.11
`4,864,620 A * 9/1989 Bialick ....................... 704/207
`4,873,589 A * 10/1989 Inazawa et a!. ............... 360/53
`
`(List continued on next page.)
`
`Primary Examiner-Scott L. Weaver
`(74) Attorney, Agent, or Firm---Howrey Simon Arnold &
`White, LLP; Anthony L. Meola
`
`(57)
`
`ABSTRACT
`
`A system and method for monitoring a telephone switching
`environment. In a preferred embodiment the system and
`method identify telephone call segments that relate to one
`telephone call and construct a data representation of a
`lifetime of the telephone call, using data regarding telephony
`events associated with the telephone call segments of the
`telephone call. The system and method are also capable of
`using the data representation to display a graphical repre(cid:173)
`sentation of a lifetime of a telephone call.
`
`52 Claims, 29 Drawing Sheets
`
`Agentld
`
`EXTENSION
`
`LOCATION
`
`A
`
`B
`HOLD
`c
`
`0001
`
`0002
`
`EXTERNAL
`
`INTERNAL
`INTERNAL
`
`INTERNAL
`
`START
`TIME
`t,
`t,
`t4
`
`t6
`
`END
`TIME
`t7
`t4
`t6
`
`t7
`
`CONNECT
`REASON
`
`DISCONNECT
`REASON
`
`NORM START
`
`NORM DROP
`
`NORM START
`Xfr Rec
`
`Xfr Rec
`
`Xfr AWAY
`Xfr AWAY
`
`OTHER PARTY
`HANGUP
`
`GTL 1007
`IPR of U.S. Pat. No. 8,135,115
`
`0001
`
`
`
`US 6, 728,345 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`4,890,325 A * 12/1989 Taniguchi et a!.
`.......... 704/208
`4,891,835 A * 1/1990 Leung et a!.
`............ 379/88.11
`4,893,197 A * 1/1990 Howells et a!. ................ 360/8
`4,907,225 A * 3/1990 Gulick et a!. ............... 370/463
`4,939,595 A * 7/1990 Yoshimoto eta!. ......... 386/100
`4,975,941 A * 12/1990 Morganstein eta!. .... 379/88.23
`4,991,217 A * 2/1991 Garrett et a!.
`.............. 704/235
`5,001,703 A * 3/1991 Johnson et a!. ............. 370/280
`5,031,146 A * 7/1991 Umina eta!. .......... 365/189.01
`5,065,428 A * 11/1991 Mitchell et a!.
`............ 713/194
`5,129,036 A * 7/1992 Dean eta!. ................. 704/200
`5,130,975 A * 7/1992 Akata ......................... 370/416
`5,142,527 A * 8/1992 Barbier eta!. .............. 370/270
`5,163,132 A * 11/1992 DuLac et a!. ................. 710/53
`5,179,479 A * 1/1993 Ahn .......................... 360/72.1
`5,195,128 A * 3/1993 Knitl ....................... 379/88.24
`5,210,851 A * 5/1993 Kato et a!. .................... 360/48
`
`5,216,744 A * 6/1993 Alleyne eta!. ............. 704/200
`5,270,877 A * 12/1993 Fukushima et a!. ........... 360/48
`5,274,738 A * 12/1993 Daly et a!. .................. 704/200
`5,283,818 A * 2/1994 Klausner et a!. ......... 379/88.25
`5,305,375 A * 4/1994 Sagara et a!. ............ 379/88.27
`5,339,203 A * 8/1994 Henits eta!. ................. 360/39
`5,353,168 A * 10/1994 Crick ............................ 360/5
`5,396,371 A * 3/1995 Henits et a!.
`.................. 360/5
`5,404,455 A * 4/1995 Daly et a!. ..................... 710/4
`5,446,603 A * 8/1995 Henits et a!.
`................. 360/48
`5,457,782 A * 10/1995 Daly et a!. .................. 704/200
`5,533,103 A * 7/1996 Peavey et a!.
`................ 379/69
`5,819,005 A * 10/1998 Daly eta!. .................. 704/200
`5,867,559 A * 2/1999 Jorgensen et a!.
`......... 379/67.1
`5,982,857 A * 11/1999 Brady ..................... 379/88.19
`6,070,241 A * 5!2000 Edwards eta!. ............ 713/200
`
`* cited by examiner
`
`0002
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`
`'"""' 0 ......,
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`:
`I
`I
`I
`1
`
`RECORDER
`
`AUDIO
`
`I
`I
`1
`I
`I
`I
`I
`-180-----------l
`
`185
`
`EXTENSION
`
`SIDE
`
`STORAGE
`VOICEDATA TM
`
`'124
`
`\ ',
`
`155
`
`_ _____ , _____ j
`
`-----
`
`150
`
`GENERATOR
`RECORD
`CALL
`
`L---L--/ ___ _
`I
`I
`I
`
`,L-
`
`"
`
`/
`
`I
`
`I
`
`:
`I
`I
`I
`r----~
`I
`SOURCE
`I
`INPUT
`1
`I
`OTHER
`I
`I
`I
`1
`r----------
`
`/
`
`/ / ;
`
`145
`
`SERVICE
`
`TIME
`
`125
`
`130
`
`....-----'-----.
`
`L----,---------_j
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`1 165
`I
`,------------,
`
`FIG.1
`
`160
`
`" I
`, .. I
`
`I
`
`710
`
`I
`
`TRUNK-SIDE
`
`170
`
`115
`
`110
`
`105
`
`PBX
`
`100
`
`0003
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`0 ......,
`N
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`Computer Link
`Real-Time CTI F 1 G 2
`
`•
`
`Computer Link
`
`SMDR
`
`Agent Phones\__ 230
`
`@ fii ~c
`
`8
`
`L------1 @) (__ __ r!!!!Jj
`
`r!l
`
`@r-rfP
`·@~
`@
`
`r!P
`
`I
`
`PBX
`
`e~
`e~
`e~
`
`100
`
`180
`
`Recording
`Station-Side
`
`170
`
`Recording
`Trunk-Side
`
`250
`
`0004
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`0 ......,
`~
`
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`"'--395
`
`OPH
`
`390
`
`NO
`
`FIG.3
`
`386
`
`CD . ....
`
`384'--l CA
`
`382'-" . ...__
`XR
`
`.A-----v---380
`
`XR
`
`XA
`
`375
`
`365
`
`XA 370
`
`.___..,.
`
`... ------.
`
`t4
`(
`330
`
`t3
`,J
`325
`
`t2
`~
`320
`
`t1
`/
`315
`
`tO 360
`I
`310
`
`Clnt
`
`35~
`Blnt
`
`HOLD1nt
`
`350"
`'""'
`345
`
`Blnt
`
`340
`A Ext
`~
`335
`
`\._
`
`0005
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 4 of 29
`
`US 6, 728,345 B2
`
`480
`
`daVinci
`
`SYMPHONY
`
`474
`
`472
`
`470
`
`Ctc
`INPUT
`
`CtiCtc.exe
`
`464
`
`160
`
`100
`
`PBX
`
`438
`
`Ctc CaiiStote
`LIST
`
`412
`
`406
`
`FIG.4
`
`0006
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 5 of 29
`
`US 6, 728,345 B2
`
`502
`
`508
`
`SCAN THE LIST
`OF RECENTLY
`COMPLETED CALLS
`
`CALCULATE CONFIDENCE
`FACTORS CF BY THE FORMULA
`CF =SUM[ (MQ)i * (WF)i]
`
`522
`
`RECEIVE NEXT PENDING SMDR
`OR REAL-TIME CTI MESSAGE
`
`506
`
`NO
`
`YES UPDATE THE DATA MODEL
`OF TELEPHONY ACTMTY
`
`518
`
`T~SUIT THE 00
`RECORD ONWMO TO
`THE REST OF THE
`RECORDING SYSTEM
`
`510
`
`YES
`
`526
`
`USE THE MATCH
`FOUND
`
`USE THE MATCH
`WITH THE
`HIGHEST CF
`
`NO ...--------1.-----.
`ADD THE CALL
`RECORD TO THE LIST
`OF RECENTLY
`COMPLETED CALLS
`
`524
`
`EXTRACT THE TRUNK
`CHANNEL INFORMATION
`
`540
`
`544
`
`UPDATE THE 00 RECORD WITHIN THE
`LIST OF RECENTLY COMPLETED CALLS
`
`TRANSMIT THE 00 RECORD ONWARD
`TO THE REST Of THE RECORDING SYSTEM
`
`DISCARD THE CALL RECORD FROM
`THE LIST OF RECENTLY COMPLETED OOS
`
`550
`
`548
`
`FIG.5
`
`DISCARD COMPLETED CALLS
`AFTER THEY GET TOO OLD
`
`530
`
`0007
`
`
`
`U.S. Patent
`
`Apr. 27,2004
`
`Sheet 6 of 29
`
`US 6, 728,345 B2
`
`680
`~
`
`DISTRIBUTION lAYER
`(FILTERS AND SENDS RECORDS TO VARIOUS RECIPIENTS)
`
`(
`
`670
`
`NORMALIZATION lAYER
`(CONVERTS DATA INTO SIMPUFIED CTI RECORDS)
`
`640)
`
`650"
`
`660 ' )
`
`DIALOGIC
`CT-CONNECT
`API
`
`OTHER
`API
`lAYERS
`
`OTHER
`CUSTOMIZED
`INTERFACES
`
`620
`
`610
`
`\__ 1111111 E)
`
`\ ._ 1111111 E)
`
`1111111
`
`1111111
`
`1111111
`
`1111111
`
`PBX VENDOR
`
`1111111
`
`1111111
`
`1111111
`
`1111111
`
`PBX VENDOR
`
`630
`'--- 1111111 E)
`1111111
`1111111
`
`1111111
`1111111
`AT&T {LUCENT)
`NORTEL
`ASPECT
`ROLM
`ROCKWELL
`SIEMENS
`INTECOM
`
`FIG.6
`
`0008
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`0 ......,
`-..J
`~ .....
`'JJ. =-~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`CONFIGURA nON
`I
`
`I
`
`EVENTS
`AGENT
`
`I
`
`TELEPHONY
`
`EVENTS
`
`FIG. 7
`
`SERVER
`CTI \_~ DATA
`
`J
`'
`
`HEARTBEAT~ CONTROLLER
`OPE~nONAL
`
`SYSTEM
`
`(
`
`CALL y
`
`GENERATOR
`RECORD
`
`0009
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 8 of 29
`
`US 6, 728,345 B2
`
`CRG
`INTERFACE
`THREADS
`
`850
`
`840
`
`MULTIPLD
`OUTBOUND
`QUEUES
`
`820
`
`CtiServ.exe
`
`855
`
`"WinMain·
`THREAD
`
`"winMain"
`THREAD
`
`\..
`
`CTI EVENT
`PROCESSING
`THREAD
`l
`DIALOGIC
`CT-CONNECT
`API lAYER
`
`,-
`1111111 El
`1111111
`1111111
`1111111
`1111111
`PBX #1
`
`406
`
`CtiCtc.exe
`
`CtiCtc.exe
`
`--------
`
`• I
`--1
`
`I
`I
`I
`l
`
`I
`I
`I
`I
`
`I9 C?I
`II IIIII
`II IIIII
`II IIIII
`IIIII II
`1111111
`PBX #2
`
`I9 C?I
`II IIIII
`II IIIII
`II IIIII
`II IIIII
`II IIIII
`PBX #3
`
`FIG.8
`
`0010
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 9 of 29
`
`US 6, 728,345 B2
`
`daVinci
`
`SYMPHONY
`
`~
`U!..J
`
`Us ANALYZER
`UTILS
`
`~tli9}i~~]
`~[];]
`•~
`
`Us tXTENSION
`INFO
`
`Lts CoiiState
`LIST
`
`Us
`INPUT
`
`Ctilts.exe
`
`SmdrDotoFile
`
`TrunkiAopFile
`
`LtsOotoFile
`
`Smdr LINK
`(RS-232)
`
`LUCENT
`TELEPHONY
`SERVICES
`
`PBX
`
`FIG.9
`
`0011
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`':...l
`0'1
`rJ'l
`
`e
`
`'0
`N
`0 ......,
`"""' c
`~ ......
`'JJ. =-~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG.1 0
`
`1030
`
`I ill
`COMPLETED CALLS
`STATUS OF RECENTLY
`
`I I
`
`a
`
`I
`
`1050
`
`1040
`
`FROM MEMORY.
`FROM THE LIST UNTIL THE ENTIRE CALL IS PURGED
`DURING THE LIFE OF THE CALL. ENTRIES ARE NOT REMOVED
`AND IT MAY GROW LONGER AS PARTIES BECAME INVOLVED
`IN. THE LAST ALWAYS STARTS WITH AT LEAST 2 PARTICIPANTS,
`PARTICIPANT ENDING DATE/TIME AND REASON CODE ARE FITIED
`lATER, WHEN A PARTY LEAVES THE CALL, THE
`REASON CODE.
`PARTICIPANT IS ADDED WITH A STARTING DATE/TIME AND
`LIFETIME OF THE CALL. WHEN A PARTY JOINS THE CALL, A NEW
`THE LIST OF PARTICIPANTS IS A CUMULATIVE HISTORY OF THE
`
`PENDING TRANSFER)
`
`(FOR EXAMPLE,
`
`m
`
`STATUS OF CALLS
`
`ON HOLD
`
`PARTICIPANT 4
`
`PARTICIPANT 2
`PARTICIPANT 1
`CALL #2174
`
`~[i] IJ
`TELEPHONE ~
`TELEPHONE ~ TRANSIENT STATES
`~li] STATUS OF CALLS IN
`TELEPHONE ~
`~li]
`
`#103
`
`#102
`
`#101
`
`OF THE CALL AND ITS PARTICIPANTS. ~ I CTI EVENT I
`(
`
`EVENT ALONG WITH OUR ABSTRACTION
`REFLECTS THE LAST INPUT CTI
`OUR MODEL HAS A STATUS THAT
`EACH TELEPHONY OBJECT WITHIN
`
`EACH PARTICIPANT RECORDS AN v
`
`STATUS OF TELEPHONE
`
`EXTENSIONS
`
`1020
`
`THE CALL.
`FOR HOW IT JOINED AND LEFT
`lNG DATE/TIME, AND REASON CODES
`CALL, INCLUDING STARTING & END-
`ENTITY'S INVOLVEMENT WITH THE
`
`0012
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 11 of 29
`
`US 6, 728,345 B2
`
`PBX
`
`1110
`v--- _V
`
`DATA
`COLLECTION
`
`DATA
`NORMALIZATION
`
`1120
`
`v---V
`
`COMMUNICATIONS
`WITH
`SYSTEM PI..A TFORM
`
`1130
`
`~-----__j,l/
`
`• TM
`a lnCI
`d Vi
`
`FIG.11
`
`0013
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 12 of 29
`
`US 6, 728,345 B2
`
`START
`DATA COLLECTION
`
`START
`DATA NORMALIZATION
`
`START
`MESSAGE EMITIER
`
`1226
`
`OPEN CONNECTION
`TO TARGET PLATFORM
`
`1210
`
`1228
`
`RECEIVE CTI EVENT
`FROM MESSAGE QUEUE
`1230
`UPDATE THE
`TELEPHONY MODEL
`,.--...L..----,/
`POST THE CALL
`STATE TO MESSAGE
`QUEUE, IF NECESSARY
`
`RECEIVE THE CALL STATE
`FROM MESSAGE QUEUE
`1246
`CONVERT DATA
`INTO PLATFORM-SPECIFIC
`FORMAT
`
`SEND MESSAGE TO
`TARGET PLATFORM
`
`DISCARD PREVIOUSLY
`COMPLETED CALLS AFTER
`THEY GET TOO OLD
`
`1248
`
`CALL THE "HANG-UP"
`HANDLER ROUTINE FOR
`HELD/BUMPED CALLS AFTER
`THEY GET TOO OLD
`
`1250
`
`RECEIVE
`CTI EVENT
`
`1214
`
`1216 I
`
`1231
`
`1218
`
`CLOSE CONNECTION
`TO CTI DATA SOURCE
`
`FIG.12
`
`0014
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 13 of 29
`
`US 6, 728,345 B2
`
`FIND
`MATCHING OBJECT
`FOR
`CTI EVENT
`
`EXAMINE THE
`STATE MATCHING RULES
`USING
`URRENT OBJECT STATU
`AND NEW CTI EVENT
`
`1332
`
`1230
`
`1322
`
`1324
`
`THERE ARE MANY ACTION
`METHODS WHICH CAN BE
`SELECTED BY THE STATE
`MACHINE LOGIC. EACH ONE
`GENERALLY PERFORMS THE
`FOLLOWING LOGIC FLOW USING
`SPECIFIC DETAILS THAT ARE
`SUITABLE FOR THE PARTICULAR
`TYPE OF TELEPHONY EVENT.
`
`SAVE CTI EVENT
`WITHIN THE
`OBJECT STATUS
`
`1342
`
`1340
`
`UPDATE CALL -RELATED
`PORTION OF THE
`OBJECT STATUS,
`IF NECESSARY
`
`UPDATE PARTICIPANTS
`WITHIN THE
`OBJECT STATUS,
`IF NECESSARY
`
`RUN ADDITIONAL
`ACTION METHODS
`FOR OTHER AFFECTED
`TELEPHONY OBJECTS,
`IF NECESSARY
`
`POST OBJECT STATUS
`TO MESSAGE QUEUE
`FOR THE EMITTER
`TO A TARGET PLATFORM
`
`FIG.13
`
`0015
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`0 ......,
`'"""' ~
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`FIG. 14
`
`1460
`
`AUDIO PLAYBACK
`
`~1424
`
`1416 1420
`
`PlAYBACK)
`(SEARCH &
`WORKSTATION
`
`USER
`
`SERVER
`DATABASE
`CENTRAL
`
`RESULTS
`SEARCH
`
`1465
`
`1412
`
`1412 1416
`
`1410
`
`0016
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`0 ......,
`'"""' Ul
`~ .....
`'JJ. =-~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`THAT ARE PART OF A SINGLE
`MULTIPLE VOICE RECORDINGS
`
`CTI HELPS TO UNIFY
`
`LOGICAL CALL
`
`LOGICAL SEPARATION OF CALLS
`
`CTI HELPS TO RECOGNIZE
`
`EVEN WHEN THERE IS NO
`
`SILENCE GAP
`
`FIG.15
`
`VOICE R#E;ORDING I
`I
`
`VOICE R#E;ORDING -
`
`VOICE 7~0RDING ~ VOICE RHE~ORDING -
`
`I CTI RECORD #2
`
`CTI RECORD # 1
`
`VOICE R:~ORDING ~ VOICE RHE~ORDING ~ VOICE R#E;ORDING ~ VOICE R#~ORDING I
`
`MARKED IN GRAY
`SILENT PERIODS
`
`0017
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`\Jl
`e
`
`'0
`N
`0 ......,
`'"""' 0'1
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`II~: 3:01 PMI
`
`II!YJ do Vinci-!... liS CALCUlATOR
`
`Lt>
`OTHER PARTY HANGUP
`NORMAL DROP
`TRANSFER AWAY
`CONFERENCE DROP
`TRANSFER AWAY
`
`CONFERENCE ADD
`TRANSFER RECEIVE
`TRANSFER RECEIVE
`NORMAL START
`NORMAL START
`
`I
`
`134
`: 112
`HOLD
`112
`104
`
`H
`H
`H
`H
`H
`H
`H
`H
`
`MEDIA
`NO MEDIA
`MEDIA
`MEDIA
`MEDIA
`MEDIA
`MEDIA
`
`b)~~
`b)~~
`
`!:!_ELP
`
`I
`
`1<0$ [jl ? 0 <D 0
`
`lOOLS WINDOW
`
`!')EW ~LL RECORD
`
`fDIT
`
`fiLE
`
`0 D ALL AGENTS
`0 CO~ I() .Q .Q
`0
`V do Vinci -[CALL RECORDS][PHONE CALL:765]
`
`147c63
`147c63
`14 7 c63
`147c63
`147c63
`147c63
`147c63
`14 7c63
`147c63
`147c63
`
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`TRANSFER ONLY CALL OFF
`CA.LL FEATURE
`
`00:02:02
`00:02:02
`00:02:02
`00:02:02
`00:02:02
`00:02:02
`
`0 DAVE GOON v
`0 CINDY KALAKZ
`0 CHRISTINE RA
`0 BUFFY VAMP
`0 BOB OSBORNE
`0 BILLY MURRY
`0 BILL STEWART
`0 BILL NOCANDO
`0 BETTY GRABLE
`0 BARNEY FILE
`0 BARBARA BIS
`0 ALAN MACDO
`0 AHMAD NASS
`
`6
`
`I
`I AGENT I CONNECTION TYPE I DISCONNECTION TYPE
`I END TIME
`D CALL RECORDS ...
`~~~--~--~----------------------------L---------~--~
`OUTBOUND
`OUTBOUND
`OUTBOUND
`OUTBOUND
`OUTBOUND
`OUTBOUND
`
`[B)fARTI 0 0 C o V' I DaVinciWorks ... l [lj CONTROL PANEL II O.IAICROSOFT ACC .. .II o EXPLORING·W ... II o C:\llev\daVin...
`FOR HELP. PRESS F1
`~
`
`16107
`
`FIG.16
`
`I
`
`C::
`163~
`
`C::::
`
`~ ( c:::1642
`f---r-1638
`1636
`
`02:14:45 1644
`02:14:45
`00:14:51
`02:48:43 I
`00:35:25 ~-t----1634
`03:05:23 1
`I DURATION
`
`PARTICIPANT [4] 5/11/99 7:10:22 AlA 5/11/99 9:25:07 AlA
`PARTICIPANT [3] 5/11/99 7:10:22 AM 5/11/99 9:25:07 AlA
`PARTICIPANT [2] 5/11/99 6:55:31 AlA 5/11/99 7:10:22 AM
`PARTICIPANT [1] 5/11/99 6:20:08 AlA 5/11/99 9:08:51 AM
`PARTICIPANT [OJ 5/11/99 6:20:08 AM 5/11/99 6:55:31 AlA
`5/11/99 6:20:08 AM 5/11/99 9:25:31 AlA
`I START TIME
`
`CA.LL [ARCHIVED]
`
`X I
`~
`
`0018
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 17 of 29
`
`US 6, 728,345 B2
`
`co
`0
`tO
`
`\
`
`CJ:I
`
`u
`
`:z:
`0
`u; N
`N
`LJ..J -
`:z:
`tO
`'-a
`S<
`LJ..J
`............
`:z:
`0
`~
`~
`
`0
`0
`
`0
`0
`
`-
`
`X
`CJ:I a..
`
`...,.,
`0
`tO
`
`-
`
`0
`L()
`
`tO -
`
`<(
`(.!)
`'oro-
`•
`(.!)
`l.L..
`
`a:::
`LJ..J
`~
`LJ..J
`(/)
`
`B
`
`:z:
`~0
`u
`
`a:::
`LJ..J
`Cl a:::
`0
`&3 a:::
`
`0019
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`0 ......,
`'"""' 00
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`!
`
`HANG UP
`OTHER PARTY
`
`Xfr AWAY
`Xfr AWAY
`
`Xfr Rec
`
`Xfr Rec
`NORM START
`
`NORM DROP
`
`NORM START
`
`FIG.168
`
`t7
`
`ts
`
`t4
`
`t7
`
`ts
`
`t4
`
`t1
`
`t1
`
`INTERNAL
`
`INTERNAL
`INTERNAL
`
`EXTERNAL
`
`0002
`
`0001
`
`c
`HOLD
`B
`
`A
`
`REASON
`DISCONNECT
`
`REASON
`CONNECT
`
`TIME
`END
`
`TIME
`START
`
`LOCATION
`
`EXTENSION
`
`Agentld
`
`0020
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`0 ......,
`'"""'
`'0
`~ .....
`'JJ. =(cid:173)~
`
`~
`
`N c c
`
`'t:l :-:
`>
`
`~-..J
`N
`
`~ = ......
`~ ......
`~
`•
`\Jl
`d •
`
`VOX MCR ON CHANNEL 0 COMPRISING
`
`2 LEFTOVER MEDIA FILES
`
`(AFTER SWEEP)
`
`MEOIA,FILES ASSOCIATED WITH
`
`CTI MCR (AFTER SWEEP)
`
`COMPRISING 3 MEDIA FILES (BEFORE
`
`VOX MCR ON CHANNEL 0
`
`SWEEP)
`
`MEDIA FILE 3
`
`!5
`
`FILE 3
`MEDIA
`
`I
`
`MEDIA :FILE 3
`
`I
`I
`
`I
`
`OPH
`
`NO
`
`t7
`
`tS
`
`XR
`
`XA
`
`I
`I
`I
`I
`I
`
`XR
`
`XA
`
`16
`
`t4
`
`!3
`
`t3
`
`MEDIA FILE 2
`
`t2
`
`t2
`
`FIG.17
`
`MEDIA FILE 2
`
`MEDIA FILE 1
`
`FILE 1
`MEDIA
`
`tO
`
`I
`I
`
`MEDIA: FILE 1
`
`I
`I
`
`I
`
`tO
`
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`
`C lnt
`
`lnt
`HOLD
`
`NS
`
`NS
`
`8 lnt
`
`A Ext
`
`!1
`
`CTI MCR WITH AGENT "8" RECORDED
`
`0021
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 20 of 29
`
`US 6, 728,345 B2
`
`1824
`
`RECORDER
`EVENTS
`
`**-PART OF AUDIO
`RECORDER PROCESS
`1864
`
`CTI, SCREEN
`DATA CAPTURE
`AND SYSTEM
`EVENTS
`
`ARCHIVE
`INSERT&
`UPDATE
`REQUESTS
`
`1856
`
`CH 1, 2
`
`CTI
`VOX
`MASTER CALL MASTER CALL
`RECORD LIST
`RECORD LIST
`
`CTI
`MASTER CALL
`~======;::::;:=====~RECORD LIST
`
`..........
`
`..........
`
`............
`
`..........
`
`...............
`
`...... ..........
`..... .....
`..... ~-----------------------------------~
`
`FIG. 18
`
`0022
`
`
`
`N
`~
`(It
`~
`~
`00
`N
`""-l
`-..a-..
`rJ'l
`e
`
`'0
`N
`
`'"""' 0 ......,
`
`N
`~ .....
`'JJ. =(cid:173)~
`
`FIG.19
`
`CONTAINS
`tm_Chlnla
`
`1940
`
`~
`
`MediaFile
`<<collection>> l + m_MediaFiles
`
`TimeStampedF~ename
`
`0023
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 22 of 29
`
`US 6, 728,345 B2
`
`STREAM CONTROL MANAGER:INITIALIZATION SEQUENCE
`KEY
`C:=> ENTRY /EXIT ~ PBKCONTROLWIN OBJECT
`c:::7 INPUT/OUTPUT B PLAYER OBJECT
`c=J ACTION
`<> DECISION
`C STREMCONTROL OBJECT
`l
`
`FLOW
`
`USER ENTERS llA VINO WORKSTATION SOflWAAE
`
`2020
`
`IIROYI'5£R fMJKES A PBKCONTROLWIN
`OBJECT: A OW.(X; CONTAINING THE PlAYER
`ICTM:X CONTROL
`
`BROWSER SENDS tlfORYATIOO TO
`PBKCONTROLWIN ABOUT M.1. SEGUENTS
`C().IPRISING CM.L RECORD.
`
`2018
`
`2026
`
`PIJ<CONTR[WIN::AOO TO PlAY UST(STRING 00 R£00, STRING SEGIJST)
`
`SENT IS TWO OELIYITEO STRINGS:flRST SlllfG IS rJU RECORD 10;
`IN SECOND STRING OCH SUBTOKEN
`REitiNTS INfORUATION MniT ONE SEGUENT
`Of THE FINAl. COUPlill 00 RECORD. EVJIPl£:
`SEGlRECOROCR, SEGlSTD~ SEGlOURATION, SEGlOWMI.;
`SEG2R£CORO£~ SEG2STARTTII[. SEG20URATION, SEG2~NEL;
`S£G3RECORO£R, SEGlSTARTTIIl, SEGJOURATION, SEGJOM~
`
`>----t Mlll ENTRY TO PlAYUST fOR 1 - - - - - - t
`FUTURE PLAYIW:K.
`2032
`
`2030
`
`FORWARD THE 00 RECffiO 10 AND SEGYENT UST
`TO THE CUI PlAYER YOillll.
`
`PlAYER:'CIWN£CT(STRING rJUR£00SlRING
`SEGUST)
`
`FIG. 20
`
`0024
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 23 of 29
`
`US 6, 728,345 B2
`
`PlAYER MODULE INST.ANTIATES LOCAL SCM(STREAMCONTROL)
`OBJECT .AND STORES POINTER IN m_piStreomControl
`
`2038
`
`PlAYER MODULE ACCEPTS DATA , DISPlAYS STARTING TIME AND TOT.AJ. DURATION (BY
`PARSING OUT STRING DATA) AND FORWARDS TO FINN. MODULE, STREAM CONTROL
`MANAGER (SCM}, FOR AUDIO PlAYBACK.
`
`2040
`
`----,
`
`I
`I
`I
`I
`I
`I
`I
`
`2042
`
`StreomConlroi::INITIAI..IZE(PioyerE vent *evt, STRING
`CoiiReciD, STRING Seglist, CHAR* WaveFormot)
`
`2048
`
`typdef strucl
`! string
`SYSTEMTIME*
`DWORD
`DWORD
`DWORD
`
`PARSE OUT RECORDER ID, START TIME,
`DURATION, .AND CH.ANNEL FROM SEGMENT.
`2048
`CREATE NEW SEGMENT STRUCTURE FROM
`RECORDER ID, START TIME, DURATION, AND
`CH.ANNEL
`
`-
`
`2050
`ADD NEW SEGMENT TO SEGMENT
`VECTOR.
`
`I I NAME or RECORDER
`szName;
`start Time;
`//START TIME OF SEGMENTS
`endTimeOffset; f /END TIME OFFSET IN MILLISECONDS
`milliSeconds;
`//MILLISECOND PORTION OF STARTIIME
`I /DURATION or SEGMENT
`duration;
`IN
`I /MILLISECONDS
`//CHANNEL 10 OF SEGMENT
`II
`
`choniD;
`DWORD
`mdbFile;
`string
`driveLetter;
`char
`CComPlR<IPBComObj> piPBComObj;
`LPWAVEFORMA TEX
`pWoveF ormat;
`I SEGMENT, *PSEGMENT;
`
`GET ELEMENT FROM SEGMENTS VECTOR. 1 - - - - - - - - - - - - - - - - ,
`2062
`
`COPY EXISTING POINTER FROM
`"">----+-~ CONNECTIONS VECTOR TO SERVER 1--__.---+----.
`NO
`POINTER IN SEGMENT VECTOR
`
`CONNECT TO INDICATED RECORDER'S
`"PioyBockServer. DCOM OBJECT
`USING CoCreotelnstanceEx
`
`2064
`
`FIG.20A
`
`0025
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 24 of 29
`
`US 6, 728,345 B2
`
`MlD NEW OBJECT'S POINTER TO
`CONNECTIONS VECTOR
`
`2072
`
`NO
`
`YES
`
`2076
`
`2076
`
`HRESULf PBServer.:OpenPioyBocl: (~GNEO CH.AJl*
`LONG ISegNum,
`
`lpCoiiReciO, .. I I Wl RECORD ID
`II INOICA.TES WHICH SEGMENT OF PlAY
`II SE~ON THIS ~
`II STAAT TILlE OF ENTIRE PlAY SESSION
`/1 PlAY PERIOD (IN USEC)
`I/ STAAT TIME OF SEGMENT OPENING
`II SEGMENT PERIOD (IN MSEC)
`II CfWlNEL NlJN!lER
`
`SYSTEMTIME dtPioyStortTime,
`LONG IPioyDurotionMS,
`SYSTEUTIME dtCoiiSegStarTime,
`long ICaiiSegDurotionMS,
`WORD wChonnneiNo
`):
`
`2082
`
`2084
`
`2092
`,--/
`HRESULT PBServer.:PiayBackReody (SIGNED CHAR* lpCoiiReciD, I I 00 Rf:COOOIO
`II WAVE FORIJAT
`LPWAVEBYTE*pWAVEFORMATEX
`
`_
`
`00 PBServer.:OpenPkl)&ck METHOD
`ON SEGMENTS [CURRENT]. THIS METHOD
`OUER[S FOR A US! Of WAVE FILES ON H
`SEIMR YMICH GO WITH TH~ SEGMENT
`
`2078
`
`2088
`
`CALL PBServer.:PiayBackReady METHOD ON
`SEGMENTS [CURRENT]. lHIS UETHOO ACTUAL OPENS
`THE WAVE FILES ON THE SEIMR AND PR£PAAES THEU
`FOR STREAMING. IT ALSO RETURNS THE WAVE
`FORMAT OF THE AUDIO IN THE SEGMENT.
`
`NO
`
`2096
`
`MEMCPY pWAVEFORMATEX DATA
`BACK TO woveF ormot PARAIAETER
`FROM SCM::INITW.IZE CALL
`
`2092
`
`FIG.20B
`
`0026
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 25 of 29
`
`US 6, 728,345 B2
`
`2114
`
`2120
`
`~~ LOG ERROR MESSAGE
`NO
`
`YES
`
`INDICATE •READY" ON GUI
`AND ENABLE OPERATIONAL
`BUTTONS (PLAY, ETC.)
`
`2124
`
`RETURN SUCCESS
`
`2128
`
`2144
`
`2140
`~N--0 ~ LOG ERROR MESSAGE
`
`YES
`
`EXIT
`
`2148
`
`FIG. 21
`
`0027
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 26 of 29
`
`US 6, 728,345 B2
`
`KEY:
`
`STREAM CONTROL MANAGER:
`PlayBack SEQUENCE
`c=) ENTRY /EXIT
`INPUT/OUTPUT
`c:::J
`I
`I ACTION
`<::> DECISION
`+
`FLOW
`®
`PbkControiWin OBJECT
`PLAYER OBJECT
`@
`©
`StreomControl OBJECT
`
`2206
`
`2210
`
`USER HAS COMPLETED INITIALIZATION
`AND IS WAITING
`IN PLAYER GUI TO HIT PLAY
`
`USER HITS PLAY BUTION
`
`2202
`2204
`
`MESSAGE SENT TO PLAY METHOD
`IN PLAYER ActiveX CONTROL
`
`2208
`
`PLAY METHOD IN PLAYER ActiveX CONTROL
`CALLS m_piStreomControl->EnobleBiockSiicing(TRUE).
`THIS CAUSES THE OUTPUT BUFFERS TO BE "SLICED" TO
`INCREASE THE NUMBER OF SMALLER BUFFERS SENT,
`THUS INCREASING THE RESOLUTION OF THE "totaiPiayed"
`VARIABLE.
`
`2212
`
`StreamControl SETS enobleBiockSiicing VARIABLE
`TO TRUE
`
`2214
`
`2216
`
`PLAY METHOD IN PLAYER ActiveX CONTROL CALLS
`m_piStreamControl->Move(curPosition) TO FORCE
`THE SERVER-SIDE POSITION TO THE CURRENT SLIDER
`POSITION.
`
`2218
`
`2220
`
`GET SEGMENT i++ FROM SEGMENT VECTOR
`
`FIG.22
`
`0028
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 27 of 29
`
`US 6, 728,345 B2
`
`2226
`
`CALL PBServer.: POSITIONPLAY VIA THE SERVER
`POINTER IN SEGMENT (i).
`THIS CAUSES THE FILE
`POINTER ON THE SERVER SIDE TO CHANGE TO THE
`APPROPRIATE NEW LOCATION.
`
`2228
`
`HRESULT PositionPioy
`{SIGNED char* 1 p CoiiReciD,
`LONG 1 PloyOffsetMS)
`I I CALL RECORD 10
`I I OFFSET FROM START TIME
`I I TO POSITION {IN MSEC)
`
`2234
`
`2238
`
`CALL StreomControi::StortStreom
`
`GET SEGMENT itt FROM SEGMENT VECTOR.,___ _ ___,
`
`2242
`
`CALL CoMarsholllnter ThreodlnterfocelnStreom to
`MARSHALL OCOM POINTER MEMBER ACROSS THREAD BOUNDARY
`
`2246
`
`SPAWN MAIN SCM STREAMING THREAD
`
`FIG.22A
`
`0029
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 28 of 29
`
`US 6, 728,345 B2
`
`BEGIN THREAD
`
`CALL CoGetlnterfoceAndReleoseStreom TO UNMARSHALL
`DCOM POINTER MEMBER ACROSS THREAD BOUNDARY
`
`2252
`
`2256
`
`2274
`
`2276
`
`GET SEGMENT FROM SEGMENT VECTOR
`
`CALCULATE NEYL buflerSize IN MULTIPLES
`OF THE AUDIO FORMAT'S • BLOCK ALIGN"
`
`2264
`
`2266
`
`CALL E vent;;Oone
`METHOD
`
`RETURN SUCCESS (C)
`
`2270
`
`> - - - CALL PBServer,:PositionPioy{totaiRequested) FOR
`SEGMENT[i]
`No
`
`No
`
`Yes
`
`0030
`
`
`
`U.S. Patent
`
`Apr. 27, 2004
`
`Sheet 29 of 29
`
`US 6, 728,345 B2
`
`Yes~-----r.==========~~~~~~~~~~~~~l
`RESULT PBSserver::ReqBuffer{SIGNED CHAR* 1 pCoiiReciD./ /CALL RECORD I
`CALL PBServer::ReqBuffer
`DWORD ReqBuffSize,
`//SIZE OF REQUEST
`FOR SEGMENT{i). THIS IS
`DATA_ TYPE *OotoType,
`//TYPE OF DATA BEING RETURNED
`THE CORE ROUTINE THAT
`DWORD *ActBuffSize,
`//NUMBER OF BYTES RETURNED
`ACTUAL RETRIEVES A BUFFER
`CHAR*lpBuffer)
`//POINTER TO BUFFER FOR REQUEST
`OF DATA FROM THE
`PlayBack SERVER.
`
`2280
`
`2282
`
`2284
`
`2289
`
`SEND BUFFER BACK TO
`PLAYER VIA EVENT::
`SendDoto METHOD
`
`NO
`
`SIZE OF SLICES WILL BE
`>--NO---i EQUAL TO AUDIO FORMAT'S
`BLOCK ALIGN
`
`2293
`
`StreomControiEvent::SendDoto{
`UNSIGNED CHAR* BUFFER,
`DWORD LENGTH)
`
`·--.
`
`2290
`
`SIZE OF SLICES WILL
`BE AN EVEN DMDEND
`OF THE BUFFER SIZE,
`I.E., 1/10th BUFFER SIZE
`
`2294
`
`COPY OUT "SLICE SIZE" FROM
`BUFFER AND SEND BACK TO
`Player VIA E vent::SendOata
`METHOD
`
`2296
`
`2298
`
`NO
`
`FIG.22C
`
`0031
`
`
`
`US 6,728,345 B2
`
`1
`SYSTEM AND METHOD FOR RECORDING
`AND STORING TELEPHONE CALL
`INFORMATION
`
`This is a continuation of application Ser. No. 09/328,299, 5
`filed Jun. 8, 1999 now U.S. Pat. No. 6,249,570.
`
`10
`
`2
`into the call center before the calls are dispatched by the
`PBX. This second method is known as "trunk-side" record(cid:173)
`ing 170. Since businesses usually have more agent telephone
`sets than trunk lines, a "trunk-side" solution is likely to
`require less recording equipment and thus be less expensive.
`Another significant point for consideration is that "trunk(cid:173)
`side" provides access only to external inbound or outbound
`calls, which are those typically involving customers of a
`business, whereas "station-side" also provides access to
`internal calls between agents (which may or may not relate
`to an external customer's transaction).
`With respect to data links to provide call information to
`computers, there are typically two different categories of
`links from the PBX available. Some older links use inter-
`15 faces such as SMDR (Station Message Detail Recording) or
`CDR (Call Detail Recording) that provide summary infor(cid:173)
`mation about telephone calls in a line-oriented text format.
`Both acronyms refer to essentially the same type of system.
`Information from these links is generally provided after the
`20 call has concluded, and as such is suitable for billing
`applications or traffic analysis software. Many newer links
`use real-time interfaces that are designed to supply a series
`of events while a telephone call is still active within the
`PBX, to enable computer and multimedia systems to
`25 respond and interact with an external caller. The information
`provided by such real-time links is typically much more
`detailed than that provided by SMDR.
`The detailed information and real-time nature of a CTI
`link is particularly important when building a recording
`system that is intended to react to telephone calls as they
`occur and to dynamically select which calls ought to be
`recorded or discarded. CTI-supplied information is also
`important when building a recording system that is intended
`to capture the full history of a telephone call, including
`recording the different agents who were involved in the
`conversation and how the call was held, transferred or
`conferenced. Likewise, real-time information is important in
`a system that intends to support (a) a live display of active
`calls, and (b) the capability for a user to listen and monitor
`the live audio traffic.
`A "trunk-side" solution based upon voice recording alone
`will not satisfy the above requirements in a practical manner,
`since telephone calls are assigned to trunks dynamically as
`needed to handle the traffic. What trunk channel a particular
`45 call will be carried on cannot be predicted in advance.
`Without information to associate a logical telephone call
`with a physical recording of audio from a trunk channel, a
`user might have to search and retrieve many recordings
`before finding the one that is of interest. Moreover, in a
`50 system designed to make use of the enhanced search criteria
`provided by a data link, it would not be possible to pro(cid:173)
`grammatically associate the search data with the voice
`recording without information about the trunk channel
`where the call occurred.
`This problem can be avoided as long as the data link
`provides sufficient information about the trunk channels
`being used for each call. Unfortunately, some PBX environ(cid:173)
`ments do not supply this critical information about trunk
`channels within the data provided on the real-time CTI link.
`60 For example, this problem is manifested by the Lucent
`Technologies DEFINITY G3 PBX, which is a commonly
`used telephone switch in North America. While the Lucent
`G3 PBX provides trunk channel information through its
`SMDR link, that information is not available until after the
`65 conclusion of the call. This presents a problem for system
`features and capabilities dependent upon real-time data. The
`real-time data link provided by the Lucent G3 PBX does not
`
`FIELD OF THE INVENTION
`
`This invention relates generally to computer-aided data
`recording. In particular, it relates to computer-aided moni(cid:173)
`toring and recording of telephone calls.
`
`BACKGROUND OF THE INVENTION
`
`Telephone call monitoring systems are used in a variety of
`contexts, including emergency dispatch centers and com(cid:173)
`mercial call centers. In many currently available call moni(cid:173)
`toring systems, a multitude of audio input sources
`("channels") are monitored and recordedby a single hard(cid:173)
`ware unit, and the audio recordings are saved and organized
`according to the input channel, date, time and duration. The
`capacity of the recording unit can be expanded to handle a
`larger number of channels by combining several recording
`units into a system using a local area network (LAN).
`Because retrieval is only possible using basic search criteria
`(recording unit, channel, date, time and duration), it is often
`difficult to locate a particular audio recording that is of
`interest. When there is a need to search for a recording
`according to search criteria that are not directly supported by
`simple voice recording, locating a