IP Library Granted Patent US 9,641,425
Granted Patent B2
US 9,641,425 · App. 13/953,962 · Granted May 2, 2017

DRA destination mapping based on diameter answer message

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,641,425
App. No.
13/953,962
Granted
May 2, 2017
Kind
B2
Abstract

Various exemplary embodiments relate to a method of routing Diameter requests. The method includes: receiving an initial request from a client, the initial request including a session identifier, an initial destination realm, and request content; determining a Diameter route for the initial request based on the destination realm and the request content; forwarding the initial request according to the Diameter route; receiving a response to the initial request; extracting an origin realm or host from the response; and storing the origin realm or host in association with the session identifier. Various exemplary embodiments relate a Diameter Routing Agent (DRA) configured to perform the above method. Various exemplary embodiments relate to a non-transitory machine-readable storage medium encoded with instructions for performing the method.

Claims (68)

1. A method of routing Diameter requests by an agent device, the method comprising:

receiving an initial Diameter request from a client, the initial Diameter request including a destination realm indication which identifies a destination realm comprising at least one Diameter server host;

determining a route to a server host of the at least one Diameter server host based on the destination realm indication;

forwarding the initial Diameter request according to the determined route;

maintaining a mapping of the destination realm indication to a Diameter session identifier corresponding to the initial Diameter request;

receiving a response to the initial Diameter request, the response including an origin host and an origin realm indication;

updating the mapping by applying the origin host indication from the response as a destination host indication in the mapping; and

forwarding a received subsequent Diameter request having the Diameter session identifier corresponding to the mapping, based on the destination realm and the destination host indication in the mapping

receiving a second initial request including second request content from a second client requesting a second session;

determining that the second initial request is related to the Diameter session identifier based on the second request content; and

storing an identifier of the second session in association with the stored destination realm; and forwarding the second initial request based on the stored destination realm.

2. The method of claim 1 , wherein request content includes an optional field and the optional field is missing from an update request.

3. The method of claim 1 , further comprising:

extracting the origin host from the response;

storing the origin host as a destination host in association with the Diameter session identifier.

4. The method of claim 3 , further comprising:

receiving an update request, from the client, the update request including the Diameter session identifier;

determining a Diameter route based on the Diameter session identifier and the stored destination host; and

forwarding the update request based on the Diameter route.

5. The method of claim 4 , wherein the step of forwarding the update request based on the Diameter route comprises modifying the update request to include the destination host.

6. The method of claim 1 , further comprising:

determining that a Diameter route does not exist for the destination realm;

determining a new destination realm based on message content; and

determining a new Diameter route for the new destination realm.

7. The method of claim 1 , further comprising:

determining a destination host based on the destination realm and request content; and

routing the initial request to the destination host.

8. A non-transitory machine-readable storage medium encoded with instructions executable by a processor for routing Diameter requests, the non-transitory machine-readable storage medium comprising:

instructions for receiving an initial Diameter request from a client, the initial request including a destination realm indication which identifies a destination realm comprising at least one Diameter server host;

instructions for determining a route to a server host of the at least one Diameter server host based on the destination realm indication;

instructions for forwarding the initial Diameter request according to the determined route;

instructions for maintaining a mapping of the destination realm indication to a Diameter session identifier corresponding to the initial Diameter request;

instructions for receiving a response to the initial Diameter request, the response including an origin host and an origin realm indication;

instructions for updating the mapping by applying the origin host indication from the response as a destination host indication in the mapping; and

instructions for forwarding a received subsequent Diameter request having the Diameter session identifier corresponding to the mapping, based on the destination realm and the destination host indication in the mapping

instructions for receiving a second initial request including second request content from a second client requesting a second session;

instructions for determining that the second initial request is related to the Diameter session identifier based on the second request content;

instructions for storing an identifier of the second session in association with the stored destination realm; and

instructions for forwarding the second initial request based on the stored destination realm.

9. The non-transitory machine-readable storage medium of claim 8 , wherein request content includes an optional field and the optional field is missing from an update request.

10. The non-transitory machine-readable storage medium of claim 8 , further comprising:

instructions for extracting an origin host from the response; and

instructions for storing the origin host as the destination host in association with the Diameter session identifier.

11. The non-transitory machine-readable storage medium of claim 10 , further comprising:

instructions for receiving an update request from the client, the update request including the Diameter session identifier;

instructions for determining a destination host based on the Diameter session identifier and the stored destination host; and

instructions for forwarding the update request toward the destination host.

12. The non-transitory machine-readable storage medium of claim 11 , wherein the instructions for forwarding the update request toward the destination host further comprise:

instructions for modifying the update request to include the destination host.

13. The non-transitory machine-readable storage medium of claim 11 , further comprising:

instructions for determining that a Diameter route does not exist for the destination realm;

instructions for determining a new destination realm based on the message content; and

instructions for determining a new Diameter route for the new destination realm.

14. The non-transitory machine-readable storage medium of claim 8 , further comprising:

instructions for determining a destination host based on the destination realm and request content; and

instructions for routing the initial request to the destination host.

15. A Diameter relay agent (DRA) in communication with a client and a plurality of hosts, wherein the DRA is configured to: receive an initial Diameter request from a client, the initial request including a destination realm indication which identifies a destination realm comprising at least one Diameter server host; determine a route to a server host of the at least one Diameter server host based on the destination realm indication; forward the initial Diameter request according to the determined route; maintain a mapping of the destination realm indication to a Diameter session identifier corresponding to the initial Diameter request; receive a response to the initial Diameter request, the response including an origin host and an origin realm indication; update the mapping by applying the origin host indication from the response as a destination host indication in the mapping; and forward a received subsequent Diameter request having the session identifier corresponding to the mapping, based on the destination realm and the destination host indication in the mapping; receive a second initial Diameter request including second request content from a second client requesting a second session; determine that the second initial Diameter request is related to the Diameter session identifier based on the second request content; store an identifier of the second session in association with the stored destination realm; and forward the second initial Diameter request based on the stored destination realm.

16. A method of routing Diameter requests, the method comprising:

receiving an initial request from a client, the initial request including a session identifier, an initial destination realm, and request content, wherein the session identifier is a Diameter session identification, the initial destination realm identifies a destination realm of a Diameter host, and the request content is a subscriber ID;

determining a Diameter route for the initial request based on the initial destination realm and the request content;

forwarding the initial request according to the Diameter route;

receiving a response to the initial request;

extracting an origin realm from the response;

storing the origin realm as a stored destination realm in association with the session identifier;

receiving a second initial request including second request content from a second client requesting a second session;

determining that the second initial request is related to the session identifier based on the second request content;

storing an identifier of the second session in association with the stored destination realm; and

forwarding the second initial request based on the stored destination realm.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2014
From: ALCATEL-LUCENT CANADA INC.
To: ALCATEL LUCENT
Reel/Frame 033759/0026 →
RELEASE OF SECURITY INTEREST Recorded Aug 24, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA, INC.
Reel/Frame 033625/0583 →
SECURITY AGREEMENT Recorded Nov 8, 2013
From: ALCATEL-LUCENT USA, INC.
To: CREDIT SUISSE AG
Reel/Frame 031599/0941 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2013
From: ELLIS, STEPHEN E.; JAAKKOLA, DARRYL; JORGENSEN, PETER
To: ALCATEL-LUCENT CANADA, INC.
Reel/Frame 031132/0667 →