Methods, apparatus, equipment, media and software products for airborne communication

CN117729522BActive Publication Date: 2026-09-01RUILIAN XINGCHEN (BEIJING) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211105159.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-09-09
Publication Date
2026-09-01
Estimated Expiration
2042-09-09

AI Technical Summary

Technical Problem

HFP设计并改进了关于蜂窝呼叫的标准规范,但是还没有关于基于互联网协议的语音(Voice over Internet Protocol,简称为VoIP)呼叫场景的标准规范

Benefits of technology

[0008]应当理解,此部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117729522B_ABST
    Figure CN117729522B_ABST
Patent Text Reader

Abstract

According to embodiments of this disclosure, a method, apparatus, device, computer-readable storage medium, and computer program product for airborne communication are provided. In the method, an airborne device receives an indication from a mobile device regarding the availability of cellular network services. The airborne device determines, at least in part, the type of call being made by the mobile device based on this indication, in order to present a corresponding user interface via the airborne device. This allows for the effective and efficient differentiation between regular cellular network service-based calls and other types of calls.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The exemplary embodiments disclosed herein generally relate to the field of computers, and particularly to methods, apparatus, devices, computer-readable storage media, and computer program products for airborne communications. Background Technology

[0002] The Bluetooth Hands-Free Profile (HFP) standardizes communication between audio gateways (AGs) on mobile devices and hands-free units (HFs) on airborne devices via Bluetooth. HFP designed and improved upon standard specifications for cellular calls, but there are no standard specifications for Voice over Internet Protocol (VoIP) calls. Summary of the Invention

[0003] In a first aspect of this disclosure, a method of airborne communication is provided. The method includes receiving, at an airborne device, an indication from a mobile device as to whether cellular network service is available; and determining, at least in part, the type of call performed by the mobile device based on the indication, in order to present a corresponding user interface via the airborne device.

[0004] In a second aspect of this disclosure, an apparatus for airborne communication is provided. The apparatus includes: a receiving module configured to receive an indication from a mobile device as to whether cellular network service is available; and a determining module configured to determine, at least in part, the type of call performed by the mobile device based on the indication, in order to present a corresponding user interface via an airborne device.

[0005] In a third aspect of this disclosure, an electronic device is provided. The device includes a memory and a processor; wherein the memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to a first aspect of this disclosure.

[0006] In a fourth aspect of this disclosure, a computer-readable storage medium is provided having one or more computer instructions stored thereon, wherein the one or more computer instructions are executed by a processor to implement the method according to a first aspect of this disclosure.

[0007] In a fifth aspect of this disclosure, a computer program product is provided, comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to a first aspect of this disclosure.

[0008] It should be understood that the description in this section is not intended to limit the key or essential features of the embodiments of this disclosure, nor is it intended to restrict the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0010] Figure 1 A schematic diagram of an example environment in which embodiments of the present disclosure can be implemented is shown;

[0011] Figure 2 Example call type identification methods according to some embodiments of the present disclosure are shown;

[0012] Figure 3 An example call type identification process according to some embodiments of this disclosure is shown;

[0013] Figure 4A and Figure 4B Example instruction timings between HF and AG according to some embodiments of this disclosure are shown;

[0014] Figure 5 A block diagram of a network configuration apparatus according to some embodiments of the present disclosure is shown; and

[0015] Figure 6 A block diagram of an apparatus capable of implementing various embodiments of the present disclosure is shown. Detailed Implementation

[0016] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0017] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below.

[0018] The embodiments of this disclosure may involve user data, data acquisition, and / or use. All of these aspects comply with applicable laws, regulations, and relevant provisions. In the embodiments of this disclosure, all data collection, acquisition, processing, manipulation, forwarding, and use are conducted with the user's knowledge and confirmation. Accordingly, in implementing the embodiments of this disclosure, the type, scope of use, and usage scenarios of any data or information that may be involved should be communicated to the user and their authorization obtained in accordance with relevant laws and regulations through appropriate means. The specific methods of notification and / or authorization may vary depending on the actual situation and application scenario, and the scope of this disclosure is not limited in this respect.

[0019] As used herein, "cellular call" refers to a call made using cellular communication technology via a Public Land Mobile Network (PLMN). Cellular communication technology is a wireless communication technology that follows 4G, 5G, and later cellular communication standards. Using this technology, a geographical area can be divided into several cells in a cellular structure. Each cell can contain one or more base stations, through which mobile devices can access the cellular network.

[0020] As used herein, "voice call based on Internet Protocol" or "VoIP call" refers to a call that uses the Internet Protocol. This call is not connected to traditional telephone networks, such as the Public Switched Telephone Network (PSTN) or the Integrated Services Digital Network (ISDN). VoIP calls can be made using applications such as instant messaging applications.

[0021] As mentioned earlier, HFP does not yet have standard specifications for VoIP call scenarios. Furthermore, due to the different processing strategies for cellular and VoIP calls, it is necessary to differentiate between the two types of calls to make corresponding adjustments to the User Interface (UI). HFP also lacks standard specifications for instructions on distinguishing between cellular (also known as outgoing) and VoIP calls.

