[go: up one dir, main page]

KR20210078115A - Apparatus and method for forwarding message of private branch exchange system - Google Patents

Apparatus and method for forwarding message of private branch exchange system Download PDF

Info

Publication number
KR20210078115A
KR20210078115A KR1020190169861A KR20190169861A KR20210078115A KR 20210078115 A KR20210078115 A KR 20210078115A KR 1020190169861 A KR1020190169861 A KR 1020190169861A KR 20190169861 A KR20190169861 A KR 20190169861A KR 20210078115 A KR20210078115 A KR 20210078115A
Authority
KR
South Korea
Prior art keywords
node
message
http
interface unit
websocket
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
KR1020190169861A
Other languages
Korean (ko)
Other versions
KR102611301B1 (en
Inventor
황찬식
Original Assignee
에릭슨엘지엔터프라이즈 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에릭슨엘지엔터프라이즈 주식회사 filed Critical 에릭슨엘지엔터프라이즈 주식회사
Priority to KR1020190169861A priority Critical patent/KR102611301B1/en
Publication of KR20210078115A publication Critical patent/KR20210078115A/en
Application granted granted Critical
Publication of KR102611301B1 publication Critical patent/KR102611301B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

The present disclosure relates to a message transmission device and a method thereof, configured to allow an application device used in a single node configuration to be used without any change in a multi-node configuration by using an application programming interface (API) interface node. The message transmission device according to an embodiment of the present disclosure is configured to: receive a hyper text transfer protocol (HTTP) or a WebSocket message; convert the received HTTP or WebSocket message into a node internal message; determine which node to transmit the node internal message; transmit the node internal message to the determined node; receive a response message from the determined node; and determine whether to transmit a response message. According to the present invention, it is possible to form a flexible system with scalability.

Description

전화 교환 시스템의 메시지 전달 장치 및 방법{APPARATUS AND METHOD FOR FORWARDING MESSAGE OF PRIVATE BRANCH EXCHANGE SYSTEM}Apparatus and method of message passing in telephone switching system {APPARATUS AND METHOD FOR FORWARDING MESSAGE OF PRIVATE BRANCH EXCHANGE SYSTEM}

본 개시는 전화 교환 시스템에 관한 것으로, 특히 API(Application Programming Interface) 인터페이스 노드를 이용하여 단일 노드 구성에서 사용하던 어플리케이션 장비를 다중 노드 구성에서 변경없이 사용 가능하도록 한 메시지 전달 장치 및 방법에 관한 것이다.The present disclosure relates to a telephone switching system, and more particularly, to a message delivery apparatus and method using an API (Application Programming Interface) interface node to enable application equipment used in a single node configuration to be used without change in a multi-node configuration.

기존 PBX(Private Branch eXchange) 시스템은 경우에 따라서 단일 노드(Node) 또는 다중 노드로 구성되어 어플리케이션 서버(Application Server)와 노드 사이에 HTTP(Hyper Text Transfer Protocol) 및 웹소켓(Websocket)으로 통신을 수행한다.Existing PBX (Private Branch eXchange) system is composed of a single node or multiple nodes in some cases to communicate between the application server and the node using HTTP (Hyper Text Transfer Protocol) and Websocket. do.

일반적인 경우에는 작은 단일 노드 구성으로 사용하다가, 자원이 많아지면 다중 노드 환경으로 확장하는 경우가 많은데, 이때 어플리케이션 장비는 기존 구조로는 그대로 사용하지 못하고 다중 노드 구성에 맞도록 수정해야 하는 비용이 발생하거나 동일한 어플리케이션 장비로 서비스를 사용하지 못하는 문제점이 발생할 수 있다.In general, it is used in a small single-node configuration, and when there are many resources, it is often expanded to a multi-node environment. There may be a problem that the service cannot be used with the same application equipment.

본 개시는 전화 교환 시스템의 API(Application Programming Interface) 인터페이스 노드를 이용하여 단일 노드 구성에서 사용하던 어플리케이션 장비를 다중 노드 구성에서 변경없이 사용 가능하도록 한 메시지 전달 장치 및 방법을 제공한다.The present disclosure provides a message delivery apparatus and method that enable application equipment used in a single node configuration to be used without change in a multi-node configuration by using an API (Application Programming Interface) interface node of a telephone switching system.

본 개시의 실시예에 따른 전화 교환 시스템의 메시지 전달 장치는, HTTP(Hyper Text Transfer Protocol) 또는 웹소켓(WebSocket) 메시지의 인터페이스(interface) 기능을 수행하는 HTTP 인터페이스부; 상기 HTTP 인터페이스부와 연결되어 상기 HTTP 또는 웹소켓 메시지와 노드 내부 메시지 간의 변환을 수행하는 HTTP 시스템 인터페이스부; 및 상기 HTTP 시스템 인터페이스부와 연결되어 상기 노드 내부 메시지를 송신할 노드를 결정하고, 상기 노드로부터 수신된 응답 메시지를 상기 HTTP 시스템 인터페이스부로 송신할지 여부를 결정하는 API 인터페이스부를 포함할 수 있다.A message transfer apparatus of a telephone switching system according to an embodiment of the present disclosure includes an HTTP interface unit that performs an interface function of a Hyper Text Transfer Protocol (HTTP) or WebSocket message; an HTTP system interface unit connected to the HTTP interface unit to perform conversion between the HTTP or WebSocket message and the node internal message; and an API interface unit connected to the HTTP system interface unit to determine a node to transmit the node internal message and to determine whether to transmit a response message received from the node to the HTTP system interface unit.

일 실시예로서, 상기 HTTP 인터페이스부는, 어플리케이션 서버(Application Server)와 연결되고, 상기 API 인터페이스부는, 적어도 하나의 노드와 연결될 수 있다.As an embodiment, the HTTP interface unit may be connected to an application server, and the API interface unit may be connected to at least one node.

일 실시예로서, 상기 API 인터페이스부는, 적어도 하나의 노드의 정상 동작 여부 및 상기 적어도 하나의 노드의 클러스터 구성에 대한 정보를 저장하는 노드 결정부; 및 상기 적어도 하나의 노드로부터 수신된 이벤트를 저장하고, 수신된 이벤트를 어플리케이션 서버로 전송하는 이벤트 수집부를 포함할 수 있다.In an embodiment, the API interface unit may include: a node determining unit configured to store information on whether at least one node operates normally and a cluster configuration of the at least one node; and an event collection unit for storing the event received from the at least one node and transmitting the received event to the application server.

일 실시예로서, HTTP 시스템 인터페이스부는, HTTP보다 하위 레벨의 TCP(Transmission Control Protocol)를 이용하여 상기 노드 내부 메시지를 형성할 수 있다.As an embodiment, the HTTP system interface unit may form the node internal message using a lower level TCP (Transmission Control Protocol) than HTTP.

본 개시의 실시예에 따른 전화 교환 시스템의 메시지 전달 방법은, HTTP(Hyper Text Transfer Protocol) 또는 웹소켓(WebSocket) 메시지를 수신하는 단계; 수신된 HTTP 또는 웹소켓 메시지를 노드 내부 메시지로 변환하는 단계; 상기 노드 내부 메시지를 송신할 노드를 결정하는 단계; 결정된 노드로 상기 노드 내부 메시지를 송신하는 단계; 상기 결정된 노드로부터 응답 메시지를 수신하는 단계; 및 상기 응답 메시지의 송신 여부를 결정하는 단계를 포함할 수 있다.A message delivery method of a telephone switching system according to an embodiment of the present disclosure includes: receiving a Hyper Text Transfer Protocol (HTTP) or WebSocket (WebSocket) message; converting the received HTTP or WebSocket message into a node internal message; determining a node to which to transmit the intra-node message; transmitting the node internal message to the determined node; receiving a response message from the determined node; and determining whether to transmit the response message.

일 실시예로서, 상기 수신된 HTTP 또는 웹소켓 메시지를 노드 내부 메시지로 변환하는 단계는, HTTP보다 하위 레벨의 TCP(Transmission Control Protocol)를 이용하여 상기 노드 내부 메시지를 형성하는 단계를 포함할 수 있다.As an embodiment, converting the received HTTP or WebSocket message into a node internal message may include forming the node internal message using a lower level TCP (Transmission Control Protocol) than HTTP. .

일 실시예로서, 상기 노드 내부 메시지를 송신할 노드를 결정하는 단계는, 적어도 하나의 노드의 정상 동작 여부를 고려하여 송신 대상 노드가 비정상 동작 상태일 경우 동일한 클러스터에 포함된 다른 노드를 상기 노드 내부 메시지를 송신할 노드로 결정하는 단계를 포함할 수 있다.As an embodiment, the determining of the node to which the internal node message is to be transmitted may include, in consideration of whether at least one node is operating normally, another node included in the same cluster when the transmission target node is in an abnormal operating state. determining a node to send the message to.

일 실시예로서, 상기 응답 메시지를 HTTP 또는 웹소켓 메시지로 변환하는 단계; 및 변환된 HTTP 또는 웹소켓 메시지를 어플리케이션 서버(Application Server)로 전송하는 단계를 더 포함할 수 있다.In an embodiment, converting the response message into an HTTP or WebSocket message; and transmitting the converted HTTP or WebSocket message to an application server (Application Server).

본 개시에 의하면, 전화 교환 시스템의 어플리케이션 서버가 단일 노드 구성 또는 다중 노드 구성 여부에 관계없이 동일한 구성을 사용하여 시스템 서비스를 구성할 수 있으므로, 확장성을 가진 유연한 시스템을 형성할 수 있다.According to the present disclosure, since the application server of the telephone switching system can configure system services using the same configuration regardless of whether it is a single node configuration or a multi-node configuration, a flexible system with scalability can be formed.

도 1은 단일 노드로 구성된 PBX 시스템의 구성도이다.
도 2 및 도 3은 단일 노드로 구성된 PBX 시스템의 구성도이다.
도 4는 본 개시의 실시예에 따른 API(Application Programming Interface) 서비스 시스템의 단일 노드 구성을 보이는 예시도이다.
도 5는 본 개시의 실시예에 따른 API 서비스 시스템의 다중 노드 구성을 보이는 예시도이다.
도 6은 본 개시의 실시예에 따른 API 서비스 시스템의 다중 노드 구성을 보이는 예시도이다.
도 7은 본 개시의 실시예에 따른 API 인터페이스의 구성을 보이는 예시도이다.
1 is a block diagram of a PBX system composed of a single node.
2 and 3 are block diagrams of a PBX system composed of a single node.
4 is an exemplary diagram illustrating a single node configuration of an API (Application Programming Interface) service system according to an embodiment of the present disclosure.
5 is an exemplary diagram illustrating a multi-node configuration of an API service system according to an embodiment of the present disclosure.
6 is an exemplary diagram illustrating a multi-node configuration of an API service system according to an embodiment of the present disclosure.
7 is an exemplary diagram showing the configuration of an API interface according to an embodiment of the present disclosure.

본 개시의 실시예들은 본 개시의 기술적 사상을 설명하기 위한 목적으로 예시된 것이다. 본 개시에 따른 권리범위가 이하에 제시되는 실시예들이나 이들 실시예들에 대한 구체적 설명으로 한정되는 것은 아니다. Embodiments of the present disclosure are exemplified for the purpose of explaining the technical spirit of the present disclosure. The scope of the rights according to the present disclosure is not limited to the embodiments presented below or specific descriptions of these embodiments.

본 개시에 사용되는 모든 기술적 용어들 및 과학적 용어들은, 달리 정의되지 않는 한, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에게 일반적으로 이해되는 의미를 갖는다. 본 개시에 사용되는 모든 용어들은 본 개시를 더욱 명확히 설명하기 위한 목적으로 선택된 것이며 본 개시에 따른 권리범위를 제한하기 위해 선택된 것이 아니다.All technical and scientific terms used in this disclosure have the meanings commonly understood by one of ordinary skill in the art to which this disclosure belongs, unless otherwise defined. All terms used in the present disclosure are selected for the purpose of more clearly describing the present disclosure and not to limit the scope of the present disclosure.

본 개시에서 사용되는 "포함하는", "구비하는", "갖는" 등과 같은 표현은, 해당 표현이 포함되는 어구 또는 문장에서 달리 언급되지 않는 한, 다른 실시예를 포함할 가능성을 내포하는 개방형 용어(open-ended terms)로 이해되어야 한다.As used in this disclosure, expressions such as "comprising", "including", "having", etc. are open-ended terms connoting the possibility of including other embodiments, unless otherwise stated in the phrase or sentence in which the expression is included. (open-ended terms).

본 개시에서 기술된 단수형의 표현은 달리 언급하지 않는 한 복수형의 의미를 포함할 수 있으며, 이는 청구범위에 기재된 단수형의 표현에도 마찬가지로 적용된다.Expressions in the singular described in this disclosure may include plural meanings unless otherwise stated, and the same applies to expressions in the singular in the claims.

본 개시에서 사용되는 "제1", "제2" 등의 표현들은 복수의 구성요소들을 상호 구분하기 위해 사용되며, 해당 구성요소들의 순서 또는 중요도를 한정하는 것은 아니다. Expressions such as “first” and “second” used in the present disclosure are used to distinguish a plurality of components from each other, and do not limit the order or importance of the components.

본 개시에서 사용되는 용어 "부"는, 소프트웨어, 또는 FPGA(field-programmable gate array), ASIC(application specific integrated circuit)과 같은 하드웨어 구성요소를 의미한다. 그러나, "부"는 하드웨어 및 소프트웨어에 한정되는 것은 아니다. "부"는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서, "부"는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세서, 함수, 속성, 프로시저, 서브루틴, 프로그램 코드의 세그먼트, 드라이버, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조, 테이블, 어레이 및 변수를 포함한다. 구성요소와 "부" 내에서 제공되는 기능은 더 작은 수의 구성요소 및 "부"로 결합되거나 추가적인 구성요소와 "부"로 더 분리될 수 있다.The term “unit” used in the present disclosure refers to software or hardware components such as field-programmable gate arrays (FPGAs) and application specific integrated circuits (ASICs). However, "units" are not limited to hardware and software. A “unit” may be configured to reside on an addressable storage medium, or it may be configured to refresh one or more processors. Thus, by way of example, “part” includes components such as software components, object-oriented software components, class components, and task components, including processors, functions, attributes, procedures, subroutines, and so forth. It includes segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. Functions provided within components and “parts” may be combined into a smaller number of components and “parts” or further separated into additional components and “parts”.

본 개시에서 사용되는 "~에 기초하여"라는 표현은, 해당 표현이 포함되는 어구 또는 문장에서 기술되는, 결정, 판단의 행위 또는 동작에 영향을 주는 하나 이상의 인자를 기술하는데 사용되며, 이 표현은 결정, 판단의 행위 또는 동작에 영향을 주는 추가적인 인자를 배제하지 않는다. As used in this disclosure, the expression "based on" is used to describe one or more factors affecting the act or action of a decision, judgment, or action described in a phrase or sentence in which the expression is included, the expression being It does not exclude additional factors influencing the actions or actions of decisions, judgments or actions.

본 개시에서, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 경우, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결될 수 있거나 접속될 수 있는 것으로, 또는 새로운 다른 구성요소를 매개로 하여 연결될 수 있거나 접속될 수 있는 것으로 이해되어야 한다.In the present disclosure, when a component is referred to as being “connected” or “connected” to another component, the component can be directly connected or connectable to the other component, or a new component It should be understood that other components may be connected or may be connected via other components.

이하, 첨부한 도면들을 참조하여, 본 개시의 실시예들을 설명한다. 첨부된 도면에서, 동일하거나 대응하는 구성요소에는 동일한 참조부호가 부여되어 있다. 또한, 이하의 실시예들의 설명에 있어서, 동일하거나 대응하는 구성요소를 중복하여 기술하는 것이 생략될 수 있다. 그러나, 구성요소에 관한 기술이 생략되어도, 그러한 구성요소가 어떤 실시예에 포함되지 않는 것으로 의도되지는 않는다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the accompanying drawings, identical or corresponding components are assigned the same reference numerals. In addition, in the description of the embodiments below, overlapping description of the same or corresponding components may be omitted. However, even if description regarding components is omitted, it is not intended that such components are not included in any embodiment.

도 1은 단일 노드로 구성된 PBX 시스템의 구성도이다. 1 is a block diagram of a PBX system composed of a single node.

기존 PBX(Private Branch eXchange) 시스템에서 단일 노드(Node) 구성 시에는 도 1에 도시한 바와 같이 하나의 노드(20)에 어플리케이션(Application) 서버(10)가 연결되어 있고, 어플리케이션 서버(10)와 노드(20)에 연결된 시스템 사이에는 HTTP(Hyper Text Transfer Protocol)와 웹소켓(WebSocket)으로 통신한다. HTTP는 어플리케이션 서버(10)가 노드(20)에 연결된 시스템에게 동작을 요청하거나 정보를 요청할 때 사용되며 각 요청에 대하여 응답이 송신된다. HTTP 요청으로 시스템이 정해진 동작을 하는데, 이 동작 중간에 시스템에서 발생한 이벤트를 어플리케이션으로 알려 줄 수 있는 통로가 웹소켓을 통하여 연결되어 있다.When configuring a single node in the existing Private Branch eXchange (PBX) system, as shown in FIG. 1 , the application server 10 is connected to one node 20 , and the application server 10 and The system connected to the node 20 communicates with HTTP (Hyper Text Transfer Protocol) and WebSocket. HTTP is used when the application server 10 requests an operation or information request from a system connected to the node 20, and a response is transmitted for each request. The system performs a predetermined operation with an HTTP request, and a path that can notify the application of an event that occurred in the system in the middle of this operation is connected through the websocket.

도 2는 다중 노드로 구성된 PBX 시스템의 구성도이다. 2 is a block diagram of a PBX system composed of multiple nodes.

도 2에 도시한 바와 같이, 다중 노드 구성(2 Node)으로 용량 확장 시, 어플리케이션 서버(10)와 노드(20, 30, 40, 50) 간의 구성이 변경되어야 한다. 노드별로 보유한 자원(Resource)이 다르기 때문에, 시스템 노드의 기존 구조를 유지하면서 확장 시에는 어플리케이션 장비가 구조적으로 변경이 이루어져야 할 수 있다. HTTP 요청을 하는 경우에는 어플리케이션 서버(10)가 어느 노드에 자원이 존재하는지 미리 알아야하고, 해당 자원이 존재하는 노드로 접속할 수 있도록 노드 정보를 구성해 놓아야 한다. 이벤트를 수신할 경우 모든 노드(20, 30, 40, 50)에 접속하여 발생된 이벤트를 수신하여야 한다. 도 2는 하나의 어플리케이션 서버(10)와 다수의 노드(20, 30, 40, 50)를 연동할 경우를 예시하고 있으나, 어플리케이션 서버(10)의 개수가 늘어나면 연결 구성이 복잡해지고 각 노드는 어플리케이션 서버(10)의 인증 처리를 위한 동일한 설정이 동일하게 유지되어야 한다. 여기서 이벤트 수신 시에 사용되는 연결은 연결 지향성 프로토콜(protocol)이어서 어플리케이션 서버(10)에서 모든 노드(20, 30, 40, 50)에 한번 서비스를 시작하면 계속해서 연결된 상태로 유지되어야 한다.As shown in FIG. 2 , when the capacity is expanded to a multi-node configuration (2 nodes), the configuration between the application server 10 and the nodes 20, 30, 40, and 50 must be changed. Since the resources possessed by each node are different, the application equipment may have to be structurally changed when expanding while maintaining the existing structure of the system node. In the case of making an HTTP request, the application server 10 must know in advance which node the resource exists, and configure node information so that the node can connect to the node where the resource exists. When receiving an event, it is necessary to connect to all nodes 20, 30, 40, and 50 to receive the generated event. 2 illustrates a case in which one application server 10 and a plurality of nodes 20, 30, 40, and 50 are interlocked, but as the number of application servers 10 increases, the connection configuration becomes complicated, and each node The same settings for authentication processing of the application server 10 should be kept the same. Here, since the connection used for event reception is a connection-oriented protocol, once a service is started to all nodes 20, 30, 40, and 50 in the application server 10, the connection must be continuously maintained.

도 3은 다중 노드로 구성된 PBX 시스템의 구성도이다. 3 is a block diagram of a PBX system composed of multiple nodes.

도 2와 같은 PBX 시스템 구성의 문제점을 해결하기 위하여, 도 3에 도시한 바와 같이 오픈 소스(open source)인 HA 프록시(proxy)/역 웹 프록시(Reverse web proxy)(60)를 사용할 수 있다. 이러한 경우, HTTP 연결은 단순하게 구성될 수 있으나, 여전히 어플리케이션 서버(10)에서 원하는 자원이 어느 노드에 존재하는지 알아서 HTTP request에 포함 시켜서 HA proxy안 Reverse web proxy가 routing를 할 수 있도록 정보를 제공해야 하며, 웹소켓 연결은 도 2와 다르지 않게 어플리케이션 서버(10)에서 모든 노드에 연결을 유지하고 있어야 한다.In order to solve the problem of the PBX system configuration as shown in FIG. 2 , as shown in FIG. 3 , an open source HA proxy/reverse web proxy 60 may be used. In this case, the HTTP connection can be configured simply, but the application server 10 still needs to know which node the desired resource exists and include it in the HTTP request and provide information so that the reverse web proxy in the HA proxy can do routing. In the websocket connection, the connection to all nodes in the application server 10 should be maintained, not different from FIG. 2 .

도 4는 본 개시의 실시예에 따른 API(Application Programming Interface) 서비스 시스템의 단일 노드 구성을 보이는 예시도이다.4 is an exemplary diagram illustrating a single node configuration of an API (Application Programming Interface) service system according to an embodiment of the present disclosure.

도 4에 도시한 바와 같이, API 서비스 시스템(100)은, 어플리케이션 서버(110), HTTP(Hyper Text Transfer Protocol) 인터페이스부(120), HTTP 시스템 인터페이스부(130), 시스템 어플리케이션(140) 및 메시지 스위치(150)를 포함할 수 있다. 일 실시 예에 따르면, 노드(160) 내부의 메시지의 외부 통로는 단일 노드 구성에서는 사용되지 않고, 멀티 노드 구성 시에 사용될 수 있다.As shown in FIG. 4 , the API service system 100 includes an application server 110 , a Hyper Text Transfer Protocol (HTTP) interface unit 120 , an HTTP system interface unit 130 , a system application 140 , and a message. A switch 150 may be included. According to an embodiment, the external path of the message inside the node 160 is not used in a single node configuration, but may be used in a multi-node configuration.

HTTP 인터페이스부(120)는, HTTP 및 웹소켓(WebSocket) 메시지의 인터페이스 기능을 수행할 수 있다. 일 실시 예에 따르면, HTTP 인터페이스부(120)는, 정상적인 HTTP 요청(request)만을 HTTP 시스템 인터페이스부(130)로 전달하고, 비정상적인 HTTP 요청(request)은 HTTP 시스템 인터페이스부(130)로 전달하지 않을 수 있다. The HTTP interface unit 120 may perform an interface function of HTTP and WebSocket messages. According to an embodiment, the HTTP interface unit 120 transmits only a normal HTTP request to the HTTP system interface unit 130 , and an abnormal HTTP request is not transmitted to the HTTP system interface unit 130 . can

HTTP 시스템 인터페이스부(130)는, HTTP 인터페이스부(120)와 연결되어 HTTP 또는 웹소켓 메시지와 노드 내부 메시지 간의 변환을 수행할 수 있다. 즉, HTTP 시스템 인터페이스부(130)는, HTTP 요청을 시스템에서 처리가능하도록 시스템(노드, 160) 내부 메시지로 변환하고, 노드(160) 내부 메시지를 HTTP 메시지로 변환할 수 있다. 일 실시 예에 따르면, HTTP 요청을 노드(160) 내부 메시지로 변환할 경우 HTTP를 사용하지 않고, HTTP보다 하위 레벨(low level)의 TCP(Transmission Control Protocol)를 사용하여 노드(160)의 처리 부하(load)를 감소시킬 수 있다.The HTTP system interface unit 130 may be connected to the HTTP interface unit 120 to perform conversion between an HTTP or WebSocket message and a node internal message. That is, the HTTP system interface unit 130 may convert an HTTP request into a system (node, 160) internal message so that the system can process the HTTP request, and convert the node 160 internal message into an HTTP message. According to an embodiment, when converting an HTTP request to an internal message of the node 160 , the processing load of the node 160 is not used by using HTTP, but by using a lower level TCP (Transmission Control Protocol) than HTTP. (load) can be reduced.

시스템 어플리케이션(140)은, 노드(160)의 내부 메시지들을 처리하여 실제 서비스가 제공되도록 할 수 있다.The system application 140 may process internal messages of the node 160 to provide an actual service.

메시지 스위치(150)는, 노드(160)의 내부 메시지들을 노드(160) 내부 또는 외부로 전송하도록 전송 방향을 변환하는 역할을 수행할 수 있다.The message switch 150 may serve to change the transmission direction to transmit the internal messages of the node 160 to the inside or the outside of the node 160 .

도 4에 도시한 바와 같은, 단일 노드의 구성일 경우 서비스 흐름은 다음과 같다. 외부의 어플리케이션 서버(110)가 노드(160)에 서비스를 요청하기 위해서는 노드(160)에 인증 관련 정보를 미리 설정하고, HTTP를 이용하여 노드(160)에 접속을 시도할 수 있다. 노드(160)는, 접속을 시도하는 어플리케이션 서버(110)의 인증 정보를 확인하여 인증 정보가 확인되면 어플리케이션 서버(110)로 인증 관련 토큰(token)을 전송하고, 인증 정보가 확인되지 않으면 어플리케이션 서버(110)의 접속 시도에 대해서 접속을 허용하지 않을 수 있다. 어플리케이션 서버(110)는, 인증이 정상적으로 완료되면, 인증 완료 후 노드(160)로부터 수신한 토큰 정보를 이용하여 노드(160)에 웹소켓 연결을 시도할 수 있다.As shown in FIG. 4, in the case of a single node configuration, the service flow is as follows. In order for the external application server 110 to request a service from the node 160 , authentication related information may be set in advance in the node 160 , and an attempt may be made to access the node 160 using HTTP. The node 160 checks the authentication information of the application server 110 attempting to access, and when the authentication information is confirmed, transmits an authentication-related token to the application server 110, and if the authentication information is not confirmed, the application server Access may not be allowed for the access attempt of 110 . When the authentication is normally completed, the application server 110 may attempt a WebSocket connection to the node 160 using the token information received from the node 160 after the authentication is completed.

상기 인증 과정이 성공하면 어플리케이션 서버(110)는, 실제 기능을 수행할 수 있는 준비가 되어 HTTP API로 전화 걸기 등의 시스템 기능을 사용할 수 있다. 이 서비스 중간에 발생하는 각종 이벤트(Event)는, 웹소켓을 통하여 노드(160)에서 어플리케이션 서버(110)로 전달될 수 있다.If the authentication process is successful, the application server 110 is ready to perform an actual function and can use a system function such as making a call using the HTTP API. Various events occurring in the middle of this service may be transmitted from the node 160 to the application server 110 through the websocket.

도 5는 본 개시의 실시예에 따른 API 서비스 시스템의 다중 노드 구성을 보이는 예시도이다.5 is an exemplary diagram illustrating a multi-node configuration of an API service system according to an embodiment of the present disclosure.

도 5에 도시한 바와 같이, API 서비스 시스템(200)은, 제1 어플리케이션 서버(210), API 인터페이스 노드(220), 제2 어플리케이션 서버(230), 제1 노드(240), 제2 노드(250), 제3 노드(260)를 포함할 수 있다. API 인터페이스 노드(220)는, HTTP 인터페이스부(221), HTTP 시스템 인터페이스부(222) 및 API 인터페이스부(223)를 포함하고, 제1 노드(240)는, HTTP 인터페이스부(241), HTTP 시스템 인터페이스부(242), 시스템 어플리케이션(243) 및 메시지 스위치(244)를 포함할 수 있다.As shown in FIG. 5 , the API service system 200 includes a first application server 210 , an API interface node 220 , a second application server 230 , a first node 240 , a second node ( 250 ) and a third node 260 . The API interface node 220 includes an HTTP interface unit 221 , an HTTP system interface unit 222 , and an API interface unit 223 , and the first node 240 includes an HTTP interface unit 241 , an HTTP system. It may include an interface unit 242 , a system application 243 , and a message switch 244 .

도 4에서 도시한 단일 노드 구성에 비하여, 모든 외부 HTTP/웹소켓을 연결해주는 API 인터페이스 노드(220)가 추가될 수 있다. API 인터페이스 노드(220)는, 밖으로는 제1 어플리케이션 서버(210)와 연결되고, 내부로는 제1 노드(240), 제2 노드(250), 제3 노드(260)를 포함한 다수의 노드와 연결될 수 있다.Compared to the single node configuration shown in FIG. 4 , an API interface node 220 that connects all external HTTP/Websockets may be added. The API interface node 220 is connected to the first application server 210 outside, and a plurality of nodes including the first node 240 , the second node 250 , and the third node 260 inside. can be connected

제1 어플리케이션 서버(210)와 API 인터페이스 노드(220) 간에는, HTTP/웹소켓 프로토콜을 사용하고, API 인터페이스 노드(220)와 제1 노드(240), 제2 노드(250), 제3 노드(260) 간에는 HTTP/웹소켓에 해당하는 기능을 포함하는 TCP를 사용할 수 있다.Between the first application server 210 and the API interface node 220, the HTTP/WebSocket protocol is used, and the API interface node 220 and the first node 240, the second node 250, and the third node ( 260), TCP including functions corresponding to HTTP/WebSocket can be used.

일 실시예에 따르면, 제1 노드(240), 제2 노드(250), 제3 노드(260)는, 도 4에 도시한 노드(160)와 동일한 구성을 포함할 수 있다.According to an embodiment, the first node 240 , the second node 250 , and the third node 260 may include the same configuration as the node 160 illustrated in FIG. 4 .

API 인터페이스 노드(220)에서 HTTP 인터페이스부(221) 및 HTTP 시스템 인터페이스부(222)는, 도 4에서 도시한 HTTP 인터페이스부(120) 및 HTTP 시스템 인터페이스부(130)와 동일한 기능을 수행할 수 있다.In the API interface node 220 , the HTTP interface unit 221 and the HTTP system interface unit 222 may perform the same functions as the HTTP interface unit 120 and the HTTP system interface unit 130 illustrated in FIG. 4 . .

HTTP 시스템 인터페이스부(222)에서 HTTP 메시지가 노드 내부 메시지로 변환되는데, API 인터페이스부(223)는, 내부 HTTP 요청(Request)을 수신하여 노드 내부 메시지를 분석하고, 노드 내부 메시지를 어느 노드로 송신하고 응답을 수신하여 전달할 것인가를 결정할 수 있다. HTTP 시스템 인터페이스부(222)의 내부 구성에 대해서는 후술하도록 한다.The HTTP system interface unit 222 converts the HTTP message into a node internal message. The API interface unit 223 receives an internal HTTP request, analyzes the node internal message, and transmits the node internal message to a certain node. and receive the response and decide whether to forward it or not. The internal configuration of the HTTP system interface unit 222 will be described later.

도 6은 본 개시의 실시예에 따른 API 서비스 시스템의 다중 노드 구성을 보이는 예시도이다.6 is an exemplary diagram illustrating a multi-node configuration of an API service system according to an embodiment of the present disclosure.

도 6에 도시한 바와 같이, 고 가용성 서비스 제공을 위하여 소정 개수(예를 들어, 2개)의 노드를 묶어서 클러스터(cluster)로 구성해 놓고, 클러스터에 속한 노드(240, 250)들은 해당 노드가 서비스를 수행하지 않더라도 다른 노드의 정보를 동일하게 저장하도록 할 수 있다. 예를 들어, 제1 노드(240)와 제2 노드(250)는 동일한 정보를 저장하고, 각각의 서비스를 수행하도록 구성할 수 있다. 만약 제1 노드(240)가 서비스 수행 중 정상 처리가 불가능한 상태가 발생할 경우 제1 노드(240)에서 수행하던 서비스를 제2 노드(250)가 수행하도록 처리하도록 구성할 수 있다.6, in order to provide a high availability service, a predetermined number (eg, two) of nodes is bundled to form a cluster, and the nodes 240 and 250 belonging to the cluster are Even if the service is not performed, the information of other nodes can be stored in the same way. For example, the first node 240 and the second node 250 may be configured to store the same information and perform respective services. If a state in which normal processing is impossible occurs while the first node 240 is performing a service, it may be configured such that the second node 250 performs the service performed by the first node 240 .

도 7은 본 개시의 실시예에 따른 API 인터페이스부의 구성을 보이는 예시도이다.7 is an exemplary diagram illustrating the configuration of an API interface unit according to an embodiment of the present disclosure.

도 7에 도시한 바와 같이, API 인터페이스부(223)는, 노드 결정부(223-1) 및 이벤트 수집부(223-2)를 포함할 수 있다.As shown in FIG. 7 , the API interface unit 223 may include a node determination unit 223 - 1 and an event collection unit 223 - 2 .

API 인터페이스 노드(220)는, 지속적으로 노드들의 정상 동작 여부를 관찰하고 기록하는데, 노드 결정부(223-1)에서 서비스 노드를 결정할 때 노드들의 정상 동작 여부가 기록된 테이블에서 HTTP 요청이 전달되어야 하는 노드가 비정상 동작 상태이면 동일한 클러스터에 있는 다른 노드에게 메시지를 전달하도록 결정할 수 있다. 즉, API 인터페이스부(223)는, 서비스 노드를 결정할 때 제1 노드(240)가 비정상 동작 상태로 판단된 경우, 동일한 클러스터에 존재하는 제2 노드(250)로 HTTP 요청(메시지)을 전달할 수 있다. 또한, 이 메시지를 전달할 때, 인증정보를 확인하여 인증된 메시지만 제2 노드(250)에 전달되어 처리할 수 있도록 하며, 제2 노드(250)에서는 추가 인증이 필요 없도록 구성할 수 있다.The API interface node 220 continuously observes and records whether the nodes are operating normally. When the node determining unit 223-1 determines the service node, the HTTP request must be transmitted from the table in which the nodes are normally operating or not. If a node is in an abnormal state, it can decide to forward a message to another node in the same cluster. That is, when the API interface unit 223 determines the service node, when the first node 240 is determined to be in an abnormal operating state, the API interface unit 223 may transmit an HTTP request (message) to the second node 250 existing in the same cluster. have. In addition, when this message is delivered, authentication information is checked so that only the authenticated message is delivered to the second node 250 for processing, and the second node 250 can be configured so that additional authentication is not required.

이벤트 수집부(223-2)는, 모든 노드에서 수신되는 이벤트를 저장하고, 제1 어플리케이션 서버(210)로 수신된 이벤트를 전달해주는 기능을 수행할 수 있다. 이벤트는, 노드(240, 250)에서 제1 어플리케이션 서버(210)로 전송되는 메시지이고, 이벤트 수집부(223-2)가 없을 경우 제1 어플리케이션 서버(210)는 모든 노드에 웹소켓 연결을 유지해야 한다.The event collection unit 223 - 2 may store events received from all nodes and deliver the received events to the first application server 210 . The event is a message transmitted from the nodes 240 and 250 to the first application server 210, and if the event collection unit 223-2 is not present, the first application server 210 maintains a WebSocket connection to all nodes. Should be.

다중 노드 구성에서 각 노드의 동작은 기능적으로는 단일 노드 구성일 때와 동일하다. 다만, 메시지 스위치가 추가 설치될 수 있다. 메시지 스위치를 노드와 연결된 어플리케이션 서버로 연결할 경우, 해당 노드는 API 인터페이스 노드와의 연결은 관계없어지고, 단일 노드 구성으로 동작할 수 있다. 한편, 메시지 스위치를 API 인터페이스 노드로 연결할 경우, 모든 요청 및 이벤트는 API 인터페이스 노드에서 송수신할 수 있다. 일 실시예에 따르면, 모든 요청 및 이벤트 송수신에 사용되는 메시지는 TCP 메시지를 포함할 수 있지만, 이에 한정되지 않는다.In a multi-node configuration, the operation of each node is functionally the same as in a single-node configuration. However, a message switch may be additionally installed. When a message switch is connected to an application server connected to a node, the node is independent of the connection to the API interface node and can operate in a single node configuration. On the other hand, when the message switch is connected to the API interface node, all requests and events can be transmitted/received from the API interface node. According to an embodiment, a message used for all request and event transmission/reception may include, but is not limited to, a TCP message.

다중 노드 구성에서 본 개시를 통하여 달성하고자 하는 메시지 플로우는 다음과 같다. 다중 노드 구성 후, 제1 어플리케이션 서버(210)에서 HTTP 요청을 API 인터페이스 노드(220)로 송신하면 API 인터페이스 노드(220)에 포함된 HTTP 인터페이스부(221)가 정상적인 HTTP 요청만을 HTTP 시스템 인터페이스부(222)에 전달할 수 있다. HTTP 시스템 인터페이스부(222)는 HTTP/웹소켓 요청을 시스템 내부 TCP 메시지로 변환하여 API 인터페이스부(223)에 전달한다. HTTP 시스템 인터페이스부(222)는, 시스템 메시지를 HTTP 웹소켓 메시지로 변환하는 기능도 수행할 수 있다. 한편, API 인터페이스부(223)는, 전달받은 HTTP 요청을 분석하여 고가용성 기능을 포함하여 어느 노드로 전송해야 할 메시지인지 판단하고, 해당 요청 메시지를 전송하고자 하는 노드(예를 들어, 240)의 외부 TCP 메시지 인터페이스를 통하여 전달할 수 있다. 이때, 시스템은 외부 TCP 메시지를 사용할 수 있도록 메시지 스위치(244)를 설정해 놓아야 한다. 시스템은 전달받은 메시지를 분석하여 요청을 수신한 TCP 포트로 응답을 전송할 수 있다. 이 응답 메시지는 API 인터페이스 노드(220)로 전송되어 API 인터페이스부(223)의 노드 결정부(223-1)가 응답을 전송하면 HTTP 시스템 인터페이스부(222), HTTP 인터페이스부(221)를 통하여 외부의 제1 어플리케이션 서버(210)로 전달되어 다중 노드 구성에서의 Request/Response가 완성될 수 있다. Event 통로는 제1 어플리케이션 서버(210)에서 API 인터페이스 노드(220)로 연결을 요청하고, 정상 연결되면 웹소켓 연결(connection) 1개로 API 인터페이스 노드(220)로 연결되며, API 인터페이스부(223)에 포함된 이벤트 수집부(223-2)가 모든 이벤트 메시지를 모아서 제1 어플리케이션 서버(210)로 전달할 수 있다.A message flow to be achieved through the present disclosure in a multi-node configuration is as follows. After the multi-node configuration, when the first application server 210 transmits an HTTP request to the API interface node 220, the HTTP interface unit 221 included in the API interface node 220 only sends a normal HTTP request to the HTTP system interface unit ( 222) can be forwarded. The HTTP system interface unit 222 converts the HTTP/WebSocket request into a system internal TCP message and transmits it to the API interface unit 223 . The HTTP system interface unit 222 may also perform a function of converting a system message into an HTTP WebSocket message. On the other hand, the API interface unit 223 analyzes the received HTTP request to determine which node the message is to be transmitted including the high availability function, and the node (eg, 240) to which the request message is transmitted. It can be delivered through an external TCP message interface. At this time, the system should set the message switch 244 to use an external TCP message. The system can analyze the received message and send a response to the TCP port that received the request. This response message is transmitted to the API interface node 220, and when the node determining unit 223-1 of the API interface unit 223 transmits a response, the response message is transmitted externally through the HTTP system interface unit 222 and the HTTP interface unit 221. The request/response in a multi-node configuration may be completed by being transferred to the first application server 210 of The event path requests a connection from the first application server 210 to the API interface node 220, and when it is normally connected, it is connected to the API interface node 220 through one websocket connection, and the API interface unit 223. The event collection unit 223 - 2 included in may collect all event messages and deliver them to the first application server 210 .

상기와 같은 구성으로 인해서, 제1 어플리케이션 서버(210)는 단일 노드 구성 또는 다중 노드 구성 여부와 관계없이 동일한 동작을 수행할 수 있다. 즉, 제1 어플리케이션 서버(210)는 단일 노드 구성 또는 다중 노드 구성 여부에 관계없이 동일한 연결을 사용하여 시스템 서비스를 제공할 수 있음으로 확장성을 가진 유연할 시스템 구조를 포함할 수 있다.Due to the above configuration, the first application server 210 can perform the same operation regardless of whether the configuration is a single node or a multi-node configuration. That is, the first application server 210 may include a flexible system structure with scalability because it can provide system services using the same connection regardless of whether it is a single node configuration or a multi-node configuration.

상기 방법은 특정 실시예들을 통하여 설명되었지만, 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 실시예들을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 개시가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.Although the method has been described through specific embodiments, the method can also be implemented as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage device. In addition, the computer-readable recording medium is distributed in a computer system connected through a network, so that the computer-readable code can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the above embodiments can be easily inferred by programmers in the art to which the present disclosure pertains.

이상 일부 실시예들과 첨부된 도면에 도시된 예에 의해 본 개시의 기술적 사상이 설명되었지만, 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 이해할 수 있는 본 개시의 기술적 사상 및 범위를 벗어나지 않는 범위에서 다양한 치환, 변형 및 변경이 이루어질 수 있다는 점을 알아야 할 것이다. 또한, 그러한 치환, 변형 및 변경은 첨부된 청구범위 내에 속하는 것으로 생각되어야 한다.Although the technical spirit of the present disclosure has been described by the examples shown in some embodiments and the accompanying drawings, it does not depart from the technical spirit and scope of the present disclosure that can be understood by those of ordinary skill in the art to which the present disclosure belongs. It should be understood that various substitutions, modifications, and alterations within the scope may be made. Further, such substitutions, modifications and variations are intended to fall within the scope of the appended claims.

10: 어플리케이션 서버 20,30,40,50: 노드
100,200: API 서비스 시스템 110: 어플리케이션 서버
120,221: HTTP 인터페이스부 130,222: HTTP 시스템 인터페이스부
140: 시스템 어플리케이션 150: 메시지 스위치
160: 노드 210: 제1 어플리케이션 서버
220: API 인터페이스 노드 230: 제2 어플리케이션 서버
240: 제1 노드 250: 제2 노드
260: 제3 노드 223: API 인터페이스부
223-1: 노드 결정부 223-2: 이벤트 수집부
10: application server 20,30,40,50: node
100,200: API service system 110: application server
120,221: HTTP interface unit 130,222: HTTP system interface unit
140: system application 150: message switch
160: node 210: first application server
220: API interface node 230: second application server
240: first node 250: second node
260: third node 223: API interface unit
223-1: node determination unit 223-2: event collection unit

Claims (8)

전화 교환 시스템의 메시지 전달 장치로서,
HTTP(Hyper Text Transfer Protocol) 또는 웹소켓(WebSocket) 메시지의 인터페이스(Interface) 기능을 수행하는 HTTP 인터페이스부;
상기 HTTP 인터페이스부와 연결되어 상기 HTTP 또는 웹소켓 메시지와 노드 내부 메시지 간의 변환을 수행하는 HTTP 시스템 인터페이스부; 및
상기 HTTP 시스템 인터페이스부와 연결되어 상기 노드 내부 메시지를 송신할 노드를 결정하고, 상기 노드로부터 수신된 응답 메시지를 상기 HTTP 시스템 인터페이스부로 송신할지 여부를 결정하는 API 인터페이스부를 포함하는,
전화 교환 시스템의 메시지 전달 장치.
A message passing device in a telephone switching system, comprising:
HTTP interface unit performing an interface function of HTTP (Hyper Text Transfer Protocol) or WebSocket (WebSocket) message;
an HTTP system interface unit connected to the HTTP interface unit to perform conversion between the HTTP or WebSocket message and the node internal message; and
An API interface unit connected to the HTTP system interface unit to determine whether a node to transmit the node internal message is transmitted, and whether to transmit a response message received from the node to the HTTP system interface unit,
A message passing device in a telephone switching system.
제1항에 있어서,
상기 HTTP 인터페이스부는, 어플리케이션 서버(Application Server)와 연결되고,
상기 API 인터페이스부는, 적어도 하나의 노드와 연결되는,
전화 교환 시스템의 메시지 전달 장치.
According to claim 1,
The HTTP interface unit is connected to an application server (Application Server),
The API interface unit is connected to at least one node,
A message passing device in a telephone switching system.
제1항에 있어서,
상기 API 인터페이스부는,
적어도 하나의 노드의 정상 동작 여부 및 상기 적어도 하나의 노드의 클러스터 구성에 대한 정보를 저장하는 노드 결정부; 및
상기 적어도 하나의 노드로부터 수신된 이벤트를 저장하고, 수신된 이벤트를 어플리케이션 서버로 전송하는 이벤트 수집부를 포함하는,
전화 교환 시스템의 메시지 전달 장치.
According to claim 1,
The API interface unit,
a node determining unit configured to store information on whether at least one node is operating normally and a cluster configuration of the at least one node; and
Storing the event received from the at least one node, and comprising an event collection unit for transmitting the received event to the application server,
A message passing device in a telephone switching system.
제1항에 있어서,
상기 HTTP 시스템 인터페이스부는,
HTTP보다 하위 레벨의 TCP(Transmission Control Protocol)를 이용하여 상기 노드 내부 메시지를 형성하는,
전화 교환 시스템의 메시지 전달 장치.
According to claim 1,
The HTTP system interface unit,
Forming the message inside the node using a lower level TCP (Transmission Control Protocol) than HTTP,
A message passing device in a telephone switching system.
전화 교환 시스템의 메시지 전달 방법으로서,
HTTP(Hyper Text Transfer Protocol) 또는 웹소켓(WebSocket) 메시지를 수신하는 단계;
수신된 HTTP 또는 웹소켓 메시지를 노드 내부 메시지로 변환하는 단계;
상기 노드 내부 메시지를 송신할 노드를 결정하는 단계;
결정된 노드로 상기 노드 내부 메시지를 송신하는 단계;
상기 결정된 노드로부터 응답 메시지를 수신하는 단계; 및
상기 응답 메시지의 송신 여부를 결정하는 단계를 포함하는,
전화 교환 시스템의 메시지 전달 방법,
A method for delivering a message in a telephone switching system, comprising:
Receiving a Hyper Text Transfer Protocol (HTTP) or WebSocket (WebSocket) message;
converting the received HTTP or WebSocket message into a node internal message;
determining a node to which to transmit the intra-node message;
transmitting the node internal message to the determined node;
receiving a response message from the determined node; and
Comprising the step of determining whether to transmit the response message,
a method of passing messages in a telephone exchange system;
제5항에 있어서,
상기 수신된 HTTP 또는 웹소켓 메시지를 노드 내부 메시지로 변환하는 단계는,
HTTP보다 하위 레벨의 TCP(Transmission Control Protocol)를 이용하여 상기 노드 내부 메시지를 형성하는 단계를 포함하는,
전화 교환 시스템의 메시지 전달 방법.
6. The method of claim 5,
The step of converting the received HTTP or WebSocket message into a node internal message comprises:
Using a lower level TCP (Transmission Control Protocol) than HTTP, comprising the step of forming the message inside the node,
A method of message delivery in a telephone exchange system.
제5항에 있어서,
상기 노드 내부 메시지를 송신할 노드를 결정하는 단계는,
적어도 하나의 노드의 정상 동작 여부를 고려하여 송신 대상 노드가 비정상 동작 상태일 경우 동일한 클러스터에 포함된 다른 노드를 상기 노드 내부 메시지를 송신할 노드로 결정하는 단계를 포함하는,
전화 교환 시스템의 메시지 전달 방법.
6. The method of claim 5,
The step of determining the node to which the node internal message is to be transmitted comprises:
In consideration of whether at least one node operates normally, determining another node included in the same cluster as a node to transmit the internal message to when the transmission target node is in an abnormal operating state,
A method of message delivery in a telephone exchange system.
제5항에 있어서,
상기 응답 메시지를 HTTP 또는 웹소켓 메시지로 변환하는 단계; 및
변환된 HTTP 또는 웹소켓 메시지를 어플리케이션 서버(Application Server)로 전송하는 단계를 더 포함하는,
전화 교환 시스템의 메시지 전달 방법.
6. The method of claim 5,
converting the response message into an HTTP or WebSocket message; and
Further comprising the step of transmitting the converted HTTP or WebSocket message to an application server (Application Server),
A method of message delivery in a telephone exchange system.
KR1020190169861A 2019-12-18 2019-12-18 Apparatus and method for forwarding message of private branch exchange system Active KR102611301B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190169861A KR102611301B1 (en) 2019-12-18 2019-12-18 Apparatus and method for forwarding message of private branch exchange system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190169861A KR102611301B1 (en) 2019-12-18 2019-12-18 Apparatus and method for forwarding message of private branch exchange system

Publications (2)

Publication Number Publication Date
KR20210078115A true KR20210078115A (en) 2021-06-28
KR102611301B1 KR102611301B1 (en) 2023-12-08

Family

ID=76607815

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190169861A Active KR102611301B1 (en) 2019-12-18 2019-12-18 Apparatus and method for forwarding message of private branch exchange system

Country Status (1)

Country Link
KR (1) KR102611301B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938475A (en) * 2021-12-16 2022-01-14 深圳市大头兄弟科技有限公司 Data transmission method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013097746A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Client-side web service interface, software developing kit including the same, and software developing method using developing kit
KR20130061725A (en) * 2010-08-10 2013-06-11 구글 인코포레이티드 Exposing resource capabilities to web applications
KR20170003578A (en) * 2014-05-16 2017-01-09 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Code service for language-independent dispatch
KR20170087941A (en) * 2014-11-26 2017-07-31 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Controlling a pbx phone call via a client application

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130061725A (en) * 2010-08-10 2013-06-11 구글 인코포레이티드 Exposing resource capabilities to web applications
JP2013097746A (en) * 2011-11-05 2013-05-20 Kyocera Document Solutions Inc Client-side web service interface, software developing kit including the same, and software developing method using developing kit
KR20170003578A (en) * 2014-05-16 2017-01-09 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Code service for language-independent dispatch
KR20170087941A (en) * 2014-11-26 2017-07-31 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Controlling a pbx phone call via a client application

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113938475A (en) * 2021-12-16 2022-01-14 深圳市大头兄弟科技有限公司 Data transmission method
CN113938475B (en) * 2021-12-16 2022-03-29 深圳市大头兄弟科技有限公司 Data transmission method

Also Published As

Publication number Publication date
KR102611301B1 (en) 2023-12-08

Similar Documents

Publication Publication Date Title
US11689606B2 (en) Communication method, system and apparatus
US8639848B2 (en) Data communication efficiency
US6389550B1 (en) High availability protocol computing and method
US20060179150A1 (en) Client server model
JP5458688B2 (en) Uniqueness guarantee support program, service providing system, and uniqueness guarantee realization method
US7739391B2 (en) Gateway for wireless mobile clients
US10530669B2 (en) Network service aware routers, and applications thereof
EP1987657A1 (en) Scalable wireless messaging system
US9560135B2 (en) Technique for communication between networks for distributing digital contents
US20060031395A1 (en) Method and system for managing programs for web service system
CN106970843B (en) Remote calling method and device
JP2006285377A (en) Fault monitoring program and load balancer
KR20210078115A (en) Apparatus and method for forwarding message of private branch exchange system
MXPA02006896A (en) Method and apparatus for providing reliable communications in an intelligent network.
JP6117345B2 (en) Message system that avoids degradation of processing performance
CN115102854B (en) Remote procedure call route management control method, system and equipment for micro-service
JP5017391B2 (en) Subscriber accommodation changing method, migration destination session control server device and management server
US7870263B2 (en) Carrier interoperability for critical services
KR20220053383A (en) Interworking support device and interworking support method for nf service
KR100450605B1 (en) A web application sever and method for providing dynamic contents thereof
US20250112857A1 (en) Methods for optimizing routing of a message and devices thereof
KR20140040948A (en) System and method for dynamic message routing
CN118055393A (en) Service processing method and device
KR19980071085A (en) LAN including distributed switching software
JPH1131135A (en) Client server network system

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20191218

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20220901

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20191218

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230821

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20231129

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20231204

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20231205

End annual number: 3

Start annual number: 1

PG1601 Publication of registration