Server equipment and program

The server device minimizes call service disruptions by sequentially querying backup ENUM servers and providing predetermined information when timeouts occur, addressing the issue of ENUM server failures affecting SIP servers.

JP2026095080AActive Publication Date: 2026-06-10KDDI CORP

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
KDDI CORP
Filing Date
2024-11-29
Publication Date
2026-06-10

AI Technical Summary

Technical Problem

Failure of an ENUM server operated by a different network operator can cause repeated retransmission of ENUM query messages, affecting call processing by the SIP server of the first operator, leading to disruptions in call services.

Method used

A server device that manages telephone number to URI mappings includes a mechanism to sequentially transmit query messages to multiple backup ENUM servers and, if no response is received within a timeout period, provides predetermined connection information to the SIP server, thereby minimizing the impact of failures.

Benefits of technology

This approach reduces the impact of ENUM server failures on call services by preventing repeated query retransmissions and ensuring timely response to call requests.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026095080000001_ABST
    Figure 2026095080000001_ABST
Patent Text Reader

Abstract

Minimize the impact on call services even in the event of an ENUM server failure. [Solution] A server device that manages the correspondence between telephone numbers assigned to a communication device and connection information for connecting to the communication device includes a transmission means that, upon receiving a first query message containing information indicating a target telephone number not managed by the server device, sequentially transmits a second query message containing information indicating the target telephone number to one or more second server devices among one or more first server devices determined based on the target telephone number; and a notification means that, if the connection information for the communication device assigned the target telephone number is not received from the second server device that sent the second query message even after a timeout period has elapsed, notifies the device that sent the first query message of predetermined connection information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to a server device and a program for providing a call service via a packet network.

Background Art

[0002] Conventionally, call services such as telephone calls were provided by a circuit-switching network, but now they are provided via a packet network. A call service provided via a packet network conforming to the Internet Protocol (IP) is, for example, called a VoIP (Voice over Internet Protocol) service. Also, a call service provided in a mobile communication network conforming to the Long Term Evolution (LTE) standard is also called a VoLTE (Voice over LTE) service. In the following description, the "call service" means a call service provided via a packet network, unless otherwise specified or clearly different from other things in the context.

[0003] The Session Initiation Protocol (SIP) is used as a call control protocol for providing a call service. A server that performs call control processing using SIP is called a SIP server. In a mobile communication network, a SIP server is called a Call Session Control Function (CSCF). The CSCF is divided into a Serving CSCF (S-CSCF), a Proxy CSCF (P-CSCF), an Interrogating (I-CSCF), etc. according to its role.

[0004] The SIP server determines connection information for connecting to the receiving communication device (hereinafter referred to as the receiving terminal) via the packet network, based on the telephone number assigned to the receiving communication device (hereinafter referred to as the receiving terminal) received from the calling communication device (hereinafter referred to as the calling terminal). The connection information for connecting to the receiving terminal may be, for example, a Unified Resource Identifier (URI). To determine the URI of the receiving terminal, a device called an ENUM (E.164 Number Mapping) server is used, as disclosed in Patent Document 1. The ENUM server manages the correspondence between telephone numbers and URIs. The SIP server sends an ENUM query message containing information indicating the telephone number to the ENUM server. In response to receiving the ENUM query message, the ENUM server sends back an ENUM response message to the SIP server containing information indicating the URI of the communication device to which the telephone number indicated in the ENUM query message is assigned. In the following description, the connection information of a communication device to which a certain telephone number is assigned, for example, the URI, will be referred to as the connection information (URI) corresponding to that telephone number.

[0005] If the ENUM server receives an ENUM query message and the telephone number indicated by that message is managed by another ENUM server, the ENUM server sends an ENUM query message containing information about that telephone number to the other ENUM server and returns the URI obtained from that other ENUM server to the SIP server. Furthermore, if the ENUM server does not receive an ENUM response message from the other ENUM server within a specified period due to a failure or other reason, the ENUM server sends an ENUM failure message to the SIP server. [Prior art documents] [Patent Documents]

[0006] [Patent Document 1] Japanese Patent Publication No. 2020-127158 [Overview of the project] [Problems that the invention aims to solve]

[0007] Each network operator (service provider) operates its own ENUM server. The first ENUM server operated by the first operator manages, for example, the correspondence between telephone numbers initially assigned to the first operator and URIs. The first SIP server operated by the first operator also sends an ENUM query message to the first ENUM server to obtain the URI when a call is made from a communication device contracted with the first operator. If the telephone number of the receiving terminal is managed by the second ENUM server of the second operator, the first ENUM server obtains the URI from the second ENUM server. If the first ENUM server cannot obtain the URI from the second ENUM server due to a failure of the second ENUM server, the first ENUM server sends an ENUM failure message to the first SIP server. However, since the first SIP server cannot proceed with processing without obtaining the URI, the first SIP server sends the ENUM query message to the first ENUM server again.

[0008] Thus, a failure of the second ENUM server causes the retransmission of ENUM query messages from the first SIP server to the first ENUM server. Since the first SIP server also processes new calls that arise over time, a failure of the second ENUM server causes a large number of ENUM query messages to be sent from the first SIP server to the first ENUM server, affecting call processing handled by the first SIP server and the first ENUM server, which does not require the involvement of the second ENUM server. In other words, a failure of the second ENUM server of a second operator can affect the entire call service provided by the first operator.

[0009] This disclosure provides a technology that minimizes the impact on call services even in the event of a failure in a server device that manages the correspondence between telephone numbers and connection information of communication devices. [Means for solving the problem]

[0010] According to one aspect of the present disclosure, a server device that manages the correspondence between telephone numbers assigned to a communication device and connection information for connecting to the communication device includes, when it receives a first query message that includes information indicating a target telephone number not managed by the server device, a transmission means that sequentially transmits a second query message that includes information indicating the target telephone number to one or more second server devices among one or more first server devices determined based on the target telephone number, and a notification means that, if it does not receive connection information for the communication device assigned the target telephone number from the second server device that sent the second query message even after a timeout period has elapsed, notifies the device that sent the first query message of predetermined connection information. [Effects of the Invention]

[0011] According to this disclosure, even in the event of a failure in the server device that manages the correspondence between telephone numbers of communication devices and connection information, the impact on call services can be minimized. [Brief explanation of the drawing]

[0012] [Figure 1] A diagram illustrating the communication system configuration used to describe the embodiment. [Figure 2] A flowchart of the processes performed by the ENUM server. [Figure 3] A sequence diagram of the process for obtaining the URI of the receiving terminal. [Figure 4] A diagram illustrating the communication system configuration used to describe the embodiment. [Figure 5] A diagram showing an example of a server device configuration. [Modes for carrying out the invention]

[0013] The embodiments will be described in detail below with reference to the attached drawings. Note that the following embodiments do not limit the invention as defined in the claims, and not all combinations of features described in the embodiments are essential to the invention. Two or more features from the multiple features described in the embodiments may be combined arbitrarily. Furthermore, identical or similar configurations will be given the same reference numeral, and redundant descriptions will be omitted.

[0014] <First Embodiment> Figure 1 is a diagram illustrating the configuration of the communication system used to describe this embodiment. Below, the embodiment will be described using call control by a calling terminal contracted with the first operator as an example. The first operator operates a SIP server 12, an ENUM server 10, and a database (DB) 11. The SIP server 12 performs call control processing in response to a call made by the calling terminal.

[0015] ENUM server 10 is configured to communicate with N ENUM servers 20 operated by the second operator. N is an integer greater than or equal to 1. In the following description, to distinguish between ENUM server 10 operated by the first operator and ENUM server 20 operated by the second operator, ENUM server 10 operated by the first operator will be referred to as "T-ENUM server 10," and ENUM server 20 operated by the second operator will be referred to as "R-ENUM server 20." Furthermore, to distinguish between each of the N R-ENUM servers 20 operated by the second operator, they will be referred to as "R-ENUM server #n" (where n is an integer from 1 to N), as shown in Figure 1.

[0016] T-ENUM server 10 manages the correspondence between telephone numbers and URIs that the first operator should manage. The URI of a communication device is connection information for connecting to that communication device via a packet network. R-ENUM server 20 manages the correspondence between telephone numbers and URIs that the second operator should manage. When N is 2 or greater, the information stored in R-ENUM servers #1 to #N is the same. In other words, multiple R-ENUM servers 20 are provided for fault tolerance, load balancing, etc.

[0017] Although the first operator can operate multiple T-ENUM servers 10, only one T-ENUM server 10 is shown in Figure 1 because only one T-ENUM server 10 processes a given call. When the first operator operates multiple T-ENUM servers 10, each of the multiple T-ENUM servers 10 is configured to communicate with N R-ENUM servers 20. The T-ENUM server 10 can also be configured to communicate with one or more ENUM servers operated by operators other than the first and second operators, but this is omitted as it is not necessary for describing the embodiment.

[0018] DB11 is a database that stores information indicating other ENUM servers that T-ENUM server 10 excludes from sending ENUM query messages.

[0019] Next, the operation during an outgoing call by the originating terminal that has a contract with the first operator will be described. The SIP server 12 receives an outgoing call message including information indicating the telephone number of the terminating terminal from the originating terminal. The outgoing call message may be a SIP INVITE message. The SIP server 12 that has received the outgoing call message transmits an ENUM query message including information indicating the telephone number of the terminating terminal (hereinafter referred to as the target telephone number) to the T-ENUM server 10 in order to obtain the URI of the terminating terminal. The T-ENUM server 10 determines the operator or ENUM server that manages the target telephone number based on the target telephone number. When the operator that manages the target telephone number is the first operator, that is, when the T-ENUM server 10 manages the target telephone number, the T-ENUM server 10 transmits an ENUM response message including information indicating the URI corresponding to the target telephone number to the SIP server 12. The SIP server 12 performs processing for notifying the terminating terminal of an incoming call based on the obtained URI of the terminating terminal.

[0020] On the other hand, when the operator that manages the target telephone number is the second operator, the T-ENUM server 10 performs the processing shown in the flowchart of FIG. 2 in order to obtain the URI corresponding to the target telephone number. In S10, the T-ENUM server 10 refers to the DB11 and determines the R-ENUM server 20 that is not registered in the DB11 among the R-ENUM servers #1 to #N as a "possible R-ENUM server". In S11, the T-ENUM server 10 determines whether the number of possible R-ENUM servers is 0.

[0021] In S11, when the number of possible R-ENUM servers is 1 or more, the T-ENUM server 10 selects one R-ENUM server 20 from one or more possible R-ENUM servers in an arbitrary method in S12. In the following description, the R-ENUM server 20 selected in S12 is referred to as the "target R-ENUM server". The T-ENUM server 10 transmits an ENUM query message including information indicating the target telephone number to the target R-ENUM server in S12.

[0022] In S13, the T-ENUM server 10 determines whether it has received a reply message to the ENUM query message within a predetermined waiting period since sending the ENUM query message in S12. If it has received a reply message within the predetermined waiting period, the T-ENUM server 10 determines in S14 whether the reply message is an ENUM response message containing information indicating the URI of the receiving terminal, or an ENUM failure message that does not contain information indicating the URI of the receiving terminal. If the reply message is an ENUM response message, the T-ENUM server 10 sends the ENUM response message to the SIP server 12 in S15, thereby notifying the SIP server 12 of the URI of the receiving terminal notified by the R-ENUM server 20.

[0023] On the other hand, if information indicating the URI of the receiving terminal cannot be obtained within the predetermined waiting period in S13 and S14, the T-ENUM server 10 records the target R-ENUM server in S16 and removes the recorded target R-ENUM server from the list of possible R-ENUM servers. Next, in S17, the T-ENUM server 10 determines whether the elapsed time since receiving the ENUM query message from the SIP server 12 exceeds a pre-set timeout period. The timeout period is a period longer than or equal to the waiting period used to determine whether a reply message has been received in S13. For example, the timeout period is 2 seconds and the waiting period is 0.4 seconds. If the timeout period has not been exceeded, the T-ENUM server 10 repeats the process from S11. On the other hand, if the timeout period has been exceeded, the T-ENUM server 10 registers the R-ENUM server 20 recorded in S16 in DB11 in S18. Then, in S19, the T-ENUM server 10 sends an ENUM response message containing information indicating the predetermined URI to the SIP server 12.

[0024] The predetermined URI is the URI of a proxy response server (not shown) operated by the first operator. SIP server 12 routes the incoming call to the proxy response server based on the predetermined URI, but the proxy response server is configured to cause a call loss, for example, by rejecting the incoming call. Therefore, SIP server 12 sends a response message to the originating terminal that includes a request error message, for example, the SIP error code "403". Upon receiving the response message, the originating terminal terminates the call, for example, by making the user hear a busy tone. Note that if the number of possible R-ENUM servers in S11 is 0, T-ENUM server 10 proceeds to S18.

[0025] Figure 3 shows an example sequence when a calling terminal makes a call when R-ENUM servers #5 to #N are registered in DB11. The target telephone number is assumed to be a telephone number managed by the second operator. In S100, SIP server 12 sends an ENUM query message containing information indicating the target telephone number to T-ENUM server 10. Since R-ENUM servers #5 to #N are registered in DB11, the possible R-ENUM servers are R-ENUM servers #1 to #4.

[0026] In S101, T-ENUM server 10 selects R-ENUM server #1 as the target R-ENUM server from the possible R-ENUM servers R-ENUM servers #1 to R-ENUM server #4, and sends an ENUM query message containing information indicating the target telephone number to R-ENUM server #1. In the example in Figure 3, due to a failure of R-ENUM server #1, or a network failure between T-ENUM server 10 and R-ENUM server #1, T-ENUM server 10 does not receive a reply message within the waiting period. Therefore, T-ENUM server 10 records R-ENUM server #1 (S16 in Figure 2) and removes R-ENUM server #1 from the list of possible R-ENUM servers. As a result, the possible R-ENUM servers become R-ENUM servers #2 to R-ENUM server #4.

[0027] Since the timeout period has not elapsed, in S102, T-ENUM server 10 selects R-ENUM server #2 as the target R-ENUM server from the possible R-ENUM servers R-ENUM servers #2 to R-ENUM server #4, and sends an ENUM query message containing information indicating the target telephone number to R-ENUM server #2. In the example in Figure 3, due to a failure of R-ENUM server #2, or a network failure between T-ENUM server 10 and R-ENUM server #2, T-ENUM server 10 does not receive a reply message within the waiting period. Therefore, T-ENUM server 10 records R-ENUM server #2 (S16 in Figure 2) and removes R-ENUM server #2 from the list of possible R-ENUM servers. As a result, the possible R-ENUM servers become R-ENUM servers #3 to R-ENUM server #4.

[0028] Since the timeout period has not elapsed, in S103, T-ENUM server 10 selects R-ENUM server #3 as the target R-ENUM server from the available R-ENUM servers R-ENUM servers #3 to R-ENUM server #4, and sends an ENUM query message containing information indicating the target telephone number to R-ENUM server #3. In the example in Figure 3, due to a failure of R-ENUM server #3 or a network failure between T-ENUM server 10 and R-ENUM server #3, T-ENUM server 10 does not receive a reply message within the waiting period. Therefore, T-ENUM server 10 records R-ENUM server #3 (S16 in Figure 2) and removes R-ENUM server #3 from the list of available R-ENUM servers.

[0029] In S104, the timeout period has elapsed, so in S105, the T-ENUM server 10 registers the recorded R-ENUM servers #1 to #3 in DB 11, and in S106, sends an ENUM response message containing information indicating a predetermined URI to the SIP server 12. The SIP server 12 routes the incoming call to the proxy response server based on the predetermined URI, but the proxy response server causes the incoming call to be lost. Therefore, the SIP server 12 notifies the originating terminal of a request error message and terminates the call by making the user of the originating terminal hear a busy tone, etc.

[0030] Subsequently, when the user makes another call to the same phone number, in S107, SIP server 12 sends an ENUM query message containing information indicating the target phone number to T-ENUM server 10. In S105, R-ENUM servers #1 to #3 are newly registered in DB 11, so the only available R-ENUM server is R-ENUM server #4.

[0031] In S108, T-ENUM server 10 selects R-ENUM server #4 as the target R-ENUM server and sends an ENUM query message containing information indicating the target telephone number to R-ENUM server #4. In the example in Figure 3, due to a failure of R-ENUM server #4 or a network failure between T-ENUM server 10 and R-ENUM server #4, T-ENUM server 10 does not receive a reply message within the waiting period. Therefore, T-ENUM server 10 records R-ENUM server #4 (S16 in Figure 2) and removes R-ENUM server #4 from the list of possible R-ENUM servers. As a result, the number of possible R-ENUM servers becomes 0, and although the timeout period has not elapsed, T-ENUM server 10 registers R-ENUM server #4 in DB 11 in S109 and notifies SIP server 12 of an ENUM response message containing information indicating a predetermined URI in S110.

[0032] Although not shown in the diagram, even if the user subsequently makes another call to the same phone number and SIP server 12 sends an ENUM query message containing information indicating the target phone number to T-ENUM server 10, since the number of possible R-ENUM servers is 0, T-ENUM server 10 does not send an ENUM query message to R-ENUM server 20, but instead sends an ENUM response message containing information indicating a predetermined URI to SIP server 12.

[0033] Note that the sequence in Figure 3 represents the case where the T-ENUM server 10 does not receive a reply message from the R-ENUM server 20 within the waiting period. The difference from the case where the T-ENUM server 10 receives an ENUM failure message from the R-ENUM server 20 within the waiting period is that the ENUM query message is sent to the next target R-ENUM server without waiting for the waiting period.

[0034] Furthermore, in steps S13 and S14 of the flowchart in Figure 2, if an ENUM response message is received from an R-ENUM server 20 that sent an ENUM query message in an earlier S12, rather than the R-ENUM server 20 that sent the ENUM query message in the preceding S12, T-ENUM server 10 sends the URI corresponding to the target telephone number to SIP server 12 in S15. For example, in the sequence in Figure 3, after sending an ENUM query message to R-ENUM server #3, if an ENUM response message is received from R-ENUM server #1 or R-ENUM server #2, T-ENUM server 10 notifies SIP server 12 of the URI indicated in the ENUM response message. As is clear from the flowchart in Figure 2, in this case, R-ENUM servers #1 to #3 are not registered in DB 11.

[0035] Therefore, supplementing the flowchart in Figure 2, the conditions for determining "No" in S13 and S14 and executing the process in S16 are: when, after sending the ENUM query message to the target R-ENUM server in S12, no ENUM response message is received from any of the R-ENUM servers 20 to which the ENUM query message has already been sent, within the waiting period; and when an ENUM failure message is received from the current target R-ENUM server within that waiting period.

[0036] Furthermore, in S17 of the flowchart in Figure 2, the start timing of the timeout period was set to the timing when the ENUM query message was received from SIP server 12. More specifically, T-ENUM server 10 determined whether the elapsed time since receiving the ENUM query message from SIP server 12 exceeded the timeout period. However, the start timing of the tie-out period can also be set to the timing when the ENUM query message was sent in S12, the first iteration of S11-S14 and S16-S17. Moreover, the start timing of the tie-out period can also be set to any timing between the timing when the ENUM query message was received from SIP server 12 and the timing when the first ENUM query message was sent.

[0037] Furthermore, in the flowchart in Figure 2, the T-ENUM server 10 also records the R-ENUM server 20 that sent the ENUM failure message in S16, and if the URI cannot be obtained within the tie-out period, the R-ENUM server 20 that sent the ENUM failure message is also registered in DB11 in S18. However, it is also possible to configure the system so that the R-ENUM server 20 that sent the ENUM failure message is judged to be normal and is not registered in DB11 even if the URI cannot be obtained within the tie-out period.

[0038] Furthermore, T-ENUM server 10 can, according to a predetermined schedule, send an ENUM query message containing information indicating the telephone number managed by R-ENUM server 20 to R-ENUM server 20 registered in DB 11, and determine whether or not to receive an ENUM response message within a predetermined period. If an ENUM response message is received within the predetermined period, T-ENUM server 10 determines that R-ENUM server 20 is normal and deletes the information indicating R-ENUM server 20 from DB 11. Alternatively, T-ENUM server 10 can, according to a predetermined schedule, send a dummy ENUM query message to R-ENUM server 20 for monitoring its health status. If T-ENUM server 10 receives a response from R-ENUM server 20 to the dummy ENUM query message within a predetermined period, T-ENUM server 10 determines that R-ENUM server 20 is normal and deletes the information indicating R-ENUM server 20 from DB 11. The predetermined period can be, for example, the same as the waiting period in S13 of Figure 2. Alternatively, the predetermined period can be a longer period than the waiting period in S13 of Figure 2, for example, the same as the timeout period.

[0039] Furthermore, in this embodiment, DB11 stores information indicating R-ENUM servers 20 that are excluded from receiving ENUM query messages, i.e., R-ENUM servers 20 that have been determined to be in a state of failure. However, it is also possible to configure DB11 to store information indicating R-ENUM servers 20 that are eligible to receive ENUM query messages. Moreover, it is also possible to configure DB11 to store flag information indicating whether or not each of the R-ENUM servers 20 that can communicate with the T-ENUM server 10 is eligible to receive ENUM query messages. In summary, DB11 stores determination information for determining which R-ENUM servers 20 are not eligible to receive ENUM query messages, and the T-ENUM server 10 determines the available R-ENUM servers based on the determination information.

[0040] Furthermore, if the first operator is operating multiple T-ENUM servers 10, the judgment information stored in DB 11 is configured to be referenced by each of the multiple T-ENUM servers 10. However, it is also possible to have a dedicated DB 11 for each of the multiple T-ENUM servers 10. In the case where a dedicated DB 11 is provided for each of the multiple T-ENUM servers 10, DB 11 can be one component of each T-ENUM server 10.

[0041] In the flowchart in Figure 2 and the sequence in Figure 3, an ENUM query message was sent to the R-ENUM server 20, but if the number of available R-ENUM servers became 0 because an ENUM response message was not received from the R-ENUM server 20 within the waiting period, the T-ENUM server 10 sent an ENUM response message containing information indicating a predetermined URI to the SIP server 12 even if the timeout period had not elapsed. However, it is also possible to configure the system so that if an ENUM query message is sent to at least one R-ENUM server 20, the system waits for the tie-out period to elapse even if the number of available R-ENUM servers becomes 0, and if an ENUM response message is not received from any of the R-ENUM servers 20 that sent the ENUM query message after the timeout period has elapsed, the T-ENUM server 10 sends an ENUM response message containing information indicating a predetermined URI to the SIP server 12.

[0042] If an ENUM query message is sent to at least one R-ENUM server 20, and the system is configured to always wait for an ENUM response message until a timeout period has elapsed, the waiting period can be effectively reduced to zero. In other words, the T-ENUM server 10 can be configured to continuously send ENUM query messages to all possible R-ENUM servers 20. In this case, if the T-ENUM server 10 does not receive an ENUM response message within the tie-out period, it registers all possible R-ENUM servers 20 in the DB 11 and notifies the SIP server 12 of a predetermined URI. Furthermore, although one target R-ENUM server was selected in S12 of Figure 2, it is also possible to select two or more target R-ENUM servers and send an ENUM query message to each of the two or more selected target R-ENUM servers.

[0043] Furthermore, in this embodiment, the connection information of the communication device is used as the URI of the communication device, but the connection information of the communication device may be any format of information for connecting to (accessing) the communication device via a packet network.

[0044] In summary, if the T-ENUM server 10 cannot obtain the connection information of the receiving terminal, that is, the connection information corresponding to the target telephone number, even after the timeout period has elapsed, it does not send an ENUM failure message back to the SIP server 12, but instead sends predetermined connection information back to the SIP server 12. Therefore, repeated retransmission of ENUM query messages from the SIP server 12 to the T-ENUM server 10 is suppressed, and the impact on the entire call service due to failures of other operators' ENUM servers can be minimized.

[0045] <Second Embodiment> Next, a second embodiment will be described. Telephone numbers are classified into multiple "number bands," such as so-called "0A0" numbers assigned to wireless communication devices (hereinafter referred to as mobile terminals) that communicate via a mobile communication network, and so-called "0ABJ" numbers assigned to landline telephones, etc. Processing these multiple number bands with a single ENUM server would place a heavy processing load on the ENUM server, so a configuration in which multiple types of ENUM servers corresponding to the number bands are operated may be adopted.

[0046] Figure 4 shows an example configuration in which the T-ENUM server 10 of the first embodiment, operated by the first operator, is used to manage telephone numbers belonging to the "0A0" number range, and K separate T-ENUM servers 110 are provided to manage telephone numbers belonging to other number ranges. K is an integer of 1 or more. In the following description, when distinguishing each of the K T-ENUM servers 110, they will be denoted as "T-ENUM server #k" (where k is an integer from 1 to K), as shown in Figure 4. T-ENUM server 10 manages the "0A0" number range, that is, the correspondence between mobile terminal telephone numbers and URIs, while T-ENUM server 110 manages the correspondence between other number ranges, for example, landline telephone numbers and URIs. Note that if K is 2 or more, the K T-ENUM servers 110 are provided for purposes such as redundancy, and the number ranges managed by the K T-ENUM servers 110 are the same.

[0047] T-ENUM server 10 is configured to communicate with each of the K T-ENUM servers 110. As explained in the first embodiment, the number of T-ENUM servers 10 operated by the first operator may also be two or more. When the first operator operates multiple T-ENUM servers 10, each of the multiple T-ENUM servers 10 is configured to communicate with each of the K T-ENUM servers 110.

