The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the invention, and together with the description serve to explain the principles of the invention.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the invention and illustrate the best mode of practicing the invention. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the invention and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
The present invention addresses the shortcomings of existing presence systems by taking into consideration whether a subscriber to presence information of a monitored person is engaged in a communication session with the monitored person. Basic presence information for the monitored person is provided to subscribers who are not engaged in a communication session with the monitored person. More detailed presence information for the monitored person is provided to subscribers who are engaged in a communication session with the monitored person. The more detailed presence information is referred to as session related presence information and is generally information about the monitored person or her environment and communication equipment that would be particularly beneficial to those subscribers who are actively engaged in a communication session with the monitored person.
With reference to
Assume the presence function 22 is capable of deriving state information from user terminal 26 directly, or indirectly through a service node 28 (as illustrated) or other entity to detect that user terminal 26 is engaged in an active communication session with the buddy terminals 18(A) and 18(B). The presence function 22 may have various additional state information from which presence information may be derived. For the present invention, the presence information provided to the buddy terminals 18(A-D) will vary depending on whether or not the buddy terminals 18(A-D) are engaged in an active communication session with the user terminal 26. As depicted, the presence function 22 creates basic presence information for user 1 and delivers the basic presence information to buddy terminals 18(C) and 18(D), which are subscriber entities 18 that are not engaged in an active communication session with the user terminal 26. In contrast, the presence function 22 will use the same state information associated with user 1 to create session related presence information for user 1 and deliver the session related presence information to buddy terminals 18(A) and 18(B), which are actively engaged in a communication session with the user terminal 26.
The service node 28 may provide different functions in different embodiments. For example, the service node 28 may be a proxy for the user terminal 26, provide call or session control for communication sessions between the user terminal 26 and the buddy terminals 18(A-D), or relay state information from the user terminal 26 as well as from the buddy terminals 18(A-D) to the presence function 22. Those skilled in the art will recognize that there are numerous techniques for allowing the presence function 22 to determine that the user terminal 26 is engaged in an active communication session with one or more buddy terminals 18(A-D). Such information may be provided from the user terminal 26 and buddy terminals 18(A) and 18(B) that are engaged in an active communication session. Alternatively, the service node 28 may be able to keep track of this information upon establishing and controlling the active communication session and provide such information to the presence function 22. In yet another embodiment, the user terminal 26 is able to forward state information toward the presence function 22, wherein the state information identifies the user terminal 26 as being engaged in an active communication session with the buddy terminals 18(A) and 18(B).
Although the concepts of the present invention are readily employed in a presence system where the presence function 22 is provided in a separate entity, such as the presence server 20, the concept of selectively delivering basic presence information to buddy terminals 18(C) and 18(D) that are not engaged in an active communication session with the user terminal 26 and providing session related presence information to buddy terminals 18(A) and 18(B) that are engaged in an active communication session may be employed in various entities, including the user terminal 26. As such, the user terminal 26 may monitor various inputs or surrounding conditions, which representing state information, and generate the appropriate presence information for various buddy terminals 18(A-D) depending on their participation in an active communication session with the user terminal 26.
Turning now to
The presence function 22 may also determine basic presence information based on state information and basic presence rules for subscribers who are not engaged in the active communication session (step 114). The basic presence information may then be delivered to the buddy terminals 18(C) and 18(D) of the subscribers who are not engaged in the active communication session (step 116).
If the user is not engaged in an active communication session (step 106), a presence function 22 will determine basic presence information based on the state information and basic presence rules for all subscribers who are not engaged in the active communication session with the user. As such, if none of the buddy terminals 18(A-D) were engaged in an active communication session with the user, the basic presence information would be sent to each of the buddy terminals 18(A-D) (steps 114 and 116). Again, the presence function 22 may be provided in a separate entity or in one of the monitored entities 14, such as the user terminal 26, or in any network entity providing other services to subscribers, such as the service node 28.
The difference between the basic presence information and the session related presence information may vary from application to application as well as on the monitored person's and subscribers' desires and needs. For subscribers who have privacy concerns, the session related presence information may indicate whether or not the monitored person is using a speaker phone, handset, or headset, or whether the user terminal 26 engaged in the active communication session is a wireline or wireless telephone. The session related presence information may indicate whether or not the user terminal 26 has a mute function activated as well as identify various participants in an active communication session. Both of these features are particularly useful in conference settings. Further, the presence information may provide various capabilities of the monitored person, the user terminal 26, which is engaged in the active communication session, or associated devices or applications that are available to the monitored person. For example, the session related presence information may alert subscribers engaged in an active communication session with a user that the user has access to certain business applications and alternate communication applications, such as e-mail, instant messaging, or video conferencing applications.
While the session related presence information generally provides information of greater detail or greater relevance for those subscribers engaged in an active communication session with the user, the basic presence information provided to subscribers who are not engaged in an active communication session with the user will generally provide much less detail. For example, the basic presence information may simply indicate whether a user is available for communications and identify the best way to communicate with the user based on the user's location or other state information. Those skilled in the art will recognize various types of information that may be provided in session related presence information and basic presence information. The present invention generates different presence information based on whether or not the subscriber to the presence information is actively engaged in a communication session with the monitored person.
In another embodiment of the present invention, initiation of communication sessions are controlled based on user defined conditions, which are defined by the user who is initiating the communication session. In essence, certain user defined conditions associated with the destination party, terminal, or environment must be met to allow a session to be established in response to a session initiation attempt. For example, if the destination terminal is a wireless device or answered in a speaker phone mode, a session initiation attempt to the destination terminal may be dropped before allowing the session to be established.
A flow diagram illustrating operation of this embodiment of the present invention is provided in
Upon receiving instructions from the originating user to initiate a session with a destination terminal, the user required conditions are provided in a session initiation message, such as a Session Initiation Protocol (SIP) invite message (step 202), and the session initiation message is sent toward the destination terminal (step 204). Upon receipt of the session initiation message, the destination terminal or a representative thereof will determine whether or not the user defined conditions are met and will provide a response message indicating whether or not the user defined conditions are met at the destination terminal. Upon receipt of the response message, bearing on the user defined conditions (step 206), a determination is made as to whether the user defined conditions are met (step 208). If the user defined conditions are not met, the session initiation attempt is ended (step 210). If the user defined conditions are met (step 208), session initiation is allowed to proceed to establish the communication session (step 212).
The above functionality may be provided in the user terminal 26 that is initiating the communication session with the destination terminal, in a service node 28, which may be acting as a proxy for the user terminal 26, or a session controller, which facilitates communications between the user terminal 26 and the destination terminal, such as one of the buddy terminals 18(A-D). Those skilled in the art will recognize a number of available user defined conditions that may be required by the originator of a communication session to enable a session initiation to proceed to establishment of a communication session.
With reference to
With reference to
With reference to
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present invention. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.