Multi-party communication method, terminal and medium
Patent Information
- Application Number
- CN202310894789.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-20
- Publication Date
- 2026-08-28
- Estimated Expiration
- 2043-07-20
AI Technical Summary
[0004]本发明实施例提供一种多方通信方法、终端及介质,以解决无法在现有多方会话场景下使用数据通道能力的问题
[0072]在本发明实施例中,以第一终端为多方会话的发起方。第一终端通过与至少两个第一目标终端之间建立由同一数据通道媒体功能控制的Bootstrap数据通道,来实现在至少三个终端之间建立多方Bootstrap数据通道。之后,第一终端可与至少两个第一目标终端中的一个或多个终端根据基于多方Bootstrap数据通道获取目标应用,并在目标应用中建立全连接点到点的多方Application数据通道,从而实现多个终端之间携带数据通道的多方通信。
Smart Images

Figure CN116915753B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to multi-party communication methods, terminals and media. Background Technology
[0002] The 3rd Generation Partnership Project (3GPP) proposes to establish a data channel simultaneously with the establishment of an audio / video call in an Internet Protocol (IP) Multimedia Subsystem (IMS) to provide interactive call services.
[0003] Currently, Voice over Long-Term Evolution (VoLTE) / VoNR can support multi-party voice conversations, but it does not consider multi-party conversation establishment methods that carry data channels. In user call environments based on IMS data channels (DC), DC capabilities cannot be used in existing multi-party conversation scenarios. Summary of the Invention
[0004] This invention provides a multi-party communication method, terminal, and medium to solve the problem of not being able to use data channel capabilities in existing multi-party session scenarios.
[0005] To solve the above-mentioned technical problems, the present invention is implemented as follows:
[0006] In a first aspect, embodiments of the present invention provide a multi-party communication method applied to a first terminal, the method comprising:
[0007] Establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the first terminals and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M.
[0008] Based on the multi-party Bootstrap data channels, the target application is obtained from the media function of the target data channel;
[0009] Within the target application, a multi-party application data channel is established between the N second target terminals, and communication is conducted with the N second target terminals based on the multi-party application data channel.
[0010] Optionally, establishing a multi-party session and a multi-party preamble bootstrap data channel with M first target terminals includes:
[0011] While maintaining the established sessions, M two-way sessions are sequentially established with each of the M first target terminals, and M first two-way Bootstrap data channels are established with each of the M first target terminals.
[0012] Once all M bilateral sessions have been established, a multi-party session is initiated, and if the M first bilateral Bootstrap data channels are controlled by the same target data channel media function, the M first target terminals are invited to join the multi-party session.
[0013] Optionally, after initiating the multi-party session, the method further includes:
[0014] When the M first-party Bootstrap data channels are controlled by different data channel media functions, the M first-party Bootstrap data channels are controlled by the same target data channel media function, and the M first-party target terminals are invited to join the multi-party session.
[0015] Optionally, the case where the M first two-way Bootstrap data channels are controlled by the same target data channel media function includes the case where the M first channel connection points corresponding to the M first two-way Bootstrap data channels are all the same;
[0016] The situation where the M first two-way Bootstrap data channels are controlled by different data channel media functions includes: among the M first channel connection points corresponding to the M first two-way Bootstrap data channels, at least one first channel connection point is different from the other first channel connection points.
[0017] Optionally, controlling the M first two-way Bootstrap data channels to be controlled by the same target data channel media function includes:
[0018] Send a first indication message to the data channel server corresponding to each of the M first two-way Bootstrap data channels;
[0019] The first indication information is used to instruct the data channel servers corresponding to the M first two-way Bootstrap data channels to perform data channel synchronization.
[0020] Optionally, controlling the M first two-way Bootstrap data channels to be controlled by the same target data channel media function includes:
[0021] Send the second instruction information to the M first target terminals;
[0022] Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
[0023] Optionally, before establishing a multi-party application data channel with the N second target terminals within the target application, and communicating with the N second target terminals based on the multi-party application data channel, the method further includes:
[0024] Send a request message to the target data channel server. The request message carries user information of the N second target terminals. The request message is used to request the target data channel server to notify each second target terminal to obtain the target application from the target data channel media function based on the multi-party Bootstrap data channel.
[0025] The step of establishing a multi-party application data channel between the target application and the N second target terminals, and communicating with the N second target terminals based on the multi-party application data channel, includes:
[0026] When all N second target terminals obtain the target application from the target data channel media function, a multi-party application data channel is established between the target application and the N second target terminals, and communication is carried out with the N second target terminals based on the multi-party application data channel.
[0027] Secondly, embodiments of the present invention provide a terminal, the terminal comprising:
[0028] The first establishment module is used to establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the first terminals and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M.
[0029] The acquisition module is used to acquire the target application from the media function of the target data channel based on the multi-party Bootstrap data channel;
[0030] The second establishment module is used to establish a multi-party application data channel between the target application and N second target terminals, and to communicate with the N second target terminals based on the multi-party application data channel.
[0031] Optionally, the first establishment module includes:
[0032] The establishment unit is used to sequentially establish M two-way sessions with each of the M first target terminals while maintaining the established sessions, and to establish M first two-way Bootstrap data channels with each of the M first target terminals.
[0033] The control unit is configured to initiate a multi-party session when all M bilateral sessions have been established, and to invite the M first target terminals to join the multi-party session when the M first bilateral Bootstrap data channels are controlled by the same target data channel media function.
[0034] Optionally, the terminal further includes:
[0035] The control module is used to control the M first-party Bootstrap data channels to be controlled by the same target data channel media function when the M first-party Bootstrap data channels are controlled by different data channel media functions, and to invite the M first-party target terminals to join the multi-party session.
[0036] Optionally, the case where the M first two-way Bootstrap data channels are controlled by the same target data channel media function includes the case where the M first channel connection points corresponding to the M first two-way Bootstrap data channels are all the same;
[0037] The situation where the M first two-way Bootstrap data channels are controlled by different data channel media functions includes: among the M first channel connection points corresponding to the M first two-way Bootstrap data channels, at least one first channel connection point is different from the other first channel connection points.
[0038] Optionally, the control module is used for:
[0039] Send a first indication message to the data channel server corresponding to each of the M first two-way Bootstrap data channels;
[0040] The first indication information is used to instruct the data channel servers corresponding to the M first two-way Bootstrap data channels to perform data channel synchronization.
[0041] Optionally, the control module is used for:
[0042] Send the second instruction information to the M first target terminals;
[0043] Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
[0044] Optionally, the terminal further includes:
[0045] The request module is used to send a request message to the target data channel server. The request message carries user information of the N second target terminals. The request message is used to request the target data channel server to notify each second target terminal to obtain the target application from the target data channel media function based on the multi-party Bootstrap data channel.
[0046] The second creation module is used for:
[0047] When all N second target terminals obtain the target application from the target data channel media function, a multi-party application data channel is established between the target application and the N second target terminals, and communication is carried out with the N second target terminals based on the multi-party application data channel.
[0048] Thirdly, embodiments of the present invention provide a terminal, including a transceiver and a processor.
[0049] The processor is used for:
[0050] Establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the first terminals and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M.
[0051] Based on the multi-party Bootstrap data channels, the target application is obtained from the media function of the target data channel;
[0052] Within the target application, a multi-party application data channel is established between the N second target terminals, and communication is conducted with the N second target terminals based on the multi-party application data channel.
[0053] Optionally, the processor is used to:
[0054] While maintaining the established sessions, M two-way sessions are sequentially established with each of the M first target terminals, and M first two-way Bootstrap data channels are established with each of the M first target terminals.
[0055] Once all M bilateral sessions have been established, a multi-party session is initiated, and if the M first bilateral Bootstrap data channels are controlled by the same target data channel media function, the M first target terminals are invited to join the multi-party session.
[0056] Optionally, the processor is further configured to:
[0057] When the M first-party Bootstrap data channels are controlled by different data channel media functions, the M first-party Bootstrap data channels are controlled by the same target data channel media function, and the M first-party target terminals are invited to join the multi-party session.
[0058] Optionally, the case where the M first two-way Bootstrap data channels are controlled by the same target data channel media function includes the case where the M first channel connection points corresponding to the M first two-way Bootstrap data channels are all the same;
[0059] The situation where the M first two-way Bootstrap data channels are controlled by different data channel media functions includes: among the M first channel connection points corresponding to the M first two-way Bootstrap data channels, at least one first channel connection point is different from the other first channel connection points.
[0060] Optionally, the transceiver is used for:
[0061] Send a first indication message to the data channel server corresponding to each of the M first two-way Bootstrap data channels;
[0062] The first indication information is used to instruct the data channel servers corresponding to the M first two-way Bootstrap data channels to perform data channel synchronization.
[0063] Optionally, the transceiver is used for:
[0064] Send the second instruction information to the M first target terminals;
[0065] Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
[0066] Optionally, the transceiver is further used for:
[0067] Send a request message to the target data channel server. The request message carries user information of the N second target terminals. The request message is used to request the target data channel server to notify each second target terminal to obtain the target application from the target data channel media function based on the multi-party Bootstrap data channel.
[0068] The processor is used for:
[0069] When all N second target terminals obtain the target application from the target data channel media function, a multi-party application data channel is established between the target application and the N second target terminals, and communication is carried out with the N second target terminals based on the multi-party application data channel.
[0070] Fourthly, embodiments of the present invention provide a terminal, including: 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, it implements the steps of the multi-party communication method as described in the first aspect.
[0071] Fifthly, embodiments of the present invention provide a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the multi-party communication method as described in the first aspect.
[0072] In this embodiment of the invention, a first terminal initiates the multi-party session. The first terminal establishes a multi-party Bootstrap data channel among at least three terminals by establishing a Bootstrap data channel controlled by the same data channel media function with at least two first target terminals. Subsequently, the first terminal can obtain a target application with one or more of the at least two first target terminals based on the multi-party Bootstrap data channel, and establish a fully connected point-to-point multi-party Application data channel within the target application, thereby enabling multi-party communication carrying data channels between multiple terminals. Attached Figure Description
[0073] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0074] Figure 1 This is one of the flowcharts of a multi-party communication method provided in an embodiment of the present invention;
[0075] Figure 2 This is one of the interactive schematic diagrams provided in the embodiments of the present invention for establishing a multi-party Bootstrap data channel;
[0076] Figure 3 This is the second interactive schematic diagram of establishing a multi-party Bootstrap data channel provided in an embodiment of the present invention;
[0077] Figure 4 This is an interactive schematic diagram of establishing a multi-party Application data channel provided by an embodiment of the present invention;
[0078] Figure 5 This is a second flowchart of a multi-party communication method provided in an embodiment of the present invention;
[0079] Figure 6This is one of the structural schematic diagrams of a terminal provided in an embodiment of the present invention;
[0080] Figure 7 This is a second structural schematic diagram of a terminal provided in an embodiment of the present invention. Detailed Implementation
[0081] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0082] See Figure 1 , Figure 1 This is a flowchart of a multi-party communication method provided in an embodiment of the present invention, used for a first terminal, such as... Figure 1 As shown, the method includes the following steps:
[0083] Step 101: Establish multi-party sessions and multi-party bootstrap data channels with M first target terminals. Here, M is an integer and M > 1. The multi-party bootstrap data channels are controlled by the same target data channel media function, and are used by the first terminals and N second target terminals to acquire the target applications corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0 < N ≤ M.
[0084] Step 102: Based on multiple Bootstrap data channels, obtain the target application from the media function of the target data channel.
[0085] Step 103: Within the target application, establish a multi-party application data channel with N second target terminals, and communicate with the N second target terminals based on the multi-party application data channel.
[0086] In related technologies, establishing a Data Center (DC) for IMS audio and video calls involves two steps: Step 1, establishing a Bootstrap Data Channel (BDC) between the two terminals (User Equipment, UE) for both parties to obtain applications under the corresponding media functions from the network; Step 2, establishing an Application Data Channel (ADC) between the two terminals for communication within the application. The aforementioned technologies typically do not consider multi-party communication scenarios involving three or more parties carrying a DC.
[0087] In this embodiment of the invention, a first terminal initiates multi-party communication. The first terminal establishes a Bootstrap data channel controlled by the same target data channel media (DCM) with at least two first target terminals, thereby enabling the establishment of a multi-party Bootstrap data channel among at least three terminals and extending the communication scenario carrying data channels to a multi-party communication scenario. The first terminal and at least two first target terminals can obtain the target application corresponding to the target data channel media function on the network based on the multi-party Bootstrap data channel. Subsequently, according to business needs, the first terminal can determine one or more second target terminals among the first target terminals for specific communication. If both the first terminal and the second target terminals have obtained the target application, a multi-party Application data channel can be established within the target application to achieve fully connected point-to-point communication based on the target application.
[0088] In an optional implementation, step 101 includes:
[0089] While maintaining the established sessions, M two-way sessions are sequentially established with each of the M first target terminals, and M first two-way Bootstrap data channels are established with each of the M first target terminals.
[0090] Once all M bilateral sessions have been established, a multi-party session is initiated, and if the M first-party Bootstrap data channels are controlled by the same target data channel media function, the M first-target terminals are invited to join the multi-party session.
[0091] In this embodiment, after establishing a two-way session with a first target terminal and establishing a corresponding first two-way Bootstrap data channel, the first terminal can, while maintaining the current session, establish another two-way session with the next first target terminal and establish a corresponding first two-way Bootstrap data channel. In other words, the first terminal can establish and maintain a two-way session with each of the M first target terminals and establish a corresponding first two-way Bootstrap data channel. If all of the above-mentioned multiple first two-way Bootstrap data channels are controlled by the same target data channel media function, it indicates that both the first terminal and the M first target terminals can use the target data channel media function and can obtain the target application corresponding to the target data channel media function from the network. At this time, a multi-party Bootstrap data channel based on the target data channel media function control is established between the first terminal and the M first target terminals.
[0092] For ease of understanding, this implementation uses an M=2 scenario, with the second and third target terminals as an example: The first terminal initiates a call carrying the Bootstrap data channel to the second terminal, establishing a first session. After the second terminal answers, Bootstrap data channel 1 is established between the first and second terminals. It should be noted that the specific implementation process of the above steps can be found in relevant technical descriptions and will not be elaborated here. While the first session is on hold, the first terminal then initiates a call carrying the Bootstrap data channel to the third terminal, establishing a second session. After the third terminal answers, Bootstrap data channel 2 is established between the first and third terminals. Again, the specific implementation process of the above steps can be found in relevant technical descriptions and will not be elaborated here. It is understood that both Bootstrap data channel 1 and Bootstrap data channel 2 are the first two-way Bootstrap data channels described above.
[0093] After all bilateral sessions are established, the first terminal can initiate a multi-party session and obtain information on M bilateral Bootstrap data channels to determine whether these M channels are controlled by the same DCM. This includes two scenarios:
[0094] Scenario 1: The M first-party Bootstrap data channels are controlled by the same DCM. In this case, both the first terminal and the M first-party target terminals can obtain the target application corresponding to the media function of the target data channel from the network. The first terminal can sequentially send invitation messages, such as reINVITE / 200 OK messages, to the M first-party target terminals, inviting each first-party target terminal to join the multi-party session. Each first-party target terminal confirms the response and joins the multi-party session. At this time, a multi-party session carrying the Bootstrap data channel is established between the first terminal and the M first-party target terminals.
[0095] Scenario 2: The M first-party bootstrap data channels are controlled by different DCMs. In this case, the first terminal can control the M first-party bootstrap data channels to be controlled by the same target DCM, so that both the first terminal and the M first target terminals can obtain the target application corresponding to the target data channel media function from the network.
[0096] In specific implementation, the data channel media function controlling the Bootstrap data channel depends on the channel connection point of the Bootstrap data channel. Optionally, the first terminal can determine whether the M first-party Bootstrap data channels are controlled by the same DCM by obtaining the channel connection point information of the M first-party Bootstrap data channels. After the first terminal establishes a first-party Bootstrap data channel with each of the M first-party target terminals, the data channel server corresponding to each first-party Bootstrap data channel can report the current channel connection point information to the MRS, and the MRS stores the channel connection point information. After initiating a multi-party session, the first terminal can request the conference resources required for the session and obtain the channel connection point corresponding to each first-party Bootstrap data channel from the MRS. The situation where the M first-party Bootstrap data channels are controlled by the same target data channel media function includes the case where the M first-party Bootstrap data channels correspond to the same M first-party channel connection points. The cases where M first-party Bootstrap data channels are controlled by different data channel media functions include: among the M first channel connection points corresponding to the M first-party Bootstrap data channels, at least one first channel connection point is different from the other first channel connection points. If M=2, the cases where Bootstrap data channel 1 and Bootstrap data channel 2 are controlled by the same DCM include: the channel connection point 1 corresponding to Bootstrap data channel 1 is the same as the channel connection point 2 corresponding to Bootstrap data channel 2; the cases where Bootstrap data channel 1 and Bootstrap data channel 2 are controlled by different DCMs include: the channel connection point 1 corresponding to Bootstrap data channel 1 is different from the channel connection point 2 corresponding to Bootstrap data channel 2.
[0097] The specific implementation methods for controlling M first-party Bootstrap data channels to be controlled by the same target data channel media function can include, but are not limited to, the following two:
[0098] Implementation Method 1
[0099] By using DCM synchronization, M first-party Bootstrap data channels are controlled by the same target data channel media function, thereby establishing a multi-party Bootstrap data channel.
[0100] In a specific implementation, the first terminal can control the synchronization of data channels among the M first-party Bootstrap data channels. Optionally, a first instruction message can be sent to the data channel server corresponding to each of the M first-party Bootstrap data channels.
[0101] In this embodiment, the first indication information is used to instruct the data channel servers corresponding to each first-party Bootstrap data channel to synchronize the data channels. Specifically, data channel synchronization can be achieved through data transfer. After data channel synchronization is achieved between the data channel servers corresponding to each first-party Bootstrap data channel, the data transmitted in each first-party Bootstrap data channel can be completely synchronized. They can be regarded as connected to the same channel connection point, that is, controlled by the same data channel media function. The data channel media function corresponding to the current channel connection point is the target data channel media function.
[0102] It should be noted that in other embodiments, the first terminal may request other entities in the network system, such as the MRS, to control the synchronization of data channels between the M first-party Bootstrap data channels. The implementation method can refer to the description of the above embodiments, and the specific implementation can be determined according to the actual situation, and is not specifically limited here.
[0103] When the first terminal completes data channel synchronization between the M first-party Bootstrap data channels, it can send invitation information, such as a reINVITE / 200 OK message, to the M first-party target terminals in sequence to invite them to join the multi-party session. Each first-party target terminal joins the multi-party session after confirming the response.
[0104] To facilitate understanding, let's illustrate with an example: Assume M=2, the first terminal is UE A, and the two first target terminals are UE B and UE C, as follows: Figure 2 As shown:
[0105] If the Bootstrap data channel connection point between UE A and UE B, and the Bootstrap data channel connection point between UE A and UE C are both in DCM A, then UE A sends reINVITE / 200OK messages in sequence to invite UE B and UE C to join the multi-party session. After UE B and UE C confirm the response, they join the multi-party session. At this time, UE A, UE B, and UE C enter a three-party session carrying data channels, and the three-party connection point of the multi-party Bootstrap data channel is in DCM A.
[0106] If the bootstrap data channel connection point between UE A and UE B is in DCM B, and the bootstrap data channel connection point between UE A and UE C is in DCM A, then DCM A and DCM B will synchronize their data channels. After receiving the indication that the data channel synchronization is successful, UE A can send reINVITE / 200OK messages sequentially to invite UE B and UE C to join the multi-party session. After UE B and UE C confirm the response, they will join the multi-party session. At this time, UE A, UE B, and UE C enter a three-party session carrying data channels, and the three-party connection point of the multi-party bootstrap data channel is in DCM A or DCM B.
[0107] If the bootstrap data channel connection point between UE A and UE B is in DCM A, and the bootstrap data channel connection point between UE A and UE C is in DCM C, then DCM A and DCM C will synchronize their data channels. After receiving the indication that the data channel synchronization is successful, UE A can send reINVITE / 200OK messages sequentially to invite UE B and UE C to join the multi-party session. UE B and UE C will then acknowledge and join the multi-party session. At this point, UE A, UE B, and UE C enter a three-party session carrying data channels, and the three-party connection point of the multi-party bootstrap data channel is either DCM A or DCM C.
[0108] If the bootstrap data channel connection point between UE A and UE B is in DCM B, and the bootstrap data channel connection point between UE A and UE C is in DCM C, then DCM B and DCM C will synchronize their data channels. After receiving the indication that the data channel synchronization is successful, UE A can send reINVITE / 200OK messages sequentially to invite UE B and UE C to join the multi-party session. UE B and UE C will then acknowledge and join the multi-party session. At this point, UE A, UE B, and UE C enter a three-way call carrying data channels, with the three-way connection point of the multi-party bootstrap data channel located at either DCM B or DCM C.
[0109] Implementation Method 2
[0110] By using call relocation, M first-party Bootstrap data channels are controlled by the same target data channel media function, thereby establishing a multi-party Bootstrap data channel.
[0111] In practice, the first terminal can control M first-party Bootstrap data channels to achieve call relocation. Optionally, a second indication message can be sent to M first-party target terminals.
[0112] In this embodiment, the second indication information is used to instruct the M first target terminals to perform call relocation, that is, to establish a second two-way Bootstrap data channel between any two of the M first target terminals, and the second channel connection point corresponding to the second two-way Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first two-way Bootstrap data channels. In other words, any one of the M first target terminals can act as a session initiator to initiate a two-way session to other first target terminals and establish a corresponding second two-way Bootstrap data channel. By controlling the channel connection point of the second two-way Bootstrap data channel, the first terminal and the M first target terminals can all be controlled by the same data channel media function.
[0113] It should be noted that in other embodiments, the first terminal may request other entities in the network system, such as the MRS, to control the M first two-way Bootstrap data channels to achieve call relocation. The implementation method can refer to the description of the above embodiments, and the specific implementation can be determined according to the actual situation, and is not specifically limited here.
[0114] When the first terminal achieves call relocation between M first-party Bootstrap data channels, it can sequentially send invitation information, such as a reINVITE / 200 OK message, to the M first-party target terminals to invite them to join the multi-party session. Each first-party target terminal joins the multi-party session after confirming the response.
[0115] To facilitate understanding, here's an example: Assume the first terminal is UE A, the second terminal is UE B, and the third terminal is UE C, such as... Figure 3 As shown:
[0116] If the Bootstrap data channel connection point between UE A and UE B, and between UE A and UE C, are both located in DCM A, then UE A will sequentially send reINVITE / 200OK messages to invite UE B and UE C to join the multi-party session. UE B and UE C will then acknowledge and join the multi-party session. At this point, UE A, UE B, and UE C will enter a three-party session carrying data channels, and the three-party connection point of the multi-party Bootstrap data channel will be located in DCM A.
[0117] If the Bootstrap data channel connection point between UE A and UE B is at DCM B, and the Bootstrap data channel connection point between UE A and UE C is at DCM A, then a single DC call will be made between UE B and UE C. In this case, the channel connection point of the Bootstrap data channel established between UE B and UE C is DCM B, making UE A, UE B, and UE C connected to the same channel connection point.
[0118] If the Bootstrap data channel connection point between UE A and UE B is at DCM A, and the Bootstrap data channel connection point between UE A and UE C is at DCM C, then a single DC call will be made between UE B and UE C. In this case, the channel connection point of the Bootstrap data channel established between UE B and UE C is DCM C, making UE A, UE B, and UE C connected to the same channel connection point.
[0119] If the Bootstrap data channel connection point between UE A and UE B is at DCM B, and the Bootstrap data channel connection point between UE A and UE C is at DCM C, then a single DC call will be made between UE B and UE C. In this case, the channel connection point of the Bootstrap data channel established between UE B and UE C will be either DCM B or DCM C, so that UE A, UE B, and UE C are connected to the same channel connection point.
[0120] Specifically, prior to step 103, the multi-party communication method also includes:
[0121] Based on multi-party sessions and multi-party Bootstrap data channels, the target application is obtained from the target data channel media function, and user information of N second target terminals is sent to the target data channel server.
[0122] Send a request message to the target data channel server. The request message carries user information of N second target terminals. The request message is used to request the target data channel server to notify each second target terminal to obtain the target application from the target data channel media function based on the multi-party Bootstrap data channel.
[0123] Step 103 includes:
[0124] When all N second target terminals obtain the target application from the target data channel media function, a multi-party application data channel is established between the target application and the N second target terminals, and communication is carried out with the N second target terminals based on the multi-party application data channel.
[0125] In this embodiment, step 101 establishes a multi-party Bootstrap data channel controlled by the target data channel media function between the first terminal and the M first target terminals. Both the first terminal and the M first target terminals can obtain the target application corresponding to the target data channel media function from the network based on the aforementioned multi-party Bootstrap data channel.
[0126] In practice, the first terminal can obtain the target application from the target data channel server corresponding to the target data channel media function. In addition, the first terminal can determine the second target terminal to communicate with based on business needs and request the target data channel server to notify the second target terminal to obtain the target application from the target data channel server based on the aforementioned multi-party Bootstrap data channel.
[0127] For ease of understanding, assume N=2, the first terminal is UE A, the two second target terminals are UE B and UE C, and the target data channel media function is DCM B. For example... Figure 4 As shown, UE A can independently obtain the target application from the data channel server corresponding to DCM B. Furthermore, UE A can send a request message carrying user information of UE B and UE C to the data channel server corresponding to DCM B, based on business needs. Upon receiving the request message, the data channel server corresponding to DCM B can notify UE B and UE C to obtain the target application from the data channel server corresponding to DCM B based on the aforementioned multi-party Bootstrap data channel. After UE A, UE B, and UE C have all obtained the target application, an Application data channel can be established between any two of UE A, UE B, and UE C, achieving full connection of the Application data channel. Specifically, taking the establishment of an Application data channel between UE A and UE B as an example, UE A can send an invitation message to UE B to establish an Application data channel, such as a reINVITE / 200 OK message. Upon receiving the invitation message, UE B can send a response message as an answer. After all the point-to-point fully connected multi-party Application data channels are established, the call voice is mixed in MRS and can be sent to each participant in the multi-party communication.
[0128] Figure 5 This is a complete implementation of an embodiment of the present invention. It should be noted that in this embodiment, the participants in multi-party communication are not limited to three parties, but can include more than three parties. In multi-party communication scenarios with more than three parties, the corresponding steps can be repeated as described above, and will not be elaborated further here.
[0129] See Figure 6 , Figure 6 This is a schematic diagram of the structure of a terminal provided in an embodiment of the present invention, such as... Figure 6 As shown, terminal 600 includes:
[0130] The first establishment module 601 is used to establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the first terminals and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M.
[0131] Acquisition module 602 is used to acquire the target application from the media function of the target data channel based on the multi-party Bootstrap data channel;
[0132] The second establishment module 603 is used to establish a multi-party application data channel with N second target terminals within the target application, and to communicate with the N second target terminals based on the multi-party application data channel.
[0133] Optionally, the first establishment module 601 includes:
[0134] The establishment unit is used to sequentially establish M two-way sessions with each of the M first target terminals while maintaining the established sessions, and to establish M first two-way Bootstrap data channels with each of the M first target terminals.
[0135] The control unit is configured to initiate a multi-party session when all M bilateral sessions have been established, and to invite the M first target terminals to join the multi-party session when the M first bilateral Bootstrap data channels are controlled by the same target data channel media function.
[0136] Optionally, the terminal 600 further includes:
[0137] The control module is used to control the M first-party Bootstrap data channels to be controlled by the same target data channel media function when the M first-party Bootstrap data channels are controlled by different data channel media functions, and to invite the M first-party target terminals to join the multi-party session.
[0138] Optionally, the case where the M first two-way Bootstrap data channels are controlled by the same target data channel media function includes the case where the M first channel connection points corresponding to the M first two-way Bootstrap data channels are all the same;
[0139] The situation where the M first two-way Bootstrap data channels are controlled by different data channel media functions includes: among the M first channel connection points corresponding to the M first two-way Bootstrap data channels, at least one first channel connection point is different from the other first channel connection points.
[0140] Optionally, the control module is used for:
[0141] Send a first indication message to the data channel server corresponding to each of the M first two-way Bootstrap data channels;
[0142] The first indication information is used to instruct the data channel servers corresponding to the M first two-way Bootstrap data channels to perform data channel synchronization.
[0143] Optionally, the control module is used for:
[0144] Send the second instruction information to the M first target terminals;
[0145] Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
[0146] Optionally, the terminal 600 further includes:
[0147] The request module is used to send a request message to the target data channel server. The request message carries user information of the N second target terminals. The request message is used to request the target data channel server to notify each second target terminal to obtain the target application from the target data channel media function based on the multi-party Bootstrap data channel.
[0148] The second establishment module 603 is used for:
[0149] When all N second target terminals obtain the target application from the target data channel media function, a multi-party application data channel is established between the target application and the N second target terminals, and communication is carried out with the N second target terminals based on the multi-party application data channel.
[0150] Terminal 600 can achieve Figure 1 The various processes implemented in the method embodiments shown can achieve the same beneficial effects, and will not be described again here to avoid repetition.
[0151] This invention also provides a terminal, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described multi-party communication method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0152] For details, see Figure 7 As shown, this embodiment of the invention also provides a terminal, including a bus 701, a transceiver 702, an antenna 703, a bus interface 704, a processor 705, and a memory 706.
[0153] The processor 705 is used for:
[0154] Establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the first terminals and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M.
[0155] Based on the multi-party Bootstrap data channels, the target application is obtained from the media function of the target data channel;
[0156] Within the target application, a multi-party application data channel is established between the N second target terminals, and communication is conducted with the N second target terminals based on the multi-party application data channel.
[0157] Optionally, the processor 705 is used for:
[0158] While maintaining the established sessions, M two-way sessions are sequentially established with each of the M first target terminals, and M first two-way Bootstrap data channels are established with each of the M first target terminals.
[0159] Once all M bilateral sessions have been established, a multi-party session is initiated, and if the M first bilateral Bootstrap data channels are controlled by the same target data channel media function, the M first target terminals are invited to join the multi-party session.
[0160] Optionally, the processor 705 is further configured to:
[0161] When the M first-party Bootstrap data channels are controlled by different data channel media functions, the M first-party Bootstrap data channels are controlled by the same target data channel media function, and the M first-party target terminals are invited to join the multi-party session.
[0162] Optionally, the case where the M first two-way Bootstrap data channels are controlled by the same target data channel media function includes the case where the M first channel connection points corresponding to the M first two-way Bootstrap data channels are all the same;
[0163] The situation where the M first two-way Bootstrap data channels are controlled by different data channel media functions includes: among the M first channel connection points corresponding to the M first two-way Bootstrap data channels, at least one first channel connection point is different from the other first channel connection points.
[0164] Optionally, the transceiver 702 is used for:
[0165] Send a first indication message to the data channel server corresponding to each of the M first two-way Bootstrap data channels;
[0166] The first indication information is used to instruct the data channel servers corresponding to the M first two-way Bootstrap data channels to perform data channel synchronization.
[0167] Optionally, the transceiver 702 is used for:
[0168] Send the second instruction information to the M first target terminals;
[0169] Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
[0170] Optionally, the transceiver 702 is further configured to:
[0171] Send a request message to the target data channel server. The request message carries user information of the N second target terminals. The request message is used to request the target data channel server to notify each second target terminal to obtain the target application from the target data channel media function based on the multi-party Bootstrap data channel.
[0172] The processor 705 is used for:
[0173] When all N second target terminals obtain the target application from the target data channel media function, a multi-party application data channel is established between the target application and the N second target terminals, and communication is carried out with the N second target terminals based on the multi-party application data channel.
[0174] exist Figure 7 In this document, a bus architecture (represented by bus 701) is used. Bus 701 can include any number of interconnected buses and bridges, linking various circuits including one or more processors 705 (represented by processor 705) and memory 706. Bus 701 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 704 provides an interface between bus 701 and transceiver 702. Transceiver 702 can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by processor 705 is transmitted over a wireless medium via antenna 703, which further receives data and transmits it to processor 705.
[0175] Processor 705 manages bus 701 and general processing, and also provides various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 706 can be used to store data used by processor 705 during operation.
[0176] Optionally, the processor 705 can be a CPU, ASIC, FPGA, or CPLD.
[0177] This invention also provides a computer-readable storage medium storing a computer program. When executed by a processor, this computer program implements the various processes of the above-described multi-party communication method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be, for example, ROM, RAM, magnetic disk, or optical disk.
[0178] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0179] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of the present invention.
[0180] The embodiments of the present invention have been described above with reference to the accompanying drawings. However, the present invention is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of the present invention without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of the present invention.
Claims
1. A multi-party communication method, characterized in that, Applied to a first terminal, the method includes: Establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the first terminals and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M. Based on the multi-party Bootstrap data channels, the target application is obtained from the media function of the target data channel; Within the target application, a multi-party application data channel is established between the N second target terminals, and communication is conducted with the N second target terminals based on the multi-party application data channel; The method further includes: Once the multi-party session has been established, initiate a multi-party session. The multi-party preamble Bootstrap data channels are M first-party Bootstrap data channels between the first terminal and each of the M first target terminals; after initiating the multi-party session, the method further includes: When the M first two-way Bootstrap data channels are controlled by different data channel media functions, a second instruction message is sent to the M first target terminals; Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
2. The method according to claim 1, characterized in that, The establishment of multi-party sessions and multi-party preamble bootstrap data channels with M first target terminals includes: While maintaining the established sessions, M two-way sessions are sequentially established with each of the M first target terminals, and M first two-way Bootstrap data channels are established with each of the M first target terminals. Once all M bilateral sessions have been established, a multi-party session is initiated, and if the M first bilateral Bootstrap data channels are controlled by the same target data channel media function, the M first target terminals are invited to join the multi-party session.
3. The method according to claim 2, characterized in that, After initiating the multi-party session, the method further includes: When the M first-party Bootstrap data channels are controlled by different data channel media functions, the M first-party Bootstrap data channels are controlled by the same target data channel media function, and the M first-party target terminals are invited to join the multi-party session.
4. The method according to claim 2 or 3, characterized in that, The case where the M first two-way Bootstrap data channels are controlled by the same target data channel media function includes: the case where the M first channel connection points corresponding to the M first two-way Bootstrap data channels are all the same; The situation where the M first two-way Bootstrap data channels are controlled by different data channel media functions includes: among the M first channel connection points corresponding to the M first two-way Bootstrap data channels, at least one first channel connection point is different from the other first channel connection points.
5. The method according to claim 3, characterized in that, The control of the M first two-way Bootstrap data channels by the same target data channel media function includes: Send a first indication message to the data channel server corresponding to each of the M first two-way Bootstrap data channels; The first indication information is used to instruct the data channel servers corresponding to the M first two-way Bootstrap data channels to perform data channel synchronization.
6. The method according to claim 1, characterized in that, Before establishing a multi-party application data channel with the N second target terminals within the target application, and communicating with the N second target terminals based on the multi-party application data channel, the method further includes: Send a request message to the target data channel server. The request message carries user information of the N second target terminals. The request message is used to request the target data channel server to notify each second target terminal to obtain the target application from the target data channel media function based on the multi-party Bootstrap data channel. The step of establishing a multi-party application data channel between the target application and the N second target terminals, and communicating with the N second target terminals based on the multi-party application data channel, includes: When all N second target terminals obtain the target application from the target data channel media function, a multi-party application data channel is established between the target application and the N second target terminals, and communication is carried out with the N second target terminals based on the multi-party application data channel.
7. A terminal, characterized in that, The terminal includes: The first establishment module is used to establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the terminal and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M. The acquisition module is used to acquire the target application from the media function of the target data channel based on the multi-party Bootstrap data channel; The second establishment module is used to establish a multi-party application data channel between the target application and N second target terminals, and to communicate with the N second target terminals based on the multi-party application data channel; The first establishment module also includes: The control unit is used to initiate a multi-party session after the multi-party session has been established. The multi-party bootstrap data channels are M first-party bootstrap data channels between the first terminal and each of the M first target terminals; the terminal further includes: The control module is used for: When the M first two-way Bootstrap data channels are controlled by different data channel media functions, a second instruction message is sent to the M first target terminals; Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
8. A terminal, characterized in that, Including transceivers and processors, The processor is used for: Establish a multi-party session and a multi-party preamble Bootstrap data channel with M first target terminals, where M is an integer and M>1. The multi-party Bootstrap data channel is controlled by the same target data channel media function, and the multi-party Bootstrap data channel is used by the terminal and N second target terminals to obtain the target application corresponding to the target data channel media function. The N second target terminals are determined from the M first target terminals, where N is an integer and 0<N≤M. Based on the multi-party Bootstrap data channels, the target application is obtained from the media function of the target data channel; Within the target application, a multi-party application data channel is established between the N second target terminals, and communication is conducted with the N second target terminals based on the multi-party application data channel; The processor is also used for: Once the multi-party session has been established, initiate a multi-party session. The multi-party preamble bootstrap data channel is one of M first-party bootstrap data channels between the first terminal and each of the M first target terminals; the transceiver is used for: When the M first two-way Bootstrap data channels are controlled by different data channel media functions, a second instruction message is sent to the M first target terminals; Wherein, the second indication information is used to instruct any two first target terminals among the M first target terminals to establish a second bilateral Bootstrap data channel, and the second channel connection point corresponding to the second bilateral Bootstrap data channel is the same as at least one of the M first channel connection points corresponding to the M first bilateral Bootstrap data channels.
9. A terminal, characterized in that, include: 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 multi-party communication method as described in any one of claims 1 to 6.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the multi-party communication method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Commercial telephone implementation method and device, equipment and storage medium
CN115883723A
