# Patent

## Title
Method, local gateway, and system for local voice survivability

## Abstract

Embodiments of the present invention relate to the communications field and disclose a method, a local gateway, and a system for local voice survivability, to implement local voice survivability without configuring a DNS proxy function on a local gateway or configuring a server on a user terminal. A specific solution is: detecting, according to a preset detection period, an activity state of a server recorded in a server monitoring list, where the server monitoring list records a voice server on an Internet protocol IP multimedia subsystem IMS network in advance; intercepting, when it is detected that all servers in the server monitoring list are in an unavailable state, a service data stream sent by a user terminal to the server; and providing a corresponding service response for the user terminal according to content of the intercepted service data stream. The present invention applies to a process of voice survivability.

## Background
CROSS-REFERENCE TO RELATED APPLICATION
This application claims priority to Chinese Patent Application No. 201210468126.2, filed on Nov. 19, 2012, which is hereby incorporated by reference in its entirety.
TECHNICAL FIELD
The present invention relates to the communications field, and in particular to a method, a local gateway, and a system for local voice survivability.
BACKGROUND
An Internet protocol (Internet protocol, IP for short) multimedia subsystem (IP multimedia subsystem, IMS for short) is a network architecture for implementing extensive network convergence. With development of communications technologies, the IMS can not only implement an initial internet telephony (voice over Internet protocol, VOIP for short) service, but also manage network resources, user resources, and application resources more efficiently, so that a user can move across various networks and use various terminals. Therefore, the IMS is applied more and more widely.
Establishment of the IMS is generally based on a public network. Such networks typically cannot provide carrier-class reliability services, and therefore network faults or device faults frequently occur, causing a failure of an IP phone to contact a central call manager and leading to a working failure of the IP phone and communications interruption of a user. To provide ability to continue local voice communications when a network is faulty, a first existing technology provides a solution: If a domain name system (domain name system, DNS for short) server exists on an IMS network and a DNS proxy (DNS proxy) is deployed on a local gateway, a domain may be configured on an IP phone, and through the DNS server, the IP phone acquires a Session Initiation Protocol (session initiation protocol, SIP for short) server of the domain and a priority of a service of the SIP server in the domain. When the DNS server returns the SIP service to the IP phone, the local gateway inserts, through the deployed DNS proxy, the SIP service of the local gateway into the service priority returned by the DNS server, and advertises them together to the IP phone. A second existing technology provides another solution: When no DNS server exists on an IMS network, multiple SIP servers may be configured on an IP phone and include a SIP service of a local gateway, with sequences of the SIP services serving as priorities. Using the foregoing two technologies, the IP phone may first select an active SIP server and then select a standby SIP server according to service priorities returned by DNS servers or according to a locally configured sequence of the SIP servers; and when all SIP servers are unavailable, the SIP service of the local gateway is selected to provide a basic local call service for the IP phone, thereby implementing failure recovery and local voice survivability.
In a process of implementing the local voice survivability, the inventor finds that at least the following problems exist in the prior art: In the solution according to the first existing technology, in order to implement local survivability, a DNS proxy needs to be configured on the local gateway, so that the SIP service of the local gateway can be inserted into the service priority returned by the DNS server, and if no DNS proxy is configured, the local survivability cannot be implemented; and in the solution according to the second existing technology, different terminals have different local gateways, which need to be configured separately and increase a deployment cost.
SUMMARY
Embodiments of the present invention provide a method, an apparatus, and a system for local voice survivability, to implement local voice survivability without configuring a DNS proxy function on a local gateway or configuring a server for a user terminal.
In a first aspect, the present invention provides a method for local voice survivability, including:
detecting, according to a preset detection period, an activity state of a server recorded in a server monitoring list, where the server monitoring list records a voice server on an Internet protocol IP multimedia subsystem IMS network in advance;
intercepting, when it is detected that all servers in the server monitoring list are in an unavailable state, a service data stream sent by a user terminal to the server; and
providing a corresponding service response for the user terminal according to content of the intercepted service data stream.
In a first possible implementation manner of the first aspect, the method further includes:
stopping, when it is detected that any server recorded in the server monitoring list resumes an available state, intercepting the service data stream sent by the user terminal to the server.
With reference to the first aspect and the first possible implementation manner of the first aspect, in a second possible implementation manner, the method further includes:
monitoring interaction between the user terminal and the server in the server monitoring list; and
maintaining a user account and temporary user state information for the user terminal in the monitoring process, where the temporary user state information records time of last interaction between the user terminal and the server in the server monitoring list.
With reference to the second possible implementation manner of the first aspect, in a third possible implementation manner, the maintaining a user account and temporary user state information for the user terminal in the monitoring process includes:
deleting the user account and the temporary user state information of the user terminal if no update of the temporary user state information is detected within a preset monitoring period.
With reference to the first aspect and any possible implementation manner of the first aspect, in a fourth possible implementation manner, the detection period is shorter than a checking period set on the user terminal for refreshing registration.
In a second aspect, the present invention provides a local gateway, including:
a detecting unit, configured to detect, according to a preset detection period, an activity state of a server recorded in a server monitoring list, where the server monitoring list records a voice server on an Internet protocol IP multimedia subsystem IMS network in advance;
an intercepting unit, configured to intercept, when the detecting unit detects that all servers in the server monitoring list are in an unavailable state, a service data stream sent by a user terminal to the server; and
a sending unit, configured to send a corresponding service response to the user terminal according to content of the service data stream intercepted by the intercepting unit.
In a first possible implementation manner of the second aspect, the local gateway further includes:
an interception stopping unit, configured to stop, when the detecting unit detects that any server recorded in the server monitoring list resumes an available state, intercepting the service data stream sent by the user terminal to the server.
With reference to the second aspect and the first possible implementation manner of the second aspect, in a second possible implementation manner, the local gateway further includes:
a monitoring unit, configured to monitor interaction between the user terminal and the server in the server monitoring list; and
a maintaining unit, configured to maintain a user account and temporary user state information for the user terminal in the monitoring process of the monitoring unit, where the temporary user state information records time of last interaction between the user terminal and the server in the server monitoring list.
With reference to the second possible implementation manner of the second aspect, in a third possible implementation manner, the following is further included:
the maintaining unit is specifically configured to delete the user account and the temporary user state information of the user terminal if no update of the temporary user state information is detected within a preset monitoring period.
In a third aspect, the present invention provides a system for local voice survivability, including: a local gateway, a user terminal, and a server according to the second aspect or any possible implementation manner of the second aspect, where:
the user terminal is configured to send a service data stream to the server;
the local gateway is configured to: detect, according to a preset detection period, an activity state of the server recorded in a server monitoring list; intercept, when it is detected that all servers in the server monitoring list are in an unavailable state, the service data stream sent by the user terminal to the server; and provide a corresponding service response for the user terminal according to content of the intercepted service data stream; and
the server is configured to send the service response to the user terminal.
In the method, the local gateway, and the system for local voice survivability according to the embodiments of the present invention, when it is detected that all servers in a server monitoring list are in an unavailable state, a service data stream sent by a user terminal to a server is intercepted; and a corresponding service response is provided for the user terminal according to content of the intercepted service data stream, thereby implementing local voice survivability of the user terminal. In this way, no matter whether a DNS proxy function is configured on the local gateway or whether a server is configured on the user terminal, the local voice survivability may be implemented and in this process the user terminal is not aware of a local voice survivability process.



