Signaling processing method, device and system, computer equipment and readable storage medium

The signaling processing server receives and processes signaling request messages, matches the device fingerprint and registers fingerprint information, solves the communication interruption caused by signaling server failure or upgrade, and improves communication efficiency.

CN119520588AActive Publication Date: 2025-02-25CHINA TELECOM CLOUD TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411683409.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-22
Publication Date
2025-02-25
Estimated Expiration
2044-11-22

AI Technical Summary

Technical Problem

When the signaling server fails or is upgraded, it will cause the monitoring device registration information and session context to be lost, resulting in the communication between the signaling server and the monitoring device interruption, reducing communication efficiency.

Method used

The signaling processing server receives the signaling request message forwarded by the signaling gateway server, parses the device identification, obtains the device fingerprint information, and matches the registered fingerprint information, builds a response message and forwards it to the communication device, ensuring the continuity of signaling processing.

Benefits of technology

Communication interruption caused by re-registration of communication devices is avoided, communication between the communication device and the signaling processing server is maintained, and communication efficiency is improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119520588A_ABST
    Figure CN119520588A_ABST
Patent Text Reader

Abstract

The invention relates to a signaling processing method, device and system, computer equipment, a computer readable storage medium and a computer program product. The method is executed by a signaling processing server, and comprises the following steps: when a signaling request message forwarded by a signaling gateway server and sent by communication equipment is received, analyzing an equipment identifier of the communication equipment from the signaling request message; when determining that the local end does not include the equipment information of the communication equipment based on the equipment identifier and the communication equipment completes equipment registration, obtaining the equipment fingerprint information of the communication equipment based on the equipment information carried by the signaling request message; obtaining registration fingerprint information of the communication equipment according to the equipment information of the communication equipment during equipment registration; and when the equipment fingerprint information is matched with the registered fingerprint information, constructing a response message for the signaling request message, and forwarding the response message to the communication equipment through the signaling gateway server for signaling processing. By adopting the method, the communication efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a signaling processing method, apparatus, system, computer equipment, computer-readable storage medium, and computer program product. Background Art

[0002] In the current security industry, the signaling service system that supports the video surveillance networking system standard includes a signaling server that provides signaling services. The signaling server can ensure the normal operation and efficient management of the video surveillance communication network by receiving and parsing requests, processing requests, sending responses and notifications, and recording and monitoring operations. However, when the signaling server fails or is upgraded, the monitoring device registration information and session context saved by the signaling server will be lost, and the monitoring device needs to re-register, which interrupts the communication between the signaling server and the monitoring device, thereby reducing the communication efficiency. Summary of the invention

[0003] Based on this, it is necessary to provide a signaling processing method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve communication efficiency in response to the above technical problems.

[0004] In a first aspect, the present application provides a signaling processing method, which is executed by a signaling processing server, including:

[0005] When receiving a signaling request message forwarded by the signaling gateway server, parsing the device identifier from the signaling request message, the signaling request message is sent to the signaling gateway server by the communication device corresponding to the device identifier;

[0006] When it is determined based on the device identification that the local end does not include the device information of the communication device, and the communication device has completed device registration, the device fingerprint information of the communication device is obtained based on the device information carried in the signaling request message;

[0007] Obtaining registered fingerprint information of the communication device according to device information of the communication device during device registration;

[0008] When the device fingerprint information matches the registered fingerprint information, a response message for the signaling request message is constructed, and the response message is forwarded to the communication device through the signaling gateway server for signaling processing.

[0009] In a second aspect, the present application further provides a signaling processing device, which is applied to a signaling processing server, including:

[0010] A signaling request receiving module is used to parse the device identification from the signaling request message when receiving the signaling request message forwarded by the signaling gateway server. The signaling request message is sent to the signaling gateway server by the communication device corresponding to the device identification;

[0011] A device fingerprint information determination module, used to obtain the device fingerprint information of the communication device based on the device information carried in the signaling request message when it is determined based on the device identification that the local end does not include the device information of the communication device and the communication device has completed device registration;

[0012] A registered fingerprint information determination module, used to obtain the registered fingerprint information of the communication device according to the device information of the communication device when the device is registered;

[0013] The response processing module is used to construct a response message for the signaling request message when the device fingerprint information matches the registered fingerprint information, and forward the response message to the communication device through the signaling gateway server for signaling processing.

[0014] In a third aspect, the present application also provides a signaling processing system, including:

[0015] A signaling gateway server, used to forward the signaling request message sent by the communication device to the signaling processing server;

[0016] The signaling processing server is used to parse the device identification from the signaling request message when receiving the signaling request message forwarded by the signaling gateway server; when it is determined based on the device identification that the local end does not include the device information of the communication device and the communication device has completed the device registration, obtain the device fingerprint information of the communication device based on the device information carried by the signaling request message; obtain the registered fingerprint information of the communication device according to the device information of the communication device when the communication device is registered; when the device fingerprint information matches the registered fingerprint information, construct a response message for the signaling request message; and send the response message to the signaling gateway server;

[0017] The signaling gateway server is also used to forward the response message to the communication device for signaling processing.

[0018] In a fourth aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the above signaling processing method are implemented.

[0019] In a fifth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and the computer program implements the steps of the above signaling processing method when executed by a processor.

[0020] In a sixth aspect, the present application further provides a computer program product, wherein the computer program product comprises a computer program, and when the computer program is executed by a processor, the steps of the above signaling processing method are implemented.

[0021] In the above-mentioned signaling processing method, apparatus, system, computer equipment, computer-readable storage medium and computer program product, the signaling processing server receives a signaling request message forwarded by a signaling gateway server, and when it is determined based on the device identifier in the signaling request message that the local end does not include the device information of the communication device, and the communication device has completed the device registration, the device fingerprint information of the communication device is obtained based on the device information carried by the signaling request message, and when the device fingerprint information matches the registered fingerprint information of the communication device, a response message for the signaling request message is constructed, and the response message is forwarded to the communication device through the signaling gateway server for signaling processing. During the signaling processing process, when the local end of the signaling processing server does not include the device information of the communication device, and the communication device has completed the device registration, if it is determined that the device fingerprint information matches the registered fingerprint information of the communication device, a response message for the signaling request message can still be constructed for signaling processing, thereby avoiding the communication interruption caused by the re-registration of the communication device, and maintaining the communication between the communication device and the signaling processing server, thereby improving the communication efficiency between the communication device and the signaling processing server. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0023] Figure 1 is an application environment diagram of a signaling processing method in an embodiment;

[0024] Figure 2 is a flow chart of a signaling processing method in an embodiment;

[0025] Figure 3 A schematic diagram of a process of forwarding a signaling request message in an embodiment;

[0026] Figure 4 A schematic diagram of the structure of a signaling service system in an embodiment;

[0027] Figure 5 A schematic diagram of a process of forwarding a signaling request message in another embodiment;

[0028] Figure 6 A schematic diagram of a process of processing a device request message in one embodiment;

[0029] Figure 7 is a structural block diagram of a signaling processing system in an embodiment;

