WO1997050232A1 - Managing feature interactions in a telecommunications system such as an intelligent network - Google Patents

Managing feature interactions in a telecommunications system such as an intelligent network Download PDF

Info

Publication number
WO1997050232A1
WO1997050232A1 PCT/US1997/011040 US9711040W WO9750232A1 WO 1997050232 A1 WO1997050232 A1 WO 1997050232A1 US 9711040 W US9711040 W US 9711040W WO 9750232 A1 WO9750232 A1 WO 9750232A1
Authority
WO
WIPO (PCT)
Prior art keywords
service
trigger
scps
scp
query
Prior art date
Application number
PCT/US1997/011040
Other languages
French (fr)
Inventor
Fuchun J. Lin
Robert A. Pinheiro
Original Assignee
Bell Communications Research, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Bell Communications Research, Inc. filed Critical Bell Communications Research, Inc.
Priority to CA002257939A priority Critical patent/CA2257939C/en
Priority to EP97931397A priority patent/EP0901729A4/en
Priority to JP10503506A priority patent/JPH11513214A/en
Publication of WO1997050232A1 publication Critical patent/WO1997050232A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/0029Provisions for intelligent networking
    • H04Q3/0041Provisions for intelligent networking involving techniques for avoiding interaction of call service features
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42136Administration or customisation of services
    • H04M3/4217Managing service interactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2207/00Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
    • H04M2207/12Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place intelligent networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13345Intelligent networks, SCP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13501Feature interactions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13517SLEE - service logic execution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13533Indexing scheme relating to selecting arrangements in general and for multiplex systems multivendor and hybrid, e.g. public/private, networks, inc. international