BRIEF DESCRIPTION OF DRAWINGS
To illustrate the technical solutions in the embodiments of the present invention more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present invention, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
FIG. 1 is a flowchart of a method for local voice survivability according to an embodiment of the present invention;
FIG. 2 is a flowchart of another method for local voice survivability according to an embodiment of the present invention;
FIG. 3 is a flowchart of another method for local voice survivability according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of composition of a local gateway according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of composition of another local gateway according to an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of a local gateway according to an embodiment of the present invention; and
FIG. 7 is a schematic diagram of composition of a system for local voice survivability according to an embodiment of the present invention.



DESCRIPTION OF EMBODIMENTS
The following clearly describes the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Apparently, the described embodiments are merely a part rather than all of the embodiments of the present invention. All other embodiments obtained by a person of ordinary skilled in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.
An embodiment of the present invention provides a method for local voice survivability. As shown in FIG. 1, the method may include the following steps:
101. Detect, according to a preset detection period, an activity state of a server recorded in a server monitoring list.
Specifically, a local gateway detects, according to a preset detection period, an activity state of a server recorded in a server monitoring list saved on the local gateway. In this embodiment of the present invention, a server monitoring list is saved on the local gateway, and the server monitoring list records voice servers on an IMS network, all of which have capability to provide a voice service response for a user terminal. The local gateway may detect activity states of all servers in the server monitoring list periodically according to records in the server monitoring list and according to the preset detection period.
The local gateway may detect, in turn or in parallel, the activity states of all servers recorded in the server monitoring list. Preferably, the activity states of all servers in the server monitoring list may be detected in parallel, and this is not limited in this embodiment of the present invention.
102. Intercept, when it is detected that all servers in the server monitoring list are in an unavailable state, a service data stream sent by a user terminal to the server.
When it is detected that all servers in the server monitoring list are in an unavailable state, the local gateway intercepts a service data stream sent by a user terminal to the server.
Alternatively, in this embodiment, the local gateway may configure a local interception proxy function, which is in a disabled state by default. When the local gateway detects that all servers in the server monitoring list are in the unavailable state, the local gateway enables the local interception proxy function.
103. Provide a corresponding service response for the user terminal according to content of the intercepted service data stream.
After intercepting the service data stream sent by the user terminal to the server, the local gateway provides a corresponding service response for the user terminal according to content of the service data stream, where the service response may be a registration response provided for the user terminal, or may also be a voice service response provided for the user terminal. For example, after intercepting a registration request sent by the user terminal to the server in the server monitoring list, the local gateway provides a registration response for the user terminal according to the registration request, thereby implementing local voice survivability for the user terminal. In addition, compared with the prior art, in the process of intercepting the service data stream sent by the user terminal and replying with a corresponding response according to the content of the service data stream, the user terminal is not aware of a local voice survivability process.
In the method for local voice survivability according to this embodiment of the present invention, when it is detected that all servers in a server monitoring list are in an unavailable state, a service data stream sent by a user terminal to a server is intercepted; and a corresponding service response is provided for the user terminal according to content of the intercepted service data stream, thereby implementing local voice survivability of the user terminal. In this way, no matter whether a DNS proxy function is configured on the local gateway or whether a server is configured on the user terminal, the local voice survivability may be implemented and in this process the user terminal is not aware of a local voice survivability process.
An embodiment of the present invention provides a method for local voice survivability. To facilitate understanding of a person of skilled in the art, this embodiment of the present invention is introduced by using an IP phone as a user terminal and using a SIP server as a server. As shown in FIG. 2, the method may include the following steps:
201. Detect, according to a preset detection period, an activity state of a server recorded in a server monitoring list.
It may be understood that, a server on a network is generally fixed. Therefore, a local gateway may maintain a server monitoring list, and add an IP address of a server capable of providing a voice service on an IMS network to the server monitoring list in advance, and then the local gateway may detect an activity state of the server recorded in the server monitoring list. The local gateway may set a detection period in advance. For example, a SIP server exists on the IMS network, and then the detection period may be set to 3 seconds. When an IP phone interacts with the SIP server recorded in the server monitoring list, the local gateway may detect an activity state of the SIP server every 3 seconds in multiple detection manners such as a routing state, a SIP interaction response state, option (option) detection, and registration (register) detection. If a route of the SIP server is unreachable or the detection fails, it indicates that the SIP server is in an unavailable state; or if a response packet from the SIP server is received, it indicates that the SIP server is still in an available state.
Alternatively, the detection period preset on the local gateway is shorter than a checking period set on a user terminal for refreshing registration. In this embodiment of the present invention, the user terminal may set a checking period to refresh registration regularly according to the prior art, so as to check whether the server is in the available state, and the local gateway presets a detection period shorter than the checking period of the user terminal to detect the activity state of the server. In this way, the local gateway can detect, ahead of the user terminal, that the server is unavailable, and implement local voice survivability while the user terminal is unaware of the local voice survivability.
202. Monitor interaction between a user terminal and the server in the server monitoring list.
When the user terminal interacts with the server in the server monitoring list, the local gateway may monitor the interaction between the user terminal and the server and obtain user information in the interaction process. For example, when an IP phone has a service requirement, the IP phone needs to be powered on and initialized first, and then initiates a registration request to the SIP server. In this case, because the local gateway is an egress gateway of the IP phone, the local gateway can acquire all data during the registration.
203. Maintain a user account and temporary user state information for the user terminal in the monitoring process.
The local gateway maintains the user account and temporary user state information for the user terminal according to user information obtained in the process of monitoring the interaction between the user terminal and the server, where the temporary user state information records time of last interaction between the user terminal and the server. In this way, when all servers are unavailable, the local gateway may serve the user terminal according to the maintained user account and temporary user state information. Therefore, the following problem with the prior art is resolved: when account information of all users is manually configured in advance on the local gateway, a configuration workload is large and a deployment cost is high.
The maintaining, by the local gateway, a user account and temporary user state information for the user terminal includes: saving the user account and the temporary user state information according to the user information obtained in the monitoring process. Further, alternatively the local gateway may check, within a preset monitoring period, whether the temporary user state information is updated; and, if no update is made, delete the user account and the temporary user state information of the user terminal. The maintaining, by the local gateway, a user account and temporary user state information for the user terminal further includes: deleting the user account and the temporary user state information of the user terminal if no update of the temporary user state information is detected within the preset monitoring period.
Alternatively, the local gateway may maintain a user state information table, where the user state information table includes the user account and the temporary user state information. The local gateway may save the user account and the temporary user state information into the user state information table according to the user information obtained in the monitoring process, so as to maintain a user account and temporary user state information for each user terminal. Further, when no update of the temporary user state information is detected within the preset monitoring period, the local gateway may delete the user account and the temporary user state information of the user terminal from the user state information table, so that it may be ensured that user information on the local gateway is timely updated and synchronized.
It should be noted that the user state information table may be created in advance on the local gateway, or may be created in the monitoring process, and this is not limited in the embodiment of the present invention.
204. Intercept, when it is detected that all servers in the server monitoring list are in the unavailable state, a service data stream sent by the user terminal to the server.
When it is detected that all servers in the server monitoring list are in the unavailable state, the local gateway may intercept a service data stream sent by the user terminal to the server. Alternatively, a local interception proxy function may be configured on the local gateway; and in this case, when it is detected that all servers in the server monitoring list are unavailable, the local gateway may enable the local interception proxy function to intercept the service data stream sent by the user terminal to the server. It may be understood that, in a process in which the user terminal implements the local voice survivability, the user terminal may refresh registration regularly according to a set checking period to check whether a server currently serving the user terminal is still in the available state. In this embodiment of the present invention, the local gateway may set a detection period shorter than the checking period of the user terminal, to detect whether the server on the network is in the available state. In this way, before the user terminal detects that all servers on the network are unavailable, the local gateway can learn that all servers on the network are in the unavailable state; and when it is detected that all servers on the network are in the unavailable state, intercept the service data stream sent by the user terminal to the server, thereby implementing local voice survivability while a user is unaware of the local voice survivability.
205. Provide a corresponding service response for the user terminal according to content of the intercepted service data stream.
After the local gateway detects that all servers are in the unavailable state and intercepts the service data stream sent by the user terminal to the server, the local gateway may provide a corresponding service response for the user terminal according to content of the intercepted service data stream and the maintained user account, and enter a local voice survivability state. For example, if the service data stream intercepted by the local gateway is a registration request, a registration response is returned to the user terminal; or if the service data stream intercepted by the local gateway is a call request, a corresponding call response is provided for the user terminal.
In this embodiment of the present invention, the local gateway records a server capable of providing the voice service on the IMS network in advance, and detects whether the recorded server is in the unavailable state; and when all servers on the network are in the unavailable state, the local gateway intercepts the service data stream sent by the user terminal to the server, and simulates the server to provide a service response for the user terminal, thereby implementing local voice survivability. In this way, no matter whether a DNS proxy function is configured on the local gateway or whether a server is configured on the user terminal, the local voice survivability may be implemented and in this process the user terminal is not aware of a local voice survivability process. In this way, the following problem with the prior art is resolved: The local voice survivability depends on the DNS proxy function configured on the local gateway, or a deployment cost is taken to configure servers on user terminals so as to implement the local voice survivability.
206. Stop, when it is detected that any server recorded in the server monitoring list resumes the available state, intercepting the service data stream sent by the user terminal to the server.
When the local gateway simulates the server to provide a service response for the user terminal, the local gateway continues detecting the activity state of the server in the server monitoring list according to the preset detection period; and, when it is detected that any server recorded in the server monitoring list resumes the available state, the local gateway stops intercepting the service data stream sent by the user terminal to the server, so that the user terminal continues to receive a service response of the server.
Specifically, when the local gateway find detects that any server recorded in the server monitoring list resumes the available state, the local gateway stops intercepting the service data stream sent by the user terminal to the server. When the local gateway has just intercepted the service data stream sent by the user terminal to a connected server but does not provide the corresponding service response for the user terminal, the local gateway may forward the intercepted service data stream to a connected server; and if the connected server is a server that resumes the available state, the connected server provides the corresponding service response for the user terminal according to the service data stream; or if the connected server is not a server that resumes the available state, the user terminal may send the service data stream to other servers in turn by refreshing registration until a server that resumes the available state returns a service response, where the connected server is a server that provides a service response for the user terminal before all servers in the server monitoring list are unavailable.
Alternatively, if the interception proxy function is configured on the local gateway, when it is detected that any server recorded in the server monitoring list resumes the available state, the local gateway may disable the local interception proxy function, so as to stop intercepting the service data stream sent by the user terminal to the server.
For example, it is assumed that only one SIP server exists on an IMS network. As shown in FIG. 3, when an IP phone has a service requirement, the IP phone sends a registration request to the SIP server first. At this time, the SIP server is in the available state, and replies with a registration response to the IP phone. In a registration process, the local gateway may obtain all data in the registration process, and save user information in the obtained data into a user state information table, where the user state information table may include a user account and temporary user state information. In this case, the local gateway may detect an activity state of the SIP server in an option detection manner according to a preset detection period. Specifically, an option check message is sent to the SIP server. If an option reply message of the SIP server is received, it is considered that the SIP server is in the available state, and the IP phone may continue to interact with the SIP server; or if no option reply message of the SIP server is received, it may be considered that the SIP server is in the unavailable state. Further, alternatively the number of detection times may be set, so that the local gateway considers the SIP server is in the unavailable state only when the local gateway does not receive an option reply message after sending the option check message to the SIP server three consecutive times. The local gateway may enable the local interception proxy function when detecting that the SIP server is in the unavailable state.
In a communications process, the IP phone checks whether the SIP server is in the available state by refreshing registration regularly according to the set checking period. Therefore, the local gateway may intercept a registration request sent by the IP phone to the server. In this case, the local gateway simulates the SIP server to perform user registration processing and reply with a corresponding registration response. Alternatively, the local gateway may intercept a call request sent by the IP phone to the SIP server, and in this case, the local gateway returns a corresponding call response. When the local gateway detects that the SIP server resumes the available state, the local gateway disables the local interception proxy function, and forwards the intercepted registration request or call request to the SIP server, so that the SIP server provides a corresponding service response for the IP phone, and the IP phone can work normally. It should be noted that the detection period set on the local gateway is shorter than the checking period set on the IP phone. Therefore, before the IP phone detects that the SIP server is unavailable, the local gateway has already detected that the SIP server is unavailable and intercepts the service data stream sent by the IP phone to the SIP server, thereby implementing local voice survivability while the IP phone is unaware of the local voice survivability.
In the method for local voice survivability according to the embodiment of the present invention, when it is detected that all servers in a server monitoring list are in an unavailable state, a service data stream sent by a user terminal to a server is intercepted; and a corresponding service response is provided for the user terminal according to content of the intercepted service data stream, thereby implementing local voice survivability of the user terminal. In this way, no matter whether a DNS proxy function is configured on the local gateway or whether a server is configured on the user terminal, the local voice survivability may be implemented and in this process the user terminal is not aware of a local voice survivability process.
In addition, a user account and temporary user state information are created by monitoring a process of interaction between the user terminal and the server and by regularly checking an update of the temporary user state information. In this way, a workload of manual configuration may be reduced and user information is updated and synchronized.
An embodiment of the present invention provides a local gateway, configured to implement the method for local voice survivability shown in FIG. 1 to FIG. 3 in the present invention. As shown in FIG. 4, the local gateway includes: a detecting unit 31, an intercepting unit 32, and a sending unit 33.
The detecting unit 31 is configured to detect, according to a preset detection period, an activity state of a server recorded in a server monitoring list, where the server monitoring list records a voice server on an Internet protocol IP multimedia subsystem IMS network in advance.
The intercepting unit 32 is configured to intercept, when the detecting unit 31 detects that all servers in the server monitoring list are in an unavailable state, a service data stream sent by a user terminal to the server.
The sending unit 33 is configured to send a corresponding service response to the user terminal according to content of the service data stream intercepted by the intercepting unit 32.
The local gateway may be a router, a switch, or the like.
Further, as shown in FIG. 5, the local gateway may further include an interception stopping unit 34, a monitoring unit 35, and a maintaining unit 36.
The interception stopping unit 34 is configured to stop, when the detecting unit 31 detects that any server recorded in the server monitoring list resumes an available state, intercepting the service data stream sent by the user terminal to the server.
The monitoring unit 35 is configured to monitor interaction between the user terminal and the server in the server monitoring list.
The maintaining unit 36 is configured to maintain a user account and temporary user state information for the user terminal in a process of the monitoring performed by the monitoring unit 35, where the temporary user state information records time of last interaction between the user terminal and the server in the server monitoring list. Specifically, the maintaining unit 36 is configured to save the user account and the temporary user state information according to user information obtained in the monitoring process. Alternatively, the maintaining unit 36 is further configured to delete the user account and the temporary user state information of the user terminal if no update of the temporary user state information is detected within a preset monitoring period.
Alternatively, the local gateway may maintain a user state information table, where the user state information table includes the user account and the temporary user state information. It should be noted that the user state information table may be created in advance on the local gateway, or may be created in the monitoring process, and this is not limited in this embodiment of the present invention. The maintaining unit 36 is specifically configured to save the user account and the temporary user state information into the user state information table according to the user information obtained in the monitoring process, so as to maintain a user account and temporary user state information for each user terminal. Further, alternatively the maintaining unit 36 is further specifically configured to: delete, when no update of the temporary user state information is detected within the preset monitoring period, the user account and the temporary user state information of the user terminal from the user state information table, so that it may be ensured that user information on the local gateway is timely updated and synchronized.
Further, the detection period is shorter than a checking period set on the user terminal for refreshing registration.
In the local gateway according to this embodiment of the present invention, when it is detected that all servers in a server monitoring list are in an unavailable state, a service data stream sent by a user terminal to a server is intercepted; and a corresponding service response is provided for the user terminal according to content of the intercepted service data stream, thereby implementing local voice survivability of the user terminal. In this way, no matter whether a DNS proxy function is configured on the local gateway or whether a server is configured on the user terminal, the local voice survivability may be implemented and in this process the user terminal is not aware of a local voice survivability process.
In addition, a user account and temporary user state information are created by monitoring a process of interaction between the user terminal and the server and by regularly checking an update of the temporary user state information. In this way, a workload of manual configuration may be reduced and user information is updated and synchronized.
An embodiment of the present invention provides a local gateway. As shown in FIG. 6, the local gateway includes: a processor 41, a memory 42, a communications interface 43, and a bus 44. The processor 41, the memory 42, and the communications interface 43 are connected to each other through the bus 44. The memory 42 is configured to store program codes, where the program codes include a computer operation instruction.
The memory 42 may be a high-speed random access memory, or may be a non-volatile memory (non-volatile memory), for example, at least one disk memory.
The processor 41 executes the program codes, and is configured to: detect, according to a preset detection period, an activity state of a server recorded in a server monitoring list, where the server monitoring list records a voice server on an IMS network in advance; intercept, when it is detected that all servers in the server monitoring list are in an unavailable state, a service data stream sent by a user terminal to the server; and send a corresponding service response to the user terminal according to content of the intercepted service data stream.
Further, the processor 41 is configured to stop, when it is detected that any server recorded in the server monitoring list resumes an available state, intercepting the service data stream sent by the user terminal to the server.
Further, the processor 41 is configured to: monitor interaction between the user terminal and the server in the server monitoring list; maintain a user account and temporary user state information for the user terminal in the monitoring process, where the temporary user state information records time of last interaction between the user terminal and the server in the server monitoring list; and delete the user account and the temporary user state information of the user terminal if no update of the temporary user state information is detected within a preset monitoring period.
Alternatively, the local gateway may maintain a user state information table, where the user state information table includes the user account and the temporary user state information. The memory 42 is further configured to save the user state information table.
The processor 41 is specifically configured to save the user account and the temporary user state information into the user state information table according to user information obtained in the monitoring process; and is further specifically configured to delete the user account and the temporary user state information of the user terminal from the user state information table if no update of the temporary user state information is detected within the preset monitoring period.
Further, the detection period is shorter than a checking period set on the user terminal for refreshing registration.
In the local gateway according to the embodiment of the present invention, when it is detected that all servers in a server monitoring list are in an unavailable state, a service data stream sent by a user terminal to a server is intercepted; and a corresponding service response is provided for the user terminal according to content of the intercepted service data stream, thereby implementing local voice survivability of the user terminal. In this way, no matter whether a DNS proxy function is configured on the local gateway or whether a server is configured on the user terminal, the local voice survivability may be implemented and in this process the user terminal is not aware of a local voice survivability process.
In addition, a user account and temporary user state information are created by monitoring a process of interaction between the user terminal and the server and by regularly checking an update of the temporary user state information. In this way, a workload of manual configuration may be reduced while at the same time user information is updated and synchronized.
An embodiment of the present invention provides a system for local voice survivability. As shown in FIG. 7, the system includes: a user terminal 51, a local gateway 52 according to any one of the embodiments shown in FIG. 4 to FIG. 6, and a server 53, where the system may include one or more servers 53;
the user terminal 51 is configured to send a service data stream to the server 53;
the local gateway 52 is configured to: detect, according to a preset detection period, an activity state of the server 53 in a server monitoring list; intercept, when it is detected that all servers 53 in the server monitoring list are in an unavailable state, a service data stream sent by the user terminal 51 to the server 53; and provide a corresponding service response for the user terminal 51 according to content of the intercepted service data stream; and
the server 53 is configured to send the service response to the user terminal 51.
The user terminal may be an IP phone, a SIP phone, or the like.
The server may be a SIP server, or the like.
In the system for local voice survivability according to this embodiment of the present invention, when it is detected that all servers in a server monitoring list are in an unavailable state, a service data stream sent by a user terminal to a server is intercepted; and a corresponding service response is provided for the user terminal according to content of the intercepted service data stream, thereby implementing local voice survivability of the user terminal. In this way, no matter whether a DNS proxy function is configured on the local gateway or whether a server is configured on the user terminal, the local voice survivability may be implemented and in this process the user terminal is not aware of a local voice survivability process.
In addition, a user account and temporary user state information are created by monitoring a process of interaction between the user terminal and the server and by regularly checking an update of the temporary user state information. In this way, a workload of manual configuration may be reduced and user information is updated and synchronized.
Through the foregoing description of the embodiments, it is clear to a person skilled in the art that the present invention may be implemented by software plus necessary universal hardware, and certainly may also be implemented by hardware, but in many cases, the software implementation is preferred. Based on such an understanding, the technical solutions of the present invention essentially, or the part contributing to the prior art may be implemented in the form of a software product. The computer software product is stored in a readable memory medium, for example, a floppy disk, a hard disk, or an optical disk of the computer, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform the methods described in the embodiments of the present invention.
The foregoing descriptions are merely specific embodiments of the present invention, but are not intended to limit the protection scope of the present invention. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in the present invention shall fall within the protection scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the claims.

