Inbound Roaming Requests

For 4G (Diameter Gateway) and 5G (SBA Gateway) usage and policy requests, MATRIXX Engine parses the Subscription-ID IMSI (4G) or SUPI (5G) to get the Mobile Country Code (MCC) and the Mobile Network Code (MNC).

MATRIXX Engine uses the MCC and MNC to find a partner agreement for roaming in the inbound roamer definitions. If an agreement exists, MATRIXX Engine allows the request. If there is no roaming agreement, the request is rejected. When the request is allowed, MATRIXX Engine creates the session and the device, wallet, and subscription (from a subscription template).

Roaming requests are of an undetermined duration and roamers are purged when they have been inactive after a configurable period as defined in the roaming request in My MATRIXX.

For information about configuring roaming requests and emergency requests, see the discussion about inbound roamers in My MATRIXX Help.

During inbound roaming configuration, you must create a subscription template that contains the offers and balances required to support your roaming service. The following apply when creating roaming subscriptions:
  • The template must have at least one active offer and one balance to be valid; otherwise, an error is logged when MATRIXX Engine tries to create the roamer.
  • Purchased offer extensions are copied from the subscription template to the roaming subscription when it is created.
  • A subscription template can be used in multiple roaming request configurations.

Inbound Roaming Sessions

If an inbound roaming session is allowed due to a configured agreement, MATRIXX Engine creates a device and a subscription using the roaming IMSI/SUPI to support the request. If more requests are made using the same IMSI/SUPI, MATRIXX Engine uses the same device and subscription to support the request. If there are no active sessions on a device, after the configured purge time, the subscription and device are deleted. If there are active sessions, the subscription remains active and MATRIXX Engine checks the session again at a later maintenance window.

Subscription Template Product Offers and Bundles

When the inbound roamer is validated, the product offers and bundles associated with the inbound roamer subscription template are purchased. Any offers and balances that are part of the subscription template wallet that are not already part of the inbound roamer wallet are added.
Note: Meter balances are not added to the wallet.

The roaming subscription uses the TenantID and StatusValue from the subscription template. Create unique tenant IDs for inbound roamers to identify those EDRs and to stream them to different Kafka topics, if necessary. Create status life cycles configured specifically for inbound roamers. Consider conditions specific to inbound roamers, such as inactivity timeouts.

Dates, cycles, recurring logic and other properties of the product offers or bundles are not applied. For more information about offers and bundles, see the discussions about product offers and bundles.

Inbound Roamer Selective Updates and Normalization

You can create selective updates using the decode operation decode_3gpp_mcc_mnc to normalize on inbound roamers. For more information, see the discussion about decode operations in MATRIXX Configuration.

You can normalize on the MCC and MNC fields in MtxRoamingMobileDeviceObject. For more information, see the discussion about normalization in MATRIXX Pricing and Rating.

Configuration

You should create a dedicated sub-domain to host inbound roamers. This creates a logical separation from other subscribers on the same platform. The sub-domain must be configured in the tra_config_network_topology.xml file as a default node in the allPool pool. In the following example, sub-domain 4 is the default sub-domain for inbound roamers:
<?xml version='1.0' encoding='UTF-8'?>
    <tm-config>
        <pools>
            <pool name="allPool" balance-method="domain-id">
                <node name="sd1" id="1" address="127.0.0.101"/>
                <node name="sd2" id="2" address="127.0.0.102"/>
                <node name="sd3" id="3" address="127.0.0.103"/>
                <node name="sd4" id="4" address="127.0.0.104" default="true"/>
            </pool>
        …   
    …

For more information about configuring Traffic Routing Agent (TRA), see the discussion about configuring Traffic Routing Agent in MATRIXX Configuration.