[0030] Figure 8 is a structural block diagram of a signaling processing device in an embodiment;

[0031] Fig. 9 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0032] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0033] The signaling processing method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the communication device 102 communicates with the signaling gateway server 104 through the network, and the data storage system of the signaling gateway server 104 can store the data that the signaling gateway server 104 needs to process. The data storage system can be integrated on the signaling gateway server 104, or it can be placed on the cloud or other network servers. The signaling gateway server 104 communicates with the signaling processing server 106 through the network, and the data storage system of the signaling processing server 106 can store the data that the signaling processing server 106 needs to process. The data storage system can be integrated on the signaling processing server 106, or it can be placed on the cloud or other network servers.

[0034] The communication device 102 can send a signaling request message to the signaling gateway server 104 to request a signaling service. The signaling gateway server 104 can forward the received signaling request message to the signaling processing server 106. The signaling processing server 106 can parse the device identification from the signaling request message. When it is determined based on the device identification in the signaling request message that the local end does not include the device information of the communication device, and the communication device has completed the device registration, the signaling processing server 106 obtains the device fingerprint information of the communication device based on the device information carried in the signaling request message. When the device fingerprint information matches the registered fingerprint information of the communication device, the signaling processing server 106 constructs a response message for the signaling request message and sends the response message to the signaling gateway server 104. The signaling gateway server 104 can forward the received response message to the communication device 102, so that the communication device 102 performs corresponding signaling processing based on the response message.

[0035] The communication device 102 may be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, IoT devices, and portable wearable devices. The IoT devices may be smart speakers, smart TVs, smart air conditioners, smart vehicle-mounted devices, projection devices, etc. Portable wearable devices may be smart watches, smart bracelets, head-mounted devices, etc. Head-mounted devices may be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. The signaling gateway server 104 or the signaling processing server 106 may be an independent physical server, or a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides cloud computing services.

[0036] In an exemplary embodiment, Figure 2 As shown, a signaling processing method is provided, which is applied to Figure 1 The signaling processing server in the example is used to illustrate, including the following steps 202 to 208. Among them:

[0037] Step 202: When a signaling request message forwarded by a signaling gateway server is received, a device identifier is parsed from the signaling request message, and the signaling request message is sent to the signaling gateway server by the communication device corresponding to the device identifier.

[0038] Among them, signaling refers to the control instructions in the communication system, which can guide the terminals, switching systems and transmission systems to operate in coordination, establish temporary communication channels between designated terminals, and maintain the normal operation of the network itself. The signaling processing server is used to process signaling messages in the communication network, thereby providing signaling services for communication equipment. The signaling processing server can specifically implement various signaling services such as establishing communication connections, exchanging session control information, exchanging network information, coordinating communications, system monitoring and troubleshooting. The signaling processing server is widely used in VoIP (Voice over Internet Protocol) and RTC (Real-Time Communication) services, such as video calls, conference applications, etc. It is responsible for processing call establishment, termination, transfer and other tasks related to call control to ensure smooth communication.

[0039] The signaling gateway server is used as a gateway in the signaling service system to forward messages between the communication device and the signaling processing server. The communication device can be a terminal device on the user side that requests signaling services. The signaling request message is sent by the terminal device to request signaling services from the signaling processing server. The device identifier is used to identify the communication device, and different communication devices can correspond to different device identifiers.

[0040] Optionally, in the signaling service system, when a communication device needs a signaling service, it can send a signaling request message to a signaling gateway server in the signaling service system, and the signaling gateway server forwards it to a signaling processing server. When the signaling processing server receives the signaling request message forwarded by the signaling gateway server, the signaling processing server can parse the signaling request message to obtain a device identifier from the signaling request message, and based on the device identifier, it can determine the communication device that sent the signaling request message to request the signaling service.

[0041] Step 204, when it is determined based on the device identification that the local end does not include the device information of the communication device, and the communication device has completed device registration, the device fingerprint information of the communication device is obtained based on the device information carried in the signaling request message.

[0042] Among them, the local end refers to the local side of the signaling processing server, which may specifically include the local memory of the signaling processing server. Device information may include device attribute information of the communication device, which may specifically include but is not limited to device identification, device type, device address, routing information, binding relationship with the signaling processing server, user information and other information. The communication device has completed device registration, indicating that the communication device has completed registration in advance, that is, the communication device has been connected to the communication network and has been bound to a signaling processing server in the signaling service system. Device fingerprint information is generated based on device information and is used to match communication devices to determine the relationship between communication devices. Different communication devices may correspond to different device fingerprint information.

