Call control method and communication apparatus
By sending instruction information to the call gateway through the call control terminal, users can select or switch networks to execute call services. This solves the problem of insufficient flexibility of the call control terminal in multi-network environments, enabling personalized network selection for users and improving user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- HUAWEI TECH CO LTD
- Filing Date
- 2025-12-11
- Publication Date
- 2026-06-25
AI Technical Summary
The call control terminal has low flexibility in controlling the call gateway in a multi-network environment and is difficult to adapt to changes in the current network environment.
The call control terminal receives and sends instruction information to instruct the call gateway to select or switch networks to perform call services. It supports network priority sorting and network selection for different call applications, and obtains network information to select the appropriate network.
It enables the call control terminal to select the call gateway network flexibly, meets the personalized needs of users, reduces the number of network selection operations for users during each call, and improves the user experience.
Smart Images

Figure CN2025141836_25062026_PF_FP_ABST
Abstract
Description
Call control methods and communication devices
[0001] This application claims priority to Chinese Patent Application No. 202411914177.2, filed on December 20, 2024, entitled "Telephone Control Method and Communication Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of wireless technology, and more specifically, to a call control method and a communication device. Background Technology
[0003] Currently, call control terminals (such as wearable devices) can control the call gateway to perform call-related operations, such as answering, hanging up, rejecting calls, and voice dialing. However, the call control terminal can only control the call gateway's calls within the cellular network based on the call control channel between the call control terminal and the call gateway. In other words, the call control terminal has relatively low flexibility in controlling the call gateway, making it difficult to adapt to today's rapidly evolving network environment with multiple networks coexisting. Summary of the Invention
[0004] This application provides a call control method and a communication device, which is beneficial to providing the call control terminal with the flexibility to control the call gateway to perform call services.
[0005] Firstly, a call control method is provided. This method can be executed by a call gateway, or by a chip or circuit within the call gateway; this application does not limit the execution method. For ease of description, the following explanation uses the execution by a call gateway as an example.
[0006] The method includes: receiving first indication information from a call control terminal; if the first indication information indicates at least one first network supported by the call gateway, and the at least one first network includes a first target network suitable for a first call service, then performing the first call service using the first target network; or, if the first indication information indicates at least one first network supported by the call gateway, and none of the at least one first network is suitable for the first call service, then performing the first call service using a second target network suitable for the first call service, or refusing to perform the first call service; or, if the first indication information indicates the network selected by the call gateway for performing the call service, then performing the first call service using the second target network suitable for the first call service.
[0007] Based on the above technical solution, it is beneficial to achieve the goal of selecting the network used by the call gateway when performing a call service through the call control terminal, thereby satisfying the personalized needs of users who expect the call gateway to select the network used when performing a call service through the call control terminal. For example, if the call control terminal can send first indication information to the call gateway, and the first network indicated by the first indication information includes a first target network suitable for the first call service, then the goal of selecting the network used by the call gateway when performing a call service through the call control terminal can be achieved. Furthermore, if the first indication information indicates that the call gateway selects the network used to perform the call service, then the user can avoid the need to select a network during each call.
[0008] Furthermore, when the call control terminal instructs at least one first network, the above technical solution also defines the behavior of the call gateway when none of the at least one first network is applicable to the first call service, thereby avoiding errors from the call gateway.
[0009] For example, the first network being applicable to the first call service includes one or more of the following: the call gateway is connected to the first network, the call protocol used to perform the first call service supports the first network, or the network specified by the call protocol used to perform the first call service is the first network.
[0010] For example, the first network not being applicable to the first call service includes one or more of the following situations: the call gateway is not connected to the first network, the call protocol used to perform the first call service does not support the first network, or the network specified by the call protocol used to perform the first call service is different from the first network.
[0011] In conjunction with the first aspect, in some implementations of the first aspect, if the first indication information indicates at least one first network, the first indication information also indicates the priority of each of the at least one first network, and the first target network is the network with the highest priority among the at least one first networks applicable to the first call service.
[0012] Based on the above technical solution, users can fulfill their personalized needs to prioritize the networks supported by the call gateway through the call control terminal. This, in turn, facilitates enabling the call gateway to use networks with higher priority for call services.
[0013] In conjunction with the first aspect, in some implementations of the first aspect, at least one first network is suitable for the first call application.
[0014] Based on the above technical solution, it is beneficial to achieve the goal of instructing the call gateway, through the call control terminal, to use the appropriate networks for different call applications. Furthermore, when the call control terminal instructs the call gateway to use the appropriate networks for different call applications, it helps the call gateway quickly locate the network applicable to the currently executed call service.
[0015] Optionally, the first indication information may also indicate at least one second network, which is suitable for the second call application.
[0016] Optionally, if the first indication information indicates at least one first network, the method further includes: receiving second indication information from a call control terminal, the second indication information further indicating at least one second network, the at least one second network being suitable for a second call application.
[0017] In conjunction with the first aspect, in some implementations of the first aspect, before receiving the first instruction information, the method further includes: sending first information to the call control terminal, the first information including network information of each of at least one network supported by the call gateway.
[0018] Based on the above technical solution, the call control terminal can obtain information about at least one network supported by the call gateway, thereby enabling the call control terminal to select the network used by the call gateway when performing call services based on the network information of at least one network supported by the call gateway.
[0019] For example, network information for each network in at least one network includes one or more of the following: network identifier, network operator name, network standard, network signal strength, or the calling protocol supported by the network.
[0020] Optionally, the call gateway supports at least one user card, and at least one network including a third network corresponding to the first user card. The network identifier of the third network is a predefined value corresponding to the first user card, and the first user card is any one of the at least one user cards.
[0021] Based on the above technical solution, when assigning predefined network identifier values to different user cards of the call gateway, and when the call control terminal obtains information about at least one network supported by the call gateway, it can identify the network corresponding to the user card supported by the call gateway based on the network identifier of at least one network supported by the call gateway. This facilitates the selection of the user card used when the call gateway performs call services through the call control terminal.
[0022] In conjunction with the first aspect, in some implementations of the first aspect, receiving the first instruction information from the call control terminal includes: receiving the first instruction information from the call control terminal before executing the first call service; or, receiving the first instruction information from the call control terminal during the execution of the first call service.
[0023] In one possible implementation, during the execution of the first call service, the call gateway receives a first instruction from the call control terminal; if the call gateway uses a first target network to execute the first call service, then the first target network is different from the third target network; or, if the call gateway uses a second target network to execute the first call service, then the second target network is the same as the third target network.
[0024] Secondly, a call control method is provided. This method can be executed by a call control terminal, or by a chip or circuit in the call control terminal; this application does not limit the execution in this regard. For ease of description, the following explanation uses execution by a call control terminal as an example.
[0025] The method includes: generating first indication information; sending the first indication information, wherein the first indication information indicates at least one first network supported by the call gateway, or the first indication information indicates the network selected by the call gateway when performing a call service.
[0026] The beneficial effects of the second aspect and its various implementations can be found in the description of the first aspect above.
[0027] In conjunction with the second aspect, in some implementations of the second aspect, the first indication information indicates at least one first network, and the first indication information also indicates the priority of each of the at least one first network.
[0028] In conjunction with the second aspect, in some implementations of the second aspect, at least one first network is suitable for the first call application.
[0029] Optionally, the first indication information may also indicate at least one second network, which is suitable for the second call application.
[0030] Optionally, the first indication information indicates at least one first network, and the method further includes: sending second indication information to a call gateway, the second indication information further indicating at least one second network, the at least one second network being suitable for a second call application.
[0031] In conjunction with the second aspect, in some implementations of the second aspect, before sending the first indication information, the method further includes: receiving first information from a call gateway, the first information including network information of each of at least one network supported by the call gateway.
[0032] For example, network information for each network in at least one network includes one or more of the following: network identifier, network operator name, network standard, network signal strength, or the calling protocol supported by the network.
[0033] Optionally, the call gateway supports at least one user card, and at least one network including a third network corresponding to the first user card. The network identifier of the third network is a predefined value corresponding to the first user card, and the first user card is any one of the at least one user cards.
[0034] In conjunction with the second aspect, in some implementations of the second aspect, sending the first instruction information to the call gateway includes: sending the first instruction information to the call gateway before the call gateway executes the first call service; or, sending the first instruction information to the call gateway during the execution of the first call service.
[0035] Thirdly, a communication device is provided. The communication device is used to execute the first aspect described above and any of its embodiments. Specifically, the communication device includes a processor and a memory for storing a computer program; the processor is used to retrieve and run the computer program from the memory, causing the communication device to execute the first aspect described above and any of its embodiments.
[0036] In one implementation, the communication device is a voice gateway, and the transceiver unit can be a transceiver or an input / output interface. The processing unit can be at least one processor. In one possible implementation, the transceiver can be a transceiver circuit. In another possible implementation, the input / output interface can be an input / output circuit.
[0037] In another implementation, the communication device can be a chip, chip system, or circuit in a voice gateway. In this case, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0038] Fourthly, a communication device is provided. The communication device is used to execute the second aspect described above and any of its embodiments. Specifically, the communication device includes a processor and a memory for storing a computer program; the processor is used to retrieve and run the computer program from the memory, causing the communication device to execute the second aspect described above and any of its embodiments.
[0039] In one implementation, the communication device is a call control terminal, and the transceiver unit can be a transceiver or an input / output interface. The processing unit can be at least one processor. In one possible implementation, the transceiver can be a transceiver circuit. In another possible implementation, the input / output interface can be an input / output circuit.
[0040] In another implementation, the communication device can be a chip, chip system, or circuit in the call control terminal. In this case, the transceiver unit can be an input / output interface, interface circuit, output circuit, input circuit, pin, or related circuit on the chip, chip system, or circuit; the processing unit can be at least one processor, processing circuit, or logic circuit.
[0041] Fifthly, a computer-readable storage medium is provided. This computer-readable storage medium stores a computer program that, when executed, causes the method of any one of the implementations of the first to second aspects described above to be performed.
[0042] Sixthly, a computer program product containing instructions is provided. When the computer program product is run, the method provided by any of the implementations of the first to second aspects described above is executed.
[0043] In a seventh aspect, a chip is provided, the chip including a processor and a communication interface, the processor reading instructions through the communication interface and executing the method provided by any one of the implementations of the first to second aspects described above.
[0044] One possible implementation is that the chip further includes a memory that stores computer programs or instructions, and a processor that executes the computer programs or instructions stored in the memory. When the computer programs or instructions are executed, the processor performs the method provided by any of the implementations of the first to second aspects described above.
[0045] Eighthly, a communication system is provided, comprising the communication device of the fifth aspect and the communication device of the sixth aspect.
[0046] Ninthly, a computer program is provided. When the computer program is run, it causes the method provided by any of the implementations of the first to second aspects to be executed. Attached Figure Description
[0047] Figure 1 is a schematic diagram of a communication system applicable to an embodiment of this application.
[0048] Figure 2 shows a schematic flowchart of the method 200 provided in this application.
[0049] Figure 3 shows a schematic flowchart of the method 300 provided in this application.
[0050] Figure 4 shows a schematic flowchart of the method 400 provided in this application.
[0051] Figure 5 is a schematic diagram of the communication device 3000 provided in this application.
[0052] Figure 6 is a schematic diagram of the communication device 4000 provided in this application.
[0053] Figure 7 is a schematic diagram of the chip system 5000 provided in this application. Detailed Implementation
[0054] To facilitate understanding of the embodiments of this application, the following points will be explained first.
[0055] In this application, "for indicating" can include both direct and indirect indication. When describing an indication message as indicating A, it can include whether the indication message directly indicates A or indirectly indicates A, but does not necessarily mean that the indication message carries A.
[0056] The information indicated by the instruction is called the information to be instructed. In the specific implementation process, there are many ways to indicate the information to be instructed, such as, but not limited to, directly indicating the information to be instructed, such as the information to be instructed itself or its index. It can also be indirectly indicated by indicating other information, where there is a relationship between the other information and the information to be instructed. It can also indicate only a part of the information to be indicated, while the other parts are known or pre-agreed upon. For example, the instruction of specific information can be achieved by using a pre-agreed (e.g., protocol-defined) arrangement of various pieces of information, thereby reducing instruction overhead to some extent. At the same time, common parts of various pieces of information can be identified and indicated uniformly to reduce the instruction overhead caused by individually indicating the same information.
[0057] In this application, "at least one" refers to one or more, and "more than one" refers to two or more. Furthermore, in the embodiments of this application, "first," "second," and various numerical designations (e.g., "#1," "#2," etc.) are merely for descriptive convenience and are not intended to limit the scope of the embodiments of this application. The sequence numbers of the processes described below do not imply an order of execution; the execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application. It should be understood that the objects described in this way can be interchanged where appropriate to describe solutions other than those in the embodiments of this application. Moreover, in the embodiments of this application, terms such as "S201" are merely identifiers for descriptive convenience and do not limit the order of execution steps.
[0058] In this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or designs. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.
[0059] In the embodiments of this application, "storage" can refer to storage in one or more memories. These memories can be separate installations or integrated into an encoder, decoder, processor, or communication device. Alternatively, some memories can be separately installed, while others are integrated into the decoder, processor, or communication device. The type of memory can be any form of storage medium, and this application is not limited to this.
[0060] In the implementation of this application, "protocol" may refer to standard protocols in the field of communications, such as the NR protocol and related protocols applied in future communication systems, and this application does not limit it.
[0061] In the embodiments of this application, the terms "of", "corresponding (relevant)", "corresponding", and "associate" can sometimes be used interchangeably. It should be noted that when their differences are not emphasized, their intended meanings are consistent.
[0062] In the embodiments of this application, "under the circumstances", "when", and "if" can sometimes be used interchangeably. It should be noted that when the distinction is not emphasized, their intended meanings are consistent.
[0063] In this article, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.
[0064] The technical solutions in this application will now be described with reference to the accompanying drawings.
[0065] The technical solutions provided in this application can be applied to wireless local area network (WLAN) scenarios. For example, they support IEEE 802.11 related standards, such as 802.11ax, 802.11be (Wi-Fi 7), also known as extremely high throughput (EHT), and 802.11bn (Wi-Fi 8), also known as ultra-high reliability (UHR), or the next-generation standard of Wi-Fi 8. They also include 802.11ad, 802.11ay standards, or integrated millimeter wave (IMMW) protocols or spark link / near link protocols. They can also be applied to wireless personal area network systems based on ultra-wideband (UWB), such as the 802.15 series standards, and to sensing systems, such as the 802.11bf series standards. The 802.11ax standard is known as the high-efficiency (HE) standard, and the 802.11be standard is known as the extremely high throughput (EHT) standard. 802.11bf includes two main categories: low-frequency (e.g., sub7GHz) and high-frequency (e.g., 60GHz) standards. Sub7GHz implementations primarily rely on 802.11ac, 802.11ax, 802.11be, and next-generation standards, while 60GHz implementations primarily rely on 802.11ad, 802.11ay, and next-generation standards. 802.11ad can also be called the directional multi-gigabit (DMG) standard, and 802.11ay can also be called the enhanced directional multi-gigabit (EDMG) standard.
[0066] Although the embodiments of this application are primarily illustrated using the deployment of WLAN networks, particularly those employing the IEEE 802.11 system standard, those skilled in the art will readily understand that the various aspects involved in the embodiments of this application can be extended to other networks employing various standards or protocols, such as high-performance radio local area networks (HIPERLANs), wireless wide area networks (WWANs), wireless personal area networks (WPANs), or other networks now known or developed in the future. Therefore, regardless of the coverage area and wireless access protocol used, the various aspects provided in the embodiments of this application can be applied to any suitable wireless network.
[0067] The technical solutions of this application embodiment can also be applied to various communication systems, such as: WLAN communication systems, wireless fidelity (Wi-Fi) systems, 5th generation (5G) systems or new radio (NR), Internet of Things (IoT) networks or vehicle-to-everything (V2X) networks, etc.
[0068] The communication systems described above are merely illustrative examples, and the communication systems applicable to this application are not limited to these. They will be uniformly described here and will not be repeated below.
[0069] Figure 1 is a schematic diagram of a communication system provided in an embodiment of this application. As shown in Figure 1, the system includes a call control terminal 120 and a call gateway 110.
[0070] The call gateway 110 can establish a call connection with the call terminal (such as a smartphone) through the call network, and conduct a call with the call terminal after the call connection is established. The call network can be a mobile network, such as Global System for Mobile Communication (GSM), Enhanced Data GSM Environment (EDGE), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), or 5G system.
[0071] The call control terminal 120 can establish a call control channel with the call gateway 110, so that the call control terminal 120 can send call control commands to the call gateway 110 through the established call control channel, or receive the call status from the call gateway 110, so that the call status of the current call can be stored or displayed, so that the user can know the status of the current call through the call control terminal 120.
[0072] For example, the call control channel can be a channel established based on a certain protocol of the communication connection between the call control terminal 120 and the call gateway 110 for transmitting call status and call control signaling. The call control channel is completed based on the call control protocol, which specifies the instructions and parameters for controlling the call and obtaining the call status. The transmission of call control and call status is realized based on the instructions and parameters.
[0073] For example, if the call control protocol is Bluetooth hands-free profile (HFP), then the call control channel is a channel based on the Bluetooth hands-free protocol. Specifically, the call gateway 110 can establish a Bluetooth connection with the call control terminal 120, and then establish a call control channel based on this Bluetooth connection and the Bluetooth hands-free protocol. Furthermore, the call control terminal 120 can control the call gateway 110 to answer calls, hang up calls, reject calls, and make outgoing calls based on the Bluetooth hands-free protocol. For example, the display screen of the call control terminal 120 can display a call interface, within which users can answer or call the communication account of the other party, and the call status during the call can also be displayed, such as "in call," "call completed," "calling," or "answering."
[0074] For example, the call control terminal 120 and / or the call gateway 110 can be widely used in various scenarios, such as: cellular communication, D2D, V2X, peer-to-peer, M2M, MTC, IoT, virtual reality (VR), augmented reality (AR), industrial control, autonomous driving, telemedicine, smart grid, smart furniture, smart office, smart wearables, smart transportation, smart city drones, robots, remote sensing, passive sensing, positioning, navigation and tracking, autonomous delivery, etc. The call gateway 110 and / or the call control terminal 120 can be a terminal in any of the above scenarios, such as an MTC terminal, an IoT terminal, etc. The call gateway 110 and / or call control terminal 120 can be user equipment (UE), terminal, fixed equipment, mobile station equipment or mobile equipment, subscriber unit, handheld device, vehicle-mounted equipment, wearable device, cellular phone, smartphone, session initiation protocol (SIP) phone, wireless data card, personal digital assistant (PDA), computer, tablet computer, laptop computer, wireless modem, handset, laptop computer, computer with wireless transceiver capability, smart book, vehicle, satellite, global positioning system (GPS) device, target tracking device, aircraft (e.g., drone, helicopter, multi-helicopter, four-helicopter, or airplane), boat, remote control device, smart home device, industrial equipment, transportation vehicle with wireless communication capability, communication module, or roadside unit with terminal capability, all conforming to the 3rd generation partnership project (3GPP) standard. The device may be a wireless communication unit (RSU), or a device built into the aforementioned device (e.g., a communication module, modem, or chip in the aforementioned device), or other processing devices connected to the wireless modem.
[0075] Currently, the call control terminal 120 can only control the call gateway 110's calls in the cellular network based on the call control channel between the call control terminal 120 and the call gateway 110. In other words, the call control terminal 120 has relatively low flexibility in controlling the call gateway 110, making it difficult to adapt to the current rapidly developing network environment with multiple networks coexisting.
[0076] In view of this, embodiments of this application provide a call control method, which enables the call control terminal to flexibly select the call network during the call control process of the call gateway, thereby helping to meet the personalized needs of different users for call network selection and / or improve the user's call experience.
[0077] In this embodiment, the call gateway 110 is used to carry the "Network Information" service provided in this embodiment, and to carry the "Call Control" service and / or the "General Call Control" service. That is, the call gateway 110 acts as a server for the "Network Information" service and as a server for the "General Call Control" service and / or the "Call Control" service. For example, the call gateway 110 is a smartphone. The call control terminal 120 is used to access the "Network Information" service provided in this embodiment, and to access the "General Call Control" service and / or the "Call Control" service. That is, the call control terminal 120 acts as a client for the "Network Information" service and as a client for the "General Call Control" service and / or the "Call Control" service. For example, the call control terminal 120 is a wearable device, such as a smartwatch.
[0078] For example, the definition of the "Network Information" service provided in this application embodiment is shown in Table 1. It should be noted that the call gateway 110 can carry multiple "Network Information" instances, indicating that the call gateway 110 supports or connects to multiple networks.
[0079] Table 1
[0080] As shown in Table 1 above, the call control terminal 120 can obtain one or more of the following information by accessing the "Network Information" service carried by the call gateway 110: the network identifier of the network supported or connected by the call gateway 110, the network operator identifier of the network supported or connected by the call gateway 110, the network standard of the network supported or connected by the call gateway 110, the network signal strength of the network supported or connected by the call gateway 110, and the call protocols that the network supported or connected by the call gateway 110 can carry.
[0081] It should be noted that the call protocol in Table 1 can be replaced with call method, call application, call instance, etc., and this application does not limit it.
[0082] Optionally, any one of the first user cards supported by the call gateway corresponds to a third network, and the network identifier of the third network is a predefined value corresponding to the first user card. For example, if the call gateway supports user card #1 and user card #2, then the network identifier of the network corresponding to user card #1 is a predefined first value, and the network identifier of the network corresponding to user card #2 is a predefined second value. For example, the first value is 0x01, and the second value is 0x02.
[0083] Among them, the user card is a Subscribe Identification Module (SIM) card, Universal Subscriber Identity Module (USIM) card, User Identity Module (UIM) card, or data card, etc., used to identify users of the call gateway.
[0084] It should be understood that when the information of the user card supported by the call gateway changes, the value of the network identifier corresponding to that user card remains the predefined value for that user card. However, other network information corresponding to that user card, such as the network operator identifier, changes. For example, if the call gateway supports SIM card 1 and SIM card 2, with SIM card 1 having a network identifier of 0x01 and SIM card 2 having a network identifier of 0x02, and if SIM card 1 changes from a card belonging to operator 1 to a card belonging to operator 2, the network identifier corresponding to SIM card 1 remains 0x01, but the operator identifier corresponding to SIM card 1 changes from that of operator 1 to that of operator 2. Correspondingly, other network information corresponding to SIM card 1, such as network standard, network signal strength, or the call protocols that the network can support, may also change.
[0085] For example, some definitions of the "Call Control" service provided in this application embodiment are shown in Table 2 below. It should be noted that the "Call Control" service is an abstraction of the call control interface, and the call gateway 110 can host multiple "Call Control" instances, representing multiple call applications on the call gateway 110.
[0086] Table 2
[0087] As shown in Table 2 above, the call control terminal 120 can obtain one or more of the following information by accessing the "Call Control" service carried by the call gateway 110: the name of each "Call Control" instance carried by the call gateway 110, information on outgoing and / or incoming calls executed by the call gateway 110, the call status of each call service executed by the call gateway 110, information related to call services terminated by the call gateway 110, the call protocols supported by the "Call Control" instance, and the ability to control the calls of the call gateway 110 through the call control point method (e.g., including outgoing calls, answering calls, hanging up calls, or holding calls).
[0088] For example, some definitions of the "General Call Control" service provided in this application embodiment are shown in Table 3 below. It should be noted that the "General Call Control" service is an abstraction of the call control interface, and the call gateway 110 can host a "General Call Control" instance.
[0089] Table 3
[0090] As shown in Tables 2 and 3, the definition of the "General Call Control" service is similar to that of the "Call Control" service. However, unlike the "Call Control" service, when call gateway 110 provides the "General Call Control" service, call gateway 110 hosts one "General Call Control" instance to manage the call services of multiple call applications on call gateway 110. Furthermore, the call protocols included in the "Call Control" service are those applicable to a specific call application, while the call protocols included in the "General Call Control" service are those supported by the call gateway.
[0091] For example, the call control request for outgoing call operation sent by the call control point method by the call control terminal 120 is shown in Table 4 below.
[0092] Table 4
[0093] Optionally, the "Call Control" service provided in this application embodiment may also include a network selection attribute. The definition of the network selection attribute is shown in Table 5 below.
[0094] Table 5
[0095] Optionally, the call control terminal 120 is used to initiate a call control request for network selection. The call control request is shown in Table 6 below.
[0096] Table 6
[0097] The method provided by the embodiments of this application is described in detail below with reference to the accompanying drawings. The embodiments of this application can be applied to the communication system shown in FIG1 above, and are not limited thereto.
[0098] It should be noted that the following description uses the interaction between the call control terminal and the call gateway as an example to illustrate the method provided in this application embodiment. The call control terminal can be replaced by a component of the call control terminal (e.g., a chip, chip system, circuit, or communication module), and the call gateway can be replaced by a component of the call gateway (e.g., a chip, chip system, circuit, or communication module).
[0099] Furthermore, the steps described below, which are performed by a single execution entity, can also be divided into those performed by multiple execution entities, which may be logically and / or physically separate.
[0100] Figure 2 is a schematic diagram of a call control method provided in an embodiment of this application. As shown in Figure 2, method 200 may include the following steps.
[0101] S201, the call control terminal sends request message #1.
[0102] Accordingly, the call gateway receives request information #1.
[0103] Request message #1 is used to request services supported by the call gateway.
[0104] For example, request information #1 can be called service discovery information.
[0105] For example, request message #1 could be a Sparklink Service Access Protocol (SSAP) discovery structure request (SSAP_FIND_STRUCTURE_REQ), or it could be an SSAP discovery service request via a universally unique identifier (UUID) (SSAP_FIND_SERVICE_BY_UUID_REQ).
[0106] In one possible implementation, after the communication connection between the call control terminal and the call gateway is established, the call control terminal sends request information #1 to the call gateway based on the communication connection between the call control terminal and the call gateway.
[0107] In one possible implementation, in response to a user's first action, the call control terminal sends request information #1 to the call gateway. The first action can be any of the following: clicking the display screen of the call control terminal, opening the call application hosted on the call control terminal, making a call (e.g., clicking the dial key), answering a call (e.g., clicking the answer key), or receiving an instruction from the user to send a service supported by the call gateway (e.g., a voice input instruction and / or a manual input instruction). The first action can also be other actions different from the above, and this application does not limit this.
[0108] It should be noted that step S201 is optional. For example, if the call control terminal knows the services supported by the call gateway, then method 200 may not execute S201. Alternatively, if the call gateway proactively reports the services it supports to the call control terminal, then method 200 may not execute S201.
[0109] S202, the call gateway sends information #1.
[0110] Correspondingly, the call control terminal receives information #1.
[0111] In one possible implementation, if method 200 executes S201, the call gateway responds to request information #1 by sending information #1 to the call control terminal.
[0112] In another possible implementation, if the call gateway does not receive request information #1, it proactively sends information #1 to the call control terminal.
[0113] For example, after the communication connection between the call control terminal and the call gateway is established, the call gateway sends information #1 to the call control terminal based on the communication connection between the call control terminal and the call gateway.
[0114] For example, in response to the user's second operation, the call gateway sends information #1 to the call control terminal. The second operation can be any of the following: clicking the call gateway's display screen, turning off the call gateway's display screen, closing the call application hosted by the call gateway, or receiving an instruction from the user to send information #1 to the call control terminal (including instructions input by voice and / or manual input). The second operation can also be other operations different from the above operations, and this application does not limit it.
[0115] For example, the call gateway can send information #1 via a response message to request information #1. This response message can be called a service discovery response message. For instance, the response message to request information #1 could be an SSAP discovery structure response (SSAP_FIND_STRUCTURE_RSP), or it could be an SSAP discovery service response via UUID (SSAP_FIND_SERVICE_BY_UUID_RSP).
[0116] It should be noted that S202 is an optional step. For example, if the call control terminal knows the services supported by the call gateway, then method 200 may not need to execute S202.
[0117] The following is a description of information #1.
[0118] In one possible implementation, information #1 indicates the service structure of at least one service supported by the call gateway.
[0119] For example, if the call gateway supports at least one service including the "Network Information" service, then information #1 may indicate that the service structure members of the "Network Information" service include one or more of the following: network identifier, network operator name, network standard, network signal strength, and call protocol.
[0120] For example, if the call gateway supports at least one service including the "Call Control" service, then information #1 may indicate that the service structure members of the "Call Control" service include one or more of the following: call control instance name, inbound and outbound call information, call status, call termination, call protocol, call control point, and network selection.
[0121] For example, if the call gateway supports at least one service including the "General Call Control" service, then information #1 may indicate that the service structure members of the "General Call Control" service include one or more of the following: call control instance name, inbound and outbound call information, call status, call termination, call protocol, call control point, and network selection.
[0122] It should be noted that information #1 only indicates the service structure of at least one service supported by the call gateway, and does not indicate the specific information of at least one instance carried by the call gateway. At least one instance is associated with at least one service. For example, if the call gateway supports the "Network Information" service, information #1 does not indicate the specific information of at least one "Network Information" instance carried by the call gateway; that is, information #1 does not support the values of one or more of the following fields included in at least one "Network Information" instance carried by the call gateway: network identifier, network operator name, network standard, network signal strength, and call protocol.
[0123] Optionally, information #1 is also used to indicate the number of instances of each of the at least one of the services mentioned above that are carried by the call gateway.
[0124] For example, if the call gateway supports the Network Information service, then information #1 is also used to indicate the number of Network Information instances carried by the call gateway. It should be understood that if information #1 indicates that the call gateway carries multiple Network Information instances, it means that the call gateway supports or connects to multiple networks.
[0125] For example, if the call gateway supports the Call Control service, then information #1 is also used to indicate the number of Call Control instances hosted by the call gateway. It should be understood that if information #1 indicates that the call gateway hosts multiple Call Control instances, it can mean that the call gateway supports multiple call applications.
[0126] For example, if the call gateway supports the Universal Call Control service, then information #1 is also used to indicate the number of Universal Call Control instances carried by the call gateway.
[0127] In one possible implementation, information #1 is used to indicate whether the call gateway supports multiple networks.
[0128] Optionally, information #1 is used to indicate whether the call gateway supports simultaneous connection to multiple networks, or information #1 is used to indicate whether the call gateway supports being registered in multiple networks, or information #1 is used to indicate the number of networks that the call gateway supports or connects to.
[0129] Optionally, information #1 can also indicate whether the call network is off-limits to carrying multiple "Network Information" instances.
[0130] Optionally, information #1 is also used to indicate whether the call gateway supports multiple call applications.
[0131] Optionally, information #1 can be used to indicate whether the call gateway supports multiple call applications, or it can be used to indicate the number of call applications supported by the call gateway. It should be noted that if the call gateway supports call application #1, it means that the call gateway can provide the service of call application #1 to the user.
[0132] Optionally, information #1 may indicate whether the call gateway carries a General Call Control instance and / or whether it carries multiple Call Control instances.
[0133] For example, information #1 may include a first bit. If the first bit has a third value, then the first bit is used to indicate that the call gateway supports multiple networks; or, if the first bit has a fourth value, then the first bit is used to indicate that the call gateway does not support multiple networks. Where the third value is 0 and the fourth value is 1, or vice versa.
[0134] For example, information #1 may include at least one second bit, which indicates the number of networks supported or connected by the call gateway. For instance, at least one second bit may include two second bits. If the value of both second bits is "00", then the two second bits indicate that the number of networks supported or connected by the call gateway is 1; if the value of both second bits is "01", then the two second bits indicate that the number of networks supported or connected by the call gateway is 2; if the value of both second bits is "10", then the two second bits indicate that the number of networks supported or connected by the call gateway is 3; and if the value of both second bits is "11", then the two second bits indicate that the number of networks supported or connected by the call gateway is 4.
[0135] Optionally, information #1 may include a third bit. If the third bit has the value of the fifth value, then the third bit is used to indicate that the call gateway supports multiple call applications; or, if the third bit has the value of the sixth value, then the third bit is used to indicate that the call gateway does not support multiple call applications. Where the fifth value is 0 and the sixth value is 1, or vice versa.
[0136] Optionally, information #1 may include at least one fourth bit, which indicates the number of call applications supported by the call gateway. For example, if the at least one fourth bit includes two fourth bits, and both fourth bits are "00", then the two fourth bits indicate that the number of call applications supported by the call gateway is 1; if both fourth bits are "01", then the two fourth bits indicate that the number of call applications supported by the call gateway is 2; if both fourth bits are "10", then the two fourth bits indicate that the number of call applications supported by the call gateway is 3; and if both fourth bits are "11", then the two fourth bits indicate that the number of call applications supported by the call gateway is 4.
[0137] S203, the call control terminal sends request information #2 (an example corresponding to the first request information).
[0138] Correspondingly, the call gateway receives request information #2.
[0139] Request information #2 is used to request network information for at least one network supported by the call gateway.
[0140] The calling gateway supports at least one network, which may include one or more of the following: Wi-Fi, cellular, Wi-Fi, or Bluetooth. Network information includes one or more of the following: network identifier, network operator identifier, network standard, network signal strength, or the calling protocols that the network can support. For more details on network information, please refer to Table 1 above.
[0141] The at least one network supported by the call gateway may include networks that the call gateway has already connected to. The at least one network supported by the call gateway may also include networks that the call gateway supports but has not connected to.
[0142] In one possible implementation, request information #2 can be used to request network information of at least one network to which the call gateway is connected.
[0143] In one possible implementation, request information #2 is used to request network information of at least one network supported or connected by the call gateway, which is equivalent to requesting access to at least one instance of "Network Information" carried by the call gateway.
[0144] For example, request information #2 can be referred to as service access information.
[0145] For example, request information #2 could be an SSAP read request (SSAP_READ_REQ), or it could be an SSAP read by UUID request (SSAP_READ_BY_UUID_REQ).
[0146] The timing of when the call control terminal sends request message #2 is described below.
[0147] In one possible implementation, if the call gateway supports multiple networks, or supports simultaneous connections to multiple networks, or simultaneously connects to multiple networks, then the call control terminal sends request information #2 to the call gateway. The call control terminal can determine that the call gateway supports simultaneous connections to multiple networks based on information #1 received from the call gateway, or it can determine this based on pre-configured or protocol-predefined information.
[0148] In one possible implementation, after the communication connection between the call control terminal and the call gateway is established, the call control terminal sends request information #2 to the call gateway based on the communication connection between the call control terminal and the call gateway.
[0149] In one possible implementation, in response to the user's first action, the call control terminal sends request information #2 to the call gateway. The first action can be referred to the description in S201 above.
[0150] It should be noted that step S203 is optional. For example, if the call control terminal already knows the information about the networks supported or connected to by the call gateway, then method 200 may not execute step S203. Alternatively, if the call gateway proactively reports the information about the networks supported or connected to by the call gateway to the call control terminal, then method 200 may not execute step S203.
[0151] S204, the call gateway sends information #2 (an example of the first information).
[0152] Correspondingly, the call control terminal receives information #2.
[0153] Information #2 includes network information for at least one network supported by the call gateway.
[0154] In one possible implementation, if request information #2 is used to request information about the network to which the call network is connected, then information #2 includes network information about at least one network to which the call gateway is connected.
[0155] It should be understood that if the call gateway supports at least one user card, then information #2 may include network information of the network corresponding to at least one user card. As mentioned above, the network identifier of the network corresponding to the at least one user card supported by the call gateway is a predefined value. Therefore, if the call control terminal receives network information of at least one user card including a network identifier, the call control terminal can determine the user card corresponding to the network identified by the network identifier based on the network identifier. For example, if the network information of at least one network received by the call gateway includes information of network #a, and the value of the network identifier included in the information of network #a is a first value, then the call gateway can determine that network #a corresponds to the first user card; or, if the value of the network identifier of network #a is a second value, the call gateway determines that network #a corresponds to the second user card.
[0156] It should also be understood that if the call gateway supports at least two user cards, but the number of user cards currently included in the call gateway is less than the number of user cards supported by the call gateway, then information #1 can still include network information for at least two networks that correspond one-to-one with the at least two user cards supported by the call gateway. It should be noted that if the call gateway does not include the user card corresponding to network #b in the at least two networks, then the network operator name included in the network information of network #b will be empty, the network standard value can be 0x00, the network signal quality will be 0, and the number of call instances that the network can support will be empty.
[0157] For example, if a call gateway supports two SIM cards (denoted as SIM card 1 and SIM card 2), but currently only one SIM card (e.g., SIM card 1) is inserted, then the call gateway needs to instantiate two "Network Information" services, corresponding to SIM card 1 and SIM card 2 respectively. In other words, information #1 can include network information corresponding to SIM card 1 and network information corresponding to SIM card 2. Since SIM card 2 is not currently inserted into the call gateway, the network operator name included in the network information corresponding to SIM card 2 will be empty, the network standard value can be 0x00, the network signal quality will be 0, and the number of call instances the network can support will be empty. Furthermore, if SIM card 2 is inserted into the call gateway and it successfully registers on the network, the call gateway can send the network information corresponding to SIM card 2 to the call control terminal again.
[0158] For example, the call gateway can send information #2 via a response message to request information #2, which can be called a service access message. For instance, the response message to request information #2 can be an SSAP read response (SSAP_READ_RSP), or it can be an SSAP read via UUID response (SSAP_READ_BY_UUID_RSP).
[0159] The timing of when the call control terminal sends message #2 is described below.
[0160] In one possible implementation, if method 200 executes S203, the call gateway responds to request information #2 by sending information #2 to the call control terminal.
[0161] Optionally, if the call gateway supports multiple networks, or if the call gateway is registered on multiple networks simultaneously, the call gateway responds to request information #2 by sending information #2 to the call control terminal.
[0162] In another possible implementation, if the call gateway does not receive request information #2, it proactively sends information #2 to the call control terminal.
[0163] For example, after the communication connection between the call control terminal and the call gateway is established, the call gateway sends information #2 to the call control terminal based on the communication connection between the call control terminal and the call gateway.
[0164] For example, if the network supported or connected by the call gateway changes, such as if the network operator of the cellular network supported by the call gateway changes, then the call gateway sends information #2 to the call control terminal.
[0165] For example, in response to the user's second action, the call gateway sends information #2 to the call control terminal. The second action can be referred to the description in S202 above.
[0166] Optionally, if the call gateway supports multiple networks, the call gateway sends information #2 to the call control terminal based on the communication connection between the call control terminal and the call gateway, and / or in response to the user's second operation.
[0167] It should be noted that step S204 is optional. For example, if the call control terminal knows the information about the networks supported or connected by the call gateway, then method 200 may not need to execute step S204.
[0168] S205, the call control terminal sends request message #3.
[0169] Correspondingly, the call gateway receives request information #3.
[0170] Request message #3 is used to request access to the Call Control service and / or General Call Control service provided by the call gateway.
[0171] For example, request information #3 can be called a service access message.
[0172] For example, request information #3 could be an SSAP read request (SSAP_READ_REQ), or it could be an SSAP read by UUID request (SSAP_READ_BY_UUID_REQ).
[0173] The timing of when the call control terminal sends request information #3 can be referenced to the timing of when the call control terminal sends request information #2, and will not be described in detail here.
[0174] It should be noted that step S205 is optional. For example, if the call control terminal already knows the information of the "General Call Control" and / or the "Call Control" instance carried by the call gateway, then method 200 may not execute step S205. Alternatively, if the call gateway proactively reports the information of the "General Call Control" and / or the "Call Control" instance carried by the call gateway to the call control terminal, then method 200 may not execute step S205.
[0175] S206, the call gateway sends information #3.
[0176] Correspondingly, the call control terminal receives information #3.
[0177] Information #3 includes information about the Call Control instance carried by the call gateway and / or the General Call Control instance.
[0178] For example, if the call gateway supports the Call Control service, then information #3 may include information about at least one Call Control instance hosted by the call gateway. For instance, information #3 may include values for one or more of the following fields for each Call Control instance: Call Control instance name, inbound / outbound information, call status, call termination, call protocol, call control point, and network selection.
[0179] For example, if the call gateway supports the Universal Call Control service, then information #3 may include information about the Universal Call Control instance hosted by the call gateway. For instance, information #3 may include the values of one or more of the following fields included in the Universal Call Control instance: call control instance name, inbound / outbound information, call status, call termination, call protocol, call control point, and network selection.
[0180] For example, the call gateway can send information #3 via a response message to request information #3, which can be called a service access message. For instance, the response message to request information #3 can be an SSAP read response (SSAP_READ_RSP), or it can be an SSAP read via UUID response (SSAP_READ_BY_UUID_RSP).
[0181] The timing of when the call control terminal sends information #3 can be referred to the description of when the call control terminal sends information #2, and will not be elaborated here.
[0182] It should be noted that S206 is an optional step. For example, if the call control terminal already knows the information of the "Call Control" instance and / or the "General Call Control" instance carried by the call gateway, then method 200 may not need to execute S206.
[0183] S207, the call control terminal generates the first instruction information.
[0184] S208, the call control terminal sends the first instruction information.
[0185] Accordingly, the call gateway receives the first instruction information.
[0186] In one possible implementation, the first indication information indicates at least one first network supported by the call gateway. The at least one first network includes all networks supported by the call gateway, or, some networks supported by the call gateway.
[0187] Optionally, the first indication information indicates at least one first network to which the call gateway is connected. The at least one first network to which the call gateway is connected includes all networks to which the call gateway is connected, or includes some networks to which the call gateway is connected.
[0188] For example, at least one first network is the network that the call control terminal (or the user using the call control terminal) expects the call gateway to use preferentially when performing call services.
[0189] Optionally, the first indication information is also used to indicate the priority of each of the at least one first network.
[0190] Optionally, the first indication information may also include the number of at least one first network.
[0191] Optionally, at least one first network is applicable to the first call application. In other words, at least one first network is the network that the call control terminal (or the user using the call control terminal) expects the call gateway to use preferentially when performing call services using the first call application.
[0192] Optionally, the first indication information is also used to indicate at least one second network, which is suitable for the second call application.
[0193] Optionally, method 200 further includes: the call control terminal sending second indication information to the call gateway, the second indication information being used to indicate at least one second network applicable to the second call application.
[0194] The manner in which the first instruction information indicates at least one first network is described below.
[0195] For example, the first indication information includes network information of at least one first network. For instance, the first indication information includes the network identifier of each of the at least one first network.
[0196] For example, the first indication information includes N bits, each of which corresponds one-to-one with one of the N networks supported by the call gateway. If the bit corresponding to network #a among the N networks has a seventh value, then the first indication information indicates at least one first network including network #a. The seventh value is 1 or 0, and the specific value of the seventh value is not limited in this application.
[0197] The one-to-one correspondence between the N bits and the N networks supported by the call gateway can be pre-configured or pre-defined. Alternatively, the correspondence can be related to the order of the N networks; for example, the nth bit of the N bits corresponds to the network ranked nth in the order of the N networks. n = 1, 2, ..., N. The order of the N networks is obtained by sorting the N networks in descending order of their network identifiers, or by sorting the N networks in ascending order of their network identifiers.
[0198] The manner in which the first instruction information or the second instruction information indicates at least one second network can be referred to the manner in which the first instruction information indicates at least one first network, which will not be described in detail in this application.
[0199] As mentioned above, the first indication information can also indicate the priority of at least one first network. The following describes how the first indication information indicates the priority of at least one first network.
[0200] For example, the first indication information may also include the priority value of each of the first networks in at least one first network.
[0201] For example, when the first indication information includes network information of at least one first network, the network information of the at least one first network included in the first indication information can be sorted in descending order of priority of the at least one first network, or the network information of the at least one first network included in the first indication information can be sorted in ascending order of priority of the at least one first network.
[0202] It is understandable that before sending the first instruction information, the call control terminal first determines at least one first network. The method by which the call control terminal determines at least one first network is described below.
[0203] For example, the call control terminal can determine at least one first network based on the network signal strength of the network to which the call gateway is connected.
[0204] For example, the first network determined by the call control terminal is the network with the strongest network signal among the networks connected to the call gateway.
[0205] As another example, the call control terminal can determine at least one first network based on the network operator name of the network supported or connected to the call gateway.
[0206] For example, the call control terminal identifies at least one network as a network whose network operator name is "A" among the networks supported and connected by the call gateway.
[0207] For example, the call control terminal may determine at least one first network based on the network standard of the network supported or connected to the call gateway.
[0208] For example, the call control terminal determines at least one first network as the network with the highest network standard among the networks supported or connected by the call gateway. For example, the network standard of at least one first network is 5G.
[0209] For example, the call control terminal may determine at least one first network based on multiple factors, including the network signal strength, network operator name, or network standard of the network supported or connected by the call gateway.
[0210] As another example, the call control terminal may determine at least one first network based on the call application applicable to the network supported or connected by the call gateway.
[0211] For example, the first network identified by the call control terminal is a network among the networks supported or connected by the call gateway that is suitable for the first call application.
[0212] As another example, the call control terminal can determine at least one first network based on user input instructions (e.g., including voice input instructions and manual instructions), in other words, at least one first network is selected by the user.
[0213] It is understandable that if the first instruction information also includes the priority of at least one first network, the call control terminal needs to determine the priority of at least one first network before sending the first instruction information. The following describes how the call control terminal determines the priority of at least one first network.
[0214] As another example, the call control terminal can determine the priority of at least one first network based on the network signal strength of the first network.
[0215] For example, the stronger the network signal of the first network, the higher the priority of the first network.
[0216] As another example, the call control terminal can determine the priority of at least one first network based on the network operator name of the first network.
[0217] For example, if the network operator name of the first network is "A", then the first network has the highest priority; if the network operator name of the first network is "B", then the first network has the lowest priority.
[0218] As another example, the call control terminal can determine the priority of at least one first network based on the network standard of the first network.
[0219] For example, the higher the network standard in the first network, the higher the priority of the first network.
[0220] As another example, the call control terminal may determine the priority of at least one first network based on multiple factors, including the network signal strength of the first network, the network operator name, or the network standard.
[0221] As another example, the call control terminal can determine the priority of at least one first network based on user-input instructions (e.g., voice input instructions and manual instructions); in other words, the priority of at least one first network is determined by the user.
[0222] In one possible implementation, the first indication information is used to indicate the network selected by the call gateway to perform the call service.
[0223] Optionally, the first indication information indicates that the call gateway selects the network corresponding to the first call application, and the network corresponding to the first call application is the network used by the call gateway when performing call services using the first call application.
[0224] Optionally, the first indication information also indicates that the call gateway selects the network corresponding to the second call application, and the network corresponding to the second call application is the network used by the call gateway when performing call services using the second call application.
[0225] Optionally, method 200 further includes: the call control terminal sending second indication information to the call gateway, the second indication information being used to instruct the call gateway to select the network corresponding to the second call application.
[0226] It should be noted that this application does not limit the method by which the first instruction information instructs the call gateway to select the network used to perform the call service.
[0227] For example, the first indication information may include identifier #1. If identifier #1 is not used to identify any particular network, then the first indication information indicates the network selected by the call gateway to perform the call service. For example, if the value of the network identifier used to identify any network is in the range of 0x01 to 0xFF, then the value of identifier #1 can be 0x00.
[0228] The following explains how the call control terminal sends the first instruction message.
[0229] For example, if the call control determines, by accessing the Call Control service and / or the General Call Control service supported by the call gateway, that the Call Control service and / or the General Call Control service supported by the call gateway includes a network selection attribute, and the network selection attribute supports responsive writing (or non-responsive writing), then the call control terminal can send the first indication information through the write operation.
[0230] For example, the call control terminal sends an SSAP write request (SSAP_WRITE_REQ) or an SSAP write command (SSAP_WRITE_CMD) to the call gateway. The SSAP write request or SSAP write command includes first indication information.
[0231] Optionally, if the call control terminal sends the first indication information via an SSAP write request, then after the call control terminal sends the first indication information, method 200 further includes: receiving response information from the call gateway. For example, the response information is an SSAP write response (SSAP_WRITE_RSP).
[0232] For example, if the call control terminal sends a first indication to the call gateway via a write operation for the network selection attributes included in the "General Call Control" instance supported by the call gateway, then the first indication can be applied to subsequent call services executed by the call gateway. For instance, if the first indication indicates at least one first network, then that at least one first network can be applied to all call applications supported by the call gateway. As another example, if the first indication indicates the network selected by the call gateway when executing a call service, it is equivalent to the first indication indicating that the call gateway selects the network corresponding to any call application. In other words, the call gateway can consider the first indication as one of the factors when determining the call network for subsequent call services.
[0233] For another example, if the call control terminal sends a first indication message to the call gateway via a write operation for the network selection attributes included in a certain "Call Control" instance supported by the call gateway, then the first indication message applies to the call service corresponding to that "Call Control" instance. For instance, if the call control terminal sends a first indication message to the call gateway via a write operation for the network selection attributes included in "Call Control" instance #1 supported by the call gateway, and "Call Control" instance #1 corresponds to a first call application, then if the first indication message indicates at least one first network, then that at least one first network applies to the first call application; or, if the first indication message indicates the call network used by the call gateway when performing the call service, it is equivalent to the first indication message indicating that the call gateway selects the network corresponding to the first call application.
[0234] It is understandable that if the call control terminal sends the first indication information to the call gateway through a write operation only for the network selection attributes included in the "Call Control" instance #1 supported by the call gateway, then the call gateway may not consider the first indication information as a factor in selecting the call network when selecting a network corresponding to other call applications that are different from the first call application.
[0235] For another example, the call control terminal can send the first instruction information to the call gateway by calling the call control point method.
[0236] For example, the call control terminal sends a call control request by calling the call control point method. The operation code of this call control request is the operation code corresponding to network selection, and the call control request includes first indication information. As shown in Table 6 above, the operation code for network selection can be 0x03.
[0237] It should be noted that this application does not limit the timing of the call control terminal sending the first instruction information. For example, the call control terminal may send the first instruction information to the call gateway before the call gateway executes the call service. Or, for another example, the call control terminal may send the first instruction information to the call gateway during the execution of the call service.
[0238] Furthermore, method 200 continues to perform S209a, S209b or S209c.
[0239] S209a, The call gateway uses the first target network to perform the first call service.
[0240] For example, if the first indication information indicates at least one first network, and the at least one first network indicated by the first indication information includes a first target network suitable for the first call service, then the call gateway uses the first target network to perform the first call service.
[0241] Wherein, the first network is applicable to the first call service including one or more of the following: the call gateway is connected to the first network, the call protocol used to perform the first call service supports the first network, or the network specified by the call protocol used to perform the first call service is the first network.
[0242] For example, if the first call service is an outbound call, and the call gateway is connected to the first network, and the call protocol used by the call gateway to execute the outbound call supports the first network, then the first network is suitable for outbound calls.
[0243] For example, if the first call service is an inbound call, then the call gateway is connected to the first network, and the network specified by the call protocol used by the call gateway to execute the inbound call is the first network, then the first network is suitable for inbound calls.
[0244] Optionally, if the first indication information also indicates the priority of at least one first network, then the first target network is the network with the highest priority applicable to the first call service.
[0245] It should be understood that if the call control terminal sends a first indication message to the call gateway before the call gateway executes the first call service, and the first indication message indicates at least one first network including a first target network applicable to the first call service, the call gateway will always use the first target network during the execution of the first call service.
[0246] It should also be understood that if the call control terminal sends a first instruction message to the call gateway during the execution of the first call service, and the first instruction message indicates at least one first network including a first target network applicable to the first call service, the call gateway, upon receiving the first instruction message, will change the network used to execute the first call service to the first target network. It is understood that if the call gateway was already using the first target network to execute the first call service before receiving the first instruction message, then there is no network change operation after receiving the first instruction message. However, if the call gateway was using a network different from the first target network (e.g., a third target network) to execute the first call service before receiving the first instruction message, then upon receiving the first instruction message, the call gateway will change the network used to execute the first call service from the third target network to the first target network.
[0247] S209b, the call gateway uses the second target network to perform the first call service.
[0248] For example, if the first indication information indicates at least one first network, and none of the at least one first network indicated by the first indication information is suitable for the first call service, then the call gateway uses a second target network suitable for the first call service to perform the first call service. In other words, if none of the at least one first network indicated by the first indication information is suitable for the first call service, the call gateway can independently select a second target network suitable for the first call service and use the second target network suitable for the first call service to perform the first call service.
[0249] For example, if the first indication information indicates that the network selected by the call gateway to perform the call service is available, then the call gateway selects a second target network suitable for the first call service to perform the first call service.
[0250] The first network not being applicable to the first call service includes one or more of the following situations: the call gateway is not connected to the first network, the call protocol used to perform the first call service does not support the first network, or the network specified by the call protocol used to perform the first call service is different from the first network.
[0251] For example, if the first call service is an outbound call, then the call gateway is not connected to the first network and / or the call protocol used by the call gateway to perform the outbound call does not support the first network, then the first network is not suitable for outbound calls.
[0252] For example, if the first call service is an inbound call, then the call gateway is not connected to the first network and / or the network specified by the call protocol used by the call gateway to execute the inbound call is not the first network, then the first network is not applicable to inbound calls.
[0253] It should be understood that if the call control terminal sends a first indication message to the call gateway before the call gateway executes the first call service, and at least one first network indicated by the first indication message is not applicable to the first target network of the first call service, the call gateway will always use the second target network applicable to the first call service during the execution of the first call service.
[0254] It should also be understood that if the call control terminal sends a first instruction message to the call gateway during the execution of the first call service, and at least one first network indicated by the first instruction message is unsuitable for the first call service, the call gateway, upon receiving the first instruction message, will continue to use the network it was originally using to execute the first call service. In other words, if the call gateway was already using the second target network to execute the first call service before receiving the first instruction message, then after receiving the first instruction message, there is no network change operation, and the call gateway will continue to use the second target network to execute the first call service.
[0255] S209c, The call gateway refuses to execute the first call service.
[0256] For example, if the first indication information indicates at least one first network, and none of the at least one first network indicated by the first indication information is applicable to the first call service, then the call gateway refuses to execute the first call service.
[0257] The situation where the first network is not suitable for the first call service can be referred to the description in S209b above.
[0258] For example, if the call control terminal sends a first indication message to the call gateway before the call gateway executes the first call service, the call gateway may refuse to execute the first call service if at least one first network indicated by the first indication message is not suitable for the first call service.
[0259] Optionally, if method 200 performs S209a or S209b, then method 200 may also include S210.
[0260] S210, the call gateway sends a third instruction message.
[0261] Correspondingly, the call control terminal receives the third instruction information.
[0262] The third indication information is used to indicate the network used by the call gateway to perform the first call service. For example, the third indication information may include the network identifier of the network used by the call gateway to perform the first call service.
[0263] This application does not limit the method by which the call gateway sends third instruction information to the call control terminal.
[0264] For example, if the call gateway supports the "General Call Control" service, the call gateway can send third indication information to the call control terminal through the notification or indication operations supported by the call status attributes included in the "General Call Control" instance.
[0265] For example, if the call gateway supports the "Call Control" service, the call gateway can send third indication information to the call control terminal through the notification or indication operations supported by the call status attributes included in "Call Control" instance #1. Here, "Call Control" instance #1 corresponds to the call application used by the call gateway to execute the first call service.
[0266] For example, the call gateway sends an SSAP value notification (SSAP_VALUE_NTF) or an SSAP value indication (SSAP_VALUE_IND) to the call control terminal. The SSAP value notification or SSAP value indication includes third indication information.
[0267] Optionally, if the call gateway sends a third indication message via the SSAP value indication, then after the call gateway sends the third indication message, method 200 further includes: receiving a response message from the call control terminal. For example, the response message is an SSAP value acknowledgment (SSAP_VALUE_ACK).
[0268] According to this application, when a call gateway supports or connects to multiple networks, the call control terminal can send first indication information to the call gateway. This allows the call gateway to determine the network used for executing the call service based on the first indication information, thereby improving the flexibility of the call control terminal in controlling the call gateway to execute the call service. For example, the call control terminal can determine the network used by the call gateway to execute the call service and instruct the call gateway through the first indication information, which helps the call control terminal select the best network for the call and improve the call experience.
[0269] Furthermore, this application can meet the personalized needs of different users for selecting the calling network. For example, this application can meet the needs of users who wish to select the network used by the calling gateway to perform calling services through the calling control terminal.
[0270] The method provided in this application embodiment will be described below with reference to Figure 3, taking the selection of the network used by the call control terminal to control the call gateway to perform an outgoing call as an example. It should be noted that method 300 is described using the example of the call control terminal and the call gateway communicating via SSAP. The call control terminal and the call gateway can also communicate via other protocols (such as Bluetooth protocol), and this application does not limit them to this.
[0271] As shown in Figure 3, method 300 may include the following steps.
[0272] S310, Service Discovery.
[0273] S310 can be referred to in the descriptions of S201 and S202 in method 200 above, and will not be described in detail here for the sake of brevity.
[0274] S320, access to "Network Information", and access to "Call Control" and / or "General Call Control".
[0275] S320 can be referred to in the descriptions of S203 to S206 in Method 200 above, and will not be described in detail here for the sake of brevity.
[0276] Furthermore, method 300 continues to execute the steps in method 1 or method 2.
[0277] The steps involved in Method 1 are described below.
[0278] S330, the call control terminal sends a network selection attribute write request or a network selection request.
[0279] Correspondingly, the call gateway receives network selection attribute write requests or network selection requests.
[0280] In one possible implementation, in S330, the call control terminal sends a network selection attribute write request to the call gateway.
[0281] For example, the network selection attribute write request may include a network identifier #1. Here, network identifier #1 is an example of first indication information for indicating at least one first network as described in method 200.
[0282] For example, the network selection attribute write request may include an identifier #1. Here, identifier #1 is an example of the first indication information described in method 200 for indicating the network selected by the call gateway to perform the call service; in other words, identifier #1 is used to indicate the network selected by the call gateway to perform the call service. For example, the value of identifier #1 is 0x00.
[0283] For example, the call control terminal can send a network selection attribute write request to the call gateway via an SSAP write request or an SSAP write command.
[0284] It should be understood that the network selection attribute write request may also include other forms of first indication information, and this application does not limit this. For a more detailed description of the first indication information, please refer to Method 200 above.
[0285] In one possible implementation, in S330, the call control terminal sends a network selection request to the call gateway.
[0286] For example, the network selection request may be a call control request with operation code 0x03, and the network selection request includes a network identifier #1. Here, network identifier #1 is an example of first indication information for indicating at least one first network as described in method 200.
[0287] For example, the network selection request can be a call control request with operation code 0x03, and the network selection request includes an identifier #1. Here, identifier #1 is an example of the first indication information described in method 200 for indicating the network selected by the call gateway to perform the call service; in other words, identifier #1 is used to indicate the network selected by the call gateway to perform the call service. For example, the value of identifier #1 is 0x00.
[0288] It should be understood that the network selection request may also include other forms of first instruction information, and this application does not limit this. Further description of the first instruction information can be found in Method 200 above.
[0289] S340, the call gateway sends a network selection attribute write response or a network selection response.
[0290] Correspondingly, the call control terminal receives a network selection attribute write response or a network selection response.
[0291] For example, if in S330 the call control terminal sends a network selection attribute write request to the call gateway, then in S340 the call gateway sends a network selection attribute write response to the call control terminal.
[0292] For example, if the call control terminal sends a network selection request to the call gateway in S330, then the call gateway sends a network selection response to the call control terminal in S340.
[0293] S350, the call control terminal sends an outgoing call request.
[0294] Correspondingly, the call gateway receives outgoing call requests.
[0295] For example, an outbound call request can be a call control request with operation code 0x01. The outbound call request includes URI#1, which is used to identify the contact person corresponding to the outbound call operation. For example, URI#1 is Tel: +8613012345678. Here, Tel is the scheme, indicating that the call control terminal controls the call gateway to execute this outbound call via telephone.
[0296] The following describes how the call gateway determines the network to be used for this outbound call.
[0297] For example, if the network selection attribute write request or the network selection request includes network identifier #1, then if network #1, identified by network identifier #1, is suitable for this outgoing call, the call gateway determines that the network used to execute this outgoing call is network #1. If network #1, identified by network identifier #1, is not suitable for this outgoing call, then the call gateway can select a suitable network #3 to execute this outgoing call.
[0298] For example, if the network selection attribute write request or the network selection request includes the identifier #1, the call gateway can determine the network to be used for this outbound call. For instance, the call gateway may determine that the network to be used for this outbound call is the network with the highest signal quality strength currently connected to the call gateway.
[0299] The steps involved in Method 2 are described below.
[0300] S360, the call control terminal sends outgoing call request.
[0301] Correspondingly, the call gateway receives outgoing call requests.
[0302] For example, an outbound call request can be a call control request with operation code 0x01. The outbound call request includes URI#1, which is used to identify the contact person corresponding to the outbound call operation. For example, URI#1 is Tel: +8613012345678. Here, Tel is the scheme, indicating that the call control terminal controls the call gateway to execute this outbound call via telephone.
[0303] Unlike S350 in Method 1, in Method 2, which does not include S330, the outgoing call request sent by the call control terminal to the call gateway may also include network identifier #2. Network identifier #2 is used to identify the network #2 that the call control terminal expects the call gateway to use to execute this outgoing call.
[0304] Optionally, if in S320, the call control terminal obtains the first characteristic status information by accessing the "General Call Control" service provided by the call gateway, and the first characteristic status information is used to indicate that the call control terminal is allowed to select the network used by the call gateway to perform call services, then the outgoing call request may include network identifier #2. Alternatively, if in S320, the call control terminal obtains the second characteristic status information #1 corresponding to call application #1 by accessing the "Call Control" service provided by the call gateway, and the second characteristic status information #1 is used to indicate that the call control terminal is allowed to select the network corresponding to call application #1, then the outgoing call request may include network identifier #2. Here, call application #1 is the call application used by the call gateway to perform this outgoing call, and the network corresponding to call application #1 is the network used by the call gateway when using call application #1 to perform call services.
[0305] The following describes how the call gateway determines the network to be used for this outbound call.
[0306] If the outgoing call request includes network identifier #2, the call gateway will preferentially use network #2 to execute the outgoing call. Specifically, if network #2 is suitable for the outgoing call, the call gateway will use network #2 to execute the outgoing call. If network #2 is not suitable for the outgoing call, the call gateway may refuse to execute the outgoing call.
[0307] Furthermore, method 300 may also include S370.
[0308] S370, the call gateway sends outgoing call response.
[0309] Correspondingly, the call control terminal receives the outgoing call response.
[0310] The outgoing call response includes the result of the call gateway executing the outgoing call. For example, if the call gateway successfully executes the outgoing call, the S outgoing call response may include the call identifier corresponding to this outgoing call.
[0311] Optionally, method 300 also includes S380.
[0312] S380, the call gateway sends a call status attribute notification.
[0313] Correspondingly, the call control terminal receives call status attribute notifications.
[0314] For example, if the call status of this outgoing call changes, such as when the call gateway hangs up, the call gateway sends a call status attribute notification to the call control terminal. The call status attribute notification may include the call identifier corresponding to the outgoing call executed by the call gateway and the network identifier of the network used to execute this outgoing call.
[0315] For example, the call gateway can send call status attribute notifications to the call control terminal via SSAP value retrieval notifications.
[0316] According to this application, when a call gateway supports or connects to multiple networks, the call control terminal can select the network used by the call gateway to execute outgoing calls, thereby improving the flexibility of the call control terminal in controlling the call gateway to execute outgoing calls, and also making it easier for the call control terminal to select the network with the best network signal quality for the call gateway to execute outgoing calls.
[0317] Furthermore, this application can meet the personalized needs of different users for network selection. For example, this application can meet the needs of users who wish to select the network used by the call gateway for outgoing calls through the call control terminal. As another example, users can instruct the call gateway to select the network used for outgoing calls through the call control terminal, thereby avoiding the need for users to select a network during each call.
[0318] The method provided in this application embodiment will be described below with reference to Figure 4, taking the example of the call control terminal controlling the call gateway to select the network used for an incoming call. It should be noted that method 400 is described using the example of the call control terminal and the call gateway communicating via SSAP. The call control terminal and the call gateway can also communicate via other protocols (such as Bluetooth protocol), and this application does not limit them to this.
[0319] As shown in Figure 4, method 400 may include the following steps.
[0320] S410, Service Discovery.
[0321] S410 can be referred to in the descriptions of S201 and S202 in Method 200 above, and will not be described in detail here for the sake of brevity.
[0322] S420, access to "Network Information", and access to "Call Control" and / or "General Call Control".
[0323] S420 can be referred to in the descriptions of S203 to S206 in Method 200 above, and will not be elaborated here for the sake of brevity.
[0324] S430, the call control terminal sends a network selection attribute write request or a network selection request.
[0325] Correspondingly, the call gateway receives network selection attribute write requests or network selection requests.
[0326] In one possible implementation, in S430, the call control terminal sends a network selection attribute write request to the call gateway.
[0327] For example, the network selection attribute write request may include an identifier #1. Here, identifier #1 is an example of first indication information described in method 200 for indicating the network selected by the call gateway to perform the call service; in other words, identifier #1 is used to indicate the network selected by the call gateway to perform the call service. For example, the value of identifier #1 is 0x00.
[0328] For example, the call control terminal can send a network selection attribute write request to the call gateway via an SSAP write request or an SSAP write command.
[0329] In one possible implementation, in S430, the call control terminal sends a network selection request to the call gateway.
[0330] For example, the network selection request can be a call control request with operation code 0x03, and the network selection request includes an identifier #1. Here, identifier #1 is an example of first indication information described in method 200 for indicating the network selected by the call gateway to perform the call service; in other words, identifier #1 is used to indicate the network selected by the call gateway to perform the call service. For example, the value of identifier #1 is 0x00.
[0331] It should be noted that step S430 is optional. For example, if the network used for an incoming call is selected by the call gateway by default, then step 400 may not need to execute S430.
[0332] S440, the call gateway sends a network selection attribute write response or a network selection response.
[0333] Correspondingly, the call control terminal receives a network selection attribute write response or a network selection response.
[0334] For example, if in S430 the call control terminal sends a network selection attribute write request to the call gateway, then in S440 the call gateway sends a network selection attribute write response to the call control terminal.
[0335] For example, if the call control terminal sends a network selection request to the call gateway in S430, then the call gateway sends a network selection response to the call control terminal in S440.
[0336] S450, the call gateway sends inbound and outbound call information attribute notifications.
[0337] Correspondingly, the call control terminal receives notifications of incoming and outgoing call information attributes.
[0338] If the call gateway is executing an incoming call, the call gateway can send an incoming / outgoing call information attribute notification to the call control terminal to send information related to the incoming call.
[0339] The incoming and outgoing call information attribute notification may include the call identifier corresponding to this incoming call and the network identifier of the network used by the call gateway to execute this incoming call. Optionally, the incoming and outgoing call attribute notification may also include user information and / or user aliases related to this incoming call, as described in Table 2 or Table 3 above.
[0340] It should be noted that if method 400 executes S430, the call gateway determines the network to be used for this incoming call by itself, based on the network selection attribute written in the response or the identifier #1 included in the network selection response.
[0341] For example, the call gateway can send inbound and outbound call information attribute notifications to the call control terminal via SSAP value retrieval notification.
[0342] Optionally, method 400 also includes S460.
[0343] S460, the call gateway sends a call status attribute notification.
[0344] Correspondingly, the call control terminal receives call status attribute notifications.
[0345] For example, if the call status of this outgoing call changes, such as when the call gateway hangs up, the call gateway sends a call status attribute notification to the call control terminal. The call status attribute notification may include the call identifier corresponding to the incoming call executed by the call gateway and the network identifier of the network used to execute this incoming call.
[0346] For example, the call gateway can send call status attribute notifications to the call control terminal via SSAP value retrieval notifications.
[0347] According to this application, the personalized needs of different users for network selection can be met. For example, users can instruct the call gateway to select the network used for outgoing calls through the call control terminal, thereby avoiding the need for users to select a network during each call.
[0348] It should be noted that the above description of methods 300 and 400 was based on the example of executing methods 300 and 400 individually. Methods 300 and 400 can also be executed in combination, and this application does not limit this.
[0349] For example, when methods 300 and 400 are executed in combination, the call control terminal can send a network selection attribute write response or a network selection response to the call gateway. This response may include a network identifier #1 corresponding to an outgoing call and an identifier #1 corresponding to an incoming call. Accordingly, based on the network selection attribute write response or the network selection response, if the network identified by network identifier #1 is suitable for an outgoing call, the call gateway determines that the network used to execute the outgoing call is the network identified by network identifier #1. Based on the network selection attribute write response or the network selection response, the call gateway independently determines the network used to execute the incoming call.
[0350] For example, when methods 300 and 400 are executed in combination, the call control terminal can send a network selection attribute write response or a network selection response to the call gateway. This response may include an identifier #1 corresponding to the incoming call. Accordingly, based on the network selection attribute write response or network selection response, the call gateway determines the network used to execute the incoming call. Furthermore, each time the call control terminal notifies the call gateway to execute an outgoing call, it can include the network identifier (e.g., network identifier #2) of the network used for executing the outgoing call, as determined by the call gateway, in the outgoing call request sent to the call gateway. Accordingly, based on the outgoing call request, if the network identified by network identifier #2 is suitable for the outgoing call, the call gateway can determine that the network used to execute the outgoing call is the network identified by network identifier #2.
[0351] Those skilled in the art will recognize that, based on the units and algorithm steps described in conjunction with the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is implemented in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0352] The communication device provided in this application is described in detail below with reference to Figures 5 to 7. It should be understood that the description of the device embodiments corresponds to the description of the method embodiments. Therefore, for details not described in detail, please refer to the method embodiments above; for brevity, some details will not be repeated.
[0353] This application embodiment can divide the transmitting or receiving device into functional modules according to the above method examples. For example, each function can be divided into its own functional modules, or two or more functions can be integrated into one processing module. The integrated module can be implemented in hardware or as a software functional module. It should be noted that the module division in this application embodiment is illustrative and only represents one logical functional division. In actual implementation, there may be other division methods. The following description uses the division of functional modules according to each function as an example.
[0354] Figure 5 is a schematic block diagram of a communication device 3000 provided in an embodiment of this application. The device 3000 includes a transceiver module 3011 and a processing module 3012. The transceiver module 3011 can implement corresponding communication functions, and the processing module 3012 is used for data processing. In other words, the transceiver module 3011 is used to perform receiving and sending related operations, while the processing module 3012 is used to perform other operations besides receiving and sending. The transceiver module 3011 can also be referred to as a communication interface or a communication unit.
[0355] In one possible implementation, the device 3000 may further include a storage module 3013, which can be used to store instructions and / or data. The processing module 3012 can read the instructions and / or data in the storage module 3013 to enable the device to perform the actions of the device in the aforementioned method embodiments.
[0356] In one design, the device 3000 may correspond to the call control terminal in the above method embodiments, or a component of the call control terminal (such as a chip).
[0357] The device 3000 can implement the steps or processes corresponding to those executed by the call control terminal in the above method embodiments. The transceiver module 3011 can be used to perform the transceiver-related operations of the call control terminal in the above method embodiments, and the processing module 3012 can be used to perform the processing-related operations of the call control terminal in the above method embodiments.
[0358] In one possible implementation, processing module 3012 is used to generate first indication information; transceiver module 3011 is used to send the first indication information to the call gateway, the first indication information indicating at least one first network supported by the call gateway, or the first indication information indicating the network selected by the call gateway to perform the call service.
[0359] When the device 3000 is used to execute the method in FIG2, the transceiver module 3011 can be used to execute the steps of sending and receiving information in the method, such as S201 to S206, S208 or S210; the processing module 3012 can be used to execute the processing steps in the method, such as S207.
[0360] When the device 3000 is used to execute the method in FIG3, the transceiver module 3011 can be used to execute the steps of sending and receiving information in the method, such as S310 to S380; the processing module 3012 can be used to execute the processing steps in the method.
[0361] When the device 3000 is used to execute the method in FIG4, the transceiver module 3011 can be used to execute the steps of sending and receiving information in the method, such as S410 to S460; the processing module 3012 can be used to execute the processing steps in the method.
[0362] It should be understood that the specific process of each unit performing the above-mentioned corresponding steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.
[0363] In another design, the device 3000 may correspond to the call gateway in the above method embodiments, or a component of the call gateway (such as a chip).
[0364] The device 3000 can implement the steps or processes corresponding to those executed by the call gateway in the above method embodiments. The transceiver module 3011 can be used to perform the transceiver-related operations of the call gateway in the above method embodiments, and the processing module 3012 can be used to perform the processing-related operations of the call gateway in the above method embodiments.
[0365] In one possible implementation, the transceiver module 3011 is configured to receive first indication information from the call control terminal; the processing module 3012 is configured to execute the first call service using the first target network if the first indication information indicates that at least one first network includes a first target network suitable for the first call service; or, the processing module 3012 is configured to execute the first call service using a second target network suitable for the first call service if the first indication information indicates that none of the at least one first network is suitable for the first call service, or to refuse to execute the first call service; or, the processing module 3012 is configured to execute the first call service using a second target network suitable for the first call service if the first indication information indicates that the call gateway selects a network to use for executing the call service.
[0366] When the device 3000 is used to execute the method in FIG2, the transceiver module 3011 can be used to execute the steps of sending and receiving information in the method, such as S201 to S206, S208 or S210; the processing module 3012 can be used to execute the processing steps in the method, such as S209a, S209b or S209c.
[0367] When the device 3000 is used to execute the method in FIG3, the transceiver module 3011 can be used to execute the steps of sending and receiving information in the method, such as S310 to S380; the processing module 3012 can be used to execute the processing steps in the method.
[0368] When the device 3000 is used to execute the method in FIG4, the transceiver module 3011 can be used to execute the steps of sending and receiving information in the method, such as S410 to S460; the processing module 3012 can be used to execute the processing steps in the method.
[0369] It should be understood that the specific process of each unit performing the above-mentioned corresponding steps has been described in detail in the above method embodiments, and will not be repeated here for the sake of brevity.
[0370] It should also be understood that the device 3000 here is embodied in the form of a functional module. The term "module" here may refer to application-specific integrated circuits (ASICs), electronic circuits, processors (e.g., shared processors, proprietary processors, or group processors) and memories for executing one or more software or firmware programs, combined logic circuits, and / or other suitable components that support the described functions.
[0371] In an alternative example, those skilled in the art will understand that the device 3000 may specifically be the call control terminal in the above embodiments, and may be used to execute the various processes and / or steps corresponding to the call control terminal in the above method embodiments; or, the device 3000 may specifically be the call gateway in the above embodiments, and may be used to execute the various processes and / or steps corresponding to the call gateway in the above method embodiments.
[0372] The apparatus 3000 of each of the above-described solutions has the function of implementing the corresponding steps performed by the device (such as a call control terminal or a call gateway) in the above-described methods. This function can be implemented by hardware or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above-described functions; for example, the transceiver module can be replaced by a transceiver (for example, the sending unit in the transceiver module can be replaced by a transmitter, and the receiving unit in the transceiver module can be replaced by a receiver), and other units, such as processing modules, can be replaced by processors, which respectively execute the transceiver operations and related processing operations in each method embodiment.
[0373] In addition, the transceiver module 3011 can also be a transceiver circuit (for example, it may include a receiving circuit and a transmitting circuit), and the processing module 3012 can be a processing circuit.
[0374] Figure 6 is a schematic diagram of another communication device 4000 provided in an embodiment of this application. The device 4000 includes a processor 4010, which executes computer programs or instructions stored in a memory 4020, or reads data / signaling stored in the memory 4020, to perform the methods in the above-described method embodiments. In one possible implementation, the processor 4010 may be one or more.
[0375] As shown in Figure 6, in one possible implementation, the device 4000 further includes a memory 4020 for storing computer programs or instructions and / or data. The memory 4020 may be integrated with the processor 4010 or may be separately configured. In another possible implementation, there may be one or more memories 4020.
[0376] As shown in Figure 6, one possible implementation of the device 4000 includes a transceiver 4030 for receiving and / or transmitting signals. For example, a processor 4010 controls the transceiver 4030 to receive and / or transmit signals.
[0377] As one option, the device 4000 is used to implement the operations performed by, for example, a call control terminal or a call gateway in the various method embodiments described above.
[0378] It should be understood that the processor mentioned in the embodiments of this application can be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.
[0379] It should also be understood that the memory mentioned in the embodiments of this application can be volatile memory and / or non-volatile memory. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM). For example, RAM can be used as an external cache. By way of example and not limitation, RAM includes the following forms: static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous linked dynamic random access memory (SLDRAM), and direct rambus RAM (DR RAM).
[0380] It should be noted that when the processor is a general-purpose processor, DSP, ASIC, FPGA, or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, the memory (storage module) can be integrated into the processor.
[0381] It should also be noted that the memory described herein is intended to include, but is not limited to, these and any other suitable types of memory.
[0382] Figure 7 is a schematic diagram of a chip system 5000 provided in an embodiment of this application. The chip system 5000 (or may also be called a processing system) includes logic circuitry 5010 and an input / output interface 5020.
[0383] The logic circuit 5010 can be a processing circuit in the chip system 5000. The logic circuit 5010 can be coupled to a memory unit, calling instructions from the memory unit, enabling the chip system 5000 to implement the methods and functions of the embodiments of this application. The input / output interface 5020 can be an input / output circuit in the chip system 5000, outputting processed information from the chip system 5000, or inputting data or signaling information to be processed into the chip system 5000 for processing.
[0384] As one approach, the chip system 5000 is used to implement the operations performed by the device (such as a call control terminal or a call gateway) in the various method embodiments described above.
[0385] For example, logic circuit 5010 is used to implement processing-related operations performed by the device (such as a call control terminal or a call gateway) in the above method embodiments; input / output interface 5020 is used to implement sending and / or receiving-related operations performed by the device (such as a call control terminal or a call gateway) in the above method embodiments.
[0386] This application also provides a computer-readable storage medium storing computer instructions for implementing the methods executed by a device (such as a call control terminal or a call gateway) in the above-described method embodiments.
[0387] For example, when the computer program is executed by a computer, it enables the computer to implement the methods performed by the device (such as a call control terminal or a call gateway) in the various embodiments of the above methods.
[0388] This application also provides a computer program product comprising instructions which, when executed by a computer, implement the methods performed by a device (such as a call control terminal or a call gateway) in the above-described method embodiments.
[0389] This application also provides a communication system, including the aforementioned call control terminal and call gateway.
[0390] The explanations and beneficial effects of the relevant contents in any of the devices provided above can be found in the corresponding method embodiments provided above, and will not be repeated here.
[0391] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0392] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0393] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0394] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0395] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0396] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0397] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A call control method, the method being applied to a call gateway, characterized in that, include: Receive the first instruction information from the call control terminal; If the first indication information indicates that the call gateway supports at least one first network, and the at least one first network includes a first target network suitable for the first call service, then the first call service is performed using the first target network; or, If the first indication information indicates that the call gateway supports at least one first network, and none of the at least one first network is applicable to the first call service, then the first call service is executed using a second target network applicable to the first call service, or the first call service is refused to be executed. or, If the first indication information indicates that the network to be used when performing a call service is selected by the call gateway, then the first call service is performed using a second target network suitable for the first call service.
2. The method according to claim 1, characterized in that, The first indication information indicates the at least one first network, and the first indication information also indicates the priority of each of the at least one first network, wherein the first target network is the network with the highest priority among the at least one first networks applicable to the first call service.
3. The method according to claim 1 or 2, characterized in that, The first network is applicable to the first call service in one or more of the following situations: the call gateway is connected to the first network, the call protocol used to execute the first call service supports the first network, or the network specified by the call protocol used to execute the first call service is the first network. or, The first network is not applicable to the first call service, including one or more of the following situations: the call gateway is not connected to the first network, the call protocol used to execute the first call service does not support the first network, or the network specified by the call protocol used to execute the first call service is different from the first network.
4. The method according to any one of claims 1 to 3, characterized in that, The at least one first network is applicable to the first call application.
5. The method according to claim 4, characterized in that, The first indication information also indicates at least one second network, which is suitable for a second calling application.
6. The method according to any one of claims 1 to 3, characterized in that, The first indication information indicates the at least one first network, and the method further includes: The system receives a second instruction from the call control terminal, the second instruction further indicating at least one second network suitable for a second call application.
7. The method according to any one of claims 1 to 6, characterized in that, Before receiving the first indication information, the method further includes: Send first information to the call control terminal, the first information including network information of each of at least one network supported by the call gateway.
8. The method according to claim 7, characterized in that, Before sending the first information to the call control terminal, the method further includes: The call control terminal receives a first request message, which requests network information for each of at least one network supported by the call gateway.
9. The method according to claim 7 or 8, characterized in that, The network information for each of the at least one network includes one or more of the following: network identifier, network operator name, network standard, network signal strength, or the calling protocol supported by the network.
10. The method according to claim 9, characterized in that, The call gateway supports at least one user card, and the at least one network includes a third network corresponding to the first user card. The network identifier of the third network is a predefined value corresponding to the first user card, and the first user card is any one of the at least one user cards.
11. The method according to any one of claims 1 to 10, characterized in that, The receipt of the first indication information from the call control terminal includes: Before executing the first call service, receive the first indication information from the call control terminal; or, During the execution of the first call service, the first instruction information is received from the call control terminal.
12. The method according to claim 11, characterized in that, During the execution of the first call service, the first instruction information is received from the call control terminal; If the first target network is used to perform the first call service, then the first target network is different from the third target network; or, If the second target network is used to perform the first call service, then the second target network is the same as the third target network; The third target network is the network used by the call gateway to perform the first call service before receiving the first indication information.
13. A call control method, the method being applied to a call control terminal, characterized in that, include: Generate first indication information, which indicates at least one first network supported by the call gateway, or indicates the network selected by the call gateway when performing a call service; The first instruction information is sent to the call gateway.
14. The method according to claim 13, characterized in that, The first indication information indicates the at least one first network, and the first indication information also indicates the priority of each of the at least one first network.
15. The method according to claim 13 or 14, characterized in that, The at least one first network is applicable to the first call application.
16. The method according to claim 15, characterized in that, The first indication information also indicates at least one second network, which is suitable for a second calling application.
17. The method according to claim 13 or 14, characterized in that, The first indication information indicates the at least one first network, and the method further includes: A second indication message is sent to the call gateway, the second indication message further indicating at least one second network, the at least one second network being suitable for a second call application.
18. The method according to any one of claims 13 to 17, characterized in that, Before sending the first indication information, the method further includes: Receive first information from the call gateway, the first information including network information of each of at least one network supported by the call gateway.
19. The method according to claim 18, characterized in that, Before receiving the first information, the method further includes: Send a first request message to the call gateway, the first request message being used to request network information for each of at least one network supported by the call gateway.
20. The method according to claim 18 or 19, characterized in that, The network information for each of the at least one network includes one or more of the following: network identifier, network operator name, network standard, network signal strength, or the calling protocol supported by the network.
21. The method according to claim 20, characterized in that, The call gateway supports at least one user card, and the at least one network includes a third network corresponding to the first user card. The network identifier of the third network is a predefined value corresponding to the first user card, and the first user card is any one of the at least one user cards.
22. The method according to any one of claims 13 to 21, characterized in that, Sending the first indication information to the call gateway includes: Before the call gateway executes the first call service, the first indication information is sent to the call gateway; or, During the execution of the first call service by the call gateway, the first instruction information is sent to the call gateway.
23. A communication device, characterized in that, The apparatus includes a unit for performing the method as described in any one of claims 1 to 12.
24. A communication device, characterized in that, The apparatus includes a unit for performing the method as described in any one of claims 13 to 22.
25. A communication system, characterized in that, This includes the communication device as described in claim 23 or the communication device as described in claim 24.
26. A communication device, characterized in that, The device includes a processor coupled to a memory for storing computer programs or instructions, and the processor is configured to execute the computer programs or instructions in the memory, causing the device to perform the method as described in any one of claims 1 to 22.
27. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program or instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 22.
28. A chip or chip system, characterized in that, Includes: a processor for retrieving and running a computer program from memory, causing a communication device equipped with the chip system to perform the method of any one of claims 1 to 22.
29. A computer program product, characterized in that, When the computer program product is run on a computer, it causes the computer to perform the method as described in any one of claims 1 to 22.