[0022] Operating systems for different mobile devices employ varying strategies for handling VoIP calls. Typically, VoIP calls are treated as virtual outgoing calls. However, some operating systems sequentially send dialing status indicators (e.g., a dialing indicator), alarm status indicators (e.g., an alarming indicator), and connection status indicators (e.g., an active indicator) to the onboard device. Other operating systems, after sending the dialing status indicator, may skip the alarm status indicator and directly send the connection status indicator. Therefore, it is difficult to identify VoIP calls based solely on outgoing call status indicators.

[0023] Furthermore, different mobile device manufacturers handle VoIP outgoing call numbers differently. If the onboard device queries the outgoing call status on the mobile device (e.g., a mobile phone) by sending an Attention (AT) + CLCC command or instruction, some brands of mobile devices can reply with their Subscriber Identity Module (SIM) number, while others reply with 10000000, and still others reply with 0000000000. Therefore, it is difficult to identify VoIP calls based solely on the outgoing call number.

[0024] Another approach is to identify VoIP calls by comparing the SIM card number and the outgoing call number. For example, an HFP Signaling Link Code (SLC) link can be established. The SLC link can be a basic service layer link in an HFP scenario built on top of the Radio Frequency Communication (RFCOMM) protocol over a virtual serial port. It can use RFCOMM connections and several AT commands to support data exchange between Bluetooth hands-free devices (HF) and audio gateways (AG), providing functions such as voice audio codecs and three-way call control. The SLC link is considered complete after the Extended Synchronous Connection-Oriented (ESCO) link is established, and AT commands can then be transmitted on it.

[0025] According to HFP, a connection-oriented synchronous (SCO) or ESCO link can be a Bluetooth synchronous transmission link, which can be mainly used for synchronous voice transmission, can be a symmetrical connection, and can use reserved time slots to transmit data. An asynchronous connectionless (ACL) link can be a Bluetooth asynchronous transmission link, which can be mainly used for packet data transmission, and is also called a packet data link.

[0026] After the SLC link is established, the onboard equipment can send the AT+CNUM (also known as CNUM) command to query the number of the (primary) SIM card on the mobile phone. If the number received from the mobile phone in response to the AT+CNUM command is consistent with the number received in response to the AT+CLCC (also known as +CLCC) command, it can be determined that the call is a virtual VoIP outgoing call.

[0027] However, if the phone does not have a SIM card inserted, the AT+CNUM command will fail to retrieve the SIM card number. Even without a SIM card, some domestic emergency and service numbers can still be used. For example, a phone without a SIM card can still make calls to police (e.g., 110), emergency call centers (e.g., 112), fire departments (e.g., 119), ambulances (e.g., 120), or emergency call services (e.g., 122), etc. Calls to these numbers are still considered cellular calls. Additionally, in some cases, the number returned by the phone in response to the AT+CLCC command is not the primary SIM card number. Some phones may also have CLCC interactive command functionality completely disabled. In these cases, it is impossible to identify a VoIP call based on a comparison of the SIM card number and the outgoing call number.

[0028] Some embodiments of this disclosure propose a call type identification scheme. This scheme first determines the call type, such as whether it is a cellular call or a VoIP call, based on an indication of whether cellular network service is available on the mobile device, so as to present a corresponding user interface via onboard equipment. The above scheme can effectively distinguish cellular network service-based calls from other types of calls. If cellular network service is unavailable, it can be preliminarily determined that regular cellular network service-based calls are not supported.

[0029] However, there are exceptions. For example, even if a SIM card is not inserted in the phone, or even if a SIM card is inserted but cellular network service is unavailable, the phone can still make some emergency calls, such as the police number 110, the emergency call center number 112, the fire department number 119, the ambulance number 120, and / or the emergency call center number 122. In these cases, it can still be considered a cellular call. In some embodiments, the call type can be further determined by searching for the call number in a predetermined list of cellular call numbers that includes these specific numbers.

[0030] This method allows for the initial determination of mobile device call types based on cellular network service availability. This effectively distinguishes regular cellular network-based calls from other call types. The solution is simple to implement and boasts a high recognition rate.

[0031] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown.

[0032] Environment 100 may include vehicle 105. Vehicle 105 may also be referred to as a means of transportation and may include any suitable machine or equipment for transporting goods, personnel, etc. This is for illustrative purposes only. Figure 1 The vehicle 105 is shown as a vehicle, without implying any limitation on the scope of this disclosure. As an example, vehicle 105 may also include, but is not limited to, ships, aircraft, spacecraft, etc.

[0033] Airborne equipment 110 may be installed on vehicle 105. Airborne equipment 110 may include any device mounted on vehicle 105 and having communication capabilities. In embodiments where vehicle 105 is implemented as a vehicle, airborne equipment 110 may be implemented as in-vehicle equipment (also referred to as a vehicle-mounted system). Airborne equipment 110 may be configured to communicate with mobile device 115 via wired and / or wireless means. Airborne equipment 110 may also communicate with mobile device 115 using other short-range communication technologies such as infrared, near-field communication, and / or long-range communication technologies such as WLAN.

