A processing method for preventing SIP signaling interleaving and a SIP proxy service

The method addresses SIP signaling interlacing issues by thread allocation and signal buffering to ensure sequential delivery, improving call connectivity.

CN116016457BActive Publication Date: 2025-07-15GUANGDONG ESHORE TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211742231.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-29
Publication Date
2025-07-15
Estimated Expiration
2042-12-29

AI Technical Summary

Technical Problem

During the transmission process, SIP signaling may cause signaling interleaving due to inconsistent network links and different parallel processing timings, which may affect the normal establishment of the session and reduce the session connection rate.

Method used

By determining whether SIP signaling belongs to the current session and is allocated to the corresponding thread, determining whether signaling interleaving is possible, putting the possible interleaving signaling into the signaling delay transmission buffer, and adjusting the signaling transmission time difference, and signaling processing is performed using SIP proxy service to ensure sequential transmission.

Benefits of technology

Fixed the signaling interleaving problem, improved the session connection rate, and eliminated call losses caused by signaling interleaving.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116016457B_ABST
    Figure CN116016457B_ABST
Patent Text Reader

Abstract

The present invention provides a processing method for preventing SIP signaling interleaving and a SIP proxy service. The method includes the steps of: determining whether a SIP signaling belongs to the current session; if so, allocating the SIP signaling to the thread corresponding to the current session; determining whether signaling interleaving may occur, and if so, placing the SIP signaling in a signaling delay transmission buffer. The present invention can correct the interleaving of SIP signaling caused by the transmission process or the signaling timing problem caused by the terminal design defect. The present invention can regularize the SIP signaling timing, make the relevant signaling meet the standard requirements, and improve the session connection rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technologies, and in particular, to a method for preventing SIP signaling interleaving and a SIP proxy service. Background Art

[0002] During the transmission of SIP signaling, due to inconsistent network links and different parallel processing timings, signaling interleaving (SIP Message Crossing) may occur, thus affecting the normal establishment of a session.

[0003] As Figure 1 shown, Figure 1 is a schematic diagram of SIP signaling interleaving caused by inconsistent network links. When terminal A sends signaling to terminal B through the network, terminal A sends signaling 1 at time t1 and sends signaling 2 at time t1 + 30 ms. Signaling 1 is sent to terminal B via route 1, and signaling 2 is sent to terminal B via route 2. If route 1 has a delay of 60 ms and route 2 has a delay of 20 ms, then signaling 1 will reach terminal B at time t1 + 60 ms, and signaling 2 will reach terminal B at time t1 + 50 ms. That is to say, the earlier sent signaling 1 will arrive at terminal B 10 ms later than the later sent signaling 2. It can be seen that due to different route delays of the two signals, signaling 2 is sent later but arrives first, causing signaling interleaving.

[0004] As Figure 2 shown, Figure 2 is a schematic diagram of signaling interleaving caused by different parallel processing timings. When thread 1 and thread 2 process signaling in parallel and meet the following conditions:

[0005] T 信令1处理时长 >T 信令2处理时长 +T 信令2获取时间 -T 信令1获取时间

[0006] Signaling 2 will be sent out earlier than signaling 1, thus causing signaling interleaving.

[0007] Please refer to Figure 3 at the same time. In the precondition process, which is relatively common in VoLTE calls, PARCK and UPDATE signaling are interleaved. The PRACK and UPDATE signaling sent by terminal B are interleaved, resulting in terminal A returning 500 to the UPDATE signaling, which will cause the session to be abnormal.

[0008] Signaling interleaving will cause call loss and affect the session connection rate. Therefore, how to prevent signaling interleaving is the key to improving the session connection rate. Summary of the Invention

[0009] The features and advantages of the present invention are partially set forth in the description below, or will be apparent from the description, or may be learned by practicing the present invention.

[0010] To overcome the problems of the prior art, the present invention provides a method for preventing SIP signaling interleaving, including the steps of:

[0011] Determine whether the SIP signaling belongs to the current session; if so, then

[0012] Allocate the SIP signaling to the thread corresponding to the current session;

[0013] Determine whether signaling interleaving is likely to occur; if so, place the SIP signaling in the signaling delay transmission buffer.

[0014] In an embodiment of the present application, the determination of whether signaling interleaving is likely to occur includes:

[0015] Determine whether the count of in-transit signaling transactions of the current session is greater than 1; if so, then

[0016] Determine whether signaling interleaving is likely to occur according to the execution situation of the in-transit signaling transactions.

[0017] In an embodiment of the present application, after placing the SIP signaling in the signaling delay transmission buffer, the steps include:

[0018] Rearrange the SIP signaling corresponding to the in-transit signaling transactions and send them out in order.

[0019] In an embodiment of the present application, after placing the SIP signaling in the signaling delay transmission buffer, the steps include:

[0020] Adjust the transmission time difference of the SIP signaling corresponding to the in-transit signaling transactions.

[0021] The present application also provides a SIP proxy service, including:

[0022] A signaling receiving queue for receiving SIP signaling;

[0023] A session manager for determining whether the SIP signaling belongs to the current session; if so, allocate the SIP signaling to the thread corresponding to the current session;

[0024] A signaling processing module for determining whether signaling interleaving is likely to occur; if so, place the SIP signaling in the signaling delay transmission buffer.

[0025] In an embodiment of the present application, it further includes a signaling processing thread pool, and the signaling processing thread pool contains multiple threads.

[0026] In one embodiment of the present application, the signaling processing module includes a session parallel transaction counter, and the session parallel transaction counter is used to count the in-transit signaling transactions of the current session.

[0027] In one embodiment of the present application, the signaling processing module includes a transaction status manager, and the transaction status manager is used to determine whether signaling interleaving may occur according to the execution status of the in-transit signaling transactions.

[0028] In one embodiment of the present application, the transaction status manager is further used to rearrange the SIP signaling corresponding to the in-transit signaling transactions or adjust the transmission time difference of the SIP signaling corresponding to the in-transit signaling transactions.

[0029] In one embodiment of the present application, a signaling sending queue is further included, and the signaling sending queue is used to send out the SIP signaling.

[0030] The present invention provides a method for preventing SIP signaling interleaving and a SIP proxy service, which can correct the interleaving of SIP signaling caused by the transmission process or the signaling timing problem caused by the terminal design defect. The present invention regularizes the SIP signaling timing, makes the relevant signaling meet the standard requirements, and improves the session connection rate.

[0031] By reading the specification, those of ordinary skill in the art will better understand the features and contents of these technical solutions. Brief Description of the Drawings

[0032] The present invention will be specifically described below with reference to the drawings and in combination with examples. The advantages and implementation manners of the present invention will become more obvious. The content shown in the drawings is only used for the explanation of the present invention and does not constitute any limitation to the present invention. In the drawings:

[0033] Figure 1 It is a schematic diagram of SIP signaling interleaving caused by inconsistent network links in the prior art.

[0034] Figure 2 It is a schematic diagram of signaling interleaving caused by different parallel processing timings in the prior art.

[0035] Figure 3 It is a schematic diagram of signaling interleaving between PARCK and UPDATE in the prior art.

[0036] Figure 4 It is a schematic flowchart of the method for preventing SIP signaling interleaving according to the embodiment of the present invention.

[0037] Figure 5 It is a schematic structural diagram of the SIP proxy service according to the embodiment of the present invention.

[0038] Figure 6 Structural schematic diagram of the front-end of the SIP proxy service according to an embodiment of the present invention.

[0039] Figure 7 Structural schematic diagram of the back-end of the SIP proxy service according to an embodiment of the present invention. Detailed implementation manners

[0040] It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0041] In the subsequent descriptions, suffixes such as "module", "component", or "unit" used to represent elements are only for the convenience of describing the present invention, and they have no specific meaning in themselves. Therefore, "module", "component", or "unit" can be used interchangeably.

[0042] Embodiment 1

[0043] As Figure 1 shown, this embodiment provides a method for processing to prevent SIP signaling interleaving, including the steps of:

[0044] S10. Determine whether the SIP signaling belongs to the current session; if not, proceed to step S20; if so, proceed to step S30;

[0045] S20. Allocate the SIP signaling to any thread;

[0046] If the SIP signaling belongs to a new session, it can be arbitrarily allocated to a thread, or a relatively idle thread can be selected according to a preset rule.

[0047] S30. Allocate the SIP signaling to the thread corresponding to the current session;

[0048] It is possible to distinguish which session the signaling belongs to according to the CALL-ID and TAG of the SIP signaling, and ensure that the signaling of the same session is allocated to the same processing thread.

