MDC Gateway Transporter Task
If you have multiple gateways (Diameter Gateway or External Diameter Gateway (EDGW)), you can configure the MDC Gateway Transporter Task to route messages from the Charging Server to the gateway that initiated the original message.
You must configure global message routing and configure the MDC Gateway Transporter Task in the
mtx_config_base_xml_sed.extra file. If this file does not exist in ${MTX_CUSTOM_DIR}
, you must create it.
Out-of-the-box, a TCP listener is configured for the MDC Gateway Transporter Task. You can also configure an HTTP2 listener. For information about configuring the MDC Gateway Transporter Task listener ports, see the discussion about MDC Gateway configuration.
Global Message Routing Configuration
container_name
— specifies the message type for this routing entry, with possible values:MtxDiamRAMsg
MtxDiamGxRAMsg
MtxDiamRxRAMsg
MtxDiamSySNMsg
MtxDiamRxASMsg
queue_id_mapping
— Specifies the Charging Server queue mapping, with two possible values:0
— Route to/from MDC-GW (Transporter Task).1
— Route to/from Diameter Gateway.
connection_id_mapping
— Specifies the Transporter Task Route ID mapping, with 16 possible values0
-15
:- The values
0
,7
, and13
in this example are:0
: Transporter Task inbound connection7
: Transporter Task outbound connection #78
: Transporter Task outbound connection #813
: Transporter Task outbound connection #1314
: Transporter Task outbound connection #1415
: Transporter Task outbound connection #15
- The values
/<!-- message_routing -->/ a\
<message_routing id="1">\
<container_name>MtxDiamGxRAMsg</container_name>\
<queue_id_mapping>\
<input>1</input><output>0</output>\
</queue_id_mapping>\
<connection_id_mapping>\
<input>0</input><output>8</output>\
</connection_id_mapping>\
</message_routing>\
<message_routing id="2">\
<container_name>MtxDiamSySNMsg</container_name>\
<queue_id_mapping>\
<input>1</input><output>0</output>\
</queue_id_mapping>\
<connection_id_mapping>\
<input>0</input><output>13</output>\
</connection_id_mapping>\
</message_routing>\
<message_routing id="3">\
<container_name>MtxDiamRxRAMsg</container_name>\
<queue_id_mapping>\
<input>1</input><output>0</output>\
</queue_id_mapping>\
<connection_id_mapping>\
<input>0</input><output>14</output>\
</connection_id_mapping>\
</message_routing>\
<message_routing id="4">\
<container_name>MtxDiamRxASMsg</container_name>\
<queue_id_mapping>\
<input>1</input><output>0</output>\
</queue_id_mapping>\
<connection_id_mapping>\
<input>0</input><output>15</output>\
</connection_id_mapping>\
</message_routing>\
<message_routing id="5">\
<container_name>MtxDiamRAMsg</container_name>\
<queue_id_mapping>\
<input>1</input><output>0</output>\
</queue_id_mapping>\
<connection_id_mapping>\
<input>0</input><output>7</output>\
</connection_id_mapping>\
</message_routing>
MDC Gateway Transporter Task Configuration
transporter_tcp_listener
— Specifies the inbound connection, corresponding to the special Route ID = 0.client_connection
— Specifies outbound connections corresponding to Route ID range0
-15
.
/<transporter_tcp_listener>/ i\
\
<client_connection id="7">\
<protocol>TCP</protocol>\
<address>diameter-server</address>\
<port>24060</port>\
<perform_schema_exchange>0</perform_schema_exchange>\
<reconnection_timeout_in_seconds>2</reconnection_timeout_in_seconds>\
<max_reconnection_attempts>0</max_reconnection_attempts>\
<http2_secured>false</http2_secured>\
<http2_protocol_negotiation>none</http2_protocol_negotiation>\
</client_connection>\
<client_connection id="13">\
<protocol>TCP</protocol>\
<address>diameter-server</address>\
<port>24060</port>\
<perform_schema_exchange>0</perform_schema_exchange>\
<reconnection_timeout_in_seconds>2</reconnection_timeout_in_seconds>\
<max_reconnection_attempts>0</max_reconnection_attempts>\
<http2_secured>false</http2_secured>\
<http2_protocol_negotiation>none</http2_protocol_negotiation>\
</client_connection>\
<client_connection id="8">\
<protocol>TCP</protocol>\
<address>diameter-server</address>\
<port>24060</port>\
<perform_schema_exchange>0</perform_schema_exchange>\
<reconnection_timeout_in_seconds>2</reconnection_timeout_in_seconds>\
<max_reconnection_attempts>0</max_reconnection_attempts>\
<http2_secured>false</http2_secured>\
<http2_protocol_negotiation>none</http2_protocol_negotiation>\
</client_connection>\
<client_connection id="14">\
<protocol>TCP</protocol>\
<address>diameter-server</address>\
<port>24060</port>\
<perform_schema_exchange>0</perform_schema_exchange>\
<reconnection_timeout_in_seconds>2</reconnection_timeout_in_seconds>\
<max_reconnection_attempts>0</max_reconnection_attempts>\
<http2_secured>false</http2_secured>\
<http2_protocol_negotiation>none</http2_protocol_negotiation>\
</client_connection>\
<client_connection id="15">\
<protocol>TCP</protocol>\
<address>diameter-server</address>\
<port>24060</port>\
<perform_schema_exchange>0</perform_schema_exchange>\
<reconnection_timeout_in_seconds>2</reconnection_timeout_in_seconds>\
<max_reconnection_attempts>0</max_reconnection_attempts>\
<http2_secured>false</http2_secured>\
<http2_protocol_negotiation>none</http2_protocol_negotiation>\
</client_connection>\
/<!-- transporter tcp listener tcp options go here -->/ a\
<tcp_options_listen>\
<ip_free_bind>1</ip_free_bind>\
<ip_bind_address_no_port>1</ip_bind_address_no_port>\
<!-- ipv6_v6only>0</ipv6_v6only -->\
<reuse_address>1</reuse_address>\
<linger_in_seconds>7</linger_in_seconds>\
<send_buffer_size_in_bytes>0</send_buffer_size_in_bytes>\
<send_buffer_force_size_in_bytes>0</send_buffer_force_size_in_bytes>\
<receive_buffer_size_in_bytes>8192</receive_buffer_size_in_bytes>\
<receive_buffer_force_size_in_bytes>0</receive_buffer_force_size_in_bytes>\
<tcp_defer_accept_in_seconds>18</tcp_defer_accept_in_seconds>\
<no_delay>1</no_delay>\
<tcp_syn_count>17</tcp_syn_count>\
<fin_timeout_in_seconds>16</fin_timeout_in_seconds>\
<tcp_quick_ack>1</tcp_quick_ack>\
<keep_alive>1</keep_alive>\
<keep_alive_probe_count>11</keep_alive_probe_count>\
<keep_alive_idle_timeout_in_seconds>12</keep_alive_idle_timeout_in_seconds>\
<keep_alive_idle_probe_interval_in_seconds>13</keep_alive_idle_probe_interval_in_seconds>\
</tcp_options_listen>\
<tcp_options_accepted>\
<fin_timeout_in_seconds>31</fin_timeout_in_seconds>\
</tcp_options_accepted>
Internal Diameter Call, External Diameter RAR (Upgrade Scenario)
<message_routing id="5">\
<container_name>MtxDiamRAMsg</container_name>\
<queue_id_mapping>\
<input>1</input><output>0</output>\
</queue_id_mapping>\
<connection_id_mapping>\
<input>0</input><output>7</output>\
</connection_id_mapping>\
</message_routing>
For more information about configuring the mtx_config_base_xml_sed.extra file, see the discussion about ConfigMap configuration in MATRIXX Configuration.