KR20050097123A - System for managing telephone communication - Google Patents

System for managing telephone communication Download PDF

Info

Publication number
KR20050097123A
KR20050097123A KR1020040022174A KR20040022174A KR20050097123A KR 20050097123 A KR20050097123 A KR 20050097123A KR 1020040022174 A KR1020040022174 A KR 1020040022174A KR 20040022174 A KR20040022174 A KR 20040022174A KR 20050097123 A KR20050097123 A KR 20050097123A
Authority
KR
South Korea
Prior art keywords
server
client
data
recording
call
Prior art date
Application number
KR1020040022174A
Other languages
Korean (ko)
Other versions
KR101047861B1 (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 KR1020040022174A priority Critical patent/KR101047861B1/en
Publication of KR20050097123A publication Critical patent/KR20050097123A/en
Application granted granted Critical
Publication of KR101047861B1 publication Critical patent/KR101047861B1/en

Links

Classifications

    • G06Q50/50
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group

Abstract

본 발명은 전화통화 관리 서비스를 ASP 형태로 제공할 수 있는 서버 시스템과, 전화통화 관리 서비스에 이용될 수 있는 어댑터 모듈 및 클라이언트 시스템에 관한 것으로, 전화통화 관리 서버 시스템은 여러 클라이언트의 요청에 대한 게이트웨이 역할을 하는 레코딩 서버로서, 클라이언트의 로그인 처리, 클라이언트 녹음시간 동기화를 위한 서버 시간 요청 및 전달, 녹음된 데이터 수신, 수신한 데이터의 데이터베이스 전송, 수신한 데이터의 데이터베이스 추가 및 갱신의 기능을 하는 레코딩 서버와, 상기 클라이언트에게 웹 환경을 제공하며 녹음내용 검색, 삭제, 녹음 내용 청취, 녹음된 내용의 배업 기능을 제공하는 웹 애플리케이션 서버와, 데이터의 보간, 재생, 삭제, 백업을 지원하는 아카이브 서버를 포함한다. 클라이언트 컴퓨터는 하드웨어와 소프트웨어로 구성되는데, 하드웨어는 일반 컴퓨터 시스템의 하드웨어를 포함하며, 소프트웨어는 전화통화 관리 프로그램, 통화 검색 프로그램, 사용자 인터페이스 프로그램, 어댑터 모듈 제어 프로그램을 포함한다.The present invention relates to a server system capable of providing a telephone call management service in the form of an ASP, and an adapter module and a client system that can be used for the telephone call management service. The telephone call management server system is a gateway for requests from various clients. A recording server that acts as a recording server that performs client login processing, requests and forwards server time for synchronizing client recording time, receives recorded data, sends a database of received data, and adds and updates a database of received data. And a web application server providing a web environment to the client and providing a function of searching, deleting, listening to the recording, and archiving the recorded content, and an archive server that supports interpolation, playback, deletion, and backup of data. do. The client computer is composed of hardware and software, which includes hardware of a general computer system, and the software includes a telephone call management program, a call retrieval program, a user interface program, and an adapter module control program.

Description

전화통화 관리 시스템 {System for managing telephone communication}System for managing telephone communication

본 발명은 전화통화 관리 시스템에 관한 것으로서, 전화통화 관리 서비스를 ASP 형태로 제공할 수 있는 서버 시스템과, 전화통화 관리 서비스에 이용될 수 있는 어댑터 모듈 및 클라이언트 시스템에 관한 것이다.The present invention relates to a telephone call management system, and to a server system capable of providing a telephone call management service in an ASP form, and an adapter module and a client system that can be used for the telephone call management service.

전화는 대표적인 통신 수단의 하나로 전화를 통해 이루어지는 통신을 효율적으로 제어하고 이를 관리하는 것은 개인 사용자에게나 기업에게 매우 중요하다. 그러나 전화통화를 관리하기 위한 콜 센터를 개인이나 기업이 설치하여 스스로 운영하기에는 시스템 구축에 필요한 기술적인 어려움이나 비용 부담 등으로 쉬운 일이 아니다. 따라서 전화통화를 체계적으로 관리하고 이를 이용할 수 있는 시스템의 개발이 요구된다.Telephone is one of the representative means of communication, and it is very important for individual users and enterprises to effectively control and manage the communication through the telephone. However, it is not easy for individuals or companies to set up a call center to manage telephone calls and operate them on their own due to technical difficulties or cost burden. Therefore, it is required to develop a system that can systematically manage and use telephone calls.

본 발명의 목적은 전화통화를 체계적으로 관리할 수 있는 시스템을 제공하는 것이다.An object of the present invention is to provide a system that can systematically manage telephone calls.

본 발명의 다른 목적은 전화통화내역 및 사용자에 대한 체계적인 관리와 전화 수발신 업무의 자동화로 업무효율성을 높이는 것이다.Another object of the present invention is to increase work efficiency by systematic management of telephone call history and users and automation of telephone call receiving and receiving tasks.

본 발명의 또 다른 목적은 전화통화 관리를 ASP 형태로 구현함으로써 초기 투자비용 및 유지비용을 절감하기 위한 것이다.Another object of the present invention is to reduce the initial investment and maintenance costs by implementing the telephone call management in the ASP form.

본 발명의 전화통화 관리 시스템은 서버 시스템과 클라이언트 컴퓨터 및 어댑터 모듈을 포함한다. 서버 시스템은 클라이언트 컴퓨터와 통신망을 통해 연결되어 있으며, 여러 클라이언트의 요청에 대한 게이트웨이 역할을 하는 레코딩 서버로서, 클라이언트의 로그인 처리, 클라이언트 녹음시간 동기화를 위한 서버 시간 요청 및 전달, 녹음된 데이터 수신, 수신한 데이터의 데이터베이스 전송, 수신한 데이터의 데이터베이스 추가 및 갱신의 기능을 하는 레코딩 서버와, 상기 클라이언트에게 웹 환경을 제공하며 녹음내용 검색, 삭제, 녹음 내용 청취, 녹음된 내용의 배업 기능을 제공하는 웹 애플리케이션 서버와, 데이터의 보간, 재생, 삭제, 백업을 지원하는 아카이브 서버를 포함한다.The telephone call management system of the present invention includes a server system, a client computer, and an adapter module. The server system is a recording server connected to the client computer through the communication network and serves as a gateway to requests from multiple clients. The server system processes client login, requests and forwards server time for synchronizing client recording time, and receives and receives recorded data. A recording server that functions to transfer a database of data, to add and update a database of received data, and to provide a web environment to the client, and to provide a recording function for searching, deleting, listening to recordings, and locating recorded contents. It includes an application server and an archive server that supports interpolation, playback, deletion, and backup of data.

클라이언트 컴퓨터는 하드웨어와 소프트웨어로 구성되는데, 하드웨어는 일반 컴퓨터 시스템의 하드웨어를 포함하며, 소프트웨어는 전화통화 관리 프로그램, 통화 검색 프로그램, 사용자 인터페이스 프로그램, 어댑터 모듈 제어 프로그램을 포함한다.The client computer is composed of hardware and software, which includes hardware of a general computer system, and the software includes a telephone call management program, a call retrieval program, a user interface program, and an adapter module control program.

이하 도면을 참조로 본 발명의 구현예에 대해 설명한다. Embodiments of the present invention will be described below with reference to the drawings.

서비스 전체 구조Service overall structure

본 발명에 따른 전화통화 관리 서비스는 개별 사용자 형태로 PC에서 제공되는 고객관리기능 및 전화녹음기능을 결합한 개인형 콜센터 서비스로 사용자는 별도의 녹음시스템 도입없이 서비스제공자의 네트워크 및 시스템 인프라를 사용하여 서비스를 이용할 수 있다. 또한 본 발명의 서비스는 통화내역관리(수신전화 내역관리, 발신전화내역관리, 부재중 전화 내역관리, 통화중 메모), 고객정보관리(고객정보 자동팝업, 고객정보 업데이트/관리), 녹음관리(통화내역 선택녹음, 통화내역 전체녹음, 개인 PC내 녹음파일 검색/청취, 웹상 녹음파일 검색/청취, 녹음정보 확인/수정), 아웃바운드(자동 다이얼링, 수동 다일얼링, 소프트폰 이용 다이얼링), 통계 및 보고서(사용자별 통계/보고서, 일별/월별 통계보고서, 시간별 통계 보고서), 사용자 관리(사용자별 등급/권한 부여, 사용자 상태 검색, 상담원 평가) 등의 기능을 제공한다.The telephone call management service according to the present invention is a personal call center service that combines the customer management function and the telephone recording function provided by the PC in the form of an individual user, and the user uses the service provider's network and system infrastructure without introducing a separate recording system. Can be used. In addition, the service of the present invention call history management (incoming call history management, outgoing call history management, missed call history management, call memo), customer information management (automatic customer information pop-up, customer information update / management), recording management (call Record selection, record all call history, search / listen to recorded file on personal PC, search / listen to recorded file on web, check / edit recorded information, outbound (automatic dialing, manual dialing, softphone dialing), statistics and It provides functions such as report (statistics / report by user, daily / monthly statistical report, hourly statistical report), user management (grade / authorization by user, user status search, and agent evaluation).

도 1은 본 발명의 통화 관리 서비스가 적용되는 네트워크의 전체 구조를 나타내는 블록도이다.1 is a block diagram showing the overall structure of a network to which the call management service of the present invention is applied.

도 1에서 보는 것처럼 본 발명의 통화관리 서버 시스템(100)은 컴퓨터 통신망 예컨대 인터넷(80)을 통해 클라이언트 컴퓨터(50)와 연결되어 있다. 클라이언트 컴퓨터(50)는 어댑터 모듈(70)과 USB 케이블(75)로 연결된다. 어댑터 모듈(70)은 클라이언트 컴퓨터(50)와 클라이언트 전화기(52)를 케이블(55)로 연결한다. 또한, 어댑터 모듈(70)은 클라이언트 전화기(52)를 교환기 라인(35)을 통해 PSTN(40)에 연결함으로써, 외부의 다른 전화기(30)와 클라이언트 전화기(52)가 통화 연결될 수 있도록 한다.As shown in FIG. 1, the call management server system 100 of the present invention is connected to a client computer 50 through a computer communication network such as the Internet 80. The client computer 50 is connected with the adapter module 70 and a USB cable 75. The adapter module 70 connects the client computer 50 and the client telephone 52 with a cable 55. In addition, the adapter module 70 connects the client phone 52 to the PSTN 40 through the exchange line 35, so that the external phone 30 and the client phone 52 can be connected to the call.

도 1의 예에서 서버 시스템(100)은 클라이언트에게 통화내역 관리, 고객정보 관리, 녹음 관리, 아웃바운드, 통계 및 보고서, 사용자 관리 기능 등을 제공한다. 서버 시스템의 구조와 동작에 대해서는 도 2 내지 도 9를 참조로 뒤에서 설명한다. 클라이언트 컴퓨터(50)에는 전화통화 관리 프로그램과 전화통화 검색 프로그램이 탑재되는데, 이에 대해서는 도 10 내지 도 18을 참조로 설명할 것이다. 어댑터 모듈(70)은 전화라인에 흐르는 아날로그 음성신호를 추출하여 디지털 신호로 변환하고 이를 USB를 통해 클라이언트 컴퓨터(50)로 전송하며, 라인의 상태, 온/오프 후크 상태, DTMF 톤의 데이터를 추출하여 이 데이터를 클라이언트 컴퓨터(50)에게 보낸다. 어댑터 모듈(70)의 구조와 동작에 대해서는 도 19 내지 도 24를 참조로 후술한다. In the example of FIG. 1, the server system 100 provides a client with call history management, customer information management, recording management, outbound, statistics and reports, and user management functions. The structure and operation of the server system will be described later with reference to FIGS. 2 to 9. The client computer 50 is equipped with a telephone call management program and a telephone call retrieval program, which will be described with reference to FIGS. 10 to 18. The adapter module 70 extracts the analog voice signal flowing through the telephone line, converts it into a digital signal, and transmits it to the client computer 50 through USB, and extracts data of a line state, on / off hook state, and DTMF tone. The data is sent to the client computer 50. The structure and operation of the adapter module 70 will be described later with reference to FIGS. 19 to 24.

서버 시스템의 구조 및 동작Server System Structure and Operation

도 2는 본 발명의 일구현예에 따른 통화관리 서버 시스템(100)의 전체 구조를 나타낸다.2 shows the overall structure of a call management server system 100 according to an embodiment of the present invention.

도 2의 서버 시스템(100)은 레코딩 서버(110, RES: Recording Server), 웹 애플리케이션 서버(120, WAS: Web Application Server), DB 서버(130, MDS: Main Database Server), 아카이브 서버(140, ARS: Archive Server), 전자우편 전송 서버(150, ESS: E-mail Send Server), 단문 메시지 게이트웨이(160, SMG: Short Message Gateway), 유지관리 서버(170, OA&M: Operation, Administration & Maintenance)를 포함한다.The server system 100 of FIG. 2 includes a recording server 110 (RES: Recording Server), a web application server 120 (WAS: Web Application Server), a DB server 130 (MDS: Main Database Server), an archive server 140, ARS: Archive Server, 150, ESS: E-mail Send Server, Short Message Gateway (160, SMG: Short Message Gateway), Maintenance Server (170, OA & M: Operation, Administration & Maintenance) Include.

레코딩 서버(110)는 클라이언트의 로그인 처리, 클라이언트 녹음시간 동기화를 위한 서버 시간 요청 및 전달, 녹음된 데이터 수신, 클라이언트의 추가 메모 데이터 수신 등의 외부 클라이언트를 위한 기능과 망 전환(외부망 → 내부망, 망의 전환은 네트워트 장비가 수행하나 RES가 일부 기능을 수행한다는 것이며 궁극적인 것은 트래픽을 분산하여 네트워크의 효율 향상을 기하고자 함), 수신한 데이터를 데이터베이스로 전송, 데이터베이스에 수신한 데이터 추가 및 갱신 등의 서버 시스템 내부를 위한 기능을 한다. 또한, 레코딩 서버(110)은 여러 경로를 통해 접근하는 클라이언트들의 서비스 요청을 내부의 서비스 서버들로 연결하는 게이트웨이 역할도 한다. The recording server 110 converts a network and functions for external clients such as login processing of the client, requesting and forwarding server time for synchronizing client recording time, receiving recorded data, and receiving additional memo data from the client (external network to internal network). The network switch is performed by the network equipment, but the RES performs some functions, and ultimately, to distribute the traffic to improve the efficiency of the network), transfer the received data to the database, add the received data to the database, and Functions for server system inside such as update. In addition, the recording server 110 serves as a gateway for connecting service requests of clients accessing through various paths to internal service servers.

