M3UA message handling

M3UA validates and routes both inbound and outbound messages. This topic describes each data flow direction.

Inbound messages

When an inbound message is received, M3UA finds a local peer server that matches the routing context in the received message. If the peer server is associated with an NSAP through a routing key, the message is routed over that NSAP to the appropriate M3UA user. In some error cases, such as a message received over an inactive association or with an invalid routing context, the message is discarded and an error message is returned to the sending side. In all other error cases, the message is discarded without generating a message.

The following illustration shows inbound message distribution for M3UA:

Outbound messages

Message routing for outbound messages originated by local user parts or applications is based on the following combinations of DPC, OPC, and SIO values:

When an outbound message is ready for routing, M3UA searches its routing tables for a route that matches the DPC specified for the message (and optionally the OPC and SIO, depending on the values and masks configured). If a matching route is found for the message and the associated peer server is remote, the message is routed over the association for the peer signaling process associated with the peer server.

If a route is not found, an error status indication (NO_ROUTE_FOUND) is generated for the application. If the route is found but unavailable, a user part unavailable (UPU) status indication is generated for the application.