VOIP AOM equipment position detection method and device

By using USB HUB topology and software automatic detection method on VOIP terminal devices, the location of the AOM device is accurately determined, which solves the problem of wrong position determination of AOM device in the prior art and improves the reliability of the device.

CN119690887APending Publication Date: 2025-03-25上海贝尔企业通信有限公司
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411607256.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-12
Publication Date
2025-03-25

AI Technical Summary

Technical Problem

When multiple AOM devices are connected in series to VOIP terminal devices through USB, it is difficult for the prior art to accurately determine the location of the AOM device, resulting in a programming key data issuance error.

Method used

The VOIP AOM device position determination method based on USB HUB topology is adopted, and automatic detection is realized through software, unique node numbers are assigned, and the position determination method is used to parse out the hierarchical structure based on the node numbers to assign the position numbers.

Benefits of technology

It improves the accuracy of the AOM device position determination, avoids programming key data issuance errors caused by the error in the arrival order of electrical signals, and enhances the reliability of device use.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119690887A_ABST
    Figure CN119690887A_ABST
Patent Text Reader

Abstract

The invention provides a VOIP AOM device position detection method and device. The method comprises the following steps: connecting a plurality of AOM devices in series to a VOIP terminal device; after the VOIP terminal equipment receives an AOM equipment access electric signal, a USB driver of the VOIP terminal equipment allocates a unique node number capable of reflecting a USB topology hierarchical structure to each AOM equipment according to a USB protocol, and reports a kernel event accessed by the AOM equipment; after monitoring a kernel event accessed by the equipment, the equipment monitoring and detecting module notifies the scanning and identifying module to scan the USB node; after the scanning identification module scans the node numbers of all the AOM devices, a position judgment method is adopted to analyze a hierarchical structure according to the node numbers of all the AOM devices, then position numbers are distributed, and the position numbers are sent to the data exchange module; after receiving the position number distribution, the data exchange module starts reading and writing tasks for communicating with the AOM equipment, and the programming key data of the position number extracted from the terminal equipment database is sent to the AOM equipment through the writing task.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention generally relate to the technical field of VOIP telephones, and more particularly to a method and apparatus for detecting the location of a VOIP AOM device. Background Art

[0002] like Figure 2 As shown, the AOM device is an accessory device of a VOIP terminal device, which is connected to the VOIP terminal device via USB and is used to expand the programming key function of the VOIP terminal device. After the VOIP terminal device detects that an AOM device is connected, it will send the pre-saved programming key data to the connected AOM device. After receiving the programming key data, the AOM device is used to initialize its own programming keys and display the information of each programming key on the screen. A VOIP device can support one or more AOM devices connected in series via USB.

[0003] Since the programming key data of each AOM device is different, when multiple AOM devices are connected to the same VOIP terminal device in series, how the VOIP device correctly determines the location of the AOM device is the key to correctly sending the programming key data. If the location determination error occurs, the devices before and after the programming key information will be misplaced.

[0004] Currently, there are two ways for VOIP terminal equipment in the industry to determine the location of AOM equipment: fixed configuration and based on the order of arrival of electrical signals.

[0005] The fixed configuration method requires the administrator to configure the VOIP terminal device in advance. Since the location information is bound to the serial number of the AOM device, the user cannot change the location of the front and back AOM devices at will, otherwise the actual location of the AOM device will be inconsistent with the configuration, which is inconvenient to use. In addition, when a large number of AOM devices need to be deployed, the configuration workload is also very large.

[0006] The method of judging based on the order of arrival of electrical signals is relatively flexible compared to the fixed method, and is also the method currently used more frequently in the industry. However, since the software running speed of each AOM device is not exactly the same, when multiple AOM devices are connected in series and connected to the VOIP terminal device at the same time, there is a certain probability that the electrical signal of the AOM device that is physically located at the back will reach the VOIP terminal device first and be detected in advance by the terminal device. In this way, the AOM device that is actually physically located at the back will be judged to be in the front and assigned a front position, resulting in the data sent by the VOIP device not being sent to the correct AOM device. Summary of the invention

