U.S. patent application number 11/888907 was filed with the patent office on 2008-12-18 for methods, systems, and computer program products for identifying a serving home subscriber server (hss) in a communications network.
This patent application is currently assigned to Tekelec. Invention is credited to Rohini Marathe, Peter J. Marsico.
Application Number | 20080311917 11/888907 |
Document ID | / |
Family ID | 40132820 |
Filed Date | 2008-12-18 |
United States Patent
Application |
20080311917 |
Kind Code |
A1 |
Marathe; Rohini ; et
al. |
December 18, 2008 |
Methods, systems, and computer program products for identifying a
serving home subscriber server (HSS) in a communications
network
Abstract
Methods, systems, and computer program products for determining
a serving home subscriber server (HSS) in a communications network
are described. One method includes obtaining a subscriber
identifier from a query message. An exceptions-based data structure
contained in a database is accessed to locate a database entry
associated with the subscriber identifier. Similarly, a range-based
data structure contained in the database is accessed to locate the
database entry associated with the subscriber identifier if the
exceptions-based data structure does not contain the database
entry. The method also includes acquiring serving HSS data
corresponding to the located entry from either the exceptions-based
data structure or the range-based data structure.
Inventors: |
Marathe; Rohini; (Cary,
NC) ; Marsico; Peter J.; (Chapel Hill, NC) |
Correspondence
Address: |
JENKINS, WILSON, TAYLOR & HUNT, P. A.
Suite 1200 UNIVERSITY TOWER, 3100 TOWER BLVD.,
DURHAM
NC
27707
US
|
Assignee: |
Tekelec
|
Family ID: |
40132820 |
Appl. No.: |
11/888907 |
Filed: |
August 2, 2007 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60934703 |
Jun 15, 2007 |
|
|
|
Current U.S.
Class: |
455/445 |
Current CPC
Class: |
H04W 8/04 20130101 |
Class at
Publication: |
455/445 |
International
Class: |
H04Q 7/20 20060101
H04Q007/20 |
Claims
1. A method for identifying a serving home subscriber server (HSS)
in a communications network, comprising: obtaining a subscriber
identifier from a message; accessing an exceptions-based data
structure contained in a database to locate an exceptions-based
database entry associated with the subscriber identifier; accessing
a range-based data structure contained in the database to locate a
range-based database entry associated with the subscriber
identifier if the exceptions-based data structure does not contain
the exceptions-based database entry; and acquiring serving HSS
identification data corresponding to the located database
entry.
2. The method of claim 1 wherein the message comprises a query
message requesting the serving HSS data associated with the
subscriber identifier.
3. The method of claim 2 wherein the query message is sent by an
interrogating call session control function (I-CSCF).
4. The method of claim 3 comprising providing the serving HSS data
to the I-CSCF.
5. The method of claim 4 comprising querying an HSS indicated in
the serving HSS data to obtain serving call session control
function (S-CSCF) data associated with the subscriber
identifier.
6. (canceled)
7. The method of claim 1 wherein at least one entry of the
range-based data structure specifies a numeric range.
8. The method of claim 1 wherein at least one entry of the
range-based data structure specifies an alphabetic range.
9. (canceled)
10. The method of claim 1 wherein at least one entry in the
exceptions-based data structure is indexed by a subscriber
identifier within a range corresponding to an entry in the
range-based data structure but includes different serving HSS
information from the entry in the range-based data structure.
11. The method of claim 1 wherein at least one entry in the
exceptions-based data structure is indexed by a subscriber
identifier that is outside of all of the ranges corresponding to
entries in the range-based data structure.
12. The method of claim 1 wherein obtaining a subscriber identifier
comprises initiating a reverse E.164 numbering (ENUM) lookup and
obtaining a reverse ENUM response containing an E.164 subscriber
number that is used as the subscriber identifier.
13. The method of claim 1 wherein obtaining a subscriber identifier
comprises initiating an ENUM lookup and obtaining an ENUM response
containing a URI that is used as the subscriber identifier.
14. A computer-readable medium having stored thereon a data
structure for associating subscriber identifiers with IP Multimedia
Subsystem (IMS) home subscription servers (HSSs), comprising: (a) a
range-based data structure that associates serving HSSs with ranges
of subscriber identifier values; and (b) an exceptions-based data
structure that associates serving HSSs with individual subscriber
identifier values, the exceptions-based data structure including
entries that are exceptions to entries in the range-based data
structure.
15. The computer-readable medium of claim 14 wherein the ranges of
subscriber identifier values include a range comprising numeric
values.
16. The computer-readable medium of claim 14 wherein the ranges of
subscriber identifier values include a range comprising alphabetic
values.
17. (canceled)
18. The computer-readable medium of claim 14 wherein at least one
entry in the exceptions-based data structure is indexed by a
subscriber identifier within a range corresponding to an entry in
the range-based data structure but includes different serving HSS
information from the entry in the range-based data structure.
19. The computer-readable medium of claim 14 wherein at least one
entry in the exceptions-based data structure is indexed by a
subscriber identifier that is outside of the ranges of subscriber
identifier values.
20. A system for identifying a serving home subscriber server (HSS)
in a communications network, comprising: a database including a
range-based data structure that includes range-based entries
corresponding to subscriber identifier ranges and serving HSS data
respectively associated with the range-based entries and an
exceptions-based data structure that includes exceptions-based
entries corresponding to subscriber identifiers that indicate
exceptions to the entries corresponding to the subscriber
identifier ranges and serving HSS data respectively associated with
the exceptions-based entries; and a subscriber locator function
(SLF) for accessing the exceptions-based data structure to locate
an exceptions-based entry associated with a subscriber identifier,
accessing the range-based data structure to locate a range-based
database entry associated with the subscriber identifier if the
exceptions-based data structure does not contain the
exceptions-based database entry, and acquiring serving HSS data
corresponding to the located database entry.
21. The system of claim 20 comprising a requesting interrogating
call session control function (I-CSCF), wherein the SLF is adapted
to provide the serving HSS data to the requesting I-CSCF.
22. The system of claim 21 wherein the I-CSCF is adapted to query
an HSS indicated in the serving HSS data to obtain serving call
session control function (S-CSCF) data associated with the
subscriber identifier.
23. (canceled)
24. The system of claim 20 wherein the entries of the range-based
data structure include ranges comprising numeric values.
25. The system of claim 20 wherein the entries of the range-based
data structure include ranges comprising alphabetic values.
26. (canceled)
27. The system of claim 20 wherein at least one entry in the
exceptions-based data structure is indexed by a subscriber
identifier within a range corresponding to an entry in the
range-based data structure but includes different serving HSS
information from the entry in the range-based data structure.
28. The system of claim 20 wherein at least one entry in the
exceptions-based data structure is indexed by a subscriber
identifier that is outside of all of the ranges corresponding to
entries in the range-based data structure.
29. The system of claim 20 wherein the SLF is adapted to initiate a
reverse E.164 number (ENUM) lookup and to obtain a reverse ENUM
response containing an E.164 subscriber number that is used as the
subscriber identifier.
30. The system of claim 20 wherein the SLF is adapted to initiate
an ENUM lookup and to obtain an ENUM response containing a URI that
is used as the subscriber identifier.
Description
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional
Patent Application Ser. No. 60/934,703, filed Jun. 15, 2007; the
disclosure of which is incorporated herein by reference in its
entirety.
TECHNICAL FIELD
[0002] The subject matter described herein relates to optimizing a
subscriber locator function (SLF) in an IP multimedia subsystem
(IMS). More particularly, the subject matter described herein
relates to methods, systems, and computer program products for
identifying a serving home subscriber server (HSS) in a
communications network.
BACKGROUND
[0003] Internet protocol (IP) multimedia subsystem (IMS) is defined
by the Third Generation Partnership Project (3GPP) as a mobile
network infrastructure that enables the convergence of data,
speech, and mobile network technology over an IP-based
infrastructure. IMS bridges the gap between the existing
traditional telecommunications technology and Internet technology,
allowing network operators to offer a standardized, reusable
platform with new, innovative services by enhancing real time,
multimedia mobile services, such as voice services, video
telephony, messaging, conferencing, and push services. IMS can be
used to provide services for both mobile networks and fixed
networks at the same time, providing unique mixtures of services
with transparency to the end-user.
[0004] IMS supports the establishment of any type of media session
(e.g., voice, video, text, etc.) and provides the service creator
the ability to combine services in the same session and dynamically
modify sessions (e.g., adding a video component to an existing
voice session). As a result, new and innovative user-to-user and
multi-user services have become available, such as enhanced voice
services, video telephony, chat, push-to-talk, and multimedia
conferencing, all of which are based on the concept of a multimedia
session. The underlying IMS infrastructure enables mobile IP
communication services via its ability to find a user in the
network and then to establish a session with the user. The key IMS
components enabling mobility management are the call session
control function (CSCF) and home subscriber server (HSS). The CSCF
is essentially a proxy, which aids in the setup and management of
sessions and forwards messages between IMS networks. The HSS holds
all of the key subscriber information and enables users (or
servers) to locate and communicate with other end users.
[0005] As the number of subscribers or processing load on an
individual HSS increases, it may be desirable for a network
operator to include multiple HSSs in a network. If each of the
multiple HSSs is identically provisioned, i.e., includes copies of
the same subscriber data, the HSSs may operate in a load sharing
manner and it is not necessary to have a location function to
determine which HSS holds a particular subscriber's data. However,
if the multiple HSSs do not include identical data, it is necessary
to identify the HSS that contains a particular subscriber's data
when attempting to establish a call involving that subscriber. IMS
documentation defines a subscriber locator function (SLF) for
locating the HSS serving a particular subscriber when the
subscriber's network includes multiple HSS functions. However, the
implementation of the SLF is not believed to be specified.
[0006] Accordingly, there exists a need for improved methods,
systems, and computer program products for identifying a serving
home subscriber server in a communications network.
SUMMARY
[0007] According to one aspect, the subject matter described herein
comprises methods, systems, and computer program products for
identifying a serving home subscriber server (HSS) in a
communications network. One method includes obtaining a subscriber
identifier from a message. An exceptions-based data structure
contained in a database is accessed to locate a database entry
associated with the subscriber identifier. Similarly, a range-based
data structure contained in the database is accessed to locate the
database entry associated with the subscriber identifier if the
exceptions-based data structure does not contain the database
entry. The method also includes acquiring serving HSS data that
corresponds to the located entry from either the exceptions-based
data structure and the range-based data structure.
[0008] The subject matter described herein for identifying a
serving HSS may be implemented using a computer program product
comprising computer executable instructions embodied in a computer
readable medium. Exemplary computer readable media suitable for
implementing the subject matter described herein includes disk
memory devices, programmable logic devices, and application
specific integrated circuits. In addition, a computer readable
medium that implements the subject matter described herein may be
distributed across multiple physical devices and/or computing
platforms.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Preferred embodiments of the subject matter described herein
will now be explained with reference to the accompanying drawings
of which:
[0010] FIG. 1 is a network diagram illustrating exemplary
communications network adapted to identify a serving home
subscriber server according to an embodiment of the subject matter
described herein;
[0011] FIG. 2 is a flow chart illustrating exemplary steps for
identify a serving home subscriber server in a communications
network according to an embodiment of the subject matter described
herein; and
[0012] FIG. 3 is a network diagram illustrating exemplary
communications network adapted to identify a serving home
subscriber server using an E.164 identifier according to an
embodiment of the subject matter described herein; and
[0013] FIG. 4 is a flow chart illustrating exemplary steps for
identifying a serving home subscriber server using an E.164
identifier in a communications network according to an embodiment
of the subject matter described herein.
DETAILED DESCRIPTION
[0014] The present subject matter relates to systems and methods
for identifying a serving home subscriber server (HSS) in a
communications network. FIG. 1 illustrates an exemplary
communications network 100 in which the present subject matter may
be implemented according to an embodiment of the subject matter
described herein.
[0015] Referring to FIG. 1, network 100 may include an
interrogating call session control function (I-CSCF) 102, a
subscriber location function (SLF) 104, and a plurality of home
subscriber servers (HSS) 106.sub.1 . . . n. I-CSCF 102 and SLF 104
may each be located and supported by separate application servers
in network 100. In other embodiments of the present subject matter,
SLF 104 may be co-located/integrated with a network element, such
as a CSCF element. In one embodiment, network 100 includes an IMS
network.
[0016] In one embodiment, I-CSCF 102 may be adapted to receive a
call signaling message (e.g., message 121), such as a SIP INVITE
message, sent from a calling party (e.g., a calling subscriber) to
a called party (e.g., a called subscriber). In an alternate
embodiment, a proxy call session control function (P-CSCF) may be
adapted to receive the call signaling message. In response to
receiving message 121, I-CSCF 102 (or P-CSCF) is configured to
subsequently obtain subscriber information (e.g., a subscriber
identifier associated with the calling subscriber, such as the
calling subscriber number) from the call signaling message. In
order to locate a serving HSS of the calling subscriber (which is
needed to further service the call), I-CSCF 102 transmits a query
message 122 containing the subscriber information to SLF 104.
[0017] In one embodiment, SLF 104 is a function that resides on a
dedicated application server in network 100. SLF 104 may include
database 108, which may be accessed in response to receiving query
message 122, which is specifically addressed to SLF 104. Namely,
SLF 104 serves the function of storing and providing HSS
identification information that identifies a serving HSS node for a
given calling subscriber and does not intercept any messages
directed to an HSS node or other like registry node (e.g., an HLR).
In one embodiment, database 108 may include a hierarchical data
structure that contains a range-based section 110 that is made up
of block sections or ranges of subscriber identifiers (e.g.,
subscriber URI values) and corresponding HSS identifiers. Likewise,
database 108 may also contain an exceptions-based section 112,
which includes subscriber identifiers (i.e., subscriber URI values)
that are exceptions to the subscriber identifier-to-HSS identifier
associations in ranged-based section 110. The relationship between
the two sections is described below in greater detail.
[0018] In one embodiment, range-based section 110 contains
subscriber identifier data that may include ranges of SIP:URI,
TEL:URI, Mailto:URI, or other URI values. Each entry in section 110
includes an alphabetic or numeric (e.g., E.164 formatted subscriber
identifiers, mobile subscriber ISDN identifiers, plain old
telephone service (POTS) identifiers, international mobile station
identifiers (IMSI), etc.) range of subscriber identifiers, as
defined by the wild card or "*" character in each entry. For
example, the entry indicated by E* at VZW.com may include all
subscriber URIs within the VZW.com domain that begin with "E". In
another example, the entry indexed by 336241* may correspond to a
range of subscriber directory numbers from 3362410000-3362419999.
It should also be noted that the wild card operator is shown in
database 108 for illustrative purposes. In an actual
implementation, ranges may be identified by values that indicate
the start and end of a range. For example, a range of telephone
numbers for 9193800000 to 9193809999 may be identified by the
telephones at the endpoints of the range, i.e., 9193800000 and
9193809999. Any suitable method for identifying a range is intended
to be within the scope of the subject matter described herein.
[0019] By utilizing a data structure that employs a range (or
block) of subscriber identifiers as opposed to numerous single
entries of subscriber identifiers that represent the exact same
information, database 108 is capable of storing more subscribers
(and serving HSS identification data) in the same amount of space.
This configuration also allows for more efficient lookups since
fewer entries need to be accessed as SLF 104 attempts to locate an
entry that matches the subscriber identifier received in message
122.
[0020] Subscriber identifier section 112 of database 108 may
include a database section that contains entries of individual
subscriber identifier values, such as a SIP:URI value or a
Mailto:URI value. Each subscriber identifier entry in section 112
may be associated with a corresponding HSS identifier.
Exceptions-based subscriber identifier section 112 may also include
numeric or Tel:URI values, such as POTS or mobile telephone
numbers. For example, the URI value Ellie@VZW.com or the telephone
number 9193803232 may be included in the exceptions-based data.
Each URI value in section 112 has a corresponding HSS identifier
(e.g., Ellie@VZW.com is associated with HSS B). In an alternate
embodiment, an entry in exceptions-based section 112 may include a
range or block of entries not unlike the format in section 110.
[0021] As used herein, the term "range-based data" refers to a
grouping of data by numeric, alphabetic, or alphanumeric ranges.
For example, a range-based grouping of telephone numbers may
include a group of telephone numbers that fall within a numeric
range. In another example, a range-based grouping of URIs may be
all URIs that fall within the same alphanumeric range. The term
"exceptions-based-data" refers to data that is within one of the
ranges or groupings of range based data or outside of all of the
groupings or ranges of range based data. For example, the number
3362415656 in exceptions-based section 112 of database 108 is
within the range of 3362410000-3462419999 specified in range based
section 110. However, 3362415656 contains a different HSS
identifier to the range defined for 336241*. Accordingly, the HSS
identification rule for the entry corresponding to 3362415656 is an
exception to the rule defined for the remaining entries in the
range 336241*. It will be appreciated that according to one
embodiment, range-based section 110 of SLF database 108 may be
thought of as default SLF routing rules, which are only utilized in
the event that an exception-based SLF routing rule could not be
located.
[0022] Upon receiving a query message (e.g., message 122), SLF 104
initially access and searches exceptions-based section 112 using
the subscriber identifier. Namely, SLF 104 compares and attempts to
match the subscriber URI with the URI entries in section 112 via a
cross-referenced comparison. If a matching entry is found in
exceptions-based section 112, then the associated HSS
identification data is obtained and provided to the requesting
entity (e.g., I-CSCF 102). If a match is not located in the
exceptions-based section 112, then range-based section 110 is
subsequently searched using the subscriber identifier. In one
embodiment, SLF 104 searches section 110 to determine if the
subscriber identifier falls within a designated range specified by
an entry.
[0023] If a "match" (i.e., if subscriber identifier falls within a
range) is located in the ranged-based section 110, then the
associated HSS identifier is obtained and provided to the
requesting entity. If a match is not located, then a default HSS
identifier may be returned or an error indicator may be returned to
the requesting entity.
[0024] For example, referring to database 108 in FIG. 1,
Ellie@VZW.com is listed as an exception in section 112. The first
entry in section 110 indicates that Ellie@VZW.com would normally be
associated with HSS A. Notably, the first entry of section 210
includes a wildcard operator that indicates that all identifiers
starting with the letter "E" in the VZW.com domain are supported by
HSS A. However, since Ellie@VZW.com is listed as an exception in
section 112, this particular subscriber URI is instead supported by
HSS B (as indicated) as opposed to HSS A.
[0025] FIG. 2 is a flow chart illustrating the exemplary steps of a
method 200 for determining a serving HSS in a communications
network according to an embodiment of the subject matter described
herein. In block 202, a call setup message is received. In one
embodiment, I-CSCF 102 receives a SIP INVITE message (e.g., message
121 in FIG. 1) intended for a designated called subscriber from a
calling subscriber. The INVITE message may include this called and
calling subscriber information in the "To" and "From" parameters,
respectively, of the message header.
[0026] In block 204, the subscriber identifier is obtained from the
call signaling message. In one embodiment, I-CSCF 102 extracts a
subscriber URI from INVITE message 121.
[0027] In block 206, a query message is sent to an SLF. For
example, I-CSCF 102 transmits an SLF query message (e.g., query
message 122 in FIG. 1), which includes the subscriber identifier,
to SLF 104. In one embodiment, query message 122 may be a Diameter
query message that includes the subscriber URI value. In this
scenario, the connection between I-CSCF 102 and SLF 104 may include
a Diameter interface.
[0028] In block 208, an exceptions data structure is searched using
the subscriber identifier. In one embodiment, SLF 104 utilizes the
received subscriber identifier to initially query an
exceptions-based section 112 of database 108. As mentioned above,
exceptions-based section 112 of database 108 includes a list of
individual subscriber identifier values (or "sub-ranges" of
subscriber identifier values) that are exceptions to the
range-based entries in section 110.
[0029] In block 210, a determination is made as to whether the
subscriber identifier matches one of the entries in
exceptions-based section 212. In one embodiment, SLF 104 compares
the subscriber identifier contained in query message 122 with the
entries in section 112. If a matching entry is not found in
exceptions-based section 112 by SLF 104, then method 200 continues
to block 212. If a matching entry is found, then method 200
proceeds to block 216.
[0030] In block 212, a range-based data structure is searched using
the subscriber identifier. In one embodiment, SLF 104 utilizes the
received subscriber identifier to query a range-based section 112
of database 108 (since SLF 104 did not find an exception that
matched the subscriber identifier). For example, SLF 104 compares
the subscriber identifier with the ranges listed in section 110 to
determine if the subscriber identifier falls within a particular
range.
[0031] In block 214, a determination as to whether the subscriber
identifier is included within a particular range listed in section
110. If a "match" is found (i.e., subscriber identifier is within a
listed range), then method 200 continues to block 216. If a "match"
is not found, then method 200 proceeds to block 220, where a
predefined default HSS identifier is returned to I-CSCF 102.
Alternatively, an error message may be sent to I-CSCF 102
indicating that a serving HSS cannot be found in either section 110
or section 112.
[0032] In block 216, the serving HSS identification data is
obtained. In one embodiment, the SLF 104 acquires the serving HSS
identification data associated with the subscriber identifier from
database 108 (i.e., either from exceptions section 112 or range
section 110). For example, SLF 104 obtains the HSS identifier that
corresponds to the matched exceptions-based section entry.
[0033] In block 218, the serving HSS identification data (e.g., HSS
identifier) is sent to the original querying entity. In one
embodiment, after finding a match from either section 110 or
section 112, SLF 104 transmits the HSS identification data
associated with the subscriber identifier to I-CSCF 102.
[0034] In block 222, the serving HSS is queried. In one embodiment,
I-CSCF 102 uses the HSS identifier to query the appropriate HSS
(e.g., one HSS of HSSs 106.sub.1 . . . n). In one embodiment,
I-CSCF 102 attempts to obtain the identity of the S-CSCF that is
designated to handle the subscriber's call from the queried
HSS.
[0035] In one embodiment, the subject matter described herein may
include querying an E.164 number mapping (ENUM) server in order to
obtain an E.164 number, which may be used as a subscriber
identifier to access an SLF routing data structure (e.g., database
108). FIG. 3 illustrates an exemplary communications network 300 in
which the present subject matter may be implemented according to an
embodiment of the subject matter described herein. In one
embodiment, network 300 is similar to network 100 except for the
addition of ENUM server 302 (e.g., a computer supporting an
E.164-to-URI mapping function) and ENUM database 304. One reason
that it may be desirable to identify an E.164 number corresponding
to a URI is that E.164 numbers can be used as access keys to
entries corresponding to numeric ranges and exceptions to those
ranges in database 108. A query that seeks, from an ENUM server, an
E.164 number corresponding to a URI is referred to herein as a
reverse ENUM query because such a query requests the reverse of the
normal E.164 to URI mapping performed by ENUM servers.
[0036] In one embodiment, ENUM server 302 is adapted to receive a
reverse ENUM query 323 from SLF 104. Query 323 may include a
subscriber identifier, such as a subscriber URI, that is initially
received by SLF 104. After receiving query 323, ENUM server 302
uses the subscriber identifier to access database 304 in order to
obtain an associated E.164 number via a URI-to-E.164 number
translation. In one embodiment, ENUM database 304 may include a
data structure that contains a plurality of URIs and corresponding
E.164 numbers (see FIG. 3). The associated E.164 number resulting
from the reverse ENUM translation is then provided to SLF 104. SLF
104 then uses the E.164 number and is used to search an SLF data
structure (e.g., database 108) and determine the serving HSS for
the subscriber associated with the E.164 number in a similar manner
mentioned above.
[0037] FIG. 4 is a flow chart illustrating the exemplary steps of a
method 400 for determining a serving HSS using an E.164 number in a
communications network according to an embodiment of the subject
matter described herein. In block 402, a call setup message is
received. In one embodiment, I-CSCF 102 receives a SIP INVITE
message 121 intended for a designated called party from a calling
subscriber. The INVITE message may include a subscriber identifier,
such as a calling subscriber number or subscriber URI.
[0038] In block 404, the subscriber identifier is extracted from
the call signaling message. In one embodiment, I-CSCF 102 extracts
a subscriber URI from INVITE message 121.
[0039] In block 405, a query message is sent to a SLF. For example,
I-CSCF 102 transmits an SLF query message (e.g., query message
122), which includes the subscriber identifier, to SLF 104.
[0040] In block 406, a determination is made as to whether the
subscriber identifier is an E.164 identifier. In one embodiment,
SLF 104 analyzes the subscriber identifier to ascertain whether it
is an E.164 based identifier. In one embodiment, SLF 104 recognizes
the subscriber identifier to be a subscriber URI that may be
associated to an E.164 number. If the subscriber identifier is
found to be an E.164 number, then method 400 proceeds to block 410
and continues normally.
[0041] If the subscriber identifier is found not to be an E.164
identifier, then method 400 continues to block 407, where a
reverse-ENUM query message containing the subscriber identifier is
sent to ENUM server 302. In block 408, ENUM server 302 receives the
query message and performs a reverse ENUM translation to obtain an
E.164 number associated with the subscriber identifier from the
ENUM database 304. In block 409, the E.164 number is sent to SLF
104 via a reverse response message 324.
[0042] In block 410, an exceptions data structure is searched using
the subscriber identifier. In one embodiment, SLF 104 utilizes the
E.164 number contained in message 324 to initially query an
exceptions-based section 112 of database 108.
[0043] In block 412, a determination is made as to whether the
E.164 number matches one of the entries in exceptions-based section
112. In one embodiment, SLF 104 compares the E.164 number contained
in message 122 with the entries in section 112. If a matching entry
is not found in exceptions-based section 112 by SLF 104, then
method 400 continues to block 414. If a matching entry is found,
then method 400 proceeds to block 420.
[0044] In block 414, a range-based data structure is searched using
the subscriber identifier. In one embodiment, SLF 104 utilizes the
received E.164 number to query a range-based section 112 of
database 108. For example, SLF 104 compares the subscriber
identifier with all of the ranges listed in section 110 to
determine if the subscriber identifier falls within a particular
range.
[0045] In block 416, a determination as to whether the subscriber
identifier matches or falls within a particular range listed in
section 110. If a match is found, then method 400 continues to
block 420. If a match is not found, then method 400 proceeds to
block 418, where predefined default HSS identification data is sent
to I-CSCF 102. Alternatively, an error message may be sent to
I-CSCF 102 indicating that a serving HSS cannot be found in either
section 110 or section 112.
[0046] In block 420, the serving HSS identification data is
obtained. In one embodiment, the SLF 104 acquires the serving HSS
identification data associated with the E.164 number from database
108.
[0047] In block 422, the serving HSS identification data (e.g., HSS
identifier) is sent to the querying entity. In one embodiment,
after finding a match from either section 110 or section 112, SLF
104 transmits the HSS identification data associated with the E.164
number to I-CSCF 102 via a response message 325.
[0048] In block 424, the serving HSS is queried. In one embodiment,
I-CSCF 102 uses the HSS identification data to query the
appropriate HSS of HSS 106.sub.1 . . . n to obtain the identity of
a serving S-CSCF. The method 400 then ends.
[0049] In yet another embodiment, it may be desirable for an ENUM
translation (i.e., E.164-to-URI translation) to be performed prior
to performing SLF processing. In this case, an SLF function of the
present subject matter is adapted to query an ENUM function prior
to performing SLF processing. For example, an SLF function may
receive a query message from a CSCF node that includes a numeric
subscriber identifier (e.g., E.164 formatted telephone number). The
SLF is adapted to generate an ENUM query that includes the numeric
subscriber identifier, and transmit the query to an ENUM function.
The SLF receives an ENUM response message, which includes a
subscriber URI, from the ENUM function and is adapted to use
perform SLF processing (such as that described previously in this
disclosure) using the returned subscriber URI.
[0050] As described above, the present subject matter relates to
various methods, systems, and computer program products for
identifying a serving HSS in a communications network. For example,
by employing the range-based and exceptions-based data hierarchy,
the present subject matter is able to facilitate the storage of
data in a highly efficient manner. Thus, more data may be stored in
a fewer number of entries in a database structure. Similarly, by
using the associated two-stage lookup procedure, high-speed data
searches for identifying a subscriber's serving HSS in an IMS
network may be realized.
[0051] It will be understood that various details of the subject
matter described herein may be changed without departing from the
scope of the subject matter described herein. Furthermore, the
foregoing description is for the purpose of illustration only, and
not for the purpose of limitation, as the subject matter described
herein is defined by the claims as set forth hereinafter.
* * * * *