With MRF the outgoing connection may not use the same transport as the incoming connection.
Incoming connections are defined via virtual servers. Outgoing connections are often defined with
transport-configs. If the same iRule script is desired to run on all connections, the script
should be defined for all transports.
For example tests assume a simple load balancing configuration with a virtual server (VS_IN)
that is part of a router instance with a single default route. This default route contains a
single peer that uses a transport-config (TC_OUT) to define the parameters of the outgoing
connection. In this setup, a request message would be received on VS_IN. The request message
would ingress on a hudchain configured via the settings of the virtual server. As the message was
processed, the SIP_REQUEST and MR_INGRESS events would be raised on the iRule scripts attached to
the virtual server. The request message would be forwarded to an outgoing connection configured
via the setting of the transport-config. As the message egressed through the outgoing connection,
the MR_EGRESS and SIP_REQUEST_SEND events would be raised on the iRule scripts attached to the
transport-config. When the response message is received by the outgoing connection, the
SIP_RESPONSE and MR_INGRESS events would be raised on the iRule script attached to the
transport-config. The response will be forwarded to the connection that originated the request
and the MR_EGRESS and SIP_RESPONSE_SEND events would be raised on the iRule script attached to
the virtual server.