[0007] To solve the above problems, the VOIP AOM device location determination method based on the USB HUB topology structure of the present invention has high accuracy and realizes automatic detection through software. It does not require additional human operation and setting, and has great superiority in large-scale deployment. It solves the possible misjudgment of location determination based on the order of arrival of electrical signals of AOM devices and improves the reliability of equipment use.

[0008] According to an embodiment of the present invention, a method and apparatus for detecting a location of a VOIP AOM device are provided.

[0009] In a first aspect of the present invention, a method for detecting the location of a VOIP AOM device is provided. The method comprises:

[0010] S01: multiple AOM devices are connected in series to a VOIP terminal device. The AOM device integrates a USB HUB chip with one upstream port and two downstream ports in hardware. The upstream port of the first-level AOM device is connected to the VOIP terminal device, and the upstream port of the next-level AOM device is connected to the downstream port of the previous-level AOM device.

[0011] S02: After the VOIP terminal device receives the AOM device access electrical signal, the USB driver of the VOIP terminal device assigns a unique node number that can reflect the USB topology hierarchy structure to each AOM device according to the USB protocol, and reports the kernel event of the AOM device access;

[0012] S03: After the device monitoring detection module on the VOIP terminal device monitors the kernel event of device access, it notifies the scanning identification module on the VOIP terminal device to perform USB node scanning;

[0013] S04: After the scanning and identification module scans the node numbers of all AOM devices, it uses a location determination method to parse the hierarchical structure according to the node numbers of each AOM device, assigns a location number, and sends the location number to the data exchange module on the VOIP terminal device;

[0014] S05: After receiving the location number allocation, the data exchange module starts the read and write tasks for communicating with the AOM device. The programming key data of the location number retrieved from the terminal device database is sent to the AOM device through the write task, and the data returned from the AOM device is received through the read task.

[0015] Furthermore, the device monitoring detection module described in S03 actively detects after the VOIP terminal device is powered on and starts, and checks whether there is an AOM device connected. If so, it notifies the scanning and identification module and enters the monitoring mode. If not, it directly enters the monitoring mode.

[0016] Furthermore, the scanning and identification module described in S04 has an anti-jitter identification mechanism to filter out USB access / removal events that frequently occur between VOIP terminal devices and AOM devices due to poor physical contact. The specific operation is as follows: after the scanning and identification module receives the notification from the device monitoring detection module, it starts a timer T with a timing of t. After the timing t ends, it starts the task of scanning the USB node number. If a new event notification is received before the timing t ends, it restarts the timer T, restarts the timing t, and does not process the received event notification.

[0017] Furthermore, the specific content of the position determination method described in S04 is: the first digit is the port position of the root HUB of the VOIP terminal device, and the last digit is the position of the AOM device at the current level USB HUB port. For each additional level of the AOM device, the position of the ARM increases by one number between the first and last digits, and each number is separated by a separator.

[0018] Furthermore, the data between the data exchange module described in S05 and the AOM device are sent and received according to a protocol pre-defined by both parties, and are encapsulated in TLV format. Each message is divided into two parts: a message header and a message body. The message header contains Opcode and Body len, where Opcode indicates the purpose of the message and Body len indicates the length of the subsequent message body.

[0019] Furthermore, if the device monitoring detection module on the VOIP terminal device monitors the kernel event of device removal and notifies the scanning identification module to perform USB node scanning, the scanning identification module rescans the node number after receiving the notification and reallocates the position number according to the updated node number. If the programming key data is updated, the data exchange module resends the programming key data to the AOM device that is still connected.

[0020] In a second aspect of the present invention, a device for detecting the location of a VOIP AOM device is provided. The device comprises:

[0021] Device access module: used to connect multiple AOM devices in series to VOIP terminal devices. The AOM device integrates a USB HUB chip with one upstream port and two downstream ports in hardware. The upstream port of the first-level AOM device is connected to the VOIP terminal device, and the upstream port of the next-level AOM device is connected to the downstream port of the previous-level AOM device.

