Call processing method and related device
By selecting and notifying the other party to use a unified coding method or redial the conversation on the terminal device, the problem of no sound after the call is connected is solved, and the call quality and user experience are improved.
Patent Information
- Application Number
- CN202410869211.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-28
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-06-28
AI Technical Summary
When a terminal device uses a SIM card or eSIM card to make a call, there is often no sound after the call is connected, resulting in a poor user experience.
After receiving the 183 session progress message, the terminal device selects a coding method and notifies the other party through a message to use the coding method for audio data transmission, or ends the current session and redials to ensure that both devices use the same coding method for communication.
It reduces the probability of no sound after the call is connected, and improves the call quality and user experience.
Smart Images

Figure CN120768883A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of terminal, and in particular, to a call processing method and related device. BACKGROUND
[0002] A terminal device can use a subscriber identity module (SIM) card or an embedded-SIM (eSIM) card to realize the function of making a call.
[0003] Currently, when a terminal device uses a SIM card or an eSIM card to make a call, a situation that there is no sound after the call is connected may occur, resulting in poor user experience. SUMMARY
[0004] Embodiments of the present application provide a call processing method and related device, which are applied to the technical field of terminal, and are beneficial to improving the quality of a call and improving user experience.
[0005] In a first aspect, a call processing method is provided, which can be applied to a first terminal device. The method comprises: in response to a first operation for making a call, sending a first invitation message, the first invitation message being used to invite a second terminal device to participate in a first session; receiving a 183 session progress message, the 183 session progress message being used to respond to the first invitation message, the 183 session progress message carrying N kinds of encoding modes and not carrying a resource for negotiating an encoding mode, the N kinds of encoding modes being used to encode audio data, each of the N kinds of encoding modes being an encoding mode supported by the second terminal device, N being an integer greater than or equal to 2; after receiving the 183 session progress message, sending a first message, the first message carrying a first encoding mode from the N kinds of encoding modes, the first message being used to indicate that the first terminal device will use the first encoding mode for encoding; before sending the first message, a second message is not received, the second message being used to indicate that the second terminal device has accepted the first invitation message.
[0006] The first terminal device can also be referred to as a calling device, and the second terminal device can also be referred to as a called device. Embodiments of the present application do not limit this.
[0007] The first encoding mode can be any one of the N kinds of encoding modes, or can be selected from the N kinds of encoding modes based on a specific rule. Embodiments of the present application do not limit this.
[0008] The second message is used to indicate that the first session is connected. Before the first message is sent, the second message is not received, which can indicate that before the first message is sent, the first session is not connected. Whether the first session is connected after the first message is sent is not limited by embodiments of the present application.
[0009] The 183 Session Progress message does not contain resources for negotiating an encoding method, but contains N encoding methods. This indicates that there are no resources available for negotiating an encoding method between the first and second terminal devices, and there is no unified encoding method. This prevents audio data from being transmitted between the first and second terminal devices.
[0010] Based on this, after the first terminal device receives the 183 session progress message, it can select the first encoding method from the N encoding methods carried by the 183 session progress message, and indicate through the first message that the first encoding method will be used for encoding. In this way, the first encoding method is the encoding method supported by the second terminal device, which is beneficial for both the first terminal device and the second terminal device to adopt the first encoding method. The encoding method can be unified between the first terminal device and the second terminal device, which is beneficial to realize the use of the first encoding method for audio data transmission, thereby reducing the probability of no sound after the call is connected.
[0011] In one possible implementation, after receiving the 183 session progress message, sending a first message includes: in response to the 183 session progress message, sending a message for indicating the end of the first session; after sending the message for indicating the end of the first session, sending the first message, the first message is also used to invite the second terminal device to participate in the second session.
[0012] The 183 Session Progress message does not contain resources for negotiating an encoding method, but instead contains N encoding methods. This indicates that there are no resources available for negotiating an encoding method between the first and second terminal devices, and there is no unified encoding method. This prevents audio data from being transmitted between the first and second terminal devices. Based on this, the first terminal device can terminate the first session and initiate a second session using the first message.
[0013] The first terminal device ends the first session and initiates the second session through the first message, which can also be called redial after session cancellation. The redial method can be manual redialing by the user or automatic redialing by the first terminal device, which is not limited in the embodiment of the present application.
[0014] In one example, the first message may refer to Figure 7 Invitation message 1.
[0015] The 183 Session Progress message does not carry resources for negotiating an encoding method, but carries N encoding methods. This indicates that the first session will likely be silent after the call is connected. The first terminal device can respond to the 183 Session Progress message by sending a message indicating the end of the first session, which helps to end the first session as quickly as possible and reduce user waiting time. The first terminal device initiates a second session via a first message. The first encoding method carried in the first message is a encoding method supported by the second terminal device. This facilitates the use of the first encoding method by both the first and second terminal devices. The encoding method can be unified between the first and second terminal devices, which facilitates the use of the first encoding method for audio data transmission after the second session is connected, thereby reducing the probability of silence after the call is connected.
[0016] In a possible implementation, after sending the message for indicating the end of the first session, sending the first message includes: after sending the message for indicating the end of the first session, in response to a second operation for making a call, sending the first message.
[0017] The first message is also used to invite the second terminal device to participate in the second session, which may indicate that the second operation for making a call and the first operation for making a call dial the same phone number, so the first terminal device sends the invitation to the same terminal device.
[0018] In one example, in response to the second operation for making a call, the first message is sent, which can be referred to as Figure 6 S603 and S604 in the above are not described in detail here.
[0019] In this way, when the user tries to make the same call for the second time, the first terminal device sends a first message. The first encoding method carried by the first message is an encoding method supported by the second terminal device, which is beneficial for both the first terminal device and the second terminal device to adopt the first encoding method. The encoding method can be unified between the first terminal device and the second terminal device, which is beneficial for the user to use the first encoding method for audio data transmission after the session is connected when the user makes the same call again, thereby reducing the probability of no sound after the call is connected.
[0020] In one possible implementation, after receiving the 183 session progress message, a first message is sent, including: in response to the 183 session progress message, sending a message to the first network device to indicate the end of the first session, the first network device is the device that sends the 183 session progress message; sending a message to the second network device to request access; receiving a message from the second network device to indicate successful access; sending the first message to the second network device, the first message is also used to invite the second terminal device to participate in the second session.
[0021] The process that the first terminal device initiates the first session through the first network device and switches to initiate the second session through the second network device can refer to S801 to S811 in Figure 8 .
[0022] The first terminal device can cancel the first session and initiate the second session through the second network device, which is beneficial to reduce the probability that there is no sound after the phone is connected. In addition, when the first terminal device initiates the second session, the first message carries the first encoding mode supported by the second terminal device, which is beneficial to the first terminal device and the second terminal device both using the first encoding mode, and is beneficial to realizing that the first encoding mode is used for audio data transmission after the second session is connected, thereby reducing the probability that there is no sound after the phone is connected.
[0023] In a possible implementation, after the first message is sent, the method further includes: in a case where audio data is not received within a preset time length, sending a third message, the encoding mode carried by the third message being a second encoding mode in the N encoding modes, the third message being used to indicate that the first terminal device will use the second encoding mode for encoding, the second encoding mode being different from the first encoding mode.
[0024] If audio data is not received after the first message is sent, the first terminal device can select a second encoding mode from the N encoding modes carried by the 183 session progress message and indicate that the second encoding mode will be used for encoding through a third message. In this way, multiple attempts are made, so that the first terminal device and the second terminal device can unify the encoding mode, thereby reducing the probability that there is no sound after the phone is connected.
[0025] In a possible implementation, after the first message is sent, the method further includes: receiving audio data; in response to a third operation for dialing a phone, sending a fourth message, the encoding mode carried by the fourth message being the first encoding mode, the fourth message being used to invite the second terminal device to participate in a third session.
[0026] After the first message is sent and audio data is received, it can be indicated that the first terminal device and the second terminal device can uniformly use the first encoding mode. When the same phone is dialed again, that is, the second terminal device is invited to participate in a session again, the first encoding mode can be carried, which is beneficial to quickly unifying the encoding mode and improving the efficiency of voice communication.
[0027] In one possible implementation, the first encoding method is any one of the N encoding methods; or the first encoding method is the encoding method that is selected the most times among the N encoding methods; or the first encoding method is the encoding method with the highest priority among the N encoding methods. This facilitates the selection of a more optimal encoding method.
[0028] In one possible implementation, the first message includes M encoding methods, each of the M encoding methods is an encoding method supported by the first terminal device, the M encoding methods include N encoding methods, N is an integer greater than or equal to 2 and less than or equal to M, and M is an integer greater than or equal to 2.
[0029] In this way, the encoding method selected by the first terminal device from the N encoding methods is the encoding method supported by the first terminal device and is also the encoding method supported by the first terminal device, which is conducive to unifying the encoding methods as soon as possible.
[0030] In one possible implementation, the telephone is an Internet Protocol (IP) telephone, and in response to a first operation for making a call, sending a first invitation message includes: in response to the first operation for making a call, sending the first invitation message to an IP telephone server, the IP telephone server being configured to select a second terminal device from a plurality of second terminal devices and inviting the second terminal device to participate in the first session.
[0031] The method provided in the embodiment of the present application is applicable to the scenario of making an IP call, which is beneficial to reducing the probability of no sound after the call is connected in this scenario.
[0032] In a possible implementation, the first invitation message is an INVITE message, the 183 session progress message is a 183SESSIONPROGRESS message, and the second message is an INVITE 200OK message.
[0033] In the second aspect, an embodiment of the present application proposes a call processing method, which is applied to a first terminal device. The method includes: in response to a first operation for making a call, sending a first invitation message, the first invitation message is used to invite the second terminal device to participate in the first session; receiving a 183 session progress message, the 183 session progress message is used to respond to the first invitation message, the 183 session progress message carries N encoding methods, does not carry resources for negotiating encoding methods, the N encoding methods are used to encode audio data, each of the N encoding methods is an encoding method supported by the second terminal device, and N is an integer greater than or equal to 2; receiving a second message, the second message is used to indicate that the second terminal device has accepted the first invitation message; if no audio data is received within a preset time period, sending a message for indicating the end of the first session; in response to the second operation for making a call, sending a first message, the encoding method carried by the first message is the first encoding method among the N encoding methods, and the first message is used to indicate that the first terminal device will use the first encoding method for encoding.
[0034] This method can refer to Figure 6 The first message may refer to invitation message 1, and the first encoding method may refer to encoding method A.
[0035] In this way, when there is no sound after the call is connected, when the user dials the same call again, the first terminal device can select an encoding method from the N encoding methods carried by the 183 session progress message so that the first terminal device and the second terminal device can use the encoding method to transmit audio data, which is beneficial to reduce the probability of no sound after the call is connected again.
[0036] In a possible implementation, the preset duration is less than 20 seconds, which helps to shorten the waiting time of the user.
[0037] In a possible implementation, the preset duration is less than 10 seconds, which is helpful to further shorten the user's waiting time.
[0038] In a third aspect, an embodiment of the present application proposes a call processing method, which is applied to a first terminal device. The method includes: in response to a first operation for making a call, sending a first invitation message, the first invitation message is used to invite the second terminal device to participate in the first session; receiving a 183 session progress message from the first network device, the 183 session progress message is used to respond to the first invitation message, the 183 session progress message carries N encoding methods, does not carry resources for negotiating encoding methods, the N encoding methods are used to encode audio data, each of the N encoding methods is an encoding method supported by the second terminal device, and N is an integer greater than or equal to 2; in response to the 183 session progress message, sending a message to the first network device to indicate the end of the first session; sending a message to the second network device to request access; receiving a message from the second network device to indicate successful access; sending a second invitation message to the second network device, the second invitation message is used to invite the second terminal device to participate in the second session, the second invitation message carries P encoding methods, and P is an integer greater than or equal to 2.
[0039] The P encoding methods and the N encoding methods can be the same or different, and this embodiment of the application does not limit this. P can be greater than N or less than N, and this embodiment of the application does not limit this.
[0040] In one example, the method may refer to Figure 8 S801 to S811 in.
[0041] In this way, the first terminal device receives the 183 session progress message. The 183 session progress message does not carry resource reservation but carries N encoding methods. The first terminal device can end the first session and redial in a different domain, that is, communicate with the second terminal device through the second network device, which is conducive to reducing the probability of no sound after the call is connected.
[0042] In one possible implementation, the P encoding modes are the same as the N encoding modes.
[0043] In this way, the encoding method carried by the first message is the same as the encoding method supported by the second terminal device, which is beneficial for the second terminal device to select the encoding method to be used, thereby unifying the encoding methods.
[0044] In a possible implementation, the P encoding modes are one or more of the N encoding modes.
[0045] If the P encoding methods are one of the N encoding methods, this will help unify the encoding methods as soon as possible.
[0046] If the P encoding modes are multiple encoding modes among the N encoding modes, then selecting multiple encoding modes from the encoding modes supported by the second terminal device is beneficial for the second terminal device to select the encoding mode to be used, and has greater flexibility.
[0047] In a fourth aspect, an embodiment of the present application provides a call processing device, which may be an electronic device or a chip or chip system within an electronic device. The call processing device may include a sending unit and a receiving unit.
[0048] In one example, a sending unit is used to send a first invitation message in response to a first operation for making a call, where the first invitation message is used to invite a second terminal device to participate in a first session; a receiving unit is used to receive a 183 session progress message, where the 183 session progress message is used to respond to the first invitation message, where the 183 session progress message carries N encoding methods but does not carry resources for negotiating encoding methods, where the N encoding methods are used to encode audio data, where each of the N encoding methods is an encoding method supported by the second terminal device, and where N is an integer greater than or equal to 2; the sending unit is also used to: after receiving the 183 session progress message, send a first message, where the encoding method carried by the first message is the first encoding method among the N encoding methods, where the first message is used to indicate that the call processing device will use the first encoding method for encoding; where the second message is not received before the first message is sent, where the second message is used to indicate that the second terminal device has accepted the first invitation message.
[0049] In a possible implementation, the sending unit is further configured to: in response to the 183 session progress message, send a message indicating the end of the first session; and send the first message, where the first message is further configured to invite the second terminal device to participate in the second session.
[0050] In a possible implementation, the sending unit is further configured to: after sending the message indicating the end of the first session, send the first message in response to a second operation for making a call.
[0051] In one possible implementation, the sending unit is also used to: in response to the 183 session progress message, send a message to the first network device to indicate the end of the first session, and the first network device is the device that sends the 183 session progress message; send a message to the second network device to request access; the receiving unit is also used to: receive a message from the second network device to indicate successful access; the sending unit is also used to: send a first message to the second network device, and the first message is also used to invite the second terminal device to participate in the second session.
[0052] In a possible implementation, the sending unit is further configured to: in a case where the audio data is not received within a preset time length, send a third message, the third message carrying a second encoding mode of the N encoding modes, the third message being used to indicate that the call processing apparatus will use the second encoding mode for encoding, the second encoding mode being different from the first encoding mode.
[0053] In a possible implementation, the receiving unit is further configured to: receive the audio data; and the sending unit is further configured to: in response to a third operation for dialing the phone, send a fourth message, the fourth message carrying the first encoding mode, the fourth message being used to invite the second terminal device to participate in a third session.
[0054] In a possible implementation, the first encoding mode is any one of the N encoding modes; or, the first encoding mode is an encoding mode that is selected most frequently among the N encoding modes; or, the first encoding mode is an encoding mode that has the highest priority among the N encoding modes. In this way, a relatively optimal encoding mode can be selected.
[0055] In a possible implementation, the first message includes M encoding modes, each of the M encoding modes being an encoding mode supported by the call processing apparatus, the M encoding modes including the N encoding modes, N being an integer greater than or equal to 2 and less than or equal to M, and M being an integer greater than or equal to 2.
[0056] In a possible implementation, the phone is an Internet Protocol (IP) phone; and the sending unit is further configured to: in response to the first operation for dialing the phone, send a first invitation message to an IP phone server, the IP phone server being used to select one second terminal device from a plurality of second terminal devices and invite the second terminal device to participate in the first session.
[0057] In a possible implementation, the first invitation message is an INVITE message, the 183 session progress message is a 183 SESSION PROGRESS message, and the second message is an INVITE 200 OK message.
[0058] In another example, a sending unit is used to: send a first invitation message in response to a first operation for making a call, where the first invitation message is used to invite a second terminal device to participate in a first session; a receiving unit is used to: receive a 183 session progress message, where the 183 session progress message is used to respond to the first invitation message, where the 183 session progress message carries N encoding methods and does not carry resources for negotiating encoding methods, where the N encoding methods are used to encode audio data, where each of the N encoding methods is an encoding method supported by the second terminal device, and where N is an integer greater than or equal to 2; receive a second message, where the second message is used to indicate that the second terminal device has accepted the first invitation message; the sending unit is also used to: send a message indicating the end of the first session if no audio data is received within a preset time period; send a first message in response to a second operation for making a call, where the encoding method carried by the first message is the first encoding method among the N encoding methods, and where the first message is used to indicate that the call processing device will use the first encoding method for encoding.
[0059] In one possible implementation, the preset duration is less than 20 seconds.
[0060] In a possible implementation, the preset duration is less than 10 seconds.
[0061] In another example, a sending unit is used to send a first invitation message in response to a first operation for making a call, where the first invitation message is used to invite a second terminal device to participate in a first session; a receiving unit is used to receive a 183 session progress message from the first network device, where the 183 session progress message is used to respond to the first invitation message, where the 183 session progress message carries N encoding methods but does not carry resources for negotiating encoding methods, where the N encoding methods are used to encode audio data, where each of the N encoding methods is an encoding method supported by the second terminal device, and where N is an integer greater than or equal to 2; the sending unit is also used to: in response to the 183 session progress message, send a message to the first network device to indicate the end of the first session; send a message to the second network device to request access; the receiving unit is also used to: receive a message from the second network device to indicate successful access; the sending unit is also used to: send a second invitation message to the second network device, where the second invitation message is used to invite the second terminal device to participate in a second session, where the second invitation message carries P encoding methods, where P is an integer greater than or equal to 2.
[0062] In one possible implementation, the P encoding modes are the same as the N encoding modes.
[0063] In a possible implementation, the P encoding modes are one or more of the N encoding modes.
[0064] In a fifth aspect, an embodiment of the present application provides an electronic device comprising one or more processors and a memory; the memory is coupled to the one or more processors, the memory being used to store computer program code, the computer program code comprising computer instructions, and the one or more processors calling the computer instructions to enable the electronic device to execute the method described in any aspect or any possible implementation of any aspect.
[0065] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a computer program or instruction is stored. When the computer program or instruction runs on an electronic device, the electronic device executes the method described in any aspect or any possible implementation of any aspect.
[0066] In the seventh aspect, an embodiment of the present application provides a computer program product including a computer program, and the computer program product includes computer program code. When the computer program code runs on an electronic device, the electronic device executes the method described in any aspect or any possible implementation of any aspect.
[0067] In an eighth aspect, the present application provides a chip or a chip system, which is applied to an electronic device, and the chip or chip system includes at least one or more processors, and the one or more processors are used to call computer instructions to execute the method described in any aspect or any possible implementation of any aspect.
[0068] In one possible implementation, the chip or chip system described above in this application further includes at least one memory, in which instructions are stored. The memory may be a storage unit within the chip, such as a register, a cache, etc., or a storage unit of the chip (e.g., a read-only memory, a random access memory, etc.).
[0069] It should be understood that the fifth to eighth aspects of the present application correspond to the technical solutions of any aspect of the embodiments of the present application, and the beneficial effects achieved by each aspect and the corresponding feasible implementation methods are similar and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] Figure 1 This is a schematic diagram of a network architecture provided by an embodiment of the present application;
[0071] Figure 2 This is a scene diagram of a voice call provided in an embodiment of the present application;
[0072] Figure 3 This is a schematic flow chart of a calling method provided in an embodiment of the present application;
[0073] Figure 4This is a schematic diagram of the hardware structure of a terminal device provided in an embodiment of the present application;
[0074] Figure 5 This is a schematic diagram of a software architecture of a terminal device provided in an embodiment of the present application;
[0075] Figure 6 This is a schematic flow chart of a call processing method provided in an embodiment of the present application;
[0076] Figure 7 is a schematic flow chart of another call processing method provided in an embodiment of the present application;
[0077] Figure 8 is a schematic flow chart of another call processing method provided in an embodiment of the present application;
[0078] Figure 9 This is a schematic diagram of an interface display provided by an embodiment of the present application;
[0079] Figure 10 is a schematic flow chart of another call processing method provided in an embodiment of the present application;
[0080] Figure 11 This is a schematic structural diagram of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0081] In order to clearly describe the technical solutions of the embodiments of the present application, the following description is first made:
[0082] In the embodiments of this application, terms such as "first" and "second" are used to distinguish between identical or similar items with substantially the same functions and effects. For example, the first message and the second message are merely used to distinguish different messages and do not define their order. Those skilled in the art will understand that terms such as "first" and "second" do not define the quantity or execution order, and do not necessarily define differences between them.
[0083] It should be noted that in the embodiments of this application, words such as "exemplary" or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described in this application as "exemplary" or "for example" should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.
[0084] In the embodiments of the present application, "at least one" refers to one or more, and "more" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the previous and next associated objects are in an "or" relationship. "At least one of the following items" or similar expressions refers to any combination of these items, including any combination of single items or plural items. For example, at least one of a, b, or c can represent: a, b, c, ab, a--c, bc, or abc, where a, b, c can be single or multiple.
[0085] It should be noted that the "at..." in the embodiments of the present application can be the instant when a certain situation occurs, or it can be a period of time before or after the situation occurs, and the embodiments of the present application do not specifically limit this. In addition, the display interface provided in the embodiments of the present application is only an example, and the display interface can also include more or less content.
[0086] It should be noted that the uppercase and lowercase letters and spaces in the signaling in this application are for example only, and the specific provisions in the standard protocol shall prevail.
[0087] Terminal equipment can use SIM cards or eSIM cards to make calls. Currently, SIM cards or eSIM cards are compatible with the network standards of fourth-generation (4G) and fifth-generation (5G) mobile communication technologies. This allows SIM cards or eSIM cards to support multiple network standards, ensuring users have a stable and efficient communication experience regardless of network conditions.
[0088] In order to better understand the call function of the terminal device, Figure 1 Describe the network architecture in which the terminal device is located.
[0089] For example, Figure 1 FIG1 shows a schematic diagram of a network architecture provided by an embodiment of the present application. Figure 1 As shown, the network architecture may include terminal equipment, long term evolution (LTE), new radio (NR), core network, and internet protocol multimedia subsystem (IMS) or the Internet. The following is a detailed introduction:
[0090] (1) Terminal device: It can also be called user equipment (UE), user terminal, mobile station (MS), mobile terminal (MT), etc. The terminal device can be a mobile phone or a wearable device (such as a smart watch).
[0091] (2) LTE: It can be understood as the wireless access network of the 4G network. In the LTE network (commonly known as the 4G network), due to the evolution relationship, the access network part is called the evolved UMTS terrestrial radio access network (E-UTRAN). In this application, the meaning of LTE is the same as that of E-UTRAN, both referring to the access network part of the 4G network. Terminal devices can access LTE through 4G base stations.
[0092] (3) NR: It can be understood as the radio access network of the 5G network. In the 5G network, the access network part is called the next generation radio access network (NG-RAN or NG RAN). In this application, the meaning of NR is the same as that of NG-RAN (or NG RAN), both referring to the access network part of the 5G network.
[0093] As you can understand, both LTE and NR are access networks. The access network uses wired or wireless connections and communication technologies to connect end users to the core network (also known as the backbone) layer by layer, establishing connectivity. The access network is the edge of the network, the part closest to users and often referred to as the "last mile."
[0094] (4) Core Network: Its main functions are to provide user connections, user management, and service delivery. It serves as a bearer network and provides an interface to external networks. Establishing user connections includes functions such as mobility management (MM), call management (CM), switching / routing, and recording notifications (combined with intelligent network services to complete the connection relationship with intelligent network peripheral devices).
[0095] The core network of a 4G network is the evolved packet core (EPC). The EPC is the core network of a 4G mobile communications network. It encompasses traditional mobile network capabilities, such as user subscription data storage, mobility management, and data exchange, and provides users with an ultra-high-speed internet experience. The core network of a 5G network is the 5G Core (abbreviated as 5GC). 5GC uses general-purpose network function virtualization equipment to replace the dedicated communication equipment of 4G networks.
[0096] It should be noted that Figure 1 The core network in the network architecture shown can be obtained by integrating EPC and 5GC. That is, the core network in the network architecture can include both network elements in EPC and network elements in 5GC. For example, the core network in the network architecture can include access and mobility management function (AMF) network element, mobility management entity (MME) network element, serving gateway (SGW) network element, packet data network gateway (PGW) network element, session management function (SMF) network element, user plane function (UPF) network element, unified data management function (UDM) network element and home subscriber server (HSS) network element, etc.
[0097] In some embodiments of the present application, the core network in the network architecture may include converged network elements obtained from network elements in the EPC and network elements in the 5GC. For example, SMF+PGW-C, UPF+PGW-U, UDM+HSS, etc. Among them, PGW-C is the control plane node of the PGW network element, and PGW-U is the user plane node of the PGW network element.
[0098] In some embodiments of the present application, Figure 1The core network in the illustrated network architecture can include a proxy session border control (PSBC) network element, a combined session border control (SBC), proxy call session control function (P-CSCF), access transfer control function (ATCF), and access transfer gateway (ATGW). As an SBC, it connects the IMS core network / softswitch network with external user access areas, providing service access for IMS / softswitch users, enabling interoperability of user services across different network environments, ensuring IMS / softswitch network security, and supporting quality of service (QoS) management, call admission control (CAC) traffic control, media management, and call detail records (CDRs).
[0099] Each network element in the core network can also be called a functional entity, which can be a network element implemented on dedicated hardware, a software instance running on dedicated hardware, or an instance of a virtualized function on an appropriate platform.
[0100] It should be understood that the names of all network elements in this application are only examples. In future communications, such as the sixth generation (6G) mobile communication technology, they may also be called other names, or, in future communications, such as 6G, the network elements involved in this application may also be replaced by other entities or devices with the same functions, etc., and this application does not limit this. A unified explanation is given here and will not be repeated later. Optionally, the various network elements in the embodiments of the present application may be communication devices, or chips or chip systems that can be used in the communication devices, etc., and this embodiment of the present application does not limit this.
[0101] Understandable, Figure 1 The core network in the illustrated network architecture may also include other devices, network elements, network entities, or network subsystems, such as a policy control function (PCF) network element, which is not limited in this application. It should be noted that this application does not limit the distribution of each network element in the core network. The specific distribution method can be found in relevant technical documents and is not described in detail in this application.
[0102] (5) IMS is a network architecture that provides voice and multimedia communication services (e.g., voice, video, and text messaging) over an Internet Protocol (IP) network. IMS enables secure and reliable multimedia communication between different devices on different networks. The architectural model provides a unified infrastructure and common mechanisms for controlling, operating, routing, and managing sessions, as well as for implementing authentication, authorization, and accounting controls. The IMS specifications include widely used recommendations from the Internet Engineering Task Force (IETF). For example, the Session Initialization Protocol (SIP) is used for session control signaling.
[0103] The Internet, also known as the international network, generally refers to a vast network of interconnected networks, connected by a common set of protocols to form a single, logically vast international network. From a network communications perspective, the Internet is a data communications network that uses the Transmission Control Protocol (TCP) / IP to connect computer networks in countries, regions, and institutions around the world.
[0104] It should be noted that Figure 1 The network architecture shown is not limited to including only the devices and networks shown in the figure, but may also include other devices not shown in the figure, and this application will not give examples one by one.
[0105] Based on the above Figure 1 In the architecture shown, the terminal device can access the LTE network or the NR network and use the LTE network or the NR network to implement voice call functions through the core network, the Internet and the IMS.
[0106] The following combination Figure 2 Describe the voice call function of the terminal device.
[0107] For example, Figure 2 FIG1 shows a scene diagram of a voice call provided by an embodiment of the present application. Figure 2 As shown, the terminal device 210 can transmit audio data with the terminal device 240 through the network device 220 and the server 230. The network device 220 may include a network device 221 and a network device 222.
[0108] Network device 221 is the network device corresponding to the cell where terminal device 210 is currently residing, and network device 222 is the network device corresponding to the cell where terminal device 240 is currently residing. In some embodiments of the present application, network device 221 and network device 222 may also be the same network device, which is not limited in the embodiments of the present application. If network device 221 and network device 222 are different network devices, audio data can be transmitted between network device 221 and network device 222 via an IMS voice bearer.
[0109] In some examples, the network device 221 and / or the network device 222 may be an access network device. For example, the network device 221 and / or the network device 222 may be the above-mentioned Figure 1 The architecture shown supports devices in LTE or NR networks.
[0110] In other examples, the network device 221 and / or the network device 222 may include an access network device and a core network device. For example, the network device 221 and / or the network device 222 may include: Figure 1 The architecture shown supports LTE or NR network devices and the above Figure 1 Devices supporting the core network in the architecture shown.
[0111] The network device 220 and the terminal device 240 can communicate directly or through the server 230, which is not limited in the present embodiment. Therefore, the server 230 is optional.
[0112] In some examples, terminal device 210 may be the party initiating a voice call, requesting a voice call with terminal device 240. Thus, terminal device 210 may also be referred to as a calling device or a mobile originating (MO), which is not limited in this embodiment of the application. Terminal device 240 may be the party receiving the voice call, or may also be referred to as a called device. Terminal device 240 may be a mobile phone or a landline, which is not limited in this embodiment of the application.
[0113] In other examples, terminal device 240 may be the party initiating a voice call, requesting a voice call with terminal device 210. Thus, terminal device 240 may also be referred to as a calling device or MO, which is not limited in this embodiment of the present application. Terminal device 210 may be the party receiving a voice call, also referred to as a called device. Terminal device 210 may be a mobile phone or a landline, which is not limited in this embodiment of the present application.
[0114] If the terminal device 210 and the terminal device 240 communicate with each other through the network device 220 and the server 230, the call made by the terminal device 210 can be called an IP phone, and the server 230 can be called an IP phone server.
[0115] An IP phone can be understood as a public telephone with multiple corresponding terminal devices. When terminal device 210 makes an IP call, multiple terminal devices may be able to answer the call, and the specific terminal device that answers the call can be determined by server 230. For example, when terminal device 210 makes an IP call, network device 220 can send a message to server 230 indicating that terminal device 210 has made an IP call. After receiving the message from network device 220 indicating that the IP call has been made, server 230 selects a terminal device, such as terminal device 240, from the multiple terminal devices to answer the call based on a preset policy.
[0116] For example, the IP phone number can be a bank's phone number. When terminal device 210 dials the bank's phone number, server 230 receives a message indicating the bank's phone number has been dialed via network device 220. In response to the message indicating the bank's phone number has been dialed, server 230 selects terminal device 240 to answer the call based on the region and location of the caller's number.
[0117] If the terminal device 210 and the terminal device 240 communicate via the network device 220 , the call made by the terminal device 210 may be referred to as an ordinary call.
[0118] At present, when the terminal device 210 dials a common phone or IP phone, there will be a situation where there is no sound after the call is connected, resulting in a poor user experience. In addition, when the terminal device 210 dials an IP phone, the probability of no sound after the call is connected is relatively high.
[0119] The following describes the calling method by taking the terminal device 210 making an IP call as an example.
[0120] For example, Figure 3 A schematic flow chart of a call method is shown. This method can be applied to the above Figure 2 The scene shown. Figure 3 As shown, the method may include the following steps:
[0121] S301: The terminal device 210 detects an operation for making a call.
[0122] The terminal device 210 may include a call application. The user can find the phone number to be dialed in the call application and dial the phone by triggering the dial control. When the user triggers the dial control, the terminal device 210 can detect the operation for dialing the phone.
[0123] S302. In response to the operation for making a call, the terminal device 210 can send an invitation message to the network device 220. The invitation message is used to invite the terminal device 240 to participate in the session. The invitation message includes M encoding methods supported by the terminal device 210, where M is an integer greater than or equal to 2.
[0124] The invitation message may carry the phone number corresponding to the terminal device 240. In some examples, the invitation message may be represented as an INVITE message.
[0125] M encoding modes are used to indicate audio encoding modes. In some examples, the M encoding modes may include one or more of adaptive multi rate wideband (AMR-WB), adaptive multi rate (AMR), adaptive multi rate narrowband (AMR-NB), or free lossless audio codec (FLAC).
[0126] In some possible implementations, the invitation message may further include information such as the audio sampling rate and / or the number of audio channels.
[0127] For example, the invitation message may include the following message:
[0128] IMS SIP Message--IMS_SIP_INVITE / INFORMAL_RESPONSE
[0129] Direction = UE_TO_NETWORK
[0130] Message ID = IMS_SIP_INVITE
[0131] a=rtpmap:104AMR-WB / 16000 / 1
[0132] a=rtpmap:102AMR / 8000 / 1
[0133] a=rtpmap:105telephone-event / 16000
[0134] a=rtpmap:96telephone-event / 8000
[0135] From the messages, it can be known that the invitation message is IMS signaling, and is sent by the terminal device to the network device. The invitation message is used to invite the called party to participate in the session. The encoding modes carried in the invitation message include AMR-WB and AMR. The audio payload type corresponding to the AMR-WB is 104, the audio sampling rate is 16000, and the audio channel number is 1. The audio payload type corresponding to the AMR is 102, the audio sampling rate is 8000, and the audio channel number is 1.
[0136] In the event related to the phone, the audio payload type can be 105, and the audio sampling rate can be 16000. Alternatively, in the event related to the phone, the audio payload type is 96, and the audio sampling rate is 8000.
[0137] It can be understood that, in response to the operation for dialing the phone, the terminal device 210 can display an interface that is dialing.
[0138] S303, in response to the invitation message, the network device 220 can send a 100 trying message to the terminal device 210, and the 100 trying message is used to indicate that the terminal device 240 is attempted to be connected.
[0139] In some examples, the 100 trying message can indicate a 100 trying message. The 100 trying message is used to attempt to connect the terminal device 240, that is, to attempt to connect the called party.
[0140] S304, in response to the invitation message, the network device 220 can also send a message including M encoding modes to the server 230. In response to the message including the M encoding modes, the server 230 sends a message carrying N encoding modes to the network device 220, where N is an integer greater than or equal to 2 and less than or equal to M.
[0141] The server 230 sends the message carrying N encoding modes to the network device 220, and the N encoding modes are the supportable encoding modes selected by the terminal device 240 from the M encoding modes.
[0142] In some examples, M can be 3, and N can be 2. Alternatively, M can be 5, and N can be 3, or M can be 4, and N can be 4.
[0143] S305, in response to the message carrying the N encoding modes, the network device 220 can send a 183 session progress message to the terminal device 210, and the 183 session progress message is used to indicate that the invitation message is received. The 183 session progress message does not carry resource reservation, and carries the N encoding modes.
[0144] The 183 session progress message does not carry resource reservation, which can be understood as the 183 session progress message does not carry reserved resources.
[0145] In some examples, the 183 session progress message may be represented as a 183 SESSION PROGRESS message or a 183 Session Progress message. If the 183 session progress message does not carry a precondition, it means that the 183 session progress message does not carry a resource reservation.
[0146] The 183 Session Progress message does not contain resource reservations, indicating that there are no resources available for encoding mode negotiation between terminal device 210 and terminal device 240. The 183 Session Progress message contains N encoding modes, indicating that there is no unified encoding mode between terminal device 210 and terminal device 240. This prevents audio data from being transmitted between terminal device 210 and terminal device 240.
[0147] In some examples, the 183 session progress message may include the following:
[0148] IMS SIP Message--IMS_SIP_INVITE / SESSION_PROGRESS
[0149] Direction = NETWORK_TO_UE
[0150] Message ID = IMS_SIP_INVITE
[0151] Response Code = SESSION_PROGRESS (183)
[0152] m=audio 33080RTP / AVP 104 105 102 96
[0153] a=rtpmap:104AMR-WB / 16000 / 1
[0154] a=rtpmap:102AMR / 8000 / 1
[0155] a=rtpmap:105telephone-event / 16000
[0156] a=rtpmap:96telephone-event / 8000
[0157] From the messages, it can be known that the 183 session progress message is IMS signaling, and is sent by the network device to the terminal device. The 183 session progress message is used to respond to the invitation message. The configuration related to the audio includes: a transmission port is 33080, a transmission protocol is a real-time transport protocol (RTP), a transmission type is an audio-video profile (AVP), and a payload type can include 104, 1054, 102, and 96.
[0158] The encoding mode carried in the 183 session progress message can include AMR-WB and AMR. The audio corresponding to the AMR-WB has a payload type of 104, a sampling rate of 16000, and a channel number of 1. The audio corresponding to the AMR has a payload type of 102, a sampling rate of 8000, and a channel number of 1.
[0159] In the event related to the telephone, the audio can have a payload type of 105 and a sampling rate of 16000. Alternatively, in the event related to the telephone, the audio has a payload type of 96 and a sampling rate of 8000.
[0160] S306, in response to the invitation message, the network device 220 can call the terminal device 240 through the server 230.
[0161] The network device 220 can communicate with the server 230 through the IMS, so that the server 230 calls the terminal device 240.
[0162] S307, the network device 220 determines that the terminal device 240 is ringing through the server 230.
[0163] The server 230 can also communicate with the network device 220 through the IMS to inform the state of the terminal device 240. If the server 230 successfully calls the terminal device 240, the network device 220 can obtain from the server 230 that the terminal device 240 is ringing.
[0164] S308, when the terminal device 240 is ringing, the network device 220 can send a 180 ringing message to the terminal device 210, and the 180 ringing message is used to indicate that the terminal device 240 is ringing.
[0165] When the network device 220 determines that the terminal device 240 is ringing, the network device 220 can inform the terminal device 210 that the opposite party is ringing through the 180 ringing message.
[0166] In some examples, the 180 ringing message can be represented as a 180Ringing message.
[0167] S309、in response to the 180 Ringing message, the terminal device 210 can send an acknowledgement response message to the network device 220, the acknowledgement response message being used to indicate that the 180 Ringing message is received.
[0168] After the terminal device 210 receives the 180 Ringing message, the terminal device 210 can send an acknowledgement response message to the network device 220, so that the network device 220 determines that the 180 Ringing message is accepted.
[0169] In some examples, the acknowledgement response message can be represented as a PRACK message.
[0170] It can be understood that the terminal device can display an interface of dialing in progress before receiving the 180 Ringing message. After receiving the 180 Ringing message, the terminal device 210 can display an interface of the called party being rung in response to the 180 Ringing message.
[0171] S310、the network device 220 determines that the terminal device 240 accepts the session invitation through the server 230.
[0172] If the terminal device 240 accepts the session invitation, the server 230 can inform the network device 220 through the IMS, and the network device 220 can determine that the terminal device 240 accepts the session invitation.
[0173] S311、when the terminal device 240 accepts the session invitation, the network device 220 can send an invitation 200 determination message to the terminal device 210, the invitation 200 determination message being used to indicate that the terminal device 240 accepts the session invitation.
[0174] When the terminal device 240 accepts the session invitation, the network device 220 can inform the terminal device 220 that the called party accepts the session invitation through the invitation 200 determination message.
[0175] In some examples, the invitation 200 determination message can be represented as an INVITE 200 OK message.
[0176] S312、in response to the invitation 200 determination message, the terminal device 210 can send an acknowledgement message to the network device 220, the acknowledgement message being used to indicate that the invitation 200 determination message is confirmed to be received.
[0177] In response to the invitation 200 determination message, the terminal device 210 can inform the network device 220 that the invitation 200 determination message is received through the acknowledgement message.
[0178] In some examples, the acknowledgement message can be an ACK message.
[0179] The terminal device can display an interface indicating that the other party is ringing before receiving the INVITE 200 OK message. After receiving the INVITE 200 OK message, the terminal device 210 can display an interface indicating that the other party is connected in response to the INVITE 200 OK message.
[0180] In S313, the terminal device 210 can trigger a timeout hangup mechanism if no RTP packet is received within 20 seconds.
[0181] The audio data transmitted through the RTP protocol can be referred to as an RTP packet.
[0182] The terminal device 210 and the terminal device 240 are in a call state. The terminal device 240 can encode the audio data through a negotiated encoding mode, and send the encoded audio data to the terminal device 210 through the server 230 and the network device 220. As indicated by the above-mentioned 183 session progress message, there is no resource available for negotiating the encoding mode between the terminal device 210 and the terminal device 240, and there is no unified encoding mode. Therefore, the terminal device 240 cannot encode the audio data, and thus cannot send the audio data to the terminal device 210. In this way, the terminal device 210 cannot receive the RTP packet.
[0183] In S313, the terminal device 210 can trigger a timeout hangup mechanism if no RTP packet is received within 20 seconds.
[0184] In S314, the terminal device 210 can send a message indicating the end of the session to the network device 220.
[0185] In S314, the terminal device 210 can send a message indicating the end of the session to the network device 220.
[0186] In S315, the network device 220 can end the call with the terminal device 240 through the server 230 in response to the message indicating the end of the session.
[0187] In S315, the network device 220 can end the call with the terminal device 240 through the server 230 in response to the message indicating the end of the session.
[0188] As described above Figure 3 It can be known that there is no sound after the call is connected between the terminal device 210 and the terminal device 240. If there is no sound for 20 seconds, the call is hung up.
[0189] If the 183 session progress message carries a coding method, terminal device 210 can use the coding method to transmit audio data with terminal device 240. If the 183 session progress message carries resource reservation, terminal device 210 can use the reserved resources to negotiate the coding method with terminal device 240.
[0190] However, when the 183 session progress message does not carry resource reservation and carries multiple encoding modes, there will be no resources available for negotiating the encoding mode between terminal device 210 and terminal device 240, and there will be no unified encoding mode. This will result in the inability to transmit audio data between terminal device 210 and terminal device 240.
[0191] In view of this, an embodiment of the present application provides a call processing method and related apparatus. When terminal device 210 receives a 183 session progress message, the 183 session progress message does not carry resource reservations but carries multiple encoding methods. In response to the 183 session progress message, terminal device 210 can select one of the multiple encoding methods and indicate that it will use that encoding method for encoding. Thus, terminal device 210 selects one of the encoding methods to communicate with terminal device 240, which facilitates the transmission of audio data between terminal device 240 and terminal device 210 based on the encoding method, thereby reducing the probability of no sound after the call is connected and improving the user experience.
[0192] The call processing method provided in the embodiment of the present application can be applied to terminal devices that support voice calls, such as mobile phones or tablets. For ease of understanding, the terminal device provided in the embodiment of the present application is first introduced.
[0193] Figure 4 This is a hardware structure diagram of a terminal device provided in an embodiment of the present application. Figure 4 As shown, the terminal device 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, 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, and a display screen 194, etc.
[0194] Optionally, the above-mentioned 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.
[0195] It is understood that the structures illustrated in the embodiments of the present application do not constitute specific limitations on the terminal device. In other embodiments of the present application, the terminal device 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.
[0196] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor (Modem), a graphics processing unit (GPU), an image signal processor (ISP), a controller, a memory, a video codec, a digital signal processor (DSP), and / or a neural-network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. Figure 4 In the figure, the processor 110 only shows the AP and the Modem, and the embodiment of the present application focuses on introducing the AP and the Modem.
[0197] The wireless communication function of the terminal device can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, and modem. For example, a voice call between the terminal device and the network device involved in the embodiment of the present application can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, and modem in the terminal device.
[0198] The AP can run an operating system. The operating system running on the AP can adopt a layered architecture, an event-driven architecture, a microkernel architecture, a microservice architecture, or a cloud architecture. The layered architecture can adopt an Android system, or an Apple (IOS) system, or other operating systems, which are not limited in the embodiments of the present application. The AP can detect a user's operation of making a call, and in response to the operation, the AP can communicate with the Modem to implement the call.
[0199] The Modem can include an IMS module and a network attached storage (NAS) module. In the embodiments of the present application, the IMS module and the NAS module can perform the steps shown in Figures 6 to 8 . Among them, the NAS module can perform the steps related to transceiving in Figures 6 to 8 . The IMS module can perform the steps other than the steps related to transceiving in Figures 6 to 8 .
[0200] In some implementations, the AP and the Modem can be integrated on a system on chip (SoC), and the SoC can use the user information provided by the SIM card to implement cellular communication through a radio frequency (RF) component and an antenna (for example, the antenna 1 shown in Figure 4 . Among them, the SoC is also called a system-level chip, which integrates the chips required for the operating system of the terminal device to run on a chip.
[0201] The following takes the Android system as an example to illustrate the software architecture of the terminal device.
[0202] Figure 5 A schematic diagram showing a software architecture of a terminal device is shown. As Figure 5 shown, the Android system is a layered architecture, which divides the AP of the terminal device into several layers, each layer has a clear role and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system can be divided into four layers, from top to bottom, the application layer (applications), the application framework layer, the Android runtime, the system library, the hardware abstraction layer (HAL), and the kernel layer.
[0203] The application layer can include a series of application packages, and the application layer runs applications by calling the application programming interface (API) provided by the application framework layer. Figure 5 As shown, the application package may include applications such as camera, calendar, WLAN, music, short message, gallery, phone, map, Bluetooth, and video. The application layer may also include system UI (system UI), which is used to display the interface of the terminal device, such as displaying the signal icon corresponding to the SIM card, displaying the call interface, etc.
[0204] The application framework layer provides application programming interfaces and programming frameworks for applications in the application layer. The application framework layer includes some predefined functions. Figure 5 As shown, the application framework layer may include a telephony manager, a window manager, a content provider, a resource manager, a notification manager, and a view system. The telephony manager is used to provide call functionality for the terminal device, such as managing call status (including answering, hanging up, etc.). In some examples, the telephony manager may be represented by a telephony. The application framework layer may also include a radio interface layer (RIL). The modem may exchange information with the telephony manager via the RIL.
[0205] The Android system runtime includes core libraries and a virtual machine. The system library can contain modules with multiple functions, such as a surface manager, a 3D graphics processing library, a 2D graphics engine, and a media library.
[0206] The purpose of HAL is to abstract the hardware, provide a unified interface for querying hardware devices for upper-layer applications, or provide data storage services for upper-layer applications. Figure 5 As shown, the HAL layer may include display HAL, camera HAL, audio HAL, and sensor HAL.
[0207] The kernel layer is the layer between hardware and software. Figure 5 As shown, the kernel layer may include display driver, camera driver, audio driver, sensor driver, etc.
[0208] A modem can include an IMS module and a NAS module. The modem can also interact with network devices through an antenna.
[0209] In the embodiments of the present application, the phone application in the AP can obtain a call command in response to an operation for making a call. In response to the call command, the phone application can instruct the system UI to display an interface of a call in progress. The phone application can also transmit the call command to the phone manager. The phone manager can transmit the call command to the Modem through the RIL. In response to the call command, the IMS module in the Modem can instruct the NAS module to send an invite message to the network device. If the NAS module receives a 183 session progress message, the 183 session progress message does not carry resource reservation and carries multiple encoding modes. The NAS module can transmit the 183 session progress message to the IMS module. The IMS module can select one encoding mode from the multiple encoding modes included in the 183 session progress message, instruct the NAS module to send the encoding mode to the network device, and indicate that the first encoding mode will be used for encoding.
[0210] In order to better understand the method provided by the embodiments of the present application, the call processing method provided by the embodiments of the present application is described below by taking a call scenario as an example.
[0211] The embodiments of the present application provide a plurality of examples, which are described below in combination with Figure 6 The first example is described in combination with Figure 7 The second example is described in combination with Figure 8 The third example is described in combination with
[0212] Exemplarily, Figure 6 A schematic flowchart of a call processing method provided by the embodiments of the present application is shown. The method can be applied to the communication system as shown in Figure 2 but the embodiments of the present application are not limited thereto. As shown in Figure 6 the method can include the following steps:
[0213] S601, the calling device detects an operation for making a call.
[0214] The AP of the calling device can include a phone application, and the Modem of the calling device can include an IMS module and a NAS module. In an example, the phone application can provide an interface for the user to make a call. When the user makes a call, the phone application can detect an operation for making a call, and in response to the operation for making a call, a call command can be obtained. The phone application can transmit the call command to the IMS module. The IMS module can instruct the NAS module to send an invite message to the network device. For specific implementation, reference can be made to the above Figure 5 which is not described herein again.
[0215] The calling device can refer to the aforementioned terminal device 210, and the network device can refer to the aforementioned network device 220. The NAS module in the calling device sends an invitation message to the network device, as can be seen in S302 above. The communication between the calling device and the network device can refer to S303 and S312 above. In this way, the calling device can communicate with the called device through the network device and the server.
[0216] S602: If the calling device does not receive an RTP packet within X seconds, the calling device may trigger a hang-up mechanism, where X is less than or equal to 20.
[0217] X is less than or equal to 20. In some examples, X can be 3, 5, 7, 10, 12, 15, 18, or 20, etc., which is not limited in the embodiments of the present application.
[0218] If the calling device does not receive the RTP packet within X seconds, that is, does not receive the audio data of the called device, the user will not be able to hear the other party's voice. At this time, the hang-up mechanism is triggered.
[0219] If X is equal to 20, the hang-up mechanism can also be called the timeout hang-up mechanism. Please refer to the above Figure 3 S313 in the above. Figure 3 The scheme shown has minimal changes to the existing scheme.
[0220] If X is less than 20, the timeout hang-up mechanism is not triggered, and the calling device triggers the hang-up mechanism. In this case, the timeout duration is less than the timeout duration. This way, if no RTP packets are received within X seconds, the calling device can automatically hang up the call with the called device, shortening the user's waiting time.
[0221] The steps after the calling device triggers the hang-up mechanism can refer to the above Figure 3 S314 and S315 in the description will not be repeated here.
[0222] S603: The calling device detects an operation for dialing the same call.
[0223] When a user makes a call and there is no voice from the called party after the call is connected, the user can make the call again. When the user makes the call again, the calling device can detect the operation of making the same call.
[0224] S604: In response to the operation for dialing the same call, the calling device may select encoding method A from the N encoding methods carried in the 183 session progress message.
[0225] In S305 , the calling device may receive a 183 session progress message, which does not carry resource reservations but carries N encoding methods. In response to an operation for dialing the same call, the calling device may obtain the N encoding methods from the 183 session progress message and select encoding method A from the N encoding methods.
[0226] In response to the operation for dialing the same number, the calling device selecting encoding method A from the 183 session progress message is merely an example. In other examples, after S305, the calling device may, in response to the 183 session progress message, obtain the N encoding methods from the 183 session progress message and select encoding method A from among the N encoding methods. In response to the operation for dialing the same number, the calling device may obtain encoding method A.
[0227] In this way, in response to an operation for dialing the same call, the calling device reduces the steps of obtaining the N encoding methods from the 183 session progress message and selecting encoding method A from the N encoding methods, thereby improving processing efficiency. The calling device can select encoding method A from the N encoding methods in a variety of possible implementations.
[0228] In a possible implementation, the calling device may randomly select a coding method from N coding methods to obtain coding method A. This is simple to implement.
[0229] In another possible implementation, the calling device can record the number of times each encoding method has been selected. The calling device can sort the N encoding methods by the number of times they have been selected and select the encoding method with the highest number of selections to obtain encoding method A. This facilitates the selection of a preferred encoding method.
[0230] In another possible implementation, various encoding methods are preset with priorities. The calling device can sort the N encoding methods according to their priorities and select the encoding method with the highest priority to obtain encoding method A. This facilitates the selection of a more optimal encoding method.
[0231] In another possible implementation, a machine learning model can be deployed in the calling device. The training data for the machine learning model can include a phone number and the encoding method used for voice calls using that phone number. The calling device can obtain the phone number dialed by the user and input the phone number into the machine learning model, which then outputs an encoding method. If the encoding method is among N possible encoding methods, it is selected, resulting in encoding method A. If the encoding method is not among the N possible encoding methods, a random encoding method or a similar encoding method is selected, resulting in encoding method A. This facilitates the selection of a preferred encoding method while increasing flexibility.
[0232] S605: The calling device sends an invitation message 1 to the network device. The invitation message 1 is used to invite the called device to participate in the session. The invitation message 1 carries the encoding mode A.
[0233] The difference between the invitation message 1 and the invitation message in S302 is that the invitation message 1 includes one encoding format among the N encoding modes.
[0234] In one example, the above steps S603 to S605 may include: when the user makes another call, the phone application may detect the operation of making the same call and obtain a call command. The phone application may transmit the call command to the IMS module. The IMS module may obtain N encoding methods from the 183 session progress message and select encoding method A from the N encoding methods. The IMS module may instruct the NAS module to send an invitation message 1 including the encoding format to the network device.
[0235] S606: In response to the invitation message 1, the network device may send a 100 Trying message to the calling device. The 100 Trying message is used to indicate an attempt to connect to the called device.
[0236] The 100 Trying message has the same function as the 100 Trying message in S303 above.
[0237] In some examples, the NAS module in the calling device can receive a 100 Trying message from the network device.
[0238] S607: In response to the invitation message 1, the network device may further send information carrying the encoding mode A to the server. In response to the information carrying the encoding mode A, the server sends information carrying the encoding mode A to the network device.
[0239] The information carrying the encoding method A may be used to indicate that the calling device will adopt the encoding method A for encoding.
[0240] S608. In response to the information carrying the encoding mode A, the network device may send a 183 session progress message 1 to the calling device. The 183 session progress message 1 is used to indicate receipt of the invitation message 1. The 183 session progress message 1 carries the encoding mode A.
[0241] Since the encoding method A carried in the invitation message 1 is the encoding format that the calling device will adopt, and the called device also supports encoding method A, the called device can select encoding method A to transmit audio data with the calling device. In this way, the 183 session progress message 1 can carry encoding method A, indicating that the called device has selected encoding method A. In this way, the calling device and the called device have the same encoding method.
[0242] In some examples, the NAS module in the calling device may receive 183 a session progress message 1 from the network device.
[0243] In response to invitation message 1, the network device may also call the called device through the server, wait for the called device to ring, and after the called device accepts the session invitation, notify the calling device of the acceptance, thereby establishing a voice call between the calling and called devices. For details, please refer to S306 to S312 above.
[0244] S609: The network device receives the audio data from the called device and may send an RTP packet encoded using encoding mode A to the calling device.
[0245] The network device can receive the audio data from the called device, obtain an RTP packet, and send the RTP packet encoded using encoding method A to the calling device.
[0246] In some examples, the NAS module in the calling device receives RTP packets encoded using encoding method A and can transmit the RTP packets encoded using encoding method A to the telephone application. The telephone application can play and decode the RTP packets using encoding method A to obtain audio data so that the user can hear the voice of the called party.
[0247] The call processing method provided in the embodiment of the present application provides that, when a user cannot hear the voice of the called party after the call is connected, when the user dials the same number again, the calling device can select an encoding method from the N encoding methods carried in the 183 session progress message so that the calling device and the called device can use the encoding method to transmit audio data, which is beneficial to reducing the probability that the user cannot hear the voice of the called party after the call is connected again.
[0248] Optionally, in the above Figure 6In the method shown, after S605, the calling device receives an error message, or the calling device receives a 183 session progress message including multiple encoding modes, or the calling device does not receive an RTP packet within a time period (for example, X seconds or 20 seconds), the calling device can select one of the N encoding modes other than encoding mode A, and repeat S605 until the calling device can receive an RTP packet.
[0249] In this way, it is beneficial to reduce the probability that the user cannot hear the voice of the called party after the call is connected again.
[0250] Optionally, in the above Figure 6 In the method shown, the method further includes that the calling device records the phone number and the encoding mode A. When the calling device detects the operation of dialing the same phone again, the calling device can send an invitation message carrying the encoding mode A to the network device. In this way, the process of selecting the encoding mode A from multiple encoding modes does not need to be repeated, which is beneficial to improve the efficiency of voice communication.
[0251] The first example is introduced above, and the second example is introduced below.
[0252] Exemplarily, Figure 7 A schematic flowchart of a method of voice communication is shown. The method can be applied to the above Figure 2 As shown in Figure 7 The method can include the following steps:
[0253] S701, the calling device detects an operation for dialing a phone.
[0254] S702, in response to the operation for dialing a phone, the calling device can send an invitation message to the network device.
[0255] S703, in response to the invitation message, the network device can send a 100 attempt message to the calling device.
[0256] S704, in response to the invitation message, the network device can also send a message carrying M encoding modes to the server. In response to the message carrying M encoding modes, the server sends a message carrying N encoding modes to the network device.
[0257] S705, in response to the message carrying N encoding modes, the network device can send a 183 session progress message to the calling device.
[0258] S701 to S705 can refer to S301 to S305 described above, and will not be described here.
[0259] S706, in response to the 183 session progress message, the calling device can send a message for indicating ending a session to the network device.
[0260] The message for indicating ending the session can be used to indicate that the network device does not respond to the invitation message.
[0261] In some examples, in response to the 183 session progress message, the IMS module of the calling device can instruct the NAS module to send the message for indicating ending the session to the network device.
[0262] In response to the operation for dialing the phone, the calling device can display an interface of dialing in progress, and the calling device still displays the interface of dialing in progress when the calling device sends the message for indicating ending the session to the network device. In this way, the interface does not display hang up, and the user does not need to redial the phone, which is beneficial to reduce the operation of the user.
[0263] S707, in response to the message for indicating ending the session, the network device cancels calling the called device.
[0264] The network device cancels calling the called device, so that the called device can not ring.
[0265] S708, in response to the 183 session progress message, the calling device can select the encoding mode A from N encoding modes included in the 183 session progress message.
[0266] S709, the calling device sends an invitation message 1 to the network device, the invitation message 1 is used to invite the called device to participate in the session, and the invitation message 1 carries the encoding mode A.
[0267] The calling device performs S706 to S709, which can be understood as the host device redials after session cancellation.
[0268] The above S708 and S709 can include that the IMS module of the calling device can select the encoding mode A from N encoding modes included in the 183 session progress message, and instruct the NAS module to send the invitation message 1 to the network device.
[0269] S710, in response to the invitation message 1, the network device can send a 100 attempt message to the calling device, the 100 attempt message is used to indicate an attempt to connect the called device.
[0270] S711, in response to the invitation message 1, the network device can also send a message carrying the encoding mode A to the server. In response to the message carrying the encoding mode A, the server sends a message carrying the encoding mode A to the network device.
[0271] S712, in response to the message carrying the encoding mode A, the network device can send a 183 session progress message 1 to the calling device, the 183 session progress message 1 is used to indicate that the invitation message 1 is received, and the 183 session progress message 1 carries the encoding mode A.
[0272] In response to the invitation message 1, the network device can also call the called device, wait for the called device to ring, and inform the calling device that the called device has accepted the session invitation after the called device accepts the session invitation, so as to realize the voice session between the calling device and the called device. For details, refer to S306 to S312 described above, which will not be described here again.
[0273] S713, the network device receives the audio data of the called device, and can send the RTP packet encoded by using the encoding mode A to the calling device.
[0274] S708 to S713 can refer to S604 to S609 described above, which will not be described here again.
[0275] The calling device receives the 183 session progress message, the 183 session progress message does not carry resource reservation, carries N encoding modes, and in response to the 183 session progress message, the calling device can cancel the session and select one encoding mode from the N encoding modes carried in the 183 session progress message for redialing, so as to facilitate the calling device and the called device to use the encoding mode for audio data transmission, and is conducive to reducing the probability that the user cannot hear the sound of the called party after the phone is connected. In this way, compared with the first example described above, the user does not need to dial the same phone again, reducing the user's operation, and being conducive to improving the user experience.
[0276] Optionally, in the method shown in the above Figure 7 In the method shown in the above
[0277] In this way, it is conducive to reducing the probability that the user cannot hear the sound of the called party after the phone is connected.
[0278] Optionally, in the method shown in the above Figure 7 The method further includes that the calling device records the phone number and the encoding mode A. When the calling device detects the operation of dialing the same phone again, the calling device can send the invitation message carrying the encoding mode A to the network device. In this way, the process of selecting the encoding mode A from the multiple encoding modes does not need to be repeatedly performed, and it is conducive to improving the voice session efficiency.
[0279] The above introduces two examples in combination with Figure 6 and Figure 7 The following will be introduced in combination with Figure 8A third example is introduced.
[0280] Exemplarily, Figure 8 A schematic flow chart of a method of a voice session is shown. The method can be applicable to the scenarios described above Figure 2 The method can be applicable to the scenarios described above
[0281] As Figure 8 shown, the method can comprise the following steps:
[0282] S801, the calling device detects an operation for dialing a phone.
[0283] S802, in response to the operation for dialing a phone, the calling device can send an invitation message to the first network device.
[0284] The calling device accesses the first network device. In response to the operation for dialing a phone, the calling device can send an invitation message to the first network device.
[0285] In the embodiments of the present application, the first network device can refer to the network device 220 in the above Figure 2
[0286] S803, in response to the invitation message, the first network device can send a 100 attempt message to the calling device.
[0287] S804, in response to the invitation message, the first network device can also send a message comprising M encoding modes to the server. In response to the message comprising M encoding modes, the server sends a message carrying N encoding modes to the first network device.
[0288] S805, in response to the message carrying N encoding modes, the first network device can send a 183 session progress message to the calling device.
[0289] S806, in response to the 183 session progress message, the calling device can send a message for indicating ending a session to the first network device.
[0290] S807, in response to the message for indicating ending a session, the first network device cancels calling the called device.
[0291] S801 to S807 can refer to S701 to S707 described above, which will not be repeated here.
[0292] S808, in response to the 183 session progress message, the calling device can perform a network search action.
[0293] In response to the 183 session progress message, the calling device may search for other network devices other than the first network device within its range. The networks supported by the other network devices are different from the networks supported by the first network device.
[0294] The calling device is within the coverage of the first network device and the second network device. The network supported by the first network device is different from the network supported by the second network device. The calling device can search for the second network device.
[0295] The network supported by the first network device is different from the network supported by the second network device.
[0296] In some examples, the first network device may support a 5G network, and the second network device may support a 4G network. Alternatively, the first network device may support a 4G network, and the second network device may support a 5G network.
[0297] In some examples, in response to the 183 session progress message, the NAS module in the calling device may perform a network search.
[0298] S809: When the second network device is found, the calling device may send an access request message to the second network device. The access request message is used to request access to the second network device.
[0299] In some examples, the access request message may include Access Request information. Optionally, the access request message may also carry information such as an identity of the calling device.
[0300] In some examples, when the second network device is found, the NAS module in the calling device may send an access request message to the second network device.
[0301] S810. In response to the access request message, the second network device may send an access accept message to the calling device. The access accept message is used to indicate successful access.
[0302] In some examples, the access acceptance message may include an Access accept message to indicate successful access.
[0303] In some examples, in response to the access request message, the NAS module in the calling device may receive an access accept message from the second network device.
[0304] S811: In response to the access acceptance message, the calling device may send an invitation message to the second network device.
[0305] In this step, the information carried in the invitation message and the function are the same as those in the above S802.
[0306] In some examples, in response to the access accept message, the NAS module in the calling device can send an invite request to the second network device.
[0307] The calling device performing S808 to S811 can be understood as the calling device performing domain switching redialing. The domain switching can refer to switching of mobile communication technology, for example, switching from 6G to 5G, switching from 5G to 4G, and the like. The domain switching can also refer to switching of communication standards, for example, switching from an NR network to an LTE network, or switching from an LTE network to an NR network. The LTE network can meet the standard of a 4G network, and the NR network can meet the standard of a 5G network.
[0308] In some examples, in response to the 183 session progress message, the IMS module in the calling device can instruct the NAS module to perform domain switching redialing, that is, performing S808 to S811 described above.
[0309] S812, in response to the invite message, the second network device can send a 100 trying message to the calling device, the 100 trying message being used to indicate an attempt to connect the called device.
[0310] S813, in response to the invite message, the second network device can also send a message including M encoding modes to the server. In response to the message carrying the encoding mode B, the server sends a message carrying the encoding mode B to the second network device.
[0311] S814, in response to the message carrying the encoding mode B, the second network device can send a 183 session progress message 2 to the calling device, the 183 session progress message 2 being used to indicate acceptance of the invite message, and the 183 session progress message 2 carrying the encoding mode B.
[0312] The encoding mode B can be any one of the multiple encoding modes supported by the calling device. The encoding mode A can be the same as or different from the encoding mode A described above, and the embodiments of the present application do not limit this.
[0313] In some examples, in response to the invite message, the NAS module in the calling device can receive the 183 session progress message 2 from the second network device.
[0314] In response to the invite message, the second network device can also call the called device, wait for the called device to ring, and after the called device accepts the session invitation, inform the calling device that the called device has accepted the session invitation, to realize voice communication between the calling device and the called device. For details, reference can be made to S306 to S312 described above, which will not be described here again.
[0315] S815: The second network device receives the audio data from the called device and may send an RTP packet encoded using encoding mode B to the calling device.
[0316] The second network device may receive the audio data from the called device, obtain an RTP packet, and send the RTP packet encoded using encoding mode B to the calling device.
[0317] In some examples, when executing Figure 8 During the method shown, the interface of the calling device may change as follows: Figure 9 In response to the operation for opening the phone application, the calling device may display a phone interface, such as Figure 9 As shown in the a interface in. Figure 9 In interface a, the phone interface includes a phone keypad, call information, and three controls. The call information includes the call date and the caller's name, for example, a call was made with An An on October 14, and a call was made with A Fa on October 8. The three controls may include a phone control, a contact control, and a favorites control. Figure 9 In the a interface, the calling device displays an HD icon, which means that the calling device has a SIM card installed and can use the SIM card to make calls. Figure 9 In the a interface, the calling device also displays a 5G logo 901, which indicates that the network where the calling device is located is a 5G network and can communicate with the first network device through the 5G network.
[0318] When the user triggers the AnAn option, the calling device can detect the operation for making a call and display a dialing interface in response to the operation for making a call, such as Figure 9 As shown in the b interface. Figure 9 In interface b, the dialing interface displays An An, Dialing 902, and eight controls. These eight controls may include recording, waiting, adding a call, video call, mute, contacts, keyboard, hang up, and speaker controls. The dialing interface may also be referred to as the dialing interface, which is not limited in this embodiment of the application.
[0319] The calling device is showing Figure 9 During the process of accessing the b interface, S802 to S809 can be executed. If the second network device is successfully connected and the second network device supports the 4G network, the calling device can display the 4G network on the interface, such as Figure 9 As shown in the c interface. Figure 9 In the c interface, the dialing interface includes a 4G logo 903.
[0320] The calling device is showing Figure 9During the process of the c interface in the process, S811 to S814 can be executed. When the calling device receives the 190 ringing message, it can display the interface of the other party ringing, such as Figure 9 As shown in the d interface. Figure 9 In the d interface, the interface includes the other party ringing 904.
[0321] When the calling device receives the invitation 200 confirmation message, it can display the call interface, such as Figure 9 As shown in the e interface. Figure 8 In the e interface, the call interface includes the call duration.
[0322] In the call processing method provided in the embodiment of the present application, the calling device receives a 183 session progress message. The 183 session progress message does not carry resource reservation but carries N encoding methods. The calling device can cancel the session and redial in a different domain, that is, access other network devices and communicate with the called device through other network devices. This is beneficial to reducing the probability that the user cannot hear the called party's voice after the call is connected.
[0323] Optionally, in the above Figure 8 The method shown further includes: the calling device recording the phone number and encoding method B. When the calling device detects that the same phone number has been dialed again, it can send an invitation message carrying encoding method B to the first network device. This eliminates the need to repeatedly select encoding method B from multiple encoding methods, thereby improving voice call efficiency.
[0324] Optionally, in the above Figure 8 In the illustrated method, after S811, if the calling device receives an error message, or receives a 183 session progress message including multiple encoding modes, or fails to receive an RTP packet within a certain period of time (e.g., X seconds or 20 seconds), the calling device may select one encoding mode from N encoding modes, such as encoding mode A, and send an invitation message 1 to the second network device. This invitation message 1 carries encoding mode A. This helps reduce the probability of a user being unable to hear the called party's voice after the call is connected.
[0325] above Figure 7Just for a possible example, in another example, the calling device receives the 183 session progress message, the 183 session progress message does not carry the resource reservation, carries N encoding modes, the calling device can cancel the session and perform domain change redial, that is, perform S806-S811 described above. In response to the invitation message, the second network device can send a 183 session progress message 3 to the calling device, the 183 session progress message 3 is used to indicate that the invitation message is accepted, and the 183 session progress message 3 includes the resource reservation. The calling device and the second network device can negotiate the encoding mode through the resource reservation. In this way, accessing the other network device and communicating with the called device through the other network device can help reduce the probability that the user cannot hear the sound of the called party after the phone is connected.
[0326] In yet another example, the calling device receives the 183 session progress message, the 183 session progress message does not carry the resource reservation, carries N encoding modes, and the calling device can perform S806-S810 described above. The calling device can also send an invitation message 1 to the second network device, the invitation message 1 carries the encoding mode A. In this way, accessing the other network device and sending an encoding mode supported by the called device can help quickly negotiate the encoding mode, thereby reducing the probability that the user cannot hear the sound of the called party after the phone is connected.
[0327] The method described above Figure 8 The method described above Figure 7 The method described above Figure 8 The method described above Figure 7 The method described above The method described above
[0328] If the method described above Figure 8 The method described above Figure 8 If the method described above Figure 7 The method described above Figures 6 to 8 The method described above The method described above
[0329] If the current network is 5G and the user cannot hear the called party after the call is connected, switching network devices is more likely to resolve the issue. If the current network is 4G, this indicates that the 5G network may be unstable. If the user cannot hear the called party after the call is connected, switching to 5G is less likely to resolve the issue, so redialing using the original network standard is recommended. This provides greater flexibility and helps reduce the probability of the user not being able to hear the called party after the call is connected.
[0330] above Figures 6 to 8 One or more of the methods shown may exist in the same terminal device, and this embodiment of the present application does not limit this.
[0331] The above-mentioned Figure 10 The method provided by the embodiment of the present application has been described from the perspective of the communication system. The method provided by the embodiment of the present application will be described from the perspective of the calling device. The calling device will be referred to as the first terminal device and the called device will be referred to as the second terminal device.
[0332] For example, 10 shows a schematic diagram of a communication method provided by an embodiment of the present application. Figure 11 As shown, the method includes the following steps:
[0333] S1001. In response to a first operation for making a call, send a first invitation message, where the first invitation message is used to invite a second terminal device to participate in a first conversation.
[0334] S1002. Receive a 183 session progress message. The 183 session progress message is used to respond to the first invitation message. The 183 session progress message carries N encoding methods but does not carry resources for negotiating encoding methods. The N encoding methods are used to encode audio data. Each of the N encoding methods is an encoding method supported by the second terminal device. N is an integer greater than or equal to 2.
[0335] S1003. After receiving the 183 session progress message, send a first message. The encoding method carried by the first message is the first encoding method among N encoding methods. The first message is used to indicate that the first terminal device will use the first encoding method for encoding. Before sending the first message, the second message is not received. The second message is used to indicate that the second terminal device accepts the first invitation message.
[0336] The 183 Session Progress message does not contain resources for negotiating an encoding method, but contains N encoding methods. This indicates that there are no resources available for negotiating an encoding method between the first and second terminal devices, and there is no unified encoding method. This prevents audio data from being transmitted between the first and second terminal devices.
[0337] Based on this, after receiving the 183 session progress message, the first terminal device can select a first encoding mode from the N encoding modes carried in the 183 session progress message, and indicate that the first encoding mode will be used for encoding through the first message, so that the first encoding mode is an encoding mode supported by the second terminal device, which is conducive to the first terminal device and the second terminal device using the first encoding mode, and the first terminal device and the second terminal device can unify the encoding mode, which is conducive to realizing audio data transmission using the first encoding mode after the session is connected, thereby reducing the probability that there is no sound after the phone is connected.
[0338] Optionally, after receiving the 183 session progress message, the first message is sent, including: in response to the 183 session progress message, a message for indicating ending the first session is sent; and after sending the message for indicating ending the first session, the first message is sent, and the first message is also used to invite the second terminal device to participate in the second session.
[0339] The 183 session progress message does not carry resources for negotiating the encoding mode, and carries N encoding modes, which means that the first session is likely to have a situation of no sound after being connected. The first terminal device can send a message for indicating ending the first session in response to the 183 session progress message, which is conducive to ending the first session as soon as possible and reducing the user's waiting time. The first terminal device initiates the second session through the first message, and the first encoding mode carried in the first message is an encoding mode supported by the second terminal device, which is conducive to the first terminal device and the second terminal device using the first encoding mode, and the first terminal device and the second terminal device can unify the encoding mode, which is conducive to realizing audio data transmission using the first encoding mode after the second session is connected, thereby reducing the probability that there is no sound after the phone is connected.
[0340] Optionally, after sending the message for indicating ending the first session, the first message is sent, including: after sending the message for indicating ending the first session, the first message is sent in response to a second operation for dialing a phone.
[0341] In this way, when the user attempts to dial the same phone for the second time, the first terminal device sends the first message, and the first encoding mode carried in the first message is an encoding mode supported by the second terminal device, which is conducive to the first terminal device and the second terminal device using the first encoding mode, and the first terminal device and the second terminal device can unify the encoding mode, which is conducive to realizing audio data transmission using the first encoding mode after the session is connected when the user dials the same phone again, thereby reducing the probability that there is no sound after the phone is connected.
[0342] Optionally, after receiving the 183 session progress message, a first message is sent, including: in response to the 183 session progress message, sending a message to the first network device to indicate the end of the first session, the first network device is the device that sends the 183 session progress message; sending a message to the second network device to request access; receiving a message from the second network device to indicate successful access; sending the first message to the second network device, the first message is also used to invite the second terminal device to participate in the second session.
[0343] If the 183 session progress message does not carry resources for negotiating the encoding method, but carries N encoding methods, it means that the first session will most likely be silent after the call is connected. This may be caused by the first network device. The first terminal device can cancel the first session and initiate a second session through the second network device, which helps reduce the probability of no sound after the call is connected. In addition, when the first terminal device initiates the second session, the first message carries the first encoding method supported by the second terminal device, which facilitates both the first terminal device and the second terminal device to adopt the first encoding method, and facilitates the use of the first encoding method for audio data transmission after the second session is connected, thereby reducing the probability of no sound after the call is connected.
[0344] Optionally, after sending the first message, the method also includes: when no audio data is received within a preset time period, sending a third message, the encoding method carried by the third message is the second encoding method among N encoding methods, and the third message is used to indicate that the first terminal device will use the second encoding method for encoding, and the second encoding method is different from the first encoding method.
[0345] If no audio data is received after sending the first message, the first terminal device can select a second encoding method from the N encoding methods carried in the 183 session progress message, and indicate through a third message that the second encoding method will be used for encoding. In this way, after multiple attempts, the encoding method can be unified between the first terminal device and the second terminal device, thereby reducing the probability of no sound after the call is connected.
[0346] Optionally, after sending the first message, the method also includes: receiving audio data; sending a fourth message in response to a third operation for making a call, the encoding method carried by the fourth message is the first encoding method, and the fourth message is used to invite the second terminal device to participate in the third session.
[0347] After sending the first message, receiving audio data indicates that the first terminal device and the second terminal device can uniformly use the first encoding method. When dialing the same number again, that is, inviting the second terminal device to participate in the conversation again, the first encoding method can be included, which is conducive to quickly unifying the encoding method and improving voice call efficiency.
[0348] Optionally, the first encoding mode is any one of the N encoding modes; or, the first encoding mode is the encoding mode selected most frequently among the N encoding modes; or, the first encoding mode is the encoding mode with the highest priority among the N encoding modes. In this way, a relatively optimal encoding mode can be selected.
[0349] Optionally, the first message includes M encoding modes, each of the M encoding modes is an encoding mode supported by the first terminal device, the M encoding modes include the N encoding modes, N is an integer greater than or equal to 2 and less than or equal to M, and M is an integer greater than or equal to 2.
[0350] In this way, the encoding mode selected by the first terminal device from the N encoding modes is an encoding mode supported by the first terminal device, and is also an encoding mode supported by the first terminal device, which facilitates the encoding mode to be unified as soon as possible.
[0351] Optionally, the phone is an Internet Protocol (IP) phone, and the first invitation message is sent in response to the first operation for dialing the phone, including: in response to the first operation for dialing the phone, sending the first invitation message to an IP phone server, the IP phone server being configured to select one second terminal device from a plurality of second terminal devices and invite the second terminal device to participate in the first session.
[0352] The method provided by the embodiments of the present application is applicable to the scenario of dialing an IP phone, and facilitates reducing the probability that there is no sound after the phone is connected in this scenario.
[0353] Optionally, the first invitation message is an INVITE message, the 183 session progress message is a 183 SESSION PROGRESS message, and the second message is an INVITE 200 OK message.
[0354] The embodiment of the present application further provides a call processing method applied to a first terminal device. The method can include: in response to a first operation for dialing a phone, sending a first invitation message, the first invitation message being used to invite a second terminal device to participate in a first session; receiving a 183 session progress message, the 183 session progress message being used to respond to the first invitation message, the 183 session progress message carrying N kinds of encoding modes, and not carrying a resource used to negotiate the encoding modes, the N kinds of encoding modes being used to encode audio data, each of the N kinds of encoding modes being an encoding mode supported by the second terminal device, and N being an integer greater than or equal to 2; receiving a second message, the second message being used to indicate that the second terminal device has accepted the first invitation message; if audio data is not received within a preset time length, sending a message used to indicate the end of the first session; in response to a second operation for dialing the phone, sending a first message, the first message carrying a first encoding mode of the N kinds of encoding modes, and the first message being used to indicate that the first terminal device will use the first encoding mode for encoding.
[0355] In this way, when there is no sound after the phone is connected, when the user dials the same phone again, the first terminal device can select an encoding mode from the N kinds of encoding modes carried by the 183 session progress message, so that the first terminal device and the second terminal device use the encoding mode to transmit audio data, and the probability of again having no sound after the phone is connected is reduced.
[0356] Optionally, the preset time length is less than 20 seconds. In this way, the user waiting time is shortened.
[0357] Optionally, the preset time length is less than 10 seconds. In this way, the user waiting time is further shortened.
[0358] The embodiment of the present application further provides a call processing method applied to a first terminal device. The method can include: in response to a first operation for dialing a phone, sending a first invitation message, the first invitation message being used to invite a second terminal device to participate in a first session; receiving a 183 session progress message from a first network device, the 183 session progress message being used to respond to the first invitation message, the 183 session progress message carrying N kinds of encoding modes, and not carrying a resource used to negotiate the encoding modes, the N kinds of encoding modes being used to encode audio data, each of the N kinds of encoding modes being an encoding mode supported by the second terminal device, and N being an integer greater than or equal to 2; in response to the 183 session progress message, sending a message used to indicate the end of the first session to the first network device; sending a message used to request access to a second network device; receiving a message from the second network device, the message being used to indicate that the access is successful; sending a second invitation message to the second network device, the second invitation message being used to invite the second terminal device to participate in a second session, and the second invitation message carrying P kinds of encoding modes, P being an integer greater than or equal to 2.
[0359] In this way, the first terminal device receives the 183 session progress message. The 183 session progress message does not carry resource reservation but carries N encoding methods. The first terminal device can end the first session and redial in a different domain, that is, communicate with the second terminal device through the second network device, which is conducive to reducing the probability of no sound after the call is connected.
[0360] Optionally, the P encoding modes are the same as the N encoding modes.
[0361] In this way, the encoding method carried by the first message is the same as the encoding method supported by the second terminal device, which is beneficial for the second terminal device to select the encoding method to be used, thereby unifying the encoding methods.
[0362] Optionally, the P encoding modes are one or more of the N encoding modes.
[0363] If the P encoding methods are one of the N encoding methods, this will help unify the encoding methods as soon as possible.
[0364] If the P encoding modes are multiple encoding modes among the N encoding modes, then selecting multiple encoding modes from the encoding modes supported by the second terminal device is beneficial for the second terminal device to select the encoding mode to be used, and has greater flexibility.
[0365] It should be noted that the module names involved in the embodiments of the present application can be defined as other names as long as the functions of each module can be achieved, and there is no specific restriction on the names of the modules.
[0366] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in the embodiments of the present application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0367] The call processing method according to the embodiment of the present application has been described above. The following describes the apparatus for executing the above method provided in the embodiment of the present application. Those skilled in the art will appreciate that the method and apparatus can be combined and referenced with each other, and the relevant apparatus provided in the embodiment of the present application can execute the steps in the above-described list sorting method.
[0368] The present application also provides a chip system. Figure 1As shown, the chip system 1100 includes at least one processor (such as an application processor AP and a baseband processor Modem) 1101 and at least one interface circuit 1102. The processor 1101 and the interface circuit 1102 can be interconnected via lines. For example, the interface circuit 1102 can be used to receive signals from other devices (such as the memory of the terminal). For another example, the interface circuit 1102 can be used to send signals to other devices (such as the processor 1101). Exemplarily, the interface circuit 1102 can read the instructions stored in the memory and send the instructions to the processor 1101. When the instruction is executed by the processor 1101, the terminal device can execute the various steps in the above embodiments. Of course, the chip system can also include other discrete components, which are not specifically limited in the embodiments of the present application.
[0369] The steps of the call processing method disclosed in the embodiments of this application can be directly implemented and executed by a hardware decoding processor, or by a combination of hardware and software modules in the decoding processor. The software modules can be located in a storage medium well-known in the art, such as random access memory, read-only memory, programmable read-only memory, or electrically erasable programmable read-only memory (EEPROM). The storage medium is located in memory 1104, and processor 1101 reads the information in memory 1104 and, in conjunction with its hardware, completes the steps of the above method.
[0370] The processor 1101 , the memory 1104 , and the communication interface 1103 can communicate with each other via the communication line 1102 .
[0371] In the above embodiment, the instructions stored in the memory for execution by the processor may be implemented in the form of a computer program product, wherein the computer program product may be pre-written in the memory or downloaded and installed in the memory in the form of software.
[0372] The call processing method provided in the embodiment of the present application can be applied to electronic devices with voice call functions. The electronic devices include terminal devices. The specific device form of the terminal device can refer to the above related descriptions and will not be repeated here.
[0373] An embodiment of the present application provides a terminal device, which may include: one or more processors and a memory; the memory is used to store computer program code, and the computer program code includes computer instructions. When the one or more processors execute the computer instructions, the terminal device executes the above-mentioned call processing method.
[0374] The embodiment of the present application provides a chip system, which is applied to a terminal device. The chip system comprises at least one processor and an interface. The interface is used for receiving an instruction and transmitting the instruction to the at least one processor. The at least one processor runs the instruction to enable the terminal to execute the call processing method. The chip system can be a Modem or a System on Chip (Soc) comprising the Modem. The method can be implemented by the Modem.
[0375] The embodiment of the present application further provides a computer program product comprising one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions according to the embodiment of the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network or other programmable devices. The computer instructions can be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be transmitted from one website, computer, server or data center to another website, computer, server or data center through a wired (for example, coaxial cable, optical fiber, digital subscriber line (DSL) or wireless (for example, infrared, wireless, microwave, etc.). The computer readable storage medium can be any available medium that can be stored by the computer or the data storage device such as server, data center and the like integrated with one or more available media. For example, the available media can include magnetic media (for example, floppy disk, hard disk or magnetic tape), optical media (for example, digital versatile disc (DVD)) or semiconductor media (for example, solid state disk (SSD)) and the like.
[0376] The embodiment of the present application further provides a computer readable storage medium. The method described in the above embodiment can be realized by software, hardware, firmware or any combination thereof, in whole or in part. The computer readable medium can include computer storage medium and communication medium, and can also include any medium that can transfer computer programs from one place to another. The storage medium can be any target medium that can be accessed by the computer.
[0377] As one possible design, computer-readable media may include compact disc read-only memory (CD-ROM), RAM, ROM, EEPROM, or other optical disc storage; computer-readable media may include magnetic disk storage or other magnetic disk storage devices. Moreover, any connecting line may also be appropriately referred to as a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. Disk and disc, as used herein, include compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, and Blu-ray disc, where disks typically reproduce data magnetically, while discs reproduce data optically using lasers.
[0378] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes A device that provides the functions specified in a block or multiple blocks.
Claims
1. A call processing method, characterized in that: Applied to the first terminal device, including: In response to a first operation for making a call, sending a first invitation message, where the first invitation message is used to invite a second terminal device to participate in the first conversation; receiving a 183 session progress message, where the 183 session progress message is used to respond to the first invitation message, the 183 session progress message carries N encoding modes but does not carry resources for negotiating an encoding mode, the N encoding modes are used to encode audio data, each of the N encoding modes is an encoding mode supported by the second terminal device, and N is an integer greater than or equal to 2; After receiving the 183 session progress message, sending a first message, where the encoding method carried in the first message is a first encoding method among the N encoding methods, and the first message is used to indicate that the first terminal device will use the first encoding method for encoding; Before sending the first message, no second message is received, where the second message is used to indicate that the second terminal device accepts the first invitation message.
2. The method according to claim 1, characterized in that After receiving the 183 session progress message, sending a first message includes: In response to the 183 session progress message, sending a message indicating the end of the first session; After sending the message for indicating the end of the first session, the first message is sent, and the first message is also used to invite the second terminal device to participate in the second session.
3. The method according to claim 1, characterized in that After receiving the 183 session progress message, sending a first message includes: In response to the 183 session progress message, sending a message for instructing to end the first session to a first network device, where the first network device is the device that sends the 183 session progress message; Sending a message for requesting access to the second network device; receiving a message from the second network device indicating successful access; The first message is sent to the second network device, where the first message is also used to invite the second terminal device to participate in a second session.
4. The method according to any one of claims 1 to 3, characterized in that After sending the first message, the method further includes: If no audio data is received within the preset time, a third message is sent. The encoding method carried by the third message is the second encoding method among the N encoding methods. The third message is used to indicate that the first terminal device will use the second encoding method for encoding, and the second encoding method is different from the first encoding method.
5. The method according to any one of claims 1 to 3, characterized in that After sending the first message, the method further includes: Audio data is received; In response to the third operation for making a call, a fourth message is sent, the encoding method carried by the fourth message is the first encoding method, and the fourth message is used to invite the second terminal device to participate in a third session.
6. The method according to any one of claims 1 to 5, characterized in that The first encoding mode is any one of the N encoding modes; or The first encoding mode is the encoding mode selected the most times among the N encoding modes; or The first encoding mode is the encoding mode with the highest priority among the N encoding modes.
7. The method according to any one of claims 1 to 6, characterized in that The first message includes M encoding methods, each of the M encoding methods is an encoding method supported by the first terminal device, the M encoding methods include the N encoding methods, N is an integer greater than or equal to 2 and less than or equal to M, and M is an integer greater than or equal to 2.
8. The method according to any one of claims 1 to 7, characterized in that The telephone is an Internet Protocol (IP) telephone, and sending a first invitation message in response to a first operation for making a call includes: In response to the first operation for making a call, the first invitation message is sent to the IP telephone server, and the IP telephone server is used to select a second terminal device from multiple second terminal devices and invite the second terminal device to participate in the first session.
9. The method according to any one of claims 1 to 8, characterized in that The first invitation message is an INVITE message, the 183 session progress message is a 183 SESSION PROGRESS message, and the second message is an INVITE 200 OK message.
10. A call processing method, characterized in that: Applied to the first terminal device, including: In response to a first operation for making a call, sending a first invitation message, where the first invitation message is used to invite a second terminal device to participate in the first conversation; receiving a 183 session progress message, where the 183 session progress message is used to respond to the first invitation message, the 183 session progress message carries N encoding modes but does not carry resources for negotiating an encoding mode, the N encoding modes are used to encode audio data, each of the N encoding modes is an encoding mode supported by the second terminal device, and N is an integer greater than or equal to 2; receiving a second message, where the second message is used to indicate that the second terminal device accepts the first invitation message; If no audio data is received within a preset time period, sending a message indicating the end of the first session; In response to the second operation for making a call, a first message is sent, and the encoding method carried by the first message is the first encoding method among the N encoding methods. The first message is used to indicate that the first terminal device will use the first encoding method for encoding.
11. The method according to claim 10, characterized in that The preset duration is less than 20 seconds.
12. The method according to claim 11, characterized in that The preset duration is less than 10 seconds.
13. A call processing method, characterized in that: Applied to the first terminal device, including: In response to a first operation for making a call, sending a first invitation message, where the first invitation message is used to invite a second terminal device to participate in the first conversation; Receiving a 183 session progress message from the first network device, the 183 session progress message being used to respond to the first invitation message, the 183 session progress message carrying N encoding modes but not carrying resources for negotiating an encoding mode, the N encoding modes being used to encode audio data, each of the N encoding modes being an encoding mode supported by the second terminal device, where N is an integer greater than or equal to 2; In response to the 183 session progress message, sending a message to the first network device for instructing to end the first session; Sending a message for requesting access to the second network device; receiving a message from the second network device indicating successful access; A second invitation message is sent to the second network device, where the second invitation message is used to invite the second terminal device to participate in the second session, and the second invitation message carries P encoding methods, where P is an integer greater than or equal to 2.
14. The method according to claim 13, characterized in that The P encoding modes are the same as the N encoding modes.
15. The method according to claim 13 or 14, characterized in that The P encoding modes are one or more of the N encoding modes.
16. An electronic device, characterized in that: The electronic device includes: one or more processors and a memory; the memory is coupled to the one or more processors, the memory is used to store computer program code, the computer program code includes computer instructions, and the one or more processors call the computer instructions to enable the electronic device to execute the method as described in any one of claims 1 to 9, or, execute the method as described in any one of claims 10 to 12, or, execute the method as described in any one of claims 13 to 15.
17. A chip system, characterized in that: The chip system is applied to an electronic device, and the chip system includes one or more processors, and the one or more processors are used to call computer instructions so that the electronic device executes the method as described in any one of claims 1 to 9, or executes the method as described in any one of claims 10 to 12, or executes the method as described in any one of claims 13 to 15.
Citation Information
Patent Citations
Call processing method and related device
CN118233435A
Methods, Apparatuses, a System and Computer Program Products for Providing Early Session Media to Announce Another Media Session
US20070294411A1
Speech communication terminal, intermediate node, processing device, connection method, and non-transitory computer-readable recording medium
US20160308919A1
Method and entity for managing a multimedia session between a calling terminal and at least one called terminal, corresponding terminal and computer programs
US20210185096A1
Call delivery in a CDMA legacy MS domain for SIP call origination
US8199727B1