Program, information processing device, method, and system

The information processing device automatically configures VoIP devices as extension terminals and forwards calls to cloud PBX, addressing the complexity and cost barriers of manual configuration and equipment installation, enabling easy adoption of advanced telephone functions.

JP7804302B1Active Publication Date: 2026-01-22FOONZ INC
View PDF 11 Cites 0 Cited by

Patent Information

Application Number
JP2025159897
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-09-26
Publication Date
2026-01-22
Estimated Expiration
2045-09-26

AI Technical Summary

Technical Problem

Existing technologies require cumbersome manual configuration and expensive equipment for connecting VoIP devices to user locations as extension terminals, and the settings for protocol conversion between carrier and service provider networks are complicated, hindering the adoption of advanced telephone functions, especially for small businesses and sole proprietors.

Method used

An information processing device automatically acquires configuration information from a communication device with SIP server functionality, registering itself as an extension terminal and forwarding calls to a cloud PBX, eliminating the need for manual configuration and dedicated equipment.

Benefits of technology

Enables users with little technical knowledge to easily and inexpensively implement advanced telephone functions using existing contracted telephone numbers, simplifying the setup process and reducing operational costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007804302000001_ABST
    Figure 0007804302000001_ABST
Patent Text Reader

Abstract

To enable even a user lacking in technical knowledge to easily introduce an advanced telephone function at low cost while utilizing an existing contract telephone number as is. [Solution] A program to be executed by an information processing device having a processor and memory, the program causes the processor to execute the following steps: acquire configuration information from a communication device having SIP server functionality installed at the user's base, the configuration information including the contract telephone number registered in the communication device, authentication information for the information processing device, and available extension numbers; use the acquired configuration information to register the information processing device as an extension terminal of the communication device based on SIP; and transfer calls addressed to the contract telephone number received by the information processing device as an extension terminal to the cloud PBX using a communication connection between the information processing device and the cloud PBX on the Internet.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a program, an information processing device, a method, and a system. [Background technology]

[0002] IP (Internet Protocol) telephone services are widespread. Services that allow the use of 0ABJ numbers are particularly well known. In these services, communication devices with SIP (Session Initiation Protocol) server functionality are installed at user locations. SIP is a signaling protocol for establishing, modifying, and terminating media communication sessions, such as audio and video, over IP networks. A typical example of such communication devices is the Home Gateway (HGW) used in the Hikari telephone service. An HGW is a communication device installed in the home that provides integrated Internet connection and IP telephone functionality. This HGW has physical ports for connecting analog telephones. Additionally, the HGW also has the ability to register Voice over IP (VoIP) devices as extension terminals.

[0003] Meanwhile, organizations such as companies are using Cloud PBX (Private Branch Exchange) services. Cloud PBX services enable the creation of flexible internal telephone networks that are not tied to physical locations. They also provide advanced telephone functions, such as IVR (Interactive Voice Response). When using 0ABJ numbers with Cloud PBX, it is common to subscribe to a corporate SIP trunk service provided by a telecommunications carrier. A configuration is adopted in which the carrier's telephone network and Cloud PBX are connected via a dedicated gateway device called an SBC (Session Border Controller). An SBC is a dedicated device installed at the boundary between different networks that ensures security for VoIP communications and performs protocol conversion. As related technology, Patent Document 1 discloses a gateway device for connecting a carrier network and a service provider network.

[0004] Furthermore, some Hikari telephone services and the like have a standard function of forwarding incoming calls to another designated telephone number. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Publication No. 2022-049094 Summary of the Invention [Problem to be solved by the invention]

[0006] However, conventional technology has several issues. First, connecting VoIP devices to communication devices installed at user locations as extension terminals requires cumbersome manual configuration. This configuration work requires specialized knowledge of IP networks and VoIP. This has been a barrier to adoption for many users.

[0007] Second, using existing contract phone numbers with Cloud PBX requires the installation of expensive dedicated equipment and a corporate SIP trunk contract. This dedicated equipment includes SBCs and other devices. This creates a significant burden in terms of installation and operation costs. This burden has been a barrier to Cloud PBX adoption, particularly for small businesses and sole proprietors.

[0008] Furthermore, the gateway device disclosed in Patent Document 1 is designed to convert between different communication protocols between a carrier network and a service provider network. In such a configuration, there is room for improvement in that the settings required for protocol conversion become complicated.

[0009] The purpose of the present disclosure is to address the above-mentioned issues and to enable even users with little technical knowledge to easily and inexpensively implement advanced telephone functions while still utilizing their existing contracted telephone numbers. [Means for solving the problem]

[0010] In order to solve the above-mentioned problem, a program according to one embodiment of the present disclosure is a program to be executed by an information processing device having a processor and a memory, and the program causes the processor to execute the following steps: acquire configuration information from a communication device having a SIP server function installed at a user's base, the configuration information including a contract telephone number registered in the communication device, authentication information for registering the information processing device as an extension terminal of the communication device, and an available extension number; register the information processing device as an extension terminal of the communication device based on SIP using the acquired configuration information; and forward a call to the contract telephone number received by the information processing device registered as an extension terminal to the cloud PBX using a communication connection between the information processing device and the cloud PBX on the Internet. [Effects of the Invention]

