Conversation method and device based on SIP protocol, and storage medium
By adopting the SIP protocol-based call method and appropriate transport layer protocol in cross-platform calls, the problem of poor call quality in cross-platform calls is solved, and stable transmission and high call quality are achieved.
Patent Information
- Application Number
- CN202411543683.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-31
- Publication Date
- 2025-02-11
AI Technical Summary
Cross-platform calls have poor call quality and experience due to transmission compatibility issues.
Using a SIP protocol-based call method, through negotiation processing between the customer call system and the service call system, an appropriate transport layer protocol (such as TCP or UDP) is selected to optimize the transmission of multimedia streaming data.
It realizes stable transmission and high call quality of cross-platform calls, solving the problem of poor cross-platform calls.
Smart Images

Figure CN119420737A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of call transmission, and in particular to a call method, device and storage medium based on the SIP protocol. Background Art
[0002] With the widespread penetration of Internet technology, call technology is also developing rapidly. In terms of 5G calls, a new data channel has been added to the IMS network, which can carry information such as text, pictures, graffiti, menus, etc., and provide a richer call experience, such as screen sharing, intelligent translation, content sharing, etc. The combination of artificial intelligence technology and call technology has brought functions such as intelligent translation and intelligent customer service to calls, improving the intelligence and practicality of calls.
[0003] With the advancement of technology, communication methods are evolving from single voice or video calls to richer multimodal communications, such as AR / VR, holographic, etc., making communication more immersive and interactive. However, with the emergence of a variety of different applications and devices, incompatibility issues have emerged during cross-platform calls. Cross-platform calls have poor call quality and experience due to transmission compatibility issues between each other, so a technology is needed to solve the problem of poor call quality during cross-platform calls. Summary of the invention
[0004] The main purpose of the present invention is to solve the technical problem of poor call quality in cross-platform calls.
[0005] The first aspect of the present invention provides a call method based on the SIP protocol, the call method based on the SIP protocol is applied to a call system based on the SIP protocol, the call system based on the SIP protocol includes: a customer call system, a service call system, the call method based on the SIP protocol includes:
[0006] The client call system sends a call request to the service call system based on the SIP protocol;
[0007] The service call system receives the call request, performs negotiation processing on the call request, and obtains a negotiation result;
[0008] When the negotiation result is successful, a connection request is sent to the client call system;
[0009] The client call system receives the connection request, and sends multimedia stream data to the service call system according to the connection request;
[0010] The service call system receives the multimedia stream data and establishes a call channel with the customer call system.
[0011] Optionally, in a first implementation of the first aspect of the present invention, sending multimedia stream data to the service call system according to the connection request includes:
[0012] Compressing the multimedia stream data to be sent to obtain compressed data;
[0013] The compressed data is sent to the service call system according to the connection request.
[0014] Optionally, in a second implementation of the first aspect of the present invention, the service call system includes: a SIP service subsystem, the service call system receives the multimedia stream data, and establishing a call channel with the client call system includes:
[0015] The service call system receives compressed data and decompresses the compressed data to obtain multimedia stream data;
[0016] The SIP service subsystem parses the multimedia stream data and establishes a communication channel with the client communication system.
[0017] Optionally, in a third implementation manner of the first aspect of the present invention, the service call system receives the call request, performs negotiation processing on the call request, and obtains the negotiation result, including:
[0018] The service call system receives the call request and reads the transmission delay corresponding to the call request;
[0019] According to the call request, media transmission parameter negotiation processing is performed on the client call system to obtain a negotiation result.
[0020] Optionally, in a fourth implementation of the first aspect of the present invention, when the negotiation result is successful, sending a connection request to the client call system includes:
[0021] When there are commonly supported codecs and media parameters in the negotiation result, a transport layer protocol is selected based on the transmission delay;
[0022] Based on the transport layer protocol, a connection request is sent to the client call system.
[0023] Optionally, in a fifth implementation manner of the first aspect of the present invention, selecting a transport layer protocol based on the transmission delay includes:
[0024] Determining whether the transmission delay is greater than a preset delay threshold;
[0025] When it is greater than the preset delay threshold, the UDP protocol is selected as the transport layer protocol;
[0026] When the delay is not greater than the preset delay threshold, TCP is selected as the transport layer protocol.
[0027] Optionally, in a sixth implementation of the first aspect of the present invention, the customer call system includes: one or more of a PC platform system, an H5 platform system, a mini-program platform system, and a mobile operating platform system.
[0028] Optionally, in a seventh implementation manner of the first aspect of the present invention, after the service call system receives the multimedia stream data and establishes a call channel with the customer call system, the method further includes:
[0029] The service call system monitors the transmission delay of the call channel;
[0030] According to the transmission delay, the transport layer protocol with the client call system is adjusted.
[0031] A second aspect of the present invention provides a call device based on the SIP protocol, comprising: a memory and at least one processor, wherein the memory stores instructions, and the memory and the at least one processor are interconnected via a line; the at least one processor calls the instructions in the memory so that the call device based on the SIP protocol executes the above-mentioned call method based on the SIP protocol.
[0032] A third aspect of the present invention provides a computer-readable storage medium, wherein the computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the above-mentioned call method based on the SIP protocol.
[0033] In the embodiment of the present invention, by using the service call system to integrate the SIP protocol processing function, the service call system uses the SIP protocol to unify the multimedia protocol for different clients, and there is no need to perform multi-protocol compatible calls. In addition, an SDK adapted to the service call system is provided for different clients, and the client can quickly access the service call system. The service call system can be dynamically adjusted based on the resources of the client, achieving stable transmission and high call quality of cross-platform calls, and solving the technical problem of poor call quality of cross-platform calls. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] Figure 1 A schematic diagram of an embodiment of a call method based on the SIP protocol in an embodiment of the present invention;
[0035] Figure 2 102 is a schematic diagram of an embodiment of the call method based on the SIP protocol in an embodiment of the present invention;
[0036] Figure 3103 is a schematic diagram of an embodiment of the call method based on the SIP protocol in an embodiment of the present invention;
[0037] Figure 4 It is a protocol stack structure diagram of multimedia communication of SIP protocol in an embodiment of the present invention;
[0038] Figure 5 The figure is a schematic diagram of an embodiment of a call device based on the SIP protocol in an embodiment of the present invention. DETAILED DESCRIPTION
[0039] The embodiment of the present invention provides a conversation method, device and storage medium based on the SIP protocol.
[0040] The embodiments disclosed in the present invention will be described in more detail below with reference to the accompanying drawings. Although certain embodiments disclosed in the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be construed as being limited to the embodiments described herein, which are instead provided for a more thorough and complete understanding of the present invention. It should be understood that the drawings and embodiments disclosed in the present invention are only for exemplary purposes and are not intended to limit the scope of protection disclosed in the present invention.
[0041] In the description of the embodiments disclosed in the present invention, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0042] For ease of understanding, the specific process of the embodiment of the present invention is described below. Figure 1 In one embodiment of the present invention, a call method based on the SIP protocol is applied to a call system based on the SIP protocol. The call system based on the SIP protocol includes: a customer call system and a service call system. The call method based on the SIP protocol includes:
[0043] 101. The customer call system sends a call request to the service call system based on the SIP protocol;
[0044] In this embodiment, a call system based on the SIP protocol is provided with a customer call system and a service call system. The service call system is integrated with a submodule for processing the SIP protocol, which can process the parsing of the SIP protocol so as to unify the call protocol for other clients and avoid call delays and freezes caused by switching between different platforms.
[0045] Obviously, the customer call system is installed with an SDK adapted to the service call system before sending, and the customer call system sends a call request to the service call system based on the SIP protocol.
[0046] The call request contains detailed information about the session, such as media type, codec, IP address, port number, etc. This request usually contains an SDP (Session Description Protocol) message body, which describes the media capabilities of the caller.
[0047] Specifically, the customer call system includes: one or more of a PC platform system, an H5 platform system, a mini-program platform system, and a mobile operating platform system.
[0048] The customer call system platforms include one or more of PC, H5, mini-programs and APP.
[0049] There are native applications on the PC platform. Native applications are developed for specific operating systems (such as Windows and macOS) and use the native development tools and languages of the platform (such as C# / .NET for Windows, Objective-C / Swift for macOS).
[0050] Web applications exist on the H5 (HTML5) platform. Web applications are developed using HTML, CSS, and JavaScript and can be run on any device that supports a web browser. No installation is required and they can be accessed through a browser.
[0051] There are platform-specific mini-program applications on the mini-program platform, such as WeChat mini-programs, Alipay mini-programs, etc. They use their own development frameworks and APIs and can only run on the corresponding platforms.
[0052] There are specific operating platform applications on the APP platform. Specific operating platform applications are developed for specific mobile operating systems (such as iOS, Android) and use the native development tools and languages of the platform (such as Swift for iOS, Kotlin for Android).
[0053] 102. The service call system receives the call request, performs negotiation processing on the call request, and obtains a negotiation result;
[0054] In this embodiment, the service call system receives the call request and responds with an 18x Ringing or 180OK message, indicating that the service call system is ringing or has been answered, and matches the media transmission capability of the call request. If the match is consistent, a successful negotiation result is obtained, and if the match is inconsistent, a failed negotiation result is obtained.
[0055] See also Figure 2 , Figure 2 The following is a schematic diagram of an embodiment of step 102 of the call method based on the SIP protocol in an embodiment of the present invention. Step 102 includes the following specific implementation methods:
[0056] 1021. The service call system receives the call request and reads the transmission delay corresponding to the call request;
[0057] 1022. According to the call request, media transmission parameter negotiation is performed on the client call system to obtain a negotiation result.
[0058] In steps 1021-1022, the service call system receives the call request and reads the transmission delay corresponding to the call request transmission so that the subsequent steps can make transmission adjustments based on the transmission delay. At this stage, both parties will exchange their media capabilities through SDP to find commonly supported codecs and media parameters to complete media negotiation.
[0059] 103. When the negotiation result is successful, a connection request is sent to the client call system;
[0060] In this embodiment, after the media negotiation between the service call system and the customer call system has been completed, the service call system will send a 200OK response message, which indicates that the session has been accepted. This response message will also include SDP information to confirm the media parameters negotiated by both parties.
[0061] See also Figure 3 , Figure 3 This is a schematic diagram of an embodiment of step 103 of the call method based on the SIP protocol in an embodiment of the present invention, and step 103 includes the following specific implementation methods:
[0062] 1031. When the negotiation result includes commonly supported codecs and media parameters, a transport layer protocol is selected based on the transmission delay.
[0063] 1032. Based on the transport layer protocol, send a connection request to the customer call system.
[0064] In steps 1031-1032, if the negotiation result contains codecs and media parameters that are supported by both the service call system and the customer call system, a transport layer protocol is selected based on the transmission delay read from step 1021.
[0065] See also Figure 4 , Figure 4 FIG. 1 is a protocol stack structure diagram of multimedia communication of the SIP protocol in an embodiment of the present invention. Figure 4 The SIP protocol can choose TCP protocol as the transport layer protocol, or UDP protocol as the transport layer protocol.
[0066] Based on the selected transport layer protocol, the connection request is transmitted to the customer call system.
[0067] Furthermore, step 1031 includes the following specific implementations:
[0068] 10311. Determine whether the transmission delay is greater than a preset delay threshold;
[0069] 10312. When it is greater than the preset delay threshold, the UDP protocol is selected as the transport layer protocol;
[0070] 10313. When the delay is not greater than the preset delay threshold, TCP protocol is selected as the transport layer protocol.
[0071] In steps 10311-10313, it is first determined whether the transmission delay is greater than the delay threshold. The TCP protocol is a reliable transmission protocol that ensures the order and integrity of data packets, but the TCP protocol has high requirements for transmission delay. Therefore, when the transmission delay is not large, the TCP protocol is selected as the transport layer protocol. The UDP protocol has a small amount of header data, low latency and real-time performance, and the UDP protocol transmits data in a broadcast mode. Therefore, when the transmission delay is large, the UDP protocol is selected as the transport layer protocol.
[0072] 104. The customer call system receives the connection request, and sends multimedia stream data to the service call system according to the connection request;
[0073] In this embodiment, when the client call system receives the connection request, it will send an ACK message to confirm the establishment of the session. The ACK message confirms the final session parameters, including detailed information of the media stream.
[0074] Specifically, step 104 includes the following specific implementation methods:
[0075] 1041. Compress the multimedia stream data to be sent to obtain compressed data;
[0076] 1042. According to the connection request, send the compressed data to the service call system.
[0077] In steps 1041-1042, the client call system first compresses the multimedia stream data to be sent to obtain compressed data in order to increase the transmission speed. The feedback indication address in the connection request transmits the compressed data with a smaller data volume to the service call system to achieve a faster transmission speed.
[0078] 105. The service call system receives the multimedia stream data and establishes a call channel with the customer call system.
[0079] In this embodiment, after receiving the 200OK response, an ACK message is sent to confirm the establishment of the session. This ACK message confirms the final session parameters, including detailed information of the media stream. The service call system receives the multimedia stream data and establishes a call channel with the client call system, that is, the session is established at this moment.
[0080] Specifically, the service call system includes: a SIP service subsystem, and step 105 includes the following specific implementation methods:
[0081] 1051. The service call system receives compressed data and decompresses the compressed data to obtain multimedia stream data.
[0082] 1052. The SIP service subsystem parses the multimedia stream data and establishes a call channel with the client call system.
[0083] In steps 1051-1052, when the transmission data is compressed data, the service call system receives the compressed data, decompresses the compressed data, and obtains multimedia stream data. Then, the multimedia stream data is analyzed by a subsystem that specifically processes the SIP protocol to establish a call channel with the client call system.
[0084] Specifically, after step 105, the following specific implementation methods are also included:
[0085] 106. The service call system monitors the transmission delay of the call channel;
[0086] 107. Adjust the transport layer protocol with the client call system according to the transmission delay.
[0087] In steps 106-107, the service call system continuously monitors the transmission delay of the call channel, and when the transmission delay exceeds the preset delay, the transport layer protocol is changed. In this embodiment, the RTP protocol can be run to transmit the streaming media data in the customer call system according to the transmission delay, the TCP protocol and the UDP protocol can be selected.
[0088] In the embodiment of the present invention, by using the service call system to integrate the SIP protocol processing function, the service call system uses the SIP protocol to unify the multimedia protocol for different clients, and there is no need to perform multi-protocol compatible calls. In addition, an SDK adapted to the service call system is provided for different clients, and the client can quickly access the service call system. The service call system can be dynamically adjusted based on the resources of the client, achieving stable transmission and high call quality of cross-platform calls, and solving the technical problem of poor call quality of cross-platform calls.
[0089] Figure 5 1 is a schematic diagram of the structure of a call device based on the SIP protocol provided by an embodiment of the present invention. The call device 500 based on the SIP protocol may have relatively large differences due to different configurations or performances, and may include one or more processors (central processing units, CPU) 510 (for example, one or more processors) and a memory 520, and one or more storage media 530 (for example, one or more mass storage devices) storing application programs 533 or data 532. Among them, the memory 520 and the storage medium 530 may be temporary storage or permanent storage. The program stored in the storage medium 530 may include one or more modules (not shown in the figure), and each module may include a series of instruction operations in the call device 500 based on the SIP protocol. Furthermore, the processor 510 may be configured to communicate with the storage medium 530 to execute a series of instruction operations in the storage medium 530 on the call device 500 based on the SIP protocol.
[0090] The SIP protocol-based call device 500 may also include one or more power supplies 540, one or more wired or wireless network interfaces 550, one or more input and output interfaces 560, and / or one or more operating systems 531, such as Windows Server, Mac OS X, Unix, Linux, FreeBSD, etc. Those skilled in the art will appreciate that Figure 5 The structure of the SIP-based call device shown does not constitute a limitation on the SIP-based call device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0091] The present invention also provides a computer-readable storage medium, which may be a non-volatile computer-readable storage medium or a volatile computer-readable storage medium. The computer-readable storage medium stores instructions, which, when executed on a computer, enable the computer to execute the steps of the SIP-based call method.
[0092] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0093] In addition, although each operation is described in a specific order, this should be understood as requiring such operation to be performed in the specific order shown or in a sequential order, or requiring that all illustrated operations should be performed to obtain desired results. Under certain circumstances, multitasking and parallel processing may be advantageous. Similarly, although some specific implementation details are included in the above discussion, these should not be interpreted as limiting the scope of the present disclosure. Some features described in the context of a separate embodiment can also be implemented in a single implementation in combination. On the contrary, the various features described in the context of a single implementation can also be implemented in multiple implementations individually or in any suitable sub-combination mode.
[0094] Although the subject matter has been described in language specific to structural features and / or methodological logical actions, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. On the contrary, the specific features and actions described above are merely example forms of implementing the claims.
Claims
1. A calling method based on SIP protocol, characterized in that: The SIP-based call method is applied to a SIP-based call system, the SIP-based call system includes: a customer call system and a service call system, and the SIP-based call method includes: The client call system sends a call request to the service call system based on the SIP protocol; The service call system receives the call request, performs negotiation processing on the call request, and obtains a negotiation result; When the negotiation result is successful, a connection request is sent to the client call system; The client call system receives the connection request, and sends multimedia stream data to the service call system according to the connection request; The service call system receives the multimedia stream data and establishes a call channel with the customer call system.
2. The SIP-based calling method according to claim 1, characterized in that: The sending of multimedia stream data to the service call system according to the connection request comprises: Compressing the multimedia stream data to be sent to obtain compressed data; The compressed data is sent to the service call system according to the connection request.
3. The SIP-based calling method according to claim 2, characterized in that: The service call system includes: a SIP service subsystem, the service call system receives the multimedia stream data, and establishes a call channel with the customer call system including: The service call system receives compressed data and decompresses the compressed data to obtain multimedia stream data; The SIP service subsystem parses the multimedia stream data and establishes a communication channel with the client communication system.
4. The SIP-based calling method according to claim 1, characterized in that: The service call system receives the call request, performs negotiation processing on the call request, and obtains a negotiation result including: The service call system receives the call request and reads the transmission delay corresponding to the call request; According to the call request, media transmission parameter negotiation processing is performed on the client call system to obtain a negotiation result.
5. The SIP-based calling method according to claim 4, characterized in that: When the negotiation result is successful, sending a connection request to the client call system includes: When there are commonly supported codecs and media parameters in the negotiation result, a transport layer protocol is selected based on the transmission delay; Based on the transport layer protocol, a connection request is sent to the client call system.
6. The SIP-based calling method according to claim 5, characterized in that: The selecting a transport layer protocol based on the transmission delay comprises: Determining whether the transmission delay is greater than a preset delay threshold; When it is greater than the preset delay threshold, the UDP protocol is selected as the transport layer protocol; When the delay is not greater than the preset delay threshold, TCP is selected as the transport layer protocol.
7. The SIP-based calling method according to claim 1, characterized in that: The customer call system includes: one or more of a PC platform system, an H5 platform system, a mini-program platform system, and a mobile operating platform system.
8. The SIP-based calling method according to claim 1, characterized in that: After the service call system receives the multimedia stream data and establishes a call channel with the customer call system, the method further includes: The service call system monitors the transmission delay of the call channel; According to the transmission delay, the transport layer protocol with the client call system is adjusted.
9. A call device based on the SIP protocol, characterized in that: The SIP protocol-based call device includes: a memory and at least one processor, the memory stores instructions, and the memory and the at least one processor are interconnected via a line; The at least one processor calls the instructions in the memory to enable the SIP protocol-based call device to execute the SIP protocol-based call method according to any one of claims 1-8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the SIP protocol-based calling method as claimed in any one of claims 1 to 8 is implemented.
Citation Information
Cited By
Method of controlling an access to an application service implemented in a telecommunications network, method of processing a control message for an access to said application service, corresponding devices, control equipment, client equipment, system and computer programs
US20240406175A1