Method and apparatus for call connection
By judging the session response and ringing message in the calling terminal, the problem of hearing the called terminal sound when the caller is not displayed is solved, and the call experience is improved.
Patent Information
- Application Number
- PCT/CN2024/112149
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-31
- Filing Date
- 2024-08-14
- Publication Date
- 2025-05-08
AI Technical Summary
During the call connection, the calling terminal may hear the voice of the called terminal when the called terminal is not displayed, causing user confusion and a decrease in the call experience.
By implementing the judgment mechanism in the first terminal (calling terminal), the downline voice packet is played only after receiving the session invitation response message (such as 200 OK for INVITE signaling) and the ringing message (such as 180Ringing signaling) from the second terminal (called terminal).
It effectively reduces the probability of silent calls, improves the user's call experience, and avoids the problem of hearing the other party's voice when it is not connected.
Smart Images

Figure CN2024112149_08052025_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 October 31, 2023, with application number 202311439244.5 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] During the process of establishing a call connection, the calling terminal and the called terminal may communicate using messages or signaling in the Session Initiation Protocol (SIP). SIP is an application layer control protocol proposed by the Internet Engineering Task Force (IETF) for multimedia communications over IP networks. The calling terminal and the called terminal may conduct a voice call based on the IP Multimedia Subsystem (IMS) network. Currently, in some scenarios, after the calling terminal calls the called terminal, the called terminal user's voice can be heard even though the called terminal does not display that the call is connected, causing confusion for the calling user and affecting the call experience.
[0004] Summary of the Invention
[0005] 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.
[0006] In a first aspect, a method for call connection is provided, the method being applied to a first terminal, the method comprising:
[0007] Sending a session invitation (e.g., INVITE signaling) to the second terminal through the network device, where the session invitation is used to request to establish a voice call with the second terminal;
[0008] receiving a first provisional response message (e.g., 100Trying) sent by the network device, where the first provisional response is used to indicate that the network device has received the session invitation;
[0009] receiving a second provisional response message (for example, 183 Session Progress signaling or 180 Ringing signaling) returned by the second terminal through the network device, where the second provisional response message is a provisional response message to the session invitation, and the second provisional response message does not include early media information;
[0010] receiving a downlink voice packet sent by the second terminal through the network device;
[0011] If no session invitation response message (eg, 200 OK for INVITE signaling) is received from the second terminal, the downlink voice packet is not played. The session invitation response message is a response to the session invitation and is used to indicate that the second terminal has received the session invitation.
[0012] Exemplarily, the first terminal is a calling terminal, and the second terminal is a called terminal.
[0013] The above technical solution is executed by the first terminal or the chip in the first terminal. Based on the above solution, after the first terminal initiates a call to the second terminal, it receives a second temporary response message from the called terminal, in which the second temporary response message (excluding early media PEM) does not include; if the first terminal does not receive the session invitation response message replied by the second terminal, but receives a downlink voice packet from the called terminal, then even if the downlink voice packet from the second terminal is received, the first terminal will not play it. This avoids the problem that the calling terminal can hear the voice of the called terminal when the connection is not displayed (for example, the call interface of the calling terminal shows that the other party is ringing, or the call interface of the calling terminal shows that a call is in progress), reduces user confusion, and helps to improve the user's call experience.
[0014] During the process of establishing a call between a first terminal and a second terminal, if the first terminal receives a ringing message from the second terminal, it indicates that the second terminal has started ringing. Furthermore, the embodiment of the present application can decide whether to play the downlink voice packet based on the ringing message.
[0015] In some possible implementations, before receiving the downlink voice packet from the second terminal, the method further includes:
[0016] Determining whether a ringing message (e.g., 180Ringing signaling) is received from the second terminal, where the ringing message is used to notify the first terminal that the second terminal has started ringing;
[0017] The not playing of the downlink voice packet when the session invitation response message from the second terminal is not received includes: not playing of the downlink voice packet when the ringing message is not received, and not playing of the downlink voice packet when the session invitation response message from the second terminal is not received.
[0018] Therefore, if the first terminal does not receive a ringing message from the second terminal, nor a session invitation response message from the second terminal, but receives a downlink voice packet from the called terminal, then the first terminal will not play the downlink voice packet even if it receives it. This avoids the problem of the calling terminal hearing the called terminal's voice even though the call is not connected, reduces user confusion, and helps improve the user's call experience.
[0019] In some possible implementations, the method further includes:
[0020] Upon receiving the ringing message, determining whether the ringing message includes early media information;
[0021] If the ringing message includes early media information, playing the downlink voice packet;
[0022] If the ringing message does not include early media information, it is determined whether a session invitation response message is received.
[0023] That is, if the first terminal receives a ringing message, it can decide whether to play the downlink voice packet based on whether the ringing message carries early media information. If the ringing message includes early media information, the downlink voice packet can be played; if the ringing message does not include early media information, the decision to play the downlink voice packet is based on whether a session invitation response message is received.
[0024] In some possible implementations, the method further includes:
[0025] When the session invitation response message is received, the downlink voice packet is played.
[0026] For example, if 200 OK for INVITE signaling is received, the received downlink voice packet needs to be played.
[0027] In some possible implementations, after receiving the second provisional response message, the method further includes:
[0028] Determining whether the second temporary response message includes the early media information;
[0029] In a case where the second temporary response message includes the early media information, the downlink voice packet is played.
[0030] For example, if the received 183 Session Progress signaling includes PEM, then the downlink voice packet needs to be played. In some possible implementations, the second temporary response message includes 183 Session Progress signaling, which is used to establish early media services; and the early media information includes early media PEM parameters.
[0031] In some possible implementations, the session invitation response message is a 200 OK message, such as a 200 OK (INVITE) signaling.
[0032] Of course, in the process of establishing a call between the first terminal and the second terminal, more signaling interactions involved can be referred to the description in the SIP protocol. Only part of the signaling is shown here, and the embodiment of the present application is not limited thereto.
[0033] In some possible implementations, the method further includes:
[0034] Sending a confirmation message to the second terminal through the network device, where the confirmation message is used to notify the second terminal that the first terminal has received the second provisional response message;
[0035] A success response message sent by the second terminal through the network device is received, where the success response message is used to indicate that the second terminal has received the confirmation message.
[0036] For example, the confirmation message is PRACK; the success response message is 200OK (PRACK) signaling.
[0037] In a second aspect, a method for call connection is provided, the method being applied to a network device, the method comprising:
[0038] receiving a session invitation from the first terminal, the session invitation being used to request establishment of a voice call with the second terminal;
[0039] Sending a first provisional response message to the first terminal, where the first provisional response is used to indicate that the network device has received the session invitation;
[0040] sending the session invitation to the second terminal;
[0041] receiving a second temporary response message from the second terminal, where the second temporary response message is a temporary response message to the session invitation, wherein the second temporary response message does not include early media information;
[0042] Sending the second temporary response message to the first terminal;
[0043] receiving a downlink voice packet from the second terminal;
[0044] Send the downlink voice packet to the first terminal.
[0045] The above technical solution is executed by a network device or a chip in the network device. Based on the above solution, after the first terminal initiates a call to the second terminal, the network device sends the second temporary response message of the second terminal (for example, 183 Session Progress signaling) to the first terminal, in the second temporary response message (excluding early media PEM); and sends the downlink voice packet from the second terminal to the first terminal, without sending a session invitation response message to the first terminal, so that the first terminal will not play the voice packet if it does not receive the session invitation response message, thereby avoiding the problem that the calling terminal can hear the voice of the called terminal when the connection is not displayed (for example, the call interface of the calling terminal shows that the other party is ringing, or the call interface of the calling terminal shows that the call is in progress), reducing user confusion and helping to improve the user's call experience.
[0046] Alternatively, in some implementations, after receiving a second provisional response message from a second terminal that does not include a PEM, if the network device subsequently receives a downlink voice packet from the second terminal, the network device does not transmit the downlink voice packet from the second terminal to the first terminal, or does not play the voice, or intercepts the downlink voice packet sent by the second terminal. This prevents the first terminal from receiving the downlink voice packet from the second terminal, and the user of the first terminal will not hear the voice of the user of the second terminal, thus avoiding confusion.
[0047] Alternatively, in some embodiments, after receiving a downlink voice packet from the second terminal, the network device may add a field or identifier to the downlink voice packet to distinguish network audio (such as a ringback tone) from the audio of the second terminal. In this way, after receiving a downlink voice packet from the second terminal, if the first terminal parses the downlink voice packet and finds that the packet carries a target field or target identifier, the first terminal will not play the downlink voice packet.
[0048] In a third aspect, a method for call connection is provided, the method being applied to a first terminal, the method comprising:
[0049] Sending a session invitation (e.g., INVITE signaling) to the second terminal through the network device, where the session invitation is used to request to establish a voice call with the second terminal;
[0050] receiving a first provisional response message (e.g., 100Trying) sent by the network device, where the first provisional response is used to indicate that the network device has received the session invitation;
[0051] receiving a second provisional response message (for example, 183 Session Progress signaling or 180 Ringing signaling) returned by the second terminal through the network device, where the second provisional response message is a provisional response message to the session invitation;
[0052] receiving an uplink voice packet from a user of the first terminal;
[0053] If no session invitation response message (eg, 200 OK for INVITE signaling) is received from the second terminal, the uplink voice packet is not sent. The session invitation response message is a response to the session invitation and is used to indicate that the second terminal has received the session invitation.
[0054] The above technical solution is executed by the first terminal or a chip in the first terminal. Based on this solution, after the first terminal initiates a call to the second terminal, it receives a second temporary response message from the called terminal. If the first terminal does not receive the session invitation response message from the second terminal, but receives an uplink voice packet from the user of the first terminal, the first terminal will not send the uplink voice packet. In this way, if the calling terminal indicates that the call is not connected, the voice of the user of the calling terminal is prevented from being transmitted to the called terminal, thereby reducing the risk of the calling user's voice data being leaked before the call is connected and ensuring the user's privacy.
[0055] Of course, in the process of establishing a call between the first terminal and the second terminal, more signaling interactions involved can be referred to the description in the SIP protocol. Only part of the signaling is shown here, and the embodiment of the present application is not limited thereto.
[0056] In a fourth aspect, a communication device is provided, comprising a unit for executing the method of any one of the implementations of the first or third aspects. The communication device may be a first terminal or a chip within the first terminal. The communication device includes an input unit, a display unit, and a processing unit.
[0057] When the communication 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 implementations of the first aspect, or the terminal executes the method in any one of the implementations of the third aspect.
[0058] When the communication device is a chip within the first terminal, the processing unit may be a logic processing unit within the chip, the input unit may be an input interface, pin or circuit, etc., and the display unit may be a graphics processing unit within the chip; the chip may further include a memory, which may be a memory within 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, or the chip executes any one of the methods in the implementation of the third aspect.
[0059] In a fifth aspect, a network device is provided, including a device for executing the second aspect or any of the methods described in the second aspect, and including corresponding functional modules for implementing the steps of the above methods. The functions can be implemented in hardware or by hardware executing corresponding software implementations. The hardware or software includes one or more modules corresponding to the above functions.
[0060] In a possible implementation, the structure of the network device includes a processing unit and a transceiver unit, which can perform the corresponding functions in the above method example. For details, please refer to the detailed description in the method example, which will not be repeated here.
[0061] 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 transposition executes the method in any one of the implementation modes in the first aspect.
[0062] In the seventh aspect, a computer program product is provided, comprising: a computer program code, which, when executed on a computer, causes the computer to execute the method of the first aspect or any possible implementation of the first aspect, or causes the computer to execute the method of the second aspect or any possible implementation of the second aspect, or causes the computer to execute the method of the third aspect or any possible implementation of the third aspect.
[0063] 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.
[0064] 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.
[0065] In a ninth aspect, a communication system is provided, comprising the aforementioned first terminal, second terminal, and network device. The first terminal may be configured to execute the aforementioned first aspect or any one of the methods in the first aspect; and the network device may be configured to execute the aforementioned second aspect or any one of the methods in the second aspect. Alternatively, the first terminal may be configured to execute the aforementioned third aspect or any one of the methods in the third aspect.
[0066] Optionally, the communication system further includes other network elements, such as a color ring back tone server (such as CAT-AS), an S-CSCF, a calling access network device, a called access network device, and the like. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] FIG1 is a diagram illustrating an example scenario of a communication system using an embodiment of the present application;
[0068] FIG2 is an example diagram of an interaction between a first terminal and a second terminal;
[0069] 3 is a flow chart of signaling interaction when a first terminal calls a second terminal in an embodiment of the present application;
[0070] FIG4 is a diagram showing an example of signaling interaction when a call is abnormal;
[0071] 5 is an example diagram of signaling interaction when a first terminal calls a second terminal in an embodiment of the present application;
[0072] FIG6 is an example diagram of an interface of a calling terminal according to an embodiment of the present application;
[0073] FIG7 is a schematic diagram of an interface of a called terminal according to an embodiment of the present application;
[0074] FIG8 is a flow chart of a method applied to a calling terminal according to an embodiment of the present application;
[0075] FIG9 is a flowchart of another method applied to a calling terminal according to an embodiment of the present application;
[0076] FIG10 is a schematic block diagram of an apparatus for call connection according to an embodiment of the present application;
[0077] FIG11 is a schematic block diagram of a communication device according to an embodiment of the present application;
[0078] FIG12 is a structural diagram of an electronic device according to an embodiment of the present application;
[0079] FIG13 is a schematic block diagram of the software structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0080] The technical solutions in the embodiments of the present application will be described below with reference to the accompanying drawings.
[0081] In the embodiments of the present application, unless otherwise specified, “a plurality of” may mean two or more.
[0082] 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.
[0083] It should be noted that the embodiments of the present application do not limit the specific type of communication system. As long as the communication system adopts the IP multimedia subsystem (IMS) as the voice service implementation solution, then the communication system is applicable to the embodiments of the present application. It should be understood that the voice service and the conversation between terminals in the embodiments of the present application can be understood as voice calls between terminals.
[0084] Figure 1 is a diagram illustrating a scenario in which a communication system employing an embodiment of the present application is employed. As shown in Figure 1 , the communication system 100 includes a first terminal, a second terminal, a first radio access network device, a second radio access network device, a core network (e.g., an Evolved Packet Core (EPC)), and an Internet Protocol (IP) Multimedia Subsystem (IMS) domain core network. The first radio access network device provides network access for the first terminal, and the second radio access network device provides network access for the second terminal.
[0085] The first terminal may establish a session with the second terminal through the first radio access network device, the core network device, the IMS, and the second radio access network device. For the specific process, please refer to the description in FIG. 2 and FIG. 3 .
[0086] In one embodiment, the terminal (first terminal or second terminal) in the embodiment of the present application may be a device equipped with a subscriber identity module (SIM) card and capable of executing voice services.
[0087] In some embodiments, the IMS includes, but is not limited to, a proxy-call session control function (P-CSCF) entity, an interrogating-call session control function (I-CSCF) entity, a serving-call session control function (S-CSCF) entity, and a home subscriber server (HSS).
[0088] P-CSCF can be used as a proxy for signaling and messages. The P-CSCF entity is the first connection point between the access network device and the IMS. All session messages initiated from terminals that support IMS and terminated at terminals that support IMS must be forwarded through the P-CSCF entity. For example, the P-CSCF entity can forward the IMS registration request from the terminal to the S-CSCF entity, and forward the registration response information to the terminal. In one embodiment, the terminal can generate an IMS registration request when events such as power on, restart, exiting flight mode, hot plugging the card, public land mobile network (PLMN) changes, tracking area update (TAU), and IMS registration failure occur. After the terminal registers with the IMS, the IMS can serve the terminal to implement voice services between multiple terminals.
[0089] I-CSCF can be used to assign and query the S-CSCF where the user is registered. The I-CSCF entity can connect the S-CSCF entity and the P-CSCF entity to provide the terminal with an entry to the home network. During the IMS registration process, the P-CSCF entity can forward the IMS registration request from the terminal to the I-CSCF entity. The I-CSCF entity can query the HSS in the IMS and select an S-CSCF entity for the terminal. During the call process, the call message to the IMS network is first routed to the I-CSCF. The I-CSCF entity can query the address information of the S-CSCF entity where the user is registered for the UE through the HSS in the IMS, and then route the message to the S-CSCF.
[0090] The S-CSCF can be used for user registration, authentication control, session routing, and service triggering control, and maintains session state information. The S-CSCF entity is the control core of the IMS, providing terminal functions such as session control and registration. The S-CSCF entity is used to receive IMS registration requests forwarded by the P-CSCF entity and work with the HSS to authenticate the UE. After confirming that the authentication is successful, the S-CSCF obtains the UE's subscription information from the HSS. The S-CSCF entity is also used to connect to various application servers based on the ISC interface. The S-CSCF entity is also used to trigger the application server to perform operations and route the UE's request to the corresponding application server.
[0091] HSS is used to store all user and service-related data, such as user identity, subscription information, access information, etc.
[0092] In other words, the network referred to in the embodiments of the present application can also be understood as a general term for the core network and access network equipment responsible for processing voice services, including networks such as the Internet Protocol IMS network. Among them, the IMS network may specifically include the IMS domain core network and the Evolved Packet Core (EPC). The IMS domain core network includes: service-call control function S-CSCF, I-CSCF, P-CSCF / session border controller (SBC), and several dedicated servers, such as 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). Among them, the PGW and SGW can be combined and can be referred to as "SGW / PGW".
[0093] The aforementioned network elements (or functional entities) are all equivalent elements in the existing IMS network and will not be described in detail here, but will be briefly explained. For example, the SBC provides 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 connects the IMS core network to the wireless network, and the PGW connects the IMS core network to the IP network.
[0094] It should be understood that the network elements or devices included in the communication system 100 shown in Figure 1 are merely exemplary. In addition to the functional units shown in Figure 1, the wireless communication system may also include other functional units, and the embodiments of the present application are not limited thereto. 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. In fact, the communication system 100 may include more terminals and / or more access network devices, or other devices that communicate with any of the devices in Figure 1.
[0095] For example, wireless relay equipment and wireless backhaul equipment may also be included, which are not shown in FIG1 .
[0096] For example, Figure 1 also includes a CRBT server, which provides resources or information related to CRBT services. Terminals can customize CRBT services through the CRBT server, so that when a terminal is called, the customized CRBT is played, allowing the calling user to listen to the CRBT while waiting for the call to be connected. The CRBT server can include a customized alerting tones (CAT) application server (AS).
[0097] Based on the wireless communication system shown in Figure 1, the following describes the process of a first terminal calling another user equipment (second terminal) with reference to Figure 2. The process of the first terminal calling the second terminal may include: a mobile origination (MO) process, an S-CSCF to S-CSCF (SS) establishment process, and a mobile termination (MT) process.
[0098] The MO process is the process of a call from a first terminal to the S-CSCF to which the first terminal belongs. When the first terminal initiates a call to a second terminal (i.e., a session request), the first terminal generates an INVITE request message and sends it to the P-CSCF entity through the first radio access network device and the core network device. After processing the message, the P-CSCF entity can route the request message to the S-CSCF to which the first terminal belongs.
[0099] The SS process is the call process from the S-CSCF of the first terminal to the S-CSCF of the second terminal. The S-CSCF of the first terminal can resolve the address of the I-CSCF of the second terminal's home domain and forward the request message to the I-CSCF of the second terminal. The I-CSCF of the second terminal can send the received request message to the S-CSCF of the second terminal.
[0100] The MT process is the call process from the S-CSCF to which the second terminal belongs to the second terminal. After receiving the request message, the S-CSCF to which the second terminal belongs can send the request message to the P-CSCF entity. After the P-CSCF entity processes the message, it can route the request message to the second terminal.
[0101] Exemplarily, the first terminal is a calling terminal, and the second terminal is a called terminal.
[0102] It can be understood that, whether on the calling or called side, the terminal is connected to the access network equipment via a wireless method, and the wireless access network equipment is connected to the core network equipment via a wireless or wired method. The core network equipment and the wireless access network equipment can be independent and distinct physical devices, or the functions of the core network equipment and the logical functions of the wireless access network equipment can be integrated into the same physical device, or a single physical device can integrate some of the functions of the core network equipment and some of the functions of the wireless access network equipment. The terminal equipment can be fixed or mobile.
[0103] 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.
[0104] 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.
[0105] As an example and not a limitation, in the embodiments 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 are intelligently designed and developed using wearable technology 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 devices 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.
[0106] 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.
[0107] 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.
[0108] 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.
[0109] 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.
[0110] 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.
[0111] 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.
[0112] 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.
[0113] 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.
[0114] The following is a brief introduction to some messages in the SIP protocol.
[0115] 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.
[0116] 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.
[0117] 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.
[0118] 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.
[0119] 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.
[0120] 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.
[0121] SIP protocol response messages are classified as follows:
[0122] 1xx: Information response (call progress response), indicating that the request message has been received and is being processed.
[0123] For example, the 100Trying message is a provisional response message, indicating that the INVITE message has been received and is being processed. Another example is the 180Ringing message, which indicates that the INVITE message has reached the called party and the called party has started ringing. Another example is the 183 Session Progress response, which indicates the progress of establishing a conversation.
[0124] 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.
[0125] 3xx: Redirection response, indicating that further action is required to complete the request.
[0126] 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.
[0127] Referring to Figure 3, Figure 3 illustrates an example of signaling interaction during a normal call flow when a first terminal calls a second terminal. For the sake of simplicity and ease of understanding, the signaling interaction diagrams of the embodiments of the present application do not depict certain network elements or nodes through which the signaling flows, such as the SGW / PGW, SBC / P-CSCF, I-CSCF / S-CSCF, etc.
[0128] It should be understood that the various messages involved in the steps shown in Figure 3 can be existing messages in the SIP protocol or newly defined messages, and there is no specific limitation on this. It should also be understood that the process shown in Figure 3 can be applied to the scenario shown in Figure 1. For example, the network device shown in Figure 3 can be an example of the IMS in Figure 1, or a general term for the access network device, core network device and IMS in Figure 1. When the network device shown in Figure 3 is a general term for the access network device, core network device and IMS in Figure 1, the relevant signaling forwarding process can refer to the description in the protocol, or refer to the relevant explanations of Figures 1 and 2. For another example, the second terminal in Figure 3 can be the second terminal in Figure 1; the first terminal in Figure 3 can be the first terminal in Figure 1.
[0129] Step 301: A first terminal sends an INVITE signaling to a second terminal.
[0130] It should be noted that, in conjunction with the scenario shown in FIG1 , when the user of the first terminal dials the SIM card number of the user of the second terminal, the first terminal initiates a first call to the second terminal.
[0131] 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 the user of the first terminal dials the number of the second SIM card of the second terminal using the first SIM card, the first terminal initiates a first call to the second terminal.
[0132] Exemplarily, when a user of a first terminal dials a number of a user of a second terminal, the first terminal sends an INVITE signaling to the second terminal.
[0133] When the first terminal executes step 301, the interface of the first terminal may display an interface of the call status, for example, the interface shown in (1) in FIG6 .
[0134] The call initiation state can be understood as a state in which the first terminal initiates a call to the second terminal but has not yet established a call connection with the second terminal. For example, the call initiation state is a state in which the first terminal sends an INVITE signaling but has not yet received a 200 OK for INVITE signaling from the second terminal.
[0135] Taking the case where the user of the first terminal is Xiao B (number 152********) and the user of the second terminal is Xiao A (number 151********) as an example, after the calling user (Xiao B) dials the number of the called user (Xiao A), the calling user's mobile phone displays the interface shown in (1) of Figure 6. As shown in the interface shown in (1) of Figure 6, area 601 in the interface shows that dialing is in progress. In addition, area 601 also includes Xiao A's mobile phone number information. Among them, the interface shown in (1) of Figure 6 also includes a hang-up control 602. The mobile phone can end the current call in response to the user clicking the hang-up control 602.
[0136] It can be understood that the interface shown in FIG6 is merely an example description, and the embodiments of the present application are not limited thereto.
[0137] Optionally, as shown in FIG3 , step 301 includes: step 301 - 1 , the first terminal sends an INVITE signaling to the network device; step 301 - 2 , the network device sends the INVITE signaling to the second terminal.
[0138] It should be understood that the signaling (e.g., INVITE signaling) shown in FIG3 is only an example description, or can be understood as a simplified description of the signaling transmission method, and the embodiments of the present application are not limited to this. For example, in fact, during the process of the INVITE signaling from the first terminal to the second terminal, it passes through at least the radio access network device, the relevant network elements in the core network, and the relevant network elements in the IMS domain network in sequence.
[0139] Exemplarily, step 301 in Figure 3 includes: the first terminal sends an INVITE signaling to the first wireless access network device; the first wireless access network device sends the INVITE signaling to the first S-CSCF through the core network; after receiving the INVITE signaling, the first S-CSCF sends the received INVITE signaling to the second S-CSCF; the second S-CSCF sends the INVITE signaling to the second wireless access network device through the core network; the second wireless access network device sends the INVITE signaling to the second terminal.
[0140] It should be understood that the example here is only the sending of INVITE signaling from the first terminal to the second terminal in step 301. Other signaling exchanged between the second terminal and the first terminal in this application (for example, the 183 Session Progress signaling in step 303, the PRACK signaling in step 304, the 200OK (PRACK) signaling in step 305, the UPDATE signaling in step 306, the 200OK (UPDATE) signaling in step 307, etc.) can also be transmitted in the same manner as step 301, and will not be elaborated later.
[0141] It should also be understood that if the second terminal has activated the color ring back tone service, then FIG3 may also involve the CAT-AS process, and the specific process can refer to the introduction in the SIP protocol.
[0142] The INVITE signaling may indicate that the first terminal initiates a call (such as a first call) to the second terminal.
[0143] It is understood that the embodiment of the present application does not specifically limit the timing of the first terminal sending the INVITE signaling. For example, the second terminal may send the INVITE signaling to the first terminal when the calling user initiates a voice call.
[0144] Optionally, the INVITE signaling includes one or more of the following: sequence number (Cseq), Message ID, Response Code, and Call ID.
[0145] For example, the Cseq in the INVITE signaling is: Cseq: 1 INVITE signaling, which means that the sequence number of the INVITE signaling is 1.
[0146] Step 301 describes the network element nodes that the first terminal passes through when sending the INVITE signaling to the second terminal. Generally speaking, when a network element node receives the 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 its previous network element node that the INVITE signaling has been received.
[0147] Step 302-1: The network device sends a 100 Trying signaling to the first terminal.
[0148] In step 302-1, the 100 Trying signaling is used to indicate that the network device has received the INVITE signaling sent by the first terminal.
[0149] It should be noted that the present embodiment does not limit the order in which step 301-2 and step 302-1 are executed. For example, the network device may execute step 301-2 and step 302-1 simultaneously. For another example, the network device may execute step 302-1 first and then step 301-2. For another example, the network device may execute step 301-2 first and then step 302-1.
[0150] Step 302-2: The second terminal sends a 100 Trying signaling to the network device.
[0151] In step 302-2, the 100 Trying signaling is used to indicate that the second terminal has received the INVITE signaling sent by the network device.
[0152] Step 303-1: The second terminal sends a 183 Session Progress signaling to the network device.
[0153] Step 303-2: The network device sends a 183 Session Progress signaling to the first terminal.
[0154] Optionally, after the second terminal sends a 100 Trying signaling to the first terminal, the second terminal sends a 183 Session Progress signaling to the first terminal.
[0155] The 183 Session Progress signaling is used to indicate that the call initiated in step 301 is being processed. In other words, the 183 Session Progress signaling may indicate that the first terminal and the second terminal are negotiating voice codecs.
[0156] 183 Session Progress signaling may refer to session progress information, where the session progress information includes the first handshake information in a three-way handshake process (including the first handshake, the second handshake, and the third handshake) between the first terminal and the second terminal.
[0157] For example, 183 Session Progress signaling can be used to establish early media services. Early media refers to the media stream generated between the calling terminal and the network before the called user answers the call. Early media includes, but is not limited to, ringback tones, queue reminder tones, and customized ringback tones or ring tones.
[0158] During a normal call, the 183 Session Progress signaling includes early media (PEM) information. For example, the PEM value is sendrecv (receivable and transmittable header field). In this case, the network plays the normal sound, such as a ringback tone, customized ringback tone, beep, or other prompt tone. The user of the first terminal can then hear the corresponding sound.
[0159] It should be understood that the above description is based on the example of the sendrecv field carried in the PEM. The present embodiment does not specifically limit the value carried in the PEM. The value carried in the PEM can have other values, such as sendonly, gated, inactive, etc. For specific explanations, please refer to the description of the relevant protocol.
[0160] It is understood that the 183 Session Progress signaling may also include other information, which is not limited in the embodiments of the present application. For example, the 183 Session Progress signaling includes one or more of the following: sequence number (Cseq), Message ID, Response Code, and Call ID. 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 sequence number 1, that is, the INVITE signaling in step 301.
[0161] Step 304-1: The first terminal sends a PRACK signaling to the network device.
[0162] Step 304-2: The network device sends a PRACK signaling to the second terminal.
[0163] The PRACK signaling may include the second handshake information in the three-way handshake. The PRACK signaling may indicate that the first terminal has received the 183 Session Progress signaling sent by the second terminal.
[0164] The process of the first terminal sending the PRACK signaling to the second terminal may refer to the process of the first terminal sending the INVITE signaling to the second terminal in step 301. For the sake of brevity, the detailed sending process of the PRACK signaling is not repeated here.
[0165] Optionally, the PRACK signaling includes one or more of the following: CSeq, Message ID, Response Code, and Call ID.
[0166] 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 INVITE signaling in step 301 is 1, the CSeq of the PRACK signaling in step 304 is 2, the CSeq of the UPDATE signaling in step 306 is 3, and so on.
[0167] Exemplarily, the Cseq in the PRACK signaling is: Cseq 2 PRACK; this illustrates that 1 is added to the Cseq 1 of the INVITE signaling in step 301, so that the Cseq of the PRACK is 2.
[0168] For example, the PRACK signaling has Message ID = IMS_SIP_PRACK; Response Code = INFORMAL_RESPONSE (0).
[0169] The Call ID in the PRACK signaling is consistent with the Call ID value contained in the 183 Session Progress signaling.
[0170] Step 305-1: The second terminal sends a 200 OK (PRACK) signaling to the network device.
[0171] Step 305-2: The network device sends a 200 OK (PRACK) signaling to the first terminal.
[0172] In response to the PRACK signaling sent by the first terminal, the second terminal sends a 200 OK (PRACK) signaling to the first terminal via the network device. It should be noted that 200 OK (PRACK) is the signaling that the second terminal replies to the first terminal in response to the PRACK signaling. The 200 OK (PRACK) signaling can indicate that the PRACK signaling has been received.
[0173] 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.
[0174] It is understood that the process of the second terminal sending the 200 OK (PRACK) signaling to the first terminal can refer to the process of the second terminal sending the 183 Session Progress signaling to the first terminal in step 303. For the sake of brevity, the detailed sending process of 200 OK (PRACK) is not repeated here.
[0175] Step 306-1: The first terminal sends an UPDATE signaling to the network device.
[0176] Step 306-2: The network device sends an UPDATE signaling to the second terminal.
[0177] The UPDATE signaling in step 306-1 or step 306-2 may indicate that the first 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.
[0178] Optionally, after the first terminal receives the 200 OK (PRACK) signaling in step 305-2, the first 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 first terminal has received the voice-dedicated bearer establishment instruction issued by the first 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 second terminal, where the UPDATE signaling includes information indicating that the first terminal has established the first voice bearer.
[0179] After step 306-2, if the second terminal has not yet completed the establishment of the second voice bearer, the second terminal responds to the UPDATE signaling and returns a signaling to the first terminal indicating that the second voice bearer has not been established. In some embodiments, the information indicating that the second voice bearer has not been established is carried in other signaling sent to the first terminal, such as a 200 OK (UPDATE) signaling. After step 306-2, if the second terminal has completed the establishment of the second voice bearer, the 200 OK (UPDATE) signaling in the subsequent step 307 may carry information indicating that the second voice bearer has been established. The process of the first terminal sending the UPDATE signaling to the second terminal can refer to the process of the first terminal sending the INVITE signaling to the second terminal in step 301. For the sake of brevity, the detailed process of sending the UPDATE signaling is not repeated here.
[0180] Step 307-1: The second terminal sends a 200 OK (UPDATE) signaling to the network device.
[0181] Step 307-2: The network device sends a 200 OK (UPDATE) signaling to the first terminal.
[0182] The 200 OK (UPDATE) signaling may indicate that the UPDATE signaling has been received. For example, in step 307-1, the 200 OK (UPDATE) signaling may indicate that the second terminal has received the UPDATE signaling sent from the first terminal.
[0183] 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.
[0184] The UPDATE signaling involved in step 306-1 to step 307-2 is the process of establishing a voice bearer between the second terminal and the first terminal. The UPDATE signaling may also have other functions.
[0185] Step 308-1: The second terminal sends a 180Ringing signaling to the network device.
[0186] Step 308-2: The network device sends a 180 Ringing signaling to the first terminal.
[0187] The 180 Ringing signaling may be ringing information. After the second terminal has established a voice bearer, the 180 Ringing signaling is sent to the first terminal.
[0188] The second terminal may enter the ringing state before sending the 180Ringing signaling. If the voice bearer between the second terminal and the network side has been established, the second terminal will enter the ringing state.
[0189] Optionally, after the second terminal sends the 180 Ringing signaling, the call status of the second terminal is updated to a ringing state, and the second 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.
[0190] Optionally, after the first terminal receives the 180 Ringing signaling, the call status of the first terminal is updated to a ringback tone state, and the first terminal begins playing the ringback tone. Accordingly, the first terminal's interface displays that the other party is ringing. Ringback tone state refers to a state in which, when a call is successful but the called party does not answer the call, the calling terminal plays a ringback tone to remind the user that the called party has not answered the call. Generally, ringback tones include vibration, ringback tone, beep, and personalized music, songs, recordings, and videos.
[0191] For example, after the first terminal receives the 180 Ringing signaling, the interface is displayed as shown in (2) in Figure 6. As shown in (2) in Figure 6, area 603 shows that the current status is that the other party is ringing.
[0192] 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.
[0193] In some embodiments, after the second terminal starts ringing, the user of the second terminal clicks Answer on the second terminal to answer the call.
[0194] The second terminal receives the user's answering action. Accordingly, after the second terminal receives the user's answering action, the interface of the second terminal displays the call timing status. The answering action can be encapsulated as an answering event and passed to the system of the first terminal. An answering event refers to an event triggered when the user connects 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.
[0195] For example, the interface after the second terminal starts ringing is shown in (1) of Figure 7. As shown in (1) of Figure 7, the incoming call interface includes area 701. Area 701 displays the information of the incoming caller, including: Xiao B, operator X, number 152********. In response to Xiao A clicking the answer control 702, the second terminal displays the interface shown in (2) of Figure 7. As shown in (2) of Figure 7, the interface includes area 703. Area 703 displays the call start time (for example, 00:01). Xiao A starts speaking after clicking the answer control 702.
[0196] It will be understood that the interface shown in FIG. 7 is merely an exemplary description, and the embodiments of the present application are not limited thereto.
[0197] Step 309-1: The second terminal sends a 200 OK (INVITE) signaling to the network device.
[0198] Step 309-2: The network device sends a 200 OK (INVITE) signaling to the first terminal.
[0199] Optionally, after the user answers the first call, in response to the INVITE signaling, the second terminal sends a 200 OK (INVITE) signaling to the network device; and the network device sends a 200 OK (INVITE) signaling to the first terminal.
[0200] 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.
[0201] The 200 OK (INVITE) signaling is used to indicate that the second terminal responds to the INVITE signaling, or in other words, the second terminal replies 200 OK to the INVITE signaling sent by the first terminal.
[0202] Optionally, after the user of the second terminal clicks to answer the call on the first terminal, the second terminal sends a 200 OK (INVITE) signaling to the first terminal.
[0203] It should be noted that during the signaling interaction between the second terminal and the first terminal, multiple INVITE signaling and 200 OK (INVITE) signaling may occur. For different INVITE signaling, the 200 OK (INVITE) response from the device can be distinguished by different sequence numbers or sequence identifiers. Figure 3 shows only one INVITE signaling interaction, but the embodiments of the present application are not limited to this.
[0204] Optionally, in some embodiments, the 200 OK (INVITE) in step 309 includes CSeq: 1INVITE, indicating that the 200 OK (INVITE) reply is to the INVITE with sequence number 1. Correspondingly, as described above, the INVITE signaling in step 301 includes sequence number (sequence, CSeq): 1, indicating that the sequence number corresponding to the INVITE signaling is 1.
[0205] Optionally, the 200 OK (INVITE) signaling may further include one or more of the following: Message ID, Response Code, and Call ID.
[0206] The Message ID indicates the name or type of the message. For example, if the Message ID of a 200 OK (INVITE) signaling message is IMS_SIP_INVITE, this means that the 200 OK (INVITE) signaling message is a 200 OK response to an INVITE. Furthermore, the CSeq: 1INVITE included in the 200 OK for INVITE signaling message indicates that the message is for an INVITE signaling message with sequence number 1.
[0207] Response Code is used to indicate the type of message response code, for example, Response Code = OK (200) of 200 OK (INVITE) signaling.
[0208] 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.
[0209] After receiving the 200 OK (INVITE) signaling, the first terminal replies with an ACK signaling to the second terminal. When the second terminal receives the 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 talk.
[0210] Step 310 - 1 : The first terminal sends an ACK signaling to the network device.
[0211] Step 310 - 2 : The network device sends an ACK signaling to the second terminal.
[0212] The ACK signaling may indicate that the first terminal has received the 200 OK (INVITE) signaling sent by the second terminal.
[0213] The process of the first terminal sending the ACK signaling to the second terminal may refer to the process of the first terminal sending the INVITE signaling to the second terminal in step 301. For the sake of brevity, the detailed sending process of the ACK signaling is not repeated here.
[0214] The ACK signaling may be confirmation information. The ACK signaling is used to indicate that the 200 OK (INVITE) signaling has been received. Optionally, the ACK signaling is used to indicate that the first terminal has received the 200 OK (INVITE) signaling sent by the second terminal to the first terminal.
[0215] It is understood that after step 310-2, 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 can be voice data. For example, when the second terminal transmits voice data to the first terminal, the voice data transmitted by the second terminal is referred to as a downlink voice packet. Another example is when the first terminal transmits voice data to the second terminal, the voice data transmitted by the first terminal is referred to as an uplink voice packet.
[0216] 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.
[0217] 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.
[0218] It can also be understood that the step numbers shown in FIG3 are merely exemplary descriptions and do not limit the scope of protection of the embodiments of the present application.
[0219] Figure 3 shows a normal call flow between the first terminal and the second terminal. In Figure 3, the 183 Session Progress signaling includes PEM. However, in the case where the 183 Session Progress signaling does not include PEM, after the user of the second terminal answers the call and starts talking, the user of the first terminal can hear the voice of the second terminal normally, but at this time the interface of the first terminal still shows that the other terminal has not answered the call, causing confusion to the user of the first terminal; and, if the user of the first terminal speaks at this time, the user of the second terminal cannot hear the voice of the user of the first terminal, causing confusion to both users and seriously affecting the user's call experience. The following describes this problem scenario in conjunction with the signaling interaction process shown in Figure 4.
[0220] Refer to Figure 4, which illustrates the signaling interaction flow when the 183 Session Progress signaling does not include a PEM. It should be understood that the various messages involved in the steps shown in Figure 4 may be existing SIP messages or newly defined messages, without specific limitation. It should also be understood that some of the signaling or messages involved in Figure 4 are similar to those in Figure 3. For details, please refer to the explanation in Figure 3. The meaning or explanation of the same signaling will not be repeated here.
[0221] As shown in FIG4 , the dotted steps shown in FIG4 are steps that are not successfully executed, for example, the signaling is lost, or the device does not receive the signaling.
[0222] The difference between Figure 4 and Figure 3 lies in at least the following aspects: first, the 183Session Progress signaling in step 403-1 and step 403-2 in Figure 4 does not include PEM; second, the 180Ringing signaling in Figure 4 is not successfully sent to the first terminal, or in other words, the 180Ringing signaling is lost, or the first terminal does not receive the 180Ringing signaling from the network or the second terminal; third, the 200ok for INVITE signaling in Figure 4 is not successfully sent to the first terminal, or in other words, the 200ok for INVITE signaling is lost, or the first terminal does not receive the 200ok for INVITE signaling from the network or the second terminal.
[0223] Alternatively, the second difference may also be: the 180 Ringing signaling is successfully sent to the first terminal, but the 180 Ringing signaling does not include the PEM.
[0224] As shown in Figure 4, it includes:
[0225] Steps 401-1 to 407-2; for example, steps 401-1 to 407-2 in Figure 4 are the same as steps 301-1 to 307-2 in Figure 3. For related descriptions, please refer to the description in Figure 3 above. The contents of steps 401-1 to 407-2 are not repeated here. Step 403-1 differs from step 303-1 in that the 183 Session Progress signaling in step 403-1 does not include a PEM. Alternatively, step 403-2 differs from step 303-2 in that the 183 Session Progress signaling in step 403-2 does not include a PEM.
[0226] Step 408-1: The second terminal sends a 180Ringing signaling to the network device.
[0227] In step 408-2, the network device does not send 180Ringing signaling to the first terminal. Alternatively, step 408-2 may be replaced by: the network device sends 180Ringing signaling to the first terminal, but the 180Ringing signaling does not include PEM.
[0228] It should be noted that the situations illustrated in steps 408-1 and 408-2 above include the following: the network device received the 180Ringing signaling from the second terminal, but the first terminal did not successfully receive the 180Ringing signaling from the network device. This situation is only one of the situations in which the first terminal did not successfully receive the 180Ringing signaling. Of course, the situation in which the first terminal did not successfully receive the 180Ringing signaling may also be: the network device did not receive the 180Ringing signaling from the second terminal, and subsequently did not send the 180Ringing signaling to the first terminal, resulting in the first terminal not receiving the 180Ringing signaling.
[0229] Step 409-1: The second terminal sends a 200 ok for INVITE signaling to the network device.
[0230] Step 409-2: The network device does not send a 200 OK for INVITE signaling to the first terminal.
[0231] It should be noted that the situations illustrated in steps 409-1 and 409-2 above include the following: the network device receives the 200 OK for INVITE signaling from the second terminal, but the first terminal fails to successfully receive the 200 OK for INVITE signaling from the network device. This situation is only one of the situations in which the first terminal fails to successfully receive the 200 OK for INVITE signaling. Of course, the situation in which the first terminal fails to successfully receive the 200 OK for INVITE signaling may also be the case in which the network device fails to receive the 200 OK for INVITE signaling from the second terminal and subsequently fails to send the 200 OK for INVITE signaling to the first terminal, resulting in the first terminal failing to receive the 200 OK for INVITE signaling.
[0232] It is understandable that since the first terminal does not receive the 200 OK for INVITE signaling from the second terminal, subsequent signaling cannot be executed normally. For example, step 410-1 and / or step 410-2 are not executed, that is, the first terminal does not send an ACK signaling to the second terminal.
[0233] At this time, since the user of the second terminal has clicked to answer the call, the interface of the second terminal will change to the call timer state, for example, the interface shown in (2) in Figure 7.
[0234] Step 411 - 1 : The second terminal sends a downlink voice packet to the network device.
[0235] Step 411 - 2 : The network device sends a downlink voice packet to the first terminal.
[0236] Step 412: The first terminal plays the received downlink voice packet.
[0237] If the above step 408-2 is not executed successfully (or the 180Ringing signaling received in step 408-2 does not include PEM), and if 409-2 is not executed successfully, then the interface of the first terminal will still display the call status (for specific explanation, please refer to the previous description), for example, the interface shown in (1) or (2) in Figure 6. Moreover, since the answering action of the called side cannot be transmitted to the calling side, the calling side will not send an ACK signaling to the called side, so the voice of the calling side is not allowed to be transmitted to the called side, resulting in a single-channel or uplink silent situation. However, since the network device will play the voice packet normally after receiving the voice packet from the second terminal, that is, forwarding the downlink voice packet to the first terminal, this will result in the calling side interface showing the disconnected state, but the voice of the called side can still be heard, causing confusion to the user. For example, when the interface of the first terminal displays the interface shown in (1) or (2) in Figure 6, the voice of the user from the called terminal is heard.
[0238] Furthermore, if the user of the second terminal cannot hear the voice of the user of the first terminal, he will hang up the call, affecting the call experience of both parties. For example, in Figure 4, after the user of the second terminal clicks the answer action, he cannot hear the voice of the user of the first terminal.
[0239] Currently, according to the SIP protocol, for the case where the 183 Session Progress signaling does not include PEM, the solution to this situation has not been clearly defined.
[0240] In view of this, an embodiment of the present application proposes a method for establishing a call connection between a first terminal and a second terminal. When the first terminal receives a downlink voice packet from the second terminal, it determines whether the 183 signaling includes a PEM. If the 183 signaling does not include a PEM, and the 180 Ringing signaling and the 200 OK (INVITE) signaling are not received, the first terminal will not play the received downlink voice packet, so that the interface of the first terminal cannot hear the voice of the user of the second terminal when the display is not connected, thereby avoiding confusion for the user of the first terminal. The following will be explained in conjunction with the process in Figure 5.
[0241] Referring to Figure 5, Figure 5 shows the signaling interaction process when the first terminal in an embodiment of the present application does not receive the 180Ringing signaling and the 200 OK (INVITE) signaling. It should be understood that the various messages involved in the steps shown in Figure 5 can be existing messages in the SIP protocol or newly defined messages, and there is no specific limitation on this. It should also be understood that some of the signaling or messages involved in Figure 5 are similar to those in Figure 3. For details, please refer to the explanation in Figure 3. For the same signaling, its meaning or explanation will not be repeated. It should also be understood that the process shown in Figure 5 can be applied to the scenario shown in Figure 1. For example, the second terminal in Figure 5 can be the second terminal in Figure 1; the first terminal in Figure 5 can be the first terminal in Figure 1.
[0242] In some embodiments, the difference between FIG. 5 and FIG. 4 is that after the first terminal receives the downlink voice packet in step 511-2, the downlink voice packet will not be played, that is, the user of the first terminal cannot hear the voice of the user of the second terminal. As shown in FIG. 5, it includes:
[0243] Steps 501-1 to 507-2; for example, steps 501-1 to 507-2 in Figure 5 are the same as steps 301-1 to 307-2 in Figure 3. For related descriptions, please refer to the description in Figure 3 above. The contents of steps 501-1 to 507-2 are not repeated here. Step 503-1 differs from step 303-1 in that the 183 Session Progress signaling in step 503-1 does not include a PEM. Alternatively, step 503-2 differs from step 503-2 in that the 183 Session Progress signaling in step 503-2 does not include a PEM.
[0244] Step 508-1: The second terminal sends a 180Ringing signaling to the network device.
[0245] In step 508-2, the network device does not send 180Ringing signaling to the first terminal. Alternatively, step 508-2 may be replaced by the network device sending 180Ringing to the first terminal, but the 180Ringing signaling does not include PEM.
[0246] Step 509-1: The second terminal sends a 200 ok for INVITE signaling to the network device.
[0247] In step 509-2, the network device does not send a 200 OK for INVITE signaling to the first terminal. For example, the network device fails to send a 200 OK for INVITE signaling to the first terminal.
[0248] In other words, the first terminal ultimately fails to receive the 200 OK for INVITE signaling. It will be appreciated that in addition to the situation shown in FIG5 where the first terminal fails to receive the 200 OK for INVITE signaling, other situations may also be involved. For example, in step 509-1, the network device fails to successfully receive the 200 OK for INVITE signaling and subsequently fails to send the 200 OK for INVITE signaling to the first terminal. Of course, whether it is a failure of the network device or a failure of the second terminal, the ultimate result is that the first terminal fails to successfully receive the 200 OK for INVITE signaling.
[0249] It is understandable that since the first terminal does not receive the 200 OK for INVITE signaling from the second terminal, subsequent signaling cannot be executed normally. For example, step 510-1 is not executed, that is, the first terminal does not send an ACK signaling to the second terminal.
[0250] Step 511 - 1 : The second terminal sends a downlink voice packet to the network device.
[0251] Step 511 - 2 : The network device sends a downlink voice packet to the first terminal.
[0252] Step 512: The first terminal does not play the received downlink voice packet.
[0253] That is, even if the first terminal receives a downlink voice packet from the second terminal, it will not play it. Thus, from the perspective of the user of the first terminal, when the interface of the first terminal is displayed as disconnected, for example, the interface shown in (1) or (2) in Figure 6, the user of the first terminal will not hear the voice of the user of the second terminal.
[0254] In an embodiment of the present application, if the first terminal receives a 183 Session Progress signaling that does not include a PEM, but does not receive a 180 Ringing signaling and a 200 OK for INVITE signaling from the second terminal, in this case, even if the first terminal receives a downlink voice packet from the second terminal, the first terminal will ignore the downlink voice packet from the second terminal, or will not play the downlink voice packet to the user, so as to avoid confusing the user.
[0255] Figure 5 describes a situation where the 180Ringing signaling is not successfully sent to the first terminal. In some embodiments, the first terminal may also successfully receive the 180Ringing signaling, but the 180Ringing signaling does not carry a PEM. In this case, the first terminal's processing principle after receiving the downlink voice packet is still not to play the downlink voice packet. In other words, if the first terminal receives a 183 Session Progress signaling that does not include a PEM, receives a 180Ringing signaling that does not include a PEM, and does not receive a 200OK for INVITE signaling from the second terminal, in this case, even if the first terminal receives a downlink voice packet from the second terminal, the first terminal will not play the downlink voice packet to the user to avoid confusing the user.
[0256] The present embodiment also provides a processing principle for uplink voice packets. As shown in FIG5 , the process further includes: Step 513 , before receiving the 200 OK for INVITE signaling, if the first terminal has an uplink voice packet (or has received the user's voice), then the first terminal does not send the uplink voice packet.
[0257] Step 513 may occur before receiving the 200 OK for INVITE signaling. For example, as shown in FIG5 , step 513 may occur before step 509 - 2 or before step 510 - 1. For another example, step 513 may occur after the step in FIG5 in which the 200 OK for INVITE signaling is not successfully received.
[0258] For another example, before step 509 - 2 in FIG. 5 , if the first terminal has an uplink voice packet, the first terminal does not send the uplink voice packet.
[0259] If the first terminal does not receive the 200OK for INVITE signaling, the interface of the first terminal still displays the disconnected state, for example, the interface shown in (1) of Figure 6 or the interface shown in (2) of Figure 6. The purpose of this is to prevent the voice of the user of the calling terminal from being transmitted to the called terminal when the calling terminal displays the disconnected state, thereby reducing the risk of the calling user's voice data being leaked before the call is connected and ensuring the user's privacy.
[0260] It should be noted that regardless of whether the 183 Session Progress signaling includes PEM, as long as there is an uplink voice packet in the first terminal before receiving the 200 OK for INVITE signaling, no uplink voice packet is sent, that is, the uplink voice packet is not transmitted to the called terminal through the network device.
[0261] It should also be noted that the method for processing uplink voice packets can be used as a separate embodiment, or it can be implemented in combination with the method for processing downlink voice packets described above. The embodiments of the present application do not specifically limit this.
[0262] For the description of some terms or signaling involved in FIG5 , please refer to the description in FIG3 or FIG4 above.
[0263] It should be noted that the interaction diagram shown in Figure 5 is only for ease of understanding and is not intended to limit the embodiments of the present application to the examples shown in the diagram. In fact, those skilled in the art can perform equivalent transformations based on the example in Figure 5 to obtain more implementation methods.
[0264] It should be understood that the processes in Figures 3 to 5 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.
[0265] It should also be understood that the messages or signaling involved in Figures 3 to 5 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.
[0266] To facilitate understanding of the implementation logic of the embodiment of the present application from the first terminal side, the following description is provided in conjunction with Figure 8. Referring to Figure 8, Figure 8 shows the method flow executed by the calling terminal. It should be understood that the calling terminal shown in Figure 8 can be the first terminal in Figure 5. It should also be understood that the relevant terms or explanations involved in Figure 8 can refer to the description of Figure 5 above. For the sake of brevity, they are not repeated here. As shown in Figure 8, it includes:
[0267] Step 801: The calling terminal initiates a first call to the called terminal, or sends a session request, such as an INVITE signaling.
[0268] For explanations of step 801, reference may be made to the description of step 301 (specifically including step 301-1 and step 301-2) in Figure 3. In some embodiments, step 801 may include step 501-1 and step 501-2 in Figure 5.
[0269] Step 802: The calling terminal receives a first provisional response message from the network device, such as a 100Trying signaling message. The first provisional response is used to indicate that the network device has received the session invitation.
[0270] Step 803: The calling terminal receives a second temporary response message from the called terminal, such as 183 Session Progress or 180 Ringing signaling.
[0271] Step 804: The calling terminal receives a downlink voice packet from the called terminal.
[0272] Step 805: The calling terminal determines whether the 183 Session Progress signaling includes PEM.
[0273] If the 183 Session Progress signaling does not include PEM, then further determine whether the 180 Ringing signaling is received, for example, execute step 806. If the 183 Session Progress signaling includes PEM, then execute step 810, that is, play the received downlink voice packet.
[0274] Step 806: The calling terminal determines whether a ringing message (180Ringing signaling) is received.
[0275] If the 180Ringing signaling from the called terminal is not received, then step 807 is executed; if the 180Ringing signaling from the called terminal is received, then step 808 is executed.
[0276] Step 807: The calling terminal determines whether a session invitation response message (eg, 200 OK for INVITE signaling) is received.
[0277] If the 200 OK for INVITE signaling from the called terminal is not received, step 809 is executed; if the 200 OK for INVITE signaling from the called terminal is received, step 810 is executed.
[0278] In step 808, the calling terminal determines whether the 180Ringing signaling includes a PEM. If so, step 810 is executed to play the voice packet. If not, step 807 is executed to further determine the 200OK for INVITE signaling and determine whether to play the downlink voice packet based on the 200OK for INVITE signaling.
[0279] Step 809: The calling terminal does not play the downlink voice packet.
[0280] Step 810: The calling terminal plays the downlink voice packet.
[0281] It should be understood that the method logic shown in FIG. 8 can be applied to the first terminal in FIG. 5 .
[0282] The present application also provides a method for handling the presence of an uplink voice packet at the first terminal. This is described below in conjunction with FIG9 . Referring to FIG9 , FIG9 illustrates a method flow executed by the calling terminal. It should be understood that the calling terminal shown in FIG9 may be the first terminal in FIG5 . It should also be understood that the relevant terms or explanations involved in FIG9 can refer to the description of FIG5 above, and for the sake of brevity, they will not be repeated here. As shown in FIG9 , it includes:
[0283] Step 901: The calling terminal initiates a first call to the called terminal, or sends a session invitation, such as an INVITE signaling, to the called terminal.
[0284] For explanations of step 901, reference may be made to the description of step 301 in FIG3 . In some embodiments, step 901 may be step 501 in FIG5 .
[0285] Step 902: The calling terminal receives a first provisional response message from the network device, such as a 100Trying signaling message. The first provisional response is used to indicate that the network device has received the session invitation.
[0286] Step 903: The calling terminal receives a second temporary response message from the called terminal, such as 183 Session Progress or 180 Ringing signaling.
[0287] Step 904: The calling terminal receives the user's uplink voice packet.
[0288] Step 905: The calling terminal determines whether a session invitation response message, such as a 200 OK for INVITE signaling, has been received from the called terminal.
[0289] In step 906, if the calling terminal does not receive the 200 OK for INVITE signaling, no uplink voice packets are sent to the called terminal (or network device). This is done to prevent the voice of the user on the calling terminal from being transmitted to the called terminal when the call is not connected, thereby reducing the risk of the calling user's voice data being leaked before the call is connected.
[0290] The above describes how to avoid the following situation from the perspective of the first terminal device: when the interface of the first terminal shows that the connection is not connected, the user of the first terminal can hear the voice of the user of the second terminal. The following provides an implementation method for avoiding the above situation from the perspective of the network device.
[0291] In some embodiments, after receiving a 183 Session Progress message from a called terminal that does not include a PEM, if a network device subsequently receives a downlink voice packet from the called terminal, the network device does not transmit the downlink voice packet from the called terminal to the calling terminal, or does not play the voice, or intercepts the downlink voice packet sent by the called terminal. This prevents the calling terminal from receiving the downlink voice packet from the called terminal, and the user of the calling terminal will not be able to hear the voice of the user of the called terminal, thus avoiding confusion.
[0292] Alternatively, in some embodiments, after receiving a downlink voice packet from the called terminal, the network device may add a field or identifier to the downlink voice packet to distinguish network audio (such as a ringback tone) from the audio of the called terminal. Thus, upon receiving a downlink voice packet from the called terminal, if the calling terminal parses the packet and finds a target field or identifier in the packet, it will not play the downlink voice packet. This prevents the calling terminal from receiving the downlink voice packet from the called terminal, and the user of the calling terminal will not hear the voice of the user of the called terminal, thus avoiding confusion.
[0293] The above description, in conjunction with Figures 1 to 9 , 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 10 to 13 . 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.
[0294] Figure 10 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 3 to 9 .
[0295] As shown in FIG. 10 , the apparatus 600 includes a transceiver unit 610 and a processing unit 620 .
[0296] Exemplarily, the apparatus 600 is configured to execute the method performed by the first terminal in FIG. 5 .
[0297] In some embodiments, the transceiver unit 610 is configured to send a session invitation to the second terminal through a network device, where the session invitation is used to request to establish a voice call with the second terminal;
[0298] The transceiver unit 610 is further configured to receive a first provisional response message sent by the network device, where the first provisional response is used to indicate that the network device has received the session invitation;
[0299] The transceiver unit 610 is further configured to receive a second temporary response message returned by the second terminal through the network device, where the second temporary response message is a temporary response message to the session invitation, wherein the second temporary response message does not include early media information;
[0300] The transceiver unit 610 is further configured to receive a downlink voice packet sent by the second terminal via the network device;
[0301] The processing unit 620 is configured to not play the downlink voice packet if no session invitation response message is received from the second terminal, where the session invitation response message is a response to the session invitation and is used to indicate that the second terminal has received the session invitation.
[0302] Optionally, as an embodiment, the processing unit 620 is configured to determine whether a ringing message from the second terminal is received before receiving the downlink voice packet from the second terminal, the ringing message being used to notify the first terminal that the second terminal has started ringing;
[0303] The processing unit 620 is configured to not play the downlink voice packet when no session invitation response message is received from the second terminal, including:
[0304] In the case where the ringing message is not received and in the case where the session invitation response message is not received from the second terminal, the downlink voice packet is not played.
[0305] Optionally, as an embodiment, the processing unit 620 is also used to determine whether the ringing message includes early media information when the ringing message is received; if the ringing message includes early media information, play the downlink voice packet; if the ringing message does not include early media information, determine whether a response message from the session invitation is received.
[0306] Optionally, as an embodiment, the processing unit 620 is further configured to play the downlink voice packet upon receiving the session invitation response message.
[0307] Optionally, as an embodiment, after receiving the second temporary response message, the processing unit 620 is also used to determine whether the second temporary response message includes the early media information; if the second temporary response message includes the early media information, the downlink voice packet is played.
[0308] Optionally, as an embodiment, the second temporary response message includes 183 session progress signaling, and the 183 session progress signaling is used to establish early media services; the early media information includes early media PEM parameters.
[0309] Optionally, as an embodiment, the session invitation response message is a 200OK message.
[0310] Optionally, as an embodiment, the transceiver unit 610 is also used to send a confirmation message to the second terminal through the network device, and the confirmation message is used to notify the second terminal that the first terminal has received the second temporary response message; the transceiver unit 610 is also used to receive a success response message sent by the second terminal through the network device, and the success response message is used to indicate that the second terminal has received the confirmation message.
[0311] Alternatively, in some other embodiments, the transceiver unit 610 is configured to send a session invitation to the second terminal through a network device, where the session invitation is used to request to establish a voice call with the second terminal;
[0312] The transceiver unit 610 is further configured to receive a first provisional response message sent by the network device, where the first provisional response is used to indicate that the network device has received the session invitation;
[0313] The transceiver unit 610 is further configured to receive a second temporary response message returned by the second terminal through the network device, where the second temporary response message is a temporary response message to the session invitation;
[0314] The transceiver unit 610 is further configured to receive an uplink voice packet from a user of the first terminal;
[0315] The processing unit 620 is configured to not send the uplink voice packet if no session invitation response message is received from the second terminal, where the session invitation response message is a response to the session invitation and is used to indicate that the second terminal has received the session invitation.
[0316] 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.
[0317] 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.
[0318] Figure 11 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 11 can be used to support the execution of some or all of the steps performed by the first terminal device in the various embodiments corresponding to Figures 3 to 9. 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.
[0319] 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.
[0320] The processor 710 is configured to call the transceiver 730 to send a session invitation to the second terminal through the network device, where the session invitation is used to request to establish a voice call with the second terminal; receive a first temporary response message sent by the network device, where the first temporary response is used to indicate that the network device has received the session invitation; call the transceiver 730 to receive a second temporary response message returned by the second terminal through the network device, where the second temporary response message is a temporary response message for the session invitation, wherein the second temporary response message does not include early media information; call the transceiver 730 to receive a downlink voice packet sent by the second terminal through the network device; if the session invitation response message from the second terminal is not received, the downlink voice packet is not played, where the session invitation response message is a response to the session invitation, and the session invitation response message is used to indicate that the second terminal has received the session invitation.
[0321] 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.
[0322] 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.
[0323] 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.
[0324] 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).
[0325] 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 FIG11.
[0326] FIG12 shows a schematic structural diagram of an electronic device 1000 suitable for the present application.
[0327] 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.
[0328] It should be noted that the structure shown in FIG12 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 FIG12, or the electronic device 1000 may include a combination of some of the components shown in FIG12, or the electronic device 1000 may include sub-components of some of the components shown in FIG12. The components shown in FIG12 may be implemented in hardware, software, or a combination of software and hardware.
[0329] 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.
[0330] 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.
[0331] 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.
[0332] 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.
[0333] In some embodiments, when the electronic device 1000 initiates a first call to a second terminal, the processor 110 is used to call the communication module to send a session invitation to the second terminal through a network device, where the session invitation is used to request to establish a voice call with the second terminal; receive a first temporary response message sent by the network device, where the first temporary response is used to indicate that the network device has received the session invitation; receive a second temporary response message returned by the second terminal through the network device, where the second temporary response message is a temporary response message to the session invitation, wherein the second temporary response message does not include early media information; receive a downlink voice packet sent by the second terminal through the network device; if a session invitation response message from the second terminal is not received, the downlink voice packet is not played, where the session invitation response message is a response to the session invitation, and the session invitation response message is used to indicate that the second terminal has received the session invitation.
[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] 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.
[0352] 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 12. The specific implementation steps can be referred to the introduction of the method embodiment above and will not be repeated here.
[0353] 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.
[0354] Exemplarily, the software architecture of the terminal device is described. The terminal device can be the electronic device 1000 shown in Figure 13. 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 13 is a software architecture block diagram of an example terminal device provided by the embodiment of the present application. Figure 13 is illustrated by taking the software architecture of the electronic device 1000 shown in Figure 12 as an example. Figure 13 is a software structure block diagram of the electronic device of the embodiment of the present application.
[0355] 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.
[0356] The application layer can include a series of application packages. As shown in Figure 13, the application package can include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, short message and other applications.
[0357] 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 13, the application framework layer may include a window manager, content provider, telephony manager, resource manager, notification manager, and view system.
[0358] 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.
[0359] 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.
[0360] The phone manager is used to provide communication functions for electronic devices, such as call status management (including answering, hanging up, etc.).
[0361] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0362] 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.
[0363] 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.
[0364] 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.
[0365] 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.
[0366] 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.
[0367] The surface manager is used to manage the display subsystem and provide fusion of 2D and 3D layers for multiple applications.
[0368] 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.
[0369] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, synthesis and layer processing.
[0370] A 2D graphics engine is a drawing engine for 2D drawings.
[0371] 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.
[0372] 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.
[0373] According to the method provided in an embodiment of the present application, the present application also provides a communication system, comprising the aforementioned first terminal, second terminal, and network equipment. Optionally, the network equipment comprises: a called core network device, a calling core network device, a calling access network device, and a called access network device. Optionally, the communication system further comprises a color ring back tone server.
[0374] 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.
[0375] 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.
[0376] 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.
[0377] 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.
[0378] The present application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a computer, implements the method described in any method embodiment of the present application. The computer program can be a high-level language program or an executable target program.
[0379] 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).
[0380] 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.
[0381] 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.
[0382] 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.
[0383] 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.
[0384] 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).
[0385] 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, characterized in that: The method is applied to a first terminal, and the method includes: Sending a session invitation to the second terminal through a network device, wherein the session invitation is used to request to establish a voice call with the second terminal; receiving a first temporary response message sent by the network device, where the first temporary response is used to indicate that the network device has received the session invitation; receiving a second temporary response message returned by the second terminal through the network device, where the second temporary response message is a temporary response message for the session invitation, wherein the second temporary response message does not include early media information; receiving a downlink voice packet sent by the second terminal through the network device; In the case where a session invitation response message is not received from the second terminal, the downlink voice packet is not played, the session invitation response message is a response to the session invitation, and the session invitation response message is used to indicate that the second terminal has received the session invitation.
2. The method according to claim 1, characterized in that Before receiving the downlink voice packet from the second terminal, the method further includes: determining whether a ringing message from the second terminal is received, the ringing message being used to notify the first terminal that the second terminal has started ringing; Wherein, when the session invitation response message from the second terminal is not received, not playing the downlink voice packet includes: In the case where the ringing message is not received and in the case where the session invitation response message from the second terminal is not received, the downlink voice packet is not played.
3. The method according to claim 2, characterized in that The method further comprises: Upon receiving the ringing message, determining whether the ringing message includes early media information; If the ringing message includes early media information, playing the downlink voice packet; If the ringing message does not include early media information, it is determined whether a session invitation response message is received.
4. The method according to claim 3, characterized in that The method further comprises: When the session invitation response message is received, the downlink voice packet is played.
5. The method according to any one of claims 1 to 4, characterized in that After receiving the second provisional response message, the method further includes: Determining whether the second temporary response message includes the early media information; In a case where the early media information is included in the second temporary response message, the downlink voice packet is played.
6. The method according to any one of claims 1 to 5, characterized in that The second temporary response message includes 183 session progress signaling, and the 183 session progress signaling is used to establish an early media service; the early media information includes early media PEM parameters.
7. The method according to any one of claims 1 to 6, characterized in that The session invitation response message is a 200OK message.
8. The method according to any one of claims 1 to 7, characterized in that The method further comprises: Sending a confirmation message to the second terminal through the network device, where the confirmation message is used to notify the second terminal that the first terminal has received the second temporary response message; Receive a success response message sent by the second terminal through the network device, the success response message is used to indicate The second terminal receives the confirmation message.
9. An electronic device, 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, 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, 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
Voice message leaving method and device based on IMS (IP Multimedia Subsystem) network
CN105530389A
Voice calling method and device
CN105656863A
Voice call establishment method and electronic equipment
CN115243206A
Call processing method and device, and storage medium
CN116170415A
Method for playing multimedia customized ringing signal and customized alerting tone, and application server
US20220021765A1
Cited By
Wireless communication method and device
CN121056825A