[0011] According to the present disclosure, even users with little specialized knowledge can easily and inexpensively introduce advanced telephone functions while still utilizing their existing contracted telephone numbers. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a block diagram illustrating an example of the overall configuration of a system according to an embodiment of the present disclosure. [Figure 2] 2 is a block diagram showing an example of the configuration of the information processing device shown in FIG. 1. FIG. [Figure 3] FIG. 10 is a diagram illustrating an example of the data structure of a communication device setting information table. [Figure 4] FIG. 10 is a diagram illustrating an example of the data structure of a cloud PBX connection setting table. [Figure 5] 10 is a flowchart illustrating an example of operation of an initial setting process according to the present embodiment. [Figure 6] 10 is a flowchart illustrating an example of an operation of an incoming call forwarding process according to the present embodiment. [Figure 7] FIG. 1 is a block diagram showing the basic hardware configuration of a computer. DETAILED DESCRIPTION OF THE INVENTION

[0013] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In all drawings describing the embodiments, common components are designated by the same reference numerals, and repeated explanations will be omitted. Note that the following embodiments do not unduly limit the content of the present disclosure described in the claims. Furthermore, not all components shown in the embodiments are necessarily essential components of the present disclosure. Furthermore, each drawing is a schematic diagram and is not necessarily a precise illustration.

[0014] In the following description, a "processor" refers to one or more processors. A processor may be expressed as, for example, processing circuitry. The at least one processor is typically a microprocessor such as a CPU (Central Processing Unit). However, it may also be another type of processor such as a GPU (Graphics Processing Unit). The at least one processor may be single-core or multi-core. The at least one processor may also be a general-purpose processor or a special-purpose processor.

[0015] Furthermore, the at least one processor may be a processor in the broad sense, which is a hardware circuit (for example, an FPGA or an ASIC) that performs part or all of the processing.

[0016] In the following explanation, information may be explained using expressions such as "xxx table." This information is information that provides an output for an input. This information may be data of any structure, or may be a learning model. A learning model is a model such as a neural network that generates an output for an input. Therefore, an "xxx table" can be called "xxx information."

[0017] In the following description, the configuration of each table is an example. One table may be divided into two or more tables. Furthermore, all or part of two or more tables may be combined into one table.

[0018] The program may be installed in a device such as the device of the present application, or may be stored in, for example, a program distribution server or a (non-transitory) recording medium readable by the device of the present application. Also, in the following description, two or more programs may be realized as one program, or one program may be realized as two or more programs.

[0019] Furthermore, in the following description, identification numbers are used as identification information for various objects, but other types of identification information (for example, identifiers including alphabetic characters or symbols) may also be employed.

[0020] In addition, in the following description, when describing elements of the same type without distinguishing between them, reference symbols (or common symbols among the reference symbols) may be used, and when describing elements of the same type with distinction between them, the identification numbers (or reference symbols) of the elements may be used.

[0021] In the following description, the control lines and information lines are those that are considered necessary for the description, and not all control lines and information lines in the product are necessarily shown. All components may be interconnected.

[0022] Each information processing device is configured by a computer having an arithmetic unit and a storage device. The basic hardware configuration of the computer will be described later. Regarding the information processing device 10, a description that overlaps with the basic hardware configuration of the computer will be omitted.

[0023] (First embodiment) [1. Overview] In the system according to this embodiment, an information processing device works in conjunction with an existing communication device installed at a user's location. Then, incoming calls to the existing 0ABJ number used by that communication device are forwarded to a cloud PBX on the Internet. A key feature of this embodiment is that the configuration information required for registering an extension to the communication device is automatically acquired without user intervention. That is, the information processing device automatically collects the configuration information from the communication device. Then, using the collected information, the information processing device registers itself as a legitimate extension terminal of the communication device. This allows users to significantly simplify or completely eliminate the need for cumbersome manual configuration work, enabling them to easily introduce a highly functional telephone environment, such as an IVR, using existing telephone numbers.

[0024] However, when using conventional call forwarding services to link incoming calls to an external system, users have had the problem of incurring additional monthly fees. Furthermore, many users have been reluctant to adopt advanced telephone services due to the risk of losing the use of their existing telephones when setting up call forwarding. The system according to this embodiment can solve these problems.

[0025] Here, we will define key terms used in this specification. A "user" refers to an individual or organization that uses a system according to one embodiment of the present disclosure (hereinafter also referred to as a "consumer"). This term particularly refers to entities that wish to adopt the advanced telephone functions provided by Cloud PBX while maintaining their existing telephone line contracts. Specific examples include a wide range of entities, including sole proprietors, SOHOs (Small Office / Home Offices), startups, small and medium-sized enterprises, small branches or sales offices of large enterprises, and even individuals living in ordinary households. Furthermore, a "base" refers to a physical location where a user operates and where an information processing device and a communication device according to one embodiment of the present disclosure are installed. Specific examples include the user's home, office, store, or factory.

[0026] "SIP (Session Initiation Protocol)" is a communications protocol for initiating, controlling, and terminating real-time sessions such as voice calls, video conferences, and instant messaging over a network. "SIP server functions" are specific roles and functions that process requests from clients according to SIP and relay and manage communications. Specifically, SIP server functions include proxy server, registrar, redirect server, and location server functions.

[0027] "Communications equipment" refers to equipment installed at a user's premises that has telephone network connection and SIP server functions. This communications equipment is capable of accommodating multiple VoIP devices as internal terminals. A specific example is the HGW (e.g., PR-500KI) used in the Hikari telephone service provided by NTT East and West Japan. This also includes IP-PBXs or routers with VoIP functionality used in small offices. An IP-PBX is a private branch exchange that uses an IP network to create an internal telephone network. A router with VoIP functionality is a router device that has IP telephone functions (VoIP gateway function or SIP server function) in addition to regular Internet connection functions.