[0043] Exemplarily, the signaling processing server can determine whether the local end includes the device information of the communication device, specifically, whether the local memory includes the device information of the communication device. When the local memory does not include the device information of the communication device, the signaling processing server can further determine whether the communication device has completed the device registration, such as the signaling processing server can query the registration information database to determine whether the registration information corresponding to the communication device is included in the registration information database. When the registration information corresponding to the communication device is included in the registration information database, it is considered that the communication device has completed the device registration. The signaling processing server can extract the device information of the communication device from the signaling request message, specifically, the IP (Internet Protocol) address and port (for the communication device LAN IP and port, User-Agent (user agent) value, From (message source) and other device information in the header field information of the signaling request message. The signaling processing server can obtain the device fingerprint information of the communication device based on the device information. Specifically, the signaling processing server can map the device information to obtain the mapping value, thereby obtaining the device fingerprint information of the communication device.

[0044] Step 206, obtaining the registered fingerprint information of the communication device according to the device information of the communication device when the device is registered.

[0045] The registered fingerprint information is fingerprint information obtained based on the device information of the communication device when the device is registered. Optionally, the signaling processing server can obtain the device information of the communication device when the device is registered, such as obtaining the device information of the communication device when the device is registered from the registration information database, and the signaling processing server can construct the registered fingerprint information based on the device information of the communication device when the device is registered.

[0046] Step 208: When the device fingerprint information matches the registered fingerprint information, a response message for the signaling request message is constructed, and the response message is forwarded to the communication device through the signaling gateway server for signaling processing.

[0047] Among them, the response message is a response to the signaling request message, and is used by the communication equipment to perform corresponding signaling processing, such as establishing communication connections, exchanging session control information, exchanging network information, coordinating communications, system monitoring and fault handling, and other signaling service processing.

[0048] Exemplarily, the signaling processing server may match the device fingerprint information with the registered fingerprint information. When it is determined that the device fingerprint information matches the registered fingerprint information, such as when it is determined that the device fingerprint information is the same as the registered fingerprint information, the signaling processing server may construct a corresponding response message for the signaling request message and feed the response message back to the communication device. For example, the signaling processing server may send the response message to the signaling gateway server, and the signaling gateway server forwards the response message to the communication device that sent the signaling request message, so that the communication device performs corresponding signaling processing based on the response message.

[0049] In the above-mentioned signaling processing method, the signaling processing server receives a signaling request message forwarded by the signaling gateway server. When it is determined based on the device identifier in the signaling request message that the local end does not include the device information of the communication device, and the communication device has completed the device registration, the device fingerprint information of the communication device is obtained based on the device information carried by the signaling request message. When the device fingerprint information matches the registered fingerprint information of the communication device, a response message for the signaling request message is constructed, and the response message is forwarded to the communication device through the signaling gateway server for signaling processing. During the signaling processing process, when the local end of the signaling processing server does not include the device information of the communication device, and the communication device has completed the device registration, if it is determined that the device fingerprint information matches the registered fingerprint information of the communication device, a response message for the signaling request message can still be constructed for signaling processing, thereby avoiding the communication interruption caused by the re-registration of the communication device, and maintaining the communication between the communication device and the signaling processing server, thereby improving the communication efficiency between the communication device and the signaling processing server.

[0050] In an exemplary embodiment, when it is determined based on the device identification that the local end does not include the device information of the communication device, and the communication device has completed device registration, the device fingerprint information of the communication device is obtained based on the device information carried in the signaling request message, including: when it is determined based on the device identification that the local memory does not include the device information of the communication device, determining the message type of the signaling request message; when the message type indicates that the signaling request message is not a registration request, querying the registration information database; when the registration information database includes the registration information of the communication device, obtaining the device information of the communication device from the signaling request message; and obtaining the device fingerprint information of the communication device based on the device information.

[0051] Among them, the message type refers to the type of signaling request message, which can be specifically determined based on the type field in the signaling request message. A registration request is a signaling request message used for device registration. Through a signaling request message of the registration request type, a communication device can be registered with the signaling processing system to establish a binding relationship between the communication device and the signaling processing server. The registration information database is a database for storing registration information corresponding to each communication device. The registration information database can store registration messages corresponding to communication devices that have completed device registration in the signaling processing system. The registration information may include a binding relationship between the communication device and the signaling processing server. The signaling processing server can provide corresponding signaling services for communication devices with a binding relationship.

[0052] Exemplarily, the signaling processing server may query the local memory of the local end, and query in the local memory to query whether the device information of the communication device corresponding to the device identifier is included. When it is determined that the local memory does not include the device information of the communication device, the signaling processing server may determine the message type of the signaling request message. For example, the signaling processing server may determine the type field in the signaling request message, and determine the message type of the signaling request message based on the field information corresponding to the type field. When the message type indicates that the signaling request message is not a registration request, that is, when it is determined that the communication device is not requesting device registration based on the signaling request message, the signaling request message is not a registration package, and the signaling processing server may query the registration information database, and the registration information database stores the registration information corresponding to each registered communication device. When the signaling processing server determines that the registration information database includes the registration information of the communication device, it indicates that the communication device has completed the device registration, and the signaling processing server may extract the device information of the communication device from the signaling request message. The signaling processing server may construct the device fingerprint information of the communication device based on the extracted device information. For example, the signaling processing server may map the extracted device information to obtain the device fingerprint information of the communication device.

[0053] In some embodiments, when the local memory of the signaling processing server includes the device information of the communication device, the signaling processing server can directly construct the corresponding response information for the signaling request message. In some embodiments, when the message type indicates that the signaling request message is a registration request, the signaling processing server can perform device registration processing based on the signaling request message and generate a corresponding response message after the device registration is successful. In some embodiments, when the registration information database does not include the registration information of the communication device, it can be considered that an error has occurred, and the signaling processing server can construct an error response message to feedback to the communication device.

[0054] In this embodiment, when it is determined that the local memory does not include the device information of the communication device, the message type of the signaling request message indicates that the signaling request message is not a registration request, and the registration information database includes the registration information of the communication device, the signaling processing server obtains the device information from the signaling request message to obtain the device fingerprint information, so that when the communication device completes the device registration but the local memory does not include the device information, the device fingerprint information can be constructed to perform device verification to avoid communication interruption caused by re-registration of the communication device, and the communication between the communication device and the signaling processing server can be maintained, thereby improving the communication efficiency between the communication device and the signaling processing server.

[0055] In an exemplary embodiment, the signaling processing method also includes: when it is determined based on the device identification that the local end includes device information of the communication device, and the signaling request message belongs to a heartbeat packet, the registration information of the communication device is updated based on the signaling request message, and a response message to the signaling request message is constructed, the step of forwarding the response message to the communication device through the signaling gateway server for signaling processing is executed.

[0056] Among them, the heartbeat packet is a common mechanism in the network communication protocol, which is mainly used to maintain the active state of the network connection and monitor whether the opposite end (device, process or other network element) is operating normally. Optionally, when it is determined that the local end includes the device information of the communication device, and specifically the local end's local memory includes the device information of the communication device, the signaling processing server can determine the message type of the signaling request message. When the message type indicates that the signaling request message belongs to a heartbeat packet, the signaling processing server can update the registration information of the communication device based on the signaling request message, and specifically can update the TTL (Time To Live) of the communication device. The signaling processing server can construct a response message to the signaling request message based on the updated registration information, and forward the response message to the communication device through the signaling gateway server for signaling processing.

[0057] In this embodiment, when the local end includes device information of the communication device and the signaling request message belongs to a heartbeat packet, the signaling processing server can update the registration information of the communication device and respond to the signaling request message based on the updated registration information. The registration information of the communication device can be updated in time based on the heartbeat packet to ensure the validity of the registration information of the communication device and avoid interruption of signaling communication due to invalid registration information, thereby improving the communication efficiency between the communication device and the signaling processing server.

[0058] In an exemplary embodiment, the signaling processing method also includes: when it is determined based on the device identification that the local end includes device information of the communication device, and the signaling request message does not belong to a heartbeat packet, executing the step of constructing a response message for the signaling request message, and forwarding the response message to the communication device through the signaling gateway server for signaling processing.

[0059] Exemplarily, when it is determined that the local end includes device information of a communication device, and the message type of the signaling request message indicates that the signaling request message does not belong to a heartbeat packet, the signaling processing server can directly construct a response message corresponding to the signaling request message, and forward the response message to the communication device through the signaling gateway server for signaling processing.

[0060] In this embodiment, when the local end includes device information of the communication device and the signaling request message does not belong to a heartbeat packet, the signaling processing server can directly respond to the signaling request message to achieve a timely response to the signaling request message and ensure the communication efficiency between the communication device and the signaling processing server.

[0061] In an exemplary embodiment, the signaling gateway server includes at least two, each signaling gateway server has the same virtual address; Figure 3 As shown, the forwarding step of the signaling gateway server forwarding the signaling request message to the signaling processing server includes steps 302 to 306. Among them:

[0062] Step 302: When a signaling request message sent by a communication device is received, a device identifier is determined from the signaling request message.

[0063] The signaling gateway servers include at least two, each of which has the same virtual address, that is, at least two signaling gateway servers can share the virtual address, thereby avoiding the single point failure problem of the signaling gateway server. Exemplarily, the communication device can send a signaling request message to the signaling gateway server, and after the signaling gateway server receives the signaling request message, the signaling gateway server can determine the device identifier used to identify the communication device in the signaling request message.

[0064] Step 304: when it is determined based on the device identification that there is a binding relationship between the communication device and the signaling processing server, and the signaling processing server is in an activated state, the binding relationship parameters of the signaling processing server are updated to obtain updated binding relationship parameters.

[0065] Among them, the communication device and the signaling processing server have a binding relationship, indicating that the communication device has established a signaling communication connection with the signaling processing server, and the signaling service of the communication device is implemented by the signaling processing server with which the communication device has a binding relationship. The signaling processing server is in an activated state, indicating that the signaling processing server can provide corresponding signaling services. The binding relationship parameters are used to control the communication between the communication device and the signaling processing server, which may include but are not limited to the message lifetime TTL, thereby controlling the communication device to send a signaling request message to the signaling processing server.

[0066] Exemplarily, the signaling gateway server can determine whether there is a binding relationship between the communication device and the signaling processing server, such as the signaling gateway server can query whether there is registration information of the communication device from the registration information database, thereby determining whether there is a binding relationship between the communication device and the signaling processing server. When determining that there is a binding relationship between the communication device and the signaling processing server, the signaling gateway server can further determine the state of the signaling processing server, and when the signaling processing server is in an activated state, the signaling gateway server can obtain the binding relationship parameters of the signaling processing server. For example, the signaling gateway server obtains the registration information of the communication device from the registration information database, and extracts the binding relationship parameters of the signaling processing server from the registration information. The signaling gateway server can update the binding relationship parameters of the signaling processing server, and specifically can update the message life time TTL of the signaling processing server to obtain the updated binding relationship parameters. In some embodiments, the signaling gateway server can use the updated binding relationship parameters to update the registration information of the communication device, and specifically can update the updated binding relationship parameters to the registration information database.

[0067] Step 306: forward the signaling request message to the signaling processing server according to the updated binding relationship parameters.

[0068] Optionally, the signaling gateway server may forward the signaling request message according to the updated binding relationship parameters, such as forwarding the signaling request message to the signaling processing server according to the updated message lifetime TTL, so that the signaling processing server performs signaling processing.

[0069] In this embodiment, when it is determined that a binding relationship exists between the communication device and the signaling processing server and the signaling processing server is in an activated state, the signaling gateway server updates the binding relationship parameters of the signaling processing server and forwards the signaling request message to the signaling processing server according to the updated binding relationship parameters, so that the binding relationship parameters can be updated in time to ensure the validity of the registration information of the communication device and avoid interruption of signaling communication due to invalid registration information, thereby improving the communication efficiency between the communication device and the signaling processing server.

[0070] In an exemplary embodiment, the binding relationship parameters include a message lifetime, and the binding relationship parameters of the signaling gateway server are updated to obtain updated binding relationship parameters, including: obtaining the detection packet response time for the signaling processing server, the number of device accesses to the signaling processing server, and the resource usage parameters of the signaling processing server; based on the detection packet response time, the number of device accesses, the resource usage parameters and the weight parameters, the message lifetime is updated to obtain an updated message lifetime.

[0071] Among them, the message lifetime (TTL) is used to limit the lifetime of a data packet or signaling message in the signaling communication network. The detection packet response time is the time it takes for the signaling processing server to feedback a response packet to the detection packet when the signaling gateway server sends a detection packet to the signaling processing server; the number of device accesses is the number of communication devices that have established a binding relationship with the signaling processing server; the resource usage parameter may include the CPU usage of the signaling processing server. The weight parameter may include the weight parameter of the detection packet response time, the weight parameter of the number of device accesses, and the weight parameter of the resource usage parameter.

[0072] Optionally, the signaling gateway server can obtain the detection packet response time of the signaling processing server, the number of device accesses to the signaling processing server, and the resource usage parameters of the signaling processing server. Among them, the detection packet response time can be obtained by the signaling gateway server sending a detection packet to the signaling processing server for monitoring, and the number of device accesses and resource usage parameters can be determined by performing a status query on the signaling processing server. The signaling gateway server can obtain a preset weight parameter, and according to the weight parameter, based on the detection packet response time, the number of device accesses, and the resource usage parameters, update the message lifetime included in the binding relationship parameters, thereby obtaining an updated message lifetime.

[0073] In this embodiment, the signaling gateway server updates the message lifetime included in the binding relationship parameters based on the detection packet response time, the number of device accesses, the resource usage parameters and the weight parameters of the signaling processing server. The binding relationship parameters can be updated in a timely manner to ensure the validity of the registration information of the communication device and avoid interruption of signaling communication due to invalid registration information, thereby improving the communication efficiency between the communication device and the signaling processing server.

[0074] In an exemplary embodiment, the forwarding step of the signaling gateway server forwarding the signaling request message to the signaling processing server also includes: when it is determined based on the device identification that there is no binding relationship with the communication device, or the signaling processing server that has a binding relationship with the communication device is in an inactivated state, obtaining the respective detection packet response time, device access number and resource usage parameters of each candidate signaling server; based on the respective detection packet response time, device access number and resource usage parameters of each candidate signaling server, respectively obtaining the respective load parameters of each candidate signaling server; when based on the respective load parameters of each candidate signaling server, determining the signaling processing server from each candidate signaling server, determining the target binding relationship parameters based on the load parameters, and forwarding the signaling request message to the signaling gateway server according to the target binding relationship parameters.

[0075] Among them, the candidate signaling server is a server in the signaling service cluster of the signaling processing system. The signaling gateway server can select a signaling processing server from the candidate signaling servers to bind with the communication device, so as to provide corresponding signaling services for the communication device through the selected signaling processing server. The load parameter is used to characterize the load pressure of the candidate signaling server. The signaling gateway server can screen based on the load pressure of each candidate signaling server to determine the signaling processing server that provides signaling services for the communication device. The target binding relationship parameter is the binding relationship parameter corresponding to the signaling processing server after the signaling processing server is screened out from each candidate signaling server, which can specifically include the message lifetime.

[0076] Exemplarily, when it is determined based on the device identification that there is no binding relationship between the communication device and the communication device, it indicates that the communication device is not bound to the signaling processing server, that is, the communication device has not completed registration, and the signaling gateway server can trigger the screening of signaling processing servers from candidate signaling servers. When the signaling processing server that has a binding relationship with the communication device is in an inactive state, it indicates that the signaling processing server that has a binding relationship with the communication device is unavailable, and the signaling gateway server can trigger the screening of signaling processing servers from candidate signaling servers. When screening for each candidate signaling server, the signaling gateway server can obtain the respective probe packet response time, device access number and resource usage parameters of each candidate signaling server, and determine the respective load parameters of each candidate signaling server based on the probe packet response time, device access number and resource usage parameters. The signaling gateway server can screen based on the respective load parameters of each candidate signaling server to determine the signaling processing server from each candidate signaling server, such as the signaling gateway server can screen the signaling processing server from each candidate signaling server based on the numerical value of the load parameter. The signaling gateway server may determine the target binding relationship parameters based on the load parameters, and forward the signaling request message to the signaling gateway server according to the target binding relationship parameters.

[0077] In this embodiment, when there is no binding relationship with the communication device, or the signaling processing server that has a binding relationship with the communication device is in an inactivated state, the signaling gateway server can determine the load parameters of each candidate signaling server based on the detection packet response time, the number of device accesses, and the resource usage parameters, and use the load parameters to screen out the signaling processing servers from the candidate signaling servers. After determining the target binding relationship parameters based on the load parameters, the signaling request message is forwarded to the signaling gateway server according to the target binding relationship parameters, so that a suitable signaling processing server can be screened out based on the load parameters for signaling processing, thereby ensuring the communication efficiency between the communication device and the signaling processing server.

[0078] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps does not have a strict order restriction, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments can include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily to be carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0079] The present application also provides an application scenario, and the application scenario applies the above-mentioned signaling processing method. Specifically, the application of the signaling processing method in the application scenario is as follows:

[0080] The application scenario may include video surveillance scenarios, involving signaling service systems based on GB / T28181 protocol equipment access. Among them, the GB / T28181 protocol is the national standard in the field of video surveillance, "Technical Requirements for Information Transmission, Exchange and Control of Public Security Video Surveillance Networking Systems". The GB / T28181 protocol uses the SIP (Session Initiation Protocol) protocol at the signaling level and the Real-time Transport Protocol (RTP) protocol at the streaming media transmission level.

[0081] Specifically, the SIP protocol is an application layer signaling control protocol used to create, modify, and release sessions of one or more participants. A SIP transaction is a unit of SIP message exchange, which consists of a request and a related response sequence. A SIP dialogue is a long-standing communication path between two SIP entities, which spans multiple transactions; a dialogue begins with a successful response to an INVITE request (usually 2xx) and is identified by certain header fields in the response (such as `Call-ID`, `From Tag`, and `To Tag`). A SIP session is a media exchange between two or more participants, which is supported by a dialogue established by SIP; only one session can be established for a call, but multiple dialogues can be established. The RTP protocol is a network transmission protocol designed for real-time data transmission, such as audio, video, or simulation data. The RTP protocol provides end-to-end network transmission capabilities and is suitable for applications that transmit real-time data through multicast or unicast network services. The RTP protocol layer consists of two sub-protocols: RTP itself and RTCP (Real-time Transport Control Protocol). The latter is the control protocol of RTP, which is used to monitor the quality of service and transmit information about participants in an ongoing session.