## Claims

1. A method for local voice survivability performed by a local gateway, comprising:
detecting, according to a preset detection period, an activity state of each server recorded in a server monitoring list, wherein the server monitoring list records one or more voice servers on an Internet protocol (IP) multimedia subsystem (IMS) network;
maintaining a user account and temporary user state information for a user terminal according to user information obtained by monitoring interaction between the user terminal and a server in the server monitoring list, wherein the temporary user state information records a time of a most recent interaction between the user terminal and the server;
upon detecting that each server in the server monitoring list is in an unavailable state, enabling a local interception proxy function configured on the local gateway to intercept a service data stream sent by the user terminal to the server; and
based on the maintained user account and temporary user state information, providing a corresponding service response for the user terminal according to content of the intercepted service data stream,
wherein the preset detection period is set shorter than a checking period set on the user terminal for refreshing registration, so that the local gateway learns prior to the user terminal, that each server on the network is in the unavailable state.

2. The method for local voice survivability according to claim 1, further comprising:
as a result of detecting that any server recorded in the server monitoring list resumes an available state, stopping intercepting the service data stream sent by the user terminal to the server.

3. The method for local voice survivability according to claim 1, wherein the maintaining the user account and the temporary user state information for the user terminal comprises:
deleting the user account and the temporary user state information of the user terminal if no update of the temporary user state information is detected within a preset monitoring period.

