VIDEO RING BACK TONE INTERACTION METHOD AND APPARATUS
20210360102 · 2021-11-18
Inventors
Cpc classification
H04M2203/2011
ELECTRICITY
International classification
Abstract
Embodiments of this application provide a video ring back tone interaction method and an apparatus, and relate to the multimedia field, so as to resolve a problem of poor experience of interaction with a video ring back tone caused by an uncertain answer time. The method includes: after initiating a call to a called terminal, a calling terminal displays a video ring back tone on a display, where the video ring back tone includes at least one interactive element; after receiving a user's first interactive operation performed on a first interactive element, the calling terminal caches first interactive resource data corresponding to the first interactive element, where the first interactive element is any one of the at least one interactive element; and when determining that a call status is an idle state, the calling terminal responds based on the first interactive resource data.
Claims
1. A video ring back tone interaction method, comprising: initiating, by a calling terminal, a call to a called terminal; displaying, by the calling terminal, a video ring back tone on a display, wherein the video ring back tone comprises at least one interactive element; receiving, by the calling terminal, a user's first interactive operation performed on a first interactive element, wherein the first interactive element is any one of the at least one interactive element; caching, by the calling terminal, first interactive resource data corresponding to the first interactive element; and responding, by the calling terminal, based on the first interactive resource data when the calling terminal determines that a call status is an idle state.
2. The video ring back tone interaction method according to claim 1, wherein the first interactive element corresponds to a first uniform resource locator (URL), and the caching, by the calling terminal, first interactive resource data comprises: sending, by the calling terminal, a first request message to a first server corresponding to the first URL, wherein the first request message is used to request the first interactive resource data; receiving, by the calling terminal, a first response message sent by the first server corresponding to the first URL, wherein the first response message comprises the first interactive resource data; and caching, by the calling terminal, the first interactive resource data.
3. The video ring back tone interaction method according to claim 1, wherein the method further comprises: sending, by the calling terminal, an interaction result report message to a first server, wherein the interaction result report message comprises at least one of an identifier ID of the video ring back tone, an ID of the calling terminal, an ID of the called terminal, an ID of the first interactive element, and information about execution of the first interactive operation and the first interactive resource data.
4. The video ring back tone interaction method according to claim 1, wherein the calling terminal determines that a call status is an idle state by: learning, through monitoring, that the local call status is the idle state; or receiving a notification message, wherein the notification message is used to indicate that the local call status is the idle state.
5. The video ring back tone interaction method according to claim 1, wherein the first interactive resource data is determined based on the ID of the video ring back tone and the ID of the first interactive element; or the first interactive resource data is determined based on the ID of the video ring back tone, the ID of the first interactive element, and information about the calling terminal.
6. The video ring back tone interaction method according to claim 1, wherein the first interactive resource data comprises at least one of a text file, a graphic file, a sound file, an animation file, or a video file.
7. The video ring back tone interaction method according to claim 6, wherein the responding, by the calling terminal, based on the first interactive resource data comprises: opening, by the calling terminal, at least one of the text file, the graphic file, the sound file, the animation file, or the video file in a corresponding opening manner.
8. The video ring back tone interaction method according to claim 1, wherein before the displaying, by the calling terminal, a video ring back tone on a display, the method further comprises: receiving, by the calling terminal, video ring back tone media negotiation information sent by a ring back tone platform; determining, by the calling terminal, a video media negotiation result based on the video ring back tone media negotiation information and media capability information of the calling terminal; and sending, by the calling terminal, the video media negotiation result to the ring back tone platform, wherein the video media negotiation result is to be used by the ring back tone platform for playing the video ring back tone.
9. The video ring back tone interaction method according to claim 2, further comprising: receiving, by the first server, the first request message from the calling terminal; and sending, by the first server, the first response message to the calling terminal, wherein the first response message comprises the first interactive resource data, and the first interactive resource data is determined based on an identifier ID of the video ring back tone and an ID of the first interactive element, or the first interactive resource data is determined based on an ID of the video ring back tone, an ID of the first interactive element, and information about the calling terminal.
10. The video ring back tone interaction method according to claim 9, wherein the method further comprises: receiving, by the first server, an interaction result report message from the calling terminal, wherein the interaction result report message comprises at least one of the ID of the video ring back tone, an ID of the calling terminal, an ID of a called terminal, the ID of the first interactive element, and information about execution of a first interactive operation and the first interactive resource data.
11. A communications apparatus, comprising a processor and a memory, wherein the memory is configured to store computer executable instructions, which, when executed by the processor, cause the processor to: initiate a call to a called terminal; display a video ring back tone on a display, wherein the video ring back tone comprises at least one interactive element; receive a user's first interactive operation performed on a first interactive element, wherein the first interactive element is any one of the at least one interactive element; cache first interactive resource data corresponding to the first interactive element; and respond based on the first interactive resource data when the calling terminal determines that a call status is an idle state.
12. The communications apparatus according to claim 11, wherein the first interactive element corresponds to a first uniform resource locator URL, and the caching first interactive resource data comprises: sending a first request message to a first server corresponding to the first URL, wherein the first request message is used to request the first interactive resource data; receiving a first response message sent by the first server corresponding to the first URL, wherein the first response message comprises the first interactive resource data; and caching the first interactive resource data.
13. The communications apparatus according to claim 11, wherein the instructions further cause the processor to: send an interaction result report message to a first server, wherein the interaction result report message comprises at least one of an identifier ID of the video ring back tone, an ID of the calling terminal, an ID of the called terminal, an ID of the first interactive element, and information about execution of the first interactive operation and the first interactive resource data.
14. The communications apparatus according to claim 11, wherein that the calling terminal determines that a call status is an idle state comprises: learning, through monitoring, that the local call status is the idle state; or receiving a notification message, wherein the notification message is used to indicate that the local call status is the idle state.
15. The communications apparatus according to claim 11, wherein the first interactive resource data is determined based on the ID of the video ring back tone and the ID of the first interactive element; or the first interactive resource data is determined based on the ID of the video ring back tone, the ID of the first interactive element, and information about the calling terminal.
16. The communications apparatus according to claim 11, wherein the first interactive resource data comprises at least one of a text file, a graphic file, a sound file, an animation file, or a video file.
17. The communications apparatus according to claim 16, wherein the responding based on the first interactive resource data comprises: opening at least one of the text file, the graphic file, the sound file, the animation file, or the video file in a corresponding opening manner.
18. The communications apparatus according to claim 11, wherein the instructions further cause the processor to: receive video ring back tone media negotiation information sent by a ring back tone platform; determine a video media negotiation result based on the video ring back tone media negotiation information and media capability information of the calling terminal; and send the video media negotiation result to the ring back tone platform, wherein the video media negotiation result is to be used by the ring back tone platform for playing the video ring back tone.
Description
BRIEF DESCRIPTION OF DRAWINGS
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
DESCRIPTION OF EMBODIMENTS
[0047] The following describes the technical solutions in the embodiments of this application with reference to the accompanying drawings in the embodiments of this application. In the descriptions of this application, unless otherwise specified, “at least one” means one or more, and “a plurality of” means two or more. In addition, to clearly describe the technical solutions in the embodiments of this application, words such as “first” and “second” are used in the embodiments of this application to distinguish between same or similar items that have basically same functions and roles. A person skilled in the art may understand that the words such as “first” and “second” do not limit a quantity and an execution order, and the words such as “first” and “second” do not limit a definite difference either.
[0048] The embodiments of this application provide a video ring back tone interaction method and an apparatus, which are applied to a mobile communication scenario, that is, a scenario in which a calling terminal calls a called terminal by using a phone number, or may be applied to an internet communication scenario, that is, a scenario in which a calling terminal calls a called terminal by using network telephony software or other social software.
[0049] In the embodiments of this application, the calling terminal initiates a call to the called terminal, and when the calling terminal waits for the called terminal to respond to the call from the calling terminal, the calling terminal displays a video ring back tone on a display, where the video ring back tone includes at least one interactive element. The calling terminal may receive a user's first interactive operation performed on a first interactive element, where the first interactive element is any one of the at least one interactive element. The calling terminal might not immediately respond to the user's first interactive operation, and instead, may cache first interactive resource data corresponding to the first interactive element. When the calling terminal determines that a call status is an idle state (that is, when a called user proactively hangs up after a call, or when the calling user proactively hangs up), the calling terminal then responds based on the first interactive resource data. In other words, according to this application, the calling user's first interactive operation may be responded to after the users' call is completed. This avoids that interaction between the calling user and the video ring back tone is interrupted, or that the called user is forced to wait for completion of the calling user's interactive operation, thereby resolving a problem of poor experience of interaction with a video ring back tone caused by an uncertain answer time, and providing smooth and continuous interaction with a video ring back tone.
[0050]
[0051] In the architectural diagram shown in
[0052] In addition to the foregoing described network elements in the calling IMS domain, a called IMS domain may further include the ring back tone platform (the RBT AS and the RBT MRS) and the first server. It should be noted that the foregoing description does not constitute a limitation on a system architectural diagram in this embodiment of the present application, and the system architectural diagram in this embodiment of the present application includes but is not limited to the diagram shown in
[0053] The following briefly describes some key network elements mentioned above.
[0054] CSCF: is a central node of an IMS core network, and is mainly used for user registration, authorization control, session routing and service trigger control, session status information maintenance, and the like.
[0055] SBC: provides secure access and media processing.
[0056] MME: is a core device of an EPC network, and provides a function of an MME logical entity.
[0057] S/P-GW: is a core device of an EPC network, and provides a function of an S-GW logical entity and a function of a P-GW logical entity.
[0058] RBT AS/RBT MRS: On a signaling plane, an RBT AS is connected to a CSCF on an IMS core network, and is responsible for connecting a callee during a ring back tone call. On a media plane, an RBT MRS is connected to an SBC, and is used to trigger ring back tone playing.
[0059] First server: is used to store interactive resource data corresponding to an interactive element of a video ring back tone, and may select, according to a request message from a calling terminal, interactive resource data that meets a condition, and provide the interactive resource data to the calling terminal.
[0060] A process of triggering a SIP route of a ring back tone in an IMS domain is briefly described below. Triggering a ring back tone in the IMS domain mainly follows a principle of triggering in a called IMS domain. After a call request (INVITE) message initiated by a calling IMS domain is sent to a CSCF in the called IMS domain, the called CSCF triggers a ring back tone platform based on initial filter criteria (initial filter criteria, iFC) subscription information of a user, and after receiving a called ringing message, the ring back tone platform plays an audio ring back tone or a video ring back tone to the calling user. After the ring back tone platform performs processing, a call message returns to the CSCF, and a subsequent call procedure is performed.
[0061] The calling terminal in the embodiments of this application may be referred to as a terminal or a terminal device, and may be a device with a wireless transceiving function. The terminal may be deployed on land, including indoor, outdoor, handheld, or vehicle-mounted, may be deployed on the water (for example, on a ship), or may be deployed in the air (for example, on an aircraft, on a balloon, and on a satellite). The terminal device may be user equipment (user equipment, UE). The UE includes a handheld device, vehicle-mounted device, wearable device, or computing device with a wireless communication function. For example, the UE may be a mobile phone, a tablet computer, or a computer with a wireless transceiving function. The terminal device may alternatively be a virtual reality (VR) terminal device, an augmented reality (AR) terminal device, a wireless terminal in industrial control, a wireless terminal in self driving, a wireless terminal in telemedicine, a wireless terminal in a smart grid, a wireless terminal in a smart city, a wireless terminal in a smart home, or the like. In the embodiments of this application, an apparatus used to implement a function of a terminal may be a terminal, or may be an apparatus that can support the terminal in implementing the function, for example, a chip system. In the technical solutions provided in the embodiments of this application, an example in which the apparatus used to implement a function of a terminal is a terminal device is used to describe the technical solutions provided in the embodiments of this application.
[0062] The calling terminal in
[0063] For example, an apparatus used to implement a function of the calling terminal provided in the embodiments of this application may be implemented by an apparatus 200 in
[0064] In this embodiment of this application, the processor may be a central processing unit (CPU), a general-purpose processor, a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor may alternatively be any other apparatus with a processing function, for example, a circuit, a component, or a software module.
[0065] The bus 202 may be configured to transfer information between the foregoing components.
[0066] The communications interface 204 is configured to communicate with another device or a communications network, for example, an ethernet, a radio access network (RAN), or a wireless local area network (WLAN). The communications interface 204 may be an interface, a circuit, a transceiver, or another apparatus that can implement communication. This is not limited in this application. The communications interface 204 may be coupled to the processor 201.
[0067] Coupling in this embodiment of this application is indirect coupling or a communications connection between apparatuses, units, or modules, may be in an electrical, mechanical, or another form, and is used for information exchange between the apparatuses, the units, or the modules.
[0068] In this embodiment of this application, the memory may be a read-only memory (ROM) or another type of static storage device capable of storing static information and an instruction, a random access memory (RAM) or another type of dynamic storage device capable of storing information and an instruction, or may be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM), or other compact disc storage or optical disc storage (including a compressed optical disc, a laser disc, an optical disc, a digital universal optical disc, a blue-ray optical disc, and the like), a magnetic disk storage medium or another magnetic storage device, or any other medium capable of carrying or storing expected program code in a form of an instruction or a data structure and capable of being accessed by a computer, but is not limited thereto. The memory may exist independently, or may be coupled to the processor, for example, by using the bus 202. Alternatively, the memory may be integrated with the processor.
[0069] The memory 203 is configured to store program instructions, and execution of the program instructions may be controlled by the processor 201, so as to implement video ring back tone interaction methods provided in the following embodiments of this application. The processor 201 is configured to invoke and execute the program instructions stored in the memory 203, so as to implement video ring back tone interaction methods provided in the following embodiments of this application.
[0070] Optionally, a computer executable instruction in this embodiment of this application may also be referred to as application program code. This is not specifically limited in this embodiment of this application.
[0071] Optionally, the memory 203 may be included in the processor 201.
[0072] In specific implementation, in an embodiment, the processor 201 may include one or more CPUs, for example, a CPU 0 and a CPU 1 in
[0073] In specific implementations of an embodiment, the apparatus 200 may include a plurality of processors, for example, the processor 201 and a processor 207 in
[0074] In specific implementations of an embodiment, the apparatus 200 may further include an output device 205 and an input device 206. The output device 205 is coupled to the processor 201, and may display information in a plurality of manners. For example, the output device 205 may be a liquid crystal display (liquid crystal display, LCD), a light emitting diode (light emitting diode, LED) display device, a cathode ray tube (cathode ray tube, CRT) display device, a projector (projector), or the like. The input device 206 is coupled to the processor 201, and may receive a user input in a plurality of manners. For example, the input device 206 may be a mouse, a keyboard, a touchscreen device, a sensing device, or the like.
[0075] The apparatus 200 may be a general-purpose device or a dedicated device. In specific implementations, the calling terminal 200 may be a portable computer, a network server, a personal digital assistant (PDA), a mobile phone, a tablet computer, a wireless calling terminal, an embedded device, or a device with a structure similar to that in
[0076] For example, an apparatus used to implement a function of the first server provided in the embodiments of this application may be implemented by an apparatus 300 in
[0077] The bus 302 may be configured to transfer information between the foregoing components.
[0078] The communications interface 304 is configured to communicate with another device or a communications network, for example, an ethernet, a RAN, or a WLAN. The communications interface 304 may be an interface, a circuit, a transceiver, or another apparatus that can implement communication. This is not limited in this application. The communications interface 304 may be coupled to the processor 301.
[0079] The memory 303 is configured to store program instructions, and execution of the program instructions may be controlled by the processor 301, so as to implement video ring back tone interaction methods provided in the following embodiments of this application. For example, the processor 301 is configured to invoke and execute the program instructions stored in the memory 303, so as to implement video ring back tone interaction methods provided in the following embodiments of this application.
[0080] Optionally, the memory 303 may be included in the processor 301.
[0081] In specific implementations of an embodiment, the processor 301 may include one or more CPUs, for example, a CPU 0 and a CPU 1 in
[0082] In specific implementations of an embodiment, the apparatus 300 may include a plurality of processors, for example, the processor 301 and a processor 305 in
[0083] For ease of understanding, the following specifically describes, with reference to the accompanying drawings, the video ring back tone interaction method provided in the embodiments of this application.
[0084] As shown in
[0085] 401: A calling terminal initiates a call to a called terminal.
[0086] The calling terminal initiates the call to the called terminal. A ring back tone platform determines whether the called terminal has subscribed to a video ring back tone service. If the called terminal has subscribed to the video ring back tone service, the ring back tone platform sends video ring back tone media negotiation information to the calling terminal. The calling terminal determines a video media negotiation result based on the video ring back tone media negotiation information and media capability information of the calling terminal. The calling terminal sends the video media negotiation result to the ring back tone platform. The ring back tone platform performs video ring back tone playing based on the video media negotiation result, that is, transmits a video ring back tone media stream to the calling terminal. The video media negotiation result includes but is not limited to information about a video ring back tone media supported by the calling terminal, an IP address at which the calling terminal receives a video media, information about a video channel port, and video encoding/decoding information.
[0087] The calling terminal may initiate an audio call or a video call to the called terminal. It should be understood that if the calling terminal initiates an audio call to the called terminal, the ring back tone platform may determine, based on service control on a ring back tone service management side, whether the call meets a video media negotiation condition. If the call meets the video media negotiation condition, the ring back tone platform may change an audio media requested by the calling terminal to a video media.
[0088] 402: The calling terminal displays a video ring back tone on a display, where the video ring back tone includes at least one interactive element.
[0089] The calling terminal may invoke a video player (that is, an app used to play a video) installed on the calling terminal to play the video ring back tone on the calling terminal, and display the video ring back tone (that is, the video ring back tone media stream) on the display of the calling terminal.
[0090] The video ring back tone includes one or more interactive elements. The interactive element is used to indicate that a user can perform an interactive operation. The interactive element may include a text box, password input, a text link, a radio box, a radio button, an image, a submit button, a clear button, a hidden area, a drop-down menu, a text input area, and the like.
[0091] For example, as shown in
[0092] In a possible design, the interactive element may be customized by a video ring back tone operator for a specific video ring back tone. As shown in
[0093] In a possible design, the interactive element may alternatively be independent of the video ring back tone media stream, and for example, may be superimposed on a video ring back tone playing window during playing of the video ring back tone. For example, as shown in
[0094] 403: The calling terminal receives a user's first interactive operation performed on a first interactive element, where the first interactive element corresponds to a first URL.
[0095] The calling terminal may receive an interactive operation such as tapping (single-tapping, double-tapping, or the like) or flicking performed by the user in an area in which the first interactive element is located. The first interactive element is any one of the at least one interactive element.
[0096] For example, as shown in
[0097] 404: The calling terminal sends a first request message to a server corresponding to the first URL.
[0098] The first request message is used to request first interactive resource data corresponding to the first interactive element of the video ring back tone. That is, the first request message is used to request the first interactive resource data. The first interactive resource data may include at least one of a text file (registration information), a graphic file (for example, a coupon), a sound file, an animation file, or a video file (for example, a movie trailer).
[0099] Optionally, after the calling terminal receives the user's first interactive operation performed on the first interactive element, the display of the calling terminal may provide the user, a choice whether to allow delayed interaction, that is, whether to allow the first interactive resource data to be presented on the calling terminal after the call ends. If the user chooses “Allow delayed interaction”, the calling terminal sends the first request message to the server corresponding to the first URL.
[0100] In a possible design, a first server corresponding to the first URL may be a server related to the ring back tone platform. The first server may be managed by an operator that operates a video ring back tone. The first server may store interactive resource data corresponding to interactive elements of most video ring back tones registered with the ring back tone platform. Therefore, the first server may also be referred to as an interactive server, an interactive resource server, or the like. This is not limited in this application.
[0101] In another possible design, a first server corresponding to the first URL may alternatively be a server not related to the ring back tone platform. For example, the first server may be a dedicated server of “XX Coffee Shop”. The dedicated server stores interactive resource data corresponding to some or all of interactive elements of the video ring back tone corresponding to “XX Coffee Shop”.
[0102] Steps 405 and 406 are described by using an example in which the server corresponding to the first URL is the first server.
[0103] 405: The first server receives the first request message sent by the calling terminal.
[0104] In a possible design, the first request message may include an ID of the video ring back tone and an ID of the first interactive element.
[0105] In another possible design, the first request message may include an ID of the video ring back tone, an ID of the first interactive element, and information about the calling user. The information about the calling user may include an ID of the user and real-time information of the user, for example, current location information, network information, and terminal battery level information. In this way, the interactive server may provide the calling user with more appropriate personalized interactive resource data based on the user information.
[0106] 406: The first server sends a first response message to the calling terminal, where the first response message includes the first interactive resource data.
[0107] In a possible design, the first interactive resource data may be determined based on the ID of the video ring back tone and the ID of the first interactive element. For example, the first interactive resource data may be configured in the first server in advance by the video ring back tone operator based on the ID of the video ring back tone and the ID of the first interactive element.
[0108] For example, as shown in Table 1, it is assumed that if a 1# key is pressed during playing of a video ring back tone RBT000001, a coffee coupon coffee_coupon.png may be presented; and if a 2# key is pressed during playing of the video ring back tone RBT000001, a coffee ordering website whose URL is “irs.com/order_coffee.html” may be displayed, where the 1# key and the 2# key are interactive elements of the video ring back tone. It is assumed that if a button_1 is tapped during playing of a video ring back tone RBT000002, a third-party shopping website whose URL is “http://www.shop.com/dress1.html” may be displayed, where the button_1 is an interactive element of the video ring back tone.
TABLE-US-00001 TABLE 1 ID of a ID of a first video ring interactive back tone element First URL First interactive resource data RBT000001 Key 1# irs.com/order_coffeecoupon.html coffe_coupon.png Key 2# irs.com/order_coffee.html Resource data corresponding to irs.com/order_coffee.html RBT000002 button_1 http://www.shop.com/dress1.html Resource data corresponding to http://www.shop.com/dress1.html
[0109] In other words, the key 1# of RBT000001 corresponds to resource data of the URL “irs.com/order_coffee coupon.html”, that is, a graphic file (a coupon coffe_coupon.png); the key 2# of RBT000001 corresponds to the resource data of the URL “irs.com/order_coffee.html”; and the button_1 of RBT000002 corresponds to the resource data of the URL “http://www.shop.com/dress1.html”.
[0110] In another possible design, the first interactive resource data may be determined based on the ID of the video ring back tone, the ID of the first interactive element, and information about the calling terminal. That is, the first interactive resource data may be customized for a user based on the ID of the video ring back tone, the ID of the first interactive element, and the information about the calling terminal. This can improve user experience.
[0111] For example, as shown in Table 2, it is assumed that if a 1# key is pressed during playing of a video ring back tone RBT000001, a coffee coupon coffee_coupon1.png, coffee_coupon2.png, or coffe_coupon3.png may be presented. That is, a video ring back tone ID (RBT000001) and an interactive element (the key 1#) jointly correspond to a plurality of coupons (coffe_coupon). The interactive server may select an available coupon of a shop closest to a location of the calling terminal based on the information about the calling user (for example, location information), and return the coupon to the calling terminal. For example, if the calling user is located in Longgang District of Shenzhen, coffee_coupon2.png may be returned to the calling user.
TABLE-US-00002 TABLE 2 ID of a ID of a first video ring interactive Location First interactive back tone element information First URL resource data RBT000001 Key 1# Nanshan irs.com/order_coffeecoupon1.html coffe_coupon1.png District of Shenzhen Longgang rs.com/order_coffeecoupon2.html coffe_coupon2.png District of Shenzhen Futian irs.com/order_coffeecoupon3.html coffe_coupon3.png District of Shenzhen
[0112] 407: The calling terminal receives the first response message sent by the server corresponding to the first URL.
[0113] The calling terminal may receive the first response message sent by the first server, where the first response message includes the first interactive resource data.
[0114] 408: The calling terminal caches the first interactive resource data corresponding to the first interactive element.
[0115] After receiving the first response message, the calling terminal may cache the first interactive resource data in the first response message in the calling terminal, for example, may store the first interactive resource data in a CPU, a memory, or a storage card in the calling terminal.
[0116] 409: The calling terminal determines whether a call status is an idle state.
[0117] After the calling terminal receives the user's first interactive operation performed on the first interactive element, the calling terminal may monitor whether the local call status is the idle state.
[0118] In a possible design, the calling terminal may proactively monitor the local call status. For example, assuming that the calling terminal uses an Android operating system, a call status interface TelephonyManagerjava that can be monitored at an application layer and that is provided by the Android operating system may be called. If an obtained return value is CALL_STATE_IDLE, it indicates that the calling terminal is in an idle state, that is, the call ends or a called user does not answer, and the call times out. If an obtained return value is CALL_STATE_RINGING, it indicates that the calling terminal is in a ringing state or in a state in which an incoming call from a third party is waiting. If an obtained return value is CALL_STATE_OFFHOOK, it indicates that the calling terminal is in a state such as dialing, active, or holding.
[0119] In another possible design, the calling terminal may passively receive a notification indicating a local idle call state. For example, after receiving, by using a call module, a BYE message indicating that the called user hangs up, the calling terminal can determine that the call status is the idle state.
[0120] 410: When the calling terminal determines that the call status is the idle state, the calling terminal responds based on the first interactive resource data.
[0121] That is, when the calling terminal learns, through monitoring, that the local call status is the idle state, or when the calling terminal receives a notification message, where the notification message is used to indicate that the local call status is the idle state, the calling terminal responds based on the first interactive resource data.
[0122] In a possible design, that the calling terminal responds based on the first interactive resource data may be that the calling terminal displays the first interactive resource data in a corresponding manner based on a type of the cached first interactive resource data. For example, if interactive resource data is a text file, for example, a phone number, a call app may be displayed, and the phone number may be entered. If the interactive resource data is a picture file, for example, a coupon, the picture file may be opened by a picture app or if interactive resource data is a video file, the video file may be opened by a video player.
[0123] 411: The calling terminal sends an interaction result report message to the first server.
[0124] After responding to the first interactive resource data and exiting an interface/window that presents the first interactive resource data, the calling terminal may send the interaction result report message to the first server. The first interactive resource data may be obtained from the first server. This is not limited in this application.
[0125] In a possible design, the interaction result report message includes at least one of the ID of the video ring back tone, an ID of the calling terminal, an ID of the called terminal, the ID of the first interactive element, information about execution of the first interactive operation and the first interactive resource data (for example, whether a corresponding commodity is purchased, whether registration succeeds, or whether a corresponding coupon is saved), the information about the calling user (for example, the ID of the calling user), information about the called user (for example, an ID of the called user), and interaction duration.
[0126] 412: The first server receives the interaction result report message from the calling terminal.
[0127] The first server may collect statistics based on the received interaction result report message. For example, the first server collects statistics on a quantity of times each video ring back tone is tapped, a tap rate of each video ring back tone, a completion rate of interactive resource data, interaction information of the calling user (what interactive operations were performed on which interactive elements), and the like, within a period of time. This helps a video ring back tone operator or service provider run business.
[0128] It should be noted that step 401 to step 412 are not necessarily performed in a particular order, and an execution order of the steps is not specifically limited in this embodiment.
[0129] In this application, after receiving the user's interactive operation (the first interactive operation performed on the first interactive element) during playing of the video ring back tone, the calling terminal may cache corresponding interactive resource data (the first interactive resource data), and respond based on the interactive resource data after the call ends, thereby ensuring continuity of interaction between the calling user and the video ring back tone (especially comparatively time-consuming interaction with a video ring back tone advertisement) without affecting normal progress of the call. For the called user, the call also does not need to be postponed due to the caller's interaction with the video ring back tone, thereby resolving a problem of poor experience of interaction with a video ring back tone caused by an uncertain answer time. In addition, for the video ring back tone operator, the caller's interaction with the video ring back tone is not necessarily limited to a short period of time existing before the called user answers, and re-diversion is performed after the call ends, thereby increasing a completion rate of interaction with the video ring back tone.
[0130] In the foregoing embodiments provided in this application, the method provided in the embodiments of this application is described separately from perspectives of the calling terminal, the first server, and interaction between the calling terminal and the first server. To implement functions in the method provided in the foregoing embodiments of this application, the calling terminal and the first server may include a hardware structure and/or software modules, and implement the foregoing functions in a form of the hardware structure, the software modules, or a combination of the hardware structure and the software module. Whether a specific function among the foregoing functions is performed in a manner of the hardware structure, the software modules, or a combination of the hardware structure and the software module depends on particular applications and design constraints of the technical solutions.
[0131] When each functional module is obtained through division based on each corresponding function,
[0132] When each functional module is obtained through division based on each corresponding function,
[0133] Division into the modules in the embodiments of this application is an example, and is merely logical function division. There may be other manners of division in actual implementation. In addition, function modules in the embodiments of this application may be integrated into one processor, or each of the modules may exist alone physically, or two or more modules may be integrated into one module. The integrated module may be implemented in a form of hardware, or may be implemented in a form of a software function module. For example, in the embodiments of this application, the receiving unit and the sending unit may be integrated into a transceiver unit.
[0134] All or some of the foregoing methods in the embodiments of this application may be implemented by using software, hardware, firmware, or any combination thereof. When software is used to implement the methods, the methods may be implemented completely or partially in a form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the procedures or functions according to the embodiments of the present application are all or partially generated. The computer may be a general-purpose computer, a dedicated computer, a computer network, a network device, user equipment, or another programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or may be transmitted from a computer-readable storage medium to another computer-readable storage medium. For example, the computer instructions may be transmitted from a website, computer, server, or data center to another website, computer, server, or data center in a wired (for example, a coaxial cable, an optical fiber, or a digital subscriber line (digital subscriber line, DSL)) or wireless (for example, infrared, radio, or microwave) manner. The computer-readable storage medium may be any usable medium accessible by a computer, or a data storage device, such as a server or a data center, integrating one or more usable media. The usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, a digital video disc (digital video disc, DVD)), a semiconductor medium (for example, solid-state drives (solid state drives, SSD)), or the like.
[0135] It is clear that, a person skilled in the art can make various modifications and variations to embodiments of this application without departing from the spirit and scope of this application. This application is intended to cover these modifications and variations provided that they fall within the scope of protection defined by the following claims and their equivalent technologies.