METHOD AND SYSTEM FOR TRUSTED CONTEXTUAL COMMUNICATIONS
A method, system and apparatus for allowing media context sensitive SIP signaling exchange and call establishment while denying or challenging any other session description protocol extension dialogs which might not be desired by a user. User client media policy preferences are defined, the user media policy preferences establishing the parameters for evaluating a media session request received by a user client. The user client media policy preferences are provided to a policy enforcement point device, the policy enforcement point device evaluating the media session request received by the user client and applying the user client media policy preferences to the media session request. A user client portal is utilized to gain access to a media policy database, the media policy database providing storage for user client media policy preferences.
Latest ROCKSTAR BIDCO, L.P. Patents:
- METHOD AND SYSTEM FOR AUTOMATED CALL TROUBLESHOOTING AND RESOLUTION
- METHOD AND SYSTEM FOR CONTROLLING ESTABLISHMENT OF COMMUNICATION CHANNELS IN A CONTACT CENTER
- MODULAR SCALABLE SWITCH ARCHITECTURE
- Layer-2 to MPLS service mediation architecture
- System and method for path failure recovery in a communications environment
This application is a continuation application of U.S. patent application Ser. No. 11/540,272, filed Sep. 29, 2006, entitled “METHOD AND SYSTEM FOR TRUSTED CONTEXTUAL COMMUNICATIONS”, the entirely of which is hereby incorporated by reference.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENTn/a.
FIELD OF THE INVENTIONThe present invention relates to communication networks, and more particularly to a method, system and apparatus that provides for contextual control of inter-human communication.
BACKGROUND OF THE INVENTIONThe traditional public switched telephone network (“PSTN”) operates on an anonymous calling paradigm. The only requirement is the knowledge and use of a phone number to establish a request (ring) for communications. This means that as long as a caller knows the telephone number of the receiver, that caller can ring the receiver in an attempt to establish audio communications with that receiver. There are many benefits to this model that are well attested by the success of the PSTN today. Next generation Internet Protocol (“IP”) based communications technologies, unlike the PSTN, are developed under an open system environment rooted in the Internet-centric paradigm. Accordingly, the Internet-centric paradigm is not anonymous, but instead demands identification and authorization of the caller. Session Initiation Protocol (“SIP”) allows for full session establishment and management but requires a degree of trust that is not typically available in the enterprise or provider network. SIP is a proposed standard that may be used to initiate, modify, and terminate an interactive user session that involves multimedia elements, such as voice (audio), video, instant messaging, online games and virtual reality. In particular, SIP provides a signaling and call setup protocol for IP-based communications that can support a superset of the call processing functions and features present in the PSTN. The SIP protocol by itself does not define these features, but instead, focuses on call setup and signaling. The SIP protocol does, however, enable the building of the PSTN features in network elements known as proxy servers and user agents.
A user agent is the client application used with a particular network protocol; the phrase is most commonly used in reference to those which access the World Wide Web (“WWW”). Web user agents range from web browsers to search engine crawlers, as well as mobile phones, screen readers and Braille browsers used by people with disabilities. When Internet users visit a web site, a text string is generally sent to identify the user agent to the server. This text string forms part of the hypertext transfer protocol (“HTTP”) request, prefixed with user-agent and typically includes information such as the application name, version, host operating system, and language. Internet bots, such as web crawlers, often also include a uniform resource locator (“URL”) and/or e-mail address so that the webmaster can contact the operator of the bot. A bot is a common phrase on the Internet for a software program that is a software agent. A bot interacts with other network services intended for people as if it were a person and typically it is used to gather information.
A proxy server is a computer that offers a computer network service to allow clients to make indirect network connections to other network services. A client connects to the proxy server, then requests a connection, file, or other resource available on a different server. The proxy server provides the resource either by connecting to the specified server or by serving it from its memory cache.
The SIP protocol acts in concert with several other protocols and is only involved in the signaling portion of a communication session. SIP acts as a carrier for the session description protocol (“SDP”), which describes the media content of the session, e.g. what IP ports to use, the codec being used, the specific media format, etc. In typical use, SIP “sessions” are packet streams of the Real-time Transport Protocol (“RTP”) where RTP is the carrier for the actual voice or video content itself.
As multimedia collaborative communications emerge as commonplace, a result of Internet-centric protocols and mobility technologies, it is desirable to have a system or mechanism that can provide the function of the anonymous calling capabilities available to the legacy PSTN circuit switched environment. In addition, there should be a method for filtering against contextual media types.
One approach to provide security and to establish inter-domain trust on a session-by-session basis is defined by the work of the Internet Engineering Task Force (“IETF”) on the use of Certificate Authorities. A Certificate Authority is an entity, which issues digital certificates for use by other parties, and is an example of a trusted third party. A Certificate Authority will issue a public key certificate that attests that the public key contained in the certificate belongs to the person, organization, server, or other entity noted in the certificate. A Certificate Authority's obligation in such schemes is to verify an applicant's credentials, so that users (e.g., relying parties) can trust the information in the Certificate Authority's certificates. This approach however requires many predefined logistics and systems that are complex to administer and may hinder the mobility and portability of calls; moreover, they are simply not available or practical in a typical anonymous model. There are also questions of scalability given the number of PSTN calls that occur daily on an anonymous basis.
What is desired is an arrangement under which trusted peer-to-peer SIP (or any similar multimedia protocol) communications can be provided against contextual media types for media session calls where users have complete control over the who, the where, the when and the how of the media session.
SUMMARY OF THE INVENTIONIt is to be understood that both the following summary and the detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. Neither the summary nor the description that follows is intended to define or limit the scope of the invention to the particular features mentioned in the summary or in the description.
This invention provides a method, system and apparatus for allowing media context sensitive SIP signaling exchange (such as voice) and call establishment while denying or challenging any other session description protocol (“SDP”) extension dialogs which might not be desired (such as instant messaging, video, Web broadcasting or pushing, data and/or application sharing and the like) by a user. The method and apparatus may further include defining user client media policy preferences, the user media policy preferences establishing the parameters for evaluating a media session request received by a user client, and providing the user client media policy preferences to a policy enforcement point device, the policy enforcement point device evaluating the media session request received by the user client and applying the user client media policy preferences to the media session request. The method and apparatus may further include utilizing a user client portal to gain access to a media policy database, the media policy database providing storage for user client media policy preferences.
In accordance with one aspect, the present invention provides method for providing trusted contextual communications, by defining user client media policy preferences, the user media policy preferences establishing the parameters for evaluating a media session request received by a user client, and providing the user client media policy preferences to a policy enforcement point device, the policy enforcement point device evaluating the media session request received by the user client and applying the user client media policy preferences to the media session request. The method may further include utilizing a user client portal to gain access to a media policy database, the media policy database providing storage for the user client media policy preferences. The method may further include validating the user client media policy preferences and storing the user client media policy preferences. The method may yet further include receiving an incoming media session request for the user client.
In accordance with another aspect, the present invention provides a system for providing trusted contextual communications in a communication network. The system for a providing trusted contextual communications in a communication network having a user client portal, the user client portal providing access to system media session policy preferences, a policy decision function module, the policy decision function module providing identity management and media session policy modification to the trusted contextual communications system, and a domain trust table, the domain trust table storing media session policy preferences. The apparatus may further include a policy enforcement point, the policy enforcement point device applying the media session policy preferences upon receipt of a media session request. The apparatus may further include a session initiation protocol proxy device, the session initiation protocol proxy device capable of establishing connections between a first user client and a second user client.
In accordance with yet another aspect, the present invention provides storage medium storing a computer program which when executed by a processing unit performs a method for providing trusted contextual communications on a communication network, the method comprising by defining user client media policy preferences, the user media policy preferences establishing the parameters for evaluating a media session request received by a user client, and providing the user client media policy preferences to a policy enforcement point device, the policy enforcement point device evaluating the media session request received by the user client and applying the user client media policy preferences to the media session request. The method may further include utilizing a user client portal to gain access to a media policy database, the media policy database providing storage for the user client media policy preferences. The method may further include validating the user client media policy preferences and storing the user client media policy preferences.
A more complete understanding of the present invention, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:
This invention provides a method, system and apparatus for allowing media context sensitive SIP signaling exchange (such as voice) and call establishment while denying or challenging any other session description protocol (“SDP”) extension dialogs which might not be desired (such as instant messaging, video, Web broadcasting or pushing, data and/or application sharing and the like) by a user. In other words, since inter-human communications are a rather personal matter, a user should decide or modify the permissible media and session types that a calling party is allowed to make to that user. Accordingly, this invention allows for the establishment of trusted peer-to-peer SIP communications by allowing only session and media establishment that has been specified as permissible by the user. Consequently, additional media session calls would require authorization either from the called party or from the session management systems to allow for the establishment of the additional media session calls.
Referring now to the drawing figures in which like reference designators refer to like elements, there is shown in
The user client portal 104 provides a user client 102 with the option to modify the allowable media and session types at the appropriate level. For example, the user client 102 may modify the policies at the domain, group or user specific levels conditioned upon allowance by a central administrative policy manager, also known as a service administrator. The modified policies may dictate, for example, that at the domain level, only voice media is permissible (which could be the domain level default); at the group level, voice, video and instant messaging media is permissible; while at the user level, in addition to all group level media being permissible, web push or forcing and data collaboration are also permissible. These modified user policies can be stored in a corresponding media policy database (“MPD”) that may be viewed as a specialized form of a security policy database (“SPD”), which stores the security policy of a network. In general, a security policy is a plan of action for tackling security issues, or a set of regulations for maintaining a certain level of security in a network. A security policy typically may be a high level document that states management commitment and intent in relation to information security. A security policy may contain a company or an entity's definition of information security and is supported by other policies (sub-policies), information security objectives, procedures and other documents (e.g., references made to these documents).
In a similar way, the MPD stores the media policies that are to be applied to the media and session types that are to be permissible to user clients and their corresponding session callers. These media policies are “pushed” or provided to the identification management (“IdM”) and policy PDF 106 for approval and validation, and storage in the central policy repository that may include a domain trust table. The terms “push”, “pushes”, “pushing” and “pushed” are used herein to broadly refer to a set of actions ranging from making data and information available to a module, user, client, entity, network, subnetwork, device, apparatus, system, subsystem or the like, to forcing or commanding that data or information be presented, used, followed, obeyed, accessed, and the like. For example, in webpage pushing, a caller may try to force a webpage to appear on a user client's communication device during a media session. Similarly, in IM pushing, a caller may try to force an IM window popup (appear) on a user client's communication device during a media session. Upon system validation and approval, the user level MPD modifications are “pushed” or provided to the PEP 108 (e.g., SDP firewall function).
In this embodiment, the PDF 106 comprises the lightweight directory access protocol (“LDAP”), and the IdM and policy features. The LDAP is a networking protocol for querying and modifying directory services running over transmission control protocol/internet protocol (“TCP/IP”). The PDF 106 provides the user level MPD policy modifications to the SDP firewall (PEP) 108. In addition, the PDF 106 provides the application and network level identification and authentication functions for the system 100.
A firewall is generally defined as a piece of hardware and/or software that functions in a networked environment to prevent some communications forbidden by a security policy. A firewall may sometimes be referred to as a border protection device (“BPD”) or packet filter and it has the basic task of controlling traffic between different zones of trust. These typical zones of trust include the Internet (which is a zone with no trust) and an internal network (which is a zone with high trust). The ultimate goal is to provide controlled connectivity between zones of differing trust levels through the enforcement of a security policy and connectivity model based on the least privilege principle. In this example, the user level MPD policy modifications are applied by the SDP firewall 108 on a call by call basis. This configuration of PDF 106 and SDP firewall (PEP) 108 may be referred to as a “provisioning model”. In this model, the SDP firewall (PEP) 108 reports its decision-making capabilities to the PDF 108. The PDF 108 then downloads relevant policies to the SDP firewall (PEP) 108, which in turn can make its own decisions of which media sessions may proceed based on these policies. Alternatively, an “outsourcing model” may be used where the policies are stored on the PDF 106 and whenever the SDP firewall (PEP) 108 needs to make a decision, it sends all relevant information to the PDF 106. The PDF 106 analyzes the information, makes a decision and relays it to the SDP firewall (PEP) 108. The SDP firewall (PEP) 108 can then simply enforce that decision.
Continuing to refer to
The trusted contextual communications of the present invention scales by analyzing the session request via the serving signaling proxy 110 or accelerated SDP firewall 108. In incidents where there is established trust within a domain, then an extended anonymous trust model outside of that domain will be available for specifically allowed session requests. It should be noted that the trusted contextual communications invention may be used in cooperation with external certificate authorities to enhance the end-to-end trust model.
The operation of an embodiment of the trusted contextual communications system is discussed with respect to the flowchart of
At step S116, an incoming call for the user client 302 arrives, and the identity trust processing is performed. If the identity trust is not verified, then the incoming call request is terminated at step S122. Otherwise, the SDP packet is interrogated at step S124 and the PDF 306 is consulted and the specific media preference for that specific caller is used. In the event the caller is unknown, a default media (e.g., audio only) may be used (step S128). Additional steps may include optimizing the performance of multiple calling instances form the same known sources by introducing the concept of caching and tokens. For example, after a first time call, the SDP firewall or proxy may provide a token to a caller, in order for the caller to use next time they wish to call the user client. This means that the next time a call is made from the same caller, the SDP firewall or proxy will see the token and automatically allow the call for the proper media type based on previous policy establishment.
The operation of an outgoing call from the trusted contextual communications system is discussed with respect to the flowchart of
At the receiving domain, the incoming request is in turn analyzed (step S214) and its authorized session broker PDF 320 will reference its local domain trust table to validate anonymous privileges (step S216). At step S218, if the authorized session broker PDF 320 does not find the anonymous privileges valid, the session broker PDF 320 refuses to allow the proxy 314 to forward the request on to its ultimate destination (step S220). Upon validation the session broker PDF 320 will in turn allow for the local proxy 318 to forward the session request to its ultimate destination thereby completing the anonymous ring paradigm (step S224).
Once a communications media session has been established there may be a requirement for additional media sessions. At this point, the called party (e.g., user client 312) will be prompted by the authorization broker PDF 320 that such a request has been received (step S224). The called party (e.g., user client 312) then has the ability to accept or deny the request by the session broker intermediary PDF 320, not the calling party (step S228). If the called party does not accept the prompt for the session broker PDF 320, the actual session request is not forwarded by the local proxy 318 (step S230). Otherwise the local proxy 318 forwards the actual session request and the media session is commenced (step S232). Afterwards, a check may be made to determine if any additional media sessions have been requested (step S226). If no additional media sessions have been requested the media session may be terminated at step S226.
Although the invention has been described in the various embodiments with respect to SIP/SDP communications, it is applicable to any similar multimedia protocols and communications during a media session.
The present invention can be realized in hardware, software, or a combination of hardware and software. An implementation of the method and system of the present invention can be realized in a centralized fashion in one computing system or in a distributed fashion where different elements are spread across several interconnected computing systems. Any kind of computing system, or other apparatus adapted for carrying out the methods described herein, is suited to perform the functions described herein.
A typical combination of hardware and software could be a specialized or general-purpose computer system having one or more processing elements and a computer program stored on a storage medium that, when loaded and executed, controls the computer system such that it carries out the methods described herein. The present invention can also be embedded in a computer program product, which comprises all the features enabling the implementation of the methods described herein, and which, when loaded in a computing system is able to carry out these methods. Storage medium refers to any volatile or non-volatile storage device.
Computer program or application in the present context means any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following a) conversion to another language, code or notation; b) reproduction in a different material form. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. Significantly, this invention can be embodied in other specific forms without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the invention.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described herein above. A variety of modifications and variations are possible in light of the above teachings without departing from the spirit or essential attributes thereof, and accordingly, reference should be had to the following claims, rather than to the foregoing specification, as indicating the scope of the of the invention.
It will be appreciated by persons skilled in the art that the present invention is not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope and spirit of the invention, which is limited only by the following claims.
Claims
1. A method for providing trusted contextual communications on a communication network, the method comprising:
- evaluating at least one request for a media session with a user client at a policy enforcement device based on a context of the media session request and at least one user client media policy preference for the user client;
- accepting the request for the media session when the request for the media session is compatible with the at least one client media policy preference; and
- rejecting the request for the media session when the request for the media session is not compatible with the at least one client media policy preference.
2. The method of claim 1, wherein the at least one media policy preference is associated with the context of the media session.
3. The method of claim 2, wherein the context of the request for the media session is a level of use, the level of use being one of a domain level, a group level and a user level.
4. The method of claim 1, wherein the request for the media session is an incoming request for a media session.
5. The method of claim 1, wherein the request for the media session is an outgoing request for a media session.
6. The method of claim 1, further comprising defining the at least one user client media policy preference by:
- accessing a media policy database; and
- storing the at least one user client media policy preference at the media policy database.
7. The method of claim 6, wherein accessing the media policy database comprises accessing the media policy database using a user client portal.
8. The method of claim 6, wherein defining the at least one user client media policy preference further comprises validating the at least one user client media policy preference.
9. The method of claim 8, wherein validating the at least one user client media policy preference comprises storing the at least one user client media policy preference in a domain trust table.
10. The method of claim 6, further comprising providing the at least one user client media policy preference to the policy enforcement device from the media policy database.
11. The method of claim 1, further comprising receiving the request for the media session.
12. The method of claim 11, further comprising applying identity trust processing to the request for the media session.
13. The method of claim 11, further comprising interrogating a session description protocol data packet of the request for the media session.
14. The method of claim 13, further comprising providing a token to a caller requesting the media session, the token enabling a media session connection.
15. The method of claim 1, wherein the policy enforcement device comprises a session description protocol firewall.
16. The method of claim 1, wherein accepting the request for the media session when the request for the media session is compatible with the at least one client media policy preference and rejecting the request for the media session when the request for the media session is not compatible with the at least one client media policy preference comprises signaling a session initiation protocol proxy device configured to establish connections between user clients.
17. The method of claim 16, wherein accepting the request for the media session when the request for the media session is compatible with the at least one client media policy preference and rejecting the request for the media session when the request for the media session is not compatible with the at least one client media policy preference further comprises establishing the requested media session at the session initiation protocol proxy device when the request for the media session is compatible with the at least one client media policy preference, and not establishing the media session at the session initiation protocol proxy device when the request for the media session is not compatible with the at least one client media policy preference.
18. The method of claim 1, wherein a media type allowable at a domain level is voice media only.
19. The method of claim 1, wherein a media type allowable at a group level includes more than one of voice, video and instant messaging.
20. The method of claim 1, wherein a media policy preference allows web pushing and data collaboration at a user level only.
Type: Application
Filed: Apr 23, 2012
Publication Date: Aug 30, 2012
Applicant: ROCKSTAR BIDCO, L.P. (New York, NY)
Inventors: Edwin KOEHLER, JR. (Ontario, NY), Cherif SLEIMAN (East Amherst, NY), Timothy MENDONCA (Oldsmar, FL)
Application Number: 13/452,983