[0034] Mobile device 115 may be carried by a person (e.g., a driver or passenger) in vehicle 105, or may be placed somewhere in vehicle 105. Mobile device 115 may include any suitable device with voice calling capability, including but not limited to, mobile phones, desktop computers, laptop computers, notebook computers, netbook computers, tablet computers, media computers, multimedia tablets, personal communication system (PCS) devices, personal navigation devices, personal digital assistants (PDAs), audio / video players, digital cameras / camcorders, positioning devices, television receivers, radio broadcast receivers, e-book devices, virtual reality (VR) all-in-one machines, game consoles, gaming laptops, or any combination of the foregoing, including accessories and peripherals of these devices or any combination thereof. In some embodiments, mobile device 115 may also support any type of user-facing interface (such as "wearable" circuitry).

[0035] Environment 100 may include base station 120, which can be connected to PLMN 125 to provide cellular network services to mobile device 115. Base station 120 may include any suitable device through which mobile device 115 can access the cellular network, including but not limited to Node B, evolved Node B, gNB, radio head, transceiver, repeater, low-power node, etc.

[0036] In this example, such as Figure 1 As shown, base station 120 can also communicate with server 135 via IP network 130 to provide VoIP services to mobile device 115. Server 135 can be any type of device, including virtual and physical devices. As an example, server 135 can include, but is not limited to, mainframes, edge computing nodes, computing devices in cloud environments, rack servers, router computers, server computers, personal computers, mainframes, laptop computers, tablet computers, desktop computers, etc.

[0037] Alternatively or additionally, environment 100 may include access point 140, which may also communicate with server 135 via IP network 130 to provide VoIP services to mobile device 115. Access point 125 may include any suitable device through which mobile device 115 can access the Internet, which may include virtual and physical devices. As an example, access point 140 may include a routing or access device in a WLAN, such as a wireless router or a user terminal device capable of routing.

[0038] It should be understood that the structure and function of environment 100 are described for illustrative purposes only and do not imply any limitation on the scope of this disclosure. In some embodiments, environment 100 may include components that are compatible with... Figure 1The same, fewer, more, or different systems, devices, components, and / or elements arranged or configured in the same or different ways as shown.

[0039] In environment 100, mobile device 115 can initiate cellular calls via PLMN network 125. Mobile device 115 can also initiate VoIP calls via IP network 130. In some embodiments, mobile device 115 may have an application that supports VoIP communication installed. Users can interact with the application via mobile device 115 and / or attached devices to mobile device 115.

[0040] In some embodiments, the airborne device 110 may communicate with the mobile device 115 via Bluetooth technology to provide voice call-related or other hands-free functions for the mobile device 115. The airborne device 110 may present the user with controls, interface elements, icons, or buttons, etc., for operating the mobile device 115 through a user interface (UI).

[0041] As an example, the airborne device 110 and the mobile device 115 can use a Bluetooth SCO or ESCO link for bidirectional voice and data interaction to support Bluetooth audio. The airborne device 110 can control the calls of the mobile device 115 using AT commands defined by protocols such as HFP, including answering, hanging up, rejecting calls, and voice dialing, thereby providing Bluetooth hands-free application scenarios. In some embodiments, the airborne device 110 can act as a device providing input / output mechanisms (such as HF) to a remote device of an audio gateway, and can also control the audio gateway. Examples of the airborne device 110 may include in-vehicle Bluetooth, Bluetooth headsets, etc. The mobile device 115 can act as an audio gateway (AG), serving as both an input and an output. Examples of the mobile device 115 include smartphones, etc.

[0042] Airborne device 110 can initially determine the call type of mobile device 115 based on an indication from mobile device 115 regarding the availability of cellular network service, in order to present a corresponding user interface. For example, if it is determined that the call type of mobile device 115 is a VoIP call, the hang-up button may not be displayed. Some airborne devices can disconnect the Bluetooth communication link with the mobile device in response to a predetermined operation of the user on the displayed hang-up button, but the VoIP call on the mobile device remains connected. By not displaying the hang-up button, situations where the VoIP call cannot be disconnected via the HF end of the airborne device can be avoided, thus preventing inconvenience to the user. Airborne device 110 can present any user interface suitable for user operation for cellular and VoIP calls, and the scope of this disclosure is not limited in this respect.

[0043] Figure 2An example call type identification method 200 according to some embodiments of the present disclosure is shown. Method 200 can be implemented at onboard device 110. For ease of discussion, it will be combined with... Figure 1 Let's describe method 200.

[0044] At block 205, airborne device 110 receives an indication from mobile device 115 regarding the availability of cellular network service. In some embodiments, this indication may be sent by mobile device 115 in response to a request from airborne device 110. The request from airborne device 110 may be implemented in any suitable form. For example, airborne device 110 may use a dedicated instruction or reuse an existing instruction to request the indication.

