Content Switching for Diameter Protocol

For Diameter-protocol traffic, you can configure the Citrix ADC appliance (or virtual appliance) to act as a relay agent that load balances and forwards a packet to the appropriate destination on the basis of the message content (AVP value in the message). Since the appliance does not perform any application-level processing, it provides relaying services for all diameter applications as specified by the configured content switching policies. Therefore, the appliance advertises the Relay Application ID in the capability exchange answer (CEA) message when the client establishes a diameter connection. You must configure a content switching virtual server, load balancing virtual servers, and services to represent the diameter nodes. When a request reaches the content switching virtual server, the virtual server applies the content switching policies associated with that type of request. After evaluating the policies, the content switching virtual server routes the request to the appropriate load balancing virtual server, which sends it to the appropriate service.

A diameter interface provides a connection between the different diameter nodes. The following sample deployment uses Cx and Rx interfaces. A Cx interface provides a connection between a CSCF and an HSS. An Rx interface provides a connection between a CSCF and a PCRF. All the messages reach the Citrix ADC appliance. Depending on whether the message is for a Cx or an Rx interface, and on the content switching policies defined, the Citrix ADC selects an appropriate load balancing server pool.

Content switching diameter

Sample Configuration

  1. For each entity, create a service, a load balancing server, and bind the service to the virtual server.

    add service svc_pcrf[1-3][1-3] DIAMETER 3868
    add service svc_hss[1-3][1-3] DIAMETER 3868
    add lb vserver vs_rx DIAMETER -persistenceType DIAMETER –persistavpno 263
    add lb vserver vs_cx DIAMETER -persistenceType DIAMETER –persistavpno 263
    bind lb vserver vs_rx svc_pcrf[1-3]
    bind lb vserver vs_cx svc_hss[1-3]
  2. Create a content switching virtual server and two actions (one for each load balancing virtual server). Create two content switching policies and bind these policies to the content switching virtual server, specifying a priority for each policy.

    add cs vserver cs_diameter DIAMETER 3868
    add cs action cx_action -targetLBVserver vs_cx
    add cs action rx_action –targetLBvserver vs_rx
    add cs policy cx_policy -rule "DIAMETER.REQ.AUTH_APPLICATION_ID.EQ(16777216)" -action cx_action
    add cs policy rx_policy -rule "DIAMETER.REQ.AUTH_APPLICATION_ID.EQ(16777236)" -action rx_action
    bind cs vserver cs_diameter -policyName rx_policy -priority 100
    bind cs vserver cs_diameter -policyName cx_policy -priority 110
Content Switching for Diameter Protocol