SIP Signaling Transmission and Traffic Control Method, Device and Computer Equipment

Through the traffic prediction model and differential update mechanism, SIP signaling transmission is optimized, which solves the problems of redundant signaling transmission and network congestion in traditional SIP signaling interactions, and realizes more efficient signaling processing and a more stable communication system.

CN119697126BActive Publication Date: 2025-05-30BEIJING ZHISHENG VISION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510206366.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-25
Publication Date
2025-05-30
Estimated Expiration
2045-02-25

AI Technical Summary

Technical Problem

There are redundant signaling transmission and network congestion problems in traditional SIP signaling interactions, resulting in increased system computing load, improved response delay and decreased communication quality.

Method used

The traffic prediction value of SIP signaling traffic is obtained through the traffic prediction model, trigger the traffic regulation strategy, priority forwarding of high-priority signaling, and a differential update mechanism is used to transmit only data packets with changes in state.

Benefits of technology

Effectively alleviate network congestion, reduce network latency, improve the real-time and stability of communication systems, while reducing redundant data transmission, reducing network bandwidth usage and server processing burden.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119697126B_ABST
    Figure CN119697126B_ABST
Patent Text Reader

Abstract

This application is applicable to the field of communication technologies, and provides a SIP signaling transmission and traffic control method, apparatus, and computer device, including: obtaining a SIP signaling traffic prediction value in a SIP network through a traffic prediction model, and triggering a traffic adjustment strategy when the SIP signaling traffic prediction value exceeds a threshold; the SIP network includes at least one SIP device and at least one SIP server, and any SIP device monitors its own status in real time. If there is status change information that needs to be synchronized, a difference data packet is generated according to the status change information, and the difference data packet is transmitted to the corresponding SIP server, so that the SIP server updates the status information of the SIP device stored by it according to the difference data packet; otherwise, a heartbeat signaling is sent to complete SIP periodic registration. On the one hand, through traffic prediction and signaling priority allocation, signaling accumulation and network congestion are effectively alleviated. On the other hand, redundant data transmission is reduced through differential updates.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of communication technologies, and particularly relates to an SIP signaling transmission and traffic control method, apparatus, and computer device. Background Art

[0002] With the rapid development of real-time communication technologies, the SIP protocol (Session Initiation Protocol) has become the main technology for audio and video calls, instant messaging, and multimedia communication. In the process of traditional SIP signaling interaction, the following problems exist: First, in the traditional registration process, even if the device status does not change, a complete REGISTER request needs to be sent periodically, and the phenomenon of redundant signaling transmission is relatively serious; second, when the device scale is large or the instantaneous concurrency is high, the server needs to process a large amount of redundant signaling, which not only increases the computational load of the system but also leads to an increase in response latency; in addition, SIP signaling traffic has obvious temporal fluctuation characteristics, and it is easy to cause network congestion during traffic peaks, and delay-sensitive signaling (such as INVITE) cannot be processed in a timely manner, thus affecting communication quality. Summary of the Invention

[0003] Embodiments of this application provide an SIP signaling transmission and traffic control method, apparatus, and computer device, which can solve the problems of network congestion and redundant signaling transmission.

[0004] In a first aspect, embodiments of this application provide an SIP signaling transmission and traffic control method, including:

[0005] Obtaining a predicted value of SIP signaling traffic in an SIP network through a traffic prediction model, and triggering a traffic adjustment strategy when the predicted value of SIP signaling traffic exceeds a threshold; the above traffic adjustment strategy includes: allocating traffic priorities to SIP signals according to the SIP signaling type, and preferentially forwarding high-priority signals; the priority of delay-sensitive signaling is higher than that of other types of SIP signaling;

[0006] The above SIP network includes at least one SIP device and at least one SIP server. Any SIP device monitors its own status in real time. If there is status change information that needs to be synchronized, a difference data packet is generated according to the above status change information, and the above difference data packet is transmitted to the corresponding SIP server, so that the above SIP server updates the status information of the above SIP device stored by it according to the above difference data packet; otherwise, a heartbeat signal is sent according to a preset time period to complete SIP periodic registration.

[0007] Exemplarily, the method further includes:

[0008] Group the SIP devices in the above SIP network according to the target characteristics of the SIP devices, where the characteristic values of the target characteristics of the SIP devices within each group are the same; allocate the time for each group of SIP devices to send registration requests according to the characteristic values of the target characteristics.

[0009] When the SIP devices in the above SIP network are started, each group of SIP devices sends a registration request to the SIP server according to the allocated time for sending the registration request.

[0010] Exemplarily, the method further includes:

[0011] The above SIP server caches the static parameters of a SIP device according to the first registration request of any SIP device.

[0012] After the above SIP server receives the differential data packet of any SIP device, it performs parameter verification and status update according to the status change information in the differential data packet and the static parameters of the SIP device cached by itself.

[0013] Exemplarily, the method further includes:

[0014] Any SIP device generates an INVITE message by filling the required dynamic fields in a predefined INVITE template; the above INVITE template includes the INVITE message structure and the static fields required for the INVITE message.

[0015] Exemplarily, the method further includes:

[0016] For any SIP device, according to the historical session data with the peer device, predict the probability that the peer device gives a correct response within a preset response time. If the predicted probability is greater than the threshold, send an ACK message in advance; otherwise, wait for the peer device to respond normally and then send an ACK message.

[0017] Exemplarily, sending an ACK message includes:

[0018] Generate an ACK message by filling the required dynamic fields in a predefined ACK template; the above ACK template includes the ACK message structure and the static fields required for the ACK message.

[0019] Exemplarily, obtaining the predicted value of the SIP signaling traffic in the SIP network through a traffic prediction model includes:

[0020] Use the historical SIP signaling traffic time series as the input of the traffic prediction model to obtain the predicted value of the SIP signaling traffic output by the traffic prediction model; the above traffic prediction model is trained and generated based on the long short-term memory network (LSTM) model.

[0021] Second aspect, an embodiment of the present application provides a SIP signaling transmission and traffic control device, including:

[0022] A traffic control module, configured to obtain a predicted value of SIP signaling traffic in the SIP network through a traffic prediction model, and trigger a traffic adjustment strategy when the predicted value of SIP signaling traffic exceeds a threshold; the above traffic adjustment strategy includes: allocating traffic priorities to SIP signals according to the SIP signaling type, and preferentially forwarding high-priority signals; the priority of delay-sensitive signals is higher than that of other types of SIP signals; the above SIP network includes at least one SIP device and at least one SIP server;

[0023] A signaling transmission module, configured to control any SIP device to monitor its own status in real time. If there is status change information that needs to be synchronized, a difference data packet is generated according to the above status change information, and the above difference data packet is transmitted to the corresponding SIP server, so that the above SIP server updates the status information of the above SIP device stored by it according to the above difference data packet; otherwise, a heartbeat signaling is sent according to a preset time period to complete SIP periodic registration.

[0024] Third aspect, an embodiment of the present application provides a computer device, including:

[0025] A memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the method described in any one of the above first aspects is implemented.

[0026] Fourth aspect, an embodiment of the present application provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the method described in any one of the above first aspects is implemented.

[0027] Fifth aspect, an embodiment of the present application provides a computer program product. When the computer program product runs on a computer device, the computer device is enabled to execute the method described in any one of the above first aspects.

[0028] It can be understood that the beneficial effects of the above second aspect to fifth aspect can refer to the relevant descriptions in the above first aspect, and will not be repeated here.

[0029] The beneficial effects of the embodiments of the present application compared with the prior art are as follows: The present application provides a SIP signaling transmission and traffic control method, which uses a traffic prediction model to obtain the predicted value of signaling traffic in the SIP network in real time. When the traffic exceeds the threshold, a traffic adjustment strategy is triggered to optimize the signaling transmission; the SIP device monitors its own status in real time. When the status changes, a differential data packet is generated and transmitted to the server to update the status information. When the status remains unchanged, only a heartbeat signaling is sent to complete the periodic registration. On the one hand, through traffic prediction and adjustment strategies, the present application can dynamically optimize signaling transmission, reasonably allocate signaling priorities, ensure that high-priority signaling is preferentially transmitted during traffic peaks, effectively alleviate network congestion, reduce network latency, and improve the real-time performance and stability of the communication system; on the other hand, by adopting a differential update mechanism, only the differential data packets of the status changes are transmitted, greatly reducing the transmission of redundant data, reducing network bandwidth occupancy and server processing burden, and improving the resource utilization efficiency and response speed of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings in the following description are only some embodiments of the present application. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0031] Figure 1 FIG. is a schematic diagram of a SIP registration process provided by an embodiment of the present application;

[0032] Figure 2 FIG. is a schematic diagram of a Digest authentication process provided by an embodiment of the present application;

[0033] Figure 3 FIG. is a schematic diagram of the collaborative working process of a differential update mechanism, a packet registration mechanism, and a pre-cache mechanism provided by an embodiment of the present application;

[0034] Figure 4 FIG. is a schematic diagram of the usage process of a fast invitation template provided by an embodiment of the present application;

[0035] Figure 5 FIG. is a schematic diagram of a pre-parsing ACK mechanism provided by an embodiment of the present application;

[0036] Figure 6 FIG. is a schematic diagram of a dynamic traffic adjustment strategy provided by an embodiment of the present application;

[0037] Figure 7 FIG. is a schematic diagram of the structure of a SIP signaling transmission and traffic control device provided by an embodiment of the present application;

[0038] Figure 8 It is a schematic structural diagram of a computer device provided by an embodiment of the present application. Detailed implementation manners

[0039] In the following description, specific details such as specific system architectures and technologies are presented for the purpose of illustration rather than limitation, so as to thoroughly understand the embodiments of the present application. However, those skilled in the art should clearly understand that the present application can also be implemented in other embodiments without these specific details. In other cases, detailed descriptions of well-known systems, devices, circuits, and methods are omitted to avoid unnecessary details from interfering with the description of the present application.

[0040] It should be understood that when used in the specification of the present application and the appended claims, the term "comprising" indicates the presence of the described features, wholes, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, wholes, steps, operations, elements, components, and / or their combinations.

[0041] It should also be understood that the term "and / or" used in the specification of the present application and the appended claims refers to any combination and all possible combinations of one or more of the associated listed items, and includes these combinations.

[0042] As used in the specification of the present application and the appended claims, the term "if" can be interpreted as "when", "once", "in response to determining", or "in response to detecting" according to the context. Similarly, the phrase "if determined" or "if detecting [the described condition or event]" can be interpreted as meaning "once determined", "in response to determining", "once detecting [the described condition or event]", or "in response to detecting [the described condition or event]" according to the context.

[0043] In addition, in the description of the specification of the present application and the appended claims, the terms "first", "second", "third", etc. are only used for distinguishing descriptions and cannot be understood as indicating or implying relative importance.

[0044] The reference to "an embodiment" or "some embodiments" etc. described in the specification of the present application means that a specific feature, structure, or characteristic described in combination with the embodiment is included in one or more embodiments of the present application. Thus, statements such as "in an embodiment", "in some embodiments", "in other some embodiments", "in still other embodiments", etc. that appear in different places in this specification do not necessarily refer to the same embodiment, but mean "one or more but not all embodiments", unless otherwise specifically emphasized in other ways. The terms "comprising", "including", "having", and their variants all mean "including but not limited to", unless otherwise specifically emphasized in other ways.

[0045] An embodiment of the present application provides a SIP signaling transmission and traffic control method, which includes:

[0046] Obtain the predicted value of SIP signaling traffic in the SIP network through a traffic prediction model. When the predicted value of SIP signaling traffic exceeds the threshold, trigger a traffic adjustment strategy; the above traffic adjustment strategy includes: allocating traffic priorities to SIP signals according to the SIP signaling type, and preferentially forwarding high-priority signals; the priority of delay-sensitive signals is higher than that of other types of SIP signals; the above SIP network includes at least one SIP device (or user agent) and at least one SIP server;

[0047] Any SIP device monitors its own status in real time. If there is status change information that needs to be synchronized, generate a differential data packet according to the above status change information, and transmit the above differential data packet to the corresponding SIP server, so that the above SIP server updates the status information of the above SIP device stored by it according to the above differential data packet; otherwise, send a heartbeat signal according to a preset time period to complete SIP periodic registration.

[0048] Through the above method, on the one hand, through traffic prediction and adjustment strategies, the present application can dynamically optimize signaling transmission, reasonably allocate signaling priorities, ensure that high-priority signals are preferentially transmitted during traffic peaks, effectively relieve network congestion, reduce network latency, and improve the real-time performance and stability of the communication system; on the other hand, by adopting a differential update mechanism, only the differential data packets of status changes are transmitted, greatly reducing redundant data transmission, reducing network bandwidth occupancy and server processing burden, and improving the resource utilization efficiency and response speed of the system.

[0049] The technical solutions in the embodiments of the present application will be described in detail below. It should be understood that the sequence numbers of the steps in the subsequent embodiments do not mean the order of execution. The execution order of each process should be determined according to its function and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

[0050] The technical solutions in the embodiments of the present application will be described in detail below.

[0051] (1) Signaling transmission optimization

[0052] In terms of signaling transmission, the embodiment of the present application has designed the SIP registration process in detail, which is specifically described below:

[0053] (1.1) Registration process optimization

[0054] (1.1.1) Differential update mechanism

[0055] The traditional SIP registration process has the following problems: SIP devices need to periodically send REGISTER requests (registration requests) to update the registration information recorded by the server. Even if there is no state change, the complete data needs to be transmitted. When multiple devices register simultaneously, the signaling volume is large, which will increase the server load and communication delay at this time. This patent starts from the perspective of the registration process and adopts a differential update mechanism. It should be noted that the REGISTER request usually requires the user to prove the legitimacy of their identity to the server through an authentication mechanism (such as Digest authentication). The server will verify the user's identity information (such as username, password, etc.) to ensure that only legitimate users can register.

[0056] To address the above problems, in the embodiments of this application, when the REGISTER request is periodically registered, only the fields of the device state change are transmitted to reduce the amount of redundant data in the case of device state change. If there is no state change, only a heartbeat signaling needs to be sent to maintain the registration state, and there is no need to send a complete REGISTER message. Figure 1 Fig. shows a schematic diagram of a SIP registration process provided by an embodiment of this application. As Figure 1 shown, the process specifically includes:

[0057] S101, device state change detection.

[0058] In this step, the SIP device detects its own state in real time. Exemplarily, the state information (or fields) of the SIP device includes: device identifier, IP address, port number, authentication information (the device's secret key or verification information), and device operating state. When any state information of the SIP device is detected to change, the specific change content is recorded. For example, if the IP address of the SIP device changes from 192.168.0.10 to 192.168.0.11 and the communication port changes from 5060 to 5062, then the above two state information changes are detected and the specific change content is recorded.

[0059] S102, generate a differential data packet.

[0060] In this step, the SIP device generates a differential data packet according to the detected state change information to be synchronized.

[0061] Exemplarily, the differential data packet may only contain the information different from the initial state information of the SIP device. For example: the format of the differential data packet can be {"IP": "192.168.0.11", "Port": "5062"}, that is, it only contains the changed IP address and communication port number.

[0062] If the state information of the SIP device does not change, only a simple heartbeat signaling needs to be sent to the SIP server regularly to maintain the registration state, and there is no need to generate a differential data packet.

[0063] S103, Transmit the differential data packet.

[0064] In this step, the SIP device transmits the differential data packet to the SIP server via a REGISTER request, avoiding the repeated transmission of the complete registration information. The following is an example of the transmission of the differential data packet:

[0065] When registering for the first time, the SIP device sends a complete REGISTER request to the SIP server, containing all necessary fields:

[0066] REGISTER sip:example.com SIP / 2.0

[0067] Via: SIP / 2.0 / UDP 192.168.0.10:5060;branch=z9hG4bK001

[0068] Contact: <sip:user1@192.168.0.10:5060>

[0069] Expires: 3600

[0070] Call-ID: abc123@example.com

[0071] CSeq: 1 REGISTER

[0072] This REGISTER request contains the target domain of the registration request, the SIP protocol version used, the path information (Via) through which the request passes, the branch identifier (BRANCH_ID), the SIP device address information (Contact), the validity period of the registration information (Expires), the session identifier (CALL_ID), and the sequence number (CSeq).

[0073] When the status of the SIP device changes, the SIP device only sends a differential data packet to the SIP server based on the changed status information:

[0074] REGISTER sip:example.com SIP / 2.0

[0075] Call-ID: abc123@example.com

[0076] CSeq: 2 REGISTER

[0077] Status-Change: { "IP": "192.168.0.11", "Port": "5062"}

[0078] The REGISTER request contains the target domain of the registration request, the SIP protocol version used, the session identifier (CALL_ID), the sequence number (CSeq), and the changed status information (IP address and communication port number).

[0079] By comparing the data packets sent in the initial registration and the differential data packets, it can be seen that the differential data packets in the embodiments of the present application effectively reduce the amount of data required to be transmitted to the SIP server when the status of the SIP device changes.

[0080] S104, status update processing.

[0081] Exemplarily, in this step, after receiving the differential data packet of the SIP device, the SIP server verifies the integrity and legality of the differential data (such as through authentication information verification), and updates the status information of the SIP device stored therein according to the content thereof. For example: update the IP address and communication port number of the SIP device.

[0082] In one embodiment, the SIP protocol can use the Digest authentication method. Figure 2 Exemplarily shows a Digest authentication process, such as Figure 2 As shown, this authentication process includes:

[0083] S201, the SIP device initially sends a REGISTER request to the SIP server without an Authorization header.

[0084] S202, the SIP server returns a 401 Unauthorized response and attaches a WWW-Authenticate header.

[0085] Exemplarily, the response returned by the SIP server is as follows:

[0086] SIP / 2.0 401 Unauthorized

[0087] WWW-Authenticate: Digest realm="example.com", nonce="xyz123", algorithm=MD5, qop="auth"

[0088] S203, the SIP device resends the REGISTER request with an Authorization header.

[0089] Exemplarily, the REGISTER request resended by the SIP device is as follows:

[0090] REGISTER sip:example.com SIP / 2.0

[0091] Call-ID: abc123@example.com

[0092] CSeq: 2 REGISTER

[0093] Authorization: Digest username="device1", realm="example.com", nonce="xyz123", response="abcd5678"

[0094] In S204, the SIP server verifies whether the response is correct and checks whether the same nonce is used.

[0095] All differential data packets need to be authenticated. The Authorization header needs to be extracted to ensure that it is a legal device updating its information. The heartbeat signaling does not require authentication information and is only used to maintain the online status.

[0096] (1.1.2) Group registration mechanism

[0097] This application also proposes an optimized mechanism for large-scale SIP device registration. By means of technical means such as group registration, pre-caching, and differential update, the instantaneous load on the server is reduced and the registration efficiency is improved.

[0098] To avoid the excessive instantaneous load on the server caused by the simultaneous registration of a large number of devices, the embodiment of this application proposes to adopt a batch registration method based on group management. The grouping strategy can be dynamically adjusted according to factors such as the geographical location of the device, the IP address segment, the device priority, or the network status. Exemplarily, the SIP devices in the SIP network can be grouped according to the target characteristics of the SIP devices. The characteristic values of the target characteristics of the SIP devices in each group are the same; the time for each group of SIP devices to send registration requests is allocated according to the characteristic values of the target characteristics; when the SIP devices in the SIP network are started, each group of SIP devices sends a registration request to the SIP server according to the allocated time for sending the registration request.

[0099] The following takes the grouping according to the IP address segment as an example for illustration: Device group A (priority registration): 192.168.1.0 / 24, used for high-priority areas, which are generally the core communication nodes in big cities such as Beijing and Shanghai; Device group B (delayed registration): 192.168.2.0 / 24, used for ordinary areas. When the device is started, the device selects an appropriate time to send a registration request according to the grouping strategy. For example, the registration time for device group A: t = 0 seconds, and the registration time for device group B: t = 5 seconds. The SIP server gradually receives device registrations to avoid sudden traffic.

[0100] The grouping policy can be configured to SIP devices in various ways, such as being dynamically issued by the server, manually configured, etc. Exemplarily, the grouping policy can be dynamically issued by the SIP server to each device after the SIP device starts up. Common SIP devices (such as access control devices, cameras) support the functions of active pulling and server pushing. The process of issuing the grouping policy can refer to the following: 1) After the SIP device starts up, it sends device information (IP address, MAC address, device ID, etc.) to the SIP server; 2) The SIP server returns the corresponding grouping policy according to the device information; 3) The SIP device periodically queries the SIP server to check whether there is a new grouping policy.

[0101] In some embodiments, the grouping registration mechanism is used to alleviate the problem that the server may have an instantaneous overload when a large number of devices register simultaneously. The grouping registration mechanism is applicable to initial registration and periodic registration, and the grouping information can remain unchanged or be dynamically adjusted during the initial registration and periodic registration processes. When registering for the first time, the device grouping information is stored in the server, and during subsequent registrations, the cached data can be directly compared for quick verification. Whether the subsequent grouping information can change depends on specific business requirements.

[0102] (1.1.3) Pre-caching mechanism

[0103] In the existing SIP devices, the server usually needs to verify complete parameters (such as user authentication, device configuration, etc.) during each registration, which increases the computing burden on the server. The embodiments of this application provide a pre-caching mechanism to reduce the repeated verification of information by caching the static parameters of the device in the SIP proxy server. The specific implementation logic is as follows: The SIP server caches the static parameters (such as device ID, authentication information) of any SIP device according to the initial registration request of the SIP device; after the SIP server receives the differential data packet of any SIP device, it performs parameter verification and status update according to the status change information in the differential data packet and the static parameters of this SIP device cached by itself.

[0104] To facilitate the understanding of the pre-caching mechanism provided by the embodiments of this application, the following is an illustration with examples:

[0105] Initial device registration (complete authentication): 1) The SIP device sends a registration request containing device information (including authentication information such as device ID, key or signature, IP address, network port, etc.) to the SIP server; 2) The SIP server verifies the device key or signature and records the device information; 3) The server stores the static data in the cache (Redis, Memcached, etc.); 4) After the server successfully authenticates the device, it returns an authentication Token to the SIP device for subsequent quick verification.

[0106] Subsequent device registration (quick verification): 1) The SIP device sends a registration request (including device ID, IP address, network port, authentication Token) to the SIP server; 2) The SIP server reads the static data (device ID, key, etc.) of the device from the cache; 3) The SIP server only compares the dynamic data (IP address, network port, authentication Token). If the authentication Token is valid, the authentication passes directly. Otherwise, a complete re - authentication is required; 4) If the SIP server successfully authenticates the SIP device, it returns the latest policy or a heartbeat confirmation.

[0107] It should be noted that the various mechanisms provided in the embodiments of the present application can be used separately or in combination. Figure 3 An exemplary schematic diagram of the collaborative operation of a differential update mechanism, a grouped registration mechanism, and a pre - caching mechanism is shown. As Figure 3 shown, in the first step of the device initialization phase, the SIP device determines the registration time according to the grouping policy and continuously detects its own status. In the second step of the differential update phase, when the SIP device detects a change in its own status, it generates a differential data packet that only contains the status change fields, and transmits the differential data packet to the server through a REGISTER request. In the third step of the grouped registration phase, the SIP device registers in batches by group to avoid excessive instantaneous traffic. At the same time, each REGISTER request for each batch of registration is based on the differential update mechanism and only transmits the necessary data. In the fourth step of the server processing phase, for the first registration request, the SIP server stores the device static fields in the cache; for subsequent registration requests, the SIP server verifies the differential fields according to the cache data and the authentication Token, and quickly completes the status update.

[0108] Through the collaborative work of the differential update mechanism, the grouped registration mechanism, and the pre - caching mechanism, the present application realizes the high - efficiency of the SIP device registration process. The differential update mechanism reduces redundant data transmission; the grouped registration mechanism smooths the instantaneous load of the server; the pre - caching mechanism further improves the verification efficiency.

[0109] (1.2) Session invitation optimization:

[0110] During the establishment of the SIP session, the interaction of the INVITE message and its response is prone to generating redundant content, which affects the efficiency. The present application proposes an optimized design for this problem, which mainly includes a quick invitation template and a pre - parsed ACK mechanism.

[0111] (1.2.1) Quick invitation template

[0112] Traditional INVITE messages contain a large number of repeated fields (such as Via, Call - ID, etc.). Each time a session is established, a complete INVITE message needs to be generated, which imposes a large burden on message generation and transmission. An example of a traditional INVITE message is as follows:

[0113] INVITE sip:user2@example.com SIP / 2.0

[0114] Via:SIP / 2.0 / UDP 192.168.1.10;branch=z9hG4bK776asdhds

[0115] Max-Forwards:70

[0116] From:<sip:user1@example.com>;tag=1928301774

[0117] To:<sip:user2@example.com>

[0118] Call-ID:asd88asd77a@192.168.1.10

[0119] CSeq:1 INVITE

[0120] Contact:<sip:user1@192.168.1.10>

[0121] Content-Type:application / sdp

[0122] Content-Length:150

[0123] <SDP information is omitted>

[0124] This application reduces unnecessary field generation and transmission by enabling any SIP device to generate an INVITE message by filling in the required dynamic fields in a predefined INVITE template, which includes the INVITE message schema and the static fields required for the INVITE message. Figure 4 An exemplary schematic diagram of the usage process of a fast invitation template is shown, as Figure 4 shown, and the process specifically includes:

[0125] S401, establishment and distribution of the predefined INVITE template.

[0126] During the device production phase, the template file is written into the device storage through the configuration tool, and the template version information (such as Template_v1.0) is recorded in the device firmware. When the device is registered, the server verifies the template version. If the device template version is lower than the server version, the server distributes the latest template to the device via the PUBLISH message. The template includes static fields (such as protocol type, basic field structure) and dynamic fields (such as target address, device IP).

