Method, device, equipment, IMS control system and readable storage medium for establishing data channel
Through SDP negotiation between the calling terminal and the data content server in the IMS system, the problem of lack of data channel establishment in the IMS system is solved, flexible audio and video communication value-added services are realized, and multiple real-time data transmissions are supported.
Patent Information
- Application Number
- CN202110660383.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-06-15
- Publication Date
- 2025-09-12
- Estimated Expiration
- 2041-06-15
AI Technical Summary
The existing technology lacks a clear method for establishing a data channel based on the IMS system, resulting in the inability to effectively implement non-media data transmission in the IMS system.
The calling terminal initiates an IMS call request, receives the leading SDP, and negotiates the data channel SDP with the data content server to establish a data channel. The data channel is established and released in combination with the SIP/SDP protocol.
It realizes flexible interactive value-added services of multiple real-time audio and video communications in the IMS system, and supports media negotiation and non-media negotiation data transmission through seamless integration of data channel technology and IMS real-time audio and video call process.
Smart Images

Figure CN115484236B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of communication technology, and in particular to a method, apparatus, device, IP Multimedia Subsystem (IMS) control system, and readable storage medium for establishing a data channel. Background Art
[0002] The IP Multimedia Subsystem (IPMS), defined by the 3rd Generation Partnership Project (3GPP), uses the Session Initiation Protocol (SIP) for end-to-end multimedia call control. It primarily includes the Home Subscription Server (HSS), the Call Session Control Function (CSCF), the Multimedia Resource Function (MRF), and related gateway functions. WebRTC is an application programming interface (API) that supports real-time voice or video conversations within web browsers. It was open-sourced on June 1, 2011, and was incorporated into the W3C Recommendation with support from Google, Mozilla, and Opera. WebRTC defines the RTCDataChannel for data exchange, which can be used synchronously during WebRTC audio and video communications.
[0003] Currently, the industry has not yet clearly defined how to establish data channels based on the IMS system. Summary of the Invention
[0004] The embodiments of the present application provide a method, apparatus, device, IMS control system, and readable storage medium for establishing a data channel, thereby solving the problem of how to establish a data channel in an IMS system.
[0005] In a first aspect, an embodiment of the present application provides a method for establishing a data channel, comprising:
[0006] The calling terminal initiates an IMS call request;
[0007] The calling terminal receives a leading SDP from the data content server;
[0008] The calling terminal performs data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel.
[0009] Optionally, the calling terminal initiating an IMS call request includes:
[0010] The calling terminal initiates an IMS call request to the call center;
[0011] or,
[0012] The calling terminal initiates an IMS call request to the called terminal.
[0013] Optionally, the leading SDP includes: a multimedia menu;
[0014] The calling terminal performs data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel, including:
[0015] The calling terminal obtains the user's interactive operation based on the multimedia menu;
[0016] The calling terminal performs data channel SDP negotiation with the data content server according to the interactive operation to establish a data channel.
[0017] Optionally, the leading SDP includes: multimedia content types subscribed by the called terminal;
[0018] The calling terminal performs data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel, including:
[0019] The calling terminal performs data channel SDP negotiation with the data content server according to the multimedia content type subscribed by the called terminal to establish a data channel.
[0020] In a second aspect, an embodiment of the present application provides a method for establishing a data channel, comprising:
[0021] Upon receiving the first instruction to push the leading SDP, the data content server pushes the leading SDP to the calling terminal;
[0022] The data content server performs data channel SDP negotiation with the calling terminal to establish a data channel.
[0023] Optionally, the method further includes:
[0024] The data content server receives a second instruction to release the data channel;
[0025] The data content server releases the data channel according to the second instruction.
[0026] In a third aspect, an embodiment of the present application provides a method for establishing a data channel, comprising:
[0027] The calling terminal initiates an IMS call request to the called terminal;
[0028] The calling terminal and the called terminal establish a data channel.
[0029] Optionally, before the calling terminal and the called terminal establish a data channel, the method further includes:
[0030] The calling terminal and the called terminal establish a leading data channel.
[0031] Optionally, the IMS call request includes: data channel leader information and / or multimedia content information.
[0032] In a fourth aspect, an embodiment of the present application provides a device for establishing a data channel, which is applied to a calling terminal and includes:
[0033] Initiating module, used to initiate IMS call request;
[0034] A receiving module, configured to receive a leading SDP from a data content server;
[0035] An establishing module is used to perform data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel.
[0036] Optionally, the initiating module is further configured to: initiate an IMS call request to a call center; or initiate an IMS call request to a called terminal.
[0037] Optionally, the leading SDP includes: a multimedia menu;
[0038] The establishment module is further used to: obtain the user's interactive operation based on the multimedia menu; and perform data channel SDP negotiation with the data content server according to the interactive operation to establish a data channel.
[0039] Optionally, the leading SDP includes: multimedia content types subscribed by the called terminal;
[0040] The establishing module is further configured to perform data channel SDP negotiation with the data content server according to the multimedia content type subscribed by the called terminal, and establish a data channel.
[0041] In a fifth aspect, an embodiment of the present application provides a device for establishing a data channel, which is applied to a data content server, including:
[0042] A first receiving module is configured to receive a first indication of pushing a leading SDP;
[0043] A sending module, configured to push the leading SDP to the calling terminal when receiving the first instruction to push the leading SDP;
[0044] The establishing module is used to perform data channel SDP negotiation with the calling terminal to establish a data channel.
[0045] Optionally, the device further comprises:
[0046] A second receiving module, configured to receive a second instruction to release the data channel;
[0047] A releasing module is configured to release the data channel according to the second indication.
[0048] In a sixth aspect, an embodiment of the present application provides a device for establishing a data channel, which is applied to a calling terminal, including:
[0049] The initiating module is used to initiate an IMS call request to the called terminal;
[0050] The first establishing module is used to establish a data channel with the called terminal.
[0051] Optionally, the device further comprises:
[0052] The second establishing module is used to establish a leading data channel with the called terminal.
[0053] Optionally, the IMS call request includes: data channel leader information and / or multimedia content information.
[0054] In the seventh aspect, an embodiment of the present application provides a terminal, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the method described in the first aspect or the third aspect.
[0055] In an eighth aspect, an embodiment of the present application provides a data content server, comprising: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the method described in the second aspect.
[0056] In a ninth aspect, an embodiment of the present application provides an IMS control system, comprising: a calling terminal, a call detection device, a data content server, and a called terminal;
[0057] The calling terminal initiates an IMS call request, the data content server receives a leading SDP, and the calling terminal negotiates a data channel SDP with the data content server based on the leading SDP to establish a data channel; after the call detection device detects that the calling terminal has initiated an IMS call request, it instructs the data content service to push the leading SDP; upon receiving the first instruction to push the leading SDP, the data content service pushes the leading SDP to the calling terminal; the data content server negotiates a data channel SDP with the calling terminal to establish a data channel;
[0058] or,
[0059] The calling terminal initiates an IMS call request to the called terminal; and the calling terminal and the called terminal establish a data channel.
[0060] In the tenth aspect, an embodiment of the present application provides a readable storage medium, on which a program is stored. When the program is executed by a processor, the steps of the method described in the first aspect, the second aspect or the third aspect are implemented.
[0061] In the embodiment of the present application, the data channel technology is seamlessly integrated with the IMS real-time audio and video call process, which can flexibly realize a variety of real-time audio and video communication interactive value-added services. BRIEF DESCRIPTION OF THE DRAWINGS
[0062] Various other advantages and benefits will become apparent to those skilled in the art upon reading the detailed description of the preferred embodiment below. The accompanying drawings are for illustration purposes only and are not to be considered as limiting the present application. The same reference symbols are used throughout the drawings to represent the same components. In the drawings:
[0063] Figure 1 is a schematic diagram of an IMS control system applicable to embodiments of the present application;
[0064] Figure 2 This is one of the flow charts of the method for establishing a data channel provided in an embodiment of the present application;
[0065] Figure 3 This is the second flowchart of the method for establishing a data channel provided in an embodiment of the present application;
[0066] Figure 4 This is the third flowchart of the method for establishing a data channel provided in an embodiment of the present application;
[0067] Figure 5 This is a flowchart of establishing a real-time multimedia stream from an application to a terminal data channel provided by an embodiment of the present application;
[0068] Figure 6This is a flow chart for establishing a real-time multimedia stream of a terminal-to-terminal data channel provided by an embodiment of the present application;
[0069] Figure 7 This is a flow chart for establishing a real-time multimedia stream for an end-to-end data channel using application switching provided by an embodiment of the present application;
[0070] Figure 8 This is one of the schematic diagrams of the device for establishing a data channel provided in an embodiment of the present application;
[0071] Figure 9 This is the second schematic diagram of the device for establishing a data channel provided in an embodiment of the present application;
[0072] Figure 10 This is the third schematic diagram of the device for establishing a data channel provided in an embodiment of the present application;
[0073] Figure 11 is a schematic diagram of a terminal provided in an embodiment of the present application;
[0074] Figure 12 Schematic diagram of a data content server provided in an embodiment of the present application. DETAILED DESCRIPTION
[0075] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0076] The term "comprise" and any variations thereof in the specification and claims of this application are intended to cover non-exclusive inclusions. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to the process, method, product, or apparatus. In addition, the use of "and / or" in the specification and claims to indicate at least one of the connected objects, such as A and / or B, means that A alone, B alone, and both A and B are included.
[0077] In the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of this application should not be interpreted as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0078] It is worth noting that the technology described in the embodiments of the present application is not limited to the Long Term Evolution (LTE) / LTE-Advanced (LTE-A) system, but can also be used in other wireless communication systems, such as Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Orthogonal Frequency Division Multiple Access (OFDMA), Single-carrier Frequency Division Multiple Access (SC-FDMA) and other systems. The terms "system" and "network" in the embodiments of the present application are often used interchangeably, and the described technology can be used for the systems and radio technologies mentioned above as well as for other systems and radio technologies. However, the following description describes a New Radio (NR) system for example purposes, and NR terminology is used in most of the following description, although these technologies can also be applied to applications other than NR system applications, such as 6th Generation (6G) communication systems.
[0079] See also Figure 1 The embodiment of the present application provides an IMS control system, including a terminal 101, a call detection device 102, a user data server 103 and a data content server 104.
[0080] Terminal 101: Responsible for initiating or receiving sessions and capable of negotiating IMS media and data channels. Terminal 101 includes calling and called terminals.
[0081] Call detection device 102: used to obtain the real-time multimedia call initiated, answered, and hung up by the terminal, and notify the relevant external functional entities;
[0082] Data content server 103: used to store media content and applications of users or service providers, and / or to conduct media negotiation with terminals;
[0083] User data server 104: used to store service subscription information of terminal users.
[0084] The calling terminal initiates an IMS call request, the data content server receives a leading SDP, and the calling terminal negotiates a data channel SDP with the data content server based on the leading SDP to establish a data channel; after the call detection device detects that the calling terminal has initiated an IMS call request, it instructs the data content service to push the leading SDP; upon receiving the first instruction to push the leading SDP, the data content service pushes the leading SDP to the calling terminal; the data content server negotiates a data channel SDP with the calling terminal to establish a data channel;
[0085] or,
[0086] The calling terminal initiates an IMS call request to the called terminal; and the calling terminal and the called terminal establish a data channel.
[0087] See also Figure 2 , an embodiment of the present application provides a method for establishing a data channel, and the specific steps include: step 201, step 202 and step 203.
[0088] Step 201: The calling terminal initiates an IMS call request;
[0089] Mode 1: The calling terminal initiates an IMS call request to the call center (through the IMS control system);
[0090] Mode 2: The calling terminal initiates an IMS call request to the called terminal (through the IMS control system).
[0091] Step 202: The calling terminal receives a Session Description Protocol (SDP) header from a data content server.
[0092] The leading SDP in this article can be thought of as a universal web display framework, or the CSS format in HTML. More figuratively, it initially sends a fixed-format, empty form or menu to the terminal. Within this universal framework, the content can be freely selected. This content corresponds to various applications. For example, for customer service products, bank customer service and airline customer service represent different applications, but both can load their own application content into this universal framework.
[0093] Step 203: The calling terminal performs data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel.
[0094] In one embodiment of the present application, the leading SDP includes: a multimedia menu. In step 203, the calling terminal obtains the user's interactive operation based on the multimedia menu; the calling terminal performs data channel SDP negotiation with the data content server according to the interactive operation to establish a data channel.
[0095] In another embodiment of the present application, the leading SDP includes: the multimedia content type subscribed by the called terminal. In step 203, the calling terminal performs data channel SDP negotiation with the data content server according to the multimedia content type subscribed by the called terminal to establish a data channel.
[0096] Currently, IMS is primarily used for real-time communication media such as audio and video. For the transmission of other data, other protocols, such as HTTP, are used. The SIP and SDP protocols, which are the core of IMS, are not used as protocols for non-audio and video transmission. Furthermore, in the IMS system, SIP is used to assist in application-layer addressing, and SDP is used for media negotiation between communicating parties. Since the transmission of non-media data does not involve media negotiation, the industry has generally ignored the practice of establishing data connections based on IMS in the IMS system.
[0097] The inventors discovered that even for non-media data, the SIP / SDP protocol can be used for processing, with SIP used for data routing and SDP as an optional function (because some data may also require negotiation of the terminal capabilities of both communicating parties). In the embodiments of this application, the data channel proposed maximizes the reuse of the existing IMS addressing function (SIP). At the same time, based on the content transmitted within the data channel, it can flexibly determine whether SDP negotiation is required, supporting both media that require negotiation and media that does not. In other words, the establishment of a multimedia channel controlled by a unified IMS is achieved, that is, the data channel technology is seamlessly integrated with the IMS real-time audio and video call process, which can flexibly implement a variety of real-time audio and video communication interactive value-added services. However, other current technologies, such as WebRTC, do not achieve unified control of data channels.
[0098] In the embodiment of the present application, the data channel technology in the WebRTC technology is seamlessly integrated with the IMS real-time audio and video call process, which can flexibly realize a variety of real-time audio and video communication interactive value-added services.
[0099] See also Figure 3 , an embodiment of the present application provides a method for establishing a data channel, and the specific steps include: step 301 and step 302.
[0100] Step 301: upon receiving a first instruction to push a leading SDP, the data content server pushes the leading SDP to the calling terminal;
[0101] Step 302: The data content server performs data channel SDP negotiation with the calling terminal to establish a data channel.
[0102] In one embodiment of the present application, the method further includes:
[0103] The data content server receives a second instruction to release the data channel;
[0104] The data content server releases the data channel according to the second instruction.
[0105] In the embodiment of the present application, the establishment of a multimedia channel controlled by a unified IMS is realized, that is, the data channel technology is seamlessly integrated with the IMS real-time audio and video call process, which can flexibly realize a variety of real-time audio and video communication interactive value-added services.
[0106] See also Figure 4 , an embodiment of the present application provides a method for establishing a data channel, and the specific steps include: step 401 and step 402.
[0107] Step 401: The calling terminal initiates an IMS call request to the called terminal;
[0108] Step 402: The calling terminal and the called terminal establish a data channel.
[0109] In one embodiment of the present application, before the calling terminal and the called terminal establish a data channel, the method further includes:
[0110] The calling terminal and the called terminal establish a leading data channel.
[0111] In one embodiment of the present application, the IMS call request includes: data channel preamble information and / or multimedia content information.
[0112] In the embodiment of the present application, the data channel technology in the WebRTC technology is seamlessly integrated with the IMS real-time audio and video call process, which can flexibly realize a variety of real-time audio and video communication interactive value-added services.
[0113] It is understood that the embodiments of the present application are applicable to the establishment process of real-time multimedia streams of the following three types of fused data channels:
[0114] (1) The process of establishing a real-time multimedia stream applied to the terminal data channel;
[0115] (2) The process of establishing real-time multimedia streaming in a peer-to-peer (P2P) data channel;
[0116] (3) The process of establishing a real-time multimedia stream for an end-to-end data channel using transfer.
[0117] The following are the three establishment processes:
[0118] (1) The process of establishing a real-time multimedia stream applied to the terminal data channel
[0119] See also Figure 5 , the specific steps are as follows:
[0120] Step 1: The caller initiates a real-time multimedia call;
[0121] Step 2: Media negotiation and response;
[0122] Step 3: The call detection device performs call event reporting;
[0123] Step 4: Read the contract information of the calling and called numbers;
[0124] Step 5: The user data server returns the calling and called party's contract information to the call detection device;
[0125] Step 6: The call detection device instructs the data content server to push the leading SDP;
[0126] The content server searches for data content based on the calling and called numbers;
[0127] Step 7: The content server pushes the leading SDP to the call detection device to confirm;
[0128] Step 8: The content server pushes the leading SDP to the caller;
[0129] Step 9: Confirmation of receiving the leading SDP;
[0130] Step 10: Data channel SDP negotiation;
[0131] Step 11: Data channel establishment;
[0132] Step 12: The user hangs up;
[0133] Step 13: Instruct the data channel to be removed;
[0134] Step 14: Data channel removal.
[0135] To explain the above process more clearly, let's take a specific business example as an example:
[0136] The business scenario is: Terminal A makes a multimedia call to a call center (such as 10086). After the call is connected, the call center can send an interactive multimedia menu to Terminal A. The user can select operations in the multimedia menu while talking on the phone. The above operation process corresponding to this business can be described as follows:
[0137] 1) Terminal A dials 10086;
[0138] 2) After the call center answers, it establishes a session with terminal A;
[0139] 3) The call detection device captures the terminal user's call information and, based on this information, searches for the services subscribed to by the caller and the called party during the call process to establish a data channel as needed. In this example, terminal A calls the call center. Terminal A does not have a subscribed service, so steps 4 and 5 are skipped.
[0140] 4) The call detection device obtains the called number 10086, and then searches the data content server for the service content corresponding to 10086 (here is an H5 menu);
[0141] 5) The data content server first pushes a leading SDP to the calling terminal A. The leading SDP content can be understood as an environment framework for content or application operation;
[0142] 6) The user receives the H5 interactive menu and initiates an interactive operation;
[0143] 7) Based on the user's interactive content, terminal A conducts media negotiation with the data content server and establishes a data channel, which can then be used to deliver content.
[0144] 8) Once the call end instruction is received, the data channel is removed.
[0145] (2) Establishment process of real-time multimedia stream of end-to-end data channel
[0146] See also Figure 6 , the specific steps are as follows:
[0147] Step 1: Terminal A initiates a real-time multimedia call to Terminal B;
[0148] Step 2: Terminal B performs media negotiation and responds to Terminal A;
[0149] Step 3: Terminal A and terminal B establish a leading data channel;
[0150] Step 4: Terminal A and terminal B establish a service data channel;
[0151] Step 5: Check whether the call is ended;
[0152] Step 6: Data channel removal.
[0153] To explain the above process more clearly, let's take a specific business example as an example:
[0154] The business scenario is: during a call between two terminals, desktop sharing, tagging, liking, and file sending can be achieved in parallel. The above operation process corresponding to this business can be described as follows:
[0155] 1) Terminal A calls Terminal B via the IMS system. The call is established and the INVITE media negotiation includes the data channel preamble and service media content.
[0156] 2) Terminal B responds;
[0157] 3) Terminal A and terminal B establish a leading data channel (optional depending on the scenario);
[0158] 4) Terminal A and terminal B establish a business data channel;
[0159] 5) Determine whether the call is ended. If so, remove the data channel.
[0160] (3) Establishment process of real-time multimedia stream of terminal-to-terminal data channel using transfer
[0161] See also Figure 7 , the specific steps are as follows:
[0162] Step 1: The caller initiates a real-time multimedia call;
[0163] Step 2: The call detection device reports the call event;
[0164] Step 3: Read the contract information of the calling and called numbers;
[0165] Step 4: The user data server returns the calling and called party's contract information;
[0166] Step 5: The call detection device instructs the content server to push the leading SDP;
[0167] Step 6: The data content server pushes the leading SDP to the call detection device to confirm;
[0168] Step 7: The data content server pushes the confirmation to the caller's leading SDP;
[0169] Step 8: Confirmation of receiving the leading SDP;
[0170] Step 9: The caller and the data content server, and the data content server and the called party negotiate the data channel SDP.
[0171] Step 10: The caller establishes a data channel with the data content server, and the data content server establishes a data channel with the called party.
[0172] Step 11: The called party negotiates with the calling party for media and responds.
[0173] Step 12: The call detection device detects whether the call is ended;
[0174] Step 13: The call detection device instructs the data content server to remove the data channel;
[0175] Step 14: Data channel removal.
[0176] To explain the above process more clearly, let's take a specific business example:
[0177] Service scenarios can be divided into pre-call and in-call scenarios. For example, pre-call services include video ringback tone services; for in-call services, AR annotation services are used as an example. The service processes for these scenarios are as follows:
[0178] 1) Terminal A calls Terminal B via the IMS system;
[0179] 2) Before terminal B answers the call, the call detection device captures the terminal user's call information and, based on the information, searches for the services subscribed by the caller and the called party during the call process to establish a data channel as needed.
[0180] 3) The call detection device queries the user data server for the contracted service of terminal B
[0181] 4) The user data server returns the query result. In this example, the video ringback tone subscribed to terminal B is found.
[0182] 5) The data content server first pushes a leading SDP to terminal A. The leading SDP content can understand the video playback framework;
[0183] 6) Based on the video media content type customized by terminal B, terminal A conducts media negotiation with the data content server and establishes a data channel, after which content can be delivered based on the data channel;
[0184] 8) Once the off-hook command is received from terminal B, the video ringback tone media is deleted, but the data channel is retained;
[0185] 9) At this point, the call enters the AR annotation service, and terminal A or terminal B initiates a video annotation request;
[0186] 10) Terminal A and the data content server, and terminal B and the data content server respectively establish data channels after media negotiation;
[0187] 11) After the standard information and the video in the video conversation are synthesized locally at the terminal, they are sent to the data content server and then sent to the other end through the data channel.
[0188] 12) Determine whether the call is ended. If so, remove the data channel.
[0189] See also Figure 8 The embodiment of the present application provides a device for establishing a data channel, which is applied to a calling terminal. The device 800 includes:
[0190] Initiating module 801, used to initiate an IMS call request;
[0191] The receiving module 802 is configured to receive a leading SDP from a data content server;
[0192] The establishing module 803 is configured to perform data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel.
[0193] In one embodiment of the present application, the initiating module 801 is further configured to: initiate an IMS call request to a call center; or initiate an IMS call request to a called terminal.
[0194] In one embodiment of the present application, the leading SDP includes: a multimedia menu;
[0195] The establishing module 803 is further configured to: obtain the user's interactive operation based on the multimedia menu; and perform data channel SDP negotiation with the data content server according to the interactive operation to establish a data channel.
[0196] In one embodiment of the present application, the leading SDP includes: the multimedia content type subscribed by the called terminal;
[0197] The establishing module 803 is further configured to perform data channel SDP negotiation with the data content server according to the multimedia content type subscribed by the called terminal, and establish a data channel.
[0198] The device provided in the embodiment of the present application can achieve Figure 2 The various processes implemented in the method embodiment shown achieve the same technical effect, and to avoid repetition, they will not be described again here.
[0199] See also Figure 9 The embodiment of the present application provides a device for establishing a data channel, which is applied to a data content server. The device 900 includes:
[0200] The first receiving module 901 is configured to receive a first indication of pushing a leading SDP;
[0201] A sending module 902 is configured to push the leading SDP to the calling terminal when receiving the first instruction to push the leading SDP;
[0202] The establishing module 903 is configured to perform data channel SDP negotiation with the calling terminal to establish a data channel.
[0203] In one embodiment of the present application, the device further comprises:
[0204] A second receiving module, configured to receive a second instruction to release the data channel;
[0205] A releasing module is configured to release the data channel according to the second indication.
[0206] The device provided in the embodiment of the present application can achieve Figure 3 The various processes implemented in the method embodiment shown achieve the same technical effect, and to avoid repetition, they will not be described again here.
[0207] See also Figure 10 The embodiment of the present application provides a device for establishing a data channel, which is applied to a calling terminal. The device 1000 includes:
[0208] The initiating module 1001 is used to initiate an IMS call request to the called terminal;
[0209] The first establishing module 1002 is configured to establish a data channel with the called terminal.
[0210] In one embodiment of the present application, the device further comprises:
[0211] The second establishing module is used to establish a leading data channel with the called terminal.
[0212] In one embodiment of the present application, the IMS call request includes: data channel preamble information and / or multimedia content information.
[0213] The device provided in the embodiment of the present application can achieve Figure 4 The various processes implemented in the method embodiment shown achieve the same technical effect, and to avoid repetition, they will not be described again here.
[0214] Figure 11 To implement a hardware structure diagram of a terminal in an embodiment of the present application, the terminal 1100 includes but is not limited to: a radio frequency unit 1101, a network module 1102, an audio output unit 1103, an input unit 1104, a sensor 1105, a display unit 1106, a user input unit 1107, an interface unit 1108, a memory 1109, and a processor 1110 and other components.
[0215] Those skilled in the art will understand that the terminal 1100 may also include a power supply (such as a battery) to power each component, and the power supply may be logically connected to the processor 1110 through a power management system, thereby implementing functions such as charging, discharging, and power consumption management through the power management system. Figure 11 The terminal structure shown in the figure does not constitute a limitation on the terminal. The terminal may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently, which will not be repeated here.
[0216] It should be understood that in an embodiment of the present application, the input unit 1104 may include a graphics processing unit (GPU) 11041 and a microphone 11042, and the graphics processor 11041 processes the image data of a static picture or video obtained by an image capture device (such as a camera) in a video capture mode or an image capture mode. The display unit 1106 may include a display panel 11061, and the display panel 11061 may be configured in the form of a liquid crystal display, an organic light emitting diode, etc. The user input unit 1107 includes a touch panel 11071 and other input devices 11072. The touch panel 11071 is also called a touch screen. The touch panel 11071 may include two parts: a touch detection device and a touch controller. Other input devices 11072 may include, but are not limited to, a physical keyboard, function keys (such as volume control keys, switch keys, etc.), a trackball, a mouse, and an operating stick, which will not be repeated here.
[0217] In this embodiment of the present application, RF unit 1101 receives downlink data from a network-side device and transmits it to processor 1110 for processing. Furthermore, RF unit 1101 transmits uplink data to the network-side device. Typically, RF unit 1101 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier, a duplexer, and the like.
[0218] The memory 1109 can be used to store software programs or instructions and various data. The memory 709 may mainly include a program or instruction storage area and a data storage area, wherein the program or instruction storage area can store an operating system, at least one application program or instruction required for a function (such as a sound playback function, an image playback function, etc.). In addition, the memory 1109 may include a high-speed random access memory and may also include a non-volatile memory, wherein the non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. For example, at least one disk storage device, a flash memory device, or other non-volatile solid-state memory device.
[0219] Processor 1110 may include one or more processing units. Optionally, processor 1110 may integrate an application processor and a modem processor. The application processor primarily processes the operating system, user interface, and application programs or instructions, while the modem processor primarily processes wireless communications, such as a baseband processor. It is understood that the modem processor may not be integrated into processor 1110.
[0220] The terminal provided in the embodiment of the present application can achieve Figure 2 or Figure 4 The various processes implemented in the method embodiment shown achieve the same technical effect, and to avoid repetition, they will not be described again here.
[0221] The embodiment of the present application also provides a data content server. Figure 12 As shown, the data content server 1200 includes: a processor 1201, a memory 1202 and a network interface 1203, such as a common public radio interface (CPRI).
[0222] Specifically, the instructions or programs stored in the memory 1202 and can be executed by the processor 1201. It can be understood that the processor 1201 calls the instructions or programs in the memory 1202 to execute Figure 9 The methods executed by the modules shown achieve the same technical effects, so they will not be described here to avoid repetition.
[0223] The embodiment of the present application also provides a readable storage medium on which a program or instruction is stored, and when the program or instruction is executed by the processor, the above Figure 2 or Figure 3 or Figure 4 The various processes of the method embodiment shown can achieve the same technical effect, and to avoid repetition, they will not be described here.
[0224] The processor is the processor in the terminal described in the above embodiment. The readable storage medium includes a computer-readable storage medium, such as a computer read-only memory (ROM), random access memory (RAM), a magnetic disk, or an optical disk.
[0225] The steps of the method or algorithm described in conjunction with the contents disclosed in this application can be implemented in hardware or by executing software instructions on a processor. The software instructions can be composed of corresponding software modules, and the software modules can be stored in RAM, flash memory, ROM, EPROM, EEPROM, registers, hard disk, mobile hard disk, read-only optical disk or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor so that the processor can read information from the storage medium and write information to the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be carried in an ASIC. In addition, the ASIC can be carried in a core network interface device. Of course, the processor and the storage medium can also exist in the core network interface device as discrete components.
[0226] Those skilled in the art will appreciate that, in one or more of the examples above, the functions described herein may be implemented using hardware, software, firmware, or any combination thereof. When implemented using software, these functions may be stored in a computer-readable medium or transmitted as one or more instructions or codes on a computer-readable medium. Computer-readable media include computer storage media and communication media, wherein communication media include any medium that facilitates the transmission of a computer program from one place to another. The storage medium may be any available medium that can be accessed by a general-purpose or special-purpose computer.
[0227] The specific implementation methods described above further illustrate the purpose, technical solutions and beneficial effects of this application. It should be understood that the above description is only the specific implementation methods of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made on the basis of the technical solutions of this application should be included in the scope of protection of this application.
[0228] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the embodiments of the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0229] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0230] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0231] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0232] Obviously, those skilled in the art may make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations.
Claims
1. A method for establishing a data channel, characterized in that: include: The calling terminal initiates an IP Multimedia Subsystem IMS call request; The calling terminal receives a leading session description protocol SDP from a data content server, wherein the leading SDP includes a multimedia menu or a multimedia content type subscribed by the called terminal. The data content server is used to store media content and applications of the user or service provider and / or to perform media negotiation with the calling terminal. The calling terminal performs data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel, where the data channel supports media requiring SDP negotiation and media not requiring SDP negotiation.
2. The method according to claim 1, characterized in that The calling terminal initiates an IMS call request, including: The calling terminal initiates an IMS call request to the call center; or, The calling terminal initiates an IMS call request to the called terminal.
3. The method according to claim 1, characterized in that The leading SDP includes: a multimedia menu; The calling terminal performs data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel, including: The calling terminal obtains the user's interactive operation based on the multimedia menu; The calling terminal performs data channel SDP negotiation with the data content server according to the interactive operation to establish a data channel.
4. The method according to claim 1, wherein The leading SDP includes: the multimedia content type subscribed by the called terminal; The calling terminal performs data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel, including: The calling terminal performs data channel SDP negotiation with the data content server according to the multimedia content type subscribed by the called terminal to establish a data channel.
5. A method for establishing a data channel, characterized in that: include: Upon receiving the first instruction to push the leading SDP, the data content server pushes the leading SDP to the calling terminal, where the leading SDP includes: a multimedia menu or a multimedia content type subscribed by the called terminal, and the data content server is used to store media content and applications of the user or service provider and / or to perform media negotiation with the calling terminal; The data content server performs data channel SDP negotiation with the calling terminal to establish a data channel, where the data channel supports media requiring SDP negotiation and media not requiring SDP negotiation.
6. The method according to claim 5, characterized in that The method further comprises: The data content server receives a second instruction to release the data channel; The data content server releases the data channel according to the second instruction.
7. A method for establishing a data channel, characterized in that: include: The calling terminal initiates an IMS call request to the called terminal, wherein the IMS call request includes: data channel preamble information and / or multimedia content information; The calling terminal and the called terminal establish a data channel, where the data channel supports media requiring SDP negotiation and media not requiring SDP negotiation; Before the calling terminal and the called terminal establish a data channel, the method further includes: The calling terminal and the called terminal establish a leading data channel.
8. A device for establishing a data channel, applied to a calling terminal, characterized in that: include: Initiating module, used to initiate IMS call request; a receiving module, configured to receive a leading SDP from a data content server, the leading SDP including a multimedia menu or a multimedia content type subscribed by the called terminal; the data content server is configured to store media content and applications of a user or service provider, and / or to perform media negotiation with the calling terminal; An establishing module is used to perform data channel SDP negotiation with the data content server according to the leading SDP to establish a data channel, where the data channel supports media requiring SDP negotiation and media not requiring SDP negotiation.
9. The device according to claim 8, characterized in that The initiating module is further configured to: initiate an IMS call request to a call center; or initiate an IMS call request to a called terminal.
10. The device according to claim 8, characterized in that The leading SDP includes: a multimedia menu; The establishment module is further used to: obtain the user's interactive operation based on the multimedia menu; and perform data channel SDP negotiation with the data content server according to the interactive operation to establish a data channel.
11. The device according to claim 8, characterized in that The leading SDP includes: the multimedia content type subscribed by the called terminal; The establishing module is further configured to perform data channel SDP negotiation with the data content server according to the multimedia content type subscribed by the called terminal, and establish a data channel.
12. A device for establishing a data channel, applied to a data content server, characterized in that: include: A first receiving module is configured to receive a first indication of pushing a leading SDP; A sending module, configured to push the leading SDP to the calling terminal upon receiving the first instruction to push the leading SDP, wherein the leading SDP includes: a multimedia menu or a multimedia content type subscribed by the called terminal; An establishment module, configured to perform data channel SDP negotiation with the calling terminal to establish a data channel, wherein the data channel supports media requiring SDP negotiation and media not requiring SDP negotiation; The data content server is used to store media content and applications of users or service providers, and / or to perform media negotiation with the calling terminal.
13. The device according to claim 12, characterized in that The device further comprises: A second receiving module, configured to receive a second instruction to release the data channel; A releasing module is configured to release the data channel according to the second indication.
14. A device for establishing a data channel, applied to a calling terminal, characterized in that: include: An initiating module, configured to initiate an IMS call request to a called terminal, wherein the IMS call request includes: information about a data channel leader and / or information about multimedia content; A first establishing module is used to establish a data channel with the called terminal, wherein the data channel supports media requiring SDP negotiation and media not requiring SDP negotiation; The device further comprises: The second establishing module is used to establish a leading data channel with the called terminal.
15. A terminal, characterized in that: include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, the steps of the method according to any one of claims 1 to 4 or the steps of the method according to claim 7 are implemented.
16. A data content server, characterized in that: include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program implements the steps of the method according to any one of claims 5 to 6 when executed by the processor.
17. An IMS control system, characterized in that: include: Calling terminal, call detection device, data content server and called terminal; The calling terminal initiates an IMS call request and receives a leading SDP from a data content server. The leading SDP includes a multimedia menu or a multimedia content type subscribed by the called terminal. The calling terminal performs data channel SDP negotiation with the data content server based on the leading SDP to establish a data channel. After the call detection device detects that the calling terminal has initiated an IMS call request, it instructs the data content service to push the leading SDP. Upon receiving the first instruction to push the leading SDP, the data content service pushes the leading SDP to the calling terminal. The data content server performs data channel SDP negotiation with the calling terminal to establish a data channel. The data channel supports media that requires SDP negotiation and media that does not require SDP negotiation. The data content server is used to store media content and applications of the user or service provider, and / or to perform media negotiation with the calling terminal. or, The calling terminal initiates an IMS call request to the called terminal; the calling terminal and the called terminal establish a data channel, the data channel supporting media requiring SDP negotiation and media not requiring SDP negotiation, the IMS call request including: data channel preamble information and / or multimedia content information; before the calling terminal and the called terminal establish the data channel, the calling terminal and the called terminal establish the preamble data channel.
18. A readable storage medium, characterized in that: The readable storage medium stores a program, and when the program is executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Method and device for controlling multimedia conference by application server
CN101325504A
Methods and Apparatuses for Enhancement to IP Multimedia Subsystem
US20210152614A1