[0048] In this embodiment, the second operator is the operator of the mobile communication network, and the R-ENUM server 20 manages the correspondence between the telephone numbers and URIs of the mobile terminals that the second operator is responsible for managing.

[0049] Each of the K T-ENUM servers 110 is configured to communicate with each of the M S-ENUM servers 30 operated by a third operator, which is the operator of the fixed communication network. M is an integer greater than or equal to 1. If M is 2 or greater, the M S-ENUM servers 30 are provided for purposes such as redundancy, and the number range managed by the M S-ENUM servers 30 is the same. Each of the M S-ENUM servers 30 manages the correspondence between telephone numbers and URIs of fixed terminals that the third operator should manage. In the following explanation, when distinguishing each of the M S-ENUM servers 30, they will be written as "S-ENUM server#m" (where m is an integer from 1 to M), as shown in Figure 4.

[0050] Furthermore, the second and third operators may be the same operator operating both the mobile and fixed communication networks. Also, if the second and third operators are the same operator and this operator does not differentiate the types of ENUM servers according to the number range, then R-ENUM server 20 and S-ENUM server 30 may be the same.

[0051] In this embodiment, SIP server 12 performs call control for mobile terminals contracted with the first operator. When SIP server 12 receives a call message containing information indicating the telephone number of the receiving terminal (target telephone number) from the originating mobile terminal (hereinafter referred to as the originating mobile terminal), it sends an ENUM query message containing information indicating the target telephone number to T-ENUM server 10 and obtains a URI from T-ENUM server 10. The first operator may have another SIP server that performs call control for fixed terminals contracted with the first operator. When the other SIP server receives a call message containing information indicating the telephone number of the receiving terminal from the originating fixed terminal, it sends an ENUM query message containing information indicating the target telephone number to one of the T-ENUM servers 110 and obtains a URI from the T-ENUM server 110 that sent the ENUM query message.

[0052] T-ENUM server 110 operates similarly to T-ENUM server 10, although the SIP server from which it sends ENUM query messages is different. Therefore, the first operator can operate a database other than DB 11. DB 11 stores determination information for determining which ENUM servers T-ENUM server 10 does not send ENUM query messages to. The other database stores determination information for determining which ENUM servers T-ENUM server 110 does not send ENUM query messages to.

[0053] As described above, in the case of a call made by a mobile terminal contracted with the first operator, SIP server 12 sends an ENUM query message containing information indicating the target telephone number to T-ENUM server 10. The processing performed by T-ENUM server 10 when the target telephone number is a mobile terminal number range and the target telephone number is managed by R-ENUM server 20 is the same as in the first embodiment. That is, when T-ENUM server 10 obtains a URI from R-ENUM server 20, it notifies SIP server 12 of the URI, and if it is not able to obtain a URI even after the timeout period has elapsed, it notifies SIP server 12 of a predetermined URI. In addition, if T-ENUM server 10 is not able to obtain a URI even after the timeout period has elapsed, it registers R-ENUM server 20 that should not be sent ENUM query messages to in DB 11.

[0054] On the other hand, when a call is made from a mobile terminal, if the target telephone number is in the same number range as a fixed-line terminal, T-ENUM server 10 sends an ENUM query message containing information indicating the target telephone number to one of the T-ENUM servers 110, for example, T-ENUM server #1. If T-ENUM server #1 manages the target telephone number, T-ENUM server #1 sends an ENUM response message containing information indicating the URI to T-ENUM server 10. If T-ENUM server #1 does not manage the target telephone number, T-ENUM server #1 determines which operator manages the target telephone number and attempts to obtain the URI by sending an ENUM query message containing information indicating the target telephone number to the ENUM server operated by that operator.

[0055] For example, if the operator managing the target telephone number is a third-party operator, the processing performed by T-ENUM server #1 is basically the same as the flowchart in Figure 2. However, the "R-ENUM server" in the flowchart in Figure 2 becomes the "S-ENUM server". Also, the DB in S18 is a different DB from DB11. Furthermore, the destination of the URI in S15 and the destination of the specified URI in S19 become T-ENUM server 10. Therefore, if T-ENUM server #1 cannot obtain the URI of the target telephone number from S-ENUM server 30 within the timeout period, it sends the specified URI to T-ENUM server 10. In this case, T-ENUM server 10 notifies SIP server 12 of the specified URI.

[0056] Here, if the timeout period when T-ENUM server 10 sends an ENUM query message to R-ENUM server 20 is the same as the timeout period when T-ENUM server 10 sends an ENUM query message to T-ENUM server 110, a false positive may occur where a failure in S-ENUM server 30 is mistakenly identified as a failure in T-ENUM server 110. Specifically, if T-ENUM server 110 cannot obtain the URI of the target telephone number from S-ENUM server 30, T-ENUM server 110 sends an ENUM response message indicating the predetermined URI to T-ENUM server 10 after the tie-out period, but at that time, the timeout period has also elapsed for T-ENUM server 10. Therefore, T-ENUM server 10 registers T-ENUM server 110, the recipient of the ENUM query message, in DB 11 as if it had not received a reply message from T-ENUM server 110.