[0045] As an example, the onboard device 110 can send a dedicated command to the mobile device 115 to request status information such as phone status or network service status, for example, an AT+CIND? command, to request an indication from the mobile device 115 as to whether cellular network service is available. In response to receiving this request, the mobile device 115 can reply with an indication of whether cellular network service is available, for example, an indication of whether the home network or roaming network is available or unavailable. The home network may include the SIM card's home network, and the roaming network may include networks in other regions where the user has moved from the home network.

[0046] Alternatively or additionally, the request from the onboard device 110 can be fulfilled by an AT+CNUM command sent by the onboard device 110 to obtain the number of the SIM card of the mobile device 115 (referred to as the "first number"). For example, if the onboard device 110 sends an AT+CNUM command to the mobile device 115 to request the first number of the SIM card when no SIM card is inserted in the mobile device 115, the mobile device 115 can reply with an indication that cellular network service is unavailable.

[0047] In some embodiments, the indication may be sent proactively by the mobile device 115. For example, the mobile device 115 may send an indication to the onboard device 110 regarding the availability of cellular network service after the cellular network connection is lost or restored. The mobile device 115 may also send the indication to the onboard device 110 in response to other events or periodically.

[0048] In box 210, the onboard device 110 determines, at least in part, the type of call performed by the mobile device 115 based on the indication, in order to present a corresponding user interface via the onboard device 110. For example, if the indication indicates that cellular network service is unavailable, it can be determined that the call is not based on cellular network service, and could be, for example, a VoIP call.

[0049] Considering that mobile device 115 can still make emergency calls even when no SIM card is inserted, or when the cellular network signal is weak or nonexistent, in some embodiments, when an indication shows that cellular network service is unavailable, onboard equipment 110 can search for the calling number of mobile device 115 in a predetermined list of cellular calling numbers and determine the type of call made by mobile device 115 based on the search.

[0050] This pre-defined list of cellular call numbers can include emergency call numbers such as police numbers, emergency call center numbers, fire alarm numbers, ambulance numbers, emergency call desk numbers, and other numbers that can be dialed when cellular network service is unavailable. If the mobile device 115's call number is found in the list of cellular call numbers, the call is confirmed to be a cellular call. If the call number is not found, the call is confirmed to be a VoIP call.

[0051] Subsequently, the onboard device 110 can display a corresponding user interface. For example, for cellular calls, a hang-up button can be displayed on the user interface so that the user can hang up the call by performing a pre-defined operation such as pressing or clicking the hang-up button. For VoIP calls, a hang-up button may not be displayed to avoid inconveniencing the user due to the inability to hang up the VoIP call by operating the hang-up button.

[0052] In some embodiments, if an indication indicates that cellular network service is available, the onboard device 110 can determine the type of call based on the time interval between a dialing status indication and an connection status indication received from the mobile device 115. If the time interval between the dialing status indication and the connection status indication is short, for example, less than or equal to a threshold, the call can be determined to be a VoIP call. The value of the threshold can be preset or dynamically adjusted as needed. As an example, the value of the threshold can be set to 100ms.

[0053] According to cellular communication protocol standards, such as the Global System for Mobile Communications (GSM) and the 3G Partner Program, outgoing cellular calls have associated status indicators. For example, for a single outgoing call, cellular call status indicators may include CIEV:2,2 (e.g., as a Dialing indicator), CIEV:2,3 (e.g., as an Alerting indicator), and CIEV:1,1 (e.g., as an Active indicator). Time intervals may exist between cellular outgoing call status indicators, such as dialing (e.g., Dialing), alarming (e.g., Alerting), and connection (e.g., Active) status indicators. The delay interval between dialing and connection status indicators can be 1 second or more. However, there are no relevant protocol specifications for VoIP calls. In practice, the interval between Dialing and Active status indicators is mostly short, generally within 50ms, and even within 1ms or 2ms in some cases. By comparing the time interval between dialing and connection status indicators with a threshold, VoIP calls can be quickly and effectively identified.

[0054] If a transmission delay is added between the dialing status indication and the connection status indication of mobile device 115, and the threshold is not updated in real time, a threshold-based comparison may fail to distinguish between cellular calls and VoIP calls. To further effectively distinguish between cellular calls and VoIP calls, in some embodiments, onboard device 110 may continue to determine the call type based on a comparison between the first number of the SIM card of mobile device 115 and the number called during the call (referred to as the "second number"). For example, onboard device 110 may request the first number of the SIM card of mobile device 115 via a CNUM command and request the second number called during the call via a +CLCC command. If both are the same, the call can be determined to be a VoIP call.

[0055] As mentioned earlier, some mobile phone brands can respond with the phone's primary SIM card number when making a VoIP call in response to the +CLCC instruction. By comparing this number with the primary SIM card number of the mobile device, the VoIP call can be effectively identified.

[0056] In some embodiments, if the first number on the SIM card differs from the second number being called, the call type can be determined to be a VoIP call by searching for the second number in a predetermined VoIP call number list. The VoIP call number list may store specific numbers for +CLCC responses when a mobile phone brand makes a VoIP call. This list can be implemented in any suitable form; for example, it can be implemented as a dictionary. If the second number is found in the VoIP call number list, the call can be determined to be a VoIP call. Otherwise, the call can be determined to be a cellular call.

[0057] Sometimes, the phone number that responds to +CLCC on the mobile phone is not the primary SIM card number; it may be a virtual number that does not actually exist. Some phones may also have the CLCC interaction command function disabled. By storing the unique numbers that respond to +CLCC commands from various mobile devices for later comparison, VoIP calls can be effectively identified.

[0058] The following will combine Figure 3 , Figure 4A and Figure 4B This paper discusses an example scenario of a call type identification scheme according to some embodiments of the present disclosure. In this example scenario, the onboard device 110 is implemented by a vehicle-mounted system, and the mobile device 115 is implemented by a mobile phone. The identified call types include cellular calls and VoIP calls.

[0059] Figure 3 An example call type identification process 300 according to some embodiments of the present disclosure is shown.

[0060] In process 300, at 305, the determination of whether it is a cellular call or a VoIP call begins. At 310, the mobile phone sends +CIEV:3,1 or +CIEV:3,0 to provide cellular network service status information to the vehicle's infotainment system. In this example, a cellular network service status indicator for the SIM card is added, which, for example, is +CIEV:3,1 or +CIEV:3,0, indicating whether cellular network service is enabled or disabled, respectively. If the SIM card is inserted correctly and provides normal cellular network service, the mobile phone will send +CIEV:3,1; otherwise, it will send +CIEV:3,0.

[0061] At step 315, determine if cellular network service is available. If the status indicator received at step 310 is +CIEV:3,0, then cellular network service is determined to be unavailable. At step 315, the mobile phone sends outgoing call leading indicator information. At step 320, determine if the outgoing call number is a pre-defined cellular call number such as 110, 112, 119, 120, or 122. If the outgoing call number from the mobile phone is 110, 112, 119, 120, or 122, it is considered a cellular call. At step 330, process it directly as a cellular call. Otherwise, treat it as a VoIP call. At step 335, process it directly as a VoIP call.

[0062] If cellular network service is confirmed to be available at step 315, or if the cellular network service status switches back to +CIEV:3,1, then at step 340, check if the vehicle's infotainment system has previously successfully obtained the SIM card's number via AT+CNUM. If not, at step 345, the vehicle's infotainment system sends AT+CNUM to obtain the phone number from the mobile phone. If the phone number from the mobile phone is obtained, at step 350, the mobile phone sends outgoing call dialing and active indicator information sequentially. At step 355, determine if the time interval between dialing and active is less than or equal to a threshold value.

[0063] If the time interval is less than or equal to the threshold value, it is directly processed as a VoIP call (335). Otherwise, at 360, it is determined whether the numbers obtained by CNUM and +CLCC are consistent. If they are consistent, it is directly processed as a VoIP call (335). If they are inconsistent, at 365, it is checked whether the phone number obtained by +CLCC is in a special dictionary list. In this example, the VoIP call number list is implemented using a special dictionary list.

[0064] If the call is in a special dictionary list, it is processed directly as a VoIP call (335). Otherwise, it is processed directly as a cellular call (330). After the call type is identified, process 300 stops at 365.

[0065] This allows for the initial determination of cellular network service availability. If no SIM card is inserted, or even if a SIM card is inserted but cellular network service is unavailable, subsequent calls (or outgoing calls) to numbers such as 110, 112, 119, 120, or 122 can be considered cellular calls; otherwise, they can be considered VoIP calls. If the cellular network server is available, the SIM card number is retrieved via AT+CNUM. If the mobile phone sequentially sends outgoing call status indicators +CIEV:3,2 (Dialing), +CIEV:3,3 (Alerting), and +CIEV:2,1 (Active) to the vehicle's infotainment system, the interval between Dialing and Active can be compared to a threshold value (e.g., 100ms) as a criterion. If the delay interval between Dialing and Active is less than or equal to the threshold value, it can be considered a VoIP call.

[0066] In cases where some mobile phones have added a transmission delay between Dialing and Alerting commands, to further effectively distinguish between cellular and VoIP calls beyond the 100ms threshold, it's possible to further determine if the phone numbers obtained by CNUM and +CLCC are the same. If they are the same, it can be identified as a VoIP call. If they are different, it can be further determined whether the phone number is in a specific phone number dictionary. If it is, it can be identified as a VoIP call; otherwise, it can be considered a cellular call.

[0067] In this way, various judgment conditions can be used to further improve the recognition rate of cellular and VoIP calls. For example, it can be based on comparing the time interval between dialing and active with a threshold, comparing the phone number replied by +CLCC with a special number dictionary, or the logic that domestic emergency and service numbers (e.g., 110, 112, 119, 120, 122, etc.) can still be called even when no SIM card is inserted. This can further improve the recognition rate of cellular and VoIP calls.

[0068] It should be understood that Figure 3 The order of operations or actions in process 300 shown is merely an example and not a limitation. Some operations or actions in process 300 may be performed in parallel or in reverse order. For example, in some embodiments, outgoing call dialing and active indicator information may be sent sequentially on the mobile phone side. Figure 3 After (350), check if the vehicle's infotainment system has previously successfully obtained the SIM card number via AT+CNUM. Figure 3 (340 in the middle). Alternatively, determine the availability of cellular network service. Figure 3The 315 in the middle can also send outgoing call dialing and active indicator information sequentially on the mobile phone side. Figure 3 Execute after 350 in the middle.

[0069] Figure 4A and Figure 4B Example instruction timing between the HF and AG according to some embodiments of this disclosure is shown. In this example, the vehicle-mounted unit acts as HF 405, while the mobile phone acts as AG 410.

[0070] First refer to Figure 4A It illustrates example instruction timing 400 in a VoIP call scenario where the SIM card and cellular network service are ready, according to some embodiments of the present disclosure.

[0071] like Figure 4A As shown, at 415, the vehicle's infotainment system sends AT+CIND? to ​​obtain status information such as phone status or cellular network service status. In this example, the AT+CIND? command serves as an example of a request from the vehicle's infotainment system to obtain status information such as phone status or network service status. At 420, the mobile phone replies that the home or roaming network is available. At 425, an SLC link is established between HF 405 and AG 410. At 430, the vehicle's infotainment system sends AT+CNUM to obtain the SIM card number. At 435, the mobile phone replies with +CNUM representing the primary SIM card number. Optionally, at 440, the mobile phone can send +CIEV:1,1 to notify the vehicle's infotainment system that the outgoing call has been connected. At 445, the vehicle's infotainment system sends AT+CLCC to obtain the outgoing call status information from the mobile phone. At 450, the mobile phone sends +CLCC to reply with the phone number and call status information.

[0072] Figure 4B Example instruction timing 460 is shown in a VoIP call scenario where cellular network services are switched from unavailable to available according to some embodiments of the present disclosure.

[0073] like Figure 4B As shown, at 415, the vehicle's infotainment system sends AT+CIND? to ​​obtain status information such as phone status or cellular network service status. At 465, the mobile phone replies that the home or roaming network is unavailable. At 425, an SLC link is established between HF 405 and AG 410. At 470, the mobile phone replies +CIEV:3,1 indicating that cellular network service is not available. At 430, the vehicle's infotainment system sends AT+CNUM to obtain the SIM card number. At 435, the mobile phone replies with +CNUM representing the primary SIM card number.

[0074] At 475, the mobile phone sends +CIEV:3,2 to notify the vehicle's infotainment system that an outgoing call has been received. Optionally, at 480, the mobile phone sends +CIEV:3,3 to notify the vehicle's infotainment system that the outgoing call has switched from Dialing to Alerting. At 440, the mobile phone can send +CIEV:1,1 to notify the vehicle's infotainment system that the outgoing call has been connected. At 445, the vehicle's infotainment system sends AT+CLCC to retrieve the outgoing call status information from the mobile phone. At 450, the mobile phone sends +CLCC to reply with the phone number and call status information.

[0075] Figure 5 A schematic structural block diagram of an airborne communication apparatus 500 according to some embodiments of the present disclosure is shown. The apparatus 500 may be implemented as or included in airborne equipment 105.

[0076] like Figure 5 As shown, the device 500 includes a receiving module 505 and a determining module 510. The receiving module 505 is configured to receive an indication from the mobile device 115 as to whether cellular network service is available. The determining module 510 is configured to determine, at least in part, the type of call performed by the mobile device 115 based on the indication, in order to present a corresponding user interface via the onboard device 110.

[0077] In some embodiments, the determining module 510 may also be configured to: if an indication indicates that cellular network service is unavailable, search for the calling number of the mobile device 115 in a predetermined list of cellular calling numbers; and determine the type of call performed by the mobile device 115 based on the search for the calling number.

[0078] In some embodiments, the determining module 510 may also be configured to: determine that the call is a cellular call if a call number is found in the cellular call number list.

[0079] In some embodiments, the determining module 510 may also be configured to determine that the call is a VoIP call if the call number is not found in the cellular call number list.

[0080] In some embodiments, the determining module 510 may also be configured to: if an indication indicates that cellular network service is available, in response to receiving a dialing status indication and a connection status indication from the mobile device 115, compare the time interval between receiving the dialing status indication and the connection status indication with a threshold; and determine the type of call performed by the mobile device 115 based at least in part on the comparison between the time interval and the threshold.

[0081] In some embodiments, the determining module 510 may also be configured to determine that the call is a VoIP call if the time interval is less than or equal to a threshold.

[0082] In some embodiments, the determining module 510 may also be configured to: compare a first number of the user identity module card of the mobile device 115 with a second number called in the call if the time interval is greater than a threshold; and determine the type of the call performed by the mobile device 115 based at least in part on the comparison between the first number and the second number.

[0083] In some embodiments, the determining module 510 may also be configured to: determine that the call is a VoIP call if the first number is the same as the second number.

[0084] In some embodiments, the determining module 510 may also be configured to: if the first number is different from the second number, search for the second number in a predetermined list of VoIP call numbers; and determine the type of call performed by the mobile device 115 based on the search for the second number.

[0085] In some embodiments, the determining module 510 may also be configured to: determine that the call is a VoIP call if a second number is found in the VoIP call number list.

[0086] In some embodiments, the determining module 510 may also be configured to determine that the call is a cellular call if no second number is found in the VoIP call number list.

[0087] It should be understood that the above references Figures 1 to 4B The features and effects of the airborne equipment 105 discussed also apply to the device 500, and will not be repeated here.

[0088] It should also be understood that the modules included in device 500 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more modules may be implemented using software and / or firmware, such as machine-executable instructions stored on a storage medium. In addition to or as an alternative to machine-executable instructions, some or all of the modules in device 500 may be implemented at least partially by one or more hardware logic components. By way of example and not limitation, exemplary types of hardware logic components that may be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chips (SoCs), complex programmable logic devices (CPLDs), and so on.

[0089] Figure 6 A block diagram of an electronic device 600 in which one or more embodiments of the present disclosure may be implemented is shown. It should be understood that... Figure 6 The electronic device 600 shown is merely exemplary and should not be construed as limiting the functionality and scope of the embodiments described herein. Figure 6 The electronic device 600 shown can be used to implement Figure 1 Airborne equipment 105.

[0090] like Figure 6 As shown, electronic device 600 is in the form of a general-purpose computing device. Components of electronic device 600 may include, but are not limited to, one or more processors or processing units 610, memory 620, storage device 630, one or more communication units 640, one or more input devices 650, and one or more output devices 660. Processing unit 610 may be a physical or virtual processor and is capable of performing various processes according to programs stored in memory 620. In a multiprocessor system, multiple processing units execute computer-executable instructions in parallel to improve the parallel processing capability of electronic device 600.

[0091] Electronic device 600 typically includes multiple computer storage media. Such media can be any available media accessible to electronic device 600, including but not limited to volatile and non-volatile media, removable and non-removable media. Memory 620 can be volatile memory (e.g., registers, cache, random access memory (RAM)), non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. Storage device 630 can be a removable or non-removable medium and can include machine-readable media, such as flash drives, disks, or any other media that can be used to store information and / or data (e.g., training data for training) and can be accessed within electronic device 600.

[0092] Electronic device 600 may further include additional removable / non-removable, volatile / non-volatile storage media. Although not explicitly stated... Figure 6 As shown, disk drives for reading from or writing to removable, non-volatile disks (e.g., "floppy disks") and optical disk drives for reading from or writing to removable, non-volatile optical disks can be provided. In these cases, each drive can be connected to a bus (not shown) via one or more data media interfaces. Memory 620 may include computer program product 625 having one or more program modules configured to perform various methods or actions of various embodiments of this disclosure.

[0093] The communication unit 640 enables communication with other computing devices via a communication medium. Additionally, the functionality of the components of the electronic device 600 can be implemented as a single computing cluster or multiple computing machines capable of communicating via communication connections. Therefore, the electronic device 600 can operate in a networked environment using logical connections to one or more other servers, network personal computers (PCs), or another network node.

[0094] Input device 650 can be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 660 can be one or more output devices, such as a monitor, speaker, printer, etc. Electronic device 600 can also communicate as needed with one or more external devices (not shown) via communication unit 640. These external devices include storage devices, display devices, etc., and can communicate with one or more devices that enable user interaction with electronic device 600, or with any device that enables electronic device 600 to communicate with one or more other computing devices (e.g., network card, modem, etc.). Such communication can be performed via input / output (I / O) interfaces (not shown).

[0095] According to an exemplary implementation of this disclosure, a computer-readable storage medium is provided that stores computer-executable instructions thereon, wherein the computer-executable instructions are executed by a processor to implement the methods described above. According to an exemplary implementation of this disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, which are executed by a processor to implement the methods described above.

[0096] Various aspects of this disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatuses, devices, and computer program products implemented according to this disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable program instructions.

[0097] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0098] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions that execute on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0099] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction, which contains one or more executable instructions for implementing the specified logical function. In some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0100] Various implementations of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed implementations. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described implementations. The terminology used herein is chosen to best explain the principles, practical applications, or improvements to technology in the market, or to enable others skilled in the art to understand the various implementations disclosed herein.

Claims