[0028] In the present disclosure, the process in which an information processing device acquires setting information from a communication device is performed, for example, via a predetermined interface possessed by the communication device. This "predetermined interface" is a general term for a mechanism possessed by a communication device for providing setting information to an external device. This predetermined interface includes, for example, an API (Application Programming Interface) that can be accessed by a program, or a web page that humans can view and operate via a browser or the like. An API is a set of conventions (calling conventions, data formats, etc.) that a specific software component or service provides to allow an external program to call its own functions and data.

[0029] The "setting information" refers to a set of information required for an information processing device to be registered as an extension terminal of a communication device. The setting information includes at least a contract phone number, authentication information, and available extension numbers.

[0030] A "contract telephone number" refers to a telephone number assigned to a user based on a contract with a telephone service provider. Contract telephone numbers include, for example, 0ABJ numbers and 050 numbers. This embodiment focuses primarily on 0ABJ numbers, which are used for landlines in Japan. 0ABJ numbers are a 10-digit telephone number format that includes an area code. For example, telephone numbers beginning with "03" in Tokyo or "06" in Osaka fall into this category.

[0031] "Authentication information" is information used by an information processing device to authenticate itself to a communication device as a legitimate internal terminal. This is authentication information for registering an information processing device as an internal terminal of the communication device. Specifically, the authentication information includes information used for SIP digest authentication. SIP digest authentication is a standard authentication method used in SIP, in which authentication is performed by exchanging digest values ​​generated using a hash function without directly transmitting a password over the network. Specifically, SIP digest authentication consists of a combination of a user ID and a password. This authentication information is required when registering an internal terminal in the SIP server function of the communication device.

[0032] "Available extension numbers" refer to the extension numbers managed by a communication device that can be used for registration by an information processing device. A communication device usually manages multiple extension numbers (e.g., 1 to 7). Of these, the available extension numbers are the ones that are available, excluding numbers already in use by other devices.

[0033] A "call" refers to a communication session that takes place over a telephone network or an IP network. A call includes a series of processes from the start to the end of communication. Specifically, a call consists of signaling information, such as SIP, and media information, such as audio data, transmitted over the Real-time Transport Protocol (RTP). RTP is a standardized protocol for transmitting real-time data, such as audio and video, over an IP network.

[0034] "Cloud PBX" refers to a service that provides PBX (private branch exchange) functions via a cloud server. Traditionally, PBXs have been physically installed in offices. Cloud PBX provides advanced telephone functions required for business use. Advanced telephone functions include, for example, incoming call control and outgoing call control functions. Specific examples include IVR, call recording, internal calls between multiple locations, and smartphone integration.

[0035] [2. System Configuration] FIG. 1 is a block diagram showing an example of the overall configuration of a system according to this embodiment. The system 1 includes an information processing device 10, a communication device 20, and a cloud PBX 30. The information processing device 10 and the communication device 20 are installed at a user's base. In this embodiment, an HGW is assumed as an example of the communication device 20. The cloud PBX 30 is connected to the information processing device 10 via the communication device 20 and the Internet 80. The system 1 is also connected to a telephone network 90. ​​The telephone network 90 is a public switched telephone network (PSTN) or the like.

[0036] The information processing device 10 is a computer on which a program according to an embodiment of the present disclosure is installed and executed. The information processing device 10 may be, for example, a small device designed as dedicated hardware. Alternatively, the information processing device 10 may be a general-purpose single-board computer (e.g., Raspberry Pi) on which the program is implemented. The information processing device 10 is connected to the same local area network (LAN) as the communication device 20. The information processing device 10 includes a communication IF (Interface) 12, a memory 15, a storage 16, and a processor 19.

[0037] The communication device 20 is an existing communication device installed at a user's base. The communication device 20 is connected to a telephone network 90 and provides Hikari telephone services. The communication device 20 also accommodates the information processing device 10 as an internal terminal using a built-in SIP server function. An analog telephone (not shown) may be connected to the communication device 20.

[0038] The cloud PBX 30 is a PBX service provided over the Internet 80. The cloud PBX 30 performs advanced call processing on calls transferred from the information processing device 10. The advanced call processing is an automated voice response using IVR, etc.

[0039] 3. Configuration of Information Processing Device Fig. 2 is a block diagram showing an example of the hardware configuration of the information processing device 10 shown in Fig. 1. As shown in Fig. 2, the information processing device 10 includes a communication unit 110, a storage unit 120, and a control unit 130. These units are electrically connected via a bus or the like.

[0040] The communication unit 110 is an interface for the information processing device 10 to communicate with external devices. The external devices include the communication device 20 and the cloud PBX 30. The communication unit 110 is, for example, an Ethernet (registered trademark) interface, and is wired connected to the communication device 20 via a LAN cable. The control unit 130 transmits and receives data between the communication device 20 and the cloud PBX 30 via the communication unit 110.

[0041] The storage unit 120 is a storage device that stores programs and processing data executed by the processor. The processor is a CPU or the like. The storage unit 120 includes a main storage device (e.g., RAM) and an auxiliary storage device (e.g., SSD, flash memory). The storage unit 120 stores an OS and application programs for realizing various functions according to this embodiment. The storage unit 120 also stores a communication device setting information table 121 and a cloud PBX connection setting table 122, which will be described later.

[0042] The control unit 130 causes the processor to read and execute programs stored in the storage unit 120, thereby providing overall control over the operation of the information processing device 10. The processor operates in accordance with the programs to implement various functional units, which will be described later. The information processing device 10 of this embodiment is not intended to be operated directly by a user. Therefore, input / output devices such as a keyboard, mouse, or display are not essential components. However, a USB port or an HDMI (registered trademark) port may be provided for maintenance purposes.