레코딩 서버(110)는 데이터베이스와의 접속을 담당하는 DB 매니저 프로그램과 사용자와의 연결을 담당하는 에이전트 매니저(agent manager)를 포함한다. DB 매니저는 메인 DB와의 연결을 유지하면서 서비스 내의 각 서버들에서의 DB 접근을 손쉽게 대행해주며, 이에 대한 결과를 리턴(return)한다. 이러한 기능을 구현하기 위해서 내부 서버들이 사용하는 DB 접근을 위한 방법으로 동적 패킷(dynamic packet) 방식을 이용하며 원하는 쿼리(query)를 생성하여 텍스트로 전송하고 DB 매니저는 이를 DB 연결 인스턴스에 전달하여 수행되도록 함으로써 동작한다. 클라이언트를 담당하는 에이전트 매니저는 사용자로부터 수신한 데이터 전송 패킷과 전역시간 수행 등에 필요한 동작을 수행한 후 결과를 리턴한다.The recording server 110 includes a DB manager program for connecting to a database and an agent manager for connecting to a user. The DB manager easily manages the DB access from each server in the service while maintaining the connection with the main DB, and returns the result. In order to implement this function, the internal server uses the dynamic packet method as a method for accessing the DB, creates a desired query, sends it as text, and the DB manager delivers it to the DB connection instance for execution. It works. The agent manager in charge of the client performs an operation necessary for executing the data transmission packet and the global time received from the user and returns a result.

레코딩 서버(110)의 에이전트 매니저가 수행하는 전역시간 설정과 관련하여 (i) 여러 대의 레코딩 서버가 동일한 시간을 갖도록 한다. (ii) 모든 서비스 서버들이 동일한 시간을 갖도록 한다. (iii) 한 개의 서버가 다운되었을 경우를 대비하여 백업체계를 갖도록 한다. (iv) 연결된 모든 클라이언트 시스템은 서버와 동일한 시간으로 자동 시간관리가 이루어진다. (v) 이 서비스를 이용하는 모든 클라이언트의 녹음시간은 동일한 시계를 기준으로 녹음된 것과 동일한 효과가 있다는 등의 특징이 있다.Regarding global time setting performed by the agent manager of the recording server 110, (i) several recording servers have the same time. (ii) Make sure all service servers have the same time. (iii) Have a backup system in case one server goes down. (iv) All connected client systems have automatic time management at the same time as the server. (v) The recording time of all clients using this service has the same effect as that recorded based on the same clock.

레코딩 서버(110)가 처리하는 패킷 중 하나인 데이터 전송패킷과 관련해서는 서비스 내부의 데이터 저장 서버(즉 아카이브 서버(140) ARS)와 연동을 수행하여 그 결과를 리턴한다. 레코딩 서버(110)가 하는 순서는 다음과 같다. (i) 클라이언트 측에서 데이터 전송 패킷 수신. (ii) 도착한 패킷에 대한 응답 송신. (iii) 클라이언트 측에서 전송된 데이터를 로컬에 저장. (iv) 저장된 데이터를 아카이브 서버(140)에 전송하여 확인 응답을 받음. (v) 확인 응답을 받은 경우 데이터베이스에 데이터와 관련된 레코드 추가. (vi) 클라이언트에게 확인 응답을 전송. (vii) 로컬에 저장된 데이터를 삭제. 이러한 처리를 수행하는 과정에서 데이터의 저장과 관련하여 발생하는 에러에 대해서는 그 결과를 클라이언트에게 회신하여, 데이터가 저장되지 않았을 때에도 이 후 데이터를 재전송할 수 있도록 한다.Regarding the data transmission packet, which is one of the packets processed by the recording server 110, the recording server 110 interworks with the data storage server (that is, the archive server 140 ARS) in the service and returns the result. The recording server 110 performs the following procedure. (i) Receive data transmission packets on the client side. (ii) sending a response to the arriving packet. (iii) storing data sent from the client side locally. (iv) send the stored data to the archive server 140 to receive an acknowledgment. (v) Add records relating to data to the database when you receive a confirmation response. (vi) sending a confirmation response to the client. (vii) delete locally stored data. In the process of performing such processing, an error related to the storage of data is returned to the client so that the data can be retransmitted later even when the data is not stored.

도 2의 서버 시스템(100)에서 웹 애플리케이션 서버(120)는 가입자 청약/해지, 관리자 로그인, 웹 환경을 통한 녹음내용 검색/삭제, 녹음내용 청취, 녹음된 내용의 백업 등의 기능을 제공한다. DB 서버(130)는 클라이언트 그룹, 목록 및 권한을 관리하고, 과금정보 관리, 전화번호 목록 관리, 테넌트(tenant) 목록 관리, 녹음내역 관리, 백업내역 관리 등의 기능을 한다.In the server system 100 of FIG. 2, the web application server 120 provides functions such as subscriber subscription / cancellation, administrator login, recording search / delete through a web environment, listening to recordings, and backup of recorded contents. The DB server 130 manages client groups, lists, and permissions, and manages billing information, phone number list management, tenant list management, recording history management, backup history management, and the like.

서버 시스템(100)의 아카이브 서버(140)는 데이터의 보관, 재생, 삭제, 백업 등을 지원한다. 데이터의 보관 절차는 레코딩 서버로부터 전해진 레코딩 시간, 사이트 ID, 클라이언트 ID 등을 이용하여 파일의 보관에 필요한 경로를 생성한 후 녹음이 시작된 일자의 데이터 파일을 열어서 레코딩 서버로부터 전해진 데이터를 파일로 저장하는 단계로 이루어진다. 즉, 데이터 저장소에 저장되는 파일의 경로 생성 규칙 및 의미는 다음과 같다.The archive server 140 of the server system 100 supports archiving, reproducing, deleting, and backing up data. The data archiving procedure uses the recording time, site ID, and client ID sent from the recording server to create the path needed for archiving the file, and then opens the data file on the date when recording is started to save the data sent from the recording server as a file. Consists of steps. That is, the path generation rules and meanings of the files stored in the data store are as follows.

%BASEPATH%/레코딩시간/사이트ID/클라이언트ID/레코딩일자.REC% BASEPATH% / Recording Time / Site ID / Client ID / Recording Date.REC

z:/save/20040123/siteID/userID/20030123090513.rec%BASEPATH% : Z:/save <= 시스템에서 고정시킴siteID <= 사이트 IDuserID <= 클라이언트 ID20040123090513.rec <= 2004년 1월 23일 09시 05분 13초에 녹음 시작z: /save/20040123/siteID/userID/20030123090513.rec%BASEPATH%: Z: / save <= Freeze on system siteID <= Site ID userID <= Client ID20040123090513.rec <= Jan 23, 2004 09:05 Start recording in 13 minutes

도 2의 서버 시스템(100)에서 전자우편 전송서버(150)는 클라이언트의 가입/탈퇴 메시지를 전달하고 정보변경 내용, 공지사항, 백업주기, 시스템 점검 등을 전달하고 관리자에게 시스템 장애정보를 통지한다. 단문 메시지 게이트웨이(160)는 클라이언트에 대한 가입/탈퇴 메시지 전달, 공지사항(백업주기, 시스템 점검) 전달과 관리자에 대한 장애정보 통지 기능을 한다. 유지관리 서버(170)는 시스템 내의 자원(CPU, 메모리, 네트워크 등)을 모니터링하고, 프로세스 동작 상태를 모니터링, 제어하고 시스템 장애 정보를 전자우편 전송 서버(150)와 단문 메시지 게이트웨이(160)에 통보한다.In the server system 100 of FIG. 2, the e-mail transmission server 150 transmits a subscription / unsubscription message of the client, transmits information change contents, announcements, backup cycles, system checks, etc., and notifies the system failure information to the administrator. . The short message gateway 160 functions to deliver a subscription / unsubscribe message to the client, to deliver a notice (backup cycle, system check), and to notify the administrator of failure information. The maintenance server 170 monitors resources (CPU, memory, network, etc.) in the system, monitors and controls the process operation status, and informs the e-mail transmission server 150 and the short message gateway 160 of system failure information. do.

