US20020076025A1 - Method and system for automatic handling of invitations to join communications sessions in a virtual team environment - Google Patents
Method and system for automatic handling of invitations to join communications sessions in a virtual team environment Download PDFInfo
- Publication number
- US20020076025A1 US20020076025A1 US09/737,958 US73795800A US2002076025A1 US 20020076025 A1 US20020076025 A1 US 20020076025A1 US 73795800 A US73795800 A US 73795800A US 2002076025 A1 US2002076025 A1 US 2002076025A1
- Authority
- US
- United States
- Prior art keywords
- communications
- session
- vte
- team
- team member
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
- 238000004891 communication Methods 0.000 title claims abstract description 625
- 238000000034 method Methods 0.000 title claims description 67
- 230000004044 response Effects 0.000 claims abstract description 28
- 230000011664 signaling Effects 0.000 claims description 28
- 230000009471 action Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 9
- 230000007423 decrease Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 4
- 230000005236 sound signal Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 58
- 101100532584 Clostridium perfringens (strain 13 / Type A) sspC1 gene Proteins 0.000 description 26
- 101100095550 Homo sapiens SENP7 gene Proteins 0.000 description 26
- 101150098865 SSP2 gene Proteins 0.000 description 26
- 102100031406 Sentrin-specific protease 7 Human genes 0.000 description 26
- 102100023645 Sentrin-specific protease 3 Human genes 0.000 description 21
- 108010092928 Stomoxys serine protease 3 Proteins 0.000 description 21
- 230000003993 interaction Effects 0.000 description 21
- 108091006146 Channels Proteins 0.000 description 19
- 101100256651 Homo sapiens SENP6 gene Proteins 0.000 description 13
- 101150038317 SSP1 gene Proteins 0.000 description 13
- 101100125020 Schizosaccharomyces pombe (strain 972 / ATCC 24843) pss1 gene Proteins 0.000 description 13
- 101100018019 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ssc1 gene Proteins 0.000 description 13
- 102100023713 Sentrin-specific protease 6 Human genes 0.000 description 13
- 230000000977 initiatory effect Effects 0.000 description 13
- 239000000284 extract Substances 0.000 description 10
- 238000012546 transfer Methods 0.000 description 10
- 101100422390 Streptococcus gordonii sspB gene Proteins 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 101100410359 Drosophila melanogaster Patronin gene Proteins 0.000 description 6
- 230000000644 propagated effect Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000003466 anti-cipated effect Effects 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001404 mediated effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002860 competitive effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000004090 dissolution Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000002195 synergetic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1818—Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/56—Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
- H04M3/567—Multimedia conference systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/0024—Services and arrangements where telephone services are combined with data services
- H04M7/0027—Collaboration services where a computer is used for data transfer and the telephone is used for telephonic communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2044—Group features, e.g. closed user group
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/50—Aspects of automatic or semi-automatic exchanges related to audio conference
- H04M2203/5018—Initiating a conference during a two-party conversation, i.e. three-party service or three-way call
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/50—Aspects of automatic or semi-automatic exchanges related to audio conference
- H04M2203/5063—Centrally initiated conference, i.e. conference server dials participants
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2207/00—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
- H04M2207/35—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42025—Calling or Called party identification service
- H04M3/42085—Called party identification service
- H04M3/42093—Notifying the calling party of information on the called or connected party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42365—Presence services providing information on the willingness to communicate or the ability to communicate in terms of media capability or network connectivity
Definitions
- the invention relates in general to work environments and, in particular, to a virtual team environment that facilitates collaboration among geographically-dispersed team members using a distributed application that provides the virtual team environment.
- Modern telecommunications services facilitate collaboration among co-workers.
- Services such as the Public Switched Telephone Network (PSTN), the Internet, and related services such as facsimile, electronic mail, instant messaging, one-way and two-way paging services all contribute to enable and facilitate collaboration.
- PSTN Public Switched Telephone Network
- Internet the Internet
- facsimile electronic mail
- instant messaging instant messaging
- one-way and two-way paging services all contribute to enable and facilitate collaboration.
- Such services are not optimized to facilitate collaboration between team members.
- Electronic mail provides a convenient and inexpensive mode of communication. Electronic mail tends, however, to be a relatively slow method of communication.
- instant messaging has become increasingly accepted and services such as Yahoo® Messenger are experiencing explosive growth with millions of subscribers.
- Instant messaging services provide a means of exchanging messages between two or more participants in a messaging session in near real time.
- Yahoo® Messenger a user can define a group of “friends” by selecting other registered users who accept being listed among the user's group of friends. After the group of friends is established, the user who established the group receives dynamic status information respecting the presence of the group of friends at their computer workstation. Consequently, the instant messaging user has a prior knowledge of whether other members in the group of friends are logged on to the Yahoo® Messenger and, if so, whether they have used their workstation within the past few minutes.
- Yahoo® Messenger also permits Net2Phone® conversations to be initiated between a user and another party using a graphical user interface that provides a dial pad and an address book to initiate calls that are set up as a first leg through the Internet and a second leg through the PSTN, in accordance with a service provided by Net2Phone®.
- a graphical user interface that provides a dial pad and an address book to initiate calls that are set up as a first leg through the Internet and a second leg through the PSTN, in accordance with a service provided by Net2Phone®.
- no availability information is provided respecting the called party or the disposition of their telephone. Therefore, it is impossible for a Yahoo® Messenger subscriber to know the status of a “friend's” telephone before a call is placed.
- each user of the Yahoo® Messenger service must define their own group of friends. There is no central facility for defining a group or a team, and there is no method of controlling congruence between two groups defined by individual users. Consequently, although Yahoo® Messenger facilitates message exchange
- IP Internet Protocol
- Other applications also exist to facilitate collaboration among geographically-dispersed parties.
- Microsoft Corporation provides NetMeeting® which is adapted to enable collaboration between two or more people using text chat, streaming video, and/or voice over Internet Protocol (VoIP) conversation.
- NetMeeting® also supports document and application sharing, as well as an exchange of cursor control. While NetMeeting® is a powerful collaboration tool, it only functions well in two-way communications sessions, and fails to provide functionality for defining or tracking of a team.
- knowledge of respective Internet Protocol (IP) addresses of each participant is required in order to establish a direct inter-party session. Two-party and multi-partly sessions can be established using a Microsoft NetMeeting® server without knowledge of respective IP addresses, however, session efficiency and performance are compromised.
- IP Internet Protocol
- Teamcast.com provides a collaboration tool that permits the definition of a team and enables project and event tracking.
- the Teamcast.com tool also enables communications by electronic mail and instant messaging.
- the collaborative tool fails, however, to instantiate a virtual team environment that provides knowledge of the availability of other team members to facilitate communications attempts. It also fails to facilitate voice or multimedia communications among team members.
- the invention therefore provides a method of inviting a person to join a communications session initiated using a collaboration services suite accessed from a team member interface of a virtual team environment.
- the method comprises a first step of responding to an action performed by a team member to initiate the invitation from the team member interface by sending an invitation request message from the team member interface to the collaboration services suite.
- the invitation request message is analyzed at the collaboration services suite, and the invitation is sent from the collaboration services suite to the person, using a preferred, available communications medium selected by the collaboration services suite using dynamic presence and availability information maintained by the collaboration services suite.
- a team member initiates an invitation by selecting a communications icon associated with a personal identifier of the person displayed on the team member interface.
- the selection causes the team member interface to open a communications invitation window.
- the selection may be the selection of an invitation option from an in-progress communications window.
- the selection may also be a selection of an entry associated with the person from a directory, and a subsequent selection of a communications option associated with the directory.
- the invitation request message includes an identification of the team member, an identification of the person, and an identification of a communications session type.
- the identification of the communications session type is one of an identifier of a type of communication, and a communications session identifier that is associated with a communications session that is in progress.
- the invitation request message further includes at least one of a list of participants and invitees, and any meeting notes input prior to a sending of the invitation.
- the invitation request message further includes at least one of a topic related to the communications session, and a text message that describes a purpose of the communications session.
- the communications type may be any one of an instant text messaging session, a voice call session and a multimedia session.
- the collaboration services suite analyzes the invitation request message to determine the type of communications session being requested, and determine whether the person to be invited is a team member. If the person to be invited is a team member, the collaboration services suite examines a current profile associated with the team member to determine a preferred communications medium and uses the dynamic presence and availability information in order to determine if the preferred communications medium is available for receiving the invitation. If the preferred communications medium for sending the invitation is an invitation message sent to the team member interface, the invitation message opens a communications session invitation window on the team member interface.
- the communications session invitation window displays a list of participants in the communications session.
- the communications session invitation window displays a list of invitees to the communications session.
- the communications invitation window may also display a topic of discussion related to the communications session.
- the communications invitation also displays meeting notes entered by the participants in the communications session, if any meeting notes have been entered by the time the invitation is sent.
- the preferred medium for sending the invitation is a text device.
- the text device displays a communications session type in an invitation window and a personal identifier associated with a team member that sent the invitation.
- the preferred device for sending the invitation is a voice communications device.
- an interactive voice response unit plays an announcement to the person, to invite the person to join the communications session when the person answers the voice communications device.
- the IVR may comprise a part of a functionality of a conference bridge.
- the IVR also plays a list of the persons attending the communications session and a topic of discussion.
- the invitation window displayed on the team member interface preferably displays options to join the communications session, decline the communications session invitation, or indicate a desire to join the communications session at a later time.
- the invitation window permits a reply message to be returned with any one of the options selected for a response. If the person elects to join the communications session, a message is sent by the team member interface to the collaboration services suite, and the collaboration services suite automatically joins the person to the communications session. The collaboration services suite further advises each team member of the change in status of the person when the person is joined to the communications session. If the person sends a reply message, the reply message is displayed on the team member interface of all team members participating in the communications session.
- the invention further provides a system for inviting a person to join a communications session initiated using a team member interface of a virtual team environment.
- the system comprises a collaboration services suite for receiving a communications session invitation request message sent from the team member interface by the team member, analyzing the invitation request message, and sending the invitation to the person using a preferred, available communications medium associated with the person.
- the collaboration services suite preferably comprises at least one server connected to a data network to enable communications with the team member interfaces, and at least one virtual switching point in a switched telephone network for establishing and controlling voice communications sessions.
- the at least one server performs functions of managing connections with the team member interface; storing team member profiles; gathering dynamic presence and availability information and dynamically distributing the information to team member interfaces; and sending voice communications request messages to the virtual switching point.
- the invention therefore provides a user-friendly, invitation mechanism that enables users of the collaboration services suite to initiate communications by merely selecting a communications icon associated with a personal identifier of another team member with whom communications is desired.
- the collaboration services suite automatically selects an available communications medium for sending the invitation to the invitee.
- FIG. 1 is a block diagram schematically illustrating exemplary interactions between a collaboration services suite and members of a team in accordance with an embodiment of the present invention
- FIG. 2 is a block diagram schematically illustrating principle elements in a system for implementing the collaboration services suite of FIG. 1;
- FIG. 3 is a block diagram schematically illustrating exemplary relationships between communications devices encompassed by each VTE client and communications network elements involved in enabling the functionality of the collaboration services suite of FIG. 1, in accordance with a first embodiment of the invention
- FIG. 4 is a block diagram schematically illustrating exemplary relationships between communications devices encompassed by each VTE client and communications network elements involved in enabling the functionality of the collaboration services suite of FIG. 1, in accordance with a second embodiment of the invention
- FIG. 5 is a block diagram schematically illustrating exemplary functionality of the VTE server of FIG. 2 in accordance with an embodiment of the present invention
- FIG. 6 is a block diagram schematically illustrating principal functional elements of a VTE client application in accordance with an embodiment of the present invention
- FIG. 7 is a message flow diagram illustrating exemplary messages exchanged between the collaboration services suite and the VTE client application
- FIG. 8 is a message flow diagram illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during a team member log-in procedure;
- FIG. 9 is a message flow diagram illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during a team member log-out procedure
- FIG. 10 is a block diagram schematically illustrating exemplary frames of the virtual team space display instantiated by the VTE client application, in accordance with an embodiment of the present invention
- FIG. 11 is a block diagram schematically illustrating exemplary elements of the menu frame of the team space display of FIG. 10;
- FIG. 12 is a message flow diagram schematically illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during creation and/or editing of a personal profile;
- FIG. 13 is a message flow diagram schematically illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during team member selection of an active profile
- FIG. 14 is a message flow diagram schematically illustrating principle messages exchanged among three VTE clients and elements of the collaboration services suite during creation of a team;
- FIG. 15 is a schematic block diagram illustrating exemplary contents and functionality associated with the current availability frame of the team space display of FIG. 10;
- FIG. 16 is a block diagram schematically illustrating exemplary functionality of the VTE client application accessible using team member preference and presence information displayed in the team view of the team space display of FIG. 10;
- FIG. 17 is a message flow diagram illustrating exemplary functionality and message flows between the VTE client application and elements of the collaboration services suite in respect of detection and propagation of team member presence information to each of the members of a team;
- FIG. 18 is a block diagram schematically illustrating exemplary elements of the team bulletins frame of the team space display of FIG. 10;
- FIG. 19 is a block diagram schematically illustrating the active communications frame of the team space display of FIG. 10;
- FIG. 20 is a message flow diagram illustrating exemplary messages exchanged between VTE client applications and the VTE server during a public communications session
- FIG. 21 is a block diagram schematically illustrating exemplary functionality associated with an Instant Messaging Session Object instantiated by a VTE Client application in respect of an Instant Messaging communications session;
- FIG. 22 is a block diagram schematically illustrating exemplary functionality associated with a Voice Session Object instantiated by a VTE Client application in respect of a voice communications session;
- FIG. 23 is a block diagram schematically illustrating exemplary functionality associated with a Multimedia Session Object instantiated by a VTE Client application in respect of a multimedia communications session;
- FIG. 24 is a block diagram schematically illustrating exemplary functionality associated with an invitation object instantiated by a VTE client application for inviting a new participant to join an active communications session;
- FIG. 25 is a block diagram schematically illustrating exemplary functionality of a VTE client application associated with an invitation message received from another team member via the collaboration services suite;
- FIG. 26 is a message flow diagram illustrating the setup of a two-way voice communications session using the VTE Client application and the collaboration services suite in accordance with the invention
- FIG. 27 is a schematic diagram illustrating the closing of the two-way voice communications session setup shown in FIG. 26;
- FIGS. 28, 28 a and 28 b are message flow diagrams showing the voice communications session setup as shown in FIG. 26;
- FIGS. 29 and 29 a show the closing of the three-way voice communications session setup as shown in FIGS. 28 - 28 b;
- FIG. 30 is a message flow diagram showing the setup of a two-way voice communications session in an enterprise network
- FIG. 31 is a message flow diagram showing the addition of a third party to a two-way voice communications session setup in an enterprise network as shown in FIG. 30;
- FIGS. 32, 32 a and 32 b are message flow diagrams illustrating the conversion of a three-way instant messaging session to a three-way voice communications session using the VTE client application and the collaboration services suite in accordance with an embodiment of the invention
- FIG. 33 shows the setup of a two-way multi-media session
- FIG. 34 shows the additional of a third party to the multi-media session setup as shown in FIG. 33;
- FIG. 35 shows the addition of a third party to a multi-media session setup as shown in FIG. 33 when the third party defers acceptance
- FIGS. 36 and 36 a show the addition of a third party to a multi-medial session setup when the invited party is not logged into the collaboration services suite 2 as a virtual team environment client.
- the present invention provides a collaboration services suite 2 which is designed to instantiate a virtual team environment (VTE) 3 for integrating, in a synergistic manner, a plurality of traditional, emerging, and new communications-related capabilities to facilitate collaboration among geographically dispersed members of a team.
- VTE virtual team environment
- the word “team” means any group of interested parties that have a desire to collaborate for business, academic, political or social reasons.
- work teams it should be understood that the virtual team environment may be used for many other purposes.
- the methods and apparatus in accordance with the invention may be used by families, groups of friends, academic institutions, political organizations or any other closely or loosely associated group interested in seamless communications services.
- the methods and apparatus in accordance with the invention also have a plurality of business applications too large to exhaustively enumerate.
- the invention may be used for customer relationship management, institutional information exchange, distributed health care administration, hot-line and help-line services, etc.
- preference and presence information described below in some detail, may only be available to selected parties, and not to all parties as described in the detailed description of the preferred embodiments that follows.
- FIG. 1 is a block diagram schematically illustrating exemplary interactions between the collaboration services suite 2 and each of the members of a team.
- the team comprises four team members, each of whom is represented by a respective VTE client 4 .
- the collaboration services suite 2 includes a database 6 in which information concerning each team member is stored. This information includes a respective personal identifier 8 of each team member, a respective personal profile 10 relating to a role and/or environment of the team member, and communications information 12 indicative of the availability of the respective team member for participating in various types of communications.
- information concerning a team member's respective personal identifier 8 , and profile 10 , as well as communications preferences e.g.
- communications information 12 defining preferred communications devices and addresses
- communications information 12 are provided by each team member, and stored by the collaboration services suite 2 in the database 6 .
- Information concerning an availability of each team member to participate in various types of communications can be provided by the respective team member and/or detected automatically by the collaboration services suite 2 .
- the information concerning each team member is compiled within the collaboration services suite 2 and then supplied to each VTE client 4 , in the form of team member presence and preference information, in order to provide each team member with a consistent team view 14 that is representative of the status of each of the members of the team.
- Hank represented by VTE client (A) 4 a
- Hank has provided communications information 12 a identifying his office personal computer (PC) 16 (which includes two-way video conferencing capability) and his office telephone 18 as communications devices through which he prefers to receive communications.
- PC personal computer
- the collaboration services suite 2 has detected that Hank's PC 16 is currently in use, and his office telephone 18 is idle.
- Mary Ann represented by VTE client (B) 4 b
- She has also specified communications information 12 b defining a pair of communications devices (in this case her home PC 20 and wireline telephone 22 ) through which she prefers to receive communications.
- the collaboration services suite 2 has detected that Mary Ann's home PC 20 is idle, and that her wireline telephone 22 is currently in use.
- Rachel represented by VTE client (C) 4 c
- the collaboration services suite 2 has detected that Rachel's wireless PDA 24 is in use, her wireless telephone 26 is currently turned off (or is otherwise inaccessible), and that her 2-way pager 28 is currently idle.
- Jim represented by VTE client (D) 4 d ) has selected a profile indicating that he is unavailable. As part of this profile Jim has specified no communications devices through which he prefers to receive communications.
- the above-described communication preferences and status information, concerning each of the members of the team, is combined by the collaboration services suite 2 and distributed to each of the team members for display using a team view 14 providing a consistent view of the team.
- the team view 14 includes the personal identifier 8 of each of the other members of the team, along with respective preference and presence information 30 (in the illustrated embodiment represented by icons) indicative of the capability of each team member to participate in various types of communications.
- the preference and presence information of Hank (VTE client (A) 4 a ) is indicated by respective device icons 16 a and 18 a representative of the office PC 16 and wireline telephone 18 identified in Hank's “in the office” profile 10 a .
- the In-Use status of Hank's office PC 16 is indicated by a presence icon 32 partially superimposed over the office PC icon 16 a
- the Idle status of Hank's office telephone 18 is indicated by the lack of any other presence icon elements associated with the wireline telephone icon 18 a
- the status and availability information for Rachel comprises icons 24 a , 26 a , 28 a , respectively representative of each of the wireless PDA 24 , wireless telephone 26 and the 2-way pager device 28 that Rachel has identified in her profile 10 c .
- the In-Use status of Rachel's PDA 24 is indicated by a presence icon 32 (in this case a graphical representation of a human head) partially superimposed over the PDA icon 24 a .
- the Inaccessible status of her wireless telephone 26 is indicated by an “inaccesible” icon 35 (in this case a circle) superimposed over the wireless telephone icon 26 a .
- the Idle status of her 2-way pager 28 is indicated by the lack of any other icon elements associated with the two-way pager icon 28 a .
- the preference and presence information for Mary Ann includes a pair of device icons 20 a and 22 a respectively representative of the home PC 20 and the wireline telephone 22 that Mary Ann has identified in her “at home” profile 10 b .
- the Idle status of Mary Ann's PC 20 is represented by the absence of any other presence or status icon elements associated with the PC icon element 20 a
- the In-Use status of her wireline telephone 22 is indicated by a presence icon element 32 partially superimposed over the wireline telephone device icon 22 a
- the preference and presence information of Jim is indicated by generic device icons 36 and 38 , respectively representative of the text and voice communications types, each of which includes a not available icon 34 indicating that Jim is not available to receive either of the respective types of communications.
- the collaboration services suite 2 is “persistent” in that it remains active independently of the Log-In status of any of the members of the team.
- Jim's preference and presence information 30 is maintained by the collaboration services suite 2 and displayed consistently in the team views 14 of each of Mary Ann, George and Hank, independently of whether or not Jim is logged into the collaboration services suite 2 .
- the “in the office” profile 10 defined by Hank (including the communications information and the operational status of each of the identified communications devices) will be maintained by the collaboration services suite 2 independently of whether or not Hank is logged into the collaboration services suite 2 .
- the other members of the team e.g. each of Jim, Rachel and Mary Ann
- FIG. 2 is a block diagram schematically illustrating principle elements in a system for implementing the collaboration services suite 2 .
- the collaboration services suite 2 is instantiated by a collaboration services suite comprising a VTE server 40 , a Presence Server 42 , and the database 6 .
- Each VTE client 4 encompasses one or more communications devices, such as wireline and wireless telephones connected to the public switched telephone network (PSTN), and packet-based communications devices such as personal computers (PCs), personal digital assistants (PDAs), and other one and two-way messaging devices.
- PSTN public switched telephone network
- packet-based communications devices such as personal computers (PCs), personal digital assistants (PDAs), and other one and two-way messaging devices.
- Many packet-based communications devices incorporate a graphical user interface capable of supporting a VTE client application 44 (see FIG.
- VTE server 40 provides a team member with the team view 14 and functionality for interacting with the collaboration services suite 2 to define and edit their respective personal profiles 10 , and for initiating and controlling communications with other persons.
- interaction between the collaboration services suite 2 and the communications devices associated with each team member i.e. encompassed by each VTE client 4
- the VTE server 40 incorporates functionality related to the negotiation of team member log-in to the collaboration services suite 2 , the forwarding of team member preference and presence information 30 to each VTE client 4 , and the forwarding of status updates concerning active communications sessions to each VTE client 4 .
- the VTE server 40 also provides functionality related to the initiation and control of communications involving one or more team members, as will be described in greater detail below.
- the Presence Server 42 incorporates functionality adapted to detect the current operational status of each of the communications devices identified in the current profile 10 , and store the detection result within the database 6 as communications information for each respective VTE client 4 .
- the Presence Server 42 is preferably adapted to detect team member presence information using the techniques described in Applicant's co-pending U.S. patent application Ser. Nos. 09/460,780; 09/461,119; and 09/461,492 (all filed Dec. 14, 1999), the contents of which are hereby incorporated by reference.
- the Presence Server 42 interacts with packet-based communications devices (e.g.
- the Presence Server 42 includes functionality adapted to formulate at least the functional contents of a common channel signalling (CCS) Query messages for determining the current status of wireline and wireless telephones through the PSTN 48 , again, as will be described in greater detail below.
- CCS common channel signalling
- the Presence Server 42 maintains a status table 43 for controlling the detection and propagation of team member status and availability information.
- the status table 43 contains, for each member of the team, a logged-in frame 43 a ; a devices frame 43 b , and a watcher's frame 43 c .
- the logged-in frame 43 a stores a flag (e.g. a binary “0” or “1”) indicating whether or not the respective team member is currently logged-in to the collaboration services suite 2 .
- the devices frame 43 b contains device identifiers and associated address information (e.g. PSTN destination number, IP address, e-mail address) for each communications device identified by the respective team member in their current personal profile.
- the watcher's frame 43 c contains the personal identifiers of each of the other members of the team who are currently also logged-in to the collaboration services suite 2 , and who should therefore be receiving preference and presence information respecting the team member.
- a call server 50 may be provided.
- a connection manager 52 can be provided to facilitate protocol-independent messaging between the VTE server 40 and packet-based communications devices associated with each of the VTE clients 4 .
- interaction between each VTE client 4 and the collaboration services suite 2 is implemented by packet-based messaging between respective communications devices associated with each VTE client 4 and the VTE server 40 , via the packet network 46 and the connection manager 52 .
- a connection manager 52 may not be required, or that its functionality may be incorporated into the VTE server 40 and/or the presence server 42 .
- the VTE server 40 , Presence Server 42 , and database 6 may be co-resident within a single server machine, or alternatively may be deployed across two or more machines suitably interconnected (e.g. through the packet network 46 , or through high-speed ethernet links) in order to facilitate messaging and data exchange.
- each of the call server 50 and the connection manager 52 may be co-resident with the VTE server 40 , or may be remotely located and accessible by the VTE server 40 (and the Presence Server 42 ) via suitable data links.
- each VTE client 4 encompasses communications devices usable by a respective team member for engaging in communications with other persons (who may or may not be members of the same team).
- communications devices usable by a respective team member for engaging in communications with other persons (who may or may not be members of the same team).
- any of a variety of different types of communications devices may be utilized in conjunction with the present invention, including PCs, PDAs, wireless and wireline telephones, and wireless one and two-way messaging devices.
- the collaboration services suite 2 may be utilized to facilitate any of a variety of different types of communications, including two-way instant messaging, e-mail, multi-media (including video conferencing) and voice communications.
- communications between any two parties may, depending on the type of communications devices involved, be facilitated through the legacy PSTN 48 or a packet network 46 (e.g. one or more federated ethernet, ATM, or IP networks).
- a packet network 46 e.g. one or more federated ethernet, ATM, or IP networks.
- This separation of communications devices into packet-based and PSTN based communications devices is illustrated in FIGS. 3 and 4.
- FIG. 3 is a block diagram schematically illustrating relationships between packet-based and PSTN based communications devices encompassed by each of VTE clients (A), (B) and (C) 4 a , 4 b , 4 c (see FIG. 1) and elements of the packet network 46 , PSTN 48 and CCS network 53 involved in enabling the functionality of the collaboration services suite 2 in accordance with the present invention.
- each of the PSTN-based devices 54 are hosted by a respective service switch point (SSP) 56 of the PSTN.
- SSP service switch point
- the respective packet-based communications devices 58 are connected to the packet network 46 either directly or via an access server (not shown) provided by a network access provider.
- a virtual switching point (VSP) 60 of the CCS network 53 is adapted to interact with the VTE server 40 via, for example, a suitable connection to the packet network 46 .
- the VSP 60 is adapted to interact with one or more Integrated Services Digital Network User Port (ISUP) trunk groups referred to a enhanced ISUP (E-ISUP) trunks 62 to control the set up of call connections through the PSTN 48 .
- ISUP Integrated Services Digital Network User Port
- E-ISUP enhanced ISUP
- FIG. 4 is similar to FIG. 3 in that it illustrates relationships between packet-based and PSTN-based communications devices 58 , 54 and respective elements of the packet network 46 , CCS network 53 and PSTN 48 involved in the set up and control of communications involving one or more team members.
- the scenario of FIG. 4 differs from that of FIG. 3 in that the PSTN-based communications devices of VTE clients (B) and (C) 4 b , 4 c are connected to the PSTN 48 via a private branch exchange (PBX) 66 which provides various communications services within an enterprise network 68 , and is logically connected to the presence server 42 (e.g. via the packet network 46 ) through a data link 67 .
- PBX private branch exchange
- FIG. 5 is a block diagram schematically illustrating exemplary functionality of the VTE server 40 in accordance with an embodiment of the present invention.
- the VTE server 40 comprises: a profile manager 70 providing functionality related to the creation and editing of personal profiles 10 ; a presence manager 72 enabling interaction between the VTE server 40 and the Presence Server 42 to maintain up-to-date presence information concerning each team member; a database manager 74 enabling interaction between the VTE server 40 and one or more databases 6 of the collaboration services suite 2 ; and a collaboration manager 76 providing functionality relating to the initiation and control of communications involving one or more team members.
- the VTE server 40 includes member registration services 78 , providing functionality related to member authentication and authorization during user log-in; and utilities services 80 providing functionality related to team administration, including tracking and resolution of alarms, accumulation of various statistics and logs, encryption services and authentication routines.
- the VTE server 40 includes a conference manager 82 which interacts with the collaboration manager 76 to provide signaling and messaging functionality required for the initiation and control of communications; an instant messaging server 84 which interacts with the collaboration manager 76 to provide specialized services with respect to the management and control of instant messaging sessions; and a connection manager interface 86 which facilitates interaction between the VTE server 40 and the connection manager 52 , and so facilitates messaging between each VTE client 4 and the VTE server 40 .
- the VTE server 40 embodies a modular architecture in which collaboration services, such as those associated with the set up and control of multi-party communications sessions, can be developed and implemented independently of the messaging protocols used for interaction between the VTE server 40 , the VTE clients 4 , the database 6 , the Presence Server 42 , or any of the communications devices 54 , 58 and networks with which the collaboration services suite must operate in order to instantiate the collaboration services suite 2 .
- the database manager 74 includes one or more structured query language (SQL) and lightweight directory access protocol (LDAP) interfaces 88 , 90 respectively enabling interaction between the VTE server 40 and one or more LDAP and SQL databases.
- SQL structured query language
- LDAP lightweight directory access protocol
- a suitable interface e.g. a java database connectivity (JDBC) interface
- JDBC java database connectivity
- the presence manager 72 instantiates a Presence Server interface 92 facilitating interaction between the VTE server 40 and the Presence Server 42 using a suitable messaging protocol, such as, for example, session initiation protocol (SIP).
- SIP session initiation protocol
- the collaboration manager 76 may conveniently operate to generate a session record including session specific information such as a session ID, a start time, information identifying session participants, a session type, and other information useful for administration and archiving of the communications session.
- session specific information such as a session ID, a start time, information identifying session participants, a session type, and other information useful for administration and archiving of the communications session.
- the communications record may conveniently be passed to the conference manager 82 , which interacts with elements of the packet network 48 and/or the PSTN 48 to set up the requested communications session between the involved parties. Thereafter, the conference manager 82 may be used to update the session record as new session information is accumulated, and the status of the communications session changes.
- the conference manager 82 may instantiate one or more conference interfaces 94 which may, for example, enable interaction with both the packet network 46 and the call server 50 using session initiation protocol.
- connection manager interface 86 provides functionality enabling interaction between the VTE server 40 and the connection manager in order to facilitate protocol independent messaging between the VTE Server 40 and each VTE client 4 .
- the connection manager 52 may instantiate one or more of an HTTP proxy interface 96 , a transport control protocol/internet protocol (TCP/IP) interface 98 , and user datagram protocol/internet protocol (UDP/IP) interface 100 for interacting with client applications instantiated on suitable packet-based communications devices 58 (e.g. PCs, PDAs, and WAP-enabled communications devices).
- TCP/IP transport control protocol/internet protocol
- UDP/IP user datagram protocol/internet protocol
- connection manager 52 may implement an Interactive Voice Response (IVR) interface 102 enabling a team member to interact with the VTE server 40 by means of a voice communications device connected, for example, to the PSTN 48 .
- IVR Interactive Voice Response
- a Presence server interface 103 may be instantiated to facilitate messaging between the connection manager 52 and the presence server 42 .
- the utility services 80 may include a web server 104 and/or an extensible mark-up language (XML) parser 106 to enable a team member to access the VTE server 40 using a browser application in a manner known in the art.
- XML extensible mark-up language
- a VTE client application 44 is instantiated in respect of each communications device encompassed by the team member's respective VTE client 4 .
- the functionality of the VTE client application 44 will necessarily vary in accordance with the capabilities of the respective communications device. The most extensive range of functionality of the VTE client application 44 can be implemented in respect of PCs, PDAs and other web enabled communications devices.
- a VTE client application 44 instantiated in respect of a plain old telephone service (POTS) telephone handset may have minimal functionality, as interaction between the team member and the VTE server 40 must necessarily be mediated entirely by means of the IVR interface 102 instantiated by the VTE client manager 86 .
- POTS plain old telephone service
- FIG. 6 is a block diagram schematically illustrating principal functional elements of an exemplary VTE client application 44 .
- the VTE client application 44 comprises a modular architecture which generally mirrors that of the VTE server 40 (see 15 FIG. 5), which facilitates scaling of the functionality of the VTE client application 44 in accordance with the capabilities of each communications device in respect of which the VTE client application 44 is instantiated.
- the VTE client application 44 illustrated in FIG. 6 contains functionality appropriate to a PC or a PDA having sufficient data processing and display capabilities to support a graphical user interface and bi-directional messaging with the VTE server 40 , using one or more packet-based protocols.
- the VTE client application 44 comprises: a profile client 108 for accessing the profile manager 70 to enable the creation and editing of personal profiles 10 : a presence client 110 providing functionality related to the detection and forwarding of status messages to the VTE server 40 : a database client 112 enabling team member access to one or more databases 6 of the collaboration services suite 2 ; and a Graphical User Interface (GUI) manager 114 adapted to interact with a GUI of a communications device (e.g. a PC or a PDA) to instantiate a team space display enabling interaction and collaboration between members of the team.
- GUI Graphical User Interface
- the VTE client application 44 includes a member registration client 116 for interacting with the member registration services 78 of the VTE server 40 during user log-in, in order to negotiate team member authentication and authorization procedures; and a collaboration client 118 for interacting with the collaboration manager 76 of the VTE server 40 to enable initiation and control of communications involving one or more team members.
- the VTE client application 44 includes a transport manager 120 enabling bi-directional messaging between the VTE client application 44 and the VTE server 40 using one or more messaging protocols.
- the VTE client application 44 illustrated in FIG. 6 operates to instantiate a virtual team space providing a wide range of functionality associated with communications and collaboration between team members.
- the modular architecture of the VTE client application 44 enables this functionality to scale with the processing, display and signaling capabilities of each communications device.
- a VTE client application 44 instantiated in respect of a communications device having a microprocessor and IP messaging capabilities, but lacking a graphical user interface may include a text display manager (not shown) in place of the GUI manager 114 shown in FIG. 6, in order to enable interaction between the team member and the VTE server 40 using a text based display.
- the remaining functional elements of the VTE client application 44 may be retained, reduced in capability, or possibly eliminated entirely in order to provide maximum functionality within the constraints imposed by the design of the communications device.
- the VTE client application 44 may be instantiated via the IVR interface 102 of the connection manager 52 , and in such cases would omit the GUI manager 114 , transport manager 120 , collaboration client 118 , and database client 112 , shown in FIG. 6.
- the member registration client 116 would be limited in functionality to prompting the team member to enter one or more access codes using the POTS handset keypad (not shown).
- the profile client 108 would be limited in functionality to announcing an identification of a current profile of the team member, and prompting the team member to select one of a set of existing personal profiles 10 as their current profile.
- the exemplary VTE client application 44 illustrated in FIG. 6 can be varied as required in order to exploit the processing, display, and signaling capabilities of each communications device to facilitate collaboration and communications involving members of the team.
- the exemplary VTE client application 44 illustrated in FIG. 6 operates to instantiate a virtual team space display 122 on suitable communications devices. Exemplary functionality of the VTE client application 44 , in this respect, is described below with reference to FIGS. 7 through 25.
- the virtual team space 122 instantiated by the VTE client application 44 operates to enable a respective team member to interact with the collaboration services suite 2 in order to obtain preference and presence information respecting each of the members of the team, as well as to initiate communications and join active communications sessions involving one or more other persons (who may or may not be members of the team).
- FIG. 7 schematically illustrates exemplary messages exchanged between the collaboration services suite 2 and the virtual team space 122 instantiated by the VTE client application 44 on a team member's PC. As shown in FIG.
- the collaboration services suite 2 sends messages to the VTE client application 44 providing, for example, team member data (including preference and presence information); invitations for inviting the team member to join a team and/or a communications session; instant messages; team bulletins; meeting notes; as well as connection and Log-In status of the team member.
- Corresponding messages returned to the collaboration services suite 2 from the team space display 122 include messages containing, for example, personal profile changes; presence status updates; invitations destined for other persons to join a team and/or a communications session; responses to invitations received from the collaboration services suite; instant messages; as well as team bulletins and meeting notes entered by the team member using the team space display 122 .
- FIG. 8 is a message flow diagram showing exemplary messages exchanged between the VTE client application 44 and elements of the collaboration services suite 2 during such a log-in procedure.
- a Log-InRequest message 124 containing the personal identifier of the user, and a password, is forwarded by the VTE client application 44 a to the VTE server 40 .
- the VTE server 40 uses the personal identifier and the password to validate the user (at 126 ), and upon successful validation, queries the client database (at 128 ) to obtain communications information corresponding to the most recently selected current personal profile of the user.
- This communications preferences information is then forwarded by the VTE server 40 to the VTE client application 44 a as part of a Log-InConfirmation message 130 , which allows the VTE client application 44 a to update the team space display 122 (described in greater detail below with respect to FIG. 10), with communications preferences information relevant to the user.
- the VTE server 40 also forwards a SubscriptionRequest message 132 to the Presence Server 42 , in order to update the contents of the devices frame 43 b of the status table 43 in accordance with the user's current personal profile.
- a client Log-In message is then sent by the VTE server 40 in order to notify the Presence Server 42 that the user has logged into the collaboration services suite 2 .
- This information is used by the Presence Server 42 to update the status table 43 (FIG. 7) to show the Logged-In status of the user, as well as to flag the user as a watcher of each of the other members of the team.
- Identification of the Logged-In status of the user causes the Presence Server 42 to begin monitoring the status of each of the communications devices identified in the user's current personal profile 10 (as listed in the devices frame 43 b of the status table 43 ), and forward corresponding status updates concerning the user to each of the other members of the team who are identified in the watcher's frame 43 c of the status table 43 .
- identification of the user as a watcher of each of the other members of the team means that the Presence Server 43 will forward status updates to the user concerning each of the other members of the team who are also logged in to the collaboration services suite 2 .
- the VTE server 40 negotiates a subscription and log-in of the user with the Presence Server.
- the VTE server 40 Upon successful completion of the subscription and log-in procedure between the VTE server 40 and the Presence Server 42 , the VTE server 40 forwards a StatusEvent message 136 confirming the Log-In status of the user to the VTE client application 44 a . Corresponding StatusEvent messages 138 are also forwarded by the VTE server 40 to each of the other members of the team, who are identified as watchers of the user.
- FIG. 9 is a message flow diagram showing exemplary messages exchanged between the VE client application 44 and elements of the collaboration services suite 2 when the user wishes to log-out from the collaboration services suite 2 .
- a Log-OutRequest message 140 is forwarded by the VTE client application 44 a to the VTE server 40 .
- the VTE server 40 Upon receipt of the Log-OutRequest message, the VTE server 40 unsubscribes the user from the Presence Server 42 (at 142 ), which causes the presence engine to remove the user as a watcher of any other members of the team.
- the VTE server 40 then negotiates a log-out of the user from the Presence Server 42 (at 144 ), which causes the presence engine to update the status table 43 to indicate that the user is no longer logged-in to the collaboration services suite 2 .
- the Presence Server 42 will continue monitoring the status of the preferred communications devices identified in the user's current personal profile (as identified in the devices frame 43 b of the status table 43 ), and will also continue the forwarding of Status messages concerning the user to the other members of the team. Removal of the user as a watcher of any of the other team members (by unsubscribing the user as described above) causes the Presence Server 42 to cease forwarding Status messages concerning the status of any other logged in members of the team to the user.
- StatusEvent messages 146 indicative of the Log-Out status of the user are forwarded to the VTE client application 44 a and to each of the remaining logged-in team members.
- FIG. 10 is a block diagram schematically illustrating exemplary frames of the team space display 122 instantiated by the VTE client application 44 , for example on a respective team member's PC.
- the virtual team space 122 comprises a menu frame 148 enabling menu driven access to the functionality of the VTE client application 44 ; a current availability frame 150 showing the current state of the member's preference and presence information being maintained by the collaboration services suite 2 and displayed to each of the other members of the team; the team view 14 (see FIG.
- FIG. 11 illustrates exemplary elements of the menu frame 148 of the team space display 122 illustrated in FIG. 10.
- the menu frame 148 may be implemented as a multi-layer menu-tree enabling menu-driven access by the user to the functionality of the VTE client application 44 .
- layer 1 of the menu-tree enables the user to access three general categories of functionality, namely a “contact” category 156 for accessing functionality related to communications with other persons; a “profiles” category 158 for accessing functionality related to the user s personal profiles; and a “team” category 160 for accessing functionality related to membership and administrative issues concerning the team.
- Other categories may also be provided in layer 1 of the menu-tree, in a manner known in the art, to access other desired functions of the VTE client application 44 such as, for example, context-sensitive help.
- layers 2 and 3 of the menu-tree may be populated as required to enable rapid and intuitive access to the functionality of the VTE client application 44 .
- the illustrated embodiment presents five options. Two of these options, namely New Session 162 and Active Session 164 are directly related to communications sessions. As its name implies, the New Session option 162 is used to initiate a new voice, multi-media or text communications session (selected in layer 3 ) by opening respective voice, multi-media or text session objects 166 , 168 , 170 .
- the Active Session option 164 is used to open a session invite object 172 to initiate the formulation and sending of an invitation to another team member to join an ongoing voice, multi-media or text communications session.
- Other options may be presented in layer 2 to enable the user to access member and communications session related functionality of the VTE Client application 44 .
- a Schedule Event option 174 is provided to enable the user to schedule team events (e.g. meetings etc.) for distribution to one or more involved team members.
- a Notify option 176 can be provided to enable the user to instruct the VTE client application 44 to notify the user of an occurrence of a predetermined event (e.g. a change in the status of a selected team member communications device).
- a Show Info option 178 may be used to display information (e.g. name, title, mailing address, etc.) respecting a selected team member.
- the “profiles” category 158 accessed in layer 1 of the menu-tree is used to access functionality of the VTE client application 44 concerning the personal profiles 10 defining communications preferences of the user.
- the present invention enables the user to define multiple personal profiles 10 , each of which contains respective communications preferences information defining the user's preferences relating to participation in communications with other team members.
- each profile will relate to a respective role of the team member, such as “working”, “not working”, etc.
- the team member may define respective profiles relating to an environment or context of the team member.
- the team member may have multiple work environments, such as “in the office”, “mobile”, “working at home”, etc.
- four profiles are defined, namely “office”, “home”, “mobile” and “unavailable”, each of which relates to a respective different environment within the “working” role of the user.
- the “profiles” category 158 of the menu frame 148 provides a Select Profile option 180 enabling the team member to select a previously defined personal profile as their current profile, and an EditProfiles option 182 enabling the user to create and edit each of their personal profiles.
- the Edit Profiles option 182 of the menu frame 148 enables the team member to create, edit and/or delete the communications preferences information of each personal profile in order to define respective communications preferences of the user.
- the communications preferences information will include information detailing any types of communications in which the team member prefers to participate, along with a device identifier and/or a device address (such as a PSTN Destination Number (DN), an IP address or an e-mail address) of a communications device that the team member can use to participate in communications.
- DN PSTN Destination Number
- the user may define an “office” personal profile in which the communications preferences information defines that the user prefers to participate in multi-media communications sessions using their office PC; voice communications sessions using their office telephone hand-set (e.g. e-mail and instant messaging) communications, again using their office PC.
- the IP and e-mail addresses of the office PC, and the telephone number of the office telephone hand-set are included in the communications preferences information, to enable the set up of communications using each of the involved devices.
- a “working at home” personal profile can be defined for situations in which the team member is working from a home office.
- the communications preferences information of the “working at home” personal profile may indicate that the team member prefers to participate in voice communications sessions using their home telephone hand-set and communications such as e-mail and instant messaging using their home PC, but is not able to participate in multi-media sessions.
- the telephone number of the team member's home telephone hand-set and the IP and e-mail addresses of the team member's home PC are included in the communications preferences information to enable establishment of text and voice communications sessions.
- a “mobile” personal profile can be defined by the team member for situations in which the team member is travelling, and therefore is restricted to the use of wireless communications devices for participating in communications.
- the communications preferences information of the “mobile” personal profile may indicate that the team member is available for one-way numeric messaging using a wireless paging device, and voice communications using a wireless telephone (such as a cell phone or digital PCS).
- a wireless telephone such as a cell phone or digital PCS.
- the telephone numbers of the user's pager device and wireless telephone are also included in the “mobile” personal profile to enable forwarding of numeric messages to the pager and the set up of telephone calls to the wireless telephone.
- an “unavailable” personal profile may be defined for those situations in which the team member does not wish to participate in communications with other members of the team, such as, for example, during a meeting with clients.
- the communications preferences information would define that the user is unavailable for participating in any communications, and thus would not include any device identification or address information respecting communications devices usable by the team member.
- FIG. 12 is a message flow diagram schematically illustrating exemplary messages exchanged between the VTE Client application 44 and elements of the collaboration services suite 2 in respect of the creation and/or editing of a personal profile.
- a personal profile may be created or edited using a suitable profile editing object (not shown), which enables the team member to select and/or edit device identification and address information concerning one or more communications devices that are usable by the team member for participating in one or more types of communications.
- the profile editing object also preferably enables the team member to identify those types of communications that the user wishes to receive using each device.
- the team member can then submit the new (or amended) communications preferences information to the VTE server 40 (at 184 ) by clicking an appropriate icon or button provided in the profile editing object.
- the VTE server 40 Upon receipt of the submission message, the VTE server 40 extracts and stores the new profile information in the database 6 (at 186 ) for future retrieval and use. Additionally, the VTE server 40 may forward at least the device identification and address information contained in the new profile information to the Presence Server 42 (at 188 ). The Presence Server 42 can then use the device identification and address information to validate the team member's selected communications information (at 190 ). For example, the Presence Server 42 may launch a query to a network management system (not shown) in order to determine whether each device address provided by the team member is a valid address.
- a network management system not shown
- the Presence Server 42 Upon successful validation of the device identification and address information, the Presence Server 42 forwards a Validation message 192 to the VTE server 40 , which then forwards a Notification message 194 to the VTE client application 44 a indicating that the personal profile has been successfully created or amended.
- the SelectProfile option 180 of the menu frame 148 can be used by the team member to select one of the personal profiles as a current profile which is then advertised by the VTE client application 44 to the collaboration services suite 2 , and thereafter propagated to each of the other members of the team.
- FIG. 13 is a message flow diagram schematically illustrating principle messages exchanged between the VTE client application 44 and elements of the collaboration services suite 2 in response to the team member accessing the SelectProfile option 180 of the menu frame 148 in order to select one of the personal profiles as their current profile.
- the VTE client application 44 a responds to selection of a personal profile by forwarding a SelectProfile message 196 containing a respective profile identifier to the VTE server 40 .
- the VTE server 40 extracts the profile identifier from the SelectProfile message 196 , and uses the profile identifier to send a GetProfile query 198 to the database 6 (e.g. using an LDAP query).
- the database 6 returns a message 200 to the VTE server containing the personal profile identified by the profile identifier.
- the communications preferences information (in particular, information identifying preferred communications devices and their respective addresses) is then forwarded by the VTE server 40 to the Presence Server 42 in a ChangeProfile message 202 .
- the Presence Server 42 updates the status table 43 to reflect the identity and address of each one of the preferred communications devices identified in the profile.
- the VTE server 40 then forwards a StatusEvent message 204 to the VTE client application 44 of each team member in order to update the team view 14 with preference and presence information of the team member reflecting the new current profile.
- a team member may be a member of multiple teams. It is also expected that the user may wish to select a different personal profile as their current personal profile for each one of the different teams. For example, if the team member wishes to participate in an important teleconference with members of one particular team, then the team member may select their “office” personal profile as their current profile for that team, and select their “unavailable” personal profile as their current profile in respect of each of the other teams. This ensures that the team member will be available to participate in the teleconference, without being interrupted by communications from members of the other teams. However, the team member may also wish to ensure that they have the same personal profile selected as the current profile in respect of each of the teams of which they are a member. Thus in the embodiment of FIG. 11, a Synchronize option 206 is provided in the menu bar to enable the user to easily synchronize the selected current profile across each of the teams in which they are a member.
- the “team” category 160 provides access to team membership 208 and management 210 functionality of the VTE client application 44 .
- exemplary membership related functionality 208 includes Leaving a team 214 respecting which the team member no longer wishes to be a member.
- Exemplary team management functionality 210 includes team creation 216 (which causes instantiation of a new collaboration services suite 2 respecting a new team); inviting a person to join an existing (or newly created) team 18 ; removing a team member from an existing team 220 ; and disbanding a team 222 , which causes dissolution of the collaboration services suite 2 associated with that team.
- FIG. 14 is a message flow diagram schematically illustrating principle messages exchanged between three VTE clients 4 and elements of the collaboration services suite 2 during the creation of a team.
- the creator of the new team is a user of VTE client (A) 4 a , and respective users of VTE clients (B) and (C) are invited to join the team.
- the user of VTE client (A) launches an instance of a VTE client application 44 , and utilizes the team management/team creation functionality 210 / 216 of the menu frame 148 to create a new team.
- the team creation functionality 216 may prompt the team creator to enter a team name and possibly other team related information (at 224 ), and identify each person to be invited to join the team (at 226 ), before forwarding a CreateTeam message 228 to the VTE server 40 .
- the VTE server 40 Upon receipt of the CreateTeam message 228 , the VTE server 40 instantiates a collaboration services suite 2 respecting the new team, and then forwards the CreateTeam message (at 230 ) to the Presence Server 42 .
- the Presence Server 42 instantiates a status table 43 respecting the new team.
- the VTE server 40 can then send an AddTeamMember message 232 to the Presence Server 42 , which responds to the AddTeamMember message 232 by populating the status table 43 with information (e.g. the personal identifier and communications information) respecting the team creator (i.e. the user of VTE client (A) 4 a ).
- the Presence Server 42 Upon successful creation of the status table 43 and registration of the team creator as a team member, the Presence Server 42 returns a StatusEvent message 234 to the VTE server 40 , which forwards StatusEvent messages (at 236 and 238 ) to the VTE client A) 4 a in order to notify the team creator of successful creation of the team.
- the VTE client application 44 a Upon receipt of this StatusEvent message, the VTE client application 44 a updates the virtual team space display 122 to reflect the identity of the newly created team, as well as the status of the team creator as a member of the team. Additional StatusEvent messages 240 are forwarded by the VTE server 40 to the VTE client (A) 4 a in order to update the team view 14 of the team space display 122 to show each of the invitees (i.e. the users of VTE clients (B) and (C) 4 b and 4 c ) as having a Pending status.
- the invitees i.e. the users of VTE clients (B) and (C) 4 b and 4 c
- the VTE server 40 then forwards an invitation message 260 to a communications device (preferably a PC or a PDA capable of supporting a VTE client application 44 ) associated with the user of VTE client (B) 4 b . If the communications device already has an installed instance of the VTE client application 44 , then this instance can be launched in order to display the invitation (at 262 ) and receive the user's response (at 264 ). Otherwise, the invitation message 260 may contain functionality enabling the user to install an instance of a VTE client application 44 in order to handle display and response to the invitation.
- a communications device preferably a PC or a PDA capable of supporting a VTE client application 44
- the communications device already has an installed instance of the VTE client application 44 , then this instance can be launched in order to display the invitation (at 262 ) and receive the user's response (at 264 ). Otherwise, the invitation message 260 may contain functionality enabling the user to install an instance of a VTE client application 44 in order to handle display and response to the invitation
- the invitation message 260 may be provided with a VTE client applet (not shown) enabling display of the invitation and handling of the associated invitation response without having to install a VTE client application 44 .
- VTE client applet not shown
- the user of VTE client (B) chooses to accept the invitation to join the new team.
- an invitationResponse message 266 indicating the user's acceptance of the invitation, is forwarded to the VTE server 40 .
- the VTE server 40 Upon receipt of the invitationResponse message 266 , the VTE server 40 forwards an AddTeamMember message 268 to the Presence Server 42 in order to update the status table 43 with appropriate information (e.g.
- the Presence Server 42 then returns a StatusEvent message 270 , indicating successful registration of the new team member in the status table 43 , to the VTE server 40 , which propagates associated StatusEvent messages 272 to each of VTE clients (A) and (B) 4 a , 4 b , in order to update their respective virtual team space displays 122 to show the user of VTE client (B) 4 b as a member of the team.
- VTE client (B) 4 b If an instance of a VTE client application 44 has not previously been installed on a communications device encompassed by VTE client (B) 4 b , then this installation can also be performed upon acceptance of the invitation by the user of VTE client (B) 4 b . Additionally, the user of VTE client (B) 4 b may elect to use the VTE client application 44 installed on their communications device to define and/or modify one or more personal profiles containing communications information indicative of their availability to participate in communications.
- the VTE server 40 forwards an invitation message 274 to a suitable communications device (preferably a PC or a PDA capable of supporting a VTE client application 44 ) associated with the user of VTE client (C) 4 c .
- a suitable communications device preferably a PC or a PDA capable of supporting a VTE client application 44
- the invitation may be displayed on the communications device (at 276 ) using either a previously installed VTE client application 44 , a new VTE client application 44 installed for this purpose, or a VTE client applet included with the invitation message 274 .
- the user of VTE client (C) elects to decline the invitation to join the new team at 278 .
- an invitationResponse message 280 is returned from the VTE client (C) 4 c to the VTE server 40 , which forwards appropriate StatusEvent messages 282 to each of VTE clients (A) and (B) 4 a , 4 b in order to notify their respective team members that the user of VTE client (C) 4 c has declined to join the team, and to update their respective virtual team space displays 122 to remove references to the user of VTE client (C) 4 c as a “pending” member of the team.
- the VTE client application 44 provides various functionality with respect to the display of information concerning multiple teams.
- this functionality includes user-selection 284 of those teams for which information should be displayed.
- Other functionality not illustrated in the drawings but which may usefully be implemented may include: color coding of team space displays 122 to help the user discriminate information of one team from information of other teams; and control over the type and/or scope of information concerning a team that is to be displayed.
- the team member may wish to have the team view 14 of each team visible at all times, while information concerning team bulletins and public communications remains hidden (yet accessible using an icon, for example) in order to conserve space on a display monitor.
- the virtual team space 122 includes a current availability frame 150 containing the team member's current preference and presence information as seen by other members of the team.
- FIG. 15 is a schematic block diagram illustrating exemplary contents and functionality associated with the current availability frame 150 of the team space 122 .
- the team member's current preference and presence information includes identity information associated with the team member, and communications information including communications preferences of the user for participating in communications with other members of the team.
- the team member's identity information is represented by the team member's personal identifier 286 , which can be selected by the team member to view and/or edit their communications information.
- the team member's communications preferences are represented by a current profile identifier 288 , and a Profile message 290 associated with the current profile.
- the team member's communications preferences information is indicated by icons generally indicative of the types of communications in which the team member prefers to participate, as identified in the current personal profile.
- the team member's presence information is represented by icon elements associated with each of the communications type icons, which indicate the current operational status of the user's preferred communications device for each type of communications session.
- each personal profile includes a Profile Message 290 (e.g. a text string such as “in the office”) which is distributed for display in the team view 14 of the team space display 122 instantiated for each of the other members of the team.
- This message 290 may be selected (e.g.
- Any changes made by the team member are automatically forwarded by the VTE client application 44 to the VTE server 40 , and propagated to each of the other members of the team.
- the communications preferences information includes information identifying the various types of communications (e.g. one-way and two-way messaging, voice, and multi-media) in which the team member is available to participate.
- the communications preferences information is displayed by means of icons 292 within the current availability frame 150 . Selection of these icons 292 enables the team member to access the edit profiles functionality 182 (see FIG. 11) of the VTE client application 44 to change the communications preferences information, for example by changing the type of alpha-numeric communications (e.g. by selecting one of: instant messaging; one-way numeric or alpha-numeric paging; or none) or by changing a preferred voice communications device.
- VTE client application 44 changes are forwarded by the VTE client application 44 to the VTE server 40 and propagated to the other members of the team in order to enable those members to successfully initiate communications with the team member.
- the team member's communications preferences information, personal identifier 286 , and at least the Profile message 290 are forwarded to the collaboration services suite 2 and replicated to the VTE client applications 44 of each of the other members of the team.
- the team member is aware of the information, respecting themselves, that is being displayed in the team space display 122 of each of the other members of the team.
- the communications preferences information, personal identifier 286 , and Profile message 290 of each of the other members of the team are forwarded to the VTE client application 44 of the team member and displayed in the team view 14 of the team member's team space display 122 (see FIG. 10).
- FIG. 16 is a block diagram schematically illustrating exemplary functionality of the VTE client application 44 accessible using the team member preference and presence information displayed in the team view 14 (see FIG. 10).
- the team view 14 is used to display preference and presence information of each of the other members of the team.
- each of the other members of the team who are currently logged into the collaboration services suite 2 , are identified by their respective personal identifiers 286 .
- the Profile message 288 entered by the respective team member, as well as one or more icons 294 representing the types of communications in which the respective team member prefers to participate.
- the icons 294 are preferably provided as composite icons made up of a type icon element and a presence icon element.
- the type icon element is preferably provided as a graphical depiction (e.g. depicting a telephone, cell-phone, etc.) representative of a type of communications (e.g. one way alpha-numeric messaging; two-way messaging, wire-line or wireless voice; multi-media, etc.) in which the respective team member is available to participate. This information will normally conform to the communications preferences information defined in the respective team member's current profile, as selected by the respective team member.
- the presence icon element is used to provide a graphical depiction representative of a status of the communications device which the respective team member has selected as their preferred communications device for each type of communications.
- the presence icon element takes the form of graphical depictions representing respective ones of: an inaccessible status indicating that the associated preferred communications device is currently inaccessible (e.g. a wireless telephone may be turned off or out of range); an in-use status; and an idle status.
- the form of the type and presence icon elements are arbitrary, and may be selected as desired.
- an in-use status of a communications device is represented by a presence icon element in a form of a human head
- an inaccessible status of a communications device is represented by a presence icon element in the form of a circle surrounding the associated preferred communications device.
- An idle status of a communications device is indicated by the absence of any other presence icon element (i.e. either indicating an in-use or inaccessible status).
- the presence icon element associated with each device icon element of a particular team member will be automatically selected by the collaboration services suite 2 , based on a detected operational status of the associated preferred communications device.
- FIG. 17 is a message flow diagram illustrating exemplary functionality and message flows between the VTE client application 44 and elements of the collaboration services suite 2 in respect of the detection of team member presence information and the propagation of this presence information to each of the members of the team.
- the Presence Server 42 monitors the operational status (at 296 ) of each of the communications devices identified in the status table 43 . If a change in the operational status of a communications device is detected, the Presence Server 42 formulates a StatusEvent message 298 identifying the device in respect of which the change in status was detected, the personal identifier 286 of the team member associated with the communications device, and information indicative of the new status of the communications device in question. This StatusEvent message 298 is forwarded to the VTE server 40 which propagates the StatusEvent message to each team member (at 300 ).
- the Presence Server 42 may employ various means to obtain the device status information, depending principally on the nature of the subject communications device. As mentioned above, the Presence Server 42 detects the device status information using the techniques described in Applicant's co-pending U.S. patent application Ser. Nos. 09/460,780; 09/461,119; and 09/461,492 (all filed Dec. 14, 1999), the contents of which are hereby incorporated by reference. For example, in cases where the communications device is a personal computer (either a desktop PC, a Notebook, or a wireless applications program (WAP) enabled communications device such as a wireless personal digital assistant (PDA)), it is possible to install a VTE client application 44 on the communications device.
- WAP wireless applications program
- PDA wireless personal digital assistant
- the presence client 110 of the VTE client application 44 can then operate to detect the status of the respective communications device, and forward applicable Status messages to the Presence Server 42 at regular intervals. Accordingly, the Presence Server 42 can declare an unavailable status in the event that Status messages are not received from the presence client 110 for a predetermined period of time. In the event that Status messages are received, then the Presence Server 42 can declare that the associated communications device is available, and determine a busy or idle status based on the contents of the Status message. In the case of a wireless telephone, it is possible to determine the operational status (including, for example, an idle or busy status, an unavailable status, and in some cases even a geographical location) by querying the Home Location Registry (HLR) of the wireless telephone.
- HLR Home Location Registry
- An “on-hook” or “off-hook” status of a wire-line telephone connected to the PSTN can be determined by asserting an EAN query, via the call server 50 and/or VSP 60 , against the local loop identified by the PSTN destination number (DN) of the telephone, in a manner known in the art.
- the Response message returned by the service switch point (SSP) hosting the wire-line telephone indicates the status of the telephone, again in a manner known in the art.
- FIG. 16 also illustrates exemplary functionality of the VTE Client application 44 that may be accessed through the team view 14 .
- access to the communications functionality of the VTE Client application 44 e.g. the “new session” functionality 162 accessible under the “contact” category 156 of the menu frame 148 ) can usefully be obtained by using the communications icons 294 associated with a particular team member.
- a single click on a communications icon 294 may be used to open an empty communications object of the relevant communications type (i.e.
- a double click on an icon 294 may have a similar effect, but in addition also initiates the new communications with the identified team member, by launching a start communications message to the collaboration services suite 2 .
- a right click on an icon 294 may be used to access a selection of alternative communications paths.
- a team member may select their “unavailable” profile to indicate that they are not available for communications with other members of the team.
- the team view 14 of each of the other team members will include generic type and presence icon elements indicating that the team member is not available for text or voice communications sessions (as described above with reference to FIG. 1).
- the generic voice communications icon 38 see FIG. 1 associated with the unavailable team member, a team member can obtain a listing of alternative communications paths, which may be selected to establish a voice communications session with the unavailable team member, effectively by-passing the “unavailable” profile selected by that team member.
- additional functionality of the VTE client application 44 may be accessed by selecting a team member, for example by clicking on either the personal identifier 286 or the Profile message 290 associated with the selected team member. For example, a right click may be used to obtain information concerning the selected team member, such as, for example, new or active communications preferences information and options, and identifying information of the team member.
- functionality of the VTE client application 44 may be accessed through the menu frame 148 in respect of the selected team member.
- the menu frame 148 may be used to open a new voice communications session object in which the selected team member is identified (e.g. by way of the personal identifier 286 ) as an invitee.
- VTE client application 44 can be designed to support “drag and drop” functionality to enable a team member to “drag” a personal identifier 286 of a selected team member into an already opened communications session object in order to invite the selected team member to join a new or active communications session.
- FIG. 18 is a block diagram schematically illustrating exemplary elements of the team bulletins frame 152 of the team space display 122 .
- the team bulletins frame 152 generally comprises a display area 302 in which each of the bulletins posted to the collaboration services suite 2 (by any of the members of the team) are displayed, and an “edit” icon 304 used for accessing an edit bulletins object 306 which may be used by the team member in order to edit existing bulletins and/or create and post new bulletins to the collaboration services suite 2 .
- the detailed implementation of both the team bulletins frame 152 and the edit bulletins object 306 may be selected as desired, and therefore are not described in detail.
- FIG. 19 is a block diagram schematically illustrating the active communications frame 154 of the team space display 112 (see FIG. 10).
- the active communications frame 154 is used within the team space display 122 to display session information 308 concerning active communications sessions involving one or more members of the team.
- session information 308 concerning two active communications sessions is illustrated in the active communications frame 154 .
- the session information 308 displayed within the active communications frame 154 may include any information relevant to the respective communications session.
- the manner in which the session information 308 is represented within the active communications frame 154 is arbitrary, and may be selected as desired.
- the session information 308 displayed within the active communications frame 154 includes, for each active communications session, an icon 310 graphically representing a type of the communications session (e.g. voice, text, or multi-media), and a set of text frames 312 , 314 , 316 respectively displaying information concerning the type of the communications session, a session topic, and a listing of team member personal identifiers 286 indicating those team members who are current participants in the communications session.
- a type of the communications session e.g. voice, text, or multi-media
- a set of text frames 312 , 314 , 316 respectively displaying information concerning the type of the communications session, a session topic, and a listing of team member personal identifiers 286 indicating those team members who are current participants in the communications session.
- the functionality of the VTE client application 44 enables a user to join an active communications session.
- This functionality may be accessed by clicking on the icon 310 associated with the desired active communications session in order to launch a Join Session message to the collaboration services suite 2 .
- the team member may join an active session by selecting a desired communications session within the active communications frame 154 of the team space display 122 , and then using the menu frame 148 (see FIG. 11) to access the appropriate active session functionality 164 under the “contact” category 156 .
- the collaboration services suite 2 Upon receipt of the Join Session message, the collaboration services suite 2 operates to join the team member into the selected active communications session in a manner which will be described in greater detail below.
- the participants will wish to keep the communications session “private”, at least in the sense that they will not wish other members of the team to join the communications session uninvited. In other cases, session participants may wish to keep the communications session “public” and so allow other team members to join the communications session without an invitation.
- the present invention enables a communications session to be marked as either a public or private communications session, and this marking is preferably reflected in the active communications frame 154 of the team space display 122 .
- a preferred method of accomplishing this is to implement the functionality of the VTE client application 44 and the collaboration services suite 2 such that only session information concerning public communications sessions is displayed in the active communications frame 154 of the team space display 122 .
- An alternative approach involves using the graphical representation of the icon 310 to indicate whether or not the user is able to join the associated communications session without having received any invitation from one of the current participants.
- the session information 308 concerning a private communications session would be displayed in the active communications session frame 154 , and thus a user would be aware that the communications session was taking place.
- the graphical representation of the icon 310 would indicate the private status of the communications session, and thus the user would also be aware of their inability to join the communications session without an invitation.
- a team member may wish to join a public communications session as either a listener (i.e. in order to monitor the communications session, but without contributing content and/or being visible as a participant), or a full participant.
- this functionality may be accomplished by the VTE client application 44 responding to the team member's clicking on the icon 310 associated with the desired communications session by opening a JoinSession object (not shown) in which the team member has an opportunity to select their participation level (shown at 318 ).
- the user's selection in this respect can then be used to formulate an appropriate parameter which is transmitted to the collaboration services suite 2 along with the JoinSession message in order to control the set-up of communications links between the team member and the active communications session.
- FIG. 20 is a message flow diagram illustrating exemplary functionality and messages exchanged between VTE client applications 44 and the VTE server 40 in respect of an exemplary public communications session.
- an instant messaging session is initiated (at 320 ) by the user of VTE client (A) 4 a by using the functionality of the VTE client application 44 a to open an IM session object.
- the user elects to identify the IM session as a public session (at 322 ), selects (at 324 ) the user of VTE client (B) as the person with whom they wish to communicate, enters text information respecting the session topic (at 326 ), and enters an initial text message directed to the user of VTE client (B) 4 b (at 328 ).
- the VTE client (A) 48 formulates and sends an IM session message 330 to the VTE server 40 , which extracts the session information entered by the user of VTE client (A) and opens an IM session record (at 332 ) in respect of the IM session.
- the VTE server 40 then forwards the IM message to the VTE client (B) (at 334 ) in order to initialize the two-way instant messaging session between the users of VTE clients (A) and (B).
- VTE client (A) 4 a Because the user of VTE client (A) 4 a indicated the session type of the IM session as “public”, StatusEvent messages are forwarded (at 336 ) to each of VTE clients (C) and (D) in order to update the active communications frame 154 of their respective virtual team space displays 122 . Thereafter, two-way IM session traffic flows 338 between VTE clients (A) and (B) via the VTE server 40 .
- VTE client (C) 4 c accesses the functionality of their respective VTE client application 44 c to send a JoinSession message 340 indicating the user's desire to join the active instant messaging session as a participant.
- the VTE server 40 updates the session information contained in the session record (at 342 ), and forwards StatusEvent messages to each of VTE clients (A), (B), (C) and (D) (at 344 ) in order to update the respective team space displays 122 to show the status of the user of VTE client (C) 4 c as a participant in the active IM session.
- the active IM session continues (at 346 ), with two-way IM message flows between each of VTE clients (A), (B) and (C), mediated by the VTE server 40 .
- VTE client (D) 4 d accesses the functionality of their respective VTE client application 44 d in order to join the active IM session as a listener.
- the VTE client (D) 4 d forwards an appropriate JoinSession message (at 348 ) to the VTE server 40 , which updates the session information contained in the session record to include the user of VTE client (D) 4 d as a listener of the active IM session.
- VTE server 40 continues forwarding two-way IM traffic between each of VTE clients (A), (B) and (C) (at 350 ), without interruption.
- this IM message traffic is copied (at 352 ) as a stream of one-way IM messages to VTE client (D) 4 d , so that the user of VTE client (D) 4 d is maintained aware of the content of the active IM session.
- the user of VTE client (D) is unable to forward IM messages (as part of the active IM session) to any of the participants in the active IM session.
- the participants in the active IM session i.e. the users of VTE clients (A), (B) and (C)
- the VTE server 40 that the user of VTE client (D) 4 d has joined the active session as a listener.
- notification may readily be provided by forwarding appropriate StatusEvent messages as described above with respect to the joining of the user of VTE client (C) 4 c to the active communications session.
- FIGS. 21 through 23 are block diagrams schematically illustrating exemplary functionality of the VTE client application 4 in respect of instant messaging, voice and multi-media communications sessions respectively.
- FIGS. 24 and 25 are block diagrams schematically illustrating exemplary functionality of the VTE client application 44 concerning the sending and receiving of invitations to join an existing communications session.
- FIGS. 26 through 36 a present message flow diagrams illustrating exemplary functionality of the collaboration services suite 2 associated with the set up and tear down of communications sessions in response to messages received from the VTE client application 44 illustrated in FIGS. 21 through 23.
- FIGS. 26 through 36 a present message flow diagrams illustrating exemplary functionality of the collaboration services suite 2 in respect of the handling of invitations to join active communications sessions in response to messages received from the VTE Client application 44 illustrated in FIGS. 24 and 25.
- IM session object 354 which can be instantiated by user input, either by accessing the new IM session functionality 170 of the menu frame 148 (see FIG. 11) or by clicking on a text messaging icon 249 associated with a selected team member whose availability information is displayed in the team view 14 of the team space display 122 .
- the IM session object 354 may also be automatically instantiated by the VTE client application 44 if an Instant Message, that is not associated with an active IM session, is received from another team member (as shown at 356 ).
- the IM session object 354 serves as a container for information respecting a respective instant messaging session and provides access to functionality of the VTE client application 44 and collaboration services suite 2 for controlling the associated instant messaging session.
- Exemplary information contained by the IM session object 354 includes: session information 308 ; a session topic 357 ; a new message 358 entered by the team member for transmission to the other participants of the IM session; a record of session messages 360 previously exchanged between participants in the IM session; a listing 362 identifying each of the current participants in the IM session; and a listing of documents exchanged 363 between participants in the IM session.
- the session information 308 may include any administrative or “tombstone” data that may be desired for archiving and session administration purposes.
- Exemplary data usable in this respect may include any one or more of: a session identifier providing a unique tag for identification, threading, archiving and/or future retrieval of information concerning the communications session; information concerning a session topic, which may be entered and/or edited by any of the session participants; session start and stop times; information identifying the team member who initiated the IM session; and information identifying the team member who invited the respective team member into the IM session.
- an IM session object 354 respecting a new instant messaging communications session can be instantiated via the menu frame 148 or the team view 14 .
- the team member may use the functionality of the VTE client application 44 in order to place the personal identifiers 286 of each person, with whom they wish to communicate, into the current participants frame 362 of the IM session object 354 . This may be accomplished either by using a “drag and drop” functionality of the VTE client application 44 , or by the menu bar 148 . Having thus identified each of the persons with whom the team member wishes to communicate, the team member may select an appropriate icon or button (e.g.
- a Start button to cause the VTE client application 44 to launch an OpenSession message (shown at 364 ) containing the personal identifiers of each of the invitees selected by the team member to the collaboration services suite 2 in order to initiate the communications session.
- the collaboration services suite 2 monitors the status of each of these participants in the communications session and forwards member Status messages 366 to the VTE client application 44 .
- member Status messages are used by the VTE client application 44 to update presence and status information respecting each of the team members identified in the current participants frame 362 of the instant messaging session object 354 .
- the session topic frame 357 of the IM session object 354 may be used to enable the participants in the IM session to input and/or edit a text description of a session topic.
- a change in the topic frame entered by the team member can be forwarded to the collaboration services suite 2 by means of an Update message (at 359 ), and subsequently propagated to each of the session participants by way of a StatusEvent message.
- the VTE client application 44 Upon receipt of a StatusEvent message containing revised text of the topic frame (at 361 ), the VTE client application 44 extracts the revised topic text and updates the topic frame 357 of the IM session object 354 .
- the team member can send a message to the other participants in the communications session by typing the text message into the New message frame 358 of the IM session object 354 , and clicking an appropriate icon or button (e.g. a Send button) to send the text message ( 368 ) to the collaboration services suite 2 , which replicates the message to each of the other participants in the communications session.
- Text messages originating from each of the other participants in the communications session are propagated to the VTE client 4 (at 370 ) of the team member via the collaboration services suite 2 in the same manner, and are used by the VTE client application 44 to update the Session messages frame 36 of the instant messaging session object 354 .
- the VTE client application 44 provides an appropriate icon or button (e.g. an Invite button) which enables the team member to open (at 372 ) an invitation object 374 , which will be described in greater detail below with respect to FIG. 24.
- an appropriate button e.g. a Remove button
- This functionality may, for example, be used to remove a party who has been invited to the IM session, but who has not responded to the invitation.
- the VTE client application 44 provides an appropriate icon or button (a ConvertSession button) which enables the team member to launch a ConvertSession message (at 376 ) to the collaboration services suite 2 to facilitate conversion of the communications session to the desired communications type.
- the VTE client application 44 provides an appropriate icon or button (e.g. a Close button) which can be selected by the team member to send a CloseSession message (at 378 ) to the collaboration services suite 2 in order to terminate the instant messaging session.
- the exchanged documents frame 363 is considered to be optional, and may or may not form a part of an instance of an IM session object 354 .
- the exchanged documents frame 363 is used to record information identifying any documents exchanged, or otherwise discussed during the course of the communications session. This information may take the form of: a copy of the document itself; a document name; an address or path specification for locating the document on a network; or a hypertext link enabling the user to open the document in a suitable browser or word processor window.
- Changes in the information contained in the exchanged documents frame 363 are forwarded (at 365 ) by the VTE client application 44 to the collaboration services suite 2 , which propagates the revised information to each of the other participants in the communications session.
- Updated exchanged document information contained within Update messages received (at 367 ) from the collaboration services suite 2 is extracted from the message by the VTE client application 44 and used to update the contents of the shared documents frame 363 .
- FIG. 22 is a block diagram schematically representing functionality of the VTE client application 44 in respect of voice communications sessions involving the team member.
- functionality of the VTE client application 44 in respect of voice communications sessions is enabled by means of a voice session object 380 which is instantiated by the VTE client application 44 for the duration of the team member's participation in the voice communications session.
- the voice session object 380 will normally be instantiated in response to user input.
- the voice session object 380 can be instantiated either by the team member accessing the new voice session functionality 166 of the VTE client application 44 through the “contacts” category 156 of the menu frame 148 (see FIG.
- the voice session object 380 may also be instantiated by the VTE client application 44 in respect of a active voice communications session, in response to either the team member responding to an invitation (see FIG. 25) or by the user selecting a communications icon 310 of an active communications session identified in the active communications frame 154 of the team space display 122 (see FIG. 19).
- the voice session object 380 contains communications information related to the voice communications session.
- This communications information will typically include: session information 382 ; a session topic 384 ; a listing of meeting or session notes 386 entered by the participants of the communications session; and a listing of the personal identifiers corresponding to each of the current participants 388 in the communications session. Additionally, a listing of any documents exchanged 390 by the participants in the communications session may also be included in the voice session object.
- At least the session information 382 and listing of current participants 388 , as well as the functionality of the VTE client application 44 related to this information is closely similar to that described above in relation to instant messaging sessions.
- the session information 382 may include any one or more of: a session identifier; information identifying (e.g. by way of the personal identifier) the person who initiated the communications session; information identifying (e.g. by way of the personal identifier) the person who invited the team member to join the communications session; start and stop times of the communications session; as well as any other information that may be desirable for administration, management, or archiving purposes in relation to the communications session.
- the listing of current participants 388 may be used during initiation of the communications session, as described above with reference to FIG. 21, to control the start-up of the voice communications session following the launch of a MakeCall message (at 392 ) to the collaboration services suite 2 .
- an Invitation object 374 is opened to enable the team member to launch an invitation message to the selected invitee, in a manner which will be described in greater detail below with respect to FIG. 24.
- the current participants list 388 can also be used to remove a participant from the active voice session (at 396 ).
- VTE client application 44 This may be accomplished either by using the “drag and drop” functionality of the VTE client application 44 to drag the personal identifier of the selected participant out of the current participant's frame 388 , or by clicking on a Remove icon or button. In either case, the VTE client application 44 responds by forwarding a RemoveParticipant message to the collaboration services suite 2 to effect the removal of the identified participant from the communications session.
- the session topic frame 384 of the voice session object may be used to enable the participants in the communications session to input and/or edit a text description of a session topic.
- a change in the topic frame entered by the team member can be forwarded to the collaboration services suite 2 by means of an Update message (at 398 ), and subsequently propagated to each of the session participants by way of a StatusEvent message.
- the VTE client application 44 Upon receipt of a StatusEvent message containing revised text of the topic frame (at 400 ), the VTE client application 44 extracts the revised topic text and updates the topic frame 384 of the voice session object 380 .
- the meeting or session notes frame 386 of the voice session object 380 is used to store text information (which may take the form of messages, memos, notes, or any other text information) which the participants wish to have recorded in association with the communications session.
- text information which may take the form of messages, memos, notes, or any other text information
- new session notes (and/or changes to existing session notes) are forwarded by the VTE client application 44 to the collaboration services suite 2 (at 398 ), which then propagates the changes to the other participants in the communications session by way of a StatusEvent message.
- the VTE client application 44 Upon receipt of a StatusEvent message (at 400 ) containing updated text of the session notes frame 386 , the VTE client application 44 extracts the updated text, and uses this information to update the contents of the session notes frame 386 .
- the exchanged documents frame 390 is considered to be optional, and may or may not form a part of an instance of a voice session object 380 .
- the exchanged documents frame 390 is used to record information identifying any documents exchanged, or otherwise discussed during the course of the communications session. This information may take the form of: a copy of the document itself; a document name; an address or path specification for locating the document on a network; or a hypertext link enabling the user to open the document in a suitable browser or word processor window.
- Changes in the information contained in the exchanged documents frame 390 are forwarded (at 402 ) by the VTE client application 44 to the collaboration services suite 2 , which propagates the revised information to each of the other participants in the communications session.
- Updated exchanged document information contained within Update messages received (at 404 ) from the collaboration services suite 2 is extracted from the message by the VTE client application 44 and used to update the contents of the shared documents frame 390 .
- FIG. 23 is a block diagram schematically illustrating functionality of the VTE client application 44 with respect to multi-media communications sessions.
- This functionality is implemented by the VTE client application 44 by means of a multi-media session object 406 which includes many of the characteristics and features of the voice session object 380 described above with respect to FIG. 22.
- the multi-media session object 406 also includes a “real time events” frame 418 for processing multi-media events in real time.
- exemplary real time events of the type contemplated by the present invention include: a video stream such as, for example, a video stream of a video conferencing session; user and other session participant input respecting a shared white board; and application events generated by a software application or document being shared by two or more of the participants in the multi-media session.
- Events generated within the VTE client application 44 either due to team member input or from some other multi-media device (e.g.
- a video camera Forwarded (at 420 ) as an event stream to respective multi-media communications devices associated with each of the other participants in the multi-media session via, for example, IP multicasting as discussed in greater detail below.
- Corresponding event streams from each of the other participants are used (at 422 ) by the VTE client application 44 to update the contents of one or more associated real time displays (not shown).
- FIG. 24 is a block diagram schematically illustrating exemplary functionality of an invitation object 374 opened by the VTE client application 44 for inviting one or more new participants to join an active communications session. These new participants may be a member of the team, or alternatively may be any other individual for whom appropriate contact information is available.
- the invitation object 374 includes a directory search frame 422 which provides access to one or more directories enabling the user to identify and select each person to whom they wish to direct the invitation.
- the directories accessed by the directory search frame 422 may be a personal directory compiled by the team member, a corporate or enterprise directory, or a public directory such as, for example, the “Canada 411” directory accessible through the public internet.
- the invitation object 374 may contain information relevant to the associated communications session. Conveniently, this information will be composed of an extract of the information contained in the IM, voice or Multi-media session object 354 , 380 or 406 respectively from which the invitation object 374 was opened. The intention of this information is to both enable the collaboration services suite 2 to associate the invitation message (and any invitation responses received from the invitee) with the communications session, as well as to provide the invitee with sufficient information concerning the communications session to enable them to make a decision regarding whether or not they wish to join the communications session.
- the invitation object 374 contains an extract of the session information 424 (containing at least the session identifier); a session topic 426 ; a listing of the personal identifiers of each of the current participants in the communications session 428 ; a record of any session notes 430 and/or session messages 432 entered by the participants in the communications session; as well as a text message 434 that the team member wishes to forward to the invitee as part of the invitation.
- Most of this information can be extracted automatically by the VTE client application 44 from the associated communications session object, so that the team member may merely identify and select each person to whom the invitation is to be directed, and optionally enter a message 434 , concerning the invitation, to the proposed invitees.
- the team member can then cause the VTE client application 44 to formulate and send an appropriate invitation message (at 436 ) to the collaboration services suite 2 , by clicking on an appropriate Invite button or icon of the invitation object 374 .
- the invitation message will contain the information contained in the invitation object (extracted from the communications object), along with information identifying the invitee.
- the information identifying the invitee will consist of the invitee's personal identifier.
- the information identifying the invitee will include an address (e.g. a PSTN Destination Number, an IP address, or an e-mail address) of a communications device associated with the invitee.
- the virtual team environment 3 formulates and sends an invitation message to the invitee. Exemplary steps and message flows in respect of Invitation messages are described in greater detail below with respect to FIGS. 28 - 36 a.
- FIG. 25 is a block diagram schematically illustrating exemplary functionality of the VTE client application 44 associated with an invitation message received (at 438 ) from the collaboration services suite 2 .
- this functionality may be provided by the installed VTE client application 44 .
- the invitee does not have a VTE client application 44 , then either one can be installed, or the functionality may be provided by an invitation object (which may, for example be implemented as a java applet) provided by the collaboration services suite 2 , and adapted to be instantiated within a suitable browser window.
- the functionality of FIG. 25 can be provided by an interactive voice response (IVR) interface of the collaboration services suite 2 .
- IVR interactive voice response
- the invitation message 440 received by the invitee contains the information assembled by the invitation object 374 from which the invitation was launched.
- the functionality associated with the received invitation 440 enables the invitee to respond to the invitation 440 by indicating their willingness to join the communications session immediately (at 442 ), decline the invitation (at 444 )and not join the communications session, or join the communications session at a later time (at 446 ).
- the invitee may send a reply message (not shown) back to the individual who caused the invitation to be forwarded to the invitee.
- This reply message will normally take the form of a one-way message.
- the invitee may also choose to initiate an instant messaging session with the invitor.
- a Join message is returned (at 448 ) to the collaboration services suite 2 , and an appropriate session object 354 , 380 or 406 instantiated in respect of the communications session (at 450 ).
- the collaboration services suite 2 operates to join the invitee into the communications session. Exemplary steps and message flows in respect of adding an invitee into an active communications session are described below with respect to FIGS. 28 - 36 a.
- an associated Decline message is forwarded (at 452 ) back to the person who initiated the invitation.
- the invitee may also be presented with a messaging window (not shown) to enable the invitee to enter a message to the invitor (e.g. to explain their unwillingness to join the communications session).
- An analogous functionality can also be implemented when the invitation is delivered to the invitee through a voice communications device via an IVR interface. In this case, the IVR interface may prompt the invitee to provide a Voice message, which can be recorded by the IVR interface and then forwarded as a VoiceMail message to the invitor.
- a deferral message may be returned to the collaboration services suite 2 and/or the person who initiated the invitation message, to indicate that the invitee has deferred joining the communications session.
- the invitation object remains active, so that the invitee can join the communications session (at 454 ) by clicking an appropriate button or icon to send a Join message (at 448 ) to the collaboration services suite 2 , as described above.
- the collaboration services suite 2 operates to join the invitee into the communications session. Exemplary steps and message flows in respect of adding an invitee into an active communications session are described below with respect to FIGS. 28 - 36 a.
- VTE virtual team environment
- voice communications sessions are preferably established in such a way that the collaboration services suite can exercise control over the calls at any time required by members of the team.
- control is exercised using a virtual switching point (VSP), also referred to as an enhanced application node (EAN) in the public switched telephone network (PSTN).
- VSP virtual switching point
- EAN enhanced application node
- PSTN public switched telephone network
- E-ISUP Integrated Services Digital Network User Part
- Trunks provisioned in this way are hereinafter referred to as “Enhanced ISUP (E-ISUP)” trunks, designated as E-ISUP (A), (B) and (C) in FIG. 30.
- E-ISUP Enhanced ISUP
- the respective E-ISUPs may be located anywhere in the PSTN. Since the VSP is a virtual switching point, its physical relationship with the respective E-ISUP trunks is arbitrary.
- FIG. 26 is a message flow diagram showing messages exchanged between components of the collaboration services suite of the VTE in accordance with the invention, as well as certain components of the public switched telephone network (PSTN) involved in voice communications establishment.
- the components of the PSTN include: service switching point (SSP) (X), which serves the telephone of a team member using VTE client A; SSP (Y), which serves a telephone of a team member using VTE client (B); SSP (Z), which serves a telephone of a team member using VTE client (C); SSP (D), which serves a conference bridge in a manner well known in the art; an SSP 1 connected to one end of an E-ISUP trunk (A); an SSP 2 connected to the other end of the E-ISUP trunk (A); an SSP 3 connected to one end of an E-ISUP trunk (B); an SSP 4 connected to the other end of the E-ISUP trunk (B); an SSP 5 connected to one end of an E-ISUP trunk (C); and, an SSP 6 connected to SSP
- the SSPs 1 - 6 can be a single SSP equipped with loop-back trunks, different SSPs, or two or more SSPs, depending on the network configuration used to implement the invention.
- the SSPs 1 - 6 are represented as separate service switching points.
- E-ISUP trunks For simplicity of illustration, only the three E-ISUP trunks are shown in FIG. 26. More E-ISUP trunks may be used in any given implementation of a VTE in accordance with the invention.
- team members can use their GUI to initiate a voice communications session with other team members, or other parties who may be reached by telephone even if they are not team members.
- a team member using VTE client (A) wishes to establish a two-way voice communications session with another team member using VTE client (B).
- the team member using VTE client (A) initiates the voice communications session (step 500 ) using the GUI, for example, by clicking on a voice communications icon associated with the personal identifier of the team member using VTE client (B).
- This action prompts the VTE client (A) to generate (step 502 ) a SessionRequest message that includes a personal identifier of the requesting team member (optional), a session type, and a personal identifier of the party or parties to be invited to join the voice communications session (team member using VTE client (B) in this example).
- the VTE server parses the request message to determine the session type and extracts the personal identifier(s) of the parties to be invited (step 504 ).
- the VTE server also assigns a session ID (step 506 ) to the session.
- the VTE server then translates the personal identifiers of the team members using VTE clients (A) and (B) to determine an available voice communications device associated with the respective team members.
- the determination of an available voice communications device is performed, for example, by referencing a team member profile and sending a query to the Presence Server (FIG. 2) to determine the availability of a preferred voice communications device specified in the profile associated with each of the team members using VTE clients (A) and (B). If a voice communications device is available for each of the team members, as shown in this example, the VTE server sends a MakeCall message to the VSP to initiate call setup in step 508 .
- the MakeCall message includes a dialed number for the team members using VTE clients (A), (B), as well as the session ID.
- the session ID is used by the VSP to create a session record for the purposes of tracking the session, should there be a subsequent request for the addition of other parties or for a change to some other type of communications medium, as will be explained below in more detail with reference to FIGS. 32 - 32 b.
- the VSP On receipt of the MakeCall message in step 508 , the VSP formulates an ISUP Initial Address Message (ISUP-IAM).
- the ISUP-IAM includes the dialed number of team member using VTE client (A). It also includes a circuit identification code (CIC) associated with the E-ISUP (A).
- CIC circuit identification code
- DPC Destination Point Code
- the VSP then sends the message in step 510 through the SS 7 network that controls the switched telephone network, and SS 7 routing protocols route the message through the common channel signaling network to the SSP 1 .
- the SSP 1 On receipt of the message, the SSP 1 translates the dialed number and forwards the ISUP-IAM through the SS 7 network in a manner well known in the art.
- the team member using VTE client (A) is provided telephone service by an SSP (X).
- the message is therefore forwarded through the network in step 512 to the SSP (X).
- the SSP (X) checks the availability of the subscriber line associated with the team member using VTE client (A) and, finding the line available, applies ringing to the line in step 514 . Thereafter, the SSP (X) returns an ISUP Address
- ISUP-ACM Complete Message
- SSP 1 the team member using VTE client (A) responds to the ringing signal by answering his voice communications device, which sends a signal to SSP (X) that the call has been answered.
- the SSP (X) responds by sending an ISUP Answer Message (ISUP-ANM) in step 524 to SSP 1 .
- the ISUP-ANM contains the CIC of E-ISUP (A), as is well known in the art.
- the SSP 1 then forwards the ISUP-ANM back through the common channel signaling network to the VSP in step 526 .
- the VSP On receipt of the ISUP-ANM, the VSP is informed that a connection has been established between the voice communications device of the team member using VTE client (A) and the SSP 1 .
- the VSP formulates a new ISUP-IAM in which the VSP inserts a routing code rather than a dialed number in order to establish a connection between an SSP 2 associated with the other end of the E-ISUP (A) and an SSP 3 associated with a first end of the E-ISUP (B).
- the ISUP-IAM includes the routing code, a CIC equal to the E-ISUP (B), and a DPC set to a point code of the SSP 2 associated with the other end of the E-ISUP (A).
- the routing code may be a dialed number, a Carrier Identification Code, or any other routing mechanism known in the art that can be used to force the call onto another E-ISUP trunk.
- the ISUP-IAM is forwarded through the common channel signaling network in step 530 .
- the SSP 2 translates the routing code and determines that the ISUP-IAM should be routed to the SSP 3 .
- the message is therefore forwarded through the SS 7 signaling network establishing a connectivity path in step 532 to SSP 3 (for the sake of network efficiencies at the physical transport level, SSP 2 and SSP 3 may be the same SSP or adjacent SSPs).
- step 534 the SSP 3 forwards the message back to the VSP, because the VSP is a virtual node associated with the E-ISUP (B) to which the call was forced by the routing code inserted by the VSP in step 528 .
- the VSP extracts the routing code and inserts the dialed number of the team member using VTE client (B) (step 536 ).
- the VSP then inserts a DPC equal to the point code of SSP 4 and forwards the message through the common channel signaling network in step 538 .
- the SSP 4 On receipt of the message, the SSP 4 translates the dialed number and determines that the ISUP-IAM should be forwarded through the common channel signaling network towards the SSP (Y) (step 540 ).
- the SSP (Y) On receipt of the ISUP-IAM, the SSP (Y) applies a ringing signal to the subscriber line of the team member using VTE client (B) in step 542 . Thereafter, the SSP (Y) returns an ISUP-ACM which is forwarded in steps 544 , 546 to the VSP.
- the team member using VTE client (B) responds to the ringing signal by answering his voice communications device. The answer signal prompts the SSP (Y) to formulate an ISUP-ANM which is forwarded through the network in steps 550 , 552 to the VSP.
- the VSP On receipt of the ISUP-ANM, the VSP has confirmation that each leg of the call has been answered by the respective team members, who are parties to the communications session, and that a connection now exists between the parties. Consequently, the VSP sends a CallCreated message in step 554 to inform the VTE server that the call has been created between the team members using VTE clients (A) and (B), as requested.
- the message sent in step 554 is sent through a data packet network, such as the Internet.
- the VTE server updates the communications session display area of each member of the team. For the sake of simplicity of illustration, only three team members are shown in FIG. 26. Regardless of the number of team members, a StatusEvent message is sent to each available VTE client (A), (B) and (C) to permit the GUI to be updated to display the communications session.
- a SessionRequest message indicates that the session is to be a private session between two or more team members, only the GUI of participating team members is updated. If, however, the communications session is not marked “private”, the GUI of each team member is updated. In the example shown in FIG. 30, the conversation was not marked “private”. Therefore, a StatusEvent message indicating a voice communication session between team members using VTE clients (A) and (B) is sent to each of the team members using VTE clients (A)-(C) and the respective GUIs are updated to display the session in the communications session display window (steps 556 - 566 ). It should be noted that the VTE server also preferably sends status data to the Presence Server to update availability information respecting the voice communications devices in use. This is not shown.
- voice communications sessions are preferably closed using an explicit command sent to the VTE server from a VTE client.
- FIG. 27 illustrates the principal steps in a preferred procedure for closing a two-way voice communications session.
- the process begins in step 570 when the team member using VTE client (A) selects a CloseSession option from the communications session window displayed on his GUI. Choosing the option prompts the VTE client (A) to formulate and send a CloseSession message to the VTE server (step 572 ).
- the CloseSession message includes the session ID, which is used by the VTE server in step 574 to optionally archive a record of the voice communications session. Thereafter the VTE server sends a CloseSession message to the VSP in step 576 .
- the CloseSession message includes the session ID.
- the VSP uses the session ID to retrieve details related to the voice communications session from a session log table, or the like.
- the VSP formulates an ISUP Release message (ISUP-REL) including a circuit identification code (CIC) of E-ISUP (A), and forwards the ISUP-REL through the common channel signaling network toward SSP 1 , which releases resources associated with the voice communications session and returns an ISUP Release Complete (ISUP-RLC) message to the VSP in step 580 , indicating that the SSP 1 has released E-ISUP (A).
- the SSP 1 then forwards the ISUP-REL through the common channel signaling network toward SSP (X) in step 582 , releasing resources along the way in a manner well known in the art.
- SSP (X) releases resources associated with the subscriber line of the team member using VTE client (A) and returns an ISUP-RLC which is routed back through the network in step 584 to the SSP 1 .
- the SSP (X) also a release the subscriber line of the team member using VTE client (A) in step 586 , if the communications device is still online.
- the VSP has formulated an ISUP-REL containing a CIC equal to E-ISUP (A) and forwards the ISUP-REL through the common channel signaling network toward the SSP 2 in step 588 to release the E-ISUP (A) at SSP 2 .
- the SSP 2 releases resources and returns an ISUP-RLC through the network to the VSP in step 590 , indicating that E-ISUP (A) resources have been released and are available for the next call.
- the ISUP-REL message is then forwarded through the network by SSP 2 (step 591 ) to the SSP 3 which returns an ISUP-RLC in step 592 .
- the ISUP-REL is relayed by SSP 3 to the VSP in step 594 , and the VSP returns an ISUP-RLC to the SSP 3 in step 596 . Meanwhile, the VSP formulates a third ISUP-REL message, which includes a CIC equal to E-ISUP (B) that causes the release of the connection to the team member using VTE client (B), as described above with respect to the team member using VTE client (A).
- the release of resources is illustrated in steps 600 - 608 .
- the VSP On receipt of the ISUP-RLC in step 602 , the VSP sends a SessionClosed message to the VTE server (step 610 ), which sends StatusEvent messages to the respective VTE clients (A)-(C) to update the GUI display to reflect the fact that the session has been closed, as shown in steps 612 - 622 .
- the VTE server preferably also sends status updates to the Presence Server (not shown) to indicate that the respective voice communications devices are available.
- FIG. 28 is a message flow diagram illustrating the principal messages exchanged between components of the distributed application when the team member using VTE client (A) requests that the team member using VTE client (C) be added to the two-way conference call set up between the team members using VTE clients (A) and (B), as explained above with reference to FIG. 26.
- the third party is asked to join the voice communications session by using an invitation object described above. It should be understood, however, that an invitation is not required to add a third party to a voice communications session.
- the invitation is optional and is not used, for example, when the third party's available communications device is a cellular phone or the third party is not logged on to a VTE client.
- step 624 the team members using VTE clients (A) and (B) decide that the team member using VTE client (C) should be brought into the voice communications session in which they are participating. Consequently, the team member using VTE client (A) uses options available in a communications session window opened on the GUI (step 624 ) to initiate an AddParty message, which is sent in step 625 to the VTE server.
- the AddParty message includes the session ID, a personal identifier associated with the new party using VTE client (C); a topic of the discussion, if entered by the team member using VTE client (A) in step 624 ; a message related to the voice session, if a message was entered in step 624 ; plus, any meeting notes which have been entered by either of the team members using VTE clients (A) or (B) since the start of the two-way voice communications session described above with reference to FIG. 26. It should be noted that a topic of discussion can be added or modified by any participant in a voice communications session at any time, and will thereafter be displayed in invitation messages sent during the voice communications session.
- the AddParty message is forwarded by the GUI (A) to the VTE server (step 625 ).
- the VTE server On receipt of the AddParty message, the VTE server translates the personal identifier of the team member using VTE client (C) (step 626 ) to determine an available voice communications device associated with the team member using VTE client (C) by sending a query message to the Presence Server (not shown).
- the VTE server may also, optionally, send StatusEvent messages back to the GUIs of the team members using VTE clients (A) and (B) to inform the respective team members that the AddParty message has been received, and that the VTE server is acting to establish connection with team member using VTE client (C).
- the respective messages are shown in steps 627 and 629 , and are displayed by the respective VTE clients (A) and (B) in steps 628 and 630 .
- the VTE server uses information derived from the translation performed in step 626 to forward an invitation message in step 631 to the GUI of the team member using VTE client (C).
- the invitation message includes a personal identifier associated with the inviting team member, in this example, the team member using VTE client (A); the topic of discussion related to the voice communications session, if entered by team member (A); the message, if entered; meeting notes; a list of the personal identifiers associated with all participants in the voice communications session; and, a session ID.
- That invitation information is displayed (step 632 ) in an Invitation window opened by the VTE client (C) on the GUI (C), except for the session ID. Since the session ID is only useful information to the distributed application of the collaboration services suite, it is not displayed.
- the team member using VTE client (C) is available and decides to accept the invitation on receipt (step 633 ).
- the VTE client (C) In response to acceptance, the VTE client (C) generates a Join message that includes the session ID and forwards the Join message in step 634 to the VTE server.
- the VTE server On receipt of the Join message, the VTE server translates the session ID (step 635 ) to retrieve information stored in step 626 and optionally sends StatusEvent messages (steps 636 , 638 ) to the team members using VTE clients (A) and (B) to advise that the VTE server is now “trying” to connect the team member using VTE client (C).
- the respective StatusEvent messages are displayed in steps 637 and 639 .
- the VTE server subsequently forwards an AddLeg message (step 646 ) to the VSP requesting that a leg be added to the two-way voice communications session to include the team member using VTE client (C).
- the AddLeg message also includes the dialed number of the team member using VTE client (C) as well as the session ID.
- the VTE server likewise sends a NewSession message (step 648 ) to the conference bridge, to advise the conference bridge that a voice communications session is to be setup.
- the NewSession message includes a dialed number that will be used to connect to the conference bridge (the dialed number that was just passed to the VSP in step 646 ) and the session ID.
- one method of associating calls to a conference bridge is the use of a unique dialed number for each communications session. Other methods are also known, and no particular method is a preferred implementation in accordance with the invention.
- the conference bridge On receipt of the NewSession message, the conference bridge creates a new session record in step 650 so that it will be able to handle calls related to the new session as they are answered.
- the VSP uses the session ID to reference records related to the two-way conference call.
- voice communications sessions that include more than two parties are preferably instantiated using the conference bridge. The VSP is therefore programmed to release parts of the two-way voice connection and connect all three parties to the conference bridge.
- step 652 the VSP sends an ISUP Release (ISUP-REL) message to SSP 2 to release the call in a forward direction.
- the SSP 2 therefore releases resources associated with the terminating end of the E-ISUP (A) and returns an ISUP-RLC to the VSP in step 653 .
- the SSP 2 then forwards an ISUP-REL message in step 654 to the SSP 3 associated with the first end of the E-ISUP (B).
- the SSP 3 After releasing resources associated with the first end of E-ISUP (B), the SSP 3 returns an ISUP-RLC to SSP 2 (step 655 ) and forwards an ISUP-REL to the VSP (step 656 ).
- the VSP On receipt of the ISUP-REL, the VSP discards the message in step 658 , to prevent the call connection to the team member using VTE client (B) from being torn down. Immediately thereafter, the VSP returns an ISUP-RLC message (step 659 ) to the SSP 3 to satisfy a trunk state requirement of the trunk just released. The VSP then formulates an ISUP-IAM, which includes the dialed number of the conference bridge and a CIC equal to the E-ISUP (A), which is still supporting the connection to the team member using VTE client (A) and forwards the IAM (step 660 ) towards the SSP 2 .
- ISUP-IAM which includes the dialed number of the conference bridge and a CIC equal to the E-ISUP (A), which is still supporting the connection to the team member using VTE client (A) and forwards the IAM (step 660 ) towards the SSP 2 .
- the SSP 2 On receipt of the IAM, the SSP 2 translates the number and determines that the ISUP-IAM should be forwarded (step 662 ) through the switched telephone network to an SSP (D) that serves the conference bridge. On receipt of the ISUP-IAM, the SSP (D) sends an ISDN-Setup message to the conference bridge in step 664 , and passes the dialed number to the conference bridge in a manner well known in the art.
- FIG. 28 a Illustration of the voice communications session setup is continued in FIG. 28 a .
- the conference bridge responds with an Acknowledge message in step 665 .
- the SSP (D) returns an ISUP-ACM in step 666 to the SSP 2 , which forwards the message in step 668 back to the VSP.
- the conference bridge sends an Answer message, which prompts SSP (D) to forward an ISUP-ANM in step 672 to the SSP 2 .
- the SSP 2 forwards the ISUP-ANM to the VSP, which provides confirmation to the VSP that the team member using VTE client (A) is now connected to the conference bridge.
- the VSP therefore sends a CallCreated message through packet network to the VTE server in step 678 .
- the conference bridge associates a dialed number passed in the ISDN-Setup message with the session recorded in step 650 above, and connects the call to a portion of the conference bridge reserved for the session.
- the conference bridge optionally also plays a recorded message to the team member using VTE client (A) in step 684 .
- the message played in step 684 may be, for example, a message such as: “You are now connected to the conference bridge.”
- the VSP formulates a second ISUP-IAM message that includes the dialed number of the conference bridge and the CIC of E-ISUP (B), which still supports a call connection to the team member using VTE client (B).
- the ISUP-IAM is forwarded in step 686 to the SSP 3 , which translates the dialed number and determines that the ISUP-IAM should be forwarded through the network to the SSP (D) that serves the conference bridge.
- the SSP 3 therefore forwards the message in step 688 and the message progresses through the common channel signaling network to the SSP (D).
- the SSP (D) On receipt of the ISUP-IAM, the SSP (D) sends an ISDN Setup message in step 690 to the conference bridge, and the conference bridge responds with an Acknowledge message (step 691 ). On receipt of the Acknowledge message, the SSP (D) returns (step 692 )an ISUP-ACM to SSP 3 , and SSP 3 forwards the message in step 694 to the VSP. Meanwhile, the conference bridge sends an Answer message in step 696 to the SSP (D), which prompts the SSP (D) to formulate an ISUP-ANM that is sent in step 700 to the SSP 3 and forwarded in step 702 to the VSP.
- the VSP On receipt of the ISUP-ANM, the VSP sends a CallCreated message through the data packet network in step 704 to indicate that the team member using VTE client (B) is now connected to the conference bridge.
- the VTE server responds by sending an Add message (step 706 ) to the conference bridge.
- the Add message specifies the session ID, and may also specify the dialed number.
- the conference bridge responds in step 800 by joining the call associated with the team member using VTE client (A) with the connection associated with the team member using VTE client (B), and immediately thereafter provides notification that a party has joined the conference call.
- the notification may be, for example, the playing of an audio tone, as shown in step 802 .
- the conversation between parties (A) and (B) may therefore ensue, as shown at 803 .
- Parties (A) and (B) are therefore connected to the conference bridge, but party (C) has not yet been added to the communications session.
- the events associated with adding the team member using VTE client (C) to the voice session are shown in FIGS. 28 a and 28 b .
- the VSP continues its activity by formulating an ISUP-IAM in which the dialed number equals the dialed number of an available voice communications device associated with the team member using VTE client (C) and a CIC equal to the E-ISUP (C) and forwards the message toward SSP 5 , which translates the dialed the number and forwards the message through the common channel signaling network in step 805 to the SSP (Z), which serves the team member using VTE client (C).
- the SSP (Z) applies ringing to a subscriber line of the team member using VTE client (C) in step 806 .
- the SSP (Z) After applying ringing, the SSP (Z) returns an ISUP-ACM in step 807 to SSP 5 , which is forwarded in step 808 to the VSP.
- the VSP On receipt of the ISUP-ACM, the VSP optionally returns a CallRinging message in step 809 to the VTE server.
- the VTE server responds to the CallRinging message in steps 810 and 812 by sending StatusEvent messages to advise the team members using VTE clients (A) and (B) that the call to join the team member using VTE client (C) has progressed to a point that the voice communications device of that team member is ringing.
- the StatusEvent messages are displayed on the respective GUIs of the team members using VTE clients (A) and (B) in steps 811 and 813 .
- the team member using VTE client (C) responds to the ringing signal by answering the call which sends an answer signal in step 814 to the SSP (Z).
- the SSP (Z) forwards an ISUP-ANM in step 816 to SSP 5 .
- the SSP 5 forwards the ISUP-ANM in step 818 to the VSP, which informs the VSP that a call connection has been established with the team member using VTE client (C).
- the VSP has formulated another ISUP-IAM with a dialed number of the conference bridge and a CIC equal to the E-ISUP (C), and forwards the message in step 820 to the SSP 6 , which translates the dialed number and forwards an ISUP-IAM through the common channel signaling network towards the SSP (D), which serves the conference bridge (step 822 ).
- the SSP (D) passes an ISDN-Setup message in step 824 to the conference bridge, which responds with an Acknowledge message in step 825 .
- the SSP (D) returns an ISUP-ACM in step 826 to the SSP 6 , which forwards the ISUP-ACM in step 828 to the VSP.
- the conference bridge responds to the ISDN-Setup message with an Answer message in step 830 , which prompts the SSP (D) to formulate an ISUP-ANM that is forwarded through the common channel signaling network in steps 832 and 834 to the VSP.
- the VSP responds by sending a CallCreated message through the data packet network in step 836 to the VTE server.
- the VTE server may respond by sending an Add message to the conference bridge (step 838 ).
- the Add message includes the session ID and, optionally, the dialed number used to set up the call to the conference bridge.
- the conference bridge joins the team member using VTE client (C) to the voice session in step 840 .
- the conference bridge may have used a dialed number passed in the ISDN-Setup message (step 824 ) to join the team member to the voice session.
- the conference bridge preferably plays a tone in step 842 to advise the team members using VTE clients (A) and (B) that the team member using VTE client (C) has joined the voice communications session.
- the VTE server sends StatusEvent messages through the data packet network, which cause the session display area of the GUIs (A)-(C) to be updated, as shown in steps 844 - 854 . Thereafter, conversation ensues between team members using VTE clients (A), (B) and (C) as shown at 856 .
- FIG. 29 illustrates a method for closing the three-way voice session in accordance with an embodiment of the invention.
- the team member using VTE client (A) selects a Close option on a communications session window displayed on the GUI of the VTE client (A). This prompts the VTE client (A) to formulate a Close message which is sent to the VTE server in step 900 .
- the Close message includes the session ID.
- the VTE server responds to a Close message by archiving a record (optional) of the voice communications session in step 902 .
- the VTE server sends a CloseSession message to the VSP.
- the CloseSession message includes the session ID, which the VSP uses to retrieve session information from a log table, or the like. Having retrieved the session information, the VSP formulates an ISUP-REL which is forwarded through the common channel signaling network and releases the connection to the team member using VTE client (A) as shown in steps 906 - 914 .
- the messages exchanged and their effect in the network are the same as explained in detail above with reference to FIG. 27.
- the VSP meanwhile formulates another ISUP-REL, which is forwarded through the network to release the connection between SSP 2 and the conference bridge as shown in steps 916 - 924 .
- the Release sequence is repeated in steps 928 - 936 to release the team member using VTE client (B) from the SSP 4 .
- the release of SSP 3 is likewise accomplished, as illustrated in steps 938 - 948 .
- a similar process is repeated to release the team member using VTE client (C) from SSP 5 as illustrated in step 950 - 958 , as shown in FIG. 29 a .
- the last connection is released from the conference bridge as shown in steps 960 - 970 .
- the VSP sends a SessionClose message in step 974 indicating the session ID to the VTE server.
- the VTE server then sends a StatusEvent message indicating session type, session ID and an action indicating that the session was closed, which prompts the respective VTE clients to update the respective GUIs to remove information related to the session from the communications session window, as shown in steps 976 - 986 .
- FIG. 30 shows the principal messages exchanged during setup of a two-way voice communications session in an enterprise network in which a Private Branch Exchange (PBX) is used for at least a part of call setup.
- PBX Private Branch Exchange
- the team members using VTE clients (B) and (C) are employees of the enterprise and their voice communications devices are therefore served by the enterprise network.
- the team member using VTE client (A) is not an employee of the enterprise and his voice communications devices are served by an SSP (X) which is in the PSTN, for example.
- the team member using VTE client (B) initiates a two-way voice communications session, as described above with reference to FIG. 26.
- the session initiation causes the VTE client (B) to formulate a Session Initiation request, which is forwarded to the VTE server in step 990 .
- the VTE server assigns a session ID to the session request and translates the SessionRequest message in step 994 to determine session type.
- the VTE server queries the Presence Server (not shown) to determine the availability of voice communications devices associated with the team members using VTE clients (B) and (C).
- the VTE server sends a Software Control Application Interface (SCAI) message, for example, to the PBX in step 996 to initiate connection to the first team member using VTE client (B).
- SCAI Software Control Application Interface
- the SCAI message contains the extension number of the team member using VTE client (B) as well as the extension number of the team member using VTE client (C).
- the PBX completes a first leg of the call by applying ringing to the extension line of the team member using VTE client (B) in step 998 .
- a message sequence required to complete this connection is well understood by persons skilled in the art, and not all messages are shown in this representation.
- the team member using VTE client (B) answers the call which sends an Answer signal to the PBX.
- the PBX On receiving the Answer signal, the PBX applies ringing to the extension line of the voice communications device of team member using VTE client (C) in step 1002 and the team member using VTE client (C) answers the call which sends an off-hook signal in step 1004 to the PBX.
- the PBX returns a Connect message to the VTE server to inform the VTE server that the call has been completed.
- the VTE server responds by sending StatusEvent messages with session type and participants to the respective GUIs of the three team members which causes the session information to be displayed in steps 1008 - 1018 .
- the VTE server may also pass device-in-use information to the Presence Server, as explained above with reference to FIG. 30. Thereafter, conversation ensues between the team members using VTE clients (B) and (C) as shown at 1019 .
- the team member using VTE client (B) therefore initiates the addition of the team member using VTE client (A) using options in a communications session window opened on the GUI of the team member using VTE client (B).
- the action causes the VTE client (B) to send an Add message to the VTE server.
- the Add message includes a session ID and a personal identifier associated with the team member using VTE client (A).
- the VTE server On receipt of the Add message, the VTE server responds by sending StatusEvent messages to VTE clients (B) and (C) in steps 1022 and 1026 , to advise that the Add message has been received and is being processed.
- the respective messages are displayed by the GUIs of the team members using VTE clients (B) and (C) in steps 1024 and 1028 .
- the VTE server sends an invitation message to the VTE client of the team member using VTE client (A) (step 1030 ).
- the invitation is optional and the call can be initiated directly to a voice communications device of the team member using VTE client (A) without using an invitation object.
- an invitation is used and the invitation message includes a personal identifier of the team member that initiated the invitation; optionally a topic associated with the communication session; an optional message associated with the communication session; meeting notes as entered by either of the team members using VTE clients (B) and (C) during the course of the communications session; personal identifiers associated with the participants; and, a session ID.
- the VTE client (A) displays the invitation message in step 1032 .
- client (A) In response to the invitation displayed, client (A) is available and selects a Join option on the invitation display. This prompts the VTE client (A) to send a Join message including the session ID back to the VTE server in step 1034 .
- the VTE server translates the Join message in step 1036 and determines an available voice termination associated with the team member using VTE client (A) using profile and presence information, as described above.
- the available voice communications device retrieved from the profile in step 1036 indicates that the team member using VTE client (A) is located outside the enterprise network. Consequently, the VTE server determines that it is preferable to complete the call using a conference bridge in the public switched telephone network. Therefore, in step 1038 , the VTE server sends an SCAI ThirdPartyCall (step 1038 ) command to the PBX designating an originating number as the extension number of team member using VTE client (B) and dialed number as that of the conference bridge. The VTE server also sends a NewSession message (step 1039 ) to the conference bridge to advise the conference bridge that a new voice communications session is to be established.
- SCAI ThirdPartyCall step 1038
- the VTE server also sends a NewSession message (step 1039 ) to the conference bridge to advise the conference bridge that a new voice communications session is to be established.
- the NewSession message includes the dialed number just sent to the VSP in step 1038 , and the session ID.
- the conference bridge responds to the message by creating a session record in step 1040 and reserving bridge resources to handle the new session.
- the PBX sends an ISDN Setup message to an SSP (Y) in the PSTN that serves the PBX (step 1041 ).
- the SSP (Y) responds by formulating an ISUP-IAM, which it forwards through the common channel signaling network in step 1042 to the SSP (D) that serves the conference bridge.
- the SSP (D) On receipt of the ISUP-IAM, the SSP (D) sends an ISDN Setup message to the conference bridge in step 1044 , which responds with an Acknowledge message in step 1045 .
- the SSP (D) then returns an ISUP-ACM message in step 1046 to the SSP (Y).
- the SSP (Y) responds by returning an ISDN Acknowledge message to the PBX in step 1047 .
- the conference bridge returns an Answer message in step 1048 , which prompts the SSP (D) to send an ISUP-ANM message in step 1050 through the common channel signaling network to SSP (Y).
- An ISDN Answer message is then returned to the PBX in step 1052 .
- the PBX On receipt of the ISDN Answer message, the PBX sends a message through the data packet network to the VTE server (step 1054 ) to advise that the third party call was successfully completed. Meanwhile, the conference bridge acknowledges the connection of the team members using VTE clients (A) and (C) by a message in step 1060 such as, for example, “You have been connected to the conference bridge.” Thereafter, conversation between the team members using VTE clients (B) and (C) can then resume as shown in step 1070 .
- FIG. 31 a illustrates the principal steps in the addition of the team member using VTE client (A) to the voice communication session.
- the VTE server sends StatusEvent messages to the VTE clients (B) and (C), to advise that the connection of the team members using VTE client (A) is now underway (“trying”).
- the Status messages are displayed on the respective GUIs, as shown in steps 1072 - 1078 .
- the VTE server also sends a command to the VSP in step 1080 , requesting that it add a leg to the voice communications session identified by the session ID, and providing the dialed numbers of the team member using VTE client (A) and the conference bridge.
- the VSP responds by formulating an ISUP-IAM containing the dialed number of the team member using VTE client (A) and specifying a CIC of E-ISUP (A).
- the ISUP-IAM is forwarded in step 1082 to SSP 1 which translates the dialed number and determines that the ISUP-IAM should be forwarded through the signaling network toward SSP (X) (step 1084 ).
- SSP SSP
- the SSP (X) applies ringing to the subscriber line in step 1086 , and an ISUP-ACM message is returned to the VSP in steps 1088 and 1090 .
- the VSP may send a CallRinging message to the VTE server, which may in turn send StatusEvent messages to VTE clients (A) and (B), as described above with reference to FIG. 28 b , steps 809 - 813 .
- the team member using VTE client A answers their phone in step 1092 which prompts SSP (X) to forward an ISUP-ANM message back toward the VSP in steps 1094 and 1096 .
- the VSP formulates another ISUP-IAM which it sends toward the SSP 2 in step 1098 .
- the SSP 2 On receipt of the IAM, the SSP 2 ) translates the number of the conference bridge and determines that the ISUP-IAM should be forwarded to the SSP (D) (step 1100 ). On receipt of the ISUP-IAM, the SSP (D) sends an ISDN-Setup message to the conference bridge (step 1102 ), which returns an Acknowledge message in step 1103 . On receipt of the Acknowledge message, the SSP (D) and returns an ACM (step 1104 ). The SSP 2 forwards the ISUP-ACM in step 1106 to the VSP.
- the conference bridge sends an Answer message in step 1108 which prompts the SSP (D) to return an ISUP-ANM in steps 1110 and 1112 to the VSP.
- the VSP responds by sending a CallCreated message in step 1114 to the VTE server.
- the VTE server optionally sends an Add message (step 1116 ) to the conference bridge providing the session ID and optionally including the dialed number.
- the conference bridge joins the team member using VTE client (A) with the team members using VTE clients (B) and (C) in step 1118 and plays a tone to announce the arrival of the team member using VTE client (C) in step 1120 .
- the conference bridge may have automatically joined (C) to the voice session on receipt of a dialed number passed in the ISDN-Setup message (step 1002 ), described above.
- the VTE server sends StatusEvent messages which cause the session display on the respective GUIs of each team member to be updated in steps 1122 - 1132 . Thereafter conversation ensues between the team members using VTE clients (A), (B) and (C) as shown at 1134 .
- FIGS. 32, 32 a and 32 b illustrate the principal messages exchanged during the conversion of an Instant Message session involving the team members using VTE clients (A), (B) and (C) to a voice communications session involving the same team members.
- VTE clients A
- B VTE clients
- C voice communications session involving the same team members.
- the team members therefore agree to convert to a voice communications session and the team member using VTE client (A) initiates a ConvertSession message from a communications session window displayed on the GUI (A).
- the selection causes the VTE client (A) to formulate a ConvertSession message which provides session ID and a new session type.
- the message is forwarded through the data packet network to the VTE server in step 1136 .
- the VTE server translates the session ID (step 1138 ) to determine the session type and the participants.
- the VTE server then closes the Instant Message session (step 1140 ) and sends StatusEvent messages to the respective GUIs to remove the Instant Message session from the session display window in steps 1142 - 1150 .
- Status information may also be sent to the Presence Server (not shown) as explained above.
- the VTE server then translates (step 1152 ) the personal identifiers associated with the respective team members to determine the dialed numbers of a preferred telephone device associated with each team member, as explained above.
- the VTE server then formulates a MakeCall message providing the dialed numbers of the team members using VTE clients (A), (B) and (C) as well as a dialed number for the conference bridge and the session ID (step 1154 ).
- the VTE server then sends a NewSession message to the conference bridge, to provide the dialed number to be used to call the conference bridge, and a session ID (step 1155 ).
- the conference bridge responds to the NewSession message by creating a session record (step 1156 ) and allocating resources in a manner well known in the art.
- the VSP formulates a first ISUP-IAM including a dialed number of the team member using VTE client (A) and a CIC of E-ISUP (A) which is forwarded through the network in steps 1156 and 1158 to SSP (X).
- the SSP (X) applies a ringing signal to the subscriber line of a voice communications device of the team member using VTE client (A) (step 1160 ), and returns ISUP-ACM messages in steps 1162 and 1164 back to the VSP.
- VTE client (A) responds to the ringing by answering the call, which sends an Answer signal to the SSP (X) in step 1166 .
- the SSP (X) formulates an ISUP-ANM message, which is forwarded through the network to VSP in steps 1168 and 1170 .
- the VSP formulates another ISUP-IAM, which includes the dialed number of the conference bridge and a CIC of E-ISUP (A) and forwards the ISUP-IAM in step 1172 to SSP 2 .
- the SSP 2 forwards the ISUP-IAM to SSP (D) that serves the conference bridge.
- the SSP (D) then sends an ISDN-Setup message to the conference bridge in step 1176 , which responds with an Acknowledge message in step 1177 .
- the SSP (D) On receipt of the Acknowledge message, the SSP (D) returns an ISUP-ACM to the SSP 2 in step 1178 and it is forwarded to the VSP in step 1180 .
- the conference bridge sends an Answer message in step 1182 , which prompts SSP (D) to formulate and return ISUP-ANM messages to the SSP 2 in step 1184 and it is forwarded to the VSP in step 1186 .
- SSP SSP
- the VSP On receipt of the ISUP-ANM message, the VSP has confirmation that the call has been completed between the team member using VTE client (A) and the conference bridge.
- the VSP therefore sends a CallCreated message to the VTE server in step 1188 .
- the conference bridge may also play a Welcome message to the team member using VTE client (A) (step 1192 ) as explained above with reference to FIG. 31, for example.
- the VSP formulates a third ISUP-IAM, which includes a dialed number of a preferred telephone device of the team member using VTE client (B) and a CIC equal to the E-ISUP (B).
- the ISUP-IAM is forwarded through the SS 7 network to SSP 4 , which is connected to the second end of E-ISUP (B) (step 1194 ).
- the SSP 4 translates the dialed number of the team member using VTE client (B) and determines that the IAM should be forwarded through the common channel signaling network toward SSP (Y) (step 1196 ).
- SSP (Y) On receipt of the ISUP-IAM, SSP (Y) applies ringing to the subscriber line (step 1198 ) and returns an ACM message in steps 1200 and 1202 to the VSP. Meanwhile, the team member using VTE client (B) answers the call, which sends an Answer signal (step 1204 ) to the SSP (Y). The SSP (Y) responds by sending an ISUP-ANM in steps 1206 , 1208 back to the VSP. The VSP responds by formulating a fourth ISUP-IAM with the dialed number equal to that of the conference bridge and a CIC equal to the E-ISUP (B).
- the fourth ISUP-IAM is forwarded in step 1210 to the SSP 3 , and from there (step 1212 ) to SSP (D).
- the SSP (D) On receipt of the ISUP-IAM, the SSP (D) sends an ISDN-Setup message to the conference bridge (step 1214 ) and the conference bridge returns an Acknowledge message (step 1215 ).
- the SSP (D) On receipt of the Acknowledge message, the SSP (D) returns an ISUP-ACM message, which is forwarded in step 1216 to the SSP 3 and in step 1218 to the VSP.
- the conference bridge sends an Answer message in step 1220 to SSP (D), which prompts the SSP (D) to formulate an ISUP-ANM that is forwarded to the SSP 3 in step 1222 and on to the VSP in step 1224 .
- the VSP then sends a CallCreated message (step 1226 ) to the VTE server advising that the team member using VTE client (B) has been connected to the conference bridge.
- the VTE server may respond by formulating an Add message, which is forwarded to the conference bridge (step 1228 ).
- the Add message includes the session ID, and optionally includes the dialed number used to call the conference bridge.
- the conference bridge responds in step 1230 by joining the team members using VTE clients (A) and (B) and playing a tone to announce that the team member using VTE client (B) has joined the voice communications session (step 1232 ).
- the conference bridge may automatically join the team members using VTE clients (A) and (B) when a dialed number passed in the ISDN-Setup message (step 1214 ) is received, as explained above in greater detail. Thereafter, conversation ensues between the team members using VTE clients (A) and (B) as shown at 1234 .
- the VSP connects team member using VTE client (C) to the conference bridge by formulating a fifth ISUP-IAM that includes the dialed number of a preferred voice communications device for voice communications with the team member using VTE client (C) and a CIC equal to the E-ISUP (C).
- the ISUP-IAM is forwarded through the common channel signaling network in step 1236 to SSP 5 and in step 1238 to the SSP (Z).
- the SSP (Z) responds by applying ringing to the subscriber line of team member using VTE client (C) (step 1240 ) and returns an ISUP-ACM message which is forwarded back to the SSP 5 in step 1242 and on to the VSP in step 1244 .
- the team member using VTE client (C) answers the telephone, which sends an Answer signal (step 1246 ) to SSP (Z), which formulates an ISUP-ANM message that is forwarded through the common channel signaling network in step 1248 to SSP 5 and in step 1250 the ISUP-ANM is forwarded on to the VSP.
- SSP SSP
- the VSP formulates a sixth ISUP-IAM message that includes a dialed number of the conference bridge and a CIC equal to E-ISUP (C).
- the ISUP-IAM is forwarded in step 1252 to the SSP 6 and in step 1254 on to the SSP (D), which responds by sending an ISDN-Setup message to the conference bridge (step 1256 ), which returns an Acknowledge message in step 1257 .
- the SSP (D) On receipt of the Acknowledge message, the SSP (D) returns an ISUP-ACM message, which is forwarded in step 1258 to SSP 6 and in step 1260 to the VSP. Meanwhile, the conference bridge sends an Answer message in step 1262 . This prompts the SSP (D) to formulate an ISUP-ANM, which is forwarded in steps 1264 and 1268 to the VSP.
- the VSP On receipt of the ISUP-ANM, the VSP sends a CallCreated message to the VTE server (step 1270 ) to advise that all three parties are now connected to the conference bridge.
- the VTE server may respond by sending an Add message, which includes session ID, and optionally dialed number, to the conference bridge in step 1272 .
- the conference bridge responds in step 1274 by joining the team member using VTE client (C) to the team members using VTE clients (A) and (B). Alternatively, the join may be automatically accomplished by the conference bridge using a dialed number passed in the ISDN-Setup message in step 1256 , as explained above with reference to FIG. 31.
- the conference bridge then plays a tone in step 1276 to alert the team members using VTE clients (A) and (B) that (C) has joined the voice communications session. Thereafter, the VTE server sends StatusEvent messages to the respective GUIs of the team members using VTE clients (A), (B) and (C), which generate a display of the voice communications session, as shown in steps 1278 - 1288 . Thereafter conversation ensues between the team members using VTE clients (A), (B) and (C) as shown at 1290 .
- the VTE in accordance with the invention also supports multi-media sessions.
- a multi-media session is set up using streaming video for visual display, and a switched telephone network for the audio transmission during the communications session. This improves video performance, while ensuring the best voice quality, and overall reliability.
- VoIP Voice over Internet Protocol
- a PSTN/Internet solution provides superior quality and user satisfaction.
- setup of a multi-media session is automatically handled by the VTE, which uses profile and presence information to determine an Internet Protocol address of a VTE client used by each team member. The VTE then automatically supplies Internet Protocol (IP) addresses to the VTE clients of other team members to enable transparent setup of multi-media communications sessions, as will be explained below in more detail with reference to FIGS. 33 through 36.
- IP Internet Protocol
- FIG. 33 illustrates the principal messages exchanged between elements of the VTE and the PSTN during the setup of a two-way multi-media session between two team members.
- the team member using VTE client (A) initiates a multi-media session by, for example, clicking on a communications icon on the team member interface (GUI) in step 1292 .
- VTE client (A) formulates a session request message containing a personal identifier of the team member using VTE client (B) with whom the team member using VTE client (A) wishes to conduct the multi-media session, a session type, and, optionally, a session topic and a session text message entered by the team member using VTE client (A).
- the SessionRequest message is sent to the VTE server in step 1294 .
- the VTE server assigns a session ID in step 1296 and translates the SessionRequest message in step 1298 to determine what devices are available to the team member using VTE client (B) for setting up the multi-media session.
- the team member profile of team member using VTE client (B) and presence information associated with team member using VTE client (B) are used to determine the devices available for use in the multi-media session, as explained above.
- the VTE server determines that the team member using VTE client (B) is logged on, and that the VTE client (B) is available.
- the VTE server therefore formulates an invitation which is sent to the VTE client (B) in step 1300 .
- the invitation message includes an identifier of the requester, the session type, and, optionally, the session topic and the session text message related to or describing the session, which was sent from the session initiator, the team member using VTE client (A) in step 1294 .
- the VTE client (B) displays the invitation in an invitation window on the GUI of the team member using VTE client (B) (step 1302 ).
- the team member using VTE client (B) accepts the invitation by selecting an Accept button from the invitation window displayed in step 1302 .
- Acceptance (step 1304 ) of the invitation prompts the VTE client (B) to generate and forward an AcceptInvitation message, which includes the session ID.
- the VTE server On receiving the AcceptInvitation message, the VTE server translates (step 1306 ) the session ID and determines that a multi-media session is to be created between the team members using VTE clients (A) and (B). Consequently, the VTE server sets up the voice connection first by sending a MakeCall message that includes the dialed number of the team members using VTE clients (A) and (B), as well as the session ID, and forwards the message to the VSP in step 1308 . The VSP then performs steps substantially identical to steps 510 - 554 of FIG. 26 to set up a voice communications session between the team members using VTE clients (A) and (B), as shown at 1310 .
- the VTE server sends notification to VTE clients (A) and (B) in steps 1312 and 1316 .
- the notifications include an identification of the other team member as participant as well as the other team member's IP address and the session ID.
- the respective VTE clients (A) and (B) display the session information in steps 1314 and 1318 .
- a StatusEvent message is sent to VTE client (C) in step 1320 which responds by updating the GUI of the team member using VTE client (C) with a display of communications session information in the communications session window (step 1322 ).
- VTE clients (A) and (B) perform IP setup (step 1324 ) using the IP addresses supplied by the VTE server in steps 1312 and 1316 .
- IP setup may include, for example, content, negotiations to determine the capabilities of respective IP devices supporting the VTE clients (A) and (B).
- the content negotiations are required to determine, among other things, a template to be used to build a multi-media window for the multi-media session.
- the data transfer started in step 1326 permits the respective VTE clients (A) and (B) to build multi-media windows in step 1328 and 1330 for displaying streaming video information, if available, exchanging documents, sharing applications, sharing a white board, or performing any other supported shared function during the multi-media session.
- the multi-media session proceeds between the team members using VTE clients (A) and (B) as shown at 1332 .
- the content exchanges between VTE clients (A) and (B) are direct exchanges between the two devices.
- FIG. 34 shows the principal messages exchanged between components of the VTE server and the PSTN when a third party is added to the two-way multi-media session shown in FIG. 33.
- the team member using VTE client (A) initiates an AddParty action from the GUI to add party (C) to the multi-media session.
- the AddParty action may be accomplished in a plurality of ways, including selecting an Invite button from a communications session window or using a pointing device such as a mouse to drag and drop a communications device icon associated with the personal identifier of the team member into the communications session window, by way of two examples.
- the initiation of the AddParty action prompts the VTE client (A) to send an AddParty message to the VTE server.
- the AddParty message includes a personal identifier associated with the team member using VTE client (C), an optional topic related to the multi-media session, an optional text message related to the multi-media session, and any meeting notes entered by either of the team members using VTE clients (A) and (B) up to the time that the AddParty action was initiated.
- the AddParty message is forwarded to the VTE server in step 1336 .
- the VTE server responds by preparing an invitation message, which is forwarded in step 1338 to the VTE client (C) and displayed on the GUI of the team member using VTE client (C).
- the invitation message includes information respecting the requesting party (the team member using VTE client (A)), the optional topic, the optional text message, the meeting notes (if any were entered), a list of participants and invitees, and the session ID.
- VTE client (C) displays the invitation in the GUI of the team member using VTE client (C).
- the VTE server sends StatusEvent messages to VTE clients (A) and (B) to advise that the team member using VTE client (C) has been invited, and that the status respecting acceptance of the invitation is still pending.
- the StatusEvent messages are displayed on the respective GUIs.
- step 1350 the team member using VTE client (C) accepts the invitation by selecting an Accept button on the invitation display window. Acceptance of the invitation prompts the VTE client (C) to send a Join message that includes the session ID to the VTE server in step 1352 .
- the VTE server On receipt of the Join message, the VTE server translates the session ID to determine preferred communications devices from a profile of the team member using VTE client (C) and determines an availability of those devices using dynamic presence information retrieved from the Presence Server. Presence information indicates that a voice communications device of the team member using VTE client (C) is available to set up a voice communications session.
- the components of the collaboration services suite therefore perform steps 652 - 842 of FIGS. 28 - 28 b , as indicated at 1358 .
- VTE server returns notifications to VTE clients (A) and (B) in steps 1360 and 1364 .
- the notifications prompt VTE clients (A) and (B) to update the session display to add team member using VTE client (C) as a participant (steps 1362 and 1366 ).
- the VTE server also sends a StatusEvent message to VTE client (C) (step 1368 ) which prompts VTE client (C) to update the communications session display to show the team member using VTE client (C) as a participant.
- VTE client (A) sends IP setup messages to VTE client (C) and in step 1374 VTE client (B) sends the IP setup messages to VTE client (C).
- VTE clients (A) and (C), and (B) and (C) then ensue, as described above with reference to FIG. 33.
- Data transfer between the VTE clients (A) and (C) is performed in step 1376 and data transfer between VTE clients (B) and (C) occurs at 1380 .
- Data transfer at 1376 and 1380 enables VTE clients (A) and (B) to rebuild their multi-media window displays at 1378 and 1382 , respectively.
- VTE client (C) also uses the data transferred at 1376 and 1380 to build a multi-media window in step 1384 .
- the data transfers are preferably performed using IP multicast protocols in order to conserve system resources.
- the multi-media session between the team members using VTE clients (A), (B) and (C) proceeds, as shown at 1386 .
- FIG. 35 illustrates the principal steps involved in adding a third party to a multi-media session in which acceptance of the invitation is deferred by the invited party.
- a significant advantage of the VTE in accordance with the invention is that any invitee to any communications session may defer acceptance of an invitation for any reason, pending availability.
- an invitation is sent (at 1388 ) from the team member using VTE client (A) to the team member using VTE client (C) to join a multi-media communications session in progress between the team member using VTE client (A) and the team member using VTE client (B), as explained above.
- the invitation is formulated and sent to invite the team member using VTE client (C) to the multi-media session, as described above with reference to steps 1334 - 1348 of FIG. 34, as shown at 1388 .
- the team member using VTE client (C) responds to the invitation by selecting a JoinLater option, which permits the team member using VTE client (C) to provide a reason for not joining the communications session immediately.
- VTE client (C) formulates the Reply message, along with the reason entered by the team member using VTE client (C), and the session ID, and forwards the Reply message to the VTE server in step 1392 .
- the VTE server sends (step 1394 ) a notification including the reason back to VTE client (A), which displays the message on the GUI of the VTE client (A), as shown at 1396 .
- the Invitation window remains open on the GUI of VTE client (C) as a portal of the session. This is true of any communications session invitation window. The invitee can use this portal to join the session at any time.
- the team member using VTE client (C) accepts the invitation at 1398 by, for example, selecting a Join option from the communications session invitation window displayed on the GUI of VTE client (C).
- the VTE client (C) formulates a Join message that includes the session ID and returns it in step 1400 to the VTE server.
- the VTE server On receipt of the Join message, the VTE server translates (step 1402 ) the session ID to retrieve information that permits the profile of the team member using VTE client (C) to be examined and a query to be formulated and sent to the Presence Server (not shown) to determine preferred devices available to enable a multi-media communications session between team members using VTE clients (A), (B) and (C)
- the VTE server determines that a voice communications device associated with the team member using VTE client (C) is available.
- the VTE server therefore sends an AddLeg message to the VSP at 1404 .
- the AddLeg message includes the dialed number of the team member using VTE client (C) as well as the session ID. Steps 652 - 842 of FIGS.
- VTE server sends a notification at 1408 and 1412 to VTE clients (A) and (B) which prompts the respective VTE clients to update their session displays at 1410 and 1414 .
- the notification also includes the IP address of the team member using VTE client (C).
- the respective VTE clients (A) and (B) use the IP address of VTE client (C) to perform IP setup procedures with VTE client (C) as shown at 1420 and 1422 .
- the ID setup includes content negotiations, as described above.
- the VTE server also sends a StatusEvent message at 1416 to advise the VTE client (C) that the team member using VTE client (C) is a participant in the multi-media session, which permits VTE client (C) to update the session display as shown at 1418 .
- VTE clients (A) and (C) Data transfer between VTE clients (A) and (C) occurs as shown at 1424 , which permits VTE client (A) to rebuild its multi-media window (step 1426 ) to accommodate new data received from VTE client (C). Data transfer also occurs between VTE client (B) and VTE client (C) as shown at 1428 , which permits VTE client (B) to rebuild its multi-media window, as shown at 1430 . The exchange of data between VTE clients (A) and (B) with VTE client (C) permits VTE client (C) to build a multi-media window, as shown at 1432 . Thereafter, the multi-media session proceeds between the team members using VTE clients (A), (B) and (C), as shown at 1434 , preferably using IP multicast protocols, as described above.
- FIGS. 36 and 36 a illustrate principal messages exchanged between components of the VTE when another team member is invited to a multi-media communications session, but the other team member is not logged on to the VTE server.
- the team members using VTE clients (A) and (B) are participating in a multi-media communications system when they decide that the team member using VTE client (C) should be added to the multi-media communications session. Consequently, the team member using VTE client (A) initiates an invitation at 1436 to add the team member using VTE client (C) to the multi-media session, even though the team members using VTE clients (A) and (B) can see that the team member using VTE client (C) is not logged on to the VTE server, because the status of the team member using VTE client (C) devices is displayed on the respective GUIs (see FIG. 1).
- Initiation of the invitation prompts the VTE client (A) to formulate an AddParty message, which is forwarded in step 1438 to the VTE server.
- the AddParty message contains a personal identifier of the team member using VTE client (C) and optionally a topic associated with the communications session, as well as an optional text message and meeting notes entered by either party during the communications session.
- the VTE server On receipt of the AddParty message, the VTE server translates (step 1440 ) the session ID, as well as the personal identifier of the team member using VTE client (C), and returns StatusEvent messages in steps 1442 , 1446 to VTE clients (A) and (B) to inform the respective team members that the team member using VTE client (C) is being invited to join the multi-media communications session, but is pending.
- the respective VTE clients (A) and (B) display the StatusEvent messages to inform the team members using VTE clients (A) and (B) of the status of the invitation.
- the VTE server determines from presence information retrieved from the Presence Server (not shown) that the team member using VTE client (C) is not logged on to the VTE server. Consequently, an invitation message cannot be sent to the VTE client (C) for display on the GUI of the team member using VTE client (C).
- the VTE server therefore searches profile information for another media for delivering the invitation, and determines that a voice communications device is available and the Presence Server indicates that it is idle.
- the VTE server sends (step 1452 ) a MakeCall message to the VSP.
- the MakeCall message includes the dialed number of the team member using VTE client (C) as well as the dialed number of the conference bridge.
- the VTE server then sends an invitation via the data packet network to the conference bridge informing the conference bridge of the invitation and providing personal identifiers of the team members using VTE clients (A) and (C) as well as the optional communications session topic and message, plus session type and session ID (step 1454 ).
- the VSP executes the requested MakeCall by performing steps 804 - 834 of FIG. 28 b a shown at 1456 .
- the VSP advises the VTE server in step 1458 that the call has been created.
- the VTE server sends a PlayInvitation message through the data packet network to the conference bridge instructing the conference bridge to play an invitation message and providing the session ID (step 1460 ).
- the conference bridge uses a session ID to correlate the instruction with the earlier invitation message sent in step 1454 .
- the conference bridge retrieves the information related to the invitation and uses text-to-speech conversion as shown as 1462 to play an announcement to the team member using VTE client (C) at 1464 .
- the announcement informs the team member using VTE client (C) that he has been invited by the team member using VTE client (A) to participate in a multi-media communications session taking place between the team members using VTE clients (A) and (B).
- the conference bridge also announces the topic and message, if provided, and session type to the team member using VTE client (C) followed by a menu of options for responding to the invitation.
- the team member using VTE client (C) accepts the invitation to join the multi-media communications session by selecting an appropriate key from the voice communications device keypad, which transmits a dual-tone modulated frequency (DTMF) signal (or by speaking an appropriate voice command which is interpreted by speech recognition) to the conference bridge to inform the conference bridge that the invitation is accepted (step 1468 ).
- the conference bridge responds at 1470 by instructing the team member using VTE client (C) to log on to the VTE server in order to permit the multi-media session to proceed.
- DTMF dual-tone modulated frequency
- the conference bridge then sends a message to the VTE server via the data packet network to inform the VTE server that the team member using VTE client (C) has accepted the invitation (step 1472 ).
- the Accept message includes the session ID.
- the VTE server instructs the VSP to set up a three-way voice communications session between the team members using VTE clients (A), (B) and (C) as described above with reference to FIGS. 28 - 28 b , as shown at 1474 .
- the VTE server When the VSP reports that the calls have been created and that the team members using VTE clients (A), (B) and (C) have been connected to the conference bridge, the VTE server sends a notification at 1480 and 1484 to the respective VTE clients (A) and (B), which prompts the respective VTE clients to update the session display at steps 1482 and 1486 .
- the VTE server likewise sends session information at 1490 to the VTE client (C) which permits the VTE client to build a communications session window at step 1492 .
- the VTE server also sends a StatusEvent message to the VTE client (C) in step 1494 informing the VTE client (C) that the team member using VTE client (C) is a participant in the multi-media communications session, to permit the VTE client (C) to update the session display as shown at 1496 .
- VTE client (A) uses the IP address provided in step 1480 to perform IP setup and content negotiation with the VTE client (C) at step 1498 .
- the VTE client (B) likewise uses the IP address provided at step 1484 to perform IP setup and content negotiation with the VTE client (C) at step 1500 .
- VTE client (A) and VTE client (C) Data transfer between VTE client (A) and VTE client (C) ensues, as shown at 1502 and the VTE client (A) rebuilds the multi-media window as shown at 1504 . Data transfer also ensues between VTE client (B) and VTE client (C) as shown at 1506 . Thereafter, VTE client (B) rebuilds its multi-media window as shown at 1508 and the VTE client (C) builds a multi-media window for the multi-media session as shown at 1510 . Multi-media communications then ensue between the team members using VTE clients (A), (B) and (C), as shown at 1512 .
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Tourism & Hospitality (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Economics (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Data Mining & Analysis (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
A collaboration services suite is adapted to support a plurality of integrated telecommunications services accessed by geographically dispersed team members using a virtual team environment (VTE) client that generates a graphical user interface (GUI) for each of the respective team members. Communications sessions are automatically set up by the collaboration services suite in response to request messages generated by the VTE client when a team member initiates a communications session request using the GUI. Team members require no knowledge of another team member's communications device address in order to initiate a communications session. The collaboration services suite includes a VTE server that communicates with the VTE clients, a presence engine that collects and maintains a status of communications devices specified in a current profile of the team member; and, a call server for handling setup and control of a voice component of each communications session completed.
Description
- This is the first application filed for the present invention.
- Not Applicable.
- The invention relates in general to work environments and, in particular, to a virtual team environment that facilitates collaboration among geographically-dispersed team members using a distributed application that provides the virtual team environment.
- The knowledge economy is fundamentally affecting the modern work environment. As demand for knowledge workers increases, new work paradigms are being developed in which specialized teams are assembled for specific projects. Those specialized teams may need to work together for a matter of days, weeks or months to accomplish a given project. With more regularity, the team is disbanded after the project is completed and team members move on to other projects, often working with a partly or completely different group of people. In addition, people who need to work together are increasingly geographically dispersed due to corporate partnering, acquisitions, globalization, and related factors. While there is motivation for people to work together more closely and more effectively due to competitive pressures, the increasing geographical dispersion of talent in the workforce creates a dilemma which is not easily resolved.
- It is generally accepted that people work together best when they are physically collocated. Physical collocation facilitates communications, and therefore collaboration, that is responsive, efficient and spontaneous. Physical collocation in today's business world is not, however, generally practical even when workers are employed by the same company. The stresses associated with travel and commuting often prevent or impair the efficiency of bringing co-workers into physical collocation in order to facilitate job function.
- Modern telecommunications services facilitate collaboration among co-workers. Services such as the Public Switched Telephone Network (PSTN), the Internet, and related services such as facsimile, electronic mail, instant messaging, one-way and two-way paging services all contribute to enable and facilitate collaboration. As currently available, however, such services are not optimized to facilitate collaboration between team members.
- For example, even though modern facilities, such as described in co-applicants' U.S. Pat. No. 6,097,804 which issued Aug. 1, 2000 and is entitled METHOD AND SYSTEM FOR COMPLETING A VOICE CONNECTION BETWEEN FIRST AND SECOND VOICE TERMINALS IN A SWITCHED TELEPHONE NETWORK, facilitate call setup and control by permitting calls to be initiated from a worldwide web interface or the like, problems are still inherent. It is still impossible to determine the availability of a called party before a call is placed. Even when a call attempt is unsuccessful, the caller is generally not provided with any feedback to indicate why the call attempt failed. For example, the called party may be on another call, or may be away from their desk or office. It is estimated that at least as many as 84% (6 out of 7) of business calls fail to connect directly to the called party.
- Electronic mail provides a convenient and inexpensive mode of communication. Electronic mail tends, however, to be a relatively slow method of communication. Recently, instant messaging has become increasingly accepted and services such as Yahoo® Messenger are experiencing explosive growth with millions of subscribers. Instant messaging services provide a means of exchanging messages between two or more participants in a messaging session in near real time. With Yahoo® Messenger a user can define a group of “friends” by selecting other registered users who accept being listed among the user's group of friends. After the group of friends is established, the user who established the group receives dynamic status information respecting the presence of the group of friends at their computer workstation. Consequently, the instant messaging user has a prior knowledge of whether other members in the group of friends are logged on to the Yahoo® Messenger and, if so, whether they have used their workstation within the past few minutes.
- Yahoo® Messenger also permits Net2Phone® conversations to be initiated between a user and another party using a graphical user interface that provides a dial pad and an address book to initiate calls that are set up as a first leg through the Internet and a second leg through the PSTN, in accordance with a service provided by Net2Phone®. However, no availability information is provided respecting the called party or the disposition of their telephone. Therefore, it is impossible for a Yahoo® Messenger subscriber to know the status of a “friend's” telephone before a call is placed. Furthermore, each user of the Yahoo® Messenger service must define their own group of friends. There is no central facility for defining a group or a team, and there is no method of controlling congruence between two groups defined by individual users. Consequently, although Yahoo® Messenger facilitates message exchange, it is not adapted to provide a cohesive collaboration environment for geographically-dispersed teams working at a professional level.
- Other applications also exist to facilitate collaboration among geographically-dispersed parties. For example, Microsoft Corporation provides NetMeeting® which is adapted to enable collaboration between two or more people using text chat, streaming video, and/or voice over Internet Protocol (VoIP) conversation. NetMeeting® also supports document and application sharing, as well as an exchange of cursor control. While NetMeeting® is a powerful collaboration tool, it only functions well in two-way communications sessions, and fails to provide functionality for defining or tracking of a team. Furthermore, knowledge of respective Internet Protocol (IP) addresses of each participant is required in order to establish a direct inter-party session. Two-party and multi-partly sessions can be established using a Microsoft NetMeeting® server without knowledge of respective IP addresses, however, session efficiency and performance are compromised.
- As a further example, Teamcast.com provides a collaboration tool that permits the definition of a team and enables project and event tracking. The Teamcast.com tool also enables communications by electronic mail and instant messaging. The collaborative tool fails, however, to instantiate a virtual team environment that provides knowledge of the availability of other team members to facilitate communications attempts. It also fails to facilitate voice or multimedia communications among team members.
- There therefore exists a need for a tool that facilitates collaboration among geographically-dispersed members of a team by creating a virtual team environment that provides dynamic preference and presence information to permit communications sessions among team members to be transparently established.
- It is therefore an object of the invention to provide a method and system for automatic handling of invitations to join communications sessions in a virtual team environment.
- The invention therefore provides a method of inviting a person to join a communications session initiated using a collaboration services suite accessed from a team member interface of a virtual team environment. The method comprises a first step of responding to an action performed by a team member to initiate the invitation from the team member interface by sending an invitation request message from the team member interface to the collaboration services suite. The invitation request message is analyzed at the collaboration services suite, and the invitation is sent from the collaboration services suite to the person, using a preferred, available communications medium selected by the collaboration services suite using dynamic presence and availability information maintained by the collaboration services suite.
- A team member initiates an invitation by selecting a communications icon associated with a personal identifier of the person displayed on the team member interface. The selection causes the team member interface to open a communications invitation window. The selection may be the selection of an invitation option from an in-progress communications window. The selection may also be a selection of an entry associated with the person from a directory, and a subsequent selection of a communications option associated with the directory.
- The invitation request message includes an identification of the team member, an identification of the person, and an identification of a communications session type. The identification of the communications session type is one of an identifier of a type of communication, and a communications session identifier that is associated with a communications session that is in progress. The invitation request message further includes at least one of a list of participants and invitees, and any meeting notes input prior to a sending of the invitation. The invitation request message further includes at least one of a topic related to the communications session, and a text message that describes a purpose of the communications session. The communications type may be any one of an instant text messaging session, a voice call session and a multimedia session.
- The collaboration services suite analyzes the invitation request message to determine the type of communications session being requested, and determine whether the person to be invited is a team member. If the person to be invited is a team member, the collaboration services suite examines a current profile associated with the team member to determine a preferred communications medium and uses the dynamic presence and availability information in order to determine if the preferred communications medium is available for receiving the invitation. If the preferred communications medium for sending the invitation is an invitation message sent to the team member interface, the invitation message opens a communications session invitation window on the team member interface. The communications session invitation window displays a list of participants in the communications session. The communications session invitation window displays a list of invitees to the communications session. The communications invitation window may also display a topic of discussion related to the communications session. The communications invitation also displays meeting notes entered by the participants in the communications session, if any meeting notes have been entered by the time the invitation is sent.
- If the invited team member is not logged on to the collaboration services suite, the preferred medium for sending the invitation is a text device. The text device displays a communications session type in an invitation window and a personal identifier associated with a team member that sent the invitation. If a text device is not available, the preferred device for sending the invitation is a voice communications device. If a voice communications device is used to send the invitation, an interactive voice response unit (IVR) plays an announcement to the person, to invite the person to join the communications session when the person answers the voice communications device. The IVR may comprise a part of a functionality of a conference bridge. The IVR also plays a list of the persons attending the communications session and a topic of discussion.
- The invitation window displayed on the team member interface preferably displays options to join the communications session, decline the communications session invitation, or indicate a desire to join the communications session at a later time. The invitation window permits a reply message to be returned with any one of the options selected for a response. If the person elects to join the communications session, a message is sent by the team member interface to the collaboration services suite, and the collaboration services suite automatically joins the person to the communications session. The collaboration services suite further advises each team member of the change in status of the person when the person is joined to the communications session. If the person sends a reply message, the reply message is displayed on the team member interface of all team members participating in the communications session.
- The invention further provides a system for inviting a person to join a communications session initiated using a team member interface of a virtual team environment. The system comprises a collaboration services suite for receiving a communications session invitation request message sent from the team member interface by the team member, analyzing the invitation request message, and sending the invitation to the person using a preferred, available communications medium associated with the person.
- The collaboration services suite preferably comprises at least one server connected to a data network to enable communications with the team member interfaces, and at least one virtual switching point in a switched telephone network for establishing and controlling voice communications sessions. The at least one server performs functions of managing connections with the team member interface; storing team member profiles; gathering dynamic presence and availability information and dynamically distributing the information to team member interfaces; and sending voice communications request messages to the virtual switching point.
- The invention therefore provides a user-friendly, invitation mechanism that enables users of the collaboration services suite to initiate communications by merely selecting a communications icon associated with a personal identifier of another team member with whom communications is desired. The collaboration services suite automatically selects an available communications medium for sending the invitation to the invitee.
- Further features and advantages of the present invention will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
- FIG. 1 is a block diagram schematically illustrating exemplary interactions between a collaboration services suite and members of a team in accordance with an embodiment of the present invention;
- FIG. 2 is a block diagram schematically illustrating principle elements in a system for implementing the collaboration services suite of FIG. 1;
- FIG. 3 is a block diagram schematically illustrating exemplary relationships between communications devices encompassed by each VTE client and communications network elements involved in enabling the functionality of the collaboration services suite of FIG. 1, in accordance with a first embodiment of the invention;
- FIG. 4 is a block diagram schematically illustrating exemplary relationships between communications devices encompassed by each VTE client and communications network elements involved in enabling the functionality of the collaboration services suite of FIG. 1, in accordance with a second embodiment of the invention;
- FIG. 5 is a block diagram schematically illustrating exemplary functionality of the VTE server of FIG. 2 in accordance with an embodiment of the present invention;
- FIG. 6 is a block diagram schematically illustrating principal functional elements of a VTE client application in accordance with an embodiment of the present invention;
- FIG. 7 is a message flow diagram illustrating exemplary messages exchanged between the collaboration services suite and the VTE client application;
- FIG. 8 is a message flow diagram illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during a team member log-in procedure;
- FIG. 9 is a message flow diagram illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during a team member log-out procedure;
- FIG. 10 is a block diagram schematically illustrating exemplary frames of the virtual team space display instantiated by the VTE client application, in accordance with an embodiment of the present invention;
- FIG. 11 is a block diagram schematically illustrating exemplary elements of the menu frame of the team space display of FIG. 10;
- FIG. 12 is a message flow diagram schematically illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during creation and/or editing of a personal profile;
- FIG. 13 is a message flow diagram schematically illustrating exemplary messages exchanged between the VTE client application and elements of the collaboration services suite during team member selection of an active profile;
- FIG. 14 is a message flow diagram schematically illustrating principle messages exchanged among three VTE clients and elements of the collaboration services suite during creation of a team;
- FIG. 15 is a schematic block diagram illustrating exemplary contents and functionality associated with the current availability frame of the team space display of FIG. 10;
- FIG. 16 is a block diagram schematically illustrating exemplary functionality of the VTE client application accessible using team member preference and presence information displayed in the team view of the team space display of FIG. 10;
- FIG. 17 is a message flow diagram illustrating exemplary functionality and message flows between the VTE client application and elements of the collaboration services suite in respect of detection and propagation of team member presence information to each of the members of a team;
- FIG. 18 is a block diagram schematically illustrating exemplary elements of the team bulletins frame of the team space display of FIG. 10;
- FIG. 19 is a block diagram schematically illustrating the active communications frame of the team space display of FIG. 10;
- FIG. 20 is a message flow diagram illustrating exemplary messages exchanged between VTE client applications and the VTE server during a public communications session;
- FIG. 21 is a block diagram schematically illustrating exemplary functionality associated with an Instant Messaging Session Object instantiated by a VTE Client application in respect of an Instant Messaging communications session;
- FIG. 22 is a block diagram schematically illustrating exemplary functionality associated with a Voice Session Object instantiated by a VTE Client application in respect of a voice communications session;
- FIG. 23 is a block diagram schematically illustrating exemplary functionality associated with a Multimedia Session Object instantiated by a VTE Client application in respect of a multimedia communications session;
- FIG. 24 is a block diagram schematically illustrating exemplary functionality associated with an invitation object instantiated by a VTE client application for inviting a new participant to join an active communications session;
- FIG. 25 is a block diagram schematically illustrating exemplary functionality of a VTE client application associated with an Invitation message received from another team member via the collaboration services suite;
- FIG. 26 is a message flow diagram illustrating the setup of a two-way voice communications session using the VTE Client application and the collaboration services suite in accordance with the invention;
- FIG. 27 is a schematic diagram illustrating the closing of the two-way voice communications session setup shown in FIG. 26;
- FIGS. 28, 28a and 28 b are message flow diagrams showing the voice communications session setup as shown in FIG. 26;
- FIGS. 29 and 29a show the closing of the three-way voice communications session setup as shown in FIGS. 28-28 b;
- FIG. 30 is a message flow diagram showing the setup of a two-way voice communications session in an enterprise network;
- FIG. 31 is a message flow diagram showing the addition of a third party to a two-way voice communications session setup in an enterprise network as shown in FIG. 30;
- FIGS. 32, 32a and 32 b are message flow diagrams illustrating the conversion of a three-way instant messaging session to a three-way voice communications session using the VTE client application and the collaboration services suite in accordance with an embodiment of the invention;
- FIG. 33 shows the setup of a two-way multi-media session;
- FIG. 34 shows the additional of a third party to the multi-media session setup as shown in FIG. 33;
- FIG. 35 shows the addition of a third party to a multi-media session setup as shown in FIG. 33 when the third party defers acceptance; and
- FIGS. 36 and 36a show the addition of a third party to a multi-medial session setup when the invited party is not logged into the
collaboration services suite 2 as a virtual team environment client. - It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
- The present invention provides a
collaboration services suite 2 which is designed to instantiate a virtual team environment (VTE) 3 for integrating, in a synergistic manner, a plurality of traditional, emerging, and new communications-related capabilities to facilitate collaboration among geographically dispersed members of a team. As used in this document, the word “team” means any group of interested parties that have a desire to collaborate for business, academic, political or social reasons. Although the description that follows refers specifically to “work teams”, it should be understood that the virtual team environment may be used for many other purposes. For example, the methods and apparatus in accordance with the invention may be used by families, groups of friends, academic institutions, political organizations or any other closely or loosely associated group interested in seamless communications services. The methods and apparatus in accordance with the invention also have a plurality of business applications too large to exhaustively enumerate. For example, the invention may be used for customer relationship management, institutional information exchange, distributed health care administration, hot-line and help-line services, etc. In some applications, preference and presence information, described below in some detail, may only be available to selected parties, and not to all parties as described in the detailed description of the preferred embodiments that follows. - FIG. 1 is a block diagram schematically illustrating exemplary interactions between the
collaboration services suite 2 and each of the members of a team. In the embodiment illustrated in FIG. 1, the team comprises four team members, each of whom is represented by a respective VTE client 4. As shown in FIG. 1, thecollaboration services suite 2 includes adatabase 6 in which information concerning each team member is stored. This information includes a respective personal identifier 8 of each team member, a respective personal profile 10 relating to a role and/or environment of the team member, andcommunications information 12 indicative of the availability of the respective team member for participating in various types of communications. As will be described in greater detail below, information concerning a team member's respective personal identifier 8, and profile 10, as well as communications preferences (e.g. communications information 12 defining preferred communications devices and addresses) are provided by each team member, and stored by thecollaboration services suite 2 in thedatabase 6. Information concerning an availability of each team member to participate in various types of communications can be provided by the respective team member and/or detected automatically by thecollaboration services suite 2. The information concerning each team member is compiled within thecollaboration services suite 2 and then supplied to each VTE client 4, in the form of team member presence and preference information, in order to provide each team member with a consistent team view 14 that is representative of the status of each of the members of the team. Thus, for example, Hank (represented by VTE client (A) 4 a) has specified apersonal profile 10 a indicating that he is currently working in his office. As part of this personal profile, Hank has providedcommunications information 12 a identifying his office personal computer (PC) 16 (which includes two-way video conferencing capability) and hisoffice telephone 18 as communications devices through which he prefers to receive communications. By interaction with the VTE client (A) 4 a and the PSTN, thecollaboration services suite 2 has detected that Hank'sPC 16 is currently in use, and hisoffice telephone 18 is idle. Similarly, Mary Ann (represented by VTE client (B) 4 b) has selected apersonal profile 10 b indicating that she is working at her home. She has also specified communications information 12 b defining a pair of communications devices (in this case herhome PC 20 and wireline telephone 22) through which she prefers to receive communications. By means of interaction with the VTE client (B) 4 b, and the PSTN, thecollaboration services suite 2 has detected that Mary Ann'shome PC 20 is idle, and that herwireline telephone 22 is currently in use. Rachel (represented by VTE client (C) 4 c) has specified apersonal profile 10 c indicating that she is mobile. She has also specifiedcommunications information 12 c identifying three communications devices (in this case awireless PDA 24, awireless telephone 26 and a 2-way pager device 28) through which she prefers to receive communications. By means of interaction with the VTE client (C) 4 c and the PSTN, thecollaboration services suite 2 has detected that Rachel'swireless PDA 24 is in use, herwireless telephone 26 is currently turned off (or is otherwise inaccessible), and that her 2-way pager 28 is currently idle. Finally, Jim (represented by VTE client (D) 4 d) has selected a profile indicating that he is unavailable. As part of this profile Jim has specified no communications devices through which he prefers to receive communications. - The above-described communication preferences and status information, concerning each of the members of the team, is combined by the
collaboration services suite 2 and distributed to each of the team members for display using ateam view 14 providing a consistent view of the team. In each case, theteam view 14 includes the personal identifier 8 of each of the other members of the team, along with respective preference and presence information 30 (in the illustrated embodiment represented by icons) indicative of the capability of each team member to participate in various types of communications. Thus, for example, the preference and presence information of Hank (VTE client (A) 4 a) is indicated byrespective device icons office PC 16 andwireline telephone 18 identified in Hank's “in the office”profile 10 a. The In-Use status of Hank'soffice PC 16 is indicated by apresence icon 32 partially superimposed over theoffice PC icon 16 a, while the Idle status of Hank'soffice telephone 18 is indicated by the lack of any other presence icon elements associated with thewireline telephone icon 18 a. The status and availability information for Rachel comprisesicons wireless PDA 24,wireless telephone 26 and the 2-way pager device 28 that Rachel has identified in herprofile 10 c. The In-Use status of Rachel'sPDA 24 is indicated by a presence icon 32 (in this case a graphical representation of a human head) partially superimposed over thePDA icon 24 a. The Inaccessible status of herwireless telephone 26 is indicated by an “inaccesible” icon 35 (in this case a circle) superimposed over thewireless telephone icon 26 a. The Idle status of her 2-way pager 28 is indicated by the lack of any other icon elements associated with the two-way pager icon 28 a. The preference and presence information for Mary Ann includes a pair ofdevice icons home PC 20 and thewireline telephone 22 that Mary Ann has identified in her “at home”profile 10 b. The Idle status of Mary Ann'sPC 20 is represented by the absence of any other presence or status icon elements associated with thePC icon element 20 a, whereas the In-Use status of herwireline telephone 22 is indicated by apresence icon element 32 partially superimposed over the wirelinetelephone device icon 22 a. Finally, the preference and presence information of Jim is indicated bygeneric device icons available icon 34 indicating that Jim is not available to receive either of the respective types of communications. - In preferred embodiments of the present invention, the
collaboration services suite 2 is “persistent” in that it remains active independently of the Log-In status of any of the members of the team. Thus, for example, Jim's preference andpresence information 30 is maintained by thecollaboration services suite 2 and displayed consistently in the team views 14 of each of Mary Ann, Rachel and Hank, independently of whether or not Jim is logged into thecollaboration services suite 2. Similarly, the “in the office” profile 10 defined by Hank (including the communications information and the operational status of each of the identified communications devices) will be maintained by thecollaboration services suite 2 independently of whether or not Hank is logged into thecollaboration services suite 2. Accordingly, the other members of the team (e.g. each of Jim, Rachel and Mary Ann) will be able to view the preference and presence information for Hank, and may use this information to establish communications with Hank, even if Hank is not currently logged into thecollaboration services suite 2. - FIG. 2 is a block diagram schematically illustrating principle elements in a system for implementing the
collaboration services suite 2. In general, thecollaboration services suite 2 is instantiated by a collaboration services suite comprising aVTE server 40, aPresence Server 42, and thedatabase 6. Each VTE client 4 encompasses one or more communications devices, such as wireline and wireless telephones connected to the public switched telephone network (PSTN), and packet-based communications devices such as personal computers (PCs), personal digital assistants (PDAs), and other one and two-way messaging devices. Many packet-based communications devices incorporate a graphical user interface capable of supporting a VTE client application 44 (see FIG. 6) providing a team member with theteam view 14 and functionality for interacting with thecollaboration services suite 2 to define and edit their respective personal profiles 10, and for initiating and controlling communications with other persons. In general, interaction between thecollaboration services suite 2 and the communications devices associated with each team member (i.e. encompassed by each VTE client 4) is controlled by theVTE server 40. Accordingly, theVTE server 40 incorporates functionality related to the negotiation of team member log-in to thecollaboration services suite 2, the forwarding of team member preference andpresence information 30 to each VTE client 4, and the forwarding of status updates concerning active communications sessions to each VTE client 4. TheVTE server 40 also provides functionality related to the initiation and control of communications involving one or more team members, as will be described in greater detail below. - The
Presence Server 42 incorporates functionality adapted to detect the current operational status of each of the communications devices identified in the current profile 10, and store the detection result within thedatabase 6 as communications information for each respective VTE client 4. For this purpose, thePresence Server 42 is preferably adapted to detect team member presence information using the techniques described in Applicant's co-pending U.S. patent application Ser. Nos. 09/460,780; 09/461,119; and 09/461,492 (all filed Dec. 14, 1999), the contents of which are hereby incorporated by reference. Thus thePresence Server 42 interacts with packet-based communications devices (e.g. PCs, web-enabled communications devices, and WAP-enabled communications devices) through apacket network 46 to receive StatusUpdate messages, and determine associated presence information based on the reception and contents of such StatusUpdate messages, as will be described in greater detail below. In addition, thePresence Server 42 includes functionality adapted to formulate at least the functional contents of a common channel signalling (CCS) Query messages for determining the current status of wireline and wireless telephones through thePSTN 48, again, as will be described in greater detail below. - Additionally, the
Presence Server 42 maintains a status table 43 for controlling the detection and propagation of team member status and availability information. In general, the status table 43 contains, for each member of the team, a logged-inframe 43 a; adevices frame 43 b, and a watcher'sframe 43 c. The logged-inframe 43 a stores a flag (e.g. a binary “0” or “1”) indicating whether or not the respective team member is currently logged-in to thecollaboration services suite 2. Thedevices frame 43 b contains device identifiers and associated address information (e.g. PSTN destination number, IP address, e-mail address) for each communications device identified by the respective team member in their current personal profile. Finally, the watcher'sframe 43 c contains the personal identifiers of each of the other members of the team who are currently also logged-in to thecollaboration services suite 2, and who should therefore be receiving preference and presence information respecting the team member. - In order to facilitate interaction between each of the
VTE server 40 and thePresence Server 42, and thePSTN 48, acall server 50 may be provided. Similarly, aconnection manager 52 can be provided to facilitate protocol-independent messaging between theVTE server 40 and packet-based communications devices associated with each of the VTE clients 4. In the illustrated embodiment, interaction between each VTE client 4 and thecollaboration services suite 2 is implemented by packet-based messaging between respective communications devices associated with each VTE client 4 and theVTE server 40, via thepacket network 46 and theconnection manager 52. However, it will be appreciated that, in some cases, it will be advantageous to enable direct messaging between thepresence server 42 and communications devices associated with each VTE client 4, without the involvement of theVTE server 40, as shown in FIG. 2. It will also be appreciated that, in some embodiments, aconnection manager 52 may not be required, or that its functionality may be incorporated into theVTE server 40 and/or thepresence server 42. - The
VTE server 40,Presence Server 42, anddatabase 6 may be co-resident within a single server machine, or alternatively may be deployed across two or more machines suitably interconnected (e.g. through thepacket network 46, or through high-speed ethernet links) in order to facilitate messaging and data exchange. Similarly, each of thecall server 50 and theconnection manager 52 may be co-resident with theVTE server 40, or may be remotely located and accessible by the VTE server 40 (and the Presence Server 42) via suitable data links. - As described above with respect to FIGS. 1 and 2, each VTE client4 encompasses communications devices usable by a respective team member for engaging in communications with other persons (who may or may not be members of the same team). In general, any of a variety of different types of communications devices may be utilized in conjunction with the present invention, including PCs, PDAs, wireless and wireline telephones, and wireless one and two-way messaging devices. Similarly, the
collaboration services suite 2 may be utilized to facilitate any of a variety of different types of communications, including two-way instant messaging, e-mail, multi-media (including video conferencing) and voice communications. In the present network space, communications between any two parties may, depending on the type of communications devices involved, be facilitated through thelegacy PSTN 48 or a packet network 46 (e.g. one or more federated ethernet, ATM, or IP networks). Thus, it is possible to categorize the various communications devices in accordance with whether they are designed to effect communications through thePSTN 48 or apacket network 46. Within each of these categories, it is largely irrelevant (for the purposes of establishing communications) whether a particular communications device relies on a wireline or a wireless connection to access the network, as this does not generally have a significant effect on the messaging required to complete a call connection to the involved communications device. This separation of communications devices into packet-based and PSTN based communications devices is illustrated in FIGS. 3 and 4. - FIG. 3 is a block diagram schematically illustrating relationships between packet-based and PSTN based communications devices encompassed by each of VTE clients (A), (B) and (C)4 a, 4 b, 4 c (see FIG. 1) and elements of the
packet network 46,PSTN 48 andCCS network 53 involved in enabling the functionality of thecollaboration services suite 2 in accordance with the present invention. In the scenario illustrated in FIG. 3, each of the PSTN-based devices 54 (whether wireline or wireless telephone sets) are hosted by a respective service switch point (SSP) 56 of the PSTN. Conversely, the respective packet-based communications devices 58 are connected to thepacket network 46 either directly or via an access server (not shown) provided by a network access provider. In order to enable thecollaboration services suite 2 to detect an operational status of the PSTN-based communications devices 54, and to initiate and control communications involving the PSTN-based communications devices 54, a virtual switching point (VSP) 60 of theCCS network 53 is adapted to interact with theVTE server 40 via, for example, a suitable connection to thepacket network 46. As is known in the art, theVSP 60 is adapted to interact with one or more Integrated Services Digital Network User Port (ISUP) trunk groups referred to a enhanced ISUP (E-ISUP) trunks 62 to control the set up of call connections through thePSTN 48. This functionality is utilized by thecollaboration services suite 2 to enable the establishment of multi-way communications sessions through aconventional conference bridge 64, as will be described in greater detail below. - FIG. 4 is similar to FIG. 3 in that it illustrates relationships between packet-based and PSTN-based communications devices58,54 and respective elements of the
packet network 46,CCS network 53 andPSTN 48 involved in the set up and control of communications involving one or more team members. The scenario of FIG. 4 differs from that of FIG. 3 in that the PSTN-based communications devices of VTE clients (B) and (C) 4 b, 4 c are connected to thePSTN 48 via a private branch exchange (PBX) 66 which provides various communications services within anenterprise network 68, and is logically connected to the presence server 42 (e.g. via the packet network 46) through adata link 67. - FIG. 5 is a block diagram schematically illustrating exemplary functionality of the
VTE server 40 in accordance with an embodiment of the present invention. In the illustrated embodiment, theVTE server 40 comprises: aprofile manager 70 providing functionality related to the creation and editing of personal profiles 10; apresence manager 72 enabling interaction between theVTE server 40 and thePresence Server 42 to maintain up-to-date presence information concerning each team member; adatabase manager 74 enabling interaction between theVTE server 40 and one ormore databases 6 of thecollaboration services suite 2; and acollaboration manager 76 providing functionality relating to the initiation and control of communications involving one or more team members. In addition, theVTE server 40 includesmember registration services 78, providing functionality related to member authentication and authorization during user log-in; andutilities services 80 providing functionality related to team administration, including tracking and resolution of alarms, accumulation of various statistics and logs, encryption services and authentication routines. Finally, theVTE server 40 includes aconference manager 82 which interacts with thecollaboration manager 76 to provide signaling and messaging functionality required for the initiation and control of communications; aninstant messaging server 84 which interacts with thecollaboration manager 76 to provide specialized services with respect to the management and control of instant messaging sessions; and aconnection manager interface 86 which facilitates interaction between theVTE server 40 and theconnection manager 52, and so facilitates messaging between each VTE client 4 and theVTE server 40. - Thus constructed, the
VTE server 40 embodies a modular architecture in which collaboration services, such as those associated with the set up and control of multi-party communications sessions, can be developed and implemented independently of the messaging protocols used for interaction between theVTE server 40, the VTE clients 4, thedatabase 6, thePresence Server 42, or any of the communications devices 54, 58 and networks with which the collaboration services suite must operate in order to instantiate thecollaboration services suite 2. For example, in the embodiment illustrated in FIG. 5, thedatabase manager 74 includes one or more structured query language (SQL) and lightweight directory access protocol (LDAP) interfaces 88, 90 respectively enabling interaction between theVTE server 40 and one or more LDAP and SQL databases. Other database types may be accessed by theVTE server 40 through thedatabase manager 74 by providing a suitable interface (e.g. a java database connectivity (JDBC) interface) within thedatabase manager 74. Similarly, thepresence manager 72 instantiates aPresence Server interface 92 facilitating interaction between theVTE server 40 and thePresence Server 42 using a suitable messaging protocol, such as, for example, session initiation protocol (SIP). - During initialization of communications involving one or more team members, the
collaboration manager 76 may conveniently operate to generate a session record including session specific information such as a session ID, a start time, information identifying session participants, a session type, and other information useful for administration and archiving of the communications session. Once the communications record has been generated, it may conveniently be passed to theconference manager 82, which interacts with elements of thepacket network 48 and/or thePSTN 48 to set up the requested communications session between the involved parties. Thereafter, theconference manager 82 may be used to update the session record as new session information is accumulated, and the status of the communications session changes. In order to enable interaction between theconference manager 82, thePSTN 48, and thepacket network 46, theconference manager 82 may instantiate one or more conference interfaces 94 which may, for example, enable interaction with both thepacket network 46 and thecall server 50 using session initiation protocol. - The
connection manager interface 86 provides functionality enabling interaction between theVTE server 40 and the connection manager in order to facilitate protocol independent messaging between theVTE Server 40 and each VTE client 4. Theconnection manager 52 may instantiate one or more of anHTTP proxy interface 96, a transport control protocol/internet protocol (TCP/IP)interface 98, and user datagram protocol/internet protocol (UDP/IP)interface 100 for interacting with client applications instantiated on suitable packet-based communications devices 58 (e.g. PCs, PDAs, and WAP-enabled communications devices). Additionally, theconnection manager 52 may implement an Interactive Voice Response (IVR)interface 102 enabling a team member to interact with theVTE server 40 by means of a voice communications device connected, for example, to thePSTN 48. In those embodiments in which direct messaging between thepresence server 42 and VTE clients 4 is desired, aPresence server interface 103 may be instantiated to facilitate messaging between theconnection manager 52 and thepresence server 42. - In order to facilitate web-based access to the functionality of the
VTE server 40, theutility services 80 may include aweb server 104 and/or an extensible mark-up language (XML)parser 106 to enable a team member to access theVTE server 40 using a browser application in a manner known in the art. - In order to enable interaction between a team member and the
collaboration services suite 2, aVTE client application 44 is instantiated in respect of each communications device encompassed by the team member's respective VTE client 4. The functionality of theVTE client application 44 will necessarily vary in accordance with the capabilities of the respective communications device. The most extensive range of functionality of theVTE client application 44 can be implemented in respect of PCs, PDAs and other web enabled communications devices. Conversely, aVTE client application 44 instantiated in respect of a plain old telephone service (POTS) telephone handset may have minimal functionality, as interaction between the team member and theVTE server 40 must necessarily be mediated entirely by means of theIVR interface 102 instantiated by theVTE client manager 86. - FIG. 6 is a block diagram schematically illustrating principal functional elements of an exemplary
VTE client application 44. As shown in FIG. 6, theVTE client application 44 comprises a modular architecture which generally mirrors that of the VTE server 40 (see 15 FIG. 5), which facilitates scaling of the functionality of theVTE client application 44 in accordance with the capabilities of each communications device in respect of which theVTE client application 44 is instantiated. In particular, theVTE client application 44 illustrated in FIG. 6 contains functionality appropriate to a PC or a PDA having sufficient data processing and display capabilities to support a graphical user interface and bi-directional messaging with theVTE server 40, using one or more packet-based protocols. In this case, theVTE client application 44 comprises: aprofile client 108 for accessing theprofile manager 70 to enable the creation and editing of personal profiles 10: apresence client 110 providing functionality related to the detection and forwarding of status messages to the VTE server 40: adatabase client 112 enabling team member access to one ormore databases 6 of thecollaboration services suite 2; and a Graphical User Interface (GUI)manager 114 adapted to interact with a GUI of a communications device (e.g. a PC or a PDA) to instantiate a team space display enabling interaction and collaboration between members of the team. In addition, theVTE client application 44 includes amember registration client 116 for interacting with themember registration services 78 of theVTE server 40 during user log-in, in order to negotiate team member authentication and authorization procedures; and acollaboration client 118 for interacting with thecollaboration manager 76 of theVTE server 40 to enable initiation and control of communications involving one or more team members. Finally, theVTE client application 44 includes atransport manager 120 enabling bi-directional messaging between theVTE client application 44 and theVTE server 40 using one or more messaging protocols. - As mentioned previously, the
VTE client application 44 illustrated in FIG. 6 operates to instantiate a virtual team space providing a wide range of functionality associated with communications and collaboration between team members. The modular architecture of theVTE client application 44 enables this functionality to scale with the processing, display and signaling capabilities of each communications device. For example, aVTE client application 44 instantiated in respect of a communications device having a microprocessor and IP messaging capabilities, but lacking a graphical user interface, may include a text display manager (not shown) in place of theGUI manager 114 shown in FIG. 6, in order to enable interaction between the team member and theVTE server 40 using a text based display. Depending on the capabilities of the microprocessor contained in the communications device, the remaining functional elements of theVTE client application 44 may be retained, reduced in capability, or possibly eliminated entirely in order to provide maximum functionality within the constraints imposed by the design of the communications device. In the case of a POTS telephone handset, theVTE client application 44 may be instantiated via theIVR interface 102 of theconnection manager 52, and in such cases would omit theGUI manager 114,transport manager 120,collaboration client 118, anddatabase client 112, shown in FIG. 6. At the same time, themember registration client 116 would be limited in functionality to prompting the team member to enter one or more access codes using the POTS handset keypad (not shown). Similarly, theprofile client 108 would be limited in functionality to announcing an identification of a current profile of the team member, and prompting the team member to select one of a set of existing personal profiles 10 as their current profile. Thus, it will be appreciated that the exemplaryVTE client application 44 illustrated in FIG. 6 can be varied as required in order to exploit the processing, display, and signaling capabilities of each communications device to facilitate collaboration and communications involving members of the team. - As mentioned above, the exemplary
VTE client application 44 illustrated in FIG. 6 operates to instantiate a virtualteam space display 122 on suitable communications devices. Exemplary functionality of theVTE client application 44, in this respect, is described below with reference to FIGS. 7 through 25. - In general, the
virtual team space 122 instantiated by theVTE client application 44 operates to enable a respective team member to interact with thecollaboration services suite 2 in order to obtain preference and presence information respecting each of the members of the team, as well as to initiate communications and join active communications sessions involving one or more other persons (who may or may not be members of the team). FIG. 7 schematically illustrates exemplary messages exchanged between thecollaboration services suite 2 and thevirtual team space 122 instantiated by theVTE client application 44 on a team member's PC. As shown in FIG. 7, thecollaboration services suite 2 sends messages to theVTE client application 44 providing, for example, team member data (including preference and presence information); invitations for inviting the team member to join a team and/or a communications session; instant messages; team bulletins; meeting notes; as well as connection and Log-In status of the team member. Corresponding messages returned to thecollaboration services suite 2 from theteam space display 122 include messages containing, for example, personal profile changes; presence status updates; invitations destined for other persons to join a team and/or a communications session; responses to invitations received from the collaboration services suite; instant messages; as well as team bulletins and meeting notes entered by the team member using theteam space display 122. - In order to facilitate the above-described messaging between the
team space display 122 and thecollaboration services suite 2, the respective team member must negotiate a log-in procedure with thecollaboration services suite 2. FIG. 8 is a message flow diagram showing exemplary messages exchanged between theVTE client application 44 and elements of thecollaboration services suite 2 during such a log-in procedure. As shown in FIG. 8, a Log-InRequest message 124 containing the personal identifier of the user, and a password, is forwarded by theVTE client application 44 a to theVTE server 40. TheVTE server 40 then uses the personal identifier and the password to validate the user (at 126), and upon successful validation, queries the client database (at 128) to obtain communications information corresponding to the most recently selected current personal profile of the user. This communications preferences information is then forwarded by theVTE server 40 to theVTE client application 44 a as part of a Log-InConfirmation message 130, which allows theVTE client application 44 a to update the team space display 122 (described in greater detail below with respect to FIG. 10), with communications preferences information relevant to the user. TheVTE server 40 also forwards aSubscriptionRequest message 132 to thePresence Server 42, in order to update the contents of thedevices frame 43 b of the status table 43 in accordance with the user's current personal profile. A client Log-In message is then sent by theVTE server 40 in order to notify thePresence Server 42 that the user has logged into thecollaboration services suite 2. This information is used by thePresence Server 42 to update the status table 43 (FIG. 7) to show the Logged-In status of the user, as well as to flag the user as a watcher of each of the other members of the team. Identification of the Logged-In status of the user, in the status table 43, causes thePresence Server 42 to begin monitoring the status of each of the communications devices identified in the user's current personal profile 10 (as listed in thedevices frame 43 b of the status table 43), and forward corresponding status updates concerning the user to each of the other members of the team who are identified in the watcher'sframe 43 c of the status table 43. Similarly, identification of the user as a watcher of each of the other members of the team, means that thePresence Server 43 will forward status updates to the user concerning each of the other members of the team who are also logged in to thecollaboration services suite 2. Thus, theVTE server 40 negotiates a subscription and log-in of the user with the Presence Server. Upon successful completion of the subscription and log-in procedure between theVTE server 40 and thePresence Server 42, theVTE server 40 forwards aStatusEvent message 136 confirming the Log-In status of the user to theVTE client application 44 a. CorrespondingStatusEvent messages 138 are also forwarded by theVTE server 40 to each of the other members of the team, who are identified as watchers of the user. - FIG. 9 is a message flow diagram showing exemplary messages exchanged between the
VE client application 44 and elements of thecollaboration services suite 2 when the user wishes to log-out from thecollaboration services suite 2. Thus, a Log-OutRequest message 140 is forwarded by theVTE client application 44 a to theVTE server 40. Upon receipt of the Log-OutRequest message, theVTE server 40 unsubscribes the user from the Presence Server 42 (at 142), which causes the presence engine to remove the user as a watcher of any other members of the team. TheVTE server 40 then negotiates a log-out of the user from the Presence Server 42 (at 144), which causes the presence engine to update the status table 43 to indicate that the user is no longer logged-in to thecollaboration services suite 2. ThePresence Server 42 will continue monitoring the status of the preferred communications devices identified in the user's current personal profile (as identified in thedevices frame 43 b of the status table 43), and will also continue the forwarding of Status messages concerning the user to the other members of the team. Removal of the user as a watcher of any of the other team members (by unsubscribing the user as described above) causes thePresence Server 42 to cease forwarding Status messages concerning the status of any other logged in members of the team to the user. Following completion of the unsubscription and log-out between theVTE server 40 and thePresence Server 42,StatusEvent messages 146 indicative of the Log-Out status of the user are forwarded to theVTE client application 44 a and to each of the remaining logged-in team members. - FIG. 10 is a block diagram schematically illustrating exemplary frames of the
team space display 122 instantiated by theVTE client application 44, for example on a respective team member's PC. In the embodiment of FIG. 10, thevirtual team space 122 comprises amenu frame 148 enabling menu driven access to the functionality of theVTE client application 44; acurrent availability frame 150 showing the current state of the member's preference and presence information being maintained by thecollaboration services suite 2 and displayed to each of the other members of the team; the team view 14 (see FIG. 1) showing the current preference and presence information respecting each of the other members of the team; ateam bulletins frame 152 showing bulletins posted by members of the team; anactive communications frame 154 showing status information of active public communications sessions involving any one or more of the team members; and a team documentsframe 155 showing information respecting documents related to team activities and accessible by any members of the team. Exemplary contents and features of each of these frames are described below with reference to FIGS. 11 through 29. - FIG. 11 illustrates exemplary elements of the
menu frame 148 of theteam space display 122 illustrated in FIG. 10. As shown in FIG. 11, themenu frame 148 may be implemented as a multi-layer menu-tree enabling menu-driven access by the user to the functionality of theVTE client application 44. In the embodiment illustrated in FIG. 11,layer 1 of the menu-tree enables the user to access three general categories of functionality, namely a “contact”category 156 for accessing functionality related to communications with other persons; a “profiles”category 158 for accessing functionality related to the user s personal profiles; and a “team”category 160 for accessing functionality related to membership and administrative issues concerning the team. Other categories may also be provided inlayer 1 of the menu-tree, in a manner known in the art, to access other desired functions of theVTE client application 44 such as, for example, context-sensitive help. - Within each category of functionality, layers2 and 3 of the menu-tree may be populated as required to enable rapid and intuitive access to the functionality of the
VTE client application 44. Thus, as shown in FIG. 11, within the “contact”category 156, the illustrated embodiment presents five options. Two of these options, namely New Session 162 andActive Session 164 are directly related to communications sessions. As its name implies, the New Session option 162 is used to initiate a new voice, multi-media or text communications session (selected in layer 3) by opening respective voice, multi-media or text session objects 166, 168, 170. Similarly, theActive Session option 164 is used to open asession invite object 172 to initiate the formulation and sending of an invitation to another team member to join an ongoing voice, multi-media or text communications session. Other options may be presented inlayer 2 to enable the user to access member and communications session related functionality of theVTE Client application 44. Thus in the embodiment of FIG. 11, aSchedule Event option 174 is provided to enable the user to schedule team events (e.g. meetings etc.) for distribution to one or more involved team members. A Notifyoption 176 can be provided to enable the user to instruct theVTE client application 44 to notify the user of an occurrence of a predetermined event (e.g. a change in the status of a selected team member communications device). Finally, aShow Info option 178 may be used to display information (e.g. name, title, mailing address, etc.) respecting a selected team member. - As mentioned above, the “profiles”
category 158 accessed inlayer 1 of the menu-tree is used to access functionality of theVTE client application 44 concerning the personal profiles 10 defining communications preferences of the user. - The present invention enables the user to define multiple personal profiles10, each of which contains respective communications preferences information defining the user's preferences relating to participation in communications with other team members.
- Normally, each profile will relate to a respective role of the team member, such as “working”, “not working”, etc. Within each role, the team member may define respective profiles relating to an environment or context of the team member. For example, within the “working” role, the team member may have multiple work environments, such as “in the office”, “mobile”, “working at home”, etc. In the illustrated embodiment, four profiles are defined, namely “office”, “home”, “mobile” and “unavailable”, each of which relates to a respective different environment within the “working” role of the user. It will be appreciated that fewer, or more profiles may be defined, as desired, by the team member. The “profiles”
category 158 of themenu frame 148 provides aSelect Profile option 180 enabling the team member to select a previously defined personal profile as their current profile, and anEditProfiles option 182 enabling the user to create and edit each of their personal profiles. - The Edit Profiles
option 182 of themenu frame 148 enables the team member to create, edit and/or delete the communications preferences information of each personal profile in order to define respective communications preferences of the user. Normally, the communications preferences information will include information detailing any types of communications in which the team member prefers to participate, along with a device identifier and/or a device address (such as a PSTN Destination Number (DN), an IP address or an e-mail address) of a communications device that the team member can use to participate in communications. Thus, for example, the user may define an “office” personal profile in which the communications preferences information defines that the user prefers to participate in multi-media communications sessions using their office PC; voice communications sessions using their office telephone hand-set (e.g. e-mail and instant messaging) communications, again using their office PC. The IP and e-mail addresses of the office PC, and the telephone number of the office telephone hand-set, are included in the communications preferences information, to enable the set up of communications using each of the involved devices. - Similarly, a “working at home” personal profile can be defined for situations in which the team member is working from a home office. In this case, the communications preferences information of the “working at home” personal profile may indicate that the team member prefers to participate in voice communications sessions using their home telephone hand-set and communications such as e-mail and instant messaging using their home PC, but is not able to participate in multi-media sessions. Again, the telephone number of the team member's home telephone hand-set and the IP and e-mail addresses of the team member's home PC are included in the communications preferences information to enable establishment of text and voice communications sessions.
- A “mobile” personal profile can be defined by the team member for situations in which the team member is travelling, and therefore is restricted to the use of wireless communications devices for participating in communications. Thus, for example, the communications preferences information of the “mobile” personal profile may indicate that the team member is available for one-way numeric messaging using a wireless paging device, and voice communications using a wireless telephone (such as a cell phone or digital PCS). In this case, the telephone numbers of the user's pager device and wireless telephone are also included in the “mobile” personal profile to enable forwarding of numeric messages to the pager and the set up of telephone calls to the wireless telephone.
- Finally, an “unavailable” personal profile may be defined for those situations in which the team member does not wish to participate in communications with other members of the team, such as, for example, during a meeting with clients. In this case, the communications preferences information would define that the user is unavailable for participating in any communications, and thus would not include any device identification or address information respecting communications devices usable by the team member.
- FIG. 12 is a message flow diagram schematically illustrating exemplary messages exchanged between the
VTE Client application 44 and elements of thecollaboration services suite 2 in respect of the creation and/or editing of a personal profile. As shown in FIG. 12, a personal profile may be created or edited using a suitable profile editing object (not shown), which enables the team member to select and/or edit device identification and address information concerning one or more communications devices that are usable by the team member for participating in one or more types of communications. The profile editing object also preferably enables the team member to identify those types of communications that the user wishes to receive using each device. The team member can then submit the new (or amended) communications preferences information to the VTE server 40 (at 184) by clicking an appropriate icon or button provided in the profile editing object. Upon receipt of the Submission message, theVTE server 40 extracts and stores the new profile information in the database 6 (at 186) for future retrieval and use. Additionally, theVTE server 40 may forward at least the device identification and address information contained in the new profile information to the Presence Server 42 (at 188). ThePresence Server 42 can then use the device identification and address information to validate the team member's selected communications information (at 190). For example, thePresence Server 42 may launch a query to a network management system (not shown) in order to determine whether each device address provided by the team member is a valid address. Upon successful validation of the device identification and address information, thePresence Server 42 forwards aValidation message 192 to theVTE server 40, which then forwards aNotification message 194 to theVTE client application 44 a indicating that the personal profile has been successfully created or amended. - The
SelectProfile option 180 of themenu frame 148 can be used by the team member to select one of the personal profiles as a current profile which is then advertised by theVTE client application 44 to thecollaboration services suite 2, and thereafter propagated to each of the other members of the team. FIG. 13 is a message flow diagram schematically illustrating principle messages exchanged between theVTE client application 44 and elements of thecollaboration services suite 2 in response to the team member accessing theSelectProfile option 180 of themenu frame 148 in order to select one of the personal profiles as their current profile. As shown in FIG. 13, theVTE client application 44 a responds to selection of a personal profile by forwarding aSelectProfile message 196 containing a respective profile identifier to theVTE server 40. TheVTE server 40 extracts the profile identifier from theSelectProfile message 196, and uses the profile identifier to send aGetProfile query 198 to the database 6 (e.g. using an LDAP query). Thedatabase 6 returns amessage 200 to the VTE server containing the personal profile identified by the profile identifier. The communications preferences information (in particular, information identifying preferred communications devices and their respective addresses) is then forwarded by theVTE server 40 to thePresence Server 42 in aChangeProfile message 202. Upon receipt of theChangeProfile message 202, thePresence Server 42 updates the status table 43 to reflect the identity and address of each one of the preferred communications devices identified in the profile. TheVTE server 40 then forwards aStatusEvent message 204 to theVTE client application 44 of each team member in order to update theteam view 14 with preference and presence information of the team member reflecting the new current profile. - Referring back to FIG. 11, it is expected that a team member may be a member of multiple teams. It is also expected that the user may wish to select a different personal profile as their current personal profile for each one of the different teams. For example, if the team member wishes to participate in an important teleconference with members of one particular team, then the team member may select their “office” personal profile as their current profile for that team, and select their “unavailable” personal profile as their current profile in respect of each of the other teams. This ensures that the team member will be available to participate in the teleconference, without being interrupted by communications from members of the other teams. However, the team member may also wish to ensure that they have the same personal profile selected as the current profile in respect of each of the teams of which they are a member. Thus in the embodiment of FIG. 11, a Synchronize
option 206 is provided in the menu bar to enable the user to easily synchronize the selected current profile across each of the teams in which they are a member. - The “team”
category 160 provides access toteam membership 208 andmanagement 210 functionality of theVTE client application 44. As shown in FIG. 11, exemplary membershiprelated functionality 208 includes Leaving ateam 214 respecting which the team member no longer wishes to be a member. - Exemplary
team management functionality 210 includes team creation 216 (which causes instantiation of a newcollaboration services suite 2 respecting a new team); inviting a person to join an existing (or newly created)team 18; removing a team member from an existingteam 220; and disbanding ateam 222, which causes dissolution of thecollaboration services suite 2 associated with that team. - FIG. 14 is a message flow diagram schematically illustrating principle messages exchanged between three VTE clients4 and elements of the
collaboration services suite 2 during the creation of a team. In the scenario of FIG. 14, the creator of the new team is a user of VTE client (A) 4 a, and respective users of VTE clients (B) and (C) are invited to join the team. Accordingly, the user of VTE client (A) launches an instance of aVTE client application 44, and utilizes the team management/team creation functionality 210/216 of themenu frame 148 to create a new team. Theteam creation functionality 216 may prompt the team creator to enter a team name and possibly other team related information (at 224), and identify each person to be invited to join the team (at 226), before forwarding a CreateTeam message 228 to theVTE server 40. Upon receipt of the CreateTeam message 228, theVTE server 40 instantiates acollaboration services suite 2 respecting the new team, and then forwards the CreateTeam message (at 230) to thePresence Server 42. Upon receipt of theCreateTeam message 230, thePresence Server 42 instantiates a status table 43 respecting the new team. TheVTE server 40 can then send anAddTeamMember message 232 to thePresence Server 42, which responds to theAddTeamMember message 232 by populating the status table 43 with information (e.g. the personal identifier and communications information) respecting the team creator (i.e. the user of VTE client (A) 4 a). Upon successful creation of the status table 43 and registration of the team creator as a team member, thePresence Server 42 returns a StatusEvent message 234 to theVTE server 40, which forwards StatusEvent messages (at 236 and 238) to the VTE client A) 4 a in order to notify the team creator of successful creation of the team. Upon receipt of this StatusEvent message, theVTE client application 44 a updates the virtualteam space display 122 to reflect the identity of the newly created team, as well as the status of the team creator as a member of the team. AdditionalStatusEvent messages 240 are forwarded by theVTE server 40 to the VTE client (A) 4 a in order to update theteam view 14 of theteam space display 122 to show each of the invitees (i.e. the users of VTE clients (B) and (C) 4 b and 4 c) as having a Pending status. TheVTE server 40 then forwards anInvitation message 260 to a communications device (preferably a PC or a PDA capable of supporting a VTE client application 44) associated with the user of VTE client (B) 4 b. If the communications device already has an installed instance of theVTE client application 44, then this instance can be launched in order to display the invitation (at 262) and receive the user's response (at 264). Otherwise, theInvitation message 260 may contain functionality enabling the user to install an instance of aVTE client application 44 in order to handle display and response to the invitation. As a still further alternative, theInvitation message 260 may be provided with a VTE client applet (not shown) enabling display of the invitation and handling of the associated invitation response without having to install aVTE client application 44. In the scenario illustrated in FIG. 14, the user of VTE client (B) chooses to accept the invitation to join the new team. Accordingly, anInvitationResponse message 266, indicating the user's acceptance of the invitation, is forwarded to theVTE server 40. Upon receipt of theInvitationResponse message 266, theVTE server 40 forwards anAddTeamMember message 268 to thePresence Server 42 in order to update the status table 43 with appropriate information (e.g. a personal identifier and communications information, if available) respecting the user of VTE client (B). ThePresence Server 42 then returns a StatusEvent message 270, indicating successful registration of the new team member in the status table 43, to theVTE server 40, which propagates associatedStatusEvent messages 272 to each of VTE clients (A) and (B) 4 a, 4 b, in order to update their respective virtual team space displays 122 to show the user of VTE client (B) 4 b as a member of the team. If an instance of aVTE client application 44 has not previously been installed on a communications device encompassed by VTE client (B) 4 b, then this installation can also be performed upon acceptance of the invitation by the user of VTE client (B) 4 b. Additionally, the user of VTE client (B) 4 b may elect to use theVTE client application 44 installed on their communications device to define and/or modify one or more personal profiles containing communications information indicative of their availability to participate in communications. - In a manner directly analogous to that described above with respect to VTE client (B)4 b, the
VTE server 40 forwards an invitation message 274 to a suitable communications device (preferably a PC or a PDA capable of supporting a VTE client application 44) associated with the user of VTE client (C) 4 c. Similarly, the invitation may be displayed on the communications device (at 276) using either a previously installedVTE client application 44, a newVTE client application 44 installed for this purpose, or a VTE client applet included with the invitation message 274. In the scenario illustrated in FIG. 14, the user of VTE client (C) elects to decline the invitation to join the new team at 278. Accordingly, anInvitationResponse message 280 is returned from the VTE client (C) 4 c to theVTE server 40, which forwardsappropriate StatusEvent messages 282 to each of VTE clients (A) and (B) 4 a, 4 b in order to notify their respective team members that the user of VTE client (C) 4 c has declined to join the team, and to update their respective virtual team space displays 122 to remove references to the user of VTE client (C) 4 c as a “pending” member of the team. - As mentioned previously, it is anticipated that a person may be a member of multiple teams. In these situations, it is likely that the person will wish to control the team space display122 (see FIG. 10) respecting each of the teams in which they are a member. Thus the
VTE client application 44 provides various functionality with respect to the display of information concerning multiple teams. In the embodiment of FIG. 11, this functionality includes user-selection 284 of those teams for which information should be displayed. Other functionality not illustrated in the drawings but which may usefully be implemented may include: color coding of team space displays 122 to help the user discriminate information of one team from information of other teams; and control over the type and/or scope of information concerning a team that is to be displayed. For example, the team member may wish to have theteam view 14 of each team visible at all times, while information concerning team bulletins and public communications remains hidden (yet accessible using an icon, for example) in order to conserve space on a display monitor. - As shown in FIG. 10, the
virtual team space 122 includes acurrent availability frame 150 containing the team member's current preference and presence information as seen by other members of the team. FIG. 15 is a schematic block diagram illustrating exemplary contents and functionality associated with thecurrent availability frame 150 of theteam space 122. As shown in FIG. 15, the team member's current preference and presence information includes identity information associated with the team member, and communications information including communications preferences of the user for participating in communications with other members of the team. The team member's identity information is represented by the team member'spersonal identifier 286, which can be selected by the team member to view and/or edit their communications information. The team member's communications preferences are represented by acurrent profile identifier 288, and aProfile message 290 associated with the current profile. The team member's communications preferences information is indicated by icons generally indicative of the types of communications in which the team member prefers to participate, as identified in the current personal profile. Finally, the team member's presence information is represented by icon elements associated with each of the communications type icons, which indicate the current operational status of the user's preferred communications device for each type of communications session. - In the embodiment of FIG. 15, the team member can select the
profile identifier 288 as an alternative means of accessing the “select profile”functionality 180 of theVTE client application 44 discussed above with respect to FIGS. 11 and 13. Thus the team member can select one of their personal profiles as their current profile, on a team-specific basis, as desired. In the illustrated embodiment, each personal profile includes a Profile Message 290 (e.g. a text string such as “in the office”) which is distributed for display in theteam view 14 of theteam space display 122 instantiated for each of the other members of the team. Thismessage 290 may be selected (e.g. from a predefined list of default and/or custom messages), or edited as desired by the user by selecting theProfile Message 290 in thecurrent availability display 150. Any changes made by the team member are automatically forwarded by theVTE client application 44 to theVTE server 40, and propagated to each of the other members of the team. - As mentioned above, the communications preferences information includes information identifying the various types of communications (e.g. one-way and two-way messaging, voice, and multi-media) in which the team member is available to participate. In the illustrated embodiment, the communications preferences information is displayed by means of
icons 292 within thecurrent availability frame 150. Selection of theseicons 292 enables the team member to access the edit profiles functionality 182 (see FIG. 11) of theVTE client application 44 to change the communications preferences information, for example by changing the type of alpha-numeric communications (e.g. by selecting one of: instant messaging; one-way numeric or alpha-numeric paging; or none) or by changing a preferred voice communications device. These changes are forwarded by theVTE client application 44 to theVTE server 40 and propagated to the other members of the team in order to enable those members to successfully initiate communications with the team member. In the illustrated embodiment, the team member's communications preferences information,personal identifier 286, and at least theProfile message 290, are forwarded to thecollaboration services suite 2 and replicated to theVTE client applications 44 of each of the other members of the team. As a result, the team member is aware of the information, respecting themselves, that is being displayed in theteam space display 122 of each of the other members of the team. Similarly, the communications preferences information,personal identifier 286, andProfile message 290 of each of the other members of the team are forwarded to theVTE client application 44 of the team member and displayed in theteam view 14 of the team member's team space display 122 (see FIG. 10). - FIG. 16 is a block diagram schematically illustrating exemplary functionality of the
VTE client application 44 accessible using the team member preference and presence information displayed in the team view 14 (see FIG. 10). As mentioned above, theteam view 14 is used to display preference and presence information of each of the other members of the team. In the illustrated embodiment, each of the other members of the team, who are currently logged into thecollaboration services suite 2, are identified by their respectivepersonal identifiers 286. Associated with each team member'spersonal identifier 286, there is also displayed theProfile message 288 entered by the respective team member, as well as one ormore icons 294 representing the types of communications in which the respective team member prefers to participate. Theicons 294 are preferably provided as composite icons made up of a type icon element and a presence icon element. As described above with reference to FIG. 2, the type icon element is preferably provided as a graphical depiction (e.g. depicting a telephone, cell-phone, etc.) representative of a type of communications (e.g. one way alpha-numeric messaging; two-way messaging, wire-line or wireless voice; multi-media, etc.) in which the respective team member is available to participate. This information will normally conform to the communications preferences information defined in the respective team member's current profile, as selected by the respective team member. The presence icon element is used to provide a graphical depiction representative of a status of the communications device which the respective team member has selected as their preferred communications device for each type of communications. Preferably, the presence icon element takes the form of graphical depictions representing respective ones of: an inaccessible status indicating that the associated preferred communications device is currently inaccessible (e.g. a wireless telephone may be turned off or out of range); an in-use status; and an idle status. The form of the type and presence icon elements are arbitrary, and may be selected as desired. In the illustrated embodiment (see FIG. 1), an in-use status of a communications device is represented by a presence icon element in a form of a human head, and an inaccessible status of a communications device is represented by a presence icon element in the form of a circle surrounding the associated preferred communications device. An idle status of a communications device is indicated by the absence of any other presence icon element (i.e. either indicating an in-use or inaccessible status). In general, the presence icon element associated with each device icon element of a particular team member will be automatically selected by thecollaboration services suite 2, based on a detected operational status of the associated preferred communications device. - FIG. 17 is a message flow diagram illustrating exemplary functionality and message flows between the
VTE client application 44 and elements of thecollaboration services suite 2 in respect of the detection of team member presence information and the propagation of this presence information to each of the members of the team. As shown in FIG. 17, thePresence Server 42 monitors the operational status (at 296) of each of the communications devices identified in the status table 43. If a change in the operational status of a communications device is detected, thePresence Server 42 formulates aStatusEvent message 298 identifying the device in respect of which the change in status was detected, thepersonal identifier 286 of the team member associated with the communications device, and information indicative of the new status of the communications device in question. ThisStatusEvent message 298 is forwarded to theVTE server 40 which propagates the StatusEvent message to each team member (at 300). - Various means may be employed by the
Presence Server 42 to obtain the device status information, depending principally on the nature of the subject communications device. As mentioned above, thePresence Server 42 detects the device status information using the techniques described in Applicant's co-pending U.S. patent application Ser. Nos. 09/460,780; 09/461,119; and 09/461,492 (all filed Dec. 14, 1999), the contents of which are hereby incorporated by reference. For example, in cases where the communications device is a personal computer (either a desktop PC, a Notebook, or a wireless applications program (WAP) enabled communications device such as a wireless personal digital assistant (PDA)), it is possible to install aVTE client application 44 on the communications device. Thepresence client 110 of theVTE client application 44 can then operate to detect the status of the respective communications device, and forward applicable Status messages to thePresence Server 42 at regular intervals. Accordingly, thePresence Server 42 can declare an unavailable status in the event that Status messages are not received from thepresence client 110 for a predetermined period of time. In the event that Status messages are received, then thePresence Server 42 can declare that the associated communications device is available, and determine a busy or idle status based on the contents of the Status message. In the case of a wireless telephone, it is possible to determine the operational status (including, for example, an idle or busy status, an unavailable status, and in some cases even a geographical location) by querying the Home Location Registry (HLR) of the wireless telephone. An “on-hook” or “off-hook” status of a wire-line telephone connected to the PSTN can be determined by asserting an EAN query, via thecall server 50 and/orVSP 60, against the local loop identified by the PSTN destination number (DN) of the telephone, in a manner known in the art. The Response message returned by the service switch point (SSP) hosting the wire-line telephone indicates the status of the telephone, again in a manner known in the art. - FIG. 16 also illustrates exemplary functionality of the
VTE Client application 44 that may be accessed through theteam view 14. In particular, access to the communications functionality of the VTE Client application 44 (e.g. the “new session” functionality 162 accessible under the “contact”category 156 of the menu frame 148) can usefully be obtained by using thecommunications icons 294 associated with a particular team member. Thus, in the illustrated embodiment, a single click on acommunications icon 294 may be used to open an empty communications object of the relevant communications type (i.e. text, voice or multi-media) that includes thepersonal identifier 286 associated with the selectedicon 294 located in an invitees frame to indicate that the selected team member is an invitee to the new communications session or a recipient of a one-way communication. A double click on anicon 294 may have a similar effect, but in addition also initiates the new communications with the identified team member, by launching a start communications message to thecollaboration services suite 2. - A right click on an
icon 294 may be used to access a selection of alternative communications paths. For example, a team member may select their “unavailable” profile to indicate that they are not available for communications with other members of the team. Based on the team member's selection of the “unavailable” personal profile as their current profile, theteam view 14 of each of the other team members will include generic type and presence icon elements indicating that the team member is not available for text or voice communications sessions (as described above with reference to FIG. 1). However, by right clicking on the generic voice communications icon 38 (see FIG. 1) associated with the unavailable team member, a team member can obtain a listing of alternative communications paths, which may be selected to establish a voice communications session with the unavailable team member, effectively by-passing the “unavailable” profile selected by that team member. - As shown in FIG. 16, additional functionality of the
VTE client application 44 may be accessed by selecting a team member, for example by clicking on either thepersonal identifier 286 or theProfile message 290 associated with the selected team member. For example, a right click may be used to obtain information concerning the selected team member, such as, for example, new or active communications preferences information and options, and identifying information of the team member. Additionally, functionality of theVTE client application 44 may be accessed through themenu frame 148 in respect of the selected team member. Thus, for example, themenu frame 148 may be used to open a new voice communications session object in which the selected team member is identified (e.g. by way of the personal identifier 286) as an invitee. Furthermore, theVTE client application 44 can be designed to support “drag and drop” functionality to enable a team member to “drag” apersonal identifier 286 of a selected team member into an already opened communications session object in order to invite the selected team member to join a new or active communications session. - FIG. 18 is a block diagram schematically illustrating exemplary elements of the team bulletins frame152 of the
team space display 122. Theteam bulletins frame 152 generally comprises adisplay area 302 in which each of the bulletins posted to the collaboration services suite 2 (by any of the members of the team) are displayed, and an “edit”icon 304 used for accessing an edit bulletins object 306 which may be used by the team member in order to edit existing bulletins and/or create and post new bulletins to thecollaboration services suite 2. The detailed implementation of both theteam bulletins frame 152 and the edit bulletins object 306 may be selected as desired, and therefore are not described in detail. - FIG. 19 is a block diagram schematically illustrating the
active communications frame 154 of the team space display 112 (see FIG. 10). Theactive communications frame 154 is used within theteam space display 122 to displaysession information 308 concerning active communications sessions involving one or more members of the team. In the embodiment of FIG. 19,session information 308 concerning two active communications sessions is illustrated in theactive communications frame 154. It will be appreciated that any number of active communications sessions may be displayed in theactive communications frame 154, as desired. Thesession information 308 displayed within theactive communications frame 154 may include any information relevant to the respective communications session. Additionally, the manner in which thesession information 308 is represented within the active communications frame 154 (e.g. using icons and/or text) is arbitrary, and may be selected as desired. In the illustrated embodiment, thesession information 308 displayed within theactive communications frame 154 includes, for each active communications session, anicon 310 graphically representing a type of the communications session (e.g. voice, text, or multi-media), and a set of text frames 312, 314, 316 respectively displaying information concerning the type of the communications session, a session topic, and a listing of team memberpersonal identifiers 286 indicating those team members who are current participants in the communications session. - As mentioned previously, the functionality of the
VTE client application 44 enables a user to join an active communications session. This functionality may be accessed by clicking on theicon 310 associated with the desired active communications session in order to launch a Join Session message to thecollaboration services suite 2. Alternatively, the team member may join an active session by selecting a desired communications session within theactive communications frame 154 of theteam space display 122, and then using the menu frame 148 (see FIG. 11) to access the appropriateactive session functionality 164 under the “contact”category 156. Upon receipt of the Join Session message, thecollaboration services suite 2 operates to join the team member into the selected active communications session in a manner which will be described in greater detail below. - It is anticipated that for some communications sessions, the participants will wish to keep the communications session “private”, at least in the sense that they will not wish other members of the team to join the communications session uninvited. In other cases, session participants may wish to keep the communications session “public” and so allow other team members to join the communications session without an invitation. Thus the present invention enables a communications session to be marked as either a public or private communications session, and this marking is preferably reflected in the
active communications frame 154 of theteam space display 122. A preferred method of accomplishing this is to implement the functionality of theVTE client application 44 and thecollaboration services suite 2 such that only session information concerning public communications sessions is displayed in theactive communications frame 154 of theteam space display 122. As a result, the team member would not be aware of any private communications sessions in which they themselves were not a participant. An alternative approach involves using the graphical representation of theicon 310 to indicate whether or not the user is able to join the associated communications session without having received any invitation from one of the current participants. In this case, thesession information 308 concerning a private communications session would be displayed in the activecommunications session frame 154, and thus a user would be aware that the communications session was taking place. However, the graphical representation of theicon 310 would indicate the private status of the communications session, and thus the user would also be aware of their inability to join the communications session without an invitation. - It is also anticipated that a team member may wish to join a public communications session as either a listener (i.e. in order to monitor the communications session, but without contributing content and/or being visible as a participant), or a full participant. As shown in FIG. 19, this functionality may be accomplished by the
VTE client application 44 responding to the team member's clicking on theicon 310 associated with the desired communications session by opening a JoinSession object (not shown) in which the team member has an opportunity to select their participation level (shown at 318). The user's selection in this respect can then be used to formulate an appropriate parameter which is transmitted to thecollaboration services suite 2 along with the JoinSession message in order to control the set-up of communications links between the team member and the active communications session. - FIG. 20 is a message flow diagram illustrating exemplary functionality and messages exchanged between
VTE client applications 44 and theVTE server 40 in respect of an exemplary public communications session. In the scenario illustrated in FIG. 20, an instant messaging session is initiated (at 320) by the user of VTE client (A) 4 a by using the functionality of theVTE client application 44 a to open an IM session object. The user elects to identify the IM session as a public session (at 322), selects (at 324) the user of VTE client (B) as the person with whom they wish to communicate, enters text information respecting the session topic (at 326), and enters an initial text message directed to the user of VTE client (B) 4 b (at 328). Based on this information, the VTE client (A) 48 formulates and sends anIM session message 330 to theVTE server 40, which extracts the session information entered by the user of VTE client (A) and opens an IM session record (at 332) in respect of the IM session. TheVTE server 40 then forwards the IM message to the VTE client (B) (at 334) in order to initialize the two-way instant messaging session between the users of VTE clients (A) and (B). Because the user of VTE client (A) 4 a indicated the session type of the IM session as “public”, StatusEvent messages are forwarded (at 336) to each of VTE clients (C) and (D) in order to update theactive communications frame 154 of their respective virtual team space displays 122. Thereafter, two-way IM session traffic flows 338 between VTE clients (A) and (B) via theVTE server 40. - Subsequent to initialization of the above instant messaging session, the user of VTE client (C)4 c accesses the functionality of their respective
VTE client application 44 c to send aJoinSession message 340 indicating the user's desire to join the active instant messaging session as a participant. In response to theJoinSession message 340, theVTE server 40 updates the session information contained in the session record (at 342), and forwards StatusEvent messages to each of VTE clients (A), (B), (C) and (D) (at 344) in order to update the respective team space displays 122 to show the status of the user of VTE client (C) 4 c as a participant in the active IM session. Thereafter, the active IM session continues (at 346), with two-way IM message flows between each of VTE clients (A), (B) and (C), mediated by theVTE server 40. - Subsequently, the user of VTE client (D)4 d accesses the functionality of their respective VTE client application 44 d in order to join the active IM session as a listener. Thus the VTE client (D) 4 d forwards an appropriate JoinSession message (at 348) to the
VTE server 40, which updates the session information contained in the session record to include the user of VTE client (D) 4 d as a listener of the active IM session. Because the user of VTE client (D) 4 d has joined the active IM session as a listener (rather than as a participant) theVTE server 40 continues forwarding two-way IM traffic between each of VTE clients (A), (B) and (C) (at 350), without interruption. However, this IM message traffic is copied (at 352) as a stream of one-way IM messages to VTE client (D) 4 d, so that the user of VTE client (D) 4 d is maintained aware of the content of the active IM session. However, the user of VTE client (D) is unable to forward IM messages (as part of the active IM session) to any of the participants in the active IM session. In the scenario illustrated in FIG. 20, the participants in the active IM session (i.e. the users of VTE clients (A), (B) and (C)) are not notified by theVTE server 40 that the user of VTE client (D) 4 d has joined the active session as a listener. However, it will be appreciated that such notification may readily be provided by forwarding appropriate StatusEvent messages as described above with respect to the joining of the user of VTE client (C) 4 c to the active communications session. - As described above, the
VTE client application 44 is adapted to interact with thecollaboration services suite 2 to enable a user to initiate or participate in communications sessions with other team members. FIGS. 21 through 23 are block diagrams schematically illustrating exemplary functionality of the VTE client application 4 in respect of instant messaging, voice and multi-media communications sessions respectively. FIGS. 24 and 25 are block diagrams schematically illustrating exemplary functionality of theVTE client application 44 concerning the sending and receiving of invitations to join an existing communications session. FIGS. 26 through 36a present message flow diagrams illustrating exemplary functionality of thecollaboration services suite 2 associated with the set up and tear down of communications sessions in response to messages received from theVTE client application 44 illustrated in FIGS. 21 through 23. Similarly, FIGS. 26 through 36a present message flow diagrams illustrating exemplary functionality of thecollaboration services suite 2 in respect of the handling of invitations to join active communications sessions in response to messages received from theVTE Client application 44 illustrated in FIGS. 24 and 25. - Referring now to FIG. 21, user participation in an instant messaging session is enabled using an
IM session object 354 which can be instantiated by user input, either by accessing the newIM session functionality 170 of the menu frame 148 (see FIG. 11) or by clicking on a text messaging icon 249 associated with a selected team member whose availability information is displayed in theteam view 14 of theteam space display 122. TheIM session object 354 may also be automatically instantiated by theVTE client application 44 if an Instant Message, that is not associated with an active IM session, is received from another team member (as shown at 356). In general, theIM session object 354 serves as a container for information respecting a respective instant messaging session and provides access to functionality of theVTE client application 44 andcollaboration services suite 2 for controlling the associated instant messaging session. Exemplary information contained by theIM session object 354 includes:session information 308; asession topic 357; anew message 358 entered by the team member for transmission to the other participants of the IM session; a record ofsession messages 360 previously exchanged between participants in the IM session; alisting 362 identifying each of the current participants in the IM session; and a listing of documents exchanged 363 between participants in the IM session. - The
session information 308 may include any administrative or “tombstone” data that may be desired for archiving and session administration purposes. Exemplary data usable in this respect may include any one or more of: a session identifier providing a unique tag for identification, threading, archiving and/or future retrieval of information concerning the communications session; information concerning a session topic, which may be entered and/or edited by any of the session participants; session start and stop times; information identifying the team member who initiated the IM session; and information identifying the team member who invited the respective team member into the IM session. - As described above, an
IM session object 354 respecting a new instant messaging communications session can be instantiated via themenu frame 148 or theteam view 14. In either case, the team member may use the functionality of theVTE client application 44 in order to place thepersonal identifiers 286 of each person, with whom they wish to communicate, into the current participants frame 362 of theIM session object 354. This may be accomplished either by using a “drag and drop” functionality of theVTE client application 44, or by themenu bar 148. Having thus identified each of the persons with whom the team member wishes to communicate, the team member may select an appropriate icon or button (e.g. a Start button) to cause theVTE client application 44 to launch an OpenSession message (shown at 364) containing the personal identifiers of each of the invitees selected by the team member to thecollaboration services suite 2 in order to initiate the communications session. Following initialization of the communications session, thecollaboration services suite 2 monitors the status of each of these participants in the communications session and forwardsmember Status messages 366 to theVTE client application 44. These member Status messages are used by theVTE client application 44 to update presence and status information respecting each of the team members identified in the current participants frame 362 of the instantmessaging session object 354. - The
session topic frame 357 of theIM session object 354 may be used to enable the participants in the IM session to input and/or edit a text description of a session topic. During the course of the communications session, a change in the topic frame entered by the team member can be forwarded to thecollaboration services suite 2 by means of an Update message (at 359), and subsequently propagated to each of the session participants by way of a StatusEvent message. Upon receipt of a StatusEvent message containing revised text of the topic frame (at 361), theVTE client application 44 extracts the revised topic text and updates thetopic frame 357 of theIM session object 354. - The team member can send a message to the other participants in the communications session by typing the text message into the
New message frame 358 of theIM session object 354, and clicking an appropriate icon or button (e.g. a Send button) to send the text message (368) to thecollaboration services suite 2, which replicates the message to each of the other participants in the communications session. Text messages originating from each of the other participants in the communications session are propagated to the VTE client 4 (at 370) of the team member via thecollaboration services suite 2 in the same manner, and are used by theVTE client application 44 to update theSession messages frame 36 of the instantmessaging session object 354. During the course of the IM session, it may be decided to invite another person (who may or may not be a member of the team) to join the IM session. Thus theVTE client application 44 provides an appropriate icon or button (e.g. an Invite button) which enables the team member to open (at 372) aninvitation object 374, which will be described in greater detail below with respect to FIG. 24. In addition, an appropriate button (e.g. a Remove button) may be provided to enable the current participants in the IM session to remove a participant IM session, by sending a Remove Participant message to the VTE server 40 (at 369). This functionality may, for example, be used to remove a party who has been invited to the IM session, but who has not responded to the invitation. - It is also possible that the current session participants may wish to terminate the instant messaging session and continue the conversation using an alternative type of communications, such as, for example, voice communications. Consequently, the
VTE client application 44 provides an appropriate icon or button (a ConvertSession button) which enables the team member to launch a ConvertSession message (at 376) to thecollaboration services suite 2 to facilitate conversion of the communications session to the desired communications type. Finally, theVTE client application 44 provides an appropriate icon or button (e.g. a Close button) which can be selected by the team member to send a CloseSession message (at 378) to thecollaboration services suite 2 in order to terminate the instant messaging session. - The exchanged
documents frame 363 is considered to be optional, and may or may not form a part of an instance of anIM session object 354. In general, the exchangeddocuments frame 363 is used to record information identifying any documents exchanged, or otherwise discussed during the course of the communications session. This information may take the form of: a copy of the document itself; a document name; an address or path specification for locating the document on a network; or a hypertext link enabling the user to open the document in a suitable browser or word processor window. Changes in the information contained in the exchangeddocuments frame 363 are forwarded (at 365) by theVTE client application 44 to thecollaboration services suite 2, which propagates the revised information to each of the other participants in the communications session. Updated exchanged document information contained within Update messages received (at 367) from thecollaboration services suite 2 is extracted from the message by theVTE client application 44 and used to update the contents of the shareddocuments frame 363. - FIG. 22 is a block diagram schematically representing functionality of the
VTE client application 44 in respect of voice communications sessions involving the team member. As with IM sessions, functionality of theVTE client application 44 in respect of voice communications sessions is enabled by means of avoice session object 380 which is instantiated by theVTE client application 44 for the duration of the team member's participation in the voice communications session. Similarly, thevoice session object 380 will normally be instantiated in response to user input. In the case of a new voice communications session, thevoice session object 380 can be instantiated either by the team member accessing the newvoice session functionality 166 of theVTE client application 44 through the “contacts”category 156 of the menu frame 148 (see FIG. 11), or by selecting a device icon (in the team view 14) representing a voice communications device associated with a team member with whom the user wishes to communicate. Thevoice session object 380 may also be instantiated by theVTE client application 44 in respect of a active voice communications session, in response to either the team member responding to an invitation (see FIG. 25) or by the user selecting acommunications icon 310 of an active communications session identified in theactive communications frame 154 of the team space display 122 (see FIG. 19). - In general, the
voice session object 380 contains communications information related to the voice communications session. This communications information will typically include:session information 382; asession topic 384; a listing of meeting or session notes 386 entered by the participants of the communications session; and a listing of the personal identifiers corresponding to each of thecurrent participants 388 in the communications session. Additionally, a listing of any documents exchanged 390 by the participants in the communications session may also be included in the voice session object. At least thesession information 382 and listing ofcurrent participants 388, as well as the functionality of theVTE client application 44 related to this information is closely similar to that described above in relation to instant messaging sessions. Thus, for example, thesession information 382 may include any one or more of: a session identifier; information identifying (e.g. by way of the personal identifier) the person who initiated the communications session; information identifying (e.g. by way of the personal identifier) the person who invited the team member to join the communications session; start and stop times of the communications session; as well as any other information that may be desirable for administration, management, or archiving purposes in relation to the communications session. The listing ofcurrent participants 388 may be used during initiation of the communications session, as described above with reference to FIG. 21, to control the start-up of the voice communications session following the launch of a MakeCall message (at 392) to thecollaboration services suite 2. During the course of the communications session, other persons (who may or may not be members of the team) may be invited to join the communications session (at 394), either by using “drag and drop” functionality of theVTE client application 44 to drag the personal identifier of the invitee from theteam view 14 of theteam space display 122 into the current participants list 388 of thevoice session object 380, or alternatively by clicking on an Invite icon or button. In either case, anInvitation object 374 is opened to enable the team member to launch an Invitation message to the selected invitee, in a manner which will be described in greater detail below with respect to FIG. 24. Conversely, the current participants list 388 can also be used to remove a participant from the active voice session (at 396). This may be accomplished either by using the “drag and drop” functionality of theVTE client application 44 to drag the personal identifier of the selected participant out of the current participant'sframe 388, or by clicking on a Remove icon or button. In either case, theVTE client application 44 responds by forwarding a RemoveParticipant message to thecollaboration services suite 2 to effect the removal of the identified participant from the communications session. - The
session topic frame 384 of the voice session object may be used to enable the participants in the communications session to input and/or edit a text description of a session topic. During the course of the communications session, a change in the topic frame entered by the team member can be forwarded to thecollaboration services suite 2 by means of an Update message (at 398), and subsequently propagated to each of the session participants by way of a StatusEvent message. Upon receipt of a StatusEvent message containing revised text of the topic frame (at 400), theVTE client application 44 extracts the revised topic text and updates thetopic frame 384 of thevoice session object 380. - Similarly, the meeting or session notes
frame 386 of thevoice session object 380 is used to store text information (which may take the form of messages, memos, notes, or any other text information) which the participants wish to have recorded in association with the communications session. As with thetopic frame 384, new session notes (and/or changes to existing session notes) are forwarded by theVTE client application 44 to the collaboration services suite 2 (at 398), which then propagates the changes to the other participants in the communications session by way of a StatusEvent message. Upon receipt of a StatusEvent message (at 400) containing updated text of the session notesframe 386, theVTE client application 44 extracts the updated text, and uses this information to update the contents of the session notesframe 386. - The exchanged
documents frame 390 is considered to be optional, and may or may not form a part of an instance of avoice session object 380. In general, the exchangeddocuments frame 390 is used to record information identifying any documents exchanged, or otherwise discussed during the course of the communications session. This information may take the form of: a copy of the document itself; a document name; an address or path specification for locating the document on a network; or a hypertext link enabling the user to open the document in a suitable browser or word processor window. Changes in the information contained in the exchangeddocuments frame 390 are forwarded (at 402) by theVTE client application 44 to thecollaboration services suite 2, which propagates the revised information to each of the other participants in the communications session. Updated exchanged document information contained within Update messages received (at 404) from thecollaboration services suite 2 is extracted from the message by theVTE client application 44 and used to update the contents of the shareddocuments frame 390. - FIG. 23 is a block diagram schematically illustrating functionality of the
VTE client application 44 with respect to multi-media communications sessions. This functionality is implemented by theVTE client application 44 by means of amulti-media session object 406 which includes many of the characteristics and features of thevoice session object 380 described above with respect to FIG. 22. This includes: functionality with respect to instantiation of the multi-media session object 406 (for both initialization of a new multi-media session and for joining an active multi-media session that is already in progress);session information 408 for administration, management, and archiving purposes; asession topic 410; session notes 412;session participants 414; and exchangeddocuments 416. Accordingly, these elements will not be described in further detail below. The primary difference between themulti-media session object 406 and thevoice session object 380 described above with respect to FIG. 22, is that themulti-media session object 406 also includes a “real time events”frame 418 for processing multi-media events in real time. Exemplary real time events of the type contemplated by the present invention include: a video stream such as, for example, a video stream of a video conferencing session; user and other session participant input respecting a shared white board; and application events generated by a software application or document being shared by two or more of the participants in the multi-media session. Events generated within theVTE client application 44, either due to team member input or from some other multi-media device (e.g. a video camera) are forwarded (at 420) as an event stream to respective multi-media communications devices associated with each of the other participants in the multi-media session via, for example, IP multicasting as discussed in greater detail below. Corresponding event streams from each of the other participants are used (at 422) by theVTE client application 44 to update the contents of one or more associated real time displays (not shown). - FIG. 24 is a block diagram schematically illustrating exemplary functionality of an
invitation object 374 opened by theVTE client application 44 for inviting one or more new participants to join an active communications session. These new participants may be a member of the team, or alternatively may be any other individual for whom appropriate contact information is available. Accordingly, theinvitation object 374 includes adirectory search frame 422 which provides access to one or more directories enabling the user to identify and select each person to whom they wish to direct the invitation. The directories accessed by thedirectory search frame 422 may be a personal directory compiled by the team member, a corporate or enterprise directory, or a public directory such as, for example, the “Canada 411” directory accessible through the public internet. In addition to thedirectory search frame 422, theinvitation object 374 may contain information relevant to the associated communications session. Conveniently, this information will be composed of an extract of the information contained in the IM, voice orMulti-media session object invitation object 374 was opened. The intention of this information is to both enable thecollaboration services suite 2 to associate the invitation message (and any invitation responses received from the invitee) with the communications session, as well as to provide the invitee with sufficient information concerning the communications session to enable them to make a decision regarding whether or not they wish to join the communications session. Thus in the illustrated embodiment, theinvitation object 374 contains an extract of the session information 424 (containing at least the session identifier); asession topic 426; a listing of the personal identifiers of each of the current participants in thecommunications session 428; a record of any session notes 430 and/orsession messages 432 entered by the participants in the communications session; as well as atext message 434 that the team member wishes to forward to the invitee as part of the invitation. Most of this information can be extracted automatically by theVTE client application 44 from the associated communications session object, so that the team member may merely identify and select each person to whom the invitation is to be directed, and optionally enter amessage 434, concerning the invitation, to the proposed invitees. The team member can then cause theVTE client application 44 to formulate and send an appropriate Invitation message (at 436) to thecollaboration services suite 2, by clicking on an appropriate Invite button or icon of theinvitation object 374. In general, the Invitation message will contain the information contained in the invitation object (extracted from the communications object), along with information identifying the invitee. In cases where the invitee is a member of the team, the information identifying the invitee will consist of the invitee's personal identifier. In other cases, the information identifying the invitee will include an address (e.g. a PSTN Destination Number, an IP address, or an e-mail address) of a communications device associated with the invitee. Based on this information, thevirtual team environment 3 formulates and sends an Invitation message to the invitee. Exemplary steps and message flows in respect of Invitation messages are described in greater detail below with respect to FIGS. 28-36 a. - FIG. 25 is a block diagram schematically illustrating exemplary functionality of the
VTE client application 44 associated with an Invitation message received (at 438) from thecollaboration services suite 2. As described above with reference to FIG. 14, in cases where the invitee's communications device already has an installed instance of a VTE client application 44 (regardless of whether or not they are a member of the team), this functionality may be provided by the installedVTE client application 44. If the invitee does not have aVTE client application 44, then either one can be installed, or the functionality may be provided by an invitation object (which may, for example be implemented as a java applet) provided by thecollaboration services suite 2, and adapted to be instantiated within a suitable browser window. In a still further alternative, in cases where the invitation must be delivered to the invitee through a voice communications device, the functionality of FIG. 25 can be provided by an interactive voice response (IVR) interface of thecollaboration services suite 2. - In general, the
Invitation message 440 received by the invitee contains the information assembled by theinvitation object 374 from which the invitation was launched. The functionality associated with the receivedinvitation 440 enables the invitee to respond to theinvitation 440 by indicating their willingness to join the communications session immediately (at 442), decline the invitation (at 444)and not join the communications session, or join the communications session at a later time (at 446). In each case, the invitee may send a reply message (not shown) back to the individual who caused the invitation to be forwarded to the invitee. This reply message will normally take the form of a one-way message. However, the invitee may also choose to initiate an instant messaging session with the invitor. - If the invitee elects to join the communications session immediately (at442), which may be indicated by clicking an appropriate button or icon, a Join message is returned (at 448) to the
collaboration services suite 2, and anappropriate session object collaboration services suite 2 operates to join the invitee into the communications session. Exemplary steps and message flows in respect of adding an invitee into an active communications session are described below with respect to FIGS. 28-36 a. - In the event that the invitee elects to decline the invitation (at444), an associated Decline message is forwarded (at 452) back to the person who initiated the invitation. In cases where the invitation is delivered to the invitee using a GUI-enabled communications device, the invitee may also be presented with a messaging window (not shown) to enable the invitee to enter a message to the invitor (e.g. to explain their unwillingness to join the communications session). An analogous functionality can also be implemented when the invitation is delivered to the invitee through a voice communications device via an IVR interface. In this case, the IVR interface may prompt the invitee to provide a Voice message, which can be recorded by the IVR interface and then forwarded as a VoiceMail message to the invitor.
- If the invitee wishes to join the communications session at a later time (446), a deferral message may be returned to the
collaboration services suite 2 and/or the person who initiated the invitation message, to indicate that the invitee has deferred joining the communications session. Whether or not a deferral message is sent, the invitation object remains active, so that the invitee can join the communications session (at 454) by clicking an appropriate button or icon to send a Join message (at 448) to thecollaboration services suite 2, as described above. In response to the Join message, thecollaboration services suite 2 operates to join the invitee into the communications session. Exemplary steps and message flows in respect of adding an invitee into an active communications session are described below with respect to FIGS. 28-36 a. - Establishing Voice Communications Sessions
- Collaboration between geographically-dispersed members of a team is facilitated by instantiating a virtual team environment (VTE)3 in accordance with the invention. In the
VTE 3, voice communications sessions are preferably established in such a way that the collaboration services suite can exercise control over the calls at any time required by members of the team. In one embodiment, control is exercised using a virtual switching point (VSP), also referred to as an enhanced application node (EAN) in the public switched telephone network (PSTN). As described, for example, in co-Applicant's U.S. Pat. No. 6,097,804, a plurality of Integrated Services Digital Network User Part (ISUP) voice trunks in the PSTN are provisioned such that the VSP is a virtual switching point logically situated between opposite ends of the respective ISUP trunks. Trunks provisioned in this way are hereinafter referred to as “Enhanced ISUP (E-ISUP)” trunks, designated as E-ISUP (A), (B) and (C) in FIG. 30. The respective E-ISUPs may be located anywhere in the PSTN. Since the VSP is a virtual switching point, its physical relationship with the respective E-ISUP trunks is arbitrary. - Establishing Two-Way Voice Communications Sessions
- FIG. 26 is a message flow diagram showing messages exchanged between components of the collaboration services suite of the VTE in accordance with the invention, as well as certain components of the public switched telephone network (PSTN) involved in voice communications establishment. The components of the PSTN include: service switching point (SSP) (X), which serves the telephone of a team member using VTE client A; SSP (Y), which serves a telephone of a team member using VTE client (B); SSP (Z), which serves a telephone of a team member using VTE client (C); SSP (D), which serves a conference bridge in a manner well known in the art; an SSP1 connected to one end of an E-ISUP trunk (A); an SSP2 connected to the other end of the E-ISUP trunk (A); an SSP3 connected to one end of an E-ISUP trunk (B); an SSP4 connected to the other end of the E-ISUP trunk (B); an SSP5 connected to one end of an E-ISUP trunk (C); and, an SSP6 connected to the other end of the E-ISUP trunk (C). As will be understood by those skilled in the art, the SSPs 1-6 can be a single SSP equipped with loop-back trunks, different SSPs, or two or more SSPs, depending on the network configuration used to implement the invention. For simplicity of illustration, the SSPs 1-6 are represented as separate service switching points.
- For simplicity of illustration, only the three E-ISUP trunks are shown in FIG. 26. More E-ISUP trunks may be used in any given implementation of a VTE in accordance with the invention.
- As explained above with reference to FIG. 22, team members can use their GUI to initiate a voice communications session with other team members, or other parties who may be reached by telephone even if they are not team members. In the example shown in FIG. 26, a team member using VTE client (A) wishes to establish a two-way voice communications session with another team member using VTE client (B). The team member using VTE client (A) initiates the voice communications session (step500) using the GUI, for example, by clicking on a voice communications icon associated with the personal identifier of the team member using VTE client (B). This action prompts the VTE client (A) to generate (step 502) a SessionRequest message that includes a personal identifier of the requesting team member (optional), a session type, and a personal identifier of the party or parties to be invited to join the voice communications session (team member using VTE client (B) in this example). On receipt of the SessionRequest, the VTE server parses the request message to determine the session type and extracts the personal identifier(s) of the parties to be invited (step 504). The VTE server also assigns a session ID (step 506) to the session. The VTE server then translates the personal identifiers of the team members using VTE clients (A) and (B) to determine an available voice communications device associated with the respective team members. The determination of an available voice communications device is performed, for example, by referencing a team member profile and sending a query to the Presence Server (FIG. 2) to determine the availability of a preferred voice communications device specified in the profile associated with each of the team members using VTE clients (A) and (B). If a voice communications device is available for each of the team members, as shown in this example, the VTE server sends a MakeCall message to the VSP to initiate call setup in
step 508. The MakeCall message includes a dialed number for the team members using VTE clients (A), (B), as well as the session ID. The session ID is used by the VSP to create a session record for the purposes of tracking the session, should there be a subsequent request for the addition of other parties or for a change to some other type of communications medium, as will be explained below in more detail with reference to FIGS. 32-32 b. - On receipt of the MakeCall message in
step 508, the VSP formulates an ISUP Initial Address Message (ISUP-IAM). The ISUP-IAM includes the dialed number of team member using VTE client (A). It also includes a circuit identification code (CIC) associated with the E-ISUP (A). A Destination Point Code (DPC) of the ISUP-IAM is set to the point code of an SSP1 associated with a first end of the E-ISUP (A). The VSP then sends the message instep 510 through the SS7 network that controls the switched telephone network, and SS7 routing protocols route the message through the common channel signaling network to the SSP1. On receipt of the message, the SSP1 translates the dialed number and forwards the ISUP-IAM through the SS7 network in a manner well known in the art. - In this example, the team member using VTE client (A) is provided telephone service by an SSP (X). The message is therefore forwarded through the network in
step 512 to the SSP (X). On receipt of the message, the SSP (X) checks the availability of the subscriber line associated with the team member using VTE client (A) and, finding the line available, applies ringing to the line instep 514. Thereafter, the SSP (X) returns an ISUP Address - Complete Message (ISUP-ACM) in
step 516 which is forwarded back through the network by SSP1 instep 518 to the VSP. Instep 520, the team member using VTE client (A) responds to the ringing signal by answering his voice communications device, which sends a signal to SSP (X) that the call has been answered. The SSP (X) responds by sending an ISUP Answer Message (ISUP-ANM) instep 524 to SSP1. The ISUP-ANM contains the CIC of E-ISUP (A), as is well known in the art. The SSP1 then forwards the ISUP-ANM back through the common channel signaling network to the VSP instep 526. On receipt of the ISUP-ANM, the VSP is informed that a connection has been established between the voice communications device of the team member using VTE client (A) and the SSP1. - In order to complete the call while maintaining control of respective first and second legs of the call, the VSP formulates a new ISUP-IAM in which the VSP inserts a routing code rather than a dialed number in order to establish a connection between an SSP2 associated with the other end of the E-ISUP (A) and an SSP3 associated with a first end of the E-ISUP (B). The ISUP-IAM includes the routing code, a CIC equal to the E-ISUP (B), and a DPC set to a point code of the SSP2 associated with the other end of the E-ISUP (A). The routing code may be a dialed number, a Carrier Identification Code, or any other routing mechanism known in the art that can be used to force the call onto another E-ISUP trunk. The ISUP-IAM is forwarded through the common channel signaling network in
step 530. On receipt of the ISUP-IAM, the SSP2 translates the routing code and determines that the ISUP-IAM should be routed to the SSP3. The message is therefore forwarded through the SS7 signaling network establishing a connectivity path instep 532 to SSP3 (for the sake of network efficiencies at the physical transport level, SSP2 and SSP3 may be the same SSP or adjacent SSPs). Instep 534, the SSP3 forwards the message back to the VSP, because the VSP is a virtual node associated with the E-ISUP (B) to which the call was forced by the routing code inserted by the VSP instep 528. On receipt of the ISUP-IAM, the VSP extracts the routing code and inserts the dialed number of the team member using VTE client (B) (step 536). The VSP then inserts a DPC equal to the point code of SSP4 and forwards the message through the common channel signaling network instep 538. On receipt of the message, the SSP4 translates the dialed number and determines that the ISUP-IAM should be forwarded through the common channel signaling network towards the SSP (Y) (step 540). On receipt of the ISUP-IAM, the SSP (Y) applies a ringing signal to the subscriber line of the team member using VTE client (B) instep 542. Thereafter, the SSP (Y) returns an ISUP-ACM which is forwarded insteps step 548, the team member using VTE client (B) responds to the ringing signal by answering his voice communications device. The answer signal prompts the SSP (Y) to formulate an ISUP-ANM which is forwarded through the network insteps - On receipt of the ISUP-ANM, the VSP has confirmation that each leg of the call has been answered by the respective team members, who are parties to the communications session, and that a connection now exists between the parties. Consequently, the VSP sends a CallCreated message in step554 to inform the VTE server that the call has been created between the team members using VTE clients (A) and (B), as requested. The message sent in step 554 is sent through a data packet network, such as the Internet. On receipt of the CallCreated message, the VTE server updates the communications session display area of each member of the team. For the sake of simplicity of illustration, only three team members are shown in FIG. 26. Regardless of the number of team members, a StatusEvent message is sent to each available VTE client (A), (B) and (C) to permit the GUI to be updated to display the communications session.
- It should be noted that only public communications sessions are displayed on the GUI of all team members. If a SessionRequest message indicates that the session is to be a private session between two or more team members, only the GUI of participating team members is updated. If, however, the communications session is not marked “private”, the GUI of each team member is updated. In the example shown in FIG. 30, the conversation was not marked “private”. Therefore, a StatusEvent message indicating a voice communication session between team members using VTE clients (A) and (B) is sent to each of the team members using VTE clients (A)-(C) and the respective GUIs are updated to display the session in the communications session display window (steps556-566). It should be noted that the VTE server also preferably sends status data to the Presence Server to update availability information respecting the voice communications devices in use. This is not shown.
- Closing the Two-Way Voice Communications Sessions
- While any team member may leave a voice communications session by simply hanging up the voice communications device used during the session, voice communications sessions are preferably closed using an explicit command sent to the VTE server from a VTE client.
- FIG. 27 illustrates the principal steps in a preferred procedure for closing a two-way voice communications session. The process begins in
step 570 when the team member using VTE client (A) selects a CloseSession option from the communications session window displayed on his GUI. Choosing the option prompts the VTE client (A) to formulate and send a CloseSession message to the VTE server (step 572). The CloseSession message includes the session ID, which is used by the VTE server instep 574 to optionally archive a record of the voice communications session. Thereafter the VTE server sends a CloseSession message to the VSP instep 576. The CloseSession message includes the session ID. The VSP uses the session ID to retrieve details related to the voice communications session from a session log table, or the like. Instep 578, the VSP formulates an ISUP Release message (ISUP-REL) including a circuit identification code (CIC) of E-ISUP (A), and forwards the ISUP-REL through the common channel signaling network toward SSP1, which releases resources associated with the voice communications session and returns an ISUP Release Complete (ISUP-RLC) message to the VSP instep 580, indicating that the SSP1 has released E-ISUP (A). The SSP1 then forwards the ISUP-REL through the common channel signaling network toward SSP (X) instep 582, releasing resources along the way in a manner well known in the art. SSP (X) releases resources associated with the subscriber line of the team member using VTE client (A) and returns an ISUP-RLC which is routed back through the network instep 584 to the SSP1. The SSP (X) also a release the subscriber line of the team member using VTE client (A) instep 586, if the communications device is still online. - In the meantime, the VSP has formulated an ISUP-REL containing a CIC equal to E-ISUP (A) and forwards the ISUP-REL through the common channel signaling network toward the SSP2 in
step 588 to release the E-ISUP (A) at SSP2. The SSP2 releases resources and returns an ISUP-RLC through the network to the VSP instep 590, indicating that E-ISUP (A) resources have been released and are available for the next call. The ISUP-REL message is then forwarded through the network by SSP2 (step 591) to the SSP3 which returns an ISUP-RLC in step 592. The ISUP-REL is relayed by SSP3 to the VSP instep 594, and the VSP returns an ISUP-RLC to the SSP3 instep 596. Meanwhile, the VSP formulates a third ISUP-REL message, which includes a CIC equal to E-ISUP (B) that causes the release of the connection to the team member using VTE client (B), as described above with respect to the team member using VTE client (A). The release of resources is illustrated in steps 600-608. On receipt of the ISUP-RLC instep 602, the VSP sends a SessionClosed message to the VTE server (step 610), which sends StatusEvent messages to the respective VTE clients (A)-(C) to update the GUI display to reflect the fact that the session has been closed, as shown in steps 612-622. The VTE server preferably also sends status updates to the Presence Server (not shown) to indicate that the respective voice communications devices are available. - The VTE in accordance with the invention permits a third party to be added to the two-way voice communications session. FIG. 28 is a message flow diagram illustrating the principal messages exchanged between components of the distributed application when the team member using VTE client (A) requests that the team member using VTE client (C) be added to the two-way conference call set up between the team members using VTE clients (A) and (B), as explained above with reference to FIG. 26. In the example that follows, the third party is asked to join the voice communications session by using an invitation object described above. It should be understood, however, that an invitation is not required to add a third party to a voice communications session. The invitation is optional and is not used, for example, when the third party's available communications device is a cellular phone or the third party is not logged on to a VTE client.
- In
step 624, the team members using VTE clients (A) and (B) decide that the team member using VTE client (C) should be brought into the voice communications session in which they are participating. Consequently, the team member using VTE client (A) uses options available in a communications session window opened on the GUI (step 624) to initiate an AddParty message, which is sent instep 625 to the VTE server. The AddParty message includes the session ID, a personal identifier associated with the new party using VTE client (C); a topic of the discussion, if entered by the team member using VTE client (A) instep 624; a message related to the voice session, if a message was entered instep 624; plus, any meeting notes which have been entered by either of the team members using VTE clients (A) or (B) since the start of the two-way voice communications session described above with reference to FIG. 26. It should be noted that a topic of discussion can be added or modified by any participant in a voice communications session at any time, and will thereafter be displayed in invitation messages sent during the voice communications session. The AddParty message is forwarded by the GUI (A) to the VTE server (step 625). On receipt of the AddParty message, the VTE server translates the personal identifier of the team member using VTE client (C) (step 626) to determine an available voice communications device associated with the team member using VTE client (C) by sending a query message to the Presence Server (not shown). The VTE server may also, optionally, send StatusEvent messages back to the GUIs of the team members using VTE clients (A) and (B) to inform the respective team members that the AddParty message has been received, and that the VTE server is acting to establish connection with team member using VTE client (C). The respective messages are shown insteps steps step 626 to forward an Invitation message instep 631 to the GUI of the team member using VTE client (C). The Invitation message includes a personal identifier associated with the inviting team member, in this example, the team member using VTE client (A); the topic of discussion related to the voice communications session, if entered by team member (A); the message, if entered; meeting notes; a list of the personal identifiers associated with all participants in the voice communications session; and, a session ID. That invitation information is displayed (step 632) in an Invitation window opened by the VTE client (C) on the GUI (C), except for the session ID. Since the session ID is only useful information to the distributed application of the collaboration services suite, it is not displayed. - In the example shown, the team member using VTE client (C) is available and decides to accept the Invitation on receipt (step633). In response to acceptance, the VTE client (C) generates a Join message that includes the session ID and forwards the Join message in
step 634 to the VTE server. On receipt of the Join message, the VTE server translates the session ID (step 635) to retrieve information stored instep 626 and optionally sends StatusEvent messages (steps 636, 638) to the team members using VTE clients (A) and (B) to advise that the VTE server is now “trying” to connect the team member using VTE client (C). The respective StatusEvent messages are displayed insteps step 650 so that it will be able to handle calls related to the new session as they are answered. Meanwhile, the VSP uses the session ID to reference records related to the two-way conference call. In accordance with the invention, voice communications sessions that include more than two parties are preferably instantiated using the conference bridge. The VSP is therefore programmed to release parts of the two-way voice connection and connect all three parties to the conference bridge. - In
step 652, the VSP sends an ISUP Release (ISUP-REL) message to SSP2 to release the call in a forward direction. The SSP2 therefore releases resources associated with the terminating end of the E-ISUP (A) and returns an ISUP-RLC to the VSP instep 653. The SSP2 then forwards an ISUP-REL message instep 654 to the SSP3 associated with the first end of the E-ISUP (B). After releasing resources associated with the first end of E-ISUP (B), the SSP3 returns an ISUP-RLC to SSP2 (step 655) and forwards an ISUP-REL to the VSP (step 656). On receipt of the ISUP-REL, the VSP discards the message instep 658, to prevent the call connection to the team member using VTE client (B) from being torn down. Immediately thereafter, the VSP returns an ISUP-RLC message (step 659) to the SSP3 to satisfy a trunk state requirement of the trunk just released. The VSP then formulates an ISUP-IAM, which includes the dialed number of the conference bridge and a CIC equal to the E-ISUP (A), which is still supporting the connection to the team member using VTE client (A) and forwards the IAM (step 660) towards the SSP2. On receipt of the IAM, the SSP2 translates the number and determines that the ISUP-IAM should be forwarded (step 662) through the switched telephone network to an SSP (D) that serves the conference bridge. On receipt of the ISUP-IAM, the SSP (D) sends an ISDN-Setup message to the conference bridge instep 664, and passes the dialed number to the conference bridge in a manner well known in the art. - Illustration of the voice communications session setup is continued in FIG. 28a. The conference bridge responds with an Acknowledge message in
step 665. The SSP (D) returns an ISUP-ACM instep 666 to the SSP2, which forwards the message instep 668 back to the VSP. Instep 670, the conference bridge sends an Answer message, which prompts SSP (D) to forward an ISUP-ANM instep 672 to the SSP2. Instep 674, the SSP2 forwards the ISUP-ANM to the VSP, which provides confirmation to the VSP that the team member using VTE client (A) is now connected to the conference bridge. The VSP therefore sends a CallCreated message through packet network to the VTE server instep 678. The conference bridge associates a dialed number passed in the ISDN-Setup message with the session recorded instep 650 above, and connects the call to a portion of the conference bridge reserved for the session. The conference bridge optionally also plays a recorded message to the team member using VTE client (A) instep 684. The message played instep 684 may be, for example, a message such as: “You are now connected to the conference bridge.” - Meanwhile, the VSP formulates a second ISUP-IAM message that includes the dialed number of the conference bridge and the CIC of E-ISUP (B), which still supports a call connection to the team member using VTE client (B). The ISUP-IAM is forwarded in
step 686 to the SSP3, which translates the dialed number and determines that the ISUP-IAM should be forwarded through the network to the SSP (D) that serves the conference bridge. The SSP3, therefore forwards the message instep 688 and the message progresses through the common channel signaling network to the SSP (D). On receipt of the ISUP-IAM, the SSP (D) sends an ISDN Setup message instep 690 to the conference bridge, and the conference bridge responds with an Acknowledge message (step 691). On receipt of the Acknowledge message, the SSP (D) returns (step 692)an ISUP-ACM to SSP3, and SSP3 forwards the message instep 694 to the VSP. Meanwhile, the conference bridge sends an Answer message instep 696 to the SSP (D), which prompts the SSP (D) to formulate an ISUP-ANM that is sent instep 700 to the SSP3 and forwarded instep 702 to the VSP. - On receipt of the ISUP-ANM, the VSP sends a CallCreated message through the data packet network in
step 704 to indicate that the team member using VTE client (B) is now connected to the conference bridge. The VTE server responds by sending an Add message (step 706) to the conference bridge. The Add message specifies the session ID, and may also specify the dialed number. The conference bridge responds instep 800 by joining the call associated with the team member using VTE client (A) with the connection associated with the team member using VTE client (B), and immediately thereafter provides notification that a party has joined the conference call. The notification may be, for example, the playing of an audio tone, as shown instep 802. The conversation between parties (A) and (B) may therefore ensue, as shown at 803. - Parties (A) and (B) are therefore connected to the conference bridge, but party (C) has not yet been added to the communications session. The events associated with adding the team member using VTE client (C) to the voice session are shown in FIGS. 28a and 28 b. In
step 804, the VSP continues its activity by formulating an ISUP-IAM in which the dialed number equals the dialed number of an available voice communications device associated with the team member using VTE client (C) and a CIC equal to the E-ISUP (C) and forwards the message toward SSP5, which translates the dialed the number and forwards the message through the common channel signaling network instep 805 to the SSP (Z), which serves the team member using VTE client (C). On receipt of the ISUP-IAM, the SSP (Z) applies ringing to a subscriber line of the team member using VTE client (C) instep 806. After applying ringing, the SSP (Z) returns an ISUP-ACM instep 807 to SSP5, which is forwarded instep 808 to the VSP. As shown in FIG. 28b, on receipt of the ISUP-ACM, the VSP optionally returns a CallRinging message instep 809 to the VTE server. The VTE server responds to the CallRinging message insteps steps step 814 to the SSP (Z). The SSP (Z) forwards an ISUP-ANM instep 816 to SSP5. The SSP5 forwards the ISUP-ANM instep 818 to the VSP, which informs the VSP that a call connection has been established with the team member using VTE client (C). - In the meantime, the VSP has formulated another ISUP-IAM with a dialed number of the conference bridge and a CIC equal to the E-ISUP (C), and forwards the message in
step 820 to the SSP6, which translates the dialed number and forwards an ISUP-IAM through the common channel signaling network towards the SSP (D), which serves the conference bridge (step 822). On receipt of the ISUP-IAM message, the SSP (D) passes an ISDN-Setup message instep 824 to the conference bridge, which responds with an Acknowledge message instep 825. The SSP (D) returns an ISUP-ACM instep 826 to the SSP6, which forwards the ISUP-ACM instep 828 to the VSP. Meanwhile, the conference bridge responds to the ISDN-Setup message with an Answer message instep 830, which prompts the SSP (D) to formulate an ISUP-ANM that is forwarded through the common channel signaling network insteps step 836 to the VTE server. The VTE server may respond by sending an Add message to the conference bridge (step 838). The Add message includes the session ID and, optionally, the dialed number used to set up the call to the conference bridge. On receipt of the Add message, the conference bridge joins the team member using VTE client (C) to the voice session instep 840. Alternatively, the conference bridge may have used a dialed number passed in the ISDN-Setup message (step 824) to join the team member to the voice session. The conference bridge preferably plays a tone instep 842 to advise the team members using VTE clients (A) and (B) that the team member using VTE client (C) has joined the voice communications session. Meanwhile, the VTE server sends StatusEvent messages through the data packet network, which cause the session display area of the GUIs (A)-(C) to be updated, as shown in steps 844-854. Thereafter, conversation ensues between team members using VTE clients (A), (B) and (C) as shown at 856. - Closing the Three-Way Voice Communications Session
- FIG. 29 illustrates a method for closing the three-way voice session in accordance with an embodiment of the invention. In
step 858, the team member using VTE client (A) selects a Close option on a communications session window displayed on the GUI of the VTE client (A). This prompts the VTE client (A) to formulate a Close message which is sent to the VTE server instep 900. The Close message includes the session ID. The VTE server responds to a Close message by archiving a record (optional) of the voice communications session instep 902. Instep 904, the VTE server sends a CloseSession message to the VSP. The CloseSession message includes the session ID, which the VSP uses to retrieve session information from a log table, or the like. Having retrieved the session information, the VSP formulates an ISUP-REL which is forwarded through the common channel signaling network and releases the connection to the team member using VTE client (A) as shown in steps 906-914. The messages exchanged and their effect in the network are the same as explained in detail above with reference to FIG. 27. The VSP meanwhile formulates another ISUP-REL, which is forwarded through the network to release the connection between SSP2 and the conference bridge as shown in steps 916-924. - The Release sequence is repeated in steps928-936 to release the team member using VTE client (B) from the SSP4. The release of SSP3 is likewise accomplished, as illustrated in steps 938-948. A similar process is repeated to release the team member using VTE client (C) from SSP5 as illustrated in step 950-958, as shown in FIG. 29a. The last connection is released from the conference bridge as shown in steps 960-970. When all the releases are complete, the VSP sends a SessionClose message in
step 974 indicating the session ID to the VTE server. The VTE server then sends a StatusEvent message indicating session type, session ID and an action indicating that the session was closed, which prompts the respective VTE clients to update the respective GUIs to remove information related to the session from the communications session window, as shown in steps 976-986. - Establishing a Two-Way Voice Communications Session-Enterprise Network
- The
virtual team environment 3 in accordance with the invention may also be implemented in an enterprise network. FIG. 30 shows the principal messages exchanged during setup of a two-way voice communications session in an enterprise network in which a Private Branch Exchange (PBX) is used for at least a part of call setup. In the example shown in FIG. 30, the team members using VTE clients (B) and (C) are employees of the enterprise and their voice communications devices are therefore served by the enterprise network. The team member using VTE client (A) is not an employee of the enterprise and his voice communications devices are served by an SSP (X) which is in the PSTN, for example. In the example shown in FIG. 30, the team member using VTE client (B) initiates a two-way voice communications session, as described above with reference to FIG. 26. The session initiation causes the VTE client (B) to formulate a Session Initiation request, which is forwarded to the VTE server instep 990. Instep 992, the VTE server assigns a session ID to the session request and translates the SessionRequest message instep 994 to determine session type. Using session type information, the VTE server queries the Presence Server (not shown) to determine the availability of voice communications devices associated with the team members using VTE clients (B) and (C). On determining that a voice communications device is available for each team member, the VTE server sends a Software Control Application Interface (SCAI) message, for example, to the PBX instep 996 to initiate connection to the first team member using VTE client (B). The SCAI message contains the extension number of the team member using VTE client (B) as well as the extension number of the team member using VTE client (C). On receiving the message, the PBX completes a first leg of the call by applying ringing to the extension line of the team member using VTE client (B) instep 998. A message sequence required to complete this connection is well understood by persons skilled in the art, and not all messages are shown in this representation. Instep 1000, the team member using VTE client (B) answers the call which sends an Answer signal to the PBX. On receiving the Answer signal, the PBX applies ringing to the extension line of the voice communications device of team member using VTE client (C) instep 1002 and the team member using VTE client (C) answers the call which sends an off-hook signal instep 1004 to the PBX. Instep 1006, the PBX returns a Connect message to the VTE server to inform the VTE server that the call has been completed. The VTE server responds by sending StatusEvent messages with session type and participants to the respective GUIs of the three team members which causes the session information to be displayed in steps 1008-1018. Although not illustrated, it will be understood by those skilled in the art that the VTE server may also pass device-in-use information to the Presence Server, as explained above with reference to FIG. 30. Thereafter, conversation ensues between the team members using VTE clients (B) and (C) as shown at 1019. - As shown in FIG. 30a, after a period of time, it is decided that the team member using VTE client (A) should be added to the voice session. The team member using VTE client (B) therefore initiates the addition of the team member using VTE client (A) using options in a communications session window opened on the GUI of the team member using VTE client (B). The action causes the VTE client (B) to send an Add message to the VTE server. The Add message (step 1020) includes a session ID and a personal identifier associated with the team member using VTE client (A). On receipt of the Add message, the VTE server responds by sending StatusEvent messages to VTE clients (B) and (C) in
steps steps step 1032. - In response to the invitation displayed, client (A) is available and selects a Join option on the invitation display. This prompts the VTE client (A) to send a Join message including the session ID back to the VTE server in
step 1034. The VTE server translates the Join message instep 1036 and determines an available voice termination associated with the team member using VTE client (A) using profile and presence information, as described above. - The available voice communications device retrieved from the profile in
step 1036 indicates that the team member using VTE client (A) is located outside the enterprise network. Consequently, the VTE server determines that it is preferable to complete the call using a conference bridge in the public switched telephone network. Therefore, instep 1038, the VTE server sends an SCAI ThirdPartyCall (step 1038) command to the PBX designating an originating number as the extension number of team member using VTE client (B) and dialed number as that of the conference bridge. The VTE server also sends a NewSession message (step 1039) to the conference bridge to advise the conference bridge that a new voice communications session is to be established. The NewSession message includes the dialed number just sent to the VSP instep 1038, and the session ID. The conference bridge responds to the message by creating a session record instep 1040 and reserving bridge resources to handle the new session. Meanwhile, on receipt of the SCAI command, the PBX sends an ISDN Setup message to an SSP (Y) in the PSTN that serves the PBX (step 1041). The SSP (Y) responds by formulating an ISUP-IAM, which it forwards through the common channel signaling network instep 1042 to the SSP (D) that serves the conference bridge. On receipt of the ISUP-IAM, the SSP (D) sends an ISDN Setup message to the conference bridge instep 1044, which responds with an Acknowledge message in step 1045. The SSP (D) then returns an ISUP-ACM message instep 1046 to the SSP (Y). The SSP (Y) responds by returning an ISDN Acknowledge message to the PBX instep 1047. In the meantime, the conference bridge returns an Answer message in step 1048, which prompts the SSP (D) to send an ISUP-ANM message instep 1050 through the common channel signaling network to SSP (Y). An ISDN Answer message is then returned to the PBX instep 1052. On receipt of the ISDN Answer message, the PBX sends a message through the data packet network to the VTE server (step 1054) to advise that the third party call was successfully completed. Meanwhile, the conference bridge acknowledges the connection of the team members using VTE clients (A) and (C) by a message instep 1060 such as, for example, “You have been connected to the conference bridge.” Thereafter, conversation between the team members using VTE clients (B) and (C) can then resume as shown instep 1070. - FIG. 31a illustrates the principal steps in the addition of the team member using VTE client (A) to the voice communication session. After the team members using VTE clients (B) and (C) are connected to the conference bridge, the VTE server sends StatusEvent messages to the VTE clients (B) and (C), to advise that the connection of the team members using VTE client (A) is now underway (“trying”). The Status messages are displayed on the respective GUIs, as shown in steps 1072-1078. The VTE server also sends a command to the VSP in
step 1080, requesting that it add a leg to the voice communications session identified by the session ID, and providing the dialed numbers of the team member using VTE client (A) and the conference bridge. The VSP responds by formulating an ISUP-IAM containing the dialed number of the team member using VTE client (A) and specifying a CIC of E-ISUP (A). The ISUP-IAM is forwarded in step 1082 to SSP1 which translates the dialed number and determines that the ISUP-IAM should be forwarded through the signaling network toward SSP (X) (step 1084). On receipt of the ISUP-IAM, the SSP (X) applies ringing to the subscriber line instep 1086, and an ISUP-ACM message is returned to the VSP insteps step 1092 which prompts SSP (X) to forward an ISUP-ANM message back toward the VSP insteps step 1098. On receipt of the IAM, the SSP2) translates the number of the conference bridge and determines that the ISUP-IAM should be forwarded to the SSP (D) (step 1100). On receipt of the ISUP-IAM, the SSP (D) sends an ISDN-Setup message to the conference bridge (step 1102), which returns an Acknowledge message instep 1103. On receipt of the Acknowledge message, the SSP (D) and returns an ACM (step 1104). The SSP2 forwards the ISUP-ACM instep 1106 to the VSP. - In the meantime, the conference bridge sends an Answer message in
step 1108 which prompts the SSP (D) to return an ISUP-ANM insteps step 1114 to the VTE server. On receipt of the CallCreated message, the VTE server optionally sends an Add message (step 1116) to the conference bridge providing the session ID and optionally including the dialed number. On receipt of the Add message, the conference bridge joins the team member using VTE client (A) with the team members using VTE clients (B) and (C) instep 1118 and plays a tone to announce the arrival of the team member using VTE client (C) in step 1120. Alternatively, the conference bridge may have automatically joined (C) to the voice session on receipt of a dialed number passed in the ISDN-Setup message (step 1002), described above. Meanwhile, the VTE server sends StatusEvent messages which cause the session display on the respective GUIs of each team member to be updated in steps 1122-1132. Thereafter conversation ensues between the team members using VTE clients (A), (B) and (C) as shown at 1134. - Converting Communications Sessions From One Media to Another
- As described above with reference to the graphical user interface (GUI) of the VTE, the VTE provides a facility for automatically converting a communications session from one communications medium to another. By way of example, FIGS. 32, 32a and 32 b illustrate the principal messages exchanged during the conversion of an Instant Message session involving the team members using VTE clients (A), (B) and (C) to a voice communications session involving the same team members. During the Instant Messaging session between the three team members, it is decided that the discussion is becoming too complex to be efficiently handled through an Instant Messaging session. The team members therefore agree to convert to a voice communications session and the team member using VTE client (A) initiates a ConvertSession message from a communications session window displayed on the GUI (A). The selection causes the VTE client (A) to formulate a ConvertSession message which provides session ID and a new session type. The message is forwarded through the data packet network to the VTE server in
step 1136. On receipt of the message, the VTE server translates the session ID (step 1138) to determine the session type and the participants. The VTE server then closes the Instant Message session (step 1140) and sends StatusEvent messages to the respective GUIs to remove the Instant Message session from the session display window in steps 1142-1150. Status information may also be sent to the Presence Server (not shown) as explained above. The VTE server then translates (step 1152) the personal identifiers associated with the respective team members to determine the dialed numbers of a preferred telephone device associated with each team member, as explained above. The VTE server then formulates a MakeCall message providing the dialed numbers of the team members using VTE clients (A), (B) and (C) as well as a dialed number for the conference bridge and the session ID (step 1154). The VTE server then sends a NewSession message to the conference bridge, to provide the dialed number to be used to call the conference bridge, and a session ID (step 1155). The conference bridge responds to the NewSession message by creating a session record (step 1156) and allocating resources in a manner well known in the art. - Meanwhile, on receipt of the MakeCall message, the VSP formulates a first ISUP-IAM including a dialed number of the team member using VTE client (A) and a CIC of E-ISUP (A) which is forwarded through the network in
steps steps step 1166. In response, the SSP (X) formulates an ISUP-ANM message, which is forwarded through the network to VSP insteps step 1172 to SSP2. Instep 1174, the SSP2 forwards the ISUP-IAM to SSP (D) that serves the conference bridge. The SSP (D) then sends an ISDN-Setup message to the conference bridge instep 1176, which responds with an Acknowledge message instep 1177. On receipt of the Acknowledge message, the SSP (D) returns an ISUP-ACM to the SSP2 instep 1178 and it is forwarded to the VSP instep 1180. - Meanwhile, the conference bridge sends an Answer message in
step 1182, which prompts SSP (D) to formulate and return ISUP-ANM messages to the SSP2 instep 1184 and it is forwarded to the VSP instep 1186. On receipt of the ISUP-ANM message, the VSP has confirmation that the call has been completed between the team member using VTE client (A) and the conference bridge. The VSP therefore sends a CallCreated message to the VTE server instep 1188. The conference bridge may also play a Welcome message to the team member using VTE client (A) (step 1192) as explained above with reference to FIG. 31, for example. - Meanwhile, as shown in FIG. 32a, the VSP formulates a third ISUP-IAM, which includes a dialed number of a preferred telephone device of the team member using VTE client (B) and a CIC equal to the E-ISUP (B). The ISUP-IAM is forwarded through the SS7 network to SSP4, which is connected to the second end of E-ISUP (B) (step 1194). On receipt of the ISUP-IAM, the SSP4 translates the dialed number of the team member using VTE client (B) and determines that the IAM should be forwarded through the common channel signaling network toward SSP (Y) (step 1196). On receipt of the ISUP-IAM, SSP (Y) applies ringing to the subscriber line (step 1198) and returns an ACM message in
steps steps step 1210 to the SSP3, and from there (step 1212) to SSP (D). On receipt of the ISUP-IAM, the SSP (D) sends an ISDN-Setup message to the conference bridge (step 1214) and the conference bridge returns an Acknowledge message (step 1215). On receipt of the Acknowledge message, the SSP (D) returns an ISUP-ACM message, which is forwarded instep 1216 to the SSP3 and instep 1218 to the VSP. - Meanwhile, the conference bridge sends an Answer message in
step 1220 to SSP (D), which prompts the SSP (D) to formulate an ISUP-ANM that is forwarded to the SSP3 instep 1222 and on to the VSP instep 1224. The VSP then sends a CallCreated message (step 1226) to the VTE server advising that the team member using VTE client (B) has been connected to the conference bridge. The VTE server may respond by formulating an Add message, which is forwarded to the conference bridge (step 1228). The Add message includes the session ID, and optionally includes the dialed number used to call the conference bridge. The conference bridge responds instep 1230 by joining the team members using VTE clients (A) and (B) and playing a tone to announce that the team member using VTE client (B) has joined the voice communications session (step 1232). Alternatively, as explained above, the conference bridge may automatically join the team members using VTE clients (A) and (B) when a dialed number passed in the ISDN-Setup message (step 1214) is received, as explained above in greater detail. Thereafter, conversation ensues between the team members using VTE clients (A) and (B) as shown at 1234. - As shown in FIG. 32b, the VSP connects team member using VTE client (C) to the conference bridge by formulating a fifth ISUP-IAM that includes the dialed number of a preferred voice communications device for voice communications with the team member using VTE client (C) and a CIC equal to the E-ISUP (C). The ISUP-IAM is forwarded through the common channel signaling network in
step 1236 to SSP5 and instep 1238 to the SSP (Z). The SSP (Z) responds by applying ringing to the subscriber line of team member using VTE client (C) (step 1240) and returns an ISUP-ACM message which is forwarded back to the SSP5 instep 1242 and on to the VSP instep 1244. Meanwhile, the team member using VTE client (C) answers the telephone, which sends an Answer signal (step 1246) to SSP (Z), which formulates an ISUP-ANM message that is forwarded through the common channel signaling network instep 1248 to SSP5 and instep 1250 the ISUP-ANM is forwarded on to the VSP. On receipt of the ISUP-ANM message, the VSP formulates a sixth ISUP-IAM message that includes a dialed number of the conference bridge and a CIC equal to E-ISUP (C). The ISUP-IAM is forwarded instep 1252 to the SSP6 and in step 1254 on to the SSP (D), which responds by sending an ISDN-Setup message to the conference bridge (step 1256), which returns an Acknowledge message instep 1257. On receipt of the Acknowledge message, the SSP (D) returns an ISUP-ACM message, which is forwarded instep 1258 to SSP6 and in step 1260 to the VSP. Meanwhile, the conference bridge sends an Answer message instep 1262. This prompts the SSP (D) to formulate an ISUP-ANM, which is forwarded insteps 1264 and 1268 to the VSP. On receipt of the ISUP-ANM, the VSP sends a CallCreated message to the VTE server (step 1270) to advise that all three parties are now connected to the conference bridge. The VTE server may respond by sending an Add message, which includes session ID, and optionally dialed number, to the conference bridge instep 1272. The conference bridge responds instep 1274 by joining the team member using VTE client (C) to the team members using VTE clients (A) and (B). Alternatively, the join may be automatically accomplished by the conference bridge using a dialed number passed in the ISDN-Setup message instep 1256, as explained above with reference to FIG. 31. The conference bridge then plays a tone in step 1276 to alert the team members using VTE clients (A) and (B) that (C) has joined the voice communications session. Thereafter, the VTE server sends StatusEvent messages to the respective GUIs of the team members using VTE clients (A), (B) and (C), which generate a display of the voice communications session, as shown in steps 1278-1288. Thereafter conversation ensues between the team members using VTE clients (A), (B) and (C) as shown at 1290. - Multi-Media Session Setup
- The VTE in accordance with the invention also supports multi-media sessions. In accordance with an embodiment of the invention, a multi-media session is set up using streaming video for visual display, and a switched telephone network for the audio transmission during the communications session. This improves video performance, while ensuring the best voice quality, and overall reliability. While Voice over Internet Protocol (VoIP) is supported by the VTE, a PSTN/Internet solution provides superior quality and user satisfaction. Furthermore, in accordance with the invention setup of a multi-media session is automatically handled by the VTE, which uses profile and presence information to determine an Internet Protocol address of a VTE client used by each team member. The VTE then automatically supplies Internet Protocol (IP) addresses to the VTE clients of other team members to enable transparent setup of multi-media communications sessions, as will be explained below in more detail with reference to FIGS. 33 through 36.
- FIG. 33 illustrates the principal messages exchanged between elements of the VTE and the PSTN during the setup of a two-way multi-media session between two team members. In the example shown, the team member using VTE client (A) initiates a multi-media session by, for example, clicking on a communications icon on the team member interface (GUI) in
step 1292. In response to the session initiation, VTE client (A) formulates a session request message containing a personal identifier of the team member using VTE client (B) with whom the team member using VTE client (A) wishes to conduct the multi-media session, a session type, and, optionally, a session topic and a session text message entered by the team member using VTE client (A). The SessionRequest message is sent to the VTE server instep 1294. On receipt of the SessionRequest message, the VTE server assigns a session ID instep 1296 and translates the SessionRequest message instep 1298 to determine what devices are available to the team member using VTE client (B) for setting up the multi-media session. The team member profile of team member using VTE client (B) and presence information associated with team member using VTE client (B) are used to determine the devices available for use in the multi-media session, as explained above. The VTE server determines that the team member using VTE client (B) is logged on, and that the VTE client (B) is available. The VTE server therefore formulates an invitation which is sent to the VTE client (B) instep 1300. - The Invitation message includes an identifier of the requester, the session type, and, optionally, the session topic and the session text message related to or describing the session, which was sent from the session initiator, the team member using VTE client (A) in
step 1294. On receipt of the information, the VTE client (B) displays the invitation in an invitation window on the GUI of the team member using VTE client (B) (step 1302). Subsequently, the team member using VTE client (B) accepts the invitation by selecting an Accept button from the invitation window displayed instep 1302. Acceptance (step 1304) of the invitation prompts the VTE client (B) to generate and forward an AcceptInvitation message, which includes the session ID. On receiving the AcceptInvitation message, the VTE server translates (step 1306) the session ID and determines that a multi-media session is to be created between the team members using VTE clients (A) and (B). Consequently, the VTE server sets up the voice connection first by sending a MakeCall message that includes the dialed number of the team members using VTE clients (A) and (B), as well as the session ID, and forwards the message to the VSP instep 1308. The VSP then performs steps substantially identical to steps 510-554 of FIG. 26 to set up a voice communications session between the team members using VTE clients (A) and (B), as shown at 1310. Following establishment of the voice communications session, the VTE server sends notification to VTE clients (A) and (B) insteps steps step 1320 which responds by updating the GUI of the team member using VTE client (C) with a display of communications session information in the communications session window (step 1322). Concurrently, VTE clients (A) and (B) perform IP setup (step 1324) using the IP addresses supplied by the VTE server insteps step 1326 permits the respective VTE clients (A) and (B) to build multi-media windows instep - FIG. 34 shows the principal messages exchanged between components of the VTE server and the PSTN when a third party is added to the two-way multi-media session shown in FIG. 33. In
step 1334, the team member using VTE client (A) initiates an AddParty action from the GUI to add party (C) to the multi-media session. The AddParty action may be accomplished in a plurality of ways, including selecting an Invite button from a communications session window or using a pointing device such as a mouse to drag and drop a communications device icon associated with the personal identifier of the team member into the communications session window, by way of two examples. The initiation of the AddParty action prompts the VTE client (A) to send an AddParty message to the VTE server. The AddParty message includes a personal identifier associated with the team member using VTE client (C), an optional topic related to the multi-media session, an optional text message related to the multi-media session, and any meeting notes entered by either of the team members using VTE clients (A) and (B) up to the time that the AddParty action was initiated. The AddParty message is forwarded to the VTE server instep 1336. The VTE server responds by preparing an Invitation message, which is forwarded instep 1338 to the VTE client (C) and displayed on the GUI of the team member using VTE client (C). The Invitation message includes information respecting the requesting party (the team member using VTE client (A)), the optional topic, the optional text message, the meeting notes (if any were entered), a list of participants and invitees, and the session ID. Instep 1340, VTE client (C) displays the Invitation in the GUI of the team member using VTE client (C). Insteps steps step 1350, the team member using VTE client (C) accepts the Invitation by selecting an Accept button on the invitation display window. Acceptance of the invitation prompts the VTE client (C) to send a Join message that includes the session ID to the VTE server instep 1352. - On receipt of the Join message, the VTE server translates the session ID to determine preferred communications devices from a profile of the team member using VTE client (C) and determines an availability of those devices using dynamic presence information retrieved from the Presence Server. Presence information indicates that a voice communications device of the team member using VTE client (C) is available to set up a voice communications session. The components of the collaboration services suite therefore perform steps652-842 of FIGS. 28-28 b, as indicated at 1358.
- Thereafter the VTE server returns notifications to VTE clients (A) and (B) in
steps steps 1362 and 1366). The VTE server also sends a StatusEvent message to VTE client (C) (step 1368) which prompts VTE client (C) to update the communications session display to show the team member using VTE client (C) as a participant. Instep 1372, VTE client (A) sends IP setup messages to VTE client (C) and instep 1374 VTE client (B) sends the IP setup messages to VTE client (C). Content negotiations between VTE clients (A) and (C), and (B) and (C) then ensue, as described above with reference to FIG. 33. Data transfer between the VTE clients (A) and (C) is performed instep 1376 and data transfer between VTE clients (B) and (C) occurs at 1380. Data transfer at 1376 and 1380 enables VTE clients (A) and (B) to rebuild their multi-media window displays at 1378 and 1382, respectively. VTE client (C) also uses the data transferred at 1376 and 1380 to build a multi-media window instep 1384. As is well understood by those skilled in the art, the data transfers are preferably performed using IP multicast protocols in order to conserve system resources. Thereafter, the multi-media session between the team members using VTE clients (A), (B) and (C) proceeds, as shown at 1386. - FIG. 35 illustrates the principal steps involved in adding a third party to a multi-media session in which acceptance of the invitation is deferred by the invited party. A significant advantage of the VTE in accordance with the invention is that any invitee to any communications session may defer acceptance of an invitation for any reason, pending availability. As shown in FIG. 35, an invitation is sent (at1388) from the team member using VTE client (A) to the team member using VTE client (C) to join a multi-media communications session in progress between the team member using VTE client (A) and the team member using VTE client (B), as explained above. The invitation is formulated and sent to invite the team member using VTE client (C) to the multi-media session, as described above with reference to steps 1334-1348 of FIG. 34, as shown at 1388. In
step 1390, the team member using VTE client (C) responds to the invitation by selecting a JoinLater option, which permits the team member using VTE client (C) to provide a reason for not joining the communications session immediately. VTE client (C) formulates the Reply message, along with the reason entered by the team member using VTE client (C), and the session ID, and forwards the Reply message to the VTE server instep 1392. On receipt of the Reply message, the VTE server sends (step 1394) a notification including the reason back to VTE client (A), which displays the message on the GUI of the VTE client (A), as shown at 1396. - It should be noted that even though the team member using VTE client (C) does not join the session immediately, the Invitation window remains open on the GUI of VTE client (C) as a portal of the session. This is true of any communications session invitation window. The invitee can use this portal to join the session at any time. After the team member using VTE client (C) becomes available to participate in the multi-media session, the team member using VTE client (C) accepts the invitation at1398 by, for example, selecting a Join option from the communications session invitation window displayed on the GUI of VTE client (C). In response to the acceptance, the VTE client (C) formulates a Join message that includes the session ID and returns it in
step 1400 to the VTE server. On receipt of the Join message, the VTE server translates (step 1402) the session ID to retrieve information that permits the profile of the team member using VTE client (C) to be examined and a query to be formulated and sent to the Presence Server (not shown) to determine preferred devices available to enable a multi-media communications session between team members using VTE clients (A), (B) and (C) The VTE server determines that a voice communications device associated with the team member using VTE client (C) is available. The VTE server therefore sends an AddLeg message to the VSP at 1404. The AddLeg message includes the dialed number of the team member using VTE client (C) as well as the session ID. Steps 652-842 of FIGS. 28-28 b are then performed, as shown at 1406. When voice communication is established between the team members using VTE clients (A), (B) and (C) the VTE server sends a notification at 1408 and 1412 to VTE clients (A) and (B) which prompts the respective VTE clients to update their session displays at 1410 and 1414. The notification also includes the IP address of the team member using VTE client (C). The respective VTE clients (A) and (B) use the IP address of VTE client (C) to perform IP setup procedures with VTE client (C) as shown at 1420 and 1422. The ID setup includes content negotiations, as described above. Meanwhile, the VTE server also sends a StatusEvent message at 1416 to advise the VTE client (C) that the team member using VTE client (C) is a participant in the multi-media session, which permits VTE client (C) to update the session display as shown at 1418. - Data transfer between VTE clients (A) and (C) occurs as shown at1424, which permits VTE client (A) to rebuild its multi-media window (step 1426) to accommodate new data received from VTE client (C). Data transfer also occurs between VTE client (B) and VTE client (C) as shown at 1428, which permits VTE client (B) to rebuild its multi-media window, as shown at 1430. The exchange of data between VTE clients (A) and (B) with VTE client (C) permits VTE client (C) to build a multi-media window, as shown at 1432. Thereafter, the multi-media session proceeds between the team members using VTE clients (A), (B) and (C), as shown at 1434, preferably using IP multicast protocols, as described above.
- To further illustrate the flexibility of the communications collaboration suite enabled by the VTE in accordance with the invention, FIGS. 36 and 36a illustrate principal messages exchanged between components of the VTE when another team member is invited to a multi-media communications session, but the other team member is not logged on to the VTE server.
- In the example illustrated in FIGS. 36 and 36a, the team members using VTE clients (A) and (B) are participating in a multi-media communications system when they decide that the team member using VTE client (C) should be added to the multi-media communications session. Consequently, the team member using VTE client (A) initiates an invitation at 1436 to add the team member using VTE client (C) to the multi-media session, even though the team members using VTE clients (A) and (B) can see that the team member using VTE client (C) is not logged on to the VTE server, because the status of the team member using VTE client (C) devices is displayed on the respective GUIs (see FIG. 1). Initiation of the invitation prompts the VTE client (A) to formulate an AddParty message, which is forwarded in
step 1438 to the VTE server. The AddParty message contains a personal identifier of the team member using VTE client (C) and optionally a topic associated with the communications session, as well as an optional text message and meeting notes entered by either party during the communications session. On receipt of the AddParty message, the VTE server translates (step 1440) the session ID, as well as the personal identifier of the team member using VTE client (C), and returns StatusEvent messages insteps - In
steps step 1450, the VTE server determines from presence information retrieved from the Presence Server (not shown) that the team member using VTE client (C) is not logged on to the VTE server. Consequently, an Invitation message cannot be sent to the VTE client (C) for display on the GUI of the team member using VTE client (C). The VTE server therefore searches profile information for another media for delivering the invitation, and determines that a voice communications device is available and the Presence Server indicates that it is idle. Consequently, the VTE server sends (step 1452) a MakeCall message to the VSP. The MakeCall message includes the dialed number of the team member using VTE client (C) as well as the dialed number of the conference bridge. The VTE server then sends an Invitation via the data packet network to the conference bridge informing the conference bridge of the invitation and providing personal identifiers of the team members using VTE clients (A) and (C) as well as the optional communications session topic and message, plus session type and session ID (step 1454). Meanwhile, the VSP executes the requested MakeCall by performing steps 804-834 of FIG. 28b a shown at 1456. - After a voice connection is established between the voice communications device of the team member using VTE client (C) and the conference bridge, the VSP advises the VTE server in
step 1458 that the call has been created. In response, the VTE server sends a PlayInvitation message through the data packet network to the conference bridge instructing the conference bridge to play an Invitation message and providing the session ID (step 1460). The conference bridge uses a session ID to correlate the instruction with the earlier Invitation message sent instep 1454. The conference bridge retrieves the information related to the invitation and uses text-to-speech conversion as shown as 1462 to play an announcement to the team member using VTE client (C) at 1464. The announcement informs the team member using VTE client (C) that he has been invited by the team member using VTE client (A) to participate in a multi-media communications session taking place between the team members using VTE clients (A) and (B). The conference bridge also announces the topic and message, if provided, and session type to the team member using VTE client (C) followed by a menu of options for responding to the invitation. - As shown in FIG. 36a, the team member using VTE client (C) accepts the invitation to join the multi-media communications session by selecting an appropriate key from the voice communications device keypad, which transmits a dual-tone modulated frequency (DTMF) signal (or by speaking an appropriate voice command which is interpreted by speech recognition) to the conference bridge to inform the conference bridge that the invitation is accepted (step 1468). On receiving the confirmation, the conference bridge responds at 1470 by instructing the team member using VTE client (C) to log on to the VTE server in order to permit the multi-media session to proceed. The conference bridge then sends a message to the VTE server via the data packet network to inform the VTE server that the team member using VTE client (C) has accepted the invitation (step 1472). The Accept message includes the session ID. In response, the VTE server instructs the VSP to set up a three-way voice communications session between the team members using VTE clients (A), (B) and (C) as described above with reference to FIGS. 28-28 b, as shown at 1474. When the VSP reports that the calls have been created and that the team members using VTE clients (A), (B) and (C) have been connected to the conference bridge, the VTE server sends a notification at 1480 and 1484 to the respective VTE clients (A) and (B), which prompts the respective VTE clients to update the session display at
steps step 1492. The VTE server also sends a StatusEvent message to the VTE client (C) instep 1494 informing the VTE client (C) that the team member using VTE client (C) is a participant in the multi-media communications session, to permit the VTE client (C) to update the session display as shown at 1496. In the meantime, VTE client (A) uses the IP address provided instep 1480 to perform IP setup and content negotiation with the VTE client (C) atstep 1498. The VTE client (B) likewise uses the IP address provided atstep 1484 to perform IP setup and content negotiation with the VTE client (C) atstep 1500. Data transfer between VTE client (A) and VTE client (C) ensues, as shown at 1502 and the VTE client (A) rebuilds the multi-media window as shown at 1504. Data transfer also ensues between VTE client (B) and VTE client (C) as shown at 1506. Thereafter, VTE client (B) rebuilds its multi-media window as shown at 1508 and the VTE client (C) builds a multi-media window for the multi-media session as shown at 1510. Multi-media communications then ensue between the team members using VTE clients (A), (B) and (C), as shown at 1512. - As will be understood by those skilled in the art, the exemplary message flows described above are not comprehensive and illustrate only a small part of the options and inherent flexibility of the VTE in accordance with the invention. The integration of text, voice, and multi-media communications facilities in a single, seamless
virtual team environment 3 provides a powerful tool to facilitate collaboration in a way that closely simulates physical collocation of team members. Furthermore, flexible profile management and round-the-clock presence information tracking extend thevirtual team environment 3 far beyond the reachability provided in a collocated work environment. The invention therefore provides a new standard for facilitation of collaboration for work teams or other interest groups. - The embodiment(s) of the invention described above is(are) intended to be exemplary only. The scope of the invention is therefore intended to be limited solely by the scope of the appended claims.
Claims (50)
1. A method of inviting a person to join a communications session initiated using a collaboration services suite accessed from a team member interface of a virtual team environment, comprising steps of:
responding to an action performed by a team member to initiate the invitation from the team member interface, by sending an invitation request message to the collaboration services suite;
analyzing the invitation request message at the collaboration services suite, and sending the invitation from the collaboration services suite to the person, using a preferred, available communications medium selected by the collaboration services suite using dynamic presence and availability information maintained by the collaboration services suite.
2. A method as claimed in claim 1 wherein the action responded to comprises a selection of a communications icon associated with a personal identifier of the person displayed on the team member interface, the selection causing the team member interface to open a communications invitation window.
3. A method as claimed in claim 1 wherein the action responded to comprises a selection of an invitation option from an in-progress communications window.
4. A method as claimed in claim 1 wherein the action responded to comprises a selection of an entry associated with the person from a directory, and a subsequent selection of a communications option associated with the directory.
5. A method as claimed in claim 1 wherein the invitation request message includes an identification of the team member, an identification of the person, and an identification of a communications session type.
6. A method as claimed in claim 5 wherein the identification of the communications session type is one of an identifier of a type of communication, and a communications session identifier that is associated with a communications session that is in progress.
7. A method as claimed in claim 5 wherein the invitation request message further includes at least one of a list of participants and invitees, and any meeting notes input prior to a sending of the invitation.
8. A method as claimed in claim 5 wherein the invitation request message further includes at least one of a topic related to the communications session, and a text message that describes a purpose of the communications session.
9. A method as claimed in claim 5 wherein the communications type is any one of an instant text messaging session, a voice call session and a multimedia session.
10. A method as claimed in claim 1 wherein the step of analyzing comprises steps of determining the type of communications session being requested, and determining whether the person is a team member.
11. A method as claimed in claim 10 further comprising, if the person is a team member, a step of examining a current profile associated with the team member to determine a preferred communications medium and using the dynamic presence and availability information maintained by the collaboration services suite in order to determine if the preferred communications medium is available for receiving the invitation.
12. A method as claimed in claim 11 wherein the preferred communications medium for sending the invitation is an invitation message sent to the team member interface.
13. A method as claimed in claim 12 wherein the invitation message opens a communications session invitation window on the team member interface.
14. A method as claimed in claim 13 wherein the communications session invitation window displays a list of participants in the communications session.
15. A method as claimed in claim 14 wherein the communications session invitation window displays a list of invitees the communications session.
16. A method as claimed in claim 14 wherein the communications invitation window further displays a topic of discussion related to the communications session.
17. A method as claimed in claim 16 wherein the communications invitation further displays meeting notes entered by the participants in the communications session.
18. A method as claimed in claim 12 wherein the preferred medium for sending the invitation is a text device, if the team member interface is not available.
19. A method as claimed in claim 18 wherein the text device displays a communications session type in the invitation window and a personal identifier associated with a team member that sent the invitation.
20. A method as claimed in claim 18 wherein the preferred device for sending the invitation is a voice communications device, if a text device is not available.
21. A method as claimed in claim 20 wherein an interactive voice response unit (IVR) plays an announcement to the person, to invite the person to join the communications session when the person answers the voice communications device.
22. A method as claimed in claim 21 wherein the IVR comprises part of a functionality of a conference bridge.
23. A method as claimed in claim 21 wherein the IVR also plays a list of the persons attending the communications session and a topic of discussion.
24. A method as claimed in claim 1 wherein sending the invitation comprises a step of formulating an invitation message and sending the invitation message to the team member interface, which displays a communications invitation window to the person.
25. A method as claimed in claim 24 wherein the invitation window displays a topic of discussion of the communications session.
26. A method as claimed in claim 25 wherein the invitation window further displays meeting notes generated during the communications session prior to the sending of the invitation request message.
27. A method as claimed in claim 24 wherein the invitation window displays options to join the communications session, decline the communications session invitation, or indicate a desire to join the communications session at a later time.
28. A method as claimed in claim 27 wherein the invitation window permits a reply message to be returned with any one of the options selected for a response.
29. A method as claimed in claim 27 wherein if the person elects to join the communications session, a message is sent by the team member interface to the collaboration services suite, and the collaboration services suite joins the person to the communications session.
30. A method as claimed in claim 29 wherein the collaboration services suite further advises each team member of the change in status of the person when the person is joined to the communications session.
31. A method as claimed in claim 28 wherein the reply message is display on the team member interface of all team members participating in the communications session.
32. A method as claimed in claim 29 wherein if the communications session is an instant messaging session, a connection manager is instructed to copy all text messages to the person, and to copy all text messages from the person to other members of the communications session.
33. A method as claimed in claim 29 wherein if the communications session is a voice conference session, a virtual switching point is instructed to join the person's preferred voice communications device to the voice conference.
34. A method as claimed in claim 33 wherein the preferred voice communications device is determined using the persons profile, if the person is a team member, and a number supplied in the invitation request message if the person is not a team member.
35. A method as claimed in claim 34 wherein joining the preferred voice communications device to the voice communications session comprises steps of:
sending a first Initial Address Message (IAM) to a first Service Switching Point (SSP) in a switched telephone network to inform the first SSP of an inbound call to the person's preferred voice communications device, a circuit identification code (CIC) of the IAM indicating that the inbound call is carried by an Enhanced Integrated Services Digital Network User Part (E-ISUP) trunk in which the virtual switching point is a logical SSP;
sending a second IAM to a second SSP in the switched telephone network, the first and second SSPs being interconnected by the EISUP trunk, the IAM informing the second SSP of an inbound call on the E-ISUP trunk, the inbound call having a called number designating a conference bridge supporting the voice communications session; and
sending a signaling message to the conference bridge to instruct the conference bridge to connect the call from the second SSP to the voice communications session.
36. A method as claimed in claim 35 wherein the signaling message sent to the conference bridge includes a session identifier to permit the conference bridge to associate the call to the voice communications session.
37. A method as claimed in claim 35 further comprising a step of playing an announcement to the person when the conference bridge answers the inbound call, to advise the person that they are being joined to the communications session.
38. A method as claimed in claim 37 further comprising a step of playing a audio signal to each member of the communications session when the conference bridge connects the person to the communications session.
39. A method as claimed in claim 37 further comprising a step of displaying a text message on a team member interface when the conference bridge connects the person to the communications session.
40. A method as claimed in claim 37 further comprising a step of updating a communications session display when the conference bridge connects the person to the communications session.
41. A system for inviting a person to join a communications session initiated using a team member interface of a virtual team environment, comprising:
a collaboration services suite for receiving a communications session invitation request message sent from the team member interface by the team member, analyzing the invitation request message, and sending the invitation to the person using a preferred, available communications medium associated with the person.
42. A system as claimed in claim 41 wherein the collaboration services suite comprises at least one server connected to a data network to enable communications with the team member interface, and at least one virtual switching point in a switched telephone network for establishing and controlling voice communications sessions.
43. A system as claimed in claim 42 wherein the at least one server performs functions of managing connections with the team member interface; storing team member profiles; gathering dynamic presence and availability information and dynamically distributing the information to team member interfaces; and sending voice communications request messages to the virtual switching point.
44. A system as claimed in claim 41 wherein the virtual switching point is a physical node in a public switched telephone signaling network, and a virtual node in the public switched telephone network.
45. A system as claimed in claim 44 wherein the virtual switching point is a virtual node associated with selected Integrated Services Digital Network User Part (ISUP) trunks in the PSTN, so that the virtual switching point is in a signaling path for calls routed to the selected ISUP trunks.
46. A system as claimed in claim 41 wherein the communications session to which the person is invited is a multimedia communications session, and the collaboration services suite sends an Internet Protocol (IP) address of an active IP device used by the person to a client application used by the team member who sent the invitation, and client applications used by any other team members involved in the communications session, to permit the client applications to automatically exchange data with the active device when the multimedia session is established.
47. A system as claimed in claim 46 wherein the data is exchanged using an IP multicast protocol.
48. A system as claimed in claim 46 wherein the data exchanged permits the active device to build and update a multimedia window used for the communications session.
49. A system as claimed in claim 46 wherein the data exchanged permits the client applications to rebuild multimedia windows they maintain for the multimedia communications session to include content contributed by the active device.
50. A system as claimed in claim 46 wherein the method further comprises a step of setting up a voice path through a switched telephone network to carry voice content associated with the multimedia communications session.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/737,958 US20020076025A1 (en) | 2000-12-18 | 2000-12-18 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
CA2358353A CA2358353C (en) | 2000-12-18 | 2001-10-05 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
AU2002215738A AU2002215738A1 (en) | 2000-12-18 | 2001-12-07 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
PCT/CA2001/001749 WO2002050723A2 (en) | 2000-12-18 | 2001-12-07 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
US11/366,446 US7472352B2 (en) | 2000-12-18 | 2006-03-03 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/737,958 US20020076025A1 (en) | 2000-12-18 | 2000-12-18 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/366,446 Continuation US7472352B2 (en) | 2000-12-18 | 2006-03-03 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
Publications (1)
Publication Number | Publication Date |
---|---|
US20020076025A1 true US20020076025A1 (en) | 2002-06-20 |
Family
ID=24965977
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/737,958 Abandoned US20020076025A1 (en) | 2000-12-18 | 2000-12-18 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
US11/366,446 Expired - Fee Related US7472352B2 (en) | 2000-12-18 | 2006-03-03 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/366,446 Expired - Fee Related US7472352B2 (en) | 2000-12-18 | 2006-03-03 | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment |
Country Status (4)
Country | Link |
---|---|
US (2) | US20020076025A1 (en) |
AU (1) | AU2002215738A1 (en) |
CA (1) | CA2358353C (en) |
WO (1) | WO2002050723A2 (en) |
Cited By (168)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020118809A1 (en) * | 2000-12-01 | 2002-08-29 | Alfred Eisenberg | Initiation and support of video conferencing using instant messaging |
US20020122391A1 (en) * | 2001-01-12 | 2002-09-05 | Shalit Andrew L. | Method and system for providing audio conferencing services to users of on-line text messaging services |
US20030014491A1 (en) * | 2001-06-28 | 2003-01-16 | Horvitz Eric J. | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US20030016657A1 (en) * | 2001-07-19 | 2003-01-23 | International Business Machines Corporation | Instant messaging with voice conversation feature |
US20030016805A1 (en) * | 2001-07-19 | 2003-01-23 | International Business Machines Corporation | E-mail with voice / phone conference feature |
US20030055887A1 (en) * | 2001-08-10 | 2003-03-20 | Ulrich Mitreuter | Method for extending a data network connection |
US20030069934A1 (en) * | 2001-08-14 | 2003-04-10 | Miguel-Angel Garcia-Martin | Communication networks |
US20030105820A1 (en) * | 2001-12-03 | 2003-06-05 | Jeffrey Haims | Method and apparatus for facilitating online communication |
US20030126211A1 (en) * | 2001-12-12 | 2003-07-03 | Nokia Corporation | Synchronous media playback and messaging system |
US20030217171A1 (en) * | 2002-05-17 | 2003-11-20 | Von Stuermer Wolfgang R. | Self-replicating and self-installing software apparatus |
US20030233537A1 (en) * | 2002-06-10 | 2003-12-18 | Wohlgemuth Sean Christian | Presence and notification system for maintaining and communicating information |
US20040003042A1 (en) * | 2001-06-28 | 2004-01-01 | Horvitz Eric J. | Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability |
US20040024820A1 (en) * | 1999-07-19 | 2004-02-05 | Groove Networks, Inc. | Method and apparatus for designating endpoints in a collaborative computer system to facilitate maintaining data consistency |
EP1388997A1 (en) * | 2002-08-07 | 2004-02-11 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for three-party call service |
US20040074832A1 (en) * | 2001-02-27 | 2004-04-22 | Peder Holmbom | Apparatus and a method for the disinfection of water for water consumption units designed for health or dental care purposes |
US20040128181A1 (en) * | 2002-12-31 | 2004-07-01 | Zurko Mary Ellen | Instance messaging auto-scheduling |
US20040141594A1 (en) * | 2003-01-20 | 2004-07-22 | Brunson Gordon R. | Messaging advise in presence-aware networks |
US20040156392A1 (en) * | 2003-02-08 | 2004-08-12 | Walls Jeffrey Joel | Apparatus and method for transmitting data through a network |
US20040208303A1 (en) * | 2001-02-27 | 2004-10-21 | Mahesh Rajagopalan | Methods and systems for computer enhanced conference calling |
US20040228531A1 (en) * | 2003-05-14 | 2004-11-18 | Microsoft Corporation | Instant messaging user interfaces |
US20040249776A1 (en) * | 2001-06-28 | 2004-12-09 | Microsoft Corporation | Composable presence and availability services |
US20040259580A1 (en) * | 2003-06-20 | 2004-12-23 | Florkey Cynthia Kae | Application server component notification to one or more communication devices of one or more open communication sessions |
WO2004114662A1 (en) * | 2003-06-20 | 2004-12-29 | Tandberg Telecom As | System and method for setup of meetings and conferences |
US20050004982A1 (en) * | 2003-02-10 | 2005-01-06 | Todd Vernon | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US20050004985A1 (en) * | 2003-07-01 | 2005-01-06 | Michael Stochosky | Peer-to-peer identity-based activity sharing |
US20050015444A1 (en) * | 2003-07-15 | 2005-01-20 | Darwin Rambo | Audio/video conferencing system |
US20050021485A1 (en) * | 2001-06-28 | 2005-01-27 | Microsoft Corporation | Continuous time bayesian network models for predicting users' presence, activities, and component usage |
US20050083941A1 (en) * | 2003-10-15 | 2005-04-21 | Florkey Cynthia K. | Sending identification information of a plurality of communication devices that are active on a communication session to information receiving component |
US20050144229A1 (en) * | 2003-12-10 | 2005-06-30 | International Business Machines Corporation | System and method for role pen based messaging in a synchronous collaborative environment |
US20050148351A1 (en) * | 2002-11-25 | 2005-07-07 | Reding Craig L. | Methods and systems for single number text messaging |
WO2005083998A1 (en) * | 2004-02-27 | 2005-09-09 | Cycos Aktiengesellschaft | Communication server and method for establishing and operating a conference communication connection |
US20050210143A1 (en) * | 2001-04-04 | 2005-09-22 | Michael Wengrovitz | Session initiation protocol routing using voice cookies |
US20050216529A1 (en) * | 2004-01-30 | 2005-09-29 | Ashish Ashtekar | Method and apparatus for providing real-time notification for avatars |
US20050223328A1 (en) * | 2004-01-30 | 2005-10-06 | Ashish Ashtekar | Method and apparatus for providing dynamic moods for avatars |
US20050273494A1 (en) * | 2004-06-07 | 2005-12-08 | Koichi Uchide | Graphical user interface apparatus and connection method in two-way communication system |
US20050276407A1 (en) * | 2004-06-09 | 2005-12-15 | Avaya Technology Corp. | Telephony device ring determination by scheduler |
US20060005164A1 (en) * | 2004-07-01 | 2006-01-05 | Jetter Michael B | System and method for graphically illustrating external data source information in the form of a visual hierarchy in an electronic workspace |
US20060031290A1 (en) * | 2004-05-11 | 2006-02-09 | International Business Machines Corporation | Method and system for conferencing |
US20060095560A1 (en) * | 2004-10-16 | 2006-05-04 | Alcatel | System and method for leveraging end-users' preferences for efficient communications |
WO2006065404A2 (en) * | 2004-12-15 | 2006-06-22 | Alcatel Lucent | Presence system and method for computing media status |
US20060155852A1 (en) * | 2002-04-12 | 2006-07-13 | Siemens Aktiengesellschaft | Representation of boolean expressions for specifying filters using xml |
US20060177030A1 (en) * | 2001-02-27 | 2006-08-10 | Mahesh Rajagopalan | Methods and systems for automatic forwarding of communications to a preferred device |
US20060230106A1 (en) * | 2005-03-18 | 2006-10-12 | Mcdonald Rex E Jr | System and method for real-time feedback with conservative network usage in a teleconferencing system |
US20060242632A1 (en) * | 2005-04-22 | 2006-10-26 | Orsolini Garry S | Systems and methods for providing immediate access to virtual collaboration facilities |
US20070005695A1 (en) * | 2005-06-29 | 2007-01-04 | Weidong Chen | Methods and apparatuses for selectively providing privacy through a dynamic social network system |
US20070005691A1 (en) * | 2005-05-26 | 2007-01-04 | Vinodh Pushparaj | Media conference enhancements |
US20070027702A1 (en) * | 2005-07-26 | 2007-02-01 | Microsoft Corporation | Organizing presence information into collections of publications |
US20070060131A1 (en) * | 2003-04-03 | 2007-03-15 | Jeffrey Wilson | Telecommunications services apparatus and methods |
WO2007041704A2 (en) * | 2005-10-03 | 2007-04-12 | Divitas Networks, Inc. | Rendezvous calling systems and methods therefor |
US20070100831A1 (en) * | 2005-07-26 | 2007-05-03 | Microsoft Corporation | Managing rich presence collections |
US20070110231A1 (en) * | 2005-11-17 | 2007-05-17 | Bea Systems, Inc. | System and method for providing notifications in a communities framework |
US20070112835A1 (en) * | 2005-11-17 | 2007-05-17 | Mcmullen Cindy | System and method for providing extensible controls in a communities framework |
US20070112913A1 (en) * | 2005-11-17 | 2007-05-17 | Bales Christopher E | System and method for displaying HTML content from portlet as a page element in a communites framework |
US20070113188A1 (en) * | 2005-11-17 | 2007-05-17 | Bales Christopher E | System and method for providing dynamic content in a communities framework |
US20070113194A1 (en) * | 2005-11-17 | 2007-05-17 | Bales Christopher E | System and method for providing drag and drop functionality in a communities framework |
US20070113187A1 (en) * | 2005-11-17 | 2007-05-17 | Bea Systems, Inc. | System and method for providing security in a communities framework |
US20070124326A1 (en) * | 2005-11-17 | 2007-05-31 | Bea Systems, Inc. | Extensible Controls for a Content Data Repository |
US20070124460A1 (en) * | 2005-11-17 | 2007-05-31 | Bea Systems, Inc. | System and method for providing testing for a communities framework |
US20070189487A1 (en) * | 2006-02-01 | 2007-08-16 | Siemens Communications, Inc. | Automatic voice conference actions driven by potential conferee presence |
US20070226032A1 (en) * | 2005-04-29 | 2007-09-27 | Siebel Systems, Inc. | Providing contextual collaboration within enterprise applications |
US20070239866A1 (en) * | 2006-03-31 | 2007-10-11 | Microsoft Corporation | Managing Rich Presence Collections |
US20070250641A1 (en) * | 2006-04-21 | 2007-10-25 | Microsoft Corporation | Meetings structures and global unique identifiers |
US20070271337A1 (en) * | 2006-05-22 | 2007-11-22 | Microsoft Corporation | Quorum for a Real-Time, Collaborative Electronic Meeting |
US20070276913A1 (en) * | 2006-05-23 | 2007-11-29 | Microsoft Corporation | Providing Access to Missed Text Messages in a Real-Time Text-Messaging Conference |
US20070282657A1 (en) * | 2006-05-31 | 2007-12-06 | Susanne Hupfer | Method and system for providing activity-centric awareness in a virtual collaboration space with personalized differential awareness user interface representations |
US20070299914A1 (en) * | 2006-06-26 | 2007-12-27 | Microsoft Corporation | Integrated network and application session establishment |
US20080091829A1 (en) * | 2006-10-17 | 2008-04-17 | Anthony Spataro | Systems and methods for providing online collaborative support |
US20080089500A1 (en) * | 2006-10-12 | 2008-04-17 | Dolan Stein E | Call authorizatin for pay-per-call services |
US20080098087A1 (en) * | 2006-10-24 | 2008-04-24 | Fabfemme Inc. | Integrated electronic invitation process |
US20080140767A1 (en) * | 2006-06-14 | 2008-06-12 | Prasad Rao | Divitas description protocol and methods therefor |
US20080168437A1 (en) * | 2007-01-08 | 2008-07-10 | Weidong Chen | Methods and apparatuses for managing the distribution and installation of applications |
US20080220781A1 (en) * | 2006-06-14 | 2008-09-11 | Snehal Karia | Methods and arrangment for implementing an active call handover by employing a switching component |
US20080260325A1 (en) * | 2006-02-16 | 2008-10-23 | Pavel Kornilovich | Composite Evanescent Waveguides And Associated Methods |
US20080273678A1 (en) * | 2007-05-01 | 2008-11-06 | Igor Balk | Systems and methods for phone call management |
US20080285736A1 (en) * | 2007-05-16 | 2008-11-20 | Unison Technolgies Llc | Systems and methods for providing unified collaboration systems with conditional communication handling |
US20080285587A1 (en) * | 2007-05-16 | 2008-11-20 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with user selectable reply format |
US20080294482A1 (en) * | 2007-05-25 | 2008-11-27 | International Business Machines Corporation | Personalized Electronic Meeting Invitations |
US20080317241A1 (en) * | 2006-06-14 | 2008-12-25 | Derek Wang | Code-based echo cancellation |
US20090016333A1 (en) * | 2006-06-14 | 2009-01-15 | Derek Wang | Content-based adaptive jitter handling |
US7480500B1 (en) | 2006-06-14 | 2009-01-20 | Divitas Networks, Inc. | Divitas protocol proxy and methods therefor |
US20090037530A1 (en) * | 2007-07-31 | 2009-02-05 | Christopher Lee Bennetts | Media broadcasting system |
US20090041217A1 (en) * | 2007-05-16 | 2009-02-12 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with combined communication log |
US20090106366A1 (en) * | 2007-10-17 | 2009-04-23 | Nokia Corporation | System and method for visualizing threaded communication across multiple communication channels using a mobile web server |
USRE40704E1 (en) * | 1995-02-24 | 2009-04-28 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
US20090107265A1 (en) * | 2007-10-25 | 2009-04-30 | Cisco Technology, Inc. | Utilizing Presence Data Associated with a Sensor |
US20090125593A1 (en) * | 2007-11-08 | 2009-05-14 | Tanel Hiir | Message Delivery System and Method |
US7536437B2 (en) | 2002-02-14 | 2009-05-19 | Avaya Inc. | Presence tracking and name space interconnection techniques |
US20090157616A1 (en) * | 2007-12-12 | 2009-06-18 | Richard Barber | System and method for enabling a user to search and retrieve individual topics in a visual mapping system |
US20090157709A1 (en) * | 2007-10-15 | 2009-06-18 | Stephen Paul Kruger | System and method for displaying a conversation summary |
US20090157801A1 (en) * | 2007-12-12 | 2009-06-18 | Richard Barber | System and method for integrating external system data in a visual mapping system |
US20090164912A1 (en) * | 2007-12-20 | 2009-06-25 | Richard Barber | System and method for facilitating collaboration and communication in a visual mapping system by tracking user presence in individual topics |
US20090215438A1 (en) * | 2008-02-23 | 2009-08-27 | Ajay Mittal | Methods for performing transparent callback |
US20090228447A1 (en) * | 2004-07-01 | 2009-09-10 | Creekbaum William J | System, method, and solfware application for enabling a user to search an external domain within a visual mapping interface |
US20090228785A1 (en) * | 2004-07-01 | 2009-09-10 | Creekbaum William J | System, method, and software application for displaying data from a web service in a visual map |
US20090248816A1 (en) * | 2001-09-28 | 2009-10-01 | Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) | Passive Personalization of Buddy Lists |
US20090283395A1 (en) * | 2006-06-06 | 2009-11-19 | Uhde Gmbh | Floor Construction for Horizontal Coke Ovens |
US20090300189A1 (en) * | 2008-06-03 | 2009-12-03 | Yukiko Takeda | Communication system |
WO2010012988A1 (en) * | 2008-07-28 | 2010-02-04 | Swift Connect Limited | Messaging system |
US20100070891A1 (en) * | 2008-09-18 | 2010-03-18 | Creekbaum William J | System and method for configuring an application via a visual map interface |
US20100107205A1 (en) * | 2008-10-27 | 2010-04-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for resuming, transferring or copying a multimedia session |
US20100122151A1 (en) * | 2008-11-10 | 2010-05-13 | Mendelson Neil S | System, method, and software application for enabling a user to view and interact with a visual map in an external application |
US20100138492A1 (en) * | 2008-12-02 | 2010-06-03 | Carlos Guzman | Method and apparatus for multimedia collaboration using a social network system |
US7747719B1 (en) | 2001-12-21 | 2010-06-29 | Microsoft Corporation | Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration |
US7769154B1 (en) | 2004-06-09 | 2010-08-03 | Avaya Inc. | Aggregated perceived presence |
US20100198648A1 (en) * | 2009-02-05 | 2010-08-05 | International Business Machines Corporation | Dynamic meeting group organizer |
US20100217806A1 (en) * | 2009-02-20 | 2010-08-26 | Gautam Khot | Email Based Remote Management of Network Connected Entities |
US20100222053A1 (en) * | 2009-02-27 | 2010-09-02 | Girisrinivasarao Athulurutirumala | Arrangement and methods for establishing a telecommunication connection based on a heuristic model |
US20100220697A1 (en) * | 2005-06-30 | 2010-09-02 | Koninklijke Philips Electronics N.V. | Method and apparatus for multi-mode conversations in wireless networks |
FR2942926A1 (en) * | 2009-03-04 | 2010-09-10 | Alcatel Lucent | METHOD AND SYSTEM FOR REAL TIME SYNTHESIS OF INTERACTIONS RELATING TO A USER |
US20110093548A1 (en) * | 2008-04-07 | 2011-04-21 | Avaya Inc. | Conference-enhancing announcements and information |
US20110119598A1 (en) * | 2009-10-13 | 2011-05-19 | Shawn Traylor | Dynamic collaboration in social networking environment |
US7995742B2 (en) | 2002-12-04 | 2011-08-09 | Avaya Inc. | Outbound dialing decision criteria based |
US8046696B2 (en) | 2005-11-17 | 2011-10-25 | Oracle International Corporation | System and method for providing active menus in a communities framework |
US8103703B1 (en) | 2006-06-29 | 2012-01-24 | Mindjet Llc | System and method for providing content-specific topics in a mind mapping system |
US8108345B2 (en) | 2006-03-31 | 2012-01-31 | Microsoft Corporation | Managing rich presence collections in a single request |
US8150003B1 (en) | 2007-01-23 | 2012-04-03 | Avaya Inc. | Caller initiated undivert from voicemail |
US20120117224A1 (en) * | 2003-05-12 | 2012-05-10 | Wayne Andrews | Universal state-aware communications |
US8301581B2 (en) | 2009-09-24 | 2012-10-30 | Avaya Inc. | Group compositing algorithms for presence |
US8359354B1 (en) * | 2009-03-30 | 2013-01-22 | Shoretel, Inc. | Methods for providing a status to devices in a distributed system |
US8392267B1 (en) | 2009-06-30 | 2013-03-05 | Mindjet Llc | System, method, and software application for dynamically generating a link to an online procurement site within a software application |
US20130111365A1 (en) * | 2011-11-02 | 2013-05-02 | Research In Motion Limited | System and Method for Enabling Voice and Video Communications Using a Messaging Application |
US20130117372A1 (en) * | 2003-02-14 | 2013-05-09 | Devereux Research Ab Llc | System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system |
US20130145293A1 (en) * | 2011-12-01 | 2013-06-06 | Avaya Inc. | Methods, apparatuses, and computer-readable media for providing availability metaphor(s) representing communications availability in an interactive map |
WO2013096655A1 (en) * | 2011-12-21 | 2013-06-27 | Level 3 Communications, Llc | Ip-based conferencing in telecommunications network |
US8493892B1 (en) | 2009-03-30 | 2013-07-23 | Shoretel, Inc. | Resolving conflicts in distributed systems |
DE102012204767A1 (en) * | 2012-03-26 | 2013-09-26 | Siemens Aktiengesellschaft | Method for enabling communication between users of e.g. magnetic resonance image pick-up device and reporting physician workstation, involves adjusting medical examinations related test parameters by image pickup units |
EP2350964A4 (en) * | 2008-09-30 | 2013-11-13 | Microsoft Corp | Role-independent context exchange |
US8619636B1 (en) * | 2006-05-03 | 2013-12-31 | At&T Mobility Ii Llc | Methods and systems for creating optimized transmission paths for VoIP conference calls |
US8624956B2 (en) * | 2001-08-16 | 2014-01-07 | Verizon Data Services Llc | Systems and methods for implementing internet video conferencing using standard phone calls |
WO2014076578A2 (en) * | 2012-11-12 | 2014-05-22 | Calgary Scientific Inc. | Framework to notify and invite users to join a collaborative session |
US20140143295A1 (en) * | 2012-11-20 | 2014-05-22 | Charles Girsch | Framework for cross-platform collaboration of activities |
US8751571B2 (en) | 2001-02-27 | 2014-06-10 | Verizon Data Services Llc | Methods and systems for CPN triggered collaboration |
US8750482B2 (en) | 2001-02-27 | 2014-06-10 | Verizon Data Services Llc | Methods and systems for preemptive rejection of calls |
US8767925B2 (en) | 2001-02-27 | 2014-07-01 | Verizon Data Services Llc | Interactive assistant for managing telephone communications |
US20140235213A1 (en) * | 2011-06-15 | 2014-08-21 | Nickelback OU | Terminal based interactive voice response system with information prioritization |
US8855285B1 (en) * | 2013-03-14 | 2014-10-07 | Speek Inc. | Systems and methods for conference calling using personal URL |
US8873730B2 (en) | 2001-02-27 | 2014-10-28 | Verizon Patent And Licensing Inc. | Method and apparatus for calendared communications flow control |
CN104301127A (en) * | 2014-09-29 | 2015-01-21 | 大唐移动通信设备有限公司 | Conference control method and equipment |
US20150073800A1 (en) * | 2005-12-21 | 2015-03-12 | At&T Intellectual Property Ii, L.P. | Digital signatures for communications using text-independent speaker verification |
US20150088961A1 (en) * | 2004-05-06 | 2015-03-26 | Apple Inc. | Application-Specific Group Listing |
US20150135082A1 (en) * | 2013-11-08 | 2015-05-14 | Verizon Patent And Licensing Inc. | Method and apparatus for providing shared user interface view |
US20160006825A1 (en) * | 2006-04-24 | 2016-01-07 | Aol Inc. | Alerts for monitoring user status |
US20160094597A1 (en) * | 2014-09-29 | 2016-03-31 | Brother Kogyo Kabushiki Kaisha | Storage Medium Storing Communication Program, Communication Terminal, and Communication Method |
US9325599B2 (en) | 2009-03-30 | 2016-04-26 | Shoretel, Inc. | Methods for providing a status to devices in a distributed system |
US9392120B2 (en) | 2002-02-27 | 2016-07-12 | Verizon Patent And Licensing Inc. | Methods and systems for call management with user intervention |
US9398152B2 (en) | 2004-02-25 | 2016-07-19 | Avaya Inc. | Using business rules for determining presence |
US20160381092A1 (en) * | 2015-06-29 | 2016-12-29 | Linkedin Corporation | Ephemeral interaction system |
US20170004119A1 (en) * | 2015-06-30 | 2017-01-05 | Microsoft Technology Licensing, Llc. | State-specific commands in collaboration services |
US20170118080A1 (en) * | 2015-10-27 | 2017-04-27 | International Business Machines Corporation | Electronic communication management |
US9716860B2 (en) | 2011-12-21 | 2017-07-25 | Level 3 Communications, Llc | Collaboration conference linking in a telecommunications network |
US9860377B1 (en) * | 2013-04-24 | 2018-01-02 | West Corporation | Applying user preferences, behavioral patterns and environmental factors to an automated customer support application |
US20180048751A1 (en) * | 2016-08-12 | 2018-02-15 | International Business Machines Corporation | Notification bot for topics of interest on voice communication devices |
US9928753B2 (en) | 2006-11-08 | 2018-03-27 | Cricket Media, Inc. | Dynamic characterization of nodes in a semantic network for desired functions such as search, discovery, matching, content delivery, and synchronization of activity and information |
US9959416B1 (en) | 2015-03-27 | 2018-05-01 | Google Llc | Systems and methods for joining online meetings |
US10122771B2 (en) | 2011-12-21 | 2018-11-06 | Level 3 Communications, Llc | Routing of conference participant based on caller recognition |
US10235129B1 (en) * | 2015-06-29 | 2019-03-19 | Amazon Technologies, Inc. | Joining users to communications via voice commands |
US10320854B1 (en) * | 2003-09-30 | 2019-06-11 | Red Hat, Inc. | Systems and methods for setting up a session in a collaborative communication system |
US10333870B2 (en) * | 2017-07-06 | 2019-06-25 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
US10368386B2 (en) | 2017-06-19 | 2019-07-30 | Gloabl Tel*Link Corporation | Dual mode transmission in a controlled environment |
CN110266507A (en) * | 2019-05-28 | 2019-09-20 | 苏宁易购集团股份有限公司 | A kind of method for processing business and system based on virtual team |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
US10528918B1 (en) | 2013-05-13 | 2020-01-07 | Google Llc | Communication distribution based on calendar information |
US20200374489A1 (en) * | 2009-08-28 | 2020-11-26 | Apple Inc. | Method and apparatus for initiating and managing chat sessions |
CN112734459A (en) * | 2009-09-14 | 2021-04-30 | TiVo解决方案有限公司 | Multifunctional multimedia device |
US11356487B2 (en) * | 2006-12-19 | 2022-06-07 | Bce Inc. | Method, system and apparatus for causing a communication client to join a media-over-packet communication session |
LU102277B1 (en) * | 2020-12-11 | 2022-06-13 | Microsoft Technology Licensing Llc | Server initiated communication session join after endpoint status check failure |
US11461067B2 (en) * | 2020-12-17 | 2022-10-04 | International Business Machines Corporation | Shared information fields with head mounted displays |
US20230251950A1 (en) * | 2021-09-17 | 2023-08-10 | Samsung Electronics Co., Ltd. | Methods and electronic devices for behavior detection using federated learning |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1348165A4 (en) * | 2000-12-26 | 2009-01-28 | Polycom Inc | System and method for coordinating a conference using a dedicated server |
US6907447B1 (en) * | 2001-04-30 | 2005-06-14 | Microsoft Corporation | Method and apparatus for providing an instant message notification |
US7054939B2 (en) * | 2001-06-28 | 2006-05-30 | Bellsouth Intellectual Property Corportion | Simultaneous visual and telephonic access to interactive information delivery |
US8949922B2 (en) * | 2002-12-10 | 2015-02-03 | Ol2, Inc. | System for collaborative conferencing using streaming interactive video |
AU2003280200A1 (en) * | 2002-12-18 | 2004-07-09 | Nokia Corporation | Method of announcing sessions |
US20040230793A1 (en) * | 2003-02-14 | 2004-11-18 | Julio Estrada | System and method for encrypting and authenticating messages in a collaborative work environment |
US7814150B1 (en) * | 2003-06-03 | 2010-10-12 | Cisco Technology, Inc. | Apparatus and method to bridge telephone and data networks |
CN100456782C (en) * | 2003-12-16 | 2009-01-28 | 腾讯科技(深圳)有限公司 | A telephone state information presentation system and realizing method thereof |
CA2550994C (en) * | 2003-12-22 | 2017-05-02 | Linqware, Inc. | System and method for initiating a conference call |
US20050190706A1 (en) * | 2004-02-26 | 2005-09-01 | Henderson Eric A. | Automatic conferencing service |
US20060036703A1 (en) * | 2004-08-13 | 2006-02-16 | Microsoft Corporation | System and method for integrating instant messaging in a multimedia environment |
US7596210B2 (en) * | 2004-09-30 | 2009-09-29 | Siemens Communications, Inc. | Presence enhanced outcalling |
US20060126525A1 (en) * | 2004-11-22 | 2006-06-15 | Sheng-Chih Chan | Telecommunication system statistical counting method |
US8351587B2 (en) * | 2005-05-24 | 2013-01-08 | Siemens Enterprise Communications, Inc. | Method and apparatus for automatic notification of conference status |
US8095665B1 (en) * | 2005-06-30 | 2012-01-10 | Google Inc. | User-friendly features for real-time communications |
US8756501B1 (en) * | 2005-12-30 | 2014-06-17 | Google Inc. | Method, system, and graphical user interface for meeting-spot-related introductions |
US7797642B1 (en) | 2005-12-30 | 2010-09-14 | Google Inc. | Method, system, and graphical user interface for meeting-spot-related contact lists |
US7831917B1 (en) | 2005-12-30 | 2010-11-09 | Google Inc. | Method, system, and graphical user interface for identifying and communicating with meeting spots |
US7917866B1 (en) * | 2005-12-30 | 2011-03-29 | Google Inc. | Method, system, and graphical user interface for meeting-spot-related online communications |
US8171424B1 (en) | 2005-12-30 | 2012-05-01 | Google Inc. | Method, system, and graphical user interface for meeting-spot maps for online communications |
US8571012B2 (en) | 2006-05-12 | 2013-10-29 | Oracle International Corporation | Customized sip routing to cross firewalls |
US8582555B2 (en) * | 2006-05-12 | 2013-11-12 | Oracle International Corporation | SIP routing customization |
US9378343B1 (en) | 2006-06-16 | 2016-06-28 | Nokia Corporation | Automatic detection of required network key type |
US20080172612A1 (en) * | 2007-01-11 | 2008-07-17 | Melanie Allen | Dynamic help references for software documentation |
US20080120135A1 (en) * | 2006-11-22 | 2008-05-22 | General Electric Company | Abstraction of communication protocols for pacs collaboration software |
US20080120370A1 (en) * | 2006-11-22 | 2008-05-22 | Brian Chan | Virtual Meeting Server Discovery |
US8706818B2 (en) * | 2006-12-19 | 2014-04-22 | Microsoft Corporation | Remote control-based instant messaging |
US9280758B2 (en) * | 2006-12-19 | 2016-03-08 | Avaya Inc. | Method and apparatus for managing membership of dynamic virtual groups |
US9195996B1 (en) | 2006-12-27 | 2015-11-24 | Qurio Holdings, Inc. | System and method for classification of communication sessions in a social network |
US8631069B2 (en) * | 2007-03-01 | 2014-01-14 | Oracle International Corporation | Web and multi-media conference |
US20080240385A1 (en) * | 2007-03-30 | 2008-10-02 | Veraz Networks, Inc. | Black phone presence services |
US20080279177A1 (en) * | 2007-05-09 | 2008-11-13 | Eyal Shlomot | Conjoined Telephony Communication System |
US9032079B2 (en) * | 2007-06-26 | 2015-05-12 | Microsoft Technology Licensing, Llc | Management and diagnosis of telephonic devices |
US7945861B1 (en) | 2007-09-04 | 2011-05-17 | Google Inc. | Initiating communications with web page visitors and known contacts |
FR2920935B1 (en) | 2007-09-06 | 2009-12-11 | Miyowa | METHOD FOR EXCHANGING REQUESTS BETWEEN THE COMPUTER APPLICATION OF A MOBILE TERMINAL AND AN INSTANT MESSAGING SERVER |
US9178957B2 (en) * | 2007-09-27 | 2015-11-03 | Adobe Systems Incorporated | Application and data agnostic collaboration services |
US9330050B2 (en) * | 2007-10-02 | 2016-05-03 | Aspect Software, Inc. | Deployment wizard |
FR2923131B1 (en) * | 2007-10-24 | 2010-01-15 | Miyowa | INSTANT MESSAGING METHOD AND SYSTEM FOR MOBILE TERMINALS EQUIPPED WITH A VIRTUAL PRESENCE SERVER CONFIGURED TO MANAGE DIFFERENT LISTS OF CONTACTS OF A SAME USER |
FR2923130A1 (en) * | 2007-10-24 | 2009-05-01 | Miyowa Sa | INSTANT MESSAGING METHOD AND SYSTEM FOR MOBILE TERMINALS EQUIPPED WITH A VIRTUAL PRESENCE SERVER FOR AUTOMATICALLY MANAGING AN INSTANT MESSAGING SESSION |
US9420014B2 (en) | 2007-11-15 | 2016-08-16 | Adobe Systems Incorporated | Saving state of a collaborative session in an editable format |
FR2926176B1 (en) * | 2008-01-08 | 2014-10-10 | Miyowa | INFORMATION TRANSFER COMMUNICATION NETWORK BETWEEN A MOBILE TERMINAL AND SOURCE SERVERS, AND TERMINAL AND METHOD FOR MANAGING THE TRANSFER OF INFORMATION IN SUCH A NETWORK. |
WO2009134259A1 (en) * | 2008-04-30 | 2009-11-05 | Hewlett-Packard Development Company, L.P. | Communication between scheduled and in progress event attendees |
US8532092B2 (en) * | 2008-06-02 | 2013-09-10 | Tekelec, Inc. | Methods, systems, and computer readable media for providing next generation network (NGN)-based end user services to legacy subscribers in a communications network |
US20090307607A1 (en) * | 2008-06-10 | 2009-12-10 | Microsoft Corporation | Digital Notes |
US9124608B2 (en) * | 2008-06-19 | 2015-09-01 | Qualcomm Incorporated | Conveying session continuity information in a multi-component communication session |
US8634862B2 (en) * | 2008-08-04 | 2014-01-21 | Accenture Global Services Limited | Cross-architecture flight tracking system |
EP2318989B8 (en) | 2008-08-21 | 2019-09-25 | Uniloc 2017 LLC | Content, traffic and advertising engine, system and method |
US7945622B1 (en) | 2008-10-01 | 2011-05-17 | Adobe Systems Incorporated | User-aware collaboration playback and recording |
US9294291B2 (en) | 2008-11-12 | 2016-03-22 | Adobe Systems Incorporated | Adaptive connectivity in network-based collaboration |
US20100179982A1 (en) * | 2009-01-15 | 2010-07-15 | Miyowa | Method for auditing the data of a computer application of a terminal |
US9659335B2 (en) * | 2009-01-29 | 2017-05-23 | Oracle International Corporation | Sample management for a sales call |
US9684736B2 (en) * | 2009-01-29 | 2017-06-20 | Oracle International Corporation | Communication handler for flex integration with a secure application |
US9063806B2 (en) * | 2009-01-29 | 2015-06-23 | Oracle International Corporation | Flex integration with a secure application |
US8762883B2 (en) * | 2009-01-30 | 2014-06-24 | Oracle International Corporation | Manipulation of window controls in a popup window |
US20100195808A1 (en) * | 2009-01-30 | 2010-08-05 | Oracle International Corporation | Adding Contacts During Personalized Content Delivery and Analytics |
US9760381B2 (en) * | 2009-01-30 | 2017-09-12 | Oracle International Corporation | Configurable toolbar |
US8762448B2 (en) * | 2009-01-30 | 2014-06-24 | Oracle International Corporation | Implementing asynchronous processes on a mobile client |
US8539359B2 (en) | 2009-02-11 | 2013-09-17 | Jeffrey A. Rapaport | Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US9704138B2 (en) * | 2009-02-24 | 2017-07-11 | At&T Intellectual Property I, L.P. | Calendar overlay features |
US20100215166A1 (en) * | 2009-02-24 | 2010-08-26 | At&T Intellectual Property I, L.P. | Initiating a Conference Call |
US20100228790A1 (en) * | 2009-03-03 | 2010-09-09 | Miyowa | Method for activating functionalities proposed in a computer terminal |
US8570325B2 (en) * | 2009-03-31 | 2013-10-29 | Microsoft Corporation | Filter and surfacing virtual content in virtual worlds |
FR2944624A1 (en) * | 2009-04-16 | 2010-10-22 | Miyowa | METHOD FOR AUTHORIZING A CONNECTION BETWEEN A COMPUTER TERMINAL AND A SOURCE SERVER |
US20100287251A1 (en) * | 2009-05-06 | 2010-11-11 | Futurewei Technologies, Inc. | System and Method for IMS Based Collaborative Services Enabling Multimedia Application Sharing |
US8401154B2 (en) * | 2009-09-17 | 2013-03-19 | Verizon Patent And Licensing Inc. | Emergency text communications |
US8682145B2 (en) | 2009-12-04 | 2014-03-25 | Tivo Inc. | Recording system based on multimedia content fingerprints |
US20110137976A1 (en) * | 2009-12-04 | 2011-06-09 | Bob Poniatowski | Multifunction Multimedia Device |
US8626847B2 (en) * | 2010-04-30 | 2014-01-07 | American Teleconferencing Services, Ltd. | Transferring a conference session between client devices |
DE102010021770B9 (en) * | 2010-05-27 | 2012-05-24 | Infineon Technologies Ag | A method and apparatus for requesting media replication in a collaborative communication session and method and apparatus for assigning a communication medium to a collaborative communication session |
US20120042263A1 (en) | 2010-08-10 | 2012-02-16 | Seymour Rapaport | Social-topical adaptive networking (stan) system allowing for cooperative inter-coupling with external social networking systems and other content sources |
US8713165B2 (en) * | 2011-03-03 | 2014-04-29 | Salesforce.Com, Inc. | Method and system for providing status of a machine |
US9224133B2 (en) * | 2011-03-23 | 2015-12-29 | Dell Products, Lp | Method for establishing interpersonal communication and system |
US8676937B2 (en) | 2011-05-12 | 2014-03-18 | Jeffrey Alan Rapaport | Social-topical adaptive networking (STAN) system allowing for group based contextual transaction offers and acceptances and hot topic watchdogging |
US9159037B2 (en) | 2011-06-14 | 2015-10-13 | Genesys Telecommunications Laboratories, Inc. | Context aware interaction |
US8667072B1 (en) * | 2011-10-24 | 2014-03-04 | West Corporation | Method and apparatus of providing live support service in a notification system |
US20130227006A1 (en) * | 2012-02-23 | 2013-08-29 | Samsung Electronics Co., Ltd. | System and method for enabling a party to join an established communication session |
US9264390B2 (en) | 2012-03-22 | 2016-02-16 | Google Inc. | Synchronous communication system and method |
CN102857579B (en) | 2012-09-27 | 2014-06-04 | 腾讯科技(深圳)有限公司 | Information processing method, device, terminal and server |
US9294522B1 (en) | 2012-12-28 | 2016-03-22 | Google Inc. | Synchronous communication system and method |
US10229099B2 (en) * | 2016-03-22 | 2019-03-12 | Business Objects Software Limited | Shared and private annotation of content from a collaboration session |
US10320863B2 (en) | 2016-03-22 | 2019-06-11 | Business Objects Software Limited | Context-based analytics for collaboration tools |
US10075480B2 (en) * | 2016-08-12 | 2018-09-11 | International Business Machines Corporation | Notification bot for topics of interest on voice communication devices |
US10693758B2 (en) * | 2017-09-25 | 2020-06-23 | Splunk Inc. | Collaborative incident management for networked computing systems |
US11310064B2 (en) * | 2019-02-28 | 2022-04-19 | Ricoh Company, Ltd. | Information processing apparatus, information processing system, and information processing method |
US10951564B1 (en) | 2020-04-17 | 2021-03-16 | Slack Technologies, Inc. | Direct messaging instance generation |
US11784949B2 (en) | 2020-10-06 | 2023-10-10 | Salesforce, Inc. | Limited functionality interface for communication platform |
CN116520996A (en) * | 2023-07-03 | 2023-08-01 | 南京维赛客网络科技有限公司 | Group tour method, system and storage medium under same channel scene |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4953159A (en) * | 1989-01-03 | 1990-08-28 | American Telephone And Telegraph Company | Audiographics conferencing arrangement |
US5195086A (en) * | 1990-04-12 | 1993-03-16 | At&T Bell Laboratories | Multiple call control method in a multimedia conferencing system |
US5793365A (en) * | 1996-01-02 | 1998-08-11 | Sun Microsystems, Inc. | System and method providing a computer user interface enabling access to distributed workgroup members |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5742905A (en) * | 1994-09-19 | 1998-04-21 | Bell Communications Research, Inc. | Personal communications internetworking |
US5724508A (en) * | 1995-03-09 | 1998-03-03 | Insoft, Inc. | Apparatus for collaborative computing |
US6097804A (en) * | 1997-12-23 | 2000-08-01 | Bell Canada | Method and system for completing a voice connection between first and second voice terminals in a switched telephone network |
US6564261B1 (en) * | 1999-05-10 | 2003-05-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed system to intelligently establish sessions between anonymous users over various networks |
-
2000
- 2000-12-18 US US09/737,958 patent/US20020076025A1/en not_active Abandoned
-
2001
- 2001-10-05 CA CA2358353A patent/CA2358353C/en not_active Expired - Fee Related
- 2001-12-07 AU AU2002215738A patent/AU2002215738A1/en not_active Abandoned
- 2001-12-07 WO PCT/CA2001/001749 patent/WO2002050723A2/en not_active Application Discontinuation
-
2006
- 2006-03-03 US US11/366,446 patent/US7472352B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4953159A (en) * | 1989-01-03 | 1990-08-28 | American Telephone And Telegraph Company | Audiographics conferencing arrangement |
US5195086A (en) * | 1990-04-12 | 1993-03-16 | At&T Bell Laboratories | Multiple call control method in a multimedia conferencing system |
US5793365A (en) * | 1996-01-02 | 1998-08-11 | Sun Microsystems, Inc. | System and method providing a computer user interface enabling access to distributed workgroup members |
Cited By (351)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE44395E1 (en) | 1995-02-24 | 2013-07-23 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
USRE40704E1 (en) * | 1995-02-24 | 2009-04-28 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
USRE42442E1 (en) | 1995-02-24 | 2011-06-07 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
USRE44441E1 (en) * | 1995-02-24 | 2013-08-13 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgment message to first endpoint |
USRE44306E1 (en) | 1995-02-24 | 2013-06-18 | Apple Inc. | System for terminating multicast channel and data broadcast when at least two second endpoints do not transmit positive acknowledgement message to first endpoint |
US20040024820A1 (en) * | 1999-07-19 | 2004-02-05 | Groove Networks, Inc. | Method and apparatus for designating endpoints in a collaborative computer system to facilitate maintaining data consistency |
US8024404B2 (en) * | 1999-07-19 | 2011-09-20 | Microsoft Corporation | Method and apparatus for designating endpoints in a collaborative computer system to facilitate maintaining data consistency |
US7908322B2 (en) * | 2000-12-01 | 2011-03-15 | Radvision Ltd. | Initiation and support of video conferencing using instant messaging |
US20020118809A1 (en) * | 2000-12-01 | 2002-08-29 | Alfred Eisenberg | Initiation and support of video conferencing using instant messaging |
US20110153735A1 (en) * | 2000-12-01 | 2011-06-23 | Radvision Ltd. | Initiation and support of video conferencing using instant messaging |
US20100066807A1 (en) * | 2000-12-01 | 2010-03-18 | Radvision Ltd. | Initiation and support of video conferencing using instant messaging |
US7631039B2 (en) * | 2000-12-01 | 2009-12-08 | Radvision Ltd. | Initiation and support of video conferencing using instant messaging |
US20020122391A1 (en) * | 2001-01-12 | 2002-09-05 | Shalit Andrew L. | Method and system for providing audio conferencing services to users of on-line text messaging services |
US20040074832A1 (en) * | 2001-02-27 | 2004-04-22 | Peder Holmbom | Apparatus and a method for the disinfection of water for water consumption units designed for health or dental care purposes |
US8750482B2 (en) | 2001-02-27 | 2014-06-10 | Verizon Data Services Llc | Methods and systems for preemptive rejection of calls |
US8873730B2 (en) | 2001-02-27 | 2014-10-28 | Verizon Patent And Licensing Inc. | Method and apparatus for calendared communications flow control |
US8798251B2 (en) | 2001-02-27 | 2014-08-05 | Verizon Data Services Llc | Methods and systems for computer enhanced conference calling |
US8761363B2 (en) * | 2001-02-27 | 2014-06-24 | Verizon Data Services Llc | Methods and systems for automatic forwarding of communications to a preferred device |
US20040208303A1 (en) * | 2001-02-27 | 2004-10-21 | Mahesh Rajagopalan | Methods and systems for computer enhanced conference calling |
US8767925B2 (en) | 2001-02-27 | 2014-07-01 | Verizon Data Services Llc | Interactive assistant for managing telephone communications |
US20060177030A1 (en) * | 2001-02-27 | 2006-08-10 | Mahesh Rajagopalan | Methods and systems for automatic forwarding of communications to a preferred device |
US8751571B2 (en) | 2001-02-27 | 2014-06-10 | Verizon Data Services Llc | Methods and systems for CPN triggered collaboration |
US7747761B2 (en) * | 2001-04-04 | 2010-06-29 | Alcatel Lucent | Session initiation protocol routing using voice cookies |
US20050210143A1 (en) * | 2001-04-04 | 2005-09-22 | Michael Wengrovitz | Session initiation protocol routing using voice cookies |
US7490122B2 (en) * | 2001-06-28 | 2009-02-10 | Microsoft Corporation | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US7739210B2 (en) | 2001-06-28 | 2010-06-15 | Microsoft Corporation | Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability |
US20050021485A1 (en) * | 2001-06-28 | 2005-01-27 | Microsoft Corporation | Continuous time bayesian network models for predicting users' presence, activities, and component usage |
US7493369B2 (en) | 2001-06-28 | 2009-02-17 | Microsoft Corporation | Composable presence and availability services |
US20050132006A1 (en) * | 2001-06-28 | 2005-06-16 | Microsoft Corporation | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US20050132004A1 (en) * | 2001-06-28 | 2005-06-16 | Microsoft Corporation | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US20050132005A1 (en) * | 2001-06-28 | 2005-06-16 | Microsoft Corporation | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US20030014491A1 (en) * | 2001-06-28 | 2003-01-16 | Horvitz Eric J. | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US7233933B2 (en) | 2001-06-28 | 2007-06-19 | Microsoft Corporation | Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability |
US7305437B2 (en) | 2001-06-28 | 2007-12-04 | Microsoft Corporation | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US7409423B2 (en) * | 2001-06-28 | 2008-08-05 | Horvitz Eric J | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US7519676B2 (en) | 2001-06-28 | 2009-04-14 | Microsoft Corporation | Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access |
US20040249776A1 (en) * | 2001-06-28 | 2004-12-09 | Microsoft Corporation | Composable presence and availability services |
US20040003042A1 (en) * | 2001-06-28 | 2004-01-01 | Horvitz Eric J. | Methods and architecture for cross-device activity monitoring, reasoning, and visualization for providing status and forecasts of a users' presence and availability |
US7689521B2 (en) | 2001-06-28 | 2010-03-30 | Microsoft Corporation | Continuous time bayesian network models for predicting users' presence, activities, and component usage |
US7085258B2 (en) * | 2001-07-19 | 2006-08-01 | International Business Machines Corporation | Instant messaging with voice conversation feature |
US7050557B2 (en) * | 2001-07-19 | 2006-05-23 | International Business Machines Corporation | E-mail with voice / phone conference feature |
US20030016657A1 (en) * | 2001-07-19 | 2003-01-23 | International Business Machines Corporation | Instant messaging with voice conversation feature |
US20030016805A1 (en) * | 2001-07-19 | 2003-01-23 | International Business Machines Corporation | E-mail with voice / phone conference feature |
US20030055887A1 (en) * | 2001-08-10 | 2003-03-20 | Ulrich Mitreuter | Method for extending a data network connection |
US20030069934A1 (en) * | 2001-08-14 | 2003-04-10 | Miguel-Angel Garcia-Martin | Communication networks |
US7792906B2 (en) * | 2001-08-14 | 2010-09-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Communication networks |
US8681202B1 (en) | 2001-08-16 | 2014-03-25 | Verizon Data Services Llc | Systems and methods for implementing internet video conferencing using standard phone calls |
US8624956B2 (en) * | 2001-08-16 | 2014-01-07 | Verizon Data Services Llc | Systems and methods for implementing internet video conferencing using standard phone calls |
US9729476B2 (en) * | 2001-09-28 | 2017-08-08 | Facebook, Inc. | Personalization of recent contacts list |
US20090248816A1 (en) * | 2001-09-28 | 2009-10-01 | Aol Llc, A Delaware Limited Liability Company (Formerly Known As America Online, Inc.) | Passive Personalization of Buddy Lists |
US9083661B2 (en) * | 2001-09-28 | 2015-07-14 | Facebook, Inc. | Passive personalization of buddy lists |
US20130080551A1 (en) * | 2001-09-28 | 2013-03-28 | Barry Appelman | Passive Personalization of Buddy Lists |
US20030105820A1 (en) * | 2001-12-03 | 2003-06-05 | Jeffrey Haims | Method and apparatus for facilitating online communication |
US20030126211A1 (en) * | 2001-12-12 | 2003-07-03 | Nokia Corporation | Synchronous media playback and messaging system |
US8417827B2 (en) * | 2001-12-12 | 2013-04-09 | Nokia Corporation | Synchronous media playback and messaging system |
US7747719B1 (en) | 2001-12-21 | 2010-06-29 | Microsoft Corporation | Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration |
US8271631B1 (en) | 2001-12-21 | 2012-09-18 | Microsoft Corporation | Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration |
US8108516B2 (en) | 2002-02-14 | 2012-01-31 | Avaya Inc. | Presence tracking and name space interconnection techniques |
US7536437B2 (en) | 2002-02-14 | 2009-05-19 | Avaya Inc. | Presence tracking and name space interconnection techniques |
US9392120B2 (en) | 2002-02-27 | 2016-07-12 | Verizon Patent And Licensing Inc. | Methods and systems for call management with user intervention |
US20060155852A1 (en) * | 2002-04-12 | 2006-07-13 | Siemens Aktiengesellschaft | Representation of boolean expressions for specifying filters using xml |
US8959231B2 (en) * | 2002-04-12 | 2015-02-17 | Siemens Aktiengesellschaft | Representation of Boolean expressions for specifying filters using XML |
US20030217171A1 (en) * | 2002-05-17 | 2003-11-20 | Von Stuermer Wolfgang R. | Self-replicating and self-installing software apparatus |
US20030233537A1 (en) * | 2002-06-10 | 2003-12-18 | Wohlgemuth Sean Christian | Presence and notification system for maintaining and communicating information |
US7640300B2 (en) * | 2002-06-10 | 2009-12-29 | Microsoft Corporation | Presence and notification system for maintaining and communicating information |
EP1388997A1 (en) * | 2002-08-07 | 2004-02-11 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for three-party call service |
US8761355B2 (en) | 2002-11-25 | 2014-06-24 | Telesector Resources Group, Inc. | Methods and systems for notification of call to device |
US20050148351A1 (en) * | 2002-11-25 | 2005-07-07 | Reding Craig L. | Methods and systems for single number text messaging |
US8761816B2 (en) | 2002-11-25 | 2014-06-24 | Telesector Resources Group, Inc. | Methods and systems for single number text messaging |
US7995742B2 (en) | 2002-12-04 | 2011-08-09 | Avaya Inc. | Outbound dialing decision criteria based |
US7853471B2 (en) * | 2002-12-31 | 2010-12-14 | International Business Machines Corporation | Instance messaging auto-scheduling |
US20040128181A1 (en) * | 2002-12-31 | 2004-07-01 | Zurko Mary Ellen | Instance messaging auto-scheduling |
US7936865B2 (en) | 2003-01-20 | 2011-05-03 | Avaya Inc. | Messaging advise in presence-aware networks |
US20090028303A1 (en) * | 2003-01-20 | 2009-01-29 | Avaya Inc. | Messaging advise in presence-aware networks |
US8064574B2 (en) | 2003-01-20 | 2011-11-22 | Avaya Inc. | Messaging advise in presence-aware networks |
US8050388B2 (en) | 2003-01-20 | 2011-11-01 | Avaya Inc. | Messaging advise in presence-aware networks |
US8098799B2 (en) | 2003-01-20 | 2012-01-17 | Avaya Inc. | Messaging advise in presence-aware networks |
US20090022287A1 (en) * | 2003-01-20 | 2009-01-22 | Avaya Inc. | Messaging advise in presence-aware networks |
US8107597B2 (en) | 2003-01-20 | 2012-01-31 | Avaya Inc. | Messaging advise in presence-aware networks |
US8218735B2 (en) | 2003-01-20 | 2012-07-10 | Avaya Inc. | Messaging advise in presence-aware networks |
US8014497B2 (en) | 2003-01-20 | 2011-09-06 | Avaya Inc. | Messaging advise in presence-aware networks |
US7474741B2 (en) * | 2003-01-20 | 2009-01-06 | Avaya Inc. | Messaging advise in presence-aware networks |
US20040141594A1 (en) * | 2003-01-20 | 2004-07-22 | Brunson Gordon R. | Messaging advise in presence-aware networks |
US8392579B2 (en) * | 2003-02-08 | 2013-03-05 | Hewlett-Packard Development Company, L.P. | Apparatus and method for transmitting data through a network |
US20040156392A1 (en) * | 2003-02-08 | 2004-08-12 | Walls Jeffrey Joel | Apparatus and method for transmitting data through a network |
AU2004211236B2 (en) * | 2003-02-10 | 2009-04-02 | Open Invention Network, Llc | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US10778456B1 (en) | 2003-02-10 | 2020-09-15 | Open Invention Network Llc | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
EP1609075A4 (en) * | 2003-02-10 | 2006-11-02 | Raindance Comm Inc | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
EP1609075A2 (en) * | 2003-02-10 | 2005-12-28 | Raindance Communications Inc. | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US11240051B1 (en) | 2003-02-10 | 2022-02-01 | Open Invention Network Llc | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US8775511B2 (en) | 2003-02-10 | 2014-07-08 | Open Invention Network, Llc | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US20050004982A1 (en) * | 2003-02-10 | 2005-01-06 | Todd Vernon | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session |
US20130117372A1 (en) * | 2003-02-14 | 2013-05-09 | Devereux Research Ab Llc | System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system |
US8862666B2 (en) * | 2003-02-14 | 2014-10-14 | Devereux Research Ab Llc | System and method for immediate and delayed real-time communication activities using availability data from and communications through an external instant messaging system |
US20070060131A1 (en) * | 2003-04-03 | 2007-03-15 | Jeffrey Wilson | Telecommunications services apparatus and methods |
US20120117224A1 (en) * | 2003-05-12 | 2012-05-10 | Wayne Andrews | Universal state-aware communications |
US9774638B2 (en) | 2003-05-12 | 2017-09-26 | Teletech Holdings, Inc. | Universal state-aware communications |
US8886722B2 (en) * | 2003-05-12 | 2014-11-11 | Teletech Customer Care Management (Ireland) Limited | Universal state-aware communications |
US20040228531A1 (en) * | 2003-05-14 | 2004-11-18 | Microsoft Corporation | Instant messaging user interfaces |
WO2004114662A1 (en) * | 2003-06-20 | 2004-12-29 | Tandberg Telecom As | System and method for setup of meetings and conferences |
US20040259580A1 (en) * | 2003-06-20 | 2004-12-23 | Florkey Cynthia Kae | Application server component notification to one or more communication devices of one or more open communication sessions |
US7171228B2 (en) * | 2003-06-20 | 2007-01-30 | Lucent Technologies Inc. | Application server component notification to one or more communication devices of one or more open communication sessions |
US20050004985A1 (en) * | 2003-07-01 | 2005-01-06 | Michael Stochosky | Peer-to-peer identity-based activity sharing |
US9250777B2 (en) | 2003-07-15 | 2016-02-02 | Broadcom Corporation | Audio/video conferencing system |
US9641804B2 (en) | 2003-07-15 | 2017-05-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Audio/video conferencing system |
US20050015444A1 (en) * | 2003-07-15 | 2005-01-20 | Darwin Rambo | Audio/video conferencing system |
US10320854B1 (en) * | 2003-09-30 | 2019-06-11 | Red Hat, Inc. | Systems and methods for setting up a session in a collaborative communication system |
US7154999B2 (en) * | 2003-10-15 | 2006-12-26 | Lucent Technologies Inc. | Sending identification information of a plurality of communication devices that are active on a communication session to information receiving component |
US20050083941A1 (en) * | 2003-10-15 | 2005-04-21 | Florkey Cynthia K. | Sending identification information of a plurality of communication devices that are active on a communication session to information receiving component |
US7496626B2 (en) * | 2003-12-10 | 2009-02-24 | International Business Machines Corporation | System and method for role pen based messaging in a synchronous collaborative environment |
US20050144229A1 (en) * | 2003-12-10 | 2005-06-30 | International Business Machines Corporation | System and method for role pen based messaging in a synchronous collaborative environment |
US20050223328A1 (en) * | 2004-01-30 | 2005-10-06 | Ashish Ashtekar | Method and apparatus for providing dynamic moods for avatars |
US7865566B2 (en) * | 2004-01-30 | 2011-01-04 | Yahoo! Inc. | Method and apparatus for providing real-time notification for avatars |
US20050216529A1 (en) * | 2004-01-30 | 2005-09-29 | Ashish Ashtekar | Method and apparatus for providing real-time notification for avatars |
US9398152B2 (en) | 2004-02-25 | 2016-07-19 | Avaya Inc. | Using business rules for determining presence |
WO2005083998A1 (en) * | 2004-02-27 | 2005-09-09 | Cycos Aktiengesellschaft | Communication server and method for establishing and operating a conference communication connection |
US20150088961A1 (en) * | 2004-05-06 | 2015-03-26 | Apple Inc. | Application-Specific Group Listing |
US10609121B2 (en) * | 2004-05-06 | 2020-03-31 | Apple Inc. | Application-specific group listing |
US20060031290A1 (en) * | 2004-05-11 | 2006-02-09 | International Business Machines Corporation | Method and system for conferencing |
US7308476B2 (en) * | 2004-05-11 | 2007-12-11 | International Business Machines Corporation | Method and system for participant automatic re-invite and updating during conferencing |
US8589485B2 (en) | 2004-06-07 | 2013-11-19 | Sony Corporation | Graphical user interface apparatus and connection method in two-way communication system |
US20050273494A1 (en) * | 2004-06-07 | 2005-12-08 | Koichi Uchide | Graphical user interface apparatus and connection method in two-way communication system |
EP1626555A3 (en) * | 2004-06-07 | 2007-07-11 | Sony Corporation | Graphical user interface apparatus and connection method in two-way communication system |
US9219882B2 (en) | 2004-06-07 | 2015-12-22 | Sony Corporation | Graphical user interface apparatus and connection method in two-way communication system |
CN100446563C (en) * | 2004-06-07 | 2008-12-24 | 索尼株式会社 | Graphical user interface apparatus and connection method in two-way communication system |
US20050276407A1 (en) * | 2004-06-09 | 2005-12-15 | Avaya Technology Corp. | Telephony device ring determination by scheduler |
US7769154B1 (en) | 2004-06-09 | 2010-08-03 | Avaya Inc. | Aggregated perceived presence |
US9047388B2 (en) | 2004-07-01 | 2015-06-02 | Mindjet Llc | System, method, and software application for displaying data from a web service in a visual map |
US9038001B2 (en) | 2004-07-01 | 2015-05-19 | Mindjet Llc | System and method for graphically illustrating external data source information in the form of a visual hierarchy in an electronic workspace |
US9396282B2 (en) | 2004-07-01 | 2016-07-19 | Mindjet Llc | System, method, and software application for displaying data from a web service in a visual map |
US20090228447A1 (en) * | 2004-07-01 | 2009-09-10 | Creekbaum William J | System, method, and solfware application for enabling a user to search an external domain within a visual mapping interface |
US20090228785A1 (en) * | 2004-07-01 | 2009-09-10 | Creekbaum William J | System, method, and software application for displaying data from a web service in a visual map |
US20060005164A1 (en) * | 2004-07-01 | 2006-01-05 | Jetter Michael B | System and method for graphically illustrating external data source information in the form of a visual hierarchy in an electronic workspace |
US20060095560A1 (en) * | 2004-10-16 | 2006-05-04 | Alcatel | System and method for leveraging end-users' preferences for efficient communications |
US7921193B2 (en) * | 2004-10-16 | 2011-04-05 | Alcatel Lucent | System and method for leveraging end-users' preferences for efficient communications |
US20060165007A1 (en) * | 2004-12-15 | 2006-07-27 | Alcatel | Presence system and method for computing media status |
WO2006065404A2 (en) * | 2004-12-15 | 2006-06-22 | Alcatel Lucent | Presence system and method for computing media status |
WO2006065404A3 (en) * | 2004-12-15 | 2007-06-07 | Alcatel Lucent | Presence system and method for computing media status |
US20060230106A1 (en) * | 2005-03-18 | 2006-10-12 | Mcdonald Rex E Jr | System and method for real-time feedback with conservative network usage in a teleconferencing system |
US8069206B2 (en) * | 2005-03-18 | 2011-11-29 | Clearone Communications, Inc. | System and method for real-time feedback with conservative network usage in a teleconferencing system |
US20060242632A1 (en) * | 2005-04-22 | 2006-10-26 | Orsolini Garry S | Systems and methods for providing immediate access to virtual collaboration facilities |
US8082509B2 (en) * | 2005-04-22 | 2011-12-20 | Hewlett-Packard Development Company, L.P. | Systems and methods for providing immediate access to virtual collaboration facilities |
US20070226032A1 (en) * | 2005-04-29 | 2007-09-27 | Siebel Systems, Inc. | Providing contextual collaboration within enterprise applications |
US10467593B2 (en) * | 2005-04-29 | 2019-11-05 | Oracle America, Inc. | Providing contextual collaboration within enterprise applications |
US20070005691A1 (en) * | 2005-05-26 | 2007-01-04 | Vinodh Pushparaj | Media conference enhancements |
US20070005695A1 (en) * | 2005-06-29 | 2007-01-04 | Weidong Chen | Methods and apparatuses for selectively providing privacy through a dynamic social network system |
US7765257B2 (en) * | 2005-06-29 | 2010-07-27 | Cisco Technology, Inc. | Methods and apparatuses for selectively providing privacy through a dynamic social network system |
US20100220697A1 (en) * | 2005-06-30 | 2010-09-02 | Koninklijke Philips Electronics N.V. | Method and apparatus for multi-mode conversations in wireless networks |
US7650337B2 (en) * | 2005-07-26 | 2010-01-19 | Microsoft Corporation | Managing rich presence collections |
US20070100831A1 (en) * | 2005-07-26 | 2007-05-03 | Microsoft Corporation | Managing rich presence collections |
US8356011B2 (en) | 2005-07-26 | 2013-01-15 | Microsoft Corporation | Organizing presence information into collections of publications |
US20070027702A1 (en) * | 2005-07-26 | 2007-02-01 | Microsoft Corporation | Organizing presence information into collections of publications |
US20080119165A1 (en) * | 2005-10-03 | 2008-05-22 | Ajay Mittal | Call routing via recipient authentication |
US20070264989A1 (en) * | 2005-10-03 | 2007-11-15 | Rajesh Palakkal | Rendezvous calling systems and methods therefor |
US20070091848A1 (en) * | 2005-10-03 | 2007-04-26 | Snehal Karia | Reducing data loss during handoffs in wireless communication |
WO2007041704A3 (en) * | 2005-10-03 | 2008-10-09 | Divitas Networks Inc | Rendezvous calling systems and methods therefor |
US20070091907A1 (en) * | 2005-10-03 | 2007-04-26 | Varad Seshadri | Secured media communication across enterprise gateway |
US20070094374A1 (en) * | 2005-10-03 | 2007-04-26 | Snehal Karia | Enterprise-managed wireless communication |
US20070121580A1 (en) * | 2005-10-03 | 2007-05-31 | Paolo Forte | Classification for media stream packets in a media gateway |
US20070207804A1 (en) * | 2005-10-03 | 2007-09-06 | Vikas Sharma | Enhancing user experience during handoffs in wireless communication |
US7688820B2 (en) | 2005-10-03 | 2010-03-30 | Divitas Networks, Inc. | Classification for media stream packets in a media gateway |
WO2007041704A2 (en) * | 2005-10-03 | 2007-04-12 | Divitas Networks, Inc. | Rendezvous calling systems and methods therefor |
US7546125B2 (en) | 2005-10-03 | 2009-06-09 | Divitas Networks, Inc. | Enhancing user experience during handoffs in wireless communication |
US20070124460A1 (en) * | 2005-11-17 | 2007-05-31 | Bea Systems, Inc. | System and method for providing testing for a communities framework |
US20070112913A1 (en) * | 2005-11-17 | 2007-05-17 | Bales Christopher E | System and method for displaying HTML content from portlet as a page element in a communites framework |
US8255818B2 (en) | 2005-11-17 | 2012-08-28 | Oracle International Corporation | System and method for providing drag and drop functionality in a communities framework |
US8046696B2 (en) | 2005-11-17 | 2011-10-25 | Oracle International Corporation | System and method for providing active menus in a communities framework |
US20070113188A1 (en) * | 2005-11-17 | 2007-05-17 | Bales Christopher E | System and method for providing dynamic content in a communities framework |
US7805459B2 (en) | 2005-11-17 | 2010-09-28 | Bea Systems, Inc. | Extensible controls for a content data repository |
US20070110231A1 (en) * | 2005-11-17 | 2007-05-17 | Bea Systems, Inc. | System and method for providing notifications in a communities framework |
US20070112835A1 (en) * | 2005-11-17 | 2007-05-17 | Mcmullen Cindy | System and method for providing extensible controls in a communities framework |
US8078597B2 (en) | 2005-11-17 | 2011-12-13 | Oracle International Corporation | System and method for providing extensible controls in a communities framework |
US7680927B2 (en) | 2005-11-17 | 2010-03-16 | Bea Systems, Inc. | System and method for providing testing for a communities framework |
US20070113194A1 (en) * | 2005-11-17 | 2007-05-17 | Bales Christopher E | System and method for providing drag and drop functionality in a communities framework |
US20070110233A1 (en) * | 2005-11-17 | 2007-05-17 | Bea Systems, Inc. | System and method for providing extensible controls in a communities framework |
US8185643B2 (en) | 2005-11-17 | 2012-05-22 | Oracle International Corporation | System and method for providing security in a communities framework |
US20070124326A1 (en) * | 2005-11-17 | 2007-05-31 | Bea Systems, Inc. | Extensible Controls for a Content Data Repository |
US20070113187A1 (en) * | 2005-11-17 | 2007-05-17 | Bea Systems, Inc. | System and method for providing security in a communities framework |
US9455983B2 (en) * | 2005-12-21 | 2016-09-27 | At&T Intellectual Property Ii, L.P. | Digital signatures for communications using text-independent speaker verification |
US20150073800A1 (en) * | 2005-12-21 | 2015-03-12 | At&T Intellectual Property Ii, L.P. | Digital signatures for communications using text-independent speaker verification |
US20070189487A1 (en) * | 2006-02-01 | 2007-08-16 | Siemens Communications, Inc. | Automatic voice conference actions driven by potential conferee presence |
US8718253B2 (en) * | 2006-02-01 | 2014-05-06 | Siemens Enterprise Communications, Inc. | Automatic voice conference actions driven by potential conferee presence |
US20080260325A1 (en) * | 2006-02-16 | 2008-10-23 | Pavel Kornilovich | Composite Evanescent Waveguides And Associated Methods |
US9275375B2 (en) | 2006-03-31 | 2016-03-01 | Microsoft Technology Licensing, Llc | Managing rich presence collections in a single request |
US8234559B2 (en) | 2006-03-31 | 2012-07-31 | Microsoft Corporation | Managing rich presence collections |
US8108345B2 (en) | 2006-03-31 | 2012-01-31 | Microsoft Corporation | Managing rich presence collections in a single request |
US20070239866A1 (en) * | 2006-03-31 | 2007-10-11 | Microsoft Corporation | Managing Rich Presence Collections |
US20070250641A1 (en) * | 2006-04-21 | 2007-10-25 | Microsoft Corporation | Meetings structures and global unique identifiers |
US7660852B2 (en) | 2006-04-21 | 2010-02-09 | Microsoft Corporation | Meeting structures and global unique identifiers |
US9648115B2 (en) * | 2006-04-24 | 2017-05-09 | Aol Inc. | Alerts for monitoring user status |
US20160006825A1 (en) * | 2006-04-24 | 2016-01-07 | Aol Inc. | Alerts for monitoring user status |
US8619636B1 (en) * | 2006-05-03 | 2013-12-31 | At&T Mobility Ii Llc | Methods and systems for creating optimized transmission paths for VoIP conference calls |
US20070271337A1 (en) * | 2006-05-22 | 2007-11-22 | Microsoft Corporation | Quorum for a Real-Time, Collaborative Electronic Meeting |
US20070276913A1 (en) * | 2006-05-23 | 2007-11-29 | Microsoft Corporation | Providing Access to Missed Text Messages in a Real-Time Text-Messaging Conference |
US20070282657A1 (en) * | 2006-05-31 | 2007-12-06 | Susanne Hupfer | Method and system for providing activity-centric awareness in a virtual collaboration space with personalized differential awareness user interface representations |
US20090283395A1 (en) * | 2006-06-06 | 2009-11-19 | Uhde Gmbh | Floor Construction for Horizontal Coke Ovens |
US20080220781A1 (en) * | 2006-06-14 | 2008-09-11 | Snehal Karia | Methods and arrangment for implementing an active call handover by employing a switching component |
US7480500B1 (en) | 2006-06-14 | 2009-01-20 | Divitas Networks, Inc. | Divitas protocol proxy and methods therefor |
US20090016333A1 (en) * | 2006-06-14 | 2009-01-15 | Derek Wang | Content-based adaptive jitter handling |
US20080317241A1 (en) * | 2006-06-14 | 2008-12-25 | Derek Wang | Code-based echo cancellation |
US20080140767A1 (en) * | 2006-06-14 | 2008-06-12 | Prasad Rao | Divitas description protocol and methods therefor |
US7565159B2 (en) | 2006-06-14 | 2009-07-21 | Divitas Networks, Inc. | Methods and arrangement for implementing an active call handover by employing a switching component |
US20070299914A1 (en) * | 2006-06-26 | 2007-12-27 | Microsoft Corporation | Integrated network and application session establishment |
US8244808B2 (en) * | 2006-06-26 | 2012-08-14 | Microsoft Corporation | Integrated network and application session establishment |
US8103703B1 (en) | 2006-06-29 | 2012-01-24 | Mindjet Llc | System and method for providing content-specific topics in a mind mapping system |
US8675855B2 (en) | 2006-10-12 | 2014-03-18 | Microsoft Corporation | Call authorizatin for pay-per-call services |
US20080089500A1 (en) * | 2006-10-12 | 2008-04-17 | Dolan Stein E | Call authorizatin for pay-per-call services |
WO2008048528A2 (en) * | 2006-10-17 | 2008-04-24 | Citrix Systems, Inc. | Systems and methods for providing online collaborative support |
US20080091829A1 (en) * | 2006-10-17 | 2008-04-17 | Anthony Spataro | Systems and methods for providing online collaborative support |
WO2008048528A3 (en) * | 2006-10-17 | 2008-10-02 | Citrix Systems Inc | Systems and methods for providing online collaborative support |
US8738703B2 (en) | 2006-10-17 | 2014-05-27 | Citrix Systems, Inc. | Systems and methods for providing online collaborative support |
US20080098087A1 (en) * | 2006-10-24 | 2008-04-24 | Fabfemme Inc. | Integrated electronic invitation process |
US9928753B2 (en) | 2006-11-08 | 2018-03-27 | Cricket Media, Inc. | Dynamic characterization of nodes in a semantic network for desired functions such as search, discovery, matching, content delivery, and synchronization of activity and information |
US11356487B2 (en) * | 2006-12-19 | 2022-06-07 | Bce Inc. | Method, system and apparatus for causing a communication client to join a media-over-packet communication session |
US20080168437A1 (en) * | 2007-01-08 | 2008-07-10 | Weidong Chen | Methods and apparatuses for managing the distribution and installation of applications |
US8516476B2 (en) * | 2007-01-08 | 2013-08-20 | Cisco Technology, Inc. | Methods and apparatuses for managing the distribution and installation of applications during a collaboration session |
US8150003B1 (en) | 2007-01-23 | 2012-04-03 | Avaya Inc. | Caller initiated undivert from voicemail |
US7596217B2 (en) | 2007-05-01 | 2009-09-29 | Unison Technologies, Inc. | Systems and methods for phone call management |
US20080273678A1 (en) * | 2007-05-01 | 2008-11-06 | Igor Balk | Systems and methods for phone call management |
US20090067595A1 (en) * | 2007-05-01 | 2009-03-12 | Unison Technologies Llc | Systems and methods for phone call management |
US20080285736A1 (en) * | 2007-05-16 | 2008-11-20 | Unison Technolgies Llc | Systems and methods for providing unified collaboration systems with conditional communication handling |
US7593515B2 (en) | 2007-05-16 | 2009-09-22 | Unison Technologies, Inc. | Systems and methods for providing unified collaboration systems with combined communication log |
US7783023B2 (en) | 2007-05-16 | 2010-08-24 | Unison Technologies, Inc. | Systems and methods for providing unified collaboration systems with conditional communication handling |
US20080285587A1 (en) * | 2007-05-16 | 2008-11-20 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with user selectable reply format |
US20090041216A1 (en) * | 2007-05-16 | 2009-02-12 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with conditional communication handling |
US20090041217A1 (en) * | 2007-05-16 | 2009-02-12 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with combined communication log |
US20090041052A1 (en) * | 2007-05-16 | 2009-02-12 | Unison Technologies Llc | Systems and methods for providing unified collaboration systems with user selectable reply format |
US20080294482A1 (en) * | 2007-05-25 | 2008-11-27 | International Business Machines Corporation | Personalized Electronic Meeting Invitations |
US20090037530A1 (en) * | 2007-07-31 | 2009-02-05 | Christopher Lee Bennetts | Media broadcasting system |
US8626832B2 (en) * | 2007-10-15 | 2014-01-07 | International Business Machines Corporation | System and method for displaying a conversation summary |
US20090157709A1 (en) * | 2007-10-15 | 2009-06-18 | Stephen Paul Kruger | System and method for displaying a conversation summary |
US20090106366A1 (en) * | 2007-10-17 | 2009-04-23 | Nokia Corporation | System and method for visualizing threaded communication across multiple communication channels using a mobile web server |
US20090107265A1 (en) * | 2007-10-25 | 2009-04-30 | Cisco Technology, Inc. | Utilizing Presence Data Associated with a Sensor |
US10298532B2 (en) | 2007-11-08 | 2019-05-21 | Skype | Message delivery system and method |
US9756004B2 (en) * | 2007-11-08 | 2017-09-05 | Skype | Message delivery system and method |
US20090125593A1 (en) * | 2007-11-08 | 2009-05-14 | Tanel Hiir | Message Delivery System and Method |
US20090157801A1 (en) * | 2007-12-12 | 2009-06-18 | Richard Barber | System and method for integrating external system data in a visual mapping system |
US20090157616A1 (en) * | 2007-12-12 | 2009-06-18 | Richard Barber | System and method for enabling a user to search and retrieve individual topics in a visual mapping system |
US8161396B2 (en) | 2007-12-20 | 2012-04-17 | Mindjet Llc | System and method for facilitating collaboration and communication in a visual mapping system by tracking user presence in individual topics |
US20090164912A1 (en) * | 2007-12-20 | 2009-06-25 | Richard Barber | System and method for facilitating collaboration and communication in a visual mapping system by tracking user presence in individual topics |
WO2009085220A1 (en) * | 2007-12-20 | 2009-07-09 | Mindjet Llc | System and method for facilitating collaboration and communication in a visual mapping system by tracking user presence in indvidual topics |
US20090215438A1 (en) * | 2008-02-23 | 2009-08-27 | Ajay Mittal | Methods for performing transparent callback |
US8473559B2 (en) * | 2008-04-07 | 2013-06-25 | Avaya Inc. | Conference-enhancing announcements and information |
US20110093548A1 (en) * | 2008-04-07 | 2011-04-21 | Avaya Inc. | Conference-enhancing announcements and information |
EP2131551A1 (en) * | 2008-06-03 | 2009-12-09 | Hitachi Ltd. | Communication system |
US20090300189A1 (en) * | 2008-06-03 | 2009-12-03 | Yukiko Takeda | Communication system |
US8364827B2 (en) | 2008-06-03 | 2013-01-29 | Hitachi, Ltd. | Communication system |
WO2010012988A1 (en) * | 2008-07-28 | 2010-02-04 | Swift Connect Limited | Messaging system |
US20100070891A1 (en) * | 2008-09-18 | 2010-03-18 | Creekbaum William J | System and method for configuring an application via a visual map interface |
EP2350964A4 (en) * | 2008-09-30 | 2013-11-13 | Microsoft Corp | Role-independent context exchange |
US20100107205A1 (en) * | 2008-10-27 | 2010-04-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and systems for resuming, transferring or copying a multimedia session |
US8032589B2 (en) * | 2008-10-27 | 2011-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and systems for resuming, transferring or copying a multimedia session |
US20100122151A1 (en) * | 2008-11-10 | 2010-05-13 | Mendelson Neil S | System, method, and software application for enabling a user to view and interact with a visual map in an external application |
US9396455B2 (en) | 2008-11-10 | 2016-07-19 | Mindjet Llc | System, method, and software application for enabling a user to view and interact with a visual map in an external application |
US8924480B2 (en) * | 2008-12-02 | 2014-12-30 | At&T Intellectual Property I, L.P. | Method and apparatus for multimedia collaboration using a social network system |
US20130282826A1 (en) * | 2008-12-02 | 2013-10-24 | At&T Intellectual Property I, L.P. | Method and apparatus for multimedia collaboration using a social network system |
US20100138492A1 (en) * | 2008-12-02 | 2010-06-03 | Carlos Guzman | Method and apparatus for multimedia collaboration using a social network system |
US8468253B2 (en) * | 2008-12-02 | 2013-06-18 | At&T Intellectual Property I, L.P. | Method and apparatus for multimedia collaboration using a social network system |
US20100198648A1 (en) * | 2009-02-05 | 2010-08-05 | International Business Machines Corporation | Dynamic meeting group organizer |
US20100217806A1 (en) * | 2009-02-20 | 2010-08-26 | Gautam Khot | Email Based Remote Management of Network Connected Entities |
US20100222053A1 (en) * | 2009-02-27 | 2010-09-02 | Girisrinivasarao Athulurutirumala | Arrangement and methods for establishing a telecommunication connection based on a heuristic model |
CN102342077A (en) * | 2009-03-04 | 2012-02-01 | 阿尔卡特朗讯公司 | Method and system for the real time synthesis of interactions relating to a user |
WO2010103211A1 (en) * | 2009-03-04 | 2010-09-16 | Alcatel Lucent | Method and system for the real time synthesis of interactions relating to a user |
FR2942926A1 (en) * | 2009-03-04 | 2010-09-10 | Alcatel Lucent | METHOD AND SYSTEM FOR REAL TIME SYNTHESIS OF INTERACTIONS RELATING TO A USER |
US9325599B2 (en) | 2009-03-30 | 2016-04-26 | Shoretel, Inc. | Methods for providing a status to devices in a distributed system |
US8493892B1 (en) | 2009-03-30 | 2013-07-23 | Shoretel, Inc. | Resolving conflicts in distributed systems |
US8359354B1 (en) * | 2009-03-30 | 2013-01-22 | Shoretel, Inc. | Methods for providing a status to devices in a distributed system |
US8392267B1 (en) | 2009-06-30 | 2013-03-05 | Mindjet Llc | System, method, and software application for dynamically generating a link to an online procurement site within a software application |
US20200374489A1 (en) * | 2009-08-28 | 2020-11-26 | Apple Inc. | Method and apparatus for initiating and managing chat sessions |
CN112734459A (en) * | 2009-09-14 | 2021-04-30 | TiVo解决方案有限公司 | Multifunctional multimedia device |
US8301581B2 (en) | 2009-09-24 | 2012-10-30 | Avaya Inc. | Group compositing algorithms for presence |
US11595788B2 (en) | 2009-10-13 | 2023-02-28 | Cricket Media Services, Inc. | Dynamic collaboration in social networking environment |
EP2489177A1 (en) * | 2009-10-13 | 2012-08-22 | Epals, Inc. | Dynamic collaboration in social networking environment |
US20110119598A1 (en) * | 2009-10-13 | 2011-05-19 | Shawn Traylor | Dynamic collaboration in social networking environment |
EP2489177A4 (en) * | 2009-10-13 | 2013-03-27 | Epals Inc | Dynamic collaboration in social networking environment |
US20140235213A1 (en) * | 2011-06-15 | 2014-08-21 | Nickelback OU | Terminal based interactive voice response system with information prioritization |
US9736089B2 (en) * | 2011-11-02 | 2017-08-15 | Blackberry Limited | System and method for enabling voice and video communications using a messaging application |
US20130111365A1 (en) * | 2011-11-02 | 2013-05-02 | Research In Motion Limited | System and Method for Enabling Voice and Video Communications Using a Messaging Application |
US20130145293A1 (en) * | 2011-12-01 | 2013-06-06 | Avaya Inc. | Methods, apparatuses, and computer-readable media for providing availability metaphor(s) representing communications availability in an interactive map |
US10212073B2 (en) | 2011-12-21 | 2019-02-19 | Level 3 Communications, Llc | Central conferencing routing server |
US10848415B2 (en) | 2011-12-21 | 2020-11-24 | Level 3 Communications, Llc | Method for routing in a central conferencing routing server |
US9178918B2 (en) | 2011-12-21 | 2015-11-03 | Level 3 Communications, Llc | Method for routing in a central conferencing routing server |
US9635071B2 (en) | 2011-12-21 | 2017-04-25 | Level 3 Communications, Llc | Load balancing in a central conferencing routing server |
US10367727B2 (en) | 2011-12-21 | 2019-07-30 | Level 3 Communications, Llc | Method for routing in a central conferencing routing server |
US9516076B2 (en) | 2011-12-21 | 2016-12-06 | Level 3 Communications, Llc | Central conferencing routing server |
US10693773B2 (en) | 2011-12-21 | 2020-06-23 | Level 3 Communications, Llc | Method for routing in a central conferencing routing server |
US9692798B2 (en) | 2011-12-21 | 2017-06-27 | Level 3 Communications, Llc | Method for routing in a central conferencing routing server |
US9716860B2 (en) | 2011-12-21 | 2017-07-25 | Level 3 Communications, Llc | Collaboration conference linking in a telecommunications network |
US9386053B2 (en) | 2011-12-21 | 2016-07-05 | Level 3 Communications, Llc | Disaster recovery with a central conferencing routing server |
US9374400B2 (en) | 2011-12-21 | 2016-06-21 | Level 3 Communications, Llc | Load balancing in a central conferencing routing server |
US9013538B2 (en) | 2011-12-21 | 2015-04-21 | Level 3 Communications, Llc | IP-based conferencing in a telecommunications network |
WO2013096655A1 (en) * | 2011-12-21 | 2013-06-27 | Level 3 Communications, Llc | Ip-based conferencing in telecommunications network |
US9167010B2 (en) | 2011-12-21 | 2015-10-20 | Level 3 Communications, Llc | Central conferencing routing server |
US10708180B2 (en) | 2011-12-21 | 2020-07-07 | Level 3 Communications, Llc | Central conferencing routing server |
US9178919B2 (en) | 2011-12-21 | 2015-11-03 | Level 3 Communications, Llc | Disaster recovery with a central conferencing routing server |
US9930076B2 (en) | 2011-12-21 | 2018-03-27 | Level 3 Communications, Llc | Central conferencing routing server |
US10122771B2 (en) | 2011-12-21 | 2018-11-06 | Level 3 Communications, Llc | Routing of conference participant based on caller recognition |
US10805364B2 (en) | 2011-12-21 | 2020-10-13 | Level 3 Communications, Llc | Routing of conference participant based on caller recognition |
US10057161B2 (en) | 2011-12-21 | 2018-08-21 | Level 3 Communications, Llc | Method for routing in a central conferencing routing server |
US9167011B2 (en) | 2011-12-21 | 2015-10-20 | Level 3 Communications, Llc | Load balancing in a central conferencing routing server |
DE102012204767A1 (en) * | 2012-03-26 | 2013-09-26 | Siemens Aktiengesellschaft | Method for enabling communication between users of e.g. magnetic resonance image pick-up device and reporting physician workstation, involves adjusting medical examinations related test parameters by image pickup units |
WO2014076578A2 (en) * | 2012-11-12 | 2014-05-22 | Calgary Scientific Inc. | Framework to notify and invite users to join a collaborative session |
US20140143434A1 (en) * | 2012-11-12 | 2014-05-22 | Calgary Scientific Inc. | Framework to notify and invite users to join a collaborative session |
US10673909B2 (en) | 2012-11-12 | 2020-06-02 | Calgary Scientific Inc. | Framework to notify and invite users to join a collaborative session |
WO2014076578A3 (en) * | 2012-11-12 | 2014-09-12 | Calgary Scientific Inc. | Framework to notify and invite users to join a collaborative session |
US20140143295A1 (en) * | 2012-11-20 | 2014-05-22 | Charles Girsch | Framework for cross-platform collaboration of activities |
US8855285B1 (en) * | 2013-03-14 | 2014-10-07 | Speek Inc. | Systems and methods for conference calling using personal URL |
US9860377B1 (en) * | 2013-04-24 | 2018-01-02 | West Corporation | Applying user preferences, behavioral patterns and environmental factors to an automated customer support application |
US10528918B1 (en) | 2013-05-13 | 2020-01-07 | Google Llc | Communication distribution based on calendar information |
US20150135082A1 (en) * | 2013-11-08 | 2015-05-14 | Verizon Patent And Licensing Inc. | Method and apparatus for providing shared user interface view |
US9787759B2 (en) * | 2013-11-08 | 2017-10-10 | Verizon Patent And Licensing Inc. | Method and apparatus for providing shared user interface view |
CN104301127A (en) * | 2014-09-29 | 2015-01-21 | 大唐移动通信设备有限公司 | Conference control method and equipment |
US20160094597A1 (en) * | 2014-09-29 | 2016-03-31 | Brother Kogyo Kabushiki Kaisha | Storage Medium Storing Communication Program, Communication Terminal, and Communication Method |
US9959416B1 (en) | 2015-03-27 | 2018-05-01 | Google Llc | Systems and methods for joining online meetings |
US20160381092A1 (en) * | 2015-06-29 | 2016-12-29 | Linkedin Corporation | Ephemeral interaction system |
US10122774B2 (en) * | 2015-06-29 | 2018-11-06 | Microsoft Technology Licensing, Llc | Ephemeral interaction system |
US11816394B1 (en) | 2015-06-29 | 2023-11-14 | Amazon Technologies, Inc. | Joining users to communications via voice commands |
US11609740B1 (en) | 2015-06-29 | 2023-03-21 | Amazon Technologies, Inc. | Joining users to communications via voice commands |
US10235129B1 (en) * | 2015-06-29 | 2019-03-19 | Amazon Technologies, Inc. | Joining users to communications via voice commands |
US10963216B1 (en) | 2015-06-29 | 2021-03-30 | Amazon Technologies, Inc. | Joining users to communications via voice commands |
US20170004119A1 (en) * | 2015-06-30 | 2017-01-05 | Microsoft Technology Licensing, Llc. | State-specific commands in collaboration services |
US11010539B2 (en) * | 2015-06-30 | 2021-05-18 | Microsoft Technology Licensing, Llc | State-specific commands in collaboration services |
US10835818B2 (en) | 2015-07-24 | 2020-11-17 | Activision Publishing, Inc. | Systems and methods for customizing weapons and sharing customized weapons via social networks |
US10471348B2 (en) | 2015-07-24 | 2019-11-12 | Activision Publishing, Inc. | System and method for creating and sharing customized video game weapon configurations in multiplayer video games via one or more social networks |
US10965634B2 (en) * | 2015-10-27 | 2021-03-30 | International Business Machines Corporation | Electronic communication management |
US20170118080A1 (en) * | 2015-10-27 | 2017-04-27 | International Business Machines Corporation | Electronic communication management |
US20200059446A1 (en) * | 2015-10-27 | 2020-02-20 | International Business Machines Corporation | Electronic communication management |
US10476826B2 (en) * | 2015-10-27 | 2019-11-12 | International Business Machines Corporation | Electronic communication management |
US20180048751A1 (en) * | 2016-08-12 | 2018-02-15 | International Business Machines Corporation | Notification bot for topics of interest on voice communication devices |
US10506089B2 (en) * | 2016-08-12 | 2019-12-10 | International Business Machines Corporation | Notification bot for topics of interest on voice communication devices |
US20200045160A1 (en) * | 2016-08-12 | 2020-02-06 | International Business Machines Corporation | Notification bot for topics of interest on voice communication devices |
US11463573B2 (en) * | 2016-08-12 | 2022-10-04 | International Business Machines Corporation | Notification bot for topics of interest on voice communication devices |
US10952272B2 (en) | 2017-06-19 | 2021-03-16 | Global Tel*Link Corporation | Dual mode transmission in a controlled environment |
US10716160B2 (en) | 2017-06-19 | 2020-07-14 | Global Tel*Link Corporation | Dual mode transmission in a controlled environment |
US11937318B2 (en) | 2017-06-19 | 2024-03-19 | Global Tel*Link Corporation | Dual mode transmission in a controlled environment |
US10368386B2 (en) | 2017-06-19 | 2019-07-30 | Gloabl Tel*Link Corporation | Dual mode transmission in a controlled environment |
US11510266B2 (en) | 2017-06-19 | 2022-11-22 | Global Tel*Link Corporation | Dual mode transmission in a controlled environment |
US11411898B2 (en) * | 2017-07-06 | 2022-08-09 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
US10333870B2 (en) * | 2017-07-06 | 2019-06-25 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
US20190364000A1 (en) * | 2017-07-06 | 2019-11-28 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
US11374883B2 (en) * | 2017-07-06 | 2022-06-28 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
US20230023361A1 (en) * | 2017-07-06 | 2023-01-26 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
CN110266507A (en) * | 2019-05-28 | 2019-09-20 | 苏宁易购集团股份有限公司 | A kind of method for processing business and system based on virtual team |
WO2022125214A1 (en) * | 2020-12-11 | 2022-06-16 | Microsoft Technology Licensing, Llc | Server initiated communication session join after endpoint status check failure |
US12047461B2 (en) * | 2020-12-11 | 2024-07-23 | Microsoft Technology Licensing, Llc | Server initiated communication session join after endpoint status check failure |
US20230412695A1 (en) * | 2020-12-11 | 2023-12-21 | Microsoft Technology Licensing, Llc | Server initiated communication session join after endpoint status check failure |
LU102277B1 (en) * | 2020-12-11 | 2022-06-13 | Microsoft Technology Licensing Llc | Server initiated communication session join after endpoint status check failure |
EP4456516A2 (en) | 2020-12-11 | 2024-10-30 | Microsoft Technology Licensing, LLC | Server initiated communication session join after endpoint status check failure |
US11461067B2 (en) * | 2020-12-17 | 2022-10-04 | International Business Machines Corporation | Shared information fields with head mounted displays |
US20230251950A1 (en) * | 2021-09-17 | 2023-08-10 | Samsung Electronics Co., Ltd. | Methods and electronic devices for behavior detection using federated learning |
US12019533B2 (en) * | 2021-09-17 | 2024-06-25 | Samsung Electronics Co., Ltd. | Methods and electronic devices for behavior detection using Federated Learning preliminary class |
Also Published As
Publication number | Publication date |
---|---|
WO2002050723A3 (en) | 2002-10-03 |
WO2002050723A2 (en) | 2002-06-27 |
CA2358353C (en) | 2012-05-01 |
US20070192410A1 (en) | 2007-08-16 |
CA2358353A1 (en) | 2002-06-18 |
AU2002215738A1 (en) | 2002-07-01 |
US7472352B2 (en) | 2008-12-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7472352B2 (en) | Method and system for automatic handling of invitations to join communications sessions in a virtual team environment | |
US7516411B2 (en) | Graphical user interface for a virtual team environment | |
US7516410B2 (en) | Method and system for supporting communications within a virtual team environment | |
US7469384B2 (en) | Method and system for creating a virtual team environment | |
CA2358363C (en) | Method of team member profile selection within a virtual team environment | |
US20020075306A1 (en) | Method and system for initiating communications with dispersed team members from within a virtual team environment using personal identifiers | |
US9774638B2 (en) | Universal state-aware communications | |
US9565219B1 (en) | Methods and apparatus for automatically adding a media component to an established multimedia collaboration session | |
US6782412B2 (en) | Systems and methods for providing unified multimedia communication services |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: NORTEL NETWORKS LIMITED, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIVERSIDGE, DOUGLAS E.;BEATON, BRIAN F.;GROSSNER, CLIFFORD P.;AND OTHERS;REEL/FRAME:011370/0029;SIGNING DATES FROM 20001212 TO 20001215 Owner name: BELL CANADA, CANADA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LIVERSIDGE, DOUGLAS E.;BEATON, BRIAN F.;GROSSNER, CLIFFORD P.;AND OTHERS;REEL/FRAME:011370/0029;SIGNING DATES FROM 20001212 TO 20001215 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |