METHOD AND SYSTEM FOR PROCESSING INTELLIGENT NETWORK COMMANDS IN A COMMUNICATIONS NETWORK

Abstract: In an intelligent network for processing intelligent network (22) commands (44), a user identifier (54) is sent to the intelligent network (22). In response to receiving the user identifier (54), a network address (56) of a user intelligent network server (48) is registered with an intelligent network controller (40) coupled to the intelligent network (22). Thereafter, in response to a trigger in the intelligent network (22), an intelligent network (22) command (44) is retrieved from the user intelligent network server(48).

Description: METHOD AND SYSTEM FOR PROCESSING INTELLIGENT NETWORK COMMANDS IN A COMMUNICATIONS NETWORK Related Applications The following applications are related to this application and are filed on the date herewith. The disclosure of each of these related applications is incorporated by reference: S/N (Docket Number CE08072R) titled "METHOD FOR CHANGING COMMUNICATION IN A COMMUNICATION SYSTEM, AND COMMUNICATION SYSTEM THEREFOR"; S/N (Docket Number CE08136R) titled "METHOD FOR ESTABLISHING COMMUNICATION IN A PACKET NETWORK"; S/N (Docket Number CE08135R) titled "METHOD FOR RETRANSMITTING A DATA PACKET IN A PACKET NETWORK"; S/N (Docket Number CE08170R) titled "COMMUNICATION NETWORK METHOD AND APPARATUS"; S/N (Docket Number CE08193R) titled "SESSION BASED BILLING IN A COMMUNICATION SYSTEM"; S/N (Docket Number CE08182R titled "METHOD AND SYSTEM FOR NETWORK SERVICE NEGOTIATION IN A TELECOMMUNICATIONS SYSTEM"; S/N (Docket Number CE08186R) titled "METHOD AND APPARATUS FOR ROUTING PACKET DATA IN A COMMUNICATIONS SYSTEM " ; S/N (Docket Number CE08190R titled "METHOD AND SYSTEM FOR INTRODUCING NEW SERVICES INTO A NETWORK". Field of the Invention The present invention is related in general to communications networks, and more particularly to an improved method and system for processing intelligent network commands in a communications network. Background of the Invention Prior to the mid-1960s, the service logic in a switching system used in a telephone service network was hardwired in the switching systems. To add network features, network operators negotiated with individual switch manufactures that provided the services. This meant that network operators could not quickly introduce new features, and if the network operators used multiple vendors, features may not have been offered across the operator's entire network. Once services were implemented, they were not easily modified to meet individual customer requirements. Changes and services had to be renegotiated with switch vendors, which meant that it took years to plan and implement new services. In the mid-1960s stored program control (SPC) switching systems were introduced. SPC was a major step forward because new service logic could be programmed, making it easier to introduce new services. The network took another major leap forward in the mid-1970s with the introduction of the common channel signaling network (CCSN). Signaling system number 7 (SS7) is the protocol that runs over the CCSN. The SS7 network separates the call setup information and talk path from the common trunks that run between switching systems. Thus, the call setup information travels outside the common trunk path over the SS7 network. Typical information transferred on the SS7 network includes permission for the call setup, and whether or not the called party is busy. SS7 technology frees up trunk circuits between switching systems for actual calls. The SS7 network enables the introduction of new services, such as caller ID. In the mid- 1980s, the concept of intelligent network (IN) was introduced. In an intelligent network, the service logic is external to switching systems and located in databases called service control points (SCPs). In order to communicate with the associated service logic, software was deployed in switching systems that enabled the switching system to recognize when it was necessary to communicate with a SCP via the SS7 network. Intelligent network provides the capability to provision new services or modify existing services throughout the network. Service providers can change the service logic rapidly and efficiently. Customers may also control some of their own services to meet their individual needs. However, one disadvantage of the current system is that customers may not provide their own new services. In present systems, customers may only set or change a few limited parameters on services that have been provided by the service provider. Service logic is typically under the service provider's control. Changes to customer service logic usually limited to data entry on a dual tone multifrequency (DTMF) keypad on the customer's handset. Because the customer does not have access to his or her own service logic, services may not be added or modified as quickly as the customer would like. Additionally, the customer may be able to design new services that have not yet occurred to the service operator. Another problem with the present intelligent network is that services are typically tied to a particular instrument, phone line, or subscriber unit. This has the disadvantage of preventing the customer from having his or her own services provided while using another subscriber unit or network access device. For example, if the customer owns several subscriber units, the customer may wish to switch between them for various reasons and have the same service logic follow the customer from one unit to the next. In the present system, two sets of IN service logic must be maintained for each instrument. In another example, the customer may wish to borrow or rent a subscriber unit and quickly and easily have all his or her user defined services available. Thus, it should be apparent that a need exists for an improved method and system for processing intelligent network commands in a communications network wherein user or customer defined service logic is executed in association with user selected subscriber units and wireline telephones throughout the communications network. Brief Description of the Drawings The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objects, and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein: FIG. 1 is a high-level functional block diagram of an intelligent network which may be used to implement the method and system of the present invention; and FIG. 2 is high-level logic flowchart for implementing the method and system of the present invention. Detailed Description of the Invention With reference now to the FIG. 1, there is depicted a high-level functional block diagram of an intelligent network, which may be used to implement the method and system of the present invention. As illustrated, intelligent network 20 includes network 22, which is responsible for executing intelligent network commands, and for carrying bearer and signaling data, preferably as data packets. Network 22 is preferably implemented with circuit-switching network elements, such as Class 5 Public Telephone Switching Network (PSTN) switches loaded with Service Switching Point (SSP) functionality for connecting to a Service Control Point (SCP) for retrieving IN commands. Alternatively, network 22 may be implemented with control computers (using H.323 or SIP protocols), digital signal processing (DSP) elements, signaling gateways to PSTN (e.g. SS7) and internet, and a packet transport fabric, such as ATM, IP - routers, access nodes, or the like. Network 22 may use transaction capability application part (TCAP) intelligent network messages to interface with network controller 40, preferably over an SS7 carrier, to suspend call control and request service logic completion. Class 5 switches (as used in the PSTN) and/or Mobile Switching Centers (MSCs) (as used in a cellular communications system) with SSP capabilities can suspend call control and request service logic completion from network controller 40. Subscriber units 24 and 26 are also coupled to network 22, either directly as with subscriber unit 24, or indirectly as with subscriber unit 26. Subscriber unit 26 is coupled to network 22 through wireless interface 28 and transceiver 30, which is coupled to network 22. Subscriber unit 26 may be a wireless handset or fixed wireless terminal in a cellular communication system. Similarly, transceiver 30 may be a base station that supports wireless interface 28, which may be one of several air interface standards that support cellular communication. In an alternate embodiment, subscriber unit 26, wireless interface 28 and transceiver 30 may implement a wireless interface that is not cellular in nature, such as, for example, the wireless interface referred to as Bluetooth. In a preferred embodiment, however, wireless interface 28 is an air interface such as a code division multiple access (CDMA) air interface, similar to the one described by Interim Standard 95 published by the Telecommunications Industry Association. Also coupled to network 22 are network services 32 and 34. These network services may be combinations of hardware and software that add value by processing calls, recording or retrieving information, analyzing data, or otherwise implementing or augmenting features offered to the customer by the intelligent network operator. Examples of network services include voicemail, data retrieval services, location finding services, billing related services, and other services that provide functionality to the communications network, such as mobility management functions in a cellular network, and the like. Examples of other network services available are discussed in a document referenced as American National Standards Institute (ANSI) interim specification (IS) 53. If the user of subscriber unit 24 wishes to communicate with subscriber unit 26, such communication may take place entirely within network 22. However, if either subscriber unit 24 or 26 wishes to communicate outside network 22, such communication is made possible by a connection between network 22 and public network 36. Examples of public network 36 include the public switched telephone network (PSTN) and the internet. Communications link 38 provides a communication path between network 22 and public network 36. Although not shown in the present example, communication link 38 may include the necessary gateways and interworking devices that make it possible for network traffic in network 22 to communicate with public network 36 in the various forms taken by such a public network. Network controller 40 is also coupled to network 22. Network controller 40 fetches, processes, and transfers intelligent network commands to network 22 when network 22 reaches a " trigger" state. Such a trigger state may be defined as a point in a state machine that controls network 22 that causes network 22 to request instructions for how to carry out a customer's service logic. For example, trigger points may occur during call origination and call termination. Examples of trigger points during call origination include off-hook, off-hook delay, dialed digits, and on-hook. Examples of trigger points during call termination include termination attempt, alerting, answer, and on-hook. Included within network controller 40 are default IN server 42, IN command interface 44, and network interface 46. Default IN server 42 stores and provides IN commands to IN command interface 44 under default conditions. IN command interface 44 receives IN command requests from network 22 and responds to such requests with the appropriate IN commands. Network interface 46 provides an interface from network controller 40 to public network 36, and, in turn, to user IN server 48. Network interface 46 provides the appropriate protocol and data translation necessary for network controller 40 to communicate via public network 36 with the user IN server 48. Protocols that may be used for communication include an IN protocol, transaction communication protocol / internet protocol (TCP/IP), or a proprietary protocol. According to an important aspect of the present invention, user IN server 48 may be coupled to public network 36 so that it is more accessible to a person in charge of controlling the operation of a subscriber unit, such as subscriber units 24 and 26. For example, the owner/operator of subscriber unit 26 may have a user IN server 48 located on his or her personal computer, conveniently under their control, for adding or changing service logic to control the operation of subscriber unit 26. Such personal computer may be located at home or at the office for convenient access. Note that because user IN server 48 may be coupled to public network 36, network interface 46 may also include firewall 50 for screening, filtering, or modifying IN commands retrieved from user IN server 48. The function of firewall 50 is to prevent a sequence of IN commands that may be detrimental to network 22 or customers using network 22 from being passed to network 22 for execution, firewall 50 analyzes the intelligent network commands by implementing a set of firewall rules. The need for firewall 50 becomes greater as control of network 22 is moved out of the exclusive control of the communications system operator. Also shown coupled to network controller 40 is database 52. As shown, database 52 may be coupled to network controller 40 either directly, or indirectly through public network 36. The purpose of database 42 is to associate a customer ID 54 with a network address 56 that points to, and may provide other information for accessing, user IN server 48. Such other information provided may include control logic for handling error conditions. Database 52 may also be used to associate a user with a particular subscriber unit by storing subscriber unit ID 58 with the user information. With reference now to FIG. 2, there is depicted a high-level logic flowchart for implementing the method and system of the present invention. As illustrated, the process begins at block 100, and thereafter continues to block 102, wherein the intelligent network receives a user identifier from a subscriber unit. Next, the process correlates the user identifier with a network address of the user intelligent network server, as depicted at block 104. In one embodiment, the user identifier may be an internet protocol (IP) address that serves to both identify the user and indicate the address of the user intelligent network server. In an alternative embodiment, the user identifier received from the subscriber unit is used in conjunction with a database to lookup the network address of the user's intelligent network server. This database, such as database 52 shown in FIG. 1 , may be coupled directly to network controller 40, or coupled to network controller 40 through public network 36. Alternatively, database 52 may be located within network controller 40. Next, the process registers the address of the user's intelligent network server as a source of intelligent network commands for serving the subscriber unit, as illustrated at block 106. In a preferred embodiment, this registration may be implemented by storing the IN server address in database 52 (see FIG. 1). Other parameters stored in database 52 may include level of intelligent network command support (e.g., an intelligent network version, a list of enabled triggers/services). Secret authentication and encryption data for secure communications between network controller 40 and user IN server 48 may also be included in database 52. Once the registration is complete, the process may execute an authentication process including user IN server 48 and subscriber unit 26 authentication. The authentication of user IN server 48 declares it a valid source of intelligent network commands. The authentication of subscriber unit 26 certifies that the user agrees to contractual conditions associated with the services executed according to intelligent network commands in user IN server 48. The process may also authenticate network controller 40 and declare network controller 40 a valid requestor for intelligent network commands for the identified user or subscriber unit, a process that may further include negotiating the level of intelligent network command support between network controller 40 and user IN server 48. The authentication of the requestor may be based upon criteria including what network or network operator is making the request, what triggers are supported, what time the request is made, and other such parameters. The purpose of the authentication and service negotiation process is to prevent rogue subscribers from utilizing an unauthorized user IN server 48, to ensure that a subscriber has directed that instructions be retrieved from the correct user IN server 48 (e.g. , a user's IN server 48 has not been spoofed), and that the network only queries user IN server 48 when necessary as determined by the user. Once registration and authentication are complete, the process waits for a trigger event in the network, as shown at block 108. If a triggering event is present in network 22, the process passes to block 110, wherein the process retrieves intelligent network commands from the registered user intelligent network server. In some embodiments, the particular trigger may not be enabled in the user intelligent network server, in which case the process may execute IN commands from default IN server 42. Note that trigger points or events may be related to a call model or to the state of the subscriber unit. An example of a trigger related to the state of the subscriber includes a trigger related to whether or not the subscriber unit is roaming, or whether or not the subscriber unit is registered with one system operator or another. Trigger points may also be related to time, date, day of the week, or other time related conditions. After retrieving the intelligent network commands, the process filters the intelligent network commands using an intelligent network command firewall, as depicted at block 112. The purpose of the firewall is prevent execution of network commands that would be detrimental to the network, the customer, or other customers receiving services from intelligent network 20. To implement the intelligent network command firewall, several known firewall techniques may be used. For example, the firewall may recognize predefined sequences of commands known to be detrimental to the network. Alternatively, the sequence of IN commands may be analyzed for inconsistencies between commands, conflicts between commands, or for detection of commands that exceed a predetermined level of system resources that may be controlled by a single user. In response to finding a set of intelligent network commands that violates rules or parameters used by the firewall, the firewall may delete, modify, change, or otherwise adapt the intelligent network commands in order to most completely comply with what is perceived as the service described by the intelligent network commands retrieved from the user intelligent network server. Finally, the process executes the intelligent network commands that have been output by the firewall, as illustrated at block 114. In the process of executing the IN commands, network 22 may be instructed to route or connect a subscriber unit to one or more network services, such as network services 32 and 34. Following the execution of the IN commands at block 114, the process may iteratively return to block 108, wherein the process awaits the next trigger event in network 22. In the process described in relation to FIG. 2, a user or customer gains additional control over the services provided by intelligent network 20 because those services are defined in a user intelligent network server that is under the user's control, and which may be conveniently located on the user's premises. Additionally, by registering a user with a particular subscriber unit, a user's services may be immediately available at any subscriber unit served by intelligent network 20. Thus, a user may switch from one subscriber unit to another and that user's services will be instantly available from either subscriber unit. In an alternative embodiment, the user's intelligent network server may be located in a subscriber unit, such as IN servers 70 and 72 shown in subscriber units 24 and 26, respectively. Thus, whenever network 22 reaches a trigger state, network 22 and network controller 40 retrieve intelligent network commands from the user's subscriber unit, such as subscriber unit 24 or 26. In yet another embodiment, a users intelligent network server may be located in the network operators equipment, such as, for example, in IN network server 74 shown in network controller 40. If the user's IN server is physically provided in intelligent network 20, the user may be provided with internet access in order to instantly change or add intelligent services. If an attempt to retrieve IN commands from user IN server 48 fails, the system may alternatively retrieve IN commands from default IN server 42 in an effort to preserve or more completely provide the services the user is requesting. IN commands may also be retrieved from default IN server 42 in the event that firewall 50 needs a source of IN commands for reconstructing portions of service logic that did not pass the firewall rules, or in the event firewall 50 decides to pass the IN server function completely to default IN server 42. Although database 52 is shown separate from network controller 40, database 52 may be included within network controller 40. However, when subscriber units 24 or 26 roam to another network similar to network 22, it may be advantageous and beneficial for such a roaming network to be able to remotely access database 52 so that the subscriber unit need not re-register the user IN server with the new roaming network. That is, such registration information may be remotely available to the new roaming network. The foregoing description of a preferred embodiment of the invention has been presented for the purpose of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Obvious modifications or variations are possible in light of the above teachings. The embodiment was chosen and described to provide the best illustration of the principles of the invention and its practical application, and to enable one of ordinary skill in the art to utilize the invention in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the invention as determined by the appended claims when interpreted in accordance with the breadth to which they are fairly, legally, and equitably entitled.

Claims: Claims What is claimed is: 1. A method in an intelligent network for processing intelligent network commands, the method comprising the steps of: sending a user identifier to the intelligent network; in response to receiving the user identifier, registering a network address of a user intelligent network server with an intelligent network controller coupled to the intelligent network; and in response to a trigger in the intelligent network, retrieving an intelligent network command from the user intelligent network server. 2. The method for processing intelligent network commands according to claim 1 further including steps of: analyzing the intelligent network command with a firewall that implements a set of firewall rules; and in response to the intelligent network command conflicting with the firewall rules, modifying the intelligent network command. 3. The method for processing intelligent network commands according to claim 1 wherein the step of sending a user identifier from a subscriber unit to the intelligent network further includes sending a user identifier from a wireless subscriber unit to a transceiver coupled to the intelligent network. 4. The method for processing intelligent network commands according to claim 1 wherein the step of sending a user identifier from a subscriber unit to the intelligent network further includes sending a network address associated with the user intelligent network server. 5. The method for processing intelligent network commands according to claim 1 wherein the trigger is a predetermined step in a call model. 6. The method for processing intelligent network commands according to claim 1 wherein the trigger is a predetermined state of a subscriber unit. 7. The method for processing intelligent network commands according to claim 1 wherein the step of retrieving an intelligent network command from the user intelligent network server further includes retrieving an intelligent network command from the user intelligent network server coupled to a public network. 8. The method for processing intelligent network commands according to claim 1 wherein the step of retrieving an intelligent network command from the user intelligent network server further includes retrieving an intelligent network command from the user intelligent network server coupled to the subscriber unit. 9. A system in an intelligent network for processing intelligent network commands comprising: means for sending a user identifier to the intelligent network; means for registering a network address of a user intelligent network server with an intelligent network controller coupled to the intelligent network in response to receiving the user identifier; and means for retrieving an intelligent network command from the user intelligent network server in response to a trigger in the intelligent network. 10. The system for processing intelligent network commands according to claim 9 further including: means for analyzing the intelligent network command with a firewall that implements a set of firewall rules; and means for modifying the intelligent network command in response to the intelligent network command conflicting with the firewall rules. 11. The system for processing intelligent network commands according to claim 9 wherein the means for sending a user identifier from a subscriber unit to the intelligent network further includes means for sending a user identifier from a wireless subscriber unit to a transceiver coupled to the intelligent network. 12. The system for processing intelligent network commands according to claim 9 wherein the means for sending a user identifier from a subscriber unit to the intelligent network further includes means for sending a network address associated with the user intelligent network server. 13. The system for processing intelligent network commands according to claim 9 wherein the trigger is a predetermined step in a call model. 14. The system for processing intelligent network commands according to claim 9 wherein the trigger is a predetermined state of a subscriber unit. 15. The system for processing intelligent network commands according to claim 9 wherein the means for retrieving an intelligent network command from the user intelligent network server further includes means for retrieving an intelligent network command from the user intelligent network server coupled to a public network. 16. The system for processing intelligent network commands according to claim 9 wherein the means for retrieving an intelligent network command from the user intelligent network server further includes means for retrieving an intelligent network command from the user intelligent network server coupled to the subscriber unit.

Inventors: GUTKOWSKA MONIKA, HUG ROBERT G, LISS RAYMOND M, MORAN TIMOTHY LEO, SILVERMAN SHMUEL, GUTKOWSKA, MONIKA, HUG, ROBERT, G., LISS, RAYMOND, M., MORAN, TIMOTHY, LEO, SILVERMAN, SHMUEL
Applicants: MOTOROLA INC, MOTOROLA, INC.
Application year: 2000
Main classification: G06F17
IPC codes: H04L29, H04Q3