[0127] An example template is as follows:

[0128] INVITE sip:[TARGET] SIP / 2.0

[0129] Via:SIP / 2.0 / UDP [DEVICE_IP];branch=[BRANCH_ID]

[0130] Max-Forwards:[MAX_FORWARDS]

[0131] From:<sip:[USER_FROM]>;tag=[TAG]

[0132] To:<sip:[TARGET]>

[0133] Call-ID:[CALL_ID]

[0134] CSeq:1 INVITE

[0135] Contact:<sip:[USER_CONTACT]>

[0136] Content-Type:application / sdp

[0137] Content-Length:[CONTENT_LENGTH]

[0138] <SDP information is omitted>

[0139] S402, dynamic field collection and filling.

[0140] The device collects dynamic field values in real time when the session is started, including the target address ([TARGET]), device IP ([DEVICE_IP]), session identifier ([CALL_ID]), etc. There may be various implementation methods for collecting dynamic fields. Exemplarily: The device collects dynamic field values in real time when the session is started, including: The target address ([TARGET]) is obtained from the device configuration of the user operation; The device IP ([DEVICE_IP]): is dynamically read from the network stack; The session identifier ([CALL_ID]): is generated according to the device timestamp and the unique identifier; Other fields (such as [TAG], [BRANCH_ID], etc.): are obtained from the device status or the internal random generator.

[0141] After the collection is completed, the dynamic fields are filled in according to the placeholder positions in the template. For example:

[0142] [TARGET] -> sip:user2@example.com

[0143] [DEVICE_IP] -> 192.168.1.10

[0144] [CALL_ID] -> asd88asd77a@192.168.1.10

[0145] S403, INVITE message generation and transmission.

[0146] The SIP device quickly generates the final INVITE message based on the INVITE template and the dynamic field filling result. Among them, the static fields do not need to be regenerated repeatedly, and the dynamic fields are assembled through real-time filling and finally sent to the SIP server.

[0147] S404, server reception and processing.

[0148] After the server receives the INVITE message, it parses the dynamic fields according to the predefined template and verifies the legality of the field content (such as whether the address matches the authenticated user and whether the message structure conforms to the protocol standard). If it meets the standard, a response message is generated according to the session.

[0149] Through the fast invitation template provided by this application, the static fields (such as protocol type, device IP format, message structure, etc.) have been defined in the template and do not need to be regenerated repeatedly, thus effectively reducing the generation of redundant information; at the same time, since the device only needs to fill in the dynamic fields (such as target address, user information), the calculation time for signaling generation and the amount of transmitted data are reduced, effectively improving the transmission efficiency.

[0150] (1.2.2) Pre-parsed ACK mechanism

[0151] In the traditional INVITE process, the ACK message needs to be generated and sent after receiving the 200 OK response, which is likely to cause interaction delay. In the embodiments of this application, a possible ACK response is generated in advance through pre-parsing technology. For example, for any SIP device, according to the historical session data with the peer device, the probability that the peer device gives a correct response within a preset response time is predicted. If the predicted probability is greater than the threshold, the ACK message is sent in advance; otherwise, wait for the peer device to give a normal response and then send the ACK message, thereby effectively shortening the sending time of the ACK message. Figure 5 An exemplary flow diagram showing a pre-parsing ACK mechanism is as Figure 5 shown, and the specific implementation of this process is as follows:

[0152] S501, collect historical sessions.

[0153] In this step, by analyzing the historical session logs, the response patterns of the peer devices of the SIP device are extracted to provide basic data for pre-parsing. Exemplarily, collecting historical sessions includes: collecting the communication record logs of the device, recording the session response information after each INVITE request, including the peer IP address, port number, response type (such as 200 OK), and response time (the time interval from INVITE sending to response receiving).

[0154] S502, data preprocessing.

[0155] Parse and unify the format of the data collected above. For example:

[0156] [{ "Peer IP": "192.168.1.15", "Response Type": "200 OK", "Response Delay": 2, "To:tag": "123456"},

[0157] { "Peer IP": "192.168.1.15", "Response Type": "200 OK", "Response Delay": 1, "To:tag": "123457"},

[0158] { "Peer IP": "192.168.1.15", "Response Type": "200 OK", "Response Delay": 3, "To:tag": "123458"},

[0159] { "Peer IP": "192.168.1.20", "Response Type": "486 Busy Here", "Response Delay": 4, "To:tag": "123459"}]

[0160] S503, extract the response patterns of the peer devices.

[0161] Perform statistical analysis on the preprocessed data, extract the response patterns of the peer device, and provide a basis for generating prediction rules.

[0162] Exemplarily, first determine the conditions and the target. For example, condition A is that the peer IP == 192.168.1.15 and the response type == 200 OK, and target B is that the response latency ≤ 2 milliseconds. Calculate the number of times that condition A is satisfied and the number of times that both A and B are satisfied, and then calculate the conditional probability P(B∣A).

[0163] S504, generate an ACK prediction rule and send an ACK message according to this rule.

[0164] Generate the following rule according to the statistical results of S503:

[0165] If P(B∣A) ≥ threshold (such as 90%), send ACK in advance, otherwise wait for a normal response.

[0166] In one embodiment, to reduce the computational burden of real-time generating ACK messages, the present application also provides a mechanism for pre-generating ACK templates. This mechanism includes: according to the SIP protocol standard, pre-generate possible ACK message templates (i.e., ACK message architectures) in advance. The templates contain static fields (i.e., common fields) and dynamic fields. The dynamic fields include the target address [TARGET], the peer tag [REMOTE_TAG], the sequence number [SEQ_NUMBER], etc. The SIP device dynamically fills the specific field content into the corresponding positions in the ACK template.

[0167] An example of an ACK template is as follows:

[0168] ACK sip:[TARGET] SIP / 2.0

[0169] Via:SIP / 2.0 / UDP [DEVICE_IP];branch=[BRANCH_ID]

[0170] From:<sip:[USER_FROM]>;tag=[TAG]

[0171] To:<sip:[TARGET]>;tag=[REMOTE_TAG]

[0172] Call-ID:[CALL_ID]

[0173] CSeq:[SEQ_NUMBER] ACK

[0174] Content-Length:0

[0175] Exemplarily, when generating an ACK message, the ACK pre-generation template file can be loaded when the SIP device starts up and stored in memory. When sending an INVITE message, an ACK message with pre-populated static fields is generated according to the above steps in accordance with the ACK template. When the session is established, a filling function is called to fill in the actual values of the dynamic fields into the placeholders (i.e., the corresponding positions) in the template, and the remote tag (such as the To: tag field carried in the 200 OK response) is dynamically updated according to the actual session.