[0022] Node number allocation module: After the VOIP terminal device receives the AOM device access electrical signal, the USB driver of the VOIP terminal device allocates a unique node number that can reflect the USB topology hierarchy structure to each AOM device according to the USB protocol, and reports the kernel event of the AOM device access;

[0023] Device monitoring detection module: used to notify the scanning identification module on the VOIP terminal device to perform USB node scanning after monitoring the kernel event of device access;

[0024] Scanning and identification module: after scanning the node numbers of all AOM devices, the location determination method is used to parse the hierarchical structure according to the node numbers of each AOM device, and then assign the location number, and send the location number to the data exchange module on the VOIP terminal device;

[0025] Data exchange module: After receiving the location number allocation, it starts the read and write tasks for communicating with the AOM device, sends the programming key data of the location number retrieved from the terminal device database to the AOM device through the write task, and receives the data returned from the AOM device through the read task.

[0026] Furthermore, the device monitoring detection module actively detects after the VOIP terminal device is powered on and starts, and checks whether an AOM device has been connected. If so, the scanning and identification module is notified and the monitoring mode is entered. If not, the monitoring mode is directly entered.

[0027] Furthermore, the scanning and identification module has an anti-jitter identification mechanism to filter out USB access / removal events that frequently occur between VOIP terminal devices and AOM devices due to poor physical contact. The specific operation is as follows: after the scanning and identification module receives the notification from the device monitoring detection module, it starts a timer T with a timing of t. After the timing t ends, it starts the task of scanning the USB node number. If a new event notification is received before the timing t ends, it restarts the timer T, retimes t, and does not process the received event notification.

[0028] Furthermore, the specific content of the position determination method described in the scanning and identification module is: the first digit is the port position of the root HUB of the VOIP terminal device, and the last digit is the position of the AOM device at the current level USB HUB port. For each additional level of the AOM device, the position of the ARM increases by one number between the first digit and the last digit, and each number is separated by a separator.

[0029] Furthermore, the data between the data exchange module and the AOM device is sent and received according to a protocol pre-defined by both parties and encapsulated in TLV format. Each message is divided into two parts: a message header and a message body. The message header contains Opcode and Body len, where Opcode indicates the purpose of the message and Body len indicates the length of the subsequent message body.

[0030] Furthermore, if the device monitoring detection module on the VOIP terminal device monitors the kernel event of device removal and notifies the scanning identification module to perform USB node scanning, the scanning identification module rescans the node number after receiving the notification and reallocates the position number according to the updated node number. If the programming key data is updated, the data exchange module resends the programming key data to the AOM device that is still connected.

[0031] The meanings of the above mentioned English abbreviations:

[0032] USB: Universal Serial Bus

[0033] HUB: Hub

[0034] VOIP: Voice over Internet Protocol, voice transmission based on IP

[0035] AOM: Add-on Module

[0036] The VOIP AOM device position determination method based on the USB HUB topology structure of the present invention has high accuracy, realizes automatic detection through software, does not require additional human operation and setting, and shows great superiority in large-scale deployment. It solves the possible misjudgment situation that may occur when performing position determination based on the order in which the electrical signals of the AOM device arrive, and improves the reliability of the device use.

[0037] It should be understood that the contents described in the summary of the invention are not intended to limit the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] The above and other features, advantages and aspects of the embodiments of the present invention will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings.

[0039] Figure 1 A flow chart of a method for detecting a VOIP AOM device location according to an embodiment of the present invention is shown;

[0040] Figure 2 A schematic diagram showing the connection between the telephone and the AOM mentioned in the background technology of the present invention is shown;

[0041] Figure 3 A schematic diagram of internal USB HUB connection according to an embodiment of the present invention is shown;

[0042] Figure 4 A schematic diagram of a USB topology node according to an embodiment of the present invention is shown;

[0043] Figure 5 A schematic diagram of a data encapsulation format according to an embodiment of the present invention is shown;