1. A method for airborne communication, comprising: Receive an indication from the mobile device at the onboard equipment whether cellular network service is available; as well as The type of call performed by the mobile device is determined at least in part based on the indication in order to present a corresponding user interface via the onboard equipment; The determination of the type of call performed by the mobile device includes: If the indication indicates that the cellular network service is unavailable, the mobile device's call number is searched in a predetermined list of cellular call numbers; and the type of call performed by the mobile device is determined based on the search for the call number. If the indication indicates that the cellular network service is available, in response to receiving a dialing status indication and a connection status indication from the mobile device, the time interval between receiving the dialing status indication and the connection status indication is compared with a threshold; and the type of call performed by the mobile device is determined based at least in part on the comparison between the time interval and the threshold.

2. The method of claim 1, wherein determining the type of call performed by the mobile device comprises: If the call number is found in the list of cellular call numbers, the call is determined to be a cellular call.

3. The method of claim 1, wherein determining the type of call performed by the mobile device comprises: If the call number is not found in the list of cellular call numbers, the call is determined to be an Internet Protocol (IP) voice call.

4. The method of claim 1, wherein determining the type of call performed by the mobile device comprises: If the time interval is less than or equal to the threshold, the call is determined to be an Internet Protocol (IP)-based voice call.

5. The method of claim 1, wherein determining the type of call performed by the mobile device comprises: If the time interval is greater than the threshold, the first number of the user identity module card of the mobile device is compared with the second number called in the call; as well as The type of call performed by the mobile device is determined at least in part based on a comparison between the first number and the second number.

6. The method of claim 5, wherein determining the type of call performed by the mobile device comprises: If the first number is the same as the second number, the call is determined to be an Internet Protocol (IP) voice call.

7. The method of claim 5, wherein determining the type of call performed by the mobile device comprises: If the first number is different from the second number, the second number is searched in a predetermined list of Internet Protocol-based voice call numbers; as well as The type of call performed by the mobile device is determined based on a lookup of the second number.

8. The method of claim 7, wherein determining the type of call performed by the mobile device comprises: If the second number is found in the list of Internet Protocol-based voice call numbers, the call is determined to be an Internet Protocol-based voice call.

9. The method of claim 7, wherein determining the type of call performed by the mobile device comprises: If the second number is not found in the list of Internet Protocol-based voice call numbers, the call is determined to be a cellular call.

10. An airborne communication device, comprising: The receiving module is configured to receive an indication from the mobile device as to whether cellular network services are available. as well as The determination module is configured to determine, at least in part, the type of call performed by the mobile device based on the indication, in order to present a corresponding user interface via onboard equipment; The determining module is further configured as follows: If the indication indicates that the cellular network service is unavailable, the mobile device's call number is searched in a predetermined list of cellular call numbers; and the type of call performed by the mobile device is determined based on the search for the call number. If the indication indicates that the cellular network service is available, in response to receiving a dialing status indication and a connection status indication from the mobile device, the time interval between receiving the dialing status indication and the connection status indication is compared with a threshold; and the type of call performed by the mobile device is determined based at least in part on the comparison between the time interval and the threshold.

11. The apparatus of claim 10, wherein the determining module is further configured to: If the call number is found in the list of cellular call numbers, the call is determined to be a cellular call.

12. The apparatus of claim 10, wherein the determining module is further configured to: If the call number is not found in the list of cellular call numbers, the call is determined to be an Internet Protocol (IP) voice call.

13. The apparatus of claim 10, wherein the determining module is further configured to: If the time interval is less than or equal to the threshold, the call is determined to be an Internet Protocol (IP)-based voice call.

14. The apparatus of claim 10, wherein the determining module is further configured to: If the time interval is greater than the threshold, compare the first number of the user identity module card of the mobile device with the second number called in the call; and The type of call performed by the mobile device is determined at least in part based on a comparison between the first number and the second number.

15. The apparatus of claim 14, wherein the determining module is further configured to: If the first number is the same as the second number, the call is determined to be an Internet Protocol (IP) voice call.

16. The apparatus of claim 14, wherein the determining module is further configured to: If the first number is different from the second number, search for the second number in a predetermined list of Internet Protocol-based voice call numbers; and The type of call performed by the mobile device is determined based on a lookup of the second number.

17. The apparatus of claim 16, wherein the determining module is further configured to: If the second number is found in the list of Internet Protocol-based voice call numbers, the call is determined to be an Internet Protocol-based voice call.

18. The apparatus of claim 16, wherein the determining module is further configured to: If the second number is not found in the list of Internet Protocol-based voice call numbers, the call is determined to be a cellular call.

19. An electronic device comprising: Memory and processor; The memory is used to store one or more computer instructions, wherein the one or more computer instructions are executed by the processor to implement the method according to any one of claims 1 to 9.

20. A computer-readable storage medium having stored thereon one or more computer instructions, wherein the one or more computer instructions are executed by a processor to implement the method according to any one of claims 1 to 9.

21. A computer program product comprising computer-executable instructions, wherein the computer-executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 9.

Citation Information

Patent Citations

  • Emergency call handling using over-the-top services

    CN107079274A

  • Voice fallback origination for vehicle cellular communication with a call center

    US20110039538A1