Media resource playback methods and related devices
By exchanging data between the calling terminal and the second media server, the interactive data is displayed to enrich the media resource playback in the ringback tone scenario, which solves the problem of the single media resource playback format in the existing technology and improves the user experience and fun.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-08-31
- Publication Date
- 2026-03-10
AI Technical Summary
In existing technologies, media resource playback methods are displayed in a single form on the call interface, resulting in a poor user experience and a lack of interactivity and fun.
By exchanging data between the calling terminal and the second media server, interactive data such as interactive buttons and animation effects are obtained and displayed, enriching the media interaction experience in the ringback tone scenario, and using the interactive data of the IT domain to supplement the media resource playback of the CT domain.
It enhances the richness and fun of the ringback tone user experience, increases the flexibility and interactivity of video ringback tone services, and improves the user's audiovisual experience.
Smart Images

Figure CN114125510B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technology, and in particular to a method and apparatus for playing media resources. Background Technology
[0002] With the continuous development of communication technology, Voice Over Long Term Evolution (VOLTE) technology has gradually entered people's lives, allowing them to enjoy various types of media resources. For example, users can enjoy video experiences such as video ringback tones and video customer service while making voice calls, making the pre-call waiting period more interesting and greatly improving the user's calling experience.
[0003] Currently, media resource playback methods are typically based on the CT (communication technology) domain, also known as the telecommunications domain. The corresponding process is as follows: the calling terminal initiates a call to the called terminal. When the called terminal rings, the media server in the CT domain retrieves the media resources corresponding to the user's subscription information from the media resource server based on the user's subscription information. Then, after receiving the confirmation message from the calling terminal, the media resource server is instructed to start playing the media resources for the calling terminal.
[0004] In the above solution, the media server in the CT domain plays media resources from the CT domain to the user during the call phase. The call interface can only display the image of the media resource, resulting in a single playback format and a poor user experience. Summary of the Invention
[0005] This application provides a media resource playback method and related apparatus, which enables media interaction in ringback tone scenarios, enriches the ringback tone user experience, and increases the fun of video ringback tone services. The technical solution of this media resource playback method and related apparatus is as follows:
[0006] Firstly, a method for playing media resources is provided, applied to the calling terminal. The implementation process of this method can be as follows:
[0007] A call request is sent to the called terminal, and the call request passes through the first media server;
[0008] Determine the resource information of the first media resource provided by the first media server;
[0009] The target application client sends an interactive data acquisition request to the second media server, and the interactive data acquisition request carries the resource information of the first media resource;
[0010] Receive interactive data of the first media resource returned by the second media server based on the resource information;
[0011] Receive and play the first media resource sent by the first media server;
[0012] The interactive data of the first media resource is displayed on the playback screen.
[0013] The technical solution provided in this application obtains interactive data of the first media resource through a second media server. Then, the calling terminal can add an overlay layer on the interface while playing the first media resource to display the interactive data, such as interactive buttons, bullet comments, and animation effects. This realizes media interaction in the ringback tone scenario, enriches the experience of ringback tone users, and increases the fun of the video ringback tone service. Furthermore, with the development and commercialization of 5G, and with IT network resources not constraining the network and shorter network latency, the video ringback tone service can be expanded more flexibly, such as through video overlay playback, video interface interaction, and video content scrolling switching, further increasing the fun of the video ringback tone service.
[0014] In one possible implementation, the first media server is located in the CT (Communication Technology) domain, and the second media server is located in the IT (Internet Technology) domain. Using interactive data from the IT domain to supplement the media resource playback in the CT domain enhances the fun and flexibility of the video ringback tone service.
[0015] In one possible implementation, determining the resource information of the first media resource provided by the first media server includes any of the following: obtaining the resource information of the first media resource from a first media negotiation message sent by the first media server; or obtaining the resource information carried by the first media resource from the header of the media stream of the first media resource transmitted by the first media server. This implementation provides multiple ways to obtain the resource information of the first media resource, improving the flexibility of the implementation.
[0016] In one possible implementation, the first media negotiation message is an Update message, and the resource information is located in the Session Description Protocol (SDP) information of the Update message.
[0017] In one possible implementation, the resource information is located in the supplemental enhancement information (SEI) at the beginning of the media stream.
[0018] In one possible implementation, the interactive data is interactive content data. Before sending an interactive data retrieval request to the second media server through the target application client, the method further includes:
[0019] Send a display data retrieval request to the second media server, the display data retrieval request being used to instruct the retrieval of display data for interactive controls;
[0020] The system receives address information returned by the second media server based on the display data acquisition request. This address information is used to provide display data for the interactive control. Based on this address information, the system acquires the display data for the interactive control from the second media server.
[0021] In this implementation, the process of first obtaining the display data of the interactive controls from the second media server, and then obtaining the interactive content data from the second media server based on the resource information, allows the display data of the interactive controls to be obtained in advance. This eliminates the need to obtain the display data of the interactive controls from the second media server when playing the first media resource later, thus reducing the amount of data to be obtained and reducing the display latency.
[0022] In one possible implementation, the interaction data includes interaction content data and display data of the interaction controls.
[0023] In this implementation, interactive content data and interactive control display data are acquired at once, ensuring synchronization between data acquisition and display.
[0024] In one possible implementation, after displaying the interactive data of the first media resource on the playback screen, the method further includes: if a trigger operation on any interactive control is detected, sending an interaction request corresponding to the interactive control to the second media server, the interaction request being used to implement interaction based on the first media resource. This implementation provides interactive functionality for the IT domain based on interactive controls, enriches the visual content of CT domain media resources, and enhances the experience of ringback tone services.
[0025] In one possible implementation, after displaying the interactive data of the first media resource on the playback screen of the first media resource, the method further includes: if an off-hook message is received from the called terminal, turning off the display of the interactive data of the first media resource.
[0026] In one possible implementation, after displaying the interactive data of the first media resource on the playback screen, the method further includes: if an off-hook message is received from the called terminal, stopping the playback of the first media resource and displaying a stop screen for the first media resource. In this implementation, retaining the display of the stop screen provides an entry point for subsequent operations.
[0027] In one possible implementation, after receiving an off-hook message from the called terminal, stopping playback of the first media resource, and displaying a stop screen for the first media resource, the method further includes: if a continuation playback operation on the stop screen is detected, retrieving a third media resource from the second media server and playing the third media resource, which matches the first media resource. During this process, the calling user can click the stop screen at any time during or after a call, enabling them to retrieve media resources with the same content from the IT domain, providing a continuous and complete audiovisual experience.
[0028] In one possible implementation, after receiving an off-hook message from the called terminal, stopping playback of the first media resource, and displaying a stop screen for the first media resource, the method further includes: if a triggering operation on the stop screen is detected, displaying a portal website interface in the opened target application client. In the above embodiment, if the calling user wants to access the portal website, they can do so by clicking the stop screen, which is convenient and simple.
[0029] In one possible implementation, after receiving an off-hook message from the called terminal, stopping playback of the first media resource, and displaying a stop screen for the first media resource, the method further includes: if a closing operation or screen off is detected on the stop screen, closing the target application client. This implementation provides a convenient and quick way to close the application, improving operational performance.
[0030] In one possible implementation, if a closing operation or screen-off operation is detected on the stopped screen, the method further includes: sending a session termination message to the second media server, the session termination message indicating session release. Upon receiving the session termination message from the calling terminal, the second media server releases the pre-loaded interactive content data of the second media resource to save memory space.
[0031] In one possible implementation, the method is characterized by further comprising: obtaining a second media resource from the second media server through the target application client;
[0032] The playback of the first media resource sent by the first media server includes: playing the first media resource in full-screen mode;
[0033] The method further includes: playing the second media resource silently within a floating window on the playback screen of the first media resource.
[0034] In one possible implementation, the method further includes: playing the second media resource in full-screen mode;
[0035] The playback of the first media resource sent by the first media server includes: playing the first media resource silently within a floating window on the playback screen of the second media resource.
[0036] In one possible implementation, the playback of the first media resource sent by the first media server includes: playing the first media resource in the form of a floating window;
[0037] The method also includes playing the second media resource as a floating window.
[0038] The above process provides multiple playback modes when simultaneously playing media resources from both the IT and CT domains, offering users an intuitive interface and allowing them to select media resources. Furthermore, displaying one media resource in full screen and another in a floating window creates a picture-in-picture effect, providing a better visual experience without causing visual clutter. Optionally, it also provides placement options for operations; advertisers can place media resources on either the first or second media server for push notifications to terminals to achieve operational goals.
[0039] In one possible implementation, the interactive data includes at least one of homepage visit data, like data, comment data, share data, and download data. In another possible implementation, the interactive control includes at least one of a homepage visit control, like control, comment control, share control, and download control. These implementations enrich the interactive functionality and significantly improve the user experience.
[0040] Secondly, a media resource playback method is provided, which is applied to a second media server. The implementation process of this method can be as follows:
[0041] Receive an interactive data acquisition request sent by the calling terminal through the target application client, the interactive data acquisition request carrying resource information of the first media resource;
[0042] Based on this resource information, the interactive data of the first media resource is determined;
[0043] Return the interactive data to the calling terminal.
[0044] The technical solution provided in this application obtains the interactive data of the first media resource through a second media server. Then, while playing the first media resource, the calling terminal can add an overlay layer on the interface to display the interactive data, such as interactive buttons, bullet comments, and animation effects. This realizes media interaction in the ringback tone scenario, enriches the experience of ringback tone users, and increases the fun of the video ringback tone service. Furthermore, with the development and commercialization of 5G, and given that IT network resources are not a bottleneck and network latency is shorter, the video ringback tone service can be expanded more flexibly, such as through video overlay playback, video interface interaction, and video content scrolling, further increasing the fun of the video ringback tone service.
[0045] In one possible implementation, the characteristic feature is that determining the interactive data of the first media resource based on the resource information includes: determining the address information corresponding to the resource information, the address information being used to provide the interactive data;
[0046] The interactive data returned to the calling terminal includes: returning the address information to the calling terminal.
[0047] In one possible implementation, the interaction data is interaction content data, and before the receiving calling terminal sends an interaction data acquisition request through the target application client, the method further includes:
[0048] Receive the display data acquisition request sent by the calling terminal through the target application client. The display data acquisition request is used to indicate the acquisition of display data of interactive controls.
[0049] Determine the address information of the display data for the interactive control; this address information is used to provide the display data for the interactive control.
[0050] Return the address information to the calling terminal.
[0051] In this implementation, the display data of the interactive controls is extracted and obtained through a second media server, which ensures the timely display of the interactive controls when the media resources are played, and avoids the problem of display delay.
[0052] In one possible implementation, after determining the address information of the display data of the interactive control, the method further includes: preloading the display data of the interactive control.
[0053] By using the preloading method described above, the latency of subsequent interactive control display can be optimized, the efficiency of data acquisition can be improved, and the problem of long control display time during subsequent media resource playback can be avoided.
[0054] In one possible implementation, the display data acquisition request also carries information related to the call in which the calling terminal participated. After receiving the display data acquisition request sent by the calling terminal through the target application client, the method further includes: authenticating the user's legitimacy and authenticating the functional services based on the relevant information of the call. This process, by authenticating the user, verifies at least one of the user's legitimacy and validity, ensuring the secure display of interactive controls during subsequent media resource playback, thus improving the security and reliability of interactive control display in the IT domain.
[0055] In one possible implementation, after returning the interactive data to the calling terminal, the method further includes: receiving a resource acquisition request sent by the calling terminal, the resource acquisition request carrying resource information of the first media resource; determining a third media resource corresponding to the resource information based on the resource information, the third media resource matching the first media resource; and returning the third media resource to the calling terminal. During the above process, the calling user can click the stop screen at any time during or after the call to obtain media resources with the same media content from the IT domain, providing a continuous and complete audiovisual experience.
[0056] In one possible implementation, after determining the third media resource corresponding to the resource information based on the resource information, the method further includes: establishing a session with the calling terminal based on the third media resource, the session being used to record playback information of the third media resource.
[0057] In one possible implementation, after returning the third media resource to the calling terminal, the method further includes: if a session termination message is received from the calling terminal, releasing the session with the calling terminal, wherein the session termination message indicates the end of the session. By releasing the session in a timely manner, waste of server resources can be avoided.
[0058] Thirdly, a media resource playback device is provided for executing the aforementioned media resource playback method. Specifically, the media resource playback device includes a functional module for executing the media resource playback method provided in the first aspect or any optional embodiment of the first aspect.
[0059] Fourthly, a media server is provided for executing the media resource playback method described above. Specifically, the media server includes a functional module for executing the media resource playback method provided in the second aspect or any alternative method of the second aspect.
[0060] Fifthly, a method for playing media resources is provided, the method including:
[0061] The calling terminal sends a call request to the called terminal, and the call request passes through a first media server; the calling terminal determines the resource information of the first media resource provided by the first media server; the calling terminal sends an interactive data acquisition request to a second media server through a target application client, and the interactive data acquisition request carries the resource information of the first media resource;
[0062] The second media server receives an interactive data acquisition request sent by the calling terminal through the target application client. The interactive data acquisition request carries resource information of the first media resource. Based on the resource information, the second media server determines the interactive data of the first media resource. The second media server returns the interactive data to the calling terminal.
[0063] The calling terminal receives interactive data of the first media resource returned by the second media server based on the resource information; receives and plays the first media resource sent by the first media server; and displays the interactive data of the first media resource on the playback screen of the first media resource.
[0064] Sixthly, a media resource playback system is provided, which includes a calling terminal, a first media server, and a second media server, wherein the calling terminal, the first media server, and the second media server are used to execute the media resource playback method provided in the fifth aspect above.
[0065] In a seventh aspect, a terminal is provided, the terminal including a processor and a memory, the memory storing at least one piece of program code, the program code being loaded and executed by the processor to implement the media resource playback method provided as described in the first aspect or any alternative method of the first aspect.
[0066] Eighthly, a server is provided, the server including a processor and a memory, the memory storing at least one piece of program code, the program code being loaded and executed by the processor to implement the media resource playback method provided as described in the second aspect above or any alternative method of the second aspect above.
[0067] Ninth aspect, a computer program product is provided that, when the computer program product is run on a computer, causes the computer to perform some or all of the steps of any method of the first aspect or the second aspect or any alternative method of the first aspect and the second aspect.
[0068] In a tenth aspect, a computer storage medium is provided, wherein at least one piece of program code is stored therein, the program code being loaded and executed by a processor to implement a media resource playback method as described in the first aspect, the second aspect, or any alternative manner of the first and second aspects. Attached Figure Description
[0069] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0070] Figure 1 This is a media resource system architecture diagram provided in an embodiment of this application;
[0071] Figure 2 This is a schematic diagram illustrating the services provided by a video ringback tone cloud platform in different domains, as provided in an embodiment of this application.
[0072] Figure 3 This is a media resource system architecture diagram provided in an embodiment of this application;
[0073] Figure 4 This is a system architecture diagram of a terminal provided in an embodiment of this application;
[0074] Figure 5 This is a schematic diagram of the structure of a terminal provided in an embodiment of this application;
[0075] Figure 6 This is a schematic diagram of the structure of a server provided in an embodiment of this application;
[0076] Figure 7 This is a flowchart of a media resource playback method provided in an embodiment of this application;
[0077] Figure 8 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application;
[0078] Figure 9 This is a schematic diagram illustrating an Update message carrying resource information provided in an embodiment of this application;
[0079] Figure 10 This is a schematic diagram illustrating a media stream carrying resource information according to an embodiment of this application;
[0080] Figure 11 This is a flowchart of a media resource playback method provided in an embodiment of this application;
[0081] Figure 12 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application;
[0082] Figure 13 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application;
[0083] Figure 14This is a flowchart illustrating an interactive method for playing media resources, as provided in an embodiment of this application.
[0084] Figure 15 This is a flowchart of a playback pause processing method based on media resource playback provided in an embodiment of this application;
[0085] Figure 16 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application;
[0086] Figure 17 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application;
[0087] Figure 18 This is a flowchart of a media resource playback method provided in an embodiment of this application;
[0088] Figure 19 This is a schematic diagram of the structure of a media resource playback device provided in an embodiment of this application;
[0089] Figure 20 This is a schematic diagram of the structure of a media server provided in an embodiment of this application. Detailed Implementation
[0090] The embodiments of this application will now be described in further detail with reference to the accompanying drawings.
[0091] The embodiments of this application can be applied to 4G, 5G, or future mobile communication network architectures. For ease of description, the network architecture and method flow of this solution are illustrated below using a 4G-based VoLTE network as an example.
[0092] Figure 1 This is a media resource system architecture diagram provided in an embodiment of this application. See also... Figure 1 The system may include a first media server located in the CT domain, a second media server located in the IT domain, a calling terminal, and a called terminal.
[0093] The CT domain, also known as the telecommunications domain, achieves communication through the evolved packet core (EPC) and the Internet Protocol Multimedia Subsystem (IMS) core network. The IMS core network includes several application servers (AS), such as a first media server. The first media server provides playback of first media resources to terminals; for example, when providing video ringback tone services, it is also called a video ringback tone platform. The first media server may include a media application server and a media resource subsystem (MRS). The media resource server, also known as a ringback tone platform, provides media resources such as video ringback tones, video ringback sounds, video advertisements, and video customer service; for example, it creates and manages these media resources. The media application server and the media resource server can be co-located or physically separated. The media application server processes Session Initiation Protocol (SIP) signaling messages, while the media resource server provides audio and / or video streams to the calling and / or called terminals.
[0094] In addition, the IMS domain core network also includes: Serving-Call Session Control Function (S-CSCF) devices, Interrogating-Call Session Control Function (I-CSCF) devices, Proxy-Call Session Control Function (P-CSCF) devices, Home Subscriber Server (HSS) devices, Session Border Controller (SBC) devices, and several application servers, such as Telephony Application Server (TAS), Multimedia Telephony Application Server (MMTel AS), and Server Centralization and Continuity Application Server (SCC AS). I-CSCF devices can be co-located with S-CSCF devices and are referred to as "I / S-CSCF" devices. SBC devices and P-CSCF devices can be co-located and are referred to as "SBC / P-CSCF" devices. An EPC may include a Packet Data Network Gateway (PGW) device, a Serving Gateway (SGW) device, and a Mobile Management Entity (MME) device.
[0095] S / P-GW devices provide the functions of service gateways and packet data network gateways (PDGs). SGWs are local mobility anchors, primarily oriented towards the radio access network for service plane data transmission. P-GWs are EPS anchors, primarily oriented towards other data networks, enabling access and interaction with multiple public data networks. SGW devices can be used to connect the IMS core network to the wireless network, while PGW devices can be used to connect the IMS core network to Internet Protocol (IP) networks. MME devices are core devices in the EPC network, providing the functions of MME logical entities.
[0096] See Figure 1When the first media server and the calling terminal interact, the message data stream is a CT domain signaling stream, meaning its control messages are SIP messages. However, when transmitting media resources, the media data stream is a CT domain media stream, i.e., an RTP media stream. The terminal accesses the IMS domain core network through the S / P-GW in the EPC to access the first media server. For example, during the call process, the calling terminal interacts with network devices in the IMS domain core network via SIP messages, and then the first media server and the calling terminal perform media negotiation processes. If the call contains CT domain media resources, the first media server pushes these resources to the calling terminal as an RTP media stream.
[0097] The IT domain can also be called the Internet domain. The second media server provides interactive data services to users, as well as media resource playback services. It also provides a visual interface for users to easily set and manage media resources. Optionally, the first media server also provides settings functions, which users can configure through the target application client to obtain settings information for personalized display, such as overlay styles. Optionally, the second media server stores user information or is associated with a database, using the database to store user information, display data of interactive controls, interactive content data of media resources, and media resources themselves. In this embodiment, the example of a second media server associated with an interactive database is used for illustration.
[0098] In this embodiment of the application, the calling terminal has a target application client installed, such as a video ringback tone application. The calling terminal can obtain the interactive data service provided by the second media server through the target application client, that is, obtain the interactive data of the media resources provided by the second media server, and display it based on the playback of the media resources during the call.
[0099] The second media server provides interactive data services. Users can subscribe to these services through a target application client. For example, they can access the second media server's portal website through the target application client and subscribe by performing actions on the portal website. After subscription, the second media server stores user information in an interactive database so that it can subsequently provide interactive data services based on the stored information. Optionally, the second media server also provides a media resource subscription service to subscribe to media resources played during a call, allowing the terminal to obtain and play media resources through the target application client during a call.
[0100] Optionally, when the second media server and the calling terminal perform signaling interaction, the transmission protocol used is Hypertext Transfer Protocol (HTTP) or Hypertext Transfer Protocol over Secure Socket Layer (HTTPS). In this embodiment, the second media server supports multiple transmission protocols, which, compared with the single signaling stream protocol of the CT domain, can more conveniently and flexibly realize signaling interaction based on media resource playback.
[0101] Optionally, when the second media server and the calling terminal transmit media streams, they may use the Real-Time Messaging Protocol (RTMP) or a Hypertext Transfer Protocol Flash Video (HTTP FLV) multiplexed streaming protocol. In this embodiment, the second media server supports multiple transmission protocols, which, compared to the single signaling stream protocol in the CT domain, enables more convenient and flexible playback of media resources.
[0102] It should be noted that when the second media server interacts with the calling terminal, it uses the signaling or media stream of the IT domain. When the calling terminal interacts with the first media server, it uses the signaling or media stream of the CT domain. Accordingly, when the second media server interacts with the calling terminal, if the HTTP protocol is used, the control messages exchanged are HTTP messages, HTTPS messages, HTTP responses, or HTTPS responses, and the message data stream is the IT domain signaling stream, such as a Hypertext Markup Language (HTML) stream. However, when transmitting media resources, the media data stream is the IT domain media stream, such as an RTMP media stream or an HTTP FLV media stream.
[0103] See Figure 1The calling terminal accesses the second media server through a gateway. The gateway may include a packet data network gateway (PGW) device or a serving gateway (SGW) device. The PGW and SGW devices can be combined and referred to as an "S / P-GW" device. Specifically, after initiating a call, the calling terminal sends a corresponding request to the S / P-GW through the target application client. The S / P-GW then forwards the request to the second media server. During the CT domain call process, the target application client accesses the second media server through the IT network to obtain the IT domain signaling stream. Then, during the ringing phase, interactive controls and corresponding interactive content data are displayed on the CT domain media resource playback screen, thereby realizing the interactive function based on the CT domain ringback tone service. It should be understood that the playback of media resources in the IT domain occurs during the CT domain call process, and its acquisition is triggered by the CT domain call process. However, since the interaction between the calling terminal and the second media server is through the IT domain, it does not affect the CT domain call flow, ensuring the normal operation of the call.
[0104] Optionally, see Figure 2 The diagram illustrates the services provided by the video ringback tone cloud platform in different domains. The first media server provided in this embodiment is used by operators for advertising, corporate promotion, and other related services, such as personal video ringback tones, corporate video ringback tones, media advertising, landline video ringback tones, caring video ringback tones, and contextual video ringback tones. Terminals access the first media server through the CT domain. The terminal and the first media server interact based on CT domain signaling streams, for example, using SIP messages. The first media server sends media resources to the terminal in the form of CT domain media streams, for example, using RTP media streams. The second media server can provide interactive services, such as content directories, likes, comments, downloads, sharing, and other services. Optionally, the second media server can also provide IT domain video ringback tone services during the ringing phase, and subsequently, the second media resource represents the IT domain media resource. The terminal accesses the second media server through the IT domain. The terminal and the second media server interact based on the IT domain signaling stream, such as using HTTP messages, HTTPS messages, HTTP responses, or HTTPS responses for signaling interaction. The first media server sends media resources to the terminal in the form of IT domain media streams, such as using RTMP media streams to send the second media resources.
[0105] For the calling terminal, there are various ways to access the network, as mentioned above. Figure 1This example illustrates the process of accessing the network through a gateway. However, in another system architecture, the calling terminal can access the network through other network devices, such as an access network or a metropolitan area network. Figure 3 This application provides a media resource system architecture diagram. The system includes a second media server located in an access network or metropolitan area network (MAN) or IT domain, a first media server located in a CT domain, a calling terminal, and a called terminal. The access network or MAN includes a broadband remote access server (BRAS) and routers. The BRAS is a network device used to handle access, authentication, billing, control, and management of broadband network users for various broadband access methods. Routers are devices that connect various local area networks (LANs) and wide area networks (WANs), capable of automatically selecting and setting routes based on channel conditions to transmit messages using the optimal path. Other network devices are described in [reference needed]. Figure 1 The illustrated embodiment. The terminal accesses the second media server by forwarding a resource acquisition request sent by the target application client to the second media server via the BRAS and router, thereby enabling playback of the media resources provided in this embodiment. The signaling interaction and media resource transmission between the calling terminal and the first media server are described above. Figure 1 Example.
[0106] The above Figure 1 and Figure 3 The system architecture is based on the different network access methods of the terminal. With the popularization of 4G network and the construction of 5G network, the network bandwidth and latency of mobile Internet and home broadband fixed network have very high availability, which can ensure the security and reliability of communication and high communication efficiency.
[0107] The terminals involved in this application embodiment are devices with wireless transceiver capabilities, which can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on water (such as ships); and they can also be deployed in the air (such as airplanes, balloons, and satellites). Specifically, the aforementioned terminals can be terminal devices that can access mobile networks, such as mobile phones, tablets, computers with wireless transceiver capabilities, virtual reality (VR) terminals, augmented reality (AR) terminals, wireless terminals in industrial control, wireless terminals in self-driving, wireless terminals in remote medical care, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, and so on. Terminals can also be terminal devices that can access fixed networks, such as wired telephones; terminals can also be soft terminals corresponding to application software with calling functions. Figure 4 This is a system architecture diagram of a terminal provided in an embodiment of this application. See also... Figure 4The terminal may include: applications, an application framework, a hardware abstraction layer (HAL), libraries, and a Linux kernel. Applications include a dialer application and a video ringback tone application (VBT). The dialer application has call and dialing functions. The video ringback tone application is the target application mentioned above, and the target application client is the video ringback tone application client. The application framework includes a window manager module, a telephone manager module, and a resource manager module. The hardware abstraction layer is an interface layer located between the operating system (Linux) kernel and the hardware circuitry, used to abstract the hardware. In this embodiment, the hardware abstraction layer is the operating system's interface layer. Libraries are used to store files of Android system applications and third-party applications. Through these libraries, it is convenient for one application to call some functions of other applications. For example, after initiating a call, the dialer application calls the video ringback tone application to obtain interactive data from the IT domain, and optionally, obtains the ringback tone from the IT domain. In the implementation of this application embodiment, by cooperating with the telephone dialing application and the video ringback tone application, interactive data can be displayed while media resources are being played.
[0108] Figure 5 This is a schematic diagram of a terminal provided in an embodiment of this application. This terminal can be used to execute the media resource playback methods on the calling terminal side in the following embodiments. See also... Figure 5 The terminal 500 includes:
[0109] Terminal 500 may include radio frequency (RF) circuitry 501, a memory 502 including one or more computer-readable storage media, an input unit 503, a display unit 504, audio circuitry 505, a wireless fidelity (WiFi) module 506, a processor 507 including one or more processing cores, and a power supply 508, among other components. Those skilled in the art will understand that... Figure 5 The terminal structure shown does not constitute a limitation on the terminal and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:
[0110] RF circuit 501 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink information from the base station and hands it over to one or more processors 507 for processing; additionally, it transmits uplink data to the base station. Typically, RF circuit 501 includes, but is not limited to, an antenna, at least one amplifier, a tuner, one or more oscillators, a Subscriber Identity Module (SIM) card, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc. Furthermore, RF circuit 501 can also communicate wirelessly with networks and other devices. This wireless communication can use any communication standard or protocol, including but not limited to Global System for Mobile Communications (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. RF circuit 501 is used to implement the call setup process and call processes in the embodiments of this application.
[0111] The memory 502 can be used to store software programs and modules. The processor 507 executes various functional applications and data processing by running the software programs and modules stored in the memory 502. The memory 502 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the terminal 500 (such as audio data, phone book, etc.). In addition, the memory 502 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 502 may also include a memory controller to provide access to the memory 502 for the processor 507 and the input unit 503. The memory 502 is also used to store at least one of the display data of interactive controls, interactive content data, second media resources, and first media resources obtained by the terminal in this embodiment of the application.
[0112] Input unit 503 can be used to receive input digital or character information, and to generate keyboard, mouse, joystick, optical, or trackball signal inputs related to user settings and function control. Specifically, input unit 503 may include a touch-sensitive surface 5031 and other input devices 5032. Touch-sensitive surface 5031, also known as a touch display screen or touchpad, can collect user touch operations on or near it (such as user operations using fingers, styluses, or any suitable object or accessory on or near touch-sensitive surface 5031), and drive corresponding connection devices according to a pre-set program. Optionally, touch-sensitive surface 5031 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, sends it to the processor 507, and can receive and execute commands from the processor 507. In addition, the touch-sensitive surface 5031 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. Besides the touch-sensitive surface 5031, the input unit 503 may also include other input devices 5032. Specifically, other input devices 5032 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control controls, power switches, etc.), trackball, mouse, joystick, etc. The aforementioned input unit 503 is used to receive signals triggered by user operations on the input unit 503 and transmit these signals to the corresponding controller. For example, in this embodiment, the user can perform touch operations on the input unit 503 to select media resources for playback and operate interactive controls.
[0113] Display unit 504 can be used to display information input by the user or information provided to the user, as well as various graphical user interfaces of terminal 500. These graphical user interfaces can be composed of graphics, text, icons, video, and any combination thereof. Display unit 504 may include display panel 5041, optionally configured as a liquid crystal display (LCD), organic light-emitting diode (OLED), or similar form. Further, touch-sensitive surface 5031 may cover display panel 5041. When touch-sensitive surface 5031 detects a touch operation on or near it, it transmits the information to processor 507 to determine the type of touch event. Subsequently, processor 507 provides corresponding visual output on display panel 5041 according to the type of touch event. For example, the above-described display unit 504 can display at least one of the playback screens of a second media resource and a first media resource. Although in Figure 5In this embodiment, the touch-sensitive surface 5031 and the display panel 5041 are implemented as two separate components to realize input and output functions. However, in some embodiments, the touch-sensitive surface 5031 and the display panel 5041 can be integrated to realize input and output functions.
[0114] Audio circuit 505, speaker 5051, and microphone 5052 provide an audio interface between the user and terminal 500. Audio circuit 505 converts received audio data into electrical signals and transmits them to speaker 5051, where speaker 5051 converts them into sound signals for output. Conversely, microphone 5052 converts collected sound signals into electrical signals, which are then received by audio circuit 505, converted back into audio data, and processed by processor 507 before being transmitted via RF circuit 501 to, for example, another terminal, or output to memory 502 for further processing. Audio circuit 505 may also include an earphone jack to facilitate communication between peripheral headphones and terminal 500. In this embodiment, audio circuit 505 and speaker 5051 enable audio playback-related processes on the terminal side. For example, when playing any media resource, the terminal processes and plays audio data through audio circuit 505 and speaker 5051.
[0115] WiFi is a short-range wireless transmission technology. Terminal 500, through WiFi module 506, can help users send and receive emails, browse web pages, and access streaming media, providing users with wireless broadband internet access. Although Figure 5 WiFi module 506 is shown, but it is understood that it is not a necessary component of terminal 500 and can be omitted as needed without changing the nature of the invention.
[0116] The processor 507 is the control center of the terminal 500. It connects various parts of the phone via various interfaces and lines, and performs various functions and processes data of the terminal 500 by running or executing software programs and / or modules stored in the memory 502, and by calling data stored in the memory 502, thereby providing overall monitoring of the phone. Optionally, the processor 507 may include one or more processing cores; optionally, the processor 507 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the aforementioned modem processor may also not be integrated into the processor 507.
[0117] Terminal 500 also includes a power supply 508 (such as a battery) to power various components. Optionally, the power supply can be logically connected to processor 507 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. Power supply 508 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components. Although not shown, terminal 500 may also include a camera, Bluetooth module, etc., which will not be described further here.
[0118] Figure 6 This is a schematic diagram of a server structure provided in an embodiment of this application. The server 600 includes components that can vary significantly depending on configuration or performance. It may include one or more processors 601 and one or more memories 602. The memory 602 stores at least one line of program code, which is loaded and executed by the processor 601 to implement the media resource playback method executed by the second media server in each of the above method embodiments. Of course, the server 600 may also have wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The server 600 may also include other components for implementing device functions, which will not be elaborated here. The processor can be any of the following: central processing unit (CPU), graphics processing unit (GPU), tensor processing unit (TPU), neural network processing unit (NPU), brain processing unit (BPU), deep learning processing unit (DPU), holographic processing unit (HPU), vector processing unit (VPU), and intelligence processing unit (IPU).
[0119] The processor 601 can be a general-purpose CPU, microprocessor, application-specific integrated circuit (ASIC), GPU, or one or more integrated circuits to execute relevant programs to implement the media resource playback method described above.
[0120] The processor 601 can also be an integrated circuit chip with signal processing capabilities. In implementation, each step of the media resource playback method of this application can be completed by the integrated logic circuitry in the hardware of the processor 601 or by program code in software form. The aforementioned processor 601 can also be a general-purpose processor, a digital signal processor (DSP), an ASI, a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. It can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software modules can be located in random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory, electrically erasable programmable memory, registers, or other mature storage media in the art. The storage medium is located in the memory 602. The processor 601 reads the information in the memory 602 and, in conjunction with its hardware, performs the functions required by the modules included in the second media server of this application embodiment, or performs the media resource playback method on the second media server side of the method embodiment of this application.
[0121] It should be noted that the names of the various requests involved in the embodiments of this application do not limit the function of the requests, and the naming of these various requests can be changed based on protocols, etc.
[0122] The above embodiments describe the system architecture and the hardware structures involved. The method of this application embodiment is applied to... Figure 1 or Figure 3 The system architecture shown can, of course, be applied to other communication scenarios, and the embodiments of this application are not limited thereto. The solution of this application will be described below with reference to specific embodiments. Figure 7 This is a flowchart of a media resource playback method provided in an embodiment of this application. The process involves playing media resources in the CT domain if such resources exist during the current call, and displaying interactive data from the IT domain on the playback screen of the CT domain media resources. The display data for the interactive controls and the acquisition of the interactive data are performed in batches. Figure 7 It includes the following steps.
[0123] 701. The calling terminal sends a call request to the called terminal, and the call request passes through the first media server.
[0124] The call request can be either a video call request or an audio call request. The first media server is a server located in the CT domain of the communication technology.
[0125] In one possible implementation, when the calling terminal initiates a call to the called terminal, it sends a call request to the called terminal via the calling terminal's telephone dialing application. It should be understood that this call request is transparently transmitted to the called terminal through network devices in the CT domain, and the call request passes through the first media server in the CT domain.
[0126] 702. The calling terminal sends a display data retrieval request to the second media server through the target application client. The display data retrieval request carries relevant information about the call in which the calling terminal is involved.
[0127] The target application client is an application client with the function of playing media resources during the ringing phase, such as a video ringback tone application client, which has a built-in media player. The second media server is a server located in the Internet technology IT domain. The display data acquisition request is used to indicate the acquisition of display data for interactive controls. Optionally, the relevant information of the call includes the caller's number, the called number, the caller's location information, the call type, and / or the call time, etc. It should be noted that this embodiment only uses the display data acquisition request to represent the request for acquiring display data in the IT domain, and the name of the display data acquisition request is not limited in this application embodiment. The interactive controls include at least one of the following: homepage access control (also known as content yellow page control), like control, comment control, share control, and download control. The display data of the interactive control is also the rendering data of the interactive control. For example, Figure 8 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application. Figure 8 The playback page displays multiple interactive controls for content directories, likes, comments, shares, downloads, and more content. It should be understood that in step 702, media resource playback has not yet begun; this is only a preliminary step. Figure 8 Let's take an example to explain the rendering of multiple interactive controls.
[0128] In one possible implementation, after the calling terminal sends a call request to the called terminal, it launches the target application client (also known as opening the target application client). The calling terminal's dialing application sends relevant information about the call to the target application client. Upon receiving this information, the target application client sends a display data retrieval request carrying this information to a second media server via the IT domain. This display data retrieval request can be sent using either HTTP or HTTPS protocols.
[0129] 703. The second media server receives a display data retrieval request sent by the calling terminal through the target application client.
[0130] In one possible implementation, after receiving a display data retrieval request sent by the calling terminal through the target application client, the second media server reads the relevant information of this call from the corresponding field of the display data retrieval request.
[0131] 704. Based on the relevant information of the call, the second media server performs legality authentication and functional service authentication on the user. If the authentication is successful, step 705 is executed.
[0132] In this embodiment, authentication includes authentication of user function information (also known as validity authentication). Optionally, the authentication also includes authentication of user identity information. User function information authentication refers to verifying whether the user has enabled the display interactive control function. User identity information authentication refers to verifying the user's identity, such as verifying the called mobile phone number to confirm whether the mobile phone number is a legitimate mobile phone number. Optionally, user authentication may involve authenticating at least one of the calling user and the called user.
[0133] In one possible implementation, taking caller ID authentication as an example, the corresponding authentication process includes: After the second media server obtains the information carried in the display data acquisition request, it determines whether the caller ID is a legitimate number based on the caller ID in the information. If the caller ID is legitimate, it queries the subscription database. If the query finds that the caller ID has subscribed to the display interactive control function, the user authentication is successful, and subsequent step 705 is executed. If the caller ID is not found, the user authentication fails. The authentication process for the called user is the same as described above.
[0134] Optionally, the second media server also records relevant information about this call, which can be used as data reference for subsequent operations.
[0135] The above process verifies at least one of the following by authenticating the user: the user's legitimacy and validity. This ensures the secure display of interactive controls during subsequent media resource playback and improves the security and reliability of interactive control display in the IT domain.
[0136] It should be noted that after the second media server authenticates the user, it establishes a session connection with the calling terminal. This session connection is based on the HTTP or HTTPS protocol so that in the subsequent process, the two parties can interact with the calling terminal to exchange relevant information about resources.
[0137] 705. The second media server sends the display data of the interactive controls to the calling terminal.
[0138] The second media server or its associated database stores display data for interactive controls. This display data is rendering data used to indicate the display format of the interactive controls, and the terminal can render the interactive controls based on this data. For example, the default display data includes the default overlay styles for homepage access controls, like controls, comment controls, share controls, and download controls.
[0139] In one possible implementation, in response to a display data retrieval request, the second media server retrieves the display data of the interactive control from its own server or an associated database, and then sends the display data of the interactive control to the terminal. Optionally, the second media server can achieve fast transmission of display data via data packets, improving the efficiency of the calling terminal in obtaining display data.
[0140] In another possible implementation, the target application client can also provide users with multiple overlay styles. Users can then select their desired overlay style through the target application client. Subsequently, the second media server can determine the overlay style set by the user in advance based on the settings information of the calling terminal, further query the local server or subscription database to obtain the display data of the interactive control corresponding to the overlay style, and send the display data of the interactive control to the terminal, thereby achieving a personalized display effect.
[0141] Steps 702 to 705 above are the process of acquiring the display data of the interactive controls after the calling terminal initiates a call. By acquiring the display data of the interactive controls in advance through the above process, it is not necessary to acquire the display data of the interactive controls from the second media server when playing the first media resource later, thereby reducing the amount of data acquired and reducing the display latency.
[0142] This embodiment of the application illustrates the example of a second media server pushing display data of an interactive control to a calling terminal. In one possible implementation, the calling terminal and the second media server obtain the display data of the interactive control through multiple interactions. For example, in response to a display data retrieval request, the second media server sends the address information of the display data of the interactive control to the calling terminal. Here, the address information refers to the Uniform Resource Locator (URL) address of the display data, also known as the webpage address. The calling terminal receives the address information of the display data of the interactive control and, based on the received address information, retrieves the display data of the interactive control from the second media server. Optionally, in this process, after determining the address information of the display data of the interactive control, the second media server preloads the display data of the interactive control. By preloading, the latency problem of subsequent interactive control display can be optimized, the efficiency of display data retrieval can be improved, and the problem of long control display time during subsequent media resource playback can be avoided.
[0143] Optionally, the second media server may preload display data for interactive controls using any of the following methods:
[0144] In one possible implementation, the display data of the interactive control is stored on the hard drive of the second media server. After the second media server determines the address information of the display data of the interactive control, it preloads the display data of the interactive control from the hard drive of the second media server into memory or cache.
[0145] In another possible implementation, the display data of the interactive control is stored on the hard drive or in the memory of a server other than the second media server. After the second media server determines the address information of the display data of the interactive control, it preloads the display data of the interactive control from the hard drive or memory of the other server into the memory or cache of the second media server.
[0146] In another possible implementation, the display data of the interactive control is stored in the interactive database. After the second media server determines the address information of the display data of the interactive control, it preloads the display data of the interactive control from the interactive database into the memory or cache of the second media server.
[0147] The interactive database may be a database associated with the second media server or a database associated with other servers. This application embodiment does not limit the database.
[0148] It should be understood that the three implementation methods described above correspond to different preloading processes depending on the storage location of the display data for the interactive controls. If the second media server loads the data only when the calling terminal obtains the display data for the interactive control, it will cause a certain delay. However, the preloading method described above can optimize the delay problem of subsequent interactive control display, improve the efficiency of obtaining display data, and thus avoid the problem of long control display time during subsequent media resource playback.
[0149] 706. The calling terminal receives the display data from the interactive control.
[0150] Optionally, if the display data of the interactive control is in the form of a data packet, the calling terminal will obtain the display data of the interactive control by parsing the data packet after receiving it.
[0151] 707. The calling terminal receives a first media negotiation message sent by the first media server, which is used to perform media negotiation.
[0152] The first media negotiation message is used for media negotiation between a first media server and a calling terminal. The first media server is located in the CT domain. Optionally, the first media negotiation message is an Update message, carrying media capability information of the first media server; that is, it is a SIP message carrying the SDP information of the first 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 carries the media attribute a=content:g3gpp.cat, indicating that the first media negotiation message is used for early media negotiation between the first media server and the calling terminal. If the calling terminal receives the first media negotiation message, it determines that there are media resources in the CT domain to be played in this call and continues to execute subsequent steps.
[0153] 708. The calling terminal obtains the resource information of the first media resource from the first media negotiation message.
[0154] The first media resource refers to media resources in the CT domain, such as video ringback tones, video advertisements, and video customer service. Resource information includes any type of information used to identify the first media resource, such as its resource ID (identification number). Optionally, the resource information may also be used to indicate the operator information (operator identifier) of the first media resource.
[0155] In one possible implementation, resource information of the first media resource is obtained from a first media negotiation message sent by the first media server. Optionally, the first media negotiation message is an Update message, and the resource information is located in the Session Description Protocol (SDP) information of the Update message. For example, Figure 9 This is a schematic diagram illustrating an Update message carrying resource information provided in an embodiment of this application, such as... Figure 9 As shown, the SDP information in the Update message carries resource information. Optionally, the resource information includes video and audio information of the media resources; see [link to relevant documentation]. Figure 9 The SDP information's m=audio content carries the audio ringtone ID, and the SDP information's m=video content carries the video ringtone ID. Additionally, in... Figure 9 In the m=audio content and m=video content, a field a=carrierinfo:xx can also be added to carry the carrier ID, such as using 01 to represent carrier A, 02 to represent carrier B, and 03 to represent carrier C.
[0156] 709. The calling terminal receives interactive content data of the first media resource from the second media server based on the resource information of the first media resource through the target application client.
[0157] In this embodiment, interactive content data is used to display interactive content based on a first media resource. This interactive content data includes at least one of the following: homepage access data, like data, comment data, share data, and download data. For example... Figure 8 As shown, Figure 8 The data displayed includes 1.745 million likes, 59,000 comments, and 25,000 shares. It should be understood that the interactive content data also includes relevant data for each interactive control. For example, for the like control, the relevant data is like data, which includes the like account and the like account's avatar; for the comment control, the relevant data is comment data, which includes the comment account and the comment content; and for the download control, the relevant data is download data, which includes a download service link. Optionally, this interactive content data may be bullet screen data or animation effects data, thereby displaying bullet screens or animation effects on the playback screen of the first media resource on the calling terminal, supplementing the interactive display effect of the CT field and increasing its appeal. This interactive data also includes links to other media resources for users to choose from.
[0158] In one possible implementation, the calling terminal sends an interactive data retrieval request to the second media server through a target application client. This request carries resource information of the first media resource. Upon receiving the request, the second media server determines the interactive content data of the first media resource based on this resource information. For example, it reads the resource information from the corresponding field of the request and retrieves the interactive content data based on this information. The second media server then returns the interactive content data to the calling terminal, thus the calling terminal receives the interactive content data. In another possible implementation, the process of the calling terminal and the second media server obtaining interactive content data through interaction is based on the address information of the interactive content data, as described above regarding the process of displaying data for interactive controls.
[0159] It should be noted that, in this embodiment of the application, interactive data is used as interactive content data as an example. Steps 701 to 709 above are the process of first obtaining the display data of the interactive control and then obtaining the interactive content data. Through the above process, the display data of the interactive control can be obtained in advance, and then the interactive content data can be obtained. This means that when playing the first media resource later, it is not necessary to obtain the display data of the interactive control from the second media server, which reduces the amount of data to be obtained and reduces the display latency.
[0160] In another possible implementation, the interactive data includes interactive content data and display data of interactive controls. After step 701, step 709 is executed, whereby the interactive content data and display data of the first media resource are obtained from the second media server based on the resource information of the first media resource. This allows for the acquisition of interactive data, including both interactive content data and display data of interactive controls, in one go, eliminating the need to execute steps 702 to 706. That is, steps 702 to 709 are replaced by the following process: The calling terminal determines the resource information of the first media resource provided by the first media server (see steps 707 and 708 for the process). The calling terminal, through the target application client, receives the interactive content data and display data of the first media resource from the second media server based on the resource information of the first media resource.
[0161] 710. The calling terminal sends a second media negotiation message to the first media server, which is used to conduct media negotiation.
[0162] Optionally, the second media negotiation message is a 200 OK (UPDATE) message, which carries the media capability information of the calling terminal, that is, the media negotiation result between the calling terminal and the second media server.
[0163] It should be noted that the execution order of steps 709 and 710 is not restricted by the current sequence number. The execution order of these two steps can be 709 and 710 executed simultaneously, or 710 and subsequent steps can be executed first, followed by 709. That is, the process of obtaining interactive content data through the IT domain and the process of media negotiation in the CT domain do not affect each other.
[0164] It should be noted that steps 707 and 710 above simply describe the media negotiation process between the calling terminal and the first media server. The following is an example process to illustrate the above media negotiation process: The first media server sends a first media negotiation message to the calling terminal. The first media negotiation message carries the media capability information of the first 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 capabilities and sends a second media negotiation message to the first 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 200 OK message.
[0165] 711. The first media server sends a 180 ringing message to the calling terminal.
[0166] Among them, the ringing message is a 180 ringing message based on the SIP protocol, which is used to indicate that the called terminal has been ringing.
[0167] 712. The first media server sends the media stream of the first media resource to the calling terminal.
[0168] Based on the media negotiation results, the first media server sends the media stream (e.g., RTP stream) of the first media resource to the calling terminal. During this process, the calling terminal does not actively acquire the first media resource; instead, the first media server pushes the media stream.
[0169] 713. The calling terminal receives the media stream of the first media resource.
[0170] In this embodiment, the example of obtaining resource information from the first media negotiation message in step 708 is used for illustration. In another possible implementation, the calling terminal obtains resource information through a media stream. That is, the calling terminal receives the media stream of the first media resource and obtains the resource information carried by the first media resource from the header of the media stream transmitted by the first media server. Optionally, this resource information is located in the supplemental enhancement information (SEI) in the header of the media stream. For example, Figure 10This is a schematic diagram illustrating a media stream carrying resource information provided in an embodiment of this application, such as... Figure 10 As shown, the SEI's custom frame carries a ringtone (ID). Optionally, the SEI's custom frame also carries carrier information.
[0171] In the above process, two methods for carrying resource information are provided. First, resource information can be carried in the first media negotiation message or the media stream, facilitating the calling terminal's acquisition of resource information and ensuring the normal display of subsequent interactive data. Second, in a single implementation, resource information can be carried either in the first media negotiation message or the media stream, or both. This way, if reading resource information from one source fails, reading resource information from the other source will still yield the desired information, ensuring resource information retrieval.
[0172] 714. When the calling terminal receives a 180 ringing message, it plays the first media resource sent by the first media server based on the received media stream. On the playback screen of the first media resource, it displays the interactive controls and corresponding interactive content data based on the received display data and interactive content data of the interactive controls.
[0173] In one possible implementation, the calling terminal overlays the interactive control and its corresponding interactive content data onto the playback screen of the first media resource. For example, based on the display data of the interactive control and the interactive content data, the target application client renders an interactive layer on the playback screen. This interactive layer includes the interactive control and its corresponding interactive content data, such as displaying a like control and the number of likes.
[0174] The technical solution provided in this application supplements the media resources in the CT domain. When a first media resource in the CT domain exists, interactive data of the first media resource is obtained through a second media server in the IT domain. Then, while playing the first media resource, the calling terminal can add an overlay layer to the interface to display the interactive controls and corresponding interactive content data, such as interactive buttons, bullet comments, and animation effects. This realizes media interaction in the ringback tone scenario, enriches the experience of ringback tone users, and increases the fun of the video ringback tone service. Furthermore, with the development and commercialization of 5G, and with IT network resources not constraining the network and shorter network latency, the video ringback tone service can be expanded more flexibly, such as through video overlay playback, video interface interaction, and video content scrolling switching, further increasing the fun of the video ringback tone service.
[0175] The above Figure 7The illustrated embodiment uses the playback of media resources in the CT domain and the addition of an overlay layer on the playback screen to display interactive data as an example. However, the calling terminal can also simultaneously play media resources in both the IT and CT domains. The following section will discuss this further. Figure 11 The process shown is to introduce the method for playing this media resource. See [link / reference]. Figure 11 The process includes:
[0176] 1101. The calling terminal sends a call request to the called terminal, and the call request passes through the first media server.
[0177] This step 1101 refers to step 701.
[0178] 1102. The calling terminal determines the resource information of the first media resource provided by the first media server.
[0179] See steps 708 or 713 for step 1102.
[0180] 1103. The calling terminal obtains the interactive content data and interactive control display data of the first media resource from the second media server through the target application client.
[0181] The process for step 1103 is described in [link / details]. Figure 7 The illustrated embodiment describes the process of acquiring interactive content data and interactive control display data for the first media resource.
[0182] 1104. The calling terminal receives second media resources from the second media server through the target application client.
[0183] In this embodiment, the second media server is a server within the IT domain, and the second media resource is media resources within the IT domain. Specifically, the second media resource includes pushed video advertisements, video animations, etc. This embodiment enables the playback of IT domain videos during the ringing phase, enriching the viewing experience for video ringback tone users.
[0184] Optionally, the calling terminal sends a resource acquisition request through the target application client. Upon receiving the request, the second media server sends the second media resource to the calling terminal, for example, as an RTMP stream. In this process, the second media server actively pushes the media stream, rather than the calling terminal acquiring it based on address information. Optionally, the second media server can provide the user with multiple second media resources, allowing the user to select the desired second media resource through the target application client.
[0185] Optionally, the second media server sends preset second media resources to the calling terminal to achieve operational purposes such as advertising push.
[0186] In step 1104, the calling terminal sends relevant information about the current call to the second media server through the target application client. The second media server receives this information and authenticates it, for example, authenticating at least one of the calling and called numbers in the information. This authentication may include, for example, legitimacy authentication and function service authentication as in step 704. After successful authentication, the second media server determines the address information of the second media resource (such as the second media resource matching the relevant information) and sends this address information to the calling terminal. Upon receiving the address information, the calling terminal may optionally retrieve the second media resource from the second media server based on the address information, or it may retrieve the second media resource after receiving the ringing message in step 1105. Optionally, the second media server preloads the second media resource after determining its address information. Optionally, the second media server releases the preloaded second media resource after receiving a session termination message from the calling terminal to save memory space.
[0187] Optionally, the calling terminal may also obtain interactive content data of the second media resource from the second media server through the target application client. For example, the acquisition process includes: after determining the second media resource, the second media server determines the interactive content data corresponding to the second media resource, and sends the address information of the interactive content data corresponding to the second media resource to the calling terminal. After receiving the address information of the interactive content data corresponding to the second media resource, the calling terminal may optionally obtain the interactive content data of the second media resource from the second media server based on the address information of the interactive content data corresponding to the second media resource; or, after receiving the ringing message in step 1105, it may obtain the interactive content data of the second media resource. Optionally, after determining the address information of the interactive content data corresponding to the second media resource, the second media server may preload the interactive content data of the second media resource. Optionally, after receiving the session end message sent by the calling terminal, the second media server may release the preloaded interactive content data of the second media resource to save memory space. Optionally, the calling terminal may also obtain display data of the interactive controls of the second media resource from the second media server through the target application client. This process refers to the above-described process for obtaining the interactive content data of the second media resource. It should be noted that the calling terminal may not need to obtain the display data of the interactive control, but can display it based on the display data of the interactive control that has already been obtained.
[0188] 1105. After receiving the ringing message from the called terminal, the calling terminal plays the first media resource sent by the first media server, displays interactive controls and interactive content data on the playback screen of the first media resource, and plays the second media resource.
[0189] For the process of acquiring and playing primary media resources, please refer to [link / reference]. Figure 7 The illustrated embodiment. Optionally, when playing the second media resource, interactive controls and interactive content data of the second media resource are also displayed, with the display method referring to the display method of the interactive controls and interactive content data of the first media resource.
[0190] Optionally, the aforementioned playback of the first and second media resources is implemented by the calling terminal based on its settings. For example, if the calling terminal's settings indicate playback of media resources from the IT and CT domains, then step 1105 is executed. However, if the settings indicate playback of media resources from the CT domain, the relevant acquisition steps can be omitted in the aforementioned steps. In this way, users are given a new experience and more personalized choices, improving their experience and engagement with the video ringback tone service.
[0191] Optionally, when playing the first media resource and the second media resource, the calling terminal may also adopt the following playback mode:
[0192] In one possible implementation, the calling terminal plays CT domain media resources in full-screen mode and IT domain media resources in a floating window. That is, the first media resource is played in full-screen mode, while the second media resource is played muted within the floating window on the playback screen of the first media resource. For example, Figure 12 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application, such as... Figure 12 As shown, Figure 12 The solution is illustrated using the example of playing the first media resource in full-screen mode and the second media resource in a floating window. Another possible implementation involves the calling terminal playing the IT domain media resource in full-screen mode and the CT domain media resource in a floating window. In other words, the second media resource is played in full-screen mode, while the first media resource plays silently within the floating window displayed on the second media resource's screen. This implementation uses full-screen playback for one media resource and a floating window for the other, clearly and intuitively displaying both media resources. Furthermore, by using full-screen playback (with sound) and the floating window for silent playback, the poor user experience caused by simultaneous playback of two audio segments is avoided.
[0193] Optionally, in a scenario where one media resource is played in a floating window mode and the other in full-screen mode, the process by which the calling terminal performs corresponding processing based on the click operation on the floating window includes any of the following:
[0194] In one possible implementation, the calling terminal detects a click on the floating window and switches the media resource being played in that window to full-screen mode, while closing another media resource. During this process, the calling user can click on the floating window corresponding to a media resource of interest to play that resource in full-screen mode and close another media resource, thus preserving the media resource the calling user wants to watch and providing a better viewing experience.
[0195] In another possible implementation, if the calling terminal detects a click on the floating window, it switches the media resource being played in the floating window to full-screen mode and switches another media resource to floating window mode for playback. During this process, after the calling user clicks on the floating window corresponding to a media resource of interest, the calling terminal plays that media resource in full-screen mode and switches another media resource to a floating window, allowing the user to continue switching to and watching another media resource.
[0196] In another possible implementation, the calling terminal can also play the first media resource as a floating window, and the second media resource as a floating window. For example, Figure 13 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application. See also... Figure 13 The first media resource and the second media resource are played in separate floating windows. In this implementation, playing two media resources separately in floating windows provides a clear and intuitive display of both. Optionally, at least one of the first and second media resources can be played muted. Since at least one media resource is played muted, auditory confusion caused by simultaneous playback of two audio segments is avoided, improving the user experience. Optionally, the playback of the second media resource is achieved through the player of the target application client (video ringback tone application), and the playback of the first media resource is achieved through the player of the system application (telephone dialer application).
[0197] Optionally, in scenarios where both media resources are played using a floating window mode, the process by which the calling terminal performs corresponding processing based on the click operation on the floating window includes any of the following:
[0198] In one possible implementation, if both media resources are played in floating window mode, the calling terminal detects a click on either floating window and switches the media resource played in that window to full-screen mode, while closing the other media resource. During this process, the calling user can click on the floating window corresponding to the media resource they are interested in while watching the media resources, enabling full-screen playback of that media resource and closing the other media resource. This preserves the media resource the calling user wants to watch, providing a better viewing experience.
[0199] In another possible implementation, if the calling terminal detects a click on the floating window, it switches the media resource played in that floating window to full-screen mode while maintaining the floating window mode for the other media resource. During this process, after the calling user clicks on the floating window corresponding to a media resource of interest, the calling terminal plays that media resource in full-screen mode and switches the other media resource to a floating window, allowing the user to retain the option to switch back to that other media resource for playback, thus providing a richer user experience.
[0200] It should be understood that, in the two implementation methods described above, clicking on the floating window refers to clicking on any position within the floating window except for the close button, such as... Figure 12 or Figure 13 As shown, each floating window has a close button. By clicking this button, users can close media resources they don't want to continue playing, achieving personalized playback selection. In other words, if the calling terminal detects a click on the close button of a floating window, it will close the floating window.
[0201] In another possible implementation, the interactive control and corresponding interactive content data are overlaid on the playback screen of a media resource in full-screen mode. Meanwhile, the playback screen of another media resource is displayed in a floating window. In this process, the corresponding interactive control and interactive data are only overlaid on the media resource in full-screen mode, thus ensuring the cleanliness and intuitiveness of the playback interface and facilitating user interaction or terminal control.
[0202] The technical solution provided in this application, through the interaction between the calling terminal and the first media server and the second media server, enables the simultaneous playback of media resources in both the CT domain and the IT domain when such resources are available. This provides users with a new experience and more choices, enhancing their experience and engagement with the video ringback tone service.
[0203] The above Figure 7 and Figure 11The playback of media resources and the display of interactive controls during playback are explained. Additionally, interactive functions based on the media resources can be provided during playback. Figure 14 This is a flowchart illustrating an interactive method for playing media resources, as provided in an embodiment of this application. (See attached flowchart.) Figure 14 :
[0204] 1401. If the calling terminal detects a trigger operation on any interactive control, it sends an interaction request corresponding to the interactive control to the second media server. The interaction request is used to realize the interaction based on the first media resource.
[0205] The interaction request carries an interaction object and interaction content. The interaction object refers to the interaction data corresponding to the interaction control, while the interaction content refers to the update content for that interaction object. For example, if the interaction object is like data, the interaction content is incrementing the like data by one. The interaction request also carries resource information of the first media resource, enabling the second media server to process the interaction content corresponding to the first media resource based on this resource information.
[0206] 1402. The second media server receives the interaction request sent by the calling terminal and processes it based on the first media resource.
[0207] In one possible implementation, after receiving an interaction request, the first media server determines the interaction object corresponding to the first media resource based on the resource identifier carried in the interaction request, and then processes 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 increment the like count by one, then the second media server increments the like data stored in the first media resource by one, and also increments the like data displayed on the calling terminal by one.
[0208] It should be noted that, in Figure 14 In this process, the media transmission stream used between the calling terminal and the second media server is an HTML stream. The calling terminal sends HTTP or HTTPS messages to the second media server, and the second media server then returns an HTTP or HTTPS response to the calling terminal.
[0209] The technical solution provided in this application embodiment enables media interaction in the ringback tone scenario by providing interactive controls and interactive data when playing media resources during the ringing phase. This increases the fun of video ringback tone services, greatly enhances the enjoyment of media resource playback, and provides greater flexibility and richer interactive content.
[0210] The above embodiments described the playback and interaction functions based on the first media resource. During playback, processes such as playback pause based on a call are also involved. The following describes the handling of this playback pause. See [link to documentation]. Figure 15 , Figure 15 The solution is illustrated using the example of playing primary media resources:
[0211] 1501. If the calling terminal receives an off-hook message from the called terminal, the display of interactive data of the first media resource shall be turned off.
[0212] The off-hook message indicates that the called terminal has gone off-hook, and then the calling and called users begin a call.
[0213] In one possible implementation, if the calling terminal receives an off-hook message and notifies the target application client to stop displaying the overlay of interactive data via the telephone dialing application, the target application client controls the player to stop displaying.
[0214] 1502. The calling terminal stops playing the first media resource and displays the stop screen of the first media resource.
[0215] The stopped screen is either a preset screen (e.g., the entry screen of the target application client) or the media screen corresponding to the moment playback stops (e.g., a screenshot). In step 1502, the calling user can set the function of retaining the 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 that the display state of the media resource is maintained during the call. The above embodiment can provide the function of retaining the screen display during the call, providing the user with an entry point for further operation and improving the flexibility of media playback.
[0216] For example, Figure 16 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application. See also... Figure 16 When the first media resource remains displayed during a call, it is displayed on the call interface as a floating window.
[0217] Optionally, the calling terminal also supports setting the display status after the call ends, and the corresponding process is as follows:
[0218] In one possible implementation, if it is determined, based on the settings information of the calling terminal, that the display state of the first media resource will be maintained after the call ends, then when the call ends, the stop screen of the first media resource will be displayed in the form of a floating window on the main interface of the calling terminal. Figure 17 This is a schematic diagram illustrating the playback of a media resource provided in an embodiment of this application. See also... Figure 17 After the call ends, the first media resource is displayed as a floating window on the main interface of the calling terminal.
[0219] 1503. If the calling terminal detects a request to continue playing the stopped screen, it interacts with the second media server to obtain the third media resource corresponding to the resource information of the first media resource, and the third media resource matches the first media resource.
[0220] In this context, "matching a third media resource with a first media resource" means that the third media resource is the media resource corresponding to the resource information (such as resource ID) of the first media resource. It should be understood that the media content of the third media resource and the first media resource are identical.
[0221] In one possible implementation, the calling terminal sends a resource acquisition request to the second media server, the request carrying resource information of the first media resource. The second media server receives the resource acquisition request and, based on the resource information, determines the corresponding third media resource, which matches the first media resource. The second media server returns the address information of the third media resource to the calling terminal. Upon receiving the address information, the calling terminal acquires the third media resource from the second media server. Optionally, after determining the address information of the third media resource, the second media server preloads the third media resource to improve data transmission efficiency. This preloading process refers to the preloading process of the display data of the interactive control described above.
[0222] In the above process, a session is established between the second media server and the calling terminal, and interaction is carried out based on this session.
[0223] 1504. The calling terminal plays the third-party media resource.
[0224] In one possible implementation, after receiving the third media resource from the second media server, the calling terminal plays the third media resource. Optionally, the third media resource is played based on the playback progress at the time playback stops.
[0225] It should be noted that steps 1503 to 1504 above are based on the operation of continuing playback of the stopped screen, which triggers the acquisition process of the third media resource. If the calling user wants to continue watching the first media resource, he / she can click the floating window to continue playing the first media resource. The operation is convenient and simple.
[0226] In another optional implementation, the acquisition of the third media resource can be performed after the calling terminal receives the off-hook message, that is, during the user's call. The second media server returns the address information of the third media resource, and the third media resource is acquired after a playback continuation operation is detected. This process allows the third media resource to be queried while the user is on the phone, preparing for subsequent playback and improving playback efficiency, thus preventing long playback times. Furthermore, if a close operation or screen-off operation is detected on the stopped screen, the target application client is closed, and a session termination message is sent to the second media server. Upon receiving the session termination message from the calling terminal, the second media server releases the session with the calling terminal regarding the third media resource.
[0227] In another possible implementation, the stop screen serves as the portal entry point for the target application client. If a click on the stop screen is detected, the portal interface is displayed in the opened target application client; that is, the target application client is launched, and the corresponding portal interface is displayed within it. In the above embodiment, if the calling user wants to access the portal website, they can do so by clicking the stop screen, which is convenient and simple. Optionally, if the calling user wants to watch other media resources, they can browse other media resources on the portal interface and click on the desired media resource, at which point the calling terminal will begin playing the media resource corresponding to the click. If the calling user wants to configure relevant business settings on the target application client, they can also achieve the corresponding function by clicking the corresponding settings button on the portal interface.
[0228] Optionally, the calling terminal plays the third media resource differently depending on the click operation on the stopped screen at different times, as follows: In one possible implementation, if the calling terminal detects a click operation on the stopped screen during the call, it plays the third media resource muted. In another possible implementation, if the calling terminal detects a click operation on the stopped screen after the call ends, it cancels the muted mode of the first media resource and plays the third media resource normally.
[0229] During the above process, the calling user can click the stop screen at any time during or after the call, and can obtain media resources with the same content from the IT domain, providing a continuous and complete audio-visual experience. Furthermore, the calling terminal can play different content depending on whether the user clicks during or after the call. During a call, playback is muted, ensuring the user can clearly hear the content and avoid missing important information. After the call ends, playback resumes normally, i.e., it is non-mute.
[0230] The following section explains how to play media resources from the CT domain during the ringing phase of this call using signaling interaction in the VoLTE network, and how to display the interactive interface based on the interaction data from the IT domain. Figure 18 This is a flowchart of a media resource playback method provided in an embodiment of this application. See also... Figure 18 :
[0231] 1801. The calling terminal sends an INVITE message, which carries the calling terminal's SDP information (such as SDPA1 information).
[0232] 1802. The calling terminal sends a display data acquisition request to the second media server through the target application client. This display data acquisition request is used to instruct the acquisition of display data for interactive controls.
[0233] 1803. The second media server receives a display data retrieval request sent by the calling terminal through the target application client.
[0234] 1804. Based on the relevant information of the call, the second media server performs legality authentication and functional service authentication on the user. If the authentication is successful, step 1805 is executed.
[0235] It should be noted that during authentication, the second media server performs authentication based on the caller ID and other information in the relevant information. The specific authentication method is as described in the above embodiments and will not be repeated here.
[0236] 1805. The second media server sends the display data of the interactive controls to the calling terminal.
[0237] This step 1805 refers to step 705.
[0238] 1806. The calling terminal receives the display data from the interactive controls.
[0239] It should be noted that the above steps for acquiring the display data of the interactive control can be performed at any time between obtaining its address information and the start of playback of the first media resource by the calling terminal, in order to acquire the basic rendering content. For example, it can be performed before acquiring the interactive content data, or immediately after the calling terminal receives the 180 ringing message. This application embodiment does not limit this to any particular timeframe.
[0240] 1807. The called terminal receives the INVITE message and sends a 183 message in response to the call request. The 183 message carries the called terminal's SDP information (such as SDP B1 information).
[0241] It should be noted that the timing of the called terminal receiving the INVITE message and other steps does not affect the interaction between the calling terminal and the IT domain. That is, for the calling terminal, after sending the INVITE message to the called terminal, it can immediately begin the process of obtaining the display data of the interactive controls. In other possible implementations, the calling terminal can execute the process of obtaining the display data of the interactive controls at any time before playing media resources.
[0242] 1808. 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.
[0243] 1809. The called terminal receives the PRACK message and sends a 200 OK (PRACK) message to the calling terminal. The 200 OK (PRACK) message indicates that the called terminal has received the PRACK message sent by the calling terminal.
[0244] 1810. 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.
[0245] 1811. The called terminal receives the UPDATE message and sends a 200 UPDATE message to the calling terminal. The SDPB2 information carried in the 200 UPDATE message indicates that the called terminal has successfully reserved resources for this call.
[0246] By step 1813, the calling terminal and the called terminal have successfully reserved resources for this call.
[0247] 1812. The called terminal starts ringing and sends the 180 ringing message to the first media server. The 180 ringing message carries relevant information about this call.
[0248] 1813. The first media server receives the 180 ringing message and determines the first media resource corresponding to the relevant information based on the information of this call.
[0249] It should be noted that this embodiment is illustrated by taking the determination of the first media resource after receiving the 180 ringing message as an example. However, in other possible implementations, the first media server can determine the first media resource at any time after receiving the INVITE message from the calling terminal.
[0250] 1814. The first media server sends an UPDATE message to the calling terminal. The UPDATE message carries the SDP information of the first media resource, which is used for media negotiation.
[0251] It should be noted that the UPDATE message is as described above. Figure 7 An example of the first media negotiation message involved in the illustrated embodiment is that the UPDATE message carries resource information of the first media resource, such as the resource ID, which is the resource information carried in a specific field of the SDP information of the first media resource.
[0252] 1815. The calling terminal receives the UPDATE message, obtains the resource information of the first media resource from the UPDATE message, and sends a 200 OK (UPDATE) message to the first media server. The 200 OK (UPDATE) message carries the media capability information of the calling terminal, that is, the media negotiation result between the calling terminal and the second media server (such as SDPA3 information).
[0253] The 200 OK (UPDATE) message is as described above. Figure 7 An example of the second media negotiation message involved in the illustrated embodiment. The process of obtaining resource information of the first media resource from the UPDATE message is described in step 708.
[0254] 1816. The first media server sends a 180 ringing message to the calling terminal.
[0255] 1817. The first media server sends the media stream of the first media resource to the calling terminal.
[0256] 1818. The calling terminal receives the media stream of the first media resource.
[0257] It should be noted that steps 1814 and 1815 above are examples of the calling terminal determining the resource information of the first media resource based on the first media negotiation message, i.e., the UPDATE message. In another possible implementation, the calling terminal determines the resource information of the first media resource based on the media stream of the first media resource received in step 1818. It should be understood that in one implementation, the calling terminal can choose one of these methods to determine the resource information, or it can determine the resource information separately, to ensure the acquisition of the resource information.
[0258] 1819. The calling terminal receives interactive content data of the first media resource from the second media server based on the resource information of the first media resource through the target application client.
[0259] It should be understood that the signaling interaction or media stream transmission of the calling terminal in the CT domain and the interaction in the IT domain do not affect each other. In the above steps, only the process of executing the interaction content data in step 1819 after the calling terminal receives the media stream is described as an example. In some possible implementations, step 1819 can be performed at any time after the resource information of the first media resource has been determined. For example, the execution order of steps 1816 to 1818 and step 1819 can be reversed, or they can be executed in parallel.
[0260] 1820. The calling terminal receives a 180 ringing message, plays the first media resource sent by the first media server based on the received media stream, and displays the interactive controls and corresponding interactive content data on the playback screen of the first media resource based on the received display data of the interactive controls and interactive content data.
[0261] It should be understood that the embodiments of this application do not limit the order of receiving the 180 ringing message and the media stream. In this embodiment, the media stream is received first and then the 180 ringing message is received as an example. In some possible implementations, the calling terminal will receive the 180 ringing message first and then the media stream, or receive the media stream simultaneously and then start playing the received media stream. It should be noted that for the calling terminal, starting to play the received media stream after receiving the 180 ringing message can achieve the purpose of displaying resources and interactive controls.
[0262] Optionally, the calling terminal receives a media stream of a second media resource pushed by a second media server, thereby displaying the playback screen of the second media resource while displaying the playback screen of the first media resource, creating a picture-in-picture effect. Optionally, the playback screen of the second media resource displays the interactive controls and corresponding interactive content data of the second media resource.
[0263] 1821. If the calling terminal detects a trigger operation on any interactive control, it sends an interaction request corresponding to the interactive control to the second media server. The interaction request is used to realize the interaction based on the first media resource.
[0264] 1822. The second media server receives the interaction request sent by the calling terminal and processes it based on the first media resource.
[0265] 1823. The called terminal sends a 200 OK (INVITE) message to the calling terminal. This 200 OK (INVITE) message is used to indicate that the called terminal has picked up the phone.
[0266] 1824. The calling terminal stops playing the first media resource and displays the stop screen of the first media resource.
[0267] 1825. The called terminal sends a Bye message to the calling terminal. This Bye message is used to indicate that the called terminal has hung up.
[0268] 1826. If the calling terminal detects a click operation on the stop screen, the portal website interface is displayed in the opened target application client.
[0269] The technical solution provided in this application embodiment obtains the interactive data of the first media resource through the second media server. Then, the calling terminal can add an overlay layer on the interface while playing the first media resource to display the interactive data, such as interactive buttons, bullet comments, and animation effects. This realizes media interaction in the ringback tone scenario, enriches the experience of ringback tone users, and increases the fun of video ringback tone services.
[0270] Figure 19 This is a schematic diagram of a media resource playback device provided in an embodiment of this application. This media resource playback device is used to execute the method performed by the calling terminal in the above embodiments. See also... Figure 19 The media resource playback device includes a call request sending module 1901, a determination module 1902, an acquisition request sending module 1903, a receiving module 1904, a playback module 1905, and a display module 1906, wherein:
[0271] The call request sending module 1901 is used to send a call request to the called terminal, and the call request passes through the first media server.
[0272] The determination module 1902 is used to determine the resource information of the first media resource provided by the first media server;
[0273] The request sending module 1903 is used to send an interactive data acquisition request to the second media server through the target application client. The interactive data acquisition request carries the resource information of the first media resource.
[0274] The receiving module 1904 is used to receive interactive data of the first media resource returned by the second media server based on the resource information;
[0275] The playback module 1905 is used to receive and play the first media resource sent by the first media server;
[0276] Display module 1906 is used to display the interactive data of the first media resource on the playback screen of the first media resource.
[0277] In one possible implementation, the first media server is a server located in the Communication Technology (CT) domain, and the second media server is a server located in the Internet Technology (IT) domain.
[0278] In one possible implementation, the determining module 1902 includes any of the following:
[0279] The first acquisition submodule is used to perform the process of acquiring resource information from the first media negotiation message in step 708 or step 1102;
[0280] The second acquisition submodule is used to perform the process of acquiring resource information from the header of the media stream in step 713 or step 1102.
[0281] In one possible implementation, the first media negotiation message is an Update message, and the resource information is located in the Session Description Protocol (SDP) information of the Update message.
[0282] In one possible implementation, the resource information is located in the supplemental enhancement information (SEI) at the beginning of the media stream.
[0283] In one possible implementation, the interaction data is interaction content data, and the device further includes:
[0284] The request sending module 1903 is also used to perform step 702 or step 1802;
[0285] Address information receiving module 1904 is used to execute step 706 or step 1806.
[0286] In one possible implementation, the interaction data includes interaction content data and display data of the interaction controls.
[0287] In one possible implementation, the device further includes:
[0288] The interactive request sending module is used to execute step 1401 or step 1821.
[0289] In one possible implementation, the device further includes a shutdown module for performing step 1501.
[0290] In one possible implementation, the playback module 1905 is also used to perform step 1502 or step 1824.
[0291] In one possible implementation, the playback module 1905 is also used to perform step 1504.
[0292] In one possible implementation, the display module 1906 is also used to perform the process of displaying the portal website interface in step 1826 or step 1504.
[0293] In one possible implementation, the shutdown module is also used to perform the process of shutting down the target application client in step 1504.
[0294] In one possible implementation, the device further includes a session message sending module for performing the process of sending a session end message in step 1504.
[0295] In one possible implementation, the device further includes:
[0296] The module is used to execute step 1104;
[0297] The playback module 1905 is used to execute the process of playing the first media resource in full-screen mode in step 1105;
[0298] The playback module 1905 is also used to perform the process of playing the second media resource in the floating window in step 1105.
[0299] In one possible implementation, the playback module 1905 is also used to perform the process of playing the second media resource in full screen and playing the first media resource in a floating window in step 1105.
[0300] In one possible implementation, the playback module 1905 is also used to perform the process of playing the first media resource and the second media resource in the floating window in step 1105.
[0301] In one possible implementation, the interaction data includes at least one of homepage visit data, like data, comment data, share data, and download data.
[0302] In one possible implementation, the interactive control includes at least one of a homepage access control, a like control, a comment control, a share control, and a download control.
[0303] It should be noted that the media resource playback device provided in the above embodiments is only illustrated by the division of the above functional modules 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 embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0304] The technical solution provided in this application supplements the media resources in the CT domain. When a first media resource in the CT domain exists, interactive data of the first media resource is obtained through a second media server in the IT domain. Then, while playing the first media resource, the calling terminal can add an overlay layer to the interface to display the interactive controls and corresponding interactive content data, such as interactive buttons, bullet comments, and animation effects. This realizes media interaction in the ringback tone scenario, enriches the experience of ringback tone users, and increases the fun of the video ringback tone service. Furthermore, with the development and commercialization of 5G, and with IT network resources not constraining the network and shorter network latency, the video ringback tone service can be expanded more flexibly, such as through video overlay playback, video interface interaction, and video content scrolling switching, further increasing the fun of the video ringback tone service.
[0305] Figure 20 This is a schematic diagram of the structure of a media server provided in an embodiment of this application. See also... Figure 20 The media server includes a receiving module 2001, a determining module 2002, and a returning module 2003, wherein:
[0306] The receiving module 2001 is used to receive an interactive data acquisition request sent by the calling terminal through the target application client, the interactive data acquisition request carrying resource information of the first media resource;
[0307] The determination module 2002 is used to determine the interactive data of the first media resource based on the resource information;
[0308] Return module 2003 is used to return the interactive data to the calling terminal.
[0309] In one possible implementation, the determining module 2002 is used to perform the process of determining interactive content data in step 709 or step 1819; the returning module 2003 is used to perform the process of returning interactive content data in step 709 or step 1819.
[0310] In one possible implementation, the interaction data is interaction content data, and the device further includes:
[0311] The receiving module 2001 is also used to perform step 703 or step 1803;
[0312] The determination module 2002 is also used to perform the process of determining the display data in step 705;
[0313] Return module 2003 is also used to execute step 705 or step 1805.
[0314] In one possible implementation, the device further includes a loading module for performing the process of preloading display data in step 705.
[0315] In one possible implementation, the display data acquisition request also carries information related to the call in which the calling terminal is involved, and the device further includes an authentication module for performing step 704 or step 1804.
[0316] In one possible implementation, the device further includes:
[0317] The receiving module 2001 is also used to perform the process of receiving a resource acquisition request in step 1503;
[0318] The determining module 2002 is also used to perform the process of determining the third media resource in step 1503;
[0319] The return module 2003 is also used to perform the process of returning the third media resource in step 1503.
[0320] In one possible implementation, the device further includes an establishment module for performing the session establishment process in step 1503.
[0321] In one possible implementation, the device further includes a release module for performing the process of releasing the session in step 1504.
[0322] It should be noted that the media server provided in the above embodiments is only illustrated by the division of the above functional modules 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 method embodiments on the second media server side of the media resource playback method provided in the above embodiments belong to the same concept, and its specific implementation process can be found in the method embodiments, which will not be repeated here.
[0323] The technical solution provided in this application supplements the media resources in the CT domain. When a first media resource in the CT domain exists, interactive data of the first media resource is obtained through a second media server in the IT domain. Then, while playing the first media resource, the calling terminal can add an overlay layer to the interface to display the interactive controls and corresponding interactive content data, such as interactive buttons, bullet comments, and animation effects. This realizes media interaction in the ringback tone scenario, enriches the experience of ringback tone users, and increases the fun of the video ringback tone service. Furthermore, with the development and commercialization of 5G, and with IT network resources not constraining the network and shorter network latency, the video ringback tone service can be expanded more flexibly, such as through video overlay playback, video interface interaction, and video content scrolling switching, further increasing the fun of the video ringback tone service.
[0324] In an exemplary embodiment, a computer storage medium is also provided. This computer storage medium may be a computer-readable storage medium, such as a memory including program code, which can be executed by a processor in a terminal to complete the media resource playback method on the calling terminal side of the above embodiments. For example, the computer-readable storage medium may be ROM, RAM, compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.
[0325] In an exemplary embodiment, a computer storage medium is also provided. This computer storage medium may be a computer-readable storage medium, such as a memory including program code that can be executed by a processor in a terminal to perform the method on the second media server side in the above embodiments. For example, the computer-readable storage medium may be ROM, RAM, compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.
[0326] This application also provides a media resource playback system, which includes a calling terminal, a first media server, and a second media server. In one possible implementation, the calling terminal, the first media server, and the second media server are respectively used to perform the above-described... Figure 7 , Figure 11 , Figure 14 , Figure 15 , Figure 18 The media resource playback method provided in the embodiment shown includes methods for the calling terminal, the first media server, and the second media server.
[0327] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0328] It should be noted that those skilled in the art will recognize that the units, modules, chips, and method steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0329] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working process of the system, device, module, unit or chip described above can be referred to the corresponding process in the media resource playback method embodiment, and will not be repeated here.
[0330] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units within a module is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple modules or units may be combined or integrated into another system, or some features may be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, or it may be an electrical, mechanical, or other form of connection.
[0331] The modules or units described as separate components may or may not be physically separate. The components shown as modules or units may or may not be physical modules or units; that is, they may be located in one place or distributed across multiple computer devices or chips. Some or all of the modules or units can be selected to achieve the purpose of the embodiments of this application, depending on actual needs.
[0332] Furthermore, the functional modules or units in the various embodiments of this application can be integrated into one target processing module, or each module or unit can exist physically separately, or two or more modules or units can be integrated into one target processing module. The integrated modules or units described above can be implemented in hardware or as software functional units.
[0333] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A media resource playing method, characterized in that, Applied to a calling terminal, the method comprises: sending a call request to a called terminal, the call request passing through a first media server, the first media server being a server located in a communication technology (CT) domain; obtaining display data of an interactive control from a second media server through a target application client, the second media server being a server located in an internet technology (IT) domain; determining resource information of a first media resource provided by the first media server, the resource information comprising a resource identity number of the first media resource; sending an interactive data obtaining request to the second media server through the target application client, the interactive data obtaining request carrying the resource information of the first media resource; receiving interactive content data of the first media resource returned by the second media server based on the resource information; obtaining a second media resource from the second media server through the target application client; playing the first media resource sent by the first media server in a full-screen mode based on a media stream of the first media resource, and playing the second media resource in a mute mode in a floating window on a playing picture of the first media resource; displaying the interactive control and the interactive content data of the first media resource on the playing picture of the first media resource based on the display data of the interactive control and the interactive content data of the first media resource; wherein the determining of the resource information of the first media resource provided by the first media server comprises any of the following: obtaining the resource information of the first media resource from a first media negotiation message sent by the first media server; obtaining the resource information carried by the first media resource from a header of a media stream of the first media resource transmitted by the first media server.
2. The method of claim 1, wherein, The first media negotiation message is an Update message, and the resource information is located in session description protocol (SDP) information of the Update message.
3. The method of claim 1, wherein, The resource information is located in additional enhancement information (SEI) of the header of the media stream.
4. The method according to any one of claims 1 to 3, characterized in that, The obtaining of the display data of the interactive control from the second media server comprises: sending a display data obtaining request to the second media server, the display data obtaining request being used to instruct to obtain the display data of the interactive control; receiving address information returned by the second media server based on the display data obtaining request, the address information being used to provide the display data of the interactive control, and obtaining the display data of the interactive control from the second media server based on the address information.
5. The method of claim 1, wherein, After the displaying of the interactive control and the interactive content data of the first media resource, the method further comprises: if a triggering operation on any interactive control is detected, sending an interactive request corresponding to the interactive control to the second media server, the interactive request being used to implement an interaction based on the first media resource.
6. The method of any one of claims 1, 2, 3, or 5, wherein, After the displaying of the interactive control and the interactive content data of the first media resource, the method further comprises: if an off-hook message of the called terminal is received, stopping playing the first media resource and displaying a stop picture of the first media resource.
7. The method of claim 6, wherein, If the off-hook message of the called terminal is received, the playing of the first media resource is stopped, and a stop screen of the first media resource is displayed, the method further comprises: If a continue playing operation on the stop screen is detected, third media resource is acquired from the second media server, and the third media resource is played, the third media resource matching the first media resource.
8. The method of claim 6, wherein, If the off-hook message of the called terminal is received, the playing of the first media resource is stopped, and a stop screen of the first media resource is displayed, the method further comprises: If a trigger operation on the stop screen is detected, a web interface is displayed in the opened target application client.
9. The method of any one of claims 1, 2, 3, 5, 7, or 8, wherein, The interaction data comprises at least one of home page access data, like data, comment data, sharing data and download data.
10. The method of any one of claims 1, 2, 3, 5, 7, or 8, wherein, The interaction control comprises at least one of home page access control, like control, comment control, sharing control and download control.
11. A media resource player apparatus, characterized by: The device is applied to a calling terminal, and comprises: A call request sending module is configured to send a call request to a called terminal, wherein the call request passes through a first media server, and the first media server is a server located in a communication technology (CT) domain. The device is configured to acquire display data of an interaction control from a second media server through a target application client, wherein the second media server is a server located in an internet technology (IT) domain. A determination module is configured to acquire resource information of the first media resource from a first media negotiation message sent by the first media server, or acquire resource information carried by the first media resource from a header of a first media stream transmitted by the first media server, wherein the resource information comprises a resource identity number of the first media resource. An acquisition request sending module is configured to send an interaction data acquisition request to the second media server through the target application client, wherein the interaction data acquisition request carries the resource information of the first media resource. A receiving module is configured to receive interaction content data of the first media resource returned by the second media server based on the resource information. An acquisition module is configured to acquire second media resource from the second media server through the target application client. A playing module is configured to receive and play the first media resource sent by the first media server in a full screen mode, and to play the second media resource in a mute mode in a floating window on a playing screen of the first media resource. A display module is configured to display the interaction control and the interaction content data of the first media resource on the playing screen of the first media resource based on the display data of the interaction control and the interaction content data of the first media resource.
12. The apparatus of claim 11, wherein, The first media negotiation message is an Update message, and the resource information is located in session description protocol (SDP) information of the Update message.
13. The apparatus of claim 11, wherein, The resource information is located in additional enhancement information (SEI) of the header of the media stream.
14. The apparatus of any one of claims 11 to 13, wherein, The device further comprises: The acquisition request sending module is further configured to send a display data acquisition request to the second media server, the display data acquisition request being used to instruct to acquire display data of an interactive control. An address information receiving module is configured to receive address information returned by the second media server based on the display data acquisition request, the address information being used to provide display data of an interactive control, and the display data of the interactive control being acquired from the second media server based on the address information.
15. The apparatus of claim 11, wherein, The apparatus further includes: An interaction request sending module is configured to send an interaction request corresponding to any interactive control to the second media server if a triggering operation on the interactive control is detected, the interaction request being used to implement interaction based on the first media resource.
16. The apparatus of any one of claims 11, 12, 13, or 15, wherein, The playing module is further configured to: If the off-hook message of the called terminal is received, the playing of the first media resource is stopped, and a stop screen of the first media resource is displayed.
17. The apparatus of claim 16, wherein, The playing module is further configured to: If a continue playing operation on the stop screen is detected, a third media resource is acquired from the second media server, and the third media resource is played, the third media resource matching the first media resource.
18. The apparatus of claim 16, wherein, The display module is further configured to: If a triggering operation on the stop screen is detected, a web portal interface is displayed in the opened target application client.
19. The apparatus of any one of claims 11, 12, 13, 15, 17, or 18, wherein, The interaction data includes at least one of homepage access data, like data, comment data, share data, and download data.
20. The apparatus of any one of claims 11, 12, 13, 15, 17, or 18, wherein, The interactive control includes at least one of a homepage access control, a like control, a comment control, a share control, and a download control.
21. A terminal, characterized by The terminal includes a processor and a memory, the memory storing at least one program code, the program code being loaded and executed by the processor to implement the media resource playing method in any one of claims 1 to 10.
22. A computer storage medium, comprising, The storage medium stores at least one program code, the program code being loaded and executed by the processor to implement the media resource playing method in any one of claims 1 to 10.
Citation Information
Patent Citations
Interactive information transmission method and device
CN110891123A
A method of and a communications system for playing a message to a calling party
US20100226483A1