[0082] In the current security industry, signaling service systems that support the GB / T28181 protocol are usually built with independent SIP signaling service nodes, each of which is responsible for processing a specific number of device access requests. However, this traditional architecture has the risk of single point failure and lacks high availability. Once the signaling service or its physical server fails, it will cause business interruption and service unavailability. Another common solution is to distribute signaling through a front-end SIP proxy gateway. Although it solves the single point failure problem of the signaling service, it does not solve the single point failure risk of the proxy gateway itself. In addition, these two traditional solutions may cause the loss of saved device registration information and session context during the update or restart of the signaling service, resulting in device re-registration and push stream interruption, which in turn causes business interruption and temporary loss of media streams.

[0083] Based on this, this embodiment provides a highly available signaling service system based on GB / T28181 device access, and specifically introduces the technology of virtual IP (Virtual IP) to deploy the primary and standby SIP signaling gateway services to solve the single point failure problem of the SIP signaling gateway service. The entire signaling service system consists of the primary and standby signaling gateways that monitor the virtual IP and the SIP signaling service cluster that actually processes the business. This design solves the single point failure problem of the signaling service. In addition, the signaling processing method of this embodiment also provides a transfer processing method for signaling service failures, a device registration information context recovery method, and a session reconstruction method. These new methods ensure that when the signaling service fails or is upgraded, the device end is not aware of it. At the same time, the existing session can be restored after reconstruction, and the media stream sent by the device can be controlled through the session.

[0084] The signaling processing method provided in this embodiment is applied to a signaling service system, and the signaling service system may include the following components:

[0085] 1. Virtual IP: Multiple physical machines are bound to the same virtual IP, and keepalived is configured to implement one master and one backup, which is used to deploy the SIP signaling gateway server. Among them, virtual IP is a network technology that can combine multiple physical servers or devices into a logical cluster and use the same IP address to provide services to the outside world. Keepalived is a high-availability solution for LVS (Linux Virtual Server) services based on the VRRP (Virtual Router Redundancy Protocol) protocol. It is mainly used to detect the status of the server and automatically failover when a server fails to ensure high availability of the service.

[0086] 2. SIP signaling gateway server: used to forward the signaling request message of GB / T28181 communication equipment to a specific SIP signaling server, and also used to forward the request actively sent by the SIP signaling server to the device. The SIP signaling gateway server has the function of hot loading the SIP signaling server list, and supports sending heartbeat detection packets to the SIP signaling server. The SIP signaling gateway server supports the selection of SIP signaling servers based on a load balancing strategy with different weights of multiple factors, and records the device and the selected SIP signaling server to the Redis cluster. When it is detected that the SIP signaling server to which the device belongs is unavailable, the signaling request message can be forwarded to other SIP signaling servers to take over. Redis is a high-performance (key / value, key / value) distributed memory database, a NoSQL database that runs based on memory and supports persistence. The SIP signaling gateway server also supports modifying the routing signaling in Redis. The SIP signaling gateway server forwards requests and responses statelessly, adopts a multi-process mode, and has a high concurrent processing capability.

[0087] 3. SIP signaling server: It is used to truly process the service of GB / T28181 communication device requests, respond to the communication device requests, and actively send requests to the communication device through the signaling gateway. The SIP signaling server has the ability to restore the device registration context and the stream call session to the SIP protocol stack through the saved device registration information and stream call session.

[0088] 4. Redis cluster: used to save the routing relationship between the device and the SIP signaling server, so that the SIP signaling gateway server can forward messages. The Redis cluster can save device registration information and streaming call session information, and can be used for recovery when the SIP signaling server fails or is restarted after an upgrade.

[0089] 5.Configure server: used to configure the SIP signaling server list and call the SIP signaling gateway server hot loading interface to update the SIP signaling server list.

[0090] 6.Mysql server: used to save SIP signaling server list and other information.

[0091] Specifically, Figure 4As shown, a structural diagram of a high-availability signaling service system based on GB / T28181 device access is provided for this embodiment, wherein the communication device 11 is a video surveillance device that supports the GB / T28181 protocol. 13 is a virtual IP. Server 15 is a server that deploys a SIP signaling gateway service, and server 15 has a virtual IP address. Server 17 is a server that deploys MYSQL services and configuration services, and is used to configure and save the SIP signaling server list. Server 21 deploys a SIP signaling service to actually process the services requested by GB / T28181 communication devices. Server 19 is a server for the redis service deployed in cluster mode, and is used to save the binding relationship with the SIP signaling server deployed by server 21 of the query receiving device 11, information on successful SIP registration, session information on successful SIP invitation flows, etc.

[0092] The specific processing flow of the signaling processing method of this embodiment is as follows:

[0093] Step 1. The configuration server configures the backend SIP signaling server list information, including ID, group ID, target address, flag, attribute value, description and other information. After the configuration server completes the configuration of the SIP signaling server list information, it notifies the SIP signaling gateway server by calling the API interface of the SIP signaling gateway server. The SIP signaling gateway server hot-loads the list information to perceive the changes. Among them, the purpose of the group ID is to group the backend signaling services. For a specific device ID, a specific group of backend SIP signaling servers can be formulated to respond to the request in order to meet the needs of signaling service isolation under multi-tenancy and technical solution expansion; the target address is the combination of the protocol IP address and port value forwarded by the SIP signaling gateway server to the SIP signaling server; the identifier is the enable and disable status identifier of the SIP signaling service.

[0094] Step 2. The SIP signaling gateway server periodically sends OPTIONS detection packets to the target address of the SIP signaling server in the enabled state through the list of SIP signaling servers read from the database. The SIP message header field of the detection packet contains the sending timestamp. The SIP signaling service receives the detection packet and constructs a response packet, in which the response packet message header field information contains the sending timestamp, the number of connected devices, and the CPU usage rate. The SIP signaling gateway server receives the response packet, parses the header field information, calculates the time from sending to receiving the response, and uses the time, the number of connected devices, and the CPU usage rate as the algorithm factors for load balancing. For those who have not received a response packet after timeout, if they have not received a response packet for three consecutive times, this SIP signaling server is set to the inactive state. The SIP signaling server in the inactive state will also send detection packets periodically. If there is a response to the detection packet, it will be converted from the inactive state to the active state.

[0095] Step 3. The SIP signaling gateway server receives the signaling request message from the communication device, and the processing flow is as follows: Figure 5 As shown, first obtain the national standard device ID of the communication device from the header information of the signaling request message, and query the national standard device ID from the Redis cluster to see whether the national standard device ID has established a binding relationship with the SIP signaling server through the national standard device ID. If there is a binding relationship, determine whether the SIP signaling server is in the active state. If it is in the active state, set the binding relationship data, including the message generation time TTL, and then insert the Via information before the Via (path) list in the header field of the signaling request message, including the IP and port of the SIP signaling gateway. Among them, the Via information indicates the path taken by the request so far. Next, add received=source id; rport=source port to the Via information in the message sent by the original communication device, and finally send the updated message to the destination address of the selected SIP signaling server.

[0096] If there is no binding relationship or the signaling service of the binding relationship is initially inactive, you need to add a load balancing algorithm, select a new signaling service, save the new binding relationship data to Redis, and set the TTL of the data. In particular, since the communication device may lose connection, set TTL>2 times the heartbeat keep-alive time, so that the binding relationship data can be automatically released.

[0097] Among them, the design of the load balancing algorithm is a weighted load balancing algorithm based on the three factors of detection packet response time, device access number, and CPU usage. Next, the value of each factor needs to be normalized to reach the same order of magnitude for comparison. For the processing time factor of the detection packet, the normalization method is as follows: value = (maximum time consumption-time consumption) / (maximum time consumption-minimum time consumption). The same normalization algorithm is used for device requests and CPU usage. Then, the score is obtained by weight*normalized value of each factor. The one with the largest score value has the smallest load. Here, the number of device access and the number of SIP requests per second do not directly use the return value of the detection packet, because the detection packet return is triggered by the heartbeat timing and has a certain lag. Therefore, on the SIP signaling gateway server side, by analyzing whether the data packet of each request is a new registration request, the number of device access data in the detection response packet is increased. If it is a deregistration request, the number of device access value is reduced. When the detection response message is returned, the basic data value as the factor is corrected.

[0098] Step 4. The processing flow of the device request message forwarded by the SIP signaling gateway server received by the SIP signaling server is as follows: Figure 6 As shown, first parse the national standard ID of the communication device and check whether the device information is already in the local memory:

[0099] If the device information exists, check whether it is a heartbeat packet. If it is a heartbeat packet, the device registration information needs to be updated (TTL reset). Then, the Via information in the signaling request message is parsed and saved to the local memory. A response message is constructed based on the processing result, and the constructed response message is sent to the source IP and port of the message.

[0100] If the device information does not exist, check whether it is a registration package. If it is a registration package, process the registration request. After successful authentication, persist the registration information to Redis, build a response message and send it to the signaling gateway server. If it is not a registration package, query whether the registration information exists in Redis. If not, build an error response and send it to the signaling gateway server. If it exists, build the device fingerprint information based on the IP and port in Via in the header field information of the device request message (the device LAN IP and port), User-Agent value, and username value in From. This fingerprint information is compared with the fingerprint information in the device registration information stored in Redis. If they are the same, it is considered to be a previously registered communication device. Therefore, the device registration and session context information is built in the memory, the communication device is taken over, and the registration information is updated. After the device video playback session is reconstructed, the GB / T28181 device code stream can be multiplied, paused, and played. If the fingerprint information comparison fails, an error response message is built and sent to the SIP signaling gateway server.

[0101] Step 5. When the SIP signaling server actively sends a request to the communication device, since the path information of Via has been parsed and saved in the local memory, the SIP signaling server constructs the Route routing information in the SIP message header field through the path information of Via when constructing the request. The Route routing information field identifies the SIP server address that the SIP request must pass through. Every time the SIP request reaches a SIP server pointed to by Route, the SIP server will remove its own address from Route. It is further forwarded to the SIP signaling gateway server through routing signaling. The SIP signaling gateway server adds the Via header information according to the Route header information, deletes the Route header information to this service, and forwards the request with the updated header to the communication device. The communication device sends a response packet to the signaling gateway server through the via header information, and the signaling gateway server sends it to the backend signaling server through the Via header information.

[0102] The signaling processing method provided in this embodiment is based on a highly available signaling service system accessed by GB / T28181 communication equipment, and uses virtual IP and keepalived technology to deploy a signaling gateway in the SIP field to forward signaling request messages and response messages of GB / T28181 communication equipment. Using a SIP signaling service cluster to truly process signaling request messages and response messages of GB / T28181 communication equipment, this architecture solves the single point problem of traditional signaling services and increases the concurrency capability of the system.

[0103] Moreover, the load balancing algorithm based on different weights of multiple factors, in which the factor values ​​are returned by detection and change during the request receiving process, and the correction is made when the detection packet is returned, is more accurate than the traditional load balancing algorithm. Furthermore, in the multi-factor weighted scoring, the load balancing calculation method based on the factor value returned by the detection packet as the initial basic data, and the factor value is adjusted according to the real-time request, and the factor value is corrected when the detection packet returns the result again, ensures the accuracy and real-time performance of load balancing.

