A method and apparatus for call processing
Patent Information
- Application Number
- CN202110477128.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-04-29
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2041-04-29
Smart Images

Figure CN115277945B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communications, and more particularly to a method and apparatus for call processing. Background Technology
[0002] With the introduction of services based on the Internet Protocol Multimedia Subsystem (IMS), wireless communication systems can provide high-definition voice and video calls, as well as ringback tone services (such as video ringback tones).
[0003] In current VoLTE and Vo5G ringback tone systems, after the called terminal rings, the ringback tone server begins early media negotiation and ringback tone playback. Thus, before the ringback tone plays, the calling user will experience a call waiting period (approximately 2-6 seconds). Summary of the Invention
[0004] This application provides a method and apparatus for call processing, which provides media content for the calling terminal when a call is initiated.
[0005] In a first aspect, embodiments of this application provide a call processing method. In this method, a media server receives a call request from a calling terminal, performs media negotiation with the calling terminal, generates a 180 message, and sends the 180 message to the calling terminal. Then, based on the result of the media negotiation, the media server sends a media stream of first media content to the calling terminal.
[0006] In the above method, the media server generates a ringing message (180 message) and sends the ringing message to the calling terminal to simulate the ringing scenario of the called terminal. Thus, media content can be provided to the calling terminal without waiting for the called terminal to ring, which improves the user experience, makes full use of network resources, and expands the application of the service of playing media content to the calling terminal before the ringing.
[0007] In one possible design, the 180 message indicates that billing is not based on the 180 message. The method further includes: a media server receiving a response message sent by the called terminal and sending the response message to the calling terminal, wherein the response message carries billing information. Specifically, the response message can be a 183 message or a 180 message sent by the called terminal. The response message does not carry SDP information.
[0008] In one possible design, the method further includes: the media server receiving a 183 message sent by the called terminal. The media server generating the 180 message includes: the media server generating the 180 message based on the billing information carried in the 183 message, the 180 message carrying the billing information.
[0009] Therefore, the service of playing media content on the calling terminal before the ringing will not affect the accuracy of billing.
[0010] In one possible design, the call request carries an SDP_Offer, and the media server also generates a 183 message and sends the 183 message to the calling terminal, wherein the 183 message carries an SDP_Answer generated by the media server in response to the SDP_Offer.
[0011] In one possible design, the 180 message generated by the media server carries the SDP_Answer generated by the media server in response to the SDP_Offer.
[0012] In one possible design, the media server generates the 180 message by: the media server generating the 180 message based on indication information of the type of the calling terminal carried in the call request, or indication information of the network access type carried in the call request; or the media server generating the 180 message based on indication information that the call request does not carry support for the splash screen service.
[0013] In one possible design, the media server also receives a call status message, determines the status message multimedia based on the call status message, and sends the media stream of the status message multimedia to the calling terminal.
[0014] In one possible design, the media server also determines that the called terminal is in an unreachable state based on the call status message and triggers the called side to release call resources.
[0015] In one possible design, the media server also receives a call status notification message. After receiving this message, it performs audio and video media negotiation with the calling terminal. The result of the audio media negotiation is used to send the audio media stream of the status notification multimedia to the calling terminal. The media server also sends the video media stream of the first media content to the calling terminal based on the result of the video media negotiation.
[0016] In one possible design, media negotiation between the media server and the calling terminal specifically includes: the media server sending a first media negotiation request message to the calling terminal, the first media negotiation request message carrying the media server's first video media information; the media server receiving a first media negotiation response message from the calling terminal, the first media negotiation response message carrying the calling terminal's second video media information. Audio and video media negotiation between the media server and the calling terminal specifically includes: the media server sending a second media negotiation request message to the calling terminal, the second media negotiation request message carrying the first video media information and the third audio media information carried in the aforementioned call status indication message; the media server receiving a second media negotiation response message from the calling terminal, the second media negotiation response message carrying the second video media information and the calling terminal's fourth audio media information. Further, the media server sends the video media stream of the first media content to the calling terminal based on the first and second video media information. The third and fourth audio media information are used to send the audio media stream of the status indication multimedia to the calling terminal.
[0017] Secondly, embodiments of this application provide a call processing method. In this method, the calling terminal sends a call request to the called terminal, performs media negotiation with a media server, and receives a 180 message generated by the media server. Then, based on the result of the media negotiation, the calling terminal receives a media stream of first media content sent by the media server and plays the first media content.
[0018] In one possible design, the 180 message indicates that billing is not based on the 180 message. The method further includes: the calling terminal receiving a response message carrying billing information. Specifically, the response message can be a 183 message or a 180 message sent by the called terminal. The response message does not carry SDP information.
[0019] In one possible design, the calling terminal also performs audio and video media negotiation with the media server. Based on the result of the video media negotiation, it receives the video media stream of the first media content sent by the media server and plays the video of the first media content. The calling terminal also receives the audio media stream of status prompt multimedia sent by the telephony application server based on the result of the audio media negotiation and plays the audio of the status prompt multimedia.
[0020] In one possible design, the calling terminal's media negotiation with the media server includes: the calling terminal receiving a first media negotiation request message from the media server, the first media negotiation request message carrying first video media information from the media server; and sending a first media negotiation response message to the media server, the first media negotiation response message carrying second video media information from the calling terminal. The calling terminal's audio and video media negotiation with the media server includes: receiving a second media negotiation request message from the media server, the second media negotiation request message carrying the first video media information and third audio media information from the telephony application server; and sending a second media negotiation response message to the media server, the second media negotiation response message carrying the second video media information and fourth audio media information from the calling terminal. The result of the video media negotiation includes the first and second video media information, and the result of the audio media negotiation includes the third and fourth audio media information.
[0021] Thirdly, this application provides an apparatus for performing any of the methods provided in the first aspect above.
[0022] In one possible design, the device can be divided into functional modules according to any of the methods provided in the first aspect above. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module.
[0023] For example, this application can divide the device into a communication module and a processing module according to its functions. It should be understood that the communication module can be further divided into a transmitting module and a receiving module, which are used to perform corresponding transmitting and receiving functions, respectively. The description of the possible technical solutions and beneficial effects performed by the various functional modules described above can be found in the technical solutions provided by the first aspect above or its corresponding possible designs, and will not be repeated here.
[0024] In another possible design, the device includes a memory and a processor, coupled together. The memory stores instructions, and the processor invokes those instructions to perform methods as provided in the first aspect or its corresponding possible designs. It should be understood that the processor may have transceiver capabilities. As one possible design, the device also includes a transceiver for performing the transceiver operations described above.
[0025] Fourthly, this application provides an apparatus for performing any of the methods provided in the second aspect above.
[0026] In one possible design, the device can be divided into functional modules according to any of the methods provided in the second aspect above. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module.
[0027] For example, this application can divide the device into a communication module and a processing module according to its functions. It should be understood that the communication module can be further divided into a sending module and a receiving module, respectively used to perform corresponding sending and receiving functions. The device may also include a playback module. The descriptions of the possible technical solutions and beneficial effects performed by the various functional modules described above can be found in the technical solutions provided by the second aspect above or its corresponding possible designs, and will not be repeated here.
[0028] In another possible design, the device includes a memory and a processor, coupled together. The memory stores instructions, and the processor invokes those instructions to perform the methods provided in the second aspect or its corresponding possible designs. It should be understood that the processor may have transceiver capabilities. As one possible design, the device also includes a transceiver for performing the transceiver operations in the above-described methods. As another possible design, the device also includes an output device for performing the media playback operations in the above-described methods.
[0029] Fifthly, this application provides a computer-readable storage medium for storing a computer program, the computer program including instructions for performing methods in any possible implementation of any of the foregoing aspects.
[0030] Sixthly, this application provides a computer program product including instructions for performing the method in any possible implementation of any of the foregoing aspects.
[0031] In a seventh aspect, this application provides a chip comprising: a processor configured to retrieve and execute a computer program stored in a memory, and to execute instructions of any possible implementation of the methods in any of the preceding aspects.
[0032] In this case: the sending action in the first or second aspect mentioned above can be replaced by sending under the control of the processor; the receiving action in the first or second aspect mentioned above can be replaced by receiving under the control of the processor; the playback action in the second aspect mentioned above can be replaced by playing under the control of the processor.
[0033] Eighthly, this application provides a call processing system, the system including a media server and a terminal device, the media server being configured to perform the methods provided in the first aspect or a corresponding possible design, and the terminal device being configured to perform the methods provided in the second aspect or a corresponding possible design.
[0034] In one possible design, the system further includes a telephone application server for receiving call requests from the terminal device, the call requests carrying fourth audio media information of the calling terminal. The telephone application server is also used to send a call status notification message to the terminal device, the call status notification message carrying third audio media information of the telephone application server. Furthermore, the telephone application server is also used to send a status notification multimedia audio media stream to the terminal device based on the third and fourth audio media information.
[0035] These or other aspects of this application will become more readily apparent in the following description. Attached Figure Description
[0036] Figure 1 This is a schematic diagram of the architecture of a call processing system provided in an embodiment of this application;
[0037] Figure 2A This is a schematic diagram of the architecture of another call processing system provided in an embodiment of this application;
[0038] Figure 2B This is a schematic diagram of the architecture of another call processing system provided in an embodiment of this application;
[0039] Figure 3 A flowchart illustrating a call processing method provided in an embodiment of this application;
[0040] Figure 4 A flowchart illustrating another call processing method provided in an embodiment of this application;
[0041] Figure 5 A flowchart illustrating another call processing method provided in an embodiment of this application;
[0042] Figure 6 A flowchart illustrating another call processing method provided in an embodiment of this application;
[0043] Figure 7 This is a schematic diagram of the structure of a media server provided in an embodiment of this application;
[0044] Figure 8 This is a schematic diagram of the structure of a terminal device provided in an embodiment of this application;
[0045] Figure 9 This is a schematic diagram of the structure of a device provided in an embodiment of this application. Detailed Implementation
[0046] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0047] like Figure 1 The diagram shown illustrates a possible system architecture applicable to an embodiment of this application. This system architecture may include devices such as a media server and terminal devices. It should be understood that for a single call process, the terminal devices include the calling terminal and the called terminal.
[0048] A media server is used to provide initial media content to the calling terminal after it initiates a call, while waiting for the called terminal to ring. This initial media content can also be called splash screen media, call initiation media, pre-ringing media, or instant-on media, etc. For ease of description, splash screen media will be used as an example below; the same applies to call initiation media, instant-on media, etc. Specifically, the initial media content may include audio and / or video. For example, when the initial media content includes video, it can also be called splash screen video. For ease of description, the service that provides splash screen media content to the calling terminal after it initiates a call, while waiting for the called terminal to ring, is called the splash screen service, which is the service that plays splash screen media content to the calling user before the called terminal rings. Similarly, the splash screen service can also be called the pre-ringing service or instant-on service, etc.
[0049] The media server can be a standalone server or a network device co-located with other network elements (such as a ringback tone server). The media server may include a media application server and a media resource server (MRS) device. The media application server and MRS can be co-located or physically separate. The media application server processes signaling messages, and the MRS provides audio and / or video streams of multimedia (such as the aforementioned first media content, the following status prompt multimedia, etc.). It should be understood that the media server may also include a media application server without including the MRS. Specifically, the media server provides multimedia playback for the calling terminal through cooperation with the MRS. It should be understood that the media server can be located in the calling domain or the called domain; this application does not limit this.
[0050] Specifically, the media server is used to receive a call request sent by the calling terminal, negotiate media with the calling terminal, generate a 180 message, send the 180 message to the calling terminal, and send a media stream of the first media content to the calling terminal.
[0051] Accordingly, the calling terminal is used to: initiate a call to the called terminal and play the first media content while waiting for the called terminal to ring. Specifically, the calling terminal is used to send a call request to the called terminal, perform media negotiation with the media server, receive a 180 message, receive the media stream of the first media content sent by the media server according to the result of the media negotiation, and play the first media content. The 180 message is generated by the media server.
[0052] The terminal device (such as the calling terminal, the called terminal, etc.) in this application is a device with wireless transceiver capabilities, which can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; it can also be deployed on water (such as ships); and it can also be deployed in the air (e.g., on airplanes, balloons, and satellites). Specifically, the terminal device can be a mobile phone, tablet computer, computer with wireless transceiver capabilities, virtual reality (VR) terminal, augmented reality (AR) terminal, wireless terminal in industrial control, wireless terminal in autonomous driving, wireless terminal in telemedicine, wireless terminal in smart cities, etc.
[0053] In this application, the media server generates a ringing message (180 message) and sends it to the calling terminal to simulate the ringing of the called terminal. This allows the calling terminal to receive media content without waiting for the called terminal to ring, improving user experience and fully utilizing network resources. This solution does not require the calling terminal to be upgraded to support media playback before ringing, and it avoids the calling terminal being unable to play media content without receiving a ringing message, thus preventing potential call failures. It increases the success rate of playing media content to the calling terminal before the called terminal rings and expands the application of services that provide media playback before ringing.
[0054] As an optional approach, the 180 message generated by the media server indicates that billing is not based on this 180 message. Further, the media server is also used to receive a response message from the called terminal and send that response message to the calling terminal, carrying billing information for billing purposes. Correspondingly, the calling terminal is also used to receive this response message. The media server does not wait for a response message from the called terminal but directly generates the 180 message itself. This 180 message may not carry billing information or may not carry accurate billing information; therefore, the core network elements do not bill based on this 180 message, avoiding billing errors. Subsequently, after receiving a response message from the called terminal, the media server sends that response message out, allowing the core network elements to perform billing based on the billing information carried in the response message. Thus, the 180 message is quickly sent to the calling terminal, efficiently providing media content to the calling terminal and avoiding billing problems caused by the 180 message generated by the media server itself.
[0055] As an alternative approach, the media server receives the 183 message sent by the called terminal. Specifically, the media server generates the 180 message by generating the 180 message based on the billing information carried in the 183 message. The 180 message carries this billing information. The media server waits for the called terminal to return a 183 message to obtain the billing information carried in the 183 message, and then includes this billing information in the 180 message generated by the media server. Therefore, the billing information carried in the 180 message generated by the media server is accurate and can be used for billing. The core network element can directly perform billing based on the billing information carried in the 180 message. In this case, the core network element does not need to upgrade or modify the service of playing media content to the calling terminal before ringing, which is beneficial to the application of this service.
[0056] The media server can also determine if the calling terminal does not support playing multimedia before receiving a ringing message, and then generate the 180 message. Alternatively, the media server can generate the 180 message based on indications of the calling terminal type or network access type carried in the call request. Another option is for the media server to generate the 180 message based on indications that the call request does not support splash screen services. If the media server determines that the calling terminal supports playing multimedia before receiving a ringing message, it does not need to generate the 180 message and can directly negotiate media with the calling terminal and play the first media content for the calling terminal. This method improves the success rate of playing media content to the calling terminal before ringing while avoiding unnecessary signaling transmissions and saving network resources.
[0057] As an optional approach, the media server can also receive call status notification messages, determine the corresponding call status notification multimedia based on these messages, and send the media stream of this multimedia to the calling terminal. In this method, the media server can identify the call status and thus determine the corresponding call status notification multimedia to inform the calling terminal of the current call status. Furthermore, the media server can also determine that the called terminal is in an unreachable state based on the call status notification message, thereby triggering the called side to release call resources and conserve network resources. Specifically, the call status notification message can be sent by a telephone application server or by the called terminal.
[0058] As an alternative approach, the media server negotiates the audio media for the status notification multimedia and the video media for the first media content with the calling terminal. Based on the result of the video media negotiation, the media server sends the video media stream of the first media content to the calling terminal, while the result of the audio media negotiation is used to send the audio media stream for the status notification multimedia to the calling terminal. Correspondingly, the calling terminal negotiates the audio and video media with the media server, receives the video media stream of the first media content sent by the media server based on the result of the video media negotiation, plays the video of the first media content, and receives the audio media stream for the status notification multimedia sent by the telephony application server based on the result of the audio media negotiation, playing the audio of the status notification multimedia. Alternatively, the system architecture may also include a telephony application server. This telephony application server sends the audio media stream for the status notification multimedia to the calling terminal based on the result of the audio media negotiation. Thus, while simultaneously notifying the calling terminal of the call status via audio, the first media content can also be played silently to the calling terminal via video, fully utilizing network resources and improving the user experience.
[0059] It should be understood that the functions of each device in this application will be further described in detail in subsequent embodiments.
[0060] like Figure 2A As shown, taking a 4G communication system as an example, this is a schematic diagram of a specific possible network architecture applicable to the embodiments of this application. The network architecture may include a calling terminal, a called terminal, a wireless network, a calling domain network, and a called domain network.
[0061] The calling and called domain networks may include the Internet Protocol Multimedia Subsystem (IMS) domain core network and the Evolved Packet Core (EPC) network. The IMS domain core network may include media servers; see [link to details]. Figure 1The illustrated embodiment is described below. Specifically, the media server can be located in either the calling domain or the called domain; this application does not limit this. The IMS domain core network may also include: a serving-call session control function (S-CSCF) device, an interrogating-call session control function (I-CSCF) device, a proxy-call session control function (P-CSCF) device, a home subscriber server (HSS), a session border controller (SBC) device, a telephony application server (TAS), etc. The I-CSCF device can be co-located with the S-CSCF device and can be simply referred to as an "I / S-CSCF" device. The SBC device and the P-CSCF device can be co-located and can be simply referred to as an "SBC / P-CSCF" device. EPC may include packet data network gateway (PGW) equipment, serving gateway (SGW) equipment, mobile management entity (MME) equipment, etc. Among them, PGW equipment and SGW equipment can be installed together and can be referred to as "SGW / PGW" equipment.
[0062] The following is a brief description of some of the equipment mentioned above:
[0063] S-CSCF device: Used for user registration, session routing, and service control. I-CSCF device: Responsible for assigning and querying S-CSCFs for user registration. P-CSCF device: Responsible for signaling and message brokering. TAS: Primarily responsible for call control and services, providing multiple logical functionalities, including a Multimedia Telephony Application Server (MMTel AS). The MMTel AS provides basic and supplementary multimedia telephony services. In this application, the TAS is specifically used to send call status notification messages and can also be used to provide status notification multimedia (audio media streams or audio / video media streams) to the calling terminal. HSS: Used to store user data such as subscription information and location information. SBC device: Used to provide secure access and media processing. MME: Primarily responsible for session management, mobility management, and call handover. S / P-GW device: Responsible for packet data routing, forwarding, and bearer management.
[0064] like Figure 2B As shown, taking a 5G communication system as an example, this is a schematic diagram of a specific possible network architecture applicable to the embodiments of this application. The network architecture may include a calling terminal, a called terminal, a wireless network, a calling domain network, and a called domain network.
[0065] The calling domain network and the called domain network can include the IMS core network and the 5G Core Network (5GC). The IMS core network can include media servers, and may also include: S-CSCF equipment, I-CSCF equipment, P-CSCF equipment, unified data management (UDM) equipment, SBC equipment, TAS, etc. The 5GC can include access and mobility management function (AMF) equipment, user plane function (UPF) equipment, session management function (SMF) equipment, etc.
[0066] The following is a brief description of some of the equipment mentioned above:
[0067] AMF (Active Mobility Management) devices: Used for mobility management in mobile networks (such as user location updates, user registration, and user handover). UPF (User Plane Peripheral Function) devices: Used for forwarding user plane data. SMF (Session Management) devices: Used for session management in mobile networks (such as session establishment, modification, and release), controlling the forwarding of data by UPF devices. UDM (User DM) devices: Used for storing and managing user subscription data. See above for introductions to other devices. Figure 1 , Figure 2A The description of the illustrated embodiment will not be repeated here.
[0068] It should be understood that this application can also be applied to other future communication systems, such as 6G communication systems, which are similar and will not be described in detail here.
[0069] like Figure 3 As shown, an embodiment of this application provides a call processing method. The media server can be in the calling domain or the called domain; the telephone application server is in the called domain. For brevity and ease of understanding, some network elements involved in the signaling interaction are not shown in the figure, such as SBC / P-CSCF, I-CSCF / S-CSCF, etc. The method specifically includes the following steps.
[0070] 301. The media server receives the call request sent by the calling terminal.
[0071] When a calling terminal initiates a call to a called terminal, it sends a call request (INVITE message) to the called terminal. This call request carries the calling terminal's media information (Session Description Protocol (SDP) information). The calling IMS domain receives this call request. If the calling user has subscribed to the initial filter criteria (iFC) for the splash screen media service, the call request will be sent by the calling domain's IMS core network equipment (such as S-CSCF) to the calling domain's media server. The calling IMS domain will also forward the call request to the called IMS domain. If the called user has subscribed to the splash screen media service iFC, the call request will be sent by the called domain's IMS core network equipment (such as S-CSCF) to the called domain's media server. It should be understood that when both the calling and called users have subscribed to the splash screen media service iFC, either media server or the media server with higher priority can be responsible for playing splash screen media for the calling terminal.
[0072] As an optional approach, the media server, upon receiving the call request, can also determine whether to play splash screen media for the calling terminal, thereby deciding whether to trigger the splash screen media playback process. For example, if the media server determines that the calling terminal supports video playback based on the "video" field carried in the contact header field of the call request or if the call request indicates that this call is a video-initiated call, it can then trigger the splash screen media playback process (which, in this example, includes video media) according to the following steps (such as 302). It should be understood that if the media server determines that it will not play splash screen media for the calling terminal, it will proceed according to the normal call process (which may include ringback tones or color vibration, etc.), which will not be elaborated here.
[0073] 302. The media server negotiates media with the calling terminal.
[0074] The media server and the calling terminal negotiate the splash screen media.
[0075] Specifically, the media server sends a first media negotiation request message (such as an UPDATE message) to the calling terminal. This first media negotiation request message carries the media server's multimedia information. After receiving the first media negotiation request message, the calling terminal sends a first media negotiation response message to the media server. This first media negotiation response message carries the calling terminal's multimedia information. The multimedia information is carried by the SDP protocol and includes one or more of the following: the protocol, address, and port number for audio and / or video media transmission, the audio and / or video media encoding / decoding information, etc.
[0076] The multimedia information of the media server may specifically include: the media server's first audio media information and / or the media server's first video media information. The media server may determine the specific content of its multimedia information based on the media type of the splash screen media (i.e., the first media content) to be played and / or the media capabilities of the media server. The media type specifically includes one or more of the following: audio and video. It should be understood that the media server may also determine whether the calling terminal supports video playback based on the call request, thereby determining whether to conduct video negotiation with the calling terminal.
[0077] The multimedia information of the calling terminal may specifically include: the calling terminal's second audio media information and / or the calling terminal's second video media information. The calling terminal can determine the specific content of its multimedia information based on the multimedia information from the media server and the calling terminal's media capabilities.
[0078] As an alternative, before media negotiation with the calling terminal, the media server also generates a 183 message and sends it to the calling terminal. Specifically, this 183 message carries information about the called terminal determined based on the call request, thus simulating the 183 message sent by the called terminal. For example, the To header field of this 183 message is identical to the To header field of the call request. The 183 message also carries SDP information. This SDP information can be determined based on the media capabilities of the media server or it can be fictitious.
[0079] In step 301, the SDP information carried in the INVITE message can be called SDP_Offer, also known as the proposed SDP, requested SDP, etc., representing the SDP information provided by the media negotiation initiator. Correspondingly, the SDP information carried in the 183 message can be called SDP_Answer, also known as the response SDP, acknowledgement SDP, etc., representing the SDP information provided by the media negotiation responder. The SDP information carried in the 183 message only needs to conform to the offer / answer principle of SDP negotiation relative to the SDP information carried in the INVITE message; for details, please refer to documents such as RFC3264 and RFC8843. Thus, the media server simulates the called terminal sending this 183 message to the calling terminal to complete the media negotiation initiated by the calling terminal without waiting for a return 183 message from the called terminal. Furthermore, this 183 message can also indicate that billing is not based on this 183 message. Specifically, the 183 message can carry indication information for the splash screen service (e.g., carrying pre-ring or pre-media in the alert-info or contact header field of the 183 message) to indicate that the 183 message is for the splash screen service, thereby indicating that billing will not be based on the 183 message. For example, if the alert-info header field of the 183 message carries alert-info:run:service:pre-ring, then the core network element (such as billing equipment (including call statistics equipment)) will not perform billing (including call statistics) based on the 183 message after receiving it. Alternatively, the core network element (such as P-CSCF equipment) will not send the billing information carried in the 183 message to the billing equipment after receiving it, thereby achieving the goal of not billing based on the 183 message. Specifically, the 183 message may also omit billing information, such as billing-related header fields like P-Charging-Vector and P-Access-Network-Info, to indicate that billing is not performed based on the 183 message.
[0080] 303. The media server generates a 180 message.
[0081] The 180 message is a Session Initiation Protocol (SIP) message, detailed in standards such as RFC2543, RFC3261, and TS24.299. The 180 message is also called a ringing message. Generally, a 180 message indicates that the called party's phone is ringing and is sent after the called party has rung. In this application, the media server generates a 180 message to simulate a ringing scenario.
[0082] The 180 message carries information about the called terminal determined based on the call request, thus enabling the simulation of a 180 message sent by the called terminal. The From and To header fields of this 180 message are identical to those of the call request (INVITE message) to simulate a ringing message sent by the called terminal, without waiting for the called terminal to ring before sending the ringing message. In embodiments of this application, a media server generates a 180 message to simulate a 180 message (i.e., a ringing message) sent by the called terminal.
[0083] The 180 message can also carry SDP information. In this case, the media server has not previously sent a 183 message carrying SDP information, and step 302 is executed after steps 303 and 304. The SDP information carried by the 180 message can be determined based on the media server's media capabilities or it can be fictitious. Compared to the SDP information (SDP_Offer) carried by the INVITE message in step 301, the SDP information carried by the 180 message can be called SDP_Answer. The SDP information carried by the 180 message only needs to conform to the offer / answer principle of SDP negotiation relative to the SDP information carried by the INVITE message. That is, the 180 message can also complete media negotiation initiated by the calling terminal without waiting for the called terminal to return a 183 message and / or a 180 message, and without simulating the called terminal sending a 183 message.
[0084] As an alternative, the media server can also first determine whether a 180 message has been generated, that is, whether the calling terminal has been upgraded to support the splash screen service (i.e., whether playing early media depends on receiving a ringing message). Specifically:
[0085] 1) If the calling terminal has been upgraded to support the splash screen service (the calling terminal plays the early media without relying on receiving the ringing message), the media server does not generate a 180 message, but directly sends the first media content to the calling terminal so that the calling terminal can play it. This application will not elaborate on this.
[0086] 2) If the calling terminal has not yet upgraded to support the splash screen service (the calling terminal's playback of early media depends on receiving a ringing message), the media server will generate a 180 message to simulate the called terminal sending a ringing message to the calling terminal, and then send the first media content to the calling terminal. In cases where the calling terminal's playback of early media depends on receiving a ringing message, if the calling terminal does not receive a ringing message, even if it receives the media stream from the media server, it will not play the corresponding media content but will continue to wait for the ringing message. Therefore, even if the media server has completed media negotiation with the calling terminal for the early media and has sent the early media stream to the calling terminal, it cannot play the media content in advance. Additionally, as mentioned above, the media server can also generate a 183 message to simulate the 183 message sent by the called terminal. However, if the media server only simulates the called terminal sending a 183 message and does not simulate a 180 message, it may still be impossible to play the media content in advance for the calling user if the calling terminal has not upgraded to support the splash screen service, because a 183 message cannot replace a 180 message. However, in some cases, if the media server simulates the called terminal to send a 180 message instead of a 183 message, it is possible to play media content for the calling user in advance. For example, the 180 message carries SDP_Answer in response to the SDP_Offer of the INVITE message.
[0087] 3) If it cannot be determined whether the calling terminal has been upgraded to support the splash screen service, the media server will generate a 180 message to ensure that media content can be played to the calling user in advance.
[0088] So how does the media server determine whether to generate a 180 message? This application provides several implementation methods, including but not limited to one or more of the following: determining based on the indication information of the calling terminal type carried in the call request, the indication information of the network access type carried in the call request, and / or whether the call request indicates support for splash screen service. It should be understood that, for cases where the determination result is the generation of a 180 message, the indication information of the calling terminal type carried in the call request, the indication information of the network access type carried in the call request, and / or the indication information that the call request does not carry support for splash screen service, etc., are also the triggering conditions for generating a 180 message.
[0089] Specifically, the media server determines whether the calling terminal supports the splash screen service based on the terminal type indication information in the call request, that is, whether to generate a 180 message. It should be understood that the media server may store a set of terminal types that support the splash screen service, or query other devices based on the calling terminal's terminal type to determine whether the calling terminal supports the splash screen service; this application does not limit this. The terminal type may include the terminal manufacturer, terminal brand, and / or terminal model, etc. For example, the User-Agent header field in the call request carries terminal type indication information.
[0090] Specifically, the communication specification (standard) may stipulate that terminals supporting the splash screen service should include indication information indicating support for the splash screen service in their call requests (e.g., the contact header field or supported header field of the INVITE message should include pre-ring or pre-media, etc.). Therefore, if the call request includes this indication information, a 180 message will not be generated; if the call request does not include this indication information, a 180 message will be generated. For example, it may be stipulated that terminals supporting the splash screen service include g.3gpp.cat-prering in the contact header field of the call request. If the media server receives the call request in step 301 and finds that the contact header field does not include g.3gpp.cat-prering, then a 180 message will be generated.
[0091] Specifically, the media server determines whether the calling terminal accessing the network supports the splash screen service based on the network access type (PANI, P-Access-Network-Info) in the call request, which means it determines whether to generate a 180 message. Communication specifications (standards) can stipulate that terminals accessing the network must support the splash screen service. For example, the 5G standard requires terminals accessing the network to support the splash screen service (or have the ability to play media content before ringing). If the call request contains the following: P-Access-Network-Info: 3GPP-NR-FDD, the media server determines based on the "3GPP-NR-FDD" field that the calling terminal accesses a 3GPP-NR-FDD type network (belonging to the 5G network). In other words, the media server determines that the calling terminal supports the splash screen service, thus eliminating the need to generate a 180 message to simulate the ringing message of the called terminal.
[0092] It should be understood that the above-mentioned judgment methods can be combined for evaluation. Additionally, there are some situations where a judgment cannot be made. For example, the media server may not store information about whether the calling terminal's terminal type supports the splash screen service, and the communication standard may not have any provisions regarding the splash screen service. Therefore, it is impossible to determine whether the calling terminal supports the splash screen service. In this case, the media server generates a 180 message to ensure that media content can be played to the calling user in advance.
[0093] Existing billing devices, such as converged billing systems (CBS), calculate charges based on the billing information carried in the first 18x message (specifically, a 183 or 180 message) received during the call flow. To ensure the accuracy of billing without affecting the billing of core network elements (including call statistics), this application provides the following methods:
[0094] 1) The 180 message generated by the media server indicates that billing will not be based on this 180 message. In this case, the billing equipment is also upgraded accordingly to prevent billing from occurring based on the 180 message upon receipt, thus avoiding billing errors. Specifically, the 180 message may carry indication information for the splash screen service, that is, indicating that the 180 message was generated by the media server to implement the splash screen service. For example, the alert-info header field or contact header field of the 180 message may carry pre-ring or pre-media, etc. Optionally, the 180 message may not carry billing information (such as P-Charging-Vector, P-Access-Network-Info, etc., billing-related header fields). It should be understood that when the 180 message carries billing information, this billing information is generated by the media server itself and is not accurate. In other words, when a core network element (such as a P-CSCF device) receives a 180 message indicating that billing should not be performed based on the 180 message, the core network element will not send this information to the billing device to perform billing, regardless of whether the 180 message carries billing information.
[0095] Furthermore, the media server receives a response message from the called terminal, which carries billing information (such as billing-related header fields like P-Charging-Vector and P-Access-Network-Info). Specifically, this response message is either a 183 or 180 message sent by the called terminal. The media server sends this response message to the calling terminal so that, during its transmission, core network elements (such as P-CSCF devices) can receive the response message and send the billing information carried in it to the billing equipment, thereby achieving accurate billing. When the response message carries SDP information, the media server can delete the SDP information before sending the response message; that is, the response message sent by the media server to the calling terminal does not carry SDP information to avoid affecting the playback of the splash screen media due to media channel updates. The media server may also forward the response message directly to the calling terminal without deleting the SDP information carried in the response message. During the transmission of the response message, the core network element (such as the P-CSCF device) may not send the response message to the calling terminal after receiving it. In this way, the core network element can obtain the billing information carried in the response message, and the calling terminal will not be affected by the SDP information carried in the response message.
[0096] It should be understood that when the response message indicates the call status, the response message can also be called a call status indication message. See step 307 for details.
[0097] 2) The media server receives the 183 message sent by the called terminal and generates the 180 message based on the billing information carried in the 183 message. The 180 message carries the billing information. The media server waits for the 183 message from the called side and obtains the billing information (such as billing-related header fields such as P-Charging-Vector and P-Access-Network-Info) from the 183 message. It then adds this billing information to the 180 message when generating it. Therefore, the billing information carried in the 180 message is accurate. Thus, the core network element (such as the billing device) performs billing (including call statistics) based on the billing information carried in the 180 message after receiving it; or, the core network element (such as the P-CSCF device) sends the billing information carried in the 180 message to the billing device after receiving it, thereby achieving accurate billing. In this case, the core network element does not need to perform the upgrade described in 1).
[0098] 304. The media server sends the generated 180 message to the calling terminal.
[0099] 305. The media server sends a media stream of the first media content to the calling terminal, and the calling terminal receives the media stream of the first media content and plays the first media content.
[0100] Specifically, the media server sends the media stream of the first media content to the calling terminal according to the media negotiation result in step 302. Correspondingly, the calling terminal receives the media stream of the first media content according to the media negotiation result. The media negotiation result, namely the multimedia information of the media server and the multimedia information of the calling terminal mentioned in step 302, specifically includes one or more of the following: the protocol, address, and port number for transmitting (sending, receiving) the audio and / or video media of the first media content, and the encoding / decoding information of the audio and / or video media of the first media content.
[0101] Specifically, the first media content can be determined based on the characteristics of the calling user, such as the calling user's number range, priority, geographical location, age, etc. The first media content can also be public video content designated by the operator, such as educational, safety, alert, or advertising content. The first media content can also be pre-set by either the calling or called user. This application does not impose any limitations on this.
[0102] 306. After receiving the call request in step 301, the media server may forward the call request to the called terminal to connect the called terminal.
[0103] It should be understood that during the transmission of the call request to the called terminal, it may also pass through other network element devices on the called side, such as the Telephone Application Server (TAS) and / or the ringback tone server (if the called user has subscribed to the ringback tone service), etc. This application does not limit this.
[0104] It should be understood that Figure 3 The order of the steps described is exemplary and does not constitute a limitation on the technical solution of this application. For example, step 306 is executed after step 301. This application does not limit the execution order of steps 306 and 302-305. Specifically, step 306 can be executed in parallel with step 302, or before step 302, or after step 302. As another example, this application does not limit the execution order of steps 304 and 305. Specifically, the media server can first send the media stream to the calling terminal, and then send a 180 message to the calling terminal; the media server can also send a 180 message to the calling terminal while simultaneously sending the media stream; the media server can also send the media stream to the calling terminal after sending the 180 message.
[0105] 307. The media server receives a call status notification message.
[0106] The call status message indicates the call status, such as the called terminal being connected (the called terminal has received the call request), the called terminal being in an unreachable state (including but not limited to: being turned off, being out of network access, having an invalid number, being out of service, etc.), the called terminal being ringing, or being in a call waiting state, etc.
[0107] The call status message can be a 180 message, a 183 message, or an OXX message, etc. It can be sent by the TAS (Telematics Service Agent) or the called terminal. For example, when the called terminal has been connected, it sends a 183 message indicating successful connection. Similarly, when the called number is not in service, the TAS in the called domain sends a 183 message indicating the number is not in service. When the called terminal is ringing, it sends a 180 message indicating the ringing is active. Finally, when the calling user is in arrears, the TAS in the calling domain sends an OXX message indicating call restriction due to unpaid fees.
[0108] Furthermore, we can consider how to reasonably notify the calling user of the call status to ensure the integrity and rationality of the call process, which also helps to improve the call experience. There are several specific methods, such as: a media server handling the playback of status notification multimedia, and a call server (TAS) handling the playback of status notification multimedia. These will be discussed in detail below.
[0109] 1. The media server is responsible for displaying status messages and playing multimedia.
[0110] 308. Media server status confirmation prompt (multimedia).
[0111] The media server determines the corresponding status prompt multimedia based on the received call status prompt message. Specifically, the media server can determine the call status based on the call status prompt message, and then determine the corresponding status prompt multimedia based on the call status. For example, if the call status is a call waiting status, the media server determines a call waiting status multimedia. For example, if the call status is that the called number is not in service, the media server determines a called number not in service status multimedia. Alternatively, the media server can directly determine the corresponding status prompt multimedia based on the call status indication information carried in the call status prompt message.
[0112] 309. The media server sends a status prompt multimedia stream to the calling terminal, and the calling terminal receives and plays the status prompt multimedia stream.
[0113] The media server can send the media stream of the status prompt multimedia to the calling terminal based on the media negotiation result in step 302. Correspondingly, the calling terminal receives the media stream of the status prompt multimedia based on the media negotiation result. For details regarding the media negotiation result, please refer to the explanation in step 305, which will not be repeated here. That is, the status prompt multimedia is played using the media channel negotiated in step 302. The status prompt multimedia can specifically be audio media, video media, or audio-visual media. Specifically, the media server can play the status prompt multimedia to the calling terminal after the first media content has finished playing, or after a fixed duration of the first media content playback (e.g., 3 seconds). The media server can also play both the first media content and the status prompt multimedia to the calling terminal simultaneously. For example, if the negotiated media channel in step 302 includes audio and video, the media server will continue to send the video of the first media content and also send the audio of the status prompt multimedia.
[0114] It should be understood that the media server can also renegotiate the media with the calling terminal for the status prompt multimedia, and then play the status prompt multimedia based on the renegotiation result. For example, when the media type of the status prompt multimedia and the first media content are different, the media server can renegotiate. The specific method of negotiation is similar to step 302, except that the first media content is replaced with the status prompt multimedia, which will not be described in detail here.
[0115] In this scenario, the media server can also trigger the called party to release call resources when it determines that the called terminal is in an unreachable state, thereby conserving network resources. Specifically, the media server determines that the called terminal is in an unreachable state based on the call status message. Triggering the called party to release call resources can include sending a call release instruction message to the called party (specifically including various network elements and / or the called terminal in the called domain) to release call resources. This call release instruction message can be a Cancel message. The TAS receives this call resource release message and therefore does not play audio from the calling terminal.
[0116] 2. TAS is responsible for playing status prompts and multimedia.
[0117] In this scenario, the media server coordinates with the TAS to establish a media channel for playing multimedia status notifications to the calling terminal. The TAS then uses this media channel to play the multimedia status notifications to the calling terminal. The specific steps include the following.
[0118] 310. The media server negotiates media with the calling terminal.
[0119] 311. TAS sends a status prompt multimedia stream to the calling terminal, and the calling terminal receives and plays the status prompt multimedia stream.
[0120] In step 307, the call status notification message may also carry the media information of the TAS. The call status notification message in step 307 is generally a response message to the call request message in step 301. Therefore, relative to the SDP information (SDP_Offer) of the calling terminal carried in the call request message in step 301, the media information of the TAS carried in this call status notification message is SDP_Answer.
[0121] The media server negotiates media information with the calling terminal based on the TAS's media information. Specifically, the media server sends a second media negotiation request message to the calling terminal, which carries the TAS's media information; the media server receives a second media negotiation response message from the calling terminal, which carries the calling terminal's media information. In this negotiation, the TAS's media information belongs to SDP_Offer, and the calling terminal's media information belongs to SDP_Answer. The main purpose of this negotiation is to transmit the TAS's media information to the calling terminal.
[0122] Generally, the multimedia transmission protocol, address, and / or port number in the media information of the calling terminal carried in the second media negotiation response message are the same as those in the SDP information carried in the call request message. Other information, such as multimedia codec, in the media information of the calling terminal carried in the second media negotiation response message are the same as those in the media information of the TAS. Therefore, as an optional approach, the TAS can send a status notification of the multimedia stream based on the media information of the TAS and the SDP information carried in the call request message; correspondingly, the calling terminal sends a notification of the multimedia stream based on the media information of the TAS and the media information reception status of the calling terminal carried in the second media negotiation response message.
[0123] However, some special cases may exist. For example, the port number for transmitting multimedia in the calling terminal's media information carried in the second media negotiation response message may have changed and may differ from the port number for transmitting multimedia in the SDP information carried in the call request message. To ensure the playback of the status prompt multimedia, the media server can further negotiate with the TAS based on the calling terminal's media information carried in the second media negotiation response message, that is, notify the TAS of the calling terminal's media information. Then, the TAS sends the status prompt multimedia stream based on the negotiation result between the TAS and the media server; the calling terminal receives the status prompt multimedia stream based on the negotiation result between the calling terminal and the media server. Further details will not be elaborated here.
[0124] It should be understood that the above status indication for multimedia may specifically include: audio media and / or video media.
[0125] The above mainly introduced the media negotiation and playback of multimedia status prompts. So how should the original first media content be handled?
[0126] As an optional method, TAS provides a multimedia playback status notification to the calling terminal, and the media server stops playing the first media content to the calling terminal.
[0127] As an optional approach, the TAS plays an audio message indicating the status of the multimedia to the calling terminal, while the media server plays the video of the first media content to the calling terminal. Specifically, the media server negotiates audio and video media with the calling terminal. The result of the audio media negotiation is used to send the audio media stream of the status multimedia to the calling terminal; the media server also sends the video media stream of the first media content to the calling terminal based on the result of the video media negotiation. In this case, the media server can continue to utilize the video media channel negotiated in step 302 and negotiate the audio media channel with the calling terminal using the audio media information of the TAS sent by the TAS.
[0128] For clarity, let's first review the negotiation process in step 302. In step 302, the media server sends a first media negotiation request message to the calling terminal, which carries the media server's first video media information. The media server also receives a first media negotiation response message from the calling terminal, which carries the calling terminal's second video media information. It should be understood that audio media negotiation may also be included; this is not a limitation. That is, the first media content played in step 305 may include both audio and video, or it may only include video (i.e., silent playback of the opening screen media).
[0129] The negotiation process in step 310 is as follows: The media server sends a second media negotiation request message to the calling terminal. This message carries the media server's first video media information and the TAS's third audio media information. For ease of description, the audio media information in the TAS's media information carried in the call status notification message is referred to as the third audio media information. The media server also receives a second media negotiation response message from the calling terminal. This response message carries the calling terminal's second video media information and the calling terminal's fourth audio media information. Furthermore, the media server continues to send the video media stream of the first media content to the calling terminal based on the first and second video media information. The TAS sends the audio media stream of the status notification multimedia to the calling terminal based on the third and fourth audio media information. Correspondingly, the calling terminal receives the video media stream of the first media content and plays the video of the first media content based on the first and second video media information, and receives the audio media stream of the status notification multimedia and plays the audio of the status notification multimedia based on the third and fourth audio media information.
[0130] The call process may also include other operations, such as playing ringback tones or color vibrations, connecting a call, and / or hanging up a call. Those skilled in the art can understand how these operations are implemented, and some related processes are described in the following examples, so they will not be repeated here.
[0131] As an example Figure 4 A specific call processing method is provided. The media server can be from either the calling domain or the called domain; the TAS is from the called domain. For brevity and ease of understanding, some network elements involved in the signaling interaction, such as SBC / P-CSCF and I-CSCF / S-CSCF, are not shown in the diagram. The method specifically includes the following steps.
[0132] like Figure 4 As shown, let's take an example to illustrate this. Figure 3 The embodiment shown in this application uses the successful answering of the caller as an example. The method includes the following steps:
[0133] 401. The media server receives a call request (INVITE message) from the calling terminal.
[0134] The calling terminal initiates a voice or video call to the called terminal, thereby sending an initial INVITE message. This INVITE message carries the calling terminal's SDP information, denoted as SDP_O1.
[0135] 402. The media server sends a 183 message to the calling terminal.
[0136] The media server generates an 183 message and sends it to the calling terminal to simulate the called terminal sending the 183 message to the calling terminal. The From and To header fields of this 183 message are identical to those of the INVITE message, and the 183 message carries SDP information. This SDP information can be determined based on the media server's media capabilities or it can be fictitious, denoted as SDP_A1_1. The media server uses this 183 message to simulate media negotiation between the called and called terminals.
[0137] The 183 message can also indicate that billing should not be based on it. For example, if the alert-info header field of the 183 message carries run:service:pre-ring, then core network elements will not count the 183 message when billing (including call statistics).
[0138] Figure 4 The process described is an example, and this application is not limited to that process. For example, for a process that uses a resource reservation (Precondition) mechanism, an Update message and a 200 message would be added to indicate the completion status of the resource reservation, which will not be elaborated here.
[0139] 403. The media server receives the acknowledgment message (PRACK (Provisional Response ACKknowledgement)) sent by the calling terminal in response to the aforementioned message 183.
[0140] 404. The media server returns a 200 response message to the calling terminal in response to the aforementioned PRACK message.
[0141] The media server and the calling terminal perform media negotiation. This media negotiation is for the playback of the splash screen media, and therefore can also be called negotiation for the splash screen media (i.e., the first media content). The media negotiation specifically includes the following steps 405-406:
[0142] 405. The media server sends an UPDATE message to the calling terminal. This UPDATE message carries the media server's SDP information, denoted as SDP_O2.
[0143] 406. The media server receives a 200 message from the calling terminal, which carries the calling terminal's SDP information, denoted as SDP_A2.
[0144] 407. The media server generates a 180 message and sends the 180 message to the calling terminal.
[0145] As an optional approach, the media server generates the 180 message based on the indication information of the calling terminal type carried in the INVITE message in step 401, or the indication information of the network access type carried in the INVITE message; alternatively, the media server generates the 180 message based on the indication information that the INVITE message does not carry support for the splash screen service. See details. Figure 3 The description of step 303 in the illustrated embodiment will not be repeated here. It should be understood that this section describes the criteria for determining whether to generate a 180 message. The following section will continue to explain how to generate a 180 message.
[0146] Specifically, the From and To header fields of this 180 message are consistent with the From and To header fields of the INVITE message, thus enabling the simulation of a 180 message sent by the called terminal.
[0147] As an alternative, the 180 message can also indicate that billing should not be performed based on it. For example, the alert-info header field of the 180 message carries run:service:pre-ring, so that after the CSCF device receives the 180 message, it will not send the billing information related to the 180 message to the billing device to avoid billing errors. An example 180 message is as follows:
[0148] SIP / 2.0 180 Ringing
[0149] Call-ID: z9hG4***@10.26.6.151
[0150] From:<tel:+13050******> ;tag=0o360***
[0151] To:<tel:+18241******> ;tag=99wjm***
[0152] CSeq:1INVITE
[0153] Allow:INVITE,ACK,CANCEL,BYE,UPDATE,PRACK,MESSAGE,REFER,NOTIFY,INFO,OPTIONS
[0154] Contact:
[0155] <sip:10.34.212.88:5060> ;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel";audio;video
[0156] Alert-Info:run:service:pre-ring
[0157] Content-Length: 0
[0158] Alternatively, after step 410 (receiving the 183 message sent by the called terminal), the media server generates the 180 message based on the billing information carried in the 183 message, so that the 180 message carries accurate billing information. For example, the 180 message is as follows:
[0159] SIP / 2.0 180 Ringing
[0160] Call-ID: z9hG4***@10.26.6.151
[0161] From:<tel:+13050******> ;tag=0o360***
[0162] To:<tel:+18241******> ;tag=99wjm***
[0163] CSeq:1INVITE
[0164] Allow:INVITE,ACK,CANCEL,BYE,UPDATE,PRACK,MESSAGE,REFER,NOTIFY,INFO,OPTIONS
[0165] Contact:
[0166] <sip:10.34.212.88:5060> ;+g.3gpp.icsi-ref="urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel";audio;video
[0167] P-Asserted-Identity:tel:+18241******
[0168] P-Charging-Vector:icid-value="vpcssnk01.1b6.8e47.2020***";
[0169] orig-ioi=vscsrst01.ims.***.3gppnetwork.org; term-ioi=vscssnk01.ims.***.3gppnetwork.org
[0170] P-Access-Network-Info:3GPP-E-UTRAN-TDD; utran-cell-id-3gpp=520***; network-provided
[0171] Content-Length: 0
[0172] The information carried by P-Asserted-Identity, P-Charging-Vector, and P-Access-Network-Info is obtained from the 183 message.
[0173] As another alternative, step 402 can also be performed after step 410. That is, after receiving the first 183 message sent by the called terminal, the media server generates a second 183 message based on the billing information carried by the first 183 message, so that the second 183 message carries accurate billing information. In this case, whether the 180 message generated by the media server carries the billing information is not limited in this application.
[0174] It should be understood that steps 402, 404, and 407 above all involve the media server simulating the interaction between the called terminal and the calling terminal.
[0175] 408. The media server plays the first media content to the calling terminal.
[0176] The media server can determine the appropriate media content based on the SDP information received from the calling terminal in step 406. If the calling terminal supports video playback, the media server determines to play video or audio / video for the calling terminal; if the calling terminal only supports audio playback and does not support video playback, the media server determines to play audio for the calling terminal. Furthermore, the first media content can be determined based on the characteristics of the calling user, or based on the settings of the calling / called user, etc.
[0177] The media server sends the media stream of the first media content to the calling terminal. Accordingly, the calling terminal receives the media stream of the first media content and plays the first media content.
[0178] 409. After receiving the INVITE message in step 401, the media server can forward the INVITE message to the called terminal to connect the called terminal.
[0179] 410. The media server received a 183 message from the called terminal.
[0180] For ease of description, the 183 message generated by the media server can be referred to as the first 183 message, and the 183 message generated by the called terminal can be referred to as the second 183 message.
[0181] The second 183 message carries the SDP information of the called terminal, denoted as SDP_A1_2. This second 183 message is a response message to the INVITE message.
[0182] The second 183 message indicates that the called terminal has been connected, and is also a call status notification message. This application does not limit whether to play multimedia notifications indicating that the called terminal has been connected to the calling terminal. It should be understood that if multimedia notifications indicating that the called terminal has been connected are to be played to the calling terminal, the specific method can be found in [reference needed]. Figure 3 The description of the illustrated embodiment can also be found in the description of step 414 below, and will not be repeated here.
[0183] If the 180 message in step 407 does not carry accurate billing information, the media server can also send the 183 message to the calling terminal, and / or the media server can send the 180 message to the calling terminal after step 413 (receiving the 180 message sent by the called terminal), thereby transmitting accurate billing information.
[0184] If the 180 message in step 407 carries accurate billing information, the media server does not need to transmit the accurate billing information again. Therefore, the media server does not need to send the 183 message to the calling terminal. The media server also does not need to send the 180 message to the called terminal after step 413 (receiving the 180 message sent by the called terminal). Subsequent steps 413 will not be described in detail.
[0185] 411. The media server sends a PRACK message to the called terminal confirming the second 183 message.
[0186] 412. The media server receives a 200 response message from the called terminal in response to the aforementioned PRACK message.
[0187] In this way, the media server uses the above messages to simulate the caller's terminal's response and interact with the called terminal.
[0188] The process of the media server (simulating the calling terminal) interacting with the called terminal (e.g., steps 409-412) can be processed in parallel with the process of the media server (simulating the called terminal) interacting with the calling terminal (e.g., steps 402-406). This application does not limit this process.
[0189] 413. The called terminal rings, and then the called terminal sends a 180 message to the media server.
[0190] For ease of description, the 180 message generated by the media server can be referred to as the first 180 message, and the 180 message generated by the called terminal can be referred to as the second 180 message.
[0191] 414. The media server plays multimedia ringback tones or status notification multimedia for the calling terminal.
[0192] The media server receives the second 180 message mentioned above. Several possible scenarios may then emerge:
[0193] First, the second 180 message is a normal ringing message, that is, the second 180 message indicates that the called terminal is ringing and the called terminal is in an idle state.
[0194] The media server can continue playing the aforementioned first media content. This situation can also be considered as continuing to play the first media content as a ringback tone.
[0195] The media server can also stop playing the first media content. The ringback tone server plays ringback tones for the calling terminal, or the TAS plays ringing media (such as a dial tone) for the calling terminal. First, we will introduce the relevant methods for playing ringback tones for the calling terminal.
[0196] 1) The media server and the ringback tone server are co-located, meaning the media server is also responsible for playing multimedia ringback tones. If the media server determines that it wants to play a ringback tone for the calling terminal (for example, if it determines that the called user has activated the ringback tone service), the media server can continue to play the aforementioned first media content (which can also be called the ringback tone) to the calling terminal. The media server can also stop playing the first media content and play a new media content (this new media content is the ringback tone, specifically audio, video, or audio-visual). Specifically, the media server can immediately stop playing the first media content and play the new media content, or it can play the new media content after the first media content has finished playing, or it can play the new media content after a fixed duration (e.g., 3 seconds) of the first media content.
[0197] In this case, the media server and the calling terminal can continue to use the media channel established in steps 405-406 without renegotiation. It should be understood that the media server can also renegotiate (for example, when the media type of the ringback tone service and the media type of the splash screen service are inconsistent), and this application does not limit this.
[0198] 2) The media server and the ringback tone server are set up separately. In this case, the media server stops playing the first media content. The ringback tone server negotiates the ringback tone media with the calling terminal and plays the ringback tone for the calling terminal according to the negotiation result. The details are not elaborated here.
[0199] In addition, the method of TAS playing ringing media (such as beeping sounds) on the calling terminal will not be described in detail here.
[0200] Second, the second 180 message indicates that the called terminal is ringing and that the called terminal is in a non-idle state.
[0201] The non-idle state can specifically be a call transfer state, a call waiting state, etc. In this case, notifying the calling user of the call status (the called terminal is in a non-idle state) is beneficial for the smooth progress of the call process. Therefore, this application proposes playing multimedia status prompts for the calling terminal. Specifically, a media server or TAS plays multimedia status prompts for the calling terminal.
[0202] The media server receives the second 180 message. This second 180 message indicates the call status and can therefore also be called a call status notification message. The media server determines the corresponding status notification multimedia based on this second 180 message. For example, if the second 180 message carries a call-waiting field (alert-info:urn:alert:service:call-waiting) to indicate a call waiting status, the media server determines the call waiting status notification multimedia based on this message. The media server can then send the media stream of this status notification multimedia to the calling terminal for playback. The specific method is similar to the method described above for playing ringback tones, and will not be repeated here.
[0203] Furthermore, the method for TAS to display multimedia playback status prompts on the calling terminal will not be elaborated here; please refer to [link to relevant documentation]. Figure 6 The illustrated embodiment includes steps 613-614, steps 620-624, etc.
[0204] After the called terminal rings, if the called user answers the phone, the calling and called parties will negotiate a call. The process is briefly described below.
[0205] 415. The called user answers the phone.
[0206] 416. The called terminal sends a 200 message after the called user answers the phone.
[0207] 417-418. After receiving the 200 message, the media server stops playing ringback tones or status notification multimedia to the calling terminal and replies with an ACK message to the called terminal.
[0208] It should be understood that if the ringback tone server plays the ringback tone in step 414, then the ringback tone server stops playing the ringback tone; if the TAS playback status indicates multimedia in step 414, then the TAS stops playing the multimedia.
[0209] 419-426. The media server triggers the renegotiation of the call media between the calling terminal and the called terminal, thereby establishing a call between the calling terminal and the called terminal.
[0210] Specifically, the media server sends a renegotiation request (Re-INVITE message) to the called terminal. The called terminal sends a 200 message in response to the Re-INVITE message, carrying the called terminal's media information (SDP information). The media server sends a media update request (UPDATE message) to the calling terminal, carrying the aforementioned media information of the called terminal. The calling terminal returns a 200 message in response to the UPDATE message, carrying the calling terminal's acknowledgement media information. The media server forwards the called party off-hook 200 OK message received in step 415 to the calling terminal. The calling terminal returns an ACK message in response to the called party off-hook 200 OK message. The media server sends an ACK message to the called terminal for the Re-INVITE message, carrying the calling terminal's acknowledgement media information. Subsequently, the calling and called parties establish a call.
[0211] It should be understood that if the ringback tone server plays a ringback tone in step 414, the ringback tone server is responsible for triggering the renegotiation of the call media between the calling terminal and the called terminal. If the TAS playback status indicates multimedia in step 414, the TAS stop playback status indicates multimedia, triggering the renegotiation of the call media between the calling terminal and the called terminal.
[0212] Figure 4 In the illustrated method embodiment, the media server generates a ringing message and sends it to the calling terminal to simulate the ringing of the called terminal. This allows the calling terminal to receive initial media content without waiting for the called terminal to ring. Furthermore, after the called terminal rings, the calling terminal can receive a ringback tone or status notification multimedia through the media server, ringback tone server, or TAS.
[0213] As an example Figure 5 A specific call processing method is provided. The media server can be in the calling domain or the called domain; the TAS is in the called domain. For simplicity and ease of understanding, some network elements involved in the signaling interaction are not shown in the diagram, such as SBC / P-CSCF, I-CSCF / S-CSCF, etc. In this method, the media server sends a ringing message generated by the media server to the calling terminal without waiting for the called terminal to ring, thus providing the calling terminal with the initial media content for call initiation. Furthermore, when the called terminal is in an unreachable state, the media server plays corresponding status prompt multimedia for the calling terminal to inform the calling user of the corresponding call status, which facilitates the smooth progress of the call process. The method specifically includes the following steps.
[0214] 501-508. The calling terminal initiates a call request to the called terminal. Upon receiving this call request, the media server negotiates media with the calling terminal, generates a ringing message, and sends the ringing message to the calling terminal. The media server then plays the first media content to the calling terminal. Details are omitted here; please refer to [link to relevant documentation]. Figure 4 Steps 401-408 of the illustrated embodiment.
[0215] 509. After receiving the INVITE message in step 501, the media server can forward the INVITE message to the called terminal to connect the called terminal.
[0216] 510-511. The media server receives the 183 message and sends a PRACK message to the called party for the 183 message.
[0217] This 183 message indicates the call status, also known as a call status notification message. Specifically, this 183 message indicates that the called terminal is in an unreachable state (including but not limited to: powered off, network unreachable, number not in service, out of service, etc.). For example, this 183 message carries a reason for the unreachability to indicate the unreachable state (carrying Q.850 code information in the Reason header field).
[0218] The media server determines the corresponding status message multimedia based on the 183 message. For example, the media server determines the corresponding unreachable scenario (i.e., the specific call status) based on the reason for unreachability carried in the 183 message, and further determines the corresponding status message multimedia based on the unreachable scenario.
[0219] Additionally, regarding whether the media server sends the 183 message to the calling terminal, please refer to... Figure 4 The description of step 410 in the illustrated embodiment will not be repeated here.
[0220] 512-513. The media server sends a CANCEL message to the called party to release the called party's call resources, and receives a 200 OK message from the called party in response to the CANCEL message.
[0221] Once the media server determines that the called terminal is in an unreachable state, it triggers the called side to release call resources.
[0222] 514. The media server displays a multimedia playback status message for the calling terminal.
[0223] Specifically, the media server can utilize existing media channels to play the status notification multimedia for the calling terminal. That is, the media server sends the media stream of the status notification multimedia to the calling terminal based on the media negotiation results of steps 505-506. Correspondingly, the calling terminal receives the media stream of the status notification multimedia based on the negotiation results and plays it. The media server can immediately stop playing the first media content for the calling terminal and play the status notification multimedia, or it can play the status notification multimedia after the first media content has finished playing, or it can play the status notification multimedia after a fixed duration (e.g., 3 seconds) of the first media content.
[0224] It should be understood that the media server can also renegotiate (for example, when the status indicates that the media type of the multimedia is inconsistent with the media type of the first media content), and this application does not limit this.
[0225] In addition, the media server can simultaneously play status prompt multimedia and the first media content. For example, it can send the video stream of the first media content to the calling terminal using the video channel, and send the audio stream of the status prompt multimedia to the calling terminal using the audio channel. Thus, the calling terminal can play the video stream of the first media content and play the video of the first media content, and receive the audio stream of the status prompt multimedia and play the audio of the status prompt multimedia.
[0226] 515-516. The media server sends a call termination message (such as a 487 message) to the calling terminal and receives an ACK message from the calling terminal in response to the call termination message.
[0227] If the calling terminal has not hung up after the multimedia playback ends, the media server sends a 487 message to disconnect from the calling terminal, which means terminating the call process and releasing call resources.
[0228] It should be understood that if the calling user hangs up during the playback of multimedia, the calling terminal sends a call termination message. Correspondingly, the media server receives the call termination message from the calling terminal and sends an ACK message to the calling terminal for that message. In this case, the media server does not need to trigger the calling terminal to disconnect.
[0229] If the media server receives a call termination message (such as a 487 message) from the called party while playing the status prompt multimedia for the calling terminal, steps 512-513 can be skipped. Furthermore, the media server can directly forward the call termination message to the calling terminal, or it can forward it after the status prompt multimedia has been played for a set duration (e.g., 3 seconds). Alternatively, the media server can temporarily refrain from sending the call termination message to the calling terminal, instead sending an ACK message for the call termination message to the called party, and then sending the call termination message to the calling terminal after the status prompt multimedia playback has finished.
[0230] Figure 5 The execution order of each step is exemplary; for example, this application does not limit the execution order of steps 514 and 512. Furthermore, in this embodiment, the media server can be located in either the calling domain or the called domain. It should be understood that if the media server is located in the called domain, when configuring iFC, the media server is configured before the TAS, so that the media server can receive the call status notification message sent by the TAS.
[0231] As an example Figure 6 A specific call processing method is provided. The media server can be in the calling domain or the called domain; the TAS is in the called domain. For simplicity and ease of understanding, some network elements involved in the signaling interaction are not shown in the diagram, such as SBC / P-CSCF, I-CSCF / S-CSCF, etc. In this method, the media server sends a ringing message generated by the media server to the calling terminal, without waiting for the called terminal to ring, thus providing the calling terminal with the initial media content at the time of call initiation. Furthermore, the TAS is responsible for playing the multimedia status message. The method specifically includes the following steps.
[0232] 601-608. The calling terminal initiates a call request to the called terminal. Upon receiving this call request, the media server negotiates media with the calling terminal, generates a ringing message, and sends the ringing message to the calling terminal. The media server then plays the first media content to the calling terminal. Details are omitted here; please refer to [link to relevant documentation]. Figure 4 Steps 401-408 of the illustrated embodiment.
[0233] 609. After receiving the INVITE message in step 601, the media server can forward the INVITE message to the called terminal to connect the called terminal.
[0234] 610-611. The media server receives the 183 message and sends a PRACK message to the called party for the 183 message.
[0235] For ease of description, the 183 message generated by the media server can be referred to as the first 183 message, and the 183 message generated by the TAS or the called terminal can be referred to as the second 183 message.
[0236] The second 183 message carries the called party's SDP information, denoted as SDP_A1_2. This second 183 message is a response to the INVITE message. The called party here specifically refers to the TAS or the called terminal. That is, the second 183 message can be generated and sent by the TAS or by the called terminal; see [link to relevant documentation] for details. Figure 3 Description of step 307 in the illustrated embodiment.
[0237] 613-614. The media server and the calling terminal conduct media negotiation.
[0238] The media server can replace the audio media information in the SDP information negotiated with the calling terminal in step 605 with the audio media information in the called-side SDP information carried in the second 183 message, thereby initiating a media update to the calling party. During the media update, the media server can retain the video media information in the SDP information negotiated with the calling terminal in step 605, thus not affecting the continued playback of the video media of the first media content. It should be understood that during the negotiation in 613-614, the media channel negotiated in 605-606 can also be disregarded, and the media channel can be directly updated to the media channel between the calling terminal and the called-side TAS. This application does not limit this. The following describes in detail the case of retaining the video channel between the calling terminal and the media server negotiated in 605-606.
[0239] For clarity, let's first review the negotiation process in steps 605-606. In step 605, the media server sends a first media negotiation request message (first UPDATE message) to the calling terminal. This first UPDATE message carries the media server's first video media information (SDP_O2_VIDEO1). The media server also receives a first media negotiation response message (first 200 message) from the calling terminal. This first 200 message carries the calling terminal's second video media information (SDP_A2_VIDEO1). It should be understood that audio media negotiation may also be included; this is not limited here. That is, the first media content played in step 608 can include both audio and video, or it can consist only of video (i.e., silent playback of the opening screen media). Furthermore, even if audio media is negotiated in steps 605-606, the media server in step 608 can play only the video of the first media content to the calling terminal using the video channel (i.e., silent playback).
[0240] Regarding the negotiation in step 613, the specific details are as follows: The media server sends a second media negotiation request message (second UPDATE message) to the calling terminal. This second UPDATE message carries the media server's first video media information (SDP_O2_VIDEO1). The second UPDATE message also carries the called party's audio media information, which is the audio information in the called party's SDP information (SDP_A1_2) carried in message 183 in step 610. The media server also receives a second media negotiation response message (second 200 message) sent by the calling terminal. This second 200 message carries the calling terminal's second video media information (SDP_A2_VIDEO1) and the calling terminal's fourth audio media information. This fourth audio media information is determined based on the called party's audio media information and the calling terminal's audio media capabilities. For details regarding the media information, please refer to [link to relevant documentation]. Figure 3 The description of the illustrated embodiment, such as the description after step 311.
[0241] Subsequently, the media server continues to send the video media stream of the first media content to the calling terminal based on the first video media information and the second video media information. Correspondingly, the calling terminal receives the video media stream of the first media content and plays the video of the first media content based on the first video media information and the second video media information. In this case, the media server is not responsible for the call status indication function; the media server may not need to identify the call status corresponding to the second 183 message. Alternatively, the media server may also determine the corresponding status indication video based on the second 183 message and play the status indication video (without audio) to the calling terminal. That is, the media server sends the video media stream of the status indication video to the calling terminal based on the first video media information and the second video media information. Correspondingly, the calling terminal receives the video media stream of the status indication video and plays the status indication video based on the first video media information and the second video media information.
[0242] To clearly describe the implementation method of this solution under different circumstances, the use of audio channels can be discussed separately.
[0243] 1) The call process is normal.
[0244] In this case, the second 183 message indicates that the call process is normal, such as the call has been connected. The second 183 message carries the audio media information of the called terminal. Since the call between the calling and called parties has not yet been established, there will be no audio media transmission on the audio channel.
[0245] In step 608, the media server can mute the first media content played to the calling terminal. In step 614, no audio media is transmitted in the audio channel negotiated, so there will be no situation where the audio of the first media content was played to the calling terminal and then suddenly there is no audio. This avoids the calling user mistakenly thinking that there is something wrong with the mobile phone or the call process and hanging up the phone.
[0246] In addition, if the called party initiates video negotiation due to services such as video ringback tones or switching video calls, the media server will transmit the video negotiation message from the called party and stop playing the first media content. For details, please refer to [link to relevant documentation].
[0247] For subsequent call procedures, please refer to [link / reference]. Figure 4 The descriptions of steps 413-426 in the illustrated embodiments will not be repeated here.
[0248] 2) Call process abnormal, such as the called terminal being in an unreachable state.
[0249] In this situation, the second 183 message indicates an abnormal call flow. The second 183 message carries the audio media information of the TAS (Telephone Assistant). The TAS is responsible for playing the status prompt multimedia audio (also called status prompt audio) for the calling terminal.
[0250] Specifically as follows:
[0251] 620. TAS sends the status prompt multimedia audio media stream to the calling terminal based on the third and fourth audio media information. Correspondingly, the calling terminal receives the status prompt multimedia audio media stream based on the third and fourth audio media information and plays the status prompt multimedia audio.
[0252] 621-622. After the TAS displays the multimedia audio indicating that playback is complete, it sends a 487 message to disconnect.
[0253] Upon receiving the 487 message, the media server also stopped playing the video and forwarded the 487 message.
[0254] 623-624. After receiving the 487 message, the calling terminal returns an ACK message for the 487 message.
[0255] like Figure 7The diagram shown is a structural schematic of a media server provided in an embodiment of this application. The media server has the functionality to implement the actions of the media server in the above embodiments. Specifically, the media server includes a processing module 701 and a communication module 702. The communication module 702 may specifically include a receiving module and a sending module. The processing module 701 is used to control and manage the actions of the media server. The communication module 702 is used to support communication between the media server and other devices (such as terminal devices and / or CSCF devices). The media server may also include a storage module 703 for storing the program code of the media server, etc.
[0256] Processing module 701 can support the media server in performing the actions of the media server in the method examples above, for example, it can support the media server in performing... Figure 3 Steps 303 and 308 in the process, Figure 4 Steps 402-407 in the text, Figure 5 Steps 502-508 in the text, Figure 6 Steps 602-608, etc.
[0257] Communication module 702 can support communication between the media server and other devices, for example, it can support the media server to perform... Figure 3 Steps 301, 302, 304-307, 309-310, etc. Figure 4 Steps 401-412 in the text, Figure 5 Steps 501-516 in the text, Figure 6 Steps 601-614, 621-624, etc.
[0258] It should be understood that the actions described in the examples above are optional, and the processing module 701 and communication module 702 may selectively support the media server in performing some of these actions. Furthermore, the modules of the media server may be integrated or separate, and this application does not impose any limitations. For example, the processing module 701 may also have send / receive functions and / or storage functions, etc.
[0259] In a simplified embodiment, those skilled in the art will recognize that a media server can employ... Figure 9 It is implemented in the form shown.
[0260] like Figure 8The diagram shown is a structural schematic of a terminal device provided in an embodiment of this application. The terminal device has the function of implementing the actions of the calling terminal in the above embodiments. Specifically, the terminal device includes a communication module 801, which may include a receiving module and a sending module. The terminal device may also include a processing module 802, which is used to control and manage the actions of the terminal device. The communication module 801 is used to support communication between the terminal device and other devices (such as other terminal devices and / or CSCF devices). The terminal device may also include a storage module 803, used to store the program code of the terminal device, etc. The terminal device may also include a playback module 804, used to play media (including audio and / or video).
[0261] Communication module 801 can support communication between the terminal device and other devices, for example, it can support the terminal device to perform... Figure 3 Steps 301, 302, 304-307, 309-310, etc. Figure 4 Steps 401-412 in the text, Figure 5 Steps 501-516 in the text, Figure 6 Steps 601-614, 621-624, etc.
[0262] Processing module 802 can support the terminal device in executing the actions of the terminal device in the method examples above, for example, it can support the terminal device in executing... Figure 3 Steps 301 and 308 in the process, Figure 4 Steps 402-407 in the text, Figure 5 Steps 502-508 in the text, Figure 6 Steps 602-608, etc.
[0263] The playback module 804 can support media playback on the terminal device, for example, it can support the terminal device to execute... Figure 3 Steps 305, 309, and 311 in the text Figure 4 Steps 408 and 411 in the process, Figure 5 Steps 508 and 514 in the text Figure 6 Steps 608, 620, etc.
[0264] It should be understood that the actions in the examples above are optional, and each module may selectively support the terminal device in performing some of the actions. Furthermore, the modules of the terminal device may be integrated or separate; this application does not impose any limitations on this.
[0265] In a simplified embodiment, those skilled in the art will recognize that the terminal device can employ... Figure 9 It is implemented in the form shown.
[0266] like Figure 9The diagram shown is a structural schematic of the device 900 provided in an embodiment of this application. The device 900 can specifically be a media server, a terminal device, or something similar.
[0267] The device 900 may include at least one processor 901, a communication bus 902, a memory 903, a communication interface 904, and an I / O interface. The processor may be a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits used to control the execution of programs according to the present application.
[0268] The communication bus may include a path for transmitting information between the aforementioned components. The communication interface, using any transceiver-like device, is used to communicate with other devices or communication networks, such as Ethernet, Radio Access Network (RAN), Wireless Local Area Networks (WLAN), etc.
[0269] The memory can be read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, random access memory (RAM) or other types of dynamic storage devices capable of storing information and instructions, or electrically erasable programmable read-only memory (EEPROM), compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. The memory can exist independently and be connected to the processor via a bus. The memory can also be integrated with the processor.
[0270] The memory is used to store program code that executes the scheme of this application, and its execution is controlled by a processor. The processor is used to execute the program code stored in the memory.
[0271] In a specific implementation, a processor may include one or more CPUs, each of which may be a single-core processor or a multi-core processor. Here, "processor" can refer to one or more devices, circuits, and / or processing cores used to process data (such as computer program instructions).
[0272] In a specific implementation, as one embodiment, the device may also 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, keyboard, touch screen device, or sensing device, etc.
[0273] It should be pointed out that, Figure 9 The structure shown does not constitute a limitation on device 900, except... Figure 9 In addition to the components shown, device 900 may include more or fewer components than shown, or combine certain components, or have different component arrangements.
[0274] The devices in the embodiments of this application, such as media servers or terminal devices, can all be adopted. Figure 9 The structure of the device 900 shown.
[0275] For example, when the processor of a media server executes executable code or applications stored in the memory, the media server can execute the method steps corresponding to the media server in the above embodiments. The specific execution process is described in the above embodiments and will not be repeated here.
[0276] For example, when a terminal device's processor executes executable code or an application stored in its memory, the terminal device can execute the method steps corresponding to the terminal device in the above embodiments. The specific execution process is described in the above embodiments and will not be repeated here.
[0277] In the embodiments of this application, the terms "second" and "first" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "second" or "first" may explicitly or implicitly include one or more of that feature. In the description of this application, unless otherwise stated, "a plurality of" means two or more.
[0278] In this application, the term "at least one" means one or more, and the term "multiple" means two or more. For example, multiple first messages refer to two or more first messages.
[0279] It should be understood that the terminology used in the description of the various examples herein is for the purpose of describing particular examples only and is not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise.
[0280] It should also be understood that the term "and / or" as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. The term "and / or" describes an association between related objects, indicating that three relationships can exist; for example, A and / or B can represent: A alone, A and B simultaneously, or B alone. Additionally, the character " / " in this application generally indicates that the preceding and following related objects are in an "or" relationship. It should also be understood that the term "comprising" (also referred to as "includes," "including," "comprises," and / or "comprising"), when used in this specification, specifies the presence of the stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0281] It should also be understood that in the various embodiments of this application, the sequence number of each process does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application. Those skilled in the art will recognize that the modules and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in terms of function in the above description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Skilled professionals may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0282] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and modules described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0283] In the embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the division of modules is merely a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple modules or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the couplings or direct couplings or communication connections shown or discussed may be indirect couplings or communication connections through interfaces, devices, or modules, or they may be electrical, mechanical, or other forms of connection.
[0284] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical modules; that is, they may be located in one place or distributed across multiple network modules. Some or all of the modules can be selected to achieve the purpose of the embodiments of this application, depending on actual needs.
[0285] Furthermore, the functional modules in the various embodiments of this application can be integrated into one processing module, or each module can exist physically separately, or two or more modules can be integrated into one module. The integrated modules described above can be implemented in hardware or as software functional modules.
[0286] If the integrated module is implemented as a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a computer program product, which includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer program product is stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium that a computer can access or a data storage device such as a server or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid state disks (SSDs)).
[0287] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A call processing method, characterized in that, Applied to media servers, including: Receive call requests sent by the calling terminal; Media negotiation is performed with the calling terminal; A 180 message is generated and sent to the calling terminal; wherein, the 180 message contains information about the called terminal determined based on the call request, and is used to simulate the scenario of the called terminal ringing; The media stream of the first media content is sent to the calling terminal according to the result of the media negotiation; The 180 message indicates that billing will not be based on the 180 message, and the method further includes: The call request is forwarded to the called terminal; The system receives a response message sent by the called terminal and sends the response message to the calling terminal, wherein the response message carries billing information.
2. The method as described in claim 1, characterized in that, The generation of the 180 message includes: The 180 message is generated based on the indication information of the type of the calling terminal carried in the call request, or the indication information of the network access type carried in the call request; or The 180 message is generated based on the fact that the call request does not carry any indication that the screen-on service is supported.
3. The method as described in claim 1 or 2, characterized in that, Also includes: Receive call status notification messages; The status prompt multimedia is determined based on the call status prompt message; Send the status notification multimedia stream to the calling terminal.
4. The method as described in claim 3, characterized in that, Also includes: Based on the call status message, it is determined that the called terminal is in an unreachable state; Trigger the called party to release call resources.
5. The method as described in claim 1, characterized in that, Also includes: Receive call status notification messages; After receiving the call status message, audio media negotiation and video media negotiation are performed with the calling terminal. The result of the audio media negotiation is used to send the audio media stream of the status prompt multimedia to the calling terminal. Based on the result of the video media negotiation, the video media stream of the first media content is sent to the calling terminal.
6. The method as described in claim 5, characterized in that, The call status notification message carries third-party audio media information from the telephone application server. The media negotiation with the calling terminal specifically includes: Send a first media negotiation request message to the calling terminal, the first media negotiation request message carrying the first video media information of the media server; Receive a first media negotiation response message sent by the calling terminal, wherein the first media negotiation response message carries the second video media information of the calling terminal; The audio media negotiation and video media negotiation with the calling terminal specifically include: Send a second media negotiation request message to the calling terminal, the second media negotiation request message carrying the first video media information and the third audio media information; The system receives a second media negotiation response message sent by the calling terminal. The second media negotiation response message carries the second video media information and the fourth audio media information of the calling terminal. The result of the video media negotiation includes the first video media information and the second video media information. The result of the audio media negotiation includes the third audio media information and the fourth audio media information.
7. A call processing method, characterized in that, Applied to calling terminals, including: Send a call request to the called terminal; Negotiate media information with the media server; Receive a 180 message, which is generated by the media server; wherein the 180 message contains information about the called terminal determined based on the call request, and is used to simulate the scenario of the called terminal ringing; Receive the media stream of the first media content sent by the media server according to the result of the media negotiation, and play the first media content; The 180 message indicates that billing will not be based on the 180 message, and the method further includes: Receive a response message, which carries billing information.
8. The method as described in claim 7, characterized in that, Also includes: Perform audio media negotiation and video media negotiation with the media server; Receive the video media stream of the first media content sent by the media server according to the result of the video media negotiation, and play the video of the first media content; Based on the result of the audio media negotiation, the system receives the audio media stream of the status prompt multimedia sent by the telephone application server and plays the audio of the status prompt multimedia.
9. The method as described in claim 8, characterized in that, The media negotiation with the media server includes: Receive a first media negotiation request message sent by the media server, wherein the first media negotiation request message carries the first video media information of the media server; Send a first media negotiation response message to the media server, the first media negotiation response message carrying the second video media information of the calling terminal; The audio media negotiation and video media negotiation with the media server includes: Receive a second media negotiation request message sent by the media server, the second media negotiation request message carrying the first video media information and the third audio media information of the telephone application server; A second media negotiation response message is sent to the media server. The second media negotiation response message carries the second video media information and the fourth audio media information of the calling terminal. The result of the video media negotiation includes the first video media information and the second video media information. The result of the audio media negotiation includes the third audio media information and the fourth audio media information.
10. A media server, characterized in that, Includes a communication module and a processing module. The communication module is used to: receive a call request sent by the calling terminal and perform media negotiation with the calling terminal; The processing module is used to generate a 180 message; wherein, the 180 message contains information about the called terminal determined based on the call request, and is used to simulate the scenario of the called terminal ringing; The communication module is also used to: send the 180 message to the calling terminal, and send a media stream of the first media content to the calling terminal according to the media negotiation result; The 180 message indicates that billing will not be based on the 180 message, and the communication module is further configured to: The call request is forwarded to the called terminal; The system receives a response message sent by the called terminal and sends the response message to the calling terminal, wherein the response message carries billing information.
11. The media server as described in claim 10, characterized in that, The processing module is used to generate the 180 message, including: The processing module is used to generate the 180 message based on the indication information of the type of the calling terminal carried in the call request, or the indication information of the network access type carried in the call request; or The processing module is used to generate the 180 message based on the call request not carrying indication information supporting the screen-on service.
12. The media server as described in claim 10 or 11, characterized in that, The communication module is also used to receive call status notification messages; The processing module is also used to determine the status prompt multimedia based on the call status prompt message; The communication module is also used to send the status prompt multimedia media stream to the calling terminal.
13. The media server as described in claim 12, characterized in that, The processing module is also used for: Based on the call status message, it is determined that the called terminal is in an unreachable state; Trigger the called party to release call resources.
14. The media server as described in claim 10 or 11, characterized in that, The communication module is also used for: Receive call status notification messages; After receiving the call status message, audio media negotiation and video media negotiation are performed with the calling terminal. The result of the audio media negotiation is used to send the audio media stream of the status prompt multimedia to the calling terminal. Based on the result of the video media negotiation, the video media stream of the first media content is sent to the calling terminal.
15. The media server as described in claim 14, characterized in that, The call status notification message carries third-party audio media information from the telephone application server. The communication module is used to perform media negotiation with the calling terminal, specifically including: The communication module is used to send a first media negotiation request message to the calling terminal, the first media negotiation request message carrying the first video media information of the media server; The communication module is used to receive a first media negotiation response message sent by the calling terminal, wherein the first media negotiation response message carries the second video media information of the calling terminal; The communication module is used to perform audio media negotiation and video media negotiation with the calling terminal, specifically including: The communication module is used to send a second media negotiation request message to the calling terminal, the second media negotiation request message carrying the first video media information and the third audio media information; The communication module is used to receive a second media negotiation response message sent by the calling terminal. The second media negotiation response message carries the second video media information and the fourth audio media information of the calling terminal. The result of the video media negotiation includes the first video media information and the second video media information, and the result of the audio media negotiation includes the third audio media information and the fourth audio media information.
16. A terminal device, characterized in that, The terminal device is a calling terminal, including a communication module, which is used for: Send a call request to the called terminal and negotiate media with the media server; Receive a 180 message, which is generated by the media server; wherein the 180 message contains information about the called terminal determined based on the call request, and is used to simulate the scenario of the called terminal ringing; Receive the media stream of the first media content sent by the media server according to the result of the media negotiation, and play the first media content; The 180 message indicates that billing will not be performed based on the 180 message, and the communication module is further configured to: receive a response message, the response message carrying billing information.
17. The terminal device as described in claim 16, characterized in that, The communication module is also used for: Perform audio media negotiation and video media negotiation with the media server; Receive the video media stream of the first media content sent by the media server according to the result of the video media negotiation; Based on the result of the audio media negotiation, receive the multimedia audio media stream from the status prompt sent by the telephone application server. The terminal device further includes a playback module, which is used to: play the audio of the status prompt multimedia according to the audio media stream of the status prompt multimedia, and play the video of the first media content according to the video media stream of the first media content.
18. The terminal device as described in claim 17, characterized in that, The communication module is used for media negotiation with the media server, including: The communication module is used to receive a first media negotiation request message sent by the media server, the first media negotiation request message carrying the first video media information of the media server; The communication module is used to send a first media negotiation response message to the media server, the first media negotiation response message carrying the second video media information of the calling terminal; The communication module is used to perform audio media negotiation and video media negotiation with the media server, including: The communication module is used to receive a second media negotiation request message sent by the media server, the second media negotiation request message carrying the first video media information and the third audio media information of the telephone application server; The communication module is used to send a second media negotiation response message to the media server. The second media negotiation response message carries the second video media information and the fourth audio media information of the calling terminal. The result of the video media negotiation includes the first video media information and the second video media information, and the result of the audio media negotiation includes the third audio media information and the fourth audio media information.
19. A call processing system, characterized in that, include: Media servers and terminal devices, The media server is configured to perform the method as described in any one of claims 1-6; The terminal device is used to perform the method as described in any one of claims 7-9.
20. The system as described in claim 19, characterized in that, It also includes telephony application servers, The telephone application server is used for: Receive a call request sent by the terminal device, the call request carrying the fourth audio media information of the calling terminal; Send a call status notification message to the terminal device, the call status notification message carrying third audio media information of the telephone application server; Based on the third and fourth audio media information, a status prompt multimedia audio media stream is sent to the terminal device.
Citation Information
Patent Citations
Call processing method and device
WO2020135803A1