Call notification with rich caller identification
56 claims: 3 independent, 53 dependent
- 1A method comprising:receiving (402) call event data at a server from an enterprise Private Branch Exchange, PBX, in response to a call to a telephone assigned to a user received from a caller via an enterprise voice channel by the PBX;the server generating (404) a call request responsive to receiving the call event data, the call request comprising caller data including caller data of databases of the enterprise, and a plurality of call response options for participating in the call;the server: i) routing (406) the call request via an enterprise data channel to a target device designated by the user;ii) instructing the PBX to transfer the call to the target device, when the user selects the option of accepting the call at the target device;and iii) cancelling the call request by sending a notification to the target device via the enterprise data channel responsive to determining that the call was answered at the telephone prior to receipt at the server of a user-selected call response option of accepting the call at the target device.
- 54A system comprising:an enterprise Private Branch Exchange, PBX;a server coupled to the enterprise PBX and at least one communication network;a telephone assigned to a user;and a target device designated by the user;wherein the server is configured to: receive call event data from the PBX in response to a call to the telephone of the user received from a caller via an enterprise voice channel by the PBX;generate a call request responsive to receiving the call event data, the call request comprising caller data, including caller data of databases of the enterprise, and a plurality of call response options for participating in the call;route the call request to the target device via an enterprise data channel;instruct the PBX to transfer the call to the target device, when the user selects the option of accepting the call at the target device;and cancel the call request by sending a notification to the target device via the enterprise data channel responsive to determining that the received call was answered at the telephone prior to receipt at the server of a user-selected call response option of accepting the call at the target device.
Independent claims3
94 paragraphs in 4 sections, as filed
TECHNICAL FIELD
0001The disclosure herein relates generally to communication systems and, in particular, to wireless communication systems.
BACKGROUND
0002Mobile communications in today's real-time enterprise can be challenging. The problem is further complicated by changes in the workplace which have led to a more geographically dispersed and highly mobile workforce. In spite of the popularity of electronic mail (email), large numbers of people and employees still depend upon numerous other types of communications to collaborate with colleagues and drive business success. This is especially true for those in sales, service, operations and management roles who rely upon timely access to and coordination with colleagues as well as other employees, customers, partners and suppliers. Thus, communications remain an essential means of conducting business and staying in contact.
0003As a result of communications being so critical to business today, many professionals and enterprise employees now handle very large numbers of communications each business day. These communications can include disparate types of communications like emails, voicemails, instant messaging to name a few. Managing these large numbers and disparate types of communications consumes large amounts of time during the typical business day. For the growing number of people who spend a significant part of their day away from their offices or in meetings or other events, managing this large number of communications is highly time-consuming, frustrating and inefficient. Consequently, there is a need for communication systems that provide efficient, timely, and proactive real-time management of multiple types of communications.
0004<patcit id="pcit0001" dnum="US2002075304"><text>US Patent Application Publication No. 2002/075304</text></patcit> discloses a collaboration services suite 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. <patcit id="pcit0002" dnum="US6404860B"><text>US Patent No. 6,404,860</text></patcit> discloses a call management system which provides an Internet call management service that permits a subscriber to receive information about incoming calls, and provides a personal message to the caller over a voice channel. The caller may be given a personal notification, as a spoken audio message that includes the callers's name, advising the caller that a personal message is forthcoming and requesting that the caller stand by to receive the personal message. The subscriber enters the personal message as text, which is transmitted over a data channel to the call management system. The call management system converts the text message into speech, and then "reads" the message as a spoken, audio message to the caller, using the voice channel over which the call was received by the call management system. <patcit id="pcit0003" dnum="US6724872B"><text>US Patent No. 6,724,872</text></patcit> discloses a method and system for delivering personalized messages to a calling party who calls a called party who is engaged in an Internet session over a telephone line not capable of receiving telephone calls without interrupting the Internet connection. The called party receives a notification on her computer screen of an incoming telephone call from a calling party. A drop box on the called party's computer temporarily interrupts the called party and identifies the calling party. The called party may answer the call, forward the call to a separate telephone number, place the call on hold, send the call to voice mail, or type, select or record a personalized message that is delivered to the calling party without interrupting the Internet session.
BRIEF DESCRIPTION OF THE DRAWINGS
0005<ul id="ul0001" list-style="none" compact="compact"><li><figref idref="f0001"><b>Figure 1</b></figref> is a block diagram of an active mobile collaboration (AMC) system, under an embodiment.</li><li><figref idref="f0002"><b>Figure 2</b></figref> is a block diagram of a communications system that includes an AMC system, under an alternative embodiment.</li><li><figref idref="f0003"><b>Figure 3</b></figref> is a block diagram of a communications system that includes an AMC system, under another alternative embodiment.</li><li><figref idref="f0004"><b>Figure 4</b></figref> is a flow diagram of call notification with rich caller ID, under an embodiment.</li><li><figref idref="f0005"><b>Figure 5</b></figref> is a flow diagram for call notification of the AMC system, under an embodiment.</li><li><figref idref="f0006"><b>Figure 6</b></figref> is a flow diagram for call notification of the AMC system, under an embodiment.</li><li><figref idref="f0007 f0008 f0009 f0010 f0011 f0012"><b>Figure 7</b></figref> is a call flow diagram for acceptance of a call at a client device, under an embodiment.</li><li><figref idref="f0013"><b>Figure 8</b></figref> is a call flow for acceptance of a call at an enterprise telephone, under an embodiment.</li><li><figref idref="f0014 f0015"><b>Figure 9</b></figref> is a call flow for forwarding or delaying a call, under an embodiment.</li><li><figref idref="f0016"><b>Figure 10</b></figref> is a block diagram of an AMC system, under an alternative embodiment.</li><li><figref idref="f0017"><b>Figure 11</b></figref> is a block diagram of an AMC system, under another alternative embodiment.</li><li><figref idref="f0018"><b>Figure 12</b></figref> is a block diagram of an AMC system, under yet another alternative embodiment.</li><li><figref idref="f0019"><b>Figure 13</b></figref> is a block diagram of an AMC system in an enterprise domain, under another alternative embodiment.</li><li><figref idref="f0020"><b>Figure 14</b></figref> is a block diagram of an AMC system in a public domain coupled across components of an enterprise domain, under another alternative embodiment.</li><li><figref idref="f0021"><b>Figure 15</b></figref> is a block diagram of an AMC system in an enterprise domain, under still another alternative embodiment.</li><li><figref idref="f0022"><b>Figure 16</b></figref> is a block diagram of an active mobile collaboration (AMC) system, under an embodiment.</li></ul>
DETAILED DESCRIPTION
0006The present invention is set-out in the appended claims. Communication systems and methods are described that include call notification with rich caller identification (ID). Components of the communication systems and methods (collectively referred to herein as "communication systems") are configured to receive a call for a user via an enterprise voice channel. A call request is automatically generated in response to event data of the received call. The call request includes caller data from enterprise databases or directories. The caller data provides identifying information of the caller to the user via the call request. The call request can include response options by which the user can participate in the call. The call request is routed to an active client device of the user via a data channel. The voice channel and/or the data channel as described herein is hosted by an enterprise, a service provider, and/or a mobile network operator.
0007The call request is sent to the client device over a data channel so that an enterprise voice port is not required to "ring" or notify the target device. This reduces voice port usage within the enterprise because the use of the data channel means that every desk call does not require an additional voice port; instead, only the small fraction of calls that are accepted or forwarded dynamically from the target device require the use of an additional voice port.
0008The client device in response to the call request displays a notification message (e.g., pop-up message, appropriate ring tone, etc.) alerting the user of the call request and displaying the caller identifying information. The client device also provides the user with multiple action or response options via the call request. The response options include for example accepting the call, delaying the call, forwarding the call, ignoring the call, and ignoring the caller as described in detail below.
0009In the following description, numerous specific details are introduced to provide a thorough understanding of, and enabling description for, embodiments of the communications systems. One skilled in the relevant art, however, will recognize that these embodiments can be practiced without one or more of the specific details, or with other components, systems, etc. In other instances, well-known structures or operations are not shown, or are not described in detail, to avoid obscuring aspects of the disclosed embodiments.
0010The communication systems described herein use loosely-coupled client-server architectures to improve the efficiency of multiple types of communications. The communication systems, referred to herein as the active mobile collaboration (AMC) system, include a client application and a facilitator application. The client application, also referred to as the client or AMC client, is a component application of a variety of processor-based mobile communication devices and telephones.
0011The facilitator application of an embodiment, also referred to as the facilitator or AMC facilitator, is an application hosted on one or more servers or other processor-based devices. The facilitator communicates with a portable or mobile communications device via one or more couplings and the client hosted on the communications device. The facilitator communicates with the AMC client of a host portable device via a network coupling for example. The facilitator of alternative embodiments can be distributed among one or more portable processor-based devices including the same communication devices as the client application.
0012The components of the AMC system function to improve efficiency of communications by allowing communication device users to increase accessibility of enterprise and personal contact information from mobile phones and other personal digital assistants (PDAs), dynamically manage how and when mobile communications take place, intelligently screen messages, regardless of message type, based on identity of a messaging party, urgency, and subject matter, and determine which contacts in a directory are available to talk and which ones choose not to be disturbed, to name a few.
0013<figref idref="f0001"><b>Figure 1</b></figref> is a block diagram of an active mobile collaboration (AMC) system 100, under an embodiment. The AMC system 100 includes any number X(n) of communication devices 101 coupled for communication via one or more facilitators 102 and one or more couplings 104. One or more of the communication devices 101 include an AMC client application. Likewise, the facilitator 102, also referred to herein as the AMC server 102, includes a facilitator application. The AMC client and facilitator function to allow users of the communication devices to dynamically manage how, when, and with whom mobile calls take place, intelligently screen calls based on caller identity, urgency, and subject matter, determine which contacts in a directory are available to talk and which ones choose not to be disturbed, and increase accessibility of enterprise and personal information (e.g., voicemail, contacts, calendars, etc.) from mobile phones. The AMC system 100 of an embodiment also includes couplings with one or more portals 106 and/or one or more databases 108, but is not so limited.
0014The communication devices 101 and facilitators 102 described herein are processor-based components running or hosting numerous applications or programs. As such, the communication devices 101 and facilitators 102 can include one or more processors (not shown) coupled among any number/combination of components (not shown) known in the art, for example buses, controllers, memory devices, and data input/output (I/O) devices, in any number of combinations.
0015The communication devices 101 described herein include processor-based electronic devices, for example, cellular telephones, personal computers, portable computing devices, portable telephones, portable communication devices, subscriber devices or units, PDAs, mobile devices, wireless devices, wireline devices, voice over Internet Protocol (VOIP) devices, private branch exchange (PBX) devices, soft clients, and desktop clients to name a few. The communication devices 101, also referred to as target devices, handsets, client devices, mobile devices, mobile communication devices, and portable communication devices, can include all such devices and equivalents, and are not limited to the communication devices described above.
0016As described above, the AMC clients are hosted on or run on communication devices 101 or handsets. The AMC client is an application that runs under control of processors on a variety of off-the-shelf mobile devices and telephones, for example, supporting open application environments such as the Symbian OS™, QUALCOMM's Binary Runtime Environment for Wireless (BREW™), as well as other application environments available from Palm, Microsoft, and Sun Microsystems, but is not so limited. Users or subscribers can download and deploy the AMC client over the air and/or over wired connections; further, the AMC client can be pre-loaded in the memory of the host device, or displayed as a thin client (e.g., browser or web client).
0017The couplings 104 include wired couplings, wireless couplings, and hybrid wired/wireless couplings, but are not so limited. Furthermore, the couplings 104 can include various networks and/or network components (not shown) of a communication service provider (also referred to herein as a carrier or mobile network operator), but are not so limited. The network and corresponding network components, when present in the couplings 104, can be any of a number of network types known in the art including, but not limited to, local area networks (LANs), metropolitan area networks (MANs), wide area networks (WANs), wireless LANS, cellular networks, proprietary networks, backend networks, and the Internet. The coupling may be via a number of protocols including but not limited to Hypertext Transport Protocol (HTTP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Session Initiation Protocol (SIP), and Wireless Application Protocol (WAP). Furthermore, the coupling may be via a number of messaging standards including but not limited to Multimedia Messaging Service (MMS), Short Message Service (SMS), and Enhanced Messaging Service (EMS).
0018<figref idref="f0002"><b>Figure 2</b></figref> is a block diagram of a communications system 200 that includes an AMC system, under an embodiment. The AMC system includes a facilitator 202 and a client 222 as described elsewhere herein. The facilitator 202 can be one or more facilitators that form a facilitator server cluster 204 and/or database cluster 206 within the enterprise 200E that are resident behind the enterprise firewall 200F, but the AMC system is not so limited. The host enterprise 200E also includes numerous other components, for example, corporate directories and servers 250, authentication servers 252, and enterprise management consoles 254 to name a few. The facilitator 202 is an integrated component of the host enterprise 200E and as such integrates with one or more components of the enterprise 200E. For example, couplings between the facilitator 202 and messaging and collaboration servers (e.g. Microsoft® Exchange) and/or corporate or other directories of the enterprise 200E allow easy, over-the-air download of personal and corporate contact information to devices, as well as searching of personal and corporate contact directories from the device. Other information of the enterprise 200E can also be delivered to the devices using the AMC system, information including but not limited to calendar information, calendar alerts, calendar reminders, etc.
0019The facilitator 202 couples to a client device or device of one or more users via one or more network couplings. The facilitator 202 couples to one or more devices using one or more service provider networks 200S, as an example. In this example configuration, the facilitator 202 couples to one or more service provider networks or infrastructures 200S via network couplings 230 (e.g. Internet), and then couples to devices 200M via the respective service provider networks 232. The AMC system protects data transfers between the facilitators 202 and the devices 200M using secure couplings, for example, protected with end-to-end security protocols like Secure Sockets Layer (SSL) or Transport Layer Security TLS cryptographic protocols.
0020The devices 200M of an embodiment include the AMC client 222. The AMC client 222, also referred to as the client 222, includes a graphical user interface 224 that integrates with the device applications and allows users to receive and scan enterprise information of the enterprise 200E. The enterprise information includes voicemail information (e.g., voicemail messages), contact information, directory information, calendar information, alerts that can include calendar reminders, conference notifications and call requests from colleagues, as described herein and in the Related Applications. Call requests include relevant details such as name, urgency, and subject matter to help users move business forward while screening out unwanted interruptions. The client 222 further provides a presence-aware phonebook that lets users find a contact and determine if the contact is available to talk, even before placing a call. The client 222 eliminates the need to manually enter contacts into the host device 200M. Instead, users download personal and/or corporate contact information over-the-air to their devices. The facilitator 202 and client 222 of the AMC system therefore provide automated, two-way synchronization to ensure contacts are backed up and up to date at the enterprise 200E.
0021An example of the AMC system of an embodiment is available as the Orative Enterprise Software from Orative Corporation of San Jose, California. The facilitator is available as the Orative Enterprise Server (e.g. runs on a standards-based, Java 2, Enterprise Edition (J2EE) platform that operates securely behind the enterprise firewall). The client is available as the Orative Client Software (e.g. runs on a variety of popular mobile devices, and leverages the latest application development environments including Symbian OS, Java and BREW to name a few).
0022Components of the AMC system generally include intra-domain and inter-domain routers. These routers serve to route messages between AMC clients and facilitators, between different facilitators, or a specific functional module within a facilitator. The routers operate in an incoming mode and an outgoing mode. In the incoming mode (caller is the client interface layer) the routers receive commands from AMC clients and route them to a functional module based on the message type. In the incoming mode therefore the router acts like a simple router; it examines the message type and routes it to the appropriate functional module of a facilitator.
0023In the outgoing mode (caller is a server functional module) the routers receive outgoing commands and route them to either an AMC device, to another facilitator within the domain, or to another domain. The router uses the target username/domain pair of the message to determine the target server where: if the target domain is the same as its facilitator's domain, the router looks up the home facilitator of the target in a (database) table and assigns this value as the destination facilitator; and if the target domain is different from its facilitator's domain, the router assigns the value "amc.<domain name>" as the name of the destination facilitator.
0024There is always a destination facilitator for a message, even if the session of the message's target user has expired. The message is always routed to the user's home facilitator. If the home facilitator has failed, the message is instead routed to the user's backup facilitator. The assumption is that foreign domains don't have a single point of failure and can always receive the message.
0025If the destination facilitator is the originating facilitator, this indicates the message needs to be routed to one or more destination clients. The set of active destination devices for this user is found in a database table map (key is username and active flag; value is a set of destination device unique identifiers). A device is uniquely identified by a device ID and DNS name/Internet Protocol (IP) address and port pair or phone number and carrier pair. The message is then placed in the user's queue and the rate controller per each active destination device is notified of the event.
0026In case of facilitator-to-facilitator routing, the message is placed in the facilitator's queue and the target facilitator's rate controller is signaled with the event. Facilitator-to-domain routing is identical to facilitator-to-facilitator routing.
0027Authentication ascertains the user identity for AMC client-facilitator and portal-facilitator communications and the server identity for facilitator-facilitator communication. User authentication of an embodiment is performed via an API of the facilitator, where the API supports many forms of authentication including basic username/password mechanisms to more complex challenge/response mechanisms, but the embodiment is not so limited.
0028While dynamically managing how and when mobile calls take place and intelligently screening calls based on numerous factors described above, the components of the AMC system also improve efficiency of voice communications by increasing accessibility of enterprise and personal contact information from mobile phones. Components of the AMC system of an embodiment support aggregation and management of contact information from various sources including, but not limited to, directories resident on desktop computers, corporate/enterprise directories, and contact information of the mobile device native phonebook, and provide data coupling between those sources and mobile devices hosting the AMC client, as described herein and in the Related Applications. This contact information is managed by providing the user with access via the mobile device to dynamically integrated contacts of a contact list and a number of phonebooks from multiple sources. The dynamic integration of multiple disparate directories provided by the AMC system of an embodiment allows a user to indicate the contacts he/she desires among all directories of a corresponding enterprise server, and then dynamically synchronizes all enterprise directories so as to place the desired information from the directories together into a common AMC phonebook. The integrated contact information available to the user is used in generating and routing call requests of the call notification described in detail below.
0029<figref idref="f0003">Figure 3</figref> is a block diagram of a communications system 300 that includes an AMC system, under an embodiment. The communications system 300 includes enterprise components, with which the AMC system is integrated, coupled to client devices via a communication or network infrastructure. The enterprise components include, but are not limited to, one or more of a corporate directory, Personal Information Manager (PIM) server, presence server, Private Branch Exchange (PBX) server, management console, and voicemail system (e.g., voicemail servers), to name a few.
0030The AMC system includes a facilitator as described herein. The facilitator includes an adapter or adapter framework by which the facilitator simultaneously integrates with components of the enterprise and enterprise servers. The facilitator uses an adapter for each enterprise component to which it integrates. The adapter of an embodiment is a protocol-specific adapter for each enterprise component to which it integrates; alternatively, the adapter includes vendor-specific adapters. The facilitator integrates with multiple components simultaneously. The AMC adapters convert the data from the enterprise components (e.g. external) into a common data structure.
0031The facilitator includes one or more applications that support multiple functions provided by the AMC system. The AMC system functions include integrated access to enterprise voicemail as described here and, additionally, text messaging, pre-call management, appointments and contacts, notifications, availability (presence), voicemail, and PBX remote control as described herein and in the Related Applications.
0032The facilitator couples to a client device of one or more users via one or more network couplings or infrastructures. As an example, the facilitator couples to a mobile network using a coupling with another communications network (e.g. Internet). The mobile network or mobile infrastructure, which includes one or more service provider networks associated with respective ones of the client devices, provides a coupling to individual client devices.
0033Communications between the facilitator and the client device are controlled by the facilitator using one or more components and applications. The functions provided by the facilitator in controlling communications include one or more of rate control, synchronization (sync), call signaling, data transfer, over the air (OTA) provisioning, and device management to name a few. Optionally, the communications path between the facilitator and the communications network includes an AMC proxy server.
0034A protocol used between the client and the facilitator can be different from protocols used between other components of the AMC system and/or enterprise. More particularly, the protocol used between the client and the facilitator may not be the same as the protocol used between facilitator and PBX server. For example, the client to facilitator protocol may include session initiation protocol (SIP) or sync messages, while the facilitator to PBX protocol may include SIP, HTTP, or web services in which the facilitator acts as gateway.
0035The AMC system of an embodiment includes an Active Call Request (call request) that generally allows a caller to politely ask a receiver if the receiver can take or is ready to take a phone call, and provides discreet response options by which the receiver can provide timely feedback to the caller. Callers have the satisfaction of knowing the receiver acknowledged their call request and will make time to talk. When a call request is initiated in the AMC system, the facilitator for example monitors the call request. When the call request is delivered successfully, the facilitator sends the caller a delivery confirmation. If the user to whom the call request is addressed is not reachable (e.g., off the mobile network) the facilitator queues the request and, if applicable based on type and expiration, delivers it as soon as possible. The Active Call Request further provides discreet response options by which the recipient can provide timely feedback to the caller or originator of a communication relating to the call request.
0036The AMC system of an embodiment uses the call request described above and in the Related Applications in providing call notification with rich caller ID. As an example, <figref idref="f0004"><b>Figure 4</b></figref> is a flow diagram of call notification with rich caller ID 400, under an embodiment. Call event data is received 402 in response to a call received from a caller via a voice channel of an enterprise. The call is an attempt by the caller to reach an AMC user or subscriber. A call request is automatically generated 404 in response to event data of the received call. The call request includes caller data from enterprise databases or directories. The caller data provides identifying information of the caller to the user via the call request. The call request can include response options by which the user can participate in the call. The call request is routed 406 to a target device of the user via a data channel of the host enterprise. The target device provides the user with multiple action or response options via the call request. The response options include for example accepting the call, delaying the call, forwarding the call, ignoring the call, and ignoring the caller as described in detail below. Consequently, the call notification described herein overcomes limitations inherent in conventional enterprise telephone systems.
0037Conventional telephone systems (e.g., PBXs) include call forwarding and simultaneous ring features that enable users to know about their enterprise calls while they are away from their desk. Call forwarding enables a user to forward calls from his/her desk telephone to another telephone of their choice. The simultaneous ring feature rings two or more telephones in parallel, and the user may pick up any of these telephones to answer the call. These features are primarily used by mobile professionals to notify them via their cellular telephones of their desk calls while they are out of the office.
0038The conventional call forwarding and simultaneous ring features are limited however in providing complete communication solutions to mobile professionals. For example, a forwarded call or simultaneously ringing call can be answered by a person other than the user. Therefore, a call forwarded or simultaneously ringing a user's desk telephone and home telephone can be answered by another person (e.g., spouse, child, co-worker, visitor, roommate, friend, etc.), requiring the answering person to take a message or otherwise convey the call to the intended recipient.
0039As another example, a forwarded or simultaneously ringing call in conventional telephony can be answered by an external entity. A call forwarded to the user's home telephone or cellular telephone, or simultaneously ringing the desk and home or cellular telephones, may be answered first by either the home or cellular telephone's answering machine or voicemail service. This results in voicemails being stored in multiple different locations (e.g., enterprise voicemail, home voicemail, cellular telephone voicemail, etc.) making it difficult for the user to quickly and easily know about and/or retrieve voicemail at all possible locations.
0040As yet another example, caller ID at the conventional device receiving a call is based on the phonebook or contact information available to that target or receiving device. Therefore, if a call is forwarded or simultaneously rings a client device, the client device attempts to map the telephone number to a name based on the phonebook of the client device. Due to memory and other restrictions, the phonebook of a mobile or remote device is generally relatively smaller than the telephone number directories available within an enterprise (e.g., corporate directories, directory servers, electronic mail servers, customer relationship management (CRM) systems, human resource systems, financial systems, personal Exchange/Outlook contacts, etc.). Therefore, the chance of missing caller ID information is significant in conventional systems.
0041Additionally, simultaneous ring requires the use of two or more voice ports (depending on the number of lines to ring simultaneously). As the number of voice ports used reaches the maximum capacity for a host enterprise, other calls may be blocked, and may require costly upgrades to the enterprise to support additional voice ports.
0042The AMC system of an embodiment provides call notification to overcome deficiencies with call forwarding and simultaneous ringing. <figref idref="f0005"><b>Figure 5</b></figref> is a flow diagram for call notification 500 of the AMC system, under an embodiment. Under call notification, the AMC user logs into the AMC system using his/her active client device. The facilitator then registers with the enterprise telephone system, the enterprise PBX for example, requesting the facilitator to send call events for the user's enterprise telephone line to the user's client device.
0043In call notification operations of an embodiment, when a caller places a call to the user's desk telephone, the PBX rings <b>1</b> the user's desk telephone and simultaneously sends a call event 2 to the facilitator. The desk telephone of the user can be, for example, a telephone coupled to an enterprise telephone system, or a telephone coupled to a central exchange (centrex) that provides telephone services to the enterprise. The facilitator transforms the call event information into an AMC call request by constructing a rich caller ID as described herein. The facilitator transfers or sends 3 the call request including the rich caller ID to the user's active client device. The AMC client hosted on the client device receives the call request and in response controls display of information of the call request (e.g., pop-up message, ring tone, etc.) alerting the user of the call request and displays the rich caller ID information. The call request includes information of numerous and varied response options available to the user for dealing with the incoming call. The response options of an embodiment can be presented and/or selected via numerous interfaces (e.g., cursor selection, drop-down menu, pop-up windows, text input, audio input, etc.). When for example the user selects the option of accepting or taking the call at his/her client device, the facilitator controls or instructs the PBX receiving the call to extend or transfer 5 the call to the user's client device. Upon completion of the call between the AMC user and the caller, the client and server synchronize call logs, blacklists and other state information.
0044The facilitator transfers or sends the call request to the client device over a data channel so that an enterprise voice port is not required to ring the mobile telephone. This reduces voice port usage within the enterprise because the use of the data channel means that every incoming desk call does not require an additional voice port; instead, only a small fraction of calls that are accepted or re-directed dynamically to a number external to the enterprise from the client device require the use of an additional voice port.
0045Because the call notification of an embodiment does not actually utilize the cellular voice channel of the client device initially, the call notification reduces or eliminates the chances of an accidental transfer of the call to the carrier's voicemail. Unlike static forwarding rules, the user can dynamically forward calls as appropriate, so there is less chance of someone else picking up the call.
0046Call requests and responses can be exchanged between the facilitator and the client device using a number of protocols, including data synchronization and session initiation protocol (SIP); different types of call requests may be exchanged using different protocols. <figref idref="f0005"><b>Figure 5</b></figref> is a flow diagram for call notification 500 of the AMC system, using the synchronization embodiment for call requests and responses. <figref idref="f0006"><b>Figure 6</b></figref> is a flow diagram for call notification 600 of the AMC system, using the SIP embodiment for call requests and responses, under an embodiment. The facilitator provides call notifications including the SIP message as described above with reference to <figref idref="f0005">Figure 5</figref>. Furthermore, the AMC user can respond to the SIP message as described above with reference to <figref idref="f0005">Figure 5</figref>.
0047The AMC system of an embodiment provides the user with multiple action or response options at the client device. The action options include but are not limited to accepting the call, re-directing the call to another phone number, delaying or postponing the call, ignoring the call, and blacklisting the caller. Each of the action options are described below.
0048When receiving at his/her client device a call request corresponding to an incoming call, a user can "accept" the call, which indicates that the user wants the call extended or transferred to the client device. Generally, when the user selects via the client device this response option, the facilitator instructs or controls the PBX to extend or transfer the call as described above. Although the signaling was done over the data channel, the media for the call can be extended over either a cellular voice channel or a IP-based data channel (e.g., RTP stream), based on the device capabilities, current network access, and/or QoS needs.
0049When the user accepts the call, the call is transferred to the active client device. The user then participates in the transferred call using the active client device. <figref idref="f0007 f0008 f0009 f0010 f0011 f0012"><b>Figure 7</b></figref> is a call flow 700 for acceptance of a call at a client device under the SIP protocol, under an embodiment. This call flow 700 is presented as an example call flow 700 and does not limit the call acceptance described herein to only this call flow 700. In response to receipt of a call, the PBX sends a call event (e.g., 1.0 call "ring" event) to the facilitator. The facilitator generates and sends an invitation message to the client (e.g., 1.1 INVITE) hosted on the client device, and a response (e.g., 1.2 RINGING) is returned to the facilitator from the client. The client device plays an audio ringtone on the device, to simulate the ring of an incoming call. In parallel, the facilitator searches enterprise directories using the telephone number of the caller (e.g., 1.3 search for phone number) and, if the caller is found in the directories, the directories return detailed information of a matching contact (e.g., 1.4 returning matching contacts, if any). The facilitator sends a call notification to the client (e.g., 1.5 UPDATE) with the rich caller ID and response options, and a response (e.g., 1.6 OK) is returned to the facilitator from the client. The UPDATE is an optimization and this information can be included in the original INVITE message. The client waits for a user response at the client device (e.g., 1.7 wait for user response). In response to a user selection of a response option, the client sends a message (e.g., 1.8 OK) to the facilitator with information of the user selection. The client then waits for the call to be extended to the device phone number, and, while waiting for this incoming call, displays a call notification prompt at the client device (e.g., 1.9 invoke "waiting to transfer call" audio and visual).
0050If the incoming call is answered at the enterprise desk telephone belonging to the user or sent to enterprise voicemail prior to receipt at the facilitator of a user-selected 'acceptance' response option (e.g., 1.8 OK), the facilitator notifies the client of this condition (e.g., 1.10). The client in turn discontinues the audio and visual indicators of the call notification at the client device (e.g., 1.11 stop audio/visual), and synchronizes call logs (e.g., 1.22 initiate SYNC for AC_REQ), which indicates that the call was picked up at the desk phone or diverted to the corporate voicemail system.
0051If the acceptance response is received by the facilitator prior to the incoming call being answered at the enterprise desk telephone belonging to the user or sent to enterprise voicemail, the facilitator instructs the PBX to extend or transfer the call to the client device phone number (e.g., 1.12 "transfer" call (if ACK sent)). The PBX sets up a call leg with the client device via a voice channel (e.g., 1.13 call leg setup (if ACK sent)) (e.g., cellular voice channel), but not so limited. When the call is extended to the client device, the device platform API generates a call event (e.g., 1.14 call event) that is received by the client application. In response to this call event, the client automatically answers the call and stops the appropriate audio/visual transfer indication (e.g., 1.15 auto-answer call; stop "transfer" audio/visual).
0052To convey to the facilitator that the call was indeed answered by the mobile device, and not sent to the corresponding mobile network operator voicemail, the client device generates and sends a dual-tone multi-frequency (DTMF) signal to the PBX (e.g., 1.16 generate in-band DTMF). The client device sends a DTMF signal to the PBX (e.g., 1.17 send "1" as DTMF) and the PBX in turn relays the DTMF to the facilitator (e.g., 1.18 relay DTMF). The facilitator instructs the PBX to connect the call legs (e.g., 1.19 join incoming call leg) upon receipt of the DTMF.
0053Upon completion of the transferred voice call, the client device sends a message to the facilitator (e.g., 1.20 BYE (after voice call finished)), and the facilitator acknowledges (e.g., 1.21 OK (for BYE)). The facilitator then initiates synchronization of call logs and other state information (e.g., 1.22 initiate SYNC for AC_REQ).
0054If the facilitator does not receive the DTMF signal within a specific time, it instructs the PBX to drop the call leg to the mobile line and to send the original call to the corporate voicemail system.
0055In an alternative embodiment, the facilitator can instruct the PBX to extend the call to the mobile line immediately after the response (e.g., 1.6 OK) is returned to the facilitator from the client. In this embodiment, the facilitator can instruct the PBX to drop this call leg extension if the user does not affirmatively respond under with selection of a response option (e.g., 1.8 OK) or if the call is picked up at the desk phone or sent to corporate voicemail.
0056When receiving at his/her client device a call request corresponding to an incoming call, a user located at his/her desk can alternatively answer the incoming call at his/her enterprise telephone instead of responding to the call request on the client device. <figref idref="f0013">Figure 8</figref> is a call flow 800 for acceptance of a call at an enterprise telephone, under an embodiment. This call flow 800 is presented as an example call flow 800 and does not limit the call notification described herein to only this call flow 800. In response to receipt of a call, the PBX sends a call event (e.g., 1.0 call "ring" event) to the facilitator. The facilitator generates and sends an invitation message to the client (e.g., 1.1 INVITE) hosted on the client device, and a response (e.g., 1.2 RINGING) is returned to the facilitator from the client. The facilitator sends a call notification to the client (e.g., 1.3 UPDATE) with the rich caller ID and response options, and a response (e.g., 1.4 OK (for UPDATE)) is returned to the facilitator from the client.
0057In response to the user taking the incoming call at his/her enterprise telephone, the PBX sends an event message to the facilitator indicating acceptance of the call at the enterprise telephone (e.g., 1.5 call "accept" event). The facilitator notifies the client by canceling the call notification (e.g., 1.6 CANCEL), and a response (e.g., 1.7 Response) is returned to the facilitator from the client. The facilitator sends an acknowledgement message to the client device (e.g., 1.8 for 487 response). The facilitator then initiates synchronization of call logs and other state information (e.g., 1.9 initiate SYNC for AC_REQ).
0058When the user selects at the client device the option to re-direct or forward the call, the AMC system of an embodiment enables the user to select dynamic forwarding of the call to a device corresponding to another telephone number. The selection of dynamic re-directing by the user can include use of a forwarding number selected from a list of predefined user-specified forwarding numbers (e.g., hotel number, home number, another mobile phone number, etc.). Additionally, the dynamic forwarding includes the use of any number entered by the user, for example, via the client device. The facilitator, in response to receiving a selected or inputted number from the client, re-directs the call to the device corresponding to the selected forwarding telephone number.
0059When the user selects at the client device the option to delay the call, the caller is verbally notified by the facilitator that the user is busy and that the user will call back at a later time; the later time for call back can be specified by the facilitator. The caller may or may not be permitted to leave a voicemail message, depending on the user's settings. When a callback time is specified by the facilitator, the facilitator forwards a postponement reminder to the user at the appropriate time; the postponement reminder reminds the user to call back the original caller. When allowing the user to select times for participating in a delayed call, as an additional feature, the facilitator may only show future times for which both parties are free, if possible, based on the (shared) calendars in the AMC system.
0060<figref idref="f0014 f0015"><b>Figure 9</b></figref> is a call flow 900 for re-directing and postponing a call, under an embodiment. This call flow 900 is presented as an example call flow 900 and does not limit the call transfer or delay described herein to only this call flow 900. In response to receipt of a call, the PBX sends a call event (e.g., 1.0 call "ring" event) to the facilitator. The facilitator generates and sends an invitation message to the client (e.g., 1.1 INVITE) hosted on the client device, and a response (e.g., 1.2 RINGING) is returned to the facilitator from the client. The facilitator sends a call notification to the client (e.g., 1.3 UPDATE) with the rich caller ID and response options, and a response (e.g., 1.4 OK (for UPDATE)) is returned to the facilitator from the client.
0061In response to a user selection of a response option, the client sends a message (e.g., 1.5 Transfer (in case of re-directing) or Postpone) to the facilitator with information of the user selection. The facilitator sends an acknowledgement message to the client device (e.g., 1.6 ACK (for postpone or transfer response).
0062When the user response is to re-direct the incoming call to a third-party telephone number, the facilitator instructs the PBX to transfer the call (e.g., 1.7 call transfer (if transfer)). The PBX then transfers the call to a third-party telephone (e.g., 1.8 call transfer).
0063When the user response is to postpone the incoming call until a later time, the facilitator plays audio prompts to the caller via the PBX (e.g., 1.9 play prompts to caller; hang up (if postponement)). The prompts include verbal notification that the user will call back at a future time, or verbal notification of future time(s) when the caller may attempt to call the user. The facilitator then initiates synchronization of call logs and other state information (e.g., 1.10 initiate SYNC for AC_REQ). The call log would indicate the postponement time, so the client can pop up a reminder at the appropriate time.
0064A user deciding to ignore an incoming call can do nothing in response to the call request corresponding to the incoming call. If the user does nothing within a pre-specified time period, the call is routed to the enterprise voicemail. The time period for responding to a call request is programmable and can be selected by the user or administrator.
0065When deciding to blacklist a caller associated with an incoming call, and depending on the user's settings under the AMC system, the incoming call is immediately forwarded to the enterprise voicemail or never answered. Furthermore, future calls from this caller do not ring the user's enterprise desk telephone or result in generation of a call request. The user may view his/her ignore list or blacklist and remove items from the list using either of the client device and/or the user portal of the AMC system.
0066If the caller terminates the call before the call is accepted or re-directed by the user, the facilitator of an embodiment initiates a return call to the original caller in order to connect the original caller with the AMC user. Under a scenario in which the AMC user decides to delay the call, and the caller terminates the call before the call is delayed by the user, the facilitator calls the original caller and plays a computer-generated audio message indicating a call back time for the caller to consider in reattempting contact with the AMC user. If the callback time is not acceptable to the caller, the facilitator of an embodiment provides the caller with a list of times at which the AMC user should be available to take the call, thereby enabling the caller to choose an acceptable alternative call time; the facilitator also sets the user's postponement reminder to expire at this alternative time.
0067The facilitator of an embodiment constructs or generates a rich caller ID in response to or upon receipt of a call event, as described above. The rich caller ID includes information, messages, and/or other communications (referred to herein as caller data) that identify the caller to the AMC user and provide additional context to help the user in deciding if and/or when to participate in the call. The rich caller ID is generated by mapping the telephone number of the caller (e.g., received as caller ID with the incoming call) to a contact within the directories of the host enterprise. The directories of the host enterprise used by the facilitator in generating the rich caller ID include internal and/or external directories of the enterprise comprising one or more of corporate directories, directory servers, electronic mail servers, CRM systems (e.g., sales lead telephone numbers), telephone systems, human resource systems, financial systems, personal contacts of the user in personal or enterprise directories, and white pages to name a few. As an example, the caller data includes one or more of a name, address, telephone number, electronic mail address, employer, and job of the caller, but the embodiment is not so limited.
0068In addition to the information automatically received or gathered from the host enterprise, the facilitator can add additional caller data to the rich caller ID. Examples of additional caller data or information added by the facilitator generally include but are not limited to ice breaker information and sales information, for example. Ice breakers include information available in the user's personal contacts that one might find useful in initiating a conversation. As an example, ice breakers can include personal information of the caller (e.g., family, spouse, relative, children, siblings, birthday, anniversary, etc.). Sales information includes status information about one or more previous interactions with the caller or events involving the caller (e.g., a message indicating a status of work promised to the caller, etc.).
0069Call screening is an extension of the call notification of an embodiment. The call screening is an extension for which the call notification includes additional information beyond that of the rich caller ID described above. The additional information of an embodiment is supplied by the caller but is not so limited. In one configuration, the additional information is generated by the caller using an input/output device of his/her calling device (e.g., telephone keypad, microphone, touchscreen display, etc.) to input a message that is included in the rich caller ID. In another configuration, the caller selects from a menu (e.g., an interactive voice response (IVR) menu) a short subject to best describe the call context. In yet another configuration the caller records a short audio subject that is included in the call notification, and the AMC user can play the audio message before taking an action. In another alternative or additional configuration, and as a component of the call notification, the facilitator streams a voicemail recording to the AMC user, as it is being recorded; the AMC user may take an action pertaining to the call notification based on this streamed audio.
0070When a user participates in a call using a client device that includes the AMC client, the client automatically answers the transferred call as described above, so the user is not required to "answer" the call twice. However, occasionally, the transferred call may not ring the client device but instead goes directly to the client device voicemail. To ensure the transferred call is answered by client device and not directed to the voicemail of the client device service provider, the facilitator is configured to expect receipt of a DTMF signal or sequence (e.g., "1" tone) from the AMC client when the client auto-answers the call. If the DTMF signal is not sent by the client and/or received by the facilitator within a certain period (e.g., ten (10) seconds) after the call is answered by the client, the facilitator assumes the call went to voicemail of the client device and disconnects the transferred call. Simultaneous with or following disconnection of the transferred call to the client device, the facilitator routes the transferred call to the enterprise voicemail.
0071Additionally, the AMC client is configured to prevent the client from auto-answering an intervening call that is not the transferred call when the user has selected the option to accept the incoming call. An intervening call as referred to herein is a call that arrives at the client device during a period that begins when a call request is answered by the user (via selection of a response option of the call request) and ends when the transferred call is transferred to the client device. After the user accepts via the call request response options an incoming call, there is a short period before the client device actually rings and the voice channel can be established. Because the AMC client automatically answers the call to enable a better user experience, it is possible for another call to arrive and automatically answered during this intervening period. The AMC client of an embodiment is configured to differentiate between an intervening call and an accepted call by automatically declining the intervening call while waiting for the accepted call.
0072To ensure the client auto-answers the correct call (transferred call), the client of an embodiment determines if the incoming caller automatic number identification (ANI) matches that of the enterprise PBX expected to extend or transfer calls to the client device. When the client determines that a match exists between the PBX expected to transfer the call and the ANI of the incoming call, the client auto-answers the call.
0073The ANI of the calling PBX may not, however, be constant within a large organization depending on which PBX generated the outgoing call (e.g., depending on dial plan rules and organization PBX deployments). Therefore, in an alternative embodiment, the client automatically answers the first incoming call following acceptance of a call, and expects a DTMF signal or sequence as a handshake signal from the facilitator. The client auto-answers the incoming call upon receipt of an expected DTMF signal. If the client does not receive or detect the expected DTMF signal within a pre-specified period, the client terminates the call and auto-answers the next incoming call.
0074The call notification of an embodiment includes profile-based call requests as described herein. In addition to ignore lists or blacklists, the facilitator can use availability and presence information corresponding to the user to determine whether to generate a call notification request and to ring the user's enterprise desk telephone. For example, if the availability and presence information indicates the user is "not available for voice calls", the call request is not generated but, instead, the call is immediately routed to voicemail. A caller priority list may override this profile-based decision for a select number of callers designated as high-priority callers by the user.
0075The facilitator of an embodiment includes or couples to an automatic call distributor (ACD) to route calls to numerous and/or different people based on one or more algorithms. This mobile ACD of an embodiment distributes the call notification to one or more AMC users according to a routing algorithm. Therefore, while call notification maps a single telephone line to a single user, mobile ACD dynamically maps a single telephone line to one or more users and routes the call notification to one user for each call. The mobile ACD can include a provision that routes the call sequentially from the "best" user (e.g., based on rule-based routing described below), to the second best user, then to the Nth best user, until a person accepts the call notification. The mobile ACD allows for user responses including accepting, delaying, forwarding, and ignoring call notification requests in determining routing for each call as described above. Additionally, the call may first be answered by an IVR system to enable the caller to enter additional information that can help route the call request(s) accordingly.
0076As an alternative, the mobile ACD of an embodiment can leverage the ACD functionality of the host enterprise PBX. In so doing, once a call is routed to an enterprise desk telephone of the user, the call notification of an embodiment sends the call request to the user's active client device, thus enabling the user to handle the call in real time while outside the enterprise.
0077The AMC facilitator includes an adapter or adapter framework by which the facilitator simultaneously integrates with components of the enterprise and enterprise servers, as described above with reference to <figref idref="f0003">Figure 3</figref>. The facilitator uses an adapter for each enterprise component to which it integrates. The adapter of an embodiment is a protocol-specific adapter for each enterprise component to which it integrates; alternatively, the adapter includes vendor-specific adapters. As an example, the AMC adapters are used in the generation and routing of call requests as described herein. The AMC adapters can include a set of interfaces and utilities that receive or fetch and convert the data from one or more enterprise components into a common data structure. For example, the AMC adapters can receive information from external systems and use the received information to automatically generate and update configuration of groups and group membership to name a few. This AMC adapter configuration can leverage such external systems as human resource systems, financial systems, customer relationship management (CRM) systems, telephone systems (ACD, etc), directory servers, and email servers to name a few.
0078The call request routing described above includes rule-based routing. The rules of rule-based routing are determined, for example, by an enterprise hosting the AMC system, and are controlled by one or more of the AMC facilitator and AMC client. The rule-based routing includes the use of rules that can be customized. The rules of an embodiment can be defined via static configuration or dynamic custom processes. A rule can be based on any number of dynamic data inputs, from any number of disparate systems. Further, a rule can trigger additional processes to run before, after, or during the call request routing.
0079The call request routing described above can be performed using a variety of routing schemes including, but not limited to, parallel routing, sequential routing, and combined parallel and sequential routing. For example, parallel routing can include simultaneous routing of the request to all selected users. Parallel routing can also include a first routing of the call request to at least one target device of a first set of users simultaneous with a second routing of the call request to at least one target device of a second set of users.
0080Sequential routing includes sequential routing to each of a selected set of users. For example, the sequential routing includes a first routing of the call request to a first target device of a first user, and a second or subsequent routing of the call request to a second target device of a second user in response to a trigger condition (e.g., elapsed time, the absence of the response message to the first routing, etc.). One or more algorithms of the AMC system select an order of call request routing. As another example, the sequential routing includes a first routing of the call request to at least one target device of a first set of users, and a second routing of the call request to at least one target device of a second set of users in response to a trigger condition (e.g., elapsed time, the absence of the response message to the first routing, etc.).
0081Combined parallel and sequential routing includes parallel routing to a first set of users, and sequential routing to each of a second set of users. Similarly, the combined parallel and sequential routing includes sequential routing to each of a first set of users, and parallel routing to a second set of users. Additionally, the combined parallel and sequential routing includes parallel routing to a first set of users followed sequentially by parallel routing to a second set of users.
0082Some examples follow of alternative AMC system configurations that include the facilitator and client described above. <figref idref="f0016"><b>Figure 10</b></figref> is a block diagram of an AMC system 1000, under an alternative embodiment. The AMC system 1000 includes a server or other processor-based device hosting the facilitator 102. The facilitator 102 communicates with one or more client devices 101 to provide AMC system functions among the client devices 101 via network couplings that include the Internet 104a and a telecommunications network 104b. The telecommunications network 104b includes, for example, a cellular telephone network or a public switched telephone network (PTSN), but can be other voice and data communication networks as known in the art. The cellular telephone network can use communication protocols that include, for example, Global System for Mobile communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), and Time Division Multiple Access (TDMA), but are not so limited.
0083<figref idref="f0017"><b>Figure 11</b></figref> is a block diagram of an AMC system 1100, under another alternative embodiment. The AMC system 1100 includes a server hosting the facilitator 102, and the facilitator 102 communicates with one or more client devices 101 to provide AMC system functions among the client devices 101 via network couplings that include the Internet 104a and/or multiple telecommunications networks 104b1 to 104bn. The telecommunications networks 104b1-104bn are as described above, but are not so limited.
0084<figref idref="f0018"><b>Figure 12</b></figref> is a block diagram of an AMC system 1200, under yet another alternative embodiment. The AMC system 1200 includes a server hosting the facilitator 102, and the server/facilitator 102 is a component of a telecommunications network operator infrastructure. The facilitator 102 communicates with one or more client devices 101 to provide AMC system functions among the client devices 101 via network couplings 104, as described above, but is not so limited. In an alternative embodiment, the server/facilitator 102 may not be a component of a telecommunications network operator infrastructure. In another alternative embodiment, the server/facilitator 102 can be a component of one or more other network infrastructures.
0085<figref idref="f0019"><b>Figure 13</b></figref> is a block diagram of an AMC system 1300 in an enterprise domain, under another alternative embodiment. The AMC system 1300 includes a server hosting the facilitator 102 where the server/facilitator 102 is a component of a corporate or enterprise infrastructure 1302. The server can host numerous additional applications 1306 in addition to the facilitator 102 or can be dedicated to the facilitator 102. The facilitator 102 communicates with one or more client devices 101 in the public domain 1304 to provide AMC system functions among the client devices 101 via network couplings 104. The network couplings 104 include, for example, the Internet and one or more telecommunication service provider infrastructures, but can include any number/type of couplings. The facilitator 102 also communicates with one or more client devices 101E in the enterprise domain 1302 to provide AMC system functions among the client devices 101E as described below. The client devices 101E in the enterprise domain 1302 are shown coupled to one or more LANs, but are not so limited.
0086<figref idref="f0020"><b>Figure 14</b></figref> is a block diagram of an AMC system 1450 in a public domain coupled across components of an enterprise domain, under another alternative embodiment. The AMC system 1450 includes a server hosting the facilitator 102 where the server/facilitator 102 is a component of a carrier or service provider infrastructure or hosted data center infrastructure for example, but is not so limited. The facilitator 102 communicates with one or more client devices 101 in the public domain 1404 to provide AMC system functions among the client devices 101 via network couplings 104. The network couplings 104 include, for example, the Internet and one or more telecommunication service provider infrastructures, but can include any number/type of couplings. The facilitator 102 also communicates with components of the enterprise domain 1402 including, for example, one or more client devices 101E, one or more enterprise servers 1408, and one or more LANs. The facilitator 102 provides AMC system functions among the client devices 101E as described below. The client devices 101E in the enterprise domain 1402 are shown coupled to one or more LANs, but are not so limited.
0087As an alternative to the couplings of this AMC system 1400, the facilitator can be hosted on one or more servers (not shown) of the telecommunications network operator. The facilitator of the telecommunications network operator couples to the enterprise servers via local contact servers (not shown) and/or Virtual Private Network (VPN) couplings, but is not so limited.
0088<figref idref="f0021"><b>Figure 15</b></figref> is a block diagram of an AMC system 1500 in an enterprise domain, under still another alternative embodiment. The AMC system 1500 includes one or more facilitators that form facilitator clusters 602a and 602b within each of a number of enterprise domains 603a and 603b. Facilitators of the facilitator clusters 602a and 602b communicate with one or more client devices 101 to provide AMC system functions among the client devices 101 via network couplings 104. The network couplings 104 include, for example, at least one of the Internet and multiple telecommunication service providers 604a and 604b, but can include any number/type of couplings. The facilitators also couple with at least one of corporate directory servers and/or electronic mail (email) servers 610a/610b, authentication servers 612a/612b, and management consoles 614a/614b of the enterprise domains 603a/603b, but are not so limited.
0089<figref idref="f0022"><b>Figure 16</b></figref> is a block diagram of an active mobile collaboration (AMC) system 1600, under an embodiment. The AMC system 1600 includes any number X(n) of communication devices 101 coupled for communication via one or more facilitators 102 and one or more couplings 104. One or more of the communication devices 101 include an AMC client application. Additionally, one or more of the communication devices 101 include the facilitator 102. The AMC client applications and facilitator applications function to allow users of the communication devices to dynamically manage how and when mobile calls take place, intelligently screen calls based on caller identity, urgency, and subject matter, determine which contacts in a directory are available to talk and which ones choose not to be disturbed, and increase accessibility of enterprise and personal contact information from mobile phones, as described in detail below.
0090The AMC system components including the facilitator and AMC client described above function to allow users of the client devices or handsets like cellular telephones to quickly coordinate conversations, screen unwanted calls and interruptions and access enterprise directories. Specifically, the AMC system components increase call success rates by dynamically managing how and when mobile calls take place, let users intelligently screen calls based on caller identity, urgency and subject matter, quickly show which contacts are available to talk and which contacts choose not to be disturbed, reduce interruptions while encouraging urgently needed call-backs, and increase accessibility of enterprise and personal contact information from mobile phones.
0091Aspects of the communications systems described herein may be implemented as functionality programmed into any of a variety of circuitry, including programmable logic devices (PLDs), such as field programmable gate arrays (FPGAs), programmable array logic (PAL) devices, electrically programmable logic and memory devices and standard cell-based devices, as well as application specific integrated circuits (ASICs). Some other possibilities for implementing aspects of the communications systems include: microcontrollers with memory (such as electronically erasable programmable read-only memory (EEPROM)), embedded microprocessors, firmware, software, etc. Furthermore, aspects of the communications systems may be embodied in microprocessors having software-based circuit emulation, discrete logic (sequential and combinatorial), custom devices, fuzzy (neural) logic, quantum devices, and hybrids of any of the above device types. Of course the underlying device technologies may be provided in a variety of component types, e.g., metal-oxide semiconductor field-effect transistor (MOSFET) technologies like complementary metal-oxide semiconductor (CMOS), bipolar technologies like emitter-coupled logic (ECL), polymer technologies (e.g., silicon-conjugated polymer and metal-conjugated polymer-metal structures), mixed analog and digital, etc.
0092It should be noted that components of the various systems and methods disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, non-volatile storage media in various forms (e.g., optical, magnetic or semiconductor storage media) and carrier waves that may be used to transfer such formatted data and/or instructions through wireless, optical, or wired signaling media or any combination thereof.
0093Examples of transfers of such formatted data and/or instructions by carrier waves include, but are not limited to, transfers (uploads, downloads, e-mail, etc.) over the Internet and/or other computer networks via one or more data transfer protocols (e.g., HTTP, FTP, SMTP, etc.). When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described systems and methods may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs.
0094Unless the context clearly requires otherwise, throughout the description, the words "comprise," "comprising," and the like are to be construed in an inclusive sense as opposed to an exclusive or exhaustive sense; that is to say, in a sense of "including, but not limited to." Words using the singular or plural number also include the plural or singular number respectively. Additionally, the words "herein," "hereunder," "above," "below," and words of similar import refer to this application as a whole and not to any particular portions of this application. When the word "or" is used in reference to a list of two or more items, that word covers all of the following interpretations of the word: any of the items in the list, all of the items in the list and any combination of the items in the list.
Contents4
22 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2002055351A1 | Cites | United States of America | – |
| US2002064260A1 | Cites | United States of America | – |
| US2002075304A1 | Cites | United States of America | – |
| US6404860B1 | Cites | United States of America | – |
| US6724872B1 | Cites | United States of America | – |
| None | Non-patent | – | Examiner |
100 members in 9 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 78474706 | United States of America | P | |
| 784747P | United States of America | – | |
| 2007007063 | United States of America | W | |
| WO2007US07063 | – | – | – |
| US20060784747P | – | – | – |
| 784747P | – | – | – |
| US2007007063 | – | – | – |
Members100
| Document | Office | Kind | |
|---|---|---|---|
| AU2004301426A1 | Australia | A1 | |
| CA2532257A1 | Canada | A1 | |
| WO2005008939A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2005041793A1 | United States of America | A1 | |
| WO2005008939A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1652368A2 | European Patent Office (EPO) | A2 | |
| IL172873A0 | Israel | A0 | |
| MXPA06000404A | Mexico | A | |
| US2007041542A1 | United States of America | A1 | |
| US2007041556A1 | United States of America | A1 | |
| US2007041557A1 | United States of America | A1 | |
| US2007041571A1 | United States of America | A1 | |
| US2007042756A1 | United States of America | A1 | |
| US2007042792A1 | United States of America | A1 | |
| US2007047697A1 | United States of America | A1 | |
| US2007049304A1 | United States of America | A1 | |
| WO2007025042A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007025053A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007025105A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007025053A9 | World Intellectual Property Organization (WIPO) | A9 | |
| WO2007025105A9 | World Intellectual Property Organization (WIPO) | A9 | |
| WO2007025053A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2007025042A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2007081929A2 | World Intellectual Property Organization (WIPO) | A2 | |
| NZ545093A | New Zealand | A | |
| WO2007087456A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2007201661A1 | United States of America | A1 | |
| US2007207785A1 | United States of America | A1 | |
| EP1652368A4 | European Patent Office (EPO) | A4 | |
| US2007223401A1 | United States of America | A1 | |
| US2007223509A1 | United States of America | A1 | |
| US2007223679A1 | United States of America | A1 | |
| WO2007109342A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007109343A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007109349A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2007025105A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US2007248221A1 | United States of America | A1 | |
| US2007253545A1 | United States of America | A1 | |
| WO2007109342A9 | World Intellectual Property Organization (WIPO) | A9 | |
| WO2007081929A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1917769A2 | European Patent Office (EPO) | A2 | |
| EP1917794A2 | European Patent Office (EPO) | A2 | |
| EP1917795A2 | European Patent Office (EPO) | A2 | |
| WO2007109343A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2007109343A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1977586A2 | European Patent Office (EPO) | A2 | |
| AU2004301426B2 | Australia | B2 | |
| EP1987659A2 | European Patent Office (EPO) | A2 | |
| WO2007087456A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2007087456A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2007109349A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1997299A2 | European Patent Office (EPO) | A2 | |
| EP1997301A2 | European Patent Office (EPO) | A2 | |
| EP1997302A2 | European Patent Office (EPO) | A2 | |
| WO2007109342A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2007109342A3 | World Intellectual Property Organization (WIPO) | A3 | |
| CN101356796A | China | A | |
| US7688953B2 | United States of America | B2 | |
| US7742584B2 | United States of America | B2 | |
| EP1917769A4 | European Patent Office (EPO) | A4 | |
| EP1917794A4 | European Patent Office (EPO) | A4 | |
| EP1917795A4 | European Patent Office (EPO) | A4 | |
| US7783310B2 | United States of America | B2 | |
| US7787607B2 | United States of America | B2 | |
| US7822189B2 | United States of America | B2 | |
| EP1997299A4 | European Patent Office (EPO) | A4 | |
| EP1997301A4 | European Patent Office (EPO) | A4 | |
| EP1997302A4 | European Patent Office (EPO) | A4 | |
| EP1977586A4 | European Patent Office (EPO) | A4 | |
| US7876888B2 | United States of America | B2 | |
| US7889849B2 | United States of America | B2 | |
| US7940910B2 | United States of America | B2 | |
| US7974391B2 | United States of America | B2 | |
| US8041020B2 | United States of America | B2 | |
| US2011286591A1 | United States of America | A1 | |
| IL172873A | Israel | A | |
| EP1987659A4 | European Patent Office (EPO) | A4 | |
| EP1997302B1 | European Patent Office (EPO) | B1 | |
| US8325906B2 | United States of America | B2 | |
| CN103124317A | China | A | |
| US8503658B2 | United States of America | B2 | |
| US2013344849A1 | United States of America | A1 | |
| US8638910B2 | United States of America | B2 | |
| US8644484B2 | United States of America | B2 | |
| US8767931B2 | United States of America | B2 | |
| US2014256294A1 | United States of America | A1 | |
| EP1917794B1 | European Patent Office (EPO) | B1 | |
| US8942368B2 | United States of America | B2 | |
| US2015133096A1 | United States of America | A1 | |
| US9319515B2 | United States of America | B2 | |
| CN103124317B | China | B | |
| EP1917769B1 | European Patent Office (EPO) | B1 | |
| EP1917795B1 | European Patent Office (EPO) | B1 | |
| EP3128730A1 | European Patent Office (EPO) | A1 | |
| EP1652368B1 | European Patent Office (EPO) | B1 | |
| EP1977586B1 | European Patent Office (EPO) | B1 | |
| US10182318B2 | United States of America | B2 | |
| EP3128730B1 | European Patent Office (EPO) | B1 | |
| EP1997299B1 | European Patent Office (EPO) | B1 | |
| EP1997301B1This record | European Patent Office (EPO) | B1 |
67 legal events, as 9 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Opt-out of the competence of the unified patent court (upc) registeredP01 | P01 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed because of non-payment of the annual feeLapsedMM | MM | BE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent ceasedCeasedPL | PL | CH | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| No opposition filed against granted patent, or epo opposition proceedings concluded without decisionGrantedR097 | R097 | DE | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Deletion acc. to par. 5 (withdrawal of the translation of the ep patent)MK05 | MK05 | AT | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent invalid in the netherlands as no translation has been filedMP | MP | NL | |
| Invalidated european patentMG4D | MG4D | LT | |
| European patents granted designating irelandGrantedFG4D | FG4D | IE | |
| Dpma publication of mentioned ep patent grantGrantedR096 | R096 | DE | |
| European patent takes effect as a national patent in ch/liEP | EP | CH | |
| Reference to at number (ep patent validated in austria)REF | REF | AT | |
| Designated contracting statesAK | AK | EP | |
| European patent grantedGrantedFG4D | FG4D | GB | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE PATENT HAS BEEN GRANTEDSTAA | STAA | EP | |
| Grant fee paidORIGINAL CODE: EPIDOSNIGR3GRAS | GRAS | EP | |
| Intention to grant announcedINTG | INTG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOSNIGR1GRAP | GRAP | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: GRANT OF PATENT IS INTENDEDSTAA | STAA | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: EXAMINATION IS IN PROGRESSSTAA | STAA | EP | |
| Request for extension of the european patent (deleted)DAX | DAX | EP | |
| Supplementary search report drawn up and despatchedA4 | A4 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Information provided on ipc code assigned before grantRIC1 | RIC1 | EP | |
| Deferred search report published (corrected)R17D | R17D | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1997301
- Publication, DOCDB
- 1997301
- Publication, EPODOC
- EP1997301
- Application
- 7753671
- Application, DOCDB
- 07753671
- Application, EPODOC
- EP20070753671
Titles3
- German
- ANRUFBENACHRICHTIGUNG MIT GENAUER ANRUFERIDENTIFIKATION
- English
- CALL NOTIFICATION WITH RICH CALLER IDENTIFICATION
- French
- NOTIFICATION DES APPELS AVEC IDENTIFICATION D'APPELANT ENRICHIE
Classification
- CPC, 13
- H04M3/42042
- H04M3/42314
- H04M3/42382
- H04M3/436
- H04M7/0042
- H04M7/12
- H04M7/1235
- H04M7/129
- H04M7/1295
- H04M2203/2011
- H04M2203/651
- H04M2203/652
- H04M2207/18
- IPC, 4
- H04M7 12
- H04J99 00
- H04M3 42
- H04M3 436
Designated states1
- Contracting states, 1
- Türkiye