[0044] Figure 6 A schematic diagram of the AOM location number allocation process according to an embodiment of the present invention is shown;

[0045] Figure 7 A block diagram of a device for detecting the location of a VOIP AOM device according to an embodiment of the present invention is shown. DETAILED DESCRIPTION

[0046] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0047] According to the implementation mode of the present invention, a method and apparatus for detecting the position of a VOIP AOM device are proposed. The method for determining the position of a VOIP AOM device based on a USBHUB topology structure has high accuracy and realizes automatic detection through software. It does not require additional human operation and setting, and has great superiority in large-scale deployment. It solves the problem of possible misjudgment of the position based on the order in which the electrical signals of the AOM device arrive, and improves the reliability of the device.

[0048] The principle and spirit of the present invention are explained in detail below with reference to several representative embodiments of the present invention.

[0049] Figure 1 1 is a flow chart of a method for detecting the location of a VOIP AOM device according to an embodiment of the present invention. The method comprises:

[0050] S01: multiple AOM devices are connected in series to a VOIP terminal device. The AOM device integrates a USB HUB chip with one upstream port and two downstream ports in hardware. The upstream port of the first-level AOM device is connected to the VOIP terminal device, and the upstream port of the next-level AOM device is connected to the downstream port of the previous-level AOM device.

[0051] S02: After the VOIP terminal device receives the AOM device access electrical signal, the USB driver of the VOIP terminal device assigns a unique node number that can reflect the USB topology hierarchy structure to each AOM device according to the USB protocol, and reports the kernel event of the AOM device access;

[0052] S03: After the device monitoring detection module on the VOIP terminal device monitors the kernel event of device access, it notifies the scanning identification module on the VOIP terminal device to perform USB node scanning;

[0053] S04: After the scanning and identification module scans the node numbers of all AOM devices, it uses a location determination method to parse the hierarchical structure according to the node numbers of each AOM device, assigns a location number, and sends the location number to the data exchange module on the VOIP terminal device;

[0054] S05: After receiving the location number allocation, the data exchange module starts the read and write tasks for communicating with the AOM device. The programming key data of the location number retrieved from the terminal device database is sent to the AOM device through the write task, and the data returned from the AOM device is received through the read task.

[0055] It should be noted that, although the operations of the method of the present invention are described in a specific order in the above embodiments and the accompanying drawings, this does not require or imply that the operations must be performed in the specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.

[0056] In order to explain the above-mentioned method of detecting the location of the VOIP AOM device more clearly, a specific embodiment is described below. However, it should be noted that this embodiment is only for better illustrating the present invention and does not constitute an improper limitation to the present invention.

[0057] The following is a specific example to further explain the method of VOIP AOM device location detection in more detail:

[0058] like Figure 3 As shown, the AOM device integrates a USBHUB chip with one upstream port and two downstream ports in hardware. One downstream port of the USB HUB chip is connected to the USB port of the AOM device main chip, and the other upstream port and downstream port are used to connect external devices. The product has two USB ports, upstream and downstream, which are equivalent to the upstream port and downstream port of ordinary USB HUB devices. When multiple AOM devices are connected to VOIP terminal devices, the upstream port of the first-level AOM device is connected to the VOIP terminal device, and the upstream port of the next-level AOM device is connected to the downstream port of the previous-level AOM device.

[0059] After the VOIP terminal device receives the AOM device access electrical signal, the USB driver of the VOIP terminal device assigns a unique node number that reflects the USB topology hierarchy structure to each AOM device according to the USB protocol, and reports the kernel event of the AOM device access.

[0060] When the device monitoring detection module on the VOIP terminal device monitors the access / removal of an AOM device, it notifies the scanning and identification module to perform a USB node scan. After the VOIP terminal device is powered on, the module will actively perform a detection to check whether there is an AOM device connected. If so, it will notify the scanning and identification module and then enter the monitoring mode.

