Call processing method and device
By implementing the called user taking off-hook in the media server, the problem of the ringtone stopping the ringtone after taking off-hook in the VoLTE ringtone system is solved, the user experience and network utilization rate are improved, and the development of ringtone service is promoted.
Patent Information
- Application Number
- CN201910926313.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-09-27
- Publication Date
- 2025-04-04
- Estimated Expiration
- 2039-09-27
AI Technical Summary
In the VoLTE ringtone system, the ringtone is stopped after the user takes off the hook, which affects the user experience and limits the development of the ringtone business.
Through the media server, the ringtone video continues to play to the calling terminal when the main called user is audio call, realizing the function of video playback after the called user is off-hook.
It enriches the user experience, improves the utilization rate of network capabilities, and is conducive to the development of ringtone-related services.
Smart Images

Figure CN112583982B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of communications, and in particular to a call processing method and device. Background Art
[0002] With the deployment of the 4th generation (4G) wireless communication system and the introduction of VoLTE (Voice over LTE), the wireless communication system can provide high-definition audio and video communication between calling and called users, as well as color ringback tone audio and video services.
[0003] In the current VoLTE ringback tone system, the ringback tone stops playing after the user picks up the phone, which affects the user experience and limits the development of the ringback tone service. Summary of the invention
[0004] The embodiment of the present application provides a call processing method and device, which realizes the function that after the called user picks up the phone, the media server continues to play the ringback tone video to the calling terminal during the audio call between the calling user and the called user, enriches the user experience, improves the utilization rate of network capacity, and is conducive to the development of ringback tone related services.
[0005] In a first aspect, an embodiment of the present application provides a call processing method. The method includes a media server receiving an initial call request sent by a calling terminal, and forwarding the initial call request to a called terminal. Then, the media server receives a successful response from the called terminal to the initial call request, and the successful response to the initial call request indicates that the called terminal has picked up the phone. After receiving the successful response to the initial call request, the media server negotiates call media resources and video resources with the called terminal, and sends a video stream to the called terminal based on the video resource negotiation performed with the called terminal during the call between the calling terminal and the called terminal.
[0006] The above method enables a video stream to be sent to a called user during an audio call between the calling user and the called user, thereby improving the user experience and the utilization rate of network capabilities.
[0007] In a possible design, the call media resource negotiation and video resource negotiation with the called terminal includes: in response to a successful response to the initial call request sent by the called terminal, negotiating with the called terminal the media resource of the audio during the call between the called terminal and the calling terminal and the media resource of the video played for the called terminal during the call. Through this method, the media server conducts media negotiation with the called terminal after the called terminal sends a successful response to the initial call request. This ensures that the video is played for the called party during the call.
[0008] In one possible design, after receiving a successful response from the called terminal to the initial call request, the method further includes: forwarding the successful response to the initial call request to the calling terminal, and receiving a confirmation message of the successful response to the initial call request sent by the calling terminal;
[0009] The negotiation of call media resources and video resources with the called terminal includes: in response to the confirmation message of the successful response to the initial call request sent by the calling terminal, negotiating with the called terminal the media resources of the audio during the call between the called terminal and the calling terminal and the media resources of the video played for the called terminal during the call. Through this method, the media server performs media negotiation after the channel passed by the calling and called terminals is established, ensuring that the video is played for the called terminal during the call.
[0010] In a possible design, the media server first determines whether the calling user or the called user has signed up for a service for video playback during a call, and then performs the call media resource negotiation and video resource negotiation with the called terminal.
[0011] In a possible design, the negotiating call media resources and video resources with the called terminal includes:
[0012] Send a media renegotiation message to the called terminal, the media renegotiation message carries the media resource session description protocol SDP information of the call between the called terminal and the calling terminal and the SDP information of the video stream played by the called terminal during the call; receive a successful response from the called terminal to the media renegotiation message. Through this method, the media renegotiation message carries the SDP information of the video stream played during the call and the SDP information of the passed media resource session, so as to ensure that the video is played during the call without affecting the quality of the call.
[0013] In a possible design, the method further includes: sending a successful response to the initial call request to the calling terminal, the successful response to the initial session request carrying the media resource session description protocol SDP information of the call between the called terminal and the calling terminal and the SDP information of the video stream played by the calling terminal during the call; receiving a successful response from the calling terminal to the media renegotiation message. Through this method, the video is played for the calling terminal and the called party respectively during the call, improving the user experience of the calling and called parties and the use of network capabilities.
[0014] In a second aspect, an embodiment of the present application provides an application to a terminal device. The called terminal receives an initial call request sent by the calling terminal. After sending a successful response to the initial call request to the media server, the called terminal negotiates with the media server the media resources for the audio during the call between the called terminal and the calling terminal and the media resources for the video played for the called terminal during the call. The called terminal plays the video stream sent by the media server during the audio call with the calling terminal. The above method enables the video stream to be sent to the called user during the audio call between the calling user and the called user, thereby improving the user experience and the utilization rate of the network capacity.
[0015] In one possible design, the negotiating with the media server the media resource of the audio during the call between the called terminal and the calling terminal and the media resource of the video played for the called terminal during the call includes:
[0016] Receive a media negotiation message sent by the media server, the media renegotiation message carries the media resource session description protocol (SDP) information of the audio during the call between the called terminal and the calling terminal, and also carries the SDP information of the video stream played for the called terminal during the call; return a successful response to the media renegotiation message to the media server. The media renegotiation message carries the SDP information of the video stream played during the call and the SDP information of the passed media resource session, so as to ensure that the video is played during the call without affecting the quality of the call.
[0017] In a possible design, after the calling terminal hangs up, the called terminal negotiates media resources with the media server, and receives and plays the audio stream and video stream sent by the media server after the calling terminal hangs up. Through this method, after the calling terminal hangs up, the media server can also negotiate media with the called terminal, and play the video to the called user through the called terminal, which improves the user experience and improves the utilization rate of network capabilities.
[0018] In a third aspect, an embodiment of the present application provides a call processing method. The media server receives an initial call request sent by a calling terminal, and sends the initial call request to a called terminal. The media server receives a successful response from the called terminal to the initial call request; after the called terminal picks up the phone and the call between the calling terminal and the called terminal ends, the media server receives a hang-up message sent by the calling terminal. In response to the hang-up message sent by the calling terminal, the media server negotiates with the called terminal on media resources after the call ends, and sends an audio stream and a video stream to the called terminal based on the negotiated media resources. The above method enables the called user to send a video stream to the called user during an audio call between the calling user and the called user, thereby improving the user experience and the utilization rate of the network capacity.
[0019] In a possible design, after receiving the hang-up message from the calling terminal, the media server determines that the called user has signed up for the audio and video playback service after the call ends, and then performs the media resource negotiation with the called terminal. Through this method, after the calling party hangs up, the media server can still play the video to the called user through the called terminal, which improves the user experience and improves the utilization rate of network capabilities.
[0020] In one possible design, the media server and the called terminal conduct media resource negotiation including: sending a media renegotiation message to the called terminal, the media renegotiation message carrying SDP information of the audio stream and the video stream; receiving a successful response to the media renegotiation message sent by the called terminal. The call SDM information is carried in the media renegotiation message to ensure that the video is played after the calling terminal hangs up without affecting the call quality.
[0021] In a fourth aspect, an embodiment of the present application provides a media server having the function of implementing the media server in the above method. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions, a call processing unit, a media negotiation unit, and a media sending unit.
[0022] In one possible design, the structure of the media server includes a processor and a memory, the memory is used to store program code for executing the above method, and the processor is configured to execute the program stored in the memory. The media server may also include a communication interface for communicating with other devices.
[0023] In a fifth aspect, an embodiment of the present application provides a terminal device having the functions of implementing the terminal device in the above method. The functions can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions, such as a call processing unit, a media negotiation unit, a media receiving unit, and a media playing unit.
[0024] In one possible design, the structure of the terminal device includes a processor and a memory, the memory is used to store program code for executing the above method, and the processor is configured to execute the program stored in the memory. The terminal device may also include a communication interface for communicating with other devices.
[0025] In a sixth aspect, an embodiment of the present application further provides a call processing method. The called terminal device receives an initial call request sent by the calling terminal, and sends a successful response to the initial call request to the calling terminal device. The successful response to the initial call request is used to indicate that the called terminal device has picked up the phone. After the called terminal picks up the phone and the call between the calling terminal and the called terminal ends, the media resource negotiation after the call ends is performed with the media server, and the audio stream and video stream sent by the media server are received.
[0026] In one possible design, media resource negotiation after the call with the media server includes: receiving a media renegotiation message sent by the media server, the media renegotiation message carrying SDP information of the audio stream and the video stream, and sending a successful response to the media renegotiation message to the media server.
[0027] In a seventh aspect, an embodiment of the present application provides a terminal device having the function of implementing the called terminal device in the sixth aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more units corresponding to the above functions, such as a call processing unit, a media negotiation unit, a media receiving unit, and a media playing unit.
[0028] In one possible design, the structure of the terminal device includes a processor and a memory, the memory is used to store program code for executing the above method, and the processor is configured to execute the program stored in the memory. The terminal device may also include a communication interface for communicating with other devices.
[0029] In an eighth aspect, an embodiment of the present application provides a computer storage medium for storing computer software instructions used by the above-mentioned media server and terminal device, which includes programs designed for executing the above-mentioned various aspects.
[0030] The above technical solution provided by the embodiment of the present application realizes the function that the media server continues to play the ringback tone video to the calling terminal when the calling and called users are in an audio call or after the call after the called user picks up the phone, which enriches the user experience, improves the utilization rate of network capabilities, and is conducive to the development of ringback tone related services. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 A schematic diagram of the architecture of a call processing system provided in an embodiment of the present application;
[0032] Figure 2 A flowchart of a call processing method provided in an embodiment of the present application;
[0033] Figure 3 A flowchart of another call processing method provided in an embodiment of the present application;
[0034] Figure 4 A flowchart of another call processing method provided in an embodiment of the present application;
[0035] Figure 5 A schematic diagram of the structure of a media server provided in an embodiment of the present application;
[0036] Figure 6 A schematic diagram of the structure of another media server provided in an embodiment of the present application;
[0037] Figure 7 A schematic diagram of the structure of a terminal device provided in an embodiment of the present application;
[0038] Figure 8 A schematic diagram of the structure of another terminal device provided in an embodiment of the present application;
[0039] Fig. 9 A schematic diagram of the structure of another call processing system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0040] In order to make the objectives, technical solutions and advantages of the present invention more clear, the embodiments of the present invention will be further described in detail below with reference to the accompanying drawings.
[0041] In the embodiment of the present application, after the called user picks up the phone, the media server can continue to play the ringback tone video content to the calling terminal during the call between the calling party and the called party. Or after the called user hangs up after the call, the media server continues to play the ringback tone video content to the calling terminal. The embodiment of the present application can be applied to the 4th generation (4G), 5th generation (5G) mobile communication network architecture or future networks. For the convenience of description, the network architecture and method flow of the solution are explained below using the 4G network architecture as an example.
[0042] like Figure 1 As shown, it is a system architecture diagram of an embodiment of the present application applied in a VoLTE network, including: a calling terminal, a called terminal, a wireless access network, and an Internet protocol (IP) multimedia subsystem (IMS) domain network on the calling side and the called side.
[0043] The IMS domains of the calling side and the called side may include the IMS domain core network and the Evolved Packet Core (EPC). The IMS domain core network includes: serving-call session control function (S-CSCF), interrogating-call session control function (I-CSCF), proxy-call session control function (P-CSCF), home subscriber server (HSS), session border controller (SBC), and several dedicated servers, such as multimedia telephony application server (MMTel AS). Among them, I-CSCF can be combined with S-CSCF, which can be referred to as "I / S-CSCF". SBC and P-CSCF can be combined, which can be referred to as "SBC / P-CSCF". EPC may include packet data network gateway (PGW), serving gateway (SGW) and mobile management entity (MME). Among them, PGW and SGW can be set up together, which can be abbreviated as "SGW / PGW".
[0044] The above network elements are all corresponding network elements in the wireless communication network in the prior art. They will not be described in detail here, but only briefly explained. For example: S-CSCF can be used for user registration, authentication control, session routing and service triggering control, and maintain session status information. I-CSCF can be used for the assignment and query of S-CSCF registered by the user. P-CSCF can be used for signaling and message proxy. HSS can be used to store user contract information and location information. SBC can provide secure access and media processing. MMTel AS provides basic multimedia telephone services and supplementary services. MME is the core equipment of the EPC network. SGW can be used for the connection between the IMS core network and the wireless network, and PGW can be used for the connection between the IMS core network and the IP network.
[0045] The calling and called IMS domain core networks also include: a media server. The media server provides media playback of video for the calling or called user. Among them, the media server may include a media control server and a media resource server MRS. The media control server and the media resource server may be co-located or physically separated. The media control server processes signaling messages, and the media resource server provides the calling and / or called user with frequency and video streams.
[0046] The calling terminal and the called terminal are devices with wireless transceiver functions, which can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; they can also be deployed on the water (such as ships); they can also be deployed in the air (such as airplanes, balloons and satellites). Specifically, the terminal device can be a terminal device that can access the mobile network, a mobile phone, a tablet computer (pad), a computer with wireless transceiver function, a virtual reality (VR) terminal, an augmented reality (AR) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc. 。
[0047] It should be noted that the above description does not constitute a limitation on the system architecture diagram of the embodiment of the invention. The system architecture diagram of the embodiment of the present application includes but is not limited to Figure 1 shown.
[0048] As an optional manner, the media server may not be located in the IMS domain core network of the calling party or the called party, but may be independent of the IMS domain core network of the calling party and the called party.
[0049] As an alternative, the embodiment of the present application can also be a scenario of a user of a VoLTE network and a user of other networks (such as an IMS network, a fixed network, a switching network, etc.). For example, in the embodiment of the present application, the calling or called user is a VoLTE user, and the opposite user is a user of other networks.
[0050] Applied to the above Figure 1 The embodiment of the present invention provides a method for call processing. The media server plays the video to the calling terminal and the called terminal respectively after the called party picks up the phone. Further, after the calling terminal hangs up, the media server can continue to play the video to the called terminal. The specific steps are as follows: Figure 2-Figure 4 In any embodiment, in order to make the description concise and easy to understand, some network elements through which the signaling interaction passes are not drawn, such as SGW / PGW, SBC / P-CSCF, I-CSCF / S-CSCF, etc. The method specifically includes the following steps.
[0051] 201, the media server receives an initial call request, such as an INVITE message, from a calling terminal. The calling terminal initiates a call request to the called terminal to request a voice call with the called terminal.
[0052] The initial call request includes the session description protocol (SDP) information (SDP_O) of the calling terminal, and the SDP information (SDP_O) of the calling terminal includes but is not limited to the call type, the calling and called numbers, the media types and codes supported by the calling party, etc. The initial call request is used for the calling terminal and the called terminal to negotiate the call media.
[0053] 202. The media server forwards the initial call request to the called terminal and connects the called terminal.
[0054] 203, the media server receives the 183 message from the called terminal. After receiving the INVITE, the called terminal sends a 183 message to the media server and starts normal media negotiation with the calling party. The 183 message carries the SDP information of the called terminal.
[0055] 204. The media server forwards the 183 message sent by the called terminal to the calling terminal.
[0056] 205. The media server receives a confirmation message PRACK (Provisional Response ACKnowledgement) for the above 183 message returned by the calling terminal.
[0057] 206. The media server forwards the PRACK message to the called terminal.
[0058] 207. The media server receives a response to the PRACK message returned by the called terminal, that is, a 200 OK (prack) message.
[0059] 208. The media server forwards the 200 OK (prack) message to the calling terminal.
[0060] 209. The media server receives an UPDATE message sent by the calling terminal. If the calling terminal starts the Precondition process, the calling terminal sends an UPDATE message carrying call resource information to the called party after completing resource reservation.
[0061] 210. The media server forwards the UPDATE message to the called terminal. After receiving the UPDATE message, the called terminal completes resource reservation and starts ringing.
[0062] 211, the media server receives a successful response to the UPDATE message sent by the called terminal, such as 200
[0063] 200OK(SDP-a-regular2) message. The 200OK(SDP-a-regular2) message carries the call resource information of the called terminal.
[0064] 212. The media server forwards a successful response to the UPDATE message (eg, a 200 OK (SDP-a-regular2) message) to the calling terminal.
[0065] 213, the media server also receives a 180 ringing message sent by the called terminal, indicating that the called terminal has started ringing.
[0066] 214. After receiving the 180 ringing message from the called terminal, the media server forwards the 180 ringing message from the called terminal to the calling terminal.
[0067] 215, the media server receives a successful response (such as 200 OK (INVITE)) message sent by the called terminal to the initial call request (such as invite). The called user picks up the phone after hearing the ringing, and sends a successful response (such as 200 OK message) to the initial call request to indicate that the called user has picked up the phone.
[0068] 216. After receiving a successful response (such as a 200 OK message) to the initial call request sent by the called terminal, the media server determines to play a video for the called terminal during the call between the calling terminal and the called terminal.
[0069] For example, after receiving the called party's off-hook message, the media server can query through HSS whether the calling user and the called user have signed up for the service of playing video for the called party during the call, and determine whether it is necessary to play video for the called party during the call. If either party has signed up for the service of playing video for the called party, the video playback process can be started.
[0070] In addition, the media server (such as the media control server) determines the video content to be played based on the terminal information obtained through the S-CSF or HSS, such as the caller number, age, gender, network, user credit rating, Internet habits, consumption behavior, traffic consumption and other attribute tags and the user's current real-time location, time, user status, and the media location of the user's idle time during this volte call (B end during the call).
[0071] 217. In response to the off-hook message (200 OK (INVITE), i.e., a successful response to the initial call request) received by the media server, the media server sends a media re-negotiation message (re-invite) to the called terminal to negotiate the call media resources and video resources with the called terminal. The re-invite request carries the video media information and the audio information that the original caller and the called party have negotiated. The audio information that the original caller and the called party have negotiated is the audio information used during the call between the calling and called terminals.
[0072] The media server negotiates call media resources and video resources with the called terminal, including: negotiating with the called terminal the media resources of the audio during the call between the called terminal and the calling terminal and the media resources of the video played for the called terminal during the call.
[0073] In addition, the media renegotiation message further carries a video play indication to indicate that the media negotiation request includes an indication of media information for the video, so that the billing device can perform billing according to the indication.
[0074] 218. The media server receives a successful response (such as 200OK (re-invite)) message sent by the called terminal to the media re-negotiation message with the called terminal, indicating that the called terminal agrees to play the video for the called terminal and to keep the audio resource information of the calling and called parties when playing the video.
[0075] 219, the media server sends a confirmation message (such as an ACK message) of a successful response to the media renegotiation message to the called terminal, and plays the video for the called party. In addition, the media server retains the information of the audio resource to facilitate the caller and the called party to talk.
[0076] 220. The media server determines to play a video for the calling terminal during the call between the calling terminal and the called terminal.
[0077] For example, after receiving the called party's off-hook message, the media server can determine whether to play video for the called party during the call by checking whether the calling user and the called user have signed up for the service of playing video for the called party during the call. If either party has signed up for the service of playing video for the called party, the video playback process can be started.
[0078] As another example, the media server can also determine to play a video for the caller based on terminal information, caller number, age, gender, network, user credit rating, Internet habits, consumption behavior, traffic consumption and other attribute tags and the user's current real-time location, time, user status, and the media location of the user's idle time during this volte call (B end of the call).
[0079] 221, the media server sends a media re-negotiation message to the calling terminal to negotiate call media resources and video resources with the calling terminal. Thus, through media negotiation, the media server can play the video to the calling terminal during the call between the calling terminal and the called terminal.
[0080] The media server negotiates with the calling terminal the following: media resource negotiation of the audio during the call between the called terminal and the calling terminal and media resource negotiation of the video played for the calling terminal during the call.
[0081] The media renegotiation message can be a successful response (such as 200OK) message to the media renegotiation message of the called terminal. In the 200ok message sent by the media server to the calling terminal, in addition to the call media resource SDP information, it also carries the video stream SDP information, so that the media server continues to play the video to the calling terminal during the call between the calling terminal and the called terminal. The call media resource SDP information contains information such as the IP address of the called terminal, and the video stream SDP information contains information such as the IP address of the media resource server MRS.
[0082] There are several possibilities for the called party's reply message to contain the call media resource SDP information: a) The 180 ringing message sent when the called party is ringing carries the call media resource SDP information; b) The 200OK (INVITE) message sent when the called party is off-hook carries the call media resource SDP information; c) After the called party is off-hook, it receives a REINVITE request sent by the media server, and the 200OK (REINVITE) message returned to the media server carries the call media resource SDP information. If multiple of the above three situations exist in the same call process, the SDP information carried in the last message is selected in the order of a), b), and c).
[0083] 222, the media server receives a confirmation message (ie, ACK message) from the calling terminal, confirming that the calling terminal has received a 200OK message sent by the called party as a successful response message to the media re-negotiation message with the called terminal (eg, to re-invite).
[0084] After receiving the ACK message sent by the calling terminal, the media server plays the video for the calling terminal.
[0085] 223. The media server forwards the received ACK message to the called terminal to open up the call channel between the calling terminal and the called terminal.
[0086] After the above steps are completed, a call is established between the calling terminal and the called terminal, the media server stops playing the audio stream of the ringback tone, and continues to play the video stream of the ringback tone to the calling terminal.
[0087] The calling or called terminal can process the call interface and video interface in a variety of ways. For example, if the calling or called call only has audio, the calling terminal can directly display the video screen in portrait or landscape orientation. If the calling or called call includes both audio and video, the calling terminal screen can display the video screen in picture-in-picture format while displaying the call audio and video stream screen.
[0088] 224. The media server receives a hang-up message from the caller (such as a BYE message), and stops playing the ringback tone.
[0089] 225, the media server sends a bye message to the called party, instructing the called party to hang up. The media server stops playing the ringback tone.
[0090] 224', the media server receives the called party's hang-up message and BYE message, and stops playing the ringback tone.
[0091] 225', the media server sends a bye message to the caller, instructing the called party to hang up. The media server stops playing the ringback tone.
[0092] It is worth noting that there is no time sequence between steps 216 and 220 .
[0093] pass Figure 2 The illustrated embodiment realizes the function of playing video to the calling and called terminals during an audio call between the calling and called users, thus enriching the user experience, improving the utilization rate of network capabilities, and facilitating the development of color ringback tone related services.
[0094] Applied to the above Figure 1 The embodiment of the present invention provides another method for call processing. In the process of the call between the calling party and the called party, the media server performs media negotiation with the calling party and / or the called party to play the video for the calling party and / or the called party. The specific steps are as follows: Figure 3As shown, in order to make the description concise and easy to understand, some network elements through which the signaling interaction passes are not drawn in the figure, such as SGW / PGW, SBC / P-CSCF, I-CSCF / S-CSCF, etc. The method specifically includes the following steps.
[0095] The description of 301-315 is the same as that of 201-215, and the embodiment of the present application will not be described in detail here.
[0096] 316. The media server forwards the called party off-hook message, 200 OK (INVITE) message, to the calling terminal.
[0097] 317, the media server receives a confirmation message from the calling terminal, ACK message, confirming receipt of the off-hook message 200 OK (INVITE).
[0098] 318. The media server forwards the received ACK message to the called terminal to open up the calling and called party call channels.
[0099] After the above steps are completed, a call is established between the calling terminal and the called terminal, and the calling and called terminals begin to talk.
[0100] 319, after sending an ACK message to the called terminal, the media server determines to play the video for the called terminal during the call between the calling terminal and the called terminal.
[0101] For example, after receiving the called party's off-hook message, the media server can determine whether video playback is required during the call by checking whether the calling user and the called user have signed up for the service of playing video for the called party during the call. If either party has signed up for the service of playing video for the called party during the call, the video playback process can be started.
[0102] In addition, the media server (such as a media control server) determines the video content played to the caller and / or the called party based on the terminal information, caller number, age, gender, network, user credit rating, Internet habits, consumption behavior, traffic consumption and other attribute tags and the user's current real-time location, time, user status, the media location of the user's idle time during this volte call (B end during the call), etc. The video content sent by the media server to the caller and the called party can be the same or different. The embodiments of the present application are not limited here.
[0103] 320. The media server sends a media renegotiation message (such as a re-invite request) to the called terminal to renegotiate the video with the called terminal. The media renegotiation message carries the media resource session description protocol SDP information of the call between the called terminal and the calling terminal and the SDP information of the video stream played by the called terminal during the call.
[0104] In addition, the media renegotiation message also carries a video playback indication to indicate that the media negotiation request includes an indication of media information for the video, so that the billing device can perform billing according to the indication. The video playback indication can be the SDP information of the video stream played by the called terminal during the call, or other identification, which is not limited in the embodiments of the present application.
[0105] 321, the media server receives a successful response (such as 200OK) message sent by the called terminal to the media renegotiation message, indicating that the called terminal agrees to play the video for the called terminal and keep the audio resource information of the calling terminal and the called terminal.
[0106] 322-323, the media server sends an ACK message for the re-invite request to the called terminal, and plays the video for the called terminal.
[0107] The description of 324 is the same as that of 220 and will not be described in detail in this embodiment of the present application.
[0108] 325, the media server sends a media re-negotiation message (such as re-invite) to the calling terminal to renegotiate the video with the calling terminal. Thus, through media negotiation, the media server can play the video to the calling terminal during the call between the calling terminal and the called terminal.
[0109] In the media renegotiation message (such as re-invite) sent to the calling terminal, the media server carries not only the call media resource SDP information but also the video stream SDP information, so that the media server can continue to play the video to the calling terminal during the call between the calling terminal and the called terminal. The call media resource SDP information contains information such as the IP address of the called terminal, and the video stream SDP information contains information such as the IP address of the media resource server MRS.
[0110] There are several possibilities for the called party's reply message to contain the call media resource SDP information: a) The 180 ringing message sent when the called party is ringing carries the call media resource SDP information; b) The 200OK (INVITE) message sent when the called party is off-hook carries the call media resource SDP information; c) After the called party is off-hook, it receives a REINVITE request sent by the media server, and the 200OK (REINVITE) message returned to the media server carries the call media resource SDP information. If multiple of the above three situations exist in the same call process, the SDP information carried in the last message is selected in the order of a), b), and c).
[0111] 326, the media server receives a successful response (such as 200OK) message sent by the calling terminal to the media re-negotiation message (such as re-invite), indicating that the calling terminal agrees to play the video for the calling party and maintain the audio resource information of the calling party and the called party.
[0112] 327, the media server sends a confirmation message (ie, ACK message) to the calling terminal to confirm receipt of the media re-negotiation (re-invite) request in the form of a successful response 200 OK message to the re-invite request sent by the calling terminal.
[0113] 328. The media server sends a video to the calling terminal for playing during the call between the calling terminal and the called terminal.
[0114] The media server sends the video to the caller according to the video information in the re-invite request in step 325 .
[0115] 329-330, the media server receives a hang-up message and a BYE message from the caller, and then the media server stops playing the video for the caller.
[0116] 331-332, the media server sends a BYE message to the called terminal, notifying the called terminal that the caller has hung up, and stops playing the video.
[0117] pass Figure 3 The illustrated embodiment realizes the function of playing a video to the called terminal during a call between the calling and called users, thus enriching the user experience, improving the utilization rate of network capabilities, and facilitating the development of related services.
[0118] Applied to the above Figure 1 The embodiment of the present invention provides another method for call processing. After the call between the calling party and the called party ends, the media server conducts media negotiation with the called party to play the video for the calling party or the called party. The specific steps are as follows: Figure 4 As shown, in order to make the description concise and easy to understand, some network elements through which the signaling interaction passes are not drawn in the figure, such as SGW / PGW, SBC / P-CSCF, I-CSCF / S-CSCF, etc. The method specifically includes the following steps.
[0119] The description of 401-415 is the same as that of 201-215, and the embodiment of the present application will not be described in detail here.
[0120] The descriptions of 416-418 are the same as those of 316-318, and the embodiments of the present application will not be described in detail here.
[0121] After the above steps are completed, a call is established between the calling terminal and the called terminal, and the calling and called terminals begin to talk.
[0122] 420, the media server receives a hang-up message from the caller, a BYE message.
[0123] 421, in response to the received caller hang-up message, the media server determines to play the media for the called party.
[0124] After receiving the caller's hang-up message, the media server can determine whether to play the video to the called party by checking whether the calling party and the called party have signed up for the service of playing the video for the called party after the call. If either party has signed up for the service of playing the video for the called party after the call, the process of playing the video for the called party can be started.
[0125] As another example, the media server can also determine to play a video for the caller based on terminal information, caller number, age, gender, network, user credit rating, Internet habits, consumption behavior, traffic consumption and other attribute tags and the user's current real-time location, time, user status, and the media location of the user's idle time during this volte call (B end of the call).
[0126] 422, the media server sends a media renegotiation message (such as a re-invite request) to the called terminal to renegotiate the video with the called terminal. The media renegotiation message carries the SDP information of the audio stream and / or video stream played for the called terminal, so that the calling terminal and the called terminal can play the audio and / or video to the called terminal after the call ends. The SDP information of the audio stream and / or video stream includes information such as the IP address of the media resource server MRS.
[0127] In addition, the media renegotiation message further carries a video play indication to indicate that the media negotiation request includes an indication of media information for the video, so that the billing device can perform billing according to the indication.
[0128] 423, the media server receives a 200OK message, a successful response to the re-invite request, sent by the called terminal, indicating that the called terminal agrees to play the video for the called terminal.
[0129] The successful response 200OK message of the called party contains the media information of the video stream.
[0130] 424-425, the media server sends an ACK message for the re-invite request to the called terminal, and plays the video for the called terminal.
[0131] 426-428. The media server determines that the video playback time has ended, sends a message to the called terminal that the caller has hung up, and stops playing the video for the called terminal.
[0132] pass Figure 4The embodiment shown realizes the function of playing a video to the called terminal after the call between the calling and called users ends, thus enriching the user experience, improving the utilization rate of network capabilities, and facilitating the development of related services.
[0133] As an example, in Figure 2 or Figure 3 In the process, after receiving the hang-up message (such as BYE message) sent by the caller, the media server further determines to play the video for the called party and executes steps 421-428.
[0134] As another example, in Figure 2-Figure 4 In any of the processes, it is also possible that the called terminal hangs up first. After receiving the hang-up message (such as BYE message) sent by the called terminal, the media server determines to play the video for the calling party, thereby executing steps 325-328.
[0135] The present application embodiment also provides a structural diagram of a media server, such as Figure 5 As shown, it includes a call processing unit 501, a media negotiation unit 502, and a media sending unit 503. Among them:
[0136] The call processing unit 501 is configured to receive a call request sent by a calling terminal, forward the call request to a called terminal, and receive a successful response from the called terminal to the initial call request.
[0137] The media negotiation unit 502 is configured to perform call media resource negotiation and video resource negotiation with the called terminal after receiving the successful response to the initial call request.
[0138] The media sending unit 503 is configured to send a color video stream to the called terminal based on the video resource negotiation performed with the called terminal.
[0139] These units implement the aforementioned Figures 2 to 4 The related functions in any embodiment will not be described in detail.
[0140] As an option, the call processing unit 501 is used to receive an initial call request sent by the calling terminal, send the initial call request to the called terminal, and receive a successful response from the called terminal to the initial call request; after the called terminal picks up the phone, receive a hang-up message sent by the calling terminal. The media negotiation unit 502 is used to negotiate media resources after the call is ended with the called terminal in response to the hang-up message sent by the calling terminal. The media sending unit 503 is used to send audio streams and video streams to the called terminal according to the negotiated media resources.
[0141] In this embodiment, the media server is presented in the form of a functional unit. Here, the "unit" may refer to an application-specific integrated circuit (ASIC), a circuit, a processor and a memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions. In a simple embodiment, those skilled in the art can imagine that the media server can be implemented using a processor, a memory, and a communication interface.
[0142] The media server in the embodiment of the present application can also Figure 6 It is implemented by means of a computer device (or system) in the computer system. Figure 6 The computer device provided in the embodiment of the present application is shown as a schematic diagram. The computer device includes at least one processor 601, a communication bus 602, a memory 603 and at least one communication interface 604, and may also include an IO interface 605.
[0143] The processor 601 may be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention.
[0144] The communication bus 602 may include a path to transmit information between the above components. The communication interface uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc.
[0145] The memory 603 may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of an instruction or data structure and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor via a bus. The memory may also be integrated with the processor.
[0146] The memory 603 is used to store application code for executing the solution of the present invention, and the execution is controlled by the processor. The processor is used to execute the application code stored in the memory.
[0147] In a specific implementation, the processor 601 may include one or more CPUs, each of which may be a single-core processor or a multi-core processor. The processor here may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0148] In a specific implementation, as an embodiment, the computer device may further include an input / output (I / O) interface. For example, the output device may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector. The input device may be a mouse, a keyboard, a touch screen device, or a sensor device.
[0149] The computer device may be a general-purpose computer device or a special-purpose computer device. In a specific implementation, the computer device may be a desktop computer, a portable computer, a network server, a PDA (Personal Digital Assistant), a mobile phone, a tablet computer, a wireless terminal device, a communication device, an embedded device, or a computer with a processor. Figure 5 The embodiments of the present application do not limit the type of computer device.
[0150] like Figure 1 The media server in Figure 6 The device shown has one or more software modules stored in the memory. The media server can implement the software modules through the processor and the program code in the memory to complete the above method.
[0151] The present application also provides a computer storage medium for storing the above Figure 5 or Figure 6 The computer software instructions used by the device shown include a program designed to execute the above method embodiment. The above method can be implemented by executing the stored program.
[0152] The present application also provides a schematic diagram of the structure of a terminal device, such as Figure 7 As shown, it includes a call processing unit 701, a media negotiation unit 702, a media receiving unit 703 and a media sending unit.
[0153] The call processing unit 701 is used to receive an initial call request sent by a calling terminal.
[0154] The media negotiation unit 702 is used to negotiate with the media server the media resources of the audio during the call between the called terminal and the calling terminal and the media resources of the video played for the called terminal during the call after sending a successful response to the initial call request to the media server.
[0155] The media receiving unit 703 is configured to receive a confirmation message of a successful response to media re-negotiation sent by the media server and a video stream sent by the media server.
[0156] The media playing unit 704 is configured to play the video stream sent by the media server during the audio call with the calling terminal.
[0157] These units implement the aforementioned Figure 2-Figure 4 Any related functions in the embodiments will not be described in detail.
[0158] In this embodiment, the terminal device is presented in the form of a functional unit. Here, the "unit" may refer to an application-specific integrated circuit (ASIC), a circuit, a processor and a memory that executes one or more software or firmware programs, an integrated logic circuit, and / or other devices that can provide the above functions. In a simple embodiment, those skilled in the art can imagine that the terminal device can be implemented using a processor, a memory, and a communication interface.
[0159] The terminal device in the embodiment of the present application can also be Figure 8 FIG8 is a schematic diagram of a computer device provided in an embodiment of the present application. The computer device includes at least one processor 801, a communication bus 802, a memory 803, and at least one communication interface 804, and may also include an IO interface 805.
[0160] The processor can be a general purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for controlling the execution of the program of the present invention.
[0161] The communication bus may include a path to transmit information between the above components. The communication interface uses any transceiver-like device for communicating with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc.
[0162] The memory may be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory may exist independently and be connected to the processor through a bus. The memory may also be integrated with the processor.
[0163] The memory is used to store application code for executing the solution of the present invention, and the execution is controlled by the processor. The processor is used to execute the application code stored in the memory.
[0164] In a specific implementation, the processor may include one or more CPUs, each of which may be a single-core processor or a multi-core processor. The processor herein may refer to one or more devices, circuits, and / or processing cores for processing data (e.g., computer program instructions).
[0165] In a specific implementation, as an embodiment, the computer device may further include an input / output (I / O) interface. For example, the output device may be a liquid crystal display (LCD), a light emitting diode (LED) display device, a cathode ray tube (CRT) display device, or a projector, etc. The input device may be a mouse, a keyboard, a touch screen device, or a sensor device, etc.
[0166] The computer device may be a general-purpose computer device or a special-purpose computer device. In a specific implementation, the computer device may be a desktop computer, a portable computer, a network server, a PDA (Personal Digital Assistant), a mobile phone, a tablet computer, a wireless terminal device, a communication device, an embedded device, or a computer with a processor. Figure 7 The embodiments of the present application do not limit the type of computer device.
[0167] like Figure 1 The terminal device in can be Figure 7 The device shown has one or more software modules stored in the memory. The terminal device can implement the software modules through the processor and the program code in the memory to complete the above method.
[0168] The present application also provides a computer storage medium for storing the above Figure 6 or Figure 7 The computer software instructions used by the device shown include a program designed to execute the above method embodiment. The above method can be implemented by executing the stored program.
[0169] Fig. 9 FIG. 9 is a schematic diagram of the structure of another call processing system 900. The system includes the media server MRS 901, HSS 902 and S-CSCF in the above embodiment.
[0170] Among them, MRS901 can execute the above embodiments, and Figure 1-8 Any steps performed by the media server in the protocol. The embodiments of the present application are not described in detail here. HSS is used to store user subscription information and location information. S-CSCF can be used for user registration, authentication control, session routing and service triggering control, and maintain session state information.
[0171] Although the present invention is described herein in conjunction with various embodiments, in the process of implementing the claimed invention, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in the claims. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.
[0172] It will be appreciated by those skilled in the art that embodiments of the present invention may be provided as methods, devices (equipment), or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes. The computer program is stored / distributed in a suitable medium, provided together with other hardware or as a part of the hardware, or may take other distribution forms, such as through the Internet or other wired or wireless telecommunication systems.
[0173] The present invention is described with reference to the flowcharts and / or block diagrams of the methods, apparatus (devices) and computer program products of the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0174] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0175] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process in the computer or other programmable device. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0176] Although the present invention has been described in conjunction with specific features and embodiments thereof, it is apparent that various modifications and combinations thereof may be made. Accordingly, this specification and the drawings are merely exemplary illustrations of the present invention as defined by the appended claims and are deemed to cover any and all modifications, variations, combinations or equivalents within the scope of the present invention. Obviously, a person skilled in the art may make various modifications and variations to the present invention without departing from the scope of the present invention. Thus, the present invention is intended to include such modifications and variations as fall within the scope of the claims of the present invention and their equivalents.
Claims
1. A call processing method, characterized in that: Applicable to media servers, including: receiving an initial call request sent by a calling terminal, and forwarding the initial call request to a called terminal; Receiving a successful response from the called terminal to the initial call request, the successful response to the initial call request indicating that the called terminal has gone off-hook; Forwarding the successful response to the initial call request to the calling terminal, and receiving a confirmation message of the successful response to the initial call request sent by the calling terminal; After receiving the confirmation message of the successful response to the initial call request sent by the calling terminal, negotiating call media resources and video resources with the called terminal; Based on the video resource negotiation with the called terminal, sending a video stream to the called terminal during the call between the calling terminal and the called terminal; The negotiating call media resources and video resources with the called terminal includes: Sending a media renegotiation message to the called terminal, the media renegotiation message carries the media resource session description protocol SDP information of the call between the called terminal and the calling terminal and the SDP information of the video stream played by the called terminal during the call; A successful response from the called terminal to the media renegotiation message is received, indicating that the called terminal agrees to play the video for the called terminal.
2. The method according to claim 1, characterized in that The method further includes: determining that the calling user or the called user has signed a contract for a service of video playback during a call, and then performing call media resource negotiation and video resource negotiation with the called terminal.
3. The method according to claim 1 or 2, characterized in that: The method further comprises: Sending a successful response to the initial call request to the calling terminal, the successful response to the initial call request carries the media resource session description protocol SDP information of the call between the called terminal and the calling terminal and the SDP information of the video stream played by the calling terminal during the call; A successful response of the calling terminal to the media renegotiation message is received.
4. The method according to claim 1 or 2, characterized in that: The method further comprises: During a call between a calling party and a called party, a video stream is sent to the calling terminal.
5. The method according to claim 1 or 2, characterized in that: The media re-negotiation message is a re-invite request.
6. The method according to claim 1 or 2, characterized in that: After receiving the on-hook message sent by the called terminal, the method further comprises: Sending a media renegotiation message to the calling terminal, the media renegotiation message carries the media resource session description protocol SDP information of the call between the calling terminal and the called terminal and the SDP information of the video stream played by the calling terminal during the call; A successful response from the calling terminal to the media renegotiation message is received, indicating that the calling terminal agrees to play the video for the calling terminal.
7. A call processing method, characterized in that: Applicable to the called terminal, including: Receiving an initial call request sent by a calling terminal; After sending a successful response to the initial call request to the media server, negotiating with the media server the media resources for the audio during the call between the called terminal and the calling terminal and the media resources for the video played for the called terminal during the call, the successful response to the initial call request indicating that the called terminal has gone off-hook; Playing the video stream sent by the media server during an audio call with the calling terminal; The negotiation of the media resource of the audio during the call between the called terminal and the calling terminal and the negotiation of the media resource of the video played for the called terminal during the call with the media server includes: Receiving a media renegotiation message sent by the media server, the media renegotiation message carries media resource session description protocol SDP information of the audio during the call between the called terminal and the calling terminal, and also carries SDP information of the video stream played for the called terminal during the call; A success response to the media renegotiation message is returned to the media server.
8. The method according to claim 7, characterized in that The method further comprises: After the calling terminal hangs up, media resources are negotiated with the media server, and the audio stream and video stream sent by the media server after the calling terminal hangs up are received and played.
9. The method according to claim 7 or 8, characterized in that: The media re-negotiation message is a re-invite request.
10. A media server, characterized in that: include: A call processing unit for receiving an initial call request sent by a calling terminal, forwarding the initial call request to a called terminal, and receiving a successful response from the called terminal to the initial call request, wherein the successful response to the initial call request indicates that the called terminal has gone off-hook; The call processing unit is further used for: forwarding the successful response to the initial call request to the calling terminal, and receiving a confirmation message of the successful response to the initial call request sent by the calling terminal; A media negotiation unit, configured to negotiate call media resources and video resources with the called terminal after receiving a confirmation message of a successful response to the initial call request sent by the calling terminal; A media sending unit, configured to send a video stream to a called terminal during a call between a calling terminal and a called terminal based on a video resource negotiation with the called terminal; The media negotiation unit performs call media resource negotiation and video resource negotiation with the called terminal, including: sending a media renegotiation message to the called terminal, the media renegotiation message carries the media resource session description protocol SDP information of the call between the called terminal and the calling terminal and the SDP information of the video stream played by the called terminal during the call; A successful response from the called terminal to the media renegotiation message is received, indicating that the called terminal agrees to play the video for the called terminal.
11. The media server according to claim 10, characterized in that The media negotiation unit is further used to: determine the service of video playback during a call signed by the calling user or the called user, and perform call media resource negotiation and video resource negotiation with the called terminal.
12. The media server according to claim 10 or 11, characterized in that: The media negotiation unit is further used to: send a successful response to the initial call request to the calling terminal, the successful response to the initial call request carrying the media resource session description protocol SDP information of the call between the called terminal and the calling terminal and the SDP information of the video stream played by the calling terminal during the call; and to receive a successful response from the calling terminal to the media renegotiation message.
13. The media server according to claim 10 or 11, characterized in that: The media re-negotiation message is a re-invite request.
14. A called terminal, characterized in that: include: A call processing unit, configured to receive an initial call request sent by a calling terminal; a media negotiation unit, configured to negotiate with the media server a media resource for the audio during the call between the called terminal and the calling terminal and a media resource for the video played for the called terminal during the call after sending a successful response to the initial call request to the media server, wherein the successful response to the initial call request indicates that the called terminal has gone off-hook; A media receiving unit for receiving a confirmation message of a successful response to a media re-negotiation sent by a media server and a video stream sent by the media server; a media playing unit, configured to play the video stream sent by the media server during an audio call with the calling terminal; The media negotiation unit performs call media resource negotiation and video resource negotiation with the media server, including: Receiving a media renegotiation message sent by the media server, the media renegotiation message carries media resource session description protocol SDP information of the audio during the call between the called terminal and the calling terminal, and also carries SDP information of the video stream played for the called terminal during the call; A success response to the media renegotiation message is returned to the media server.
15. The called terminal according to claim 14, characterized in that: The media negotiation unit is also used to negotiate media resources with the media server after the calling terminal hangs up; The media receiving unit is further used to receive the audio stream and video stream sent by the media server; The media playing unit is further used to play the audio stream and video stream sent by the media server.
16. The called terminal according to claim 14 or 15, characterized in that: The media re-negotiation message is a re-invite request.
Citation Information
Patent Citations
Device, method and system for implementing hang-off notification service
CN101179626A
Method for continuing alerting tone and ringing signal in call process and servers
CN102130888A
Call processing method and device
CN110971766A
Method, server and terminal device for playing multimedia ring tone during call
US20120213346A1