도 3은 본 발명의 서버 시스템(100)에서 이루어지는 레코딩 프로세스를 설명하기 위한 것이다.3 is for explaining the recording process performed in the server system 100 of the present invention.

클라이언트가 컴퓨터 시스템(50)의 클라이언트 프로그램을 구동하여 서버 시스템(100)에 로그인한다. 전화라인에 연결되어 있는 어댑터 모듈(70)은 전화라인에 브리지(bridge) 형태이며 PC(50)와는 USB 인터페이스로 연결된다. USB로 전달되는 양방향 데이터에는 (i) 어댑터 모듈(70)에 PC(50)로 전달되는 전화라인의 연결상태, 송수화기 동작상태(후크 온/오프), 발신자 번호(CID: Caller ID) 정보, 패킷화된 통화내역과, (ii) PC(50)에서 어댑터 모듈(70)로 전달되는 주소록 관리를 통해 발신하고자 하는 전호번호 정보, 자가진단 기능을 위한 제어 등의 데이터가 포함된다.The client runs the client program of the computer system 50 to log in to the server system 100. The adapter module 70 connected to the telephone line is bridged to the telephone line and is connected to the PC 50 through a USB interface. The bidirectional data transmitted through USB includes (i) connection status of the telephone line transferred to the PC 50 to the adapter module 70, handset operation status (hook on / off), caller ID (CID: caller ID) information, packet It includes the call history, and (ii) the phone number information to be sent through the address book management transmitted from the PC 50 to the adapter module 70, and the control for the self-diagnosis function.

발신자와 수신자 사이에 전화 통화가 이루어지면 어댑터 모듈(70)을 통해 발신번호가 클라이언트 컴퓨터(50)로 전달된다. USB 인터페이스를 통해 PC(50)로 통화내용이 전달되면 PC(50)에서는 발/수신 전화번호, 통화내역, 상대 통화자에 대한 부가 정보들이 암호화 알고리즘을 통해 파일로 형성된다. PC(50)에서는 IP 네트워크를 경유하여 서버 시스템(100)의 일정한 장소(예컨대, 데이터 센터) 내의 레코딩 서버(110)로 파일이 전송된다. 여기서 레코딩 서버는 가입자의 증가를 고려하여 SLB (Server Load Balancing) 구조로 네트워크를 설계한다. 레코딩 서버(110)는 아카이브 서버(140)로 수신한 파일을 전송하여 정상적으로 저장되었다는 정보를 수신하여 DC 서버(130)에 가입자 ID에 해당하는 데이터로 등록한다. 이 때 부가되는 정보는 아카이브 서버(140)에 저장된 경로를 통보한다. DB 서버(130)에 등록이 성공적으로 완료되면 서비스 가입자에게 정상등록이 완료되었음을 통지한다. 등록정보가 클라이언트에게 전달되지 않으면 클라이언트는 재전송을 시도한다. 아카이브 서버(140)는 가입자별 서비스 신청 시 부여된 저장 공간 사용량 설정 데이터를 참고하여 클라이언트에 따라 계정별 차별된 사용영역을 관리한다.When a telephone call is made between the sender and the receiver, the calling number is transmitted to the client computer 50 through the adapter module 70. When the contents of the call are transmitted to the PC 50 through the USB interface, the PC 50 forms an outgoing / receiving phone number, a call history, and additional information about the other party in a file through an encryption algorithm. The PC 50 transmits the file to the recording server 110 in a predetermined place (for example, a data center) of the server system 100 via the IP network. Here, the recording server designs the network in SLB (Server Load Balancing) structure in consideration of the increase of subscribers. The recording server 110 transmits the received file to the archive server 140 to receive information indicating that the file is normally stored and registers the data corresponding to the subscriber ID in the DC server 130. The information added at this time informs the path stored in the archive server 140. If the registration is successfully completed in the DB server 130, the service subscriber is notified that the normal registration is completed. If the registration information is not passed to the client, the client attempts to resend. The archive server 140 manages the differentiated use area for each account according to the client by referring to the storage space usage setting data given when the service is applied for by the subscriber.

도 4는 본 발명의 통화관리 서버 시스템(100)에서 이루어지는 데이터 재생 동작 프로세스를 나타낸다.4 shows a data reproduction operation process performed in the call management server system 100 of the present invention.

데이터 재생을 위해서 원래 데이터가 필요하면, 모든 데이터는 압축과 암호화가 적용되어 있으므로 이를 해독할 필요가 있다. 그러나, 서버(100)의 역할은 데이터를 저장하는 것이 주된 목적이므로, 이러한 역할은 요청한 클라이언트의 PC(50)에서 실행되도록 설계되어 있다. 그러므로, 녹음된 데이터는 원래의 형태대로 클라이언트 PC(50)에 도달하여야 한다. 이를 위해서 데이터를 클라이언트 PC(50)에 다운로드 하기 위하여 외부망에서 접근 가능한 웹서버에 동일한 프로그램이 존재하여 다운로드가 가능하도록 설정되어 있다.If the original data is needed for data playback, all data is compressed and encrypted and needs to be decrypted. However, since the role of the server 100 is mainly to store data, this role is designed to be executed in the PC 50 of the requesting client. Therefore, the recorded data must reach the client PC 50 in its original form. To this end, in order to download data to the client PC 50, the same program exists in the web server accessible from the external network and is set to be downloadable.

도 5는 본 발명의 통화관리 서버 시스템(100)에서 수행되는 조회 및 청취 프로세스를 나타낸다.5 shows an inquiry and listening process performed in the call management server system 100 of the present invention.

클라이언트는 웹 애플리케이션 서버(120)의 조회 페이지를 통해 클라이언트 ID, 발신/수신의 통화구분, 그룹별, 상대통화자명, 녹음일시, 가입자 전화번호, 부가 입력정보 등 검색 조건을 입력하여 검색한다. 웹 애플리케이션 서버(120)는 DB 서버(130)d 입력 조건에 해당된 결과값을 의뢰하고 그 결과를 DB 서버(130)로부터 수신한 다음 클라이언트에게 디스플레이한다. 검색을 통해 통화내역이 나열된 후 리스트에서 청취기능을 선택하면 서버에 저장되어 있는 암호화 및 압축이 되어 있는 파일을 로컬에 다운로드 및 임시보관하거나 암호화 및 압축해제, 일반 미디어 재생기로 청취 가능하도록 예컨대, .wav 포맷으로 파일 포맷을 변환한다. 그 다음 윈도우에서 통상적으로 사용되는 미디어 플레이어 등으로 청취한다.The client inputs a search condition such as a client ID, a call classification of origination / reception, a group, a counterpart caller name, a recording date, a subscriber's phone number, and additional input information through an inquiry page of the web application server 120 to search. The web application server 120 requests a result value corresponding to the DB server 130d input condition, receives the result from the DB server 130, and then displays the result to the client. If you select the Listen function from the list after searching the call history, you can download and temporarily store the encrypted and compressed files stored on the server locally, or encrypt and uncompress them. Convert file format to wav format. Then listen to a media player or the like commonly used in windows.

도 6은 본 발명의 통화관리 서버 시스템(100)에서 수행되는 데이터 삭제 동작을 나타낸다.6 illustrates a data deletion operation performed by the call management server system 100 of the present invention.

데이터의 삭제는 사이트의 관리자가 파일을 삭제할 수 있도록 함으로써 자신의 ID로 저장되어 있는 HDD의 공간을 관리할 수 있도록 설계되어 있으며, 이러한 명령은 웹을 통하여 이루어진다. 이를 위해 프로그램의 삭제 기능에 접속할 수 있는 API가 웹 서버측에 제공되어서 정해진 기간 범위내의 모든 저장된 내역을 삭제할 수 있는 기능이 수행된다.Deletion of data is designed to manage the space of HDD stored by its ID by allowing the administrator of the site to delete files. These commands are made through the web. To this end, an API for accessing the delete function of the program is provided on the web server side to perform a function for deleting all stored details within a predetermined period.

도 7 내지 도 9는 본 발명의 통화관리 서버 시스템(100)에서 이루어지는 데이터 백업 동작, 데이터 백업목록 확인 및 다운로드 동작을 나타낸다.7 to 9 illustrate a data backup operation, a data backup list check and a download operation performed in the call management server system 100 of the present invention.

데이터 백업, 목록확인 및 다운로드는 클라이언트가 녹음한 데이터를 한 곳의 저장소에 보관하여 필요할 때 재생을 할 수 있는 서비스를 제공하는 것이지만, 이렇게 보관되어 있는 데이터들의 통합 보관과 처리를 위해 데이터를 한 개의 단위로 묶어주는 기능이 필요하게 된다. 이처럼 한 개의 단위로 데이터를 묶어주는 기능을 수행하기 위해서 예컨대, zip 파일 포맷을 적용할 수 있다. 사이트의 관리자는 날짜를 확인하여 백업 요청 동작을 수행한 다음, 백업된 목록을 검색하여 백업이 완료된 내용을 확인한다. 이렇게 확인된 목록 중 하나를 선택하여 로컬에 다운로드 받을 수 있도록 웹에서 필요한 기능들을 제공한다. 백업을 위해 필요한 자료로는 백업을 원하는 날짜, 사이트 ID, 클라이언트 ID가 포함된다. 이 정보를 이용하여 데이터의 저장에 이용될 수 있는 모든 디스크를 검색하여 해당되는 모든 파일들의 목록을 생성한 후 이 목록을 이용하여 일괄 zip 파일을 생성한다. 이 때 생성된 zip 파일에는 원래 파일들이 가지고 있는 디렉토리 정보가 저장되어 있으므로 클라이언트의 PC(50)에 압축이 풀려질 때 동일한 폴더 형태로 저장된다. 이 때 저장되는 경로는 아래와 같다.Data backup, list check and download provide the service to keep the recorded data in one place and play it when necessary. You will need a function to group them together. In order to perform the function of grouping the data in one unit like this, for example, a zip file format may be applied. The administrator at the site checks the date, performs a backup request operation, and then retrieves the backed up list to verify that the backup is complete. It selects one of the checked lists and provides the necessary functions from the web to download locally. The data required for a backup includes the date you want to back up, the site ID, and the client ID. Use this information to search all disks that can be used to store data, generate a list of all applicable files, and use this list to create a batch zip file. In this case, since the generated zip file stores directory information of the original files, the zip file is stored in the same folder form when it is extracted to the client PC 50. The path saved at this time is as follows.

백업 데이터 저장경로 생성 규칙: Rules for creating backup data storage paths:

%BASEPATH%/사이트ID/녹음날짜-All.zip : 모든 클라이언트 데이터 파일 백업 % BASEPATH% / SiteID / Record-All.zip: Backup all client data files

%BASEPATH%사이트ID/녹음날짜-클라이언트ID.zip : 특정 클라이언트의 데이터만 백업된 경우% BASEPATH% SiteID / Record-ClientID.zip: only data from a specific client is backed up