[0061] After the scanning and identification module on the VOIP terminal device scans the node numbers of all AOM devices, it uses the location determination method to parse the hierarchical structure according to the node numbers of each AOM device, assigns the location number, and sends the location number to the data exchange module on the VOIP terminal device. At the same time, it also implements an anti-jitter identification mechanism to filter out the USB access / removal events that frequently occur between the VOIP terminal device and the AOM device due to poor physical contact.

[0062] The specific contents of the position determination method are as follows: Figure 4 As shown in the figure, when three levels of AOM are connected, the terminal device assigns USB node numbers such as 1.1, 1.2.1, and 1.2.2.1 to the three AOMs. To simply understand the USB node number, we can think that the leftmost digit '1' of this node number represents the port position of the root HUB of the VOIP terminal device, and the rightmost digit '1' is the position of the AOM device at the current level USB HUB port. The farther the rightmost digit '1' is from the leftmost digit '1', the farther the corresponding AOM device is from the physical position of the VOIP terminal device. For the node number of 1.1, there is no number separating the '1' representing the AOM device on the right and the '1' representing the terminal device on the left. This is the AOM device closest to the terminal device and is assigned position number 1. For the node number of 1.2.1, there is a number separating the '1' representing the AOM device on the right and the '1' representing the terminal device on the left. This is the AOM device second closest to the terminal device and is assigned position number 2. For the node number of 1.2.2.1, there are two numbers separating the '1' representing the AOM device on the right and the '1' representing the terminal device on the left, and this is assigned position number 3.

[0063] In this embodiment, the VOIP terminal device is a VOIP phone, which is equipped with three AOM devices, and the product serial numbers are SN01, SN02, and SN03. The first AOM device is configured with the office telephone of the marketing department employees, the second AOM device is configured with the office telephone of the product department employees, and the third AOM device is configured with the office telephone of the R&D department employees. When an employee is on duty and the phone is idle, the green light of the corresponding programming key is on; when the employee is not on duty, the red light of the programming key is on; when the employee's phone is busy, the green light of the programming key flashes. When an external call is made to the front desk to find a certain employee, the front desk can know whether the call can be transferred to the employee by the lighting of the corresponding programming key on the AOM device. If it can be transferred, the front desk only needs to directly press the programming key on the AOM device to transfer the call.

[0064] Due to work habits, the front desk has memorized that the three AOM devices are configured with the office telephone numbers of the employees in the marketing department, product department, and R&D department in turn. Therefore, in order to quickly find the corresponding programming key for a certain employee's office number when a call comes in, the front desk requires that when the three AOMs SN01, SN02, and SN03 are connected to the phone, no matter the actual connection sequence is SN01-SN02-SN03, or SN01-SN03-SN02, or other permutations and combinations of connection sequences, it is always hoped that the first AOM device close to the phone is configured with the office telephone number of the marketing department employee, the second is the office telephone number of the product department employee, and the third is the office telephone number of the R&D department employee, and it will not change due to the change of the actual position of the three AOMs.

[0065] Specifically, the three AOMs are connected in series in the order of SN01-SN02-SN03. SN01 is assigned the USB node number 1.1. According to the aforementioned location determination method, there is no number between the '1' representing the AOM device on the right and the '1' representing the phone on the left. It is the AOM device closest to the phone. In this way, SN01 will be assigned the position number 1, and the telephone number data of the marketing department will be configured for it; SN02 is assigned the USB node number 1.2.1. According to the location determination method, there is a number between the '1' representing the AOM device on the right and the '1' representing the phone on the left. SN02 is assigned the position number 2, and the telephone number data of the product department will be configured for it; SN03 is assigned the USB node number 1.2.2.1. According to the location determination method, there are two numbers between the '1' representing the AOM device on the right and the '1' representing the phone on the left. SN02 is assigned the position number 3, and the telephone number data of the R&D department will be configured for it. In this way, the telephone number data on the three AOMs are in the order of marketing department, product department, and R&D department, which is consistent with the expected order of the front desk habits. Similarly, if the three AOMs are connected in series in the order of SN01-SN03-SN02, the USB node number of SN01 is "1.1", the USB node number of SN03 is "1.2.1", and the USB node number of SN02 is "1.2.2.1", according to the position determination method, SN01 is assigned position number 1, SN03 is assigned position number 2, and SN02 is assigned position number 3.

