Configuring Multiple Sub-Domains

In an environment with multiple sub-domains, incoming traffic is directed to the correct sub-domain by the Traffic Routing Agent (TRA) positioned in the topology between the SBA Gateway (CHF) and MATRIXX Engine.

For outbound traffic, such as a notification sent from the engine to the CHF over ActiveMQ, each sub-domain sends messages using its own queue pair (request and response). When the CHF receives a message on one queue, it must respond on the associated response queue for that sub-domain. Handlers for different sub-domain notifications can be defined in the mdc.notifications.handlers section of nf.yaml. Each notification handler has a name (for display purposes only), a pair of queues (request and response), the number of consumers that read from the queue, and mapping configuration.

The following is an example of a two sub-domain configuration:

mdc:
  notifications:
    queueManagers:
      defaultQueueManager:
        url: "failover:(tcp://activemq-1:15672)"
 
    handlers:
      # Set the default notification handlers to have no consumers (disabled)
      chargingDataNotifications:
        consumers: 0
      spendingLimitNotifications:
        consumers: 0
 
      # Charging Data Notifications for Sub Domain 11
      chargingDataNotificationsSubDomain11:
        queueManager: "defaultQueueManager"
        requestQueue: "chargingdatanotify.engine_to_chf.subdomain11"
        responseQueue: "chargingdatanotify.chf_to_engine.subdomain11"
        consumers: 2
        auditNetworkConfirmations: true
        mdcMappings:
          Mtx5GChargingNotifyRequest:
            requestMappingFile: "ChargingNotifyRequest-5200-mapping.yaml"
            responseMappingFile: "ChargingNotifyResponse-5200-mapping.yaml"
            placeholderProperties:
              subDomainId: "11"
            inputParameters:
              subDomainId: "11"
 
      # Spending Limit Notifications for Sub Domain 11
      spendingLimitNotifications11:
        queueManager: "defaultQueueManager"
        requestQueue: "spendinglimitnotify.engine_to_chf.subdomain11"
        responseQueue: "spendinglimitnotify.chf_to_engine.subdomain11"
        consumers: 2
        auditNetworkConfirmations: true
        mdcMappings:
          Mtx5GSpendingLimitNotifyRequest:
            requestMappingFile: "SpendingLimitNotifyStatusRequest-5200-mapping.yaml"
            responseMappingFile: "SpendingLimitNotifyStatusResponse-5200-mapping.yaml"
            placeholderProperties:
              subDomainId: "11"
            inputParameters:
              subDomainId: "11"
          Mtx5GSubscriptionTerminationRequest:
            requestMappingFile: "SpendingLimitNotifyTerminateRequest-5200-mapping.yaml"
            responseMappingFile: "SpendingLimitNotifyTerminateResponse-5200-mapping.yaml"
            placeholderProperties:
              subDomainId: "11"
            inputParameters:
              subDomainId: "11"
 
      # Charging Data Notifications for Sub Domain 22
      chargingDataNotificationsSubDomain22:
        queueManager: "defaultQueueManager"
        requestQueue: "chargingdatanotify.engine_to_chf.subdomain22"
        responseQueue: "chargingdatanotify.chf_to_engine.subdomain22"
        consumers: 2
        auditNetworkConfirmations: true
        mdcMappings:
          Mtx5GChargingNotifyRequest:
            requestMappingFile: "ChargingNotifyRequest-5200-mapping.yaml"
            responseMappingFile: "ChargingNotifyResponse-5200-mapping.yaml"
            placeholderProperties:
              subDomainId: "22"
            inputParameters:
              subDomainId: "22"
 
      # Spending Limit Notifications for Sub Domain 22
      spendingLimitNotifications22:
        queueManager: "defaultQueueManager"
        requestQueue: "spendinglimitnotify.engine_to_chf.subdomain22"
        responseQueue: "spendinglimitnotify.chf_to_engine.subdomain22"
        consumers: 2
        auditNetworkConfirmations: true
        mdcMappings:
          Mtx5GSpendingLimitNotifyRequest:
            requestMappingFile: "SpendingLimitNotifyStatusRequest-5200-mapping.yaml"
            responseMappingFile: "SpendingLimitNotifyStatusResponse-5200-mapping.yaml"
            placeholderProperties:
              subDomainId: "22"
            inputParameters:
              subDomainId: "22"
          Mtx5GSubscriptionTerminationRequest:
            requestMappingFile: "SpendingLimitNotifyTerminateRequest-5200-mapping.yaml"
            responseMappingFile: "SpendingLimitNotifyTerminateResponse-5200-mapping.yaml"
            placeholderProperties:
              subDomainId: "22"
            inputParameters:
              subDomainId: