Device, system, methods, apparatuses and computer product for communications
The terminal device configuration with SIP proxies and UAs facilitates flexible group management of multiple indoor stations, addressing the limitations of conventional systems by eliminating the need for a SIP server and enhancing reliability and flexibility in door entry systems.
Patent Information
- Application Number
- PCT/CN2024/098054
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-07
- Publication Date
- 2025-12-11
AI Technical Summary
Conventional door entry systems face challenges in upgrading to support multiple indoor stations within an apartment due to the need for a SIP server, which introduces additional costs and reliability issues, and are inflexible in managing device groups without a public SIP server.
Implementing a terminal device configuration that allows for group management without a server, using SIP proxies and user agents (UAs) to enable communication between multiple indoor stations, with dynamic IP address management and flexible group configuration.
Enables flexible and cost-effective group management of multiple indoor stations, avoiding single points of failure and allowing end-users to manage device groups, supporting point-to-point SIP calls in dynamic IP environments.
Smart Images

Figure CN2024098054_11122025_PF_FP_ABST
Abstract
Description
DEVICE, SYSTEM, METHODS, APPARATUSES AND COMPUTER PRODUCT FOR COMMUNICATIONSFIELD
[0001] Embodiments of the present disclosure generally relate to the field of communication technology and in particular, to a terminal device, a system, methods, apparatuses and a computer program product for communications.BACKGROUND
[0002] Door entry systems are security management systems built on digital technology that allow communication and information exchange between visitors, residents, and property management centers, and control the safe access to the community. The door entry systems typically include components such as indoor stations, outdoor stations, management center hosts, electric locks, and door closers, and achieve various functions through digital signal transmission, such as two-way calling, video calls, outdoor station monitoring, and remote unlocking.SUMMARY
[0003] In general, various example embodiments of the present disclosure provide a terminal device, a system, methods, apparatuses and a computer program product for communications.
[0004] In a first aspect, it is provided a terminal device. The terminal device comprises a processor; and a memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the terminal device to configure, in the terminal device, at least one proxy for at least one group comprising the terminal device in a communication system; and configure, in the terminal device, a plurality of user agents (UAs) for the least one group in the communication system, wherein the at least one proxy and the plurality of UAs are configured for communications between a plurality of terminal devices associated with the at least one group.
[0005] In a second aspect, it is provided a system for communications. The system comprises at least a first terminal device of the first aspect and a second terminal device of the first aspect. The first terminal device is caused to register any of a plurality of UAs in the first terminal device with at least one proxy in the first terminal device or at least one proxy in the second terminal device. The second terminal device is caused to register any of a plurality of UAs in the second terminal device with at least one proxy in the second terminal device or at least one proxy in the first terminal device.
[0006] In a third aspect, it is provided a method for communications. The method comprises maintaining a table comprising a plurality of domain names of a plurality of terminal devices and respective internet protocol (IP) addresses. The method further comprises monitoring a multicast group associated with the plurality of terminal devices. The method further comprises updating the table in response to determining that a change happened to at least one of any of the plurality of domain names or any of the respective IP addresses.
[0007] In a fourth aspect, it is provided a method for communications. The method comprises configuring, at a terminal device, at least one proxy for at least one group comprising the terminal device in a communication system. The method further comprises configuring, at the terminal device, a plurality of UAs for the least one group in the communication system, wherein the at least one proxy and the plurality of UAs are configured for communications between a plurality of terminal devices associated with the at least one group.
[0008] In a fifth aspect, it is provided an apparatus for communications. The apparatus comprises a first configuring module configured to configure, at a terminal device, at least one proxy for at least one group comprising the terminal device in a communication system. The apparatus further comprises a second configuring module configured to configure, at the terminal device, a plurality of UAs for the least one group in the communication system, wherein the at least one proxy and the plurality of UAs are configured for communications between a plurality of terminal devices associated with the at least one group.
[0009] In a sixth aspect, it is provided an apparatus for communications. The apparatus comprises a maintaining configuring module configured to maintain a table comprising a plurality of domain names of a plurality of terminal devices and respective internet protocol (IP) addresses. The apparatus further comprises a monitoring configuring module configured to monitor a multicast group associated with the plurality of terminal devices. The apparatus further comprises an updating module configured to update the table in response to determining that a change happened to at least one of any of the plurality of domain names or any of the respective IP addresses.
[0010] In a seventh aspect, it is provided a computer program product. The computer program product comprises instructions stored therein, which when executed by a processor, cause the processor to perform methods of the third aspect or the fourth aspect.
[0011] It is to be understood that the Summary is not intended to identify key or essential features of embodiments of the present disclosure, nor is it intended to be used to limit the scope of the present disclosure. Other features of the present disclosure will become readily comprehensible through the description below.DESCRIPTION OF DRAWINGS
[0012] Through the following detailed descriptions with reference to the accompanying drawings, the above and other objectives, features and advantages of the example embodiments disclosed herein will become more comprehensible. In the drawings, several example embodiments disclosed herein will be illustrated in an example and in a non-limiting manner, wherein:
[0013] FIG. 1 illustrates a schematic diagram of an example environment in which a plurality of embodiments of the present disclosure can be implemented;
[0014] FIG. 2 illustrates some example groups of the indoor stations in accordance with some embodiments of the present disclosure;
[0015] FIG. 3 illustrates some example registration relationships in accordance with some embodiments of the present disclosure;
[0016] FIG. 4 illustrates a flowchart of an example process for resolving the domain names in accordance with some embodiments of the present disclosure;
[0017] FIG. 5A illustrates a flowchart of an example method for communications in accordance with some embodiments of the present disclosure;
[0018] FIG. 5B illustrates a flowchart of another example method for communications in accordance with some embodiments of the present disclosure;
[0019] FIG. 6A illustrates a block diagram of an example apparatus for communications in accordance with some embodiments of the present disclosure;
[0020] FIG. 6B illustrates a block diagram of another example apparatus for communications in accordance with some embodiments of the present disclosure; and
[0021] FIG. 7 illustrates a block diagram illustrating a terminal device in accordance with some embodiments of the present disclosure.
[0022] Throughout all the drawings, the same or similar reference numerals represent the same or similar elements.DETAILED DESCRIPTION OF EMBODIMENTS
[0023] Principles of the present disclosure will now be described with reference to several example embodiments shown in the drawings. Though example embodiments of the present disclosure are illustrated in the drawings, it is to be understood that the embodiments are described only to facilitate those skilled in the art in better understanding and thereby achieving the present disclosure, rather than to limit the scope of the disclosure in any manner.
[0024] The term comprises "or" includes "and" its variants are to be read as open terms that mean "includes, but is not limited to" . The term "or" is to be read as "and / or" unless the context clearly indicates otherwise. The term "based on" is to be read as "based at least in part on" . The term "being operable to" is to mean a function, an action, a motion or a state can be achieved by an operation induced by a user or an external mechanism. The term "one embodiment" and "an embodiment" are to be read as "at least one embodiment" . The term "another embodiment" is to be read as "at least one other embodiment" . The terms "first" , "second" , and the like may refer to different or same objects. Other definitions, explicit and implicit, may be included below. A definition of a term is consistent throughout the description unless the context clearly indicates otherwise.
[0025] The functions or algorithms described herein may be implemented in software in one embodiment. The software may consist of computer executable instructions stored on computer readable media or computer readable storage device such as one or more non-transitory memories or other type of hardware-based storage devices, either local or networked. Further, such functions correspond to modules, which may be software, hardware, firmware or any combination thereof. Multiple functions may be performed in one or more modules as desired, and the embodiments described are merely examples. The software may be executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a computer system, such as a personal computer, server or other computer system, turning such computer system into a specifically programmed machine.
[0026] The functionality can be configured to perform an operation using, for instance, software, hardware, firmware, or the like. For example, the phrase "configured to" can refer to a logic circuit structure of a hardware element that is to implement the associated functionality. The phrase "configured to" can also refer to a logic circuit structure of a hardware element that is to implement the coding design of associated functionality of firmware or software. The term "module" refers to a structural element that can be implemented using any suitable hardware (e.g., a processor, among others) , software (e.g., an application, among others) , firmware, or any combination of hardware, software, and firmware. The term "logic" encompasses any functionality for performing a task. For instance, each operation illustrated in the flowcharts corresponds to logic for performing that operation. An operation can be performed using, software, hardware, firmware, or the like. The terms, "component" , "system" , and the like may refer to computer-related entities, hardware, and software in execution, firmware, or combination thereof. A component may be a process running on a processor, an object, an executable, a program, a function, a subroutine, a computer, or a combination of software and hardware. The term, "processor" may refer to a hardware component, such as a processing unit of a computer system.
[0027] The terms "a" or "an" as used herein, are defined as one or more than one. Also, the use of introductory phrases such as "at least one" and "one or more" in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim element to disclosures containing only one such element, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" . The same holds true for the use of definite articles.
[0028] Furthermore, the claimed subject matter may be implemented as a method, apparatus, or article of manufacture using standard programming and engineering techniques to produce software, firmware, hardware, or any combination thereof to control a computing device to implement the disclosed subject matter. Computer-readable storage media can include, but are not limited to, magnetic storage devices, e.g., hard disk, floppy disk, magnetic strips, optical disk, compact disk (CD) , digital versatile disk (DVD) , smart cards, flash memory devices, among others. In contrast, computer-readable media, i.e., not storage media, may additionally include communication media such as transmission media for wireless signals and the like.
[0029] A session initiation protocol (SIP) includes point-to-point SIP call mode and SIP server call mode. In the point-to-point SIP call mode, the IP addresses of the terminal devices are usually fixed. For example, the outdoor station directly initiates SIP calls through the IP address of the indoor station based on the fixed IP addresses. In the SIP server call mode, the outdoor stations and indoor stations are registered as SIP clients on a public SIP server, and all calls are forwarded through the SIP server.
[0030] For use scenarios where there is only one indoor station in an apartment, either of the above two solutions can be applied. When there are multiple indoor stations in an apartment, all indoor stations of one apartment are managed as a group on the SIP server. When there is a call to the apartment, all the indoor stations of the apartment can receive the call forwarded by the SIP server.
[0031] This solution relies on a public SIP server for the group management and call. However, for a conventional system, for example, a door entry system in which one apartment only have one indoor station and adopts the point-to-point SIP call mode, it is difficult to upgrade to support multiple indoor stations in one apartment, because a SIP server is needed. Thus, the upgrade not only brings additional costs, but also affects the reliability of the door entry system because of the single point of failure problem. In addition, adding devices or adjusting device groups can only be carried out by the system administrator on the public SIP server, and this is not flexible.
[0032] Further, in the point-to-point SIP call mode, the IP address of each outdoor station and indoor station is usually generated by a fixed rule, or assigned by the installer during the commissioning stage. Then they are distributed to each device in the system through a management device. Thus, the dynamic host configuration protocol (DHCP) is not applicable.
[0033] Therefore, the present disclosure proposed a solution for communications. By implementing the proposed solution, the terminal devices in a group can communicate without a server. In some example embodiments, adding a terminal device to the group, the change of a group or configuring a new group can be easier and more flexible.
[0034] FIG. 1 illustrates a schematic diagram of an example environment 100 in which a plurality of embodiments of the present disclosure can be implemented. The example environment 100 is only illustrated and is not intended to suggest any limitations as to scope of use or functionality of embodiments of the disclosure described herein.
[0035] As shown in FIG. 1, the example environment 100 comprises a first terminal device 102, a second terminal device 104 and a fourth terminal device 108. Examples of the first terminal device 102, the second terminal device 104 and the fourth terminal device 108 may be the indoor stations of a door entry system for a house. The first terminal device 102 may be in a clinic on the ground floor. The second terminal device 104 may be in the living room on the second floor. The fourth terminal device 108 may be in the bedroom on the second floor.
[0036] The example environment 100 further comprises a third terminal device 106. An example of the third terminal device 106 may be the outdoor stations of a door entry system for the house. The third terminal device 106 may be at the entrance of the house. When a visitor wants to visit the clinic on the ground floor, he / she may call the clinic via the third terminal device 106 at the entrance of the house. The doctor in the clinic may unlock the door at the entrance via the first terminal device 102. When a visitor wants to visit residents on the second floor, he / she may call the residents via the third terminal device 106 at the entrance of the house. The residents on the second floor may unlock the door at the entrance via the second terminal device 104 and / or the fourth terminal device 108.
[0037] The first terminal device 102, the second terminal device 104, the third terminal device 106 and the fourth terminal device 108 may be connected to a switch 110. They can be grouped into one or more groups. When calling a corresponding group at the third terminal device 106, all terminal devices in the corresponding group need to ring and can receive the incoming calls.
[0038] Reference is made to FIG. 2, which illustrates some example groups 200 of the indoor stations in accordance with some embodiments of the present disclosure. An indoor station 202 in FIG. 2 may correspond to the first terminal device 102 in FIG. 1. An indoor station 204 in FIG. 2 may correspond to the second terminal device 104 in FIG. 1. An indoor station 206 in FIG. 2 may correspond to the fourth terminal device 108 in FIG. 1.
[0039] Group 1 in FIG. 2 only comprises the indoor station 202. That is, a call from an outdoor station to Group 1 will only be forwarded to the indoor station 202. As an example, the indoor station 202 is in the clinic on the group floor, and the doctor in the clinic on the group floor may answer the call through the indoor station 202.
[0040] Group 2 in FIG. 2 comprises the indoor station 204 and the indoor station 206. That is, a call from an outdoor station to Group2 will be forwarded to both the indoor station 204 and the indoor station 206. As an example, the indoor station 204 is in the living room on the second floor and the indoor station 206 is in the bedroom on the second floor. Residents in the living room or the bedroom on the second floor can answer the call and unlock the door through the indoor station 204 or 206.
[0041] Group 3 in FIG. 2 comprises the indoor station 202, the indoor station 204 and the indoor station 206. That is, a call from an outdoor station to Group3 will be forwarded to all of the indoor station 202, the indoor station 204 and the indoor station 206. For example, if the clinic doctor and the residents on the second floor are one family, then Group 3 is very useful in some situations.
[0042] Reference is made to FIG. 3, which illustrates some example registration relationships 300 in accordance with some embodiments of the present disclosure. The principle is that: a SIP proxy and several SIP UAs are configured on each terminal device. A SIP proxy may work as a group leader, and each SIP UA may work as a group member. A SIP proxy in a terminal device may accept registration from a SIP UA in a terminal device itself and other terminal devices, and forward the call message to all SIP UA registered on it when receiving a SIP call. As such, all terminal devices in this group will be in the ringing state. Once a SIP UA answers the SIP call, the corresponding SIP proxy will hang up the other SIP UAs.
[0043] Each terminal device has a separate setting item that can be used to enable or disable its SIP proxy, to set the domain name of the SIP proxy, and to manage the SIP UAs registered on it. Moreover, each SIP UA on each terminal device has a separate setting item, which can be used to enable or disable the SIP UA, to set usernames of SIP UAs, and choose to which SIP proxy to register by selecting or inputting by users.
[0044] As an example, Group 1 comprises only an indoor station 302. Group 2 comprises an indoor station 304 and an indoor station 306. Group 3 comprises the indoor station 302, the indoor station 304 and the indoor station 306. The indoor station 302 has a SIP proxy 310, a SIP UA 312, a SIP UA 314 and a SIP UA 316. The indoor station 304 has a SIP proxy 320, a SIP UA 322, a SIP UA 324 and a SIP UA 326. The indoor station 306 has a SIP proxy 330, a SIP UA 332, a SIP UA 334 and a SIP UA 336.
[0045] For the indoor station 302 and for Group 1, the SIP proxy 310 may be configured to be the leader of Group 1. The SIP UA 314 may be registered to the SIP proxy 310. That is, SIP UA 314 of the indoor station 302 should be enabled and choose to register on the SIP proxy 310 with the domain name "Group 1" , i.e., the indoor station 302 itself. In addition, for Group 3, the SIP UA 312 of the indoor station 302 should be enabled and choose to register on a SIP proxy 330 with the domain name "Group 3" , that is, the indoor station 306.
[0046] For the indoor station 304 and for Group 2, the SIP proxy 320 may be configured to be the leader of Group 2. The SIP UA 324 and the SIP UA 332 may be registered to the SIP proxy 320. That is, SIP UA 324 of the indoor station 304 should be enabled and choose to register on SIP proxy with the domain name "Group 2" , that is, the indoor station 304 itself. In addition, for Group 3, the SIP UA 322 of indoor station 304 should be enabled and choose to register on SIP proxy 330 with the domain name "Group 3" , that is, the indoor station 306.
[0047] For the indoor station 306 and for Group 3, the SIP proxy 330 may be configured to be the leader of Group 3. The SIP UA 334, the SIP UA 312 and the SIP UA 322 may be registered to the SIP proxy 330. That is, SIP UA 334 of the indoor station 306 should be enabled and choose to register on the SIP proxy 330 with the domain name "Group3" , i.e., the indoor station 306 itself, and the SIP UA 332 of the indoor station 306 should be enabled and choose to register on SIP proxy 320 with the domain name "Group 2" , that is, indoor station 304.
[0048] It is to be noted that the number of indoor stations, outdoor stations and the groups are illustrative without limitations. The number of SIP UAs in each indoor station is not limited to 3. How the device is grouped and how many indoor stations in each group is not limited.
[0049] Using the example method as described in FIG. 3, all indoor stations of an apartment can be bind as a group to realize the function of multiple indoor stations in one apartment. It is also possible to divide the indoor stations in one company into multiple groups, and each group corresponding to one department in some commercial use scenarios. In addition, it can temporarily add other apartment's indoor station (such as a neighbor) to the group to implement hosting functions in some use scenarios.
[0050] In some example embodiments, a SIP proxy may add an authentication operation for SIP registration. For example, a password input step can be added in the SIP proxy setting item. The password can be randomly generated or created by the user. A password input prompt item may pop up in the SIP UA setting item, and the user needs to input the password of selected SIP proxy. When a SIP UA is requested to registers to the SIP proxy, the SIP proxy may use the password to authenticate the SIP UA. As such, security can be improved.
[0051] Reference is made to FIG. 4, which illustrates a flowchart of an example process 400 for resolving the domain names in accordance with some embodiments of the present disclosure. FIG. 4 will be described with reference to FIG. 1.
[0052] At the time of the SIP registration, the SIP UA may be aware of the domain name of SIP proxy, but may not know its IP address, and similarly, when initiating a call on the outdoor station, the outdoor station may know the group name of the call object (e.g., the SIP proxy's domain name) , but may not know its IP address. Therefore, the process 400 is proposed to resolve the domain names. Any of the terminal devices in the communication system may perform the process 400. All terminal devices in the system may maintain a table comprising domain names and IP addresses. Each record of the table contains IP addresses and a domain names for all terminal devices in the system. Thereafter, the first terminal device 102 will be the example.
[0053] At 402, the first terminal device 102 may join a multicast group and listen to the multicast group. Then, the first terminal device 102 may monitor a multicast group associated with the plurality of terminal devices by 404 and 406.
[0054] At 404, the first terminal device 102 may listen at least one of a domain name query packet or a reply packet comprised in the multicast group. At 406, the first terminal device 102 may extract at least one of a respective domain name or a respective IP address based on the at least one of the domain name query packet or the reply packet.
[0055] At 408, if there is any change, the process may proceed to 412. If there is no change, the process may proceed to 410. At 410, the table may be only maintained by updating its last updated time or the like. At 412, the first terminal device 102 may update the table if determining that a change happened to at least one of any of the plurality of domain names or any of the respective IP addresses. For example, the first terminal device 102 may continuously listen to the above-mentioned multicast group, and when it receives the domain name query packet and reply packet, regardless of whether it is the sender or receiver, it may extract the domain name and IP address information inside, and may update its (domain name, IP address) table.
[0056] At 414, the first terminal device 102 may retrieve a target IP address for a target terminal device from the table. If it cannot retrieve the target IP address for the target terminal device, the process may continue to 418. If it retrieves the target IP address for the target terminal device, the process may continue to 416. At 416, the first terminal device 102 as the communication initiator may initiate a unicast communication to the target terminal device based on the target IP.
[0057] At 418, the first terminal device 102 as the communication initiator may initiate a multicast query packet. At 420, the first terminal device 102 as the communication initiator may receive a response to the multicast query packet from the target terminal device. At 422, the first terminal device 102 as the communication initiator may initiate the unicast communication based on an IP address extracted from the response to the multicast query packet.
[0058] As an example, before the next communication, the IP address of the other party is first queried from the table. If the IP address of the other party do not exist, the domain name query packet will be sent out. Considering that the IP address of the other party may change, and the table is not updated in time, when the unicast communication initiated by the communication initiator has not received answer or receives an incorrect answer, the communication initiator may send out a multicast query packet, and may retry the unicast communication after receiving the multicast reply packet.
[0059] In this way, the process 400 is not only applicable to the embodiments described in the present disclosure, but also applicable to the traditional application scenarios of point-to-point SIP calls. A terminal device can also use DHCP to obtain an IP address, or easily adjust the IP address of a terminal device in the static IP mode.
[0060] Reference is made to FIG. 5A, which illustrates a flowchart of an example method 500A for communications in accordance with some embodiments of the present disclosure. FIG. 5A will be described with reference to FIG. 1. The first terminal device 102 is taken as an example of the entity which performs the method 500A. It is to be understood that any other terminal device (for example, the second terminal device 104, the fourth terminal device 108 and so on) may also perform the method 500A.
[0061] At 502, the first terminal device 102 configures, in the terminal device 102, at least one proxy for at least one group comprising the terminal device 102 in a communication system. At 504, the first terminal device 102 configures, in the terminal device 102, a plurality of UAs for the least one group in the communication system. The at least one proxy and the plurality of UAs may be configured for communications between a plurality of terminal devices associated with the at least one group.
[0062] In some example embodiments, the first terminal device 102 may enable each of the at least one proxy independently. The first terminal device 102 may disable each of the at least one proxy independently. The first terminal device 102 may set a domain name for each of the at least one proxy independently. The first terminal device 102 may create a user account for each of the at least one proxy independently. The first terminal device 102 may manage a user account for each of the at least one proxy independently.
[0063] In some example embodiments, the first terminal device 102 may enable each of the plurality of UAs independently. The first terminal device 102 may disable each of the plurality of UAs independently. The first terminal device 102 may input a registered domain name to each of the plurality of UAs independently. The first terminal device 102 may input a registered user account to each of the plurality of UAs independently.
[0064] In some example embodiments, at least the first terminal device 102 and the second terminal device 104 may be in a system for communications. The first terminal device 102 may register any of a plurality of UAs in the first terminal device 102 with at least one proxy in the first terminal device 102 or register any of a plurality of UAs in the first terminal device 102 with at least one proxy in the second terminal device 104. The second terminal device 104 may register any of a plurality of UAs in the second terminal device 104 with at least one proxy in the second terminal device 104 or register any of a plurality of UAs in the second terminal device 104 with at least one proxy in the first terminal device 102. That is, for a terminal device, a UA in this terminal device can be registered with a proxy in itself, or can be registered with a proxy in other terminal devices.
[0065] In some example embodiments, the first terminal device 102 may register at least a first UA and a second UA of the plurality of UAs in the first terminal device 102 with different proxies, and the first UA and the second UA may be different. The second terminal 104 device may register at least a third UA and a fourth UA of the plurality of UAs in the second terminal device 104 with different proxies, and the third UA and the fourth UA may be different. That is, for a terminal device, different UAs in this terminal device may be registered with different proxies in different terminal devices.
[0066] In some example embodiments, one proxy may manage one of the at least one group. The first terminal device 102 may receive a call for a first group of the at least one group from the third terminal device 106. The first group may be managed by the first proxy in the first terminal device 102. The first proxy may forward the call to all the terminal devices which are comprised in the first group and registered with the first proxy.
[0067] In some example embodiments, at least one of the first terminal device, the second terminal device, the third terminal device or the fourth terminal device may be configured by a management device. At least one of the first terminal device, the second terminal device, the third terminal device or the fourth terminal device may be configured by itself. The first terminal device, the second terminal device and the fourth terminal device may be indoor stations of a door entry system. The third terminal device may be an outdoor station of the door entry system. The communications may be based on a SIP.
[0068] Reference is made to FIG. 5B, which illustrates a flowchart of another example method 500B for communications in accordance with some embodiments of the present disclosure. FIG. 5B will be described with reference to FIG. 1. The first terminal device 102 is taken as an example of the entity which performs the method 500B. It is to be understood that any other terminal device (for example, the second terminal device 104, the third terminal device 106 and so on) may also performs the method 500B.
[0069] At 512, the first terminal device 102 maintains a table comprising a plurality of domain names of a plurality of terminal devices and respective IP addresses. At 514, the first terminal device 102 monitors a multicast group associated with the plurality of terminal devices (for example, the first terminal device 102 may listen to the multicast group) . At 516, the first terminal device 102 updates the table if the first terminal device 102 determines that a change happened to at least one of any of the plurality of domain names or any of the respective IP addresses.
[0070] In some example embodiments, the first terminal device 102 may listen at least one of a domain name query packet or a reply packet comprised in the multicast group. The first terminal device 102 may extract at least one of a respective domain name or a respective IP address based on the at least one of the domain name query packet or the reply packet.
[0071] In some example embodiments, the first terminal device 102 may retrieve a target IP address for a target terminal device from the table. The first terminal device 102 may initiate a unicast communication to the target terminal device based on the target IP. The first terminal device 102 may initiate a multicast query packet if the first terminal device 102 fails to receive a response from the target terminal device or the first terminal device 102 receives an incorrect response.
[0072] In some example embodiments, the first terminal device 102 may receive a response to the multicast query packet from the target terminal device. The first terminal device 102 may initiate the unicast communication based on an IP address extracted from the response to the multicast query packet.
[0073] In some example embodiments, the method 500B may be performed at a terminal device as a communication initiator for looking up a domain name of a proxy. In some example embodiments, at the registering stage, a terminal device (with a UA configured inside the terminal device) may perform the method 500B to find out the IP address of the target proxy.
[0074] By implementing the embodiments of the methods 500A and 500B, each terminal device can be used to perform group management, avoiding a single point of failure and transferring the authority of group management from the system administrator to the end user. In some example embodiments, it can support one group for one apartment or supports multiple groups for one apartment. Terminal devices within a group can come from the same apartment or from different apartments. Each terminal device can be the group leader of one group or the group member of several groups or have the identity of both group leader and group member. In some example embodiments, point-to-point SIP calls between terminal devices in the dynamic IP mode in the local area network can be achieved.
[0075] Reference is made to FIG. 6A, which illustrates a block diagram of an example apparatus 600A for communications in accordance with some embodiments of the present disclosure. The apparatus 600A comprises a first configuring module 602 configured to configure, at a terminal device, at least one proxy for at least one group comprising the terminal device in a communication system. The apparatus 600A further comprises a second configuring module 604 configured to configure, at the terminal device, a plurality of UAs for the least one group in the communication system, wherein the at least one proxy and the plurality of UAs are configured for communications between a plurality of terminal devices associated with the at least one group.
[0076] In some example embodiments, the first configuring module 602 may be further configured to enable each of the at least one proxy independently. The first configuring module 602 may be further configured to disable each of the at least one proxy independently. The first configuring module 602 may be further configured to set a domain name for each of the at least one proxy independently. The first configuring module 602 may be further configured to create a user account for each of the at least one proxy independently. The first configuring module 602 may be further configured to manage a user account for each of the at least one proxy independently.
[0077] In some example embodiments, the second configuring module 604 may be further configured to enable each of the plurality of UAs independently. The second configuring module 604 may be further configured to disable each of the plurality of UAs independently. The second configuring module 604 may be further configured to input a registered domain name to each of the plurality of UAs independently. The second configuring module 604 may be further configured to input a registered user account to each of the plurality of UAs independently.
[0078] Reference is made to FIG. 6B, which illustrates a block diagram of another example apparatus 600B for communications in accordance with some embodiments of the present disclosure. The apparatus 600B comprises a maintaining configuring module 612 configured to maintain a table comprising a plurality of domain names of a plurality of terminal devices and respective IP addresses. The apparatus further comprises a monitoring configuring module 614 configured to monitor a multicast group associated with the plurality of terminal devices. The apparatus further comprises an updating module 616 configured to update the table in response to determining that a change happened to at least one of any of the plurality of domain names or any of the respective IP addresses
[0079] In some example embodiments, the monitoring module 614 may further comprise a listening module configured to listen at least one of a domain name query packet or a reply packet comprised in the multicast group; and an extracting module configured to extract at least one of a respective domain name or a respective IP address based on the at least one of the domain name query packet or the reply packet.
[0080] In some example embodiments, the apparatus 600B may further comprise a retrieving module configured to retrieve a target IP address for a target terminal device from the table. The apparatus 600B may further comprise an initiating module configured to initiate a unicast communication to the target terminal device based on the target IP, and in response to failing to receive a response from the target terminal device or receiving an incorrect response, initiating a multicast query packet.
[0081] In some example embodiments, the apparatus 600B may further comprise a receiving module configured to receive a response to the multicast query packet from the target terminal device. The initiating module may be further configured to initiate the unicast communication based on an IP address extracted from the response to the multicast query packet.
[0082] By implementing the example embodiments of FIGS. 6A and 6B, each terminal device can be used to perform group management, avoiding a single point of failure and transferring the authority of group management from the system administrator to the end user. In some example embodiments, it can support one group for one apartment or supports multiple groups for one apartment. Terminal devices within a group can come from the same apartment or from different apartments. Each terminal device can be the group leader of one group or the group member of several groups or have the identity of both group leader and group member. In some example embodiments, point-to-point SIP calls between terminal devices in the dynamic IP mode in the local area network can be achieved.
[0083] FIG. 7 illustrates a block diagram illustrating a terminal device 700 in accordance with some embodiments of the present disclosure. As indicated, the device 700 includes a central processing unit (CPU) 701, which can execute various appropriate actions and processing based on the computer program instructions stored in a read-only memory (ROM) 702 or the computer program instructions loaded into a random access memory (RAM) 703 from a storage unit 708. The RAM 703 also stores all kinds of programs and data required by operating the terminal device 700. CPU 701, ROM 702 and RAM 703 are connected to each other via a bus 704, to which an input / output (I / O) interface 705 is also connected.
[0084] A plurality of components in the device 700 are connected to the I / O interface 705, comprising: an input unit 706, such as a keyboard, a mouse and the like; an output unit 707, such as various types of displays, loudspeakers and the like; a storage unit 708, such as a storage disk, an optical disk and the like; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver and the like. The communication unit 709 allows the device 700 to exchange information / data with other devices through computer networks such as Internet and / or various telecommunication networks.
[0085] Each procedure and processing described above, such as the methods 500A and 500B, can be executed by a processing unit 701. For example, in some embodiments, the methods 500A and 500B can be implemented as computer software programs, which are tangibly included in a computer-readable medium, such as a storage unit 708. In some embodiments, the computer-readable medium is a non-transitory computer-readable medium. In some embodiments, the computer program can be partially or completely loaded and / or installed to the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded to the RAM 703 and executed by the CPU 701, one or more steps of the above described methods 500A and 500B are implemented. Alternatively, in other embodiments, the CPU 701 may also be configured in any proper manner to implement the above process / method.
[0086] The present disclosure may be a method, a device, a system and / or a computer program product. The computer program product can include a computer-readable storage medium loaded with computer-readable program instructions thereon for executing various aspects of the present disclosure.
[0087] The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination thereof. More specific examples (anon-exhaustive list) of the computer readable storage medium would include: a portable computer diskette, a hard disk, a random access memory (RAM) , a read-only memory (ROM) , an erasable programmable read-only memory (EPROM or Flash memory) , a static random access memory (SRAM) , a portable compact disc read-only memory (CD-ROM) , a digital versatile disk (DVD) , a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination thereof. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable) , or electrical signals transmitted through a wire.
[0088] Computer readable program instructions described herein can be downloaded to respective computing / processing devices from a computer readable storage medium, or downloaded to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and / or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and / or edge servers. A network adapter card or network interface in each computing / processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing / processing device.
[0089] Computer readable program instructions for carrying out operations of the present disclosure may be assembly instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN) , or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider) . In some embodiments, by means of state information of the computer readable program instructions, an electronic circuitry including, for example, programmable logic circuitry (PLC) , field-programmable gate arrays (FPGA) , or programmable logic arrays (PLA) can be personalized to execute the computer readable program instructions, thereby implementing various aspects of the present disclosure.
[0090] Aspects of the present disclosure are described herein with reference to flowchart and / or block diagrams of methods, apparatus (systems) , and computer program products according to embodiments of the present disclosure. It will 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.
[0091] These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which are executed via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions / acts specified in the flowchart and / or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and / or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function / act specified in the flowchart and / or block diagram block or blocks.
[0092] The computer readable program instructions may also 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 apparatus or other device to produce a computer implemented process, such that the instructions which are executed on the computer, other programmable apparatus, or other device implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0093] The flowchart and block diagrams illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, snippet, or portion of codes, which comprises one or more executable instructions for implementing the specified logical function (s) . In some alternative implementations, the functions noted in the block may be implemented in an order different from those illustrated in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or by combinations of special purpose hardware and computer instructions.
[0094] Further, while operations are depicted in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Likewise, while several specific implementation details are contained in the above discussions, these should not be construed as limitations on the scope of the present disclosure, but rather as descriptions of features that may be specific to particular embodiments. Certain features that are described in the context of separate embodiments may also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment may also be implemented in multiple embodiments separately or in any suitable sub-combination.
[0095] A person of ordinary skill in the art may be aware that, in combination with the examples described in the embodiments disclosed in this specification, units and algorithm steps can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed by hardware or software depends on particular applications and design constraints of the technical solutions. A person skilled in the art may use different methods to implement the described functions for each particular application, but it should not be considered that the implementation goes beyond the scope of this application.
[0096] It may be clearly understood by a person skilled in the art that, for the purpose of convenient and brief description, for a detailed working process of the foregoing system, apparatus, and unit, refer to a corresponding process in the foregoing method embodiment. Details are not described herein again.
[0097] In the several embodiments provided in this application, it should be understood that the disclosed system, apparatus, and method may be implemented in other manners. For example, the described apparatus embodiment is merely an example. For example, the unit division is merely logical function division and may be other division in actual implementation. For example, a plurality of units or components may be combined or integrated into another system, or some features may be ignored or not performed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections may be implemented through some interfaces. The indirect couplings or communication connections between the apparatuses or units may be implemented in electronic, mechanical, or other forms.
[0098] The units described as separate parts may be or may not be physically separate, and parts displayed as units may be or may not be physical units, may be located in one position, or may be distributed on a plurality of network units. Some or all of the units may be selected based on actual requirements to achieve the objectives of the solutions of the embodiments.
[0099] In addition, functional units in the embodiments of this application may be integrated into one processing unit, or each of the units may exist alone physically, or two or more units are integrated into one unit.
[0100] When the functions are implemented in a form of a software functional unit and sold or used as an independent product, the functions may be stored in a computer readable storage medium. Based on such an understanding, the technical solutions in this application essentially, or the part contributing to the prior art, or some of the technical solutions may be implemented in a form of a software product. The computer software product is stored in a storage medium, and includes several instructions for instructing a computer device (which may be a personal computer, a server, a network device, or the like) to perform all or some of the steps of the methods described in the embodiments of this application. The foregoing storage medium includes: any medium that can store program code, such as a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM) , a random access memory (Random Access Memory, RAM) , a magnetic disk, or an optical disc.
[0101] The foregoing descriptions are merely specific implementations of this application, but are not intended to limit the protection scope of this application. Any variation or replacement readily figured out by a person skilled in the art within the technical scope disclosed in this application shall fall within the protection scope of this application. Therefore, the protection scope of this application shall be subject to the protection scope of the claims.
Claims
1.A terminal device, comprising:a processor; anda memory coupled to the processor, wherein the memory has instructions stored therein, and the instructions, when executed by the processor, cause the terminal device to:configure, in the terminal device, at least one proxy for at least one group comprising the terminal device in a communication system; andconfigure, in the terminal device, a plurality of user agents (UAs) for the least one group in the communication system, wherein the at least one proxy and the plurality of UAs are configured for communications between a plurality of terminal devices associated with the at least one group.2.The terminal device of claim 1, wherein the terminal device is further configured to at least one of the following:enable each of the at least one proxy independently;disable each of the at least one proxy independently;set a domain name for each of the at least one proxy independently;create a user account for each of the at least one proxy independently; ormanage a user account for each of the at least one proxy independently.3.The terminal device of claim 1, wherein the terminal device is further configured to at least one of the following:enable each of the plurality of UAs independently;disable each of the plurality of UAs independently;input a registered domain name to each of the plurality of UAs independently; orinput a registered user account to each of the plurality of UAs independently.4.A system for communications comprising at least a first terminal device of Claims 1-3 and a second terminal device of Claims 1-3, wherein:the first terminal device is caused to register any of a plurality of UAs in the first terminal device with at least one proxy in the first terminal device or at least one proxy in the second terminal device; andthe second terminal device is caused to register any of a plurality of UAs in the second terminal device with at least one proxy in the second terminal device or at least one proxy in the first terminal device.5.The system of claim 4, wherein at least one of the following:the first terminal device is further caused to register at least a first UA and a second UA of the plurality of UAs in the first terminal device with different proxies, wherein the first UA and the second UA are different; orthe second terminal device is further caused to register at least a third UA and a fourth UA of the plurality of UAs in the second terminal device with different proxies, wherein the third UA and the fourth UA are different.6.The system of claim 4, wherein one proxy manages one of the at least one group, and wherein the system is further configured to:receive a call for a first group of the at least one group from a third terminal device; andforward the call to all the terminal devices comprised in the first group, wherein the all the terminal devices are registered with a first proxy for the first group of the at least one proxy.7.A method for communications, comprising:maintaining a table comprising a plurality of domain names of a plurality of terminal devices and respective internet protocol (IP) addresses;monitoring a multicast group associated with the plurality of terminal devices; andupdating the table in response to determining that a change happened to at least one of any of the plurality of domain names or any of the respective IP addresses.8.The method of claim 7, wherein monitoring the multicast group associated with the plurality of terminal devices comprises:listening at least one of a domain name query packet or a reply packet comprised in the multicast group; andextracting at least one of a respective domain name or a respective IP address based on the at least one of the domain name query packet or the reply packet.9.The method of claim 7, further comprising:retrieving a target IP address for a target terminal device from the table;initiating a unicast communication to the target terminal device based on the target IP; andin response to failing to receive a response from the target terminal device or receiving an incorrect response, initiating a multicast query packet.10.The method of claim 9, further comprising:receiving a response to the multicast query packet from the target terminal device; andinitiating the unicast communication based on an IP address extracted from the response to the multicast query packet,wherein the method is performed at a terminal device as a communication initiator for looking up a domain name of a proxy.11.A method for communications, comprising:configuring, at a terminal device, at least one proxy for at least one group comprising the terminal device in a communication system; andconfiguring, at the terminal device, a plurality of user agents (UAs) for the least one group in the communication system, wherein the at least one proxy and the plurality of UAs are configured for communications between a plurality of terminal devices associated with the at least one group.12.An apparatus for communications, comprising:a first configuring module configured to configure, at a terminal device, at least one proxy for at least one group comprising the terminal device in a communication system;a second configuring module configured to configure, at the terminal device, a plurality of user agents (UAs) for the least one group in the communication system, wherein the at least one proxy and the plurality of UAs are configured for communications between a plurality of terminal devices associated with the at least one group.13.An apparatus for communications, comprising:a maintaining configuring module configured to maintain a table comprising a plurality of domain names of a plurality of terminal devices and respective internet protocol (IP) addresses;a monitoring configuring module configured to monitor a multicast group associated with the plurality of terminal devices; andan updating module configured to update the table in response to determining that a change happened to at least one of any of the plurality of domain names or any of the respective IP addresses.14.A computer program product having instructions stored therein, which when executed by a processor, cause the processor to perform a method of any of claims 7-10 or 11.15.A computer-readable storage medium storing computer-executable instructions which, when executed by a device, cause the device to perform a method of any of claims 7-10 or 11.
Citation Information
Patent Citations
Method and apparatus for interconnecting a user agent to a cluster of servers
CN103703745A
Interaction framework for executing user instructions with online services
CN109154899A
Method of Visitor Confirming and Communication Serviceusing Internet
KR1020050043597A
Home network device, Home network terminal and itsmethod for providing function of updating locationinformation according to change of dynamic address
KR1020060061113A
Manless Crime Prevention System with VoIP Lobby Phone and DTMF Receiver
KR2020100004499U