백업된 데이터의 목록을 확인하기 위해 필요한 정보로는 검색을 위한 날짜 정보, 클라이언트 ID, 사이트 ID 등이 포함되며, 이 정보를 받은 서버에서는 데이터의 저장에 이용될 수 있는 모든 디스크의 경로를 검색하여 조건에 맞는 파일의 목록과 파일의 크기, 생성날짜를 리턴하게 된다. 리턴되는 정보들 중 파일의 크기와 생성 날짜는 다운로드 요청 시 되돌려 받아서 데이터의 수신자가 요청하였는가를 확인하기 위한 용도로 이용된다.The information needed to check the list of backed up data includes date information for searching, client ID, site ID, etc. The server receiving this information searches all disk paths that can be used to store data. It will return a list of files that meet the criteria, the file size, and the creation date. Among the returned information, the file size and creation date are returned to the download request and used to check whether the request is made by the receiver of the data.

백업된 데이터의 다운로드를 위한 정보로는 사이트 ID, 백업된 파일의 이름(녹음날짜와 클라이언트 ID 포함), 파일의 크기, 파일의 생성날짜 등이 포함되며, 이 정보들 중 파일의 크기와 생성날짜는 생성되어 저장 중에 있는 파일의 정보와 동일한 정보인지를 검사하기 위한 것이며, 이것은 악의적인 호출을 통하여 데이터를 획득할 수 없도록 하는 보안 목적을 위한 것이다. Information for downloading the backed up data includes the site ID, the name of the backed up file (including the recording date and client ID), the size of the file, and the date the file was created. Is to check whether the information is the same as the information of the file being created and stored, and this is for security purposes so that the data cannot be obtained through malicious calls.

클라이언트 시스템Client system

클라이언트 시스템(50)은 하드웨어와 소프트웨어로 구성되는데 하드웨어는 일반 컴퓨터 시스템의 하드웨어를 포함한다. 클라이언트 시스템(50)의 소프트웨어는 전화통화 관리 프로그램, 통화 검색 프로그램, 사용자 인터페이스 프로그램, 어댑터 모듈 제어 프로그램을 포함한다. The client system 50 is composed of hardware and software, which includes hardware of a general computer system. The software of the client system 50 includes a telephone call management program, a call retrieval program, a user interface program, and an adapter module control program.

도 10은 본 발명의 통화관리 서비스에 이용될 수 있는 클라이언트 프로그램의 전체 구조와 동작을 나타내는 블록도이며, 도 11은 본 발명의 통화관리 서비스에 이용될 수 있는 전화통화 관리 프로그램과 통화 검색기의 전체 구조와 동작을 나타내는 블록도이다.Figure 10 is a block diagram showing the overall structure and operation of the client program that can be used in the call management service of the present invention, Figure 11 is a complete view of the telephone call management program and call retriever that can be used in the call management service of the present invention. A block diagram showing the structure and operation.

도 10과 도 11에 나타낸 것처럼, 클라이언트 프로그램은 어댑터 모듈 정보 수집 및 녹음 모듈(210), 녹음 파일에 대한 서버 전송 모듈(220), MDAC 모듈, 통화 검색기, 녹음 파일 재생기, 압축 코덱을 포함한다. 어댑터 모듈 정보 수집 및 녹음 모듈은 어댑터 모듈 윈도우 드라이버를 통해 어댑터 모듈의 정보를 수집하고 데이터를 녹음한다. MDAC 모듈은 메인 데이터베이스(MDB)에 접속하며, 통화검색기도 메인 DB에 접속하여 검색된 녹음 파일이 녹음 파일 재생기에 의해 재생되도록 한다. 통화관리 프로그램은 어댑터 모듈과 관련된 하드웨어 모듈과 통화 내용 녹음을 위한 API(DLL)와 이를 사용하여 클라이언트 서비스를 제공하는 프로그램으로 구성될 수 있다. 개인 단위로 사용하기 때문에 로컬 데이터베이스를 사용하며, 이 데이터베이스 사용을 위해 MDAC 2.7 이상을 사용하는 것이 바람직하다.10 and 11, the client program includes an adapter module information collection and recording module 210, a server transmission module 220 for a recording file, an MDAC module, a call finder, a recording file player, and a compression codec. Acquiring and Recording Adapter Module Information The module collects the information of the adapter module and records data through the adapter module window driver. The MDAC module connects to the main database (MDB), and the call finder also connects to the main DB so that the retrieved recording file is played by the recording file player. The call management program may be composed of a hardware module related to an adapter module, an API (DLL) for recording call contents, and a program providing a client service using the same. Because it is used as a private unit, it uses a local database, and it is recommended to use MDAC 2.7 or later for this database.

전화통화 관리 프로그램(300)은 어댑터 모듈 정보 수집 및 녹음 모듈(210)을 통해 장치 명령(310)을 어댑터 모듈(70)에 보내고 장치 상태 및 통화 음성 정보(320)를 받는다. 또한, 녹음 파일에 대한 서버 전송 모듈(220)에게 녹음 파일명(330)을 보내고 SQL 명령어(340), SQL 결과 데이터(350)로 MDB에 접속한다(230). 통화 검색기(400)는 서버 전송 모듈(220)에 녹음 파일명(360)을 입력하고 녹음 파일 재생기(420)에 녹음 파일명(410)을 보낸다. 통화 검색기(400)는 통화관리 프로그램(300)에서 생성된 녹음 파일을 검색 및 청취하거나 선택 녹음에서 서버 전송이 누락된 녹음 파일에 대해서 서버 전송을 하기 위한 환경을 제공한다. The call management program 300 sends the device command 310 to the adapter module 70 through the adapter module information collection and recording module 210 and receives the device status and call voice information 320. Further, the recording file name 330 is sent to the server transmission module 220 for the recording file, and the MDB is connected to the MDB using the SQL command 340 and the SQL result data 350 (230). The call finder 400 inputs the recording file name 360 to the server transmission module 220 and sends the recording file name 410 to the recording file player 420. The call finder 400 provides an environment for searching and listening to a recording file generated by the call management program 300 or performing a server transmission on a recording file whose server transmission is missing in a selective recording.

통화 관리 프로그램은 도 12에 나타낸 것처럼, 발신자 번호(CID: Caller ID) 검출, 자동 다이얼링을 포함한 수발신 내역 관리 기능, 고객 정보 추가/수정/삭제, 서버 업로드, 서버 다운로드를 포함한 주소록 관리 기능, 녹음 거부 목록 다운로드를 포함한 녹음거부 목록 관리 기능, 환경 설정과 외부 데이터 입력과 같은 기능을 제공하고, 통화 검색기는 도 13에 나타낸 것처럼 단일 윈도우로 구성할 수도 있다.As shown in Fig. 12, the call management program detects caller ID (CID), manages incoming and outgoing history including automatic dialing, adds / modifies / deletes customer information, manages address book including server upload, server download, and rejects recording. It provides functions such as recording list management function including downloading a list, configuration and input of external data, and the call finder may be configured as a single window as shown in FIG.

도 14는 본 발명의 통화관리 서비스에서 일어나는 클라이언트 프로그램의 인터페이스 구조를 나타내는 블록도이다.14 is a block diagram showing an interface structure of a client program occurring in the call management service of the present invention.

최초 프로그램 시작시 사용자 인증을 위한 로그인 페이지가 표시되며 사용자는 클라이언트 ID와 암호를 입력하여 인증서버를 통해 사용자 인증을 요청한다. 인증서버라 함은 웹서버(120)의 일부 기능이다. 요청된 사용자 정보에 의하여 웹서버(120)는 데이터베이스 서버(130)에 사용자 정보를 조회한다. 데이터베이스 서버는 사용자 정보에 의해 조회된 결과를 인증 서버로 통보한다. 인증 서버는 데이터베이스 서버로부터 받은 조회 결과에 따라서 클라이언트에게 최종 사용 승인을 내리거나 클라이언트 정보가 틀린 경우 사용자 인증을 거부하고 그 결과를 클라이언트 프로그램에게 통보한다. 사용자 인증 절차가 끝나면, 녹음 파일 전송, 녹음 파일 정보 저장, 녹음 파일 저장, 사용자 상태 정보 처리 등이 이루어지는데, 녹음 파일 전송에서는 통화가 종료되면 녹음 파일이 생성되고 클라이언트 프로그램은 녹음 파일을 녹취 서버로 전송한다. 이 때 전송하는 녹음 파일 내에는 통화 정보까지 포함되어 있다. 녹음 파일 정보 저장에서는 녹취 서버는 클라이언트 프로그램에서 전송받은 녹음 파일을 분석하여 데이터베이스 서버에 통화 정보를 저장한다. 녹음 파일 저장에서는 녹취 서버는 전송 받은 녹음 파일을 디스크 저장 장치에 보관한다. 결과 통보 단계에서는 녹취 서버는 녹음 파일 저장과 데이터베이스 통화 정보에 실패한 경우 재정송을 요청한다. 클라이언트 정보 처리 단계에서는 클라이언트의 상태 정보를 통해 관리자가 클라이언트의 상태를 관리할 수 있도록 하기 위한 정보를 제공한다. 클라이언트 프로그램은 특정 시간 간격으로 클라이언트의 상태 정보를 녹취 서버로 전송하고 녹취 서버는 클라이언트 상태 정보를 데이터베이스 서버에 저장한다.The login page for user authentication is displayed at the beginning of the program, and the user enters a client ID and password to request user authentication through the authentication server. The authentication server is a part of the web server 120. According to the requested user information, the web server 120 inquires the user information to the database server 130. The database server notifies the authentication server of the result queried by the user information. The authentication server grants the end use approval to the client according to the inquiry result received from the database server, or denies user authentication if the client information is incorrect, and notifies the client program of the result. After the user authentication process is completed, the recording file transfer, recording file information storage, recording file storage, user status information processing, etc., the recording file is created when the call is terminated, the client program recording the recording file to the recording server send. At this time, call information is included in the recording file. In the recording file information storage, the recording server analyzes the recording file received from the client program and stores the call information in the database server. In the recording file storage, the recording server stores the received recording file in the disk storage device. In the result notification step, the recording server requests retransmission if the recording file storage and database call information fail. In the client information processing step, the administrator provides information to enable the administrator to manage the client's state through the client's state information. The client program transmits the client's status information to the recording server at specific time intervals, and the recording server stores the client status information in the database server.

도 15는 본 발명의 통화관리 서비스에서 일어나는 관리자 인터페이스 구조를 나타내는 블록도이다.15 is a block diagram showing a manager interface structure occurring in the call management service of the present invention.

클라이언트는 웹 브라우저를 통해 제공된 로그인 페이지를 통하여 사용 승인 요청을 인증서버에 요청한다. 인증서버는 요청 시 제공된 정보를 이용하여 데이터베이스 서버에 클라이언트 정보를 조회하고 그 결과를 바탕으로 사용 승인을 내리고 서비스를 제공한다. 클라이언트는 웹을 이용하여 구성된 메뉴 등을 통하여 원하는 서비스를 요청한다. 관리자/사용자 서비스는 필요한 경우 데이터베이스 서버에게 서비스 제공에 필요한 정보를 요청하고, 데이터베이스 서버는 요청된 내용에 대한 서비스 정보를 관리자/사용자 서비스에게 제공한다. 관리자/사용자 서비스는 데이터베이스에서 제공된 내용을 토대로 클라이언트에게 요청된 서비스를 제공한다. The client requests the authorization server to use the authentication request through the login page provided through the web browser. The authentication server uses the information provided in the request to query the database server for client information, grants usage approval, and provides services based on the results. The client requests a desired service through a menu configured using the web. If necessary, the manager / user service requests the database server for information necessary to provide a service, and the database server provides service information on the requested content to the manager / user service. The administrator / user service provides the requested service to the client based on the content provided in the database.

