Routing decision context objects
View Patent ↗Various exemplary embodiments relate to a method and related network node including one or more of the following: receiving a Diameter message at the DRA from an origin device; establishing a routing decision context object in response to receiving the Diameter message, wherein the routing decision context object is associated with a destination device chosen to receive a previous message; evaluating a rule that includes a context object reference, wherein the evaluation includes accessing the routing decision context object based on the context object reference; and transmitting a message based on the evaluation of the rule.
1. A method performed by a Diameter Routing Agent (DRA) for processing a Diameter message, the method comprising:
receiving a Diameter message at the DRA from an origin device;
establishing a routing decision context object in response to receiving the Diameter message, wherein the routing decision context object is associated with a destination device chosen to receive a previous message;
evaluating a rule that includes a context object reference, wherein the evaluation includes accessing the routing decision context object based on the context object reference; and
transmitting a message based on the evaluation of the rule.
2. The method of claim 1 , wherein transmitting a message based on the evaluation of the rule comprises transmitting the Diameter message to the destination device.
3. The method of claim 1 , wherein the Diameter message is associated with a first Diameter application and the previous message is associated with a second Diameter application.
4. The method of claim 1 , further comprising, prior to receiving the Diameter message:
receiving the previous message at the DRA;
deciding that the previous message should be routed to the destination device;
transmitting the previous message to the destination device; and
storing an identification of the previous message and the destination device as a routing decision.
5. The method of claim 4 , wherein accessing the routing decision context object comprises updating a timestamp associated with the routing decision.
6. The method of claim 4 , further comprising:
determining that the routing decision should be deleted based on a timestamp associated with the routing decision; and
deleting the routing decision from a memory of the DRA.
7. The method of claim 1 , wherein at least one of establishing the routing decision context object and accessing the routing decision context object comprises:
extracting at least one piece of identifying information from the Diameter message; and
determining that the at least one piece of identifying information corresponds to the previous message.
8. A Diameter Routing Agent (DRA) for processing a Diameter message, the DRA comprising:
a rule storage configured to store a rule that includes a context object reference;
a routing decision database configured to store a previous routing decision, wherein the previous routing decision includes an identification of a destination device chosen for a previous message;
a Diameter stack configured to receive a Diameter message from an origin device;
a context creator configured to establish a routing decision context object based on receiving the Diameter message, wherein the routing decision context object is associated with the previous routing decision;
a rule engine configured to evaluate the rule, wherein the evaluation includes accessing the routing decision context object based on the context object reference; and
a message handler configured to transmit, via the Diameter stack, a message based on the evaluation of the rule.
9. The DRA of claim 8 , wherein, in transmitting the message based on the evaluation of the rule, the message handler is configured to transmit the Diameter message to the destination device.
10. The DRA of claim 8 , wherein the Diameter message is associated with a first Diameter application and the previous message is associated with a second Diameter application.
11. The DRA of claim 8 , wherein:
the Diameter stack is further configured to receive the previous message prior to receiving the Diameter message;
the rule engine is further configured to decide that the previous message should be routed to the destination device; and
the routing decision context object is configured to, based on an access by the rule engine, store an identification of the previous message and the destination device as a routing decision.
12. The DRA of claim 11 , wherein the routing decision context object is configured to, based on an access by the rule engine, update a timestamp associated with the routing decision.
13. The DRA of claim 11 , further comprising a cleanup module configured to:
determine that the routing decision should be deleted based on a timestamp associated with the routing decision; and
delete the routing decision from a memory of the DRA.
14. The DRA of claim 8 , wherein, the routing decision context object is configured to:
extract at least one piece of identifying information from the Diameter message; and
determine that the at least one piece of identifying information corresponds to the previous message.
15. A non-transitory machine-readable storage medium encoded with instructions for execution by a Diameter Routing Agent (DRA) for processing a Diameter message, the medium comprising:
instructions for receiving a Diameter message at the DRA from an origin device;
instructions for establishing a routing decision context object in response to receiving the Diameter message, wherein the routing decision context object is associated with a destination device chosen to receive a previous message;
instructions for evaluating a rule that includes a context object reference, including instructions for accessing the routing decision context object based on the context object reference; and
instructions for transmitting a message based on the evaluation of the rule.
16. The non-transitory machine-readable storage medium of claim 15 , wherein the Diameter message is associated with a first Diameter application and the previous message is associated with a second Diameter application.
17. The non-transitory machine-readable storage medium of claim 15 , further comprising:
instructions for receiving the previous message at the DRA;
instructions for deciding that the previous message should be routed to the destination device;
instructions for transmitting the previous message to the destination device; and
instructions for storing an identification of the previous message and the destination device as a routing decision.
18. The non-transitory machine-readable storage medium of claim 17 , wherein the instructions for accessing the routing decision context object comprise instructions for updating a timestamp associated with the routing decision.
19. The non-transitory machine-readable storage medium of claim 17 , further comprising:
instructions for determining that the routing decision should be deleted based on a timestamp associated with the routing decision; and
instructions for deleting the routing decision from a memory of the DRA.
20. The non-transitory machine-readable storage medium of claim 15 , wherein at least one of the instructions for establishing the routing decision context object and the instructions for accessing the routing decision context object comprise:
instructions for extracting at least one piece of identifying information from the Diameter message; and
instructions for determining that the at least one piece of identifying information corresponds to the previous message.