[0066] After receiving the notification from the device monitoring detection module, the scanning and identification module starts a timer T with a timing of t. After the timing t ends, the task of scanning the USB node number is started. If a new event notification is received before the timing t ends, the timer T is restarted, the timing t is re-set, and the received event notification is not processed. This mechanism avoids frequent triggering of AOM device location allocation and deletion operations due to the jitter of physical contact between devices.

[0067] After the scanning and identifying module completes the allocation or deletion of the AOM device location number, it notifies the data exchange module on the VOIP terminal device, and the data exchange module starts or closes the corresponding data reading and writing tasks.

[0068] The data exchange module is responsible for receiving and sending data with the AOM device. When receiving notification from the scanning and identification module that a new AOM position number has been assigned, the module starts the read and write tasks to communicate with this AOM device. The read task is responsible for sending data from the VOIP terminal device to the AOM device. When the AOM device is connected, the pre-configured programming key data will be sent to the AOM device to complete the initialization of the AOM; the write task is responsible for receiving data from the AOM device to the VOIP terminal device, and transmitting the data to the upper-level application software of the VOIP terminal device. If an assigned AOM position number is deleted, the module is also responsible for stopping the corresponding read and write tasks and reclaiming the allocated system resources.

[0069] The data exchange module and the AOM device send and receive data according to the pre-defined protocol between the two parties, using the following method: Figure 5 Similar to TLV format encapsulation, each message consists of two parts: header and body.

[0070] The message header contains "Opcode" and "Body len". "Opcode" indicates the purpose of this message, such as requesting a device restart or setting programming key information. "Body len" gives the length of the following message body.

[0071] A simple message body contains only one instruction, such as requesting a device restart. A complex message body, such as setting programming key information, will contain "Key index", "Section len", and one or more "sections", as shown in the figure below. "Keyindex" indicates which programming key of the AOM device this message is used for. "Sections len" indicates the total length of all subsequent sections. A specific section has three parts: "Section len", "Opcode", and "Section body". "Section len" indicates the length of this section. "Opcode" indicates which content of this programming key is set, such as icon, font, etc. "Section body" gives the specific content to be set in "Opcode", if it is to set an icon, it gives the icon id, if it is a font, it gives the font type, such as bold, thin, italic, etc.

[0072] When an AOM device is removed, the USB driver of the terminal device will delete the node number of the AOM device and report the kernel event of the AOM device removal. After the device monitoring detection module monitors the kernel event of the device removal, it notifies the scanning and identification module to perform a USB node scan. Just like when an AOM device is connected, after receiving the notification, the scanning and identification module rescans the node number and reallocates the position number according to the updated node number. The data exchange module then decides whether it needs to resend the programming key data to the AOM device that is still connected. The AOM position number allocation process is as follows: Figure 6 shown.

[0073] Based on the same inventive concept, the present invention also proposes a device for detecting the location of a VOIP AOM device. The implementation of the device can refer to the implementation of the above method, and the repeated parts will not be repeated. Figure 7 As shown, the device 100 includes:

[0074] Device access module 101: used to connect multiple AOM devices in series to a VOIP terminal device. The AOM device integrates a USB HUB chip with one upstream port and two downstream ports in hardware. The upstream port of the first-level AOM device is connected to the VOIP terminal device, and the upstream port of the next-level AOM device is connected to the downstream port of the previous-level AOM device.

[0075] Node number allocation module 102: After the VOIP terminal device receives the AOM device access electrical signal, the USB driver of the VOIP terminal device allocates a unique node number that can reflect the USB topology hierarchy structure to each AOM device according to the USB protocol, and reports the kernel event of the AOM device access;

[0076] Device monitoring detection module 103: used to notify the scanning identification module on the VOIP terminal device to perform USB node scanning after monitoring the kernel event of device access;