[0104] In addition, the fault takeover function based on device fingerprint information and the reconstruction function design after the registration information and session information are persisted make the device side unaware when the SIP signaling service fails or is upgraded, and will not cause the interruption of the media stream sent by the device. When the traditional single signaling service fails, the heartbeat packet on the device side does not return. After a certain period of time, the device will sense that it has lost contact with the signaling service, and the media stream being sent will stop sending. The design of device fingerprint information can also be expanded to solve the conflict problem of different devices using the same national standard ID for registration.

[0105] Based on the same inventive concept, the embodiment of the present application also provides a signaling processing system for implementing the signaling processing method involved above. The implementation scheme for solving the problem provided by the system is similar to the implementation scheme recorded in the above method, so the specific limitations in one or more signaling processing system embodiments provided below can refer to the limitations on the signaling processing method above, and will not be repeated here.

[0106] In an exemplary embodiment, Figure 7 As shown, a signaling processing system 700 is provided, and the signaling processing system 700 includes a signaling gateway server 702 and a signaling processing server 704, wherein:

[0107] The signaling gateway server 702 is used to forward the signaling request message sent by the communication device to the signaling processing server 704;

[0108] The signaling processing server 704 is used to parse the device identification from the signaling request message when receiving the signaling request message forwarded by the signaling gateway server 702; when it is determined based on the device identification that the local end does not include the device information of the communication device and the communication device has completed the device registration, obtain the device fingerprint information of the communication device based on the device information carried in the signaling request message; obtain the registered fingerprint information of the communication device according to the device information of the communication device when the communication device is registered; when the device fingerprint information matches the registered fingerprint information, construct a response message for the signaling request message; and send the response message to the signaling gateway server 702;

[0109] The signaling gateway server 702 is also used to forward the response message to the communication device for signaling processing.

[0110] In some embodiments, the signaling processing server 704 is also used to determine the message type of the signaling request message when it is determined based on the device identification that the local memory does not include the device information of the communication device; when the message type indicates that the signaling request message is not a registration request, query the registration information database; when the registration information database includes the registration information of the communication device, obtain the device information of the communication device from the signaling request message; and obtain the device fingerprint information of the communication device based on the device information.

[0111] In some embodiments, the signaling processing server 704 is also used to, when it is determined based on the device identification that the local end includes device information of the communication device, and the signaling request message belongs to a heartbeat packet, update the registration information of the communication device based on the signaling request message, and construct a response message for the signaling request message, and then execute the step of forwarding the response message to the communication device through the signaling gateway server 702 for signaling processing.

[0112] In some embodiments, the signaling processing server 704 is also used to execute the steps of constructing a response message for the signaling request message and forwarding the response message to the communication device through the signaling gateway server 702 for signaling processing when it is determined based on the device identification that the local end includes device information of the communication device and the signaling request message does not belong to a heartbeat packet.

[0113] In some embodiments, the signaling gateway server 702 includes at least two, each signaling gateway server 702 has the same virtual address; the signaling gateway server 702 is also used to determine the device identification from the signaling request message when receiving the signaling request message sent by the communication device; when it is determined based on the device identification that there is a binding relationship between the communication device and the signaling processing server 704, and the signaling processing server 704 is in an activated state, the binding relationship parameters of the signaling processing server 704 are updated to obtain updated binding relationship parameters; according to the updated binding relationship parameters, the signaling request message is forwarded to the signaling processing server 704.

[0114] In some embodiments, the binding relationship parameters include the message lifetime, and the signaling gateway server 702 is also used to obtain the detection packet response time for the signaling processing server 704, the number of device accesses to the signaling processing server 704, and the resource usage parameters of the signaling processing server 704; based on the detection packet response time, the number of device accesses, the resource usage parameters and the weight parameters, the message lifetime is updated to obtain the updated message lifetime.

[0115] In some embodiments, the signaling gateway server 702 is also used to obtain the respective detection packet response time, device access number and resource usage parameters of each candidate signaling server when it is determined based on the device identification that there is no binding relationship with the communication device, or the signaling processing server 704 that has a binding relationship with the communication device is in an inactive state; based on the respective detection packet response time, device access number and resource usage parameters of each candidate signaling server, respectively obtain the respective load parameters of each candidate signaling server; when based on the respective load parameters of each candidate signaling server, determine the signaling processing server 704 from each candidate signaling server, determine the target binding relationship parameters based on the load parameters, and forward the signaling request message to the signaling gateway server 702 according to the target binding relationship parameters.

[0116] Based on the same inventive concept, the embodiment of the present application also provides a signaling processing device for implementing the signaling processing method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in one or more signaling processing device embodiments provided below can refer to the limitations on the signaling processing method above, and will not be repeated here.

[0117] In an exemplary embodiment, Figure 8 As shown, a signaling processing device 800 is provided, which is applied to a signaling processing server, including: a signaling request receiving module 802, a device fingerprint information determining module 804, a registered fingerprint information determining module 806 and a response processing module 808, wherein:

[0118] The signaling request receiving module 802 is used to parse the device identification from the signaling request message when receiving the signaling request message forwarded by the signaling gateway server. The signaling request message is sent to the signaling gateway server by the communication device corresponding to the device identification;

[0119] The device fingerprint information determination module 804 is used to obtain the device fingerprint information of the communication device based on the device information carried in the signaling request message when it is determined based on the device identification that the local end does not include the device information of the communication device and the communication device has completed the device registration;

[0120] The registered fingerprint information determination module 806 is used to obtain the registered fingerprint information of the communication device according to the device information of the communication device when the device is registered;

[0121] The response processing module 808 is used to construct a response message for the signaling request message when the device fingerprint information matches the registered fingerprint information, and forward the response message to the communication device through the signaling gateway server for signaling processing.

[0122] In some embodiments, the device fingerprint information determination module 804 is also used to determine the message type of the signaling request message when it is determined based on the device identification that the local memory does not include the device information of the communication device; when the message type indicates that the signaling request message is not a registration request, query the registration information database; when the registration information database includes the registration information of the communication device, obtain the device information of the communication device from the signaling request message; and obtain the device fingerprint information of the communication device based on the device information.

[0123] In some embodiments, the response processing module 808 is also used to, when it is determined based on the device identification that the local end includes device information of the communication device, and the signaling request message belongs to a heartbeat packet, update the registration information of the communication device based on the signaling request message, and construct a response message for the signaling request message, and then execute the step of forwarding the response message to the communication device through the signaling gateway server for signaling processing.

[0124] In some embodiments, the response processing module 808 is also used to execute the steps of constructing a response message for the signaling request message and forwarding the response message to the communication device through the signaling gateway server for signaling processing when it is determined based on the device identification that the local end includes device information of the communication device and the signaling request message does not belong to a heartbeat packet.

[0125] In some embodiments, the signaling gateway server includes at least two, each signaling gateway server has the same virtual address; the signaling gateway server is also used to determine the device identification from the signaling request message when receiving the signaling request message sent by the communication device; when it is determined based on the device identification that there is a binding relationship between the communication device and the signaling processing server, and the signaling processing server is in an activated state, the binding relationship parameters of the signaling processing server are updated to obtain updated binding relationship parameters; according to the updated binding relationship parameters, the signaling request message is forwarded to the signaling processing server.