[0043] The processor executes a program to cause the control unit 130 to function as multiple modules: a gateway detection module 131, a setting information acquisition module 132, an extension registration module 133, and a call transfer module 134.

[0044] The gateway detection module 131 has a function of automatically detecting communication devices 20 present on the local network and identifying their IP addresses using a predetermined protocol. Here, the "predetermined protocol" refers to a general term for technical specifications used by multiple devices connected to a network to automatically discover and communicate with each other without manual configuration.

[0045] In this embodiment, UPnP (Universal Plug and Play) is used as an example of the predetermined protocol. UPnP is a group of protocols that enable devices connected to a network to automatically recognize each other and operate cooperatively. Other examples of the predetermined protocol include other service discovery protocols such as mDNS (multicast DNS) and WS-Discovery (Web Services Dynamic Discovery). mDNS is a protocol that uses multicast communication to resolve host names in a small network that does not have a dedicated DNS server. WS-Discovery is a technical specification for dynamically discovering Web services that exist on a local network.

[0046] This automatic detection function can save the user the trouble of manually setting the IP address of the communication device 20. Note that this automatic detection function is not a required configuration. For example, a configuration may be adopted in which the user manually inputs the IP address of the communication device 20 via a setting web interface provided by the information processing device 10.

[0047] The setting information acquisition module 132 is a module that executes the "acquiring step" in one aspect of the present disclosure. The setting information acquisition module 132 acquires setting information from the identified communication device 20 via a predetermined interface. Then, the setting information includes the contract telephone number, authentication information, and available extension numbers of the Hikari Telephone Service registered in the communication device 20. This eliminates the need for the user to perform cumbersome manual setting work.

[0048] The extension registration module 133 is a module that executes the "registering step" in one aspect of the present disclosure. The extension registration module 133 uses the acquired setting information to register the information processing device 10 as an extension terminal of the communication device 20 based on SIP. Specifically, this is performed by sending a SIP REGISTER method to the SIP server function of the communication device 20 using the acquired authentication information (user ID and password) and extension number. The REGISTER method is a request used in SIP by a user agent (extension terminal) to register its own current location information (IP address, etc.) in a registrar (SIP server).

[0049] The call forwarding module 134 is a module that executes the "forwarding step" in one aspect of the present disclosure. When the information processing device 10 receives a call addressed to a contract phone number, the call forwarding module 134 operates. The information processing device 10 is registered as an extension terminal of the communication device 20. The call forwarding module 134 forwards the received call to the cloud PBX 30. This forwarding is performed using a communication connection between the information processing device 10 and the cloud PBX 30. For this forwarding process, open source PBX software such as Asterisk is used.

[0050] [4. Data Structure] 3 and 4 are diagrams showing examples of the data structures of data tables stored in the storage unit 120. These tables are implemented in the storage unit 120 in the form of a relational database, a key-value store, or the like. Note that the data structures shown in FIGS. 3 and 4 are merely examples and do not exclude data that is not listed. Furthermore, data listed in the same table may be stored in separate storage areas in the storage unit 120.

[0051] The communication device setting information table 121 shown in FIG. 3 is a table that stores setting information acquired from the communication device 20. The communication device setting information table 121 has multiple columns. The columns include "contract phone number," "authentication user ID," "authentication password," "registered extension number," "HGW model name," and "acquisition date and time." The "contract phone number" column stores a contracted phone number such as an 0ABJ number. The "authentication user ID" and "authentication password" columns store authentication information (a user ID and password as identifiers). The authentication information is required when registering the communication device 20 as an extension terminal. The "registered extension number" column stores an extension number used by the information processing device 10. This extension number is assigned by the communication device 20. The "HGW model name" and "acquisition date and time" columns store management information (HGW model name and acquisition date and time). This information makes it possible to track problems or manage the validity period of settings for each model of the communication device 20 (HGW). If the communication device 20 is an IP-PBX, a router with a VoIP function, or the like, the communication device setting information table 121 stores the model name and acquisition date and time of the device.

[0052] Cloud PBX connection setting table 122 shown in Fig. 4 is a table that stores connection information. This connection information is used to connect to cloud PBX 30, which is the call forwarding destination. Information in this table is written in advance when information processing device 10 is manufactured, or is obtained from a setting server (provisioning server) when the device is first started up. The provisioning server is a server that automatically supplies initial setting information (firmware, setting files, etc.) to devices connected to a network and reflects the settings.

[0053] The cloud PBX connection setting table 122 has multiple columns. The columns include "destination server address," "used protocol," "connection ID," "connection password," and "codec priority." The "destination server address" column stores the IP address or host name of the cloud PBX 30 server. The "used protocol" column stores the protocol used for communication (for example, IAX2 (Inter-Asterisk exchange version 2)).

[0054] IAX2 is a VoIP protocol that transmits both signaling and media over a single port, making it particularly advantageous for communication in a NAT (Network Address Translation) environment. NAT refers to technology that converts private IP addresses to public IP addresses and vice versa. This allows limited public IP addresses to be shared among multiple devices. The protocol used for transmission is not limited to IAX2; other protocols supported by Cloud PBX30, such as SIP or Web Real-Time Communication (WebRTC), can also be specified. WebRTC is an open technical specification for enabling real-time communication between web browsers without plug-ins. The "Connection ID" and "Connection Password" columns store information used for connection authentication (connection ID and password as identifiers). The "Codec Priority" column stores the codec priority (e.g., "G.711u, G.711a, G.729"). A codec is an algorithm or program that converts analog signals such as voice into digital data (encoding) and vice versa (decoding). This allows for an optimal balance between communication quality and bandwidth.

[0055] [5-1. First example of configuration information acquisition: targeting HGW] A specific method will be described below for the case where the setting information acquisition module 132 acquires setting information from the HGW, which is the communication device 20 according to this embodiment. Generally, HGWs often do not have public APIs for external cooperation. Therefore, in this embodiment, the following multiple technologies are combined or applied in order of priority to achieve stable and reliable information acquisition.

[0056] As a first technique, the setting information acquisition module 132 acquires setting information by using communication specifications that the HGW has for automatic configuration of a SIP terminal, i.e., the information processing device 10. These communication specifications for automatic configuration are an interface that is provided in the HGW independently of a configuration web page operated by a user via a browser, and that enables the information processing device 10 to automatically acquire setting information. The setting information acquisition module 132 acquires setting information by sending an HTTP request to the HGW in accordance with these communication specifications for automatic configuration. In HTTP (Hypertext Transfer Protocol), an HTTP request is a general term for a message that a client sends to a server to request a specific action. An HTTP request is composed of a request method that indicates the type of request, a URL that indicates the requested resource, a header that includes additional information, and the like.

[0057] Upon receiving the HTTP request, the HGW returns data including configuration information in a structured data format. The structured data format is a general term for a data format in which data is given a hierarchical structure and relationships according to a predetermined grammar. The structured data format facilitates automatic analysis and processing by a computer. Specific examples of structured data formats include JSON (JavaScript Object Notation), XML (Extensible Markup Language), and YAML (YAML Ain't Markup Language). The configuration information acquisition module 132 analyzes the data in this response (structured data format) to acquire the required configuration information. This method is less susceptible to changes in HTML structure and enables the most efficient and stable information acquisition.

[0058] As a second method, web scraping technology can be used as a fallback when the first method described above is unavailable or fails. In this case, the setting information acquisition module 132 acquires the HTML source code of the phone setting page after login and extracts the desired information using a multi-stage search logic. Specifically, it performs a systematic analysis, such as (i) searching for an element with a specific ID or class name, (ii) if not found, searching for surrounding elements using keywords such as "phone number," and (iii) if still not found, searching the entire page using regular expressions.

[0059] As a third method, if the HGW supports TR-069 (CPE WAN Management Protocol), this can also be used. TR-069 is a set of technical specifications and protocols standardized by the Broadband Forum, an industry group, for remotely managing customer premises equipment (i.e., HGWs). In this case, the setting information acquisition module 132 operates as an ACS (Auto Configuration Server) and acquires setting information by specifying a predetermined data model (e.g., "...VoiceProfile.{i}.SIP.Username"). The ACS is a server that centrally manages and configures multiple HGWs (and IP telephones) using TR-069.

[0060] [5-2. Second example of setting information acquisition: When targeting IP-PBX, etc.] If the communication device 20 is, for example, an IP-PBX or a router with a VoIP function, the setting information acquisition module 132 can acquire setting information in an optimal manner according to the specifications of the communication device 20, such as by using a public Web API provided by the device, by executing a CLI (Command Line Interface) via SSH (Secure Shell), or by directly accessing a setting file (e.g., "sip.conf"). SSH refers to a protocol for communicating with a remote computer via a secure encrypted communication channel, or a group of software that uses this protocol. CLI refers to a method of operating a computer by entering specific character strings (commands) from the keyboard.

[0061] [6. Operation] Next, the operation of the information processing device 10 according to this embodiment will be described in more detail with reference to the flowcharts of FIGS.

[0062] <6-1. Initial setting process> 5 is a flowchart showing an example of the operation of the initial setting process, which is executed when the information processing device 10 is installed at the user's base, powered on, and connected to the LAN for the first time.

[0063] First, in step S101, the gateway detection module 131 automatically detects the communication device 20. Specifically, the gateway detection module 131 transmits a multicast message using UPnP SSDP. This message is intended to search for an IGD (Internet Gateway Device) present on the network. An IGD is a standard profile for a gateway device that provides an Internet connection function, defined in the UPnP device architecture. The communication device 20 responds to this message by returning its own information. The gateway detection module 131 identifies the IP address of the communication device 20 from this response.

[0064] Next, in step S102 (acquiring step), the setting information acquisition module 132 acquires setting information from the communication device 20. This acquisition process is performed using, for example, the above-mentioned API, web scraping, command execution via SSH, or the like.

[0065] When the communication device 20 receives the request, it returns the setting information stored therein. This return is made to the information processing device 10 as a response. The setting information acquisition module 132 receives this response and analyzes the contents. Then, it extracts the contract phone number, authentication information, and available extension numbers. Then, it stores the extracted information in the communication device setting information table 121.

[0066] Next, in step S103 (registration step), the extension registration module 133 generates a SIP REGISTER request (registration request). This generation is performed using information stored in the communication device setting information table 121. This REGISTER request includes information on an authentication user ID, an authentication password, and a registered extension number. The extension registration module 133 transmits the generated REGISTER request to the SIP server function (usually port 5060) of the communication device 20. This process of the extension registration module 133 transmitting the REGISTER request to the communication device 20 corresponds to the process of registering the information processing device 10 as an extension terminal of the communication device 20.

[0067] When the communication device 20 receives the REGISTER request, it checks whether the authentication information is valid. If the authentication is successful, the communication device 20 associates the IP address of the information processing device 10 with the registered extension number. Then, it records this information in its internal registration information. As a result, the information processing device 10 is actually registered as a legitimate extension terminal of the communication device 20. The registration expires after a certain period of time (e.g., 3600 seconds). Therefore, the extension registration module 133 periodically resends the REGISTER request to maintain the registered state.

[0068] The above process completes the extension registration of the information processing device 10 to the communication device 20. Subsequently, the information processing device 10 establishes a communication connection to the cloud PBX 30 using information in the cloud PBX connection setting table 122. This connection is established, for example, when the information processing device 10 is started up, and is constantly maintained in preparation for call transfer by periodically sending and receiving keep-alive packets. Keep-alive packets are very small data packets that devices connected via a network periodically send to each other to check whether their connections with each other are being maintained normally (whether they are "alive" or "dead").

[0069] <6-2. Call forwarding process> 6 is a flowchart showing an example of the operation of the call forwarding process, which is executed when an incoming call is received from the external telephone network 90 to the contracted telephone number after the initial setting is completed.

[0070] First, in step S201, the communication device 20 receives an incoming call from the telephone network 90 addressed to the contract telephone number.

[0071] Next, in step S202, the communication device 20 transfers an incoming call signal (a signal announcing the start of a call) from the telephone network 90 to the information processing device 10. The information processing device 10 is registered as an internal terminal. This transfer is performed by sending an SIP INVITE request to the information processing device 10. An INVITE request is a request sent in SIP to establish a session with another user agent. The header portion of this INVITE request contains various information. The various information includes caller number information (From header) and called number information (To header).

[0072] Next, in step S203 (transfer step), the call transfer module 134 of the information processing device 10 receives the SIP INVITE request from the communication device 20.

[0073] Next, in step S204, the call transfer module 134 starts processing to transfer the incoming call to the cloud PBX 30. The call transfer module 134 uses a communication connection with the cloud PBX 30 that has already been established and maintained. In this embodiment, a configuration is exemplified in which the call is transferred using the IAX2 protocol over this communication connection. The IAX2 protocol transmits both signaling and media over a single port. This has the advantage of easily achieving stable communication even in a network under a NAT environment. However, the protocol used for transfer is not limited to this. For example, a configuration in which the information processing device 10 and the cloud PBX 30 are connected using the general SIP protocol may also be adopted. It is also possible to connect using WebRTC to achieve more flexible media control.

[0074] The call transfer module 134 converts SIP call information received from the communication device 20 into IAX2 protocol call information. In this embodiment, the call transfer module 134 transfers the call while maintaining the caller ID information of the original call. This allows the cloud PBX 30 to accurately identify the caller, and the call recipient can know who is calling. However, the handling of the caller ID information is not limited to this. For example, from the perspective of privacy protection or branding, it is also possible to configure the caller ID information to be intentionally changed. Specifically, one example is a configuration in which the original caller ID is replaced with a contract telephone number (e.g., a company's main number) and then transferred to the cloud PBX 30.

[0075] Furthermore, in this embodiment, the call forwarding module 134 notifies the cloud PBX 30 of called number information in addition to the caller number information. The called number information is information that identifies which of multiple contracted telephone numbers the call came from. This allows the cloud PBX 30 to more flexibly control incoming calls. However, it is not necessary to notify the called number information itself. For example, it is also possible to adopt a configuration in which an identifier pre-linked to the called number (e.g., a string tag such as "Sales Department" or "Personal") is notified instead. This allows the call processing logic on the cloud PBX 30 to be separated from the specific telephone number.

[0076] Next, in step S205, the call transfer module 134 transmits the generated IAX2 call setup request (call information of the IAX2 protocol) to the cloud PBX 30 via the Internet 80.

[0077] Finally, in step S206, the cloud PBX 30 accepts the call (specifically, the call information of the IAX2 protocol) transferred from the information processing device 10. Then, the cloud PBX 30 executes call processing according to a preset IVR flow. The call processing includes automatic voice response, transfer to an appropriate extension terminal, or connection to voicemail.

[0078] [7. Summary] As described above, according to this embodiment, simply connecting the information processing device 10 to the network at the user's base automatically completes extension registration to the communication device 20. Then, incoming calls to an existing contract telephone number can be forwarded to the cloud PBX 30 while maintaining caller information, etc. This allows even users without specialized knowledge to easily and at low cost start using advanced telephone functions such as IVR with their existing telephone number.

[0079] Furthermore, according to this embodiment, the information processing device 10 operates as an internal terminal of the communication device 20, so that when a call arrives at a contracted telephone number, it is possible to simultaneously call an existing telephone installed at a base and an AI response system or the like connected to the cloud PBX 30. This allows the user to flexibly select whether to answer the call directly on the telephone or to leave the answering to an AI model without using call forwarding, depending on their own situation, each time an incoming call arrives.

[0080] (Variation) The configurations described in the above embodiments can be modified in various ways without departing from the spirit of the present disclosure.

[0081] [First Modified Example] For example, in the above embodiment, the processing of incoming calls has been mainly described. However, the present disclosure is also applicable to processing of outgoing calls. In this modification, the information processing device 10 further includes a calling function (calling step). The calling function is a function that makes a call to an external phone number via the communication device 20 using a contract phone number in response to a call request from the cloud PBX 30.

[0082] Specifically, a user makes a call from a terminal connected to the cloud PBX 30. This terminal is not limited to a dedicated application installed on a smartphone. Various forms are possible, such as a software phone running on a PC or a click-to-call function linked to a CRM (Customer Relationship Management) system. The click-to-call function refers to a mechanism that allows a call to be automatically made from a specified telephone by simply clicking a telephone number displayed on a web page, etc. When a call is made, the cloud PBX 30 transmits a call request to the information processing device 10 via the Internet 80. The call request includes the telephone number of the call destination. Upon receiving this call request, the information processing device 10 transmits a SIP INVITE request to the communication device 20. The call is then made to the telephone network 90 via the communication device 20. At this time, the contract telephone number is notified to the other party as the caller ID.

[0083] With this configuration, the information processing device 10 functions not only as a simple call forwarding device but also as a gateway. This gateway bidirectionally links the cloud PBX 30 and the communication device 20. By simply making a call from a terminal of the cloud PBX 30, the user can notify the other party of an existing 0ABJ number that has a high social credibility.

[0084] [Second Modification] In the above embodiment, the communication device 20 is mainly an HGW. However, the communication device 20 may be an IP-PBX used in a small office or the like. In this case, the method for acquiring the setting information depends on the interface provided by the IP-PBX. For example, if the IP-PBX has a function for exporting setting information as an XML file, the setting information acquisition module 132 acquires the setting information using that function. Alternatively, it is also possible to acquire the setting information by logging in to the IP-PBX via SSH (Secure Shell) and executing a specific command. The process of registering an extension using the acquired setting information and subsequent processes is the same as in the above embodiment.

[0085] (Basic computer hardware configuration) 7 is a block diagram showing the basic hardware configuration of a computer 900. The computer 900 includes at least a processor 901, a main storage device 902, an auxiliary storage device 903, and a communication IF 991. These are electrically connected to one another by a communication bus.

[0086] The processor 901 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, registers, peripheral circuits, and the like.

[0087] The main memory device 902 is used to temporarily store programs, data to be processed by the programs, etc. For example, it is a volatile memory such as a DRAM (Dynamic Random Access Memory).

[0088] The auxiliary storage device 903 is a storage device for saving data and programs, such as a flash memory, a hard disk drive (HDD), a magneto-optical disk, a CD-ROM, a DVD-ROM, or a semiconductor memory.

[0089] The communication IF 991 is an interface for inputting and outputting signals for communicating with other computers via a network using wired or wireless communication standards.

[0090] The network is composed of the Internet, a LAN, various mobile communication systems constructed by wireless base stations, etc. For example, the network includes 3G, 4G, and 5G mobile communication systems, LTE (Long Term Evolution), and wireless networks (e.g., Wi-Fi (registered trademark)) that can connect to the Internet via a predetermined access point. In the case of a wireless connection, communication protocols include, for example, Z-Wave (registered trademark), ZigBee (registered trademark), and Bluetooth (registered trademark). In the case of a wired connection, the network also includes a direct connection using a USB (Universal Serial Bus) cable, etc.

[0091] It should be noted that the computer 900 can be virtually realized by distributing all or part of each hardware configuration across multiple computers 900 and interconnecting them via a network. In this way, the computer 900 is a concept that includes not only a computer 900 housed in a single housing or case, but also a virtualized computer system.

[0092] In the above embodiment, the units (units) and means are described as being implemented by a processor, but this is not limiting. The units (units) and means may be hardware configured to implement the described functions, or any hardware known to execute the described functions. Furthermore, the units (units) and means may be a combination of those implemented by a processor and hardware.

[0093] Although several embodiments of the present disclosure have been described above, these embodiments can be embodied in various other forms, and various omissions, substitutions, and modifications can be made without departing from the spirit of the invention. These embodiments and modifications are intended to be included in the scope of the inventions and their equivalents as defined in the claims, as well as in the scope and spirit of the inventions.

[0094] (Addendum) The matters described in the above embodiments will be supplemented below.

[0095] [Appendix 1] A program to be executed by an information processing device having a processor and a memory, the program causing the processor to execute the steps of: acquiring setting information from a communication device having a SIP server function installed at a user's base; registering the information processing device as an extension terminal of the communication device based on SIP using the acquired setting information; and forwarding a call to a contract telephone number that is received by the information processing device registered as an extension terminal to the Cloud PBX using a communication connection between the information processing device and a Cloud PBX on the Internet. The setting information includes the contract telephone number registered in the communication device, authentication information for registering the information processing device as an extension terminal of the communication device, and an available extension number.

[0096] [Appendix 2] The communication device is an HGW, and in the acquiring step, the program described in (Appendix 1) acquires the configuration information by sending an HTTP request to a Web API provided by the communication device and receiving a response including the configuration information in structured data format.

[0097] [Appendix 3] The program according to (Appendix 1) or (Appendix 2), wherein in the forwarding step, the incoming call is forwarded to the cloud PBX using the IAX2 protocol.

[0098] [Appendix 4] The program according to any one of (Appendix 1) to (Appendix 3), wherein in the forwarding step, the call is forwarded to the cloud PBX while maintaining caller ID information indicating the caller ID of the call.

[0099] [Appendix 5] The program according to (Supplementary Note 4), wherein in the forwarding step, when the call is forwarded to the Cloud PBX, the Cloud PBX is notified of called number information in addition to caller number information. The called number information is information that identifies which of multiple contracted telephone numbers the call came from.

[0100] [Appendix 6] The program according to any one of (Supplementary Note 1) to (Supplementary Note 5), wherein in the acquiring step, before acquiring the setting information, the program automatically detects a communication device using a predetermined protocol. The detection targets communication devices present on the local network and identifies the IP addresses of the communication devices.

[0101] [Appendix 7] The program according to any one of (Supplementary Note 1) to (Supplementary Note 6), further executing a step of making a call to an external telephone number in response to a call request from the cloud PBX. The call is made via a communication device using a contract telephone number.

[0102] [Appendix 8] An information processing device comprising the processor that executes the program according to any one of (Supplementary Note 1) to (Supplementary Note 7).

[0103] [Appendix 9] A method executed by an information processing device, the method comprising the steps of: acquiring setting information from a communication device having a SIP server function and installed at a user's base; registering the information processing device as an extension terminal of the communication device based on SIP using the acquired setting information; and forwarding a call to a contract telephone number that is received by the information processing device registered as an extension terminal to the Cloud PBX using a communication connection between the information processing device and the Cloud PBX on the Internet. The setting information includes the contract telephone number registered in the communication device, authentication information for registering the information processing device as an extension terminal of the communication device, and available extension numbers.

[0104] [Appendix 10] A system including an information processing device with a control unit and a cloud PBX, wherein the control unit executes the following processes: acquiring setting information from a communication device with SIP server functionality installed at a user's base; registering the information processing device as an internal terminal of the communication device using the acquired setting information based on SIP; and forwarding calls to a contract telephone number received by the information processing device registered as an internal terminal to the cloud PBX using a communication connection between the information processing device and the cloud PBX on the Internet; the setting information includes the contract telephone number registered in the communication device, authentication information for registering the information processing device as an internal terminal of the communication device, and an available extension number; and the cloud PBX receives the forwarded call from the information processing device and executes pre-set call processing. [Explanation of symbols]

[0105] 1. System 10...Information processing device 20...Communication equipment 30...Cloud PBX 80…Internet 90…Telephone network 110…Communications Department 120...Storage section 121...Communication device setting information table 122...Cloud PBX connection setting table 130...Control unit 131...Gateway detection module 132...Setting information acquisition module 133…Extension registration module 134...Call forwarding module 900...Computer 901...Processor 902…Main storage device 903…Auxiliary storage device 991…Communication IF

Claims

1. A program to be executed by an information processing device including a processor and a memory, The program causes the processor to: acquiring, from a communication device having a SIP (Session Initiation Protocol) server function installed at the user's base, setting information including a contract telephone number registered in the communication device, authentication information for registering the information processing device as an extension terminal of the communication device, and an available extension number; registering the information processing device as an extension terminal of the communication device based on SIP using the acquired setting information; a step of transferring a call to the contract telephone number, which is received by the information processing device registered as the extension terminal, to a cloud PBX (Private Branch Exchange) on the Internet using a communication connection between the information processing device and the cloud PBX; A program that executes the following.

2. the communication device is a Home Gateway (HGW), 2. The program according to claim 1, wherein in the acquiring step, the setting information is acquired by sending an HTTP request to a Web API (Application Programming Interface) provided by the HGW and receiving a response including the setting information in a structured data format.

3. 2. The program according to claim 1, wherein in the transferring step, the incoming call is transferred to the cloud PBX using an IAX2 (Inter-Asterisk exchange version 2) protocol.

4. 2. The program of claim 1, wherein the transferring step includes maintaining caller ID information indicating a caller ID of the call and transferring the call to the cloud PBX.

5. The program of claim 4, wherein in the forwarding step, when the call is forwarded to the cloud PBX, in addition to the caller ID information, the cloud PBX is notified of incoming number information that identifies which of the multiple contracted telephone numbers the call came in to.

6. 2. The program according to claim 1, wherein, in the acquiring step, before acquiring the setting information, the communication device present on the local network is automatically detected using a predetermined protocol, and an IP address of the communication device is identified.

7. The program according to claim 1 , further causing the program to execute a step of making a call to an external telephone number using the contract telephone number via the communication device in response to a call request from the cloud PBX.

8. An information processing device comprising the processor that executes the program according to any one of claims 1 to 7.

9. A method executed by an information processing device, acquiring, from a communication device having a SIP (Session Initiation Protocol) server function installed at the user's base, setting information including a contract telephone number registered in the communication device, authentication information for registering the information processing device as an extension terminal of the communication device, and an available extension number; registering the information processing device as an extension terminal of the communication device based on SIP using the acquired setting information; a step of transferring a call to the contract telephone number, which is received by the information processing device registered as the extension terminal, to a cloud PBX (Private Branch Exchange) on the Internet using a communication connection between the information processing device and the cloud PBX; A method comprising:

10. A system including an information processing device having a control unit and a cloud PBX, The control unit A process of acquiring, from a communication device having a SIP (Session Initiation Protocol) server function installed at the user's base, setting information including a contract telephone number registered in the communication device, authentication information for registering the information processing device as an extension terminal of the communication device, and an available extension number; a process of registering the information processing device as an extension terminal of the communication device based on SIP using the acquired setting information; a process of transferring a call to the contract telephone number, which is received by the information processing device registered as the extension terminal, to the cloud PBX using a communication connection between the information processing device and the cloud PBX on the Internet; Run The cloud PBX includes: receiving the call transferred from the information processing device and executing a preset call process; system.

Citation Information

Patent Citations

  • Authentication system and authentication method using SIP

    JP5211579B2

  • IVR system

    JP5277067B2

  • Gateway device and transfer method

    JP6689150B2

  • System for cloud-enabling a premise PBX

    US11973902B2

  • System and method for self-configuring sip-capable device

    US20080130844A1