[0077] Scanning and identifying module 104: after scanning the node numbers of all AOM devices, a location determination method is used to parse the hierarchical structure according to the node numbers of each AOM device, and then assign a location number, and send the location number to the data exchange module on the VOIP terminal device;

[0078] Data exchange module 105: After receiving the location number allocation, it starts the read and write tasks for communicating with the AOM device, sends the programming key data of the location number retrieved from the terminal device database to the AOM device through the write task, and receives the data returned from the AOM device through the read task.

[0079] The present invention proposes a device for detecting the position of a VOIP AOM device, and a method for determining the position of a VOIP AOM device based on a USB HUB topology structure. The device has high accuracy, realizes automatic detection through software, does not require additional human operation and setting, and has great superiority in large-scale deployment. The device solves the problem of possible misjudgment of the position based on the order in which the electrical signals of the AOM device arrive, and improves the reliability of the device.

[0080] Although the spirit and principle of the present invention have been described with reference to several specific embodiments, it should be understood that the present invention is not limited to the disclosed specific embodiments, and the division of various aspects does not mean that the features in these aspects cannot be combined to benefit, and such division is only for the convenience of expression. The present invention is intended to cover various modifications and equivalent arrangements contained in the spirit and scope of the attached claims.

[0081] Regarding the limitation of the protection scope of the present invention, those skilled in the art should understand that, based on the technical solution of the present invention, various modifications or variations that can be made by those skilled in the art without creative work are still within the protection scope of the present invention.

Claims

1. A method for detecting the location of a VOIP AOM device, characterized in that: The method includes: S01: multiple AOM devices are connected in series to a VOIP terminal device. The AOM device integrates a USB HUB chip with one upstream port and two downstream ports in hardware. The upstream port of the first-level AOM device is connected to the VOIP terminal device, and the upstream port of the next-level AOM device is connected to the downstream port of the previous-level AOM device. S02: After the VOIP terminal device receives the AOM device access electrical signal, the USB driver of the VOIP terminal device assigns a unique node number that can reflect the USB topology hierarchy structure to each AOM device according to the USB protocol, and reports the kernel event of the AOM device access; S03: After the device monitoring detection module on the VOIP terminal device monitors the kernel event of device access, it notifies the scanning identification module on the VOIP terminal device to perform USB node scanning; S04: After the scanning and identification module scans the node numbers of all AOM devices, it uses a location determination method to parse the hierarchical structure according to the node numbers of each AOM device, assigns a location number, and sends the location number to the data exchange module on the VOIP terminal device; S05: After receiving the location number allocation, the data exchange module starts the read and write tasks for communicating with the AOM device. The programming key data of the location number retrieved from the terminal device database is sent to the AOM device through the write task, and the data returned from the AOM device is received through the read task.

2. A method for detecting the location of a VOIP AOM device according to claim 1, characterized in that: The device monitoring detection module described in S03 actively detects after the VOIP terminal device is powered on and starts, and checks whether there is an AOM device connected. If so, it notifies the scanning and identification module and enters the monitoring mode. If not, it directly enters the monitoring mode.

3. The method for detecting the location of a VOIP AOM device according to claim 1, characterized in that: The scanning and identification module described in S04 has an anti-jitter identification mechanism to filter out USB access / removal events that frequently occur between VOIP terminal devices and AOM devices due to poor physical contact. The specific operation is as follows: after the scanning and identification module receives the notification from the device monitoring detection module, it starts a timer T with a timing of t. After the timing t ends, it starts the task of scanning the USB node number. If a new event notification is received before the timing t ends, it restarts the timer T, retimes t, and does not process the received event notification.

4. The method for detecting the location of a VOIP AOM device according to claim 1, characterized in that: The specific content of the position determination method described in S04 is: the first number is the port position of the root HUB of the VOIP terminal device, and the last number is the position of the AOM device at the current level USB HUB port. For each additional level of the AOM device, the position of the ARM increases by one number between the first and last numbers, and each number is separated by a separator.

