Quality of service analysis method, network equipment and device
By receiving and forwarding SIP message information in the M-LAG system and establishing a synchronization channel for information synchronization, the problem that network devices cannot obtain complete messages is solved, ensuring that each device can perform service quality analysis, and improving the system's analysis capabilities.
Patent Information
- Application Number
- CN202510387235.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-28
- Publication Date
- 2025-07-08
AI Technical Summary
In the M-LAG system, network equipment cannot obtain complete SIP packets due to BAGG load sharing, and cannot conduct effective service quality analysis.
Receive SIP messages through the M-LAG interface, store and forward message information to other network devices, establish a synchronization channel for information synchronization, and ensure that all network devices obtain complete message information to perform service quality analysis.
It realizes that each network device in the M-LAG system can obtain complete SIP message information, thereby enabling effective service quality analysis and improving the system's service quality analysis capabilities.
Smart Images

Figure CN120281759A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of network technologies, and in particular, to a method for analyzing service quality, a network device, and a device. Background Art
[0002] SIP (Session Initiation Protocol) is a communication protocol used to establish, modify, and terminate multimedia sessions (such as voice, video, and messages) between terminals. After terminals establish a call by transmitting multiple SIP messages based on SIP, multimedia session messages can be transmitted based on RTP (Real-time Transport Protocol) during the call, thereby realizing the multimedia session between terminals. When ending the call, the multimedia session between the terminals is disconnected based on SIP again.
[0003] To better provide multimedia session services, a network device for transmitting messages can analyze multimedia session messages through the SQA (Service Quality Analysis) function to determine their transmission quality and adaptively optimize the transmission quality to achieve a better multimedia session effect. The premise for the network device to provide services based on SQA is that the network device can obtain the message information contained in the SIP messages transmitted between terminals.
[0004] M-LAG (Multichassis link aggregation) is a cross-device link aggregation technology. M-LAG forms an M-LAG system by virtualizing two physical devices into one device to achieve cross-device link aggregation, thereby providing device-level redundancy protection and traffic load sharing. When the SIP messages transmitted between terminals are forwarded through the M-LAG system, due to the BAGG (Bridge-Aggregation, layer 2 aggregation) load sharing of the M-LAG system, the SIP messages transmitted between the same two terminals may be shared to different network devices, resulting in any network device not being able to receive a complete SIP message. Therefore, the SQA configured in any network device cannot provide services because it cannot obtain the message information in the complete SIP message. Summary of the Invention
[0005] The purpose of the embodiments of this application is to provide a method for analyzing service quality, a network device, and a device, so that the network devices in the M-LAG system can all obtain the complete message information of the SIP message, thereby performing service quality analysis. The specific technical solutions are as follows:
[0006] In a first aspect, an embodiment of the present application provides a method for analyzing service quality, which is applied to each network device in a Multi-Chassis Link Aggregation (M-LAG) system. As the first network device, the method includes:
[0007] Receiving, through the M-LAG interface, a first Session Initiation Protocol (SIP) message for establishing a target call between a first terminal and a second terminal;
[0008] Obtaining and storing first message information carried in the first SIP message;
[0009] Performing Service Quality Analysis (SQA) for the target call based on the stored first message information of the target call;
[0010] Sending the first message information to a second network device in the M-LAG system other than the first network device, so that the second network device stores the first message information and performs SQA for the target call based on the stored first message information of the target call.
[0011] In an embodiment of the present application, the sending the first message information to a second network device in the M-LAG system other than the first network device includes:
[0012] Sending the first message information to the second network device through a synchronization channel between the first network device and the second network device in the M-LAG system.
[0013] In an embodiment of the present application, the method further includes:
[0014] Sending a first channel number to the second network device, where the first channel number is the channel number assigned by the first network device for a synchronization channel to be constructed, and the channel number assigned each time is the sum of the previous assigned channel number and a preset step value;
[0015] Receiving a second channel number sent by the second network device, where the second channel number is the channel number assigned by the second network device for a synchronization channel to be constructed, and the channel number assigned each time is the sum of the previous assigned channel number and a preset step value, and the first channel number and the second channel number assigned for the first time by the first network device and the second network device are the same;
[0016] If the first channel number and the second channel number are different, sending a first batch synchronization request to the second network device so that the second network device feeds back all stored message information;
[0017] If the first channel number and the second channel number are the same, sending a second batch synchronization request to the second network device so that the second network device feeds back second message information;
[0018] The first identifier of the target message information received last time from the second network device is included in the second batch synchronization request, and the second message information is obtained from the SIP message after the second network device sends the target message information to the first network device.
[0019] In an embodiment of the present application, after the peer-link between network devices in the M-LAG system is established, a channel creation request is sent to the second network device to enable the second network device to construct a synchronization channel;
[0020] Receive the channel creation response sent by the second network device and construct a synchronization channel;
[0021] Wherein, the synchronization channel is carried by the peer-link.
[0022] In an embodiment of the present application, the channel creation request includes at least one of the following information: the channel version number of the synchronization channel supported by the first network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel, so that the second network device constructs the synchronization channel when it determines that the information carried in the channel creation request is the same as the locally configured information;
[0023] The working mode is an independent mode in which network devices in the M-LAG system operate independently, or a primary / backup mode in which network devices in the M-LAG system are divided into primary devices and backup devices;
[0024] The channel creation response includes at least one of the following information: the channel version number supported by the second network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel;
[0025] The receiving the channel creation response sent by the second network device and constructing a synchronization channel includes:
[0026] Receive the channel creation response sent by the second network device;
[0027] Construct the synchronization channel when the information included in the channel creation response is the same as the locally configured information.
[0028] In an embodiment of the present application, the method further includes:
[0029] If the data packet of the target call is transmitted to the first terminal or the second terminal within a preset period, a first keep-alive message is sent to the second network device, so that the second network device retains the packet information corresponding to the target call locally when receiving the first keep-alive message;
[0030] If the data packet of the target call is not transmitted to the first terminal or the second terminal within a preset period and the second keep-alive message sent by the second network device is not received, the packet message corresponding to the target call is deleted. The second keep-alive message is sent by the second network device when transmitting the data packet of the target call to the first terminal or the second terminal within a preset period.
[0031] In an embodiment of the present application, the method further includes:
[0032] If a second SIP message for disconnecting the target call is received, the packet information corresponding to the target call is deleted locally;
[0033] A failure message is sent to the second network device, so that the second network device deletes the packet information corresponding to the target call locally after receiving the failure message.
[0034] In an embodiment of the present application, the method further includes:
[0035] If the fourth packet information is not obtained within a preset duration after the third packet information is obtained, the third packet information is deleted;
[0036] Wherein, the third packet information is included in an invitation INVITE message for requesting to establish the target call; the fourth packet information is included in an invitation response message indicating that the target call is successfully established.
[0037] In an embodiment of the present application, after receiving, through the M-LAG interface, a first Session Initiation Protocol SIP message for establishing a target call between a first terminal and a second terminal, the method further includes:
[0038] Copy the first SIP message to obtain a copied SIP message;
[0039] Forward the first SIP message according to the destination address of the first SIP message;
[0040] The obtaining and storing the first packet information carried in the first SIP message specifically includes:
[0041] Extract and store the first packet information from the copied SIP message.
[0042] Second aspect, an embodiment of the present application provides a network device, which includes:
[0043] A processor;
[0044] A transceiver;
[0045] A machine-readable storage medium storing machine-executable instructions executable by the processor. The network device is any network device in a multi-device link aggregation M-LAG system. As a first network device, the machine-executable instructions cause the processor to execute the method steps of any item in the first aspect.
[0046] Third aspect, an embodiment of the present application provides a service quality analysis device applied to each network device in a multi-device link aggregation M-LAG system. As a first network device, the device includes:
[0047] A message receiving module, configured to receive, through an M-LAG interface, a first Session Initiation Protocol (SIP) message for establishing a target call between a first terminal and a second terminal;
[0048] An information acquisition module, configured to acquire and store first message information carried in the first SIP message;
[0049] An SQA execution module, configured to perform SQA for the target call based on the stored first message information of the target call;
[0050] An information sending module, configured to send the first message information to a second network device other than the first network device in the M-LAG system, so that the second network device stores the first message information and performs SQA for the target call based on the stored first message information of the target call.
[0051] In an embodiment of the present application, the information sending module is specifically configured to:
[0052] Send the first message information to the second network device through a synchronization channel between the first network device and the second network device in the M-LAG system, so that the second network device stores the first message information and performs SQA for the target call based on the stored first message information of the target call.
[0053] In an embodiment of the present application, the device further includes:
[0054] A channel number sending module, configured to send a first channel number to the second network device, where the first channel number is: the channel number assigned by the first network device to a synchronization channel to be constructed, and the channel number assigned each time is the sum of the channel number assigned in the previous time and a preset step size;
[0055] A channel number receiving module, configured to receive a second channel number sent by the second network device, where the second channel number is: the channel number assigned by the second network device to a synchronization channel to be constructed, and the channel number assigned each time is the sum of the channel number assigned in the previous time and a preset step size, and the channel numbers assigned by the first network device and the second network device for the first time are the same;
[0056] A first batch synchronization module, configured to, if the first channel number is different from the second channel number, send a first batch synchronization request to the second network device, so that the second network device feeds back all the message information stored therein;
[0057] A second batch synchronization module, configured to, if the first channel number is the same as the second channel number, send a second batch synchronization request to the second network device, so that the second network device feeds back second message information;
[0058] The second batch synchronization request includes a first identifier of target message information received from the second network device last time, and the second message information is obtained from the SIP message after the second network device sends the target message information to the first network device.
[0059] In an embodiment of the present application, the apparatus further includes:
[0060] A creation request sending module, configured to send a channel creation request to the second network device after the peer-link between network devices in the M-LAG system is established, so that the second network device constructs a synchronization channel;
[0061] A channel construction module, configured to receive a channel creation response sent by the second network device and construct a synchronization channel;
[0062] Wherein, the synchronization channel is carried by the peer-link.
[0063] In an embodiment of the present application, the channel creation request includes at least one of the following information: the channel version number of the synchronization channel supported by the first network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel, so that the second network device constructs the synchronization channel when determining that the information carried in the channel creation request is the same as the information configured locally;
[0064] The working mode is an independent mode in which network devices in the M-LAG system operate independently, or a primary / backup mode in which network devices in the M-LAG system are divided into a primary device and a backup device;
[0065] The channel creation response includes at least one of the following information: the channel version number supported by the second network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel;
[0066] The channel construction module is specifically configured to:
[0067] Receive the channel creation response sent by the second network device;
[0068] Construct the synchronization channel when the information included in the channel creation response is the same as the locally configured information.
[0069] In one embodiment of the present application, the device further includes:
[0070] A keep-alive module, configured to send a first keep-alive message to the second network device if the data message of the target call is transmitted to the first terminal or the second terminal within a preset period, so that the second network device retains the message information corresponding to the target call locally when receiving the first keep-alive message;
[0071] A first deletion module, configured to delete the message of the target call if the data message of the target call is not transmitted to the first terminal or the second terminal within a preset period and the second keep-alive message sent by the second network device is not received. The second keep-alive message is sent by the second network device when the data message of the target call is transmitted to the first terminal or the second terminal within a preset period.
[0072] In one embodiment of the present application, the device further includes:
[0073] A failure module, configured to locally delete the message information corresponding to the target call if a second SIP message for disconnecting the target call is received;
[0074] A failure message sending module, configured to send a failure message to the second network device so that the second network device deletes the message information corresponding to the target call locally after receiving the failure message.
[0075] In one embodiment of the present application, the device further includes:
[0076] A second deletion module, configured to delete the third message information if the fourth message information is not obtained within a preset duration after the third message information is obtained;
[0077] Among them, the third message information is included in the invitation INVITE message for requesting to establish the target call; the fourth message information is included in the invitation response message indicating the successful establishment of the target call.
[0078] In an embodiment of the present application, the device further includes:
[0079] A message replication module, configured to replicate the first SIP message to obtain a replicated SIP message;
[0080] A message forwarding module, configured to forward the first SIP message according to the destination address of the first SIP message;
[0081] The information acquisition module is specifically configured to:
[0082] Extract and store the first message information from the replicated SIP message.
[0083] Fourthly, an embodiment of the present application provides a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the method steps described in any one of the first aspects are implemented.
[0084] Fifthly, an embodiment of the present application further provides a computer program product containing instructions, which when running on a computer, causes the computer to execute the method steps described in any one of the above first aspects.
[0085] Beneficial effects of the embodiments of the present application:
[0086] The first network device applied to the M-LAG system provided by the embodiment of the present application, after receiving the first SIP message for establishing a target call through the M-LAG interface, acquires and stores the first message carried in the first SIP message, and executes SQA for the target call. And send the first message information to the second network device, so that the second network device also stores the first message information and can also execute SQA for the target call based on the first message information. That is, the network device in the M-LAG system in the present application will acquire the message information in the SIP message after receiving the SIP message, and send it to other network devices in the M-LAG system, so that the network devices in the M-LAG system that have not received the SIP message can also acquire the complete message information. Therefore, the SQA configured in each network device in the M-LAG system can acquire the message information in the complete SIP message and then perform service quality analysis for the target call. Description of the Drawings
[0087] To more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings required for the description of the embodiments or the prior art. Obviously, the drawings in the following description are only some embodiments of the present application, and those of ordinary skill in the art can also obtain other embodiments based on these drawings.
[0088] Figure 1 Schematic diagram of the structure of an M-LAG system provided by an embodiment of the present application;
[0089] Figure 2 Schematic diagram of the forwarding path of a SIP message provided by an embodiment of the present application;
[0090] Figure 3 Schematic diagram of a network structure in the related art;
[0091] Figure 4 Schematic diagram of the flow of the first service quality analysis method provided by an embodiment of the present application;
[0092] Figure 5 Schematic diagram of the forwarding path of a message and message information provided by an embodiment of the present application;
[0093] Figure 6 Schematic diagram of the flow of the second service quality analysis method provided by an embodiment of the present application;
[0094] Figure 7 Schematic diagram of the process of establishing a synchronization channel provided by an embodiment of the present application;
[0095] Figure 8 Schematic diagram of the process of the first batch message information synchronization provided by an embodiment of the present application;
[0096] Figure 9 Schematic diagram of the interaction process of message information and identification provided by an embodiment of the present application;
[0097] Figure 10 Schematic diagram of the process of the second batch message information synchronization provided by an embodiment of the present application;
[0098] Figure 11 Schematic diagram of the process of the third batch message information synchronization provided by an embodiment of the present application;
[0099] Figure 12 Schematic diagram of the flow of the third service quality analysis method provided by an embodiment of the present application;
[0100] Figure 13 Schematic diagram of the process of deleting message information provided by an embodiment of the present application;
[0101] Figure 14Schematic flowchart of the fourth service quality analysis method provided by the embodiments of the present application;
[0102] Figure 15 Schematic flowchart of the transmission and deletion of message information provided by the embodiments of the present application;
[0103] Figure 16 Schematic flowchart of the fifth service quality analysis method provided by the embodiments of the present application;
[0104] Figure 17 Schematic diagram of the structure of a network device provided by the embodiments of the present application;
[0105] Figure 18 Schematic diagram of the structure of a service quality analysis device provided by the embodiments of the present application. Detailed implementation manners
[0106] Next, the technical solutions in the embodiments of the present application will be clearly and completely described with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art based on the present application belong to the scope of protection of the present application.
[0107] To describe the solution provided by the embodiments of the present application, the M-LAG system will be described first.
[0108] See Figure 1 , which is a schematic diagram of the structure of an M-LAG system provided by the embodiments of the present application.
[0109] Figure 1 The part enclosed by the dashed box in contains the M-LAG system, which includes network device A and network device B. Network device A and network device B are connected. Both network device A and network device B are connected to network device C and the IP (Internet Protocol) network. The interfaces through which they are respectively connected to network device C are M-LAG interfaces. Network device C is connected to the terminal. Network device A and network device B are virtualized into one device to jointly perform network forwarding, so as to share the traffic pressure and improve the forwarding speed.
[0110] On the basis of Figure 1 , see Figure 2 , which is a schematic diagram of the forwarding path of SIP messages provided by the embodiments of the present application.
[0111] Figure 2 The arrows in represent a possible situation of the forwarding path of SIP messages sent and received by a terminal. From Figure 2It can be seen that the SIP messages sent and received by a terminal may be forwarded by two network devices in the M-LAG system respectively due to the BAGG load sharing of the M-LAG system. In this case, each network device will only receive part of the SIP messages, resulting in a network device being unable to obtain the message information in all SIP messages.
[0112] To better describe the differences between the solution provided in the embodiments of the present application and the related technologies, the solutions in the related technologies are described herein.
[0113] See Figure 3 , which is a schematic diagram of a network structure in the related technology.
[0114] The difference from Figure 1 is that Figure 3 there is a terminal connected to network device A through a non-M-LAG interface. This terminal can only interact with network device A through the non-M-LAG interface. Therefore, the transmission path of the SIP messages of this terminal indicated by the arrows in the figure only passes through network device A, and network device A can obtain the message information in all SIP messages.
[0115] However, this will cause the advantages of traffic sharing and redundancy protection that the M-LAG system can provide to not exist for this terminal, which will in turn affect the traffic forwarding quality of this terminal. And network device A has to handle both the traffic passing through the M-LAG system and the traffic of this terminal, increasing its message processing pressure.
[0116] In addition, the main messages transmitted during the complete call process between two terminals are described.
[0117] First, the terminal executes the SIP call process, which includes the process for establishing a call, including: initiating a call, call response, and establishing a session. After that, the terminals have a call process, and finally enter the process of ending the call. Hereinafter, an example where terminal A initiates a call to terminal B is used.
[0118] 1. Initiating a call
[0119] Terminal A sends an INVITE (invitation) message to terminal B, indicating that terminal A requests to have a call with terminal B.
[0120] The main parameters in the INVITE message include:
[0121] From (source): Identifies the address of the call initiator (i.e., terminal A). For example, this address can be an IP address, an email address, a phone number, etc.;
[0122] TO (Destination): Identifies the address of the call recipient (i.e., Terminal B). For example, this address can be an IP address, an email address, a phone number, etc.
[0123] Contact: Provides the contact address of the call initiator (i.e., Terminal A) for receiving subsequent messages. For example, this address can be an IP address, an email address, a phone number, etc.
[0124] Call-ID (Call Identifier): Uniquely identifies a call, ensuring that all packets in the same call can be associated.
[0125] SDP (Session Description Protocol): Describes the media information of the session, such as media type (audio, video), encoding format, bandwidth, etc.
[0126] 2. Call Response
[0127] Terminal B sends the following three types of packets to Terminal A:
[0128] 100 Trying packet: After receiving the INVITE packet from Terminal A, Terminal B first sends a 100 Trying response, indicating that Terminal B has received the INVITE packet.
[0129] 180 Ringing packet: Terminal B starts ringing, indicating that Terminal B is ringing and waiting for Terminal B to answer the call;
[0130] 200 OK packet, i.e., the invitation response packet: Indicates that Terminal B has answered the call and the call has been connected, and the call can start.
[0131] The main parameters included in the packets during the above call response are as follows:
[0132] From, TO, and Call-ID are all the same as those carried in the INVITE packet; TO may contain a tag for distinguishing different responses.
[0133] SDP: Describes the media information supported by the call recipient (Terminal B), such as media type (audio, video), encoding format, bandwidth, etc.
[0134] 3. Establish Session
[0135] ACK (Acknowledgment) packet: After receiving the 200 OK packet sent by Terminal B, Terminal A sends an ACK packet to Terminal B, indicating that the call has been established.
[0136] The main parameters included in the ACK packet are as follows:
[0137] From: The same as that in the INVITE message;
[0138] TO: The same as that in the 200OK message;
[0139] Call-ID: The same as that in the INVITE message;
[0140] SDP: Optional. It describes the media information of the session, such as media type (audio, video), encoding format, bandwidth, etc., and is used for further negotiation of media parameters.
[0141] 4. Call process
[0142] Both parties transmit voice, video or message data through RTP.
[0143] 5. End the call
[0144] When one party wants to end the call during the call process, it will send a BYE message to the other party.
[0145] The main parameters included in the BYE message are:
[0146] From: Indicates the address of the party that hangs up the call;
[0147] TO: Indicates the address of the other party;
[0148] Call-ID: The same as the Call-ID in the message transmitted during the call establishment process.
[0149] After receiving the BYE message, the other party replies with a 200OK message to the party that hangs up the call, indicating that the call ends.
[0150] After that, specific embodiments of the present application are described.
[0151] To solve the above problems, embodiments of the present application provide a method for analyzing service quality, a network device, and a device.
[0152] See Figure 4 , which is a schematic flowchart of the first method for analyzing service quality provided by an embodiment of the present application, and is applied to each network device in the M-LAG system. As the first network device, the following steps S401 - step S404 are executed.
[0153] S401: Receive a first SIP message for establishing a target call between a first terminal and a second terminal through the M-LAG interface.
[0154] In an embodiment of the present application, if it is determined that the destination port number of the received message is a preset fixed port number, it is determined that the message is a SIP message.
[0155] If the first SIP message is received through the M-LAG interface, it indicates that the first SIP message is sent to the first network device after BAGG load sharing. The second network device will not receive the first SIP message and will not obtain the first message information of the first SIP message. Therefore, the subsequent step S404 needs to be executed.
[0156] In addition, the above first SIP message can be any message involved in the process of establishing a target call, including the INVITE message, 100Trying message, 180Ringing message, 200OK message, ACK message described above. Or in this application, only the message information included in some key target messages can be concerned. Then, the acquisition and storage of message information are only performed when the received SIP message is a target message. For example, the target message can be an INVITE message or a 200OK message.
[0157] S402: Obtain and store the first message information carried in the above first SIP message.
[0158] The above first message information can be all the information carried in the first SIP message. Or to reduce the amount of data of the information to be stored, the above first message information can also be part of the information in the first SIP message, especially including the target information that is key during the execution of SQA, including Call-ID and SDP. Among them, since the Call-IDs of different calls are almost never the same, the message information of different stored calls can be distinguished by Call-ID.
[0159] In addition, information such as the source IP, destination IP, source port number, and destination port number extracted from the SDP can be combined and encapsulated with the Call-ID into a preset data structure. In this application, the encapsulated data is called a multimedia channel entry and used as the first message information. The first network device can subsequently perform SQA on the target channel based on the multimedia channel entry.
[0160] In an embodiment of this application, steps A - B are further executed after the above step S401.
[0161] Step A: Copy the above first SIP message to obtain a copied SIP message.
[0162] Step B: Forward the above first SIP message according to the destination address of the above first SIP message.
[0163] Based on the above steps A - B, step S402 can be implemented through the following step C.
[0164] Step C: Extract and store the first message information from the above copied SIP message.
[0165] Since it takes a certain amount of time to directly extract the first message information from the first SIP message, if the first message information is directly extracted from the first SIP message, the forwarding of the first SIP message by the first network device will be delayed, thereby delaying the establishment of the target call by the terminal. Therefore, the first SIP message can be copied first to obtain a copied SIP message, and then the first message information can be extracted and stored from the copied SIP message, which will not affect the establishment of the target call between the first terminal and the second terminal.
[0166] S403: Based on the stored first message information of the above-mentioned target call, perform SQA for the above-mentioned target call.
[0167] The specific manner of performing SQA for the target call can be implemented through related technologies and will not be elaborated here.
[0168] S404: Send the above-mentioned first message information to a second network device in the above-mentioned M-LAG system other than the above-mentioned first network device, so that the second network device stores the above-mentioned first message information and performs SQA for the above-mentioned target call based on the stored first message information of the above-mentioned target call.
[0169] In an embodiment of the present application, the first message information sent by the first network device to the second network device can be the information in the unencapsulated first SIP message or the encapsulated multimedia channel entry. If the definitions of the formats of the multimedia channel entries in the first network device and the second network device are the same, then if the first network device sends a multimedia channel entry to the second network device, the second network device can directly perform SQA on the target channel based on the multimedia channel entry without further information extraction and encapsulation. However, since the formats of the multimedia channel entries defined in the first network device and the second network device may be different, if the first network device sends a multimedia channel entry, the second network device may need to perform compatibility processing on the entry after receiving it, consuming additional processing resources.
[0170] Therefore, in this case, the first network device directly sends the unencapsulated first message information, and the second network device extracts data from the first message information based on its own defined format after receiving the first message information and encapsulates it to obtain a multimedia channel entry, thereby saving processing resources.
[0171] It should be noted that the above first SIP message may include various different types of messages. For example, INVITE messages, 200OK messages. Multiple messages may be received by the same network device, or may be received by different network devices. In either case, the network device that receives the first SIP message acts as the first network device and sends the first SIP message information to the second network device. And, in the case where the above first SIP message may include various different types of messages, each first SIP message does not contain all the message information related to the target call. For example, the INVITE message contains part of the message information, and the 200OK message contains another part of the message information. Therefore, the multimedia channel entry generated based on the first message information synchronized once between the first network device and the second network device can be called a semi-open multimedia channel entry. After synchronizing all the first message information in the first SIP messages related to the target call between the first network device and the second network device, both of them will obtain the complete message information and can generate the complete multimedia channel entry.
[0172] As can be seen from the above, after the first network device receives the first SIP message for establishing the target call through the M-LAG interface, it obtains and stores the first message carried in the first SIP message, and performs SQA for the target call. And it sends the first message information to the second network device, so that the second network device also stores the first message information and can also perform SQA for the target call based on the first message information. That is, the network device in the M-LAG system in this application will obtain the message information in the SIP message after receiving the SIP message, and send it to other network devices in the M-LAG system, so that the network devices in the M-LAG system that have not received the SIP message can also obtain the complete message information. Therefore, the SQA configured in each network device in the M-LAG system can obtain the message information in the complete SIP message and then perform service quality analysis for the target call.
[0173] See Figure 5 , which is a schematic diagram of the forwarding path of a message and message information provided by an embodiment of the present application.
[0174] The network structure in the figure is the same as that in Figure 2 shown, Figure 5 and also includes the same message forwarding path as that in Figure 2 shown. Figure 5 It additionally includes an arrow between network device A and network device B, indicating the interaction of message information between network device A and network device B.
[0175] See Figure 6 , which is a schematic flow chart of the second service quality analysis method provided by an embodiment of the present application, and is the same as the foregoing Figure 4Compared with the illustrated embodiment, the above step S404 can be implemented through the following step S404A.
[0176] S404A: Send the above first message information to the above second network device through the synchronization channel between the above first network device and the second network device in the above M-LAG system, so that the above second network device stores the above first message information, and based on the stored first message information of the above target call, perform SQA for the above target call.
[0177] The above synchronization channel is carried by the peer-link (peer link) between the first network device and the second network device. Since the peer-link itself has a mechanism to prevent packet loss, except in the case of peer-link failure, it can be defaulted in this application that the synchronization channel will not have packet loss and has good transmission quality.
[0178] In addition, the above synchronization channel can not only be used to transmit the first message information of a first SIP message of the target call between two terminals, but can transmit the message information of all SIP messages of the calls between all terminals. Therefore, as long as the peer-link link is not disconnected and there is still message information to be transmitted, the above synchronization channel can remain alive continuously.
[0179] In an embodiment of this application, a synchronization channel is created through the following steps D-step E.
[0180] Step D: After the peer-link between the network devices in the above M-LAG system is established, send a channel creation request to the above second network device, so that the above second network device constructs a synchronization channel.
[0181] The above channel creation request can be called a Hello request. The completion of the establishment of the above peer-link can be the initial completion of the establishment of the peer-link, or the re-establishment after the peer-link fails and disconnects.
[0182] In an embodiment of this application, the network devices in the above M-LAG system are in a primary / backup mode, that is, one network device is the primary device and the other is the backup device. Then the first network device that initiates the establishment of the synchronization channel is the primary device. If the network devices in the above M-LAG system operate independently, the first network device that initiates the establishment of the synchronization channel is any network device in the M-LAG system.
[0183] Step E: Receive the channel creation response sent by the above second network device and construct a synchronization channel.
[0184] Among them, the above synchronization channel is carried by the peer-link.
[0185] The above channel creation response can be referred to as a Hello response
[0186] In an embodiment of the present application, the channel version number, working mode, and protocol type of the message information to be transmitted through the synchronization channel supported by the above first network device are such that the above second network device constructs the synchronization channel when it determines that the information carried in the above channel creation request is the same as the locally configured information.
[0187] The above working mode is an independent mode in which the network devices in the above M-LAG system operate independently, or a primary / backup mode in which the network devices in the above M-LAG system are divided into a primary device and a backup device.
[0188] The above protocol type can also be referred to as the capability of the network device, that is, the ability of the network device to handle protocols.
[0189] When the channel creation request includes a channel version number, the second network device verifies the received channel version number for backward compatibility processing. The second network device verifies whether the received channel version number is consistent with the channel version number supported by itself. If they are consistent, the synchronization channel can be created; if not, the synchronization channel cannot be created.
[0190] When the channel creation request includes a working mode, the second network device verifies the received working mode. The working mode is used to distinguish the working mode of SQA in the M-LAG system. The second network device verifies whether the received working mode is consistent with the working mode supported by itself. If they are consistent, the synchronization channel can be created; if not, the synchronization channel cannot be created.
[0191] When the channel creation request includes a protocol type, the second network device determines whether the protocol based on which the message for transmitting the message information supported by itself is consistent with the protocol type carried in the channel creation request. If they are consistent, the negotiation between the two is successful, and the synchronization channel for transmitting the message information of this protocol type can be constructed. In the embodiment of the present application, the above protocol type is the SIP protocol. The second network device verifies whether the received protocol type is consistent with the protocol type supported by itself. If they are consistent, the synchronization channel can be created; if not, the synchronization channel cannot be created.
[0192] The above channel creation response includes at least one of the following information: the channel version number supported by the above second network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel.
[0193] The above step E is implemented through the following steps E1 - step E2.
[0194] Step E1: Receive the channel creation response sent by the second network device above.
[0195] Step E2: When the information included in the channel creation response above is the same as the locally configured information, construct the synchronization channel above.
[0196] When the channel creation response includes a channel version number, the first network device verifies the received channel version number for backward compatibility processing. The first network device verifies whether the received channel version number is consistent with the channel version number supported by itself. If they are consistent, a synchronization channel can be created; if not, a synchronization channel cannot be created.
[0197] When the channel creation response includes a working mode, the first network device verifies the received working mode, which is used to distinguish the working mode of SQA in the M-LAG system. The first network device verifies whether the received working mode is consistent with the working mode supported by itself. If they are consistent, a synchronization channel can be created; if not, a synchronization channel cannot be created.
[0198] When the channel creation response includes a protocol type, the first network device determines whether the protocol based on which the first network device supports transmitting message information matches the protocol type carried in the channel creation response. If they match, the first network device and the second network device have a successful negotiation and can construct a synchronization channel for transmitting message information of this protocol type. In the embodiments of the present application, the protocol type above is the SIP protocol. The first network device verifies whether the received protocol type is consistent with the protocol type supported by itself. If they are consistent, a synchronization channel can be created; if not, a synchronization channel cannot be created.
[0199] See Figure 7 , which is a schematic flow diagram of establishing a synchronization channel provided by the embodiments of the present application.
[0200] The figure includes network devices MLAG-1 and MLAG-2 in the MLAG system. In this embodiment, MLAG-1 initiates the establishment of a synchronization channel.
[0201] After the peer-link is established, MLAG-1 sends a Hello request to MLAG-2, which includes the channel version number, working mode, channel number, and capabilities of MLAG-1.
[0202] MLAG-2 performs verification of the channel version number and working mode, as well as capability negotiation.
[0203] MLAG-2 sends a Hello response to MLAG-1, which includes the channel version number, working mode, channel number, and capabilities of MLAG-2.
[0204] The MLAG-2 synchronization channel is established, and the current channel number of MLAG-1 is recorded.
[0205] The channel number of the synchronization channel established next time by MLAG-2 is the current channel number of MLAG-2 + 1.
[0206] MLAG-1 performs verification of the channel version number and working mode, as well as capability negotiation.
[0207] The MLAG-1 synchronization channel is established, and the current channel number of MLAG-2 is recorded.
[0208] The channel number of the synchronization channel established next time by MLAG-1 is the current channel number of MLAG-1 + 1.
[0209] The role of the network devices in the M-LAG system transmitting the channel numbers to each other when establishing the synchronization channel is described in detail below, and will not be elaborated here for the time being.
[0210] As can be seen from the above, in the embodiment of the present application, the network device transmits the message information through a dedicated synchronization channel, which can ensure the transmission quality of the message information.
[0211] See Figure 8 , which is a schematic flowchart of the first batch message information synchronization provided by the embodiment of the present application, including the following steps S801 - step S804.
[0212] S801: Send a first channel number to the above-mentioned second network device.
[0213] Among them, the above-mentioned first channel number is: the channel number allocated by the above-mentioned first network device for the synchronization channel to be constructed, and the channel number allocated each time is the sum of the previous allocated channel number and the preset step size.
[0214] S802: Receive the second channel number sent by the above-mentioned second network device.
[0215] The above-mentioned second channel number is: the channel number allocated by the above-mentioned second network device for the synchronization channel to be constructed, and the channel number allocated each time is the sum of the previous allocated channel number and the preset step size.
[0216] The channel numbers initially allocated by the above-mentioned first network device and the second network device are the same.
[0217] The above-mentioned first network device and the second network device exchange the first channel number and the second channel number through the channel creation requests and channel creation responses transmitted to each other during the process of constructing the synchronization channel. For details, reference can be made to the foregoing Figure 7 illustrated embodiment.
[0218] Alternatively, the first network device and the second network device may separately interact the first channel number and the second channel number through other messages other than the channel creation request and the channel creation response.
[0219] Since the channel numbers initially allocated to the first network device and the second network device are the same, and the value of each allocated channel number is the sum of the previously allocated channel number and a preset step size, if the two always synchronously construct the synchronization channel, the allocated channel numbers of the two should be the same, that is, the first channel number and the second channel number are the same. For example, the above preset step size may be 1, 2, 3, etc., and can be set according to requirements. The initial value of the channel number may be 0, 1, 2, etc., and can also be set according to requirements.
[0220] If the first channel number and the second channel number are different, it indicates that there is an abnormality in constructing the synchronization channel.
[0221] Alternatively, in an embodiment of the present application, the first network device and the second network device respectively assign corresponding identifiers to the message information extracted by themselves. That is, after the first network device receives a SIP message and obtains the message information therein, it assigns an identifier to the message information directly obtained from the SIP message by itself. After the second network device receives a SIP message and obtains the message information therein, it also assigns an identifier to the message information directly obtained from the SIP message by itself. Each assigned identifier is the previous assigned identifier plus a preset identifier step size. For example, the preset identifier step size may be 1. Due to the limitation of the number of bytes of the identifier itself, there is a maximum value for the identifier. After the value of the identifier increases to the maximum value, an overflow flip occurs, and the value of the identifier starts to accumulate from the starting value again. After the identifier configured by the network device has an overflow flip, the channel number configured by the network device increases by a preset step size on the basis of the current channel number. When the channel number of one network device increases and the channel number of the other network device does not increase, the channel numbers of the two will also be different.
[0222] S803: If the first channel number and the second channel number are different, send a first batch synchronization request to the second network device so that the second network device feeds back all the stored message information.
[0223] As can be seen from the above description, the channel number changes when a new synchronization channel is built. The newly built synchronization channel may be the first synchronization channel built, or it may be rebuilt due to the disconnection of the peer-link failure, and the synchronization channel is rebuilt. In this case, the difference between the first channel number and the second channel number may be an abnormality before the synchronization channel is built, or a network device has received a large number of SIP packets, the identifier of the packet information has increased significantly, and the identifier of the packet information has overflowed and flipped, resulting in an increase in the channel number. In this case, there should be a large amount of unsynchronized packet information. In this case, each network device in the M-LAG system acts as the first network device and sends a first batch of synchronization requests to the second network device, and both send all the packet information stored by themselves to each other. So that both batch-interact all the packet information obtained before the synchronization channel is built.
[0224] Specifically, a preset identifier may be carried in the above-mentioned first batch of synchronization requests. The preset identifier may be the identifier of the reserved packet message. For example, it is 0. When the network device allocates an identifier for the packet message, it starts from 1. Reserving 0 means that all packet information needs to be synchronized in batches. Then, after receiving the first batch of synchronization requests, the second network device determines that the preset identifier is carried therein, and then sends all the packet information stored by itself to the first network device.
[0225] S804: If the above-mentioned first channel number is the same as the above-mentioned second channel number, then send a second batch of synchronization requests to the above-mentioned second network device, so that the above-mentioned second network device feeds back the second packet information.
[0226] Among them, the above-mentioned second batch of synchronization requests includes the first identifier of the target packet information received from the above-mentioned second network device last time. The above-mentioned second packet information is obtained from the SIP packet after the above-mentioned second network device sends the above-mentioned target packet information to the above-mentioned first network device.
[0227] If the first channel number and the second channel number are the same, there should be no abnormality before the synchronization channel is created. However, before building the synchronization channel, both of them may have received some SIP packets and obtained packet information respectively. Since the synchronization channel has not been established yet, the packet information obtained before building the synchronization channel has not been synchronized between the first network device and the second network device. Therefore, this part of the packet information needs to be synchronized.
[0228] To this end, the first network device sends a second batch synchronization request to the second network device, which includes the first identifier of the target message information that the first network device last received from the second network device. When the second network device determines that the first identifier is different from the identifier of the message information it stores most recently, it determines that after the first network device last received the target message information, the second network device has obtained new message information. This part of the message information is the second message information, which the first network device has not received. Then, the second network device feeds back the second message information to the first network device.
[0229] In addition, to implement the above batch synchronization, when network devices send message information to each other, they need to carry the identifier assigned to the message information. The above identifier can be represented by Req-X, and the values of the identifier can be Req-1, Req-2, Req-3, and so on. After receiving the message information and the identifier, any network device stores the identifier of the most recently received message information for batch synchronization in the foregoing step S804.
[0230] See Figure 9 , which is a schematic diagram of an interaction process of message information and identifier provided by an embodiment of the present application.
[0231] The figure includes MLAG-1 and MLAG-2 in the M-LAG system.
[0232] Taking the example that after receiving the SIP message, MLAG-1 sends the message information to MLAG-2.
[0233] MLAG-1 obtains the replicated SIP message, parses the replicated SIP message, obtains the message information denoted as Siplnfo-1, and stores it.
[0234] Siplnfo-1 represents the first set of message information obtained by MLAG-1.
[0235] MLAG-1 sends Siplnfo-1 and Req-1 to MLAG-2.
[0236] Req-1 is the identifier of Siplnfo-1.
[0237] MLAG-2 records Req-1 and locally caches Siplnfo-1.
[0238] See Figure 10 , which is a schematic diagram of the second batch message information synchronization process provided by an embodiment of the present application. Each network device in the M-LAG system executes the following process.
[0239] 1. Establish a synchronization channel.
[0240] 2. Determine whether the channel numbers are the same.
[0241] If they are the same, execute step 3; if they are different, execute step 4.
[0242] 3. Set the identifier in the batch synchronization request as the first identifier of the target message information.
[0243] 4. Set the identifier in the batch synchronization request as the preset identifier.
[0244] 5. The local end generates a batch synchronization request containing the identifier.
[0245] 6. Send the batch synchronization request to the peer end.
[0246] 7. Receive the batch synchronization request sent by the peer end.
[0247] 8. Determine whether the identifier in the received batch synchronization request is the preset identifier.
[0248] If it is, execute step 9; if it is not, execute step 10.
[0249] 9. Overall smoothing.
[0250] Overall smoothing is the aforementioned step S803, where both sides interact with all the message information stored locally as a whole.
[0251] 10. Incremental smoothing.
[0252] Incremental smoothing is the aforementioned step S804, where both sides incrementally interact with part of the message information stored locally.
[0253] See Figure 11 , which is the schematic flowchart of the third batch message information synchronization provided by the embodiments of this application. The two network devices MLAG-1 and MLAG-2 in the M-LAG system perform batch message information synchronization according to the following process.
[0254] After MLAG-1 and MLAG-2 determine that the synchronization channel is successfully built, they determine the identifier carried in the batch synchronization request according to the channel number.
[0255] MLAG-1 and MLAG-2 send batch synchronization requests to each other.
[0256] MLAG-1 and MLAG-2 respectively determine the message information to be synchronized according to the identifier in the received batch synchronization request.
[0257] MLAG-1 and MLAG-2 send the message information to be synchronized to each other.
[0258] MLAG-1 and MLAG-2 respectively store the received message information.
[0259] As can be seen from the above, the solution provided by the embodiments of the present application can synchronize message information in batches, so as to synchronize the message information generated during the failure of the M-LAG system or before the synchronization channel is initially established, without affecting the normal execution of subsequent SQA. And in the present application, the network device can determine whether all the message information stored by itself needs to be synchronized through the channel number and identification, so as to avoid wasting the resources of the synchronization channel between network devices caused by sending all the message information in each batch synchronization, as well as wasting storage resources and message information redundancy caused by the network device receiving a large amount of message information.
[0260] After completing Figure 8 the batch synchronization process shown, continue to execute the foregoing real-time message information synchronization process for each SIP message.
[0261] See Figure 12 , which is a schematic flowchart of the third service quality analysis method provided by the embodiments of the present application. Compared with the foregoing Figure 4 shown embodiment, it further includes the following steps S405 - step S406.
[0262] S405: If the data packet of the target call is transmitted to the first terminal or the second terminal within a preset period, send a first keep-alive message to the second network device, so that the second network device retains the message information corresponding to the target call locally when receiving the first keep-alive message.
[0263] In order to enable the first network device and the second network device to continuously perform SQA on the target call during the target call between the first terminal and the second terminal, the message information corresponding to the target call needs to be saved and not deleted during the target call.
[0264] Therefore, if the data packet of the target call is transmitted within a preset period, it means that the current target call is still in progress. Then the first network device does not delete the message information corresponding to the target call, and notifies the second network device not to delete the message information corresponding to the target call, that is, the message information corresponding to the target call in the first network device and the second network device does not age.
[0265] The first keep-alive message contains the identification of the target call, such as the Call-ID of the target call. After receiving the first keep-alive message, the second network device refreshes its own keep-alive time, that is, it does not delete the message information corresponding to the target call within this preset period.
[0266] If the keep-alive time accumulates to the duration of the preset period and has not been refreshed, the second network device deletes the message information corresponding to the target call.
[0267] S406: If the data packet of the target call is not transmitted to the first terminal or the second terminal within the preset period, and the second keep-alive message sent by the second network device is not received, then delete the packet message corresponding to the target call.
[0268] The second keep-alive message is sent by the second network device when transmitting the data packet of the target call to the first terminal or the second terminal within the preset period.
[0269] If the data packet of the target call is not transmitted within the preset period, and the second network device does not send the second keep-alive message either, it indicates that there has been no data packet of the target call transmitted between the first network device and the second network device for a long time, suggesting that the target call may have ended. Therefore, the first network device deletes the packet information corresponding to the target call. Similarly, the second network device will also delete the packet information corresponding to the target call when the data packet of the target call is not transmitted within the preset period and the first keep-alive message sent by the first network device is not received, completing the aging deletion of the packet information.
[0270] The second keep-alive message contains the identifier of the target call, such as the Call-ID of the target call. After receiving the second keep-alive message, the first network device refreshes its keep-alive time, that is, it does not delete the packet information corresponding to the target call within the current preset period. If the keep-alive time accumulates to the duration of the preset period without being refreshed, the first network device deletes the packet information corresponding to the target call.
[0271] As can be seen from the above, in the embodiment of the present application, the network devices in the M-LAG system send keep-alive messages to each other, so that the network devices do not delete the packet message corresponding to the target call when the target call is still in progress, enabling the SQA for the target call to be continuously executed. And after the target call ends, the packet information corresponding to the target call is deleted in time to save the storage resources of the network devices.
[0272] See Figure 13 , which is a schematic diagram of a packet information deletion process provided by the embodiment of the present application.
[0273] In this embodiment, the M-LAG system includes MLAG-1 and MLAG-2.
[0274] Both MLAG-1 and MLAG-2 age and delete the packet information associated with the Call-ID of the target call and the multimedia channel entry when the target call call is inactive and times out.
[0275] See Figure 14 , which is a schematic diagram of the process of the fourth service quality analysis method provided by the embodiment of the present application, and is the same as the foregoing Figure 4Compared with the embodiments shown, the method further includes the following steps S407 - S408.
[0276] S407: If a second SIP message for disconnecting the target call is received, delete the message information corresponding to the target call locally.
[0277] S408: Send a failure message to the second network device so that after receiving the failure message, the second network device deletes the message information corresponding to the target call locally.
[0278] The second SIP message may be the BYE message shown above. Receiving the second SIP message indicates that the target call is about to end, so there is no need to continue SQA for the target call. Therefore, in the embodiment of the present application, the first network device deletes the message information corresponding to the target call locally and sends a failure message to the second network device, so that the second network device also deletes the message information corresponding to the target call locally.
[0279] The failure message may carry an identifier of the target call, such as the Call-ID of the target call, so that the second network device deletes the message information associated with the Call-ID locally.
[0280] Moreover, if the first network device receives a failure message sent by the second network device, it will also delete the message information corresponding to the target call locally.
[0281] As can be seen from the above, in the solution provided by the embodiment of the present application, when the network device in the M-LAG system receives the second SIP message, it determines that the target call is about to end. Therefore, it deletes the message information corresponding to the target call locally and instructs another network device to also delete the message information corresponding to the target call locally, thereby saving the storage space occupied by the message information.
[0282] In another embodiment of the present application, the method further includes the following step F.
[0283] Step F: If the fourth message information is not obtained within a preset duration after obtaining the third message information, delete the third message information.
[0284] Wherein, the third message information is included in the INVITE message for requesting to establish the target call; the fourth message information is included in the invitation response message indicating the successful establishment of the target call. The invitation response message is the 200OK message in response to the INVITE message.
[0285] If the fourth message information has not been obtained continuously after storing the third message information, it indicates that the target call may not have been connected for a long time or there are other faults that cause the target call not to be connected. The invitation response message for responding to the above INVITE message has not been transmitted, so that the first network device does not obtain the complete message information of the target call, and thus there is no need to perform SQA on the target call. Therefore, the third message information can be deleted.
[0286] As can be seen from the above, in the solution provided by the embodiment of the present application, the third message information can be deleted when the target call is not successfully connected, saving the storage space of the first network device.
[0287] See Figure 15 , which is a schematic flowchart of message information transmission and deletion provided by the embodiment of the present application.
[0288] In this embodiment, the M-LAG system includes MLAG-1 and MLAG-2. The message information to be obtained is the message information included in the INVITE message and the 200OK message in response to the INVITE message. The message information is parameters such as Call-ID and SDP.
[0289] MLAG-1 receives the INVITE message. Parse and save Call-ID, SDP, etc., and record the message information.
[0290] The message information to be obtained is the message information included in the INVITE message and the 200OK message in response to the INVITE message. Currently, only the message information in the INVITE message has been obtained. Therefore, the multimedia channel entry generated based on this message information is called a semi-open multimedia channel entry.
[0291] MLAG-1 sends the message information such as Call-ID and SDP in the INVITE message to MLAG-2.
[0292] MLAG-2 records the message information.
[0293] MLAG-2 receives the 200OK message. Parse and save Call-ID, SDP, etc., and obtain the message information
[0294] MLAG-2 sends the message information such as Call-ID and SDP in the 200OK message to MLAG-1.
[0295] MLAG-1 records the message information.
[0296] MLAG-2 sends a keep-alive message containing Call-ID to MLAG-1.
[0297] MLAG-1 refreshes the keep-alive time corresponding to Call-ID.
[0298] MLAG-1 sends a keep-alive message containing the Call-ID to MLAG-2.
[0299] MLAG-2 refreshes the keep-alive time corresponding to the Call-ID.
[0300] MLAG-1 receives a BYE message. Ages and deletes the message information associated with Call-DI. Sends a failure message to MLAG-2.
[0301] MLAG-2 ages and deletes the message information associated with the Call-ID.
[0302] See Figure 16 , which is a schematic flowchart of the fifth service quality analysis method provided by the embodiment of the present application.
[0303] Each network device in the M-LAG system executes the following process.
[0304] Receives a SIP message. Copies the SIP message. Forwards the original SIP message. The local SQA module receives the copied SIP message and extracts the message information. The local SQA module analyzes the message information, generates and saves a multimedia channel entry, and stores it in the local multimedia channel database.
[0305] In addition, it is determined whether the SIP message is received through the M-LAG interface. If not, the process ends. If so, the message information is sent to the peer. The peer SQA module analyzes the message information, generates and saves a multimedia channel entry, and stores it in the peer multimedia channel database.
[0306] Both the local and the peer determine whether the multimedia channel entry is complete from their respective multimedia channel databases.
[0307] If there is data loss or damage in the multimedia channel entry, the multimedia channel entry is incomplete. Otherwise, the multimedia channel entry is complete.
[0308] If it is complete, the SQA module starts to monitor and analyze the multimedia traffic, and then the process ends. If it is incomplete, the process ends.
[0309] Corresponding to the foregoing service quality analysis method, the embodiment of the present application further provides a network device.
[0310] See Figure 17 , which is a schematic structural diagram of a network device provided by the embodiment of the present application. The network device includes:
[0311] Processor 1701;
[0312] Transceiver 1704;
[0313] A machine-readable storage medium 1702 stores machine-executable instructions that can be executed by the processor 1701. The network device is any network device in a Multi-Chassis Link Aggregation (M-LAG) system. As the first network device, the machine-executable instructions cause the processor 1701 to perform the following steps:
[0314] Receive a first Session Initiation Protocol (SIP) message for establishing a target call between a first terminal and a second terminal through the M-LAG interface;
[0315] Obtain and store first message information carried in the first SIP message;
[0316] Perform Service Quality Analysis (SQA) for the target call based on the stored first message information of the target call;
[0317] Send the first message information to a second network device in the M-LAG system other than the first network device, so that the second network device stores the first message information and performs SQA for the target call based on the stored first message information of the target call.
[0318] As Figure 17 shown, the network device may further include a communication bus 1703. Communication among the processor 1701, the machine-readable storage medium 1702, and the transceiver 1704 is completed through the communication bus 1703. The communication bus 1703 may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus 1703 may be divided into an address bus, a data bus, a control bus, etc.
[0319] The transceiver 1704 may be a wireless communication module. Under the control of the processor 1701, the transceiver 1704 performs data interaction with other devices.
[0320] The machine-readable storage medium 1702 may include a Random Access Memory (RAM), and may also include a Non-Volatile Memory (NVM), such as at least one disk memory. Additionally, the machine-readable storage medium 1702 may also be at least one storage device located far from the aforementioned processor.
[0321] The processor 1701 may be a general-purpose processor, including a Central Processing Unit (CPU), a Network Processor (NP), etc.; it may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field-Programmable Gate Array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0322] As can be seen from the above, after the first network device receives the first SIP message for establishing a target call through the M-LAG interface, it obtains and stores the first message information carried in the first SIP message, and performs SQA for the target call. And it sends the first message information to the second network device, so that the second network device can also store the first message information and can also perform SQA for the target call based on the first message information. That is, in the present application, the network device in the M-LAG system will obtain the message information in the SIP message after receiving the SIP message, and send it to other network devices in the M-LAG system, so that the network device that has not received the SIP message in the M-LAG system can also obtain the complete message information. Therefore, the SQA configured in each network device in the M-LAG system can obtain the message information in the complete SIP message and then perform quality of service analysis for the target call.
[0323] In an embodiment of the present application, the sending the first message information to a second network device in the M-LAG system other than the first network device specifically includes:
[0324] Sending the first message information to the second network device through the synchronization channel between the first network device and the second network device in the M-LAG system.
[0325] As can be seen from the above, in the embodiment of the present application, the network device transmits the message information through a dedicated synchronization channel, which can ensure the transmission quality of the message information.
[0326] In an embodiment of the present application, the machine-executable instructions further cause the processor to perform the following steps:
[0327] Sending a first channel number to the second network device, where the first channel number is: the channel number assigned by the first network device for the synchronization channel to be constructed, and the channel number assigned each time is the sum of the previous assigned channel number and a preset step value;
[0328] Receive the second channel number sent by the second network device, where the second channel number is: the channel number assigned by the second network device for the synchronization channel to be constructed, and the channel number assigned each time is the sum of the previously assigned channel number and a preset step length. The first channel number and the second channel number assigned for the first time by the first network device and the second network device are the same;
[0329] If the first channel number is different from the second channel number, send a first batch synchronization request to the second network device so that the second network device feeds back all the message information stored therein;
[0330] If the first channel number is the same as the second channel number, send a second batch synchronization request to the second network device so that the second network device feeds back the second message information;
[0331] The second batch synchronization request includes a first identifier of the target message information received from the second network device last time, and the second message information is obtained from the SIP message after the second network device sends the target message information to the first network device.
[0332] As can be seen from the above, the solution provided by the embodiment of the present application can synchronize message information in batches, so as to synchronize the message information generated during the failure of the M-LAG system or before the synchronization channel is initially established, without affecting the normal execution of subsequent SQA. And in the present application, the network device can determine whether all the message information stored by itself needs to be synchronized through the channel number and the identifier, so as to avoid wasting the resources of the synchronization channel between network devices caused by sending all the message information in each batch synchronization, as well as wasting the storage resources and message information redundancy caused by the network device receiving a large amount of message information.
[0333] In an embodiment of the present application, after the peer-link between the network devices in the M-LAG system is established, a channel creation request is sent to the second network device so that the second network device constructs a synchronization channel;
[0334] Receive the channel creation response sent by the second network device and construct a synchronization channel;
[0335] Wherein, the synchronization channel is carried by the peer-link.
[0336] In one embodiment of the present application, the channel creation request includes at least one of the following information: the channel version number of the synchronization channel supported by the first network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel, so that the second network device constructs the synchronization channel when it determines that the information carried in the channel creation request is the same as the locally configured information;
[0337] The working mode is an independent mode in which network devices in the M-LAG system operate independently, or a master-slave mode in which network devices in the M-LAG system are divided into a primary device and a standby device;
[0338] The channel creation response includes at least one of the following information: the channel version number supported by the second network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel;
[0339] Receiving the channel creation response sent by the second network device and constructing the synchronization channel includes:
[0340] Receiving the channel creation response sent by the second network device;
[0341] Constructing the synchronization channel when the information included in the channel creation response is the same as the locally configured information.
[0342] In one embodiment of the present application, the machine-executable instructions further prompt the processor to perform the following steps:
[0343] If the data message of the target call is transmitted to the first terminal or the second terminal within a preset period, a first keep-alive message is sent to the second network device, so that the second network device retains the message information corresponding to the target call locally when receiving the first keep-alive message;
[0344] If the data message of the target call is not transmitted to the first terminal or the second terminal within a preset period and the second keep-alive message sent by the second network device is not received, the message corresponding to the target call is deleted. The second keep-alive message is sent by the second network device when the data message of the target call is transmitted to the first terminal or the second terminal within a preset period.
[0345] As can be seen from the above, in the embodiment of the present application, network devices in the M-LAG system send keep-alive messages to each other, so that the network devices do not delete the message information corresponding to the target call when the target call is still in progress, enabling the SQA for the target call to be continuously executed. And the message information corresponding to the target call is deleted in time after the target call ends to save the storage resources of the network devices.
[0346] In one embodiment of the present application, the machine-executable instructions further cause the processor to perform the following steps:
[0347] If a second SIP message for disconnecting the target call is received, delete the message information corresponding to the target call locally;
[0348] Send a failure message to the second network device so that after receiving the failure message, the second network device deletes the message information corresponding to the target call locally.
[0349] As can be seen from the above, in the solution provided by the embodiment of the present application, when the network device in the M-LAG system receives the second SIP message, it determines that the target call is about to end. Therefore, it deletes the message information corresponding to the target call locally and instructs another network device to also delete the message information corresponding to the target call locally, thereby saving the storage space occupied by the message information.
[0350] In one embodiment of the present application, the machine-executable instructions further cause the processor to perform the following steps:
[0351] If the fourth message information is not obtained within a preset time period after obtaining the third message information, delete the third message information;
[0352] Wherein, the third message information is included in an invitation INVITE message for requesting to establish the target call; the fourth message information is included in an invitation response message indicating that the target call is successfully established.
[0353] As can be seen from the above, in the solution provided by the embodiment of the present application, the third message information can be deleted when the target call is not successfully connected, saving the storage space of the first network device.
[0354] In one embodiment of the present application, after receiving, through the M-LAG interface, a first Session Initiation Protocol SIP message for establishing a target call between a first terminal and a second terminal, the method further includes:
[0355] Copy the first SIP message to obtain a copied SIP message;
[0356] Forward the first SIP message according to the destination address of the first SIP message;
[0357] The obtaining and storing the first message information carried in the first SIP message specifically includes:
[0358] Extract and store the first message information from the copied SIP message.
[0359] As can be seen from the above, in the embodiment of the present application, the first SIP message is first copied to obtain a copied SIP message, and then the first message information is extracted and stored from the copied SIP message, which can not affect the forwarding of the first SIP message and has no impact on the establishment of the target call by the terminal.
[0360] Corresponding to the foregoing service quality analysis method, an embodiment of the present application further provides a service quality analysis device.
[0361] See Figure 18 , which is a schematic structural diagram of a service quality analysis device provided by an embodiment of the present application, and is applied to each network device in a multi-device link aggregation M-LAG system. As a first network device, the device includes:
[0362] A message receiving module 1801, configured to receive a first Session Initiation Protocol (SIP) message for establishing a target call between a first terminal and a second terminal through an M-LAG interface;
[0363] An information acquisition module 1802, configured to acquire and store first message information carried in the first SIP message;
[0364] An SQA execution module 1803, configured to execute SQA for the target call based on the stored first message information of the target call;
[0365] An information sending module 1804, configured to send the first message information to a second network device in the M-LAG system other than the first network device, so that the second network device stores the first message information and executes SQA for the target call based on the stored first message information of the target call.
[0366] As can be seen from the above, after the first network device receives the first SIP message for establishing a target call through the M-LAG interface, it acquires and stores the first message information carried in the first SIP message, executes SQA for the target call, and sends the first message information to the second network device, so that the second network device also stores the first message information and can also execute SQA for the target call based on the first message information. That is, in the present application, the network devices in the M-LAG system will acquire the message information in the SIP message after receiving the SIP message and send it to other network devices in the M-LAG system, so that the network devices in the M-LAG system that have not received the SIP message can also acquire the complete message information. Therefore, the SQA configured in each network device in the M-LAG system can acquire the message information in the complete SIP message and then perform service quality analysis for the target call.
[0367] In one embodiment of the present application, the information sending module 1804 is specifically configured to:
[0368] Send the first message information to the second network device through the synchronization channel between the first network device and the second network device in the M-LAG system, so that the second network device stores the first message information, and perform SQA for the target call based on the stored first message information of the target call.
[0369] As can be seen from the above, in the embodiment of the present application, the network device transmits message information through a dedicated synchronization channel, which can ensure the transmission quality of the message information.
[0370] In one embodiment of the present application, the device further includes:
[0371] A channel number sending module, configured to send a first channel number to the second network device, where the first channel number is: the channel number assigned by the first network device for the synchronization channel to be constructed, and the channel number assigned each time is the sum of the previously assigned channel number and a preset step value;
[0372] A channel number receiving module, configured to receive a second channel number sent by the second network device, where the second channel number is: the channel number assigned by the second network device for the synchronization channel to be constructed, and the channel number assigned each time is the sum of the previously assigned channel number and a preset step value, and the first channel numbers initially assigned by the first network device and the second network device are the same;
[0373] A first batch synchronization module, configured to send a first batch synchronization request to the second network device if the first channel number and the second channel number are different, so that the second network device feeds back all the stored message information;
[0374] A second batch synchronization module, configured to send a second batch synchronization request to the second network device if the first channel number and the second channel number are the same, so that the second network device feeds back second message information;
[0375] The second batch synchronization request includes a first identifier of the target message information last received from the second network device, and the second message information is obtained from the SIP message after the second network device sends the target message information to the first network device.
[0376] As can be seen from the above, the solution provided by the embodiments of the present application can synchronize message information in batches, so as to synchronize the message information generated during the failure of the M-LAG system or before the synchronization channel is initially established, without affecting the normal execution of subsequent SQA. And in the present application, the network device can determine whether all the message information stored by itself needs to be synchronized through the channel number and identifier, so as to avoid the waste of resources of the synchronization channel between network devices caused by sending all the message information in each batch synchronization, as well as the waste of storage resources and message information redundancy caused by the network device receiving a large amount of message information.
[0377] In an embodiment of the present application, the device further includes:
[0378] A creation request sending module, configured to send a channel creation request to the second network device after the peer-link between the network devices in the M-LAG system is established, so that the second network device constructs a synchronization channel;
[0379] A channel construction module, configured to receive the channel creation response sent by the second network device and construct a synchronization channel;
[0380] Wherein, the synchronization channel is carried by the peer-link.
[0381] In an embodiment of the present application, the channel creation request includes at least one of the following information: the channel version number of the synchronization channel supported by the first network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel, so that the second network device constructs the synchronization channel when it is determined that the information carried in the channel creation request is the same as the locally configured information;
[0382] The working mode is an independent mode in which the network devices in the M-LAG system operate independently, or a master-slave mode in which the network devices in the M-LAG system are divided into a master device and a slave device;
[0383] The channel creation response includes at least one of the following information: the channel version number supported by the second network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel;
[0384] The channel construction module is specifically configured to:
[0385] Receive the channel creation response sent by the second network device;
[0386] Construct the synchronization channel when the information included in the channel creation response is the same as the locally configured information.
[0387] In an embodiment of the present application, the device further includes:
[0388] A keep-alive module, configured to send a first keep-alive message to the second network device if a data packet of the target call is transmitted to the first terminal or the second terminal within a preset period, so that the second network device retains the packet information corresponding to the target call locally when receiving the first keep-alive message;
[0389] A first deletion module, configured to delete the packet message corresponding to the target call if the data packet of the target call is not transmitted to the first terminal or the second terminal within a preset period and the second keep-alive message sent by the second network device is not received, where the second keep-alive message is sent by the second network device when transmitting the data packet of the target call to the first terminal or the second terminal within a preset period.
[0390] As can be seen from the above, in the M-LAG system in the embodiment of the present application, the network devices send keep-alive messages to each other, so that the network devices do not delete the packet message corresponding to the target call when the target call is still in progress, enabling the SQA for the target call to be continuously executed. And after the target call ends, the packet information corresponding to the target call is deleted in time to save the storage resources of the network devices.
[0391] In one embodiment of the present application, the apparatus further includes:
[0392] An invalidation module, configured to delete the packet information corresponding to the target call locally if a second SIP packet for disconnecting the target call is received;
[0393] An invalidation message sending module, configured to send an invalidation message to the second network device, so that the second network device deletes the packet information corresponding to the target call locally after receiving the invalidation message.
[0394] As can be seen from the above, in the solution provided by the embodiment of the present application, when the network device in the M-LAG system receives the second SIP packet, it determines that the target call is about to end. Therefore, it deletes the packet information corresponding to the target call locally and instructs another network device to also delete the packet information corresponding to the target call locally, thereby saving the storage space occupied by the packet information.
[0395] In one embodiment of the present application, the apparatus further includes:
[0396] A second deletion module, configured to delete the third packet information if the fourth packet information is not obtained within a preset duration after obtaining the third packet information;
[0397] Among them, the third message information is included in the INVITE message for requesting to establish the target call; the fourth message information is included in the invite response message indicating the successful establishment of the target call.
[0398] As can be seen from the above, in the solution provided by the embodiment of the present application, the third message information can be deleted when the target call is not successfully connected, saving the storage space of the first network device.
[0399] In an embodiment of the present application, the device further includes:
[0400] A message replication module, configured to replicate the first SIP message to obtain a replicated SIP message;
[0401] A message forwarding module, configured to forward the first SIP message according to the destination address of the first SIP message;
[0402] The information acquisition module 1802 is specifically configured to:
[0403] Extract and store the first message information from the replicated SIP message.
[0404] As can be seen from the above, in the embodiment of the present application, the first SIP message is replicated first, and the replicated SIP message is obtained. Then, the first message information is extracted and stored from the replicated SIP message, which can not affect the forwarding of the first SIP message and has no impact on the terminal to establish the target call.
[0405] In another embodiment provided by the present application, there is also provided a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the steps of any of the above service quality analysis methods are implemented.
[0406] In another embodiment provided by the present application, there is also provided a computer program product containing instructions, which when running on a computer, causes the computer to execute any of the service quality analysis methods in the above embodiments.
[0407] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the processes or functions described in the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by wire (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that includes one or more integrated available media. The available medium can be a magnetic medium (such as a floppy disk, hard disk, magnetic tape), an optical medium (such as a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
[0408] It should be noted that in this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the term "comprising", "including", or any other variant thereof is intended to cover non-exclusive inclusion, such that a process, method, article, or device that includes a series of elements includes not only those elements but also other elements not expressly listed, or elements that are inherent to such process, method, article, or device. Without further limitation, an element defined by the statement "including a..." does not exclude the existence of additional identical elements in the process, method, article, or device that includes the element.
[0409] Each embodiment in this specification is described in a related manner. The same or similar parts among the embodiments can be referred to each other, and the differences between each embodiment and other embodiments are emphasized. In particular, for the embodiments of network devices, apparatuses, computer-readable storage media, and computer program products, since they are basically similar to the method embodiments, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiments.
[0410] The above are only the preferred embodiments of the present application and are not intended to limit the protection scope of the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principle of the present application are all included in the protection scope of the present application.
Claims
1. A method for analyzing quality of service, characterized in that, Applied to each network device in the cross-device link aggregation M-LAG system, as the first network device, the method includes: Receiving, through the M-LAG interface, a first Session Initiation Protocol (SIP) message for establishing a target call between a first terminal and a second terminal; Obtaining and storing first message information carried in the first SIP message; Performing Service Quality Analysis (SQA) for the target call based on the stored first message information of the target call; Sending the first message information to a second network device in the M-LAG system other than the first network device, so that the second network device stores the first message information and performs SQA for the target call based on the stored first message information of the target call.
2. The method according to claim 1, wherein The sending the first message information to a second network device in the M-LAG system other than the first network device includes: Sending the first message information to the second network device through a synchronization channel between the first network device and the second network device in the M-LAG system.
3. The method according to claim 2, wherein The method further includes: Sending a first channel number to the second network device, where the first channel number is the channel number assigned by the first network device for a synchronization channel to be constructed, and the channel number assigned each time is the sum of the previous assigned channel number and a preset step value; Receiving a second channel number sent by the second network device, where the second channel number is the channel number assigned by the second network device for a synchronization channel to be constructed, and the channel number assigned each time is the sum of the previous assigned channel number and a preset step value, and the first channel numbers assigned by the first network device and the second network device for the first time are the same; If the first channel number and the second channel number are different, sending a first batch synchronization request to the second network device so that the second network device feeds back all the stored message information; If the first channel number and the second channel number are the same, sending a second batch synchronization request to the second network device so that the second network device feeds back second message information; The second batch synchronization request includes a first identifier of the target message information received from the second network device last time, and the second message information is obtained from the SIP message after the second network device sends the target message information to the first network device.
4. The method according to claim 2, wherein The method further includes: After the peer-link between the network devices in the M-LAG system is established, sending a channel creation request to the second network device so that the second network device constructs a synchronization channel; Receiving a channel creation response sent by the second network device and constructing a synchronization channel; Wherein, the synchronization channel is carried by the peer-link.
5. The method according to claim 4, wherein The channel creation request includes at least one of the following information: the channel version number of the synchronization channel supported by the first network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel, so that the second network device constructs the synchronization channel when it determines that the information carried in the channel creation request is the same as the locally configured information; The working mode is the independent mode in which the network devices in the M-LAG system operate independently, or the primary / backup mode in which the network devices in the M-LAG system are divided into a primary device and a backup device; The channel creation response includes at least one of the following information: the channel version number supported by the second network device, the working mode, and the protocol type of the message information to be transmitted through the synchronization channel; Receiving the channel creation response sent by the second network device and constructing a synchronization channel includes: Receiving the channel creation response sent by the second network device; Constructing the synchronization channel when the information included in the channel creation response is the same as the locally configured information.
6. The method according to any one of claims 1-5, characterized in that, The method further includes: If the data packets of the target call are transmitted to the first terminal or the second terminal within a preset period, sending a first keep-alive message to the second network device, so that the second network device retains the message information corresponding to the target call locally when receiving the first keep-alive message; If the data packets of the target call are not transmitted to the first terminal or the second terminal within a preset period and the second keep-alive message sent by the second network device is not received, deleting the message corresponding to the target call, where the second keep-alive message is sent by the second network device when transmitting the data packets of the target call to the first terminal or the second terminal within a preset period.
7. The method according to any one of claims 1-5, characterized in that, The method further includes: If a second SIP message for disconnecting the target call is received, deleting the message information corresponding to the target call locally; Sending a failure message to the second network device, so that the second network device deletes the message information corresponding to the target call locally after receiving the failure message.
8. The method according to any one of claims 1-5, characterized in that The method further includes: If the fourth message information is not obtained within a preset duration after obtaining the third message information, deleting the third message information; Wherein, the third message information is included in an invitation INVITE message for requesting to establish the target call; the fourth message information is included in an invitation response message indicating that the target call is successfully established.
9. The method according to any one of claims 1-5, characterized in that, After receiving, through the M-LAG interface, a first Session Initiation Protocol (SIP) message for establishing a target call between a first terminal and a second terminal, the method further includes: Copying the first SIP message to obtain a copied SIP message; Forwarding the first SIP message according to the destination address of the first SIP message; The obtaining and storing the first message information carried in the first SIP message specifically includes: Extracting and storing the first message information from the copied SIP message.
10. A network device, characterized in that, The network device includes: A processor; A transceiver; A machine-readable storage medium stores machine-executable instructions that can be executed by the processor. The network device is any network device in a Multi-Chassis Link Aggregation (M-LAG) system. As the first network device, the machine-executable instructions cause the processor to execute the method steps of any one of claims 1-9.
11. A quality of service analysis device, characterized in that, Applied to each network device in a Multi-Chassis Link Aggregation (M-LAG) system, as the first network device, the apparatus includes: A message receiving module, configured to receive a first Session Initiation Protocol (SIP) message for establishing a target call between a first terminal and a second terminal through an M-LAG interface; An information obtaining module, configured to obtain and store first message information carried in the first SIP message; A Service Quality Analysis (SQA) execution module, configured to perform SQA for the target call based on the stored first message information of the target call; An information sending module, configured to send the first message information to a second network device in the M-LAG system other than the first network device, so that the second network device stores the first message information and performs SQA for the target call based on the stored first message information of the target call.
12. A computer-readable storage medium, characterized in that, A computer program is stored in the computer-readable storage medium. When the computer program is executed by a processor, the method steps of any one of claims 1-9 are implemented.