These services differ from other example services as they do not use the Example RA to trigger them. Instead the Metaswitch Rhino Scenario Simulator with the Diameter Scenario Pack is used. To learn how to run the client and server simulation scenarios see the Diameter Scenario Pack documentation.
The Mediation service uses two resource adaptors (CCA and Ro) to mediate between a client and server implementing those interfaces. It maps credit control requests from one interface to the other, and maps answers in the reverse direction. Since CCA and Ro are similar interfaces, the service mostly copies the AVPs 1-to-1, with the following exceptions:
Used-Service-Unitfrom the Diameter CCA request message to the Diameter Ro request’s first
It applies reverse transformation for Ro answers, copying
Multiple-Services-Credit-ControlAVP to the CCA answer message.
It silently drops AVPs that the outgoing interface does not support, and ignores all extension AVPs.
|The Diameter Scenario Pack contains example scenarios for use with this Mediation service.|
|Diameter CC Forward requires a production version of Rhino as demonstrating fault-tolerance requires at least a two node cluster.|
The Diameter CC Forward service is an example of a replicated service that makes use of Diameter RAs with session replication enabled (fault-tolerant mode). The Diameter CC Forward service forwards incoming CCA and/or Ro messages to configured servers. This service can be used with any CCA/Ro client supporting session fail-over and generating credit control requests and an OCS server responding to those requests. Effectively Diameter CC Forward example service acts as a proxy between the two.
Fail-over of active charging session can be invoked in two ways:
administratively disabling Diameter RA serving the session with reassignment of activities to another node in the cluster,
killing the Rhino node that is serving the session.
A single machine can be used to host the entire test environment. To avoid TCP/IP port conflicts multiple IPv4 network addresses from the
127.0.0.0/8 loopback subnet are used.
The Metaswitch Rhino Scenario Simulator with the Diameter Scenario Pack can be used to simulate client in this scenario but due to lack of session fail-over support in current version of Diameter Scenario Pack (
126.96.36.199 ) this is not a straightforward process. The server can be simulated using Online Charging System (OCS) Simulator. To make up for lack of session fail-over support in the client another Rhino cluster with Diameter CC Forward service is used. This additional Rhino instance acts as a proxy server between Metaswitch Rhino Scenario Simulator and Rhino cluster used for testing the fail-over behaviour.
There are two separate Rhino clusters on the diagram. The first consists of nodes
102, while nodes
202 constitute the second. The first - Front cluster is used to deliver client session fail-over support, while the second - Back cluster is used to test the RA and example service behaviour in node failure scenario.
Production Rhino with a valid license (including the license for Diameter RA)
Scenario Simulator with Diameter Scenario Pack (recent Scenario Simulator Package versions are bundled with Diameter Scenario Pack)
Install two separate Rhino clusters, remember to select different cluster ids and ports for both clusters, for details refer to Rhino Documentation.
Create two nodes in each of the clusters (node
102in the Front cluster and nodes
202in the Back cluster).
Unpack the Diameter Resource Adaptors package into each Rhino Cluster installation directory.
profile.import.filein example service configuration file
DiameterConfigFront.xmlfor the Front cluster
DiameterConfigBack.xmlfor the Back cluster
Change the diameter configuration for OCS simulator to match the Back cluster configuration. That is, in file
simulators/ocs-simulator/config/DiameterConfig.xmlchange the value of
Install and configure Metaswitch Rhino Scenario Simulator by following instructions in
Start the reconfigured OCS simulator using script
Start nodes of the Back cluster and install the Diameter CC Forward service (run
antin Diameter Resource Adaptors package
examples/ccforwardof the Back Rhino Cluster).
Start nodes of the Front cluster and install the Diameter CC Forward service (run
antin Diameter Resource Adaptors package
examples/ccforwardof the Front Rhino Cluster).
Optionally deactivate the
creditcontrol-0Diameter CCA entity, as the example scenario distributed with Scenario Simulator uses the Diameter Ro Application.
Start the Scenario Simulator (refer to
examples/ccforward/diameter-examples/README-ccforward-example.txt) and run one of the loaded scenarios.
After that you can experiment with session fail-over by inducing session adoption in different session states through customizing timeouts and delays between messages in the example scenarios used in Scenario Simulator. Note that routing table configuration of the Front cluster is such that node
202 of the Back cluster is always preferred when reachable.