Media resource playing method, related device and system
Through the interaction between the target application client and the first media server, the acquisition and playback of media resources are achieved, and the call failure caused by signaling problems in the call process in the prior art is solved, communication efficiency is improved and personalized media playback settings are provided.
Patent Information
- Application Number
- CN202010901216.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-31
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2040-08-31
AI Technical Summary
When playing media resources, the existing media resource playback method is prone to inability to call due to signaling problems in the call process when playing media resources, which reduces communication efficiency.
Through the interaction between the target application client and the first media server, the acquisition and playback of media resources are realized, avoid affecting the call flow of the CT domain, and play the media resources based on the address information after receiving the ringing message.
It effectively avoids the problem of call failure caused by imperfect message processing during the interaction process, simplifies the playback process of media resources, improves communication efficiency, and provides personalized media playback settings.
Smart Images

Figure CN114125163B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a media resource playback method, related devices and systems. Background Art
[0002] With the continuous development of communication technology, high-definition voice over long term evolution (VoLTE) technology has gradually entered people's lives, and people can enjoy various types of media resource experiences. For example, users can enjoy video experience while making a voice call, such as video ringback tone and video customer service, making the waiting stage before the call more interesting and greatly improving the user's calling experience.
[0003] At present, the media resource playback method is usually based on the media resource playback in the CT (communication technology) domain, which can also be called the telecommunications domain. The corresponding process can be: the calling terminal initiates a call to the called terminal. When the called terminal rings, the media server in the CT domain performs media negotiation with the calling terminal, and then sends a ringing message to the calling terminal, and sends media resources to the calling terminal based on the negotiation result.
[0004] The above solution involves the call process of the CT domain when playing media resources. Since the playback of media resources is related to the call process, once a signaling problem occurs in the call process, the entire call process will be affected, which can easily cause the call to fail to connect and reduce communication efficiency. Summary of the invention
[0005] The embodiment of the present application provides a media resource playback method, related device and system, which can avoid the problem of call failure caused by imperfect message processing during the interaction process, thereby improving communication efficiency. The technical solution of the media resource playback method, related device and system is as follows:
[0006] In a first aspect, a media resource playing method is provided, which is applied to a calling terminal. The implementation process of the method may be:
[0007] The calling terminal initiates a call to the called terminal;
[0008] Sending a resource acquisition request to the first media server through the target application client, where the resource acquisition request carries relevant information of the call;
[0009] receiving address information of a first media resource returned by the first media server based on the resource acquisition request, where the first media resource matches the relevant information;
[0010] After receiving the ringing message, the first media resource is played based on the address information.
[0011] In the above embodiment, the acquisition and playback of media resources can be achieved through the interaction between the target application client and the first media server, which will not affect the call process of the CT domain, thus avoiding the problem of call failure that may be caused during the interaction process, simplifying the playback process of media resources and improving communication efficiency.
[0012] In a possible implementation, the first media server is a server located in the Internet technology (IT) domain. In the above embodiment, by using the media server in the IT domain to obtain and play the IT domain media resources, it is possible to avoid affecting the communication in the CT domain and ensure the normal communication.
[0013] In a possible implementation, the first media server communicates through any one of the mobile Internet and the home broadband fixed network. In the above embodiment, the first media server can communicate through the mobile Internet or the home broadband fixed network. With the popularization of 4G networks and the construction of 5G networks, the network bandwidth and latency of the mobile Internet and the home broadband fixed network have very high availability, which can ensure the security and reliability of communication and high communication efficiency.
[0014] In a possible implementation, after receiving the ringing message and before playing the first media resource based on the address information, the method also includes: if it is determined that the first media negotiation message has not been received, executing the step of playing the first media resource, the first media negotiation message is used for media negotiation between the second media server and the calling terminal, and the second media server is located in the communication technology CT domain.
[0015] In the above embodiment, the media resources in the IT domain can serve as a supplement to the media resources in the CT domain. When there are no media resources in the CT domain to play, the terminal plays the media resources in the IT domain through the target application client. Therefore, users who have not subscribed to the media resources in the CT domain can also play the media resources while waiting for the call to be connected.
[0016] In a possible implementation manner, if the setting information of the calling terminal indicates to play the media resource from the first media server, the step of playing the first media resource is performed.
[0017] In the above embodiment, the calling user can also set the domain from which the media resources are played, so that the calling terminal can play the media resources of the specified domain according to the setting information. If the setting information is used to indicate that the media resources from the IT domain are played during the call, then in this case, regardless of whether there are media resources from the CT domain in this call, the calling terminal will obtain and play the first media resource.
[0018] In a possible implementation, after receiving the ringing message and before playing the first media resource based on the address information, the method further includes: if it is determined that the first media negotiation message has not been received, and the setting information of the calling terminal indicates to play the media resource from the first media server, executing the step of playing the first media resource.
[0019] In the above embodiment, the calling user can play the media resources in the IT domain during the call by setting on the calling terminal, and can play the media resources in the IT domain during the call according to the user's personalized settings.
[0020] In a possible implementation, after receiving the ringing message and before playing the first media resource based on the address information, the method further includes: if it is determined that the first media negotiation message is received, executing the step of playing the first media resource. In the above embodiment, when the media resources in the CT domain are subscribed, the media resources in the IT domain are played first, so that the media resources in the IT domain can be used as a substitute for the media resources in the CT domain. The media resources played by the target application client have a more flexible playing method.
[0021] In a possible implementation, after receiving the ringing message and before playing the first media resource based on the address information, the method further includes: if it is determined that the first media negotiation message is received and the setting information of the calling terminal indicates to play the media resource from the first media server, executing the step of playing the first media resource. In the above embodiment, the calling user can play the media resource of the IT domain by setting the first media resource to be played first on the calling terminal. If the media resource of the CT domain can be subscribed, the media resource of the IT domain can be played during the call according to the user's personalized settings.
[0022] In a possible implementation, after receiving the ringing message and before playing the first media resource based on the address information, the method also includes: if it is determined that the first media negotiation message is received and the setting information of the calling terminal indicates to play the media resources from the first media server, blocking the second media resources of the second media server.
[0023] In the above embodiment, during the call process, the second media resource of the second media server is shielded to suppress the playback of the media resources in the CT domain, and then the media resources in the IT domain are played through the target application client, ensuring that only the first media resource is played during the call process, thereby avoiding interference that may be caused by playing multiple media resources at the same time.
[0024] In a possible implementation, when the calling terminal initiates a call to the called terminal, the setting information is obtained. If the calling terminal determines, according to the setting information, to play only media resources in the IT domain, the video identifier of the contact header field is not carried in the generated call request (INVITE). The video identifier of the contact header field is used to indicate support for media playback in the CT domain. In this way, by not carrying the video identifier of the contact header field when initiating the call, media negotiation in the CT domain is avoided, and the second media server will not send the second media resource to the calling terminal, thereby saving network resources.
[0025] The technical solution provided by the present application can achieve the acquisition and playback of media resources through the interaction between the target application client and the first media server, without affecting the call process of the CT domain, thus avoiding problems such as the call being unable to be connected that may be caused during the interaction, simplifying the playback process of media resources and improving communication efficiency. Furthermore, by providing a playback source setting function, the personalization of media playback can be improved, thereby improving user experience.
[0026] In a possible implementation manner, after the calling terminal initiates a call to the called terminal, the method further includes:
[0027] If the setting information of the calling terminal indicates to play the media resources from the first media server and the second media server, the second media resource sent by the second media server is played.
[0028] In the above embodiment, when there are media resources in the IT domain and the CT domain in this call, the media resources in the CT domain and the media resources in the IT domain are played, which brings new experience and more selectivity to the user, and improves the user's experience and participation in the video ringback tone service. The calling user can realize the simultaneous playback of media resources in the IT domain and the CT domain by setting it on the calling terminal, which brings new experience and more selectivity to the user, and improves the user's experience and participation in the video ringback tone service.
[0029] In one possible implementation, the first media resource is played in full-screen mode, and the second media resource is played in floating window mode and silent mode; or, the second media resource is played in full-screen mode, and the first media resource is played in floating window mode and silent mode; or, both the first media resource and the second media resource are played in floating window mode, wherein at least one of the first media resource and the second media resource is in silent mode.
[0030] In the first two methods of the above embodiment, one media resource is played in full screen, and the other media resource is played in floating window, which can clearly and intuitively display the two media resources, and the normal full screen playback (with sound) and silent floating window playback avoid the poor user experience caused by the simultaneous playback of two audio segments. In the third method of the above embodiment, the two media resources are played in the floating window respectively, which can also clearly and intuitively display the two media resources. At the same time, since at least one media resource is played silently, the auditory confusion caused by the simultaneous playback of two audio segments is also avoided, thereby improving the user experience.
[0031] In a possible implementation, the method further includes: if a click operation on the floating window is detected, switching the media resource played by the floating window to full-screen mode, and closing another media resource.
[0032] In the above embodiment, when watching media resources, the calling user can click on the floating window corresponding to the media resource that he is interested in, play the media resource in full screen, and close another media resource. The media resource that the calling user wants to watch can be retained, which can bring a better viewing experience to the calling user.
[0033] In a possible implementation, after receiving the ringing message, the method further includes: shielding the third media resource sent by the telephone application server based on the ringing of the called terminal. In the above embodiment, by shielding the third media resource, the beep sound playing in the call is suppressed, so that only the audio of the first media resource is played during the call, thereby avoiding auditory confusion caused by the simultaneous playing of two audio segments and improving the user experience.
[0034] In a possible implementation, the third media resource is any one of a locally stored media resource or a media resource sent by a telephone application server, and the telephone application server is a server in the CT domain. In the above embodiment, the third media resource can be a media resource in the CT domain or a locally stored media resource. If the media resource to be played is determined, the third media resource is directly shielded, so that the beep tone in the call can be suppressed.
[0035] In a possible implementation, the method further includes: displaying at least one interactive control on the playback screen of the media resource; if an interactive operation on any interactive control is detected, based on the interactive operation, sending an interactive request to the first media server through the target application client, the interactive request carrying the interactive object and interactive content. For example, the interactive control is a like control displayed in the screen of the media resource, etc., for the user to perform an interactive operation.
[0036] In the above embodiment, when playing media resources during a call, by providing functional controls for interacting with the media resources, interaction and control in the ringback tone scenario are achieved, the interaction is more flexible, the content of the interaction is richer, and the interest of the video ringback tone service is increased.
[0037] In a possible implementation, the method further includes: the calling terminal displays at least one call control control through the target application client. The call control control is used to call a call control function of the calling terminal to perform call control, such as recording, pausing a call, etc.
[0038] In a possible implementation, the method further includes: the calling terminal displays at least one media control control through the target application client. The media control control is used to control the playing of the media resource, such as pausing, fast forwarding, etc.
[0039] In a possible implementation, after receiving the ringing message and playing the first media resource based on the address information, the method further includes: if an off-hook message of the called terminal is received, stopping playing the first media resource; and displaying a stop screen of the first media resource in a floating window. For example, the stop screen is a preset screen or a corresponding play screen when the play is stopped. The above embodiment can provide a screen display that is still retained during a call, providing the user with an entry for further operations, thereby improving the flexibility of media playback.
[0040] In a possible implementation, after the stop screen of the first media resource is displayed in the floating window, the method further includes any one of the following:
[0041] If a click operation on the floating window is detected, the first media resource continues to be played. In the above embodiment, if the calling user wants to continue watching the first media resource, the first media resource can be continued to be played by clicking the floating window. The operation is convenient and simple. Moreover, since the first media resource is a media resource in the IT domain, the target application client supports the first media resource to continue to be played based on the playback screen at the pause time, so that the user can continue the last viewing segment, which brings a better viewing experience to the user.
[0042] If a click operation on the floating window is detected, the portal website interface is displayed in the opened target application client. In the above embodiment, if the calling user wants to access the portal website, it can be achieved by clicking the floating window, which is convenient and simple to operate.
[0043] In a possible implementation, if a click operation on the floating window is detected, continuing to play the first media resource includes any of the following:
[0044] If a click operation on the floating window is detected during the call, the first media resource is played silently;
[0045] If a click operation on the floating window is detected after the call ends, the first media resource is played normally.
[0046] In the above embodiment, the calling user can click on the floating window at any time during or after the call to continue watching the first media resource. The calling terminal can play in different ways according to whether the calling user clicks the corresponding time during the call or after the call. During the call, silent playback allows the calling user to clearly hear the call content and avoid missing important call content during the call. After the call, normal playback can be performed, that is, non-silent playback.
[0047] In one possible implementation, if it is determined based on the setting information of the calling terminal that the display status of the first media resource is maintained during the call, then after displaying the stop screen of the first media resource in the form of a floating window, the method also includes: if a closing operation or turning off the screen of the floating window is detected, closing the floating window.
[0048] In the above embodiment, if the user does not want to continue watching the first media resource, the floating window can be closed by clicking Close, and the calling terminal can also close the floating window when detecting that the screen is turned off.
[0049] In a possible implementation, after playing the first media resource based on the address information, the method further includes: if a media switching instruction is received, playing the next media resource of the first media resource. In the above embodiment, multiple media resources can be played during the call process, and based on the media switching instruction, the switching playback or scrolling playback of the media resources can be flexibly implemented, which increases the fun of the video ringback tone service.
[0050] In a second aspect, a media resource playing method is provided, which is applied to a calling terminal. The implementation process of the method may be:
[0051] The calling terminal initiates a call to the called terminal;
[0052] Sending a resource acquisition request to the first media server through the target application client, where the resource acquisition request carries relevant information of the call;
[0053] receiving address information of a first media resource returned by the first media server based on the resource acquisition request, where the first media resource matches the relevant information;
[0054] After receiving the ringing message of the called terminal, if it is determined that the first media negotiation message is received, playing the second media resource sent by the second media server, the second media server being located in the communication technology CT domain;
[0055] A session end message is sent to the first media server, where the session end message is used to indicate that the session is ended.
[0056] In the above embodiment, if it is determined that the first media negotiation message is received, it can be determined that there are media resources in the CT domain during the call process, and the calling terminal plays the media resources in the CT domain instead of the media resources in the IT domain, so that the media resources in the CT domain are played normally during the call process without being affected by other media resources, thereby avoiding playback conflicts and improving the user's communication and audio-visual experience. A session end message is sent to the first media server, so that the first media server can release the first media resources to avoid occupying the memory of the first media server.
[0057] In a possible implementation, if it is determined that the first media negotiation message is received, playing the second media resource sent by the second media server includes: if it is determined that the first media negotiation message is received, and the setting information of the calling terminal indicates playing the media resource from the second media server, executing the step of playing the second media resource.
[0058] In the above embodiment, the user is provided with the function of setting the playback according to personal preference, so that the subsequent ringtone playback experience can meet the user's needs.
[0059] In a third aspect, a media resource playback method is provided, which is applied to a first media server. The implementation process of the method may be:
[0060] Receiving a resource acquisition request sent by the calling terminal through the target application client, and acquiring relevant information of the call carried in the resource acquisition request;
[0061] Based on the relevant information of the call, determine address information of a first media resource corresponding to the relevant information;
[0062] The address information of the first media resource is returned to the calling terminal.
[0063] In the above embodiment, the acquisition and playback of media resources can be achieved through the interaction between the target application client and the first media server, without going through the complicated call process of the CT domain, thus avoiding the problem of call failure that may be caused during the interaction process, simplifying the playback process of media resources and improving communication efficiency.
[0064] In a possible implementation manner, after determining the address information of the first media resource corresponding to the relevant information based on the relevant information of the call, the method further includes: preloading the first media resource.
[0065] In the above embodiment, if the first media server loads the resource when the calling terminal device obtains the first media resource, it will cause a certain delay. However, through the above preloading method, the delay problem of subsequent media resource playback can be optimized, the acquisition efficiency of the first media resource is improved, and the problem of long playback waiting time will not occur when the subsequent media resources are played.
[0066] In a possible implementation, before determining the address information of the first media resource corresponding to the relevant information based on the call, the method further includes: authenticating the user based on the relevant information, and if the authentication is successful, executing the step of determining the first media resource and the address information.
[0067] In the above embodiment, the legitimacy and validity of the user are verified by authenticating the user to ensure the safe playback of subsequent media resources, thereby improving the security and reliability of media resource playback in the IT domain.
[0068] Optionally, the authentication includes authentication of user function information (also called validity authentication), and optionally, the authentication also includes authentication of user identity information. User function information authentication refers to the verification of whether the user has subscribed to the media resource. User identity information authentication refers to the identity verification of the user, such as the verification of the called mobile phone number to confirm whether the mobile phone number is a legal mobile phone number. Optionally, the authentication of the user is the authentication of the calling user and / or the called user.
[0069] In a possible implementation, authenticating the user based on the relevant information includes: authenticating the calling number or the called number based on the relevant information.
[0070] In the above embodiment, not only the calling user can be authenticated, but also the called user can be authenticated. When one of the calling user or the called user has not subscribed to the media resources, the other party can be authenticated, so that the media resources can be played during the ringing stage, thereby improving the user's calling experience.
[0071] In a possible implementation, after returning the address information of the first media resource to the calling terminal, the method further includes: if a session end message from the calling terminal is received, closing the session between the first media server and the calling terminal. In the above embodiment, the occupation of resources such as bandwidth channels can be avoided through the session release process.
[0072] In a possible implementation, after returning the address information of the first media resource to the calling terminal, the method further includes: if a session end message from the calling terminal is received, releasing the first media resource preloaded by the first media server, the session end message being used to end the session.
[0073] In the above embodiment, after determining that the first media resource has finished playing, the first media server releases the first media resource to avoid occupying the memory of the first media server, thereby improving the processing capability of the first media server.
[0074] In a fourth aspect, a media resource playback device is provided, which is used to execute the above-mentioned media resource playback method. Specifically, the media resource playback device includes a functional module for executing the media resource playback method provided in any optional manner of the above-mentioned first aspect, second aspect, third aspect or any of the above-mentioned aspects.
[0075] In a fifth aspect, a method for playing a media resource is provided, the method comprising:
[0076] The calling terminal initiates a call to the called terminal. The calling terminal sends a resource acquisition request to the first media server through the target application client. The resource acquisition request carries relevant information of the call.
[0077] The first media server receives a resource acquisition request sent by the calling terminal through the target application client, obtains the call related information carried in the resource acquisition request, determines the address information of the first media resource corresponding to the related information based on the call related information, and returns the address information of the first media resource to the calling terminal;
[0078] The calling terminal receives the address information of the first media resource returned by the first media server based on the resource acquisition request, the first media resource matches the related information, and after receiving the ringing message, plays the first media resource based on the address information.
[0079] In a sixth aspect, a media resource playback system is provided, the system comprising a calling terminal and a first media server, the calling terminal and the first media server being used to execute the media resource playback method provided in the fifth aspect.
[0080] In the seventh aspect, a terminal is provided, which includes a processor and a memory, wherein the memory stores at least one program code, and the program code is loaded and executed by the processor to implement a media resource playback method provided in any optional manner as described in the first aspect, the second aspect, or any of the first and second aspects.
[0081] In an eighth aspect, a server is provided, characterized in that the server includes a processor and a memory, wherein at least one program code is stored in the memory, and the program code is loaded and executed by the processor to implement a media resource playback method provided in the third aspect or any optional method of the third aspect.
[0082] In a ninth aspect, a computer storage medium is provided, in which at least one program code is stored, and the program code is loaded and executed by a processor to implement a media resource playback method provided in any optional manner in the first aspect, the second aspect, the third aspect, or any of the preceding aspects.
[0083] In the tenth aspect, a computer program product is provided. When the computer program product runs on a computer, the computer executes part or all of the steps of the media resource playback method provided in any optional manner in the first aspect, the second aspect, the third aspect, or any of the preceding aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0084] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0085] Figure 1 This is a media resource system architecture diagram provided by an embodiment of the present application;
[0086] Figure 2 This is a media resource system architecture diagram provided by an embodiment of the present application;
[0087] Figure 3 is a system architecture diagram of a terminal provided in an embodiment of the present application;
[0088] Figure 4 is a schematic diagram of the structure of a terminal provided in an embodiment of the present application;
[0089] Figure 5 It is a structural diagram of a server provided in an embodiment of the present application;
[0090] Figure 6is a flow chart of a media resource playback method provided in an embodiment of the present application;
[0091] Figure 7 is a flow chart of a media resource playback method provided in an embodiment of the present application;
[0092] Figure 8 is a flow chart of a media resource playback method provided in an embodiment of the present application;
[0093] Fig. 9 is a schematic diagram of playing a media resource provided in an embodiment of the present application;
[0094] Fig.10 is a schematic diagram of playing a media resource provided in an embodiment of the present application;
[0095] Fig.11 is a flow chart of a call control method based on media resource playback provided in an embodiment of the present application;
[0096] Fig.12 is a flow chart of an interactive method based on media resource playback provided in an embodiment of the present application;
[0097] Fig.13 It is a schematic diagram of a method for playing pause processing based on media resource playback provided in an embodiment of the present application;
[0098] Fig.14 is a schematic diagram of playing a media resource provided in an embodiment of the present application;
[0099] Fig.15 is a schematic diagram of playing a media resource provided in an embodiment of the present application;
[0100] Fig.16 is a flow chart of a media resource playback method provided in an embodiment of the present application;
[0101] Fig.17 is a flow chart of a media resource playback method provided in an embodiment of the present application;
[0102] Fig.18 is a flow chart of a media resource playback method provided in an embodiment of the present application;
[0103] Fig.19 is a structural diagram of a media resource playback device provided in an embodiment of the present application;
[0104] Fig. 20 It is a structural diagram of a media resource playback device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0105] The implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0106] The embodiments of the present application may be applicable to the 4th generation (4G), 5th generation (5G) mobile communication network architecture or future networks. For the convenience of description, the network architecture and method flow of the solution are described below using a 4G-based VoLTE network as an example.
[0107] Figure 1 This is a media resource system architecture diagram provided by the embodiment of the present application, see Figure 1 The system may include a first media server located in the IT domain, a network device located in the CT domain, a calling terminal, and a called terminal.
[0108] The IT domain may also be referred to as the Internet domain. The first media server is used to provide media resource services to users, and can also provide media control and interactive services based on media resource playback, and also provide a visual interface entrance to facilitate providing users with services such as media resource settings and management. Optionally, the first media server stores user information, or is associated with a subscription database, and uses the subscription database to store relevant user information and relevant information of media resources. In the embodiment of the present application, the first media server is associated with a subscription database as an example for description.
[0109] In an embodiment of the present application, a target application client, such as a video ringback tone application, is installed on the calling terminal. The calling terminal can obtain the media resource service provided by the above-mentioned first media server through the target application client, that is, obtain the media resources provided by the first media server and play them based on actual conditions during the call process.
[0110] The first media server provides media resource services, and users can subscribe to the media resource services through the target application client, for example, by accessing the portal website of the first media server through the target application client, operating on the portal website, and selecting the first media resource to be played during the call. After the subscription is completed, the first media server stores the user information and the resource information of the subscribed media resource in the subscription database accordingly, so as to provide the media resource service based on the stored information later. Optionally, the first media server also provides a setting function, and the user sets it through the target application client to obtain setting information for indicating which domain the media resource is played from, for example, in the case of media resources in the IT domain and the CT domain, the two media resources are played at the same time, etc. After the setting is completed, the first media server generates the corresponding setting information and sends it to the target application client for storage, or, after the target application client is started, the target application client obtains and stores it from the first media server, so as to determine how to play the media resource based on the setting information.
[0111] Optionally, when the first media server and the calling terminal perform signaling interaction, the transmission protocol adopted is the Hypertext Transfer Protocol (HTTP) or the Hypertext Transfer Protocol over Secure Socket Layer (HTTPS). In an embodiment of the present application, the first media server supports multiple transmission protocols, which can more conveniently and flexibly implement signaling interaction based on media resource playback compared to the single signaling stream protocol of the CT domain.
[0112] Optionally, the first media server and the calling terminal use the real time messaging protocol (RTMP) or the hypertext transfer protocol flash video (Http Flv) multiplexing HTTP as the transmission protocol when performing media streaming. In the embodiment of the present application, the first media server supports multiple transmission protocols, which can more conveniently and flexibly realize the playback of media resources compared to the single media streaming protocol of the CT domain.
[0113] It should be noted that when the first media server interacts with the calling terminal, the signaling stream or media stream of the IT domain is used. When the calling terminal interacts with the second media server, the signaling stream or media stream of the CT domain is used. Accordingly, when the first media server and the calling terminal interact, if the HTTP protocol is used, the control message of their interaction is an HTTP message, an HTTPS message, an HTTP response or an HTTPS response, and the message data stream is an IT domain signaling stream, for example, a hypertext markup language flow (HTML Flow). When transmitting media resources, the media data stream is an IT domain media stream, for example, an RTMP media stream, an Http Flv media stream.
[0114] See also Figure 1, the calling terminal accesses the first media server through the gateway. The gateway may include a packet data network gateway (PGW) device and a serving gateway (SGW) device. Among them, the PGW device and the SGW device can be set together and can be referred to as an "S / P-GW" device. Specifically, after initiating a call, the calling terminal sends a resource acquisition request to the S / P-GW through the target application client, and the S / P-GW sends it to the first media server. During the calling terminal's CT domain call process, the target application client accesses the first media server through the IT network, obtains the IT domain media stream, and then plays the IT domain media resources for the calling user during the ringing stage, thereby realizing the IT domain color ringback tone service. It should be understood that the playback of media resources in the IT domain is performed during the call process in the CT domain, and its acquisition is triggered by the call process in the CT domain. However, since the interaction between the calling terminal and the first media server is performed through the IT domain, it does not affect the call process in the CT domain, and the normal progress of the call can be guaranteed.
[0115] The CT domain can also be called a telecommunications domain. The CT domain realizes communication through an evolved packet core (EPC) and an internet protocol multimedia subsystem (IMS) domain core network. The IMS domain core network includes several application servers (AS), such as a second media server. The second media server is used to provide a second media resource for the terminal to play. For example, the second media server is also called a video ringback tone platform when providing a video ringback tone service. The second media server may include a media application server and a media resource server (MRS). The media resource server is also called a ringback tone platform. The media resource server is used to provide media resources such as video ringback tone, video ringback tone, video advertisement, video customer service, etc. For example, the media resource server produces and manages the above media resources. The media application server and the media resource server can be co-located or physically separated. The media application server processes the session initiation protocol (SIP) signaling message, and the media resource server provides audio streams and / or video streams for the calling terminal and / or the called terminal.
[0116] In addition, the IMS domain core network also includes: serving-call session control function (S-CSCF) equipment, interrogating-call session control function (I-CSCF) equipment, proxy-call session control function (P-CSCF) equipment, home subscriber server (HSS) equipment, session border controller (SBC) equipment, and several application servers, such as telephony application server (TAS), multimedia telephony application server (MMTel AS), service continuity application server (server centralization and continuity application server, SCC AS), etc. Among them, the I-CSCF equipment can be combined with the S-CSCF equipment, which can be referred to as "I / S-CSCF" equipment. The SBC equipment and the P-CSCF equipment can be combined together, which can be referred to as "SBC / P-CSCF" equipment. The EPC may include a packet data network gateway PGW device, a service gateway SGW device and a mobile management entity (mobile management entity, MME) device.
[0117] S / P-GW equipment is used to provide the functions of service gateway and packet data network gateway logical entities. SGW is the anchor point of local mobility, mainly facing the wireless access network to transmit business plane data. P-GW is the EPS anchor point, mainly facing other data networks to achieve access interaction with multiple public data networks. SGW equipment can be used to connect the IMS core network with the wireless network, and PGW equipment can be used to connect the IMS core network with the Internet protocol (IP) network. MME equipment is the core equipment of the EPC network, which is used to provide the functions of the MME logical entity.
[0118] See also Figure 1When the second media server and the calling terminal interact, their message data stream is the CT domain signaling stream, that is, their control message is a SIP message. When transmitting media resources, their media data stream is the CT domain media stream, that is, the RTP media stream. The terminal accesses the IMS domain core network through the S / P-GW in the EPC to access the second media server. For example, during the call process, the calling terminal will interact with the network equipment in the IMS domain core network through SIP messages, and then the second media server will perform media negotiation and other processes with the calling terminal. If there are media resources in the CT domain for this call, the second media server will push the second media resources to the calling terminal in the form of an RTP media stream.
[0119] There are various ways for the calling terminal to access the network. Figure 1 The example of accessing the network through a gateway is used for explanation. In another system architecture, the calling terminal can access the network through other network devices, for example, through an access network or a metropolitan area network. Figure 2 This is a media resource system architecture diagram provided by an embodiment of the present application. The system includes a first media server located in an access network or a metropolitan area network or an IT domain, a network device located in a CT domain, a calling terminal, and a called terminal. Among them, the access network or the metropolitan area network includes a broadband remote access server (BRAS) and a router. The BRAS is a network device used to complete the access, authentication, billing, control, and management of broadband network users in various broadband access modes. The router is a device that connects various local area networks and wide area networks. It can automatically select and set routes according to the channel conditions and transmit messages along the best path. For other network devices, see Figure 1 The resource acquisition request sent by the terminal through the target application client is forwarded by the BRAS and the router to the first media server to access the first media server, thereby realizing the playback of the media resources provided by the embodiment of the present application. The signaling interaction and media resource transmission between the calling terminal and the second media server refer to the above Figure 1 Example.
[0120] Above Figure 1 and Figure 2 The system architecture is based on the system architecture shown in different terminal access methods. With the popularization of 4G networks and the construction of 5G networks, the network bandwidth and latency of mobile Internet and home broadband fixed networks have very high availability, which can ensure the security and reliability of communications and high communication efficiency.
[0121] The terminal involved in the embodiments of the present application is a device with wireless transceiver function, which can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; it can also be deployed on the water surface (such as ships, etc.); it can also be deployed in the air (such as airplanes, balloons and satellites, etc.). Specifically, the above-mentioned terminal can be a terminal device (terminal device) that can access the mobile network, a mobile phone, a tablet computer (pad), a computer with wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control (industrial control), a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in smart grid (smart grid), a wireless terminal in transportation safety (transportation safety), a wireless terminal in smart city (smart city), a wireless terminal in smart home (smart home), etc. The terminal can also be a terminal device that can access the fixed network, such as a wired telephone, etc.; the terminal can also be a soft terminal corresponding to the application software with a call function. Figure 3 This is a system architecture diagram of a terminal provided in an embodiment of the present application, see Figure 3, the terminal may include: applications, application framework, hardware abstraction layer (HAL), libraries and Linux kernel. Among them, applications include telephone dialing application (dialer), video ringback tone application (video RBT), etc. The telephone dialing application has the functions of calling and dialing. The video ringback tone application is also the above-mentioned target application, and the target application client is also the video ringback tone application client. The application architecture includes a window management module (windowmanager), a call management module (telephone manager), a resource management module (resource manager), etc. The hardware abstraction layer is an interface layer located between the operating system (linux) kernel and the hardware circuit, which is used to abstract the hardware. In the embodiment of the present application, the hardware abstraction layer is the interface layer of the operating system. The library is used to store files of Android system applications and third-party applications. Through the library, it is convenient for an application to call some functions of other applications. For example, the telephone dialing application calls the video ringback tone application after initiating a call to obtain the ringback tone from the IT domain. During the implementation of the embodiment of the present application, the playback of media resources can be achieved through the cooperation between the telephone dialing application and the video ringback tone application.
[0122] Figure 4 is a schematic diagram of the structure of a terminal provided in an embodiment of the present application. The terminal can be used to execute the media resource playing method on the calling terminal side in the following embodiments. Figure 4 , the terminal 400 includes:
[0123] The terminal 400 may include a radio frequency (RF) circuit 401, a memory 402 including one or more computer-readable storage media, an input unit 403, a display unit 404, an audio circuit 405, a wireless fidelity (WiFi) module 406, a processor 407 including one or more processing cores, and a power supply 408. Those skilled in the art will appreciate that Figure 4 The terminal structure shown in the figure does not constitute a limitation on the terminal, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently.
[0124] The RF circuit 401 can be used for receiving and sending signals during the process of sending and receiving information or making calls. In particular, after receiving the downlink information of the base station, it is handed over to one or more processors 407 for processing; in addition, the data related to the uplink is sent to the base station. Generally, the RF circuit 401 includes but is not limited to an antenna, at least one amplifier, a tuner, one or more oscillators, a user identity module (SIM) card, a transceiver, a coupler, a low noise amplifier (LNA), a duplexer, etc. In addition, the RF circuit 401 can also communicate with the network and other devices through wireless communication. The wireless communication can use any communication standard or protocol, including but not limited to the global system of mobile communication (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), long term evolution (LTE), email, short messaging service (SMS), etc. The RF circuit 401 is used to implement the call establishment process and the call process in the embodiment of the present application.
[0125] The memory 402 can be used to store software programs and modules, and the processor 407 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, applications required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created according to the use of the terminal 400 (such as audio data, a phone book, etc.), etc. In addition, the memory 402 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 402 may also include a memory controller to provide the processor 407 and the input unit 403 with access to the memory 402. The memory 402 is also used to store at least one of the first media resources and the second media resources acquired by the terminal in the embodiment of the present application.
[0126] The input unit 403 can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control. Specifically, the input unit 403 may include a touch-sensitive surface 4031 and other input devices 4032. The touch-sensitive surface 4031, also known as a touch display screen or a touch pad, can collect user touch operations on or near it (such as operations performed by the user using any suitable object or accessory such as a finger, stylus, etc. on or near the touch-sensitive surface 4031), and drive the corresponding connection device according to a pre-set program. Optionally, the touch-sensitive surface 4031 may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch direction, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into touch point coordinates, and then sends it to the processor 407, and can receive and execute commands sent by the processor 407. In addition, the touch-sensitive surface 4031 may be implemented in various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch-sensitive surface 4031, the input unit 403 may also include other input devices 4032. Specifically, the other input devices 4032 may include, but are not limited to, one or more of a physical keyboard, a function key (such as a volume control, a switch control, etc.), a trackball, a mouse, and a joystick. The above-mentioned input unit 403 is used to receive a signal triggered by a user's operation on the input unit 403 and transmit it to a corresponding controller based on the signal. For example, in the embodiment of the present application, the user can perform a touch operation on the input unit 403 to select the playback of a media resource.
[0127] The display unit 404 can be used to display information input by the user or information provided to the user and various graphical user interfaces of the terminal 400, which can be composed of graphics, text, icons, videos and any combination thereof. The display unit 404 may include a display panel 4041. Optionally, the display panel 4041 may be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), etc. Further, the touch-sensitive surface 4031 may cover the display panel 4041. When the touch-sensitive surface 4031 detects a touch operation on or near it, it is transmitted to the processor 407 to determine the type of touch event, and then the processor 407 provides a corresponding visual output on the display panel 4041 according to the type of touch event. For example, the above-mentioned display unit 404 is capable of displaying at least one of the playback screens of the first media resource and the second media resource. Although in Figure 4In the embodiment, the touch-sensitive surface 4031 and the display panel 4041 are implemented as two independent components to realize input and output functions, but in some embodiments, the touch-sensitive surface 4031 and the display panel 4041 can be integrated to realize input and output functions.
[0128] The audio circuit 405, the speaker 4051, and the microphone 4052 can provide an audio interface between the user and the terminal 400. The audio circuit 405 can transmit the electrical signal converted from the received audio data to the speaker 4051, which is converted into a sound signal for output by the speaker 4051; on the other hand, the microphone 4052 converts the collected sound signal into an electrical signal, which is received by the audio circuit 405 and converted into audio data, and then the audio data is output to the processor 407 for processing, and then sent to another terminal through the RF circuit 401, or the audio data is output to the memory 402 for further processing. The audio circuit 405 may also include an earplug jack to provide communication between an external headset and the terminal 400. In an embodiment of the present application, the audio circuit 405 and the speaker 4051 can implement the audio playback related process on the terminal side. For example, when playing the first media resource, the terminal uses the audio circuit 405 and the speaker 4051 to respectively implement the processing and external playback of the audio data.
[0129] WiFi is a short-range wireless transmission technology. The terminal 400 can help users send and receive emails, browse web pages, and access streaming media through the WiFi module 406. It provides users with wireless broadband Internet access. Figure 2 A WiFi module 406 is shown, but it is understandable that it is not an essential component of the terminal 400 and can be omitted as required without changing the essence of the invention.
[0130] Processor 407 is the control center of terminal 400. It uses various interfaces and lines to connect various parts of the entire mobile phone. It executes various functions of terminal 400 and processes data by running or executing software programs and / or modules stored in memory 402, and calling data stored in memory 402, so as to monitor the mobile phone as a whole. Optionally, processor 407 may include one or more processing cores; optionally, processor 407 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface and applications, etc., and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into processor 407.
[0131] The terminal 400 also includes a power supply 408 (such as a battery) for supplying power to each component. Optionally, the power supply can be logically connected to the processor 407 through a power management system, so as to manage charging, discharging, and power consumption management through the power management system. The power supply 408 can also include any components such as one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, and power status indicators. Although not shown, the terminal 400 can also include a camera, a Bluetooth module, etc., which will not be repeated here.
[0132] Figure 5 This is a schematic diagram of the structure of a server provided in an embodiment of the present application. The server 500 may have relatively large differences due to different configurations or performances, and may include one or more processors 501 and one or more memories 502, wherein the memory 502 stores at least one program code, and the at least one program code is loaded and executed by the processor 501 to implement the media resource playback method executed by the first media server in the following method embodiment. Of course, the server 500 may also have components such as a wired or wireless network interface, a keyboard, and an input and output interface for input and output. The server 500 may also include other components for implementing device functions, which will not be described in detail here. The processor can be any processor such as a central processing unit (CPU), a graphics processing unit (GPU), a tensor processing unit (TPU), a neural network processing unit (NPU), a brain processing unit (BPU), a deep learning processing unit (DPU), a holographic processing unit (HPU), a vector processing unit (VPU) and an intelligence processing unit (IPU).
[0133] The processor 501 may be a general-purpose CPU, a microprocessor, an application specific integrated circuit (ASIC), a GPU or one or more integrated circuits, and is used to execute relevant programs to implement the above-mentioned media resource playback method.
[0134] The processor 501 may also be an integrated circuit chip with signal processing capability. In the implementation process, each step of the media resource playback method of the present application may be completed by the hardware integrated logic circuit in the processor 501 or the program code in the form of software. The above-mentioned processor 501 may also be a general-purpose processor, a digital signal processor (digitalsignal processing, DSP), ASI, a field programmable gate array (field programmable gate array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application may be implemented or executed. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application may be directly embodied as being executed by a hardware decoding processor, or may be executed by a combination of hardware and software modules in a decoding processor. The software module may be located in a mature storage medium in the art such as a random access memory (RAM), a flash memory, a read-only memory (ROM), a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory 502, and the processor 501 reads the information in the memory 502, and combines its hardware to complete the functions required to be executed by the modules included in the media resource playback device of the embodiment of the present application, or executes the media resource playback method on the first media server side of the method embodiment of the present application.
[0135] The above embodiments introduce the system architecture and the hardware structures involved. The method of the embodiment of the present application is applied in Figure 1 or Figure 2 The system architecture shown can of course also be applied to other communication scenarios, and the embodiments of the present application are not limited here. The solution of the present application will be described below in conjunction with specific embodiments. Figure 6 This is a flow chart of a media resource playing method provided by an embodiment of the present application. In this process: if there are media resources in the CT domain for this call, the media resources in the CT domain are played first, and if there are no media resources in the CT domain for this call, the media resources from the IT domain are played as a supplement to the playback. Figure 6 The following steps are included.
[0136] 601. A calling terminal initiates a call to a called terminal. The calling terminal sends a resource acquisition request to a first media server through a target application client. The resource acquisition request carries relevant information of the call.
[0137] The call initiated by the calling terminal is a video call or an audio call. The target application client is an application client having a function of playing media resources during the call, such as a video ringback tone application client, and the target application client has a built-in media player. The first media resource is a media resource in the IT domain, such as a video ringback tone, a video advertisement, a video customer service, and other media resources. Optionally, the call-related information includes at least one of the caller's number, the called number, the caller's location information, the call type, and the call time.
[0138] In a possible implementation, after the calling terminal initiates a call to the called terminal, the target application client is launched (also called opening the target application client), and the telephone dialing application of the calling terminal sends the relevant information of the call to the target application client, and after the target application client receives the relevant information of the call, it sends a resource acquisition request carrying the relevant information to the first media server through the IT domain. The resource acquisition request is sent using the HTTP protocol or the HTTPS protocol.
[0139] 602. The first media server receives a resource acquisition request sent by a calling terminal through a target application client.
[0140] In a possible implementation manner, after receiving the resource acquisition request sent by the calling terminal through the target application client, the first media server reads the relevant information of the current call from the corresponding field of the resource acquisition request.
[0141] 603. The first media server authenticates the user based on the relevant information of the current call. If the authentication is successful, execute step 604.
[0142] In the embodiment of the present application, the authentication includes the authentication of the user function information (also called validity authentication), and optionally, the authentication also includes the authentication of the user identity information. The user function information authentication refers to the verification of whether the user has subscribed to the media resource. The user identity information authentication refers to the identity verification of the user, such as the verification of the called mobile phone number to confirm whether the mobile phone number is a legal mobile phone number. Optionally, the authentication of the user is the authentication of the calling user and / or the called user.
[0143] In a possible implementation, taking the authentication of the calling number as an example, the corresponding authentication process includes: after the first media server obtains the relevant information carried in the resource acquisition request, it determines whether the calling number is a legal number according to the calling number in the relevant information, and if the calling number is a legal number, it queries the subscription database, and if it is found that the media resource service has been opened with the calling number, the user authentication is passed, and the subsequent step 604 is executed. If the calling number is not found, the user authentication fails. The authentication process of the called user is the same as the above process.
[0144] Optionally, the target application client also supports setting which side the media resources are played from during the call, that is, the setting information is also used to indicate whether the calling terminal plays the media resources subscribed by the calling side or the called side. If the calling user wants to play the media resources subscribed by himself during the call, the calling user can set it on the target application client, and the target application client sends the setting information set by the calling user to the first media server, so that the first media server stores the setting information so as to send the corresponding media resources to the calling terminal according to the setting information during the call.
[0145] Optionally, the first media server also records relevant information of this call, which can be used as data reference for subsequent operations.
[0146] The above process verifies the legitimacy and / or validity of the user by authenticating the user to ensure the safe playback of subsequent media resources, thereby improving the security and reliability of media resource playback in the IT domain.
[0147] It should be noted that after the first media server authenticates the user, a session connection is established between the first media server and the calling terminal. The session connection is based on the HTTP protocol or the HTTPS protocol, so that in the subsequent process, the session connection is used to interact with the calling terminal about related information of media resources.
[0148] 604. The first media server determines, based on the relevant information, address information of a first media resource corresponding to the relevant information, and the first media resource matches the relevant information.
[0149] The address information refers to the uniform resource locator (URL) address of the first media resource, which is also called a web page address. The first media resource matches the relevant information means that the first media resource is a media resource subscribed to by a user number in the relevant information, such as a calling number or a called number, or that the first media resource is a media resource corresponding to the user information or scene information in the relevant information, which is not limited in the embodiments of the present application.
[0150] In a possible implementation, the relationship between the number and the subscribed resource identifier is stored in a subscription database, and the media resource database is used to store the media resource. The process of determining the address information includes: the first media server queries the subscription database according to the calling number, determines the resource identifier of the media resource corresponding to the calling number, that is, determines the first media resource set by the user in advance, and then further queries the media resource database according to the resource identifier to obtain the address information of the first media resource. The above process varies according to the storage form of the database. For example, if the subscription database stores the relationship between the number and the address information of the subscribed media resource, the process of determining the address information includes: the first media server queries the subscription database according to the calling number in the relevant information, and determines the address information of the media resource corresponding to the calling number. For other database storage forms, the address determination process may change to a certain extent based on the database storage form. It should be understood that the above process is an example of the address determination process based on the calling number, and the address determination process based on the called number is the same, which will not be repeated here.
[0151] In a possible implementation, if a user subscribes to a media resource service but does not specify a specific media resource, the first media server can determine a personalized first media resource for the user. For example, the first media server determines the first media resource based on the network to which the calling terminal belongs, the current real-time location of the calling user, the time, and other scene information in the relevant information; for another example, the first media server obtains the attribute tag of the calling user based on the calling user information of the calling terminal in the relevant information, such as the age, gender, user credit rating, Internet habits, consumption behavior, etc. of the calling user, and thus determines the first media resource corresponding to the attribute tag based on the attribute tag of the calling user. The above-mentioned determination of media resources for the calling terminal based on some attributes of the user or real-time information can provide more personalized and diversified media resource services.
[0152] 605. The first media server preloads the first media resource based on the address information of the first media resource.
[0153] Optionally, the method for the first media server to preload the first media resource includes any one of the following:
[0154] In a possible implementation, the first media resource is stored in a hard disk of the first media server. After the first media server determines the address information of the first media resource, it preloads the relevant content of the first media resource from the hard disk of the first media server into the memory or cache.
[0155] In another possible implementation, the first media resource is stored in a hard disk or memory of a server other than the first media server. After the first media server determines the address information of the first media resource, it preloads the relevant content of the first media resource from the hard disk or memory of other servers into the memory or cache of the first media server.
[0156] In another possible implementation, the first media resource is stored in a database. After the first media server determines the address information of the first media resource, it preloads the relevant content of the first media resource from the database into the memory or cache of the first media server.
[0157] The database may be a database associated with the first media server, or may be a database associated with other servers. The embodiment of the present application does not limit the user information database.
[0158] It should be understood that the above three implementation methods correspond to different preloading processes according to the different storage locations of the first media resource. If the first media server loads the resource when the calling terminal device obtains the first media resource, it will cause a certain delay. However, through the above preloading method, the delay problem of subsequent media resource playback can be optimized, the acquisition efficiency of the first media resource is improved, and the problem of a long playback waiting time will not occur when the subsequent media resource is played.
[0159] 606. The first media server returns address information of the first media resource to the calling terminal.
[0160] It should be noted that, in the above steps 601 to 606, the type of media transmission stream between the calling terminal and the first media server is HTML stream. In this scenario, the resource acquisition request sent by the calling terminal to the first media server is an HTTP message or an HTTPS message, and the address information returned by the first media server to the calling terminal is an HTTP response or an HTTPS response.
[0161] It should be noted that, in the above embodiment, step 605 is an optional step. In another optional implementation, the first media server executes step 606 after step 604, without performing the resource preloading step. Moreover, in the above embodiment, the execution order of step 605 and step 606 is performed in the current order. In another optional implementation, step 606 can be performed first and then step 605, or the two steps can be performed simultaneously, etc., which is not limited in the embodiment of the present application.
[0162] 607. The calling terminal receives the address information.
[0163] In an embodiment of the present application, after the calling terminal receives the address information, it does not temporarily acquire the first media resource, but waits for the ringing message of the CT domain. After determining that there are no media resources in the CT domain during this call process, the target application client acquires the first media resource based on the address information, thereby avoiding wasting network resources.
[0164] It should be noted that, for the calling terminal, in one possible implementation, after receiving the address information, the calling terminal can obtain the first media resource based on the address information through the target application client, so that the resource can be played quickly after receiving the ringing message, and the delay problem of subsequent media resource playback can be optimized.
[0165] For the calling terminal, the corresponding processing flow will be executed according to whether there are media resources in the CT domain during the current call process. For example, step A shows that after receiving the ringing message, it is determined that there are no media resources in the CT domain during the current call process, and the first media resource is played to provide a corresponding audio-visual experience. Step B is the process in which the calling terminal determines that there are media resources in the CT domain during the current call when receiving the first media negotiation message, and then plays the second media resource.
[0166] A: After receiving the ringing message of the called terminal, the calling terminal determines that the first media negotiation message has not been received during the call, and then plays the first media resource.
[0167] 608. After receiving the ringing message from the called terminal, the calling terminal determines that no first media negotiation message has been received during the call, and plays the first media resource based on the address information.
[0168] The ringing message is a 180 ringing message based on the SIP protocol, and the ringing message is used to indicate that the called terminal is ringing.
[0169] The first media negotiation message is used for media negotiation between the second media server and the calling terminal, and the second media server is located in the CT domain. Optionally, the first media negotiation message carries the audio and video capability information of the second media server, that is, the first media negotiation message is a SIP message carrying the SDP information of the second media server. Specifically, the header field of the first media negotiation message carries early media information such as P-Early-Media:SDP, and / or the SDP information of the first media negotiation message carries a=contengt:g3gpp.cat media attribute to indicate that the first media negotiation message is used for media negotiation of early media between the second media server and the calling terminal.
[0170] The above-mentioned step 608 is an optional implementation method in which the calling terminal determines that there are no media resources to be played in the CT domain, such as early media resources, during the current call, and the calling terminal plays the first media resource in the IT domain. Optionally, after receiving the ringing message, the calling terminal determines that the calling terminal did not perform media negotiation for early media with the second media server during the current call, and the calling terminal determines that there are no early media resources to be played in the CT domain during the current call. Exemplarily, the calling terminal determines that the first media negotiation message is not received, as shown in step 608, and after receiving the ringing message, the calling terminal determines that the calling terminal did not perform media negotiation for early media with the second media server during the current call.
[0171] Based on the above example, after receiving the ringing message from the called terminal, the calling terminal determines that it has not received such a first media negotiation message, then it can be determined that the calling terminal has not conducted media negotiation with the second server, and thus the calling terminal determines that there are no early media resources in the CT domain to be played during this call, that is, this call will not play early media resources in the CT domain.
[0172] Optionally, after receiving the ringing message of the called terminal, the calling terminal determines whether there are early media resources to be played in the CT domain during the current call. If there are no early media resources to be played in the CT domain during the current call, the media is played based on the first media resource. If there are early media resources to be played in the CT domain during the current call, the media is played based on the second media resource. For details, see steps 609-613.
[0173] Optionally, the determination of whether there are early media resources to be played in the CT domain during this call is achieved by determining whether media negotiation of early media occurs, that is, determining whether the calling terminal and the second media server have negotiated media resources for early media during this call. If media resource negotiation of early media is not performed during this call, playback is performed based on the first media resource. If media resource negotiation of early media is performed during this call, playback is performed based on the second media resource. For details, see steps 609-613.
[0174] Optionally, whether early media negotiation occurs during this call is determined by whether a first media negotiation message is received, that is, whether the calling terminal receives the first media negotiation message during this call. If the first media negotiation message is not received during this call, the first media resource is used for playback. If the first media negotiation message is received during this call, the second media resource is used for playback. For details, see steps 609-613.
[0175] It should be noted that the above process of determining whether the first media negotiation message is received is executed by the telephone dialing application of the calling terminal.
[0176] In one possible implementation, if the telephone dialing application of the calling terminal determines that the first media negotiation message has not been received, the address information of the first media resource is sent to the target application client. The target application client sends a resource acquisition request to the first media server based on the address information. The first media server responds to the resource acquisition request, determines the first media resource corresponding to the address information in the preloaded media resources, and sends the first media resource to the calling terminal. After the calling terminal obtains the first media resource, it plays the first media resource through the target application client.
[0177] It should be noted that the first media resource determined above may be one or more. If the first media resource is multiple resources, the resources may be switched based on the operation of the user on the calling terminal side.
[0178] Furthermore, the calling terminal shields a third media resource, wherein the third media resource is used to indicate that the called terminal has been ringing, for example, the third media resource refers to a beep tone during a call, and the third media resource is any one of a locally stored media resource or a media resource sent by a telephone application server (TAS), and the telephone application server is a server in the CT domain. It should be understood that the above-mentioned shielding of the third media resource by the calling terminal refers to not playing the locally stored media resource or not playing after receiving the media resource sent by the TAS. It should be understood that in the case of no CT domain media resource playback, a beep tone is usually used during a call to indicate that the called terminal has been ringing. Therefore, in this case, by shielding the third media resource, the playback of the beep tone in the call is suppressed, so that only the audio of the first media resource is played during the call, thereby avoiding auditory confusion caused by the simultaneous playback of two audio segments and improving the user experience.
[0179] B: After receiving the ringing message, the calling terminal determines that the first media negotiation message has been received during the call, and does not play the first media resource.
[0180] 609. The calling terminal receives the first media negotiation message.
[0181] The above-mentioned media negotiation process is illustrated below by an exemplary process: the second media server sends a first media negotiation message to the calling terminal, and the first media negotiation message carries the media capability information of the second media server. For example, the first media negotiation message is an update or 18* message; after receiving the first media negotiation message, the calling terminal determines the media negotiation result based on its own capability, and sends a second media negotiation message to the second media server. The second media negotiation message carries the media negotiation result, which can also be called the media capability information of the calling terminal. For example, the second media negotiation message is a 200OK message.
[0182] 610. The second media server sends a second media resource to the calling terminal based on the media negotiation result.
[0183] For example, the second media server sends the media stream of the second media resource to the calling terminal in the form of RTP stream. During this process, the calling terminal does not actively obtain the second media resource, but the second media server pushes the media stream. The second media resource is the CT domain media resource.
[0184] 611. After receiving the ringing message, the calling terminal plays the received second media resource.
[0185] The calling terminal plays the media stream after receiving it from the second media server.
[0186] Optionally, after receiving the ringing message, it is determined whether to play the first media resource. If not, the resource is released through the following steps 612 to 613. It should be noted that the execution timing of the judgment process can be performed after receiving the first media negotiation message or at other times. In addition, if the calling terminal plays the first media resource, steps 612 and 613 are executed after the playback is completed or the playback is ended.
[0187] 612. The calling terminal sends a session end message to the first media server, where the session end message is used to indicate that the session is ended.
[0188] In this process, the calling terminal does not play the media resources in the IT domain, and the calling terminal sends a session end message to the first media server through the target application client.
[0189] 613. The first media server receives a session end message from the calling terminal, and closes the session between the first media server and the calling terminal.
[0190] In a possible implementation, after receiving the session end message from the calling terminal, the first media server releases the session between the first media server and the calling terminal, that is, releases resources such as bandwidth channels occupied by the session. Through the session release process, occupation of resources such as bandwidth channels can be avoided.
[0191] Furthermore, after receiving the session end message from the calling terminal, the first media server releases the first media resource preloaded by the first media server to prevent the first media resource from occupying the memory of the first media server.
[0192] It should be noted that in the embodiment of the present application, steps 612 and 613 are taken as an example to occur after step 611. It should be understood that steps 611 and 612 can also be performed at other time sequences, for example, when the first media negotiation message is received in step 609, or when the second media resource is received, or when the second media resource starts to be played. The embodiment of the present application is not limited to this.
[0193] In addition, if step 608 is executed in the embodiment of the present application and the playback of the first media resource is completed, steps 612 and 613 may also be executed to release the media resource. By actively notifying the first media server of the end of the session, the first media server can release the first media resource in time to avoid occupying the memory of the first media server.
[0194] In the above implementation, the media resources in the IT domain can be used as a supplement to the media resources in the CT domain. In the case where there is no media resource in the CT domain to play, the terminal plays the media resources in the IT domain through the target application client, so that users who have not subscribed to the media resources in the CT domain can also play the media resources while waiting for the call to be connected. If it is determined through the above steps that the first media negotiation message is received, it can be determined that there are media resources in the CT domain during this call, and the calling terminal plays the media resources in the CT domain instead of the media resources in the IT domain, so that there will be no playback conflict and the user's communication and audio-visual experience can be improved.
[0195] The technical solution provided by the present application can achieve the acquisition and playback of media resources through the interaction between the target application client and the first media server, without affecting the call process in the CT domain, thus avoiding problems such as the call being unable to be connected that may be caused during the interaction, simplifying the playback process of media resources, and improving communication efficiency. By building a video ringback tone application into the terminal, the video ringback tone service is implemented through IT services in the CT domain call process. In the context of IT network resources not becoming a bottleneck and network latency being shorter, the video ringback tone service can be expanded more flexibly.
[0196] Above Figure 6 The illustrated embodiment is described by taking the CT domain media resources as an example for priority playback, and the calling user can also set the domain from which the media resources are played, so that the calling terminal can play the media resources of the specified domain according to the setting information. If the setting information is used to indicate that the media resources from the IT domain are played during the call, then in this case, regardless of whether there are CT domain media resources in this call, the calling terminal will obtain and play the first media resource. Figure 7 The process shown here is used to introduce the media resource playback method. Figure 7 , the process includes:
[0197] 701. A calling terminal initiates a call to a called terminal. The calling terminal sends a resource acquisition request to a first media server through a target application client. The resource acquisition request carries relevant information of the call.
[0198] 702. The first media server receives a resource acquisition request sent by a calling terminal through a target application client.
[0199] 703. The first media server authenticates the user based on the relevant information of the current call. If the authentication is successful, execute step 704.
[0200] 704. The first media server determines, based on the relevant information, address information of a first media resource corresponding to the relevant information, and the first media resource matches the relevant information.
[0201] 705. The first media server preloads the first media resource based on the address information of the first media resource.
[0202] 706. The first media server returns address information of the first media resource to the calling terminal.
[0203] 707. The calling terminal receives the address information.
[0204] The above steps 701 to 707 refer to Figure 6 Steps 601 to 607 in the illustrated embodiment.
[0205] 708. After receiving the ringing message, the calling terminal plays the first media resource based on the address information.
[0206] The process of playing the first media resource refers to the specific description of the playing process in the above step 608, which will not be repeated here.
[0207] In an embodiment of the present application, setting information for indicating which domain the media resource is played from is stored on the calling terminal. The setting information is set by the calling user or is default information, and the embodiment of the present application does not limit this. Taking the user's own setting as an example, the user sets it in the target application client to select the source of the media resource to be played during the call, thereby generating setting information and storing the setting information in the calling terminal. Optionally, the calling terminal stores the setting information in the first media server, so that the calling terminal can obtain the stored setting information from the first media server after starting the target application client, and play the media resource based on the instructions of the setting information.
[0208] It should be noted that the calling terminal can read the stored setting information at any of the following times. For example, the calling terminal reads the setting information when initiating a call; for another example, the calling terminal reads the setting information when receiving the address information; for another example, the calling terminal reads the setting information when receiving a ringing message. The timing of the calling terminal reading the setting information may not be affected by the CT domain; for another example, the calling terminal reads the setting information after receiving the first media negotiation message, that is, the calling terminal reads the setting information when it is determined that the media resources for this call exist in the CT domain.
[0209] In the above embodiment, the calling user can play the media resources in the IT domain during the call by setting on the calling terminal, and can play the media resources in the IT domain during the call according to the user's personalized settings.
[0210] Further, if the setting information of the calling terminal indicates that the first media resource is to be played during this call, and the calling terminal receives the first media negotiation message and receives the second media resource of the second media server, then the calling terminal blocks the second media resource of the second media server, and the second media server is a server located in the CT domain. The first media negotiation message is described in the above embodiment and is not described here. In the above implementation, blocking the second media resource of the second media server means that after the calling terminal receives the second media resource sent by the second media server, the second media resource is not played.
[0211] In the above embodiment, during the call process, the second media resource of the second media server is shielded to suppress the playback of the media resources in the CT domain, and then the media resources in the IT domain are played through the target application client, ensuring that only the first media resource is played during the call process, thereby avoiding interference that may be caused by playing multiple media resources at the same time.
[0212] In another possible implementation, when the calling terminal initiates a call to the called terminal, the setting information is obtained. If the calling terminal determines, based on the setting information, to play only media resources in the IT domain, the generated call request (INVITE) does not carry the video identifier of the contact header field. The video identifier of the contact header field is used to indicate support for media playback in the CT domain. In this way, by not carrying the video identifier of the contact header field when initiating the call, media negotiation in the CT domain is avoided, and the second media server will not send the second media resource to the calling terminal, thereby saving network resources.
[0213] The technical solution provided by the present application can achieve the acquisition and playback of media resources through the interaction between the target application client and the first media server, without affecting the call process of the CT domain, thus avoiding problems such as the call being unable to be connected that may be caused during the interaction, simplifying the playback process of media resources and improving communication efficiency. Furthermore, by providing a playback source setting function, the personalization of media playback can be improved, thereby improving user experience.
[0214] The above embodiments are all described by taking the calling terminal playing the media resources from a certain domain as an example. However, for the calling terminal, a more flexible playing mode can be provided, that is, the calling terminal can play the media resources from the above different domains at the same time. Figure 8 For a description of how to play media resources, see Figure 8 , the process includes:
[0215] 801. A calling terminal initiates a call to a called terminal. The calling terminal sends a resource acquisition request to a first media server through a target application client. The resource acquisition request carries relevant information of the call.
[0216] 802. The first media server receives a resource acquisition request sent by a calling terminal through a target application client.
[0217] 803. The first media server authenticates the user based on the relevant information of the current call. If the authentication is successful, execute step 804.
[0218] 804. The first media server determines, based on the relevant information, address information of a first media resource corresponding to the relevant information, and the first media resource matches the relevant information.
[0219] 805. The first media server preloads the first media resource based on the address information of the first media resource.
[0220] 806. The first media server returns address information of the first media resource to the calling terminal.
[0221] 807. The calling terminal receives the address information.
[0222] The above steps 801 to 807 refer to Figure 6 Steps 601 to 607 in the illustrated embodiment.
[0223] 808. After receiving the ringing message, the calling terminal plays the first media resource based on the address information, and the calling terminal plays the second media resource sent by the second media server based on the media negotiation result.
[0224] In the above process, the calling terminal and the second media server first perform media negotiation, and then the second media server sends the media stream to the calling terminal based on the media negotiation result. The media negotiation process is described in detail in step 609 of the above embodiment.
[0225] It should be noted that the playback of the first media resource and the second media resource may be performed simultaneously or asynchronously, and the embodiments of the present application do not limit this. In one possible implementation, if the first media resource has been downloaded before the second media resource is obtained, the playback of the first media resource is started after the second media resource starts playing, so that the playback of the two media can be kept synchronized. In another possible implementation, the playback of any media resource is started when any media resource is obtained, and after another media resource is obtained, the playback of the other media resource is directly started to ensure the user's audio-visual experience.
[0226] In the above process, when there are media resources in the IT domain and the CT domain in this call, playing the media resources in the CT domain and the media resources in the IT domain brings new experience and more choices to the user, and improves the user's experience and participation in the video ringback tone service.
[0227] Optionally, the playing of the second media resource and the playing of the second media resource are implemented by the calling terminal according to setting information. For example, if the setting information of the calling terminal indicates to play media resources in the IT domain and the CT domain at the same time, step 808 is executed. In this way, a new experience and more choices are brought to the user, and the user's experience and participation in the video ringback tone service are improved.
[0228] Optionally, when playing the first media resource and the second media resource, the calling terminal may adopt the following playback modes: the first media resource is played in full-screen mode, and the second media resource is played in floating window mode and silent mode; or, the second media resource is played in full-screen mode, and the first media resource is played in floating window mode and silent mode.
[0229] For example, Fig. 9This is a schematic diagram of a media resource playback provided by an embodiment of the present application, see Fig. 9 , Fig. 9 The solution is explained by taking the full-screen playback of the first media resource and the floating window playback of the second media resource as an example. In the above two implementations, one media resource is played in full screen, and the other media resource is played in a floating window, which can clearly and intuitively display the two media resources, and avoid the poor user experience caused by the simultaneous playback of two audio clips by playing normal full screen (with sound) and silent floating window playback.
[0230] Optionally, in a scenario where one of the two media resources is played in a floating window mode and the other is played in a full screen mode, the process in which the calling terminal performs corresponding processing based on a click operation on the floating window includes any of the following:
[0231] In a possible implementation, when the calling terminal detects a click operation on the floating window, the media resource played by the floating window is switched to full-screen mode, and another media resource is closed. In this process, the calling user can click the floating window corresponding to the media resource he is interested in while watching the media resource, play the media resource in full-screen mode, and close another media resource, so that the media resource that the calling user wants to watch can be retained, which can bring a better viewing experience to the calling user.
[0232] In another possible implementation, if the calling terminal detects a click operation on the floating window, the media resource played by the floating window is switched to full-screen mode for playback, and another media resource is switched to floating window mode for playback. In this process, after the calling user clicks on the floating window corresponding to the media resource that the calling user is interested in, the calling terminal plays the media resource in full screen and switches another media resource to a floating window, so that the user can continue to switch to another media resource for viewing.
[0233] In another possible implementation, the first media resource and the second media resource are both played in a floating window mode, wherein at least one of the first media resource and the second media resource is in a silent mode. Fig.10 This is a schematic diagram of a media resource playback provided by an embodiment of the present application, see Fig.10, and play the first media resource and the second media resource in different floating windows respectively. In this implementation, playing two media resources in floating windows respectively can also clearly and intuitively display the two media resources. At the same time, since at least one media resource is played silently, the auditory confusion caused by the simultaneous playing of two audio segments is avoided, thereby improving the user experience. Optionally, the playback of the first media resource is implemented by the player of the target application client (video ringback tone application), and the playback of the second media resource is implemented by the player of the system application (telephone dialing application).
[0234] Optionally, in a scenario where both media resources are played in floating window mode, the process in which the calling terminal performs corresponding processing based on a click operation on the floating window includes any of the following:
[0235] In a possible implementation, if both media resources are played in floating window mode, and the calling terminal detects a click operation on any floating window, the media resource played in the floating window is switched to full-screen mode, and the other media resource is closed. In this process, while watching media resources, the calling user can click on the floating window corresponding to the media resource he is interested in, play the media resource in full screen mode, and close the other media resource, so that the media resource that the calling user wants to watch can be retained, which can bring a better viewing experience to the calling user.
[0236] In another possible implementation, if the calling terminal detects a click operation on the floating window, the media resource played in the floating window is switched to full-screen mode for playback, and the floating window mode of another media resource is maintained. In this process, after the calling user clicks the floating window corresponding to the media resource that the calling user is interested in, the calling terminal plays the media resource in full screen and switches the other media resource to a floating window, so that the user retains the access to switch back to the other media resource for playback, providing a richer operation experience.
[0237] It should be understood that in the above two implementations, the click operation on the floating window refers to a click operation on any position in the floating window except the close button, such as Fig. 9 or Fig.10 As shown, each floating window is provided with a close button, and the user can pause the media resource that he does not want to continue playing by clicking the close button, so as to achieve the purpose of personalized selection of playing. That is, if the calling terminal detects the click operation of the close button of the floating window, the floating window will be closed.
[0238] The technical solution provided by the present application, through the interaction between the target application client and the first media server, can play the media resources of the CT domain and the media resources of the IT domain at the same time when the media resources of the CT domain are played, thereby bringing new experience and more choices to users and improving the user experience and participation in the video ringback tone service.
[0239] Above Figure 6 , Figure 7 and Figure 8 Based on the scenario of the presence / absence of the media resource in the CT domain, how to play the media resource is described. In addition, during the process of playing the first media resource and / or the second media resource, the call process can also be controlled. Fig.11 is a flowchart of a call control method based on media resource playback provided in an embodiment of the present application, see Fig.11 :
[0240] 1101. The calling terminal displays a call interface of a target application client, and displays at least one call control control and a playback screen of a media resource in the call interface.
[0241] In one possible implementation, the call control control is generated based on the configuration data of the target application client, that is, the control that comes with the target application client. Fig. 9 or Fig.10 As shown, the call control controls include a stop call control, a hands-free control, a recording control, etc.
[0242] It should be noted that if Fig. 9 or Fig.10 The display effect shown is that the playback screen of the media resource is displayed on the call interface, and the call interface includes multiple call control controls. It should be noted that the entire call interface is the display interface of the target application client. The target application client generates the layer of the call interface based on the configuration data, and displays it on the upper layer of the terminal interface, and then superimposes the playback screen of the media resource on the layer of the call interface, presenting the user with a visual experience of playback on the call interface.
[0243] 1102. If the calling terminal detects a click operation on any call control control through the target application client, the telephone dialing application is called back to execute the call control instruction corresponding to the call control control.
[0244] It should be noted that in order to simulate the call interface and ensure that call control can be performed normally during the call process, the target application client can pass the corresponding instructions of the operation to the phone dialing application after detecting the operation of any call control control, so that the phone dialing application can handle the call accordingly, such as waiting, recording, etc.
[0245] Optionally, the calling terminal displays at least one media control control when displaying the playback screen of the media resource. The media control control is a control for controlling the playback of the first media resource, so that the user can control the playback progress of the first media resource, such as pause, fast forward, etc. The media control control is generated based on the configuration data of the target application client, that is, the control provided by the target application client. For example, if the calling terminal detects a click operation on any media control control, the playback of the played media resource is controlled according to the function of the media control control.
[0246] Above Figure 6 , Figure 7 and Figure 8 Based on the scenario of the presence / absence of the media resource in the CT domain, how to play the media resource is described. In addition, in the process of playing the first media resource and / or the second media resource, an interactive function based on the media resource can also be provided. Fig.12 is a flowchart of an interactive method based on media resource playback provided in an embodiment of the present application, see Fig.12 :
[0247] 1201. The calling terminal displays at least one interactive control on a playback screen of a media resource.
[0248] Among them, the interactive control is used to provide an interactive control as a like control (such as Fig. 9 and Fig.10 As shown), comment controls, sharing controls, etc. The interactive controls are generated based on the control data sent by the first media server or based on the local configuration data of the target application client.
[0249] 1202. If the calling terminal detects an interactive operation on any interactive control, based on the interactive operation, the calling terminal sends an interactive request to the first media server through the target application client, where the interactive request carries an interactive object and interactive content.
[0250] The interactive object refers to the interactive data corresponding to the interactive control, and the interactive content refers to the updated content of the interactive object. For example, the interactive object is the like data, and the interactive content is to increase the like data by 1. The interactive request also carries the resource identifier of the first media resource, so that the first media server processes the interactive content corresponding to the first media resource based on the resource identifier.
[0251] 1203. The first media server receives the interaction request, and processes the interaction object corresponding to the first media resource according to the interaction content.
[0252] After receiving the interaction request, the first media server determines the interaction object corresponding to the first media resource according to the resource identifier carried in the interaction request, and then processes the interaction object according to the interaction content carried in the interaction request. For example, if the interaction object carried in the interaction request is like data, and the interaction content is to increase the number of likes by one, the first media server increases the like data of the stored first media resource by one, and the like data displayed on the calling terminal increases by one.
[0253] It should be noted that in Fig.12 In the process, the type of media transmission stream used between the calling terminal and the first media server is HTML stream. The calling terminal sends an HTTP message or an HTTPS message to the first media server, and the first media server returns an HTTP response or an HTTPS response to the calling terminal.
[0254] The technical solution provided in the embodiment of the present application realizes media control and interaction in the ringback tone scenario by providing functional controls, such as call control controls, media control controls and interactive controls, when playing media resources during a call, thereby increasing the interest of the video ringback tone service. Moreover, by providing interactive controls, the interest of media resource playback can be greatly increased, the flexibility of interaction is higher, and the content of interaction is richer.
[0255] In the above embodiment, call control, media control and interactive functions based on the first media resource are introduced. During the playback process, the playback pause process based on the call is also involved. The following is an introduction based on the playback pause process. Fig.13 , Fig.13 The solution is explained by taking the playback of the first media resource as an example:
[0256] 1301. If the calling terminal receives an off-hook message, it stops playing the first media resource.
[0257] The off-hook message is used to indicate that the called terminal has been off-hook, and the calling user and the called user start talking.
[0258] In a possible implementation, if the calling terminal receives an off-hook message, it notifies the target application client to stop playing the first media resource through the telephone dialing application, and the target application client controls the player to stop playing.
[0259] 1302. The calling terminal displays a stop screen of the first media resource in a floating window.
[0260] The stop screen is a preset screen (for example, the entry screen of the target application client) or a playback screen corresponding to the moment of stopping playback. In step 1302, the calling user can realize the function of retaining the screen display of the first media resource during the call by setting it on the calling terminal, that is, the setting information of the calling terminal determines the display status of the media resource during the call. The above embodiment can provide the screen display during the call, provide the user with an entry for further operations, and improve the flexibility of media playback.
[0261] For example, Fig.14 This is a schematic diagram of a media resource playback provided by an embodiment of the present application, see Fig.14 When the display state of the first media resource is maintained during a call, the first media resource is displayed on the call interface in the form of a floating window.
[0262] Optionally, the calling terminal also supports display status setting after the call ends, and the corresponding process is as follows:
[0263] In a possible implementation, if it is determined based on the setting information of the calling terminal that the display state of the first media resource is maintained after the call ends, then when the call ends, the stop screen of the first media resource is displayed in a floating window on the main interface of the calling terminal. Fig.15 This is a schematic diagram of a media resource playback provided by an embodiment of the present application, see Fig.15 After the call ends, the first media resource is displayed on the main interface of the calling terminal in the form of a floating window.
[0264] In another possible implementation, if it is determined based on the setting information of the calling terminal that the display status of the first media resource will not be maintained after the call ends, then when the call ends, a session end message is sent to the first media server. After receiving the session end message, the first media server releases the call session and the preloaded first media resource. The release process is described in the above embodiment and will not be repeated here.
[0265] 1303. If the calling terminal detects a click operation on the floating window, the first media resource continues to be played.
[0266] In the above embodiment, if the calling user wants to continue watching the first media resource, the calling user can click the floating window to continue playing the first media resource. The operation is convenient and simple. Moreover, since the first media resource is a media resource in the IT domain, the target application client supports the first media resource to continue playing the playback screen based on the pause time, so that the user can continue the last viewing segment, which brings a better viewing experience to the user.
[0267] In one possible implementation, the stop screen serves as the portal website entrance of the target application client. If a click operation on the floating window is detected, the portal website interface is displayed in the opened target application client, that is, the target application client is pulled up, and the portal website interface corresponding to the target application client is displayed in the target application client. In the above embodiment, if the calling user wants to access the portal website, it can be achieved by clicking the floating window, which is convenient and simple to operate. Optionally, if the calling user wants to watch other media resources, by browsing other media resources on the portal website interface and clicking on the media resources to be watched, the calling terminal starts to play the media resources corresponding to the click operation. If the calling user wants to make relevant service settings on the target application client, clicking the corresponding setting control on the portal website interface can also achieve the corresponding function.
[0268] Optionally, the calling terminal plays the first media resource in different ways based on click operations on the floating window at different times, and the corresponding process is as follows:
[0269] In one possible implementation, if the calling terminal detects a click operation on the floating window during a call, the first media resource is played silently. In another possible implementation, if the calling terminal detects a click operation on the floating window after the call ends, the mute mode of the first media resource is canceled and the first media resource is played normally.
[0270] In the above process, the calling user can click on the floating window at any time during the call or after the call to continue watching the first media resource. The calling terminal can play in different ways according to whether the calling user clicks the corresponding time during the call or after the call. During the call, silent playback allows the calling user to clearly hear the call content and avoid missing important call content during the call. After the call ends, it can be played normally, that is, non-silent playback.
[0271] In another possible implementation, the calling terminal also supports scrolling (switching) playback of media resources, that is, if a media switching instruction is received, the next media resource of the first media resource is played. In the above process, multiple media resources can be played during the call, and based on the media switching instruction, the switching playback of media resources can be flexibly implemented, which increases the interest of the video ringback tone service.
[0272] In one possible implementation, if the calling terminal detects a closing operation on the floating window or turns off the screen, the floating window is closed. In another possible implementation, if the calling terminal detects that the screen is turned off, the first media resource is stopped from playing. If the screen is detected to be on, the first media resource is continued to play according to the playback content corresponding to the screen turning off time. In another possible implementation, after stopping playing the first media resource, a session end message is sent to the first media server. This process refers to the above steps 612 and 613.
[0273] It should be understood that Fig.13 This is an implementation process for retaining the floating window display after picking up the phone in the scenario of playing the first media resource. For the scenario of playing the second media resource and the scenario of playing the first media resource and the second media resource at the same time, the above steps 1301 to 1303 are still applicable and will not be repeated here.
[0274] The following is a summary of the signaling interaction in the VoLTE network. Figure 6 In the illustrated embodiment, in a scenario where there is no early media resource in the CT domain in this call, the playback in the ringing stage is implemented by using the media resource in the IT domain. Fig.16 This is a flowchart of a media resource playback method provided in an embodiment of the present application. Fig.16 :
[0275] 1601. The calling terminal sends an INVITE message, which carries the SDP information (such as SDPA1 information) of the calling terminal.
[0276] 1602. The calling terminal detects that the calling terminal initiates a call, and sends a resource acquisition request to the first media server through the target application client. The resource acquisition request carries relevant information of the call.
[0277] 1603. The first media server authenticates the user based on the relevant information of the current call. If the authentication is successful, execute step 1604.
[0278] It should be noted that, when performing authentication, the first media server performs authentication based on the calling number and the like in the relevant information, and the specific authentication method is as described in the above embodiment, which will not be described in detail here.
[0279] 1604. The first media server determines, based on the relevant information of the current call, address information of a first media resource corresponding to the relevant information, and the first media resource matches the relevant information.
[0280] 1605. The first media server preloads the first media resource based on the address information of the first media resource.
[0281] 1606. The first media server returns address information of the first media resource to the calling terminal.
[0282] 1607. The calling terminal receives the address information.
[0283] 1608. The called terminal receives the INVITE message and sends a 183 message for the call request. The 183 message carries the SDP information (such as SDPB1 information) of the called terminal.
[0284] 1609. The calling terminal receives the 183 message and sends a PRACK message to the called terminal. The PRACK message is used to indicate that the calling terminal has received the 183 message sent by the called terminal.
[0285] 1610. The called terminal receives the PRACK message, and sends a 200 OK (PRACK) to the calling terminal. The 200 OK (PRACK) is used to indicate that the called terminal has received the PRACK message sent by the calling terminal.
[0286] 1611. The calling terminal receives the 200 OK (PRACK) and sends an UPDATE message to the called terminal. The SDPA2 information carried in the UPDATE message indicates that the calling terminal has successfully reserved resources for this call.
[0287] 1612. The called terminal receives the UPDATE message and sends a 200UPDATE message to the calling terminal. The SDPB2 information carried in the 200UPDATE message indicates that the called terminal has successfully reserved resources for this call.
[0288] At step 1612, the calling terminal and the called terminal successfully reserve resources for this call.
[0289] 1613. The called terminal starts ringing and sends a 180 ringing message to the calling terminal.
[0290] It should be noted that the above steps 1601 to 1613 illustrate the solution by taking the case where both the calling side and the called side are VoLTE networks as an example. If the called side is other networks, the process of signaling interaction does not affect the implementation of the solution of this application. In addition, the process of signaling interaction in the above steps 1608 to 1613 does not need to wait for the message from the first media server to return, that is, the process of the above steps 1602 to 1607 does not affect the process of steps 1608 to 1613. In the embodiment of the present application, the video ringback tone based on IT services has no impact on the telecommunications network for the feature development related to the media form, can be lightweight and launched, and avoids the risk of affecting the telecommunications call process.
[0291] It should also be noted that the above-mentioned INVITE message, 183 message, PRACK message, 200OK (PRACK) message, UPDATE message and 200UPDATE message are all transparently transmitted to the calling terminal or the called terminal through the network device, thereby triggering the calling terminal or the called terminal to perform further processes.
[0292] 1614. The calling terminal receives the 180 ringing message and determines that the first media negotiation message is not received during the call, and then plays the first media resource based on the address information.
[0293] After receiving the 180 ringing message, the calling terminal determines whether the first media negotiation message is received. If not, it plays based on the first media resource. If it receives the first media negotiation message, it plays based on the second media resource of the CT domain.
[0294] For example, the first media negotiation message is an UPDATE message. The UPDATE message carries media capability information of the second media server, such as SDP CAT1. The SDP information is used for media resource negotiation between the calling terminal and the second media server.
[0295] 1615. The calling terminal displays at least one interactive control on the playback screen of the first media resource.
[0296] 1616. If the calling terminal detects an interactive operation on any interactive control, based on the interactive operation, the calling terminal sends an interactive request to the first media server through the target application client, where the interactive request carries an interactive object and interactive content.
[0297] 1617. The first media server receives the interaction request, and processes the interaction object corresponding to the first media resource according to the interaction content.
[0298] 1618. The called terminal sends a 200 OK (INVITE) message to the calling terminal. The 200 OK (INVITE) message is used to indicate that the called terminal has gone off-hook.
[0299] 1619. The calling terminal receives the 200 OK (INVITE) message, and sends an ACK message to the called terminal. The ACK message is used to indicate that the calling terminal has received the 200 OK (INVITE) message sent by the called terminal.
[0300] 1620. The calling terminal stops playing the first media resource.
[0301] In step 1620, the calling terminal and the called terminal start a conversation.
[0302] 1621. If the calling terminal determines to keep the display status of the first media resource during the call, the calling terminal displays a stop screen of the first media resource in a floating window.
[0303] It should be noted that step 1621 is an optional solution. In another possible implementation, if it is determined based on the setting information of the calling terminal that the display state of the first media resource is not to be maintained during the call, the play of the first media resource is turned off. Further optionally, the calling terminal sends a session end message to the first media server, and the session end message is used to indicate the end of the session.
[0304] 1622. The called terminal sends a Bye message to the calling terminal. The Bye message is used to indicate that the called terminal has hung up.
[0305] 1623. The calling terminal receives the Bye message and sends an ACK message to the called terminal. The ACK message is used to indicate that the calling terminal has received the Bye message sent by the called terminal.
[0306] At step 1623, the call between the calling terminal and the called terminal has ended.
[0307] Optionally, after the call ends, if the calling terminal detects a click operation on the floating window, the first media resource continues to be played. Optionally, the calling terminal displays a portal website interface in the opened target application client.
[0308] The technical solution provided by the present application can realize the acquisition and playback of media resources through the interaction between the target application client and the first media server, without affecting the call process of the CT domain, thus avoiding problems such as the call being unable to connect due to imperfect message processing during the interaction process, simplifying the playback process of media resources, and improving communication efficiency. Moreover, for users who have not subscribed to the media resource service of the CT domain, media resource playback can also be realized in the call process. By building a video ringback tone application into the terminal, the video ringback tone service is realized through IT services in the CT domain call process. With the development and application of 5G, in the context of IT network resources not becoming a bottleneck and shorter network latency, the video ringback tone service can be expanded more flexibly.
[0309] Above Fig.16 There are no CT domain media resources in this call, and the playback process of the ringing stage is realized through the IT media resources. The following describes the process of selecting the default CT media resources to play the ringing stage when there are CT domain media resources and IT domain media resources in this call, combined with the signaling interaction in the VoLTE network. Fig.17 This is a flowchart of a media resource playback method provided in an embodiment of the present application. Fig.17 :
[0310] 1701. The calling terminal sends an INVITE message, which carries the SDP information (such as SDPA1 information) of the calling terminal.
[0311] 1702. The calling terminal detects that the calling terminal initiates a call, and sends a resource acquisition request to the first media server through the target application client. The resource acquisition request carries relevant information of the call.
[0312] 1703. The first media server authenticates the user based on the relevant information of the current call. If the authentication is successful, execute step 1704.
[0313] 1704. The first media server determines address information of a first media resource corresponding to the relevant information based on the relevant information of the current call, and the first media resource matches the relevant information.
[0314] 1705. The first media server preloads the first media resource based on the address information of the first media resource.
[0315] 1706. The first media server returns address information of the first media resource to the calling terminal.
[0316] 1707. The calling terminal receives the address information.
[0317] 1708. The called terminal receives the INVITE message and sends a 183 message for the call request. The 183 message carries the SDP information (such as SDPB1 information) of the called terminal.
[0318] 1709. The calling terminal receives the 183 message and sends a PRACK message to the called terminal. The PRACK message is used to indicate that the calling terminal has received the 183 message sent by the called terminal.
[0319] 1710. The called terminal receives the PRACK message, and sends a 200 OK (PRACK) to the calling terminal. The 200 OK (PRACK) is used to indicate that the called terminal has received the PRACK message sent by the calling terminal.
[0320] 1711. The calling terminal receives the 200OK (PRACK) and sends an UPDATE message to the called terminal. The SDPA2 carried in the UPDATE message indicates that the calling terminal has successfully reserved resources for this call.
[0321] 1712. The called terminal receives the UPDATE message and sends a 200UPDATE message to the calling terminal. The SDPB2 information carried in the 200UPDATE message indicates that the called terminal has successfully reserved resources for this call.
[0322] At step 1712, the calling terminal and the called terminal successfully reserve resources for this call.
[0323] 1713. The called terminal starts ringing and sends the 180 ringing message to the second media server. The 180 ringing message carries relevant information of the current call.
[0324] 1714. The second media server receives the 180 ringing message, and determines, according to the relevant information of the current call, a second media resource corresponding to the relevant information.
[0325] For example, according to the called number, the color ring tone subscribed by the called number is determined.
[0326] 1715. The second media server sends an UPDATE message to the calling terminal. The UPDATE message carries media capability information of the second media server, such as SDP CAT1. The SDP information is used for media resource negotiation between the calling terminal and the second media server.
[0327] It should be understood that the UPDATE message is the first media negotiation message involved in the above embodiment.
[0328] 1716. The calling terminal receives the UPDATE message and returns a 200OK (UPDATE) message to the second media server. The 200OK (UPDATE) message carries the media capability information of the calling terminal, that is, the media negotiation result (such as SDPA3 information) between the calling terminal and the second media server.
[0329] It should be understood that the 200 OK (UPDATE) message is the second media negotiation message involved in the above embodiment.
[0330] 1717. The second media server sends a 180 ringing message to the calling terminal.
[0331] 1718. The second media server sends a media stream of the second media resource to the calling terminal.
[0332] 1719. The calling terminal receives and plays the second media resource.
[0333] 1720. The calling terminal sends a session end message to the first media server, where the session end message is used to indicate that the session is ended.
[0334] 1721. The first media server receives a session end message from the calling terminal, and closes the session between the first media server and the calling terminal.
[0335] Steps 1720 and 1721 are optional. If the calling terminal determines that there are early media resources to be played in the CT domain during this call, the first media resource will not be played, and steps 1720-1721 will be executed. Specifically, after receiving the 180 ringing message, the calling terminal determines that an UPDATE message for negotiating the CT domain media resources, i.e., the first media negotiation message, has been received, and the media resources in the CT domain (i.e., the second media resources) will be played instead of the first media resources.
[0336] Then, the calling terminal executes step 1720 to terminate the session with the first media server. The timing of executing step 1720 is not limited, and it can be executed after determining not to play the first media resource, for example, after step 1717.
[0337] 1722. After the called user picks up the phone, the called terminal sends a 200 OK (INVITE) message to the calling terminal. The 200 OK (INVITE) message is used to indicate that the called terminal has picked up the phone.
[0338] 1723. The calling terminal receives the 200 OK (INVITE) message and stops playing the second media resource.
[0339] The technical solution provided by the present application can determine that there are media resources in the CT domain during the call process if it is determined that the first media negotiation message is received. The calling terminal plays the media resources in the CT domain instead of the media resources in the IT domain, so that the media resources in the CT domain are played normally during the call process without being affected by other media resources, thereby avoiding playback conflicts and improving the user's communication and audio-visual experience. The first media server can release the first media resources to avoid occupying the memory of the first media server.
[0340] The following describes the playback process in the ringing stage by playing CT media resources and IT media resources simultaneously when there are media resources in the CT domain and IT domain in this call in combination with signaling interaction in the VoLTE network. Fig.18 This is a flowchart of a media resource playback method provided in an embodiment of the present application. Fig.18 :
[0341] 1801. The calling terminal sends an INVITE message, which carries the SDP information (such as SDPA1 information) of the calling terminal.
[0342] 1802. The calling terminal detects that the calling terminal initiates a call, and sends a resource acquisition request to the first media server through the target application client. The resource acquisition request carries relevant information of the call.
[0343] 1803. The first media server authenticates the user based on the relevant information of the current call. If the authentication is successful, execute step 1804.
[0344] 1804. The first media server determines address information of a first media resource corresponding to the relevant information based on the relevant information of the current call, and the first media resource matches the relevant information.
[0345] 1805. The first media server preloads the first media resource based on the address information of the first media resource.
[0346] 1806. The first media server returns address information of the first media resource to the calling terminal.
[0347] 1807. The calling terminal receives the address information.
[0348] 1808. The called terminal receives the INVITE message and sends a 183 message for the call request. The 183 message carries the SDP information (such as SDPB1 information) of the called terminal.
[0349] 1809. The calling terminal receives the 183 message and sends a PRACK message to the called terminal. The PRACK message is used to indicate that the calling terminal has received the 183 message sent by the called terminal.
[0350] 1810. The called terminal receives the PRACK message, and sends a 200 OK (PRACK) to the calling terminal. The 200 OK (PRACK) is used to indicate that the called terminal has received the PRACK message sent by the calling terminal.
[0351] 1811. The calling terminal receives the 200OK (PRACK) and sends an UPDATE message to the called terminal. The SDPA2 carried in the UPDATE message indicates that the calling terminal has successfully reserved resources for this call.
[0352] 1812. The called terminal receives the UPDATE message and sends a 200UPDATE message to the calling terminal. The SDPB2 information carried in the 200UPDATE message indicates that the called terminal has successfully reserved resources for this call.
[0353] At step 1812, the calling terminal and the called terminal successfully reserve resources for this call.
[0354] 1813. The called terminal starts ringing and sends the 180 ringing message to the second media server. The 180 ringing message carries relevant information of the current call.
[0355] 1814. The second media server receives the 180 ringing message, and determines, according to the relevant information of the current call, a second media resource corresponding to the relevant information.
[0356] 1815. The second media server sends an UPDATE message to the calling terminal. The UPDATE message carries media capability information of the second media server, such as SDP CAT1, which is used for media resource negotiation between the calling terminal and the second media server.
[0357] 1816. The calling terminal receives the UPDATE message and returns a 200OK (UPDATE) message to the second media server. The 200OK (UPDATE) message carries the media capability information of the calling terminal, that is, the media negotiation result (such as SDPA3 information) between the calling terminal and the second media server.
[0358] At step 1816, the calling terminal and the called terminal have successfully reserved the second media resource.
[0359] 1817. The second media server sends the 180 ringing message to the calling terminal.
[0360] 1818. The second media server sends a media stream of a second media resource to the calling terminal.
[0361] 1819. The calling terminal receives the 180 ringing message, plays the first media resource based on the address information, and plays the second media resource based on the received media stream of the second media resource.
[0362] 1820. The calling terminal displays an interactive control of the first media resource.
[0363] Step 1820 is an optional solution. Based on the interactive control, the calling terminal user can implement interactive operations on the first media resource to achieve the purpose of interaction, such as commenting, liking, etc.
[0364] 1821. After the called user picks up the phone, the called terminal sends a 200 OK (INVITE) message to the calling terminal. The 200 OK (INVITE) message is used to indicate that the called terminal has picked up the phone.
[0365] 1822. The calling terminal receives the 200 OK (INVITE) message and stops playing the second media resource.
[0366] 1823. If it is determined based on the setting information of the calling terminal that the display state of the first media resource is maintained during the call, the calling terminal displays a stop screen of the first media resource in a floating window.
[0367] This step 1823 is optional.
[0368] In another possible implementation, if it is determined based on the setting information of the calling terminal that the display state of the first media resource is not to be maintained during the call, the playing of the first media resource is turned off. Further optionally, the calling terminal sends a session end message to the first media server, where the session end message is used to indicate the end of the session.
[0369] 1824. The called terminal sends a Bye message to the calling terminal. The Bye message is used to indicate that the called terminal has hung up.
[0370] 1825. The calling terminal receives the Bye message and sends an ACK message to the called terminal. The ACK message is used to indicate that the calling terminal has received the Bye message sent by the called terminal.
[0371] At step 1825, the call between the calling terminal and the called terminal has ended.
[0372] Optionally, after the call ends, if the calling terminal detects a click operation on the floating window, the first media resource continues to be played. Optionally, the calling terminal displays a portal website interface in the opened target application client.
[0373] The technical solution provided by the present application, through the interaction between the target application client and the first media server, can play the media resources of the CT domain and the media resources of the IT domain at the same time when the media resources of the CT domain are played, thereby bringing new experience and more choices to users and improving the user experience and participation in the video ringback tone service.
[0374] Fig.19 is a structural diagram of a media resource playback device provided in an embodiment of the present application, the device is used to execute the method executed by the calling terminal in the above embodiment, see Fig.19 The media resource playback device includes a calling module 1901, a sending module 1902, a receiving module 1903 and a playback module 1904, wherein:
[0375] A calling module 1901 is used to initiate a call to a called terminal;
[0376] The sending module 1902 is used to send a resource acquisition request to the first media server through the target application client, where the resource acquisition request carries relevant information of the call;
[0377] The receiving module 1903 is configured to receive address information of a first media resource returned by the first media server based on the resource acquisition request, where the first media resource matches the relevant information;
[0378] The playing module 1904 is configured to play the first media resource based on the address information after receiving the ringing message.
[0379] In a possible implementation, the first media server is a server located in an Internet technology IT domain.
[0380] In a possible implementation, the first media server communicates via any one of the mobile Internet and home broadband fixed network.
[0381] In a possible implementation, the playback module 1904 is also used to execute step 608 .
[0382] In a possible implementation, the playback module 1904 is also used to execute step 708.
[0383] In a possible implementation, the device further includes a shielding module, configured to execute the process of shielding the second media resource in step 708 .
[0384] In a possible implementation, the playback module 1904 is also used to execute step 808.
[0385] In a possible implementation, the playing module 1904 is further configured to execute the process of playing the first media resource and the second media resource based on the setting information in step 808 .
[0386] In one possible implementation, the first media resource is played in full-screen mode, and the second media resource is played in floating window mode and silent mode; or, the second media resource is played in full-screen mode, and the first media resource is played in floating window mode and silent mode; or, both the first media resource and the second media resource are played in floating window mode, wherein at least one of the first media resource and the second media resource is in silent mode.
[0387] In a possible implementation, the device further includes a switching module, which is used to execute the process of switching the media resource played in the floating window to full-screen mode and closing another media resource in step 808.
[0388] In a possible implementation, the shielding module is further used to execute the process of shielding the third media resource in step 608.
[0389] In a possible implementation manner, the third media resource is any one of a locally stored media resource and a media resource sent by a telephone application server, and the telephone application server is a server in the CT domain.
[0390] In a possible implementation, the device further includes:
[0391] A display module, used to execute the display process of the interactive control in any one of step 1201, step 1615, and step 1820;
[0392] The sending module 1902 is also used to execute the sending process of the interactive request in step 1202 or step 1616.
[0393] In a possible implementation manner, the at least one function control is any one of at least one original function control of the target application client or at least one function control sent by the first media server.
[0394] In a possible implementation, the device further includes:
[0395] The playing module 1904 is also used to execute the process of stopping the playing based on the off-hook message in step 1301 or step 1620;
[0396] The display module is also used to execute the process of displaying the stop screen in the floating window in step 1302, step 1621 or step 1823.
[0397] In a possible implementation, the device further includes any of the following:
[0398] The playing module 1904 is also used to execute the process of continuing to play the first media resource in step 1303;
[0399] The display module is also used to execute the process of displaying the portal website interface in step 1303.
[0400] In a possible implementation, the playing module 1904 includes any of the following:
[0401] The silent playing submodule is used to execute the process of silently playing the first media resource during the call in step 1303.
[0402] The normal playing submodule is used to execute the process of normally playing the first media resource after the call ends in step 1303.
[0403] In a possible implementation, the device further includes a closing module, which is used to execute the process of closing the floating window in step 1303.
[0404] In a possible implementation, the playback module 1904 is also used to execute the process of switching playback in step 1303.
[0405] It should be noted that: the media resource playback device provided in the above embodiment only uses the division of the above functional modules as an example when playing media resources. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the media resource playback method embodiments provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0406] The technical solution provided by the present application can achieve the acquisition and playback of media resources through the interaction between the target application client and the first media server, without affecting the call process in the CT domain, thus avoiding problems such as the call being unable to be connected that may be caused during the interaction, simplifying the playback process of media resources, and improving communication efficiency. By building a video ringback tone application into the terminal, the video ringback tone service is implemented through IT services in the CT domain call process. In the context of IT network resources not becoming a bottleneck and network latency being shorter, the video ringback tone service can be expanded more flexibly.
[0407] Fig. 20 is a schematic diagram of the structure of a media resource playback device provided in an embodiment of the present application, the device is used to execute the method executed by the first media server in the above embodiment, see Fig. 20 , the media resource playback device includes a receiving module 2001, a determining module 2002 and a returning module 2003, wherein:
[0408] The receiving module 2001 is used to receive a resource acquisition request sent by a calling terminal through a target application client, and obtain the call related information carried in the resource acquisition request;
[0409] A determination module 2002, configured to determine address information of a first media resource corresponding to the relevant information based on the relevant information of the call;
[0410] The returning module 2003 is configured to return the address information of the first media resource to the calling terminal.
[0411] In a possible implementation, the device further includes a loading module, configured to execute step 605 , step 705 , step 805 , step 1605 , step 1705 , or step 1805 .
[0412] In a possible implementation, the device further includes an authentication module, configured to execute step 603 , step 703 , step 803 , step 1603 , step 1703 , or step 1803 .
[0413] In a possible implementation, the authentication module is used to execute the process of authenticating the calling number or the called number in step 603, step 703, step 803, step 1603, step 1703 or step 1803.
[0414] In a possible implementation, the device further includes a closing module, configured to execute the process of closing the session in step 613 or step 1721.
[0415] In a possible implementation, the device further includes a releasing module, configured to execute the process of releasing resources in step 613.
[0416] It should be noted that: the media resource playback device provided in the above embodiment only uses the division of the above functional modules as an example when playing media resources. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the media resource playback method embodiments provided in the above embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.
[0417] The technical solution provided by the present application can achieve the acquisition and playback of media resources through the interaction between the target application client and the first media server, without affecting the call process in the CT domain, thus avoiding problems such as the call being unable to be connected that may be caused during the interaction, simplifying the playback process of media resources, and improving communication efficiency. By building a video ringback tone application into the terminal, the video ringback tone service is implemented through IT services in the CT domain call process. In the context of IT network resources not becoming a bottleneck and network latency being shorter, the video ringback tone service can be expanded more flexibly.
[0418] In an exemplary embodiment, a computer storage medium is also provided, which may be a computer-readable storage medium, such as a memory including a program code, and the program code may be executed by a processor in a terminal to complete the media resource playing method on the calling terminal side in the above embodiment. For example, the computer-readable storage medium may be a ROM, a RAM, a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.
[0419] In an exemplary embodiment, a computer storage medium is also provided, which can be a computer-readable storage medium, such as a memory including a program code, and the program code can be executed by a processor in a terminal to complete the media resource playing method on the first media server side in the above embodiment. For example, the computer-readable storage medium can be a ROM, RAM, a compact disc read-only memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, etc.
[0420] The present application also provides a system for playing media resources, the system comprising a calling terminal and a first media server. In a possible implementation, the calling terminal and the first media server are respectively used to perform the above Figure 6 , Figure 7 , Figure 8 , Fig.11 , Fig.12 , Fig.13 , Fig.16 , Fig.17 or Fig.18 The illustrated embodiment provides a method for playing media resources, in which the calling terminal and the first media server perform the method.
[0421] A person skilled in the art will appreciate that all or part of the steps for implementing the above embodiments may be accomplished by hardware or by hardware associated with a program code, and the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a disk or an optical disk, etc.
[0422] It should be noted that those of ordinary skill in the art can appreciate that the units, modules, chips and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0423] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the system, device, module, unit or chip described above can refer to the corresponding process in the embodiment of the media resource playback method, and will not be repeated here.
[0424] In the several embodiments provided in the present application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of modules within the device or units in the modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or units can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, or it can be an electrical, mechanical or other form of connection.
[0425] The modules or units described as separate components may or may not be physically separated, and the components displayed as modules or units may or may not be physical modules or physical units, that is, they may be located in one place, or they may be distributed to multiple computer devices or chips. Some or all of the modules or units may be selected according to actual needs to achieve the purpose of the embodiments of the present application.
[0426] In addition, each functional module or unit in each embodiment of the present application may be integrated into a target processing module, or each module or unit may exist physically separately, or two or more modules or units may be integrated into a target processing module. The above-mentioned integrated modules or units may be implemented in the form of hardware or in the form of software functional units.
[0427] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A method for playing media resources, characterized in that: Applied to a calling terminal, the method comprises: The calling terminal initiates a call to the called terminal; During a call in the communication technology CT domain, a resource acquisition request is sent to a first media server through a target application client, the resource acquisition request carries relevant information of the call, and the first media server is a server located in the Internet technology IT domain; receiving address information of a first media resource returned by the first media server based on the resource acquisition request, wherein the first media resource matches the relevant information; After receiving the ringing message, if there are media resources in the CT domain for this call, the media resources in the CT domain are played; if there are no media resources in the CT domain for this call, the first media resource is played based on the address information.
2. The method according to claim 1, characterized in that: If there is no media resource in the CT domain in the current call, playing the first media resource based on the address information includes: If it is determined that the first media negotiation message is not received, the first media resource is played based on the address information, the first media negotiation message is used for media negotiation between a second media server and the calling terminal, and the second media server is located in a communication technology CT domain.
3. The method according to claim 1, characterized in that After receiving the ringing message and before playing the first media resource based on the address information, the method further includes: If the setting information of the calling terminal indicates to play the media resource from the first media server, the step of playing the first media resource is performed.
4. The method according to claim 1, characterized in that After the calling terminal initiates a call to the called terminal, the method further includes: If the setting information of the calling terminal indicates to play the media resources from the first media server and the second media server, the second media resource sent by the second media server is played.
5. The method according to claim 4, characterized in that The first media resource is played in full screen mode, and the second media resource is played in floating window mode and silent mode; or, The second media resource is played in full screen mode, and the first media resource is played in floating window mode and silent mode; or, The playback of the first media resource and the second media resource both adopt a floating window mode, wherein at least one of the first media resource and the second media resource is in a silent mode.
6. The method according to any one of claims 1 to 5, characterized in that: The method further comprises: Displaying at least one interactive control on a playback screen of a media resource; If an interactive operation on any interactive control is detected, an interactive request is sent to the first media server through the target application client based on the interactive operation, and the interactive request carries an interactive object and interactive content.
7. The method according to any one of claims 1 to 5, characterized in that: After playing the first media resource based on the address information, the method further includes: If an off-hook message from the called terminal is received, stop playing the first media resource; The stop screen of the first media resource is displayed in the floating window.
8. The method according to claim 7, characterized in that After displaying the stop screen of the first media resource in the floating window, the method further includes any one of the following: If a click operation on the floating window is detected, continue playing the first media resource; If a click operation on the floating window is detected, the portal website interface is displayed in the opened target application client.
9. A method for playing media resources, characterized in that: Applied to a first media server, the first media server is a server located in an Internet technology IT domain, the method comprises: During a call process of a calling terminal in a communication technology CT domain, receiving a resource acquisition request sent by the calling terminal through a target application client, and acquiring relevant information of the call carried in the resource acquisition request; Based on the relevant information of the call, determine address information of a first media resource corresponding to the relevant information; The address information of the first media resource is returned to the calling terminal, and the calling terminal plays the first media resource based on the address information when no media resource in the CT domain exists in the current call.
10. The method according to claim 9, characterized in that After determining the address information of the first media resource corresponding to the relevant information based on the relevant information of the call, the method further includes: Preload the first media resource.
11. The method according to claim 9 or 10, characterized in that: Before determining address information of a first media resource corresponding to the relevant information based on the relevant information of the call, the method further includes: Based on the relevant information, the user is authenticated, and if the authentication is successful, the step of determining the first media resource and the address information is executed.
12. The method according to claim 9 or 10, characterized in that: After returning the address information of the first media resource to the calling terminal, the method further includes: If a session end message from the calling terminal is received, the session between the first media server and the calling terminal is closed, where the session end message is used to indicate the end of the session.
13. A media resource playback device, characterized in that: The device comprises: A calling module, used to initiate a call to the called terminal; A sending module, used to send a resource acquisition request to a first media server through a target application client during a call in a communication technology CT domain, wherein the resource acquisition request carries relevant information of the call, and the first media server is a server located in an Internet technology IT domain; A receiving module, configured to receive address information of a first media resource returned by the first media server based on the resource acquisition request, wherein the first media resource matches the relevant information; The playing module is used to play the media resources in the CT domain after receiving the ringing message if there are media resources in the CT domain for this call, and to play the first media resource based on the address information if there are no media resources in the CT domain for this call.
14. The device according to claim 13, characterized in that The playback module is used to: If it is determined that the first media negotiation message is not received, the step of playing the first media resource is performed, the first media negotiation message is used for media negotiation between a second media server and a calling terminal, and the second media server is located in a communication technology CT domain.
15. The device according to claim 13, characterized in that The playback module is used to: If the setting information of the calling terminal indicates to play the media resource from the first media server, the step of playing the first media resource is performed.
16. The device according to claim 13, characterized in that The playback module is also used for: If the setting information of the calling terminal indicates to play the media resources from the first media server and the second media server, the second media resource sent by the second media server is played.
17. The device according to claim 16, characterized in that The first media resource is played in full screen mode, and the second media resource is played in floating window mode and silent mode; or, The second media resource is played in full screen mode, and the first media resource is played in floating window mode and silent mode; or, The playback of the first media resource and the second media resource both adopt a floating window mode, wherein at least one of the first media resource and the second media resource is in a silent mode.
18. The device according to any one of claims 13 to 17, characterized in that: The device also includes: A display module, used to display at least one interactive control on the playback screen of the media resource; The sending module is further configured to send an interaction request to the first media server through the target application client based on the interaction operation if an interaction operation on any interactive control is detected, wherein the interaction request carries an interaction object and interaction content.
19. The device according to any one of claims 13 to 17, characterized in that: The device also includes: The playing module is further configured to stop playing the first media resource if an off-hook message from the called terminal is received; The display module is further used to display the stop screen of the first media resource in a floating window.
20. The device according to claim 19, characterized in that The device further comprises any of the following: The playing module is further configured to continue playing the first media resource if a click operation on the floating window is detected; The display module is further configured to display a portal website interface in the opened target application client if a click operation on the floating window is detected.
21. A media resource playback device, characterized in that: The device is applied to a first media server, which is a server located in an Internet technology IT domain, and includes: A receiving module, used to receive a resource acquisition request sent by a calling terminal through a target application client during a call in a communication technology CT domain by a calling terminal, and obtain relevant information of the call carried in the resource acquisition request; A determination module, configured to determine, based on the relevant information of the call, address information of a first media resource corresponding to the relevant information; The returning module is used to return the address information of the first media resource to the calling terminal, and the calling terminal plays the first media resource based on the address information when there is no media resource in the CT domain in this call.
22. The device according to claim 21, characterized in that The device also includes a loading module, which is used to: Preload the first media resource.
23. The device according to claim 21 or 22, characterized in that The device also includes an authentication module, which is used to: Based on the relevant information, the user is authenticated, and if the authentication is successful, the step of determining the first media resource and the address information is executed.
24. The device according to claim 21 or 22, characterized in that The device also includes a release module, which is used to: If a session end message from the calling terminal is received, the session between the first media server and the calling terminal is closed, where the session end message is used to indicate the end of the session.
25. A method for playing media resources, characterized in that: The method comprises: The calling terminal initiates a call to the called terminal. During the call process in the communication technology CT domain, the calling terminal sends a resource acquisition request to the first media server through the target application client. The resource acquisition request carries relevant information of the call. The first media server is a server located in the Internet technology IT domain. The first media server receives a resource acquisition request sent by the calling terminal through the target application client, obtains call related information carried in the resource acquisition request; determines address information of a first media resource corresponding to the related information based on the call related information; and returns the address information of the first media resource to the calling terminal; The calling terminal receives the address information of the first media resource returned by the first media server based on the resource acquisition request, and the first media resource matches the relevant information; after receiving the ringing message, if there are media resources in the CT domain for this call, the media resources in the CT domain are played; if there are no media resources in the CT domain for this call, the first media resource is played based on the address information.
26. A media resource playback system, characterized in that: The system comprises: a calling terminal and a first media server, The calling terminal is used to initiate a call to the called terminal. During the call process in the communication technology CT domain, the calling terminal sends a resource acquisition request to the first media server through the target application client. The resource acquisition request carries relevant information of the call. The first media server is a server located in the Internet technology IT domain. The first media server is configured to receive a resource acquisition request sent by the calling terminal through the target application client, and obtain the call related information carried in the resource acquisition request; determine the address information of the first media resource corresponding to the related information based on the call related information; and return the address information of the first media resource to the calling terminal; The calling terminal is also used to receive address information of the first media resource returned by the first media server based on the resource acquisition request, and the first media resource matches the relevant information of the call; after receiving the ringing message, if there are media resources in the CT domain for this call, the media resources in the CT domain are played; if there are no media resources in the CT domain for this call, the first media resource is played based on the address information.
27. A terminal, characterized in that: The terminal includes a processor and a memory, wherein at least one program code is stored in the memory, and the program code is loaded and executed by the processor to implement the media resource playback method according to any one of claims 1 to 8.
28. A server, characterized in that: The server includes a processor and a memory, wherein at least one program code is stored in the memory, and the program code is loaded and executed by the processor to implement the media resource playback method according to any one of claims 9 to 12.
29. A computer storage medium, characterized in that At least one program code is stored in the computer storage medium, and the program code is loaded and executed by the processor to implement the media resource playback method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Music and image color ring back tone processing method and music and image color ring back tone processing device
CN104683602A