[0176] Exemplarily, the dynamic fields can be obtained in real time when generating an ACK message. Among them, the target address ([TARGET]) is extracted from the target field of the INVITE message, the device IP address ([DEVICE_IP]) is queried in real time through the network interface of the device, the branch identifier ([BRANCH_ID]) is dynamically generated by a random generator, the initiating user information ([USER_FROM] and [TAG]) is read from the device configuration file, the remote tag ([REMOTE_TAG]) is extracted from the received 200 OK response, the session identifier ([CALL_ID]) is inherited from the INVITE message, and the sequence number ([SEQ_NUMBER]) is incremented by session.

[0177] Exemplarily, a partial ACK can be sent in advance. For example, after receiving a partial response (such as 180 Ringing), a partial ACK message is sent in advance to reduce the waiting time. If the parameters confirmed by the peer change later (such as different tags), the final ACK is re-sent to overwrite the previous message. The parameters of the dynamic fields in the ACK template may all change.

[0178] In one embodiment, the present application also provides a conflict detection and fallback mechanism. If the 200 OK response received by the SIP device does not match the expectation (such as different tags or target addresses), the system will immediately fallback and re-send the matching ACK message. Among them, the fallback operation will forcibly interrupt the current session, re-generate the matching ACK message and send it to restore the session to the correct state.

[0179] (2) Dynamic traffic control

[0180] The goal of dynamic traffic control is to reduce network congestion and avoid signaling accumulation or packet loss problems in case of overload by dynamically adjusting. The present application adopts a traffic prediction model based on LSTM (Long Short-Term Memory) to monitor network traffic regularly and adjust the signaling forwarding strategy in advance. At the same time, the DiffServ (Differentiated Services) mechanism is used to assign different QoS tags to SIP traffic to ensure the preferential processing of delay-sensitive signaling (such as INVITE).

[0181] (2.1)LSTM-based SIP Signaling Traffic Prediction Model

[0182] SIP signaling is delay-sensitive in real-time communication. In particular, critical signaling such as INVITE requires a quick response. The SIP signaling traffic in the network usually exhibits time-series characteristics of alternating peaks and valleys. By introducing an LSTM model to predict the traffic trend, the traffic peak can be sensed in advance, and the traffic priority and forwarding strategy can be dynamically adjusted, thereby improving the signaling processing efficiency. The establishment of the model specifically includes the following steps:

[0183] (2.1.1)Data Collection and Preprocessing

[0184] Data collection: Exemplarily, real-time traffic statistics data for each time interval (Δt, in seconds) are collected from network devices (switches or routers). The data types include different SIP signaling such as INVITE, REGISTER, and BYE.

[0185] Feature construction: The traffic of each type of signaling is constructed into a time series

[0186] Within each time interval (e.g., 10 seconds), the system counts the number of signaling such as INVITE, REGISTER, and BYE, and organizes these statistical results in chronological order into a time series as the input data for the model. For example:

[0187] Time point 1: INVITE = 120, REGISTER = 90, BYE = 30

[0188] Time point 2: INVITE = 140, REGISTER = 85, BYE = 25

[0189] By constructing such a time series, it can be clearly observed that the INVITE traffic gradually increases and may be approaching a peak, while the REGISTER and BYE traffic is relatively stable.

[0190] As a deep learning model for processing time-series data, the LSTM model can effectively capture the time-series characteristics of signaling traffic. Its input features are the signaling traffic values at the past N time points, and the output is the predicted value of the future traffic. For example, if the input is [120, 90, 30], [140, 85, 25], then the output may be [150, 87, 28]. This indicates that the model predicts that the INVITE traffic will reach 150 at the next time point, showing a trend of traffic peak.

[0191] Constructing the traffic data of each type of signaling into a time series can more effectively capture the dynamic change characteristics of signaling traffic. For example:

[0192] Time point 1: [INVITE = 120, REGISTER = 90, BYE = 30]

[0193] Time point 2: [INVITE = 140, REGISTER = 85, BYE = 25]

[0194] Data normalization: Perform M in -M ax normalization on the traffic of each type of signaling to eliminate the numerical differences between different signaling traffic and avoid a certain type of signaling data dominating in model training. The time series after normalization is as follows, and all subsequent y t are data after normalization:

[0195]

[0196] Exemplarily, the time series after normalization may be

[0197] Time series =

[0198] [0.6, 0.4, 0.2],

[0199] [0.7, 0.38, 0.17], ...

[0201] (2.1.2)LSTM Model Design

[0202] (2.1.2.1)Define Input and Output.

[0203] Take the time series of SIP signaling traffic at the past N time points as the input, and the output is the predicted SIP signaling traffic at one or more future time points.

[0204] (2.1.2.2)Design the Model Structure.

[0205] The inside of the LSTM model consists of multiple modules, including the forget gate, input gate, candidate memory unit, update memory unit, output gate, and hidden state. The specific design of the LSTM model structure includes:

[0206] 1)Design the forget gate.

[0207] Forget gate Controls whether the model needs to forget the information at past time points, for example, whether certain signaling traffic in history (such as an outdated INVITE peak) is still meaningful for the current prediction. Based on the hidden state h (t-1) at the previous time point and the current input x t ​, calculate a ratio with a value range of [0, 1]. A value close to 1 indicates retaining historical information, and a value close to 0 indicates forgetting historical information. The calculation formula is as follows:

[0208]

[0209] 2) Design the input gate and candidate memory unit.

[0210] Input gate Controls whether the new information at the current time point needs to be written into the memory unit. Candidate memory unit Generates the potential memory value at the current time point for updating the memory unit. The specific formula is as follows:

[0211]

[0212] 3) Update the memory unit.

[0213] Integrate the outputs of the forget gate and the input gate to dynamically update the state of the memory unit. Use the following formula to calculate. Combine historical memory and current SIP signaling data, forget a part of the historical information, and at the same time add a part of the new information at the current time point. The specific formula is as follows:

[0214]

[0215] 4) Output gate and hidden state.

[0216] Output gate Controls which information in the memory unit needs to be output for predicting the SIP signaling traffic at the next time point. Hidden state Is the bridge for information transfer between LSTM units. At each time step, the hidden state will transfer the information at the current time step to the next time step. The specific formula is as follows:

[0217]

[0218] (2.1.2.3) Model training and optimization

[0219] Loss function: Calculate the mean squared error (MSE) based on the actual traffic and predicted traffic of SIP signaling:

[0220]

[0221] Training environment base: Based on the deep learning framework PyTorch, use historical traffic data to complete model training; use the Adam optimizer for gradient update, and set the initial learning rate α = 0.001.

