WO2001047224A1 - System for automatically conferencing a caller to one or more members of a group - Google Patents

System for automatically conferencing a caller to one or more members of a group Download PDF

Info

Publication number
WO2001047224A1
WO2001047224A1 PCT/US2000/034902 US0034902W WO0147224A1 WO 2001047224 A1 WO2001047224 A1 WO 2001047224A1 US 0034902 W US0034902 W US 0034902W WO 0147224 A1 WO0147224 A1 WO 0147224A1
Authority
WO
WIPO (PCT)
Prior art keywords
call
caller
outbound
inbound
conference
Prior art date
Application number
PCT/US2000/034902
Other languages
French (fr)
Other versions
WO2001047224A9 (en
Inventor
Michael D. Liss
Samuel Asher
Xiaofeng Zhao
Original Assignee
Black River Communications, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Black River Communications, Llc filed Critical Black River Communications, Llc
Priority to AU29112/01A priority Critical patent/AU2911201A/en
Publication of WO2001047224A1 publication Critical patent/WO2001047224A1/en
Publication of WO2001047224A9 publication Critical patent/WO2001047224A9/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/22Arrangements for supervision, monitoring or testing
    • H04M3/2218Call detail recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/20Aspects of automatic or semi-automatic exchanges related to features of supplementary services
    • H04M2203/2016Call initiation by network rather than by subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/50Aspects of automatic or semi-automatic exchanges related to audio conference
    • H04M2203/5054Meet-me conference, i.e. participants dial-in
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/50Aspects of automatic or semi-automatic exchanges related to audio conference
    • H04M2203/5063Centrally initiated conference, i.e. Conference server dials participants
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2242/00Special services or facilities
    • H04M2242/04Special services or facilities for emergency applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42382Text-based messaging services in telephone networks such as PSTN/ISDN, e.g. User-to-User Signalling or Short Message Service for fixed networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements

Definitions

  • the present invention relates to a system (and method) for automatically conferencing a caller to one or more members of a group, and relates particularly to, a system for enabling a caller to be linked, via telephone, automatically to one or more members of a predefined group, such as a family, in a conference call.
  • the invention is suitable for enabling a person to call the system by telephone in case of an emergency in order to contact one or more members of a group subscribing to the system, in which the caller can record a message to be played to one or more contacted members of the group, who are dynamically entered into a conference call with each other and the person contacting the system.
  • the person needing to contact the members of a group be able to leave a message to be played to each member of the group, such that a person does not need to remain on the line, but still allows such members of the group to be conferenced to each other.
  • U.S. Patent No. 5,631 ,904 describes a method and system for a subscriber to automatically establish a conference call to a pre-selected list of participants stored in a database.
  • the method enables a subscriber to establish a call with the system and then enter a pin number to have the options of placing a call, scheduling a call, creating a new list of participants, or modify an existing list of participants.
  • the system does not readily enable a person other than the subscriber to make a conference call without some knowledge of group identifiers associated with different lists and knowledge of the pin number to access the system. Further, there is no ability for a person to leave a message to be played to each participant in the group.
  • the system embodying the invention includes at least one call processor representing a computer having a computer telephony interface to a telephone-based network (such as a PSTN) through multiple telephone lines.
  • the call processor has memory storing account information for each of the subscribers of the system in which each group subscribing to the system has an account number with a list telephone numbers of contacts
  • the memory of the call processor further stores prerecorded messages to be played to callers to facilitate caller interaction with the call processor and to prompt callers to input information. Callers can interact with the system via DTMF tones which are received and decoded by the call processor.
  • the call processor is associated with one or more telephone numbers to enable inbound call to connect with the call processor over the network.
  • the call processor is programmed accordance with an inbound process, a session manager process, and an outbound process, in which such processes are capable of controlling the computer telephony interface. An inbound call contacts the system when the caller needs to contact members of a group subscribing to the system.
  • the inbound process requests the caller of the inbound call to input an account number, and if the account number is valid, the inbound caller records a greeting message with their name and the reason for needing to contact the group.
  • the inbound process activates the session manager which instructs one or more outbound processes to dial an outbound call through the computer telephony interface to each of the first round contacts in the group associated with the entered account number.
  • Each outbound call connected by the outbound process receives at least the recorded message of the inbound caller and requests input indicating a selection to join the conference call.
  • the inbound process, and each of the outbound processes associated with a connected call in which the caller selected inclusion in the conference call sends a request for conference to the session manager.
  • the session manager sends to each process which sent a request, a conference join instruction with the timeslot in the computer telephony interface in which the call, inbound or outbound, can join a conference bridge.
  • the inbound and outbound processes in response to receiving the conference join instruction direct the computer telephony interface to connect their respective call in the conference bridges at their timeslot, such that the callers of the inbound call and one or more outbound calls can talk to each other.
  • the session manager instructs one or more outbound processes to dial an outbound call through the computer telephony interface to each of the next round of contacts in the group associated with the entered account number.
  • One of callers of the inbound or outbound calls may further interactively prompt the call processor to call the contacts of the group of the next round or add telephone numbers of additional contacts. If the inbound caller hangs up before the conference bridge is established, the conference bridge will be established with one or more outbound callers. The conference bridge will continue so long two or more caller, inbound or outbound, are still in the conference bridge.
  • a call tracking database is generated by the inbound process in memory of the call processor for each session having a record for the inbound call and each of the outbound calls. The status of each call is updated to the record by the inbound or outbound process associated with the call.
  • the call tracking d; tabase further maintains time information about each call useful for billing the subscribing group.
  • Multiple call processors may be provided which are linked by a LAN to a database server.
  • the database server maintains a master database of the account information, such that when a new account is added, or an existing account is modified or deleted, such update of the account information is downloaded to each of the call processors. In this manner, each call processor operates independent of each other and provides redundancy in case a call processor is down.
  • the database server may be coupled to the Internet or World Wide Web to enable, via a web site at the database server, to add new subscribers or modify subscriber account information.
  • the system embodies a method for automatically conferencing a caller with one or more members of a predefined group via a telephone-based network having the steps of: receiving over the network an inbound first call from a caller; associating the first call with one of a plurality of predefined groups of different subscribers; recording a message from the caller of the first call to greet members of the group; dialing outbound second calls over the network to contact one or more members of the group at telephone numbers associated with the members; enabling a caller on the second call to select inclusion in a conference call and receive at least the recorded message when any of the second calls answer at the telephone numbers associated with the members; and connecting in a conference bridge at least two of the first call and the second calls in which the caller selected to be included in the conference.
  • FIG. 1 is a block diagram of the system according to the present invention
  • FIG. 2 is a block diagram of the processes operating in the call processor in response to an incoming call for an account in memory of the call processor of the system of FIG. 1 ;
  • FIG. 3 is a flow chart showing the inbound process and programming of the call processor of the system of FIG. 1 upon receiving an incoming call;
  • FIG. 3A is a flow chart showing the processes of steps 34-35 of FIG. 3;
  • FIG. 4 is a flow chart showing the session manager process and programming of the call processor of the system of FIG. 1 for establishing a session in response to the incoming call process of FIG. 2; 5
  • FIG 5 is a flow chart showing the outbound piocess and programming of the call processor of the system of FIG 1 for each of the outbound calls, and
  • FIG 5 A is a flow chart showing the processes of steps 70-73 of FIG 5
  • the system 10 includes a database server 12 and multiple call processors 14 coupled to the database server by a LAN 16
  • Each of the call processors 14 represents a personal computer 14a having an interface to the LAN 16 and a computer telephony interface 14b
  • the computer telephony interface 14b is preferably provided by two types of boards manufactured by Dialogic, Inc of Parsippany, New Jersey, referred to as 5 Dialogic Telephone Interface ("DTI") and Dialogic Conference Board (“DCB”)
  • the computer telephony interface 14b may include one or more DTI240SE boards and one or moie DCB320 boards integrated into computer 14a
  • Each DTI board is coupled to, and handles calls along, one Tl ISDN PRI (Primary Rate Interface) lines 19 connecting the call processor 14 to a central office switch 18
  • the central office switch may be part of a PSTN - 0 Public Switch Telephone Network (illustrated, for example, by telephones coupled with switch
  • Each DCB board can connect multiple callers from one or moie of the DTI boards into a conference bridge
  • a CSU unit 20 amplifies voice signals along each Tl lines 19 to the telecommunication interface 14b, as typical in connecting a Tl line to a computer system
  • each call piocessor may have foui Tl lines 19 which each Tl line is coupled to one 5 DTI board
  • each Tl ISDN PRI provides twenty-three telephone lines and one data control line for such twenty-three telephone lines to one DTI board of interface 14b
  • the system 10 is registered with the cential office (and PSTN) as having one or more telephone numbers, for example, a toll-free 800 or 877 number, such that when a caller o dials such numbers the caller is connected through the central office switch 18 to one of the call processors 14
  • two call processors are shown in FIG 1 , but one oi more call processors may be used
  • Each DTI boaid of interface 14b can provide interactive voice response capability to enable the system to talk to a caller and DTMF decoding capability to decode a key pressed by a caller
  • VOX (audio) files are stoied having data representing clips of pre-recorded voice messages and may be accessed and played to a caller by the DTI board in accordance with programmed instructions in the caller processor 14.
  • voice messages may be indexed, such that they may be selectively used on a call according with call processor programming.
  • Other types of voice data files could also be used, such as Wave files.
  • the database server 12 further includes text to speech software, such as sold by Lernout and Hauspie of Burlington, Massachusetts, which can translate text into data representing speech in a computer synthesized voice. Such audio data in stored in a file in memory of the database server 12.
  • the call processor 14 can request callers 15 or 17 in a prerecorded voice message to input information via DTMF signals by pressing keys on a telephone keypad of the caller's telephone.
  • the call processor 14 may optionally have speech recognition software to enable a caller 15 or 17 to provide voice input to the call processor in addition to, or instead of, input of DTMF signals by a caller.
  • the database server 12 represents a server computer programmed in accordance with database software, such as sold by Oracle, Inc.
  • the database server 12 stores in its memory 12a, such as a hard drive or other large capacity memory storage unit, account information, call detail information, and system configuration information.
  • the account information represents for each of the subscribing groups: a unique account number, the name of the group, such as a family or organizational name, the telephone number, name, and calling round, of each members of the group, and files of data representing audio of group name and names of each member of the group.
  • the members of a group are divided into subsets of calling rounds, i.e., first, second, etc., in accordance with the importance of being contacted as determined by the subscribing group.
  • Call detail information represents data for each conference session made for each account, such call detail information includes information related to the duration of the calls in a conference session.
  • System configuration information includes data representing the files of pre-recorded voice message, and any other system operational parameters.
  • the LAN 16 may be Ethernet-based in which the computers 14a and data server 12 have an Ethernet interface board coupled to the LAN. Through a router 21 coupled to the LAN 16 and the
  • the data server 12 can communicate with one or more network clients over the Internet.
  • network clients may represent remote computers 26 of subscribers to the systems having WWW access through an ISP (Independent Internet Service Provider) 28.
  • the data server 12 provides a web site at an IP address on the WWW.
  • the web site represents a series of web pages enabling registration of new subscribers 26 or allowing existing subscribers to modify account information.
  • the database server 12 may have a modem 12b to enable direct data communication to the server by one or more administrative computers 13 through a typical modem connection for enabling system administration.
  • the system includes a call center to provide operator support to an incoming caller and enable registration over the phone, rather than Internet registration.
  • the call center has one or more telephone numbers to which a caller to the system 10 may be conference bridged through interface 14b if customer support is required.
  • the database server may connect with a credit card clearing house 25 to verify or charge credit cards of subscriber groups entered as part of their account information stored in the database server.
  • account information may be added or modified by a call center having access to the database server through the WWW or other data communication line.
  • the database server 12 further has ODBC software, which enables different computers 14a to access the database server across the LAN 16.
  • Each computer 14a of the call processor has memory, such as a hard drive, storing the same account and configuration information as in the database server.
  • the database server downloads the updated account information to each of the computer 14a through the LAN 16.
  • the account information may be stored in records at both the data server 12 and at each call processor 14. For example, a call processor 14 may search and retrieve records associated with a particular account number.
  • the configuration information is similarly updated by the database server 12 to each call processor 14.
  • the call processor 14 has three types of processes: inbound process 30, session manager process 31 , and outbound process 32.
  • Each of the processes 30-32 represents a program stored in memory of the call processor in a language adapted to interface 14b, such as VOS software sold by Parity Software Development Corp. of Sausalito,
  • the processes 30-32 can communicate with each by messages as typical of parallel processing software architecture.
  • the inbound and outbound processes can direct the DTI to access and play selected files of prerecorded audio messages to a caller on the telephone lines associated with such processes.
  • the inbound process 30 operates to receive an incoming call to the system 10 of a person in need of contacting a member of a group, referred to as a family herein for purposes of illustration, checks if the account for that family is valid and exists, builds a database in memory of the call processor for the session, requests a greeting message be recorded by the inbound caller, and activates the session manager.
  • the session manager 31 can activate multiple ones of the outbound process to call in rounds, as defined in the database, for each of the contacts defined for that family.
  • each outbound process makes such calls and plays the recorded greeting message if the caller answers and asks if the caller wishes to join the conference, i.e., selects to join a conference bridge.
  • the inbound process and each outbound process can send a message to the session manager to request _o join the conference.
  • the session manager conference bridges the inbound and each of the outbound callers.
  • the session manager maintains the conference bridge until only one of such callers remains in the conference.
  • Multiple instances of the inbound process and session process can be invoked by the computer of the call processor to accommodate multiple sessions. Likewise, multiple instances of the outbound process are invokes for each one of the sessions and can operate in parallel with each other for the same calling round.
  • the processes 30-32 are described in more detail below in connection with FIGS. 3-5.
  • each flowchart represents a separate one of processes 31 -33 operative on one of the call processors 14 in which inbound process 30 is shown in FIG. 3, session manager 31 is shown in FIG. 4, and outbound process 32 is shown in FIG. 5.
  • Messages sent and received between processes 31 -33 are denoted by dashed lines to and from circled letters on different figures.
  • Each circle further includes name of the process to receive the message, or the name of the process that sent the message, depending if the message is being received sent or received, respectively.
  • the call processor first waits for an incoming call (step 34).
  • a person, an inbound caller 15 (FIG.
  • the call makes a call from an external telephone to one of the telephone numbers associated with the system 10 (which may be a local or long distance call, but usually is a toll-free number).
  • the call switches through the central office 18 to the DTI board of interface 14b and is detected by the call processor 14.
  • the call processor 14 accepts the call, requests an account number from the caller, and then verifies the account number as valid or directs the caller to an operator of the call assistance center (step 35).
  • Steps 34-35 are shown in more detail in FIG. 3A.
  • a person first makes the call to the system (step 36) and after connection with one of the call processors 14 receives a welcome message for the system (step 38).
  • the inbound caller is then asked to enter the account number of the family to be contacted using the keypad of their telephone (step 40).
  • the account number may be a 10 digit number, such as the phone number associated with the family subscribing with the system, or other predefined number.
  • the call processor evaluates the input for a valid account number (step 42).
  • the call processor stores account information for each account of the system under a unique number.
  • the call processor checks if the account has location entries, i.e., does the record for that account have a contact list of one or more contacts (step 46). If location entries are present for that account, the subscriber account exists (step 48), otherwise the caller receives a message indicating that no locations were found for the account (step 50) and a message indicating that the caller is being connected to customer care operator (step 52).
  • step 54 the user has three tries to enter a valid number (step 54) before receiving a message that they are being connected to the customer care operator (step 52).
  • the call processor for each of the first two attempts to enter an account number informs the caller that an invalid account number has been entered (step 55) and then allows the caller to re-enter the account number at step 42.
  • the call processor records in an index variable starting at one, the number of tries the caller loops through steps 44, 54 and 55 until either a correct account number is entered, or the variable has reached three at step 54, before branching the caller to the customer care operator (step 52).
  • the caller is connected to an operator after receiving a please hold message (steps 52 and 53).
  • the caller is bridged to a customer care operator to assist in determining the correct account number.
  • the customer care operator has access to the account information stored in the database server 12 and can be reached by the call processor 14 at an external telephone number at the center which the call processor can call and conference bridge the caller.
  • the caller returns to step 42 to enter the account number.
  • the call processor 14 creates a Call Tracking Database ("CTDB") in a file directory having a unique name in the memory of the computer 14a of call processor 14, such CTDB may be associated with a unique Session Identifier (SID) for internal session tracking purposes.
  • CTDB is used as a temporary storage space for the information related to the session in the call processor.
  • Each record in the CTDB stores information for one of the calls (inbound or outbound) involved with the conference call to be created. The information for the inbound call will be the first record in the CTDB followed by subsequent records for each outbound call.
  • the CTDB record is updated by each of processes 30-32 as the conference call progresses to update the status of inbound and outbound calls, and to stores time information related to each of the calls, such as date and time the call started, the time the call answered, time when the call is bridged into conference, and time when the call is disconnected. Time is recorded in hours, minutes, and seconds.
  • the information in the CTDB is provided from the account information stored in memory of the call processor for the account number, this information includes, at least the following, the account number, the name of the group (such as the family name), a call list identifying for each contact on the list, the contact name, telephone number, and whether the contact is in the first or second calling round.
  • the session information in the CTDB may be transferred to memory of the database server 12 and the CTDB deleted from memory of the call processor.
  • Each record in the CTDB has the data fields as indicated in Table I below.
  • "Updated By” refers to which process can update the field of a record in the CTDB after the CTDB is created.
  • the CTYPE field is set to a "1 " value to indicate the contact is a telephone number
  • the CONTENT is the ANI for the inbound call, if available, such as provided by Caller ID feature provided by the telephone service to the system
  • C_START is the current date and time when the record was created by the call processor.
  • the ROUND, ANSWERED fields are not used for the inbound call record and may be a null value.
  • the STATUS field of the inbound CTDB record has one of five possible values indicating the status of the inbound call: 1 - Inbound call waiting, 5 - inbound call connected to conference call, 6 - inbound call hang-up, 7 - inbound call abandoned by the call processor and, 0 - inbound call completed the conference call.
  • the STATUS field is initially set to "1 " and is updated by the inbound process as the status of the inbound call changes.
  • the "7" STATUS value is used by the system when the inbound process detects that the inbound call is silent for a predefined period of time or no conference call to any outbound call could be established. Each time the inbound process updates the STATUS field of their associated
  • CTDB record it sends to the session process an ICP status updated message to inform the session process that it updated it CTDB record.
  • the data fields are set as follows: the ROUND field is set to a number indicating the round in which the outbound call is to be made, such as "1" or "2" for the first or second calling round, respectively; CTYPE is set to a "1 " value to indicate the contact is a telephone number; and CONTENT is the telephone number of the contact to be called.
  • C START, ANSWERED, CONNECT, and DISCONN are initially empty and are used to record events during the call as indicated in Table I.
  • STATUS field of the outbound CTDB record has one of thirteen possible values indicating the status of the inbound call: 1 - Outbound call started, 2 - Outbound call has no carrier, 3 - outbound call has no answer, 4 - Outbound call has answered, 5 - outbound call has connected to conference call, 6 - outbound call has hang-up, 7-outbound call abandoned by the call processor, 8-outbound call is busy, 9 - outbound call has left the conference (temporarily or permanently), 0 - outbound call completed the conference call, 10 - outbound call process notified, -1 - outbound call has a communication error, and -2 - outbound call is inactive.
  • the STATUS field is initially set to "10" and is updated by the outbound process as the status of the outbound call changes.
  • the CTDB may have a first record for the incoming call, three outbound records for first round calls, and three outbound records for second round calls. Additional rounds may be supported, and each round may have one or any number of contact calls.
  • the above database is exemplary; other data structures having similar information may also be used.
  • the C START is based on the date and time maintained by the clock in the call processor computer.
  • the CONNECT and DISCONN fields (and the ANSWERED field for the outbound process) may have a time value associated with the clock, or such fields may represent the time laps since the time entered in the C_START field for the record.
  • the system 10 may support other types of connection than a typical telephone call to a party. If the CTYPE is set to "0", a connection will be made to an operator of the system. A subscriber group may wish to have an operator, i.e., who may be the same operator as a customer care operator or another operator to assist callers. Further, the CTYPE may be set to "2" to indicate that the contact is by E-Mail, in which the CONTENT field has an E-Mail address.
  • the call processor 14 uses E-mail receiving/sending software, such as provided by a typical web software browser, and can format and send E-mail messages to the CONTENT address to the Internet via router 21. The E-mail message would include data representing the voice message recorded from the inbound caller.
  • CTYPE' s may refer to a pager in which the CONTENT field has a telephone number associated with the pager.
  • the message to the pager would include a call phone number, such as the ANI of the inbound call.
  • the CTYPE is considered herein to be set to "1 " to indicate the contact is by telephone (such as land-based, cell, or PCS).
  • the inbound caller stores a personal greeting message to be played to each outbound caller (step 58). For example, the caller may be prompted to record after a beep a greeting including their name and a brief reason for the call.
  • the recorded voice clip is stored as data in a file in the same file directory as the CTDB, or in another file in memory of the call processor computer 14a associated with the SID of the session.
  • the inbound caller will receive an announcement stating that the system is calling a particular family or group name.
  • a file having data representing audio of the name as synthesized computer speech is stored in memory of the call processor.
  • the file may be created when the subscriber provides their name upon registration with the system and is stored with the account information for the subscriber. Alternatively, this file may be substituted by a recorded voice provided by a system administrator, or if registration is through a call center, the recorded voice of the subscriber.
  • the inbound process activates a session process (FIG.
  • a session process 31 is activated in response to receiving the activation message from the inbound process (step 64).
  • the inbound process is referred in this figure as ICP-i and the outbound process as ICP-o, and ICP-i and ICP-o are referred to generally as ICP.
  • the session processor then for each CTDB record for the session identified for round one, i.e., the ROUND field is set to "1 ", sends a dial out request to an outbound process of an idle line of the DTI with instructions to call the contact number in the CTDB record (step 66).
  • Each outbound process (or outbound leg) controls a different telephone line in the DTI, such that the outbound process can instruct the DTI to dial tones to make a telephone call.
  • the session process may send in each dial out request the memory location in the call processor computer 12a of the CTDB record associated with the outbound process.
  • each outbound process 32 receives a dial out request (step 68) and sets the STATUS field of the associated outbound CTDB record to " 1".
  • the outbound process directs the DTI to dial the phone number in the CONTENT field of the CTDB record associated with the outbound process (step 70). Also, the C START field of the CTDB record 5 is set to the current date and time. If the call is answered (step 71 ), an audio information message is played along with the recorded message of the inbound caller, and the caller is asked to press any key on their phone if they wish to be connected to the family conference (step 72).
  • the outbound process stops (step 122), otherwise, the outbound process sends to the session process an RFC 0 message (step 74).
  • the RFC message includes infomiation about which DTI line the outbound process is associated.
  • infomiation about which DTI line the outbound process is associated.
  • the need for an outbound caller to press a key at step 73 allows the system to deal with wrong numbers, answering machines, or such individuals who do not wish to be involved.
  • the outbound process stops (step 122).
  • the outbound process updates the 5 DISCONN field of its associated CTDB record with the current time, and the SESSION field of the record is set to "7".
  • the outbound process looks up in a file in memory of the call processor computer 14a for the telephone number of an operator and dials that number. No information message of 0 step 72 need be played to the operator.
  • the operator may be the same as a call center operator or another operator and assist the inbound caller or outbound callers in a conference. If the CTYPE is set to other values, the outbound process attempts to make contact using the infomiation in the CONTENT field in accordance with the CTYPE.
  • Steps 70-73 of FIG. 5 are shown in more detail in FIG. 5A.
  • l re outbound process first 5 looks up in the CTDB record associated with the outbound process the phone number in the CONTENT field (step 106), and then places the call to that phone number via the DTI (step 108). If the called party connects and answers (step 1 10), the outbound process provides a recorded message that "the call is for", inserts the called party's name, "from”, and then plays the recorded message from the inbound caller (step 1 12).
  • a file having data representing audio o of the called party's name as synthesized computer speech is stored in memory of the call processor.
  • the DTI can access such files with other files of prerecorded messages.
  • the file may be created by the database server 12 when the subscriber group provides their name upon registration with the system and is stored with the account infomiation for the subscriber. Alternatively, this file may be substituted by a recorded voice provided by a system 5 administrator, or if registration is through a call center, the recorded voice of the subscriber. If the call answers, the ANSWER field for the outbound CTDB record associated with the outbound process is set to the current time, and the STATUS field of this record is set to "4" to indicate the call answered. The caller also at step 1 12 receives a record message that the call is 5 "from", the recorded message of the inbound caller, and then the recorded message to "press any key to connect the call".
  • the outbound process sets the STATUS field of the outbound CTDB record associated with the outbound process with to "3" indicating no answer or to "8" to indicate the line was busy (step 1 1 1 ), and the outbound process stops (step 122). If the outbound call results in no carrier, the 0 STATUS filed of the record in set to "2". After step 1 12, the outbound process checks if the called party is still connected and whether a DTMF input is received indicating a key is pressed (step 1 14).
  • the CONNECT field for the outbound CTDB record associated with the outbound process is set to the current time (step 1 18) and the outbound caller receives a recorded message indicating that the call is being 5 connected (step 120). If no DTMF tone was received at step 1 14, it is assumed that, an answering machine has connected (step 1 15) and waits two second to retry step 1 12 (step 1 16). If no DTMF tone is received after two times through the loop of steps 1 12-1 16, the STATUS field for the outbound CTDB record associated with the outbound process is set to "7" to indicate the call is abandoned (step 1 17), and then the outbound process stops (step 1 12). A 0 communication error in the outbound call, such as a call could not be dialed, or the line is dropped after connected, results in a STATUS field of the outbound CTDB record being set to "-1".
  • the session process receives in a mailbox or queue each message received from the inbound or outbound processes (step 76). If the message represents 5 an RFC message, and this is the first RFC message received by the session process, the session process stores the RFC message until a second RFC message is received. Once two RFC messages are received, the session process sends to each of the processes which sent the RFC message, a Conference Join Instruction (CJI) with a CJI timeslot value (step 78). The session process obtains the CJI value from the DCB board for the conference call, and it represents the o timeslot where the inbound or outbound process must listen to in order to connect to the conference call for the session.
  • CJI Conference Join Instruction
  • the CJI value is a number internal to the DCB board to enable multiple calls to be joined together in a conference bridge. If more messages are pending (step 80), the session process processes each of the messages received from the inbound and outbound processes through steps 76-78. 5 In FIG. 3, the inbound call is still on hold while the round one of outbound calls are being made by the call processor, the inbound process checks for any messages received from the session process (step 82). If a message received is a CJI message with a CJI value (step 84), the inbound process directs the DTI to connect its associated line in the DCB at the CJI value (step 86).
  • the inbound process sets the CONNECT field of its associated CTDB record to the current time and the STATUS field of the record is set to "5". Subsequently, the line associated with the inbound process is joined in the conference call.
  • CJI message is the message relevant to this system, other application messages may be received by the inbound process and processed accordingly (step 85), such as a no more additional round message, no contact reached message, disable more round announcement message, or try all over message, and operates responsive to such messages as described later.
  • the inbound caller can interact with the call processor by pressing keys (step 88), as described below.
  • the inbound process next checks if the inbound caller has hang-up, i.e., disconnected (step 90).
  • step 92 the process sends a hang-up message to the session process (step 92) and the inbound process is restarted at step 34.
  • the inbound caller hangs-up, the DISCONN field of its associated CTDB record is set to the current time and the STATUS field of the record is set to "6" if the inbound call has not yet connected in a conference, or "0" in the inbound call was connected in the conference.
  • the outbound process checks for any messages received from the session process (step 94).
  • a message received is a CJI message with a CJI value (step 96)
  • the outbound process directs the DTI to connect its associated line in the DCB at the CJI value (step 98).
  • the outbound process sets the CONNECT field of its associated CTDB record to the current time and the STATUS field of the record is set to "5". Subsequently, the line associated with the outbound process is joined in the conference call.
  • Other outbound processes which received CJI messages with CJI values directs the DTI to connect their associated line in the DCB at the CJI value.
  • the CJI message is the message relevant to this system, other application messages may be received by the inbound process and processed accordingly (step 97). These other messages include a session termination message.
  • the outbound caller can interact with the call processor by pressing keys (step 100), as described below.
  • the outbound process next checks if the outbound caller has hang-up, i.e., disconnected (step 102). If not, the outbound process branches to step 94 to check if any messages are pending from the session process, otherwise the outbound process sends a hangup message to the session process (step 104) and the outbound process stops at step 122.
  • the outbound caller hangs-up the DISCONN field of its associated CTDB record is set to the current time and the STATUS field of the record is set to "6" if the outbound call has not yet connected in a conference, or "0" in the outbound call was connected in the conference.
  • Each of the inbound or oi tbound callers connected in the conference bridge can interact with the inbound and outbound processes, respectively, at step 88 (FIG. 3) or step 100 (FIG. 5), respectively, by checking whether a DTMF signal for a "#" or "*" key is pressed. If a "#" key in an inbound or outbound call is received, and the second round of calls have not been dialed, the process associated with the call sends a dial more round message to the session process. In 0 response, the session processor makes a dial out request for CTDB records having ROUND set to "2", or other subsequent round if records for such rounds are present in the CTDB (step 124 of FIG. 4).
  • the caller can enter a telephone number of a new contact for the session. The caller then may be prompted by a recorded voice message to enter a new contact number, or the caller may enter the telephone 5 number followed by an end key, such as the "#" key.
  • the call in which the "*" key was received may temporarily be removed from the conference bridge until the new contact number is entered, or the caller may enter the telephone number while in the conference bridge. If the call removed from the conference is an outbound call, the STATUS field of its associated CTDB is set to "9".
  • a caller enters a new telephone number to be called, such a request o creates a new outbound record in the CTDB with the round set to the next round number, such as three if two rounds were provided for in the CTDB, and a dial more round message is sent from that process to the session processor.
  • the session process sends a dial out request for CTDB records for the next ROUND value (step 124 of FIG. 4) and sends a disable more round announcement message to the inbound process.
  • the inbound processes receiving 5 the disable more round announcement message, disables the playing of the recorded message described below when no contacts answered on the first round.
  • the process associated with the call sends a redial message to the session process to redial the round one calls associated with a CTDB record having a STATUS field other than "0" or "5. o
  • the session process could redial any outbound CTDB record having a STATUS field with certain values defining when an outbound call could not be completed.
  • the session process receives messages from the inbound process or outbound process at step 76 having requests to dial out for the next round of outbound calls. If so, then at step 124, the session process 31 sends a request to an outbound process for an idle line of the 5 DTI for each CTDB record having a ROUND with the value for the next round, as described earlier at step 66 for activating the steps 68-122 of outbound process 32. At step 128, the session process checks the status of each process having sent an ICP status updated message.
  • the session process sends to the inbound process a no contact reach message, and sends a request to an outbound process for an idle line of the DTI for each CTDB record having a ROUND with the value of the next round, such as described earlier at step 66 to activate steps 68-122 of outbound process 32.
  • the inbound process provides the inbound caller with a recorded message that "no one answered at the locations checked, please stay on the line while additional location are checked” and then hold music.
  • This recorded message will repeat periodically until one of a disable more round announcement message is received by the inbound process, an outbound caller is connected in a conference with the inbound caller, or a no additional round message is received (as described below).
  • the STATUS field of the associated CTDB records for such outbound calls is set to "-1 , 2, 3, 6, 7, or 8"
  • the session process sends to the inbound process a no more additional round message.
  • the session process sends a request to an outbound process for an idle line of the DTI, such as described earlier at step 66 to activate the outbound process 32 of steps 68-122.
  • the inbound process In response to receiving a no more additional round message, the inbound process no longer responds to the "#" or "*" keys and the inbound process plays a recorded message to the inbound caller that "no one could be reached in any round and for the inbound caller to press any key to try again".
  • the inbound process copies the outbound CTDB records for the session, sets the STATUS field of the original outbound CTDB messages to inactive value of "-2", and sets the STATUS field of the copies of the outbound CTDB records to "10".
  • the session process further sends a try all over message to all the inbound and outbound processes, which in response resets the inbound process to step 60 (FIG. 3) and the outbound process to step 64 (FIG. 5) for activation by the session process for round one, as described earlier.
  • the inbound call terminates.
  • the STATUS field of the inbound call CTDB record upon termination is set to "7".
  • the session process may periodically have a recorded infomiation message played to the all callers bridged into the conference call. This recorded information message informs the callers of their option to press the "#" key to call additional rounds or redial round one, or "*" to enter additional telephone numbers of contacts to be called (step 126). Such additional contact numbers are only for the present session and are not stored in the account information for the subscriber group.
  • the session process then checks all the records of the CTDB for the session to determine if the conference termination criteria has been meet (steps 128-130).
  • the termination criteria requires the meeting of two conditions, the inbound caller has hung-up and less than two callers (inbound or outbound callers) are still present on the conference bridge. If the termination criteria are met, the session process sends an end session message to all inbound and outbound processes which are active (step 132) and the session process stops (steps 134). Active refers to an inbound or outbound process being connected in the conference bridge, i.e., the STATUS field of the associated CTDB records is "5".
  • the inbound process at step 85 (FIG. 3) or the outbound process step 97 (FIG.
  • Each of the inbound process and outbound processes may in conjunction with storing time infomiation in their respective CTDB records may record the time values for C_START,
  • ANSWERED outbound process only
  • CONNECT inbound process only
  • DISCONN inbound process only
  • the files from each process are sent to the database server.
  • Each file includes information defining the subscriber group number and SID of the session.
  • the database computer processes the information to prepare bills based on the duration of calls made in the conference.

Abstract

A system for automatically conferencing a caller (15) to one or more members of a group (17) is provided having at least one call processor (14a) representing a computer having an interface (14b) to a telephone-based network (18) through multiple telephone lines. The call processor (14a) is associated with one or more telephone numbers to enable inbound calls to connect with the call processor (14a) via the network (18). In response to an inbound call contacting the system, the call is associated with one of predefined groups of subscribers stored in memory of the call processor, and enables the caller (15) of the inbound call to record a greeting message to the members of the group (17). The call processor dials outbound calls in one or more rounds to telephone numbers of the members of the group (17), and enables the caller of each connected outbound call to receive at least the recorded message and select whether they wish to be included in a conference call. The call processor conference bridges the inbound call and one or more outbound calls having callers which selected to be included.

Description

SYSTEM FOR AUTOMATICALLY CONFERENCING A CALLER TO
ONE OR MORE MEMBERS OF A GROUP
Description Field of the Invention The present invention relates to a system (and method) for automatically conferencing a caller to one or more members of a group, and relates particularly to, a system for enabling a caller to be linked, via telephone, automatically to one or more members of a predefined group, such as a family, in a conference call. The invention is suitable for enabling a person to call the system by telephone in case of an emergency in order to contact one or more members of a group subscribing to the system, in which the caller can record a message to be played to one or more contacted members of the group, who are dynamically entered into a conference call with each other and the person contacting the system.
Background of the Invention Often emergencies arise when a person must contact a member of a group, such as a family, to provide important urgent information, obtain instructions, or consent for a medical procedure. For example, a school or daycare center must contact a family member in an emergency regarding a child of the family. The same is true for contacting a family member when an emergency occurs with an elderly parent at an adult care facility. Typically, a few contact phone numbers are provided with an institution, such as a school, daycare center, or adult care facility, in order to reach a family member in an emergency. As a result, a person at the institution must locate a record with the telephone number(s) to be called, and then call each number in a hope that at least one member of the family can be reached. Further, such members often must contact each other and confer as to the handling of an urgent situation. This is time-consuming and requires multiple telephone calls to members of a family and between members of a family. Moreover, in emergency circumstances where a sole caregiver is present, such as a babysitter, a decision sometimes must be made between rendering assistance to a child in need or keeping on the telephone in hope of reaching a family member to receive instructions. Thus, it would be desirable to provide a system in which a person needing to contact a member of a group can call a single telephone number and automatically be linked in a conference to each member of that group. It would further be desirable that the person needing to contact the members of a group be able to leave a message to be played to each member of the group, such that a person does not need to remain on the line, but still allows such members of the group to be conferenced to each other.
U.S. Patent No. 5,631 ,904, describes a method and system for a subscriber to automatically establish a conference call to a pre-selected list of participants stored in a database. The method enables a subscriber to establish a call with the system and then enter a pin number to have the options of placing a call, scheduling a call, creating a new list of participants, or modify an existing list of participants. The system does not readily enable a person other than the subscriber to make a conference call without some knowledge of group identifiers associated with different lists and knowledge of the pin number to access the system. Further, there is no ability for a person to leave a message to be played to each participant in the group.
Summary of the Invention Accordingly, it is the principal feature of the present invention to provide an improved system for enabling a person to be automatically linked and conferenced to one or more members of a predefined group. It is another feature of the present invention to provide an improved system for automatically conferencing a caller to one or more members of a group in which the system enables the caller to record a message to be played to one or more members of the predefined group prior.
It is still another feature of the present invention to provide an improved system for automatically conferencing a caller to one or more members of a group in which the members of the group are called in one or more rounds.
It is yet another feature of the present invention to provide an improved system for automatically conferencing a caller to one or more members of a group in which additional contact telephone numbers may be entered by any caller in the conference to be dialed and joined to the conference.
Briefly described, the system embodying the invention includes at least one call processor representing a computer having a computer telephony interface to a telephone-based network (such as a PSTN) through multiple telephone lines. The call processor has memory storing account information for each of the subscribers of the system in which each group subscribing to the system has an account number with a list telephone numbers of contacts
(members) of the group, where such contacts are in subsets of one or more calling rounds. The memory of the call processor further stores prerecorded messages to be played to callers to facilitate caller interaction with the call processor and to prompt callers to input information. Callers can interact with the system via DTMF tones which are received and decoded by the call processor. The call processor is associated with one or more telephone numbers to enable inbound call to connect with the call processor over the network. The call processor is programmed accordance with an inbound process, a session manager process, and an outbound process, in which such processes are capable of controlling the computer telephony interface. An inbound call contacts the system when the caller needs to contact members of a group subscribing to the system. In response, the inbound process requests the caller of the inbound call to input an account number, and if the account number is valid, the inbound caller records a greeting message with their name and the reason for needing to contact the group. The inbound process activates the session manager which instructs one or more outbound processes to dial an outbound call through the computer telephony interface to each of the first round contacts in the group associated with the entered account number. Each outbound call connected by the outbound process receives at least the recorded message of the inbound caller and requests input indicating a selection to join the conference call. The inbound process, and each of the outbound processes associated with a connected call in which the caller selected inclusion in the conference call, sends a request for conference to the session manager. When two or more requests for conference are received, the session manager sends to each process which sent a request, a conference join instruction with the timeslot in the computer telephony interface in which the call, inbound or outbound, can join a conference bridge. The inbound and outbound processes in response to receiving the conference join instruction direct the computer telephony interface to connect their respective call in the conference bridges at their timeslot, such that the callers of the inbound call and one or more outbound calls can talk to each other. When no connected caller for an outbound selecting inclusion in the conference call is found, the session manager instructs one or more outbound processes to dial an outbound call through the computer telephony interface to each of the next round of contacts in the group associated with the entered account number. One of callers of the inbound or outbound calls may further interactively prompt the call processor to call the contacts of the group of the next round or add telephone numbers of additional contacts. If the inbound caller hangs up before the conference bridge is established, the conference bridge will be established with one or more outbound callers. The conference bridge will continue so long two or more caller, inbound or outbound, are still in the conference bridge.
A call tracking database is generated by the inbound process in memory of the call processor for each session having a record for the inbound call and each of the outbound calls. The status of each call is updated to the record by the inbound or outbound process associated with the call. The call tracking d; tabase further maintains time information about each call useful for billing the subscribing group.
Multiple call processors may be provided which are linked by a LAN to a database server. The database server maintains a master database of the account information, such that when a new account is added, or an existing account is modified or deleted, such update of the account information is downloaded to each of the call processors. In this manner, each call processor operates independent of each other and provides redundancy in case a call processor is down. The database server may be coupled to the Internet or World Wide Web to enable, via a web site at the database server, to add new subscribers or modify subscriber account information. Further, the system embodies a method for automatically conferencing a caller with one or more members of a predefined group via a telephone-based network having the steps of: receiving over the network an inbound first call from a caller; associating the first call with one of a plurality of predefined groups of different subscribers; recording a message from the caller of the first call to greet members of the group; dialing outbound second calls over the network to contact one or more members of the group at telephone numbers associated with the members; enabling a caller on the second call to select inclusion in a conference call and receive at least the recorded message when any of the second calls answer at the telephone numbers associated with the members; and connecting in a conference bridge at least two of the first call and the second calls in which the caller selected to be included in the conference.
Brief Description of the Drawings The foregoing features and advantages of the invention will become more apparent from a reading of the following description in connection with the accompanying drawings, in which: FIG. 1 is a block diagram of the system according to the present invention;
FIG. 2 is a block diagram of the processes operating in the call processor in response to an incoming call for an account in memory of the call processor of the system of FIG. 1 ;
FIG. 3 is a flow chart showing the inbound process and programming of the call processor of the system of FIG. 1 upon receiving an incoming call; FIG. 3A is a flow chart showing the processes of steps 34-35 of FIG. 3;
FIG. 4 is a flow chart showing the session manager process and programming of the call processor of the system of FIG. 1 for establishing a session in response to the incoming call process of FIG. 2; 5 FIG 5 is a flow chart showing the outbound piocess and programming of the call processor of the system of FIG 1 for each of the outbound calls, and
FIG 5 A is a flow chart showing the processes of steps 70-73 of FIG 5
Detailed Description of the Invention o Referring to FIG 1 , the system 10 includes a database server 12 and multiple call processors 14 coupled to the database server by a LAN 16 Each of the call processors 14 represents a personal computer 14a having an interface to the LAN 16 and a computer telephony interface 14b The computer telephony interface 14b is preferably provided by two types of boards manufactured by Dialogic, Inc of Parsippany, New Jersey, referred to as 5 Dialogic Telephone Interface ("DTI") and Dialogic Conference Board ("DCB") For example, the computer telephony interface 14b may include one or more DTI240SE boards and one or moie DCB320 boards integrated into computer 14a Each DTI board is coupled to, and handles calls along, one Tl ISDN PRI (Primary Rate Interface) lines 19 connecting the call processor 14 to a central office switch 18 The central office switch may be part of a PSTN - 0 Public Switch Telephone Network (illustrated, for example, by telephones coupled with switch
18) Each DCB board can connect multiple callers from one or moie of the DTI boards into a conference bridge A CSU unit 20 amplifies voice signals along each Tl lines 19 to the telecommunication interface 14b, as typical in connecting a Tl line to a computer system For example, each call piocessor may have foui Tl lines 19 which each Tl line is coupled to one 5 DTI board Although different types of telephone voice lines 19, or means 20 to connect such voice lines to a computer, may be used, each Tl ISDN PRI provides twenty-three telephone lines and one data control line for such twenty-three telephone lines to one DTI board of interface 14b The system 10 is registered with the cential office (and PSTN) as having one or more telephone numbers, for example, a toll-free 800 or 877 number, such that when a caller o dials such numbers the caller is connected through the central office switch 18 to one of the call processors 14 For purposes of illustration, two call processors are shown in FIG 1 , but one oi more call processors may be used The interface 14b enables the computer 14a of the call processor to receive telephone calls fiom one or more inbound calleis 15 or make telephone calls to outbound callers 17, in accordance with the programming of each call processor 14, as 5 will be descπbed later in connection with FIGS 2-5
Each DTI boaid of interface 14b can provide interactive voice response capability to enable the system to talk to a caller and DTMF decoding capability to decode a key pressed by a caller In memory of the computer 14a, VOX (audio) files are stoied having data representing clips of pre-recorded voice messages and may be accessed and played to a caller by the DTI board in accordance with programmed instructions in the caller processor 14. Such voice messages may be indexed, such that they may be selectively used on a call according with call processor programming. Other types of voice data files could also be used, such as Wave files. The database server 12 further includes text to speech software, such as sold by Lernout and Hauspie of Burlington, Massachusetts, which can translate text into data representing speech in a computer synthesized voice. Such audio data in stored in a file in memory of the database server 12. The call processor 14 can request callers 15 or 17 in a prerecorded voice message to input information via DTMF signals by pressing keys on a telephone keypad of the caller's telephone. The call processor 14 may optionally have speech recognition software to enable a caller 15 or 17 to provide voice input to the call processor in addition to, or instead of, input of DTMF signals by a caller.
The database server 12 represents a server computer programmed in accordance with database software, such as sold by Oracle, Inc. The database server 12 stores in its memory 12a, such as a hard drive or other large capacity memory storage unit, account information, call detail information, and system configuration information. The account information represents for each of the subscribing groups: a unique account number, the name of the group, such as a family or organizational name, the telephone number, name, and calling round, of each members of the group, and files of data representing audio of group name and names of each member of the group. The members of a group are divided into subsets of calling rounds, i.e., first, second, etc., in accordance with the importance of being contacted as determined by the subscribing group. Call detail information represents data for each conference session made for each account, such call detail information includes information related to the duration of the calls in a conference session. System configuration information includes data representing the files of pre-recorded voice message, and any other system operational parameters. The LAN 16 may be Ethernet-based in which the computers 14a and data server 12 have an Ethernet interface board coupled to the LAN. Through a router 21 coupled to the LAN 16 and the
Internet (i.e., World Wide Web "WWW") 24 via Tl line 22, the data server 12 can communicate with one or more network clients over the Internet. Such network clients may represent remote computers 26 of subscribers to the systems having WWW access through an ISP (Independent Internet Service Provider) 28. The data server 12 provides a web site at an IP address on the WWW. The web site represents a series of web pages enabling registration of new subscribers 26 or allowing existing subscribers to modify account information. The database server 12 may have a modem 12b to enable direct data communication to the server by one or more administrative computers 13 through a typical modem connection for enabling system administration. The system includes a call center to provide operator support to an incoming caller and enable registration over the phone, rather than Internet registration. The call center has one or more telephone numbers to which a caller to the system 10 may be conference bridged through interface 14b if customer support is required. The database server may connect with a credit card clearing house 25 to verify or charge credit cards of subscriber groups entered as part of their account information stored in the database server. In addition, account information may be added or modified by a call center having access to the database server through the WWW or other data communication line.
The database server 12 further has ODBC software, which enables different computers 14a to access the database server across the LAN 16. Each computer 14a of the call processor has memory, such as a hard drive, storing the same account and configuration information as in the database server. When the account information is updated at the database server 12, the database server downloads the updated account information to each of the computer 14a through the LAN 16. The account information may be stored in records at both the data server 12 and at each call processor 14. For example, a call processor 14 may search and retrieve records associated with a particular account number. The configuration information is similarly updated by the database server 12 to each call processor 14.
Referring to FIG. 2, the call processor 14 has three types of processes: inbound process 30, session manager process 31 , and outbound process 32. Each of the processes 30-32 represents a program stored in memory of the call processor in a language adapted to interface 14b, such as VOS software sold by Parity Software Development Corp. of Sausalito,
California. The processes 30-32 can communicate with each by messages as typical of parallel processing software architecture. The inbound and outbound processes can direct the DTI to access and play selected files of prerecorded audio messages to a caller on the telephone lines associated with such processes. The inbound process 30 operates to receive an incoming call to the system 10 of a person in need of contacting a member of a group, referred to as a family herein for purposes of illustration, checks if the account for that family is valid and exists, builds a database in memory of the call processor for the session, requests a greeting message be recorded by the inbound caller, and activates the session manager. The session manager 31 can activate multiple ones of the outbound process to call in rounds, as defined in the database, for each of the contacts defined for that family. The outbound processes in each calling round occur in parallel. Each outbound process makes such calls and plays the recorded greeting message if the caller answers and asks if the caller wishes to join the conference, i.e., selects to join a conference bridge. The inbound process and each outbound process can send a message to the session manager to request _o join the conference. In response, the session manager conference bridges the inbound and each of the outbound callers. The session manager maintains the conference bridge until only one of such callers remains in the conference. Multiple instances of the inbound process and session process can be invoked by the computer of the call processor to accommodate multiple sessions. Likewise, multiple instances of the outbound process are invokes for each one of the sessions and can operate in parallel with each other for the same calling round. The processes 30-32 are described in more detail below in connection with FIGS. 3-5.
Referring to FIGS. 3-5, each flowchart represents a separate one of processes 31 -33 operative on one of the call processors 14 in which inbound process 30 is shown in FIG. 3, session manager 31 is shown in FIG. 4, and outbound process 32 is shown in FIG. 5. Messages sent and received between processes 31 -33 are denoted by dashed lines to and from circled letters on different figures. Each circle further includes name of the process to receive the message, or the name of the process that sent the message, depending if the message is being received sent or received, respectively. In FIG. 3, the call processor first waits for an incoming call (step 34). A person, an inbound caller 15 (FIG. 1 ), makes a call from an external telephone to one of the telephone numbers associated with the system 10 (which may be a local or long distance call, but usually is a toll-free number). The call switches through the central office 18 to the DTI board of interface 14b and is detected by the call processor 14. The call processor 14 accepts the call, requests an account number from the caller, and then verifies the account number as valid or directs the caller to an operator of the call assistance center (step 35).
Steps 34-35 are shown in more detail in FIG. 3A. A person first makes the call to the system (step 36) and after connection with one of the call processors 14 receives a welcome message for the system (step 38). The inbound caller is then asked to enter the account number of the family to be contacted using the keypad of their telephone (step 40). The account number may be a 10 digit number, such as the phone number associated with the family subscribing with the system, or other predefined number. Next, the call processor evaluates the input for a valid account number (step 42). The call processor stores account information for each account of the system under a unique number. If the DTMF signals received represent a valid account number (step 44), the call processor checks if the account has location entries, i.e., does the record for that account have a contact list of one or more contacts (step 46). If location entries are present for that account, the subscriber account exists (step 48), otherwise the caller receives a message indicating that no locations were found for the account (step 50) and a message indicating that the caller is being connected to customer care operator (step 52).
If the account number entered is invalid at step 44, the user has three tries to enter a valid number (step 54) before receiving a message that they are being connected to the customer care operator (step 52). The call processor for each of the first two attempts to enter an account number informs the caller that an invalid account number has been entered (step 55) and then allows the caller to re-enter the account number at step 42. The call processor records in an index variable starting at one, the number of tries the caller loops through steps 44, 54 and 55 until either a correct account number is entered, or the variable has reached three at step 54, before branching the caller to the customer care operator (step 52). Further, if the caller enter a DTMF signal representing (0) Zero on the keypad, the caller is connected to an operator after receiving a please hold message (steps 52 and 53). After receiving the message of step 52, the caller is bridged to a customer care operator to assist in determining the correct account number. The customer care operator has access to the account information stored in the database server 12 and can be reached by the call processor 14 at an external telephone number at the center which the call processor can call and conference bridge the caller. When the operator is no longer bridged to the caller, the caller returns to step 42 to enter the account number.
Referring back to FIG. 3, after the inbound caller has entered a valid account number and the account exists (step 35), the call processor 14 creates a Call Tracking Database ("CTDB") in a file directory having a unique name in the memory of the computer 14a of call processor 14, such CTDB may be associated with a unique Session Identifier (SID) for internal session tracking purposes. The CTDB is used as a temporary storage space for the information related to the session in the call processor. Each record in the CTDB stores information for one of the calls (inbound or outbound) involved with the conference call to be created. The information for the inbound call will be the first record in the CTDB followed by subsequent records for each outbound call. The CTDB record is updated by each of processes 30-32 as the conference call progresses to update the status of inbound and outbound calls, and to stores time information related to each of the calls, such as date and time the call started, the time the call answered, time when the call is bridged into conference, and time when the call is disconnected. Time is recorded in hours, minutes, and seconds. The information in the CTDB is provided from the account information stored in memory of the call processor for the account number, this information includes, at least the following, the account number, the name of the group (such as the family name), a call list identifying for each contact on the list, the contact name, telephone number, and whether the contact is in the first or second calling round. Upon completion of the session, the session information in the CTDB may be transferred to memory of the database server 12 and the CTDB deleted from memory of the call processor. Each record in the CTDB has the data fields as indicated in Table I below. In this table, "Updated By" refers to which process can update the field of a record in the CTDB after the CTDB is created.
TABLE I
Figure imgf000012_0001
For the CTDB inbound call record created at step 56, the CTYPE field is set to a "1 " value to indicate the contact is a telephone number, the CONTENT is the ANI for the inbound call, if available, such as provided by Caller ID feature provided by the telephone service to the system, C_START is the current date and time when the record was created by the call processor. The ROUND, ANSWERED fields are not used for the inbound call record and may be a null value. The STATUS field of the inbound CTDB record has one of five possible values indicating the status of the inbound call: 1 - Inbound call waiting, 5 - inbound call connected to conference call, 6 - inbound call hang-up, 7 - inbound call abandoned by the call processor and, 0 - inbound call completed the conference call. The STATUS field is initially set to "1 " and is updated by the inbound process as the status of the inbound call changes. The "7" STATUS value is used by the system when the inbound process detects that the inbound call is silent for a predefined period of time or no conference call to any outbound call could be established. Each time the inbound process updates the STATUS field of their associated
CTDB record, it sends to the session process an ICP status updated message to inform the session process that it updated it CTDB record.
For each of the outbound CTDB record created at step 56, the data fields are set as follows: the ROUND field is set to a number indicating the round in which the outbound call is to be made, such as "1" or "2" for the first or second calling round, respectively; CTYPE is set to a "1 " value to indicate the contact is a telephone number; and CONTENT is the telephone number of the contact to be called. C START, ANSWERED, CONNECT, and DISCONN are initially empty and are used to record events during the call as indicated in Table I. The
STATUS field of the outbound CTDB record has one of thirteen possible values indicating the status of the inbound call: 1 - Outbound call started, 2 - Outbound call has no carrier, 3 - outbound call has no answer, 4 - Outbound call has answered, 5 - outbound call has connected to conference call, 6 - outbound call has hang-up, 7-outbound call abandoned by the call processor, 8-outbound call is busy, 9 - outbound call has left the conference (temporarily or permanently), 0 - outbound call completed the conference call, 10 - outbound call process notified, -1 - outbound call has a communication error, and -2 - outbound call is inactive. The STATUS field is initially set to "10" and is updated by the outbound process as the status of the outbound call changes. Each time the outbound process updates the STATUS field of their associated CTDB record, it sends to the session process an ICP status updated message to inform the session process that it updated it CTDB record.
For example, the CTDB may have a first record for the incoming call, three outbound records for first round calls, and three outbound records for second round calls. Additional rounds may be supported, and each round may have one or any number of contact calls. The above database is exemplary; other data structures having similar information may also be used.
The C START is based on the date and time maintained by the clock in the call processor computer. The CONNECT and DISCONN fields (and the ANSWERED field for the outbound process) may have a time value associated with the clock, or such fields may represent the time laps since the time entered in the C_START field for the record.
The system 10 may support other types of connection than a typical telephone call to a party. If the CTYPE is set to "0", a connection will be made to an operator of the system. A subscriber group may wish to have an operator, i.e., who may be the same operator as a customer care operator or another operator to assist callers. Further, the CTYPE may be set to "2" to indicate that the contact is by E-Mail, in which the CONTENT field has an E-Mail address. The call processor 14 uses E-mail receiving/sending software, such as provided by a typical web software browser, and can format and send E-mail messages to the CONTENT address to the Internet via router 21. The E-mail message would include data representing the voice message recorded from the inbound caller. Other CTYPE' s may refer to a pager in which the CONTENT field has a telephone number associated with the pager. The message to the pager would include a call phone number, such as the ANI of the inbound call. For purposes of illustration the CTYPE is considered herein to be set to "1 " to indicate the contact is by telephone (such as land-based, cell, or PCS). After the CTDB is created and the contact list added to each of the outbound records of the CTDB (step 56), the inbound caller stores a personal greeting message to be played to each outbound caller (step 58). For example, the caller may be prompted to record after a beep a greeting including their name and a brief reason for the call. The recorded voice clip is stored as data in a file in the same file directory as the CTDB, or in another file in memory of the call processor computer 14a associated with the SID of the session. Optionally, the inbound caller will receive an announcement stating that the system is calling a particular family or group name. A file having data representing audio of the name as synthesized computer speech is stored in memory of the call processor. The file may be created when the subscriber provides their name upon registration with the system and is stored with the account information for the subscriber. Alternatively, this file may be substituted by a recorded voice provided by a system administrator, or if registration is through a call center, the recorded voice of the subscriber. Next at step 60, the inbound process activates a session process (FIG. 4) by sending a system message to the session process with the file memory location of the CTDB in the call processor computer 14a. The inbound process thereafter at step 62 sends a Request For Conference (RFC) message as a message to the session process. The RFC message includes information about which DTI line the inbound call is associated. While the inbound caller waits to be connected, the inbound process instructs the DTI to place the line associated with the inbound call on hold. A message is played to the inbound caller asking them to stay on the line while they are being connected. The inbound caller may receive music while on hold. In FIG. 4, a session process 31 is activated in response to receiving the activation message from the inbound process (step 64). The inbound process is referred in this figure as ICP-i and the outbound process as ICP-o, and ICP-i and ICP-o are referred to generally as ICP. The session processor then for each CTDB record for the session identified for round one, i.e., the ROUND field is set to "1 ", sends a dial out request to an outbound process of an idle line of the DTI with instructions to call the contact number in the CTDB record (step 66). Each outbound process (or outbound leg) controls a different telephone line in the DTI, such that the outbound process can instruct the DTI to dial tones to make a telephone call. The session process may send in each dial out request the memory location in the call processor computer 12a of the CTDB record associated with the outbound process. Next in FIG. 5, each outbound process 32 receives a dial out request (step 68) and sets the STATUS field of the associated outbound CTDB record to " 1". The outbound process directs the DTI to dial the phone number in the CONTENT field of the CTDB record associated with the outbound process (step 70). Also, the C START field of the CTDB record 5 is set to the current date and time. If the call is answered (step 71 ), an audio information message is played along with the recorded message of the inbound caller, and the caller is asked to press any key on their phone if they wish to be connected to the family conference (step 72). If no key press is detected, i.e., no DTMF tone is received (step 73), the outbound process stops (step 122), otherwise, the outbound process sends to the session process an RFC 0 message (step 74). The RFC message includes infomiation about which DTI line the outbound process is associated. The need for an outbound caller to press a key at step 73 allows the system to deal with wrong numbers, answering machines, or such individuals who do not wish to be involved. If the call is not answered after a predefined time interval at step 71 , such as 30 sec, the outbound process stops (step 122). At step 122, the outbound process updates the 5 DISCONN field of its associated CTDB record with the current time, and the SESSION field of the record is set to "7".
If at step 70, the CTYPE of the CTDB record associated with the outbound process is set to "0", the outbound process looks up in a file in memory of the call processor computer 14a for the telephone number of an operator and dials that number. No information message of 0 step 72 need be played to the operator. The operator may be the same as a call center operator or another operator and assist the inbound caller or outbound callers in a conference. If the CTYPE is set to other values, the outbound process attempts to make contact using the infomiation in the CONTENT field in accordance with the CTYPE.
Steps 70-73 of FIG. 5 are shown in more detail in FIG. 5A. l re outbound process first 5 looks up in the CTDB record associated with the outbound process the phone number in the CONTENT field (step 106), and then places the call to that phone number via the DTI (step 108). If the called party connects and answers (step 1 10), the outbound process provides a recorded message that "the call is for", inserts the called party's name, "from", and then plays the recorded message from the inbound caller (step 1 12). A file having data representing audio o of the called party's name as synthesized computer speech is stored in memory of the call processor. The DTI can access such files with other files of prerecorded messages. The file may be created by the database server 12 when the subscriber group provides their name upon registration with the system and is stored with the account infomiation for the subscriber. Alternatively, this file may be substituted by a recorded voice provided by a system 5 administrator, or if registration is through a call center, the recorded voice of the subscriber. If the call answers, the ANSWER field for the outbound CTDB record associated with the outbound process is set to the current time, and the STATUS field of this record is set to "4" to indicate the call answered. The caller also at step 1 12 receives a record message that the call is 5 "from", the recorded message of the inbound caller, and then the recorded message to "press any key to connect the call". If the call does not connect, such as it is not answered or busy, the outbound process sets the STATUS field of the outbound CTDB record associated with the outbound process with to "3" indicating no answer or to "8" to indicate the line was busy (step 1 1 1 ), and the outbound process stops (step 122). If the outbound call results in no carrier, the 0 STATUS filed of the record in set to "2". After step 1 12, the outbound process checks if the called party is still connected and whether a DTMF input is received indicating a key is pressed (step 1 14). If an answer is received, i.e., a key was pressed, the CONNECT field for the outbound CTDB record associated with the outbound process is set to the current time (step 1 18) and the outbound caller receives a recorded message indicating that the call is being 5 connected (step 120). If no DTMF tone was received at step 1 14, it is assumed that, an answering machine has connected (step 1 15) and waits two second to retry step 1 12 (step 1 16). If no DTMF tone is received after two times through the loop of steps 1 12-1 16, the STATUS field for the outbound CTDB record associated with the outbound process is set to "7" to indicate the call is abandoned (step 1 17), and then the outbound process stops (step 1 12). A 0 communication error in the outbound call, such as a call could not be dialed, or the line is dropped after connected, results in a STATUS field of the outbound CTDB record being set to "-1".
Referring back to FIG. 4, the session process receives in a mailbox or queue each message received from the inbound or outbound processes (step 76). If the message represents 5 an RFC message, and this is the first RFC message received by the session process, the session process stores the RFC message until a second RFC message is received. Once two RFC messages are received, the session process sends to each of the processes which sent the RFC message, a Conference Join Instruction (CJI) with a CJI timeslot value (step 78). The session process obtains the CJI value from the DCB board for the conference call, and it represents the o timeslot where the inbound or outbound process must listen to in order to connect to the conference call for the session. The CJI value is a number internal to the DCB board to enable multiple calls to be joined together in a conference bridge. If more messages are pending (step 80), the session process processes each of the messages received from the inbound and outbound processes through steps 76-78. 5 In FIG. 3, the inbound call is still on hold while the round one of outbound calls are being made by the call processor, the inbound process checks for any messages received from the session process (step 82). If a message received is a CJI message with a CJI value (step 84), the inbound process directs the DTI to connect its associated line in the DCB at the CJI value (step 86). The inbound process sets the CONNECT field of its associated CTDB record to the current time and the STATUS field of the record is set to "5". Subsequently, the line associated with the inbound process is joined in the conference call. Although the CJI message is the message relevant to this system, other application messages may be received by the inbound process and processed accordingly (step 85), such as a no more additional round message, no contact reached message, disable more round announcement message, or try all over message, and operates responsive to such messages as described later. The inbound caller can interact with the call processor by pressing keys (step 88), as described below. The inbound process next checks if the inbound caller has hang-up, i.e., disconnected (step 90). If not, the process branches to step 82 to check if any messages are pending from the session process, otherwise the process sends a hang-up message to the session process (step 92) and the inbound process is restarted at step 34. When the inbound caller hangs-up, the DISCONN field of its associated CTDB record is set to the current time and the STATUS field of the record is set to "6" if the inbound call has not yet connected in a conference, or "0" in the inbound call was connected in the conference. Similarly in FIG. 5, the outbound process checks for any messages received from the session process (step 94). If a message received is a CJI message with a CJI value (step 96), the outbound process directs the DTI to connect its associated line in the DCB at the CJI value (step 98). The outbound process sets the CONNECT field of its associated CTDB record to the current time and the STATUS field of the record is set to "5". Subsequently, the line associated with the outbound process is joined in the conference call. Other outbound processes which received CJI messages with CJI values directs the DTI to connect their associated line in the DCB at the CJI value. Although the CJI message is the message relevant to this system, other application messages may be received by the inbound process and processed accordingly (step 97). These other messages include a session termination message. The outbound caller can interact with the call processor by pressing keys (step 100), as described below. The outbound process next checks if the outbound caller has hang-up, i.e., disconnected (step 102). If not, the outbound process branches to step 94 to check if any messages are pending from the session process, otherwise the outbound process sends a hangup message to the session process (step 104) and the outbound process stops at step 122. When the outbound caller hangs-up, the DISCONN field of its associated CTDB record is set to the current time and the STATUS field of the record is set to "6" if the outbound call has not yet connected in a conference, or "0" in the outbound call was connected in the conference. 5 Each of the inbound or oi tbound callers connected in the conference bridge can interact with the inbound and outbound processes, respectively, at step 88 (FIG. 3) or step 100 (FIG. 5), respectively, by checking whether a DTMF signal for a "#" or "*" key is pressed. If a "#" key in an inbound or outbound call is received, and the second round of calls have not been dialed, the process associated with the call sends a dial more round message to the session process. In 0 response, the session processor makes a dial out request for CTDB records having ROUND set to "2", or other subsequent round if records for such rounds are present in the CTDB (step 124 of FIG. 4). If the "*" key in an inbound or outbound call is received, the caller can enter a telephone number of a new contact for the session. The caller then may be prompted by a recorded voice message to enter a new contact number, or the caller may enter the telephone 5 number followed by an end key, such as the "#" key. The call in which the "*" key was received may temporarily be removed from the conference bridge until the new contact number is entered, or the caller may enter the telephone number while in the conference bridge. If the call removed from the conference is an outbound call, the STATUS field of its associated CTDB is set to "9". If a caller enters a new telephone number to be called, such a request o creates a new outbound record in the CTDB with the round set to the next round number, such as three if two rounds were provided for in the CTDB, and a dial more round message is sent from that process to the session processor. In response, the session process sends a dial out request for CTDB records for the next ROUND value (step 124 of FIG. 4) and sends a disable more round announcement message to the inbound process. The inbound processes receiving 5 the disable more round announcement message, disables the playing of the recorded message described below when no contacts answered on the first round. In addition, if a "#" key is pressed in an inbound or outbound call after all rounds of contacts have been called, the process associated with the call sends a redial message to the session process to redial the round one calls associated with a CTDB record having a STATUS field other than "0" or "5. o Optionally, the session process could redial any outbound CTDB record having a STATUS field with certain values defining when an outbound call could not be completed.
In FIG. 4, the session process receives messages from the inbound process or outbound process at step 76 having requests to dial out for the next round of outbound calls. If so, then at step 124, the session process 31 sends a request to an outbound process for an idle line of the 5 DTI for each CTDB record having a ROUND with the value for the next round, as described earlier at step 66 for activating the steps 68-122 of outbound process 32. At step 128, the session process checks the status of each process having sent an ICP status updated message. During round one of outbound calls, if the STATUS field of the associated CTDB records for such outbound calls is set to "-1, 2, 3, 6, 7, or 8", then the session process sends to the inbound process a no contact reach message, and sends a request to an outbound process for an idle line of the DTI for each CTDB record having a ROUND with the value of the next round, such as described earlier at step 66 to activate steps 68-122 of outbound process 32. In response to receiving a no contact reach message at step 85 of FIG. 3, the inbound process provides the inbound caller with a recorded message that "no one answered at the locations checked, please stay on the line while additional location are checked" and then hold music. This recorded message will repeat periodically until one of a disable more round announcement message is received by the inbound process, an outbound caller is connected in a conference with the inbound caller, or a no additional round message is received (as described below). During round two of outbound calls, if the STATUS field of the associated CTDB records for such outbound calls is set to "-1 , 2, 3, 6, 7, or 8", then the session process sends to the inbound process a no more additional round message. (However, if there are additional rounds after two, a no contact reach message is again sent to the inbound process, and for each CTDB record having a ROUND with the value of the next round, the session process sends a request to an outbound process for an idle line of the DTI, such as described earlier at step 66 to activate the outbound process 32 of steps 68-122.) In response to receiving a no more additional round message, the inbound process no longer responds to the "#" or "*" keys and the inbound process plays a recorded message to the inbound caller that "no one could be reached in any round and for the inbound caller to press any key to try again". If a DTMF tone for a key is pressed, the inbound process copies the outbound CTDB records for the session, sets the STATUS field of the original outbound CTDB messages to inactive value of "-2", and sets the STATUS field of the copies of the outbound CTDB records to "10". The session process further sends a try all over message to all the inbound and outbound processes, which in response resets the inbound process to step 60 (FIG. 3) and the outbound process to step 64 (FIG. 5) for activation by the session process for round one, as described earlier. If after the inbound process plays the recorded message to the inbound caller that "no one could be reached in any round and for the inbound caller to press any key to try again" no DTMF tone for a key is received the inbound call terminates. The STATUS field of the inbound call CTDB record upon termination is set to "7". When no outbound dialing is in process, the session process may periodically have a recorded infomiation message played to the all callers bridged into the conference call. This recorded information message informs the callers of their option to press the "#" key to call additional rounds or redial round one, or "*" to enter additional telephone numbers of contacts to be called (step 126). Such additional contact numbers are only for the present session and are not stored in the account information for the subscriber group.
The session process then checks all the records of the CTDB for the session to determine if the conference termination criteria has been meet (steps 128-130). The termination criteria requires the meeting of two conditions, the inbound caller has hung-up and less than two callers (inbound or outbound callers) are still present on the conference bridge. If the termination criteria are met, the session process sends an end session message to all inbound and outbound processes which are active (step 132) and the session process stops (steps 134). Active refers to an inbound or outbound process being connected in the conference bridge, i.e., the STATUS field of the associated CTDB records is "5". In response to receiving an end session message, the inbound process at step 85 (FIG. 3) or the outbound process step 97 (FIG. 5) directs the DTI line associated with the process to disconnect, and the STATUS field of the associated CTDB record is set to "0". If the inbound caller has disconnected with the system, such as by hanging up before the conference is made, the conference will continue to be attempted by the call processor with one or more outbound callers until the termination criteria are met. Although the inbound caller has hung up, the outbound callers will still receive the recorded message of the inbound caller, and if more than two outbound calls are connected in the conference bridge they can discuss how to respond to such message.
Each of the inbound process and outbound processes may in conjunction with storing time infomiation in their respective CTDB records may record the time values for C_START,
ANSWERED (outbound process only), CONNECT, or DISCONN, in a separate file in memory of the call processor computer. When a session is completed, the files from each process are sent to the database server. Each file includes information defining the subscriber group number and SID of the session. The database computer processes the information to prepare bills based on the duration of calls made in the conference.
From the foregoing description, it will be apparent that there has been provided an improved system and method for automatically conferencing a caller to one or more members of a group. Variations and modifications in the herein described system and method in accordance with the invention will undoubtedly suggest themselves to those skilled in the art. Accordingly, the foregoing description should be taken as illustrative and not in a limiting sense.

Claims

What is claimed is:
1. A system for automatically conferencing a caller to said system with one or more members of a group via a telephone-based network comprising: first means for interfacing with said network to receive inbound calls and dial outbound calls; second means for associating an inbound first call received by said first means with said group and for enabling said caller of said first call to record a message to greet the members of the group; third means for enabling said first means to dial outbound second calls over said network to contact one or more members of said group at telephone numbers associated with said members, and for enabling a caller on said second call to receive at least the recorded message and to select inclusion in a conference call when any of said second calls connect to the telephone numbers associated with said members; and fourth means for connecting in a conference bridge at least two of said first call and each of said second calls in which the caller selected to be included in a conference bridge.
2. The system according to Claim 1 further comprising: fifth means for managing a conference session of at least two of said first and second calls in which said fifth means, responsive to said second and third means being connected with said first and second callers, respectively, directs said second and third means to connect in a conference bridge provided by said fourth means.
3. The system according to Claim 2 wherein said second means sends a request to conference to said fifth means when connected with said first call, said third means sends requests to conference to said fifth means when connected to each of said second call in which the caller selected inclusion in the conference call, and said fifth means, responsive to receiving a request from said second and third means, sends an instruction for entering a conference bridge to each of said second and third means which sent the request, and said second and third means receive the instruction and operate in accordance with the instruction to enter the conference bridge provided by said fourth means.
4. The system according to Claim 2 further comprising at least one computer which provides said second, third, and fifth means in which said first means comprises a telephony interface in said compu .er and a plurality of telephone lines coupling said computer to said network, and said fourth means comprises means for conference bridging two of more telephone lines provided by said first circuit board in accordance with said second, third, and fifth means.
5. The system according to Claim 2 wherein said computer further comprises memory storing account information for multiple ones of said groups in which each one of said groups has at least a list of the telephone numbers to contact the members of each group.
6. The system according to Claim 5 wherein said list for each said group identifies different subsets of the member of the group as being in different successive calling rounds, and said third means is directed by said fifth means to dial each one of said members of said group for a first of said subset of members and then selectively dials each of the members for each said subset of members associated with successive calling rounds when one of said first of said subsets of members does not return any said second calls with a connected caller selecting inclusion in the conference call, or by one of callers of said first and second calls interactively prompts the call processor to call additional rounds.
7. The system according to Claim 1 wherein said fourth means connects two or more of the second calls of said members having selected to be included in a conference bridge when said first caller has disconnected from the first computer.
8. The system according to Claim 1 further comprising means for one said first callers and second callers which selected to be included in the conference call to add additional members to said group to be called by said third means.
9. The system according to Claim 1 further comprising means for generating a database to track said first call and each of said second calls.
10. The system according to Claim 9 wherein said database stores time infomiation related to the duration of at least said second calls.
1 1. The system according to Claim 5 further comprising: a plurality of said computers in which each of said computer has the same account information and is independently coupled to said network; a database server; a LAN coupling each of said plurality of computer to said database server; and said database server having memory storing account infomiation for said system and downloads when said account information is updated said updated account infomiation to each of said plurality of computers.
12. The system according to Claim 1 1 wherein said database server comprises means for enabling registration of subscribers with said system in which each subscriber provides account information including an account number.
13. The system according to Claim 12 wherein said caller of said inbound call enters the account number associated with one of said groups.
14. The system according to Claim 1 wherein said system is associated with one of more telephone numbers on said network to connect inbound calls to said system.
15. The system according to Claim 1 further comprising means for enabling the callers of inbound and outbound callers to interact with said system.
16. The system according to Claim 15 wherein said means for enabling the callers of inbound and outbound callers to interact with said system further comprises means for decoding DTMF signals received from callers' telephones.
17. The system according to Claim 1 wherein said third means further comprises means for decoding DTMF signals received and enabling said caller of said second call to send at least one DTMF signal to said system to indicate their selection to be included in the conference call.
1 8. A method for automatically conferencing a caller with one or more members of a predefined group via a telephone-based network comprising the steps of: receiving over said network an inbound first call from a caller; recording a message from said caller of said first call to greet members of said group; 5 dialing outbound second calls over said network to contact one or more members of said group at telephone numbers associated with said members; enabling a caller on said second call to select inclusion in a conference call and receive at least the recorded message when any of said second calls answers at the telephone numbers associated with said members; and i o connecting in a conference bridge at least two of said first call and said second calls in which the caller selected to be included in the conference.
19. The method according to Claim 18 further comprising the step of managing a conference session of at least two of said first and second calls.
15
20. The method according to Claim 1 8 further comprising the step of associating said first call with one of a plurality of predefined groups.
21. A caller processor for automatically conferencing a caller to said call processor 0 with one of a plurality of groups of contacts stored in memory of the call processor via a telephone-based network comprising: an interface with said network to receive inbound calls and dial outbound calls over one or more telephone lines; a computer for enabling a caller of an inbound first call received by said interface to 5 select one of said plurality of groups stored in said memory, enabling said caller of said first call to record a message to greet the members of the selected group, dialing outbound second calls over said network through said interface to contact one or more members of said selected group at telephone numbers associated with said members, and enabling a caller on said second call to receive at least the recorded message when any of said second calls connect to the 0 telephone numbers associated with said members of the selected group; and means for connecting at least two of said first call and said second calls in a conference bridge.
22. A call processor having a computer telephony interface for receiving and 5 making telephone calls through a plurality of lines with said telephone network, and for conferencing calls on two or more of said lines, said call processor comprising: an inbound means, session managing means, and a plurality of outbound means; said inbound means enabling an inbound caller to connect with said call processor through said telephone network and to activate said session managing means; said session managing means directs each of said outbound means to call outbound callers of a predefined group; each of said outbound means calls said outbound callers through said telephone network and sends requests to conference to said session managing means when each of said outbound callers have connected; said inbound means sends a request to conference to said session managing means; said session managing means sends conferencing instructions to said inbound means and each of said outbound means which sent requests to conference; and said inbound means and each of said outbound means connecting their respective said inbound and outbound callers in a conference in accordance with said conferencing instructions received from said session managing means.
PCT/US2000/034902 1999-12-22 2000-12-21 System for automatically conferencing a caller to one or more members of a group WO2001047224A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU29112/01A AU2911201A (en) 1999-12-22 2000-12-21 System for automatically conferencing a caller to one or more members of a group

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47011999A 1999-12-22 1999-12-22
US09/470,119 1999-12-22

Publications (2)

Publication Number Publication Date
WO2001047224A1 true WO2001047224A1 (en) 2001-06-28
WO2001047224A9 WO2001047224A9 (en) 2002-05-23

Family

ID=23866352

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/034902 WO2001047224A1 (en) 1999-12-22 2000-12-21 System for automatically conferencing a caller to one or more members of a group

Country Status (2)

Country Link
AU (1) AU2911201A (en)
WO (1) WO2001047224A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2415317A (en) * 2004-06-15 2005-12-21 Orange Personal Comm Serv Ltd Provision of group services in a telecommunications network
EP2046009A1 (en) * 2007-10-05 2009-04-08 British Telecmmunications public limited campany Audio conferencing announcements
EP1737205A3 (en) * 2005-06-21 2009-04-22 Broadcom Corporation Centralised conference initiation
EP1936936A3 (en) * 2006-12-22 2009-12-23 Nortel Networks Limited Personalized conference bridge
US7757051B2 (en) 2004-05-20 2010-07-13 Broadcom Corporation Dynamic memory reconfiguration for signal processing
US8451755B2 (en) 2008-02-15 2013-05-28 British Telecommunications Public Limited Company Access control to telecommunications conference hosting resources

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108776628B (en) * 2018-05-29 2021-10-15 郑州云海信息技术有限公司 Method, device and medium for avoiding crash during CTDB data recovery

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5631904A (en) * 1994-11-21 1997-05-20 Lucent Technologies Inc. Method for automatically establishing a conference call
US5995608A (en) * 1997-03-28 1999-11-30 Confertech Systems Inc. Method and apparatus for on-demand teleconferencing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5631904A (en) * 1994-11-21 1997-05-20 Lucent Technologies Inc. Method for automatically establishing a conference call
US5995608A (en) * 1997-03-28 1999-11-30 Confertech Systems Inc. Method and apparatus for on-demand teleconferencing

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7757051B2 (en) 2004-05-20 2010-07-13 Broadcom Corporation Dynamic memory reconfiguration for signal processing
GB2415317A (en) * 2004-06-15 2005-12-21 Orange Personal Comm Serv Ltd Provision of group services in a telecommunications network
GB2415317B (en) * 2004-06-15 2007-08-15 Orange Personal Comm Serv Ltd Provision of group services in a telecommunications network
US7706817B2 (en) 2004-06-15 2010-04-27 Orange Personal Communication Services Limited Provision of group services in a telecommunications network
EP1737205A3 (en) * 2005-06-21 2009-04-22 Broadcom Corporation Centralised conference initiation
EP1936936A3 (en) * 2006-12-22 2009-12-23 Nortel Networks Limited Personalized conference bridge
US8164615B2 (en) 2006-12-22 2012-04-24 Rockstar Bidco, LP Personalized conference bridge
US8995636B2 (en) 2006-12-22 2015-03-31 RPX Clearinghouse LLP Personalized conference bridge
EP2046009A1 (en) * 2007-10-05 2009-04-08 British Telecmmunications public limited campany Audio conferencing announcements
US8451755B2 (en) 2008-02-15 2013-05-28 British Telecommunications Public Limited Company Access control to telecommunications conference hosting resources

Also Published As

Publication number Publication date
WO2001047224A9 (en) 2002-05-23
AU2911201A (en) 2001-07-03

Similar Documents

Publication Publication Date Title
US6473612B1 (en) Method for providing directory assistance services via an alphanumeric page
EP0588646B1 (en) Automatic telephone system
US6041114A (en) Telecommute server
US6993355B1 (en) Methods and apparatus for connecting family members
US6456709B1 (en) Method and apparatus for monitoring telephonic members and providing directory assistance
US5416830A (en) Integrated voice meassaging/voice response system
US6295346B1 (en) Automated emergency notification system
US7532710B2 (en) Systems and methods for providing voicemail services
US20010043697A1 (en) Monitoring of and remote access to call center activity
US7916842B2 (en) Systems and methods for providing voicemail services including caller identification
US6594357B1 (en) System and method of registering the identity of a telephone terminal in association with the identity of a computer terminal
JPH07264302A (en) Selective screening of incoming call for cellular telephone system
JP3510492B2 (en) A system for coordinating calls between ancillary equipment and the switching system
US8693672B2 (en) Technique for effectively assisting a user during an information assistance call
US7110520B1 (en) Method and system for directory assistance services
JP2003517226A (en) Methods and systems that use caller preferences to direct special call handling
US20110188493A1 (en) Technique for communication commands and parameters in an information assistance sysem to provide services
WO2001047224A1 (en) System for automatically conferencing a caller to one or more members of a group
US5854837A (en) Method and system for providing interactive data exchange between an interactive platform and a caller
US20040202305A1 (en) Supervised call redirection
US7248676B2 (en) Apparatus and method for personalized call acknowledgement
US7203299B1 (en) Methods and apparatus for using AIN techniques to forward answered calls to one of a plurality of voice mailboxes
US20070263792A1 (en) Adding an identified caller's other devices to a voice mail system
WO2001097494A2 (en) Telecommunications processing apparatus and method
JP2005191924A (en) Voice mail system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

COP Corrected version of pamphlet

Free format text: PAGES 1/7-7/7, DRAWINGS, REPLACED BY NEW PAGES 1/7-7/7; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP