Method and apparatus for call connection
By assuming that ACK signaling has been received and replying to the second 200 OK signaling in the case where the first terminal does not receive the ACK signaling, the silent or single-pass problem is solved, and the call success rate and user experience are improved.
Patent Information
- Application Number
- PCT/CN2024/079362
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-16
- Filing Date
- 2024-02-29
- Publication Date
- 2024-12-19
AI Technical Summary
Terminals that enable ring ring function increase signaling interaction during call establishment, which may lead to signaling loss, resulting in silent or single-pass problems in calls, affecting the user experience.
In the case where the first terminal does not receive the ACK signaling reply from the network side, assuming that the ACK signaling has been received and the second 200 OK signaling is replied to ensure the normal execution of subsequent signaling interaction steps and ensure the call connection. success.
It increases the probability of successful calls, improves the user's call experience, and reduces the situation of silent or single calls.
Smart Images

Figure CN2024079362_19122024_PF_FP_ABST
Abstract
Description
Method and device for call connection
[0001] This application claims priority to the Chinese patent application filed with the State Intellectual Property Office on June 16, 2023, with application number 202310726855.1 and application name “A method and device for call connection”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the field of calls, and in particular, to a method and device for call connection. Background Art
[0003] Currently, most terminals support the CRBT feature. Operators typically enable this feature by default for terminal users. For example, after the CRBT service is enabled on a called terminal, when a calling terminal calls the called terminal, the CRBT platform in the telecommunications network plays an audio ring tone as a waiting tone (ringback tone) to the calling terminal while the called terminal is ringing.
[0004] When establishing a call connection, the calling and called terminals can communicate using messages or signaling in the Session Initiation Protocol (SIP). SIP is an application layer control protocol developed by the Internet Engineering Task Force (IETF) for multimedia communications over IP networks.
[0005] The signaling interaction process involved in establishing a call differs between terminals with and without the ringback tone feature enabled. With the ringback tone feature enabled, establishing a call between the called and calling terminals involves additional signaling processes, and some signaling may be lost during signal forwarding, resulting in the inability to establish a call between the calling and called terminals. Therefore, compared to terminals without the ringback tone feature enabled, terminals with the ringback tone feature enabled are more likely to experience silence or single-call issues after a call, impacting the user experience.
[0006] Summary of the Invention
[0007] In view of this, the present application provides a method, apparatus, computer-readable storage medium, and computer program product for call connection, which can reduce the probability of silent calls and improve the user's call experience.
[0008] In a first aspect, a method for call connection is provided, the method being applied to a first terminal, the method comprising:
[0009] When the second terminal initiates a first call to the first terminal, receiving a first INVITE signaling from the second terminal;
[0010] After detecting the user's answering action, sending a first 200 OK signaling in response to the first INVITE signaling;
[0011] Based on the first call, receiving a second INVITE signaling, where the second INVITE signaling includes a first identifier, and the first INVITE signaling does not include the first identifier, and the first terminal does not receive a first ACK signaling after sending the first 200 OK signaling and before receiving the second INVITE signaling;
[0012] In response to the second INVITE signaling, a second 200 OK signaling is sent.
[0013] The above technical solution is executed by the first terminal or the chip in the first terminal. Based on the above solution, after receiving the user answering action of the first terminal, for the situation where the first terminal did not receive the first ACK signaling replied by the network side but received the second INVITE signaling, compared with the way in which the first terminal replies 491 signaling to the network side (this way makes the subsequent signaling interaction steps unable to be executed, resulting in silent calls between the first terminal and the second terminal), the embodiment of the present application will assume that the first ACK signaling has been received in this case, and after receiving the second INVITE signaling, reply the second 200 OK (INVITE) signaling to the network side, so that the subsequent signaling interaction steps can be executed normally, thereby enabling the transmission of voice data between the first terminal and the second terminal, helping to increase the probability of call success and enhance the user's call experience.
[0014] Exemplarily, the first terminal is a called terminal, and the second terminal is a calling terminal.
[0015] In some possible implementations, after receiving the second INVITE signaling, the method further includes:
[0016] Determining whether the first ACK signaling is received;
[0017] When the first ACK signaling is not received, the second 200 OK signaling is sent.
[0018] That is, after receiving the second INVITE signaling, the first terminal can determine whether the first ACK signaling has been received. Even if the first ACK signaling has not been received, the first terminal will send the second 200 OK signaling to the network side.
[0019] Optionally, a preset time length may be set on the first terminal side to constrain the time the first terminal waits for the second INVITE signaling, so as to avoid the first terminal waiting for the second INVITE signaling all the time.
[0020] Optionally, the above-mentioned preset duration can be achieved by introducing a first timer.
[0021] In some possible implementations, the method further includes:
[0022] Determining whether the first timer has timed out;
[0023] The sending of the second 200 OK signaling includes:
[0024] If the first ACK signaling is not received and the first timer has not timed out, the second 200OK signaling is sent. The first timer not timing out means that the timing duration of the first timer is less than or equal to the preset duration. The timing duration of the first timer refers to the time between the moment when the user's answering action is detected and the current moment, or the time between the moment when the first 200 OK signaling is sent and the current moment.
[0025] Optionally, after the first terminal receives the user's answering action or sends the first 200 OK (INVITE) signaling, the first timer starts timing (or starts the first timer).
[0026] In some possible implementations, the method further includes: if the first ACK signaling is not received and the first timer expires, sending a 491 signaling. That is, if the second INVITE signaling is received when the first timer expires, the first terminal replies with a 491 signaling.
[0027] In some possible implementations, the method further includes:
[0028] receiving a second ACK signaling from the second terminal;
[0029] After receiving the second ACK signaling, receive voice data from the second terminal, or send voice data to the second terminal.
[0030] After the first terminal responds to the network with the second 200 OK (INVITE) signaling, subsequent steps are performed normally. For example, the first terminal may receive the second ACK signaling from the second terminal and then transmit voice data with the second terminal.
[0031] It should be understood that the signaling shown above is part of the signaling between the first terminal and the second terminal, and the embodiments of the present application are not limited to this.
[0032] In some possible implementations, the method further includes:
[0033] After receiving the first INVITE signaling, a 180 Ringing signaling is sent to the second terminal.
[0034] In some possible implementations, before sending the 180Ringing signaling, the method further includes:
[0035] receiving an UPDATE signaling from the second terminal;
[0036] In response to the UPDATE signaling, a third 200 OK signaling is sent. The third 200 OK signaling is a 200 OK (UPDATE) signaling.
[0037] Exemplarily, 200 OK (UPDATE) signaling may indicate that UPDATE signaling has been received.
[0038] Therefore, the first terminal can learn, through the UPDATE signaling, that the second terminal has established a voice bearer, and reply with a 200 OK (UPDATE) signaling to the second terminal.
[0039] In some possible implementations, the first 200 OK signaling is sent after the CRBT starts playing; and the second INVITE signaling is received after the CRBT stops playing.
[0040] In a second aspect, a method for call connection is provided, the method being applied to a first network-side device. The first network-side device may be a first core network device (e.g., a first S-CSCF) or a first access network device. The method includes:
[0041] Sending the first INVITE signaling from the second terminal to the first terminal;
[0042] receiving a first 200 OK signaling from the first terminal, where the first 200 OK signaling is sent by the first terminal in response to the first INVITE signaling after detecting an answering action of the user;
[0043] In a case where the first ACK signaling is not sent to the first terminal, a second INVITE signaling is sent to the first terminal, where the second INVITE signaling includes the first identifier, and the first INVITE signaling does not include the first identifier;
[0044] A second 200 OK signaling is received from the first terminal, where the second 200 OK signaling is sent by the first terminal in response to the second INVITE signaling.
[0045] The above technical solution is executed by the first network-side device or a chip in the first network-side device. Based on the above solution, if the first network-side device does not send the first ACK signaling to the first terminal or fails to send the first ACK signaling, it sends a second INVITE signaling to the first terminal and receives a second 200 OK signaling from the first terminal, allowing subsequent signaling interaction steps to be executed normally, thereby forwarding voice data between the first terminal and the second terminal, helping to increase the probability of call success and enhance the user's call experience.
[0046] In a third aspect, a method for call connection is provided, the method being applied to a color ring back tone server. The method comprises:
[0047] receiving a first INVITE signaling from a second terminal;
[0048] Reserving ringback tone resources and sending the first INVITE signaling to the first terminal;
[0049] After receiving the 180Ringing signaling from the first terminal, sending the 180Ringing signaling carrying the ring back tone indication to the second terminal;
[0050] After receiving the PRACK signaling from the second terminal, the ring back tone starts to play;
[0051] receiving a first 200 OK signaling from the first terminal, where the first 200 OK signaling is in response to the first INVITE signaling;
[0052] Stop playing the ringback tone and send the first ACK signaling (which may not be sent successfully);
[0053] Send the second INVITE signaling;
[0054] A second 200 OK signaling is received from the first terminal, where the second 200 OK signaling responds to the second INVITE signaling.
[0055] The above technical solution is implemented by a CRBT server or a chip within the CRBT server. Based on the above solution, if the CRBT server fails to send the first ACK signaling or fails to send the first ACK signaling, it sends a second INVITE signaling and receives a second 200 OK signaling from the first terminal. This allows subsequent signaling interaction steps to proceed normally, thereby forwarding voice data between the first and second terminals, helping to increase the probability of call success and enhance the user's call experience.
[0056] In a fourth aspect, a method for call connection is provided, the method being applied to a second terminal. The method comprises:
[0057] When initiating a first call to the first terminal, sending a first INVITE signaling to the first terminal;
[0058] receiving a first 200 OK signaling from the first terminal, where the first 200 OK signaling is in response to the first INVITE signaling;
[0059] Send a second ACK signaling to the first terminal.
[0060] The above technical solution is executed by the second terminal or the chip in the second terminal. Based on the above solution, when the second terminal initiates a call, it sends a first INVITE signaling to the first terminal. After receiving the first 200 OK signaling from the first terminal, it replies to the first terminal with a second ACK signaling, allowing subsequent signaling interaction steps to be executed normally, thereby enabling the transmission of voice data between the first and second terminals, helping to increase the probability of call success and enhance the user's calling experience.
[0061] It can be understood that the signaling involved above is part of the signaling between the first terminal and the second terminal, and the embodiments of the present application are not limited to this.
[0062] Optionally, after sending the second ACK signaling to the first terminal, the method further includes:
[0063] Send voice data to the first terminal, or receive voice data from the first terminal.
[0064] Optionally, the method further includes:
[0065] Sending UPDATE signaling to the first terminal;
[0066] receiving a 200 OK (UPDATE) signaling from the first terminal;
[0067] Receive 180Ringing signaling from the first terminal, where the 180Ringing signaling includes a color ring back tone indication.
[0068] Optionally, when the CRBT server starts playing the CRBT, the second terminal starts playing the CRBT, and the user of the second terminal can hear the played CRBT;
[0069] When the CRBT server stops playing the CRBT, the second terminal stops playing the CRBT. At this time, the user of the second terminal cannot hear the played CRBT.
[0070] In a fifth aspect, an electronic device is provided, comprising a unit for executing the method of any one of the implementations of the first aspect. The electronic device may be a first terminal or a chip within the first terminal. The electronic device includes an input unit, a display unit, and a processing unit.
[0071] When the electronic device is a first terminal, the processing unit may be a processor, the input unit may be a communication interface, and the display unit may be a graphics processing module and a screen; the terminal may also include a memory for storing computer program code, and when the processor executes the computer program code stored in the memory, the terminal executes the method in any one of the implementation methods of the first aspect.
[0072] When the electronic device is a chip in the first terminal, the processing unit may be a logic processing unit inside the chip, the input unit may be an input interface, pin or circuit, etc., and the display unit may be a graphics processing unit inside the chip; the chip may also include a memory, which may be a memory inside the chip (for example, a register, a cache, etc.) or a memory located outside the chip (for example, a read-only memory, a random access memory, etc.); the memory is used to store computer program code, and when the processor executes the computer program code stored in the memory, the chip executes any one of the methods of the first aspect.
[0073] In a sixth aspect, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores a computer program code. When the computer program code is executed by a device for call connection, the device executes the method in any one of the implementation modes in the first aspect.
[0074] In a seventh aspect, a computer program product is provided, comprising: a computer program code, which, when executed by a device for call connection, causes the device to execute any one of the methods in the first aspect.
[0075] In an eighth aspect, embodiments of the present application provide a chip system comprising one or more processors configured to retrieve and execute instructions stored in a memory, thereby executing the method of any of the above aspects or any possible implementations of each aspect. The chip system may be composed of a chip or may include a chip and other discrete devices.
[0076] Among them, the chip system may include an input circuit or interface for sending information or data, and an output circuit or interface for receiving information or data.
[0077] In a ninth aspect, a communication system is provided, comprising one or more of the aforementioned first terminal, second terminal, color ring back tone server (e.g., CAT-AS), first core network device (e.g., first S-CSCF), and second core network device (e.g., second S-CSCF). Optionally, the communication system may further include other devices that communicate with the aforementioned devices (e.g., calling access network devices and called access network devices). BRIEF DESCRIPTION OF THE DRAWINGS
[0078] FIG1 is a diagram illustrating an example scenario of a communication system using an embodiment of the present application;
[0079] FIG2 is an example diagram of signaling interaction for a voice call when the first terminal activates the color ring back tone service;
[0080] FIG3 is a flow chart of signaling interaction when the first terminal does not receive the first ACK signaling;
[0081] FIG4 is a diagram illustrating an example of signaling interaction when the first terminal does not receive the first ACK signaling in an embodiment of the present application;
[0082] FIG5 is a flowchart illustrating a method executed by a first terminal in an embodiment of the present application;
[0083] FIG6 is an exemplary block diagram of an apparatus for call connection according to an embodiment of the present application;
[0084] FIG7 is a schematic structural diagram of an apparatus for call connection according to an embodiment of the present application;
[0085] FIG8 is a structural diagram of an electronic device according to an embodiment of the present application;
[0086] FIG9 is a schematic block diagram of the software structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0087] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
[0088] In the embodiments of the present application, unless otherwise specified, “a plurality of” may mean two or more.
[0089] The technical solutions of the embodiments of the present application can be applied to various communication systems, such as: long term evolution (LTE) system, universal mobile telecommunication system (UMTS), world-wide interoperability for microwave access (WiMAX) communication system, fifth generation (5G) system or new radio (NR) and future mobile communication systems, vehicle-to-X (V2X), where V2X may include vehicle-to-network (V2N), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), vehicle-to-pedestrian (V2P), etc., long term evolution technology for vehicle communication (LTE-V), Internet of Vehicles, machine type communication (MTC), Internet of Things (IoT), long term evolution technology for machine-to-machine communication (LTE-M), machine-to-machine (M2M), etc.
[0090] Figure 1 is a diagram illustrating a scenario in which a communication system employing an embodiment of the present application is used. As shown in Figure 1 , the communication system includes a second terminal, a first terminal, a first network-side device, a second network-side device, and a ringback tone server. A call connection can be established between the second terminal and the first terminal via a wireless access network.
[0091] A CRBT server provides resources or information related to CRBT services. Terminals can customize CRBT services through the server, allowing them to play customized CRBTs when a call is received. This allows the calling user to listen to the CRBT while waiting for the call to be connected. For example, a CRBT server can include a customized alerting tones (CAT) application server (AS).
[0092] Optionally, the first terminal may customize the CRBT service. For example, if the user of the first terminal customizes the CRBT service, when the second terminal calls the first terminal, while waiting for the call to be connected, the CRBT server may search the database for the CRBT customized for the number corresponding to the first terminal for playback.
[0093] Exemplarily, the first terminal is a called terminal, and the second terminal is a calling terminal.
[0094] It should be understood that Figure 1 is only a schematic diagram of the architecture of the communication system, and the communication system may also include other network devices, such as wireless relay devices and wireless backhaul devices, which are not shown in Figure 1. The embodiments of the present application do not limit the number of core network devices, wireless access network devices, and terminals included in the mobile communication system.
[0095] Optionally, the network side device shown in FIG1 (whether the first network side device or the second network side device) may include a core network device and a radio access network device.
[0096] Whether on the calling or called side, terminals can connect to access network equipment wirelessly; wireless access network equipment connects to core network equipment wirelessly or wired. Core network equipment and wireless access network equipment can be independent, distinct physical devices, or they can integrate the core network equipment's functions with the logical functions of wireless access network equipment on the same physical device. Alternatively, a single physical device can combine some core network equipment functions with some wireless access network equipment functions. Terminal equipment can be fixed or mobile.
[0097] It is understood that the first network side device and the second network side device shown in Figure 1 are merely exemplary descriptions, and the embodiments of the present application are not limited thereto. For example, the first network side device includes a first core network device and a first access network device, and the second network device includes a second core network device and a second access network device.
[0098] The terminal in the embodiment of the present application may also be referred to as: terminal equipment, user equipment (UE), mobile station (MS), mobile terminal (MT), access terminal, user unit, user station, mobile station, mobile station, remote station, remote terminal, mobile device, user terminal, terminal, wireless communication equipment, user agent or user device, etc.
[0099] A terminal can be a device that provides voice / data connectivity to a user, such as a handheld device or vehicle-mounted device with wireless connection function. At present, some examples of terminals include: mobile phones, tablet computers, laptop computers, PDAs, mobile internet devices (MIDs), wearable devices, virtual reality (VR) devices, augmented reality (AR) devices, wireless terminals in industrial control, wireless terminals equipped with cloud games, wireless terminals in self-driving cars, wireless terminals in remote medical surgery, wireless terminals in smart grids, wireless terminals in transportation safety, wireless terminals in smart cities, wireless terminals in smart homes, cellular phones, cordless phones, session initiation protocol (SIP) phones, wireless local loop (WLL) stations, personal digital assistants (PDAs), handheld devices with wireless communication capabilities, computing devices or other processing devices connected to wireless modems, vehicle-mounted devices, wearable devices, terminal devices in 5G networks or future evolved public land mobile communication networks (PLMNs). The terminal equipment in the network (PLMN), etc., is not limited to this in the embodiments of the present application.
[0100] As an example and not a limitation, in the embodiment of the present application, the terminal may also be a wearable device. Wearable devices may also be called wearable smart devices, which are a general term for wearable devices that use wearable technology to intelligently design and develop wearable devices for daily wear, such as glasses, gloves, watches, clothing and shoes. A wearable device is a portable device that is worn directly on the body or integrated into the user's clothes or accessories. Wearable devices are not only hardware devices, but also achieve powerful functions through software support, data interaction, and cloud interaction. Broadly speaking, wearable smart devices include full-featured, large-sized, and independent of smartphones to achieve complete or partial functions, such as smart watches or smart glasses, as well as those that only focus on a certain type of application function and need to be used in conjunction with other devices such as smartphones, such as various smart bracelets and smart jewelry for vital sign monitoring.
[0101] In addition, in the embodiments of the present application, the terminal may also be a terminal device in the Internet of Things (IoT) system. The IoT is an important component of the future development of information technology. Its main technical feature is to connect objects to the network through communication technology, thereby realizing an intelligent network that interconnects people and machines and things. The embodiments of the present application do not limit the specific technology and specific device form used by the terminal.
[0102] The network referred to in the embodiments of the present application is a general term for the core network and access network equipment responsible for processing voice services, including networks such as the Internet Protocol (IP) Multimedia Subsystem (IMS) network. The IMS network includes the IMS domain core network and the Evolved Packet Core (EPC). The IMS domain core network includes: a serving-call session control function (S-CSCF), an interrogating-call session control function (I-CSCF), a proxy-call session control function (P-CSCF), a session border controller (SBC), and several dedicated servers, such as a multimedia telephony application server (MMTel AS). Among them, the I-CSCF can be combined with the S-CSCF and can be referred to as "I / S-CSCF". The SBC and P-CSCF can be combined and can be referred to as "SBC / P-CSCF". The EPC may include a packet data network gateway (PGW), a serving gateway (SGW), and a mobile management entity (MME). The PGW and SGW may be combined and referred to as "SGW / PGW".
[0103] The above network elements are all corresponding network elements in the IMS network in the prior art and will not be described in detail here, but only briefly explained. For example: The S-CSCF can be used for user registration, authentication control, session routing, service triggering control, and maintenance of session state information. The I-CSCF can be used to assign and query the S-CSCF for user registration. The P-CSCF can be used for signaling and message proxying. The SBC can provide secure access and media processing. The MMTel AS provides basic multimedia telephony services and supplementary services. The MME is the core equipment of the EPC network. The SGW can be used to connect the IMS core network to the wireless network, and the PGW can be used to connect the IMS core network to the IP network.
[0104] A radio access network (RAN) device is an access device that a terminal uses to access the mobile communication system wirelessly. It can be a base station NodeB, an evolved NodeB (eNB), a next-generation NodeB (gNB) in a 5G mobile communication system, a transmission point, a base station in a future mobile communication system, an access node in a Wi-Fi system, one or more antenna panels of a base station in a 5G system, or a network node that constitutes a gNB or a transmission point, such as a baseband unit (BBU) or a distributed unit (DU). The embodiments of the present application do not limit the specific technology and specific device form adopted by the radio access network device. In some deployments, the gNB may include a centralized unit (CU) and a DU, each of which implements part of the gNB's functions. For example, the CU is responsible for processing non-real-time protocols and services and implementing the functions of the radio resource control (RRC) and packet data convergence protocol (PDCP) layers. The DU is responsible for processing physical layer protocols and real-time services, implementing the functions of the radio link control (RLC) layer, the media access control (MAC) layer, and the physical (PHY) layer. The gNB may also include an active antenna unit (AAU). The AAU implements some physical layer processing functions, RF processing, and active antenna-related functions. Since RRC layer information will eventually become PHY layer information, or be converted from PHY layer information, in this architecture, high-layer signaling, such as RRC layer signaling, can also be considered to be sent by the DU, or by the DU+AAU. It is understood that the network device can be a device including one or more of a CU node, a DU node, and an AAU node. In addition, the CU can serve as a network device in the access network or as a network device in the core network (CN), and this application does not limit this.
[0105] Wireless access network equipment and terminals can be deployed on land, including indoors or outdoors, handheld or vehicle-mounted; can also be deployed on water; and can also be deployed in the air on aircraft, balloons, and satellites. The embodiments of this application do not limit the application scenarios of wireless access network equipment and terminals.
[0106] The wireless access network device and the terminal, as well as the terminal and the terminal, can communicate through the licensed spectrum (licensed spectrum), or can communicate through the unlicensed spectrum (unlicensed spectrum), or can communicate through the licensed spectrum and the unlicensed spectrum at the same time. The wireless access network device and the terminal, as well as the terminal and the terminal, can communicate through the spectrum below 6 gigahertz (GHz), or can communicate through the spectrum above 6G, or can communicate using the spectrum below 6G and the spectrum above 6G at the same time. The embodiments of the present application do not limit the spectrum resources used between the wireless access network device and the terminal.
[0107] In an embodiment of the present application, a terminal or network device includes a hardware layer, an operating system layer running on the hardware layer, and an application layer running on the operating system layer. The hardware layer includes hardware such as a central processing unit (CPU), a memory management unit (MMU), and memory (also called main memory). The operating system can be any one or more computer operating systems that implement business processing through processes, such as a Linux operating system, a Unix operating system, an Android operating system, an iOS operating system, or a Windows operating system. The application layer includes applications such as browsers, address books, word processing software, and instant messaging software. In addition, the embodiment of the present application does not specifically limit the specific structure of the execution subject of the method provided in the embodiment of the present application. As long as it is possible to communicate according to the method provided in the embodiment of the present application by running a program that records the code of the method provided in the embodiment of the present application, for example, the execution subject of the method provided in the embodiment of the present application can be a terminal device or a network device, or a functional module in a terminal device or a network device that can call a program and execute the program.
[0108] In addition, various aspects or features of the present application can be implemented as methods, devices or products using standard programming and / or engineering techniques. The term "product" as used in this application covers computer programs that can be accessed from any computer-readable device, carrier or medium. For example, computer-readable media may include, but are not limited to: magnetic storage devices (e.g., hard disks, floppy disks or magnetic tapes, etc.), optical disks (e.g., compact discs (CDs), digital versatile discs (DVDs), etc.), smart cards and flash memory devices (e.g., erasable programmable read-only memories (EPROMs), cards, sticks or key drives, etc.). In addition, the various storage media described herein may represent one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" may include, but is not limited to, wireless channels and various other media capable of storing, containing and / or carrying instructions and / or data.
[0109] It should be noted that the explanations of signaling and terminology in this application can also refer to the explanations in the 3rd Generation Partnership Project (3GPP) standard protocols, such as 24.229, RFC3261 and RFC3262. The uppercase and lowercase letters and spaces in the signaling in this application are for example only.
[0110] For example, the interaction process of the embodiment of the present application can be applied to the Session Initiation Protocol (SIP), which is a signaling protocol used to control the initiation, modification, and termination of interactive multimedia sessions.
[0111] The following is a brief introduction to some messages in the SIP protocol.
[0112] The session invitation message (INVITE) is used to initiate a session request. For example, the session invitation message can be initiated by the calling terminal.
[0113] An UPDATE message is used to initiate an update request or update session parameters. It is typically used for media updates. For example, an UPDATE message can be initiated by the calling terminal.
[0114] The provisional response message is a provisional response acknowledgement (PRACK), which is used to acknowledge a provisional reliability response and confirm receipt of a 1XX provisional response. For example, the PRACK message is typically used to acknowledge a 183 message during session establishment, allowing for a second session description protocol (SDP) offer to negotiate media resources.
[0115] An ACK message indicates receipt of the final response to an INVITE request. After receiving a 200 OK response from the called party, the caller sends an ACK message to the called party to confirm receipt, completing the three-way handshake consisting of INVITE, 200 OK, and ACK. This ACK message is used only in conjunction with an INVITE message.
[0116] The BYE request ends the current session. Upon receiving a BYE request, the current dialog session is terminated. A BYE request can only be sent within an established dialog (established via an INVITE request). The caller can terminate a session by sending a BYE request in both an Early Dialog and a Confirmed Dialog. The callee can terminate a session only in a Confirmed Dialog.
[0117] SIP response messages are used to respond to request messages, indicating the success or failure of a call. Different types of response messages are distinguished by status codes. Status codes typically consist of three integers. The first digit of the status code defines the response type, while the remaining two digits provide further details about the response.
[0118] SIP protocol response messages are classified as follows:
[0119] 1xx: Information response (call progress response), indicating that the request message has been received and is being processed.
[0120] For example, the 100Trying message is a temporary response message, indicating that the INVITE message has been received and is being processed. Another example is the 180Ringing message, which is a ringing message, indicating that the INVITE message has reached the called party and the called party has started ringing.
[0121] 2xx: Successful response, indicating that the request has been successfully accepted or processed. For example, the 200 OK (INVITE) message is used to indicate that the INVITE request has been successfully accepted or processed.
[0122] 3xx: Redirection response, indicating that further action is required to complete the request.
[0123] 4xx: Client error, indicating that the request message contains a syntax error or the SIP server cannot complete the processing of the request message. For example, the 491 (Request Pending) message.
[0124] It should be understood that the above description of the messages in the SIP protocol is merely an example description, and the embodiments of the present application are not limited thereto.
[0125] Refer to Figure 2, which illustrates an example of signaling interaction for a voice call when the first terminal activates the color ring back tone service. It should be understood that the various messages involved in the steps shown in Figure 2 may be existing messages in the SIP protocol or newly defined messages, without specific limitation. It should also be understood that the process shown in Figure 2 can be applied to the scenario shown in Figure 1. For example, the S-CSCF shown in Figure 2 may be an example of a core network device in Figure 1; the CAT-AS shown in Figure 2 may be an example of a color ring back tone server in Figure 1; the second terminal in Figure 2 may be the second terminal in Figure 1; and the first terminal in Figure 2 may be the first terminal in Figure 1.
[0126] Optionally, in some embodiments, during a call between the second terminal and the first terminal, the user of the second terminal can hear the ringtone of the first terminal; after the user of the first terminal clicks to answer, the ringtone stops playing; a session is established normally between the first terminal and the second terminal, and the user of the second terminal can hear the voice of the first terminal.
[0127] Step 201: The second terminal sends a first INVITE signaling to the first terminal.
[0128] It should be noted that, in conjunction with the scenario shown in FIG1 , when the user of the second terminal dials the SIM card number of the user of the first terminal, the second terminal initiates a first call to the first terminal.
[0129] For example, the SIM card installed in the first terminal includes a first SIM card, and the SIM card installed in the second terminal includes a second SIM card. When a user of the second terminal dials the number of the first SIM card of the first terminal using the second SIM card, the second terminal initiates a first call to the first terminal.
[0130] Exemplarily, when the user of the second terminal dials the number of the user of the first terminal, the second terminal sends a first INVITE signaling to the first terminal.
[0131] Optionally, as shown in Figure 2, step 201 includes: the second terminal sends a first INVITE signaling to the second S-CSCF; after receiving the first INVITE signaling, the second S-CSCF sends the first INVITE signaling received from the second terminal to the CAT-AS; after receiving the first INVITE signaling, the CAT-AS can reserve color ringback tone resources (CAT resource) and send the received first INVITE signaling to the first S-CSCF; the first S-CSCF sends the first INVITE signaling to the first terminal.
[0132] Reserving ringback tone resources can be understood as preparation for subsequent ringback tone playback, for example, reserving memory space for instance creation.
[0133] It is understandable that the signaling interaction between the terminal and the S-CSCF needs to go through the access device. For the sake of simplicity, the access network device is not shown in Figure 2, but this does not constitute a limitation to the embodiments of the present application.
[0134] For example, in step 201 in Figure 2, when the second terminal sends the first INVITE signaling to the second S-CSCF, it needs to be forwarded through the second access network device. Specifically, the second terminal sends the first INVITE signaling to the second access network device; after receiving the first INVITE signaling sent by the second terminal, the second access network device sends the first INVITE signaling sent by the second terminal to the second S-CSCF.
[0135] For example, in step 201 in Figure 2, when the first S-CSCF sends the first INVITE signaling to the first terminal, it needs to be forwarded through the first access network device. Specifically, the first S-CSCF sends the first INVITE signaling to the first access network device; after receiving the first INVITE signaling sent by the first S-CSCF, the first access network device sends the first INVITE signaling to the first terminal.
[0136] It should be understood that the example here is only the second terminal sending the first INVITE signaling to the first terminal in step 201. Other signaling exchanged between the second terminal and the first terminal in this application (for example, the 183 Session Progress signaling in step 202 below, the PRACK signaling in step 203, the 200 OK (PRACK) signaling in step 204, the UPDATE signaling in step 205, the 200 OK (UPDATE) signaling in step 206, etc.) can also be transmitted in the same manner as step 201, and will not be elaborated later.
[0137] It should also be understood that if the first terminal does not activate the color ring back tone service, the CAT-AS process will not be involved in Figure 2. For example, the forwarding of the first INVITE signaling will not pass through the CAT-AS.
[0138] The first INVITE signaling may indicate that the second terminal initiates a call (eg, a first call) to the first terminal.
[0139] It is understood that the embodiment of the present application does not specifically limit the timing of the second terminal sending the first INVITE signaling. For example, the second terminal may send the first INVITE signaling to the first terminal when the calling user initiates a voice call.
[0140] Optionally, the first INVITE signaling includes one or more of the following: sequence number (Cseq), Message ID, Response Code, and Call ID.
[0141] For example, the Cseq in the first INVITE signaling is: Cseq: 1 INVITE signaling, which means that the sequence number of the first INVITE signaling is 1.
[0142] Step 201 describes the network element nodes that the second terminal passes through when sending the first INVITE signaling to the first terminal. Generally speaking, when a network element node receives an INVITE signaling, it will reply with a 100 Trying signaling to its previous network element node (or the network element node that sent the INVITE signaling to it) to notify the previous network element node that the INVITE signaling has been received. For example, after receiving the first INVITE signaling from the second terminal, the S-CSCF will immediately reply with a 100 Trying signaling to the second terminal; after receiving the first INVITE signaling from the S-CSCF, the CAT-AS will immediately reply with a 100 Trying signaling to the S-CSCF.
[0143] Step 202: The first terminal sends a 183 Session Progress signaling to the second terminal.
[0144] 183 Session Progress signaling may refer to session progress information, including the first handshake information in a three-way handshake (including the first handshake, the second handshake, and the third handshake) between a first terminal and a second terminal. 183 Session Progress signaling may indicate that the first terminal and the second terminal are negotiating a voice codec.
[0145] For example, the 183 Session Progress signaling may be used to establish early media services, such as user-customized color ring back tone or ring tone.
[0146] Optionally, after the first terminal sends a 100 Trying signaling to the second terminal, the first terminal sends a 183 Session Progress signaling to the first S-CSCF; after receiving the 183 Session Progress signaling, the first S-CSCF sends the 183 Session Progress signaling received from the first terminal to the CAT-AS; after receiving the 183 Session Progress signaling, the CAT-AS may send the received 183 Session Progress signaling to the second S-CSCF; the second S-CSCF sends the 183 Session Progress signaling to the second terminal.
[0147] Optionally, the 183 Session Progress signaling includes one or more of the following: sequence number (Cseq), Message ID, Response Code, and Call ID.
[0148] For example, the Cseq in the 183 Session Progress signaling is: Cseq: 1 INVITE signaling, which means that the 183 Session Progress signaling corresponds to the INVITE signaling with a sequence number of 1, that is, the first INVITE signaling in step 201.
[0149] It should be noted that in step 201, the Call ID in the first INVITE signaling is different from the Call ID in the 183 Session Progress signaling in step 202. The reason is that when the second terminal initiates the first INVITE signaling in step 201, the session has not yet been established. Specifically, in step 201, from the perspective of the first terminal, the Call ID of the first INVITE signaling received by the first terminal is one value, while in step 202, when the first terminal sends the 183 Session Progress signaling to the second terminal, it indicates that it is being processed. At this time, the Call ID included in the 183 Session Progress signaling is another value (not used for the Call ID in the first INVITE signaling). In the signaling interaction process after step 202, the Call ID included in the signaling is consistent with the value of the Call ID included in the 183 Session Progress signaling. In other words, the Call ID in the first INVITE signaling is not a valid Call ID, and the Call ID included in the 183 Session Progress signaling is a valid Call ID.
[0150] Step 203: The second terminal sends a PRACK signaling to the first terminal.
[0151] The PRACK signaling may include the second handshake information in the three-way handshake. The PRACK signaling may indicate that the second terminal has received the 183 Session Progress signaling sent by the first terminal.
[0152] The process of the second terminal sending the PRACK signaling to the first terminal may refer to the process of the second terminal sending the first INVITE signaling to the first terminal in step 201. For the sake of brevity, the detailed sending process of the PRACK signaling is not repeated here.
[0153] Optionally, the PRACK signaling includes one or more of the following: CSeq, Message ID, Response Code, and Call ID.
[0154] The signaling type or signaling range targeted by the CSeq numbering in the embodiments of the present application is not specifically limited. Within the same session, CSeq numbers may be assigned sequentially. For example, the CSeq of the first INVITE signaling in step 201 is 1, the CSeq of the PRACK signaling in step 203 is 2, the CSeq of the UPDATE signaling in step 205 is 3, and so on.
[0155] Exemplarily, the Cseq in the PRACK signaling is: Cseq 2 PRACK; this illustrates that 1 is added to the Cseq 1 of the first INVITE signaling in step 201, so that the Cseq of the PRACK is 2.
[0156] For example, the PRACK signaling has Message ID = IMS_SIP_PRACK; Response Code = INFORMAL_RESPONSE (0).
[0157] The Call ID in the PRACK signaling is consistent with the Call ID value contained in the 183 Session Progress signaling.
[0158] Step 204: The first terminal sends a 200 OK (PRACK) signaling to the second terminal.
[0159] In response to the PRACK signaling sent by the second terminal, the first terminal sends a 200 OK (PRACK) signaling to the second terminal. It should be noted that the 200 OK (PRACK) is the signaling that the first terminal replies to the PRACK signaling to the second terminal.
[0160] In the embodiments of this application, for ease of description and to distinguish between different 200 OK signaling messages, the corresponding reply signaling messages are indicated in parentheses after each 200 OK signaling message to distinguish them. The 200 OK signaling message used to reply to the PRACK signaling message is referred to herein as the 200 OK (PRACK) signaling message, but this notation is for example only. This explanation can also be used for other 200 OK signaling messages in double parentheses in this application.
[0161] 200 OK (PRACK) signaling may indicate that PRACK signaling has been received.
[0162] The process of the first terminal sending the 200 OK (PRACK) signaling to the second terminal can refer to the process of the first terminal sending the 183 Session Progress signaling to the second terminal in step 202. For the sake of brevity, the detailed process of sending the 200 OK (PRACK) is not repeated here.
[0163] Step 203 describes the numbering principle for CSeq numbers. Accordingly, when responding to a signaling message, the first terminal may also include the CSeq number of the signaling message being responded to in the signaling message. For example, the CSeq number included in step 200 OK (PRACK) may be: CSeq 2 PRACK, indicating that the 200 OK (PRACK) response is to PRACK number 2.
[0164] Step 205: The second terminal sends an UPDATE signaling to the first terminal.
[0165] The UPDATE signaling in step 205 may indicate that the second terminal has established a voice bearer, ie, the voice bearer is established. Those skilled in the art will appreciate that the access network device participates in the process of establishing the voice bearer.
[0166] Optionally, after the second terminal receives the 200 OK (PRACK) signaling in step 204, the second terminal checks whether it has already established the first voice bearer, that is, whether the first voice bearer has been established or the first voice bearer has been established. After the second terminal has received the voice-dedicated bearer establishment instruction issued by the second radio access network device and has completed the establishment of the first voice bearer according to the voice-dedicated bearer establishment instruction, it sends an UPDATE signaling to the first terminal, where the UPDATE signaling includes information indicating that the second terminal has established the first voice bearer.
[0167] After step 205, if the first terminal has not yet completed the establishment of the second voice bearer, the first terminal responds to the UPDATE signaling and returns a signaling to the second terminal indicating that the second voice bearer has not been established. In some embodiments, this information indicating that the second voice bearer has not been established is carried in a 200 OK (UPDATE) signaling (in the subsequent step 206) and sent to the second terminal. After step 205, if the first terminal has completed the establishment of the second voice bearer, the 200 OK (UPDATE) signaling in the subsequent step 206 may carry information indicating that the second voice bearer has been established. The process of the second terminal sending the UPDATE signaling to the first terminal can refer to the process of the second terminal sending the first INVITE signaling to the first terminal in step 201. For the sake of brevity, the detailed process of sending the UPDATE signaling is not repeated here.
[0168] Step 206: The first terminal sends a 200 OK (UPDATE) signaling to the second terminal.
[0169] The 200 OK (UPDATE) signaling may indicate that the UPDATE signaling has been received. For example, in step 206, the 200 OK (UPDATE) signaling may indicate that the first terminal has received the UPDATE signaling sent from the second terminal.
[0170] It should be noted that the signaling sent here is actually a 200 OK signaling in response to the UPDATE signaling. In this embodiment of the present application, for ease of presentation and to distinguish between different 200 OK signaling, the signaling being responded to is indicated in parentheses after the 200 OK signaling used to respond to different signalings. The 200 OK signaling in response to the UPDATE signaling is referred to as the 200 OK (UPDATE) signaling here, but this notation is for example only. This explanation can also be used for other 200 OK (UPDATE) signaling in this application.
[0171] Optionally, after the first terminal receives the UPDATE signaling sent by the second terminal, the first terminal sends a 200 OK (UPDATE) signaling to the first S-CSCF; after receiving the 200 OK (UPDATE) signaling, the first S-CSCF sends the 200 OK (UPDATE) signaling received from the first terminal to the CAT-AS; after receiving the 200 OK (UPDATE) signaling, the CAT-AS may send the received 200 OK (UPDATE) signaling to the second S-CSCF; the second S-CSCF sends the 200 OK (UPDATE) signaling to the second terminal.
[0172] The UPDATE signaling involved in step 205 and step 206 is the process of establishing a voice bearer between the second terminal and the first terminal. The UPDATE signaling may also have other functions.
[0173] Optionally, before step 207, the CAT-AS and the second terminal may negotiate to prepare for subsequent CRBT playback (not shown). For example, the CAT-AS may send an UPDATE signaling to the second terminal, and the second terminal may respond with a 200 OK (UPDATE) signaling to the CAT-AS. This signaling exchange indicates that the second terminal has negotiated with the CAT-AS to prepare for CRBT playback (e.g., establish a channel). Subsequently, upon receiving the 180 Ringing signaling sent by the first terminal, the second terminal may begin playing the CRBT.
[0174] Step 207: The first terminal sends 180 Ringing signaling to the second terminal.
[0175] The 180 Ringing signaling may be ringing information. After the first terminal has established a voice bearer, the 180 Ringing signaling is sent to the second terminal.
[0176] The first terminal may enter the ringing state before sending the 180Ringing signaling. If the voice bearer between the first terminal and the network side has been established, the first terminal will enter the ringing state.
[0177] Optionally, after the first terminal sends the 180 Ringing signaling, the call status of the first terminal is updated to a ringing state, and the first terminal begins ringing. The ringing state refers to the state in which the called party's terminal device rings to alert the user of the incoming call when there is an incoming call but the user has not yet answered the call. The ringtones used when the ringing begins include: vibration, ringback tone, beep, personalized music, songs, recordings, videos, etc., which are not limited here.
[0178] Optionally, step 207 includes: the first terminal sends a 180 Ringing signaling to the first S-CSCF. After the first S-CSCF receives the 180 Ringing signaling, the first S-CSCF sends a 180 Ringing signaling to the CAT-AS. The CAT-AS replies to the 180 Ringing signaling to the second S-CSCF and carries SDP_A_CAT in the 180 Ringing signaling. SDP_A_CAT is an SDP parameter related to the ring back tone, which is used to prepare for the subsequent playing of the ring back tone customized by the first terminal to the second terminal; in other words, SDP_A_CAT is used to notify the second terminal to prepare for playing the ring back tone, which will be played later. After receiving the 180 Ringing signaling carrying SDP_A_CAT sent by the CAT-AS, the second S-CSCF sends a 180 Ringing signaling carrying SDP_A_CAT to the second terminal. After the second terminal receives the 180 Ringing signaling message carrying the SDP_A_CAT, the second terminal's call status is updated to a ringback tone state, and the second terminal begins playing the ringback tone. The ringback tone state refers to a state in which, when a call is successful but the called party has not answered the call, the calling terminal plays a ringback tone to remind the user that the called party has not answered the call. Generally speaking, ringback tones include vibration, ringback tones, beeps, and personalized music, songs, recordings, and videos. In this embodiment of the present application, the ringback tone played by the second terminal includes a ringback tones customized by the first terminal.
[0179] For unified explanation, for the signaling of letters or words in the embodiments of this application, this application does not specifically limit the uppercase and lowercase letters of the English letters corresponding to the signaling. It can be all uppercase, all lowercase, or a combination of uppercase and lowercase letters (for example, the first letter is uppercase and the other letters are lowercase). For example, 180 Ringing signaling can also be written as 180ringing signaling, 180 RINGING signaling, etc.
[0180] Step 208: The second terminal sends a PRACK signaling to the CAT-AS.
[0181] The PRACK signaling indicates that the 180 Ringing signaling has been received. For example, in step 208, the PRACK signaling indicates that the second terminal has received the 180 Ringing signaling from the first terminal.
[0182] Illustratively, PRACK signaling is used to indicate consent to play the ringback tone.
[0183] Optionally, step 208 includes: the second terminal sends PRACK signaling to the second access network device (not shown in FIG2 ); the second access network device sends PRACK signaling to the second S-CSCF; and the second S-CSCF sends PRACK signaling to the CAT-AS.
[0184] Optionally, in response to receiving the PRACK signaling, the CAT-AS starts playing the ring back tone (Start CAT media) after receiving the PRACK signaling. After the CAT-AS starts playing the ring back tone, the played ring back tone data will be transmitted to the second terminal through the network side, that is, the user of the second terminal can hear the ring back tone played by the CAT-AS.
[0185] It should be understood that the trigger condition for the CAT-AS to start playing the ringback tone is shown as step 208, but this is only an example description and the embodiments of the present application are not limited to this. In fact, the CAT-AS can also perform early negotiation or negotiate preparations for playing the ringback tone with the second terminal through other signaling (such as UPDATE signaling).
[0186] Step 209: The CAT-AS sends a 200 OK (PRACK) signaling to the second terminal.
[0187] The 200 OK (PRACK) signaling is used to indicate that the PRACK signaling has been received. Optionally, step 209 includes: the CAT-AS sends a 200 OK (PRACK) signaling to the second S-CSCF; after receiving the 200 OK (PRACK) signaling sent by the CAT-AS, the second S-CSCF sends a 200 OK (PRACK) signaling to the second terminal.
[0188] The first terminal receives the user's answering action. The answering action can be encapsulated as an answering event and transmitted to the system of the first terminal. The answering event refers to an event triggered when the user answers a call from the second terminal through some operations. The embodiment of the present application does not limit the specific way for the user to answer the call, including but not limited to: clicking the answer button on the screen, sliding the screen, pressing other peripherals (such as headphones) buttons, long pressing the fingerprint sensor, controlling the answering function through the voice control function, etc.
[0189] In some embodiments, after the first terminal starts ringing, the user of the first terminal clicks Answer on the first terminal to answer the call.
[0190] Step 210: The first terminal sends a first 200 OK (INVITE) signaling to the CAT-AS.
[0191] Optionally, after the user answers the first call, in response to the INVITE signaling, the first terminal sends a first 200 OK (INVITE) signaling to the first S-CSCF.
[0192] It is understood that for unified explanation here, 200 OK (INVITE) can also be written as 200 OK for INVITE, and this embodiment of the present application does not specifically limit this.
[0193] The first 200 OK (INVITE) signaling is used to indicate that the first terminal responds to the first INVITE signaling, or in other words, the first terminal replies 200 OK to the first INVITE signaling.
[0194] Optionally, after the user of the first terminal clicks to answer the call on the first terminal, the first terminal sends a first 200 OK (INVITE) signaling to the first S-CSCF.
[0195] It should be noted that during the signaling interaction between the second terminal and the first terminal, there may be multiple INVITE signaling and 200 OK (INVITE) signaling. For different INVITE signaling, the 200 OK (INVITE) replied by the device can be distinguished by different sequence numbers or sequence identifiers.
[0196] Optionally, in some embodiments, the 200 OK (INVITE) in step 210 includes CSeq: 1INVITE, indicating that the 200 OK (INVITE) is in response to the INVITE with sequence number 1. Accordingly, as described above, the first INVITE signaling in step 201 includes sequence number (sequence, CSeq): 1, indicating that the sequence number corresponding to the first INVITE signaling is 1.
[0197] Optionally, the first 200 OK (INVITE) signaling may further include one or more of the following: Message ID, Response Code, Call ID.
[0198] The Message ID indicates the name or type of the message. For example, if the Message ID of the first 200 OK (INVITE) signaling is IMS_SIP_INVITE, this means that the first 200 OK (INVITE) signaling is a 200 OK response to an INVITE. Furthermore, the CSeq: 1INVITE included in the 200 OK for INVITE signaling indicates that it is responding to an INVITE signaling with sequence number 1.
[0199] Response Code is used to indicate the type of message response code, for example, the Response Code of the first 200 OK (INVITE) signaling is OK (200).
[0200] The Call ID is used to identify the session established for this call. Generally speaking, the Call IDs of the same session are the same.
[0201] After receiving the first 200 OK (INVITE) signaling sent by the first terminal, the first S-CSCF may send a 200 OK for INVITE signaling to the CAT-AS.
[0202] After receiving the first 200 OK (INVITE) signaling sent by the first S-CSCF, the CAT-AS may stop playing the CRBT and reply with a first ACK signaling to the first S-CSCF.
[0203] Step 211: The CAT-AS sends a first ACK signaling to the first terminal.
[0204] The first ACK signaling is the first confirmation information, and the first ACK signaling may indicate that the first 200 OK (INVITE) signaling has been received. Optionally, in step 211, the first ACK signaling may indicate that the CAT-AS has received the first 200 OK (INVITE) signaling sent by the first S-CSCF.
[0205] Exemplarily, the first ACK signaling includes Cseq: 1ACK, indicating that the first ACK signaling is in reply to the INVITE with sequence number 1. As described above, the INVITE signaling in step 201 includes Cseq: 1, indicating that the first ACK signaling is in reply to the first INVITE signaling in step 201.
[0206] Optionally, the first ACK signaling further includes one or more of the following: Message ID, Response Code, Call ID.
[0207] Message ID is used to indicate the name or type of a message. For example, Message ID = IMS_SIP_ACK indicates that the type of the first ACK signaling is ACK signaling.
[0208] Response Code is used to indicate the type of message response code. For example, Response Code=INFORMAL_RESPONSE(0) of the first ACK signaling indicates that the first ACK signaling is a response signaling.
[0209] The Call ID is used to identify the session established for the first call.
[0210] Optionally, step 211 includes: the CAT-AS sends a first ACK signaling to the first S-CSCF; the first S-CSCF sends a first ACK signaling to the first access network device (not shown in FIG. 2 ); the first access network device sends a first ACK signaling to the first terminal.
[0211] Step 212: The CAT-AS sends a second INVITE signaling to the first terminal.
[0212] The process of the CAT-AS sending the second INVITE signaling to the first terminal can be referred to the process of the CAT-AS sending the first ACK signaling to the first terminal in step 211. For the sake of brevity, it is not repeated here. For example, after the CAT-AS responds to the first S-CSCF with the first ACK signaling, it initiates the reINVITE process, that is, sends the second INVITE signaling to the first S-CSCF.
[0213] The second INVITE signaling can be a re-request message, and the second INVITE signaling can also be written as reINVITE signaling. It can be written as INVITE signaling, reinvite signaling, re-invite signaling and other forms, and can also refer to the description of relevant protocols, etc., without specific limitation.
[0214] The Cseq included in the second INVITE signaling is different from the Cseq included in the first INVITE signaling in step 201. In addition, the second INVITE signaling here may include a Tag identifier, which is used to indicate that the second INVITE signaling here is not the first INVITE signaling sent in this call. The Tag identifier can be located in the field corresponding to the called terminal information. In other words, compared to the first INVITE signaling in step 201, the second INVITE signaling in step 212 has an additional Tag identifier to distinguish it from the first INVITE signaling in step 201. The second INVITE signaling and the first INVITE signaling are two INVITE signalings in the same call.
[0215] Step 213: The first terminal sends a second 200 OK (INVITE) signaling to the CAT-AS.
[0216] The second 200 OK (INVITE) signaling indicates that the first terminal responds to the second INVITE signaling. In other words, the second 200 OK (INVITE) signaling is the first terminal's 200 OK reply to the second INVITE signaling. It is understood that the second 200 OK (INVITE) signaling can also be written as 200 OK (reINVITE) signaling, 200 OK signaling, 200 OK (REINVITE) signaling, 200 OK for reINVITE, or other forms, or can refer to the wording of the relevant protocol.
[0217] As described in step 210 above, for different INVITE signalings, the INVITE signaling to which the 200 OK (INVITE) signaling replied by the device corresponds can be distinguished by different sequence numbers or sequence identifiers.
[0218] Optionally, in some embodiments, the second 200 OK (INVITE) signaling in step 213 includes Cseq: 4INVITE, indicating that the second 200 OK (INVITE) signaling responds to the INVITE with sequence number 4. Correspondingly, the second INVITE signaling in step 212 includes Cseq: 4, indicating that the sequence number corresponding to the second INVITE signaling is 4.
[0219] Optionally, the second 200 OK (INVITE) signaling may further include one or more of the following: Message ID, Response Code, Call ID.
[0220] The Message ID indicates the name or type of the message. For example, if the Message ID of the second 200 OK (INVITE) signaling is IMS_SIP_INVITE, this means that the second 200 OK (INVITE) signaling is a 200 OK response to the second INVITE signaling. Furthermore, the CSeq: 4INVITE included in the second 200 OK (INVITE) signaling indicates that it is responding to the INVITE signaling with sequence number 4.
[0221] Response Code is used to indicate the type of message response code, for example, Response Code of the second 200 OK (INVITE) signaling = OK (200). Call ID is used to identify the session established for this call.
[0222] Step 214: The CAT-AS sends an UPDATE signaling to the second terminal.
[0223] The UPDATE signaling is used by the CAT-AS to terminate or deactivate the ringback tone (RBT) in the first call, serving as a reminder to deactivate the RBT. For example, the UPDATE signaling is used to reset the port number corresponding to the audio media to zero, thereby deactivating the port. The UPDATE signaling sent by the CAT-AS indicates the end of playback. It should be noted that, prior to step 214, the CAT-AS has already stopped playing the RBT. After this, playback at the second terminal also stops. However, the UPDATE signaling is still required to terminate the RBT process in order to reset the corresponding port number to zero.
[0224] Optionally, step 214 includes: the CAT-AS sends an UPDATE signaling to the second S-CSCF; the second S-CSCF sends an UPDATE signaling to the second access network device; and the second access network device sends an UPDATE signaling to the second terminal.
[0225] Step 215: The second terminal sends a 200 OK (UPDATE) signaling to the CAT-AS.
[0226] The 200 OK (UPDATE) signaling may indicate that the UPDATE signaling has been received, or that the second terminal responds with 200 OK to the UPDATE signaling.
[0227] Optionally, step 215 includes: the second terminal sends a 200 OK (UPDATE) signaling to the second access network device; the second access network device sends a 200 OK (UPDATE) signaling to the second S-CSCF; and the second S-CSCF sends a 200 OK (UPDATE) signaling to the CAT-AS.
[0228] Step 216: The CAT-AS sends a first 200 OK (INVITE) signaling to the second terminal.
[0229] Here, the purpose of the CAT-AS sending the first 200 OK (INVITE) signaling to the second terminal is to transmit the answering action of the first terminal to the second terminal.
[0230] It should be noted that only after the first terminal responds to the second 200 OK (INVITE) signaling (i.e., step 213) will the CAT-AS transmit the first 200 OK (INVITE) signaling, which was previously fed back by the first terminal after the answering action, to the calling side (for example, through step 216, the first 200 OK (INVITE) signaling is sent to the second terminal). Then, after the second terminal receives the first 200 OK (INVITE) signaling, it responds with a second ACK signaling to the first terminal. After the first terminal receives the second ACK signaling, the first terminal and the second terminal can now transmit voice data, or in other words, the user of the first terminal and the user of the second terminal can communicate.
[0231] Step 217: The second terminal sends a second ACK signaling to the first terminal.
[0232] The second ACK signaling may indicate that the second terminal has received the first 200 OK (INVITE) signaling sent by the first terminal.
[0233] The process of the second terminal sending the second ACK signaling to the first terminal can refer to the process of the second terminal sending the first INVITE signaling to the first terminal in step 201. For the sake of brevity, the detailed sending process of the second ACK signaling is not repeated here.
[0234] The second ACK signaling may be second confirmation information. The second ACK signaling is used to indicate that the first 200 OK (INVITE) signaling has been received. Optionally, in step 217, the second ACK signaling is used to indicate that the second terminal has received the first 200 OK (INVITE) signaling sent by the first terminal to the second terminal.
[0235] It is understood that after step 217, voice packets can be transmitted between the second terminal and the first terminal, allowing the user of the second terminal to conduct a normal voice call with the user of the first terminal. The voice packets may be voice data. For example, the second terminal transmits voice data to the first terminal. Another example is the first terminal transmits voice data to the second terminal.
[0236] It is also understood that there is no order or triggering relationship between the first terminal sending voice data to the second terminal and the second terminal sending voice data to the first terminal, and the order of the two can be interchanged. During a call, the first terminal and the second terminal can exchange voice packets multiple times, and this embodiment of the application does not limit this.
[0237] It can also be understood that when the call ends, the first terminal or the second terminal may also initiate a session end message, such as a BYE message; accordingly, the opposite terminal may send a session end response message, such as an ACK(BYE) message.
[0238] It can also be understood that the step numbers shown in FIG2 are merely exemplary descriptions and do not limit the scope of protection of the embodiments of the present application.
[0239] Figure 2 shows the process after the first terminal activates the ring back tone service. If the first terminal does not activate the ring back tone service, then after the first terminal clicks to answer and receives the first ACK signaling, it can enter into a call with the second terminal. In addition, if the first terminal does not activate the ring back tone service, the CAT-AS process will not be involved in Figure 2. After the ring back tone service is activated, the first terminal side and the network side both add the relevant process of the second INVITE signaling (for example, the dotted box in Figure 2 marks the main signaling process on the network side after subscribing to the ring back tone service).
[0240] Therefore, users who have activated color ring back-tones are prone to encountering the problem of silent calls, which mainly manifests as a single-line or silent call. The reason is that when the user of the first terminal clicks the answer action, the first terminal does not receive the first ACK signaling returned by the network (for example, the first S-CSCF), but instead receives the second INVITE signaling. According to the SIP protocol, if the first terminal receives the second INVITE signaling without receiving the first ACK signaling, it will reply 491 to the network. After receiving 491, the network will retransmit the second INVITE signaling. However, since the first terminal has not received the first ACK signaling, it will continue to reply 491 to the network side, so that the answer action of the first terminal cannot be transmitted to the second terminal. The user of the first terminal will start speaking after clicking the answer action, but the second terminal will not receive the answer instruction, resulting in the second terminal's voice being unable to be transmitted to the first terminal, resulting in a single-line or silent situation, which seriously affects the user's call experience. The following will describe this problem scenario in conjunction with the signaling interaction process in Figure 3.
[0241] Referring to Figure 3 , FIG3 illustrates the signaling interaction process when the first terminal does not receive the first ACK signaling. It should be understood that the various messages involved in the steps shown in FIG2 may be existing messages in the SIP protocol or newly defined messages, and this is not specifically limited. It should also be understood that some of the signaling or messages involved in FIG3 are similar to those in FIG2 . For details, please refer to the explanation in FIG2 . The meaning or explanation of the same signaling or terminology will not be repeated.
[0242] The difference between Figure 2 and Figure 3 is that the first ACK signaling in step 311 in Figure 3 is lost, or the first terminal does not receive the first ACK signaling from the network. As shown in Figure 3, it includes:
[0243] Steps 301 to 310; for example, steps 301 to 310 in FIG. 3 are the same as steps 201 to 210 in FIG. 2 . For related descriptions, please refer to the description in FIG. 2 above. The contents of steps 301 to 310 will not be repeated here.
[0244] In step 311, the first ACK signaling sent by the CAT-AS to the first S-CSCF is not sent normally, thereby causing the first S-CSCF to fail to send the first ACK signaling to the first terminal in step 311 (or fail to send it successfully);
[0245] Alternatively, in step 311, the first ACK signaling sent by the CAT-AS to the first S-CSCF is sent normally, but the first ACK signaling sent by the first S-CSCF to the first terminal in step 311 is lost (or the first terminal does not receive the first ACK signaling sent by the first S-CSCF);
[0246] Alternatively, in step 311, the first ACK signaling sent by the CAT-AS to the first S-CSCF and the first ACK signaling sent by the first S-CSCF to the first access network device are both sent normally, but the first ACK signaling sent by the first access network device to the first terminal is lost (or the first terminal does not receive the first ACK signaling sent by the first access network device).
[0247] Regardless of which of the above methods is used, the final result is: in step 311, the first terminal does not receive the first ACK signaling sent by the network side.
[0248] Step 312: The CAT-AS sends a second INVITE signaling to the first terminal.
[0249] Step 312 is issued when the first terminal does not receive the first ACK signaling. For step 312, reference may be made to the description of step 212 in FIG. 2 above, and for the sake of brevity, details will not be repeated here.
[0250] For the first terminal, after the user of the first terminal answers the call, if the first terminal does not receive the first ACK signaling but receives the second INVITE signaling, the first terminal replies with a 491 signaling, ie, executes step 313 .
[0251] Step 313: When the first terminal does not receive the first ACK signaling, the first terminal sends a 491 signaling to the CAT-AS.
[0252] The 491 signaling can indicate a request pending, which can be specifically interpreted as a dependent request being processed in the same session (for example, in Figure 3, the first 200 OK (INVITE) signaling is being processed). Alternatively, it can be understood that because the first terminal did not receive the first ACK signaling (used to respond to the first 200 OK (INVITE) signaling sent in step 310), the first terminal responds to the received second INVITE signaling by replying 491.
[0253] It can be understood that if the first terminal does not receive the first ACK signaling, then even if it receives the second INVITE signaling multiple times, it will reply with a 491 signaling each time.
[0254] Exemplarily, step 313 includes: the first terminal sending a 491 signaling to the first S-CSCF; upon receiving the 491 signaling from the first terminal, the first S-CSCF sends a 491 signaling to the CAT-AS. Subsequently, the first S-CSCF retransmits the second INVITE signaling. However, since the first terminal has not received the first ACK signaling, it continues to reply with 491 signaling, repeatedly executing steps 312 through 313, resulting in the inability to execute steps 314 through 317.
[0255] Among them, steps 314 to 317 in Figure 3 are consistent with steps 214 to 217 in Figure 2. Their specific descriptions can refer to the descriptions of steps 214 to 217 in Figure 2. For the sake of brevity, they are not repeated here.
[0256] Because steps 314 to 317 cannot be executed, the answering action on the called party cannot be transmitted to the calling party. As a result, the voice of the calling party is not allowed to be transmitted to the called party, resulting in a single-line or silent call. Alternatively, the user on the first terminal cannot hear the voice of the user on the second terminal and will hang up the call, affecting the call experience. For example, in Figure 3, after the user on the first terminal clicks the answer action, they cannot hear the voice of the user on the second terminal.
[0257] In view of this, an embodiment of the present application proposes a method for establishing a call connection between a second terminal and a first terminal. When the user of the first terminal clicks the answer operation, the first terminal determines whether a second INVITE signaling has been received. If the second INVITE signaling has been received, the first terminal assumes that the network side has replied to the first ACK signaling and responds normally to the 200 OK signaling for the second INVITE signaling, or the second 200 OK (INVITE) signaling, so as to execute the subsequent process (for example, steps 314 to 317 in Figure 3 can continue to be executed), thereby enabling the first terminal and the second terminal to successfully establish a call connection. The following will be explained in conjunction with the process in Figure 4.
[0258] Referring to Figure 4 , Figure 4 illustrates a signaling interaction process when the first terminal does not receive the first ACK signaling in an embodiment of the present application. It should be understood that the various messages involved in the steps shown in Figure 4 may be existing messages in the SIP protocol or newly defined messages, and this is not specifically limited. It should also be understood that some of the signaling or messages involved in Figure 4 are similar to those in Figure 2 , and for details, reference may be made to the explanation in Figure 2 . The meaning or explanation of the same signaling will not be repeated. It should also be understood that the process shown in Figure 4 can be applied to the scenario shown in Figure 1 . For example, the first S-CSCF shown in Figure 4 may be an example of a core network device in the first network-side device in Figure 1 ; the second S-CSCF shown in Figure 4 may be an example of a core network device in the second network-side device in Figure 1 ; the CAT-AS shown in Figure 4 may be an example of a color ring back tone server in Figure 1 ; the second terminal in Figure 4 may be the second terminal in Figure 1 ; and the first terminal in Figure 4 may be the first terminal in Figure 1 .
[0259] In some embodiments, when the user of the first terminal clicks to answer, if the first terminal does not receive the first ACK signaling, the difference between Figure 4 and Figure 3 is that if the first terminal receives the second INVITE signaling in step 412, it will still reply with a second 200 OK (INVITE) signaling. As shown in Figure 4, it includes:
[0260] Steps 401 to 410; for example, steps 401 to 410 in FIG. 4 are the same as steps 201 to 210 in FIG. 2 . For related descriptions, please refer to the description in FIG. 2 above. The contents of steps 401 to 410 will not be repeated here.
[0261] The description of step 411 may refer to the description of step 311 in Figure 3. For the sake of brevity, it will not be repeated here.
[0262] Step 412: The CAT-AS sends a second INVITE signaling to the first terminal.
[0263] In an embodiment of the present application, if the first terminal does not receive the first ACK signaling but receives the second INVITE signaling, in this case, the first terminal will assume that it has received the first ACK signaling, so it directly processes it after receiving the second INVITE signaling, for example, replying the second 200 OK (INVITE) signaling to the first S-CSCF, that is, executing step 413.
[0264] Step 413: The first terminal sends a second 200 OK (INVITE) signaling to the CAT-AS.
[0265] It is understandable that the timing of the first S-CSCF sending the second INVITE signaling to the first terminal is uncertain. It may be sent to the first terminal immediately after receiving the second INVITE signaling sent by the CAT-AS, or it may be delayed for some reason. In order to prevent the first terminal from waiting for the first S-CSCF to send the second INVITE signaling, a preset time length can be set on the first terminal side to constrain the time the first terminal waits for the second INVITE signaling, or the effective time of the embodiment of the present application.
[0266] The embodiments of the present application do not limit the specific duration of the preset duration. The preset duration can be a reasonable duration flexibly set based on a priori values or actual needs. Optionally, in some embodiments, the first terminal receives the second INVITE signaling within the preset duration, and after receiving the second INVITE signaling, determines whether the first ACK signaling is received. If the first ACK signaling is not received, the first terminal sends a second 200 OK signaling.
[0267] It should be noted that after receiving the second INVITE signaling, the step of the first terminal determining whether the first ACK signaling is received shown in Figure 4 is implemented within the preset time length, but the embodiment of the present application is not limited to this. For example, the step of the first terminal determining whether the first ACK signaling is received may also occur outside the preset time length.
[0268] It can be understood that the preset duration can be achieved through timers, timers, etc. in actual processes.
[0269] Optionally, in some embodiments, after the first terminal receives the user's answering action or sends the first 200 OK (INVITE) signaling, the first timer starts timing (or starts the first timer); when the first terminal receives the second INVITE signaling, it determines whether the first timer has timed out, and determines whether the first ACK signaling has been received. If the first timer has not timed out (indicating that the second INVITE signaling was received while the first timer was running) and the first ACK signaling has not been received, the first terminal sends the first S-CSCF a reply to the second 200 OK (INVITE) signaling, i.e., executes step 413. The fact that the first timer has not timed out means that the timing duration of the first timer is less than or equal to the preset duration.
[0270] Of course, after the first timer expires, if the first terminal does not receive the first ACK signaling or the second INVITE signaling sent by the S-CSCF, the first terminal will proceed accordingly according to the procedures in the standard protocol. In addition, after the first timer expires, if the first terminal still does not receive the first ACK signaling, but receives the second INVITE signaling sent by the first S-CSCF, since the second INVITE signaling was received after the first timer expired, the first terminal will reply with a 491 signaling.
[0271] In summary, the first timer is set to constrain the duration of the first terminal's wait for the second INVITE signaling. Furthermore, the embodiment of the present application does not specifically limit the timing duration of the first timer. The timing duration of the first timer can be the above-mentioned preset duration. For example, the duration of the first timer can be set to 3 seconds.
[0272] In addition, the embodiments of the present application do not limit the specific timing at which the first terminal starts the first timer. For example, the first terminal may start the first timer after sending the first 200 OK (INVITE) signaling to the first S-CSCF. For another example, the first terminal may start the first timer after the user clicks to answer the call.
[0273] In an embodiment of the present application, for the situation where the first ACK signaling sent by the first S-CSCF is not received but the second INVITE signaling sent by the first S-CSCF is received, compared with the first terminal sending 491 signaling to the first S-CSCF in Figure 3, the first terminal will reply to the first S-CSCF with a second 200 OK (INVITE) signaling after receiving the second INVITE signaling sent by the first S-CSCF, so that subsequent steps can continue to be executed, for example, executing steps 414 to 417.
[0274] Subsequent steps 414 to 417 are the same as the normal process in FIG. 2 . For detailed descriptions, reference may be made to the descriptions of steps 214 to 217 in FIG. 2 . For the sake of brevity, they will not be repeated here.
[0275] Optionally, in some embodiments, after step 413, or after the first terminal responds to the first S-CSCF with the second 200 OK (INVITE) signaling, if the first terminal receives other signaling, then the first terminal may respond normally to the other received signaling without responding to the 491 signaling. For example, after step 413, the signaling interaction process in FIG4 further includes:
[0276] In step a, the first terminal receives the Y signaling; in step b, the first terminal responds normally to the Y signaling.
[0277] The embodiment of the present application does not specifically limit the specific content of the Y signaling, nor does it specifically limit the initiator of the Y signaling. For example, the Y signaling can be another INVITE signaling sent by the S-CSCF to the first terminal.
[0278] It should be noted that the reason why the first terminal can respond to the Y signaling normally after step 413 is that the first terminal has already replied to the second 200 OK (INVITE) signaling to the first S-CSCF in step 413. The first terminal will infer that the first S-CSCF has sent the first ACK signaling, and it assumes that it has received the first ACK signaling sent by the first S-CSCF. There is no request pending, so it will not reply to the 491 signaling, but will respond to the Y signaling normally.
[0279] It should be understood that the processes in Figures 2 to 4 are described by taking some processes in the Session Initiation Protocol SIP as an example. In fact, the process of establishing a call connection between the second terminal and the first terminal may include more processes.
[0280] It should also be understood that the messages or signaling involved in Figures 2 to 4 above may be messages or signaling in SIP, and for detailed explanations, reference may be made to the description in SIP. The above message description is merely a brief introduction.
[0281] In order to facilitate understanding of the implementation logic of the embodiment of the present application from the first terminal side, the following description is made in conjunction with Figure 5. Referring to Figure 5, Figure 5 shows the method flow executed by the first terminal. It should be understood that the first terminal shown in Figure 5 can be the first terminal in Figure 4. It should also be understood that the relevant terms or explanations involved in Figure 5 can refer to the description of Figure 4 above. For the sake of brevity, they are not repeated here. As shown in Figure 5, it includes:
[0282] Step 501: When a second terminal initiates a first call to the first terminal, the first terminal receives a first INVITE signaling from the second terminal.
[0283] For explanations of step 501, reference may be made to the description of step 201 in FIG2 . In some embodiments, step 501 may be step 401 in FIG4 .
[0284] Step 502: After detecting the user's answering action, the first terminal sends a first 200 OK (INVITE) signaling in response to the first INVITE signaling.
[0285] Optionally, the first terminal sends a first 200 OK (INVITE) signaling to the S-CSCF. In some embodiments, step 502 may be step 410 in FIG. 4 or step 210 in FIG. 2 . For an explanation of the first 200 OK (INVITE) signaling, reference may be made to the explanation of step 210 above. For the sake of brevity, this explanation is omitted here.
[0286] Step 503: The first terminal receives the second INVITE signaling.
[0287] For example, based on the first call, the first terminal receives a second INVITE signaling, the second INVITE signaling includes a first identifier, and the INVITE signaling does not include the first identifier. The first identifier can be the Tag identifier mentioned above, and its meaning is not repeated here for the sake of brevity.
[0288] If the first terminal receives the second INVITE signaling, step 504 - 1 is executed.
[0289] As described above, optionally, in some embodiments, the first terminal may detect whether the first ACK signaling is received by starting a first timer. For related descriptions, please refer to the above and will not be repeated here.
[0290] Step 504-1: After receiving the second INVITE signaling, the first terminal determines whether the first ACK signaling is received.
[0291] Optionally, in some embodiments, FIG5 may further include: step 504-2, when the first ACK signaling is not received, it may be further determined whether (the time from sending the first 200 OK signaling to the current moment, or the time from detecting the user's answering action to the current moment) exceeds a preset time.
[0292] The embodiment of the present application does not specifically limit the specific implementation of step 504-2. For example, a first timer may be introduced to determine whether the preset time has been exceeded by judging the relationship between the time duration of the first timer and the preset time duration.
[0293] Illustratively, if the judgment result of step 504 - 2 is “yes”, step 506 is executed; if the judgment result of step 504 - 2 is “no”, step 505 is executed.
[0294] In step 505, the first terminal sends a second 200 OK (INVITE) signaling. In some embodiments, step 505 may be step 413 in FIG. 4 .
[0295] Step 506: The first terminal sends signaling 491. In some embodiments, step 505 may be step 313 in FIG.
[0296] For the description of some terms or signaling involved in FIG5 , please refer to the description in FIG2 or FIG4 above.
[0297] It should be noted that the interaction diagrams shown in Figures 2 to 4 are only for ease of understanding and are not intended to limit the embodiments of the present application to the examples shown in the diagrams. In fact, those skilled in the art can perform equivalent transformations based on the examples in Figures 2 to 4 to obtain more implementation methods.
[0298] The above description, in conjunction with Figures 1 to 5 , details the method for call connection provided by an embodiment of the present application. The following description details the device embodiment of the present application in conjunction with Figures 6 to 8 . It should be understood that the device for call connection in an embodiment of the present application can execute the various methods for call connection in the aforementioned embodiments of the present application. For the specific operating processes of the various products below, reference can be made to the corresponding processes in the aforementioned method embodiments.
[0299] Figure 6 is a schematic block diagram of an apparatus 600 for call connection according to an embodiment of the present application. It should be understood that the apparatus 600 can execute the method executed by the first terminal in the methods for call connection shown in Figures 2 to 5 .
[0300] As shown in FIG6 , the apparatus 600 includes a transceiver unit 610 and a processing unit 620 .
[0301] Exemplarily, the apparatus 600 is configured to execute the method performed by the first terminal in Figures 4 and 5. The apparatus subscribes to a color ring back tone service.
[0302] In some embodiments, the transceiver unit 610 is configured to receive a first INVITE signaling from the second terminal when the second terminal initiates a first call to the first terminal;
[0303] The transceiver unit 610 is further configured to send a first 200 OK signaling in response to the first INVITE signaling after detecting the user's answering action;
[0304] The transceiver unit 610 is further configured to receive a second INVITE signaling based on the first call, where the second INVITE signaling includes a first identifier, the first INVITE signaling does not include the first identifier, and the first terminal does not receive a first ACK signaling after sending the first 200 OK signaling and before receiving the second INVITE signaling;
[0305] The transceiver unit 610 is further configured to send a second 200 OK signaling in response to the second INVITE signaling.
[0306] Optionally, as an embodiment, the processing unit 620 is configured to determine whether the first ACK signaling is received after receiving the second INVITE signaling;
[0307] When the first ACK signaling is not received, the transceiver unit 610 is called to send the second 200 OK signaling.
[0308] Optionally, as an embodiment, the processing unit 620 is further configured to determine whether the first timer has timed out;
[0309] When the first ACK signaling is not received and the first timer has not timed out, the transceiver unit 610 is called to send the second 200 OK signaling. The fact that the first timer has not timed out means that the timing duration of the first timer is less than or equal to the preset duration. The timing duration of the first timer refers to the duration between the moment when the user's answering action is detected and the current moment, or the duration between the moment when the first 200 OK signaling is sent and the current moment.
[0310] Optionally, as an embodiment, the processing unit 620 is further configured to call the transceiver unit 610 to send a 491 signaling when the first ACK signaling is not received and the first timer times out.
[0311] Optionally, as an embodiment, the transceiver unit 610 is further used to: receive a second ACK signaling from the second terminal; after receiving the second ACK signaling, receive voice data from the second terminal, or send voice data to the second terminal.
[0312] Optionally, as an embodiment, the transceiver unit 610 is further configured to send a 180 Ringing signaling to the second terminal after receiving the first INVITE signaling.
[0313] Optionally, as an embodiment, the transceiver unit 610 is further configured to receive an UPDATE signaling from the second terminal; and send a third 200 OK signaling in response to the UPDATE signaling.
[0314] Optionally, as an embodiment, the first 200 OK signaling is sent after the playing of the CRBT is started; and the second INVITE signaling is received after the playing of the CRBT is stopped.
[0315] In one possible example, the transceiver unit 610 may be implemented by a transceiver. The processing unit 620 may be implemented by a processor or a processing unit. It should be understood that the above-mentioned device 600 is embodied in the form of a functional unit. The term "unit" here can be implemented in the form of software and / or hardware, and this embodiment of the application does not specifically limit this.
[0316] For example, a "unit" may be a software program, a hardware circuit, or a combination of the two that implements the above functions. The hardware circuit may include an application specific integrated circuit (ASIC), an electronic circuit, a processor (such as a shared processor, a dedicated processor, or a group processor, etc.) that executes one or more software or firmware programs and a memory, an integrated logic circuit, and / or other suitable devices that can provide the above functions.
[0317] Figure 7 is a schematic block diagram of a communication device according to an embodiment of the present application. The communication device embodiment corresponds to the method embodiment, and similar descriptions can refer to the method embodiment. The communication device 700 shown in Figure 7 can be used to support the execution of some or all of the steps performed by the first terminal device in each embodiment corresponding to Figures 2 to 5. The communication device 700 includes: a processor 710, a memory 720, and a transceiver 730. The processor 710, the memory 720, and the transceiver 730 are connected via communication. The memory 720 stores instructions. The processor 710 is used to execute the instructions stored in the memory 720. The transceiver 730 is used to perform specific signal transmission and reception under the drive of the processor 710.
[0318] In one implementation, the communication device 700 may correspond to the first terminal in the above-mentioned method embodiment and may be configured to execute the various steps and / or processes performed by the first terminal in the above-mentioned method embodiment. The processor 710 may be configured to execute instructions stored in the memory 720, and when the processor 710 executes the instructions stored in the memory, the processor 710 is configured to execute the various steps and / or processes of the above-mentioned method embodiment corresponding to the first terminal.
[0319] The processor 710 is configured to call the transceiver 730 to receive the first INVITE signaling from the second terminal when the second terminal initiates a first call to the first terminal; after detecting the user's answering action, in response to the first INVITE signaling, call the transceiver 730 to send a first 200 OK signaling; based on the first call, call the transceiver 730 to receive the second INVITE signaling, the second INVITE signaling includes a first identifier, the first INVITE signaling does not include the first identifier, and the first terminal does not receive the first ACK signaling after sending the first 200 OK signaling and before receiving the second INVITE signaling; in response to the second INVITE signaling, call the transceiver 730 to send a second 200 OK signaling.
[0320] The various components in the communication device 700 are connected via communication links, that is, the processor 710, memory 720, and transceiver 730 communicate with each other through internal connection paths to transmit control and / or data signals. The above-mentioned method embodiments of the present application can be applied to a processor, or the steps of the above-mentioned method embodiments can be implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. During implementation, the steps of the above-mentioned method embodiments can be completed by hardware integrated logic circuits in the processor or software instructions. The above-mentioned processor can be a central processing unit (CPU), a network processor (NP), or a combination of a CPU and NP, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The various methods, steps, and logic block diagrams disclosed in this application can be implemented or executed. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules within the decoding processor. The software modules can be located in a storage medium well-known in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. The storage medium is located in a memory, and the processor reads the information in the memory and, in conjunction with its hardware, completes the steps of the method described above.
[0321] The transceiver 730 may include a transmitter and a receiver. The transceiver 730 may further include an antenna, which may be one or more. The processor 710, memory 720, and transceiver 730 may be integrated on different chips. For example, the processor 710 and memory 720 may be integrated in a baseband chip, and the transceiver 730 may be integrated in a radio frequency chip. The processor 710, memory 720, and transceiver 730 may also be integrated on the same chip. This application is not limited to this.
[0322] The transceiver 730 may also be a communication interface, such as an input / output interface. The transceiver 730, the processor 710, and the memory 720 may all be integrated into the same chip, such as a baseband chip.
[0323] Exemplarily, in an embodiment of the present application, the processor 710 can be implemented by a processing unit (such as the processing unit 620 in Figure 6), the memory 720 can be implemented by a storage module, and the transceiver 730 can be implemented by a transceiver unit (such as the transceiver unit 610 in Figure 6).
[0324] The call connection method provided in the embodiments of the present application can be applied to electronic devices that can support calls, such as mobile phones, tablet computers, desktop computers, laptop computers, notebook computers, ultra-mobile personal computers (UMPCs), handheld computers, netbooks, personal digital assistants (PDAs), wearable electronic devices, smart watches, etc. The aforementioned UE can also be included in such electronic devices. The hardware structure of the first terminal is illustrated below with reference to FIG8 .
[0325] FIG8 shows a schematic structural diagram of an electronic device 1000 applicable to the present application.
[0326] The electronic device 1000 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0327] It should be noted that the structure shown in FIG8 does not constitute a specific limitation on the electronic device 1000. In other embodiments of the present application, the electronic device 1000 may include more or fewer components than those shown in FIG8, or the electronic device 1000 may include a combination of some of the components shown in FIG8, or the electronic device 1000 may include sub-components of some of the components shown in FIG8. The components shown in FIG8 may be implemented in hardware, software, or a combination of software and hardware.
[0328] The processor 110 may include one or more processing units. For example, the processor 110 may include at least one of the following processing units: an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and a neural-network processing unit (NPU). The different processing units may be independent devices or integrated devices.
[0329] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0330] Processor 110 may also include a memory for storing instructions and data. In some embodiments, the memory in processor 110 is a cache memory. This memory can store instructions or data that have just been used or are being recycled by processor 110. If processor 110 needs to use the same instruction or data again, it can directly access the memory. This avoids duplicate accesses, reduces processor 110 latency, and thus improves system efficiency.
[0331] In some embodiments, the processor 110 may include one or more interfaces. For example, the processor 110 may include at least one of the following interfaces: an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a SIM interface, and a USB interface.
[0332] In some embodiments, when the second terminal initiates a first call to the electronic device 1000, the processor 110 is used to call the communication module to receive a first INVITE signaling from the second terminal; after detecting the user's answering action, in response to the first INVITE signaling, send a first 200 OK signaling; based on the first call, receive a second INVITE signaling, the second INVITE signaling includes a first identifier, the first INVITE signaling does not include the first identifier, and the first terminal does not receive a first ACK signaling after sending the first 200 OK signaling and before receiving the second INVITE signaling; in response to the second INVITE signaling, send a second 200 OK signaling.
[0333] 8 is merely a schematic illustration and does not limit the connection relationship between the modules of the electronic device 1000. Optionally, the modules of the electronic device 1000 may also adopt a combination of the multiple connection modes in the above embodiments.
[0334] The wireless communication function of the electronic device 1000 can be implemented through components such as the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor, and the baseband processor.
[0335] Electronic device 1000 can implement display functions using a GPU, display screen 194, and an application processor. A GPU is a microprocessor for image processing that connects display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. Processor 110 may include one or more GPUs that execute program instructions to generate or modify display information.
[0336] Display screen 194 can be used to display images or videos. Display screen 194 includes a display panel. The display panel can use a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a mini light-emitting diode (Mini LED), a micro light-emitting diode (Micro LED), a micro OLED, or a quantum dot light-emitting diode (QLED). In some embodiments, electronic device 1000 may include one or N display screens 194, where N is a positive integer greater than 1.
[0337] The electronic device 1000 can implement a shooting function through an ISP, a camera 193, a video codec, a GPU, a display screen 194, and an application processor.
[0338] The digital signal processor is used to process digital signals. In addition to processing digital image signals, it can also process other digital signals. For example, when the electronic device 1000 selects a frequency point, the digital signal processor is used to perform Fourier transform on the frequency point energy.
[0339] The ISP processes data fed back by camera 193. For example, when taking a photo, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, which is then passed to the ISP for processing and transformed into a visible image. The ISP can also perform algorithmic optimization on image noise, brightness, and skin tone. It can also optimize parameters such as exposure and color temperature of the captured scene. In some embodiments, the ISP can be located within camera 193.
[0340] The wireless communication function of the electronic device can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor and baseband processor.
[0341] Antenna 1 and Antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in an electronic device can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve antenna utilization. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In other embodiments, the antennas can be used in conjunction with a tuning switch.
[0342] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G applied in electronic devices. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0343] In some embodiments, the electronic device initiates or receives a call request via the mobile communication module 150 and the antenna 1 .
[0344] The wireless communication module 160 can provide wireless communication solutions for electronic devices, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc. The wireless communication module 160 can be one or more devices that integrate at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, frequency modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, frequency modulate it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0345] Optionally, in one implementation, the audio module 170 may include a speaker 170A, a receiver 170B, a microphone 170C, and an earphone jack 170D; the sensor module 180 may include a touch sensor 180K, and may also include at least one of a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, an ambient light sensor 180L, and a bone conduction sensor 180M.
[0346] The electronic device 1000 can implement audio functions such as music playback and recording through the audio module 170, the speaker 170A, the receiver 170B, the microphone 170C, the headphone jack 170D, and the application processor.
[0347] The audio module 170 is used to convert digital audio information into analog audio signal output, and is also used to convert analog audio input into digital audio signals. The audio module 170 can also be used to encode and decode audio signals. In some embodiments, the audio module 170 can be provided in the processor 110, or some functional modules of the audio module 170 can be provided in the processor 110.
[0348] The speaker 170A, also called a "speaker", is used to convert audio electrical signals into sound signals. The electronic device 1000 can listen to music or listen to hands-free calls through the speaker 170A.
[0349] The receiver 170B, also called a "handset", is used to convert audio electrical signals into sound signals. When the electronic device 1000 receives a call or a voice message, the user can place the receiver 170B close to the ear to hear the voice.
[0350] Microphone 170C, also known as "microphone" or "microphone", is used to convert sound signals into electrical signals. When making a call or sending a voice message, the user can speak by putting their mouth close to the microphone 170C to input the sound signal into the microphone 170C. The electronic device 1000 can be provided with at least one microphone 170C. In other embodiments, the electronic device 1000 can be provided with two microphones 170C, which can not only collect sound signals but also realize noise reduction function. In other embodiments, the electronic device 1000 can also be provided with three, four or more microphones 170C to collect sound signals, reduce noise, identify the source of sound, realize directional recording function, etc.
[0351] The headphone jack 170D is used to connect a wired headphone and can be a USB interface, or a 3.5mm open mobile terminal platform (OMTP) standard interface or a cellular telecommunications industry association of the USA (CTIA) standard interface.
[0352] It should be noted that the structures illustrated in the embodiments of the present application do not constitute a specific limitation on the electronic device 1000. In other embodiments of the present application, the electronic device 1000 may include more or fewer components than shown, or may combine or separate certain components, or arrange the components differently. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0353] It can be understood that the method for call connection in the embodiment of the present application can be applied to the electronic device shown in Figure 8. The specific implementation steps can be referred to the introduction of the method embodiment above and will not be repeated here.
[0354] In addition, an operating system runs on the above components, such as the iOS operating system, the Android operating system, and the Windows operating system. Application programs can be installed and run on the operating system.
[0355] Exemplarily, the software architecture of the terminal device is described. The terminal device can be the electronic device 1000 shown in Figure 8. The software system of the terminal device can adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a microservice architecture, or a cloud architecture. The embodiment of the present application takes the software system of the layered architecture as an example to illustrate the software structure of the electronic device 1000. Figure 9 is a software architecture block diagram of an example terminal device provided by the embodiment of the present application. Figure 9 is an example of the software architecture of the electronic device 1000 shown in Figure 8. Figure 9 is a software structure block diagram of the electronic device of the embodiment of the present application.
[0356] A layered architecture divides software into several layers, each with distinct roles and responsibilities. Layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers: the application layer, the application framework layer, the Android runtime and system libraries, and the kernel layer.
[0357] The application layer can include a series of application packages. As shown in Figure 9, the application package can include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message and other applications.
[0358] The application framework layer provides an application programming interface (API) and programming framework for applications in the application layer. The application framework layer includes some predefined functions. As shown in Figure 9, the application framework layer may include a window manager, content provider, telephony manager, resource manager, notification manager, and view system.
[0359] The window manager is used to manage window programs. The window manager can obtain the display size, determine whether there is a status bar, lock the screen, take screenshots, etc.
[0360] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0361] The phone manager is used to provide communication functions for electronic devices, such as call status management (including answering, hanging up, etc.).
[0362] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0363] The Notification Manager allows applications to display notifications in the status bar. These messages can be displayed briefly and then disappear automatically without user interaction. For example, the Notification Manager is used to notify users of completed downloads and message reminders. The Notification Manager can also display notifications in the top status bar of the system as icons or scrolling text, such as notifications from background applications, or as dialog windows on the screen. Examples include text messages in the status bar, beeps, vibrations on electronic devices, and flashing indicator lights.
[0364] The view system includes visual controls, such as those for displaying text and images. The view system is used to build applications. A display interface can consist of one or more views. For example, a display interface containing a text notification icon might include a view for displaying text and a view for displaying images.
[0365] The core library consists of two parts: one is the function that needs to be called by the Java language, and the other is the Android core library.
[0366] The application layer and application framework layer run in a virtual machine. The virtual machine executes Java files in the application layer and application framework layer as binary files. The virtual machine manages object lifecycles, stack management, thread management, security and exception management, and garbage collection.
[0367] The system library can include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0368] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
[0369] The media library supports playback and recording of a variety of common audio and video formats, as well as static image files. The media library can support a variety of audio and video encoding formats, such as: MPEG2, H.262, MP3, AAC, AMR, JPG, PNG, etc.
[0370] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis and layer processing.
[0371] A 2D graphics engine is a drawing engine for 2D drawings.
[0372] The kernel layer is the layer between hardware and software. The kernel layer includes at least display driver, camera driver, audio driver, sensor driver, etc.
[0373] It should be noted that although the embodiments of the present application are described using the Android system as an example, its basic principles are also applicable to electronic devices based on operating systems such as iOS and Windows.
[0374] According to the method provided in the embodiment of the present application, the present application also provides a communication system, which includes the aforementioned first terminal, second terminal, called core network device, calling core network device, and ring back tone server. Optionally, it may also include calling access network device and called access network device.
[0375] The present invention provides a chip system comprising one or more processors configured to retrieve and execute instructions stored in a memory, thereby executing the method of the present invention. The chip system may be composed of a chip or may include a chip and other discrete devices.
[0376] Among them, the chip system may include an input circuit or interface for sending information or data, and an output circuit or interface for receiving information or data.
[0377] The present application also provides a computer program product, which, when executed by a processor, implements the method described in any method embodiment of the present application.
[0378] The computer program product can be stored in a memory and finally converted into an executable target file that can be executed by a processor through preprocessing, compilation, assembly and linking.
[0379] This application also provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a computer, the computer program implements the method described in any method embodiment of this application. The computer program can be a high-level language program or an executable target program.
[0380] The computer-readable storage medium may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memories. The non-volatile memory may be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory may be a random access memory (RAM), which is used as an external cache. By way of example and not limitation, many forms of RAM are available, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0381] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and equipment and the technical effects produced can refer to the corresponding processes and technical effects in the aforementioned method embodiments, and will not be repeated here.
[0382] In the several embodiments provided in this application, the disclosed systems, devices and methods can be implemented in other ways. For example, some features of the method embodiments described above can be ignored or not executed. The device embodiments described above are merely schematic, and the division of units is only a logical function division. There may be other division methods in actual implementation, and multiple units or components may be combined or integrated into another system. In addition, the coupling between the units or the coupling between the components may be direct coupling or indirect coupling, and the above coupling includes electrical, mechanical or other forms of connection.
[0383] It should be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean 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 the present application.
[0384] Additionally, the terms "system" and "network" are often used interchangeably. The term "and / or" in this document simply describes a relationship between related objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates an "or" relationship between the related objects.
[0385] The terms (or numbers) "first", "second", ... etc. that appear in the embodiments of the present application are only used for descriptive purposes, that is, they are only used to distinguish different objects, such as different "signalings", etc., and cannot be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Therefore, the features defined as "first", "second", ... etc. may explicitly or implicitly include one or more features. In the description of the embodiments of the present application, "at least one (item)" refers to one or more. "Multiple" means two or more. "At least one of the following (item)" or similar expressions refers to any combination of these items, including any combination of a single (item) or plural (items).
[0386] In short, the above description is only a preferred embodiment of the technical solution of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of this application shall be included in the scope of protection of this application.
Claims
1. A method for call connection, It is characterized in that The method is applied to a first terminal, the first terminal subscribes to a color ring back tone service, and the method includes: When the second terminal initiates a first call to the first terminal, receiving a first INVITE signaling from the second terminal; After detecting the user's answering action, sending a first 200OK signaling in response to the first INVITE signaling; Based on the first call, receiving a second INVITE signaling, the second INVITE signaling includes a first identifier, the first INVITE signaling does not include the first identifier, and the first terminal does not receive a first ACK signaling after sending the first 200OK signaling and before receiving the second INVITE signaling; In response to the second INVITE signaling, a second 200OK signaling is sent.
2. The method according to claim 1, It is characterized in that After receiving the second INVITE signaling, the method further includes: Determining whether the first ACK signaling is received; The sending of the second 200OK signaling includes: When the first ACK signaling is not received, the second 200OK signaling is sent.
3. The method according to claim 2, It is characterized in that The method further comprises: Determining whether the first timer has timed out; The sending of the second 200OK signaling includes: If the first ACK signaling is not received and the first timer has not timed out, the second 200OK signaling is sent. The first timer has not timed out, which means that the timing duration of the first timer is less than or equal to the preset duration. The timing duration of the first timer refers to the time between the moment when the user's answering action is detected and the current moment, or the time between the moment when the first 200OK signaling is sent and the current moment.
4. The method according to claim 3, It is characterized in that The method further comprises: If the first ACK signaling is not received and the first timer times out, a 491 signaling is sent.
5. The method according to any one of claims 1 to 4, It is characterized in that The method further comprises: receiving a second ACK signaling from the second terminal; After receiving the second ACK signaling, receive voice data from the second terminal, or send voice data to the second terminal.
6. The method according to any one of claims 1 to 5, It is characterized in that The method further comprises: After receiving the first INVITE signaling, a 180 Ringing signaling is sent to the second terminal.
7. The method according to claim 6, It is characterized in that Before sending the 180Ringing signaling, the method further includes: receiving an UPDATE signaling from the second terminal; In response to the UPDATE signaling, a third 200OK signaling is sent.
8. The method according to any one of claims 1 to 7, It is characterized in that The first 200OK signaling is sent after the playing of the color ring tone starts; the second INVITE signaling is received after the playing of the color ring tone stops.
9. An electronic device, It is characterized in that The electronic device comprises a processor and a memory, wherein the processor and the memory are coupled, and the memory is used to store a computer program. When the computer program is executed by the processor, the electronic device executes the method according to any one of claims 1 to 8.
10. A chip, It is characterized in that The method comprises a processor, and when the processor executes instructions, the processor performs the method according to any one of claims 1 to 8.
11. A computer-readable storage medium, It is characterized in that The computer-readable storage medium stores a computer-executable program, and when the computer-executable program is called by a computer, the computer executes the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Method and device for call connection
CN119155397A
The third party call control method of session inceptive protocol
CN101159519A
Communication method and device and computer storage medium
CN112887497A
Call processing system and method, electronic equipment and storage medium
CN113542512A
Audio gateway device, method for reporting signal indicating that communication line is under establishment is and computer readable recording medium storing notice program for the signal
JP2000236356A