[0057] Therefore, T-ENUM server 10 sets a longer timeout period for sending ENUM query messages to T-ENUM server 110, which is operated by the same operator, than for sending ENUM query messages to R-ENUM server 20, which is operated by a different operator. For example, if the timeout period for sending ENUM query messages to R-ENUM server 20 is 2 seconds, T-ENUM server 10 may set the timeout period for sending ENUM query messages to T-ENUM server 110 to double that, or 4 seconds.

[0058] Furthermore, the processing performed by T-ENUM server 110 when it receives an ENUM query message containing information indicating the target telephone number from a SIP server (not shown) is the same as the processing performed by T-ENUM server 10. In other words, if the target telephone number is not in the "0A0" number range and is managed by another operator, T-ENUM server 110 attempts to obtain the URI from the ENUM server operated by that other operator. Also, if the target telephone number is in the "0A0" number range, T-ENUM server 110 attempts to obtain the URI from T-ENUM server 10. Therefore, similar to T-ENUM server 10, T-ENUM server 110 sets a longer timeout period when sending an ENUM query message to T-ENUM server 10, which is operated by the same operator, than when sending an ENUM query message to S-ENUM server 30, which is operated by another operator.

[0059] In other words, T-ENUM server 10, which manages telephone numbers in the "0A0" range, sets a longer timeout period when sending an ENUM query message to T-ENUM server 110, which manages telephone numbers in a different number range than the "0A0" range, than when sending an ENUM query message to R-ENUM server 20, which manages telephone numbers in the "0A0" range. Similarly, T-ENUM server 110, which manages telephone numbers in a different number range than the "0A0" range, sets a longer timeout period when sending an ENUM query message to T-ENUM server 10, which manages telephone numbers in the "0A0" range, than when sending an ENUM query message to S-ENUM server 30, which manages telephone numbers in a different number range than the "0A0" range.

[0060] With the above configuration, it is possible to provide a plurality of types of ENUM servers corresponding to number bands, for example, a first type of T-ENUM server 10 that manages telephone numbers in the "0A0" band, and a second type of T-ENUM server 110 that manages telephone numbers in a number band different from the "0A0" band. In this embodiment, it is assumed that the first type of ENUM server manages telephone numbers in the "0A0" band and the second type of ENUM server manages telephone numbers in a number band different from the "0A0" band. However, how the number bands to be managed by the operator are divided and the number of divisions can be arbitrarily set.

[0061] <Configuration example of ENUM server> FIG. 5 is a diagram showing a configuration example of a server device that is the T-ENUM server 10 or the T-ENUM server 110 described in each of the above embodiments. The server device has, for example, one or more processors and one or more memory devices. The one or more memory devices may include a volatile memory device and a non-volatile memory device. By executing a computer program stored in the one or more memory devices by the one or more processors, each functional block shown in FIG. 5 can be realized.

[0062] The server device in FIG. 5 is a single device, but the server device can be implemented by a plurality of devices that can communicate with each other. Also, FIG. 5 shows only the functional blocks necessary for understanding the present disclosure, and the server device may have functional blocks other than those shown in FIG. 5. For example, the server device is a device that manages the correspondence between a telephone number assigned to a communication device and connection information of the communication device, such as a URI, and has a storage unit that stores information indicating the correspondence, but this is omitted in FIG. 5. In the following, the server device will be described assuming that it is the T-ENUM server 10, but the server device can also be the T-ENUM server 110.

[0063] The transmitting unit 1 performs message transmission processing in communication between a SIP server, such as SIP server 12, and other ENUM servers, such as R-ENUM server 20 or T-ENUM server 110. The receiving unit 2 performs message reception processing in communication with SIP servers and other ENUM servers.

[0064] When the receiving unit 2 receives a first query message containing information indicating a target telephone number not managed by the server device, the transmitting unit 1 sequentially sends a second query message containing information indicating the target telephone number to one or more second server devices among the one or more first server devices determined based on the target telephone number. The one or more first server devices are, for example, N R-ENUM servers 20 or K T-ENUM servers 110. The one or more second server devices are ENUM servers to which the ENUM query message is to be sent, determined by referring to DB 11, for example, the possible R-ENUM servers in the first embodiment. The access unit 4 accesses the determination information stored in DB 11.

[0065] If the notification unit 3 does not receive connection information corresponding to the target telephone number from the second server device that sent the second query message even after the timeout period has elapsed, it notifies the device that sent the first query message of predetermined connection information. The predetermined connection information may be the connection information of a predetermined response server configured to cause call loss by rejecting incoming calls, etc. The connection information may also be a Unified Resource Identifier (URI).

[0066] If the access unit 4 does not receive connection information for the communication device to which the target telephone number has been assigned from the second server device that sent the second query message even after the timeout period has elapsed, it may update the determination information so that the second server device that sent the second query message is not to be the target of the second query message.

[0067] Furthermore, the transmission unit 1 may send a third query message to a first server device that has been determined by the determination information not to be a target for sending the second query message, in order to confirm the survival of the first server device. When the access unit 4 receives a response to the third query message from the first server device that sent the third query message, it may update the determination information so that the first server device becomes a target for sending the second query message.

