A SIP message processing method and device
By preconfiguring multiple SIP entities in the SIP access device of the SIP processing cluster and forwarding SIP messages directly, the problem of low SIP message processing efficiency caused by limited device processing performance is solved, and efficient SIP message processing and user capacity are achieved. promote.
Patent Information
- Application Number
- CN202111171384.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-10-08
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2041-10-08
AI Technical Summary
In the field of communication technology, some service call systems have low SIP message processing efficiency and limited user capacity due to limited equipment processing performance.
By preconfiguring multiple SIP entities in the SIP access device of the SIP processing cluster, and using the service network side address ports of these SIP entities to directly forward SIP messages to the corresponding SIP service processing device, avoiding the issuance of IMS core network parsing of SIP messages.
This method improves the efficiency of SIP message processing, reduces the processing performance consumption of SIP access devices, enhances the user capacity of the platform, and is suitable for high concurrency scenarios.
Smart Images

Figure CN115955467B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communications, and in particular to a SIP message processing method and device. Background Art
[0002] In the field of communication technology, the control plane of some service call systems uses the Session Initiation Protocol (SIP) protocol stack, which routes calls to different application server (AS) service platforms by setting the Domain Name System (DNS) in the global environment to uniformly resolve the service platform access address. Under this structure, each AS service platform uses a unified access address and port to receive SIP protocol calls and complete SIP access processing.
[0003] Since the business system needs to handle a large number of users and high concurrency scenarios, it needs to meet certain business processing performance requirements. Usually, a single signaling processing device cannot complete the corresponding load processing, and a cluster processing method is often used to deploy a SIP message processing cluster in the entire business system to divide the devices into SIP access devices and SIP processing devices. The two work together to complete the SIP message processing work. The SIP access device completes the SIP access and load sharing operations, and distributes the SIP message load to the specific SIP processing device for processing; the SIP processing device performs actual specific business process processing.
[0004] Under the traditional technical framework, SIP access devices usually use highly configured load balancing devices to complete the unified access of SIP messages. Among them, the processing capacity of SIP messages depends on the processing performance of SIP access devices, but in some scenarios, the processing performance of SIP access devices is limited, which makes SIP message processing efficiency low and platform user capacity limited.
[0005] How to avoid the problem of low SIP message processing efficiency caused by limited device processing performance is a technical problem to be solved by this application. Summary of the invention
[0006] The purpose of the embodiments of the present application is to provide a SIP message processing method and apparatus to solve the problem of low SIP message processing efficiency caused by limited device processing performance.
[0007] In a first aspect, a SIP message processing method is provided, which is applied to at least one SIP access device in a SIP processing cluster, wherein the SIP access device includes multiple SIP entities, including:
[0008] Receiving a first SIP message sent by the IMS core network;
[0009] Forwarding the first SIP message to the corresponding SIP service processing device through the service network side address port of the SIP entity corresponding to the first SIP message, wherein the service network side address port of the SIP entity corresponds to the intranet service port of the unique SIP service processing device;
[0010] If a second SIP message sent by the SIP service processing device is received, the second SIP message is sent to the IMS core network through the CSCF side port of the target SIP entity that receives the second SIP message, and the second SIP message carries a target service network side address port of the target SIP entity, and the target service network side address port is used to instruct the IMS core network to send a SIP message associated with the first SIP message to the target SIP entity.
[0011] In a second aspect, a SIP message processing device is provided, comprising:
[0012] A receiving module receives a first SIP message sent by the IMS core network;
[0013] A forwarding module, which forwards the first SIP message to the corresponding SIP service processing device through the service network side address port of the SIP entity corresponding to the first SIP message, wherein the service network side address port of the SIP entity corresponds to the intranet service port of the unique SIP service processing device;
[0014] The sending module is configured to send the second SIP message to the IMS core network through the CSCF side port of the target SIP entity that receives the second SIP message if the second SIP message sent by the SIP service processing device is received, wherein the second SIP message carries a target service network side address port of the target SIP entity, and the target service network side address port is used to instruct the IMS core network to send a SIP message associated with the first SIP message to the target SIP entity.
[0015] According to a third aspect, an electronic device is provided. The electronic device comprises a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps of the method according to the first aspect are implemented.
[0016] According to a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method according to the first aspect are implemented.
[0017] In an embodiment of the present application, applied to at least one SIP access device in a SIP processing cluster, the SIP access device includes multiple SIP entities, and the method includes: receiving a first SIP message sent by an IMS core network; forwarding the first SIP message to a corresponding SIP service processing device through a service network side address port of a SIP entity corresponding to the first SIP message, wherein the service network side address port of the SIP entity corresponds to an intranet service port of a unique SIP service processing device; if a second SIP message sent by the SIP service processing device is received, sending the second SIP message to the IMS core network through a CSCF side port of a target SIP entity that receives the second SIP message, wherein the second SIP message carries a target service network side address port of the target SIP entity, and the target service network side address port is used to instruct the IMS core network to send a SIP message associated with the first SIP message to the target SIP entity. Since the service network side address port of the SIP entity corresponds to the intranet service port of the unique SIP service processing device, there is no need to parse the SIP message sent by the IMS core network and it can be efficiently forwarded to the corresponding SIP service processing device. Moreover, for the SIP message sent by the SIP service processing device, it can be quickly forwarded according to the CSCF side address port, reducing the processing performance consumed by the SIP access device to parse the SIP message. BRIEF DESCRIPTION OF THE DRAWINGS
[0018] The drawings described herein are used to provide a further understanding of the present invention and constitute a part of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the drawings:
[0019] Figure 1 It is a structural diagram of a SIP processing cluster.
[0020] Figure 2 This is a structural diagram of another SIP processing cluster.
[0021] Figure 3a It is a structural diagram of a SIP processing cluster according to an embodiment of the present invention.
[0022] Figure 3b This is one of the flow charts of a SIP message processing method according to an embodiment of the present invention.
[0023] Figure 4 This is the second flow chart of a SIP message processing method according to an embodiment of the present invention.
[0024] Figure 5 This is the third flow chart of a SIP message processing method according to an embodiment of the present invention.
[0025] Figure 6 This is the fourth flow chart of a SIP message processing method according to an embodiment of the present invention.
[0026] Figure 7 This is the fifth flow chart of a SIP message processing method according to an embodiment of the present invention.
[0027] Figure 8 This is the sixth flow chart of a SIP message processing method according to an embodiment of the present invention.
[0028] Fig. 9 This is the seventh flow chart of a SIP message processing method according to an embodiment of the present invention.
[0029] Fig.10 This is the eighth flow chart of a SIP message processing method according to an embodiment of the present invention.
[0030] Fig.11 It is a structural diagram of a SIP message processing device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0031] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments in the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention. The figure numbers in this application are only used to distinguish the various steps in the scheme, and are not used to limit the execution order of the various steps. The specific execution order is subject to the description in the specification.
[0032] In the SIP message processing cluster, such as Figure 1 As shown, the SIP access device can be responsible for completing all signaling interactions with the IMS (Internet Protocol Multimedia Subsystem) core network. The back-end SIP processing device is not configured with an IMS core network address, and all message interactions with the IMS core network are completed through the SIP access device. After the SIP processing device completes the service processing, it sends a SIP response message to the IMS core network through the SIP access device.
[0033] exist Figure 1In the structure shown, the entire service AS uses a unified address port for service release, and the IMS core network element sends the service load to the address port released by the AS for processing. In the entire AS, only the SIP access device has the IMS core network address to achieve intercommunication with the IMS core network. The SIP processing device does not have the IMS core network address, and all SIP message reception and message sending work are completed by the SIP access device.
[0034] The SIP signaling access device is responsible for completing the external business address port release, receiving the business SIP messages sent by the IMS core network, and sending business response messages to the IMS core network; after the SIP signaling access device receives the SIP message from the IMS core network, it needs to distribute the SIP specific message to the back-end SIP signaling processing device according to a certain strategy to complete the specific business process.
[0035] The SIP signaling processing device is responsible for completing specific business process operations and sending response messages to the IMS core network through the SIP access device to complete the SIP business process.
[0036] In this solution, the SIP access device needs to maintain the SESSION (time domain) session in order to ensure that the messages of the same call are sent to the same SIP processing device for processing. All subsequent messages need to find the back-end SIP signaling processing device based on the SESSION session to ensure the continuity of the same call message.
[0037] In the NFV (Network Functions Virtualization) environment, the processing performance of a single device is reduced due to the use of virtualization technology. In the full proxy mode of the SIP access device, all SIP messages are forwarded by the SIP access device. In order to ensure that the same call must be distributed to the same back-end SIP service processing device, the SIP access device uses the SESSION retention method to record the distribution service device of each call SESSION. When receiving the message later, it is necessary to match the CALL-ID (Identity Document) and search the SESSION table. In the scenario of a large number of users, the SESSION table often becomes a bottleneck for business development due to the limited performance of the device. Even if the hash table strategy is implemented, the access device needs to perform a large amount of data search to correctly match the corresponding relationship between the CALL-ID and the SIP service processing device, which is not conducive to the rapid expansion of the business. In the NFV environment, all devices are virtual devices with uniformly allocated resource pools. The processing performance is greatly reduced compared to the dedicated devices under the traditional architecture, resulting in a limited user scale of a single platform.
[0038] In addition, in the above SIP message processing cluster, you can also apply Figure 2 In the structure shown, the SIP access device is responsible for completing the SIP message receiving operation of the IMS core network, and the service address port published by the business AS is the address port information of the SIP access device. After the SIP message of the IMS core network reaches the SIP access module, the access module distributes the message to the back-end SIP processing device for processing; at the same time, the SIP processing device also has the IMS core network address. By adding VIA and Record-Route information in the response or sending message, the subsequent SIP messages are directly directed to the back-end SIP processing device, and no longer pass through the SIP access device, so as to realize the SIP processing cluster under high concurrency.
[0039] In this solution, the entire service AS uses a unified address port for service release, and the IMS core network element sends the service load to the address port released by the AS for processing. The AS configures the service address information on the SIP access device, and the IMS core network directs the service to the SIP access device in the AS through routing configuration rules.
[0040] After receiving the SIP message from the IMS core network, the SIP access device directs the message to the backend SIP service processing device through the pre-configured strategy. After the SIP service processing device performs specific service process operations, it directly responds to the core network.
[0041] The SIP service processing device is also configured with the IMS core network address. At this time, the SIP service processing device also has the ability to interact with the IMS core network. It does not need to go through the SIP access device. By adding nodes in VIA (Virtual Interface Architecture) and Record-Route, the subsequent IMS core network messages of the same call can be directly directed to the service processing device for direct processing, thereby alleviating the performance pressure of the SIP access device.
[0042] In this solution, the SIP access device also needs to maintain the SESSION session in order to ensure that the messages of the same call are sent to the same SIP processing device for processing. All subsequent messages need to find the back-end SIP signaling processing device based on the SESSION session to ensure the continuity of the same call message.
[0043] Since this solution greatly reduces the number of SIP messages processed by SIP access devices, it greatly improves the performance of access devices. However, in this technical solution, the back-end SIP service processing equipment also needs to occupy IMS core network address resources, resulting in resource waste and increased difficulty in troubleshooting. In the NFV environment deployment, the standard deployment configures unified access address port information for a single AS service, and a single AS occupies a large amount of core network resources, which is often unacceptable.
[0044] In the above two solutions, considering that general SIP access devices need to be configured in dual machines to prevent single point failures, when the dual machines are switched, in order to prevent call interruption, real-time synchronization of SESSION needs to be performed between the two machines, which will also consume a lot of access device processing power. When the dual machines are switched, in order to prevent call interruption, real-time synchronization of SESSION needs to be performed between the two machines, which will also consume a lot of access device processing power.
[0045] Due to the existence of SESSION session, SIP access devices need to decode all received and sent SIP messages, obtain message CALL-ID, and select SIP service processing devices. Decoding each message will also consume access device processing capabilities.
[0046] In order to solve the problems existing in the prior art, an embodiment of the present application provides a SIP message processing method, which is applied to at least one SIP access device in a SIP processing cluster, and the SIP access device includes multiple SIP entities. Figure 3a A schematic diagram of the structure of a SIP processing cluster including a SIP access device according to an embodiment of the present application is shown. Figure 3b The method provided in the embodiment of the present application is shown in the flowchart. The solution provided in the embodiment of the present application includes the following steps:
[0047] S11: Receive a first SIP message sent by the IMS core network.
[0048] In this step, the SIP access device in the SIP processing cluster receives the first SIP message. The first SIP message may be a message sent by the IMS core network.
[0049] S12: Forward the first SIP message to the corresponding SIP service processing device through the service network side address port of the SIP entity corresponding to the first SIP message, wherein the service network side address port of the SIP entity corresponds to the intranet service port of the unique SIP service processing device.
[0050] The first SIP message can be received by a SIP entity in a SIP access device, and the SIP entity corresponding to the SIP message in the SIP access device is pre-configured with a unique corresponding SIP service processing device. In this step, the target SIP service processing device for forwarding the message can be determined without performing a query based on the identifier, and there is no need to perform detailed analysis on the message, which effectively optimizes the processing flow and reduces the processing load.
[0051] S13: If a second SIP message sent by the SIP service processing device is received, the second SIP message is sent to the IMS core network through the CSCF side port of the target SIP entity that receives the second SIP message, wherein the second SIP message carries a target service network side address port of the target SIP entity, and the target service network side address port is used to instruct the IMS core network to send a SIP message associated with the first SIP message to the target SIP entity.
[0052] The second SIP message can be an IP packet, which is a message sent by the SIP service processing device to the corresponding SIP entity. In this step, the SIP entity of the SIP access device receives the SIP message (IP packet) sent by the intranet service processing device, extracts the SIP original information from the IP packet, but does not need to perform SIP message parsing.
[0053] In this step, the second SIP message is sent to the IMS core network through the CSCF side port of the target SIP entity that receives the second SIP message. Since the second SIP message carries the target service network side address port of the target SIP entity, it is convenient for the core network to directly send the same SIP service message to the corresponding SIP entity next time, thereby avoiding forwarding the SIP service message multiple times.
[0054] Specifically, the second SIP message is generated by the SIP service processing device and sent to the IMS core network side as a request message. The SIP service processing device can add the SIP access device VRRP address and the SIP entity core network side port information in the VIA information, so that when the peer device replies to the response, it can directly reply to the message to the designated SIP entity of the SIP access device. At this time, the SIP access module no longer needs to parse the SIP message, and can directly forward the message to the service processing device according to the port mapping rule in the entity, which can further reduce the message processing performance and improve the processing efficiency.
[0055] Optionally, after the SIP access device receives the message sending operation request from the SIP service processing device, the SIP access device reversely queries the service entity configuration information according to the receiving port information to obtain the service entity identifier. Then, the SIP original message and the IMS core network side destination address port information encapsulated by the SIP service processing device are extracted from the received IP packet to prepare for the message sending operation. Subsequently, the SIP access device calls the service entity and sends the original SIP message from the IMS side network port identified by the service entity to the target IMS side address port to complete the message sending operation.
[0056] The execution subject of this solution is a SIP access device, which can specifically include a "SIP default entity" and at least one "SIP entity N", where N is a positive integer. Since the SIP entity corresponds to a unique processing device, the SIP entity does not need to perform parsing or data search after receiving the SIP message, and directly forwards the SIP message according to the pre-configured unique port. The SIP message fed back by the business processing device can also be efficiently forwarded according to the CSCF side address port. There is no need to maintain the session during the message forwarding process, which reduces the processing performance consumed by parsing and session maintenance.
[0057] In the embodiment of the present application, the processing of the color ring back tone call service message in the NFV environment is taken as an example for explanation. It should be understood that the present solution can also be applied to the processing scenarios of other service messages.
[0058] The color ring tone call AS in the embodiment of the present application can adopt the B2BUA (Back-to-Back User Agent) method to perform call tandem processing.
[0059] The solution provided in the embodiment of the present application is applied to a SIP processing cluster, which includes a SIP access device and a SIP service processing device. The SIP access device is responsible for completing the interaction with the IMS core network, and the SIP service processing device is responsible for completing the specific color ring back tone service process processing. The executor of the solution in the embodiment of the present application is the SIP access device in the above-mentioned SIP processing cluster.
[0060] Optionally, the SIP processing cluster may be provided with multiple SIP access devices. Figure 3a, set up a pair of SIP access devices in the cluster, each device includes but is not limited to core network side network resources, intranet service network resources, and network management network resources. The two devices use VRRP (Virtual Router Redundancy Protocol) to virtualize a service IP for the IMS core network side network resources, and publish the service address and default service port (cscf: 5060) to the IMS network side. After judging by the iFC function tag, the core network side routes the call to the virtual service IP address and the service default port (cscf: 5060) according to the pre-configured route.
[0061] The two SIP access devices periodically judge the status. The access device attached to the virtual IP is the MASTER device, which is responsible for receiving, sending, and distributing SIP messages. The access device to which the virtual IP is not attached is the BACKUP device, which implements hot backup. When the MASTER device determines that the service process fails or the device fails, it starts VRRP switching, switches the service address to the BACKUP device, and switches the BACKUP device to the MASTER device for operation.
[0062] In actual applications, the maintenance and guarantee of the two access devices is to have the same SIP service processing device configuration, so that the same SIP processing entity can be implemented on the master and backup devices. When the master and backup access devices switch, since the custom matching algorithm is completely consistent and the SIP entity configuration is completely consistent, after the slave device is promoted to the master, it can directly and seamlessly take over the receiving and sending operations of SIP messages.
[0063] In addition, since the SIP access device does not need to maintain session, the two SIP access devices do not need to synchronize session. For the same call, if the message is received on the default entity, the message can be distributed to the same SIP business processing device because the CALL-ID, custom matching algorithm, and SIP entity remain unchanged; if the message is received on other SIP entities, the SIP entity's port mapping is fixed, which can also ensure that the message is distributed to the same SIP business processing device. For the same call, the message on the called side is sent by determining the SIP entity, querying the SIP entity port number mapping rules and the SIP business processing device identifier, and the message can be directly distributed to the same SIP business processing device.
[0064] In the embodiment of the present application, the SIP access device pre-configures the backend SIP service processing device connection. Specifically, it may include starting a corresponding SIP entity in the access device main process for each SIP service processing device. Figure 3aThe SIP entity 1, SIP entity 2, ..., SIP entity N shown in FIG. Each SIP entity includes a unique and non-repeating IMS core network side port number, a unique and non-repeating intranet service network side port number, and a SIP service processing device identifier.
[0065] Among them, the SIP access device can adopt the full proxy mode, which can effectively save IMS core network resources. The back-end SIP business processing device is an intranet device, which can be dynamically expanded and reduced according to the business.
[0066] The solution provided by the embodiment of the present application abandons session retention for SIP access devices, and realizes the SIP message distribution function in high-concurrency scenarios with fast and low latency. Furthermore, since session retention is abandoned, there is no need to perform session synchronization operation when dual machines are deployed, and fast lossless switching can be achieved, which can effectively improve the stability of business processing when the main SIP access device fails.
[0067] In the SIP access device, multiple SIP entities are enabled and port mapping is performed for the IMS core network element and the internal SIP service processing device, so as to achieve fast device correspondence according to the sending and receiving ports. In this solution, the SIP access processing device uses multiple ports to interact with the IMS core network, avoiding the single-port sending and receiving rate limitation, and greatly improving the processing performance of a single device.
[0068] In addition, the SIP access device can also actively perform active / deactive operations on the SIP service processing device identified by the SIP entity. When the default entity of the access device receives the call initialization message INVITE, the service will no longer be directed to the SIP service processing device identified as deactive, ensuring that the service processing device will no longer receive incremental calls. As the call continues to be processed, the number of sessions counted on the designated SIP service processing device is 0. At this time, maintenance operations such as software update or hardware replacement of the SIP service processing device can be performed to ensure the success rate of the service.
[0069] Based on the solution provided in the above embodiment, optionally, Figure 4 As shown, before the above step S11, it also includes:
[0070] S21: Preconfigure multiple SIP entities for receiving SIP messages sent by the IMS core network, wherein the multiple SIP entities include a SIP default entity and at least one SIP non-default entity, wherein the SIP entity preconfigures at least one of an IMS core network side port resource, an intranet service network side port resource, and a SIP service processing device identifier.
[0071] In the solution provided in the embodiment of the present application, a SIP access device in a SIP processing cluster is pre-configured, and the cluster may include multiple SIP access devices. Multiple SIP entities are pre-configured in the SIP access device, and the multiple SIP entities include a SIP default entity and at least one SIP non-default entity. Each SIP non-default entity corresponds to a SIP service processing device. When the SIP non-default entity receives a SIP message sent by the IMS core network, it can forward the SIP message to the corresponding SIP service processing device without performing parsing, which effectively improves the service processing efficiency and avoids the situation where a large number of message parsing causes high load.
[0072] Optionally, each SIP entity in the SIP access device in the cluster corresponds to each SIP service processing device one by one, thereby reducing the parsing processing steps performed during the message transmission process.
[0073] A specific execution method of this step is provided below. It should be understood that other methods may also be used to configure each SIP entity in actual application.
[0074] First, configure multiple SIP business processing devices in the cluster to ensure the business connectivity of the business processing devices and the internal network connectivity with the SIP access devices.
[0075] Then, configure two (or more) SIP access processing devices in the cluster, configure IMS network side information and service processing network information. Then, configure VRRP dual-machine information and service monitoring information to ensure that the dual-machine switch is completed normally when the service or equipment is interrupted.
[0076] Next, configure SIP service processing entity information on the SIP access device. For each SIP service processing device, configure a service processing entity information including: an IMS network side service port, an internal processing device side service port, and a SIP service processing device identifier.
[0077] Finally, enable the service processing entity on the SIP access device, check the port mapping rules, and complete the pre-configuration of the SIP service processing device in the cluster.
[0078] Based on the solution provided in the above embodiment, Figure 5 As shown, after the above step S11, it also includes:
[0079] S31: Acquire SIP entity information according to the first SIP message;
[0080] S32: Determine a SIP entity corresponding to the first SIP message according to the SIP entity information, where the SIP entity information represents an entity type receiving the first SIP message.
[0081] After the SIP access device receives the SIP message from the IMS core network side, the SIP access device can extract the query entity information from the Socket reception information and determine whether the entity information of the message received this time is a default entity. The above entity types specifically include non-default entities and default entities.
[0082] If the entity receiving the message is a non-default entity, after the SIP non-default entity (such as SIP entity 1) in the SIP access device receives the SIP message on the IMS core network side, the specific SIP entity in the access device no longer decomposes the specific SIP message content, and directly uses the intranet service port in the specific SIP entity to send the message to the SIP service processing device identified in the entity, thereby realizing direct forwarding of the message without parsing, and effectively reducing the parsing steps.
[0083] Subsequently, if the SIP non-default entity of the SIP access device receives a SIP message sent by the intranet service processing device, it extracts the SIP original information from the IP packet, but does not parse the SIP message, extracts the CSCF side address port from the IP packet, and uses the CSCF network side port information in the entity to send the SIP message to the IMS core network side.
[0084] Based on the solution provided in the above embodiment, optionally, Figure 6 As shown, the above step S32 includes:
[0085] S41: If the entity information indicates that the SIP entity receiving the first SIP message is a SIP non-default entity, determine the SIP entity receiving the first SIP message as the SIP entity corresponding to the first SIP message.
[0086] In this embodiment, if the SIP non-default entity receives the SIP message, since the SIP service processing device is configured in advance for each SIP non-default entity, the SIP non-default entity that receives the SIP message does not need to parse the message again, but directly forwards the received SIP message to the corresponding SIP service processing device, thereby achieving efficient forwarding and improving processing efficiency. Before forwarding, the received SIP message can also be encapsulated, and then the encapsulated SIP message is forwarded to the corresponding SIP service processing device.
[0087] Based on the solution provided in the above embodiment, optionally, Figure 7 As shown, in the above step S41, it includes:
[0088] S51: Determine whether the SIP entity corresponding to the SIP entity information is available;
[0089] S52: If the SIP entity corresponding to the SIP entity information is available, determine the SIP entity that receives the first SIP message as the SIP entity corresponding to the first SIP message.
[0090] In an embodiment of the present application, before forwarding is performed, it is first determined whether the SIP entity is available to improve the effectiveness of message processing and avoid forwarding to an unavailable SIP entity. Specifically, the SIP access device can perform availability detection on the status of the SIP entity. When the SIP business processing device selected according to a predetermined custom matching algorithm is unavailable, or the SIP business processing device identified by the port mapping is unavailable, the SIP access device uniformly routes the message to the default business processing device to ensure that the AS makes necessary responses to the IMS core network side message. In addition, if the SIP entity corresponding to the SIP entity information is unavailable, the SIP default entity can further determine the SIP entity corresponding to the first SIP message.
[0091] Based on the solution provided in the above embodiment, optionally, Figure 8 As shown, the above step S32 includes:
[0092] S61: If the entity information indicates that the SIP entity receiving the first SIP message is a SIP default entity, obtaining a call identifier in the first SIP message;
[0093] S62: Determine the SIP entity that matches the call identifier as the SIP entity corresponding to the first SIP message according to a preset matching algorithm.
[0094] For example, the SIP default entity (such as Figure 3a As shown in the figure, the service port is 5060) when receiving the SIP message of the IMS core network, the SIP message content is first decomposed, the CALL-ID therein is extracted, and the SIP entity number (such as the number of SIP entity 1) is determined by a custom matching algorithm. Then, the selected SIP entity service network side address port (such as the port of SIP entity 1: 5101) is used to send a call to the corresponding SIP service processing device (such as Figure 3a The SIP service processing device in -1) sends the reassembled IP packet.
[0095] The IP packet may specifically include the original SIP message, the address and port information on the CSCF side, and the address and port information on the CSCF side of the SIP entity selected by the SIP access device, for the SIP processing device to fill in the VIA\Record-Route information of the response message.
[0096] The above preset matching algorithm can be preset according to actual needs. The following describes this solution based on an optional preset matching algorithm.
[0097] In this scheme, based on Figure 3a In the structure shown, the SIP access device uniformly publishes the VRRP virtual address and the fixed default service port (5060) to the outside. When the IMS core network side receives a message from the default port, it needs to parse the received SIP message and direct the call to a specific SIP processing device according to the custom matching algorithm. It also needs to ensure that calls with the same CALL-ID should be directed to the same SIP processing device. Specifically, the following steps can be performed:
[0098] The default service port in the SIP access device receives the SIP message from the IMS core network side, and extracts the CALL-ID field in the SIP message. The CALL-ID is the call identifier in the first SIP message described in this embodiment.
[0099] The CALL-ID is a random string. The SIP access device adds the ASCII code values corresponding to each character in the string to obtain the CALL-ID and value SUM.
[0100] The SIP access device extracts the number of backend SIP processing device entities NUM configured in the cluster. After simply taking the remainder according to the SUM%NUM algorithm, the preliminary entity number is determined. Figure 3a In the example shown, entity 0 corresponds to the cluster guaranteed redundant entity function, so the final entity number is incremented by 1 to be determined as the entity number of this call.
[0101] The SIP access device extracts the configured processing entity information, extracts the IMS network side port information and service VRRP address information configured in the entity, and assembles an internal message packet through the intranet port information configured in the entity and sends it to the SIP processing device specified in the entity. The internal message packet may include: the IMS side VRRP address, the IMS side port of the entity is used this time; when the SIP processing device encapsulates subsequent messages, the IMS side information is used to fill in the message fields.
[0102] Through the above steps, the target SIP entity matching the call identifier can be determined based on the preset matching algorithm, and the first SIP message can be forwarded to the corresponding target SIP service processing device according to the service network side address port of the target SIP entity.
[0103] Optionally, based on the solution provided in the above embodiment, Fig. 9 As shown, the above step S12 includes:
[0104] S71: Generate an IP packet according to the first SIP message, wherein the IP packet includes at least one of the first SIP message, the CSCF side address port of the SIP default entity, and the CSCF side address port of the target SIP entity.
[0105] S72: Send the IP packet to the corresponding SIP service processing device via the service network side address port of the SIP entity corresponding to the first SIP message.
[0106] The IP packet sent by the SIP access device to the SIP service processing device includes but is not limited to the following contents: the original SIP message, the IP address and port information of the IMS core network side sending data, the VRRP address and core network side port information contained in the SIP entity selected within the cluster; from the original sending remote port of the IP packet, the intranet service network side port information of the SIP entity of the SIP access module can be obtained.
[0107] In addition, when the SIP service processing device needs to send a response message to the IMS core network side, the VRRP address of the SIP access device and the port information of the SIP entity core network side are added to the Record-Route information when the SIP message is assembled. In this way, when the IMS core network side device sends a request later, it can extract the Record-Route information and directly send the message to the specified SIP entity of the SIP access device. At this time, the SIP access module no longer needs to parse the SIP message and can directly forward the message to the SIP service processing device.
[0108] Next, combine Fig.10 The solution provided by this embodiment is illustrated by an example. In the solution provided by the embodiment of the present application, the SIP access device first receives a SIP message from the IMS core network side, and the SIP access device extracts the query entity information from the socket receiving information. Then, it is determined whether the entity information of the received message is the default entity.
[0109] If it is not the default entity, then determine whether the business entity is available. If it is available, no message parsing is performed, and the SIP message is directly encapsulated and sent to the SIP business processing device identified by the entity.
[0110] If it is a default entity, the SIP original message is parsed to extract the CALL-ID and whether it is a call initiation message service identifier, and the target service entity number for this call processing is obtained according to the custom matching algorithm described in any of the above embodiments.
[0111] Then, it is determined whether the target business entity number is in an available state. If the target business entity is not available, the message is directly forwarded to the default entity processing device for processing.
[0112] If the target service entity is available, it is determined whether the received SIP message is a call initiation INVITE message.
[0113] If the judgment result is False, the identification message is a message in the call connection process, and the SIP message is directly encapsulated and sent to the SIP service processing device corresponding to the entity identification.
[0114] If the judgment result is True, it is determined whether the state of the target business entity is ACTIVE.
[0115] If the result is in ACTIVE state, it indicates that the service processing device identified by the service entity is in a normal and available state, and the SIP message is directly encapsulated and sent to the SIP service processing device identified by the entity.
[0116] If the result is not ACTIVE, it indicates that the business entity identifies the business processing device as being in an abnormally available state, and the new call load is no longer directed to the business entity, and the message is forwarded to the default entity processing device for processing.
[0117] In the step of distributing the message to the default entity identification service processing device, the address and port information of the internal service processing side of the default service entity can be specifically extracted, and the original SIP message, the address and port information of the IMS core network side, and the port information of the default entity IMS side are encapsulated, and then the internal processing message is sent to the default entity identification SIP service processing device in an IP manner.
[0118] In the step of distributing the message to the entity identification service processing device, the address and port information of the internal service processing side of the target service entity is extracted, and after the original SIP message, the address and port information of the IMS core network side, and the port information of the target entity IMS side are encapsulated, the internal processing message is sent to the default entity identification SIP service processing device in IP mode.
[0119] The solution provided in the embodiment of the present application can be applied to NFV scenarios and is used to process SIP messages for high-concurrency ringback tone calls. The solution provided in this embodiment abandons SESSION retention, minimizes SIP message parsing, improves service access processing performance, and achieves low-latency processing of SIP signaling protocol messages in scenarios with large user volumes and high concurrency.
[0120] The SIP processing cluster includes SIP access devices and SIP service processing devices. The SIP access devices completely proxy all SIP messages of the AS, provide the address and port resource information of the IMS core network side, complete the communication with the IMS core network, and configure dual-machine operation to avoid single point failure; the SIP service processing device configures multiple devices to form a cluster operation to provide scalable service processing capabilities. At the same time, the SIP service processing device does not configure the network resources of the IMS core network side, and adopts the method of private intranet protocol communication to reduce the demand for resources on the IMS core network side;
[0121] By abandoning session persistence on the access device, SIP message parsing and reassembly can be effectively reduced. By setting a one-to-one port mapping method for SIP business processing devices, SIP messages can be quickly distributed and the processing capacity of access devices can be improved.
[0122] SIP access devices make full use of the SIP protocol VIA\Record-Route routing mechanism by setting up multiple ports, provide multi-port support for the IMS core network, avoid placing all service exports on the default service port, reduce the single-port service load of the default service port, and improve the single-device interface processing capability.
[0123] When distributing SIP messages to SIP service processing devices, the SIP access device discards the SIP standard message and uses a private protocol to reassemble the IP packet, carrying the original SIP message, the sending address and port information on the IMS core network side, and the address and port information configured on the IMS core network side in the service entity on the SIP access device side; when the SIP service processing device sends a message, the assembled SIP message needs to collect the IMS side address and port information transmitted by the SIP access device, and fill in and confirm the VIA / Record-Route information in the SIP message to notify the subsequent message processing path of the opposite network device on the IMS side; at the same time, the IMS side destination network address and port information is provided, so that when the SIP access device sends the message on behalf of the SIP access device, there is no need to re-parse and construct the SIP message, and the message can be directly sent, thereby improving the processing efficiency of the SIP access device.
[0124] Furthermore, the status management of SIP business processing equipment can be performed. By setting a default entity, processing equipment redundancy is provided for the cluster. When a SIP business processing node fails, the default entity processes subsequent messages of the original calls of the failed business processing equipment. Active / deactive business equipment can be supported to facilitate lossless software upgrades and system maintenance of business equipment during maintenance. The deactive entity continues to process subsequent messages of the original port mapping call, but no longer allocates new calls.
[0125] Through the customized matching algorithm and the port mapping business processing entity with the same configuration, the two SIP access devices combined into dual machines no longer need SESSION session synchronization, instant switching and instant processing, which is more convenient for the maintenance and upgrade of SIP access devices.
[0126] Compared with the prior art, the solution provided by the embodiment of the present application has the following advantages:
[0127] Session persistence: If the SIP access device parses all received SIP messages, extracts the CALL-ID field, and performs session persistence, it will take up a lot of processing performance. This solution can effectively reduce the number of message parsing and greatly reduce the processing resources consumed by message parsing, and there is no need to persist the session.
[0128] In terms of service multi-port negotiation: For the IMS core network side, the default port plus multiple service ports are used. The default port realizes unified access, and other service ports do not need to parse messages. Fast message forwarding is completed in two steps. Since a single call in the ringback tone call process often consists of up to 50 message interactions to form a complete call, after the service multi-port negotiation is adopted, the subsequent 40+ messages are directly forwarded using the negotiation port, which greatly improves the performance of the processing equipment and meets the processing performance requirements of the access equipment for the platform with tens of millions of users in the NFV scenario.
[0129] In terms of dual-machine access device implementation: In this solution, due to the use of business entity mapping, when the SIP access device needs to be switched, it is no longer necessary to perform session synchronization operations between the SIP access devices, and instant switching can be achieved.
[0130] In terms of message sending processing: Since the destination information is sent in the form of IP packet parameters and is directly notified by the SIP business processing device, there is no need to parse the SIP message packet and it can be sent directly, improving the processing performance of the access device.
[0131] In terms of processing device determination: This solution adopts a multi-port mapping method, which directly matches and maps according to the port information. There is no need to parse the SIP message, and the back-end business processing device does not need to add additional information in the SIP message header field.
[0132] In order to solve the problems existing in the prior art, the embodiment of the present application further provides a SIP message processing device 80, such as Fig.11 As shown, including:
[0133] A receiving module 81 receives a first SIP message sent by the IMS core network;
[0134] A forwarding module 82 forwards the first SIP message to a corresponding SIP service processing device through a service network side address port of a SIP entity corresponding to the first SIP message, wherein the service network side address port of the SIP entity corresponds to an intranet service port of a unique SIP service processing device;
[0135] The sending module 83 sends the second SIP message to the IMS core network through the CSCF side port of the target SIP entity that receives the second SIP message if the second SIP message sent by the SIP service processing device is received. The second SIP message carries the target service network side address port of the target SIP entity, and the target service network side address port is used to instruct the IMS core network to send a SIP message associated with the first SIP message to the target SIP entity.
[0136] The device provided in the embodiment of the present application may specifically be at least one SIP access device in a SIP processing cluster, and the SIP access device includes multiple SIP entities. The device provided in the embodiment of the present application receives a first SIP message sent by an IMS core network; forwards the first SIP message to a corresponding SIP service processing device according to the service network side address port of the SIP entity receiving the first SIP message, wherein the service network side address port of the SIP entity corresponds to the intranet service port of the unique SIP service processing device; if a second SIP message sent by the SIP service processing device is received, the CSCF side address port in the second SIP message is obtained; and the second SIP message is sent to the IMS core network according to the CSCF side address port. Since the service network side address port of the SIP entity corresponds to the intranet service port of the unique SIP service processing device, the SIP message sent by the IMS core network can be efficiently forwarded to the corresponding SIP service processing device without parsing it, and for the SIP message sent by the SIP service processing device, it can be quickly forwarded according to the CSCF side address port, thereby reducing the processing performance consumed by the SIP access device in parsing the SIP message.
[0137] Preferably, an embodiment of the present invention further provides an electronic device, including a processor, a memory, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, each process of the above-mentioned SIP message processing method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it will not be described here.
[0138] The embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, each process of the above-mentioned SIP message processing method embodiment is implemented, and the same technical effect can be achieved. To avoid repetition, it is not repeated here. The computer-readable storage medium is, for example, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.
[0139] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.
[0140] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal (which can be a mobile phone, a computer, a server, an air conditioner, or a network device, etc.) to execute the methods described in each embodiment of the present invention.
[0141] The embodiments of the present invention are described above in conjunction with the accompanying drawings, but the present invention is not limited to the above-mentioned specific implementation modes, which are merely illustrative rather than restrictive. Under the guidance of the present invention, ordinary technicians in this field can also make many forms without departing from the scope of protection of the present invention and the claims, all of which are within the protection of the present invention.
Claims
1. A SIP message processing method, characterized in that: At least one SIP access device applied to a SIP processing cluster, the SIP access device includes multiple SIP entities, including: Receiving a first SIP message sent by the IMS core network; Forwarding the first SIP message to the corresponding SIP service processing device through the service network side address port of the target SIP entity corresponding to the first SIP message, wherein the service network side address port of any SIP entity in the SIP access device corresponds to the intranet service port of the unique SIP service processing device; If a second SIP message sent by the SIP service processing device is received, the second SIP message is sent to the IMS core network through the CSCF side port of the target SIP entity that receives the second SIP message, and the second SIP message carries a target service network side address port of the target SIP entity, and the target service network side address port is used to instruct the IMS core network to send a SIP message associated with the first SIP message to the target SIP entity.
2. The method according to claim 1, characterized in that Before receiving the first SIP message sent by the IMS core network, the method further includes: Preconfigure multiple SIP entities for receiving SIP messages sent by an IMS core network, wherein the multiple SIP entities include a SIP default entity and at least one SIP non-default entity, wherein the SIP entity preconfigures at least one of an IMS core network side port resource, an intranet service network side port resource, and a SIP service processing device identifier.
3. The method according to claim 2, characterized in that After receiving the first SIP message sent by the IMS core network, the method further includes: Acquire SIP entity information according to the first SIP message; A target SIP entity corresponding to the first SIP message is determined according to the SIP entity information, where the SIP entity information represents an entity type receiving the first SIP message.
4. The method according to claim 3, characterized in that Determining a target SIP entity corresponding to the first SIP message according to the SIP entity information includes: If the entity information indicates that the SIP entity receiving the first SIP message is a SIP non-default entity, the SIP entity receiving the first SIP message is determined as a target SIP entity corresponding to the first SIP message.
5. The method according to claim 4, characterized in that Determining a SIP entity that receives the first SIP message as a target SIP entity corresponding to the first SIP message includes: Determine whether the SIP entity corresponding to the SIP entity information is available; If the SIP entity corresponding to the SIP entity information is available, the SIP entity that receives the first SIP message is determined as the target SIP entity corresponding to the first SIP message.
6. The method according to claim 3, characterized in that Determining a target SIP entity corresponding to the first SIP message according to the SIP entity information includes: If the entity information indicates that the SIP entity receiving the first SIP message is a SIP default entity, obtaining a call identifier in the first SIP message; The SIP entity that matches the call identifier is determined as the target SIP entity corresponding to the first SIP message according to a preset matching algorithm.
7. The method according to claim 6, characterized in that Forwarding the first SIP message to a corresponding SIP service processing device through a service network side address port of a target SIP entity corresponding to the first SIP message includes: Generate an IP packet according to the first SIP message, wherein the IP packet includes the first SIP message and / or the CSCF side address port of the target SIP entity; The IP packet is sent to the corresponding SIP service processing device using the service network side address port of the target SIP entity corresponding to the first SIP message.
8. A SIP message processing device, characterized in that: Applied to at least one SIP access device in a SIP processing cluster, the SIP access device includes a plurality of SIP entities, the apparatus includes: A receiving module receives a first SIP message sent by the IMS core network; A forwarding module, which forwards the first SIP message to the corresponding SIP service processing device through the service network side address port of the target SIP entity corresponding to the first SIP message, wherein the service network side address port of any SIP entity in the SIP access device corresponds to the intranet service port of the unique SIP service processing device; The sending module is configured to send the second SIP message to the IMS core network through the CSCF side port of the target SIP entity that receives the second SIP message if the second SIP message sent by the SIP service processing device is received, wherein the second SIP message carries a target service network side address port of the target SIP entity, and the target service network side address port is used to instruct the IMS core network to send a SIP message associated with the first SIP message to the target SIP entity.
9. An electronic device, characterized in that: include: A memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program implements the steps of the method according to any one of claims 1 to 7 when executed by the processor.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Service stream management method oriented to SIP application
CN101383785A
Communication method, device and system
CN110971583A