도 16은 본 발명의 통화관리 서비스에서 일어나는 녹음 파일 청취 프로세스를 나타내는 블록도이다.16 is a block diagram showing a recording file listening process occurring in the call management service of the present invention.

녹음 파일에 대한 청취는 클라이언트 인증을 통해 청취할 수 있는 범위가 정해진다. 일반 클라이언트일 경우에는 본인의 녹음 파일만 청취가 가능하며, 관리자의 경우에는 관리자가 생성한 그룹내 모든 사용자에 대해 녹음 파일 청취가 가능하다.Listening to the recorded file is determined by client authentication. If you are a normal client, you can only listen to your own recordings. If you are an administrator, you can listen to all the users in the group you created.

클라이언트는 통화 목록을 관리자/사용자 서비스에게 요청한다. 관리자/사용자 서비스는 데이터베이스 서버에게 통화 목록을 요청하고, 데이터베이스 서버는 이 요청 내용에 따라 통화 목록을 관리자/사용자 서비스에게 제공한다. 관리자/사용자 서비스는 데이터베이스 서버로부터 받은 통화 목록을 토대로 클라이언트에게 통화 목록을 표시하며, 클라이언트는 표시된 목록에서 청취하고자 하는 통화에 대해서 웹서버(120)에게 통화 정보를 제공하고 청취 요청을 한다. 웹서버(120)는 클라이언트가 요청한 정보에 따라서 녹음 파일 디스크로부터 해당 녹음 파일을 가져오고 이를 클라이언트에게 전송한다. 클라이언트는 전송 받은 파일을 예컨대 윈도우 미디어 플레이어가 재생할 수 있는 형태의 .WAV 파일로 변환한다. 여기서, 파일의 다운로드와 변환은 웹 브라우저에 포함된 서비스 프로그램(ActiveX)을 통해 이루어질 수 있다. 변환이 끝나면 웹 브라우저는 윈도우 미디어 플레이어를 통하여 녹음 파일을 재생한다.The client requests a call list from the manager / user service. The manager / user service requests the call list from the database server, and the database server provides the call list to the manager / user service according to the request. The manager / user service displays the call list to the client based on the call list received from the database server, and the client provides call information to the web server 120 and requests to listen to the call to be listened to from the displayed list. The web server 120 obtains the recording file from the recording file disk and transmits the recording file to the client according to the information requested by the client. The client converts the received file into a .WAV file that can be played by Windows Media Player, for example. Here, the download and conversion of the file may be performed through a service program (ActiveX) included in the web browser. After the conversion, the web browser plays the recording through the Windows Media Player.

도 17은 본 발명의 통화관리 서비스에서 일어나는 녹음 파일 다운로드 프로세스를 나타내는 블록도이다. 17 is a block diagram showing a recording file download process occurring in the call management service of the present invention.

클라이언트는 통화 목록을 관리자/사용자 서비스에게 요청하고, 관리자/사용자 서비스는 DB 서버에게 통화 목록을 요청한다. DB 서버는 관리자/사용자 서비스가 요청한 내용에 따라서 통화 목록을 관리자/사용자 서비스에게 제공하고, 관리자/사용자 서비스는 DB 서버로부터 받은 통화 목록을 토대로 클라이언트에게 통화 목록을 표시하고 클라이언트는 표시된 목록을 확인하여 웹서버(120)에게 녹음 파일 백업을 요청한다. 웹서버는 클라이언트가 요청한 정보에 따라 백업 파일을 생성하는데, 백업 파일은 예컨대 zip 형태의 압축 파일로 되어 있으며 이 압축 파일 내에는 클라이언트가 요청한 구간의 녹음 파일들이 포함되어 있다. 클라이언트는 백업이 완료된 목록을 웹서버에게 요청하고 웹서버는 요청된 목록을 클라이언트에게 표시하며, 이를 확인한 클라이언트는 원하는 파일을 웹서버에게 그 전송을 요청한다. 웹서버는 요청된 목록을 클라이언트에게 표시하고 이 목록을 확인한 클라이언트는 원하는 파일의 전송을 웹서버에게 요청한다. 웹서버는 요청된 목록을 클라이언트에게 전송하고 클라이언트는 이를 다운로드 받아서 클라이언트 컴퓨터에 저장한다.The client requests the call list from the manager / user service, and the manager / user service requests the call list from the DB server. The DB server provides the call list to the administrator / user service according to the request of the administrator / user service, the manager / user service displays the call list to the client based on the call list received from the DB server, and the client checks the displayed list. Request the backup of the recording file to the web server (120). The web server generates a backup file according to the information requested by the client. The backup file is, for example, a compressed file in a zip format, and the compressed file includes recording files of a section requested by the client. The client requests the web server for a list of completed backups, and the web server displays the requested list to the client. After confirming this, the client requests the web server to transmit the desired file. The web server displays the requested list to the client, which checks the list and requests the web server to send the desired file. The web server sends the requested list to the client, which downloads it and stores it on the client computer.

도 10 내지 도 17을 참조로 설명한 클라이언트 프로그램에서 '수발신 내역 관리 기능'은 링 검출, 발신자 번호 검출, 통화중 검출 등을 판단하는 어댑터 모듈(70) 상태 모니터링과, 수/발신 내역 관리, 통화 메모 및 통화 정보 저장, 수/발신 정보에서 주소록으로 저장, 목록을 이용한 다중 다이얼링 지원, 홈페이지로 이동, 로그 아웃 및 프로그램의 종료, 다른 윈도우의 표시(호출) 등을 포함할 수 있다. 또한, 본 발명의 클라이언트 프로그램에 의한 다이얼링 절차는 다음과 같이 진행될 수 있다.In the client program described with reference to FIGS. 10 to 17, an 'outgoing call history management function' includes an adapter module 70 status monitoring for determining ring detection, calling party number detection, call detection, etc., call / outgoing call history management, and call memo. And storing call information, storing call / outgoing information in an address book, supporting multiple dialing using a list, moving to a homepage, logging out and terminating a program, and displaying (calling) another window. In addition, the dialing procedure by the client program of the present invention may proceed as follows.

- 클라이언트 전화기(52)가 오프 후크 상태(수화기를 든 상태)에 있는지 확인한 후 오프 후크 상태가 아닌 경우에는 메시지를 표시하고 수화기를 들 때까지 기다린다.-After confirming that the client telephone 52 is in the off-hook state (with the handset up), if it is not in the off-hook state, it displays a message and waits to pick up the handset.

- 오프 후크 상태가 된 다음 100㎳ 동안 대기한다.-Go off hook and wait for 100 ms

- 헤드셋 접속 후 100㎳ 동안 대기한다.-Wait 100㎳ after connecting the headset.

- 500㎳ 간격으로 라인의 상태가 미접속(disconnect) 상태인지 검사한다. 만약 미접속 상태이면 어댑터 모듈(70)의 전화연결을 잘못한 것이라고 볼 수 있으므로 오류 메시지를 표시하고 다이얼링 절차를 종료한다.-Check that the line status is disconnected at 500 ms intervals. If it is not connected, the telephone connection of the adapter module 70 may be regarded as wrong, and thus an error message is displayed and the dialing procedure is terminated.

- 외부 전화번호를 다이얼링 한 후 지정된 시간만큼 대기한다(Prefix delay).-After dialing an external phone number, wait for the designated time (Prefix delay).

- 실 전화번호를 다이얼링 한 후 전화번호*30㎳ 동안 대기한다.-Dial the actual telephone number and wait for the telephone number * 30㎳.

- 헤드셋 접속 후 100㎳ 동안 대기한다.-Wait 100㎳ after connecting the headset.

- 온 후크 상태 후 100㎳ 동안 대기한다.-Wait 100ms after on hook.

- 온 후크를 다시 한 번 더 수행한다.-Perform another hook again.

본 발명에서 어댑터 모듈의 상태를 확인하는 것은 도 18을 참조로 설명한다.Checking the state of the adapter module in the present invention will be described with reference to FIG.

도 18은 상태 점검 루틴의 전체 동작을 나타내는 블록도이다.18 is a block diagram showing the overall operation of the state checking routine.

도 18을 참조하면, 장치(어댑터 모듈)로부터 예컨대 200㎳ 간격으로 장치의 상태값을 읽는데, 여기서 상태값은 '후크 온/오프', '헤드셋 접속/미접속', '링 검출', '발신자 정보' 등을 포함한다. 여기서 발신자 정보 프레임은 발생시간(DDHHMMSS) + 공백(1) + 전화번호 + 공백(1) + 발신자 번호 순번의 구조로 될 수 있다. 발신자 정보가 없을 경우에는 공백을 리턴한다. 순번은 1에서 255까지이며 255을 초과하였을 때에는 1부터 다시 시작한다. 새로운 발신자 정보의 판단은 이전 순번과 비교하여 현재의 순번이 이전 순번과 1이 증가하였을 때로 판단한다. 도 18의 어댑터 모듈 상태 점검 루틴에서는 전화 라인의 분리 여부 및 장치와의 분리 여부를 확인한다. Referring to Fig. 18, the device reads the device status from the device (adapter module) at 200 ms intervals, where the status values are 'hook on / off', 'headset connected / disconnected', 'ring detection', 'caller'. Information 'and the like. Here, the caller information frame may have a structure of occurrence time (DDHHMMSS) + space (1) + phone number + space (1) + caller number. If no caller information is available, a blank is returned. The order is from 1 to 255. If it exceeds 255, it starts again from 1. The determination of the new caller information is determined when the current sequence number is increased by 1 and the previous sequence number compared to the previous sequence number. In the adapter module state checking routine of FIG. 18, it is checked whether the telephone line is disconnected and the device.

MDB 구조MDB structure

본 발명의 클라이언트 시스템에 사용될 수 있는 메인 데이터베이스는 예컨대 다음과 같은 테이블 구조를 가질 수 있다.The main database that can be used in the client system of the present invention may have the following table structure, for example.

[고객 정보 테이블(TB_CUST)][Customer Information Table (TB_CUST)]