[0068] Furthermore, the transmitting unit 1 may vary the timeout period depending on whether one or more first server devices are operated by the same operator as the server devices. Furthermore, the transmitting unit 1 may vary the timeout period depending on the number range to which the target telephone number belongs.

[0069] Furthermore, the present disclosure provides a program executable on one or more processors. The program includes instructions that, when executed on one or more processors of a device having one or more processors, cause the device to function as the server device described in Figure 5. Furthermore, the present disclosure provides a non-temporary computer-readable storage medium storing the program. Furthermore, the present disclosure provides methods that the server device executes for the processing exemplified in each of the above embodiments. Furthermore, the present disclosure provides a program for causing a device having one or more processors to execute these methods, and a non-temporary computer-readable storage medium storing the program.

[0070] The invention is not limited to the embodiments described above, and various modifications and changes are possible within the scope of the gist of the invention.

[0071] With the above configuration, the impact on call services can be minimized even in the event of a failure in the server device that manages the correspondence between telephone numbers and connection information of communication devices. Therefore, it becomes possible to contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), "Build resilient infrastructure, promote sustainable industrialization and foster innovation." [Explanation of symbols]

[0072] 1: Transmitter, 2: Receiver, 3: Notification unit, 4: Access unit

Claims

1. A server device that manages the correspondence between telephone numbers assigned to communication devices and connection information for connecting to said communication devices, When the server device receives a first query message containing information indicating a target telephone number not managed by the server device, the transmission means sequentially transmits a second query message containing information indicating the target telephone number to one or more second server devices among the one or more first server devices determined based on the target telephone number. If, even after the timeout period has elapsed, the connection information of the communication device to which the target telephone number has been assigned is not received from the second server device that sent the second query message, a notification means is provided to notify the device that sent the first query message of predetermined connection information. A server device equipped with the following features.

2. The one or more second server devices mentioned above are multiple second server devices, The server device according to claim 1, wherein the transmitting means transmits the second query message to one of the plurality of second server devices, and if it does not receive a reply message to the second query message within a waiting period shorter than the timeout period after transmitting the second query message to one of the second server devices, or if it receives a reply message that does not include the connection information within the waiting period, it transmits the second query message to a second server device different from the one of the plurality of second server devices.

3. The server device according to claim 2, wherein the notification means transmits the second query message to all of the one or more second server devices, and if the connection information of the communication device to which the target telephone number has been assigned is not received from one or more second server devices even after the waiting period has elapsed since the last transmission of the second query message, the notification means notifies the device that transmitted the first query message of the predetermined connection information, even if the timeout period has not elapsed.

4. The system further includes access means for accessing determination information for determining which of the one or more first server devices is not to be used as a target for sending the second query message, The server device according to claim 1, wherein the transmission means determines one or more second server devices among the one or more first server devices based on the determination information.

5. The server device according to claim 4, wherein the access means updates the determination information so as not to include the second server device that sent the second query message as the target of the second query message if it does not receive connection information for the communication device to which the target telephone number has been assigned from the second server device that sent the second query message even after the timeout period has elapsed.

6. The server device according to claim 4, wherein if the number of one or more second server devices determined based on the determination information when the first query message is received is zero, the notification means notifies the device that sent the first query message of the predetermined connection information.

7. The transmission means transmits a third query message to a first server device that is determined not to be a target for the transmission of the second query message based on the determination information, in order to confirm the survival of the first server device. The server device according to claim 4, wherein when the access means receives a response to the third query message from the first server device that sent the third query message, the access means updates the determination information so that the first server device that sent the third query message is the target of the second query message transmission.

8. The server device according to any one of claims 1 to 7, wherein the transmission means causes the timeout period to differ depending on whether the one or more first server devices are operated by the same operator as the server device.

9. The server device according to claim 8, wherein the transmission means extends the timeout period when one or more first server devices are operated by the same operator as the server device, compared to when one or more first server devices are not operated by the same operator as the server device.

10. The server device according to any one of claims 1 to 7, wherein the transmission means varies the timeout period according to the number range to which the target telephone number belongs.

11. The server device manages telephone numbers in a range assigned to communication devices that communicate via a mobile communication network. The server device according to claim 10, wherein the transmission means makes the timeout period when the target telephone number does not belong to a number range assigned to a communication device that communicates via a mobile communication network longer than the timeout period when the target telephone number belongs to a number range assigned to a communication device that communicates via a mobile communication network.

12. The server device manages telephone numbers in a different number range than those assigned to communication devices that communicate via a mobile communication network. The server device according to claim 10, wherein the transmission means makes the timeout period when the target telephone number belongs to a number range assigned to a communication device that communicates via a mobile communication network longer than the timeout period when the target telephone number does not belong to a number range assigned to a communication device that communicates via a mobile communication network.

13. The server device according to any one of claims 1 to 7, wherein the timing of the start of the timeout period is the time between receiving the first query message and sending the first second query message to one of the one or more second server devices.

14. The server device according to any one of claims 1 to 7, wherein the predetermined connection information is information for connecting to a predetermined response server configured to cause incoming calls to be lost.

15. A program that, when executed on one or more processors of a device having one or more processors, causes the device to function as a server device according to any one of claims 1 to 6.