[0049] S40. Determine whether signaling interleaving may occur; if so, proceed to step S50; if not, proceed to step S60.

[0050] S50. Place the SIP signaling in the signaling delay transmission buffer;

[0051] The SIP signaling in the signaling delay transmission buffer will be transmitted with a delay.

[0052] S60. Transfer the SIP signaling to the signaling transmission queue.

[0053] The signaling transmission queue is responsible for transmitting the SIP signaling.

[0054] In this embodiment, the signaling belonging to the same session is assigned to the same processing thread to prevent SIP signaling interleaving caused by inconsistent network links. This embodiment also places the SIP signaling that may cause signaling interleaving into a signaling delayed transmission buffer for delayed transmission, thereby preventing signaling interleaving caused by different parallel processing timings.

[0055] Embodiment Two

[0056] Based on the above embodiment, the determination of whether signaling interleaving may occur includes the steps of:

[0057] Determine whether the count of in-transit signaling transactions in the current session is greater than 1; if so, determine whether signaling interleaving may occur according to the execution status of the in-transit signaling transactions.

[0058] In specific implementation, the in-transit signaling transactions in the current session can be counted. When the count is greater than 1, there are multiple parallel transactions. At this time, in combination with the execution status of the in-transit signaling transactions, it can be determined whether signaling interleaving may occur.

[0059] Embodiment Three

[0060] Based on any of the above embodiments, after placing the SIP signaling into the signaling delayed transmission buffer, it includes the steps of:

[0061] Rearrange the SIP signaling corresponding to the in-transit signaling transactions and send them out in order.

[0062] In specific implementation, the SIP signaling can be re-sorted in the delayed transmission buffer according to the sending time point and then sent to the signaling sending queue.

[0063] Embodiment Four

[0064] Based on any of the above embodiments, after placing the SIP signaling into the signaling delayed transmission buffer, it includes the steps of:

[0065] Adjust the sending time difference of the SIP signaling corresponding to the in-transit signaling transactions.

[0066] In specific implementation, the sending time difference of the SIP signaling corresponding to the in-transit signaling transactions is adjusted to ensure that the current session can be successfully negotiated.

[0067] Embodiment Five

[0068] As Figure 5 shown, the present invention also provides a SIP proxy service including a signaling receiving queue 10, a session manager 20, and a signaling processing module 40. Among them:

[0069] The signaling receiving queue 10 is used to receive SIP signaling.

[0070] The session manager 20 is used to determine whether the SIP signaling belongs to the current session; if so, the SIP signaling is assigned to the thread corresponding to the current session; the session manager will distinguish which session the signaling belongs to according to the CALL-ID and TAG of the SIP signaling, and ensure that the signaling of the same session will be assigned to the same processing thread.

[0071] The signaling processing module 40 is used to determine whether signaling interleaving may occur; if so, the SIP signaling is placed in the signaling delayed transmission buffer.

[0072] In specific implementation, the SIP proxy service further includes a signaling processing thread pool 30 and a signaling transmission queue 50. The signaling processing thread pool 30 contains multiple threads. Each thread can process multiple sessions, but the signaling of the same session will only be processed in the same thread, avoiding signaling interleaving caused by concurrent timing issues. The signaling transmission queue 50 is used to send the SIP signaling out.

[0073] The signaling processing module includes a session parallel transaction counter 41, a transaction status manager 42, and a signaling delayed transmission buffer 43.

[0074] The session parallel transaction counter 41 counts the in-transit signaling transactions of the current session. When the count is greater than 1, there are multiple parallel transactions, and at this time, signaling interleaving may occur, and the signaling will be transferred to the transaction status manager 42 for processing. When the count is less than or equal to 1, the signaling is directly transferred to the signaling transmission queue 50.

[0075] The transaction status manager 42 is used to determine whether signaling interleaving may occur according to the execution situation of the in-transit signaling transactions. The transaction status manager 42 is also used to rearrange the SIP signaling corresponding to the in-transit signaling transactions or adjust the transmission time difference of the SIP signaling corresponding to the in-transit signaling transactions. It can be seen that the session transaction status manager will, according to the execution situation of the parallel transactions, when detecting signaling interleaving or possible signaling interleaving, place the signaling in the signaling delayed transmission buffer, and according to different scenarios, select to rearrange the signaling or adjust the transmission time difference of the signaling corresponding to the parallel transactions to ensure that the signaling will not be interleaved after being processed.

[0076] The signaling delayed transmission buffer is used to store the signaling that needs to be delayed for transmission.

[0077] The signaling processed by this SIP proxy service will not have the situation of signaling interleaving, eliminating the call loss caused by signaling interleaving, thereby improving the session connection rate. In specific applications, the SIP proxy service can be placed before or after the terminal. As Figure 6 shown, placing this SIP proxy service before the terminal and reorganizing the signaling can ensure that there is no interleaving of the signaling reaching the terminal side. As Figure 7As shown, place the SIP proxy service behind the stateless SIP proxy to adjust the signaling timing, repair signaling interleaving, and dock with other SIP services or terminals through SIP-Trunk.

[0078] It should be noted that in this document, the term "including", "comprising" or any other variant thereof is intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements not only includes those elements, but also includes other elements not expressly listed, or also includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the presence of additional identical elements in the process, method, article or device including such element.

[0079] The serial numbers of the embodiments of the present invention above are only for description and do not represent the superiority or inferiority of the embodiments.

[0080] Through the description of the above embodiments, those skilled in the art can clearly understand that the above embodiment methods can be implemented by means of software plus a necessary general hardware platform. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation. Based on such an understanding, the technical solution of the present invention, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions for causing a terminal (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in various embodiments of the present invention.

[0081] The embodiments of the present invention have been described above in conjunction with the accompanying drawings. However, the present invention is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present invention, those of ordinary skill in the art can also make many forms without departing from the purpose of the present invention and the scope protected by the claims. All of these are within the protection scope of the present invention.

Claims

1. A processing method for preventing SIP signaling interleaving, characterized in that Including steps: Determine whether the SIP signaling belongs to the current session; if so, allocate the SIP signaling to the thread corresponding to the current session; Determine whether signaling interleaving may occur; if so, place the SIP signaling in a signaling delay transmission buffer; The determination of whether signaling interleaving may occur includes: Determine whether the count of in-transit signaling transactions of the current session is greater than 1. If so, there are multiple parallel transactions, then determine whether signaling interleaving may occur according to the execution status of the in-transit signaling transactions. Among them, after placing the SIP signaling in the signaling delay transmission buffer, adjust the transmission time difference of the SIP signaling corresponding to the in-transit signaling transaction, and re-sort the SIP signaling in the delay transmission buffer according to the time point of sending and then send it to the signaling transmission queue.

2. The processing method for preventing SIP signaling interleaving according to claim 1, wherein After placing the SIP signaling in the signaling delay transmission buffer, it includes the steps: Re-arrange and send the SIP signaling corresponding to the in-transit signaling transaction in order.

3. A SIP proxy service, characterized in that, Including: A signaling reception queue for receiving SIP signaling; A session manager for determining whether the SIP signaling belongs to the current session; If so, there are multiple parallel transactions, then allocate the SIP signaling to the thread corresponding to the current session; A signaling processing module for determining whether signaling interleaving may occur; if so, place the SIP signaling in the signaling delay transmission buffer; The signaling processing module includes a session parallel transaction counter and a transaction status manager. The session parallel transaction counter is used to determine whether the count of in-transit signaling transactions of the current session is greater than 1. If so, the transaction status manager determines whether signaling interleaving may occur according to the execution status of the in-transit signaling transactions. Among them, after placing the SIP signaling in the signaling delay transmission buffer, the transaction status manager adjusts the transmission time difference of the SIP signaling corresponding to the in-transit signaling transaction, and re-sorts the SIP signaling in the delay transmission buffer according to the time point of sending and then sends it to the signaling transmission queue.

4. The SIP proxy service according to claim 3, wherein It further includes a signaling processing thread pool, and the signaling processing thread pool contains multiple threads.

5. The SIP proxy service according to claim 3, characterized in that, The transaction status manager is further used to re-arrange the SIP signaling corresponding to the in-transit signaling transaction.

6. The SIP proxy service according to claim 3, characterized in that, It further includes a signaling transmission queue, and the signaling transmission queue is used to send out the SIP signaling.

Citation Information

Patent Citations

  • Method and apparatus for distributing session initiation protocol SIP message

    CN108462682A

  • Real-time message passing method and system

    CN108667719A