IP Library Granted Patent US 9,124,481
Granted Patent B2
US 9,124,481 · App. 13/891,587 · Granted Sep 1, 2015

Custom diameter attribute implementers

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,124,481
App. No.
13/891,587
Granted
Sep 1, 2015
Kind
B2
Abstract

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, wherein the Diameter message includes an attribute-value pair (AVP) having a first value represented according to a first data type; establishing a context object in response to receiving the Diameter message; establishing, within the context object, a custom attribute object that corresponds to the AVP and provides access to at least a portion of the first value represented according to a second data type, wherein the second data type is different from the first data type; evaluating a rule that includes a context object reference, wherein the evaluation includes accessing the custom attribute object based on the context object reference; and transmitting a message based on the evaluation of the rule.

Claims (80)

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, wherein the Diameter message includes an attribute-value pair (AVP) having a first value represented according to a first data type;

establishing a context object in response to receiving the Diameter message;

establishing, within the context object, a custom attribute object that corresponds to the AVP and provides access to at least a portion of the first value represented according to a second data type, wherein the second data type is different from the first data type;

evaluating a rule that includes a context object reference, wherein the evaluation includes accessing the custom attribute 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 establishing the custom attribute object comprises:

instantiating a converter object; and

causing the converter object to instantiate the custom attribute object based on the AVP.

3. The method of claim 2 , wherein accessing the custom attribute object comprises:

determining a first new value for the at least a portion of the value, wherein the first new value is represented according to the second data type;

invoking a method of the converter object that:

generates a second new value based on the first new value, wherein the second new value is represented according to the first data type; and

inserts the second new value type into the AVP.

4. The method of claim 1 , wherein:

the AVP includes a second value; and

the custom attribute object selects the second data type for representation of the at least a portion of the first value based on the second value.

5. The method of claim 4 , wherein the AVP is a Subscription-Id AVP, the first value is a Subscription-Id-Data AVP, and the second value is a Subscription-Id-Type AVP.

6. The method of claim 1 , wherein:

establishing the context object in response to receiving the Diameter message comprises:

locating a message definition associated with a message type of the Diameter message, and

identifying, in the message definition, a pointer to a custom attribute implementer; and

establishing, within the context object, the custom attribute object comprises:

instantiating the custom attribute implementer as the custom attribute object.

7. The method of claim 1 , wherein the custom attribute object providing access to at least a portion of the first value represented according to a second data type comprises:

providing access to a first portion of the first value represented according to the second data type; and

providing access to a second portion of the first value.

8. The method of claim 7 , wherein the second portion of the first value is represented according to a third data type that is different from the second data type.

9. The method of claim 1 , wherein the AVP stores an IP address, the first data type is an OctetString type, and the second data type is a dotted decimal type.

10. 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 Diameter stack configured to receive a Diameter message from an origin device, wherein the Diameter message includes an attribute-value pair (AVP) having a first value represented according to a first data type;

a context creator configured to:

establish a context object in response to receiving the Diameter message, and

establish, within the context object, a custom attribute object that corresponds to the AVP and provides access to at least a portion of the first value represented according to a second data type, wherein the second data type is different from the first data type;

a rule engine configured to evaluate the rule, wherein the evaluation includes accessing the custom attribute 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.

11. The DRA of claim 10 , wherein, in establishing the custom attribute object, the context creator is configured to:

instantiate a converter object; and

cause the converter object to instantiate the custom attribute object based on the AVP.

12. The DRA of claim 11 , wherein, in accessing the custom attribute object, the rule engine is configured to:

determine a first new value for the at least a portion of the value, wherein the first new value is represented according to the second data type;

invoke a method of the converter object that:

generates a second new value based on the first new value, wherein the second new value is represented according to the first data type; and

inserts the second new value type into the AVP.

13. The DRA of claim 10 , wherein:

the AVP includes a second value; and

the custom attribute object selects the second data type for representation of the at least a portion of the first value based on the second value.

14. The DRA of claim 13 , wherein the AVP is a Subscription-Id AVP, the first value is a Subscription-Id-Data AVP, and the second value is a Subscription-Id-Type AVP.

15. The DRA of claim 10 , wherein:

in establishing the context object in response to receiving the Diameter message, the context creator is configured to:

locate a message definition associated with a message type of the Diameter message, and

identify, in the message definition, a pointer to a custom attribute implementer; and

in establishing, within the context object, the custom attribute object, the context creator is configured to:

instantiate the custom attribute implementer as the custom attribute object.

16. The DRA of claim 10 , wherein the custom attribute object providing access to at least a portion of the first value represented according to a second data type comprises:

providing access to a first portion of the first value represented according to the second data type; and

providing access to a second portion of the first value.

17. The DRA of claim 16 , wherein the second portion of the first value is represented according to a third data type that is different from the second data type.

18. The DRA of claim 10 , wherein the AVP stores an IP address, the first data type is an OctetString type, and the second data type is a dotted decimal type.

19. 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, wherein the Diameter message includes an attribute-value pair (AVP) having a first value represented according to a first data type;

instructions for establishing a context object in response to receiving the Diameter message;

instructions for establishing, within the context object, a custom attribute object that corresponds to the AVP and provides access to at least a portion of the first value represented according to a second data type, wherein the second data type is different from the first data type;

instructions for evaluating a rule that includes a context object reference, wherein the evaluation includes accessing the custom attribute object based on the context object reference; and

instructions for transmitting a message based on the evaluation of the rule.

20. The non-transitory machine-readable storage medium of claim 19 , wherein the instructions for establishing the custom attribute object comprise:

instructions for instantiating a converter object; and

instructions for causing the converter object to instantiate the custom attribute object based on the AVP.

21. The non-transitory machine-readable storage medium of claim 20 , wherein the instructions for accessing the custom attribute object comprise:

instructions for determining a first new value for the at least a portion of the value, wherein the first new value is represented according to the second data type;

instructions for invoking a method of the converter object that:

generates a second new value based on the first new value, wherein the second new value is represented according to the first data type; and

inserts the second new value type into the AVP.

22. The non-transitory machine-readable storage medium of claim 19 , wherein:

the instructions for establishing the context object in response to receiving the Diameter message comprise:

instructions for locating a message definition associated with a message type of the Diameter message, and

instructions for identifying, in the message definition, a pointer to a custom attribute implementer; and

the instructions for establishing, within the context object, the custom attribute object comprise:

instructions for instantiating the custom attribute implementer as the custom attribute object.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Sep 3, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 033683/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 2, 2014
From: ALCATEL-LUCENT CANADA INC.
To: ALCATEL LUCENT
Reel/Frame 033231/0434 →
SECURITY AGREEMENT Recorded Jul 22, 2013
From: ALCATEL LUCENT CANADA INC.
To: CREDIT SUISSE AG
Reel/Frame 030851/0623 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2013
From: MANN, ROBERT A.; VIHTARI, MIKAEL
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 030394/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2013
From: MANN, ROBERT A.; VIHTARI, MIKAEL
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 030538/0940 →