Common channel signaling message intercept system

Abstract: To facilitate the processing of an incoming telephone call (e.g. from 105-1) associated with a respective telecommunications network service an initial address message identifying the incoming call is intercepted (in 300-1) before the message is presented to an associated toll switch (205) that will process the call. The intercepted message is then examined in order to identify the toll switch service logic that will process the call. The identity of the service logic is then appended to the message and the message is then passed to the toll switch (205) so that the identified service logic may be invoked to process the call in accord with the requested service.

Description: Field of the Invention The invention relates to telephone networks, and more particularly relates to identifying and executing call processing logic that is associated with a particular service request. Background of the Invention In the prior art, several approaches have been used in an interexchange network to identify the service logic that needs to be executed to process a particular service request. One prior approach connects telephone user equipment subscribing to a particular service directly to a dedicated interexchange trunk group so that the interexchange network can identify the requested service and thus the service logic that needs to he executed to process an associated service call. However, such an approach is not economical, since most service subscribers do not provide a sufficient level of traffic (or demand) to use optimally the capacity of a dedicated trunk group. Another prior approach attempts to optimize trunk usage by associating a trunk group, and thus the service logic, with a combination (set) of network services. Although such optimization is somewhat economical, it is not flexible. That is, in order to obtain a desired service a telephone user has to subscribe to a combination of such services, some of which the telephone user might find to be undesirable. As is well-known, a variety of signaling protocols are used to establish connections between switching exchanges (i.e., local and toll offices). One such protocol is the well-known Signaling System 7 (SS7). The SS7 protocol has been defined by Study Group XI - Specification of Signaling System No. 7, International Telegraph and Telephone Consultative Committee (CCITT) Blue Book, Vol. 6 of Facile VL9, Geneva, Switzerland, 1989. The SS7 protocol provides, inter alia, a method by which a local exchange office transmits a code known as Automatic Number Identification (ANI) to a toll office, in which the ANI identifies the originator (i.e., line circuit) of a call that the former office is forwarding to the latter office. The ANI code, as well as the called telephone number, are transmitted in a signaling message or packet commonly referred to as an Initial Address Message (IAM), which contains other information necessary for the toll switch to complete the call. Since an IAM contains ANI information identifying the source of a telephone call, it appears that a specific network service associated with a telephone call could be identified at a toll switch by merely examining the ANI information contained in the associated SS7 message. However, such an approach is not always practical. The reason for this is that a toll switch would have to check the ANI information accompanying each incoming call to determine if the call is associated with a particular service and/or feature. Since a toll switch processes a very large number of incoming calls, the additional task of checking the ANI information associated with each incoming call would increase the load on the call processing resources of the toll switch. Summary of the Invention An advancement in the art of call processing is achieved by providing in a telecommunications network a facility which, in accord with the invention, appends to an IAM message associated with an incoming call the identity of the service logic that will process the call and then presents the revised message to an associated toll switch. In particular, the inventive facility operates to intercept such an IAM message before it is presented to the associated toll switch. The facility then translates the ANI information contained in the message into the identity of the service logic that will process the call. The facility then appends the identity to the message and passes the result to the associated toll switch. Brief Description of the Drawing In the Drawing: FIG. 1 shows a broad block diagram of a telecommunications network in which the principles of the invention may be practiced; FIG. 2 is a broad block diagram of a CNI ring of FIG. 1; FIG. 3 is a broad block diagram of a direct link node of FIG. 2; FIG. 4 illustrates in flow chart form a program which implements the invention in the direct link node of FIG. 3; FIGs. 5-7 are illustrative examples of various translation tables arranged to translate ANI information accompanying an incoming call into a service identity; and FIG. 8 is an illustrative example of a service record that is contained in the table of FIG. 7. Detailed Description In an exemplary embodiment of the invention, communications network 200 shown in FIG. 1 may be an interexchange network, such as, for example, the well-known AT&T public switched network that provides a plurality of services for its subscribers, such as the subscribers associated with station sets 105-1 through 105-N and 125-1 through 125-P. More specifically, Network 200 includes, inter alia, a plurality of interconnected Toll Switches (TS), three of which are shown in the FIG., namely, TS 205, 210 and 215. Such toll switches (e.g., 205, 210 and 215) may be any one of the well-known type of switching equipment, such as, for example, the No. 4ESS (Electronic Switching System) that is available from AT&T. In a typical case, a toll switch serves a number of local central (switching) offices (CO), such as COs 105,120 and 125. As is well-known, a CO, e.g., CO 105 or CO 125, is arranged to connect a calling station (originator) that has dialed a particular telephone number to an associated toll switch, e.g., TS 105. A CO is also arranged to connect a telephone call received from an associated toll switch to an intended telephone station set. Network 200 also includes so-called Common Channel Signaling (CCS) links 302-1 through 302-3 which implement the aforementioned SS7 signaling network (hereinafter CCS7 links). CCS7 links 302-1 through 302-3 respectively connect to toll switches 105, 110 and 120 via respective CNI ring packet switches 300-1 through 300-3. In an implementation of the invention, each of the CNI rings 300-1 through 300-3 may be of the type disclosed in U. S. Patent No. 4,554,659 issued November 19, 1985 to M. L. Blood et al, and U. S. Patent No. 4,683,563 issued July 28, 1987, to D. M. Rouse et al. A CNI ring is the means by which a toll switch, e.g., TS 205, connects via respective ring nodes to a network 200 Signal Transfer Points (STP), one of which is shown in the FIG., namely STP 220. An STP, e.g., STP 220, may be, for example, the model 2STP that is available from AT&T. As is well-known, an STP operates to route messages between toll switches, between a toll switch and a CO, and between a toll switch and a network 200 data base, such as Network Control Point (NCP) 225. It is seen from the FIG. that, in broad terms, a toll switch, e.g., TS 205, comprises, inter alia, a central control processor 205-1 and a Time Division Multiplexed (TDM) network 205-2. TDM network 205-2, operates under the control of processor 205-1, and connects to a CO, e.g., CO 105, via respective communications paths, e.g., path 106. TDM network 205-2 may also connect to an associated adjunct 240 via communications path 241. Adjunct 240, which may be, for example, the Conversant® (registered trademark of AT&T) voice information system available from AT&T, communicates with central control processor 205-1 via path 304, CNI ring 300-1 and path 301-1. In a conventional manner, adjunct 240 may also communicate with other toll switches, e.g., TS 210 and TS 215, via path 304, CNI ring 300-1, CCS7 link 302-1 and STP 220 for the purpose of completing a telephone call. Referring now to FIG. 2, there is shown a broad block diagram of CNI ring 300 comprising so-called oppositely directed transmission paths 306 forming what is commonly referred to as a token ring. Token ring 306 operates under the control of a so-called executive node (not shown). CNI ring 300 also comprises a plurality of CCS7 link nodes 307-1 through 307-N, D-channel node 308 and direct link node 309 interconnected to one another via token ring 306. Nodes 307-1 through 307-N, in turn, respectively connect to CCS7 links 302 thereby providing a multiple link interface between CNI ring 300 and a particular network 200 STP, such as STP 220. In this way, central control processor 205-1 (FIG. 1) may exchange CCS7 messages, for example, an IAM message, with CO 105 or other toll switches via path 301-1, direct link node 309, token ring 306 and one of the CCS7 links 302 forming multiple CCS7 link 302-1. That is, processor 205-1 may send a CCS7 message to a particular STP, e.g., STP 220, for delivery to another network 200 toll switch or data base (i.e., NCP 225) by supplying the message to direct link node 309 via path 301-1. Direct link node 309, in turn, transmits the message over the up-stream leg of token ring 306 for delivery to a particular one of the nodes 307-1 through 307-N which is identified in the message. The link node, in turn, transmits the message over its respective one of the multiple links 302 forming multiple CCS7 link 302-1. Similarly, a link node, e.g., node 307-1, which receives a CCS7 message via its respective CCS7 link 302 outputs the message to the down-stream leg of token ring 306 for transmission to direct link node 309. Direct link node 309, in turn, removes the message from token ring 306 and supplies it to central control processor 205-1 via communications path 301-1. Turning now to FIG. 3, there is shown a broad block diagram of direct link node 309. Node 309, which is of the type disclosed in U. S. Patent No. 4,752924, includes ring interface circuit 309-11 which presents a interface to token ring 306, and host interface 309-13 which presents an interface to an associated toll switch central processor, e.g., processor 205-1, by way of a dual channel communications path 301. Node 309 also includes memory 309-12, which is partitioned into, inter alia, two I/O buffers 309-16 and 309-17. Memory 309-12 is also partitioned to provide, in accord with an aspect of the invention, ANI Table 309-18, as will be discussed below. I/O buffers 309-16 and 309-17 operate as conventional First In, First Out (FIFO) memory arrangements. The overall operation of node 309 is under the control of node processor 309-14. In particular, upon receiving a CCS7 message via the up-stream leg of token ring 306, ring interface 309-11 checks the message to determine if it contains an identifier identifying its associated central control processor, e.g, processor 205-1. If that is not the case, then interface 309-11 outputs the message to the succeeding up-stream leg of token ring 306. If that is case, then interface 309-11 stores the message in buffer 309-16. Node processor 309-14 periodically unloads a CCS7 message from buffer 309-16, converts the format of the message to a format expected by the associated central control processor and then stores the revised message in buffer 309-17. Host interface 309-13 then unloads the message from buffer 309-17 and supplies it to its associated host, e.g., central control processor 205-1, via communications path 301. Similarly, host interface 309-13 stores messages that it receives from its associated host via path 301 in buffer 309-17. Node processor 309-14, in turn, unloads those messages from buffer 309-17, reformats them to conform with the SS7 protocol and then stores them in buffer 309-16. Interface 309-11 then unloads the latter messages, one at a time, and transmits them over the down-stream leg of token 306 for delivery to one of the link nodes 307-1 through 307-N. (It is noted that D-channel node 308 of FIG. 2 operates in a similar manner. That is, node 308 is the means by which adjunct 240 (FIG. 1) exchanges messages with its associated central control processor 205-1, in which the messages are formatted in accord with the Q.931 protocol. Accordingly, D-link node 309 is further arranged so that it converts a Q.931 message that it receives via ring 306 into a format expected by processor 205-1. Similarly, node 309 converts processor 205-1 messages addressed to adjunct 240 into the Q.931 format before such messages are outputted to ring 306 for delivery to node 308.) More specifically, node 309 is arranged, in accord with an aspect of the invention, to intercept each IAM message before it is delivered to the associated central control processor and determine whether the call identified by the intercepted message is associated with a particular network 200 service or feature. If node 309 determines that is case, then node 309 identifies, in accord with an aspect of the invention, the associated service and/or feature module that will process the call and appends that identity to the IAM message before delivering the message to the associated central control processor, e.g., processor 205-1. In particular, when the program controlling the operation of node processor 309-14 unloads a message from ring buffer 309-11 the program then enters the program module shown in FIG. 4. Entry of the program at block 400 causes the program to proceed to block 401 where it determines whether or not the unloaded CCS7 message is an IAM message. If the CCS7 message is not an IAM message, then the program proceeds to block 405. Otherwise, the program proceeds to block 402 where it determines if the IAM message identifies an incoming call from an associated CO, e.g., CO 105 (FIG.1). If that is not the case, i.e., the call is from another network 200 toll switch, then the program proceeds to block 405. Otherwise, the program proceeds to block block 403. At block 403, the program determines whether the ANI (e.g., telephone number of calling telephone party or, in particular instances, the dialed telephone number) specified in the IAM message is contained in ANI table 309-18. If it is not, then the program concludes that the call (i.e., calling party) is not associated with a particular network 200 service or feature and proceeds to block 405. If the ANI information is contained in table 309-18, then the program proceeds to block 404 where it translates the ANI information into a service identity code identifying the particular service and/or feature logic that will process the call. The program then appends the identity code to the IAM message and proceeds to block 405. At block 405, the program revises the format of the CCS7 message so that the message may be processed by the associated central control processor, as mentioned above. The program then proceeds to block 406 where it stores the reformatted message in host buffer 309-17 and then exits via block 407. FIG. 5 through 7 illustrate the manner in which the program at blocks 403 and 404 determines if the ANI information is contained in ANI table 309-19. It also illustrates how such information may be translated into a service identity code. In particular, ANI table 309-18 (FIG. 3) is composed of a number of tables, the first of which is indexed using the first three digits of the ANI information contained in the IAM message that the program is processing. As is well-known, ANI information may be, for example, what is commonly referred to as a long distance telephone number of the form NPA-NXX-XXXX. NPA conforms with the North American dialing plan and comprises three digits, for example, 201. NXX identifies a local exchange (e.g., CO 105) and also comprise three digits, e.g., 555. XXXX identifies a line circuit connected to a subscriber telephone line associated with the local exchange and comprises four digits (e.g., 5432). Block 403 of FIG. 4 first accesses table 500 comprising -- illustratively a thousand locations -- using as an index the three digit NPA code contained in the intercepted IAM message. If the accessed location contains a null word (e.g., all zeroes), then the program proceeds to block 405. If, on the other hand, the accessed location contains an address indicative of a valid NPA that is served by the associated toll switch, then the program proceeds to block 404, as mentioned above. Block 404 then proceeds to access one of the tables of FIG. 6. It is noted that, in a typical case, the majority of entries in table 500 would be null words, since a toll switch serves a relatively few NPAs. For example, assume that the instant ANI is 201-555-5432, in which NPA 201 is served by the associated toll switch, e.g., TS 205 (FIG. 1). Block 403 then accesses table 500 using 201 as a index, meaning that the program unloads the contents of location 201 of table 500. If that location contains a null word, then, as mentioned, the program proceeds to block 405. However, assume that location 201 contains an address, which points the program to one of the tables of FIG. 6, namely table 201 associated with area code (NPA) 201. Each of the tables of FIG. 6 comprises a number of locations e.g., 1000 locations, in which the address of each such location is associated with a respective local exchange number (NXX) that is served by the associated toll switch. As such, the number of valid entries (entries which do not contain a null word) in each of the tables of FIG. 6 is commensurate with the number of local exchanges that are served by the associated toll switch for that NPA. Continuing, at this point, the program accesses table 201 using as an index the NXX (i.e.,555) contained in the ANI of the intercepted IAM message. It is seen from FIG. 6, that location 555 of table 601 contains an address of a next table, i.e., table 601-555, rather than a null word. In an illustrative embodiment of the invention, an address contained in one of the tables of FIG 6, e.g., table 201, in turn, "points" to one of a number of subscriber tables. FIG. 7 illustrates one such table, whose address is stored in location 555 of table 201. Each such subscriber table comprises a number of locations, e.g, 10,000 locations, each of which is associated with a particular subscriber served by the associated toll switch. If the particular subscriber has subscribed to one or more services and/or features provided by network 200 (FIG. 1), then an associated location in one of the subscriber tables identifies that subscription. In particular, having identified the appropriate subscriber table, e.g., table 701 (also identified as table 201-555), the program then accesses that table. In doing so, the program uses as an index the last four digits forming the ANI information (value) contained in the intercepted IAM message. As mentioned above, those four digits are assumed to be 5432. It is seen from the FIG. that location 5432 of table 701 contains a service identity (I.D. in the FIG.) record that is associated with the ANI value contained in the intercepted IAM message. In accord with an aspect of the invention, a service identity record identifies the toll switch logic module that will process the associated call. Accordingly, the program unloads a copy of the service identity record from location 5432 and appends it to the IAM message. The program then proceeds to block 405. In accord with a another aspect of the invention, a service identity record may contain a value identifying what is commonly referred to as "plain old telephone service". FIG. 8 shows an illustrative example of a service identity record 801 that is stored in an associated subscriber table, such as table 701. It is seen from the FIG. that subscriber record 801 comprises a number of fields, including a service field 801 identifying the associated subscriber's subscription of a network 200 service and/or feature, if any. As such, field 801 identifies the service module that needs to be invoked to process telephone calls originated by the associated subscriber. Field 802 contains associated data that is used to implement the service. For example, such data may identify a particular service adjunct, e.g., adjunct 240, as will be explained below. Processor 205-1 responsive to receipt of a revised IAM message removes the appended subscriber record and invokes the service module identified therein. Assume, that the identified service is a service which queries the calling subscriber for entry of an authorization code, and then compares the entered code with a code contained in the data field of the associated subscriber record. If the comparison is found to be true, then the service module directs the associated toll switch to complete the call to the called station. If the comparison is not true, then the service module directs the switch (TS 205) to terminate the call. In an illustrative embodiment of the invention, such a service module resides in one or more of a number of adjuncts identified in the data field of the associated subscriber record, for example, adjunct 240 (FIG. 2). Accordingly, TS 205 reformats a copy of the IAM message into the Q.931 message format and supplies the result to adjunct 240 via ring 300-1. In addition, TS 205 establishes a connection between the incoming call and adjunct 240 via associated TDM network 205-2 and path 241. Adjunct 240 responsive to receipt of the message, transmits a recorded announcement over path 241 for delivery to station set 105-1. The recorded announcement requests that the subscriber enter via the station keypad a predetermined authorization code. Adjunct 240, in turn, collects the digits forming the code as they are entered by the station set 105 subscriber (or caller). Upon receipt of the last of such digits, adjunct 240 compares the string of digits entered by the subscriber with the code contained in the data field of associated subscriber record. As mentioned above, if adjunct 240 finds that the string compares with the authorization code, then adjunct 240 transmits a request to complete the call to central control processor 205-1 via CNI ring 300-1. Otherwise, the request directs processor 205-1 to terminate the call. Processor 205-1, in turn and in a conventional manner, either completes or terminates the call based on the contents of the adjunct 240 request. In most instances, a particular network service is identified, in the manner discussed above, using the telephone number of the calling telephone station (subscriber). It can be appreciated that in certain instances the called telephone number (dialed digits) may be used to identify the requested service. In that instance, then, direct link node 809 would translate the dialed telephone number, rather than the calling telephone number, into a code identifying the associated network service and, thus, the associated service logic. The foregoing is merely illustrative of the principles of the invention. Those skilled in the art will be able to devise numerous arrangements, which, although not explicitly shown or described herein, nevertheless embody those principles that are within the scope of the invention. For example, the claimed invention may be used to intercept IAM messages associated with other types of services and identify the logic modules that need to be invoked to process those other services.