4. A system for local voice survivability, comprising:
one or more servers;
a user terminal; and
a local gateway comprising computing hardware configured to:
detect, according to a preset detection period, an activity state of each server recorded in a server monitoring list, wherein the server monitoring list records one or more voice servers on an Internet protocol (IP) multimedia subsystem (IMS) network;
maintain a user account and temporary user state information for the user terminal according to user information obtained by monitoring interaction between the user terminal and a server in the server monitoring list, wherein the temporary user state information records a time of a most recent interaction between the user terminal and the server;
upon detecting that each server in the server monitoring list is in an unavailable state, enable a local interception proxy function configured on the local gateway to intercept the service data stream sent by the user terminal to the server; and
based on the maintained user account and temporary user state information, send a corresponding service response to the user terminal according to content of the intercepted service data stream and the user account,
wherein the preset detection period is set shorter than a checking period set on the user terminal for refreshing registration, so that the local gateway learns prior to the user terminal, that each server on the network is in the unavailable state.

5. The system according to claim 4, wherein the local gateway is further configured to, as a result of detecting that any server recorded in the server monitoring list resumes an available state, stop intercepting the service data stream sent by the user terminal to the server.

6. A local gateway, comprising a processor executing a program stored in a computer-readable storage medium and configured to:
detect, according to a preset detection period, an activity state of each server recorded in a server monitoring list, wherein the server monitoring list records one or more voice servers on an Internet protocol (IP) multimedia subsystem (IMS) network;
maintain a user account and temporary user state information for a user terminal according to user information obtained by monitoring interaction between the user terminal and a server in the server monitoring list, wherein the temporary user state information records a time of a most recent interaction between the user terminal and the server;
upon detecting that each server in the server monitoring list is in an unavailable state, enable a local interception proxy function configured on the local gateway to intercept a service data stream sent by the user terminal to the server; and
based on the maintained user account and temporary user state information, send a corresponding service response to the user terminal according to content of the intercepted service data stream and the user account,
wherein the preset detection period is set shorter than a checking period set on the user terminal for refreshing registration, so that the local gateway learns prior to the user terminal, that each server on the network is in the unavailable state.

7. The local gateway according to claim 6, wherein the processor is further configured to:
stop, as a result of detecting that any server recorded in the server monitoring list resumes an available state, intercepting the service data stream sent by the user terminal.

8. The local gateway according to claim 6, wherein the processor is further configured to:
delete the user account and the temporary user state information of the user terminal if no update of the temporary user state information is detected within a preset monitoring period.