Patent Publication Number: US-7916857-B2

Title: Methods, systems, and computer readable media for selectively processing or redirecting signaling connection control part (SCCP) messages

Description:
RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Patent Application Ser. No. 60,773,604, filed Feb. 15, 2006; the disclosure of which is incorporated herein by reference in its entirety. 
    
    
     TECHNICAL FIELD 
     The subject matter described herein relates to processing SCCP messages. More, particularly, the subject matter described herein relates to methods, systems, and computer program products for selectively processing or redirecting SCCP messages. 
     BACKGROUND 
     In telecommunications networks, it is often desirable to provide new services to telecommunications subscribers. For example, in mobile communications networks, it may be desirable to migrate subscribers from one protocol, such as Interim Standard 41 (IS-41), to a new protocol, such as Global System for Mobile Communications (GSM) that provides new services. In such networks, since subscribers may not all be migrated at the same time, the network may include IS-41 subscribers, GSM subscribers, IS-41 switches, GSM switches, IS-41 HLRs and GSM HLRs. 
     In such a network, IS-41 switches may be the legacy switches. It is desirable to provide the capability for these legacy switches to correctly route calls and send signaling messages relating to migrated subscribers and new GSM subscribers. One method for allowing IS-41 switches to correctly route calls and send signaling messages relating to migrated and new GSM subscribers is to modify the switches to send signaling messages route-on-global-title (route-on-GT). In some networks, IS-41 switches send signaling messages, such as signaling connection control part (SCCP) messages, route-on-point-code-subsystem-number (route-on-PC-SSN). Messages that are sent route-on-PC-SSN are typically addressed to the final destination, such as the IS-41 HLR. Messages that are sent route-on-GT are typically addressed to the point code of an intermediate node, such as an STP, that performs global title translation, determines the destination for the messages, and routes the messages to the destination. Modifying IS-41 switches that send messages route-on-PC-SSN to send messages route-on-GT may not be cost effective, especially in networks where there is a large base of installed switches. 
     More generally, the problem of modifying switching offices that send messages route-on-PC-SSN to send any type of SCCP messages route-on-GT can be expensive where there is a large base of installed switches. Accordingly, there exists a need for selectively processing or redirecting messages sent route-on-PC-SSN to a destination using an intermediate node, such as an STP. One problem with using an STP to process messages that are sent route-on-PC-SSN is that STPs typically route such messages, rather than apply internal processing. One exception where STPs apply internal processing to messages sent route-on-PC-SSN is when an STP includes a number portability database, such as an LNP database. If an STP includes an internal LNP database, the STP terminates and processes all LNP queries that are addressed to the STP. However, there is no provisioned capability in an LNP-equipped STP to selectively process some LNP queries that are addressed to the STP and redirect other LNP queries that are addressed to the STP to a destination. 
     Accordingly, in light of these difficulties, there exists a need for methods, systems, and computer program products for selectively processing or redirecting SCCP messages. 
     SUMMARY 
     The subject matter described herein includes methods, systems, and computer program products for selectively processing or redirecting SCCP messages. According to one method, an SCCP message addressed to an STP and sent route-on-PC-SSN is received at the STP. It is determined whether the SCCP message can be processed locally by the STP. In response to determining that the SCCP message can be processed locally by the STP, the SCCP message is terminated, processed locally, and a response is sent to the message originator. In response to determining that the SCCP message cannot be processed locally at the STP, the message is redirected to a destination. 
     The subject matter described herein for selectively processing or redirecting SCCP messages can be implemented using a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include chip memory devices, disk memory devices, programmable logic devices, and application specific integrated circuits. In addition, a computer program product that implements the subject matter described herein can be located on a single device for computing platform or may be distributed across multiple devices for computing platforms. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings of which: 
         FIG. 1  is a flow chart illustrating an exemplary process for selectively processing or redirecting SCCP messages according to an embodiment of the subject matter described herein; 
         FIG. 2  is a network diagram illustrating exemplary messages exchanged for an SCCP message that is processed by an STP according to an embodiment of the subject matter described herein; 
         FIG. 3  is a network diagram illustrating exemplary messages exchanged between network nodes for an SCCP message that is redirected by an STP according an embodiment of the subject matter described herein; and 
         FIG. 4  is a block diagram illustrating an exemplary internal architecture for an STP that selectively processes or redirects SCCP messages according to an embodiment of the subject matter described herein. 
     
    
    
     DETAILED DESCRIPTION 
     The subject matter described herein includes methods, systems, and computer program products for selectively processing or redirecting SCCP messages. The subject matter described herein may be implemented at a node that is located between a network switching system, such as a mobile switching center (MSC) or a service switching point (SSP), and a destination node, such as a home location register (HLR) or a service control point (SCP), that may be configured to process some of the SCCP messages. In one implementation, the subject described herein may be implemented in a signal transfer point (STP).  FIG. 1  is a flow chart illustrating exemplary steps that may be performed for selectively processing or redirecting SCCP messages according to an embodiment of the subject matter described herein. Referring to  FIG. 1 , in block  100 , an SCCP message addressed to an STP and sent route-on-PC-SSN is received at the STP. Referring to the network example illustrated in  FIG. 2 , an STP  200  may be located in a network that includes an IS-41 MSC  202 , an IS-41 HLR  204 , a GSM MSC  206 , and a GSM HLR  208 . When IS-41 MSC  202  receives an initial address message (IAM) message or other message to initiate a call to a mobile subscriber, IS-41 MSC  202  may send a location request message to determine the location of the called party. In this implementation, the location request message is sent route-on-PC-SSN. The location request message is addressed to a capability point code of STP  200 . The capability point code is a point code that is used by STP  200  to identify SCCP messages that may be processed locally at the STP or redirected. 
     Returning to  FIG. 1 , in blocks  102  and  104 , it is determined whether the SCCP message can be processed locally by the STP. If it is determined that the SCCP message can be processed locally, the SCCP message is terminated, processed locally, and a response is sent to the message originator. Returning to  FIG. 2 , when STP  200  receives the location request message, STP  200  will recognize the message as being addressed to its capability point code for selective SCCP message processing or redirection. In one implementation, STP  200  determines whether it can process the SCCP message locally by determining whether the called party identified by the location request message has migrated to GSM or not. In this example, it is determined that the subscriber has migrated to GSM. Accordingly, STP  200  formulates a location request return result message indicating that the subscriber has been migrated. STP  200  sends the location request return result message to IS-41 MSC  202 . IS-41 MSC  202  forwards the call to GSM MSC  206  by sending an IAM message to GSM MSC  206 . GSM MSC  206  will then issue a send routing information (SRI) message to GSM HLR  208  to determine the location of the called party. Thus, in  FIG. 2 , STP  200  determines that it can process an SCCP message locally, and processes the message. 
     Returning to  FIG. 1 , in block  104 , if it is determined that the SCCP message cannot be processed locally, control proceeds to block  108  where the message is redirected to a destination for processing. Referring to  FIG. 3 , a location request message originates from IS-41 MSC  202  in response to an incoming mobile terminated call. The location request message is sent route-on-PC-SSN to the capability point code of STP  200  for selective SCCP message processing or redirection. In this example, it is assumed that the called party has not migrated to GSM. Accordingly, STP  200  may determine that it cannot process the query message because the subscriber has not migrated. In this case, STP  200  may redirect the location request message to IS-41 HLR  204 . IS-41 HLR  204  may perform a lookup using a subscriber identifier in the location request message and determine the current location of the subscriber. IS-41 HLR  204  may then send a location request return result message to IS-41 MSC  202  via STP  200  indicating the location of the subscriber. 
     In one exemplary implementation, in order to redirect the received SCCP message to IS-41 HLR  204 , STP  200  may copy the called party point code from the SCCP portion of the message and place the called party point code in the MTP routing label of the message. This implementation requires that the IS-41 MSC  202  insert the point code of the IS-41 HLR in the called party point code field of the SCCP query message. Thus, in the example illustrated in  FIG. 3 , STP  200  redirects a message that was sent to it route-on-PC-SSN in response to determining that STP  200  cannot process the message. 
       FIG. 4  is a block diagram illustrating exemplary components of STP  200  for selectively processing or redirecting SCCP messages according to an embodiment of the subject matter described herein. Referring to  FIG. 4 , STP  200  includes a plurality of internal processing modules  400 ,  402 ,  404 , and  406  connected via a counter-rotating, dual ring bus  408 . In the illustrated example, the processing modules include a link interface module (LIM)  400  for interfacing with SS7 signaling links, a data communications module (DCM)  402  for interfacing with IP signaling links, and database services modules (DSMs)  404  and  406  for performing database-related services, such as selectively processing or redirecting SCCP query messages. 
     LIM  400  includes a message transfer part (MTP) level one and two function  410  for performing SS7 MTP level one and two operations, such as sequencing, error detection, and error correction of SS7 signaling messages sent over SS7 signaling links. Gateway screening function  412  screens incoming SS7 messages to determine whether to allow the messages into the network. Discrimination function  414  screens incoming SS7 messages to determine whether the messages require internal processing by STP  200  or whether the messages should be routed. Distribution function  416  receives messages identified by discrimination function  414  as requiring internal processing by STP  200 . Distribution function  416  distributes the messages to an internal processing module, such as DSM  404  or  406  for internal processing. Routing function  418  routes messages identified by discrimination function  414  as requiring routing. 
     As stated above, normally, messages that are sent to an STP route-on-PC-SSN are routed by a routing function, such as routing function  418 , to a destination. However, according to the subject matter described herein, SCCP query messages that may require internal processing by STP  200  or redirection are addressed to a capability point code of STP  200 . For such messages, discrimination function  414  may identify the messages as requiring internal processing (either redirection or local termination) and forward such messages to distribution function  416 . Distribution function  416  may then forward such messages to one of DSM cards  404  and  406  for internal processing. 
     DCM card  402  includes functionality for interfacing with IP signaling links, and in particular, for interfacing with IP signaling links that carry IP-encapsulated SS7 signaling messages. In the illustrated example, DCM  402  includes a physical layer function  420 , a network layer function  422 , a transport layer function  424 , an adaptation layer function  426 , and functions  410 - 418  described with regard to LIM  400 . Physical layer function  420  performs OSI physical layer operations, such as error correction and error detection of messages sent over OSI layer one and two signaling links. In one implementation, physical layer function  420  may be implemented using Ethernet. Network layer function  422  performs operations, such as network layer routing of signaling messages. In one implementation, network layer function may be implemented using Internet protocol. Transport layer function  424  performs OSI transport layer functions, such as connection-oriented or stream-oriented transport of messages. Transport layer function may be implemented using transmission control protocol, user datagram protocol, or stream control transmission protocol. Adaptation layer function  426  performs operations for sending and receiving SS7 messages over IP transport. Adaptation layer function  426  may be implemented using any Sigtran adaptation layer protocol, such as SUA, M3UA, M2PA, or other suitable protocol. Functions  410 - 418  may perform the same operations as the correspondingly numbered functions described with regard to LIM  400 . Hence, a description thereof will not be repeated herein. 
     It should be noted that the subject matter described herein for selectively processing or redirecting SCCP messages is capable of performing the processing or redirection for SCCP messages that are sent over IP transport as well as messages that are sent over SS7 transport. Thus, the term “SCCP message” as described herein is not intended to be limited to messages that are sent using SS7 transport across a network. An IP encapsulated SCCP message received by DCM card  402  would be unencapsulated and forwarded to one of DSM cards  404  and  406  for selective processing or redirection, if it is addressed to the capability point code of STP  200  described above. 
     DSMs  404  and  406  may be identically provisioned to provide database-related and/or other services in a load sharing manner. In the illustrated example, one database-related service that is provided is selective SCCP processing or redirection. Each DSM  404  and  406  may be provisioned with a service selection function  428  that identifies an SCCP service for an incoming SCCP query message. For messages addressed to the capability point code of selective SCCP message processing or redirection, service selection function  428  may forward such messages to selective SCCP processing/redirection function  430 . Selective SCCP processing/redirection function  430  may perform a lookup in subscriber database  432  to determine whether an SCCP message can be processed locally or not. In the migration example described above, messages directed to migrated subscribers may be processed locally and messages that are directed to non-migrated subscribers may be redirected. Subscriber database  432  may include entries indexed by subscriber identifiers, such as IMSIs, MSISDN numbers, or directory numbers. Each entry may include an indication as to whether a subscriber is migrated. Alternatively, database  432  may be populated only with entries for migrated subscribers, eliminating the need to store migration status indicators in the database entries. Subscriber database  432  may be provisioned by an external provisioning platform, referred to as Eagle® Provisioning Application Processor (EPAP)  434 . 
     For messages that are processed locally, selective SCCP processing/redirection function  430  may terminate such messages, formulate response messages, and forward the response messages to the message originator. The response messages will be routed by routing function  418  to the appropriate LIM or DCM associated with the signaling link corresponding to the destination point code in the message. For messages that cannot be processed locally, selected SCCP processing/redirection function  430  may extract the SCCP called party point code from such messages and replace the MTP destination point code with the SCCP called party point code. Selective SCCP processing/redirection function  430  may forward such messages to routing function  418 . Routing function  418  may route such messages to the LIM or DCM associated with the destination point code in the message. 
     Although the examples described above relate to selectively processing or redirecting SCCP messages relating to mobility management in a network that allows subscriber migration between mobile signaling protocols, the subject matter described herein is not limited to these examples. For example, the methods and systems described above for selectively processing or redirecting SCCP messages can be used to process or redirect any type of SCCP message that is sent route-on-PC-SSN. Examples of other SCCP messages that may be selectively processed or redirected include mobile subscriber registration messages that require G-FLEX processing at the STP. As used herein, the term “G-FLEX processing” refers to processing at the STP in order to determine an HLR to which a mobile subscriber location management message should be routed. Typically, G-FLEX queries are sent route-on-GT. The subject matter described herein allows such messages to be sent to a point code of an STP and route-on-PC-SSN. 
     It will be understood that various details of the presently disclosed subject matter may be changed without departing from the scope of the presently disclosed subject matter. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.