[0126] In some embodiments, the binding relationship parameters include the message lifetime, and the signaling gateway server is also used to obtain the detection packet response time for the signaling processing server, the number of device accesses to the signaling processing server, and the resource usage parameters of the signaling processing server; based on the detection packet response time, the number of device accesses, the resource usage parameters and the weight parameters, the message lifetime is updated to obtain the updated message lifetime.

[0127] In some embodiments, the signaling gateway server is also used to obtain the respective detection packet response time, device access number and resource usage parameters of each candidate signaling server when it is determined based on the device identification that there is no binding relationship with the communication device, or the signaling processing server with a binding relationship with the communication device is in an inactivated state; based on the respective detection packet response time, device access number and resource usage parameters of each candidate signaling server, obtain the respective load parameters of each candidate signaling server; when based on the respective load parameters of each candidate signaling server, determine the signaling processing server from each candidate signaling server, determine the target binding relationship parameters based on the load parameters, and forward the signaling request message to the signaling gateway server according to the target binding relationship parameters.

[0128] Each module in the above-mentioned signaling processing device can be implemented in whole or in part by software, hardware or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.

[0129] In an exemplary embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as shown in FIG. Fig. 9As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data involved in the signaling processing method. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a signaling processing method is implemented.

[0130] Those skilled in the art will understand that Fig. 9 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0131] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.

[0132] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0133] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0134] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant regulations.

[0135] A person of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0136] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0137] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A signaling processing method, characterized in that: Executed by a signaling processing server, the method includes: When receiving a signaling request message forwarded by a signaling gateway server, parsing the device identifier from the signaling request message, the signaling request message is sent to the signaling gateway server by the communication device corresponding to the device identifier; When it is determined based on the device identifier that the local end does not include the device information of the communication device, and the communication device has completed device registration, obtaining the device fingerprint information of the communication device based on the device information carried in the signaling request message; Obtaining registered fingerprint information of the communication device according to device information of the communication device during device registration; When the device fingerprint information matches the registered fingerprint information, a response message for the signaling request message is constructed, and the response message is forwarded to the communication device through the signaling gateway server for signaling processing.

2. The method according to claim 1, characterized in that When it is determined based on the device identifier that the local end does not include the device information of the communication device, and the communication device has completed device registration, obtaining the device fingerprint information of the communication device based on the device information carried by the signaling request message includes: When it is determined based on the device identifier that the local memory does not include the device information of the communication device, determining the message type of the signaling request message; When the message type indicates that the signaling request message is not a registration request, querying a registration information database; When the registration information database includes the registration information of the communication device, acquiring the device information of the communication device from the signaling request message; The device fingerprint information of the communication device is obtained based on the device information.

3. The method according to claim 1, characterized in that The method further comprises at least one of the following: When it is determined based on the device identifier that the local end includes device information of the communication device, and the signaling request message belongs to a heartbeat packet, the registration information of the communication device is updated based on the signaling request message, and a response message for the signaling request message is constructed, the step of forwarding the response message to the communication device through the signaling gateway server for signaling processing is performed; When it is determined based on the device identifier that the local end includes the device information of the communication device, and the signaling request message does not belong to a heartbeat packet, the steps of constructing a response message for the signaling request message and forwarding the response message to the communication device through the signaling gateway server for signaling processing are executed.

4. The method according to any one of claims 1 to 3, characterized in that: The signaling gateway servers include at least two, and each of the signaling gateway servers has the same virtual address; The step of forwarding the signaling request message by the signaling gateway server to the signaling processing server includes: When receiving a signaling request message sent by the communication device, determining the device identifier from the signaling request message; When it is determined based on the device identifier that there is a binding relationship between the communication device and the signaling processing server, and the signaling processing server is in an activated state, updating the binding relationship parameters of the signaling processing server to obtain updated binding relationship parameters; According to the updated binding relationship parameters, the signaling request message is forwarded to the signaling processing server.

5. The method according to claim 4, characterized in that The binding relationship parameters include a message lifetime, and the binding relationship parameters for the signaling gateway server are updated to obtain updated binding relationship parameters, including: Obtaining the detection packet response duration for the signaling processing server, the number of devices accessing the signaling processing server, and the resource usage parameters of the signaling processing server; Based on the detection packet response time, the number of device accesses, the resource usage parameter and the weight parameter, the message lifetime is updated to obtain an updated message lifetime.

6. The method according to claim 4, characterized in that The forwarding step further comprises: When it is determined based on the device identifier that there is no binding relationship with the communication device, or that the signaling processing server that has a binding relationship with the communication device is in an inactive state, obtaining the respective detection packet response duration, device access quantity, and resource usage parameters of each candidate signaling server; Based on the detection packet response time, the number of device accesses and resource usage parameters of each candidate signaling server, the load parameters of each candidate signaling server are obtained respectively; When the signaling processing server is determined from the candidate signaling servers based on the load parameters of each candidate signaling server, the target binding relationship parameters are determined based on the load parameters, and the signaling request message is forwarded to the signaling gateway server according to the target binding relationship parameters.

7. A signaling processing system, characterized in that: The system comprises: A signaling gateway server, used to forward the signaling request message sent by the communication device to the signaling processing server; The signaling processing server is used to parse the device identification from the signaling request message when receiving the signaling request message forwarded by the signaling gateway server; when it is determined based on the device identification that the local end does not include the device information of the communication device and the communication device has completed device registration, obtain the device fingerprint information of the communication device based on the device information carried by the signaling request message; obtain the registered fingerprint information of the communication device according to the device information of the communication device when the device is registered; when the device fingerprint information matches the registered fingerprint information, construct a response message for the signaling request message; and send the response message to the signaling gateway server; The signaling gateway server is also used to forward the response message to the communication device for signaling processing.

8. A signaling processing device, characterized in that: Applied to a signaling processing server, the device comprises: A signaling request receiving module, configured to parse a device identifier from the signaling request message when receiving a signaling request message forwarded by a signaling gateway server, wherein the signaling request message is sent to the signaling gateway server by the communication device corresponding to the device identifier; A device fingerprint information determination module, configured to obtain the device fingerprint information of the communication device based on the device information carried in the signaling request message when it is determined based on the device identification that the local end does not include the device information of the communication device and the communication device has completed device registration; A registered fingerprint information determination module, used to obtain the registered fingerprint information of the communication device according to the device information of the communication device when the device is registered; The response processing module is used to construct a response message for the signaling request message when the device fingerprint information matches the registered fingerprint information, and forward the response message to the communication device through the signaling gateway server for signaling processing.

9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • SIP disaster tolerance method, device and equipment and readable storage medium

    CN111600830A

  • Route connection method and device, electronic equipment and storage medium

    CN117319507A

  • Multimedia subsystem re-registration method, device and equipment and storage medium

    CN120785867A

  • Connection Control

    US20230328551A1

  • Apparatus and methods for maintaining the registration state of an IP device in a network address port translation (NAPT) environment

    US7480305B1