This disclosure relates generally to telephony and teleconferencing.
Telephony and conferencing systems in which participants communicate in a conference session or meeting over existing voice and data networks, have been in been in existence for many years. Modern conferencing and telephony systems typically include advanced features that enhance user capabilities. For instance, “call waiting” is a well-known feature of telephony systems that notifies a caller when another call is coming in during an active call. “Call parking” is a configurable feature of certain telephony systems that allows the user to deposit a stable call at a specified directory number, then go to another phone and dial the park number to retrieve the call. Similarly, some telephony systems enable a technique known as “camping on” a call, wherein an incoming call is stored on hold until an attendant, trunk, trunk group, or station is available to accept it, at which time the call is completed. Basically, when the current call ends, the system connects the user with the phone whose call was being camped-on.
One important drawback of the existing camp-on approach is that it only applies to calls that are currently in progress. That is, there is presently no way for a person to set up a camp-on for a call that will take place sometime in the future. But situations do arise in which a person wants to speak directly with another person at a future time; for instance, immediately after the other person finishes a scheduled conference call. For example, an employee of a company may need to discuss an urgent matter with his manager. The manager, however, may have a very full schedule that includes numerous conference calls, allowing him little if any available time. Often times, the manager suggests that the employee try to reach him after his participation in a certain teleconference call ends. A manager, for instance, may tell the employee that he has a scheduled one-hour conference call that starts at 11:00 a.m. tomorrow, but expects to get away early, and recommends that the employee catch up with him after the meeting ends. This means that the employee must wait until the scheduled teleconference starts and then frequently walk past or call his manager's office to see if he is still on the phone. Obviously, this approach is inconvenient and results in considerable wasted employee work time for the enterprise.
The present invention will be understood more fully from the detailed description that follows and from the accompanying drawings, which however, should not be taken to limit the invention to the specific embodiments shown, but are for explanation and understanding only.
In the following description specific details are set forth, such as device types, system configurations, device types, communication methods, etc., in order to provide a thorough understanding of the present invention. However, persons having ordinary skill in the relevant arts will appreciate that these specific details may not be needed to practice the present invention.
According to one embodiment of the present invention, a conferencing/telephony system is provided that allows a user to set up a camp-on for a future scheduled conference call (i.e., one that is not currently in progress) via a scheduling server, and also to identify a selected person's port (i.e., the “campee”) in a conference or telephony call in order to camp-on to that port. In a specific implementation, the scheduling server or system graphically displays a list of participants invited to a scheduled conference and the user selects one participant from that list on whose conference port he wants to set the camp-on. If the selected person is missing from the list of participants then the user may optionally type in the email address or phone number of that person. Thereafter, the user selects an action that he would like the system to take when the camped-on conference port becomes free. For example, the selected action may be to initiate an outbound call from the user to the selected person's office phone when the conference port becomes free. As a result, time wasted in the enterprise due to employees having to manually check if a campee is done with a teleconference in order to get hold of them is drastically reduced.
Conference server 12 comprises a conferencing or meeting scheduling system application that includes software (or firmware) plug-ins, modules, or enhancements that implement the various features and functions described herein. In a specific implementation, for example, conferencing server 12 may run a modified or enhanced IP communication system software product such as Cisco's MeetingPlace™ conferencing application that allows users to schedule and attend meeting conferences. Cisco MeetingPlace is typically deployed on a corporate network behind the firewall, and facilitates scheduling of business conferences from a touch-tone or voice over IP (VoIP) telephone, or a computer, using various software clients, such as Microsoft® Outlook, or a web browser. Other enhanced or modified scheduling systems, such as Yahoo® Calendar, may also be used.
In the embodiment shown, conference server 12 includes a digital signal processor (DSP) or firmware/software-based system that mixes and/or switches audio/video signals received at its input ports under the control of conferencing server 12. The audio signals received at the conference server ports originate from each of the conference or meeting participants (e.g., individual conference participants using endpoint devices 14-16), and possibly from an interactive voice response (IVR) system (not shown). Conference server 12 may also incorporate or be associated with a natural language automatic speech recognition (ASR) module for interpreting and parsing speech of the participants, and standard speech-to-text (STT) and text-to-speech (TTS) converter modules.
Practitioners in the art will appreciate that the actual media paths are established by conferencing server 12. In other words, conferencing server 12 handles all of the control plane functions of the conference session, and is responsible for engaging the necessary media components/resources to satisfy the media requirements of each of the endpoints (i.e., endpoints 14-16) participating in a conference session. In operation, each of the endpoint devices shown in
With continued reference to the embodiment of
Generally speaking, each of endpoint devices 14-16 represents an end user, client, or person who wishes to initiate or participate in a conference session and via conferencing server 12, as facilitated by IP PBX system 13. Various endpoint devices that may be used to initiate or participate in a conference session include a personal digital assistant (PDA), a laptop or notebook computer, a desktop personal computer (PC) with softphone capabilities, an IP telephone device, or any other device, component, element, or object capable of initiating or participating in voice, video, or data exchanges with conferencing server 12.
Upon selecting the camp-on option, the system (i.e., conference server 12 and/or IP PBX 13) displays a list of participants that have been invited to attend the meeting or conference (block 22). The user may then select one participant from that list on whose conference port he wants to set the camp-on, i.e., the campee. If the person on whom the user wants to set the camp-on is missing from the list of participants, in one embodiment the user may optionally type in the email address or phone number of that person.
Note that in this example the camp-on request may be transmitted to IP PBX 13, which handles the request by communicating with server 12 to first identify which conference port William Jones is assigned to, and then to monitor that port in order to determine when that port becomes free (i.e., William Jones goes “off-hook” and leaves the conference session). When the camped-on conference port becomes free, IP PBX 13 responds by executing the designated action, i.e., as selected by the user (block 26). For instance in the example of
Whenever someone dials into the scheduled conference session for which the camp-on has been set, the conferencing system or server attempts to match the telephone number of the incoming call to one of the stored telephone numbers registered to the person on whose port the camp-on has been requested (block 53). In the event of a match, the system notifies to the caller that a camp-on has been requested for his meeting port (block 54). If no match is found, the system simply waits for the next call, and repeats the matching process (block 59).
It is appreciated that the camp-on notification may take a number of different forms. For example, the conferencing system may send a “whisper” voice message to the participant when that person calls into the conference session. In other embodiments the notification may take the form of an instant message or email sent to the campee. The notification may also inform the participant of the name of the person who has requested the camp-on. After being notified of the camp-on request, the conferencing system may ask the campee whether he wants to permit or allow the camp-on, say, by pressing a certain DTMF keypad or sequence, or by otherwise providing an affirmative verbal response.
By way of further example, assume that a user by the name of Richard Morris has set up a camp-on request on William Jones' meeting port. When William calls into the conference, the conferencing system may notify him of the camp-on request by whispering, “Richard Morris has requested a camp-on to your meeting port. Please press ‘1’ if you accept this camp-on request or press ‘2’ to reject it”. Practitioners will appreciate that this method of operation addresses situations wherein someone other than a registered user of a particular a phone number is actually using that phone to call into the conference session. For instance, if (for whatever reason) William Jones' co-worker, Holly, is using William's office phone to call into the conference session, she can deny the camp-on request. In the case where a caller declines a camp-on request, the conferencing system may send an alert (e.g., via email, IM, voice message, etc.) to the user who set up the camp-on request specifying that his camp-on request has been denied or rejected (block 56).
In the event that the camp-on request is approved (i.e., allowed) by the campee, the system sets the camp-on to monitor the participant's conference port (block 57), and then executes the user-specified action once the participant caller's conference or meeting port becomes free (block 58). In other words, when the camped-on port becomes free, the system executes the action requested by the user who set up the camp-on. In the above example, if Richard had asked the system to send an email alert when William's conference port becomes free, then the system responds accordingly. As another example, if Richard had requested that the system call William's cellphone from a telephone specified by Richard, then when William's conference port becomes free the system will utilize existing third party call control techniques to initiate a call from Richard's specified telephone number to William's cellphone.
In another embodiment, when the camped-on port becomes free, the system may first call the person whose port was camped-on to confirm that he is indeed available, so that the system can take the action requested by the user who had set the camp-on. For example, when William leaves the conference session, the system may calls him with an IVR menu prompt says, “Your call had been camped-on by Richard. Press 1 if you would like to be connected to Richard right now, press 2 if you got disconnected accidentally and are going back to the conference call, or press 3 if you want to deny the camp-on action requested by Joe.” Note that this embodiment gives the campee a second chance at refusing or denying the camp-on action, and also accommodates situations where a participant's conference call was accidentally dropped. In this latter case, the system will not carry on Joe's requested camp-on action (such as connecting Richard's and William's telephones) but would rather camp-on William's port again when he re-dials back into the conference session.
In accordance with yet another embodiment, the scheduling system allows the user to specify an action to take in the event that the system is unable to camp-on to the conference port of the specified participant for a scheduled meeting. This embodiment, for example, is useful in situations when a conference invitee/participant for whom a camp-on request has been set fails to call into the conference session, or where for some reason he calls into the conference session from a phone that is not registered in his name (hence the system is unable to identify that person's conference port). In this embodiment, the user may optionally select a notification method and time when the system should notify him about the failure to camp-on to the specified person's meeting port. For example, Richard may specify that the system send him an email message 15 minutes into the meeting if the system has been unable to camp-on to William's conference port at that time.
In still another embodiment, the user may specify his preferred notification method for receiving camp-on denial alerts. In yet another embodiment, the system treats denial as failure to camp-on and sends the denial alert using the same notification method specified by the user for sending a failure to camp-on alert.
According to the embodiment of
On the other hand, if at 1:00 p.m. on Friday the telephony system detects that user “B's” telephone device is free, the telephony system will invoke an outbound call from user “A” to connect with user “B” (block 64). If user “B” answers the call, the telephony system is done. However, if user “B” does not answer the call then the camp-on is continued on user “B's” telephone device until a future off-hook to on-hook transition (block 66). In other words, if user “B” is away from his desk or is unable to answer his phone at 1:00 p.m. on Friday, the telephony system will monitor user “B's” phone for a future time when user “B” hangs up on a call. At that point, the telephony system will again initiate or invoke an outbound call from user “A” to user “B”. Practitioners in the art will appreciate that the step of invoking an outbound call to reach user “B” may be repeated multiple times, as predetermined by the telephony system or by certain preference settings of user “A”.
It should be understood that elements of the present invention may also be provided as a computer program product which may include a machine-readable medium having stored thereon instructions which may be used to program a computer (e.g., a processor or other electronic device) to perform a sequence of operations. Alternatively, the operations may be performed by a combination of hardware and software. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, or other type of machine-readable medium suitable for storing electronic instructions.
Additionally, although the present invention has been described in conjunction with specific embodiments, numerous modifications and alterations are well within the scope of the present invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Number | Name | Date | Kind |
---|---|---|---|
5483587 | Hogan et al. | Jan 1996 | A |
5600366 | Schulman | Feb 1997 | A |
5673253 | Shaffer | Sep 1997 | A |
5729687 | Rothrock et al. | Mar 1998 | A |
5917830 | Chen et al. | Jun 1999 | A |
5963217 | Grayson et al. | Oct 1999 | A |
6044081 | Bell et al. | Mar 2000 | A |
6137834 | Wine et al. | Oct 2000 | A |
6141324 | Abbott et al. | Oct 2000 | A |
6160881 | Beyda et al. | Dec 2000 | A |
6236854 | Bradshaw | May 2001 | B1 |
6269107 | Jong | Jul 2001 | B1 |
6332153 | Cohen | Dec 2001 | B1 |
6501739 | Cohen | Dec 2002 | B1 |
6505169 | Bhgavath et al. | Jan 2003 | B1 |
6567505 | Omori et al. | May 2003 | B1 |
6570926 | Agrawal et al. | May 2003 | B1 |
6608820 | Bradshaw | Aug 2003 | B1 |
6624841 | Buchner | Sep 2003 | B1 |
6643298 | Brunheroto et al. | Nov 2003 | B1 |
6643496 | Shimoyama et al. | Nov 2003 | B1 |
6650652 | Valencia | Nov 2003 | B1 |
6671262 | Kung et al. | Dec 2003 | B1 |
6675216 | Quatrano et al. | Jan 2004 | B1 |
6718553 | Kenworthy | Apr 2004 | B2 |
6735572 | Landesmann | May 2004 | B2 |
6744785 | Robinett et al. | Jun 2004 | B2 |
6771644 | Brassil et al. | Aug 2004 | B1 |
6771657 | Elstermann | Aug 2004 | B1 |
6775247 | Shaffer et al. | Aug 2004 | B1 |
6816469 | Kung et al. | Nov 2004 | B1 |
6865540 | Faber et al. | Mar 2005 | B1 |
6876734 | Summers et al. | Apr 2005 | B1 |
6925068 | Stanwood et al. | Aug 2005 | B1 |
6931001 | Deng | Aug 2005 | B2 |
6931113 | Ortel | Aug 2005 | B2 |
6937569 | Sarkar et al. | Aug 2005 | B1 |
6947417 | Laursen et al. | Sep 2005 | B2 |
6956600 | Gaylord | Oct 2005 | B1 |
6956828 | Simard et al. | Oct 2005 | B2 |
6959075 | Cutaia et al. | Oct 2005 | B2 |
6976055 | Shaffer et al. | Dec 2005 | B1 |
6989856 | Firestone et al. | Jan 2006 | B2 |
7003086 | Shaffer et al. | Feb 2006 | B1 |
7007098 | Smyth et al. | Feb 2006 | B1 |
7031348 | Gazit | Apr 2006 | B1 |
7084898 | Firestone et al. | Aug 2006 | B1 |
7127487 | Wang et al. | Oct 2006 | B1 |
7209763 | Martin et al. | Apr 2007 | B2 |
7379653 | Yap et al. | May 2008 | B2 |
7660849 | Shaffer et al. | Feb 2010 | B1 |
7742586 | Trandal et al. | Jun 2010 | B1 |
20010000540 | Cooper et al. | Apr 2001 | A1 |
20020004841 | Sawatari | Jan 2002 | A1 |
20020006165 | Kato | Jan 2002 | A1 |
20020052214 | Maggenti et al. | May 2002 | A1 |
20020087976 | Kaplan et al. | Jul 2002 | A1 |
20020163918 | Cline | Nov 2002 | A1 |
20030016632 | Refai et al. | Jan 2003 | A1 |
20030025786 | Norsworthy | Feb 2003 | A1 |
20030076850 | Jason, Jr. | Apr 2003 | A1 |
20030198195 | Li | Oct 2003 | A1 |
20040054714 | Wuerfel et al. | Mar 2004 | A1 |
20040057449 | Black | Mar 2004 | A1 |
20040165527 | Gu et al. | Aug 2004 | A1 |
20040165710 | DelHoyo et al. | Aug 2004 | A1 |
20040199659 | Ishikawa et al. | Oct 2004 | A1 |
20040213152 | Matuoka et al. | Oct 2004 | A1 |
20040250201 | Caspi | Dec 2004 | A1 |
20040255328 | Baldwin et al. | Dec 2004 | A1 |
20050069102 | Chang | Mar 2005 | A1 |
20050078171 | Firestone et al. | Apr 2005 | A1 |
20050081244 | Barett et al. | Apr 2005 | A1 |
20050123114 | Trandal et al. | Jun 2005 | A1 |
20050138372 | Kajihara et al. | Jun 2005 | A1 |
20050259803 | Khartabil | Nov 2005 | A1 |
20060020995 | Opie et al. | Jan 2006 | A1 |
20060067250 | Boyer et al. | Mar 2006 | A1 |
20060072672 | Holcomb et al. | Apr 2006 | A1 |
20060090166 | Dhara et al. | Apr 2006 | A1 |
20060104458 | Kenoyer | May 2006 | A1 |
20060146734 | Wenger et al. | Jul 2006 | A1 |
20060189337 | Farrill et al. | Aug 2006 | A1 |
20060259755 | Kenoyer | Nov 2006 | A1 |
20070110029 | Gilmore, II et al. | May 2007 | A1 |
20070123284 | Schliwa-Bertling et al. | May 2007 | A1 |
20070133435 | Eneroth et al. | Jun 2007 | A1 |
20070280464 | Hughes et al. | Dec 2007 | A1 |
20080043140 | Herpel et al. | Feb 2008 | A1 |
Number | Date | Country |
---|---|---|
1 553 735 | Jul 2005 | EP |
WO2005101857 | Oct 2005 | WO |
Number | Date | Country | |
---|---|---|---|
20080063174 A1 | Mar 2008 | US |