[0222] Real-time prediction: Deploy the trained model to predict the current traffic at fixed intervals (e.g., every 5 seconds). By predicting the SIP traffic peak, adjust the QoS policy in advance. For example, assign a high-priority label to the predicted peak INVITE traffic (e.g., set the DSCP value to EF46).

[0223] (2.2) Configuration of the Differentiated Services (DiffServ) mechanism

[0224] DiffServ is a Quality of Service (QoS) management mechanism that differentiates traffic priorities using different labels. By assigning corresponding QoS labels to different types of traffic, key traffic is processed first to ensure the fast forwarding of delay-sensitive signaling.

[0225] In this application for the SIP protocol, traffic is first classified into three levels: 1) High priority: Delay-sensitive signaling, such as INVITE; 2) Medium priority: Ordinary signaling, such as REGISTER; 3) Low priority: Such as non-critical service traffic. Subsequently, DSCP (Differentiated Services Code Point) is configured to assign priorities to different traffic using the DSCP field in the IP header: EF (Expedited Forwarding, value 46): High-priority traffic; AF31 (Assured Forwarding, value 26): Medium-priority traffic; BE (Best Effort, value 0): Low-priority traffic. Then, configure the QoS policy on the router or switch to mark the traffic and apply the policy to the interface.

[0226] Finally, configure the priority-based queue scheduling mechanism. The high-priority queue (EF) is allocated more bandwidth, and the medium- and low-priority queues (AF31, BE) are allocated bandwidth as needed.

[0227] (2.3) Dynamic traffic adjustment strategy

[0228] The embodiment of this application provides a dynamic traffic adjustment strategy. By real-time monitoring network traffic and combining with the LSTM model to predict traffic peaks, dynamically adjust the priority and forwarding strategy of signaling to avoid network congestion. When the predicted traffic exceeds the threshold, the system can give priority to processing delay-sensitive signaling (such as SIP INVITE), and can also reduce the forwarding rate of low-priority traffic. By dynamically adjusting the transmission rate of signaling, efficient traffic management can be achieved, ensuring the priority forwarding of delay-sensitive traffic and enhancing the stability and reliability of the network.

[0229] To facilitate understanding of the dynamic traffic adjustment strategy provided by this application, the following is combined with Figure 6 for illustration.

[0230] When the LSTM predicts that the future traffic value exceeds the set threshold (for example, the bandwidth utilization rate reaches 80%), the system triggers a traffic adjustment strategy. An example of this traffic adjustment strategy is as follows:

[0231] Guarantee of high-priority signaling: Forward high-priority signaling (such as SIP INVITE) preferentially, and ensure its real-time performance through the bandwidth reservation mechanism;

[0232] Rate limiting of low-priority traffic: Impose rate limits on low-priority traffic (such as BE) or discard some data packets;

[0233] Adjust bandwidth allocation: Dynamically adjust the bandwidth allocation ratio of traffic at each priority level according to real-time traffic prediction.

[0234] During the training process of the LSTM model of this application, three types of SIP signaling, namely INVITE, REGISTER, and BYE, are used as examples for application. These signals cover common scenarios such as session establishment, device registration, and session termination, and are highly representative. However, this is only for reference, and this application is not limited to the above three types of signaling. Those skilled in the art can, according to actual needs, extend the application of the LSTM model of this application to other types of SIP signaling (such as OPTIONS, ACK, etc.) to meet the dynamic traffic management requirements of specific service scenarios.

[0235] Corresponding to the SIP signaling transmission and traffic control method described in the above embodiment, Figure 7 The structural block diagram of the SIP signaling transmission and traffic control device provided by the embodiment of this application is shown. For the convenience of description, only the parts related to the embodiment of this application are shown.

[0236] Refer to Figure 7 This device includes:

[0237] A traffic control module 701, configured to obtain the predicted value of SIP signaling traffic in the SIP network through a traffic prediction model, and trigger a traffic adjustment strategy when the predicted value of SIP signaling traffic exceeds the threshold; the traffic adjustment strategy includes: allocating traffic priorities to SIP signaling according to the SIP signaling type, and preferentially forwarding high-priority signaling; the priority of delay-sensitive signaling is higher than that of other types of SIP signaling; the SIP network includes at least one SIP device and at least one SIP server;

[0238] A signaling transmission module 702, configured to control any SIP device to monitor its own status in real time. If there is status change information that needs to be synchronized, generate a differential data packet according to the status change information, and transmit the differential data packet to the corresponding SIP server, so that the SIP server updates the status information of the SIP device stored by it according to the differential data packet; otherwise, send a heartbeat signal according to a preset time period to complete SIP periodic registration.

[0239] It should be noted that for the information interaction, execution process, etc. between the above modules, since they are based on the same concept as the method embodiments of this application, for their specific functions and the technical effects brought about, reference can be specifically made to the method embodiment part, and details will not be elaborated here.

[0240] Those skilled in the art can clearly understand that, for the convenience and conciseness of description, only the above-mentioned division of each functional unit and module is used as an example for illustration. In actual applications, the above functions can be allocated to different functional units and modules according to needs, that is, the internal structure of the device is divided into different functional units or modules to complete all or part of the functions described above. Each functional unit and module in the embodiment can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units. In addition, the specific names of each functional unit and module are only for the convenience of mutual distinction and do not limit the protection scope of this application. The specific working processes of the units and modules in the above system can refer to the corresponding processes in the foregoing method embodiments, and details will not be elaborated here.

[0241] An embodiment of this application also provides a computer device, which includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor. When the processor executes the computer program, the steps in any of the above method embodiments are implemented.

[0242] An embodiment of this application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the steps in the above method embodiments can be implemented.

[0243] An embodiment of this application provides a computer program product. When the computer program product runs on a mobile terminal, the mobile terminal is enabled to execute the steps in the above method embodiments.

[0244] Figure 8 It is a schematic structural diagram of a computer device provided by an embodiment of this application. As Figure 8 shown, the computer device of this embodiment includes: at least one processor 80 ( Figure 8 only one is shown here), a memory 81, and a computer program 82 stored in the memory 81 and executable on the at least one processor 80. When the processor 80 executes the computer program 82, the steps in any of the above visual programming method embodiments are implemented.

[0245] The computer device may include, but is not limited to, a processor 80 and a memory 81. Those skilled in the art can understand that Figure 8 merely examples of the computer device, which do not constitute a limitation on the computer device, may include more or fewer components than shown in the figure, or combine certain components, or different components. For example, it may also include input / output devices, network access devices, etc.

