The present invention relates generally to improvements in wireless communication. More particularly, the invention relates to advantageous techniques and systems for centralized storage of calling information and features for access by wireless telephone users.
Centralized office exchange (Centrex) services have been widely available to wireline telephone users for many years. One convenient implementation of Centrex for wireline users has been Centrex internet protocol (Centrex IP) services. Centrex IP allows a user to gain access to centralized calling information, such as a telephone directory for an organization, through an internet protocol (IP) connection. Centrex IP further allows a user to receive information and issue commands through the same IP connection. For example, a user may be presented with an opportunity to search an organizational directory through the IP connection. The directory may be displayed on a user device having an IP connection to the directory, such as a workstation, personal computer or the like, and the user may employ the device, for example a workstation, to issue search commands through the IP connection in order to find a desired telephone number. The user may further employ the workstation to direct that the desired telephone number be called. This calling may be accomplished by selecting the desired directory entry. This selection initiates a telephone call through a conventional telephone switching system, to which the user has access in parallel with the IP connection to the Centrex IP system.
Centrex IP services are convenient to landline users, who frequently have a workstation available, with a stable IP connection allowing the workstation to be used for communication with the Centrex IP system or any other device accessible through the IP connection. However, provision of Centrex IP services to mobile users has been problematic using state of the art systems and devices. Prior art wireline Centrex IP systems frequently require parallel equipment for each user, for example, a wireline telephone used together with a workstation having an IP connection. Such parallel equipment is frequently undesirable for mobile users, who frequently wish to travel without carrying too many devices.
Mobile telephone services are continually becoming more widely used and more versatile. A relatively new feature of mobile telephones is their ability to establish and maintain IP connections independently of or in parallel with switched voice connections. A user whose telephone has this feature can gain access to information and services through an IP connection, and can also carry on a voice conversation through a mobile switched voice connection. In addition, a suitably equipped and programmed mobile telephone having IP connection capabilities can carry on voice communication over an IP connection, in parallel with data communication over an IP connection.
There exists, therefore, a need for systems for providing centralized information and features accessible over an IP connection maintained by a mobile telephone, and for telephones capable of using such information and features, as well as systems for maintaining simultaneous voice and data communications over an IP connection maintained by a mobile telephone, with centralized information and features provided to the telephone over the data connection.
A wireless communication system according to one aspect of the invention includes a mobile switching center providing voice connection services to a plurality of wireless devices, such as wireless telephones. The mobile switching center can provide voice connections between the wireless telephones, and also provides a connection to a public switched telephone network, in order to allow connections between the wireless telephones and wireline telephones. Each wireless telephone is supported by a radio network controller. The system may suitably include a plurality of radio network controllers. Each radio network controller supports one or more base stations, each base station serving wireless telephones in its vicinity.
The system suitably includes a server providing directory services and calling features, accessible by establishing an IP connection between a telephone desiring such services and the server. The telephone communicates with the server in order to search for a desired telephone number, and also to download commands needed to implement desired calling features. Once a desired telephone number has been located in the directory and provided to the telephone, the telephone number may be selected, for example by selection using the wireless telephone display and keypad, in order to initiate a call. In order to initiate the call, the wireless telephone initiates a connection suitable for voice communication. This connection may be initiated through the mobile switching center. Alternatively, the system may also include a voice over IP server, allowing the wireless telephone to initiate a voice over IP connection. In such a case, the voice over IP server manages an IP data stream to and from the wireless telephone, performing necessary translation between IP data and voice signals, and manages the transmission of communication data between the wireless telephone and the called telephone, suitably by providing a connection to a wired or wireless switching network, depending on the nature of the telephone being called.
In addition to using directory information to place calls, a wireless telephone may receive commands from the directory and features server and use these commands to implement calling features, such as monitoring a telephone that is busy when called and alerting the user when the telephone being monitored is no longer busy. Such commands may be downloaded from the directory and features server upon initial connection, or alternatively a command may be downloaded when needed.
A more complete understanding of the present invention, as well as further features and advantages of the invention, will be apparent from the following Detailed Description and the accompanying drawings.
The present invention will be described more fully hereinafter with reference to the accompanying drawings, in which several presently preferred embodiments of the invention are shown. This invention may, however, be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.
The RNC 106 provides the telephone 104 with a connection to a packet data serving node (PDSN) 110, which allows the telephone 104 access to an internet protocol (IP) network such as the Internet 112. The telephone 104 can gain access to any of a number of services and devices through the Internet 112.
The system 100 includes an enhanced business service application server 114, accessible to the telephone 104 through a packet data connection. The server 114 may suitably be maintained by or for an enterprise 116 maintaining centralized directory services and centrally controlled calling features, and includes various elements allowing a user of the telephone 104 to obtain desired information, such as directory information, and to issue desired commands, such as a command to dial a telephone number that has been looked up in the directory. Calls to telephones or similar devices within the enterprise 116 may suitably be routed through a routing center 118. The routing center 118 may suitably be a switching center, such as a private branch exchange (PBX) owned and maintained for the enterprise 116. Alternatively, the routing center 118 may be a pool of telephone lines maintained as part of a Centrex service provided by a telephone company.
The routing center 118 is accessible by the telephone 104 through a PSTN 120, through a voice connection to the PSTN 120 provided by the MSC 102. The routing center 118 suitably executes commands issued by the telephone 104 through the voice connection, such as a command to send a signal to the telephone 104 when a designated event occurs. For example, a called telephone may be busy, and the user of the telephone 104 may issue a command to the routing center 118 to send a signal when the called telephone is no longer busy.
The server 114 suitably includes a processor 121, memory 122 and long term storage 124. The server 114 hosts a directory database 126, suitably maintained in long term storage 124. The database 126 includes a plurality of records, there being at least one record for each telephone number associated with a telephone belonging to the enterprise. Each record in the database 126 suitably includes a telephone number, along with informational elements relevant for identifying and retrieving the telephone number. For example, a record suitably includes the telephone number, the name of the employee associated with the telephone number, the job title of the employee and a complete departmental listing of the employee, including a complete hierarchical structuring of the employee's position in the enterprise. With this information, it is possible for a caller who may not know the name or specific job function of an employee to nevertheless reach the correct employee by being led through a hierarchical listing or a series of functional descriptions.
In addition to the directory database 126, the server 114 hosts a commands database 128. The commands database 128 includes commands for the implementation of various features available to callers to the routing center 118. Commands may include, for example, a command to copy a user profile to the telephone 104, so that the telephone 104 may be shared among different users with each user being able to conveniently configure the telephone 104 to his or her preferences. Other commands include a “call back” command, that is, a command to alert the user when a called telephone that was busy when first called is no longer busy. Still other commands include a “conference” command, allowing the user to add additional parties to a call, and a “call park” command, allowing a user to place a call on hold in such a way that it can be retrieved from a different telephone operating in the same central system as the telephone 104. Different commands may be available to different classes of users. For example, an employee of the enterprise 116 may be allowed access to more features than may an outside caller, such as a customer.
The telephone 104 suitably includes an enhanced business service client module 130, to allow communication with the server 114. The business service client module 130 suitably communicates with the server 114 using a data packet connection, employing a packet data interface 131. The packet data interface 131 is used to facilitate data packet communications between the telephone 104 and a specified device, suitably by means of an IP address or URL provided to the packet data interface 131. In order to communicate with the server 114, the packet data interface 131 is provided with the address of the server 114 and establishes a data packet connection with the server. The business service client 130 then provides information to the interface 131 for transfer to the server 114 and receives information relayed from the server 114 by the interface 131.
The telephone 104 further includes a display 132 and a keypad 133, allowing the user to receive information and to issue commands through a packet data connection to the server 114, as well as to make voice calls and invoke conventional functions of the telephone 104.
When a user wishes to invoke calling features provided by the server 114, he or she invokes the business service client module 130. The business service client module 130 establishes a packet data connection with the server 114. The information provided to the client module 130 by the server 114 may suitably include information retrieved from the databases 126 and 128, as well as interface information which may be processed and formatted by the client module 130 and presented to the user through the display 132 in order to allow user selections. Presentation to the user may suitably be in the form of selection menus allowing the user to make selections from a list or to provide parameters to restrict the list as desired. The module 130 formats user information for display using the telephone display 132. Initial presentation of information to the user may suitably take the form of an introductory selection menu allowing the user to make various selections relating to searching a directory in order to call a desired party. As an example, the introductory menu may present a choice to allow a user to select from a top level directory, a choice to enter various parameters defining the directory information to be presented or a choice to conduct a directory search. Choices may include selection from a general level directory, such as a list of departments, or may include a directory search in which a user enters information which is used to search the directory 126. If the user chooses selection from a general level directory, a predetermined set of choices is delivered to the module 130, which then formats the choices and presents them using the display 132. The user may then make selections from the general level directory, and each of these selections may be associated with a more detailed directory, which may itself be associated with a still more detailed directory. For example, an initial directory may include general operations, accounting, sales, human resources, and legal. If “sales” is selected, a new directory may be presented, including catalog sales, retail sales, dealer sales and distributor sales. Each of these selections may be associated with a list of individual employees and telephone numbers.
Alternatively, the user may make a menu selection allowing the entry of parameters to be used to construct a directory search. Upon receiving this selection, the module 130 may prepare and present a form allowing user entries. The user may enter search terms which are then used to search the directory 126 in order to construct a list of directory entries for presentation to the user. The user may then select a directory entry which may then lead to a hierarchy of directories.
As a further alternative, the user may make a menu selection allowing a directory search. The module 130 presents a form, suitably by displaying the form using the display 132, allowing the user to enter search terms and searches the database 126 for records matching the search terms. A list of telephone numbers, with associated information such as the employee assigned to that telephone number or the job title of the employee assigned to the telephone number, is then presented to the user on the display 132, and the user may select an appropriate telephone number to be called.
When the user of the telephone 104 selects a number to be called, the module 130 invokes a voice connection interface 136 and provides the telephone number to the voice connection interface 136. The voice connection interface 136 dials the number in a conventional way, in order to establish a conventional switched voice connection.
The voice connection interface 136 is also operative to sense various conditions relating to the voice connection. Many routing centers such as the routing center 118 are able to detect when a telephone is busy and, in addition, when the telephone becomes available after being busy. In addition, a switchboard such as the routing center 118 may detect when a telephone is picked up. These features, as well as additional features, allow the provision of special services that may be implemented by a system such as the system 100.
Suitably, the commands database 128 includes a collection of downloadable commands that may be transmitted to the telephone 104 upon selection by a user or automatically if the correct conditions prevail. For example, suppose that the telephone 104 is used to call a telephone 140 served by the routing center 118. Further suppose that the telephone 140 is engaged, and the user receives a busy signal. The user then selects the option to be notified when the telephone 140 is no longer engaged. This option may suitably be included in a set of commands downloaded from the server 114 when the telephone 104 first establishes a packet data connection. Alternatively, the set of commands may be downloaded upon a request from the user. As a further alternative, a list of commands may be stored permanently in the telephone 104, with a desired command being downloaded to the telephone 104 upon selection by the user. As a still further alternative, a stored command may be invoked, or a command may be downloaded and either presented to the user as an option or else automatically invoked, when the circumstances call for it. Downloading commands to the telephone 104 from the server 114 allows increased versatility for the system 100, because a telephone such as the telephone 104 need not be preprogrammed with the commands needed to access special features used to communicate with a particular organization. Instead, any suitably equipped telephone can download the required commands needed to take advantage of the special features offered by a system with which it is to be used.
Suppose that the user has called the telephone 140 and the telephone 140 is busy. The user has then selected the “call back” feature in order to be notified when the telephone 140 is no longer busy. The routing center 118 detects whether the telephone 140, as well as every other telephone served by the routing center 118, is idle or busy. The server 114 periodically interrogates the routing center 118 in order to determine the status of each telephone for which a “call back” command has been issued by a telephone served by the server 114. When the telephone 140 becomes idle, the interrogation of the routing center alerts the server 114 that the telephone 140 is idle. The server 114 then issues an alert signal to the telephone 104. The signal is received by the packet data interface 131, which passes it to the business service client module 130. The business service client module 130 then alerts the user.
In addition, if the telephone 104 is suitably programmed, the business service client module 130 may automatically direct the voice connection interface 136 to dial the telephone 104. Other features may be implemented in a similar way, with the telephone 104 receiving status detected by the server 114 and executing appropriate commands that are either downloaded as needed from the server 114 or stored in the telephone 104 after an initial download from the server 114.
In addition to the elements mentioned above, the system 200 includes a wireless telephone 214 including a business service client module 216, similar to the module 130 of
In order to support voice communication using packet data transmission, the system 200 also includes a voice over IP server 228. The voice over IP server 228 provides session initiation protocol (SIP) services allowing interactive voice communication by a user employing the telephone 214. SIP provides for the initiation of an interactive user session including multimedia elements including voice, video, chat, gaming and virtual reality. The server 228 allows communication using a packet data stream provided by the module 226 belonging to the telephone 214, and translates the packet data stream into signals that can be transmitted by the PSTN 213. The voice over IP server 228 provides a connection to the PSTN 213, using a media gateway 229. The media gateway 229 supports a connection to the MSC 202 and to the PDSN 206, and performs any translation necessary to support communication between the PSTN 213 and the PDSN 206.
The system 200 operates in a manner similar to that of the system 100 described above, except that the telephone 214 has the option of establishing a voice over IP connection to the telephone 211 and similar telephones. When a voice over IP connection is to be made, the voice over IP module 226 establishes a packet data connection to the voice over IP server 228, and sends to the server 228 a stream of data packets embodying voice data. The voice over IP server 228 establishes a connection to the telephone 211 through the PSTN 213, and translates the stream of data packets to a form usable by the PSTN 213, typically analog telephone signals. Similarly, the server 228 translates responses received over the PSTN 213 into a stream of data packets, which is transmitted to the telephone 214 and interpreted by the voice over IP module 226. The business service client module 216 and the client interface 218 operate in a manner similar to that described above in connection with the system 100 of
If desired, a system such as the system 200 can be designed in additional alternative configurations. The telephone 214 may gain access to the server 208 through a workstation such as a computer 230, which in turn provides access to the server 208. The telephone 214 establishes a connection to the computer 230 through a wireless packet radio interface, provided by the operation of the base station 205, RNC 204 and PDSN 206. Information received from the server 208 by the computer 230 is suitably displayed by the computer 230, and also relayed to the telephone 214. When a user has access to the computer 230, the routing of information through the computer 230, and the display of information by the computer 230, provides more convenient viewing of information through a larger display typically provided by a computer such as the computer 230. The operation of the system 200 is similar to that described above, with the computer 230 simply providing an alternative means of access to the server 208. The system 100 of
An additional alternative mode of operation requires that the server 208 have connections to one or both of the PSTN 213 and the voice over IP server 228. The connection to the PSTN 213 can be accomplished by providing the server 208 with an ordinary telephone connection. In this mode of operation, a call is established by the server 208 when a selection is made to call a number. The server 208 employs a calling module 232 in order to establish a voice connection with the telephone to be called, either through the PSTN 213 for a switched voice connection or the voice over IP server 228 for a voice over IP connection, as well as the telephone 214. The server 208 then employs a bridge module 234 to bridge the two calls together. It will be recognized that the system 100 of
At suitable times during the process 300, the process may proceed to optional step 316, in order to query one or more elements with which communication is being carried out, in order to provide information needed to invoke available features. For example, information may be received from a telephone to which a call is being made in order to determine whether the telephone is already engaged, or a telephone that has been determined to be engaged may provide information indicating that it is no longer engaged. At step 318, commands may be executed in order to invoke features selected by the user. These commands may already be present in the wireless telephone as a result of having been previously downloaded, or may be retrieved from the directory and feature server as needed. Execution of the commands may occur upon direct user selection, or upon detection of a specified condition.
While the present invention has been disclosed in the context of various aspects of presently preferred embodiments, it will be recognized that the invention may be suitably applied to other environments consistent with the claims which follow.