Claims: A network comprising a plurality of interconnected switches (205) for establishing connections between ones of said switches to forward respective incoming calls to their intended destinations, said switches exchanging messages with one another via a communications path (302-1) in order to establish said connections, said incoming calls being associated with respective services, said network comprising means for interfacing (300-1) associated ones of said switches with said communications path, said network being CHARACTERIZED in that said means for interfacing comprises : means for receiving (309) via said path a message identifying an incoming call received at the associated one of said switches, for identifying, as a function of calling information contained in said message, a service logic contained in said one switch that will process said incoming call and for supplying said message and said service logic identity to the said one switch. The network set forth in claim 1 FURTHER CHARACTERIZED IN THAT said message is an initial address message. The network set forth in claim 1 FURTHER CHARACTERIZED IN THAT said calling information is a long distance telephone number, and wherein said means for identifying includes means for translating said long distance telephone number into a memory location at which is stored a record identifying said service logic. The network set forth in claim 3 FURTHER CHARACTERIZED IN THAT said service logic identity includes the identity of an adjunct processor (240) associated with said one switch, said adjunct processor including voice interactive means for transmitting to the originator of said incoming call a verbal message requesting entry of an authorization code, for receiving the entered code and for allowing said incoming call to be completed if the entered code compares with a code contained in said record. The network set forth in claim 1 FURTHER CHARACTERIZED IN THAT said calling information includes an automatic identification code identifying the source of said incoming call, and wherein said means for identifying includes means for translating said identification code into a memory location having stored therein said identity of said service logic. The network set forth in claim 5 FURTHER CHARACTERIZED IN THAT said means for identifying includes means, operative in the event that said memory location does not contain the identity of said service logic, for then supplying a null word to said one switch as the identity of said service logic. The network set forth in claim 1 FURTHER CHARACTERIZED IN THAT said calling information is a telephone number associated with a calling telephone station. The network set forth in claim 1 FURTHER CHARACTERIZED IN THAT said calling information is a called telephone number.

Inventors: MOE WARREN R, RUSSELL LARRY ARNISE, RUSSELL TERESA LORRAINE, SCHEVON CATHERINE ANNE, STONE ROGER E, MOE, WARREN R., RUSSELL, LARRY ARNISE, RUSSELL, TERESA LORRAINE, SCHEVON, CATHERINE ANNE, STONE, ROGER E.
Applicants: AT & T CORP, AT&T CORP.
Application year: 1992
Main classification: H04Q3
IPC codes: H04M3, H04Q3