Definitions

  • the present invention relates to a telecommunications network and, more particularly, to a method for generating and using controlling logic for management of communications among nodes in an Intelligent Network (IN) such as the Advanced Intelligent Network (AIN) BACKGROUND OF THE INVENTION
  • IN Intelligent Network
  • AIN Advanced Intelligent Network
  • the AIN is a network architecture used by all modern telephone switching systems in the United States.
  • the AIN is applicable to all telecommunications networks (e.g. Public Switched Telephone Networks (PSTNs) including Integrated Services Digital Networks (ISDNs)), narrowband, broadband, packet-switched public data networks, and mobile telephone networks.
  • PSTNs Public Switched Telephone Networks
  • ISDNs Integrated Services Digital Networks
  • the components of the AIN include: ( i > a central office 102 containing a switching system 104 such as a Service Switching Point (SSP); ( n) a signaling network 106 composed of a multi-level hierarchy of Signal Transfer Point (STPs) which act as intermediate switching nodes; and (iii) a Service Control Point 108 (SCP) which contains a centralized database.
  • SSP Service Switching Point
  • STPs Signal Transfer Point
  • SCP Service Control Point 108
  • Each of the central offices 102 is equipped with a SSP 104.
  • the SSP 104 is a switch that can recognize a call that requires AIN processing by the SCP 108.
  • a service provided by the AIN To exemplify a service provided by the AIN, consider a customer placing a telephone call that requires special handling, such as a toll-free call (800 service).
  • the call is intercepted by the switching system 104 which launches a query through the signaling network 106 to a centralized database located in the SCP 108.
  • the database retrieves the necessary information to handle the call, and performs a number translation to map the "logical" 800 number to a "physical" routing number
  • the physical routing information is returned through the signaling network 106 to the switching system 104 so that the call can be completed.
  • Number translation is an example of one of a plurality of so-called service categories defined for the AIN
  • Each service category serviced by the SCP 108 is composed of the logic that handles the query/reply transaction between the SSP 104 and the SCP 108
  • FIG. 1 also shows multiple subscriber lines 1 10, typically on the order of 10.000 to 70,000 lines, which are connected to each central office 102 Each of the subscriber lines 1 10 are connected to a terminating piece of telephone equipment 1 12 This telephone equipment 1 12 can include telephone sets, facsimile machines, computers, and automatic dialers. Trunk circuits 1 14 interconnect the central offices 102 and are the voice path that connect inter-office communications when calls are completed
  • Triggering is the process used by the SSP 104 to identify calls that require special handling by the AIN.
  • the SSP 104 has the appropriate hardware and software so that when a set of predetermined conditions are delected, the SSP 104 will encounter a trigger 1 16 in response to activity on the dialing lines
  • a trigger 1 16 is an event associated with a particular subscriber line 1 10 that generates a query to be sent to the SCP 108.
  • a trigger detection point is a point in call processing where service logic can receive notification of a given event and influence subsequent call processing.
  • the trigger 1 16 includes information for identifying particular subscriber lines 1 10 when a piece of telephone equipment connected to a line goes off-hook, commences dialing, etc Once a trigger 1 16 is encountered, the SSP 104 temporarily suspends call processing. Each trigger 1 16 generates a query in the form of a data packet launched by the SSP 104 to the SCP 108 to ask for instructions on how to handle the call and obtain the required call handling information.
  • the data packet is first sent via bidirectional data links 1 18 utilizing the Signaling System 7 (SS7) protocol to the STP 106.
  • the SS7 distributes data packets on an equal basis over multiple physical links that connect two points, namely the SCP 108 and STP 106.
  • the STP 106 is a very high capacity, very reliable packet switch that can transport messages between network nodes such as the SSP 104 and SCP 108.
  • the STP 106 essentially directs traffic on the network and routes the data packet to its intended destination (i.e. the SCP) via high speed data links 120.
  • the SCP 108 is a fault tolerant transaction processing system that contains various centralized databases that provide the appropriate call routing information and identify particular subscribers.
  • the SCP 108 responds to a request (i.e. trigger) received from the SSP 104.
  • the trigger 1 16 causes the SCP 108 to query its databases to determine whether some customer calling feature or enhanced service should be implemented for this particular call or whether conventional dial-up telephone service should provide for the call.
  • the results of the database query are sent back in the form of a return packet over the data links 120 through the STP 106 and onward through data links 1 18 to the SSP 104.
  • the return of the packet includes instructions to the SSP 104 on how to continue processing the call.
  • Open access to the AIN operated by LECs to third parties will exploit the capabilities and efficiencies of third party service providers and enable these third parties lo provide competitive telephone related services to local LEC subscribers.
  • the MP 200 is situated between the SSP 104 and a number of SCPs (SCP 108, SCP 202, and SCP 204).
  • Data link 206 connects the MP 200 to the SSP 104.
  • Data links 208, 210, and 212 connect the MP 200 to the SCP 108, 202 and 204 respectively.
  • the MP is intended to be transparent to the transactions between the SSP and SCPs.
  • feature interactions in a distributed call processing environment such as the IN become a problem when using the architecture depicted in FIG. 2.
  • the phrase “feature interactions” describes, for example, the outcome of an action which invokes execution by a plurality of SCPs servicing the features. For instance, if ⁇ represents a feature serviced by one SCP and B another feature serviced by another SCP, then different outcomes are possible if A and B are queried: (i) sequentially with A first; (ii) sequentially with B first; or (iii) simultaneously.
  • the present invention is a method for managing communications between a service origination node and a plurality of serving nodes where the serving nodes are simultaneously active for a particular trigger to thereby generate a reply to the service origination node.
  • the method includes the step of determining control options for each trigger indicative of service categories by capturing service interaction principles supplied by a serving node services expert acting as a mentor The service interaction principles are based upon a requiiement of executing at most one of the service categories in each of the serving nodes for each trigger
  • the method also includes the step of controlling execution ol each ot the service nodes and each corresponding one of the service categories for the particular trigger with reference to the control options to generate the reply
  • FIG. 1 is a block diagram of a traditional AIN
  • FIG. 2 is a block diagram of a prior art logical network architecture of the AIN which includes the functional element called the MP,
  • FIG. 3 shows an illustrative embodiment of a physical network architecture for multiple services on a trigger where the services reside on the same SCP;
  • FIG. 4 shows an illustrative embodiment of a physical network architecture for multiple services on a trigger where the services are distributed on multiple SCPs
  • FIG. 5 shows the flow of communication when two SCPs are queried simultaneously
  • FIG. 6 shows the flow of communication when two SCPs are queried sequentially
  • FIG. 7 illustrates the common logic template for defining algorithms for an illustrative embodiment of the invention
  • FIG. 8 illustrates the overall relationship between the different components of an illustrative embodiment of the methodology of the present invention
  • FIG. 9 shows the graphical representation of the precedence relation A ⁇ B
  • FIG. 10 shows the graphical representation of the precedence relation X ⁇ A ⁇ Y and X ⁇ B ⁇ Y;
  • FIG. 1 1 shows a graphical representation of the precedence ordering! NT ⁇ CS, CS ⁇ S, NT ⁇ S
  • FIG. 12 shows a graphical representation of the precedence ordering ( NT ⁇ CS, S ⁇ CS, NT ⁇ S ⁇ ;
  • FIG. 13 shows a graphical representation of the precedence ordering ( NT ⁇ CS, X ⁇ S ⁇ Y, X ⁇ CS ⁇ Y ) ;
  • FIG. 14 shows a graph which is not a partial ordering
  • FIG. 15 shows an illustrative embodiment of a subscriber record
  • FIG. 16 illustrates the common logic template for defining controlling logic for an illustrative embodiment of the present invention.
  • the present inventive subject matter focuses on the interoperability caused by service interactions in a multiple SCP environment.
  • the complexity of the multiple SCP interoperability issues on a trigger depends on the number of SCPs (two, or more than two), and the nature of the services (containing a single category of features or multiple categories of features).
  • Various illustrative embodiments of a methodology that enables LEC and/or other service providers to generate controlling logic for managing service interactions in a multiple SCP interopeiability environment are elucidated
  • a first illustrative embodiment ol a methodology is operational whenever there are only two SCPs having simultaneous access to a single trigger (per subscriber) and the services contain a single category of features
  • a second illustrative embodiment of a methodology is operational whenever there are only two SCPs having simultaneous access to a single trigger (per subscriber) and the services contain multiple categories of features
  • FIG 3 shows an illustrative embodiment of a physical netwoi k architectuie for multiple services on a trigger where all the services and the feature interaction manager (FIM) reside on the same SCP
  • FIM feature interaction manager
  • Data link 306 connects the SSP 104 to the SCP 108 I he FIM 3 14 communicates with the AIN services 300, 302, and 304 via information flows 308, 310 and 312
  • FIG 4 depicts an illustrative embodiment of a physical network architecture for multiple services on a trigger where the services are distributed on multiple SCPs
  • a trigger 1 16 occurs in the SSP 104
  • information is sent to the FIM 314 which resides on an MP 200
  • Physically information is sent to the MP 200
  • the MP 200 is a separate network component situated between the SSP 104 and a number of SCPs (i.e. SCP 400, SCP 402, and SCP 404, respectively).
  • the services 406, 408 and 410 can be distributed over different SCPs.
  • FIG. 3 and FIG 4 depicting the physical network architectures are merely illustrative of the architectures that can be utilized with the various methodologies.
  • the MP could also be part of the SCP or alternatively part of the SSP rather than a separate network component.
  • the term “mediation point” (I e. MP) is used solely to designate the platform which supports the feature interaction manager Use of this term does not imply that any other types of "mediated access” is present
  • the term “gateway” could also be used to designate this platform Available Triggers
  • Triggers 1 16 may be subscribed (i.e. subscriber- based) or office-based. If a trigger 1 16 is subscribed, then only calls originating on a facility or facility group that subscribes to that trigger 1 16 or terminating to a Directory Number/Call Type (DN/CT) that subscribes to it can encounter it If a trigger is office-based, any call that meets the trigger criteria encounters the trigger
  • DN/CT Directory Number/Call Type
  • T ⁇ ggers 1 16 can occur du ⁇ ng originating call processing or during terminating call processing Du ⁇ ng originating call processing, triggers 1 16 can occur at any one of the following TDPs- (I) Origination Attempi - after the SSP 104 received a call setup request (e g off-hook), (n) Information Collected - after the SSP 104 has enough information to process the call, (in) Information Analyzed -after the SSP 104 has analyzed the information received, and (iv) and Network Busy - when all routes associated with an Automatic Flexible Routing Table aie unavailable
  • Triggers onginating during call piocessing that may be multiply-subscribed by thud-party seivicc providers include (a) Olf Hook Delay (OHD), (b) 3/6/10 Public Office Dialing Plan (3/6/10 PODP), ⁇ c) Public Office Dialing Plan Feature Code (PODP PC), and (d) N i l
  • An OHD trigger is a subscribed trigger which is detected when the SSP receives enough information to process the call, except that this tngger shall not be detected if the information received violates the dialing plan in force
  • the TDP is Informauon Collected
  • the SSP shall detect a this trigger on any call with access to the PODP when the appropriate North American Numbering Plan (NANP) number is dialed
  • NANP North American Numbering Plan
  • the 3/6/10 PODP trigger is office-based and the trigger criteria aie specified in 3-, 6- or 10-d ⁇ g ⁇ t patterns
  • Examples of 3/6/10 Digit triggers are NPA codes, Service Access Codes (e g 700. 800, and 900), NPA-NXX codes, Service Access Code-NXX codes, or NPA-NXX-XXX codes.
  • the TDP is Information Analyzed
  • the SSP shall detect a N l 1 Trigger on any call with access to the PODP when a designated N 1 1 number is dialed.
  • the N 1 1 trigger is office-based and the TDP is Information Analyzed.
  • a trigger that occurs during terminating call processing is a Termination Attempt (TAT) (i.e. when the SSP recognizes that a call is to terminate to a Directory Number (DN) on the switch).
  • TAT Termination Attempt
  • DN Directory Number
  • a call encounters a trigger when the following conditions are met: ( 1 ) call processing has reached the appropriate TDP; (2) either the trigger is office-based or the trigger is subscribed and the call is originating from a subscribing facility or is terminating to a subscribing DN/CT; (3) the trigger criteria are met; and (4) the trigger is active (i.e. armed).
  • the types of third party services having simultaneous access to a multiply-subscribed trigger are classified into several service categories.
  • the types of services that may be provided at SCPs and made available to subscribers can be classified into at five categories: ( 1 ) Screening services; (2) Routing services; (3) Call logging services; (4) Data display services; and (5) Forwarding services.
  • the Routing services can be further classified into Number Translation services and Carrier Selection services.
  • Each service provided at a SCP contains one or more of these categories. If a service provided at a SCP contains only one of these features it is called a single category service. If a service contains more than one of these features, it is called a multiple category service (which is the subject matter of the Section II).
  • a screening service may be based on either an originating trigger, or a terminating trigger
  • a screening service is one that screens incoming or outgoing calls based on some information pertaining to the incoming or outgoing call If the call passes the screen, call processing is allowed to continue. If it fails the screen, the call is routed to an announcement and/or disconnected. For example, screening of incoming calls may be based on the Calling Party Number (1 e. the telephone number of the party placing the call), while screening of the outgoing call may be based on the Called Party Number (i e. the telephone number of the party being called) Screening services may require that parties to these calls be able to enter additional digits (such as Personal Identification Numbers (PINs)). so that calls initially tailing the screen will pass the screen based on the additional information
  • PIN is a combination of alphanumeric characters entered by the subscriber
  • Routing Services A routing service is based on an originating t ⁇ ggei
  • a routing service routes an outgoing call to eithei a different DN, ⁇ i to an alternative carrier, foi delivery
  • a number translation service is based on an originating trigger
  • a number translation service routes an outgoing call to a different DN for delivery
  • a carrier selection service is based on an originating t ⁇ ggei
  • a carrier selection service loutes an outgoing call to an alternate carrier for delivery
  • a call logging service may be based on either an originating trigger, or a terminating trigger
  • a call logging service keeps a record of incoming or outgoing calls, based on criteria that may be specified as part ot the service. Criteria may include the Called Party Number or Calling Party Number, as well as the time at which the call was placed (received)
  • Data Display Services A data display service is based on a terminating trigger. A data display service displays information to the called party about an incoming call. Examples include Caller ID (i.e. identifies the telephone number of the calling party) and Calling Name Delivery (i.e. identifies the name of the calling party).
  • a forwarding service is based on a terminating trigger. A forwarding service forwards an incoming call to another DN or location. Only unconditional forwarding services are allowed (i.e. calls cannot be forwarded on busy or no answer).
  • the categories of third party services described above need to be further refined for the purpose of developing controlling algorithms. Distinguishing services offered on the originating trigger from those offered on the terminating triggers, and also services which are subscribed (i.e. active on a particular subscriber's line) from those which are office-based (i.e. active for anyone who dials specific characters) must be established. TABLE I enumerates those service categories (together with trigger and allowed response messages) which are important in developing the controlling algorithms.
  • the response message column contains the response messages that are typical in an AIN environment and SCPs typically should return these in response to queries from the MP. Any other response messages other than those in TABLE 1 will be treated as exceptions.
  • One illustrative embodiment of a first methodology in accordance with the present invention to generate controlling algorithms includes three phases service classification, as just discussed, algonthmic development, and pre-provisioning analysis This first methodology allows only two SCPs to have simultaneous access to a single trigger
  • the second phase of the methodology describes how a controlling algorithm is defined for some particular combination of service categories having simultaneous access by two SCPs to a single trigger active on a particular subscriber's line
  • These algorithms embody the controlling logic, and are needed to define the interactions between an SSP and these SCPs when a particular trigger is encountered
  • These algorithms will form the basis of management capabilities that must be deployed to support simultaneous access
  • the minimum amount of knowledge required to apply the methodology during the second phase consists of knowing the classification of the services having simultaneous access to a particular trigger (for some subscriber).
  • the algorithm specified during this phase may or may not be dependent upon additional subscriber-specific information about how the services should behave together when the relevant trigger is encountered.
  • Subscriber-dependent means that they depend on knowledge of subscriber expectations about how the services are to behave when the relevant trigger is encountered. However, because subscriber-specific information is unavailable du ⁇ ng this phase, the methodology allows the generation of subscriber-dependent algorithms based upon assumptions about these subscriber expectations which are embodied in various default rules The algorithms need to embody the logic necessary to provide (at minimum) a determination of whether the service providers may be queried simultaneously (order independence), oi whether they must be queried sequentially (order dependence). For sequential queries, determination of query order, and mediation actions after receiving each SCP response is necessary. For simultaneous queries, formulation of a single response to the SSP after receiving all SCP responses is required
  • FIG 5 and FIG 6 show the flow of communication between the SSP, an interposed MP shown for this illustrative embodiment, and SCPs when the SCPs are queried simultaneously and sequentially, respectively.
  • the flow of communication is labeled by arrows and the event numbers delineate the order for which the events will occur.
  • the SSP 104 encounters a trigger 1 16 and sends a message to the MP 200 over data link 504.
  • the MP simultaneously sends a message to SCP 500 and SCP 502 using data links 506 and 508, respectively.
  • SCP 500 returns a response to the MP 200 using data link 506
  • SCP 502 returns a response to the MP 200 using data link 508.
  • the MP 200 then formulates and returns a response to the SSP 104 which then routes the call.
  • FIG 6 shows the flow of communication when SCPs are queried sequentially
  • the SSP 104 encounters a trigger 1 16 and sends a query to the MP 200 over data link 604.
  • the MP 200 queries one SCP at a time according to some sequence, waiting for a response before querying the next SCP.
  • the MP 200 formulates a message to be sent via data link 606 to SCP 600 at event 2
  • the MP 200 awaits a response from SCP 600 at event 3
  • the MP 200 will query the second SCP 602 al event 4 over data link 608 and await a response from SCP 602 at event 5
  • the MP 200 will then formulate a response to be returned to the SSP 104 at event 6 concerning instructions for processing the call
  • the SCP 602 may not be queried and a response will be formulated and returned to the SSP 104 Common Logic Template
  • Algorithms specified during the second phase are based on a common logic template.
  • This logic template embodies a generic logic flow that each algorithm incorporates.
  • the methodology specifies how each of these knowledge intensive tasks are to be resolved In other words, what distinguishes one algorithm from another is the way in which each of these knowledge intensive tasks are resolved.
  • FIG 7 illustrates the common logic template that will serve as the basis for defining algorithms for controlling communications with multiple SCPs when these providers have simultaneous access to a particular trigger (for some subscriber).
  • This logic flow is illustrated in terms of tasks that must be performed by a controlling algorithm, together with the relationship between these tasks.
  • the logic template designates various tasks that must be resolved by the algorithm at run-time Some of these tasks are generic in the sense that they do not depend upon any service-specific or subscriber-specific knowledge. For instance, one of the decision points in the template depends upon whether digit collection is required To resolve this, it is assumed to be sufficient tor the algorithm to determine whether a Send_To_Resource message has been received f rom the SCP with the ResourceType parameter set to 1
  • Task 1 Simultaneous, Sequential, or Single Query and Task 2' Determine First SCP
  • the MP receives a query message from the SSP.
  • the MP Upon receiving a query message from the SSP, the MP is assumed to identify the particular subscriber from which the query message originated, the trigger encountered, and the SCPs having simultaneous access to that trigger.
  • the controlling algorithm must determine whether these SCPs are to be queried simultaneously, sequentially, or whether only one SCP will be queried. Sequential querying would be appropriate when the decision to invoke one service is dependent upon the results returned by a previously-invoked service, or when one service depends upon specific information generated by another service Otherwise, it may be appropriate to query the services simultaneously.
  • the services may be incompatible, in which case only one service should be queried.
  • the Query Order and Default Rule tor the two services having simultaneous access to a particular trigger are given in TABLE 2
  • the two services are arbitrarily labeled as Service A and Service B. Each is assumed to fall into one of the service categories defined in TABLE 1.
  • the Query Ordei given in the third coiumn of TABLE 2 specifies whether the SCPs should be queried in sequential order, or whether the SCPs can be queried simultaneously, or whether the decision is subscriber dependent.
  • the fourth column of TABLE 2 provides a Default Rule to be used in specifying a choice in the absence of additional subscriber information. This additional information may be obtained during the third phase, the pre-provisioning analysis, du ⁇ ng which a subscriber-dependent algorithm is verified or updated on the basis of this information
  • the decision to query the SCPs sequentially or simultaneously at decision block 702 satisfies Task I of the logic template.
  • Task 2 (the identity of the SCP to be queried first) located at processing block 704, is also resolved by reference to TABLE 2. Query of the first SCP and receiving a response occur at processing block 706.
  • the algorithm must determine, in Task 3, what is to occui after a response is received from a SCP. There are two choices that can be made at this poinf do not query another SCP but immediately return a response message to the SSP (processing block 718) or query another SCP (blocks 720 to 724)
  • Task 5 Pass Information From SCP A to SCP B 7
  • Task 7 Determine Response to SSP (Simultaneous Query)
  • Simultaneous queries may be applicable for the following service combinations.
  • Both SCP A and SCP B perform a forwarding service, 3 At least one SCP performs a logging service,
  • Both SCP A and SCP B perform a data display service.
  • the following sections describe the rules for determining the MP's response to the SSP for each of the above combinations.
  • each routing service docs one of the following routes the call to another DN, routes the call to an alternative carrier, or does not route the call There are then six cases to consider, as depicted in the TABLE 3
  • the MP can return Anaiy7e_Route to the SSP using the same parameter values as carried in the Analyze_Route message returned from either SCP.
  • the MP returns Analyze_Routc to the SSP using the parameter values contained in the Analyze_Route message returned from the SCP that routes the call to an alternative carrier.
  • the MP returns Analyze_Route to the SSP using the value of CalledPartylD contained in the Analyze_Route message returned from the SCP that routes the call to a different DN.
  • the MP returns Analyze_Route to the SSP. But, because both SCPs are attempting to route the call to an alternative carrier, the call can only be routed to one of them.
  • the criterion for selecting an alternative carrier is arbitrary. However, one option would be to route the call to the carrier designated by the approp ⁇ ate parameter contained in the Analyze_Route message returned by most-recently-subsc ⁇ bed-to routing service.
  • the MP returns Analyze_Route to the SSP using the value of the carrier selection parameter returned by the SCP that is attempting to route the call to an alternative carrier, and using the value of the CalledPartylD parameter designated by the SCP that is attempting to route the call to a different DN
  • the MP returns Analyze_Route to the SSP But. because both SCPs are attempting to route the call to a different DN, the call can oniy be routed to one of them.
  • the criterion for selecting the new CalledPartylD is arbitrary. However, one option would be to route the call to the CalledPartylD parameter contained in the Analy/e_Route message returned by the most-recently-subsc ⁇ bed-to routing service.
  • the MP returns Forward_Call to the SSP, using the parameter values contained in the Forward__Call message returned from the appropriate SCP.
  • Al Least One Logging Service If there is at least one logging service, return to the SSP the response message received from the service that does not perform the call logging function. If both SCPs provide a logging service, return the response message received from either one of them
  • Two Data Display Services A rule is used to determine a single response message from the MP to the SSP when two data display services are simultaneously queried.
  • One possible criteria to use in determining which parameter values to return, when the two SCPs return different values for the same parameter, is to use the values returned by the SCP having the service that was most recently subscribed to Phase 3 - Pre-Provisioning Analysis
  • the third phase of the methodology tor two SCPs having a single category service is called the pre-provisioning analysis phase.
  • This phase typically take places prior to the actual deployment of a controlling algorithm at a MP (for some particular subscriber).
  • This phase would only be necessary for updating subscriber-dependent algorithms to account for additional subscriber-specific information
  • the purpose of this phase is to obtain subscriber-specific information needed to resolve certain of the knowledge intensive tasks contained in subscriber-dependent algorithms Subscriber-dependent, as previously discussed, means that its operation depends largely on how a subscriber who is a customer of this pair of third party services, might expect the services to work together when a multiply-subscribed trigger is encountered
  • a subscriber-dependent algorithm relies on the knowledge about subscriber expectation to function properly Nevertheless, if this knowledge is unavailable, the methodology in the second phase offers default rules which embodies assumptions about how a subscriber wants a services pair to work But this may or may not be what a subscriber really wants As a result, pre-provisioning analysis is recommended for the subscriber-
  • pre-provisioning analysis for a particular pair of third party services active at a multiply-subscribed trigger, determine whether or not the corresponding algorithm is subscriber-independent using TABLE 5 or subscriber-dependent using TABLE 6 If the algorithm is subscriber-independent, no further modification of the algorithm is needed If the algorithm is subscriber-dependent, obtain subscriber expectations about services to allow selection of either the default rule or the alternative rule for determining query order If the default rule is selected, use the existing algorithm as the basis of the controlling logic for that subscriber s trigger If the alternative rule is selected, modify the algorithm so that the query ordering is based on the alternative rule TABLE 5
  • a second illustrative embodiment of a methodology entails when a SCP may offer multiple category services
  • the first phase of the methodology is service classification Given the service classification scheme developed previously, a set of ten multiple category services are set forth that are expected These service categories can be defined as follows 1. Screening + Logging Service- This is a screening service that also logs calls that pass/fail the screen.
  • Routing + Logging Service This is a routing service that logs calls that are routed
  • Screening + Routing Service This service performs both a screening function and a routing function. There are three possible outcomes of this type of service namely, the call is rerouted, so that the service returns Analyze_Route with changed values of the CalledPartylD and/or Primary Carrier parameters. Call routing is unchanged by the service, and the call is disconnected. If the Call Routing is unchanged by the service, the service returns Analyze_Route. with no changes in the CalledPartylD or Primary Car ⁇ ei parameter values. If the call is disconnected, the service returns Send_To_Resource with the Disconnect flag set, or else returns Disconnect
  • this type of service will depend upon which trigger it is provisioned on For instance, if the service is provisioned on a subscribed trigger such as OHD and the screen fails, the call will not be routed, but the call may still be completed (to the Called Party Number originally dialed) Thus, the service may return Analyze_Route to the MP, containing the CalledPartylD and Primary Carrier parameters that were originally carried in the Info_Collected message sent to the SCP
  • screening + routing service is provisioned on an office-based trigger such as 3/6/10 PODP, then the originally dialed digits will route the call to the SSP in which the office-based trigger is active. At that point, the dialed digits must be translated in order for the call to be completed to its intended destination. If the screening portion ol the service fails, the routing portion of the service is not executed In that case, the call cannot be completed, and is disconnected. If this happens, the service would return Send_To_Resource (with the Disconnect parameter set). Disconnect, or Continue. 4. Screening + Routing + Logging Service. This service performs similar to the screening + routing service, but it also logs all calls that satisfy some specified criteria.
  • Screening + Data Display Service This service is like a screening service. If the incoming call passes the screen, then the call is terminated, and information about the call is displayed. If the incoming call fails the screen, then it is rejected.
  • Screening + Forwarding Service This service performs both a screening function and a forwarding function There are typically three possible outcomes of this type of service: a) The incoming call terminates normally on the called party's line The screening+forwarding service returns Autho ⁇ ze_Term ⁇ nat ⁇ on. b) The incoming call does not complete to the called party, but is disconnected. The service returns either Send_To_Resource (with DisconnectFiag parameter set ) or Disconnect, c) The incoming call is forwarded The service returns Forward_Call
  • Screening + Logging + Data Display Service 1 This service performs similar to the screening+data display service, with the additional capability that incoming calls are also logged.
  • the second phase of the methodology is algorithmic development
  • the same logic template of FIG. 7 will be used for this illustrative embodiment.
  • the remainder of this section is devoted to describing how the knowledge intensive tasks in the previous section can be extended to handle these multiple category services Task L Simultaneous. Sequential, or Single Query and Task 2: Determine First SCP
  • the dominant service category is the single service category that will dominate the behavior of a multiple-category service when determining query order.
  • the dominant service categories of the multiple-category services previously defined are shown in the second column of TABLE 8
  • Task 3 Determine Subsequent Action (Sequential Query )
  • a rule specifies the subsequent action that should be taken if sequential querying was determined in Task 1 and a response from a SCP has just been received by the MP Task 4: Return Response lo SSP (Sequential Query)
  • a rule specifies the response message the MP will return to the SSP when either single category or multiple category services reside at a SCP
  • Task 5 Pass Information From SCP A to SCP B°
  • the information that needs to be passed is exactly the same as that for the single category services, i e pass CalledPartylD, CallingPartylD, and Primary Carrier parameters from the first SCP to the second SCP
  • Task 7 Determine Response to SSP (Simultaneous Query)
  • Both SCP A and SCP B perform a forwarding function 3 At least one SCP performs a logging function. 4. Both SCP A and SCP B perform a data display function.
  • the third phase of the methodology is pre-provisioning analysis.
  • the same pre-provisioning analysis described for the methodology for single category services can be used.
  • TABLE 7, previously discussed can be applied to multiple category services by simply treating each service as the dominant categories in TABLE 8
  • the third illustrative embodiment of a methodology handles any number of SCPs with each SCP supporting a single service category.
  • the methodology can be used to generate the controlling logic for a set of subscribed services on a trigger This controlling logic is provisioned on a per-subscriber basis because each subscriber may choose a different set of services, or the same set of services but with different expectations about the behaviors of those services
  • the methodology is based on the idea that a controlling logic is implied by four things, namely: ( 1 ) the service categories present at the SCPs, (2) the way in which those services should behave together; (3) the way m which the SCPs are queried; (4) and a logic template that specifies the processing tasks that must be done so that a given query ordering results in a given services behavior.
  • FIG. 8 illustrates the overall relationship between the different components of the methodology. Behavioral options and query options in processing block 802 are dependent upon the service categories located in processing block labeled 800 that are invoked when a trigger is encountered These behavioral options and query options are then implemented within a subscriber record 804 accessible to the MP.
  • Controlling Logic Execution Engine embodies the logic template and the task rules, and together with the information in the subscriber record 804. may be termed the controlling logic Phase 1 — Triggers and Service Categories
  • the first phase of the methodology is to identify triggers which may be multiply-subscribed, and the service categories present at SCPs having simultaneous access to these t ⁇ ggers.
  • the same triggers for the methodologies previously discussed can be utilized. Services present at each SCP which are invoked by these triggers are assumed to belong to a common set of service categories
  • each of the triggers associates with the corresponding categories of service that may be invoked by that trigger. Also included in the table are the TDPs at which the trigger is encountered, and the messages which the SCP would be expected to return in response to the associated query message. As illustrated in TABLE 9, each service category is associated with some (but not necessarily all) of the triggers For instance, a number translation service is associated only with OHD, PODP FC, 3/6/10 PODP, and N l 1 triggers, while a forwarding service is associated only with TAT trigger
  • Pre-provisioning analysis contains the heart ot the methodology, and must be carried out before the controlling logic can actually be implemented on a MP
  • Pre-provisioning analysis describes how a set of behavioral and query options may be generated for some set of service categories having simultaneous access to a trigger (one service category per SCP) Once these behavioral and query options have been defined, a selection mechanism may be used for the selection of a specific behavioral and query option.
  • the first phase of the pre-provisioning analysis is the generation of behavioral options.
  • a behavioral option In order to specify a controlling logic for some set of service categories operating at the same trigger, a behavioral option must be chosen.
  • a behavioral option is defined by the behavioral relationship between each pair of services in the set.
  • the complexity of a behavioral option generally increases as the number of SCPs increases.
  • a behavioral option refers to the joint behavior of the services operating at different SCPs. as perceived by a subscriber, when the associated trigger is encountered. For example, a screening service operating at one SCP may screen outgoing calls based upon a DN generated by a number translation service operating at a different SCP, or instead may screen calls using only dialed information. Calls passing the screen would then being rerouted using information generated by the number translation service.
  • a methodology for generating candidate behavioral options for a given set of service categories is presented as follows.
  • Determination of a set of behavioral options begins by specifying the number of SCPs which will have simultaneous access to some trigger, and then identifying the service category present at each SCP. For a given set of service categories, enumerate all possible pairs of these service categories. For each such pair, one or more behavioral relations may be defined between members of the pair. Each behavioral relation represents one possible way in which the two service categories may affect each other's behavior. In general, the behavioral relations which can be defined between each pair of service categories will depend on the definition of the service categories themselves
  • a behavioral option represents the observed behavior of the services when they are jointly invoked by the same trigger. Therefore, a behavioral option consists of a specific set of behavioral relations for each pair of service categories making up the set. Candidate behavioral options for the given set of service categories are constructed by forming all possible combinations of behavioral relations for all pairs of service categories. O 97/50232 PCI7US97/11040
  • a ⁇ B The behavioi of B depends on information generated by A
  • a I B A and B act independently and do not affect each other ' s behavior
  • a ! B A may disable B by disconnecting the call
  • a # B. A is incompatible with B (i e , A and B attempt to influence call processing in mutually exclusive ways)
  • TABLE 10 shows the behavioral relations which arc possible
  • the method of constructing behavioral options is illustrated by providing an example.
  • SCPs contain the following service categories: screening, number translation, and carrier selection.
  • behavioral option 4 may be written as ⁇ NT ⁇ CS, S ! NT, S' CS ⁇ Method tor Generating Query Options
  • Query options refer to decisions about how the various SCPs are to be queried.
  • Query options are associated with specific behavioral options. For each behavioral option chosen, there may be more than one query option.
  • query options are limited to two alternatives: simultaneous or sequential querying.
  • query options become more complex as the number of SCPs increase. For example, given three SCPs X, Y, and Z, suppose the particular behavioral option chosen may require that the service at Y depends on information produced by the service at X. One query option might therefore be to query X first, wait for a response, then query Y and Z simultaneously (with the output of X as input to Y only). Another query option would be to query X and Z simultaneously, and then query Y using information generated by X. Yet another query option would be to query all three SCPs in sequential order: X first, then Y, then Z. While all three options could produce the same overall services behavior, the differences between these options is reflected in the amount of processing overhead required at the MP to manage the queries and responses. In other words, a given behavioral option and an associated query option together specify a controlling logic.
  • the first step in this process is to translate each behavioral relation making up a potential behavioral option into one or more precedence relations.
  • Each precedence relation specifies a particular ordering in which the two SCPs associated with each pair of service categories can be queried and still maintain the pairwise behavioral relation between the services. If any potential behavioral option contains incompatible behavioral relations, then this behavioral option must be modified so that one of the incompatible service categories is excluded. This is accomplished during the conflict resolution criteria phase. Here it is simply assumed that no query options can be generated until the incompatible conflict is resolved (e.g., by selecting only one SCP to query while ignoring the other).
  • the dummy variable X represents the point in the controlling logic just prior to the simultaneous query
  • the dummy variable Y represents the point in the controlling logic after responses have been received from A and B
  • a potential behavioral option can be represented graphically in terms of the precedence relations between the service categories
  • the number translation (NT), carrier selection (CS), and screening (S) service categories are active at the same t ⁇ ggei
  • the behavioral option ( NT ⁇ CS, S ' CS, NT ⁇ S ⁇ That is, the behavior of a carrier selection service depends on the behavior of a number translation service, and a screening service can disable the earner selection service (and end the call) if the screen fails
  • the precedence relations that correspond to the three behavioral relations defined in this behavioral option are NT ⁇ CS; NT ⁇ S; S ⁇ CS OR X ⁇ S ⁇ Y and X ⁇ CS ⁇ Y
  • the node 1200 (containing NT) connects to the node 1202 (containing CS) via unidirectional link 1204.
  • the node 1206 (containing S) connects to node 1202 (containing CS) via unidirectional link 1208
  • the node 1200 (containing NT) connects to node 1206 (containing S) via unidirectional link 1210 With reference to FIG.
  • the node 1300 connects to the node 1302 (containing X) via unidirectional link 1304
  • the node 1302 connects to node 1306 (containing S) via unidirectional link 1308 and also to node 1310 (containing CS) via link 1312.
  • Both nodes 1306 and 1310 connect to node 1314 (containing Y) via links 1316 and 1318 respectively.
  • NT is depicted as preceding X instead of directly preceding CS, even though the precedence ordering between NT and CS is NT ⁇ CS and no precedence ordering is defined above between NT and X
  • the dummy variable X should be interpreted as the "entrance” to either S or CS
  • the dummy variable Y should be interpreted as the ' " exit” fiom either S or CS
  • the arrow would be drawn from Y to Z rather than from S to Z
  • the next step is to determine whether the precedence lelations tor a potential behavioral option form a partial orde ⁇ ng. If they do form a partial ordering, the potential behavioral option is valid (i e , no inconsistencies) and therefore one or more query options exist. If they do not form a partial ordering, the potential behavioral option is not valid No query options or controlling logic then exists
  • a partial orde ⁇ ng of a set S is a relation between objects of the set, which may be denoted by the symbol " ⁇ " (precedes), satisfying the following properties for any objects x, y, z in S
  • FIG 14 is a graph which is not a partial orde ⁇ ng
  • Node 1400 (containing a) connects to node 1402 (containing b) via unidirectional link 1404 and also to node 1406 (containing c) via unidirectional link 1408
  • Both nodes 1402 and 1406 connect to node 1410 (containing d) via unidirectional links 1412 and 1414 respectively
  • Node 1410 also connects to node 1400 via unidirectional link 1416
  • the potential behavioral option depicted in FIG 1 1 forms a partial orde ⁇ ng, and hence corresponds to a true behavioral ordering having one or more query options
  • the potential behavioral option represented by FIG 12 and FIG 13 is also a true behavioral option, since no directed cycles exist between any of the nodes
  • the behavioral relation S ' CS can be represented by two precedence relations, both of the graphs must be checked for directed cycles
  • the next step is to use these results to actually generate the query options
  • the tabie will contain a set ol service categories for as many iterations as is needed to eliminate all the nodes. All the SCPs corresponding to the service categories identified in iteration 1 may then be queried simultaneously. Following this, the SCPs corresponding to the service categories identified in iteration 2 may be queried simultaneously, and so on
  • TABLE 15 shows the TABLE 14 filled in after three example iterations.
  • the number of query options generated will be equal to the number of directed graphs generated for each behavioral option. So, for example, when a screening service is present and screening can disable one of the other services (S ! X), at least two directed graphs will be generated because there exist two precedence orderings which correspond to this behavioral relation (as shown above). Therefore, at least two query options will exist.
  • dummy variables are needed to represent the precedence relations corresponding to the behavioral relation S ! X (i.e., screening disables service X), the dummy variables are treated as any other node in the graph when this procedure is applied. However, after TABLE 14 is completed and the service categories are listed for each iteration, the dummy variables are simply discarded when forming the query option corresponding to the table entries.
  • FIG. 1 1 depicts the precedence relations corresponding to the first behavioral option Applying the procedure described above, TABLE 16 is derived.
  • the corresponding query option is NT ⁇ CS ⁇ S
  • the corresponding query option is NT ⁇ S ⁇ CS.
  • TABLE 18 is derived by applying the procedure to FIG. 13
  • Score S is defined to be equal to a weighted sum of these three factors which pertain to query options: ⁇
  • Score E * we ⁇ ght(E) - C * weight (C) + P ⁇ weight (P) High scores correspond to better query options, while low scores correspond to worse query options.
  • the three scoring factors E, C, and P have the following properties: — E is high if the number of potentially unnecessary queries is small.
  • the descriptors high, low, fast, and small are by definition highly subjective.
  • a potentially unnecessary query to some SCP is one that may not result in any affect on call processing. It can be defined more formally by saying that a query to a SCP with service X is potentially unnecessary if:
  • P is related to the response time.
  • One way to further evaluate response time is to determine how many simultaneous queries exist in a query option under evaluation.
  • a simultaneous query could always have been performed as a number of sequential queries. But, since a simultaneous query of three SCPs, say, takes place in only one step, whereas a sequential query of three SCPs takes place in three steps, simultaneous queries in general will be faster than the corresponding sequential queries.
  • a given query option may cycle through these steps one or more times. Each such cycle generates some cost. Next then associate the cost of a query option with the complexity of the query encountered on each cycle. On each cycle, the query performed can be categorized as follows (in order of decreasing complexity)-
  • Sequential query in which the first SCP must pass information to the second SCP, or where the service at the first SCP queried can disable a service at the next SCP to be queried.
  • a C for each query option may be assigned by the following two-step procedure
  • the behavior option and query option are implemented within a subscriber record accessible to the MP
  • the MP retrieves the subscriber record in order to determine how the services are to jointly behave and what manner the SCPs are to be queried.
  • FIG 15 shows one illustrative embodiment of a subscriber record
  • the MP looks at the subscriber record, it will see a subscriber id 1500, trigger id 1502 (which identifies the trigger), and two service categories, service category A 1506 and service category B 1510 associated with the tngger id 1502
  • Service categoiy A 1506 is associated with a service provider A 1504
  • service category B 1510 is associated with service provider B 1508
  • the behavior option 1512 and its associated query option 1514 are also part of the subscriber record and are used as an input to the logic template to specify the controlling logic Phase 3— Controlling Logic
  • the next phase entails specifying a controlling logic for the management of communications between an SSP and several SCPs (via a MP), when a multiply-subscribed trigger is encountered
  • the controlling logic will form the basis of management capabilities that must be deployed at an MP to support simultaneous access
  • a controlling logic Given the categories ot the services present at the SCPs having simultaneous access to a particular trigger, as well as the behavioral option and query option representing the services behavior located in the subscriber record, a controlling logic can be generated This controlling logic completely determines how the MP responds to the information it receives from the SCPs that are queried, as well as how the MP should respond to the SSP with a single response message tor subsequent call processing Each controlling logic is based on a common logic template which defines the tasks that must be performed by the controlling logic, and the relationship between those lasks
  • FIG 16 illustrates the common logic template that will serve as the basis for defining a controlling logic for managing communications between the SSP and several SCPs (via the MP) when these SCPs have simultaneous access to a particular t ⁇ ggei (tor some subscriber)
  • This logic flow is illustrated in terms of tasks that must be performed at the MP, together with the relationship between these tasks
  • a controlling logic will be specific to the information located in the subscriber record (l e the service categories having simultaneous access to the subscriber's trigger and the service behavior and query
  • the controlling logic will be executed at the MP when the MP receives a query message from the SSP indicating that a multiply-subscribed trigger has been encountered
  • Some of these tasks indicated in the logic template are generic in the sense that they do not depend upon any service-specific or subscriber-specific knowledge For instance, one of the tasks shown is a decision point in which it must be determined whether additional digit collection is required To resolve this, it is assumed sufficient to simply determine whether a Send_To_Resource message has been received from the SCP with the ResourceType parameter set to 1
  • the template shows that first step to be lo receive a query from the SSP at processing block 1600 After that, at processing block 1602, the selection of a behavioral option and query option (i.e., the task labeled as 1 ) occui s At processing block 1604 , the Next Query Operation must be determined.
  • a query operation refers to the query that must be performed at this point in the logic flow There are two alternatives, namely, either a single SCP is to be queried, or several SCPs are to be queried simultaneously
  • the MP upon receiving a query message from the SSP at processing block 1600, the MP identifies the particular subscriber from which the query message originated, the trigger encountered, and the service providers having simultaneous access to that trigger using the subscriber record.
  • the subscriber record also identifies the particular behavioral option and query option that will be applicable at processing block 1602.
  • the next step in the template is a decision block 1604, labeled Next Query Operation?.
  • a single SCP may be queried and a response received as in processing block 1606, or several SCPs may be queried simultaneously as shown in processing block 1608.
  • the choice of whether to query a single SCP or several SCPs is specified by the query option located in the subscriber record.
  • each query option is composed of one or more "cycles". Each cycle simply specifies the SCPs that will be queried at a single point in time. For instance, for the query option W ⁇ X. there are two cycles, since W and X are queried at two separate points in time. For the query option W ⁇ (X, Y) ⁇ Z there are three cycles, with two SCPs queried simultaneously in the second cycle.
  • the SCPs in the current cycle are then queried, and the controlling logic awaits responses from each of the SCPs. After the responses have been received, the next step in the logic flow at decision block 1610, "Digit Collection Required?".
  • One or more of the services queried may request further information be provided in the form of additional digits collected from the subscriber. This is indicated by the responses received from the SCPs. Normally, such a request can only be made by a screening service, and that the information is necessary so that the screening service can ultimately return a response indicating either "pass” or "fail".
  • Task 2 Collect Digits and Return to Appropriate SCP
  • the logic flow moves to blocks 1612 through 1616 If additional information is required, the controlling iogic is assumed to return a Send_To_Resource message to the SSP with the ResourceType parameter set to 1 , indicating that an announcement should be played and digits collected If only one SCP is queried on the current cycle, and this SCP is requesting further information, then the MP returns the collected digits to the SCP that was last queried If two or more SCPs were simultaneously queried on this cycle and one (or more) is requesting additional information, then the controlling logic must direct the SSP to collect the information, while at the same time recording the responses received from the othei SCPs When the collected digits are returned to the MP, the controlling iogic must direct the MP to send the information to the requesting SCP At processing block 1612, Send_To_Resource is returned to the SSP Next at processing block 1614, collection of digits occurs and the return to the appropriate SCP and finally at piocessing
  • the controlling logic must determine whether any additional SCPs must be queried This is done at the decision block 1618 of the controlling logic labeled Task 3 (Query Another SCP?) The knowledge necessary to determine whether additional SCPs are to be queried depends upon the query option and the current cycle A rule is applied to determine whether any additional SCPs are to be queried
  • Task 4 Determine Information to Pass in Next Query Operation Determining whether information needs to be passed in the Next Query Operation at processing block 1624 depends upon the behavioral option and the query option After this is accomplished, the logic flow returns to processing block 1604 Task 5 Determine Response to SSP
  • conflict resolution criteria are necessary when two or more SCPs contain services which may conflict with each other (I e , they attempt lo influence call processing in a contradictory manner)
  • Conflicts occur when two or more SCPs containing number translation services, carrier selection services, forwarding services, or (possibly) data display service may be invoked by the same trigger encountei
  • These services are conflicting because each may attempt to return different values tor the same piece of information (e g , CalledPartylD) needed for subsequent call processing Since only one such value can be returned to the SSP for call processing, some criteria is needed to resolve the conflict that would be caused if both services are activated
  • the particular criteria chosen would be reflected in the query option defined, and may also affect the controlling logic associated with that query option
  • one illustrative approach is based on the notion that the SCPs having simultaneous access to a particular trigger all contain services which are compatible with each other If, however, the behavioral relations between some pair of service categories indicates that the services are incompatible, then both of them cannot simultaneously influence call processing For example, two number translation services active on the same trigger are incompatible, because only a single CalledPartylD can affect call processing When incompatible services are active on the same trigger, the procedures and methodology described in this document will not generate query options, and therefore, a controlling logic
  • a different kind of conflict resolution cnteria are needed when several data display services exist at SCPs active on the same trigger In that case, the data display services are only in conflict if different services return different values for the same parameter All these SCPs to be queried because each may return a different piece of information for display Although a data display service does not affect call processing, only one value for a given parameter can be displayed on a display device Therefore, when the same parameter is assigned different values by different data display services, the conflict among these values must be resolved in the controlling logic If conflict resolution criteria are not provided, the controlling logic must assume some default, such as not displaying any value for conflicting parameters IV. UNIFYING PRINCIPLES
  • Sections I, II, and III have presented details of, respectively; (I) a single service category per SCP for a two-SCP system; (II) multiple service categories per SCP for a two-SCP system; and (III) a single category of service per SCP for a two or more SCP system.
  • underlying the methodology is a pre-provisioning analysis phase completed before the system is actually deployed in an operational system.
  • an expert in SSP-SCP service provisioning and feature interactions acting as a mentor, determines control options for each trigger indicative of service categories by capturing service interaction principles supplied by the services expert.
  • Sections ( I) and (II) the system mentor completes an additional step not present in Section (III), namely, system defaults are substituted for customer decisions.
  • each customer is offered options from the available control options, and the customer chooses from among the available control options so as to meet the expectations of the customer when the service is executed.
  • the selected control option controls execution of each of the service nodes, that is, SCP nodes, and each corresponding one of the service categories for the particular trigger with reference to the control options.
  • control options will include both behavioral options and query options.

Abstract

A method for managing communications between a service origination node (104) and a plurality of serving nodes (108, 202, 204) where the serving nodes (108, 202, 204) are simultaneously active for a particular trigger (116) to thereby generate a reply to the service origination node. The method includes the step of determining control options for each trigger indicative of service categories by capturing service interaction principles supplied by a serving node services expert acting as a mentor. The service interaction principles are based upon a requirement of executing service categories in each of the serving nodes for each trigger. The method also includes the step of controlling execution of each of the service nodes and the service categories for the particular trigger with reference to the control options to generate the reply.

Description

MANAGING FEATURE INTERACTIONS IN A TELECOMMUNICATIONS SYSTEM SUCH AS AN INTELLIGENT NETWORK
CROSS-REFERENCE TO RELATED APPLICATION
This is a nonprovisional application of provisional application Serial No. 60/020,554. FIELD OF THE INVENTION
The present invention relates to a telecommunications network and, more particularly, to a method for generating and using controlling logic for management of communications among nodes in an Intelligent Network (IN) such as the Advanced Intelligent Network (AIN) BACKGROUND OF THE INVENTION
The AIN is a network architecture used by all modern telephone switching systems in the United States. The AIN is applicable to all telecommunications networks (e.g. Public Switched Telephone Networks (PSTNs) including Integrated Services Digital Networks (ISDNs)), narrowband, broadband, packet-switched public data networks, and mobile telephone networks. FIG. 1 represents a simplified diagram of the AIN configured by a Local Exchange Carrier ( LEC) The components of the AIN include: ( i > a central office 102 containing a switching system 104 such as a Service Switching Point (SSP); ( n) a signaling network 106 composed of a multi-level hierarchy of Signal Transfer Point (STPs) which act as intermediate switching nodes; and (iii) a Service Control Point 108 (SCP) which contains a centralized database. Each of the central offices 102 is equipped with a SSP 104. In, AIN, the SSP 104 is a switch that can recognize a call that requires AIN processing by the SCP 108.
To exemplify a service provided by the AIN, consider a customer placing a telephone call that requires special handling, such as a toll-free call (800 service). The call is intercepted by the switching system 104 which launches a query through the signaling network 106 to a centralized database located in the SCP 108. The database, in turn, retrieves the necessary information to handle the call, and performs a number translation to map the "logical" 800 number to a "physical" routing number The physical routing information is returned through the signaling network 106 to the switching system 104 so that the call can be completed. Number translation is an example of one of a plurality of so-called service categories defined for the AIN Each service category serviced by the SCP 108 is composed of the logic that handles the query/reply transaction between the SSP 104 and the SCP 108
FIG. 1 also shows multiple subscriber lines 1 10, typically on the order of 10.000 to 70,000 lines, which are connected to each central office 102 Each of the subscriber lines 1 10 are connected to a terminating piece of telephone equipment 1 12 This telephone equipment 1 12 can include telephone sets, facsimile machines, computers, and automatic dialers. Trunk circuits 1 14 interconnect the central offices 102 and are the voice path that connect inter-office communications when calls are completed
Triggering is the process used by the SSP 104 to identify calls that require special handling by the AIN. The SSP 104 has the appropriate hardware and software so that when a set of predetermined conditions are delected, the SSP 104 will encounter a trigger 1 16 in response to activity on the dialing lines A trigger 1 16 is an event associated with a particular subscriber line 1 10 that generates a query to be sent to the SCP 108. A trigger detection point (TDP) is a point in call processing where service logic can receive notification of a given event and influence subsequent call processing. The trigger 1 16 includes information for identifying particular subscriber lines 1 10 when a piece of telephone equipment connected to a line goes off-hook, commences dialing, etc Once a trigger 1 16 is encountered, the SSP 104 temporarily suspends call processing. Each trigger 1 16 generates a query in the form of a data packet launched by the SSP 104 to the SCP 108 to ask for instructions on how to handle the call and obtain the required call handling information. The data packet is first sent via bidirectional data links 1 18 utilizing the Signaling System 7 (SS7) protocol to the STP 106. The SS7 distributes data packets on an equal basis over multiple physical links that connect two points, namely the SCP 108 and STP 106. The STP 106 is a very high capacity, very reliable packet switch that can transport messages between network nodes such as the SSP 104 and SCP 108. The STP 106 essentially directs traffic on the network and routes the data packet to its intended destination (i.e. the SCP) via high speed data links 120.
The SCP 108 is a fault tolerant transaction processing system that contains various centralized databases that provide the appropriate call routing information and identify particular subscribers. The SCP 108 responds to a request (i.e. trigger) received from the SSP 104. The trigger 1 16 causes the SCP 108 to query its databases to determine whether some customer calling feature or enhanced service should be implemented for this particular call or whether conventional dial-up telephone service should provide for the call. The results of the database query are sent back in the form of a return packet over the data links 120 through the STP 106 and onward through data links 1 18 to the SSP 104. The return of the packet includes instructions to the SSP 104 on how to continue processing the call.
Open access to the AIN operated by LECs to third parties will exploit the capabilities and efficiencies of third party service providers and enable these third parties lo provide competitive telephone related services to local LEC subscribers.
Representative of an approach of the prior art which relates to providing open access to the AIN to exploit third party capabilities and efficiencies is the paper entitled "Solutions for Mediated Access to the Intelligent Network" by Wayne Heinmiller, Ron Schwartz, and Marianne Stanke disclosed at ISS '95, April 1995, Vol. 2. The paper proposed a service architecture that allows access to the IN from a SCP belonging to any service provider and defines a set of new network functions referred to as mediation which reside in a network element labeled the mediation point (MP). The resulting logical network architecture is shown in FIG. 2. The key attribute of this architecture is the MP 200 which is the point of interconnection for the service provider's SCP ( 108, 202, and 204 respectively) and the SSP 104. The MP 200 is situated between the SSP 104 and a number of SCPs (SCP 108, SCP 202, and SCP 204). Data link 206 connects the MP 200 to the SSP 104. Data links 208, 210, and 212 connect the MP 200 to the SCP 108, 202 and 204 respectively. The MP is intended to be transparent to the transactions between the SSP and SCPs.
So-called "feature interactions" in a distributed call processing environment such as the IN become a problem when using the architecture depicted in FIG. 2. The phrase "feature interactions" describes, for example, the outcome of an action which invokes execution by a plurality of SCPs servicing the features. For instance, if Λ represents a feature serviced by one SCP and B another feature serviced by another SCP, then different outcomes are possible if A and B are queried: (i) sequentially with A first; (ii) sequentially with B first; or (iii) simultaneously. Regarding this problem, the paper states that a successful solution must prevent destructive side-effects, support multiple independent service providers, and have no knowledge of the actual service particulars while satisfying all of the users' service requirements - ihis is a very difficult, if not impossible, task. In addition, the ability to combine services must be customizable to meet the particular needs of each user, and the ability to do so should be open to competition and not be the sole purview of the telephone administration.
After considering the above mentioned factors, the authors of the paper conclude that the need for a universal, generic solution to feature interactions is not possible, and probably not even desirable. Service providers want the resolution of feature interactions to be located outside the network, where any service provider can work with users to customize solutions based on that user's needs. Alternatively, the user can work with a "services broker" who will consult with the user to select one or more service providers and consider appropriate interactions. Since feature interactions often require a greater degree of communications, the authors foresee the need for direct SCP-to-SCP connections among service providers to mitigate feature interaction effects. The SCP-to-SCP connections would occur if the service providers determine it is to their benefit to deliver improved feature interactions to their customers.
To date, much of the other work accomplished to provide open access to the AIN operated by LECs has assumed that for any given subscriber (i.e. LEC customer who subscribes to one or more service categories invoked by a particular trigger), all service categories invoked by encountering a particular trigger would have to be provided by the same service provider system In other words, only a single SCP would have access to a specific trigger active on a given subscπbei s line A SCP can be owned by a LEC or a third party
There are problems inherent in only a single SCP having access to a specific trigger active on a given subscriber's line For example, this greatly limits the number of services or service combinations a subscriber may have, and diminishes the original intent of opening the AIN to third parties In addition, it allows one service providei to monopolize a particular trigger active for a given subscriber, because no othei service provider can subsequently provide a service to that subscriber using the same trigger. Thus, a need still exists to provide open access to the AIN so that capabilities and efficiencies of third parties can be exploited
Moreover, as elucidated above, the teachings and suggestions in the prior art suggest a universal, generic solution to the feature interaction problem is virtually impossible This pedagogy provided by the teachings and suggestions of the prior art serve as a point of departure from the art in accordance with the subject matter of the present invention. There are no known attempts to create a general methodology to generate and use controlling logic for management of communications among nodes in an AIN and, in particular, feature interactions in a SSP-multiple SCP environment SUMMARY OF THE INVENTION
These shortcomings and limitations of the prior an are obviated, in accordance with the present invention which is a method for managing communications between a service origination node and a plurality of serving nodes where the serving nodes are simultaneously active for a particular trigger to thereby generate a reply to the service origination node. The method includes the step of determining control options for each trigger indicative of service categories by capturing service interaction principles supplied by a serving node services expert acting as a mentor The service interaction principles are based upon a requiiement of executing at most one of the service categories in each of the serving nodes for each trigger The method also includes the step of controlling execution ol each ot the service nodes and each corresponding one of the service categories for the particular trigger with reference to the control options to generate the reply
The organization and operation of this invention will be better understood from a consideration of the detailed description of the illustrative embodiments thereof , which follow when taken in conjunction with the accompanying drawings BRIEF DESCRIPTION OF THE DRAWINGS
Vaπous embodiments of the present invention are described and illustrated herein with reference to the drawings in which like items are indicated bv the same reference designation, in which
FIG. 1 is a block diagram of a traditional AIN,
FIG. 2 is a block diagram of a prior art logical network architecture of the AIN which includes the functional element called the MP,
FIG. 3 shows an illustrative embodiment of a physical network architecture for multiple services on a trigger where the services reside on the same SCP;
FIG. 4 shows an illustrative embodiment of a physical network architecture for multiple services on a trigger where the services are distributed on multiple SCPs, FIG. 5 shows the flow of communication when two SCPs are queried simultaneously;
FIG. 6 shows the flow of communication when two SCPs are queried sequentially;
FIG. 7 illustrates the common logic template for defining algorithms for an illustrative embodiment of the invention;
FIG. 8 illustrates the overall relationship between the different components of an illustrative embodiment of the methodology of the present invention;
FIG. 9 shows the graphical representation of the precedence relation A < B;
FIG. 10 shows the graphical representation of the precedence relation X < A < Y and X < B < Y;
FIG. 1 1 shows a graphical representation of the precedence ordering! NT < CS, CS < S, NT< S | ;
FIG. 12 shows a graphical representation of the precedence ordering ( NT<CS, S<CS, NT < S } ;
FIG. 13 shows a graphical representation of the precedence ordering ( NT<CS, X<S<Y, X<CS<Y ) ;
FIG. 14 shows a graph which is not a partial ordering;
FIG. 15 shows an illustrative embodiment of a subscriber record; and
FIG. 16 illustrates the common logic template for defining controlling logic for an illustrative embodiment of the present invention. DETAILED DESCRIPTION
The present inventive subject matter focuses on the interoperability caused by service interactions in a multiple SCP environment. The complexity of the multiple SCP interoperability issues on a trigger depends on the number of SCPs (two, or more than two), and the nature of the services (containing a single category of features or multiple categories of features). Various illustrative embodiments of a methodology that enables LEC and/or other service providers to generate controlling logic for managing service interactions in a multiple SCP interopeiability environment are elucidated
A first illustrative embodiment ol a methodology is operational whenever there are only two SCPs having simultaneous access to a single trigger (per subscriber) and the services contain a single category of features
A second illustrative embodiment of a methodology is operational whenever there are only two SCPs having simultaneous access to a single trigger (per subscriber) and the services contain multiple categories of features
A third illustrative embodiment of a methodology is operational whenevei there are two or more SCPs and the sei vice contains a single categorv of features
To place in perspective the detailed description ol the present invention, ii is instructive to f irst focus on some illustrative embodiments of physical network architectures in which the various methodologies can be implemented FIG 3 shows an illustrative embodiment of a physical netwoi k architectuie for multiple services on a trigger where all the services and the feature interaction manager (FIM) reside on the same SCP When a trigger 1 16 occurs in SSP 104, information in the form of a querv is sent to the FIM 314 which is physicallv located in the SCP 108 The FIM 3 14 interacts with a number of AIN services 300 302. and 304 respectivelv, which are associated with the SCP 108 Data link 306 connects the SSP 104 to the SCP 108 I he FIM 3 14 communicates with the AIN services 300, 302, and 304 via information flows 308, 310 and 312
FIG 4 depicts an illustrative embodiment of a physical network architecture for multiple services on a trigger where the services are distributed on multiple SCPs Similar to FIG 3, when a trigger 1 16 occurs in the SSP 104, information is sent to the FIM 314 which resides on an MP 200 Physically information is sent to the MP 200 Logically the information must be processed by the FIM 314 within the MP 200 Here, the MP 200 is a separate network component situated between the SSP 104 and a number of SCPs (i.e. SCP 400, SCP 402, and SCP 404, respectively). The services 406, 408 and 410 can be distributed over different SCPs. The rationale of having a MP 200 for the management of feature interactions is to minimize the impact on the existing SSP and SCPs ~ the SSP can still behave as if it communicates with only one SCP when a trigger is encountered because of the existence of the MP, and the SCP can interact with the MP in the same way as it does with the SSP Data links 412 through 420 enable communication between nodes
It is understood that FIG. 3 and FIG 4 depicting the physical network architectures are merely illustrative of the architectures that can be utilized with the various methodologies. Those skilled in the ait will recognize, for example, that in FIG 4, the MP could also be part of the SCP or alternatively part of the SSP rather than a separate network component. In addition, the term "mediation point" (I e. MP) is used solely to designate the platform which supports the feature interaction manager Use of this term does not imply that any other types of "mediated access" is present The term "gateway" could also be used to designate this platform Available Triggers
In order to develop each illustrative embodiment of the methodology, explanation of the available triggers is a prerequisite. This is necessary since, although the SSP supports several types of triggers at several points in call processing, there aie only a limited number of triggers available for the provisioning of service categories Any third party services having simultaneous access to a multiply-subscribed trigger will fall into one (or more) of these categories A multiply-subscribed trigger occurs if several SCPs have the ability to provide a service to a given subscriber when a particular trigger is encountered on the subscriber's line The trigger definitions are consistent with Bellcore's AIN 0 1 Generic Requirements (TR-NWT-001284)
Triggers 1 16 may be subscribed (i.e. subscriber- based) or office-based. If a trigger 1 16 is subscribed, then only calls originating on a facility or facility group that subscribes to that trigger 1 16 or terminating to a Directory Number/Call Type (DN/CT) that subscribes to it can encounter it If a trigger is office-based, any call that meets the trigger criteria encounters the trigger
Tπggers 1 16 can occur duπng originating call processing or during terminating call processing Duπng originating call processing, triggers 1 16 can occur at any one of the following TDPs- (I) Origination Attempi - after the SSP 104 received a call setup request (e g off-hook), (n) Information Collected - after the SSP 104 has enough information to process the call, (in) Information Analyzed -after the SSP 104 has analyzed the information received, and (iv) and Network Busy - when all routes associated with an Automatic Flexible Routing Table aie unavailable
Triggers onginating during call piocessing that may be multiply-subscribed by thud-party seivicc providers include (a) Olf Hook Delay (OHD), (b) 3/6/10 Public Office Dialing Plan (3/6/10 PODP), <c) Public Office Dialing Plan Feature Code (PODP PC), and (d) N i l
(a) An OHD trigger is a subscribed trigger which is detected when the SSP receives enough information to process the call, except that this tngger shall not be detected if the information received violates the dialing plan in force The TDP is Informauon Collected
(b) Regarding the PODP FC trigger, this is a subscribed trigger and the SSP shall detect this trigger when specified vertical service codes (e g fXX) are dialed The PODP specifies the vertical service codes (e g ''XX) that cause the PODP FC tπggei The TDP is Information Analyzed
(c)For the 3/6/10 PODP trigger, the SSP shall detect a this trigger on any call with access to the PODP when the appropriate North American Numbering Plan (NANP) number is dialed The 3/6/10 PODP trigger is office-based and the trigger criteria aie specified in 3-, 6- or 10-dιgιt patterns Examples of 3/6/10 Digit triggers are NPA codes, Service Access Codes (e g 700. 800, and 900), NPA-NXX codes, Service Access Code-NXX codes, or NPA-NXX-XXXX codes. The TDP is Information Analyzed, (d) For the N l 1 trigger, the SSP shall detect a N l 1 Trigger on any call with access to the PODP when a designated N 1 1 number is dialed. The N 1 1 trigger is office-based and the TDP is Information Analyzed.
A trigger that occurs during terminating call processing is a Termination Attempt (TAT) (i.e. when the SSP recognizes that a call is to terminate to a Directory Number (DN) on the switch). This is a terminating trigger that may be subscribed trigger and the SSP 104 shall detect this trigger when the call reaches the Termination Attempt TDP and terminates the DN/CT.
A call encounters a trigger when the following conditions are met: ( 1 ) call processing has reached the appropriate TDP; (2) either the trigger is office-based or the trigger is subscribed and the call is originating from a subscribing facility or is terminating to a subscribing DN/CT; (3) the trigger criteria are met; and (4) the trigger is active (i.e. armed).
I. SINGLE CATEGORY SERVICES - TWO SCPs: Phase I — Service Categories
In this first phase, the types of third party services having simultaneous access to a multiply-subscribed trigger are classified into several service categories.
Based on the available triggers listed above, the types of services that may be provided at SCPs and made available to subscribers can be classified into at five categories: ( 1 ) Screening services; (2) Routing services; (3) Call logging services; (4) Data display services; and (5) Forwarding services. Moreover, the Routing services can be further classified into Number Translation services and Carrier Selection services. Each service provided at a SCP contains one or more of these categories. If a service provided at a SCP contains only one of these features it is called a single category service. If a service contains more than one of these features, it is called a multiple category service (which is the subject matter of the Section II). Screening Services: A screening service may be based on either an originating trigger, or a terminating trigger A screening service is one that screens incoming or outgoing calls based on some information pertaining to the incoming or outgoing call If the call passes the screen, call processing is allowed to continue. If it fails the screen, the call is routed to an announcement and/or disconnected. For example, screening of incoming calls may be based on the Calling Party Number (1 e. the telephone number of the party placing the call), while screening of the outgoing call may be based on the Called Party Number (i e. the telephone number of the party being called) Screening services may require that parties to these calls be able to enter additional digits (such as Personal Identification Numbers (PINs)). so that calls initially tailing the screen will pass the screen based on the additional information A PIN is a combination of alphanumeric characters entered by the subscriber
Routing Services A routing service is based on an originating tπggei A routing service routes an outgoing call to eithei a different DN, υi to an alternative carrier, foi delivery
Number Translation Services A number translation service is based on an originating trigger A number translation service routes an outgoing call to a different DN for delivery
Carrier Selection Services A carrier selection service is based on an originating tπggei A carrier selection service loutes an outgoing call to an alternate carrier for delivery
Call Logging Services A call logging service may be based on either an originating trigger, or a terminating trigger A call logging service keeps a record of incoming or outgoing calls, based on criteria that may be specified as part ot the service. Criteria may include the Called Party Number or Calling Party Number, as well as the time at which the call was placed (received) Data Display Services: A data display service is based on a terminating trigger. A data display service displays information to the called party about an incoming call. Examples include Caller ID (i.e. identifies the telephone number of the calling party) and Calling Name Delivery (i.e. identifies the name of the calling party).
Forwarding Services: A forwarding service is based on a terminating trigger. A forwarding service forwards an incoming call to another DN or location. Only unconditional forwarding services are allowed (i.e. calls cannot be forwarded on busy or no answer).
The categories of third party services described above need to be further refined for the purpose of developing controlling algorithms. Distinguishing services offered on the originating trigger from those offered on the terminating triggers, and also services which are subscribed (i.e. active on a particular subscriber's line) from those which are office-based (i.e. active for anyone who dials specific characters) must be established. TABLE I enumerates those service categories (together with trigger and allowed response messages) which are important in developing the controlling algorithms. The response message column contains the response messages that are typical in an AIN environment and SCPs typically should return these in response to queries from the MP. Any other response messages other than those in TABLE 1 will be treated as exceptions.
TABLE
Figure imgf000016_0001
Phase 2 - Algorithmic Development
One illustrative embodiment of a first methodology in accordance with the present invention to generate controlling algorithms includes three phases service classification, as just discussed, algonthmic development, and pre-provisioning analysis This first methodology allows only two SCPs to have simultaneous access to a single trigger
Using the service category defined during the first phase, the second phase of the methodology describes how a controlling algorithm is defined for some particular combination of service categories having simultaneous access by two SCPs to a single trigger active on a particular subscriber's line These algorithms embody the controlling logic, and are needed to define the interactions between an SSP and these SCPs when a particular trigger is encountered These algorithms will form the basis of management capabilities that must be deployed to support simultaneous access The minimum amount of knowledge required to apply the methodology during the second phase consists of knowing the classification of the services having simultaneous access to a particular trigger (for some subscriber). Depending on what those service categories are, the algorithm specified during this phase may or may not be dependent upon additional subscriber-specific information about how the services should behave together when the relevant trigger is encountered. Those algorithms for which additional subscriber information is needed are called subscriber-dependent algorithms Subscriber-dependent means that they depend on knowledge of subscriber expectations about how the services are to behave when the relevant trigger is encountered. However, because subscriber-specific information is unavailable duπng this phase, the methodology allows the generation of subscriber-dependent algorithms based upon assumptions about these subscriber expectations which are embodied in various default rules The algorithms need to embody the logic necessary to provide (at minimum) a determination of whether the service providers may be queried simultaneously (order independence), oi whether they must be queried sequentially (order dependence). For sequential queries, determination of query order, and mediation actions after receiving each SCP response is necessary. For simultaneous queries, formulation of a single response to the SSP after receiving all SCP responses is required
FIG 5 and FIG 6 show the flow of communication between the SSP, an interposed MP shown for this illustrative embodiment, and SCPs when the SCPs are queried simultaneously and sequentially, respectively. The flow of communication is labeled by arrows and the event numbers delineate the order for which the events will occur. In particular, for FIG. 5, at event 1 , the SSP 104 encounters a trigger 1 16 and sends a message to the MP 200 over data link 504. Next, at event 2, the MP simultaneously sends a message to SCP 500 and SCP 502 using data links 506 and 508, respectively. At event 3, SCP 500 returns a response to the MP 200 using data link 506 At event 4, SCP 502 returns a response to the MP 200 using data link 508. Finally, at event 5, the MP 200 then formulates and returns a response to the SSP 104 which then routes the call.
Turning now to FIG 6, this diagram shows the flow of communication when SCPs are queried sequentially At event 1 , the SSP 104 encounters a trigger 1 16 and sends a query to the MP 200 over data link 604. The MP 200 queries one SCP at a time according to some sequence, waiting for a response before querying the next SCP. The MP 200 formulates a message to be sent via data link 606 to SCP 600 at event 2 The MP 200 awaits a response from SCP 600 at event 3 The MP 200 will query the second SCP 602 al event 4 over data link 608 and await a response from SCP 602 at event 5 The MP 200 will then formulate a response to be returned to the SSP 104 at event 6 concerning instructions for processing the call Alternatively, based on the response received by SCP 600, the SCP 602 may not be queried and a response will be formulated and returned to the SSP 104 Common Logic Template
Algorithms specified during the second phase ot the methodology are based on a common logic template. This logic template embodies a generic logic flow that each algorithm incorporates. In the logic flow of the template, there are points which are identified as knowledge intensive tasks For each combination of service categories having simultaneous access lo a multiply-subscribed trigger, the methodology specifies how each of these knowledge intensive tasks are to be resolved In other words, what distinguishes one algorithm from another is the way in which each of these knowledge intensive tasks are resolved.
Turning now to FIG 7, this illustrates the common logic template that will serve as the basis for defining algorithms for controlling communications with multiple SCPs when these providers have simultaneous access to a particular trigger (for some subscriber). This logic flow is illustrated in terms of tasks that must be performed by a controlling algorithm, together with the relationship between these tasks. An algorithm
- I d will be specific to the types of services having simultaneous access to the subscriber's trigger, and will be executed at the MP when a multiply-subscribed trigger is encountered at the SSP
The logic template designates various tasks that must be resolved by the algorithm at run-time Some of these tasks are generic in the sense that they do not depend upon any service-specific or subscriber-specific knowledge. For instance, one of the decision points in the template depends upon whether digit collection is required To resolve this, it is assumed to be sufficient tor the algorithm to determine whether a Send_To_Resource message has been received f rom the SCP with the ResourceType parameter set to 1
Other tasks require some service-specific or subscriber-specific information for their resolution These "knowledge intensive" tasks are numbered in FIG 7 and are designated by heavy lines in the diagram The resolution of these tasks requires some information about the specific services having simultaneous access to a given trigger, and/or about the subscriber's expectations about the overall behavior of the sei vices when the trigger is encountered
Referring to components in FIG 7 outlined in bold, the knowledge-intensive tasks aie enumerated as follows
1 Determine if Simultaneous oi Sequential or Single Query
2 Determine First SCP to Query (if sequential query)
3 Determine Subsequent Action (if sequential query)
4 Return Response to SSP (if sequential query)
5 Pass Information From SCP A To SCP B7 (if sequential query)
6 Determine Information To Pass (if sequential query)
7 Determine Response To SSP (if simultaneous query) Each of these tasks is explained in detail in the following subsections Task 1 : Simultaneous, Sequential, or Single Query and Task 2' Determine First SCP
At indicated by block 700, the MP receives a query message from the SSP. Upon receiving a query message from the SSP, the MP is assumed to identify the particular subscriber from which the query message originated, the trigger encountered, and the SCPs having simultaneous access to that trigger. Next, at decision block 702, the controlling algorithm must determine whether these SCPs are to be queried simultaneously, sequentially, or whether only one SCP will be queried. Sequential querying would be appropriate when the decision to invoke one service is dependent upon the results returned by a previously-invoked service, or when one service depends upon specific information generated by another service Otherwise, it may be appropriate to query the services simultaneously. Moreover, the services may be incompatible, in which case only one service should be queried.
The Query Order and Default Rule tor the two services having simultaneous access to a particular trigger (for some subscriber) are given in TABLE 2 The two services are arbitrarily labeled as Service A and Service B. Each is assumed to fall into one of the service categories defined in TABLE 1. For each specific pair of service categories, the Query Ordei given in the third coiumn of TABLE 2 specifies whether the SCPs should be queried in sequential order, or whether the SCPs can be queried simultaneously, or whether the decision is subscriber dependent. In those cases when the choice is subscriber dependent, the fourth column of TABLE 2 provides a Default Rule to be used in specifying a choice in the absence of additional subscriber information. This additional information may be obtained during the third phase, the pre-provisioning analysis, duπng which a subscriber-dependent algorithm is verified or updated on the basis of this information
Figure imgf000021_0001
The decision to query the SCPs sequentially or simultaneously at decision block 702 satisfies Task I of the logic template. Task 2 (the identity of the SCP to be queried first) located at processing block 704, is also resolved by reference to TABLE 2. Query of the first SCP and receiving a response occur at processing block 706.
At decision block 708, it is determined if digit collection is required. If yes, at processing block 710, the Send_To_Resource parameter is returned to the SSP. Next, collection of digits and their return to the SCP occurs at block 712. A response will be received from the SCP at processing block 714. Task 3. Determine Subsequent Action (Sequential Query)
If the controlling algorithm determined, in Task 1 , that sequential querying of several SCPs is to occui, the algorithm must determine, in Task 3, what is to occui after a response is received from a SCP There are two choices that can be made at this poinf do not query another SCP but immediately return a response message to the SSP (processing block 718) or query another SCP (blocks 720 to 724)
Task 4 Return Response to SSP (Sequential Query)
When an algorithm based on the logic template of FIG 7 reaches Task 4, response messages have been received from one or more SCPs, and it has been determined in Task 3 that a subsequent SCP does not have to be queried
Task 5 Pass Information From SCP A to SCP B7
If at decision block 716, it is determined to querv another SCP. then at decision block 720. it must be determined whether to pass information from SCP A to SCP B
Task 6 Determine Information to Pass
If information will be passed, then al processing block 722, it is necessar> to determine information to pass from SCP A to SCP B and then proceed to send query to the next SCP at processing block 724 The information that needs to be passed from the first SCP to a second SCP typically includes CalledPaitylD, CallingPartylD and Pnmarv Caπier parameters If information will not be passed, then processing block 722 will be bypassed, and the send query to next SCP at processing block 724 will occur At this point, blocks 708 through 718 will be implemented
Task 7. Determine Response to SSP (Simultaneous Query)
When an algorithm encounters processing block 726 in the controlling logic template, it has been determined (in Task 1 at decision block 702) that the SCPs should be queried simultaneously Simultaneous queries will be sent to the SCP at processing block 726. The MP will receive multiple responses at block 728 The task to be resolved at processing block 730 is to determine a single response message from the MP to the SSP that combines the responses from the two SCPs. The response will be returned to the SSP at block 732.
Simultaneous queries may be applicable for the following service combinations.
1. Both SCP A and SCP B perform a routing service,
2. Both SCP A and SCP B perform a forwarding service, 3 At least one SCP performs a logging service,
4. Both SCP A and SCP B perform a data display service. The following sections describe the rules for determining the MP's response to the SSP for each of the above combinations.
Two Routing Services — It is assumed that each routing service docs one of the following routes the call to another DN, routes the call to an alternative carrier, or does not route the call There are then six cases to consider, as depicted in the TABLE 3
TABLE 3
Figure imgf000024_0001
For Case 1 , since neither SCP is routing the call, the MP can return Anaiy7e_Route to the SSP using the same parameter values as carried in the Analyze_Route message returned from either SCP.
For Case 2, the MP returns Analyze_Routc to the SSP using the parameter values contained in the Analyze_Route message returned from the SCP that routes the call to an alternative carrier.
For Case 3. the MP returns Analyze_Route to the SSP using the value of CalledPartylD contained in the Analyze_Route message returned from the SCP that routes the call to a different DN. For Case 4, the MP returns Analyze_Route to the SSP. But, because both SCPs are attempting to route the call to an alternative carrier, the call can only be routed to one of them. The criterion for selecting an alternative carrier is arbitrary. However, one option would be to route the call to the carrier designated by the appropπate parameter contained in the Analyze_Route message returned by most-recently-subscπbed-to routing service.
For Case 5, the MP returns Analyze_Route to the SSP using the value of the carrier selection parameter returned by the SCP that is attempting to route the call to an alternative carrier, and using the value of the CalledPartylD parameter designated by the SCP that is attempting to route the call to a different DN
For Case 6, the MP returns Analyze_Route to the SSP But. because both SCPs are attempting to route the call to a different DN, the call can oniy be routed to one of them. The criterion for selecting the new CalledPartylD is arbitrary. However, one option would be to route the call to the CalledPartylD parameter contained in the Analy/e_Route message returned by the most-recently-subscπbed-to routing service.
Two Forwarding Services — Upon encountering a Termιnatιon_Attempt trigger on a subscriber's line for which two forwarding services are active, a forwarding service attempting to forward the call will return Forward_Call to the MP with a new value for the CalledPartylD, while a forwarding service that does not attempt to forward the call will return Authoπze_Termιnatιon. There are then three cases to consider, as depicted in the TABLE 4.
TABLE 4
Figure imgf000025_0001
For Case 1 , since both SCPs are not attempting to forward the call, the MP returns Authoπzc_Termιnatιon to the SSP
For Case 2, the MP returns Forward_Call to the SSP, using the parameter values contained in the Forward__Call message returned from the appropriate SCP.
For Case 3, because both SCPs are attempting to forward the call, the call can only be forwarded by one of them. The MP returns Forward_Call to the SSP, using a value of CalledPartylD contained in only one of the two Forward_Call messages received from the SCPs. The criterion for selecting the new CalledPartylD is arbitrary However, one option would be to forward the call to the CalledPartylD designated by the most-recently-subscπbed-to forwarding service
Al Least One Logging Service — If there is at least one logging service, return to the SSP the response message received from the service that does not perform the call logging function. If both SCPs provide a logging service, return the response message received from either one of them
Two Data Display Services — A rule is used to determine a single response message from the MP to the SSP when two data display services are simultaneously queried. One possible criteria to use in determining which parameter values to return, when the two SCPs return different values for the same parameter, is to use the values returned by the SCP having the service that was most recently subscribed to Phase 3 - Pre-Provisioning Analysis
The third phase of the methodology tor two SCPs having a single category service is called the pre-provisioning analysis phase. This phase typically take places prior to the actual deployment of a controlling algorithm at a MP (for some particular subscriber). This phase would only be necessary for updating subscriber-dependent algorithms to account for additional subscriber-specific information The purpose of this phase is to obtain subscriber-specific information needed to resolve certain of the knowledge intensive tasks contained in subscriber-dependent algorithms Subscriber-dependent, as previously discussed, means that its operation depends largely on how a subscriber who is a customer of this pair of third party services, might expect the services to work together when a multiply-subscribed trigger is encountered In other words, a subscriber-dependent algorithm relies on the knowledge about subscriber expectation to function properly Nevertheless, if this knowledge is unavailable, the methodology in the second phase offers default rules which embodies assumptions about how a subscriber wants a services pair to work But this may or may not be what a subscriber really wants As a result, pre-provisioning analysis is recommended for the subscriber-dependent algorithms By doing so. default rules can be verified or replaced for a particular subscriber prior to deployment of the controlling logic
TABLE 2 (Query Choice Rule) indicates when default rules mav be necessary When the query order is subscriber-dependent, a default rule specifies the most likely query ordering (1 e that which reflects the most likely subscriber expectations) However, for each subscriber-dependent aigonthm, there is (at most) only one other reasonable alternative rule for query ordering Thus, modifying a subscriber-dependent algorithm to reflect additional subscriber information is equivalent to selecting either the default rule or an alternative rule for query ordering
During pre-provisioning analysis, for a particular pair of third party services active at a multiply-subscribed trigger, determine whether or not the corresponding algorithm is subscriber-independent using TABLE 5 or subscriber-dependent using TABLE 6 If the algorithm is subscriber-independent, no further modification of the algorithm is needed If the algorithm is subscriber-dependent, obtain subscriber expectations about services to allow selection of either the default rule or the alternative rule for determining query order If the default rule is selected, use the existing algorithm as the basis of the controlling logic for that subscriber s trigger If the alternative rule is selected, modify the algorithm so that the query ordering is based on the alternative rule TABLE 5
Figure imgf000028_0001
Figure imgf000028_0002
To obtain subscriber expectation about how service should work together, questions are asked to ihe subscriber. TABLE 7 gives a sample list of questions that may help in acquiring this information from subscribers.
TABLE 7
Figure imgf000029_0001
II MULTIPLE CATEGORY SERVICES - TWO SCPs
Phase 1 — Service Categories
A second illustrative embodiment of a methodology entails when a SCP may offer multiple category services The first phase of the methodology is service classification Given the service classification scheme developed previously, a set of ten multiple category services are set forth that are expected These service categories can be defined as follows 1. Screening + Logging Service- This is a screening service that also logs calls that pass/fail the screen.
2. Routing + Logging Service. This is a routing service that logs calls that are routed
3. Screening + Routing Service This service performs both a screening function and a routing function. There are three possible outcomes of this type of service namely, the call is rerouted, so that the service returns Analyze_Route with changed values of the CalledPartylD and/or Primary Carrier parameters. Call routing is unchanged by the service, and the call is disconnected. If the Call Routing is unchanged by the service, the service returns Analyze_Route. with no changes in the CalledPartylD or Primary Carπei parameter values. If the call is disconnected, the service returns Send_To_Resource with the Disconnect flag set, or else returns Disconnect
One possible interpretation of this type of service will depend upon which trigger it is provisioned on For instance, if the service is provisioned on a subscribed trigger such as OHD and the screen fails, the call will not be routed, but the call may still be completed (to the Called Party Number originally dialed) Thus, the service may return Analyze_Route to the MP, containing the CalledPartylD and Primary Carrier parameters that were originally carried in the Info_Collected message sent to the SCP
On the other hand, if the screening + routing service is provisioned on an office-based trigger such as 3/6/10 PODP, then the originally dialed digits will route the call to the SSP in which the office-based trigger is active. At that point, the dialed digits must be translated in order for the call to be completed to its intended destination. If the screening portion ol the service fails, the routing portion of the service is not executed In that case, the call cannot be completed, and is disconnected. If this happens, the service would return Send_To_Resource (with the Disconnect parameter set). Disconnect, or Continue. 4. Screening + Routing + Logging Service. This service performs similar to the screening + routing service, but it also logs all calls that satisfy some specified criteria.
5. Screening + Data Display Service: This service is like a screening service. If the incoming call passes the screen, then the call is terminated, and information about the call is displayed. If the incoming call fails the screen, then it is rejected.
6. Screening + Forwarding Service. This service performs both a screening function and a forwarding function There are typically three possible outcomes of this type of service: a) The incoming call terminates normally on the called party's line The screening+forwarding service returns Authoπze_Termιnatιon. b) The incoming call does not complete to the called party, but is disconnected. The service returns either Send_To_Resource (with DisconnectFiag parameter set ) or Disconnect, c) The incoming call is forwarded The service returns Forward_Call
7. Logging + Data Display Service. This service logs all incoming calls as well as displays data about the call
8. Logging + Forwarding Service This service forwards calls and also logs the forwarded calls
9. Screening + Logging + Data Display Service1 This service performs similar to the screening+data display service, with the additional capability that incoming calls are also logged.
10 Screening + Logging + Forwarding Service This service performs similar to the screening+forwarding service, with the additional capability incoming calls are also logged according to some specified criteria. Phase 2 — Algorithmic Development
The second phase of the methodology is algorithmic development The same logic template of FIG. 7 will be used for this illustrative embodiment. The remainder of this section is devoted to describing how the knowledge intensive tasks in the previous section can be extended to handle these multiple category services Task L Simultaneous. Sequential, or Single Query and Task 2: Determine First SCP
To resolve these two knowledge-intensive tasks when a multiple category service has access to a subscriber), the concept of a dominant service category is defined The dominant service category is the single service category that will dominate the behavior of a multiple-category service when determining query order. The dominant service categories of the multiple-category services previously defined are shown in the second column of TABLE 8
TABLE 8
Figure imgf000032_0001
With the notion of dominant sei vice categoiy, the same rules applied to the methodology tor single categoiy services at the knowledge intensive Tasks 1 and 2 can be applied to the methodology for multiple category services as well To determine query order when either or both of the SCPs contain multiple category services, first determine the dominant service category of the multiple category service, using TABLE 8 Then use TABLE 2 to determine the appropriate query choice rule
For example, when dealing with a screening service and a screening+routing service, apply the screening vs routing rule in TABLE 2 to determine that the two SCPs should be queried sequentially, with the screening service queried first.
10 Note that this query ordering is subscriber-dependent, |ust as in the case of a single category screening service and routing service
Task 3 Determine Subsequent Action (Sequential Query )
When either single category or multiple category services are deployed at a SCP, a rule specifies the subsequent action that should be taken if sequential querying was determined in Task 1 and a response from a SCP has just been received by the MP Task 4: Return Response lo SSP (Sequential Query)
Using the results obtained for the resolution of this task for the methodology of single category services, a rule specifies the response message the MP will return to the SSP when either single category or multiple category services reside at a SCP
Task 5 Pass Information From SCP A to SCP B°
The general rule for the single category services still applies to multiple categoiy services if it is assumed that the functions perfoi med by the service is equivalent to its dominant service category
Task 6 Determine Information to Pass
The information that needs to be passed is exactly the same as that for the single category services, i e pass CalledPartylD, CallingPartylD, and Primary Carrier parameters from the first SCP to the second SCP
Task 7 Determine Response to SSP (Simultaneous Query)
The rules developed for single category services still apply if it is assumed that the function performed by each multiple category service is equivalent to its dominant category Simultaneous queries will be applicable for the following service combinations
1. Both SCP A and SCP B perform a routing function
2. Both SCP A and SCP B perform a forwarding function 3 At least one SCP performs a logging function. 4. Both SCP A and SCP B perform a data display function.
The same rules that applied for single service category as set forth above apply Phase 3 -- Pre-Provisioning Analysis
The third phase of the methodology is pre-provisioning analysis. The same pre-provisioning analysis described for the methodology for single category services can be used. TABLE 7, previously discussed can be applied to multiple category services by simply treating each service as the dominant categories in TABLE 8
One final regard concerning the methodology for single category services and the methodology for multiple category services It assumed that the MP performs a certain amount of processing upon receiving a query message from the SSP, and that the results of this processing is made available as input to any controlling algorithm deployed. These results include the identification of the trigger encountered and query message received, identification ot the subscriber associated with the trigger encountered, and the identification of the service providei s able to provide services to the subscriber at the trigger encountered. Therefore, the methodology does not include a procedure tor determining this information.
III. MULTIPLE SCPs HAVING A SINGLE CATEGORY SERVICE The third illustrative embodiment of a methodology handles any number of SCPs with each SCP supporting a single service category. The methodology can be used to generate the controlling logic for a set of subscribed services on a trigger This controlling logic is provisioned on a per-subscriber basis because each subscriber may choose a different set of services, or the same set of services but with different expectations about the behaviors of those services The methodology is based on the idea that a controlling logic is implied by four things, namely: ( 1 ) the service categories present at the SCPs, (2) the way in which those services should behave together; (3) the way m which the SCPs are queried; (4) and a logic template that specifies the processing tasks that must be done so that a given query ordering results in a given services behavior.
FIG. 8 illustrates the overall relationship between the different components of the methodology. Behavioral options and query options in processing block 802 are dependent upon the service categories located in processing block labeled 800 that are invoked when a trigger is encountered These behavioral options and query options are then implemented within a subscriber record 804 accessible to the MP.
When a trigger is encountered and the SSP sends a query message to the MP, the MP retrieves the subscriber record 804 in order to determine how the services aie to jointly behave, and in what manner the SCPs are to be queried. This information, together with the logic template and the associated task rules, is all that is required ( with the possible exception of additional conflict resolution criteria in certain cases) to specify the interactions among the MP, the vaπous SCPs, and the SSP so that the services will behave as desired. The processing box 806 in FIG. 8 labeled Controlling Logic Execution Engine embodies the logic template and the task rules, and together with the information in the subscriber record 804. may be termed the controlling logic Phase 1 — Triggers and Service Categories
The first phase of the methodology is to identify triggers which may be multiply-subscribed, and the service categories present at SCPs having simultaneous access to these tπggers The same triggers for the methodologies previously discussed can be utilized. Services present at each SCP which are invoked by these triggers are assumed to belong to a common set of service categories
Based on the available tπggers, the types of services that may be provided at SCPs and made available to subscribers can be classified into six categories Screening
- 1.1 97/50232 PCI7US97/11040
services, Number Translation services. Carrier Selection services, Call logging services, Data display services, and Forwarding services The service categories were previously discussed. There is an association of tπggers and service categories TABLE 9 associates each of the triggers with the corresponding categories of service that may be invoked by that trigger. Also included in the table are the TDPs at which the trigger is encountered, and the messages which the SCP would be expected to return in response to the associated query message. As illustrated in TABLE 9, each service category is associated with some (but not necessarily all) of the triggers For instance, a number translation service is associated only with OHD, PODP FC, 3/6/10 PODP, and N l 1 triggers, while a forwarding service is associated only with TAT trigger
14 TABLE 9
Figure imgf000037_0001
Figure imgf000038_0001
i Note that Continue message is valid only for triggers associated with Information Analyzed TDP Phase 2- Pre-Provisioning Analysis
Pre-provisioning analysis contains the heart ot the methodology, and must be carried out before the controlling logic can actually be implemented on a MP Pre-provisioning analysis describes how a set of behavioral and query options may be generated for some set of service categories having simultaneous access to a trigger (one service category per SCP) Once these behavioral and query options have been defined, a selection mechanism may be used for the selection of a specific behavioral and query option.
Method for Generating Behavioral Options The first phase of the pre-provisioning analysis is the generation of behavioral options. In order to specify a controlling logic for some set of service categories operating at the same trigger, a behavioral option must be chosen. In general, a behavioral option is defined by the behavioral relationship between each pair of services in the set. The complexity of a behavioral option generally increases as the number of SCPs increases. A behavioral option refers to the joint behavior of the services operating at different SCPs. as perceived by a subscriber, when the associated trigger is encountered. For example, a screening service operating at one SCP may screen outgoing calls based upon a DN generated by a number translation service operating at a different SCP, or instead may screen calls using only dialed information. Calls passing the screen would then being rerouted using information generated by the number translation service. A methodology for generating candidate behavioral options for a given set of service categories is presented as follows.
Generation of Candidate Behavioral Options
Determination of a set of behavioral options begins by specifying the number of SCPs which will have simultaneous access to some trigger, and then identifying the service category present at each SCP. For a given set of service categories, enumerate all possible pairs of these service categories. For each such pair, one or more behavioral relations may be defined between members of the pair. Each behavioral relation represents one possible way in which the two service categories may affect each other's behavior. In general, the behavioral relations which can be defined between each pair of service categories will depend on the definition of the service categories themselves
A behavioral option represents the observed behavior of the services when they are jointly invoked by the same trigger. Therefore, a behavioral option consists of a specific set of behavioral relations for each pair of service categories making up the set. Candidate behavioral options for the given set of service categories are constructed by forming all possible combinations of behavioral relations for all pairs of service categories. O 97/50232 PCI7US97/11040
The total number ot candidate behavioral options is thus equal to the total number of possible combinations of behavioral relations across all the pairs. For example, for three SCPs and three different service categories A, B, and C, assume that there is one possible behavioral relation between A and B, two relations between B and C, and three relations between A and C. Therefore, there would be 1x2x3=6 candidate behavioral options Determine Behavioral Relations Between Pairs
For each pair of service categories resident at a different SCP having simultaneous access to a trigger, the following behavioral relations are defined: Notatιon:Meanιng
A→B The behavioi of B depends on information generated by A
A I B A and B act independently and do not affect each other's behavior
A ! B: A may disable B by disconnecting the call
A # B. A is incompatible with B (i e , A and B attempt to influence call processing in mutually exclusive ways)
For each pair of service categories that may coexist at the same trigger, TABLE 10 shows the behavioral relations which arc possible
TABLE 10
Pair Behavioral Relations
Number Translation and Camer Selection NT-→CS
Number Translation and Logging NT→L NT 1 L
Carrier Selection and Logging CS→L CS I L
Screening and Number Translation NT→S S ! NT
Screening and Carrier Selection CS→S S ! CS
Screening and Logging S ! L S I L
Forwarding and Data Display F#DD
Screening and Forwarding S !F F→S
Screening and Data Display S!DD
Forwarding and Logging F→L F I L
Data Display and Logging DD→L DD I L
X and X, where X is Numbei Translation OR X # X Carrier Selection OR Forwarding
Y and Y, where Y is Logging OR Data Display Y ! Y
Screening and Screening S( l ) • S(2 ) OR S(2) ' S( l ) OR ( S( l ) ' S(2) and S(2) ' S( l ) }
Given a set of candidate behavioral options, some may represent inconsistent behavioi s because of circular behavioral dependencies among certain pairs of service categories Identifying which candidate behavioral options are inconsistent will be detected in the determination of their associated query options It is also possible that an "incompatible" behavioral relation exists between a pair ot service categories. If this is the case, the two services cannot jointlv affect call processing It is suggested that when incompatible services exist at different SCPs, the conflict be resolved before proceeding to determine query options The net result may be that one of the SCPs containing an incompatible service is eliminated from further consideration; i.e., the number of active SCPs is reduced by one and no incompatible services exists in the new set This is described further during the discussion of Conflict Resolution Criteria Example Behavioral Option
The method of constructing behavioral options is illustrated by providing an example. In this example, generate candidate behavioral options for the case in which
19 three SCPs contain the following service categories: screening, number translation, and carrier selection.
First, generate all pairwise combinations of service categories among the three in this set, and associate with each pair all possible behavioral relations (from the above table). This results are set forth in TABLE 1 1
TABLE 1 1
Figure imgf000042_0001
Forming all combinations of behavioral relations tor each pair ot service categories, there are nine possible behavioral options and they arc set forth in TABLE 12
TABLE 12
Figure imgf000042_0002
Write each behavioral option by listing each ol the behavioral relations between braces For example, behavioral option 4 may be written as { NT→CS, S ! NT, S' CS } Method tor Generating Query Options
How to generate a set ot potential behavioral options for a given set ot service categories active on the same trigger was previously described. These are "potential" behavioral options because it is possible that, due to the behavioral relations defined between each pair of service categories, the overall result is a contradictory behavior among the services. In the next step of the methodology, identifying and discarding of those potential behavioral options having contradictory behaviors occurs Once this is done, IT can be guaranteed that one or more query options exist tor the remaining "true" behavioral options It turns out that the way to identify contradictory behavioral options also leads directly to the generation of query options for the remaining behavioral options.
This next phase of pre-provisioning analysis is generating query options for a given behavioral option. Query options refer to decisions about how the various SCPs are to be queried. Query options are associated with specific behavioral options. For each behavioral option chosen, there may be more than one query option.
In general, when there are two SCPs, query options are limited to two alternatives: simultaneous or sequential querying. As with behavioral options, query options become more complex as the number of SCPs increase. For example, given three SCPs X, Y, and Z, suppose the particular behavioral option chosen may require that the service at Y depends on information produced by the service at X. One query option might therefore be to query X first, wait for a response, then query Y and Z simultaneously (with the output of X as input to Y only). Another query option would be to query X and Z simultaneously, and then query Y using information generated by X. Yet another query option would be to query all three SCPs in sequential order: X first, then Y, then Z. While all three options could produce the same overall services behavior, the differences between these options is reflected in the amount of processing overhead required at the MP to manage the queries and responses. In other words, a given behavioral option and an associated query option together specify a controlling logic.
The first step in this process is to translate each behavioral relation making up a potential behavioral option into one or more precedence relations. Each precedence relation specifies a particular ordering in which the two SCPs associated with each pair of service categories can be queried and still maintain the pairwise behavioral relation between the services. If any potential behavioral option contains incompatible behavioral relations, then this behavioral option must be modified so that one of the incompatible service categories is excluded. This is accomplished during the conflict resolution criteria phase. Here it is simply assumed that no query options can be generated until the incompatible conflict is resolved (e.g., by selecting only one SCP to query while ignoring the other).
In addition, if a behavioral relation is independent, no corresponding precedence relation exists because the SCPs can be queried in any order. Therefore, precedence relations only need to be specified for the remaining two behavioral relations. The precedence relations for these two behavioral relations are defined in TABLE 13.
TABLE 13
Figure imgf000044_0001
The precedence relation A < B is interpreted as "A precedes B"; that is, SCP A is queried before SCP B. This is depicted graphically in FIG. 9. Node 900 (which contains A) is connected to node 902 (which contains B) by a unidirectional link 904.
The precedence relation "X < A < Y and X < B < Y" is interpreted as "A and B are queried simultaneously". The dummy variables X and Y may be interpreted as representing point in call processing. This is depicted graphically in FIG. 10. Node 1000 (which contains X) connects to node 1002 (which contains A) and node 1004 (which contains B) via unidirectional links 1006 and 1008 respectively. Node 1002 and node 1004 each connect to node 1010 (which contains Y) via unidirectional links 1012 and 1014, respectively.
As indicated in the TABLE 13 above, there are two possible precedence relations for the behavioral relation A ! B. Intuitively, this means that when A can disable B, A must be a screening service, and A can disable B in two ways. In one way, A is queried first (A < B). If the screen fails, the call is ended, but if the screen passes, B is queried next. This is represented by the precedence relation A < B Alternately, A and B can be queried simultaneously (X < A < Y and X < B < Y). After responses have been received from both A and B, the responses must be compared If the screening service at A fails, then the controlling logic returns "fail" to the SSP If the screen passes, the response received from B is allowed to affect call processing Therefore, the dummy variable X represents the point in the controlling logic just prior to the simultaneous query, while the dummy variable Y represents the point in the controlling logic after responses have been received from A and B
Once these precedence relations have been defined for each potential behavioral option, a potential behavioral option can be represented graphically in terms of the precedence relations between the service categories
Examples of Using Precedence Relations to Represent Behavioral Options
Two examples of using these precedence relations to represent behavioral options are given below. As an example, consider the behavioral option represented as {NT→S, CS→S, NT→CS } This corresponds to the precedence ordering {NT < CS, CS < S, NT < S }, and is graphically depicted in FIG 1 1 Node 1 100 (containing NT) connects to CS located in node 1 102 via unidirectional link 1 104 Node 1 100 also connects to node 1 106 (containing S) via unidirectional link 1 108 Node 1 102 (containing CS) connects to node 1 106 (containing S) as well via unidirectional link 1 1 10
For a more complex example, the number translation (NT), carrier selection (CS), and screening (S) service categories are active at the same tπggei Consider the behavioral option ( NT→CS, S ' CS, NT→S } That is, the behavior of a carrier selection service depends on the behavior of a number translation service, and a screening service can disable the earner selection service (and end the call) if the screen fails The precedence relations that correspond to the three behavioral relations defined in this behavioral option are NT < CS; NT < S; S < CS OR X < S < Y and X < CS < Y
Because there are two ways to represent the behavioral option S ' CS, two precedence ordeπngs are required to represent this particular behavioral option { NT < CS, S< CS, NT < S } and ( NT < CS, NT < S, X < S < Y, X < CS < Y )
- 41 - These two precedence ordeπngs can then be depicted in FIG. 12 and FIG 13 With reference to FIG 12, the node 1200 (containing NT) connects to the node 1202 (containing CS) via unidirectional link 1204. The node 1206 (containing S) connects to node 1202 (containing CS) via unidirectional link 1208 The node 1200 (containing NT) connects to node 1206 (containing S) via unidirectional link 1210 With reference to FIG. 13, the node 1300 (containing NT) connects to the node 1302 (containing X) via unidirectional link 1304 The node 1302 (containing X) connects to node 1306 (containing S) via unidirectional link 1308 and also to node 1310 (containing CS) via link 1312. Both nodes 1306 and 1310 connect to node 1314 (containing Y) via links 1316 and 1318 respectively.
Note that in FIG 13, NT is depicted as preceding X instead of directly preceding CS, even though the precedence ordering between NT and CS is NT < CS and no precedence ordering is defined above between NT and X The reason for this is that the dummy variable X should be interpreted as the "entrance" to either S or CS, while the dummy variable Y should be interpreted as the '"exit" fiom either S or CS Thus, for example, if there were an additional precedence relation S < Z for some other service Z, the arrow would be drawn from Y to Z rather than from S to Z
Once the precedence relations are depicted graphically, the next step is to determine whether the precedence lelations tor a potential behavioral option form a partial ordeπng. If they do form a partial ordering, the potential behavioral option is valid (i e , no inconsistencies) and therefore one or more query options exist. If they do not form a partial ordering, the potential behavioral option is not valid No query options or controlling logic then exists
In formal terms, a partial ordeπng of a set S is a relation between objects of the set, which may be denoted by the symbol "<" (precedes), satisfying the following properties for any objects x, y, z in S
If x < y and y < z, then x < z (Transitivity) If x < y then y \< x (Asymmetry) x \< x (Irreflexivity) (The symbol \< means "does not precede")
However, it can be determined whether a partial ordeπng among the precedence relations exists by a purely graphical approach To do this, observe the graph corresponding to the precedence relations which represent a potential behavioral option, and see if a directed cycle (i.e , a closed loop with arrows in the same direction) exists If a directed cycle can be found, a partial ordeπng does not exist If no directed cycle exists, then the precedence relations forms a partial ordering If a partial ordering exists, then the potential behavioral option contains no inconsistencies, and hence one or more query options can be found If a partial ordering does not exist, the potential behavioral option is invalid
For example, FIG 14 is a graph which is not a partial ordeπng In this graph, there are two directed cycles' a to b to d to a, and a to c to d to a Node 1400 (containing a) connects to node 1402 (containing b) via unidirectional link 1404 and also to node 1406 (containing c) via unidirectional link 1408 Both nodes 1402 and 1406 connect to node 1410 (containing d) via unidirectional links 1412 and 1414 respectively Node 1410 also connects to node 1400 via unidirectional link 1416
Using this l uie. the potential behavioral option depicted in FIG 1 1 forms a partial ordeπng, and hence corresponds to a true behavioral ordering having one or more query options Likewise, the potential behavioral option represented by FIG 12 and FIG 13 is also a true behavioral option, since no directed cycles exist between any of the nodes In this example, because the behavioral relation S ' CS can be represented by two precedence relations, both of the graphs must be checked for directed cycles
The next step is to use these results to actually generate the query options
Generation of Query Options Once a behavioral option has been represented in the form of the directed graphs, and no directed cycles have been found, the generation of query options is straightforward. TABLE 14 is used to generate query options according to the following procedure.
1. Begin by observing the directed graph(s) corresponding to each behavioral option, and identify those nodes which have no antecedents. That is. determine which nodes (i.e., service categories) do not have arrows coming into them. List those service categories under "Iteration 1 ".
2. Cross off those nodes identified in the previous step, and cross off all the arrows which emanate from those nodes There will now be a new set of nodes which have no incoming arrows
3. Repeat the procedure by listing in the table, for Iteration 2, the new set of nodes having no antecedents. Cross off these nodes and the arrows which emanate from them.
4 Repeat this procedure until all nodes in the graph are eliminated
When this procedure is completed, the tabie will contain a set ol service categories for as many iterations as is needed to eliminate all the nodes. All the SCPs corresponding to the service categories identified in iteration 1 may then be queried simultaneously. Following this, the SCPs corresponding to the service categories identified in iteration 2 may be queried simultaneously, and so on
TABLE 14
Figure imgf000048_0001
For example, TABLE 15 shows the TABLE 14 filled in after three example iterations. TABLE 15
Figure imgf000049_0001
Then the corresponding query option is A < (B, C, D) < E. where (B, C, D) indicates that SCPs B. C, and D are to be queried simultaneously.
The following observations can be made about the method just described.
- The number of query options generated will be equal to the number of directed graphs generated for each behavioral option. So, for example, when a screening service is present and screening can disable one of the other services (S ! X), at least two directed graphs will be generated because there exist two precedence orderings which correspond to this behavioral relation (as shown above). Therefore, at least two query options will exist.
- Because dummy variables are needed to represent the precedence relations corresponding to the behavioral relation S ! X (i.e., screening disables service X), the dummy variables are treated as any other node in the graph when this procedure is applied. However, after TABLE 14 is completed and the service categories are listed for each iteration, the dummy variables are simply discarded when forming the query option corresponding to the table entries.
- If two or more SCPs are present and the services they contain are all (X I Y) according to some behavioral option, no precedence relations exist. The graph that corresponds to this case would consist of circles drawn for each service category, with no arrows drawn between them. Applying the procedure outlined above, the SCPs listed under iteration 1 occur. This means that the corresponding query option for this case is that all the SCPs are queried simultaneously; e.g., (X, Y, Z).
- When a behavioral option indicates that all the service categories are independent, it could also be argued that the SCPs could be queried sequentially; e.g., X <Y<Z, Z<Y<X, etc. Query options such as these are not identified by this methodology because an underlying assumption of this method is that simultaneous queries are preferable whenever possible.
Illustrative Example
The following illustrates the generation of query options for the two behavioral options { CS→S, NT→S, NT→CS } and { NT→CS, S ' CS, NT→S } FIG. 1 1 depicts the precedence relations corresponding to the first behavioral option Applying the procedure described above, TABLE 16 is derived.
TABLE 16
Figure imgf000050_0001
The corresponding query option is NT < CS < S
For the behavioral option { NT→CS, S ' CS, NT→S } , there are two precedence relations, as illustrated in FIG 12 and FIG. 13 Therefore, two query options will be generated. TABLE 17 is the table derived by applying the procedure to FIG. 12
TABLE 17
Figure imgf000050_0002
The corresponding query option is NT < S < CS.
TABLE 18 is derived by applying the procedure to FIG. 13
TABLE 18
Figure imgf000050_0003
Since X and Y are dummy variables, these are discarded and the following query option: NT < (S, CS) is formed. Selection of a Query Option
While a particular behavioral option and query option together imply a controlling logic, there will usually be several query options available for a given behavioral option. Some method needs to be specified so that an optimal query option can be selected. Because a query option implies a specific controlling logic, without a selection mechanism there is no rational basis for preferring one controlling logic over another for the support of some desired services behavior. Because query options become more complex as the number of SCPs increases, this becomes increasingly important for three and more SCPs.
Once a set ot query options has been generated for a given behavioral option, the problem then becomes one of choosing a query option tor use in a controlling algorithm. In order to do this, a way of rating each candidate query option on the basis of some set of criteria which reflect the overall goodness of each option is developed The set of candidate query options can then be ranked from best lo worst on the basis of these ratings While the selection of a query option for the case in which only two SCPs are queried may not require an elaborate rating mechanism, because only two query options generally will exist, for a greater number of SCPs it may not be obvious which query option may offer the biggest advantage.
One possible rating scheme discussed here is based on the criteria efficiency (E), cost (C), and performance (P). The Score S is defined to be equal to a weighted sum of these three factors which pertain to query options:
Score = E * weιght(E) - C * weight (C) + P κ weight (P) High scores correspond to better query options, while low scores correspond to worse query options.
The three scoring factors E, C, and P have the following properties: — E is high if the number of potentially unnecessary queries is small.
— E is low if the number of potentially unnecessary queries is high.
— C is high if the complexity ot the controlling logic associated with each query option is high.
— C is low if the complexity of the controlling logic associated with each query option is low.
— P is high if the response time is fast.
— P is low if the response time is slow.
The descriptors high, low, fast, and small are by definition highly subjective.
In the above definition of E, a potentially unnecessary query to some SCP is one that may not result in any affect on call processing. It can be defined more formally by saying that a query to a SCP with service X is potentially unnecessary if:
— a SCP having a screening service is queried simultaneously with another SCP containing X, and
— the behavioral relation between screening and X is that screening acts to disable X (S ! X).
The reason why the query to X is potentially unnecessary is because X will have no affect on call processing if the screen fails
P is related to the response time. One way to further evaluate response time is to determine how many simultaneous queries exist in a query option under evaluation. A simultaneous query could always have been performed as a number of sequential queries. But, since a simultaneous query of three SCPs, say, takes place in only one step, whereas a sequential query of three SCPs takes place in three steps, simultaneous queries in general will be faster than the corresponding sequential queries.
In order to define the C factor, first breakdown any given query option into the following four steps: 1. Query n SCPs
2 Await response(s)
3. Process responses
4. Stop (and return result to SSP) OR Go To ( 1 )
A given query option may cycle through these steps one or more times. Each such cycle generates some cost. Next then associate the cost of a query option with the complexity of the query encountered on each cycle. On each cycle, the query performed can be categorized as follows (in order of decreasing complexity)-
A. Simultaneous query of screening service and one or more services at other SCPs. when screening can disable one of the other services ( i.e., S ' X)
B. Sequential query in which the first SCP must pass information to the second SCP, or where the service at the first SCP queried can disable a service at the next SCP to be queried.
C. Other simultaneous queries.
D. Other sequential queries
Using this definition, a C for each query option may be assigned by the following two-step procedure
1 For each cycle, assign a normalized value based on the complexity breakdown, as indicated in the table below
2. Sum the normalized values over all the cycles in the query option
The previously described methodology can now be quantified by assigning values to each of the factors making up the selection score, as indicated in TABLE 19
TABLE 19
Figure imgf000054_0001
The values assigned to the actions associated with each factor are arbitrary However, an important constraint is that the values associated with each factor sum to one.
These values can now be applied to obtain an overall score for the query option The overall score can be written as
Score = |weιght(E) Σ (efficiency values)] - [weight (C) * Σ (cost values)] + [weight (P) + Σ (performance vaiues)] where the summation is over all the cycles contained in the query option, and where weight (E) + weight (C) + weight (P) = 1 . Subscriber Record
Once the behavior option and query option arc generated, they are implemented within a subscriber record accessible to the MP When a trigger is encountered and the SSP sends a message to the MP, the MP retrieves the subscriber record in order to determine how the services are to jointly behave and what manner the SCPs are to be queried. FIG 15 shows one illustrative embodiment of a subscriber record When the MP looks at the subscriber record, it will see a subscriber id 1500, trigger id 1502 (which identifies the trigger), and two service categories, service category A 1506 and service category B 1510 associated with the tngger id 1502 Service categoiy A 1506 is associated with a service provider A 1504 and service category B 1510 is associated with service provider B 1508 The behavior option 1512 and its associated query option 1514 are also part of the subscriber record and are used as an input to the logic template to specify the controlling logic Phase 3— Controlling Logic
The next phase entails specifying a controlling logic for the management of communications between an SSP and several SCPs (via a MP), when a multiply-subscribed trigger is encountered The controlling logic will form the basis of management capabilities that must be deployed at an MP to support simultaneous access
Given the categories ot the services present at the SCPs having simultaneous access to a particular trigger, as well as the behavioral option and query option representing the services behavior located in the subscriber record, a controlling logic can be generated This controlling logic completely determines how the MP responds to the information it receives from the SCPs that are queried, as well as how the MP should respond to the SSP with a single response message tor subsequent call processing Each controlling logic is based on a common logic template which defines the tasks that must be performed by the controlling logic, and the relationship between those lasks
FIG 16 illustrates the common logic template that will serve as the basis for defining a controlling logic for managing communications between the SSP and several SCPs (via the MP) when these SCPs have simultaneous access to a particular tπggei (tor some subscriber) This logic flow is illustrated in terms of tasks that must be performed at the MP, together with the relationship between these tasks A controlling logic will be specific to the information located in the subscriber record (l e the service categories having simultaneous access to the subscriber's trigger and the service behavior and query
51 - ordering desired) The controlling logic will be executed at the MP when the MP receives a query message from the SSP indicating that a multiply-subscribed trigger has been encountered
Some of these tasks indicated in the logic template are generic in the sense that they do not depend upon any service-specific or subscriber-specific knowledge For instance, one of the tasks shown is a decision point in which it must be determined whether additional digit collection is required To resolve this, it is assumed sufficient to simply determine whether a Send_To_Resource message has been received from the SCP with the ResourceType parameter set to 1
Other tasks require some additional knowledge or information for their resolution These "knowledge intensive" tasks are numbered in FIG. 16 and are designated by bold lines in the diagram The resolution of these tasks requires some inlormation about the specific services having simultaneous access to a given trigger, and/or about the service's joint behavior to be maintained when the trigger is encountered
The template shows that first step to be lo receive a query from the SSP at processing block 1600 After that, at processing block 1602, the selection of a behavioral option and query option (i.e., the task labeled as 1 ) occui s At processing block 1604 , the Next Query Operation must be determined. A query operation refers to the query that must be performed at this point in the logic flow There are two alternatives, namely, either a single SCP is to be queried, or several SCPs are to be queried simultaneously
Referring to components in FIG 16 outlined in bold, the knowledge-intensive tasks are enumerated as follows
1. Select Behavioral Option, Query Option
2. Collect Digits and Return to Appropriate SCP
3. Query Additional SCPs'7
4. Determine Information to Pass in Next Query Operation
5. Determine Response To SSP Task 1 : Select Behavioral Option. Query Option
Referring to FIG. 16, upon receiving a query message from the SSP at processing block 1600, the MP identifies the particular subscriber from which the query message originated, the trigger encountered, and the service providers having simultaneous access to that trigger using the subscriber record. The subscriber record also identifies the particular behavioral option and query option that will be applicable at processing block 1602.
The next step in the template is a decision block 1604, labeled Next Query Operation?. At this point, either a single SCP may be queried and a response received as in processing block 1606, or several SCPs may be queried simultaneously as shown in processing block 1608. The choice of whether to query a single SCP or several SCPs is specified by the query option located in the subscriber record.
For ease of explanation, each query option is composed of one or more "cycles". Each cycle simply specifies the SCPs that will be queried at a single point in time. For instance, for the query option W < X. there are two cycles, since W and X are queried at two separate points in time. For the query option W < (X, Y) < Z there are three cycles, with two SCPs queried simultaneously in the second cycle.
The SCPs in the current cycle are then queried, and the controlling logic awaits responses from each of the SCPs. After the responses have been received, the next step in the logic flow at decision block 1610, "Digit Collection Required?". One or more of the services queried may request further information be provided in the form of additional digits collected from the subscriber. This is indicated by the responses received from the SCPs. Normally, such a request can only be made by a screening service, and that the information is necessary so that the screening service can ultimately return a response indicating either "pass" or "fail". Task 2 Collect Digits and Return to Appropriate SCP
If digit collection is requested at decision block 1610, the logic flow moves to blocks 1612 through 1616 If additional information is required, the controlling iogic is assumed to return a Send_To_Resource message to the SSP with the ResourceType parameter set to 1 , indicating that an announcement should be played and digits collected If only one SCP is queried on the current cycle, and this SCP is requesting further information, then the MP returns the collected digits to the SCP that was last queried If two or more SCPs were simultaneously queried on this cycle and one (or more) is requesting additional information, then the controlling logic must direct the SSP to collect the information, while at the same time recording the responses received from the othei SCPs When the collected digits are returned to the MP, the controlling iogic must direct the MP to send the information to the requesting SCP At processing block 1612, Send_To_Resource is returned to the SSP Next at processing block 1614, collection of digits occurs and the return to the appropriate SCP and finally at piocessing block 1616, a response will be received from the appiopπate SCP
If no digit collection is required on this cycle at decision block 1610, the logic flow moves to Task 3 (Query Additional SCPs9)at decision block 1618
Task 3 Query Additional SCPs7
Depending upon the responses received irom the SCPs that were queried in the current cycle, the controlling logic must determine whether any additional SCPs must be queried This is done at the decision block 1618 of the controlling logic labeled Task 3 (Query Another SCP?) The knowledge necessary to determine whether additional SCPs are to be queried depends upon the query option and the current cycle A rule is applied to determine whether any additional SCPs are to be queried
Task 4 Determine Information to Pass in Next Query Operation Determining whether information needs to be passed in the Next Query Operation at processing block 1624 depends upon the behavioral option and the query option After this is accomplished, the logic flow returns to processing block 1604 Task 5 Determine Response to SSP
When this task is encountered in the logic flow, no additional SCPs are to be queried, and the MP must formulate a reply to the SSP at processing block 1620 Determination of the response message to the SSP depends upon whether the trigger encountered is an originating trigger or a terminating trigger. The response message may then be determined using a rule for oπginating triggers and terminating Once the response is determined, the response is returned to the SSP at processing block 1622 Phase 4-- Conflict Resolution Criteria
An optional phase of the methodology is conflict resolution criteria Conflict resolution criteria are necessary when two or more SCPs contain services which may conflict with each other (I e , they attempt lo influence call processing in a contradictory manner) Conflicts occur when two or more SCPs containing number translation services, carrier selection services, forwarding services, or (possibly) data display service may be invoked by the same trigger encountei These services are conflicting because each may attempt to return different values tor the same piece of information (e g , CalledPartylD) needed for subsequent call processing Since only one such value can be returned to the SSP for call processing, some criteria is needed to resolve the conflict that would be caused if both services are activated The particular criteria chosen would be reflected in the query option defined, and may also affect the controlling logic associated with that query option
In general, one illustrative approach is based on the notion that the SCPs having simultaneous access to a particular trigger all contain services which are compatible with each other If, however, the behavioral relations between some pair of service categories indicates that the services are incompatible, then both of them cannot simultaneously influence call processing For example, two number translation services active on the same trigger are incompatible, because only a single CalledPartylD can affect call processing When incompatible services are active on the same trigger, the procedures and methodology described in this document will not generate query options, and therefore, a controlling logic
To resolve such conflicts, the services active on any particular trigger for a given subscriber are identified in a subscriber record With this in mind, there are several approaches to dealing with incompatible service categories When a forwarding service and a data display service are both available at the same trigger, the behavioral option can designate which is to affect the call In other situations, it is assumed that a choice is made duπng the pre-provisioning analysis about which of the conflicting SCPs should be queried The subscriber record then identifies only this SCP When the MP receives a query message from the SSP and consults the subscriber record to identify the SCPs (and service categories) active on the trigger, it will only know about the one that has previously been selected The controlling logic, therefore, does not need to perform any additional processing in order to select an SCP or resolve conflicting parameter values returned from simultaneously queried SCP
A different kind of conflict resolution cnteria are needed when several data display services exist at SCPs active on the same trigger In that case, the data display services are only in conflict if different services return different values for the same parameter All these SCPs to be queried because each may return a different piece of information for display Although a data display service does not affect call processing, only one value for a given parameter can be displayed on a display device Therefore, when the same parameter is assigned different values by different data display services, the conflict among these values must be resolved in the controlling logic If conflict resolution criteria are not provided, the controlling logic must assume some default, such as not displaying any value for conflicting parameters IV. UNIFYING PRINCIPLES
The foregoing Sections I, II, and III have presented details of, respectively; (I) a single service category per SCP for a two-SCP system; (II) multiple service categories per SCP for a two-SCP system; and (III) a single category of service per SCP for a two or more SCP system. In each case, underlying the methodology is a pre-provisioning analysis phase completed before the system is actually deployed in an operational system. In that phase, an expert in SSP-SCP service provisioning and feature interactions, acting as a mentor, determines control options for each trigger indicative of service categories by capturing service interaction principles supplied by the services expert. In Sections ( I) and (II), the system mentor completes an additional step not present in Section (III), namely, system defaults are substituted for customer decisions. In Section (III), each customer is offered options from the available control options, and the customer chooses from among the available control options so as to meet the expectations of the customer when the service is executed. In this later case, the selected control option controls execution of each of the service nodes, that is, SCP nodes, and each corresponding one of the service categories for the particular trigger with reference to the control options.
One skilled in the art may recognize that the general terms service origination node and serving node can be used for a query/reply transaction rather than SSP and SCPs or SCPs. In addition, by way of expanding the breadth of the disclosure, control options will include both behavioral options and query options.
It is to be further understood that the various illustrative embodiments of the methodology described herein is not limited to the specific forms shown by way of illustration, but may assume other embodiments limited only by the scope of the appended claims.

Claims

What is claimed is
1. A method for processing a query generated by a Service Switching Point (SSP) to produce a reply to operate the SSP, the SSP being served by a plurality of Service Control Points (SCPs) cooperatively arranged to execute a set of service categories, the SCPs being simultaneously active tor each trigger, the query being produced in response to a particular trigger effected by a particular subscriber invoking the set, the method comprising the steps of determining control options indicative of the service categories by capturing service interaction principles supplied by a SCP services expert acting as a mentor, wherein the service interaction principles are based upon a requirement of executing at most one of the service categories in each of the SCPs for each trigger, storing one of the control options in executable controlling logic as selected for each of the subscribers, and operating the controlling logic associated with the particular subscriber to control the execution of each of the SCPs and each corresponding one of the service categories to thereby generate the reply
2. A method for managing communications between a service origination node and two serving nodes wherein the serving nodes are simultaneously active for a particular trigger to thereby generate a reply to the service origination node, the method comprising the steps of determining control options for each trigger indicative ot service categories by capturing service interaction principles supplied by a serving node services expert acting as a mentor, wherein the service interaction principles are based upon a requirement of executing one or more of the service categories in each of the serving nodes tor each trigger, selecting one of the control options by the expert for each trigger, and controlling execution of each of the service nodes and each corresponding one of the service categories for the particular trigger with reference to the control options to generate the reply
3 A method for managing communications between a Service Switching Point (SSP) and two Service Control Points (SCPs) wherein the SCPs are simultaneously active for a particular trigger to thereby generate a reply to the SSP. the method comprising the steps of determining control options for each trigger indicative of service categories by capturing service interaction principles supplied by a SCP services expert acting as a mentor, wherein the service interaction principles are based upon a requirement of executing one or more of the service categories in each of the SCPs for each trigger, selecting one ot the control options by the expert tor each trigger, and controlling execution of each of the SCPs and each corresponding one of the service categories for the particular trigger with reference to the control options to generate the reply.
4. The method as recited in claim 20 wherein said step of controlling includes the steps of
(a) if simultaneous querying of the SCPs for the particular subscriber is required, continuing with step (b); otherwise, proceeding to step (d),
(b) simultaneously querying each of the SCPs and receiving response from the SCPs,
(c) determining the reply for the SSP from the responses obtained by querying the SCPs and returning the reply,
(d) determining a first one of the SCPs to be queried, querying the first SCP, and receiving a first response,
(e) if the second one of the SCPs is to be queried, proceeding to step (f), otherwise, returning the reply based upon the first response, and (f) passing information from the first SCP to the second SCP, if needed, querying the second of the SCPs, receiving a second response, and returning the reply based upon the first response and the second response.
5. A system for managing communications between a service origination node and a plurality of serving nodes wherein the serving nodes aie simultaneously active for a particular trigger to thereby generate a reply to the service origination node, the system comprising means for determining control options for each trigger indicative of service categories by capturing service interaction principles supplied by a serving node services expert acting as a mentor, wherein the service interaction principles are based upon a requirement of executing at most one of the service categories in each of the serving nodes for each trigger, and control means, responsive to said means for determining, for controlling execution of each of the service nodes and each corresponding one of the service categories for the particular trigger with reference to the control options to generate the reply.
6. A system for managing communications between a service origination node and two serving nodes wherein the serving nodes are simultaneously active for a particular trigger to thereby generate a reply to the service origination node, the system comprising means for determining control options for each trigger indicative of service categories by capturing service interaction principles supplied by a serving node services expert acting as a mentor, wherein the service interaction principles are based upon a requirement of executing one or more of the service categories in each of the serving nodes for each trigger, selection means, responsive to said means for determining, for selecting one of the control options by the expert for each trigger, and control means, responsive to said means for selecting, for controlling execution of each of the service nodes and each corresponding one of the service categories for the particular trigger with reference to the control options to generate the reply.
PCT/US1997/011040 1996-06-26 1997-06-25 Managing feature interactions in a telecommunications system such as an intelligent network WO1997050232A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CA002257939A CA2257939C (en) 1996-06-26 1997-06-25 Managing feature interactions in a telecommunications system such as an intelligent network
EP97931397A EP0901729A4 (en) 1996-06-26 1997-06-25 Managing feature interactions in a telecommunications system such as an intelligent network
JP10503506A JPH11513214A (en) 1996-06-26 1997-06-25 Managing extended function interactions in telecommunication systems such as intelligent networks

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US2055496P 1996-06-26 1996-06-26
US60/020,554 1996-06-26

Publications (1)

Publication Number Publication Date
WO1997050232A1 true WO1997050232A1 (en) 1997-12-31

Family

ID=21799256

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/011040 WO1997050232A1 (en) 1996-06-26 1997-06-25 Managing feature interactions in a telecommunications system such as an intelligent network

Country Status (5)

Country Link
US (1) US5999610A (en)
EP (1) EP0901729A4 (en)
JP (1) JPH11513214A (en)
CA (1) CA2257939C (en)
WO (1) WO1997050232A1 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986236A2 (en) * 1998-09-05 2000-03-15 Alcatel Service control platform
WO2000062559A1 (en) * 1999-04-14 2000-10-19 Bellsouth Intellectual Property Corporation Multiple services per trigger
WO2001031935A1 (en) * 1999-10-22 2001-05-03 Nokia Corporation Feature interactions
WO2002019729A1 (en) * 2000-08-31 2002-03-07 Telefonaktiebolaget L M Ericsson (Publ) Service interaction
WO2002058370A1 (en) 2001-01-18 2002-07-25 Telefonaktiebolaget L M Ericsson Improvements in service oriented networks
GB2413029A (en) * 2004-04-07 2005-10-12 Orange Personal Comm Serv Ltd Call processing system
WO2005099239A1 (en) 2004-04-07 2005-10-20 Orange Personal Communications Services Limited Event processing system
EP1727377A1 (en) * 2005-05-25 2006-11-29 Alcatel Telecommunications services
EP1095526B1 (en) * 1998-09-11 2007-07-25 Nokia Corporation Execution of services in intelligent network
EP1522196B1 (en) * 2002-07-11 2010-04-07 Sprint Communications Company, L.P. Centralized service control for a telecommunication system
US8126460B2 (en) 2005-12-16 2012-02-28 Telefonaktiebolaget L M Ericsson (Publ) Intelligent network services

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6847611B1 (en) 1990-12-10 2005-01-25 At&T Corp. Traffic management for frame relay switched data service
GB9603582D0 (en) 1996-02-20 1996-04-17 Hewlett Packard Co Method of accessing service resource items that are for use in a telecommunications system
FI103845B (en) * 1996-11-14 1999-09-30 Nokia Telecommunications Oy Establishing calls using an intelligent network
US6445782B1 (en) * 1996-11-19 2002-09-03 British Telecommunications Public Limited Company Service management system for use in communications
DE69816594T2 (en) * 1997-02-20 2004-06-03 Hewlett-Packard Co. (N.D.Ges.D.Staates Delaware), Palo Alto SERVICE POINT FOR THE DELIVERY OF TELECOMMUNICATION SERVICES
WO1998051095A2 (en) * 1997-05-09 1998-11-12 Dsc Telecom L.P. Scp database migration
US6081524A (en) 1997-07-03 2000-06-27 At&T Corp. Frame relay switched data service
US6535596B1 (en) * 1997-09-29 2003-03-18 Lucent Technologies Inc. Call processing system utilizing subscriber services and preferences
US6418461B1 (en) * 1997-10-06 2002-07-09 Mci Communications Corporation Intelligent call switching node in an intelligent distributed network architecture
SE518084C2 (en) * 1998-01-23 2002-08-20 Ericsson Telefon Ab L M Processes and devices related to functions or functional devices and methods for controlling the process flow between functions
US6831914B1 (en) * 1998-03-27 2004-12-14 Verizon Services Corp. Services control point selection in an advanced intelligent network
FI107310B (en) * 1998-04-09 2001-06-29 Nokia Networks Oy Decentralization of services over a telecommunications network
US7194078B2 (en) * 1998-05-28 2007-03-20 Siemens Communications, Inc. Network redirection control routing
US6263060B1 (en) * 1998-08-18 2001-07-17 Priority Call Management, Inc. Transportable logic to facilitate a large calling card transaction network supporting dynamic changes
US6308231B1 (en) 1998-09-29 2001-10-23 Rockwell Automation Technologies, Inc. Industrial control systems having input/output circuits with programmable input/output characteristics
US6225825B1 (en) 1998-09-30 2001-05-01 Rockwell Technologies, Llc Industrial control systems having input/output circuits with programmable input/output characteristics
US6298393B1 (en) * 1998-09-30 2001-10-02 Rockwell Technologies, Llc Industrial control systems having input/output circuits with programmable input/output characteristics
FI106596B (en) * 1998-10-30 2001-02-28 Nokia Networks Oy Interaction of services in a telecommunications network
FI107771B (en) * 1998-12-16 2001-09-28 Nokia Networks Oy Starting services in a telecommunications network
CA2299639C (en) * 1999-03-05 2005-11-01 Mitel Corporation Adaptive rule-based mechanism and method for feature interaction resolution
WO2000072559A1 (en) * 1999-05-20 2000-11-30 Motorola, Inc. Method and system for introducing new services into a network
DE19934278A1 (en) * 1999-07-21 2001-04-05 Siemens Ag Authentication method and apparatus for a variety of services
FR2812996B1 (en) * 2000-08-09 2003-01-10 France Telecom METHOD FOR PERFORMING MULTIPLE SERVICES DURING A TELEPHONE CALL
US6823056B1 (en) * 2000-09-01 2004-11-23 Bellsouth Intellectual Property Corporation Multiple services per trigger within a telecommunications network
US7076042B1 (en) * 2000-09-06 2006-07-11 Cisco Technology, Inc. Processing a subscriber call in a telecommunications network
US7171487B2 (en) * 2000-09-22 2007-01-30 International Business Machines Corporation Method and system for application specific packet forwarding
US6973174B1 (en) 2001-07-25 2005-12-06 At & T Corp. Service interaction media in an intelligent network environment
US6665723B2 (en) * 2001-11-29 2003-12-16 Nokia Corporation External trusted party call processing in SIP environments
US6639433B1 (en) 2002-04-18 2003-10-28 Johnson Controls Technology Company Self-configuring output circuit and method
US20040039772A1 (en) * 2002-04-25 2004-02-26 De Miguel Angel Boveda Methods and arrangements in a telecommunication network
US6882718B1 (en) * 2002-09-06 2005-04-19 Bellsouth Intellectual Property Corp. Real time customer service data manipulation to allow multiple services per trigger type
US20070011334A1 (en) * 2003-11-03 2007-01-11 Steven Higgins Methods and apparatuses to provide composite applications
US7376419B2 (en) * 2004-01-28 2008-05-20 Lucent Technologies Inc. Call triggering to one or more service nodes upon receipt of initial trigger response
US20050253744A1 (en) * 2004-05-13 2005-11-17 Johnson Controls Technology Company Configurable output circuit and method
US8214447B2 (en) * 2004-06-08 2012-07-03 Bose Corporation Managing an audio network
US20060004904A1 (en) * 2004-06-30 2006-01-05 Intel Corporation Method, system, and program for managing transmit throughput for a network controller
AR050123A1 (en) * 2004-08-11 2006-09-27 Huawei Tech Co Ltd COMMUNICATIONS NETWORK SYSTEM TO IMPLEMENT COMBINED SERVICES AND THEIR METHODS.
US7720049B1 (en) * 2005-03-03 2010-05-18 Veraz Networks, Inc. Semantic service broker for telecommunications networks
US20060218268A1 (en) * 2005-03-28 2006-09-28 Andre Beck Method and apparatus for extending service mediation to intelligent voice-over-IP endpoint terminals
US7848507B2 (en) * 2005-07-25 2010-12-07 At&T Intellectual Property Ii, L.P. Method and apparatus for compositional control of end-to-end media in IP networks
US8873548B1 (en) 2005-09-22 2014-10-28 Verizon Patent And Licensing Inc. Method and system for providing call-forwarding status indications in a packet-switched network
US8239498B2 (en) * 2005-10-28 2012-08-07 Bank Of America Corporation System and method for facilitating the implementation of changes to the configuration of resources in an enterprise
US8782201B2 (en) * 2005-10-28 2014-07-15 Bank Of America Corporation System and method for managing the configuration of resources in an enterprise
US7904759B2 (en) * 2006-01-11 2011-03-08 Amazon Technologies, Inc. System and method for service availability management
JP2007226398A (en) * 2006-02-22 2007-09-06 Hitachi Ltd Database connection management method and computer system
US20070204003A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Downloading a file over HTTP from multiple servers
US9037698B1 (en) 2006-03-14 2015-05-19 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US8601112B1 (en) * 2006-03-14 2013-12-03 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US7979439B1 (en) 2006-03-14 2011-07-12 Amazon Technologies, Inc. Method and system for collecting and analyzing time-series data
US8868660B2 (en) * 2006-03-22 2014-10-21 Cellco Partnership Electronic communication work flow manager system, method and computer program product
US10838714B2 (en) 2006-04-24 2020-11-17 Servicenow, Inc. Applying packages to configure software stacks
US7971187B2 (en) * 2006-04-24 2011-06-28 Microsoft Corporation Configurable software stack
US7912195B2 (en) 2006-06-07 2011-03-22 Comcast Cable Holdings, Llc Method for provisioning subscribers, products, and services in a broadband network
US20080028044A1 (en) * 2006-07-26 2008-01-31 Intellidyne, L.L.C. System and method for file transfer
US20080080696A1 (en) * 2006-09-28 2008-04-03 Stephen Keith Nicholson Utilizing multiple, sequential trigger detection points to enable intelligent network service call management
US20090003566A1 (en) * 2007-06-29 2009-01-01 Rachel Wentink System and method for scoring recorded interactions
GB2465992B (en) * 2008-12-04 2013-10-09 Metaswitch Networks Ltd Telephone call processing
US8238538B2 (en) 2009-05-28 2012-08-07 Comcast Cable Communications, Llc Stateful home phone service
US9832073B2 (en) * 2013-10-17 2017-11-28 Cisco Technology, Inc. Analyzing network configuration complexity
US10387230B2 (en) 2016-02-24 2019-08-20 Bank Of America Corporation Technical language processor administration
US10275183B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data dynamic decoding
US10366337B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating the likelihood of technology change incidents
US10216798B2 (en) 2016-02-24 2019-02-26 Bank Of America Corporation Technical language processor
US10275182B2 (en) 2016-02-24 2019-04-30 Bank Of America Corporation System for categorical data encoding
US10019486B2 (en) 2016-02-24 2018-07-10 Bank Of America Corporation Computerized system for analyzing operational event data
US10430743B2 (en) 2016-02-24 2019-10-01 Bank Of America Corporation Computerized system for simulating the likelihood of technology change incidents
US10223425B2 (en) 2016-02-24 2019-03-05 Bank Of America Corporation Operational data processor
US10067984B2 (en) 2016-02-24 2018-09-04 Bank Of America Corporation Computerized system for evaluating technology stability
US10366338B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating the impact of technology change incidents
US10366367B2 (en) 2016-02-24 2019-07-30 Bank Of America Corporation Computerized system for evaluating and modifying technology change events

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247571A (en) * 1992-02-28 1993-09-21 Bell Atlantic Network Services, Inc. Area wide centrex
US5418844A (en) * 1992-04-17 1995-05-23 Bell Atlantic Network Services, Inc. Automatic access to information service providers
US5436957A (en) * 1992-12-24 1995-07-25 Bell Atlantic Network Services, Inc. Subscriber control of access restrictions on a plurality of the subscriber's telephone lines

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404396A (en) * 1993-08-27 1995-04-04 Telefonaktiebolaget Lm Ericsson Feature interaction manager
US5581610A (en) * 1994-10-19 1996-12-03 Bellsouth Corporation Method for network traffic regulation and management at a mediated access service control point in an open advanced intelligent network environment
US5825860A (en) * 1997-03-12 1998-10-20 Northern Telecom Limited Load sharing group of service control points connected to a mediation point for traffic management control
US5920618A (en) * 1996-11-29 1999-07-06 Sbc Technology Resources, Inc. Apparatus and method for managing telephony-based services

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247571A (en) * 1992-02-28 1993-09-21 Bell Atlantic Network Services, Inc. Area wide centrex
US5422941A (en) * 1992-02-28 1995-06-06 Bell Atlantic Network Services, Inc. Extension of centrex services
US5418844A (en) * 1992-04-17 1995-05-23 Bell Atlantic Network Services, Inc. Automatic access to information service providers
US5524146A (en) * 1992-04-17 1996-06-04 Bell Atlantic Network Services, Inc. Automatic access to communication service providers
US5436957A (en) * 1992-12-24 1995-07-25 Bell Atlantic Network Services, Inc. Subscriber control of access restrictions on a plurality of the subscriber's telephone lines

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP0901729A4 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0986236A3 (en) * 1998-09-05 2003-08-06 Alcatel Service control platform
EP0986236A2 (en) * 1998-09-05 2000-03-15 Alcatel Service control platform
EP1095526B1 (en) * 1998-09-11 2007-07-25 Nokia Corporation Execution of services in intelligent network
WO2000062559A1 (en) * 1999-04-14 2000-10-19 Bellsouth Intellectual Property Corporation Multiple services per trigger
US6532285B1 (en) 1999-04-14 2003-03-11 Bellsouth Intellectual Property Corporation Method and system for providing multiple services per trigger
US6700968B2 (en) 1999-04-14 2004-03-02 Bellsouth Intellectual Property Corporation Method and system for providing multiple services per trigger
WO2001031935A1 (en) * 1999-10-22 2001-05-03 Nokia Corporation Feature interactions
US7212621B1 (en) 1999-10-22 2007-05-01 Nokia Corporation Feature interactions
WO2002019729A1 (en) * 2000-08-31 2002-03-07 Telefonaktiebolaget L M Ericsson (Publ) Service interaction
WO2002058370A1 (en) 2001-01-18 2002-07-25 Telefonaktiebolaget L M Ericsson Improvements in service oriented networks
US8279862B2 (en) 2002-07-11 2012-10-02 Sprint Communications Company L.P. Centralized service control for a telecommunication system
EP1522196B1 (en) * 2002-07-11 2010-04-07 Sprint Communications Company, L.P. Centralized service control for a telecommunication system
EP2375715A2 (en) 2004-04-07 2011-10-12 France Telecom Event processing system in a communication network
GB2413029B (en) * 2004-04-07 2007-06-06 Orange Personal Comm Serv Ltd Call processing system
WO2005099239A1 (en) 2004-04-07 2005-10-20 Orange Personal Communications Services Limited Event processing system
EP2375715A3 (en) * 2004-04-07 2011-11-02 France Telecom Event processing system in a communication network
GB2413029A (en) * 2004-04-07 2005-10-12 Orange Personal Comm Serv Ltd Call processing system
US8472945B2 (en) 2004-04-07 2013-06-25 France Telecom Sa Event processing system
EP1727377A1 (en) * 2005-05-25 2006-11-29 Alcatel Telecommunications services
US8126460B2 (en) 2005-12-16 2012-02-28 Telefonaktiebolaget L M Ericsson (Publ) Intelligent network services
US8254940B2 (en) 2005-12-16 2012-08-28 Telefonaktiebolaget Lm Ericsson (Publ) Handling of services for a called subscriber

Also Published As

Publication number Publication date
CA2257939C (en) 2000-12-12
US5999610A (en) 1999-12-07
EP0901729A1 (en) 1999-03-17
CA2257939A1 (en) 1997-12-31
JPH11513214A (en) 1999-11-09
EP0901729A4 (en) 2000-09-27

Similar Documents

Publication Publication Date Title
US5999610A (en) Managing feature interactions in a telecommunications system such as an intelligent network
EP1003342B1 (en) Mediation of open advanced intelligent network interface by shared execution environment
US7903802B2 (en) Method and system for providing calling number restoral
AU702328B2 (en) Mediation of open advanced intelligent network in SS7 protocol open access environment
US5881144A (en) Graphical intelligent network (IN) subscription manager
US6823056B1 (en) Multiple services per trigger within a telecommunications network
EP0963663B1 (en) Dynamically associating service script logics to provide a subscriber feature within an advanced intelligent network
KR20010090478A (en) Intelligent-networked telecommunication system which strategically creates and employs service-dependent pseudo calling line identities to eliminate redundant billing errors
US6661887B1 (en) Service interaction in an intelligent network
CA2291842A1 (en) Local exchange carrier escape list for local number portability
US6243456B1 (en) ETSI intelligent network capability set 1 trigger detection points on a service switching point
US6813348B1 (en) Method and system of call origination using a service circuit node in an advanced intelligent network
AU718459B2 (en) Mediation of open advanced intelligent network interface by shared execution environment
CA2281135A1 (en) Method and system for minimizing database structure overhead in handling large volume advanced intelligent network services
WO1999023808A1 (en) Method and system for routing service calls made from resold lines
US7664247B1 (en) Methods and apparatus for integrating automatic route selection with AIN services
MXPA96005634A (en) Advanced intelligent network interface mediation through compart execution environment

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
ENP Entry into the national phase

Ref document number: 2257939

Country of ref document: CA

Ref country code: CA

Ref document number: 2257939

Kind code of ref document: A

Format of ref document f/p: F

WWE Wipo information: entry into national phase

Ref document number: 1997931397

Country of ref document: EP

ENP Entry into the national phase

Ref country code: JP

Ref document number: 1998 503506

Kind code of ref document: A

Format of ref document f/p: F

WWP Wipo information: published in national office

Ref document number: 1997931397

Country of ref document: EP

WWW Wipo information: withdrawn in national office

Ref document number: 1997931397

Country of ref document: EP