Regular vs Intelligent SCCP Message Routing

Regular Routing

Regular Routers look at the Called (Destination) Address CdA of a SS7 message when routing it through the SS7 networks. They do not know what data is in the message payload

Many services and/or applications require routing on parameters in message payload in addition to the regular routing by Destination Address only.

Intelligent Routing

Applicata Intelligent SS7 Message Router JN IMR can use the Called (Destination) and/or Calling (Origination) Address CgA and/or the parameters in the SS7 data payload of a SS7 message to route the message properly.

JN IMR system can split the traffic depending on payload parameters and even modify the address and/or payload parameters values according to flexible and dynamically configurable criteria.

Applicata JN Intelligent Messager Router: Use Cases and Typical Applications

Traffic Splitting

In addition to routing by Destination address, the traffic splitting criteria can be based on decoding and involving parameters in message payload, including the operation code, and/or parameters retrieved from provisioned lookup tables

Typical Applications

Mobile Number Portability Routing, Mobile Number Portability with National Roaming, SMS Home Routing, USSD Routing, etc

Traffic Filtering

JN IMR can act as a message filter blocking part of the traffic depending on the provisioned rules

Typical Applications

Mobile Number Portability Routing, Mobile Number Portability with National Roaming, SMS Home Routing, USSD Routing, etc

Traffic Cloning

JN IMR can clone
all or a configurable part of the traffic
towards configurable directions

Typical Applications

Traffic Backup, Examination,

Traffic Modification

Parameters in the payload (e.g., IMSI, MSISDN, Camel Subscription Information, etc.) can be modified before sending the message to the destination

Typical Applications

Local Breakout, Intelligent Call Assistant, IDP Called Party Modification for MNP, CAP CdPty/CgPty Number Modificaton, Subscriber Profile Modification, etc.

Flexible Dynamic Message Routing

Message Dispatching Rules

Rule# Guard Expressions Action Expressions
1 ... operation= 'updateLocation' " == '12345678'", " == 10", "bcd(imsi) ^= '1234'" ... " = '12345678'", " = 0" ...
2 ... operation = 'insertSubscriberData', "subscriberStatus == serviceGranted", "vlrCamelSubscriptionInfo.o-CSI. o-BcsmCamelTDPDataList [o-BcsmTriggerDetectionPoint == collectedInfo] .serviceKey == 10“ ... ... "vlrCamelSubscriptionInfo.o-CSI. o-BcsmCamelTDPDataList [o-BcsmTriggerDetectionPoint == collectedInfo] .gsmSCF-Address= '99123234345'" ...
... ... ...


Applicata JN Intelligent SS7 Message Router provides RESTful HTTP interface for dynamic provisining of message routing rules.

Each rule contains one or more Guard Expressions that depend on some parameters (Called and/or Calling Address, and/or some parameters in the message payload) in a TCAP message. Action Expressions that applies the routing of the message are assigned to the rule too.

JN IMR system fully supports ASN.1 specifications for MAP versions 1,2,3 and 4, and CAP 1,2,3 and 4. Accordingly, anyone of these parameters can be included in Guard and/or Action Expressions.

If several Guard Expressions are configured for a rule these are treated as operands in a logical conjunction (AND) operation. The corresponding Action Expressions of a rule are fired when all Guard Expressions of the rule evaluate to “true”.

A logical disjunction (OR) operation can be set by provisioning the corresponding operands as Guard Expressions in separate rules.

In addition, special rules can be provisioned for querying database tables or for executing other specific procedures.

JN IMR System Architecture

ASN.1 Decoding/Encoding Function decodes address and payload data from inbound messages. A new dialogue state for each inbound TC-BEGIN message is created. The Rules Selection Function checks the Guard Expressions of the provisioned rules in a sequence using the decoded parameters in each inbound message. It selects the first found rule whose all Guard Expressions evaluate to “true”. This selection is kept in Active Dialogue States table until the dialogue is closed.

The stored state of an active dialogue is used by Route Execution Function for routing the initial and non-initial messages of the dialogue.

Dual Resilient Operation

Two halves of JN IMR can be run on different chassis. Each node can share the same SS7 Local Point Code(s). Adjacent SS7 node (e.g., STP) load shares messaging between the two halves.

Dispatching Rules Table and Active Dialogues States Table are synchronised between the halves. Both initial and non-initial messages of a dialogue are processed by the half that receives the message.

If one half dies or is stopped for maintenance then the surviving half continues the operation. The active dialogues remain not disconnected.


  • Routing on Destination/Origination Addresses and/or message payload parameters
  • Routing on parameters retrieved from lookup tables
  • ASN.1 decoding/encoding of full MAP version 1,2,3 and 4 and CAMEL Phase 1,2,3 and 4 specifications
  • Traffic splitting
  • Modification of paramters in message payload
  • Flexible dynamic routing rules and provisioning
  • Dual resilient and high availability option
  • Support for multiple local point codes
  • Sharing the same local point code(s) between the instances
  • High performance (processing capacity up to the equivalent capacity of 256 signalling links per instance)
  • Scalability


  • Flexible Licenses
  • Round-the-clock support
  • Optional professional services for network integration and commissioning
  • Optional professional services for customization and/or integration with other systems
  • Optional professional services for integrating additional/proprietary ASN.1 based TCAP User Part protocols (INAP CS1, INAP CS1+ etc.)
  • Option to buy source code (excluding protocol stacks)