번호number 인덱스index 필드명Field name 형태shape 길이Length 설명Explanation 1One GROUPNAMEGROUPNAME TEXTTEXT 2020 고객명customer name 22 INDEXINDEX CUSTNAMECUSTNAME TEXTTEXT 1010 고객명customer name 33 COMNAMECOMNAME TEXTTEXT 2020 회사명Company Name 44 DEFAULTTELDEFAULTTEL TEXTTEXT 1One 기본전화(0:회사, 1:휴대폰, 2:자택Primary Phone (0: Company, 1: Mobile, 2: Home 55 INDEXINDEX TEL0TEL0 TEXTTEXT 2020 회사전화Company telephone 66 INDEXINDEX TEL1TEL1 TEXTTEXT 2020 휴대전화Cell Phone 77 TEL2TEL2 TEXTTEXT 2020 자택전화Home Phone 88 DNDN TEXTTEXT 55 내선Ext 99 ADDRADDR TEXTTEXT 200200 주소address 1010 POSTPOST TEXTTEXT 77 우편번호Zip code 1111 REMARKREMARK TEXTTEXT 250250 비고Remarks

[녹음 거부 목록(TB_REJECT_TEL)][Record deny list (TB_REJECT_TEL)]

번호number 인덱스index 필드명Field name 형태shape 길이Length 설명Explanation 1One PKPK CALLKINDCALLKIND TEXTTEXT 22 I:수신, O:발신, IO:수발신I: Receive, O: Send, IO: Receive 22 PKPK TELTEL TEXTTEXT 1212 전화번호Phone number 33 CUST_NAMECUST_NAME TEXTTEXT 2020 고객명customer name 44 REGDATEREGDATE TEXTTEXT 88 등록일Registration date 55 DEL_GBDEL_GB TEXTTEXT 1One 삭제 구분Delete separator 66 DEL_DATEDEL_DATE TEXTTEXT 88 삭제일Deletion date 77 REMARKREMARK TEXTTEXT 255255 비고Remarks

[녹음 파일 정보(TB_OB_RECORD)][Recorded file information (TB_OB_RECORD)]

번호number 인덱스index 필드명Field name 형태shape 길이Length 설명Explanation 1One REC_TIMEREC_TIME TEXTTEXT 1414 녹음 시작 시간Recording start time 22 INDEXINDEX CALLKINDCALLKIND TEXTTEXT 1One 통화구분(I: 수신, O: 발신)Call classification (I: incoming, O: outgoing) 33 END_TIMEEND_TIME TEXTTEXT 66 통화시간Talk time 44 AGENT_NMAGENT_NM TEXTTEXT 5050 사용자명Username 55 INDEXINDEX AGENT_IDAGENT_ID TEXTTEXT 1010 사용자 IDUser ID 66 INDEXINDEX ND_NOND_NO TEXTTEXT 1212 내선번호Extension number 77 CUST_NMCUST_NM TEXTTEXT 2020 고객명customer name 88 CUST_TELCUST_TEL TEXTTEXT 1515 고객 전화번호Customer phone number 99 COM_NMCOM_NM TEXTTEXT 2020 회사명Company Name 1010 ADDRADDR TEXTTEXT 255255 주소address 1111 CALL_RESULTCALL_RESULT MEMOMEMO 통화 메모Call notes 1212 SENDSEND TEXTTEXT 1One 전송여부(0: 미전송, 1: 전송)Whether to send (0: not sent, 1: sent)

어댑터 모듈Adapter module

도 19는 본 발명의 통화관리 서비스에 사용하기에 적합한 어댑터 모듈의 내부 구조를 나타내는 블록 회로도이고, 도 20a와 도 20b는 본 발명의 일구현예에 따른 어댑터 모듈의 외부 구조를 나타내는 사시도이다.19 is a block circuit diagram showing the internal structure of the adapter module suitable for use in the call management service of the present invention, Figures 20a and 20b is a perspective view showing the external structure of the adapter module according to an embodiment of the present invention.

앞에서 설명한 바와 같이, 어댑터 모듈(70)은 전화라인 포트에 흐르는 음성 신호를 추출하여 디지털 데이터로 변환하여 USB를 통해 데이터를 클라이언트 컴퓨터(50)에 전송하는 모듈이다. 이 모듈(70)은 국선 또는 아날로그 라인에 연결될 수 있으며, 라인의 상태, 온/오프 후크 상태, DTMF 톤의 데이터를 추출하여 USB를 통하여 PC(50)로 데이터를 전송할 수 있다. 또한, 별도의 전원을 사용하지 않고 USB 전원을 입력받아 사용한다. 또한, 아웃바운드(outbound) 기능으로 온/오프 후크 기능을 가지며, DTMF 톤 전송 및 수신 기능을 하고 발신자 번호를 수신하여 이것을 프로그램에서 사용할 수 있도록 한다.As described above, the adapter module 70 is a module that extracts the voice signal flowing through the telephone line port, converts it into digital data, and transmits the data to the client computer 50 via USB. The module 70 may be connected to a CO line or an analog line, and may extract data of a line state, an on / off hook state, and DTMF tones to transmit data to the PC 50 via USB. Also, it uses USB power input without using separate power. In addition, it has an on / off hook function as an outbound function, functions as a DTMF tone transmission and reception function, and receives a calling party number so that it can be used in a program.

도 19에 나타낸 것처럼, 본 발명의 일구현예에 따르면 어댑터 모듈(70)은 USB 접속 모듈, 전원 모듈, 메모리(SRAM), CPU, LED 입출력, 라인 접속 모듈, 라인 인터페이스 모듈, CPLD, 코덱, 라인 점검 모듈, DTMF 톤 점검 모듈, 온/오프 후크 모듈, DTMF 톤 전송 모듈, 발신자 ID 분석기, 후크 스위치 및 이들 구성품들 사이의 데이터 전달을 위한 버스를 포함한다.As shown in FIG. 19, according to an embodiment of the present invention, the adapter module 70 may include a USB connection module, a power supply module, a memory (SRAM), a CPU, an LED input / output, a line connection module, a line interface module, a CPLD, a codec, and a line. It includes a check module, DTMF tone check module, on / off hook module, DTMF tone transfer module, caller ID analyzer, hook switch, and a bus for data transfer between these components.

어댑터 모듈(70)의 특징은 다음과 같다.Features of the adapter module 70 are as follows.

- USB 통신 기능(음성 data 포함): 이 모듈의 컴퓨터의 연결은 USB 포트를 통하여 연결되며 자동적으로 인식된다. USB 포트를 통하여 음성, 전화 기능 제어 및 콜 프로세스(Call process)를 수행할 수 있다.-USB communication function (including voice data): The computer's connection to this module is connected via the USB port and automatically recognized. Voice, telephone function control and call process can be performed through the USB port.

- DTMF 톤 검출 기능: 같은 라인에서 브리지(bridge)된 전화기에서 아웃바운드의 경우 DTMF 톤을 체크할 수 있다.DTMF tone detection function: DTMF tones can be checked for outbound on phones bridged on the same line.

- 라인 상태 점검 기능: 전화 라인의 상태를 점검하여 그 데이터를 클라이언트 컴퓨터(50)에게 전송한다.Line status checking function: checks the status of the telephone line and transmits the data to the client computer 50.

- 보이스의 디지털 데이터 변환 기능: 자체의 음성 코덱을 가지고 있어 별도의 사운드 카드가 필요하지 않으며 하드웨어적인 필터를 내장하여 녹음 음질이 우수하다.-Digital data conversion function of voice: Because it has its own voice codec, it does not need a separate sound card.

- 온/오프 후크 Hook 기능: 자체적으로 온/오프 후크 기능을 가지므로 아웃바운드를 PC에서 자동으로 1번 또는 통화가 끝날 때마다 각기 다른 번호로 자동으로 전화걸기가 가능하다.-On / Off Hook Hook function: It has its own on / off hook function, so it can automatically dial outbound number once at PC or at different number every time call ends.

- 온/오프 후크 점검 기능: 음성의 유무로 체크하는 방식이 아니라 하드웨어적으로 전화라인의 상태를 체크하여 녹음 파일 1개당 1통화의 내용을 유지한다.-On / off hook check function: It maintains the contents of one call per recording file by checking the status of the telephone line by hardware, not by checking the presence or absence of voice.

- 국선 또는 내선 라인의 상태 표시(LED): 라인에 대한 기능을 체크하여 사용자가 한 번에 알 수 있도록 LED로서 상태를 표시한다.-Status display of CO line or extension line (LED): It displays the status as LED for the user to know at a time by checking the function of the line.

- DTMF 톤 생성 기능: 하드웨어적인 톤 재생 기능이 있다.DTMF tone generation function: Hardware tone reproduction function.

- 콜 프로세스 분석 기능(Dial/busy/ringback): 아웃바운드의 경우 콜 프로세스를 진행할 수 있다.-Call process analysis function (Dial / busy / ringback): In case of outbound, call process can proceed.

- 발신자 ID 분석 기능(TYPE 1): 발신자 서비스에 가입되어 있을 때 발신자 ID(CID: Caller ID)를 수신할 수 있다.-Caller ID analysis function (TYPE 1): Caller ID (CID) can be received when subscribed to caller service.

- 자체 테스트 기능: 프로그램 구동시 전화 기능 및 전화 라인의 상태를 자체적으로 테스트 한 후 서비스를 진행할 수 있다.-Self test function: When running the program, you can test the phone function and the state of the phone line by yourself.

도 20에 나타낸 어댑터 모듈의 외부 구조에서 'PHONE'은 일반 전화기(52) 또는 헤드셋 전화를 연결할 수 있는 커넥터이다. 'LINE'은 전화 라인을 연결하는 커넥터이며 바뀌면 오동작의 원인이 될 수 있다. 'USB'는 PC(50)의 USB 포트와 연결된다. 'HOOK'는 전화 라인이 정상으로 동작하고 그 전화라인이 오프 후크 되었을 때 녹색 LED가 켜진다. 'ACT'는 전화 라인의 상태를 표시하며 정상일 때에는 녹색 LED가 켜지고 단절되었을 때에는 LED가 꺼진다. 'RUN'은 현재 모듈의 상태를 나타내며 0.5초마다 녹색 LED가 켜진다. In the external structure of the adapter module shown in Fig. 20, 'PHONE' is a connector to connect a regular telephone 52 or a headset telephone. 'LINE' is a connector that connects telephone line and if it is changed, it may cause malfunction. 'USB' is connected to a USB port of the PC 50. 'HOOK' has a green LED when the phone line is working normally and the phone line is off hooked. 'ACT' indicates the status of the phone line. The green LED is on when normal and the LED is off when disconnected. 'RUN' indicates the current module status and the green LED turns on every 0.5 seconds.

어댑터 모듈 제어 프로그램Adapter Module Control Program

본 발명의 클라이언트 프로그램에서 어댑터 모듈 제어 프로그램은 어댑터 모듈(70)과 클라이언트 컴퓨터(50) 사이의 데이터 전송을 정의한다. 어댑터 모듈은 음성, DTMF 톤, 온/오프 후크 데이터를 PC(50)에서 요청할 경우 항상 이를 전송할 수 있어야 한다. USB 통신 방법은 벌크(bulk) 전송 모드를 사용한다. 즉, IN 엔드포인트(Endpoint) 0∼2, 4∼7을 사용한다. 엔드포인트 0은 USB 제어를 위해 사용되며, 엔드포인트 1은 어댑터 모듈의 환경 전송, 엔드포인트 2는 현재 상태 전송이며 엔드포인트 4∼5, 6∼7은 업 보이스 데이터(up voice data), 다운 보이스 데이터(down voice data)를 이중 버퍼링(double buffering)으로 전송한다. 모든 데이터 처리는 인트럽트 처리한다. 엔드포인트 1, 2의 패킷 길이는 일정하며 엔드포인트 4, 6은 음성 데이터에 따라 그 길이가 달라진다.In the client program of the present invention, the adapter module control program defines the data transfer between the adapter module 70 and the client computer 50. The adapter module must always be able to transmit voice, DTMF tones, and on / off hook data when requested by the PC 50. The USB communication method uses bulk transfer mode. That is, IN endpoints 0 to 2 and 4 to 7 are used. Endpoint 0 is used for USB control, endpoint 1 is the environmental transfer of the adapter module, endpoint 2 is the current state transfer, and endpoints 4-5, 6-7 are the up voice data and down voice. Send down voice data to double buffering. All data processing is interrupted. The packet length of endpoints 1 and 2 is constant, and endpoints 4 and 6 vary in length depending on the voice data.

엔드포인트의 구조와 용도는 도 21의 표와 같이 정리할 수 있다.The structure and use of the endpoint can be summarized as shown in the table of FIG.

도 21에서 보는 것처럼, 출력 파이프의 엔드포인트 1은 USB-어댑터 모듈의 환경 설정 쓰기용이고, 입력 파이프의 엔드포인트 1은 USB-어댑터 모듈의 환경 설정 읽기용이다. 또한, 입력 파이프의 엔드포인트 2와 엔드포인트 4∼5, 엔드포인트 6∼7는 각각 현재 상태 읽기, 에이전트 데이터 전송에 이용되는 이중 버퍼, 고객 데이터 전송에 이용되는 이중 버퍼를 나타낸다.As shown in FIG. 21, endpoint 1 of the output pipe is for writing preferences of the USB-adapter module, and endpoint 1 of the input pipe is for reading preferences of the USB-adapter module. In addition, endpoints 2, 4 and 5, and endpoints 6 through 7 of the input pipe represent the double buffers used to read the current state, the agent data transfer, and the customer data transfer, respectively.

도 22는 클라이언트 컴퓨터와 어댑터 모듈 사이의 데이터 처리 흐름을 나타낸다. 이 데이터 처리는 다음과 같은 과정으로 이루어질 수 있다. (i) 초기화 후에 PC(50)는 엔드포인트 1에서 데이터를 읽어 현재 어댑터 모듈의 설정을 인식한다. (ii) 일정 시간마다 PC(50)는 엔드포인트 2를 통해 어댑터 모듈의 현재 상태를 읽는다. (iii) 오프 후크 이벤트가 발생하면 호스트(PC)는 엔드포인트 4, 6을 번갈아 가면서 일정한 시간마다 읽는다. (iv) 온후크 이벤트가 발생하면 다시 엔드포인트 2를 통하여 어댑터 모듈의 현재 상태를 반복하여 읽으며 (ii), (iii) 단계를 반복한다. (v) 엔드포인트 1은 호스트 요청시 어댑터 모듈은 항상 현재 설정 상태를 보내야 한다. (vi) 엔드포인트 2는 호스트 요청시 어댑터 모듈은 항상 현재 상태를 보내야 한다. (vii) 엔드포인트 4, 6은 호스트 요청시 현재 통화중이거나 음성 데이터가 없다면 음성 데이터의 길이를 '0'으로 설정하여 보내야 한다.22 shows a data processing flow between a client computer and an adapter module. This data processing can be performed as follows. (i) After initialization, the PC 50 reads data from endpoint 1 to recognize the settings of the current adapter module. (ii) Every time the PC 50 reads through the endpoint 2 the current state of the adapter module. (iii) When the off hook event occurs, the host PC reads the endpoints 4 and 6 alternately at regular time intervals. (iv) If an on-hook event occurs, it reads the current state of the adapter module again through endpoint 2 and repeats steps (ii) and (iii). (v) Endpoint 1 must always send the current configuration state to the adapter module upon host request. (vi) Endpoint 2 must always send the current state to the adapter module upon host request. (vii) Endpoints 4 and 6 must send the length of voice data set to '0' if there is no current call or voice data at host request.

다음으로, 클라이언트 컴퓨터와 어댑터 모듈 사이의 데이터와 패킷에 대해 설명한다.Next, data and packets between the client computer and the adapter module will be described.

패킷은 '1'인 경우 HEX 값이 0x31이고(default Hex value), 출력 파이프 엔드포인트 1은 PC가 어댑터 모듈에게 보내는 설정 데이터 값으로서 총 21 바이트를 사용하며 3번째 바이트의 값에 따라 어댑터 모듈의 코덱 종류와 EEPROM 읽기, 쓰기를 선택한다. EEPROM 읽기인 경우 예비는 모두 0x00이 되며 입력 포트 엔드포인트 1로 EEPROM의 값을 호스트로 보낸다. EEPROM 쓰기인 경우 예비에 실제 쓰여질 바이트 값을 채우며 어댑터 모듈의 위의 값을 받아 순차적으로 EEPROM에 쓰기를 한다. 한편, 입력 포트 엔드포인트 1은 23 바이트를 사용하며 호스트가 어댑터 모듈에 현재의 설정 상태에 따라 애플리케이션에서 음성 데이터를 작성할 것인가를 참조하는 자료이다. 애플리케이션은 기동시 항상 이 포트를 통하여 어댑터 모듈의 설정상태를 체크한다. 따라서 어댑터 모듈은 이 포트 버퍼에 항상 자료 데이터를 보낼 준비를 하고 있어야 한다. 입력 파이트 엔드포인트 2는 44 바이트를 사용하며 온 후크일 때에는 현재 상태를 100㎳ 마다 체크하고 오프 후크 상태일 때에는 엔드포인트 2를 사용하지 않는다. 입력 파이프 엔드포인트 4, 5는 4∼64 바이트를 사용하며 오프 후크 상태일 때 항상 이 엔드포인트를 사용하여 음성 데이터를 전송하며, 음성 데이터가 없는 경우 유효 바이트 수를 0x00으로 하여 보낸다. 녹음 모듈의 버퍼 상태에 따라 FIFO의 레벨을 보낸다. 총 240㎳ 버퍼 관리하여 60㎳ 데이터가 있을 경우 '0', 180㎳ 데이터가 있을 경우 '3'을 보내어 호스트의 읽는 속도를 조절한다.If the packet is '1', the HEX value is 0x31 (default Hex value), and output pipe endpoint 1 uses a total of 21 bytes as the setting data value sent by the PC to the adapter module. Select the codec type and EEPROM reading and writing. For EEPROM reads, the spares are all 0x00 and send the value of EEPROM to input port endpoint 1 to the host. In case of EEPROM writing, it fills the byte value to be actually written in spare and receives the above value of adapter module and writes to EEPROM sequentially. Input port endpoint 1, on the other hand, uses 23 bytes and is a reference to whether the host writes voice data in the application based on the current configuration of the adapter module. The application always checks the configuration of the adapter module through this port at startup. Therefore, the adapter module should always be prepared to send data data to this port buffer. Input Fight Endpoint 2 uses 44 bytes and checks the current state every 100ms for on-hook and does not use Endpoint 2 for off-hook. The input pipe endpoints 4 and 5 use 4 to 64 bytes and always use this endpoint to transmit voice data when off hooked, or 0x00 as the effective byte count if no voice data is available. Sends the FIFO level according to the buffer status of the recording module. It manages total 240 관리 buffer and sends '0' if there is 60㎳ data and '3' if there is 180㎳ data to adjust the read speed of the host.

도 24는 데이터 녹음을 위한 어댑터 모듈의 내부 동작의 상태 천이도이다.24 is a state transition diagram of the internal operation of the adapter module for data recording.

USB 어댑터 모듈은 내부의 상태로 초기화, 라인 분리, 라인 연결(대기), 녹음의 4가지 상태를 가지며, 이 장치들간의 이동은 상태를 읽어 들인 값에 따라서 상태를 이동하며 동작한다. 도 24의 상태 천이도에서 장치분리를 검사하는 방법은 장치에서 상태나 값을 읽기 위해서 이용하는 DeviceControl(…) 함수가 리턴하는 값이 'false'인 경우 장치가 분리된 것으로 판단한다. 라인이 분리되었는지를 판단하기 위해서는, USB 장치의 상태 값을 읽었을 때 후크 상태를 나타내는 필드의 값이 '0x04'인 경우 어댑터 모듈의 종류에 따라 아래와 같은 상태를 나타낸다.The USB adapter module has four states: internal state, line disconnection, line connection (standby), and recording. The movement between these devices operates according to the state read value. The method for checking device detachment in the state transition diagram of FIG. 24 determines that the device is detached when the value returned by the DeviceControl (…) function used to read a state or a value from the device is 'false'. In order to determine whether the line is separated, when the value of the field indicating the hook state when the status value of the USB device is read is '0x04', the following status is displayed according to the type of the adapter module.

본 발명의 서비스에서 녹음을 수행하는 부분은 시간에 매우 민감하게 동작해야 하는 부분이다. 특히 녹음된 데이터는 압축과 동시에 암호화가 수행되어야 하는 특징이 있기 때문에, 서로 간섭을 받지 않고 상태의 검사와 혼합/암호화/파일 기록 등의 작업이 이루어지기 위해서 하드웨어에서 데이터를 읽어내는 쓰레드(thread)와 읽어낸 데이터를 처리하도록 쓰레드로 구성되어 있으며 2개의 쓰레드 간에는 메모리 풀을 공유하여 동작하도록 구성되어 있다.The part of performing recording in the service of the present invention is a part that must operate very sensitive to time. In particular, because recorded data has to be compressed and encrypted at the same time, it is a thread that reads data from hardware in order to check the status and mix / encrypt / write files without interfering with each other. It is composed of two threads to process the data read and the two threads share a memory pool.

녹음된 데이터는 한 블록 단위(120㎳ 동안의 데이터, 1920 바이트)로 데이터 처리 쓰레드에서 처리되며 이 때 후크 상태를 기준으로 녹음된 데이터를 처리하게 된다. 후크 상태가 오프 상태(통화중)인 경우 새로운 파일을 생성하며, 이 때 헤더 정보를 기록하게 된다. 파일이 이미 생성되어 있는 경우에는 데이터 압축을 수행하게 된다.The recorded data is processed in the data processing thread by one block unit (data for 120 ms, 1920 bytes), and the recorded data is processed based on the hook status. If the hook state is off (calling), a new file is created, and the header information is recorded. If the file has already been created, data compression will be performed.

음성 데이터 압축은 G.723.1 코덱을 이용하여 거의 실시간으로 압축하며 사용하는 압축률은 압축률 대비 음질이 우수한 10:1을 이용하게 된다. 1920 바이트의 데이터는 압축 후 96 바이트가 되며, 이 데이터를 열려진 파일의 뒷부분에 추가하는 작업을 후크 상태가 온 후크로 될 때까지 반복하여 모든 데이터가 파일에 쓰여지게 된다. 통화가 종료될 때 고객의 정보로 파악되어 저장된 데이터를 헤더 부분에 덮어쓰기를 수행한다.Voice data compression is compressed in near real time using G.723.1 codec, and the compression ratio used is 10: 1, which has better sound quality than compression ratio. The 1920 bytes of data are 96 bytes after compression, and the data is appended to the back of the open file until all the data is written to the file, until the hook state is on hook. At the end of the call, the data that was identified as the customer's information is overwritten in the header.

녹음된 모든 데이터는 녹음시간 정보를 특별한 계산 방법을 이용하여 킷값을 생성하게 되며, 이렇게 생성된 킷값을 룩업 테이블(look up table)의 인덱스 값으로 이용하여 저장되는 모든 데이터 값을 스크램블링한 후 파일에 저장하게 된다. 그러므로 파일의 일부분을 이용하여 원래의 통화 내역을 복원하는 것은 불가능하며, 또한 동일한 데이터를 발생시켜서 저장되는 파일의 구조를 해석하는 리버스 엔지니어링 역시 매우 어려운 작업이 된다.All the recorded data will generate the kit value by using the recording time information using a special calculation method, and using the generated kit value as the index value of the look up table, scramble all the stored data values into the file. Will be saved. Therefore, it is not possible to restore the original call history using a part of the file, and reverse engineering to interpret the structure of the file that generates and stores the same data is also very difficult.

본 발명에 따르면, 전화통화를 체계적으로 관리할 수 있고, 전화통화 내역 및 사용자를 체계적으로 관리할 수 있으며 전화 수발신 업무의 자동화로 업무효율성이 크게 향상된다.According to the present invention, the telephone call can be managed systematically, the telephone call history and the user can be systematically managed, and the work efficiency is greatly improved by the automation of the telephone call receiving and receiving task.

또한, 본 발명에서는 전화통화 관리를 ASP 형태로 구현함으로써 초기 투자비용 및 유지비용을 절감할 수 있다.In addition, the present invention can implement the telephone call management in the form of ASP can reduce the initial investment cost and maintenance cost.

도 1은 본 발명의 통화관리 서비스가 적용되는 전체 네트워크의 구조를 나타내는 블록도.1 is a block diagram showing the structure of the entire network to which the call management service of the present invention is applied.

도 2는 본 발명의 일구현예에 따른 통화관리 서버 시스템의 전체 구조를 나타내는 블록도.Figure 2 is a block diagram showing the overall structure of a call management server system according to an embodiment of the present invention.

도 3은 본 발명의 통화관리 서버 시스템에서 이루어지는 레코딩 프로세스를 나타내는 블록도.3 is a block diagram showing a recording process performed in the call management server system of the present invention.

도 4는 본 발명의 통화관리 서버 시스템에서 데이터 재생을 위한 동작의 프로세스를 나타내는 블록도.4 is a block diagram showing a process of an operation for reproducing data in a call management server system of the present invention.

도 5는 본 발명의 통화관리 서버 시스템에서 수행되는 조회 및 청취 프로세스를 나타내는 블록도.5 is a block diagram showing an inquiry and listening process performed in the call management server system of the present invention.

도 6은 본 발명의 통화관리 서버 시스템에서 수행되는 데이터 삭제 프로세스를 나타내는 블록도.Figure 6 is a block diagram showing a data deletion process performed in the call management server system of the present invention.

도 7은 본 발명의 통화관리 서버 시스템에서 수행되는 데이터 백업 요청 프로세스를 나타내는 블록도.7 is a block diagram showing a data backup request process performed in the call management server system of the present invention.

도 8은 본 발명의 통화관리 서버 시스템에서 수행되는 데이터 백업목록 요청 프로세스를 나타내는 블록도. 8 is a block diagram showing a data backup list request process performed in the call management server system of the present invention.

도 9는 본 발명의 통화관리 서버 시스템에서 수행되는 데이터 다운로드 프로세스를 나타내는 블록도.9 is a block diagram showing a data download process performed in the call management server system of the present invention.

도 10은 본 발명의 통화관리 서비스에 이용될 수 있는 클라이언트 프로그램의 전체 구조와 동작을 나타내는 블록도.Figure 10 is a block diagram showing the overall structure and operation of a client program that can be used in the call management service of the present invention.

도 11은 본 발명의 통화관리 서비스에 이용될 수 있는 전화통화 관리 프로그램과 통화 검색기의 전체 구조와 동작을 나타내는 블록도.Figure 11 is a block diagram showing the overall structure and operation of a telephone call management program and call finder that can be used in the call management service of the present invention.

도 12는 도 11의 전화통화 관리 프로그램의 기능을 나타내는 블록도.FIG. 12 is a block diagram showing the functions of the telephone call management program of FIG.

도 13은 도 11의 통화 검색기의 기능을 나타내는 블록도.FIG. 13 is a block diagram illustrating the functionality of the call finder of FIG.

도 14는 본 발명의 통화관리 서비스에서 일어나는 클라이언트 프로그램의 인터페이스 구조를 나타내는 블록도.14 is a block diagram showing an interface structure of a client program occurring in the call management service of the present invention.

도 15는 본 발명의 통화관리 서비스에서 일어나는 관리자 인터페이스 구조를 나타내는 블록도.15 is a block diagram showing a manager interface structure occurring in the call management service of the present invention.

도 16은 본 발명의 통화관리 서비스에서 일어나는 녹음 파일 청취 프로세스를 나타내는 블록도.16 is a block diagram illustrating a recording file listening process occurring in the call management service of the present invention.

도 17은 본 발명의 통화관리 서비스에서 일어나는 녹음 파일 다운로드 프로세스를 나타내는 블록도.17 is a block diagram showing a recording file download process occurring in the call management service of the present invention.

도 18은 상태 점검 루틴의 전체 동작을 나타내는 블록도.18 is a block diagram showing overall operation of a state check routine;

도 19는 본 발명의 통화관리 서비스에 사용하기에 적합한 어댑터 모듈의 내부 구조를 나타내느 블록 회로도.19 is a block circuit diagram showing the internal structure of an adapter module suitable for use with the call management service of the present invention.

도 20a와 도 20b는 본 발명의 일구현예에 따른 어댑터 모듈의 외부 구조를 나타내는 사시도.20A and 20B are perspective views illustrating an external structure of an adapter module according to an embodiment of the present invention.

도 21은 엔드포인트의 구조와 용도를 나타내는 도면.21 illustrates the structure and use of an endpoint.

도 22는 클라이언트 컴퓨터와 어댑터 모듈 사이의 데이터 처리 흐름을 보여주는 도면.22 shows a data processing flow between a client computer and an adapter module.

도 23은 클라이언트 컴퓨터와 어댑터모듈 사이의 데이터, 패킷 구조를 나타내는 도면.Fig. 23 is a diagram showing a data and packet structure between a client computer and an adapter module.

도 24는 데이터 녹음을 위한 어댑터 모듈의 내부 동작의 상태 천이도.24 is a state transition diagram of the internal operation of the adapter module for data recording.

<도면의 주요 부호에 대한 설명><Description of Major Symbols in Drawing>

30: 외부 전화기 50: 클라이언트 컴퓨터30: external telephone 50: client computer

52: 클라이언트 전화기 70: 어댑터 모듈52: client phone 70: adapter module

100: 통화관리 서버 시스템 120: 웹 애플리케이션 서버100: call management server system 120: web application server

130: 데이터베이스 서버 140: 아카이브 서버130: database server 140: archive server

150: 전자우편 전송 서버 160: 단문 메시지 게이트웨이150: e-mail transmission server 160: short message gateway

170: 유지관리 서버 300: 전화통화 관리 프로그램170: maintenance server 300: telephone call management program

400: 통화 검색기400: call finder

Claims (1)

클라이언트 컴퓨터와 연결되어 클라이언트의 전화통화를 관리하는 서버 시스템으로서,A server system connected to a client computer to manage client telephone calls. 여러 클라이언트의 요청에 대한 게이트웨이 역할을 하는 레코딩 서버로서, 클라이언트의 로그인 처리, 클라이언트 녹음시간 동기화를 위한 서버 시간 요청 및 전달, 녹음된 데이터 수신, 수신한 데이터의 데이터베이스 전송, 수신한 데이터의 데이터베이스 추가 및 갱신의 기능을 하는 레코딩 서버와, A recording server that acts as a gateway to requests from multiple clients, including client login processing, server time requests and forwarding for synchronizing client recording time, receiving recorded data, sending a database of received data, adding a database of received data, and Recording server which functions as update, 상기 클라이언트에게 웹 환경을 제공하며 녹음내용 검색, 삭제, 녹음 내용 청취, 녹음된 내용의 배업 기능을 제공하는 웹 애플리케이션 서버와,A web application server providing a web environment to the client and providing a function of searching, deleting, listening to recordings, and distributing recordings; 데이터의 보간, 재생, 삭제, 백업을 지원하는 아카이브 서버를 포함하는 전화 통화 관리 서버 시스템.Telephone call management server system that includes an archive server that supports interpolation, playback, deletion, and backup of data.
KR1020040022174A 2004-03-31 2004-03-31 Telephony Management System KR101047861B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040022174A KR101047861B1 (en) 2004-03-31 2004-03-31 Telephony Management System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040022174A KR101047861B1 (en) 2004-03-31 2004-03-31 Telephony Management System

Publications (2)

Publication Number Publication Date
KR20050097123A true KR20050097123A (en) 2005-10-07
KR101047861B1 KR101047861B1 (en) 2011-07-08

Family

ID=37276984

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040022174A KR101047861B1 (en) 2004-03-31 2004-03-31 Telephony Management System

Country Status (1)

Country Link
KR (1) KR101047861B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101501131B1 (en) * 2014-04-25 2015-03-11 주식회사 디오티스 Method for Synchronizing Service between Telephone Network and Data Network
WO2015195577A1 (en) * 2014-06-16 2015-12-23 Ponce Karen Communication logging system
CN112540876A (en) * 2020-12-21 2021-03-23 中国人民解放军61623部队 Remote disaster recovery backup method and system for artificial telephone exchange

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010081184A (en) * 2000-02-10 2001-08-29 허일구 A system which records telephone message
KR100466859B1 (en) * 2002-07-09 2005-01-15 에스케이 텔레콤주식회사 System for Storing Voice over Telephone for Use in Mobile Communication and Method thereof
KR100417627B1 (en) 2003-09-26 2004-02-05 강희복 System for recording a teleohone voice

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101501131B1 (en) * 2014-04-25 2015-03-11 주식회사 디오티스 Method for Synchronizing Service between Telephone Network and Data Network
WO2015195577A1 (en) * 2014-06-16 2015-12-23 Ponce Karen Communication logging system
CN112540876A (en) * 2020-12-21 2021-03-23 中国人民解放军61623部队 Remote disaster recovery backup method and system for artificial telephone exchange

Also Published As

Publication number Publication date
KR101047861B1 (en) 2011-07-08

Similar Documents

Publication Publication Date Title
JP4236032B2 (en) Internet communication system, Internet communication method, session management server, and communication adapter
US20020019225A1 (en) Communication control system using telephone directory management system of mobile phone
KR100445284B1 (en) An internet telephone network system and a network access method and a telephone equipment adapter
US6597687B1 (en) Method and apparatus for switching voice calls using a computer system
US6282269B1 (en) Voice mail on the internet
US8214338B1 (en) Methods and systems for media storage
CA2574484C (en) System and method for voice-mail and e-mail synchronization
US20010005415A1 (en) Method and apparatus for initiating telephone calls using a data network
US6928479B1 (en) System computer product and method for providing a private communication portal
JP2730895B2 (en) Method and apparatus for providing call transfer function
US20030002632A1 (en) Localized voice mail system
KR19980042933A (en) Method and apparatus for delivering data provided by information provider using public switched network
JPH08263399A (en) Method and system for accumulation of information in communication network
US7100166B2 (en) Network application decentralized execution system, terminal equipment and network application execution method therefor, and operation method for terminal equipment
CN1764217B (en) System for distributing VXML capabilities for execution on client devices
US6879674B2 (en) System and method for providing an automatic telephone call back to a telephone line being used to access a computer network
US7302051B1 (en) System and method for providing an automatic telephone call back from information provided at a data terminal
US20070274494A1 (en) Computer-readable recording medium having recorded therein telephone-call connection program, telephone-call connection method, and telephone-call connection apparatus
US7231021B2 (en) Distributed customizable voicemail system
CN101394436A (en) Click dialing method, system and customer end based on fixed network
US9185209B2 (en) Call-details recording device and call-details recording method
KR101047861B1 (en) Telephony Management System
US7280642B2 (en) Status monitoring system utilizing an RFID monitoring system
CN101534354A (en) Call-center system
KR100954515B1 (en) Recording and Replay Device for voice and screen

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150622

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160627

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170703

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180702

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190702

Year of fee payment: 9