[0246] The so-called processor 80 may be a central processing unit (CPU), and the processor 80 may also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.

[0247] The memory 81 may be an internal storage unit of the computer device in some embodiments, such as the hard disk or memory of the computer device. The memory 81 may also be an external storage device of the computer device in other embodiments, such as a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, etc. equipped on the computer device. Further, the memory 81 may also include both the internal storage unit and the external storage device of the computer device. The memory 81 is used to store an operating system, application programs, a boot loader, data, and other programs, such as the program code of the computer program, etc. The memory 81 may also be used to temporarily store data that has been output or will be output.

[0248] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, to implement all or part of the processes in the above method embodiments of this application, a computer program can be used to instruct the relevant hardware to complete. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by a processor, the steps of the above method embodiments can be implemented. Among them, the computer program includes computer program code, and the computer program code can be in the form of source code, object code, executable file or some intermediate form, etc. The computer-readable medium can at least include: any entity or device that can carry the computer program code to the device / computer equipment, recording medium, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal, and software distribution medium. For example, USB flash drive, mobile hard disk, magnetic disk or optical disc, etc. In some jurisdictions, according to legislation and patent practice, the computer-readable medium cannot be electrical carrier signal and telecommunication signal.

[0249] In the above embodiments, the descriptions of the various embodiments have their own emphases. For the parts not detailed or recorded in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.

[0250] Those of ordinary skill in the art can realize that the units and algorithm steps of the examples described in combination with the embodiments disclosed herein can be implemented by electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods for each specific application to implement the described functions, but such implementation should not be considered to exceed the scope of this application.

[0251] In the embodiments provided in this application, it should be understood that the disclosed device / computer equipment and method can be implemented in other ways. For example, the device / computer equipment embodiments described above are only illustrative. For example, the division of the modules or units is only a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in an electrical, mechanical or other form.

[0252] The unit described as a separation component may or may not be physically separated. The component displayed as a unit may or may not be a physical unit, that is, it may be located in one place or distributed across multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0253] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features. These modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the various embodiments of the present application, and should all be included within the protection scope of the present application.

Claims

1. A SIP signaling transmission and flow control method, characterized in that: include: The traffic prediction model is used to obtain the predicted value of SIP signaling traffic in the SIP network. When the predicted value of SIP signaling traffic exceeds the threshold, the traffic regulation strategy is triggered. The traffic regulation strategy includes: allocating traffic priority to SIP signaling according to the SIP signaling type, and forwarding high-priority signaling first; delay-sensitive signaling has a higher priority than other types of SIP signaling; the SIP network includes at least one SIP device and at least one SIP server; Any SIP device monitors its own status in real time. If there is status change information that needs to be synchronized, a difference data packet is generated according to the status change information, and the difference data packet is transmitted to the corresponding SIP server, so that the SIP server updates the status information of the SIP device stored therein according to the difference data packet; otherwise, a heartbeat signaling is sent according to a preset time period to complete the SIP periodic registration; For any SIP device, based on the historical session data with the peer device, predict the probability that the peer device will give a correct response within the preset response time. If the predicted probability is greater than the threshold, send an ACK message in advance; otherwise, wait for the peer device to respond normally before sending an ACK message. If the 200 OK response received by the SIP device does not match the expectation, it rolls back and resends the matching ACK message; wherein the rollback operation forcibly interrupts the current session, regenerates and sends the matching ACK message to restore the session to the correct state.

2. The method according to claim 1, characterized in that The method further comprises: The SIP devices in the SIP network are grouped according to target characteristics of the SIP devices, wherein the characteristic values ​​of the target characteristics of the SIP devices in each group are the same; and the time for each group of SIP devices to send a registration request is allocated according to the characteristic value of the target characteristics; When the SIP devices in the SIP network are started, each group of SIP devices sends a registration request to the SIP server according to the allocated time for sending the registration request.

3. The method according to claim 2, characterized in that The method further comprises: The SIP server caches the static parameters of any SIP device according to the first registration request of the SIP device; After receiving the difference data packet of any SIP device, the SIP server performs parameter verification and status update according to the status change information in the difference data packet and the static parameters of the SIP device cached by itself.

4. The method according to claim 1, characterized in that The method further comprises: Any SIP device generates an INVITE message by filling in the required dynamic fields in a predefined INVITE template; the INVITE template includes the INVITE message architecture and the static fields required by the INVITE message.

5. The method according to claim 4, characterized in that The sending of the ACK message comprises: An ACK message is generated by filling in the required dynamic fields in a predefined ACK template; the ACK template includes the ACK message architecture and the static fields required for the ACK message.

6. The method according to claim 1, characterized in that The method of obtaining a SIP signaling traffic prediction value in the SIP network by using a traffic prediction model includes: The historical SIP signaling traffic time series is used as the traffic prediction model input to obtain the SIP signaling traffic prediction value output by the traffic prediction model; the traffic prediction model is generated based on the training of the long short-term memory network LSTM model.

7. A SIP signaling transmission and flow control device, characterized in that: include: A flow control module is used to obtain a SIP signaling flow prediction value in a SIP network through a flow prediction model, and trigger a flow regulation strategy when the SIP signaling flow prediction value exceeds a threshold; The traffic regulation strategy includes: allocating traffic priority to SIP signaling according to the SIP signaling type, and forwarding high-priority signaling first; delay-sensitive signaling has a higher priority than other types of SIP signaling; the SIP network includes at least one SIP device and at least one SIP server; A signaling transmission module is used to control any SIP device to monitor its own status in real time. If there is status change information that needs to be synchronized, a difference data packet is generated according to the status change information, and the difference data packet is transmitted to the corresponding SIP server, so that the SIP server updates the status information of the SIP device stored therein according to the difference data packet; otherwise, a heartbeat signaling is sent according to a preset time period to complete the SIP periodic registration; Among them, for any SIP device, based on the historical session data with the peer device, the probability of the peer device giving a correct response within the preset response time is predicted. If the predicted probability is greater than the threshold, an ACK message is sent in advance; otherwise, an ACK message is sent after waiting for the peer device to respond normally; If the 200 OK response received by the SIP device does not match the expectation, it rolls back and resends the matching ACK message; wherein the rollback operation forcibly interrupts the current session, regenerates and sends the matching ACK message to restore the session to the correct state.

8. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the method according to any one of claims 1 to 6 is implemented.

9. A computer program product, characterized in that When the computer program product is executed on a computer device, the computer device is caused to execute the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Real-time data synchronization method and system between main and standby nodes

    CN105610566A

  • Fusion network based on LTE-230 and 5G and switching method thereof

    CN116249174A