Systems, methods, and computer readable media for location-sensitive called-party number translation in a telecommunications network
09584959 ยท 2017-02-28
Assignee
Inventors
- Raghavendra Gopala Rao (Cary, NC, US)
- Devesh Agarwal (Raleigh, NC)
- Adam B. Roach (Dallas, TX, US)
- Peter Joseph Marsico (Chapel Hill, NC)
Cpc classification
H04Q3/72
ELECTRICITY
H04L67/52
ELECTRICITY
H04Q3/76
ELECTRICITY
H04M3/42357
ELECTRICITY
H04L61/4557
ELECTRICITY
H04L65/1096
ELECTRICITY
H04L61/106
ELECTRICITY
International classification
H04L12/66
ELECTRICITY
H04Q3/76
ELECTRICITY
H04Q3/72
ELECTRICITY
Abstract
Systems, methods, and computer readable media for location-sensitive identifier translation in a telecommunications network are disclosed. According to one aspect, the subject matter described herein includes a method for providing location-sensitive called-party identifier translation in a telecommunications network. The method includes, at a signaling node that includes at least one processor: receiving a first signaling message that includes a called party identifier; determining proximity information associated with the calling party; performing a location-sensitive called party identifier translation based on the proximity information associated with the calling party; and sending the first signaling message or a second signaling message, the sent message including the translated called party identifier.
Claims
1. A method for providing location-sensitive called-party identifier translation in a telecommunications network, the method comprising: at a signaling system 7 (SS7) signal transfer point (STP) that includes at least one processor: receiving, from an originating switch, a first signaling message that includes a called party identifier and a mobile subscriber number within a calling party identifier field of the first signaling message; determining proximity information associated with the first signaling message by extracting a switch identifier of the originating switch from the first signaling message; modifying the first signaling message to create a modified message by removing the mobile subscriber number from the calling party identifier field of the first signaling message and inserting, in place of the mobile subscriber number, a value based on the switch identifier of the originating switch extracted from the calling party identifier field of the first signaling message; forwarding the modified message to a translation database system for performing a location-sensitive called party identifier translation based on the proximity information associated with the calling party, wherein performing a location-sensitive called party identifier translation based on the proximity information associated with the calling party includes selecting a called party identifier from a plurality of called party identifiers based on the proximity information associated with the calling party, wherein performing the location-sensitive called party identifier translation based on the proximity information associated with the calling party comprises: performing a toll-free query to a location-sensitive toll-free database for mapping a toll-free number to a directory number based on the proximity information associated with the calling party; and in response to obtaining the mapped directory number, performing an E.164 number translation (ENUM) query to a location-sensitive ENUM database for mapping E.164 telephone numbers to IP addresses; and sending the first signaling message or a second signaling message, the sent message including the translated called party identifier.
2. The method of claim 1 wherein the first signaling message is a signaling system 7 (SS7) message comprising one of: a call setup message; a transaction capabilities application part (TCAP) query; and a mobile application part (MAP) query.
3. The method of claim 1 wherein determining the proximity information associated with the calling party comprises issuing one of: a transaction capabilities application part (TCAP) query; a mobile application part (MAP) query; an intelligent network (IN) query; a wireless intelligent network (WIN) query; an advanced intelligent network (AIN) query; and a customized applications for mobile networks enhanced logic (CAMEL) query.
4. The method of claim 1 wherein sending the first signaling message comprises modifying the first signaling message to include the translated called party identifier and forwarding the first signaling message to a destination of the first signaling message.
5. The method of claim 1 wherein sending the second signaling message comprises sending the second signaling message to the originating switch.
6. The method of claim 1 wherein sending the second signaling message comprises sending the second signaling message to a destination of the first signaling message.
7. A system for providing location-sensitive called-party identifier translation in a telecommunications network, the system comprising: a signaling system 7 (SS7) signal transfer point (STP) for receiving, from an originating switch, a first signaling message that includes a called party identifier and a mobile subscriber number within a calling party identifier field of the first signaling message; and a proximity processing module operatively associated with the signal transfer point for determining proximity information associated with the first signaling message by extracting a switch identifier of the originating switch from the first signaling message, for modifying the first signaling message to create a modified message by removing the mobile subscriber number from the calling party identifier field of the first signaling message and inserting, in place of the mobile subscriber number, a value based on the switch identifier of the originating switch extracted from the calling party identifier field of the first signaling message, for forwarding the modified message to a translation database system for performing a location-sensitive called party identifier translation based on the proximity information associated with the calling party, and for sending the first signaling message or a second signaling message, the sent message including the translated called party identifier, wherein performing a location-sensitive called party identifier translation based on the proximity information associated with the calling party includes selecting a called party identifier from a plurality of called party identifiers based on the proximity information associated with the calling party, wherein performing the location-sensitive called party identifier translation based on the proximity information associated with the calling party comprises: performing a toll-free query to a location-sensitive toll-free database for mapping a toll-free number to a directory number based on the proximity information associated with the calling party; and in response to obtaining the mapped directory number, performing an E.164 number translation (ENUM) query to a location-sensitive ENUM database for mapping E.164 telephone numbers to IP addresses.
8. The system of claim 7 wherein the first signaling message is a signaling system 7 (SS7) message comprising one of: a call setup message; a transaction capabilities application part (TCAP) query; and a mobile application part (MAP) query.
9. The system of claim 7 wherein the proximity processing module determines the proximity information associated with the calling party by issuing one of: a transaction capabilities application part (TCAP) query; a mobile application part (MAP) query; an intelligent network (IN) query; a wireless intelligent network (WIN) query; an advanced intelligent network (AIN) query; and a customized applications for mobile networks enhanced logic (CAMEL) query.
10. The system of claim 7 wherein the proximity processing module sends the first signaling message by modifying the first signaling message to include the translated called party identifier and forwarding the first signaling message to a destination of the first signaling message.
11. The system of claim 7 wherein the proximity processing module sends the second signaling message by sending the second signaling message to the source of the first signaling message.
12. The system of claim 7 wherein the proximity processing module sends the second signaling message by sending the second signaling message to a destination of the first signaling message.
13. A non-transitory computer readable medium having stored thereon executable instructions that when executed by the processor of a computer control the computer to perform steps comprising: receiving, at a signaling system 7 (SS7) signal transfer point (STP), and from an originating switch, a first signaling message that includes a called party identifier and a calling party identifier within a calling party identifier field of the first signaling message; determining proximity information associated with the calling party first signaling message by determining a switch identifier of the originating switch; modifying the first signaling message to create a modified message by replacing the calling party identifier with a value based on the switch identifier of the originating switch in the calling party identifier field of the first signaling message; forwarding the modified message to a translation database system for performing a location-sensitive called party identifier translation based on the proximity information associated with the calling party, wherein performing a location-sensitive called party identifier translation based on the proximity information associated with the calling party includes selecting a called party identifier from a plurality of called party identifiers based on the proximity information associated with the calling party, wherein performing the location-sensitive called party identifier translation based on the proximity information associated with the calling party comprises: performing a toll-free query to a location-sensitive toll-free database for mapping a toll-free number to a directory number based on the proximity information associated with the calling party; and in response to obtaining the mapped directory number, performing an E.164 number translation (ENUM) query to a location-sensitive ENUM database for mapping E.164 telephone numbers to IP addresses; and sending the first signaling message or a second signaling message, the sent message including the translated called party identifier.
14. The method of claim 1 wherein the called party identifier comprises a called party number.
15. The system of claim 7 wherein the called party identifier comprises a called party number.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Preferred embodiments of the subject matter described herein will now be explained with reference to the accompanying drawings, wherein like reference numerals represent like parts, of which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
DETAILED DESCRIPTION
(15) In accordance with the subject matter disclosed herein, systems, methods, and computer readable media are provided for location-sensitive called-party number translation in a telecommunications network.
(16)
(17) Network 100 includes a signaling node 106, such as a signaling message routing node, for routing signaling messages within network 100. In the embodiment illustrated in
(18) In one embodiment, network 100 may include a proximity processing module (PRXM) 108 for determining proximity information associated with the calling party and using the proximity information to translate or map called party information. In the embodiment illustrated in
(19) In one embodiment, the calling party proximity information may directly identify the geographic location of subscriber 104 or S1 102, and may include, for example, information such as the latitude and longitude, GPS location information, or other form of geographic coordinates of the subscriber or switch.
(20) In another embodiment, the calling party proximity information may indirectly identify the geographic location of a subscriber or switch, and may include information identifying the switch, such as the switch address or switch ID. In a cellular network, the calling party proximity information may include, for example, the address or ID of the mobile switching center currently serving the subscriber, the cell ID, the geographic location of the switch, MSC, base station subsystem or other component of the cellular network, and so on.
(21) In another embodiment, the calling party proximity information may be unrelated to the geographic location. For example, the calling party proximity information may relate to topological proximity, where the topological proximity of one node to another node may be defined by the number of intermediate nodes, or hops, between the two nodes, path costs, or some other metric.
(22) In the embodiment illustrated in
(23) In one embodiment, the location-sensitive number translation service provided by network 100 may be a location-sensitive toll-free service, in which a toll-free called party number is mapped to one of multiple directory numbers associated with that toll-free called party number based on whichever directory number is most proximate to the calling party. In such embodiments, network 100 may include a location-sensitive toll-free database (TFDB) 110 for mapping toll-free numbers, such as 1-8XX numbers in the United States, to a directory number. An example location-sensitive toll-free database is shown in Table 1, below. Each row in Table 1 represents an entry in TFDB 108, and each entry maps a toll-free number (TFN), shown in the left column, to a DN, shown in the right column, based on calling party proximity information (CGPI), shown in the middle column. A directory number may also be referred to as a B-party number.
(24) TABLE-US-00001 TABLE 1 Location-Sensitive Toll-Free Database (TFDB) row TFN CGPI DN 1 800-345-0393 919-XXX-XXXX 919-469-2255 2 800-345-0393 212-XXX-XXXX 212-458-6965 . . . . . . N 800-254-9990 919-682-XXXX 919-682-5400 N + 1 800-254-9990 919-683-XXXX 919-683-1733 N + 2 800-254-9990 919-684-XXXX 919-684-6998 . . . . . .
(25) Referring to the example location-sensitive toll-free database illustrated in Table 1, above, rows 1 and 2 show that the first toll-free number (800) 345-0393 would be mapped to the directory number (919) 469-2255 if the calling party is calling from the (919) area code (North Carolina), but would be mapped to the directory number (212) 458-6965 if the calling party is calling from the (212) area code (New York). In this example, the first toll-free number is mapped to a directory number based on an area code; it can be said that the first toll-free number has a geographic resolution at the area code level. In contrast, rows N through N+3 show that the second toll-free number (800) 254-9990 is mapped to a local directory number at a finer geographic resolution, e.g., at the exchange level. In this manner, the level of geographic resolution can vary according to need. For example, a toll-free number may be mapped to one of only two choices, such as a west coast number and an east coast number. Likewise, a toll-free number may be mapped to as many geographic domains as the toll-free database may support.
(26) In an alternative embodiment, the location-sensitive called party number translation service provided by network 100 may be a location-sensitive E.164 telephone number mapping (ENUM) service, in which an E.164-format called party number is mapped to one of multiple Internet protocol (IP) addresses associated with the E.164-format called party number based on whichever IP address is most proximate to the calling party. In such embodiments, network 100 may include an ENUM database (ENUMDB) 112 for mapping E.164 telephone numbers to IP addresses. An example ENUM database is shown in Table 2, below.
(27) TABLE-US-00002 TABLE 2 Location-Sensitive ENUM Database (ENUMDB) row E.164 ID PI URI 1 018004445678 GPS(A, B, C) Serv1@Network.net 2 018004445678 GPS(D, E, F) Serv2@Network.net 3 018004445678 GPS(G, H, I) Serv3@Network.net . . . . . . N 019194695858 Proximity ID (X) Serv4@Network.net N + 1 019194695858 Proximity ID (Y) Serv5@Network.net N + 2 019194695858 Proximity ID (Z) Serv6@Network.net . . . . . .
(28) Each row in Table 2 represents an entry in ENUMDB 112, and each entry maps an E.164 subscriber ID (E.164 ID), shown in the left column, to a uniform resource identifier (URI), shown in the right column, based on proximity information (PI), shown in the middle column. The value of the E.164 ID column shown in Table 2, above could be in E.164 format (e.g., 8.7.6.5.4.4.4.0.0.8.1.0) or in directory number format (e.g., 018004445678). For simplicity, the E.164 IDs shown in Table 2 are in directory number format. In alternative embodiments, ENUMDB 112 may map E.164 numbers to IP addresses.
(29) As shown in Table 2, the proximity information can take on various forms. For example, as shown in rows 13 of Table 2, above, the proximity information may be global positioning system (GPS) coordinates that define a position, such as a location on the surface of the earth, including height above or below the surface of the planet. Other positioning coordinate systems may also be used. Alternatively, as shown in rows N through N+2 of Table 2, above, the proximity information may be in the form of a proximity ID that identifies an object whose location is known or is readily determinable.
(30) Where the proximity information is a location, in one embodiment, the proximity information stored in ENUMDB 112 may be position of the URI, in which case the query message to ENUMDB 112 may include the position of the calling party (or of the switch that is serving the calling party) along with the called party number. In this scenario, ENUM DB 112 may select records whose E.164 ID value matches the called party number, calculate a geometric distance between the calling party and the PI value for each selected record, and then select the record with the smallest calculated difference. The record thus selected includes the URI of the server that is geographically closest to the calling party. In this example, the proximity information stored in ENUM DB 112 refers to the location of the respective URI.
(31) Where the proximity information is a location, in another embodiment, the proximity information stored in ENUMDB 112 may define an area served by the respective URI. In this scenario also, the query message to ENUMDB 112 may including the position of the calling party or originating switch. ENUMDB 112 may determine whether the calling party position falls within an area served by a URI, and if so, respond to the ENUM query with that URI. In this example, the proximity information stored in ENUM DB 112 refers to the allowable locations that the calling party may be in order for that calling party's call to be redirected to that particular URI.
(32) Where the proximity information is a proximity ID, the proximity information stored in ENUMDB 112 may identify the switch from which the call originates, in which case the proximity ID may be the switch ID, the switch address, or the switch name. Thus, as shown in rows N through N+2 in Table 2, above, an ENUM query that includes a called party E.164 number 8.5.8.5.9.6.4.9.1.9.1.0, which corresponds to a directory number of 019194695858, will return different results depending on whether the calling party is calling from an MSC having an MSC_ID=X or from an MSC having an MSC_ID=Y. In the former case, the URI returned will be Serv4@Network.net, and in the latter case, the URI returned will be Serv5@Network.net. Because switches are typically not mobile but fixed to a particular location, ENUMDB 112 may avoid the need to calculate distance between the calling party and the URI or determine whether the calling party is located within an area served by the URI.
(33) There is a trade-off, however. In one approach, the PI field of ENUMDB 112 stores location information for the URI. In this scenario, ENUMDB 112 would calculate a distance from the calling party location to each URI and then select the closest URI. In such embodiments, ENUMDB 112 need only store, for each called party number, a record for each possible destination URI. For example, if the called party number can only be routed to one of two destination URIs, then ENUMDB 112 may need only store two records for that called party number.
(34) Using a second approach, the PI field of ENUMDB 112 may contain a switch ID. In this scenario, ENUMDB 112 may avoid the need to calculate distance, but it may instead require that ENUMDB 112 include a record for each potential originating switch ID. In a network with only two destination URIs but dozens of potential originating switches, this second approach may require that ENUMDB 112 contain dozens of records, rather than just the two records required under the first approach.
(35) In one embodiment, network 100 may support number portability. In the embodiment illustrated in
(36) In one embodiment, network 100 may support mobile subscribers. In the embodiment illustrated in
(37) In one embodiment, network 100 may include a proximity information database (PRXDB) 118 for mapping proximity information to geographic location, such as GPS coordinates. An example proximity information database is shown in Table 3, below. Each row of Table 3 represents an entry in PRXDB 118, and each entry maps a proximity ID, shown in the left column, to GPS coordinates, shown in the right column. The proximity information may be a switch ID or switch address, or other proximity information associated with the calling party.
(38) TABLE-US-00003 TABLE 3 Proximity Information Database (PRXDB) row Proximity Information Location Information 1 PROXY_ID1 GPS(J, K, L) 2 MME_ID1 GPS(M, N, O) 3 MSC_ID1 GPS(P, Q, R) . . . . . . . . .
(39) Referring to Table 3, if PRXM 108 receives a number translation request, such as a toll-free query or an ENUM query, from a switch identified as MSC_ID1, PRXM 108 may use PRXDB 118 to determine that switch MSC_ID1 is located at GPS coordinates (P,Q,R). PRXM 108 may then include those GPS coordinates in the query message and forward the modified number translation request to the appropriate database (e.g., TFDB 110, ENUMDB 112, NPDB 114, HLR/HSS 116.) Like PRXM 108, above, PRXDM 116 may be internal or external to signaling node 106.
(40) In the embodiment illustrated in
(41)
(42) Since the call is from a mobile subscriber 104, the calling party identifier (i.e., the mobile subscriber's cell phone number, MS#) does not convey any proximity or location information. PRXM 108 therefore determines proximity information associated with the calling party. In the embodiment illustrated in
(43) PRXM 108 may then either modify the original query message or generate a new query message and send this message (
(44) In an alternative embodiment, the toll-free query (
(45)
(46)
(47) At block 300, a first signaling message, containing a called party number, is received at a signaling node that includes at least one processor. The first signaling message may include, but is not limited to, a call setup message, a toll-free query, and an ENUM query. For example, in one embodiment, S1 102 may send a call setup message, such as an ISUP initial address message (IAM), an ISUP subsequent address message (SAM), a bearer-independent call control (BICC) message, or a SIP INVITE message, that includes the called party number.
(48) In another embodiment, calling subscriber 104 may be a mobile subscriber and S1 102 may be a mobile switching center (MSC), which may issue a mobility management message, such as a mobile application part (MAP) send routing information (SRI) message, a MAP send routing information for short message (SRI_SM) message, an anytime interrogation (ATI) message, or an ANSI-41 location request (LOCREQ) message, that includes the called party number.
(49) In yet another embodiment, calling subscriber 104 may be a wireline subscriber and S1 102 may be an end office (EO), a central office (CO), a service switching point (SSP), or similar entity, which may issue a call setup message that includes the toll-free called party number. In another embodiment, S1 102 may issue a number portability (NP) query that includes the called party number.
(50) In yet another embodiment, calling subscriber 104 may be a user agent client (UAC) in a session initiation protocol (SIP) network and S1 102 may be a SIP router, SIP application server (SAS), media gateway (MOW), or similar entity, which may issue SIP INVITE message, a number translation request, such as an ENUM query, or other message that includes the called party number.
(51) At block 302, proximity information associated with the calling party is determined. For example, PRXM 108 may extract information contained within the received message, such as: the name, number, address or other identifier of the calling party; GPS or other location information for the calling party; the name, number, address, or other identifier of the switch or node from which the first signaling message was sent; GPS or other location information for the switch or node from which the first signaling message was sent; or other information that is associated with the calling party.
(52) In one embodiment, the proximity information so extracted may be used directly. For example, in
(53) TABLE-US-00004 TABLE 4 OPC-to-RN database row Origination Point Code Routing Number 1 1-2-1 9194690000 2 2-4-3 2124580000 . . . . . . . . .
(54) In another embodiment, the proximity information may come from sources other than data included in the received first signaling message. For example, if a signaling node has multiple ports, each port connecting to entities in different locations, the port number which received the message may indicate a geographic or topological proximity that may be associated with the calling party.
(55) At block 304, a location-sensitive called party number translation is performed based on the calling party proximity information. For example, PRXM 108 may: issue a toll-free query to TFDB 108; issue a number portability query to NPDB 110; issue a mobility management query to HRL 112; issue an ENUM query to ENUM database 122; or some combination of the above.
(56) At block 306, the first signaling message or a second signaling message is sent, the sent message including the translated called party number. For example, the original message (i.e., the first signaling message) may be modified and sent forward to the intended destination, or a new message (i.e., the second signaling message) may be generated and sent forward to the intended destination. Alternatively, a new signaling message (i.e., the second signaling message) may be generated and sent back to the sender of the first message, e.g., the second message may be a response to the first message query.
(57)
(58) LIM 400 includes various functions for sending and receiving signaling messages over SS7 signaling links. In the illustrated example, LIM 400 includes a message transfer part (MTP) level 1 and 2 function 408, an I/O buffer 410, a gateway screening (GWS) function 412, a discrimination function 414, a distribution function 416, and a routing function 418. MTP level 1 and 2 function 408 performs MTP level 1 and 2 functions, such as error detection, error correction, and sequencing of signaling messages. I/O buffer 410 stores inbound signaling messages before the messages are processed by higher layers. I/O buffer 410 also stores outbound signaling messages waiting to be transmitted over a signaling link by MTP level 1 and 2 function 408. Gateway screening function 412 screens inbound signaling messages based on destination point code and, optionally, based on originating point code to determine whether the messages should be allowed into the network. Discrimination function 414 analyzes the destination point code in each received signaling message to determine whether the signaling message should be processed by an internal processing module within node 106 or whether the message should be routed over an outbound signaling link. Discrimination function 414 forwards messages that are to be internally processed to distribution function 416. Discrimination function 414 forwards messages that are to be routed over an outbound signaling link to routing function 418. Distribution function 416 distributes messages that are identified as requiring internal processing to the appropriate internal processing module. For example, distribution function 416 may forward SCCP messages to database services module 404 for SCCP processing. Routing function 418 routes signaling messages that are addressed to point codes other than the point code of node 106. For example, routing function 418 may forward messages to another link interface module (not shown in
(59) DCM 402 includes various functions for sending and receiving signaling messages over IP signaling links. Example signaling messages include SS7 over IP messages, session initiation protocol (SIP) messages, and others. In
(60) DSM 404 includes various functions and databases for processing signaling messages. In the illustrated example, DSM 404 includes a service selection function 428, a target message screening function 430, and a routing function 432. Database services module 404 also includes proximity processing module (PRXM) 108 for determining proximity information associated with a calling party. Service selection function 428 receives messages from interface processors and determines the type of service required for each message. For example, service selection function 428 may determine whether further screening of messages is required or whether the messages are simply to be global title translated and routed. For CAP or INAP messages, service selection function 428 may forward the messages to target message screening function 430. Target message screening function 430 screens CAP or INAP messages received by DSM 404 to identify targeted message types. According to the subject matter described herein, target message screening function 430 may identify call setup messages, such as ISUP IAM or SAM, as a targeted message type requiring further processing. For call setup messages, targeted message screening function 430 may communicate with PRXM 108 to determine proximity information for a calling party. For example, PRXM 108 may process signaling messages associated with toll-free calls and determine the called party directory number associated with the toll-free called party that is most proximate geographically or topologically to the calling party.
(61) Signaling node 106 may include one or more processors. For example, in the embodiment illustrated in
(62) In one embodiment, PRXM 108 may receive a mobility management message related to a toll-free call. For example, PRXM 108 may receive an SRI message including a toll-free number. In response, PRXM 108 may identify the SRI message as one that requires toll-free processing and take appropriate action. For example, PRXM 108 may generate a TF query and send the generated query to TFDB 108 via LIM 400 or DCM 402 as appropriate. PRXM 108 may subsequently receive a response to the TF query, and perform additional queries to other databases as needed.
(63) In the embodiment illustrated in
(64) As used herein, the term database refers to a database, a table, a data structure, a portion of memory or data storage, or other means to store and retrieve data, in particular two pieces of data in a key/value relationship. Thus, the term database query refers to not only a database query, but also a table lookup or access to a data structure, for example. A database query, such as may be used to determine a directory number associated with a toll-free called party number or to determine routing information associated with a directory number, could be performed using one or more protocols, including but not limited to a TCAP or MAP protocol, an Internet protocol (IP), a signaling connection and control part (SCCP) user adaptation (SUA) protocol, a session initiation protocol (SIP), or other protocols usable to perform a data query.
(65)
(66) TABLE-US-00005 TABLE 5 Number Portability Database (NPDB) row DN Range Routing Number 1 9190000000~9199999999 3365550000 2 2120000000~2129999999 3365550001 . . . . . . . . .
(67) Since subscriber 104 is a fixed line subscriber who is served by central office S1 102, NPDB 114 returns the local routing number associated with S1 102, LRN1. The routing number LRN1 is the proximity information associated with the calling party, which PRXM 108 will use in a query to TFDB 110 (
(68)
(69) In the embodiment illustrated in
(70) In one embodiment, intermediate database 602 may map other identifiers, such as client IP addresses, to a temporary DN. Client IP addresses, which may be correlated with a smaller geographic region than a proxy, may be extracted from the bottom-most Via header field and/or he Contact header field of the INVITE message (
(71)
(72)
(73)
(74)
(75) In the embodiment illustrated in
(76)
(77) PRXM 108 may maintain provisioned data that maps a node identifier to geo-location coordinates or a geo-location proximity identifier that is representative of the geographic area or region served by the node. The mode identifier may be a SIP proxy, softswitch, P-CSCF, LTE MME, or MSC server identifier (e.g., network node identifier, network address, IP address, URI, routing number, etc.) or address. PRXM 108 may infer the source or originating proxy based on the signaling link or linkset, signaling association, signaling connection, signaling session, physical or logical port, etc., on which the ENUM query is received. In the embodiment illustrated in
(78) In an alternative embodiment, the location information associated with the calling party returned by server 116 may be in the form of network topological information, such as a switch identity or address. Thus, in the embodiment illustrated in
(79) PRXM 108 may then use the geographic location information associated with the calling party in an ENUM query (
(80)
(81) 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.