5. The method for detecting the location of a VOIP AOM device according to claim 1, characterized in that: The data between the data exchange module described in S05 and the AOM device are sent and received according to a pre-defined protocol between the two parties and are encapsulated in TLV format. Each message is divided into two parts: a message header and a message body. The message header contains Opcode and Bodylen, where Opcode indicates the purpose of the message and Bodylen indicates the length of the following message body.

6. The method for detecting the location of a VOIP AOM device according to claim 1, characterized in that: If the device monitoring detection module on the VOIP terminal device monitors the kernel event of device removal and notifies the scanning identification module to perform USB node scanning, the scanning identification module rescans the node number after receiving the notification and reallocates the position number according to the updated node number. If there is an update to the programming key data, the data exchange module resends the programming key data to the AOM device that is still connected.

7. A device for detecting the location of a VOIP AOM device, characterized in that: The device includes: Device access module: used to connect multiple AOM devices in series to VOIP terminal devices. The AOM device integrates a USB HUB chip with one upstream port and two downstream ports in hardware. The upstream port of the first-level AOM device is connected to the VOIP terminal device, and the upstream port of the next-level AOM device is connected to the downstream port of the previous-level AOM device. Node number allocation module: After the VOIP terminal device receives the AOM device access electrical signal, the USB driver of the VOIP terminal device allocates a unique node number that can reflect the USB topology hierarchy structure to each AOM device according to the USB protocol, and reports the kernel event of the AOM device access; Device monitoring detection module: used to notify the scanning identification module on the VOIP terminal device to perform USB node scanning after monitoring the kernel event of device access; Scanning and identification module: after scanning the node numbers of all AOM devices, the location determination method is used to parse the hierarchical structure according to the node numbers of each AOM device, and then assign the location number, and send the location number to the data exchange module on the VOIP terminal device; Data exchange module: After receiving the location number allocation, it starts the read and write tasks for communicating with the AOM device, sends the programming key data of the location number retrieved from the terminal device database to the AOM device through the write task, and receives the data returned from the AOM device through the read task.

8. The device for detecting the location of a VOIP AOM device according to claim 7, characterized in that: The device monitoring detection module actively detects after the VOIP terminal device is powered on and starts, and checks whether there is an AOM device connected. If so, it notifies the scanning and identification module and enters the monitoring mode. If not, it directly enters the monitoring mode.

9. The device for detecting the location of a VOIP AOM device according to claim 7, characterized in that: The scanning and identification module has an anti-jitter identification mechanism to filter out USB access / removal events that frequently occur between VOIP terminal devices and AOM devices due to poor physical contact. The specific operation is as follows: after the scanning and identification module receives the notification from the device monitoring detection module, it starts a timer T with a timing of t. After the timing t ends, it starts the task of scanning the USB node number. If a new event notification is received before the timing t ends, it restarts the timer T, retimes t, and does not process the received event notification.

10. The device for detecting the location of a VOIP AOM device according to claim 7, characterized in that: The specific content of the position determination method described in the scanning and identification module is: the first digit is the port position of the root HUB of the VOIP terminal device, and the last digit is the position of the AOM device at the current level USB HUB port. For each additional level of the AOM device, the position of the ARM increases by one number between the first and last digits, and each number is separated by a separator.

11. The device for detecting the location of a VOIP AOM device according to claim 7, characterized in that: The data between the data exchange module and the AOM device is sent and received according to a pre-defined protocol between the two parties and is encapsulated in TLV format. Each message is divided into two parts: a message header and a message body. The message header contains Opcode and Bodylen, where Opcode indicates the purpose of the message and Bodylen indicates the length of the following message body.

12. The device for detecting the location of a VOIP AOM device according to claim 11, characterized in that: If the device monitoring detection module on the VOIP terminal device monitors the kernel event of device removal and notifies the scanning identification module to perform USB node scanning, the scanning identification module rescans the node number after receiving the notification and reallocates the position number according to the updated node number. If there is an update to the programming key data, the data exchange module resends the programming key data to the AOM device that is still connected.