Routing Control Data Model
The UDRs in PCC.Routing store information about destinations, routing attributes, and use cases.
The main objects of PCC Routing are:
Object | Description |
---|---|
Routing_Details | Contains the name of the workflow route to a specific Diameter Request Agent. It also contains the routing use cases to execute. |
Routing_Destination | Contains the available routes for the incoming UDRs. Each route corresponds to a Hostname or Realm defined in the Diameter Routing Profile used by the Diameter Requested agent specified by the Routing_Details. |
RouteMapping | Maps message attributes to an entry in Routing_Details. If a match is found by the routing logic, it will be used to retrieve a set of destinations from Routing_Destination. |
Use_Case | A use case triggers additional routing functions. |
Overview of the Routing Data Model
The different UDRs within the Routing Control data model are connected as follows:
Overview of the Routing Data Model
RouteMapping UDR
In the RouteMapping UDR (PCC.Routing.RouteMapping) you set the arguments that are used by the routing logic to map incoming UDRs to entries in the Routing_Details. This makes it possible to route e g Diameter messages to specific destinations based on a custom set of attributes associated with the session or the subscriber.
Field (name and type) | Description |
---|---|
| The name of the attributes to map. For information about the attributes that are used by the default workflow configurations, see the section below, RouteMapping Arguments. |
| The unique id of the RouteMapping entry. |
| The priority of the RouteMapping entry, a low value indicates a high priority. Determines the order in which the matched entries are returned. |
| The routing logic will match the attributes of incoming UDRs against RouteMapping entries in priority order. If StopFallThrough is set to true the routing logic will not iterate through all matching entries. |
| The Routing_Details to be mapped against the message attributes. |
Below is a screenshot of the UDR Assistance displaying the RouteMapping UDR:
RouteMapping UDR
RouteMapping Arguments
The RouteMapping arguments are implementation specific and are typically adapted to meet specific customer requirements. The following attributes are used as arguments in default workflow configurations:
Argument | Description |
---|---|
| The group of a subscriber-identifier. The default workflow configuration extracts the value from an external database. |
| The value of the Origin-Host AVP. |
| The value of the Destination-Host AVP. |
| Set to diameter in the workflow. |
| The value of the Auth-Application-Id AVP. |
Routing_Details UDR
In the Routing_Details UDR (PCC.Routing.Routing_Details) you set the workflow route that is to be used by the routing logic. The UDR contains one or several instances of Routing_Destination , which holds information about the destination hosts or realms.
Field (name and type) | Description |
---|---|
| Indicates if the Routing_Details entry is active. |
| The unique id of the Routing Details entry. |
| See the section below, Misc Field, for more information. |
| The name of the workflow route to a specific Diameter Request Agent. |
| The Routing_Destinations associated with the Route_Name. |
| Indicates session-based or subscriber based routing. |
| A list of use cases to be executed. |
Route_Name
Below is a screenshot of the UDR Assistance displaying the Routing_Details UDR:
Routing_Details UDR
Routing_Destination UDR
In the Routing_Destination UDR (PCC.Routing.Routing_Destination) you set the peer, realms and weights that is to be used by the routing logic.
Field (name and type) | Description |
---|---|
| Indicates if the Routing_Destination is active. |
| The host or realm name. |
| The unique id of the Routing Destination. |
| See the section below, Misc Field, for more information. |
| Used to achieve load balancing when routing UDRs to a list of destinations. The weight indicates the probability for a message to be routed to a specific destination relative to other destinations in the same list. The weight is expressed as a percentage and the sum of the weights in a list of destinations should be 0% or 100%. When the sum of the weights are not 100%, the individual weights are normalized. For instance, the weights 1, 3, and 5 approximately corresponds to 11% 33%, and 56%. |
Below is a screenshot of the UDR Assistance displaying the Routing_Destination UDR:
Routing_Destination UDR
Use Case UDR
In the Use Case UDR (PCC.Routing.Use_Case) you set the use cases that trigger the workflow logic to perform additional routing functions.
Field (name and type) | Description |
---|---|
| The unique id of the use case. |
| See the section below, Misc Field, for more information. |
| The name of the use case. Acceptable values in the default workflow configurations are:
The default workflow configurations can be extended to handle additional use cases. |
Below is a screenshot of the UDR Assistance displaying the Use_Case UDR:
Use Case UDR
Misc Field
Some objects in the PCC Routing Control data model include a field for storing miscellaneous data. The field is called Misc
and has the type map<string, any>
.
Even though the Misc
field is stated to support storing values of type any
there are some limitations to what type the values can have. The following types can be used:
- bigint
- bitset
- boolean
- byte
- bytearray
- char
- date
- float/ double
- int
- ipaddress
- long
- short
- string