MTP 3 message handling

This topic describes:

Inbound messages

When an inbound message is received, MTP 3 searches its routing tables for a route that matches the destination point code in the message. If a matching up route is found, the message is distributed to the appropriate user part or application based on the service indicator value in the incoming message and the link type (protocol variant) attribute of the link on which the message was received.

The following illustration shows inbound message distribution:

Only the link type of the incoming link and the service indicator portion of the SIO (service information octet) in the incoming message are used to choose the NSAP to receive the incoming message; the sub-service field of the SIO octet (national/international indicator and optional message priority) is not used.

If a matching down route is found for the message, the message is routed as an outbound message (if MTP 3 is configured as an STP) or the message is discarded. If no matching route is found, the message is always discarded.

Outbound messages

Message routing for outbound messages originated by local user parts or applications, or received messages being routed outbound when in STP mode, is based on the destination point code (DPC) and signaling link selection (SLS) field associated with the message. If opcRouting is TRUE, the origination point code (OPC) is also used for outbound routing.

When an outbound message is ready for routing, MTP 3 searches its routing tables for a route that matches the DPC (and optionally the OPC) specified for the message. If a matching down route is found for the message, message routing depends on the value specified for the SLS field, as follows:

The application is responsible for assigning SLS values for outgoing messages. Related messages must be assigned the same SLS value in order to be sent over the same link and therefore be guaranteed to arrive in the correct order at the other end. For unrelated messages, the SLS value is varied to achieve the desired degree of load sharing. For example, the ISDN user part (ISUP) typically uses the least significant 4 bits of its circuit identification code (CIC) as the SLS value. Therefore, all messages related to a particular circuit use the same link/linkset. Messages for different circuits are load shared across all available links/linksets.

Routing masks

MTP 3 uses routing masks to help decrease the size of the routing tables that must be configured. Routing masks are bit masks that specify a subset of a destination point code to be matched against the routing table when searching for a route for an inbound or an outbound message.

Use routing masks to implement network and cluster routing in ANSI networks. In the following example, rather than specifying explicit routes to each of the seven remote SPs, routing masks and routes are used. All point codes and routing masks, regardless of point code length, are stored internally as 32-bit unsigned integers.

Routing mask

Details

0xFFFFFFFF

Always specify exact match as first mask.

0xFFFF00

Match on network ID and cluster ID next.

0xFF0000

Match on just network ID last.


 

Routes

Details

1.1.100, UP

Always specify an up route to self.

1.1.1, DOWN, linkset 1

Explicit route to STP for network 1, cluster 1.

1.1.0, DOWN, linkset 1

Cluster route to network 1, cluster 1.

1.2.1, DOWN, linkset 2

Explicit route to STP for network 1, cluster 2.

1.2.0, DOWN, linkset 2

Cluster route to network 1, cluster 2.

2.1.1, DOWN, linkset 3

Explicit route to STP for network 2.

2.0.0, DOWN, linkset 3

Network route to network 2.


Routing masks are global to all links, linksets, and user parts, and are applied to both incoming and outgoing messages. Although the previous example is specific to ANSI networks, routing masks can be applied equally to other networks (ITU-T based networks with 14- or 24-bit point codes) to reduce the size of routing tables.

The following illustration shows network and cluster routing: