KR101159313B1 - 고기능 컴퓨터 텔레포니 통합 및 상호 작용 시스템과 그방법 - Google Patents

고기능 컴퓨터 텔레포니 통합 및 상호 작용 시스템과 그방법 Download PDF

Info

Publication number
KR101159313B1
KR101159313B1 KR1020040068470A KR20040068470A KR101159313B1 KR 101159313 B1 KR101159313 B1 KR 101159313B1 KR 1020040068470 A KR1020040068470 A KR 1020040068470A KR 20040068470 A KR20040068470 A KR 20040068470A KR 101159313 B1 KR101159313 B1 KR 101159313B1
Authority
KR
South Korea
Prior art keywords
client
server
pbx
telephone
phone
Prior art date
Application number
KR1020040068470A
Other languages
English (en)
Other versions
KR20050021966A (ko
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 마이크로소프트 코포레이션
Publication of KR20050021966A publication Critical patent/KR20050021966A/ko
Application granted granted Critical
Publication of KR101159313B1 publication Critical patent/KR101159313B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42314Systems providing special services or facilities to subscribers in private branch exchanges
    • H04M3/42323PBX's with CTI arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42229Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location
    • H04M3/42263Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location where the same subscriber uses different terminals, i.e. nomadism
    • H04M3/42272Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location where the same subscriber uses different terminals, i.e. nomadism whereby the subscriber registers to the terminals for personalised service provision
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5125Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing with remote located operators

Abstract

고기능 컴퓨터 텔레포니 통합 시스템은 컴퓨터 네트워크 상에서 클라이언트 컴퓨터와 PBX(private branch exchange)의 상호 작용 및 통합을 용이하게 한다. ET(enhanced telephony) 서버는 PBX에 접속되고, 사용자의 컴퓨터 상의 ET 클라이언트의 모든 실행 인스턴스들에 접속된다. ET 서버는 ET 클라이언트들과 PBX 사이에서 프록시로서 동작한다. ET 클라이언트는 소정의 전화 내선에 대해 ET 서버에 등록된다. 그러면, ET 서버는 등록된 ET 클라이언트로부터의 전화 동작 요청(예컨대, 전화 걸기 등)을 전화 내선을 서비스하는 PBX로 전송할 수 있다. 또한, ET 서버는 PBX로부터의 전화 이벤트(예컨대, 걸려오는 전화)를 등록된 모든 클라이언트로 중계해준다. ET 서버는 전화와 퍼스널 컴퓨터 기능부의 심리스 통합을 용이하게 하여, 풍부한 사용자 제어의 컴퓨터-전화 통합을 사용자에게 제공한다.
Figure R1020040068470
컴퓨터 텔레포니, 심리스 통합, EH, PBX, 상호 작용, 서버, 클라이언트

Description

고기능 컴퓨터 텔레포니 통합 및 상호 작용 시스템과 그 방법{SYSTEM AND METHOD FOR ENHANCED COMPUTER TELEPHONY INTEGRATION AND INTERACTION}
도 1은 ET 시스템 및 방법이 구현될 수 있는 적절한 컴퓨팅 시스템 환경의 일례를 도시하는 도면.
도 2는 컴퓨팅 환경과 전화 환경 간의 일반적인 구성을 도시하는 개략적인 블럭도.
도 3은 엔터프라이즈 환경에서의 ET 시스템 및 방법의 전형적인 구현의 개략적인 개관으로서, 오직 예시를 목적으로 도시된 도면.
도 4a는 ET 서버가 PBX 데이터를, ET 클라이언트가 이해하는 보다 높은 레벨의 데이터로 번역하는 것을 예시하는 블럭도.
도 4b는 ET 서버가, ET 클라이언트가 이해하는 보다 높은 레벨의 데이터를, PBX가 이해하는 보다 낮은 레벨의 PBX 데이터로 번역하는 것을 예시하는 블럭도.
도 5는 스위치 데이터베이스에 포함될 수 있는 PBX 전용 정보의 구현예를 도시하는 도면.
도 6은 ET 방법의 일반적인 개요를 예시하는 개략적인 흐름도.
도 7은 내선 제어 프로세스의 일반적인 개요를 예시하는 개략적인 흐름도.
도 8은 ET 클라이언트 통지 프로세스의 일반적인 개요를 예시하는 개략적인 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
300, 330, 335, 340 : ET 서버
305, 315, 320, 325 : PBX
310 : PSTN
345, 365 : 전화
350, 355, 360 : ET 클라이언트
375 : 엔터프라이즈 디렉토리 서버
380 : ET 서비스 서버
본 발명은 일반적으로 통합 컴퓨터 텔레포니에 관한 것으로서, 보다 상세히는, 서버 컴퓨터가 전화 스위칭 장치와 인터페이싱할 수 있으며 클라이언트 컴퓨터가 전화 및 퍼스널 컴퓨터 기능부와 심리스하게 통합할 수 있도록 하여, 풍부한 사용자 제어의 컴퓨터-전화 통합을 제공하는 고기능 컴퓨터 텔레포니 통합 시스템 및 방법에 관한 것이다.
퍼스널 컴퓨터(personal computer : PC)와 전화는 현대 생활에서는 없어서는 안될 장치이다. PC와 전화 둘 다는, 지구 상의 실질적으로 어느 곳에 있는 사람과도 즉시 통신할 수 있게 하는 기능을 제공한다. 또한, PC는, 정보와 데이터를 처 리하며 이러한 정보와 데이터와의 사용자 상호 작용(user interaction)을 제공할 수 있게 하는 기능을 제공하여, 현대 사회에 대변혁을 일으켰다. 또, PC는 다른 장치를 제어하는 기능도 갖고 있다. 예컨대, 이러한 기능으로는, 사용자로 하여금 사용자 인터페이스(흔히, 그래픽 사용자 인터페이스)를 통해서 주변 장치를 원격 제어할 수 있게 하는 것이 있다. 그러나, 흔히 PC와 전화가 한 방에 함께 설치되지만, 이 두 장치의 장점들을 완전히 이용할 수 있도록 이 두 장치의 유익한 통합을 제공하는 시도는 현재 거의 이루어지지 않고 있다.
PC와 전화를 통합하는 시도는 몇몇 있었지만, 시장에서 거의 성공을 얻지 못했다. 이러한 실패는, 예컨대 조잡한 사용자 인터페이스 디자인 등의 제품 디자인과, 고비용의 추가적인 하드웨어에 대한 필요성과, 사용자에 대한 비현실적인 기대 사항의 문제들에 일부 기인한다. 또한, 이러한 제품들은 사용자가 전화의 물리적 위치로부터 떨어진 위치에서 전화를 할 수 있게 하지 못한다.
이러한 제품의 일례로는, Microsoft Windows
Figure 112004039027751-pat00001
95에 포함되어 있는 Microsoft
Figure 112004039027751-pat00002
Phone이 있다. Microsoft
Figure 112004039027751-pat00003
Phone은, 사용자가 자신의 컴퓨터를 스피커폰으로서 사용할 수 있게 하는, 소프트웨어만으로 구현된(software-only) 스피커폰 자동 응답기이다. 그러나, Microsoft
Figure 112004039027751-pat00004
Phone은 컴퓨터의 전원이 항상 켜 있어야 할 필요가 있었고(이는 Windows
Figure 112004039027751-pat00005
95 시대에서의 비현실적 기대 사항이었다), 추가의 하드웨어가 필요하여 Windows
Figure 112004039027751-pat00006
95에 대해 비용을 추가시키는 기능부가 있었다. 또한, Microsoft
Figure 112004039027751-pat00007
Phone은 기능도 제한적이었다.
PC와 전화를 통합한 제품의 또 다른 일례로는 IBM
Figure 112004039027751-pat00008
Realphone이 있다. IBM
Figure 112004039027751-pat00009
Realphone은 비즈니스 전화 표준(standard business telephone)에 따라 모델링된 전화 다이얼 프로그램이다. Realphone 인터페이스는 디스플레이부에 표시되는 비즈니스 전화의 영상이다. 그러나, 문제점들 중 하나는 전화와 컴퓨터의 유리한 협동 작용이 병합되지 못하였다는 점이다. 예를 들어, 이 인터페이스는 사용자로 하여금 (마우스 등의) 입력 장치를 사용하여 마치 실제 전화를 다이얼하는 것처럼 화면 상의 전화 키패드를 눌러서 원하는 전화 번호를 다이얼링하게 한다. 그러나, 이러한 종류의 인터페이스는 사용자로 하여금 귀찮게 하면서 시간도 소비하게 만들어, 다루기가 그다지 좋지 않다.
콜 센터 환경에서는 전화와 컴퓨터를 통합한 제품이 큰 성공을 얻었다. 예를 들어, (고객 지원 센터, 텔레마케팅 센터 등의) 콜 센터 환경에서는 흔히, 전화 큐(queue)의 표시(큐 내의 통화자들의 순서), 통화 대기 수의 표시, 및 통화를 판매인에게 돌려주는 기능 등의 전화 정보를 제공하는 소프트웨어 애플리케이션을 구비한다. 그러나, 이러한 소프트웨어 애플리케이션은 고객 서비스 청취용으로 설계된 것이어서, 개인 사용자의 요구를 만족시킨다거나 물리적인 전화와 소프트웨어 인터페이스의 사용자 편의의 통합을 제공하는 시도는 거의 없고, 또는 아예 있지도 않다. 콜 센터 청취의 경우, 통화 처리량을 높이고 큐 내의 통화를 신속히 할당하는 데에 우선순위를 두는 반면, 사용자 경험(user experience)에는 두지 않는다. 또한, 콜 센터 환경의 전화 애플리케이션은, 고품질의 사용자 경험에 필수적인, 최종 사용자에 의한 기능 및 제어 기능부가 부족하다.
그러므로, 사용자가 PC를 사용하여 전화와 심리스하게 상호 작용할 수 있게 하는 사용자 인터페이스를 가능케 하는 고기능의 컴퓨터 텔레포니 통합 시스템 및 방법이 필요하다. 이러한 고기능 컴퓨터 텔레포니 통합 시스템 및 방법에 의하면, 풍부하고 다양한 기능을 용이하게 다룰 수 있고, 컴퓨터의 처리 능력을 활용하여 전화의 성능을 증진시킨다. 또한, 고기능 컴퓨터 텔레포니 통합 시스템 및 방법은, 이 두 장치 간의 경계가 사용자에 의해 인식되지 않을 정도의 PC와 전화 간의 밀접한 결합(tight coupling)을 제공하며, 사용자의 PC 기능부가 풍부한 사용자 제어의 컴퓨터-전화 통합을 제공하는 것을 용이하게 한다.
본 명세서에 개시되는 발명은, 컴퓨터 네트워크 상의 클라이언트 컴퓨터와의 사설 구내 교환기(private branch exchange : PBX)의 상호 작용 및 통합을 용이하게 하는 고기능 컴퓨터 텔레포니 통합 시스템 및 방법을 포함한다. 고기능 텔레포니(enhanced telephony : ET) 서버는, ET 클라이언트 소프트웨어가 실행되는 네트워크 상의 클라이언트 컴퓨터와, 사업자용 전화 서비스를 처리하는 사설 구내 교환기(PBX) 사이에서 프록시로서 동작한다. 일반적으로, 소정 범위의 내선(extension)의 경우, ET 서버에는 하나 이상의 ET 클라이언트가 등록된다. 전형적인 애플리케이션은 내선에 접속된 사용자 사무실의 전화와 내선에 등록되어 있는 모든 사용자 컴퓨터를 수용한다. ET 서버는, 전화 동작 요구(예컨대, 전화 걸기)를, 등록된 ET 클라이언트로부터, 내선을 서비스하는 PBX로 전송한다. 또한, ET 서버는 전화 이벤트(예컨대, 걸려온 전화)를 PBX로부터 등록된 모든 클라이언트로 중계한다. ET 서버는 전화와 PC 기능부의 심리스 통합을 용이하게 하여, 사용자에게 풍부한 사용자 제어의 컴퓨터-전화 통합을 제공한다.
ET 시스템 및 방법은, PC와 전화를 통합하는 종래의 시도에 있었던 문제들을 해결한다. 특히, ET 서버는, PC가 통상의 전화보다 훨씬 높은 처리 능력을 갖고 다양한 데이터에의 훨씬 폭넓은 액세스를 갖는다는 사실을 활용하여, ET 클라이언트 상의 사용자를 위한 다양하고 풍부한 기능을 용이하게 한다. 이러한 처리 능력과 데이터 액세스는 전화 성능과 기능을 크게 향상시켜 사용자를 유리하게 해 준다. 또한, ET 서버는 사용자가 PC와 전화 간에 어떤 경계도 인식하지 않을 수 있도록 PC와 전화 간에 긴밀한 결합을 제공한다. 이러한 심리스 통합과 향상된 기능은 사용자 경험을 크게 단순화시킴과 함께, 향상시킬 수 있다.
ET 시스템과 방법은 사용자가 전화로부터 물리적으로 떨어진 위치에 있게 할 수 있고, 또 전화를 ET 서버에 접속된 ET 클라이언트에서 제어할 수 있게 해 준다. 이를 위해 필요한 것은, ET 클라이언트와 ET 서버가 네트워크에 접속되어 있기만 하면 된다. 따라서, 사용자는 네트워크에 접속되어 있는 한, 실질적으로 어느 곳에서든지 전화를 제어할 수 있다. ET 시스템 및 방법은 셀룰러 폰, 무선 폰, 탁상용 전화 등을 포함하여 단일의 전화 또는 복수개의 전화를 제어 및 관리하도록 설계되었다. 또한, 이 전화들은 이동 전화, 가정용 전화, 업무용 전화 등과 같이 여러 다른 위치에 설치될 수 있다.
본 발명은 본 발명의 특징들을 예시하는 이하의 설명과 첨부 도면을 참조하 여 보다 잘 이해될 수 있다. 첨부 도면 및 이하의 상세한 설명으로부터 그 밖의 특징들과 이점들이 파악될 수 있다. 첨부 도면은 본 발명의 원리를 예를 들어 나타낸다.
이제 도면을 참조하면, 도면 전반에 있어서 대응하는 부분들에는 동일한 참조 번호가 부여되어 있다.
본 발명에 대한 이하의 설명에 있어서, 본 발명의 일부를 구성하며, 본 발명이 실시될 수 있는 특정 구현을 예시로서 도시하고 있는 첨부 도면을 참조한다. 본 발명의 범위를 일탈하지 않는 한, 그 외의 다른 실시예들이 이용될 수 있으며, 구적인 변경을 이루어질 수 있음을 이해하여야 한다.
Ⅰ. 도입
전화와 퍼스널 컴퓨터(PC)는 일상에서 주요한 부분을 차치함에도 불구하고, 이 두 장치는 주로 서로 분리된 채로 유지되어 왔다. 텔레마케팅 센터와 고객 서비스 센터와 같은 영역에서 사용될 수 있도록 이 두 장치를 결합하는 특수화된 몇몇 애플리케이션이 존재한다. 그러나, 개인적인 사용과 가정용 사용을 위한 애플리케이션은 용이하게 이용 가능하지 않다. 본 명세서에서 설명되는 ET 시스템 및 방법은 클라이언트 컴퓨터 상에서 실행되는 풍부한 사용자 인터페이스 기능부의 사용을 용이하게 한다. 특히, ET 시스템 및 방법은 전화에 대한 클라이언트 컴퓨터 제어 및 내선에 관한 전화 이벤트의 클라이언트 컴퓨터에 의한 통지를 용이하게 한다. 이러한 기능은 컴퓨터 텔레포니가 데스크탑 PC에 도입되게 함으로써, 일반적 용도의 컴퓨터 및 전화 기능부가 통합되어, 사용자에게 만족스런 상호 작용 경험을 제공한다.
Ⅱ. ET 환경
ET 시스템 및 방법은 통신 및 컴퓨팅 복합 환경에서 동작하도록 설계된 것이다. 특히, ET 시스템 및 방법은 컴퓨팅 디바이스, 바람직하게는 서버 컴퓨팅 디바이스 상에 구현된다. 서버 컴퓨팅 디바이스 상에서 실행되는 ET 시스템 및 방법은 클라이언트 컴퓨팅 디바이스 상에서 실행되는 모든 ET 인스턴스와 네트워크 통신할 뿐만 아니라 PBX와도 통신한다. ET 시스템 및 방법은 ET 클라이언트와 PBX 사이에서 프록시로서 동작한다. 예를 들어, ET 시스템 및 방법은 요구를 클라이언트로부터 PBX로 전송하고, 또 전화 이벤트를 PBX로부터 적절한 클라이언트로 중계한다.
이하의 논의는, ET 시스템과 방법이 구현될 수 있는 적절한 컴퓨팅 환경의 간단하고 개략적인 설명을 제공하도록 의도된 것이다. 도 1은 ET 시스템 및 방법이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(100)의 일례를 도시한다. 이 컴퓨팅 시스템 환경(100)은 적절한 컴퓨팅 환경의 일례일 뿐이고, 본 발명의 사용이나 기능의 범위에 어떤 제한을 가하도록 의도된 것이 아니다. 컴퓨팅 환경(100)이 예시적인 동작 환경(100)에 도시되어 있는 구성 요소들 중 임의의 하나 또는 그 조합에 대하여 어떠한 종속성이나 요구조건을 갖는 것으로 해석되어서는 안된다.
ET 시스템 및 방법은 수많은 다른 범용 또는 전용 컴퓨팅 시스템 환경 또는 구성과 함께 동작할 수 있다. ET 시스템 및 방법과 사용되기에 적절할 수 있는 공지된 컴퓨팅 시스템, 환경, 및/또는 구성의 예로는, 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드, 랩탑, 또는 이동 컴퓨터, 또는 셀룰러 폰, PDA, 셀룰러 폰과 PDA를 병합 한 기기, 멀티프로세서 시스템, 마이크로프로세서 기반 시스템, 셋탑박스, 프로그램 가능형 가전제품, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상술한 시스템들과 디바이스들 중 임의의 것을 포함하는 분산형 컴퓨팅 환경 등이 포함되지만, 이에 한정되지는 않는다.
ET 시스템 및 방법은 일반적으로 컴퓨터에 의해 실행되는, 프로그램 모듈 등의 컴퓨터 실행 가능 명령어에 관하여 기술될 수 있다. 일반적으로, 프로그램 모듈은, 특정한 태스크를 수행하거나 특정한 추상 데이터형을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 또한, ET 시스템 및 방법은 통신 네트워크를 통해 링크된 원격 프로세싱 디바이스들에 의해 태스크가 수행되는 분산형 컴퓨팅 환경에서 실시될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은, 메모리 저장 장치를 포함하는 로컬 컴퓨터 저장 매체와 원격 컴퓨터 저장 매체 양측 모두에 설치될 수 있다. 도 1을 참조하면, ET 시스템 및 방법을 구현하기 위한 예시적인 시스템은 컴퓨터(110) 형태의 범용 컴퓨팅 디바이스를 포함한다.
컴퓨터(110)의 구성은 프로세싱 유닛(120), 시스템 메모리(130), 및 시스템 메모리를 포함한 각종 시스템 구성을 프로세싱 유닛(120)에 연결시키는 시스템 버스(121)를 포함하지만, 이에 한정되지는 않는다. 시스템 버스(121)는, 각종 버스 아키텍처들 중 임의의 것을 이용하는 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 로컬 버스를 포함한 여러 종류의 버스 구조들 중 임의의 것일 수 있다. 예를 들어, 이러한 아키텍처로는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 및 (메자닌(Messanine 버스라고도 알려진) PCI(Peripheral Component Interconnect) 버스가 포함되지만, 이에 한정되지는 않는다.
통상적으로, 컴퓨터(110)는 다양한 컴퓨터 판독 가능 매체를 포함한다. 컴퓨터 판독 가능 매체는 컴퓨터(110)에 의해 액세스 가능한 임의의 이용 가능 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체 모두를 포함한다. 예를 들어, 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체와 통신 매체를 포함할 수 있지만, 이에 한정되지는 않는다. 컴퓨터 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 기타 데이터 등의 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함하지만, 이에 한정되지는 않는다.
컴퓨터 저장 매체는 RAM, ROM, EERPOM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 디스크 저장 매체, 자기 카셋트, 자기 테이프, 자기 디스크 저장 장치, 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스될 수 있고 희망하는 정보를 저장하는 데 사용될 수 있는 임의의 다른 매체를 포함할 수 있지만, 이에 한정되지는 않는다. 통신 매체는 통상적으로, 반송파 또는 다른 전송 메커니즘과 같이 변조된 데이터 신호에 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 기타 데이터를 구현하며, 임의의 전달 매체를 포함한다.
"변조된 데이터 신호"라는 함은 정보를 신호 내에 인코딩하는 방식으로 그 특성들 중 하나 이상이 셋팅되거나 변경된 신호를 의미함을 유의한다. 예를 들어, 통신 매체는 무선 네트워크나 직접 유선 접속 등의 무선 매체, 및 음향, RF, 적외선, 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지는 않는다. 상술한 것들 중 임의의 것의 조합도 컴퓨터 판독 가능 매체의 범위 내로 포함되어야 한다.
시스템 메모리(130)는 ROM(131), RAM(132) 등의 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. BIOS(basic input/output system)(133)는 시동(start-up)과 같은 때에 컴퓨터(110) 내의 요소들 간의 정보 전송을 돕는 기본 루틴을 포함하며, 통상적으로 ROM(131)에 저장된다. RAM(132)은 통상적으로 프로세싱 유닛(120)에 의해 즉시 액세스 가능하고/하거나 현재 동작 중인 데이터 및/또는 프로그램 모듈을 포함한다. 예를 들어, 도 1은 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 다른 프로그램 모듈(136), 및 프로그램 데이터(137)를 도시하고 있지만, 이에 한정되지 않는다. 또한, 컴퓨터(110)는 그 외 다른 분리형/비분리형, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수 있다. 오직 예로서, 도 1은 비분리형 비휘발성 자기 매체에 대한 판독/기록을 수행하는 하드 디스크 드라이브(151)와, 분리형 비휘발성 자기 디스크(152)에 대한 판독/기록을 수행하는 자기 디스크 드라이브(151)와, CD-ROM 또는 기타 광 매체 등의 분리형 비휘발성 광 디스크(156)에 대한 판독/기록을 수행하는 광 디스크 드라이브(155)를 포함한다.
예시적인 동작 환경에 사용될 수 있는 그 외 다른 분리형/비분리형 휘발성/ 비휘발성 컴퓨터 저장 매체로는 자기 테이프 카셋트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체 RAM, 고체 ROM 등이 포함되지만, 이에 한정되지는 않는다. 하드 디스크 드라이브(141)는 전형적으로 인터페이스(140) 등의 비분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속되고, 자기 디스크 드라이브(151)와 광 디스크 드라이브(155)는 전형적으로 인터페이스(150) 등의 분리형 메모리 인터페이스를 통해 시스템 버스(121)에 접속된다.
상술되고 도 1에 도시된 드라이브들과 이에 관련된 컴퓨터 저장 매체들은 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 컴퓨터(110)용의 기타 데이터의 저장을 제공한다. 도 1에는, 예로서, 하드 디스크 드라이브(151)가 오퍼레이팅 시스템(144), 애플리케이션 프로그램(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 이 구성 요소들은 오퍼레이팅 시스템(134), 애플리케이션 프로그램(135), 기타 프로그램 모듈(136), 및 프로그램 데이터(137)과 동일한 것일 수도 있고, 상이한 것일 수 있음을 유의한다. 오퍼레이팅 시스템(144), 애플리케이션 프로그램 모듈(145), 기타 프로그램 모듈(146), 및 프로그램 데이터(147)는 최소한 이들이 상이한 복사본임을 나타내기 위해 도면에서 상이한 참조번호가 부여되어 있다. 사용자는 키보드(162), (일반적으로 마우스, 트랙볼 또는 터치 패드라도 불리우는) 포인팅 디바이스(161) 등의 입력 장치를 통해서 컴퓨터(110)에 명령 및 정보를 입력할 수 있다.
다른 입력 장치(도시되지 않음)로는, 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너, 무선 수신기, 또는 텔레비전 또는 방송 비디오 수신기 등이 포 함될 수 있다. 상기 및 기타 입력 장치들은 흔히 시스템 버스(121)에 접속되어 있는 사용자 입력 인터페이스(160)를 통해 프로세싱 유닛(120)에 접속되지만, 예컨대 병렬 포트, 게임 포트, 또는 USB(universal serial bus) 등의 그 외 다른 인터페이스 및 버스 구조에 의해 접속될 수도 있다. 또한, 모니터(191) 또는 다른 종류의 디스플레이 디바이스가 비디오 인터페이스(190) 등의 인터페이스를 통해 시스템 버스(121)에 접속된다. 모니터(191) 외에도, 컴퓨터에는 스피커(197), 프린터(196) 등의 다른 주변 출력 장치가 포함될 수 있고, 이 주변 출력 장치는 출력 주변 인터페이스(195)를 통해 접속될 수 있다.
컴퓨터(110)는 원격 컴퓨터(180) 등의 하나 이상의 원격 컴퓨터에의 논리적 접속로를 사용하는 네트워킹 환경에서 동작할 수 있다. 원격 컴퓨터(180)는 퍼스널 컴퓨터, 서버, 라우터, 네트워크 PC, 피어(peer) 디바이스, 또는 다른 일반 네트워크 노드일 수 있으며, 도 1에는 메모리 저장 장치(181)만이 도시되어 있지만, 통상적으로는 컴퓨터(110)에 대하여 상술한 구성 요소들 중 다수 또는 전부를 포함한다. 도 1에 도시된 논리적 접속로로는 LAN(local area network)(171) 및 WAN(wide area network)(173)이 포함되지만, 다른 네트워크가 포함될 수도 있다. 이러한 네트워킹 환경은 사무실, 기업 간 컴퓨터 네트워크, 인트라넷, 및 인터넷에서는 일반적인 것이다.
LAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(110)는 네트워크 인터페이스나 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용되는 경우, 컴퓨터(110)는 통상적으로 인터넷 등의 WAN(173)을 통한 통신을 확립하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 모뎀(172)은 외장형일 수도 있고 내장형일 수도 있으며, 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121)에 접속될 수 있다. 네트워킹 환경에서, 컴퓨터(110)에 관련하여 상술된 프로그램 모듈들 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다. 예를 들어, 도 1은 원격 애플리케이션 프로그램(185)가 메모리 장치(181)에 상주하는 것으로 도시되어 있지만, 이에 한정되지는 않는다.
도시된 네트워크 접속로는 예시적인 것이며, 컴퓨터들 간의 통신 링크를 확립하는 기타 수단들이 사용될 수 있음을 알 것이다.
ET 시스템 및 방법은 통신 환경에서도 동작하도록 설계된 것이다. 도 2는 컴퓨팅 환경과 전화 환경 사이의 일반적인 구성을 도시하는 개략적인 블럭도이다. 도 2는 컴퓨팅 환경과 전화 환경에 통합된 ET 시스템 및 방법의 구현을 예시한다. 이 구현에 있어서, ET 시스템 및 방법은 ET 서버(200)로서 구현된다. ET 서버(200)는 적어도 하나의 ET 클라이언트(210) 및 적어도 하나의 PBX(220)와 양방향 통신을 행한다. ET 클라이언트(210)는 네트워크(230)를 통해 ET 서버(200)와 통신한다. 전화기(240)는 PBX(220)에 접속되어 있고, PBX(220)는 ET 서버(200)와 양방향 통신을 행한다. 통상적으로, 사용자(250)는 전화기(240)와 ET 클라이언트(210)를 휴대하거나, 근처에 두고 있다. 예를 들어, 사용자(250)는 통상적으로 전화기(240)와 ET 클라이언트(210) 둘 다를 사무실에 설치해 둔다. 사실상, ET 서버(200)는 ET 클라이언트(210), 전화기(240), 및 PBX(220) 사이에서 프록시 및 해석기(interpreter)로서 동작한다.
Ⅲ. ET 시스템
ET 시스템 및 방법은 전화와 ET 클라이언트와의 사용자 인터페이싱 기능을 제공하여, 사용자에게 만족스런 사용자 텔레포니 경험을 제공한다. 사용자는 자신의 컴퓨터에서 실행되는 ET 클라이언트 소프트웨어를 사용하여, 컴퓨터를 통해 자신의 전화를 제어하고 자신의 전화에 대한 정보를 수신할 수 있다. 전화와 컴퓨터를 고도로 통합하고 병합하는 것은, 정보를 PBX로부터 컴퓨터에서 실행되는 ET 클라이언트 소프트웨어로 전송하고 그 역으로도 전송하는, 본 명세서에서 설명되는 ET 시스템 및 방법의 기능에 기초한다.
도 3은 엔터프라이즈(enterprise) 환경의 ET 시스템 및 방법의 전형적인 구현에 대한 일반적인 개관으로서, 이는 단지 일례일 뿐이다. 상세하게는, 제1 ET 서버(300)는 제1 PBX(305)에 접속된다. 제1 PBX(305)는 PSTN(public switched telephone network)(310)에 접속된다. (기업, 대학, 또는 정부 기관 등의) 엔터프라이즈는 통상적으로 도 3에 도시된 바와 같이 제2 PBX(315), 제3 PBX(320), 및 제4 PBX(325) 등의 복수의 PBX를 구비한다. 이러한 PBX들(315, 320, 325) 각각은 PSTN(310)에 접속된다. PBX들(315, 320, 325) 각각에는 이에 관련된 ET 서버 즉, 제2 ET 서버(330), 제3 ET 서버(335), 및 제4 ET 서버(340)가 접속된다. 소정의 엔터프라이즈의 규모 및 필요에 따라, ET 서버 및 PBX의 사용 대수는 더 많을 수도 있고 더 적을 수도 있음을 유의한다. 그러나, 전형적으로 각 PBX에는 적어도 하나의 ET 서버가 있다.
제1 전화(예컨대, 스피커폰 등)(345)는 제1 PBX(305)에 접속되어, 제1 PBX(305)로부터 서비스를 받는다. ET 클라이언트 소프트웨어의 적어도 하나의 인스턴스를 실행하는 제1 ET 클라이언트 컴퓨터(350)는 제1 ET 서버(300)에 접속된다. 통상적으로, 이러한 접속은 네트워크 접속이다. 제2 ET 서버(330)는 네트워크 접속을 통해 복수의 ET 클라이언트(355)에 접속된다. ET 클라이언트 소프트웨어의 적어도 하나의 인스턴스를 실행하는 제3 ET 클라이언트 컴퓨터(360)는 네트워크 접속을 통해 제3 ET 서버(335)에 접속된다.
도 3에는 제1 ET 클라이언트(350)와 제3 ET 클라이언트(360) 간의 가상 직접 접속(direct virtual connection)도 도시되어 있다. 두(또는 그 이상) ET 클라이언트 간의 이러한 가상 직접 접속은 ET 서버의 사용자 데이터 전송 기능(User Data Transfer feature)에 의해 용이하게 실현된다. 이러한 기능은 이후에 상세히 설명될 것이지만, 기본적으로, 도 3에 도시된 예에서는, 요청에 대하여, 제1 ET 서버(300)는 제1 ET 서버(300)에 대한 사용자 데이터(예컨대, 네트워크 어드레스 정보 등)를 제3 ET 클라이언트(360)로 전달한다. 이로써, 제3 ET 클라이언트(360)와 제1 ET 클라이언트(350)는 어떤 ET 서버도 거치지 않고서도 동등 계층 세션(peer-to-peer session)을 확립할 수 있다. 이것이 유용한 경우의 일례로는, ET 클라이언트의 스크린 공유 기능(screen sharing feature)이 있는데, 이 기능은 한 사용자가 자신의 스크린을 다른 사용자와 공유할 수 있게 하는 것이다. 사용자와 발신자가 통화 중인 경우와 두 발신자가 기업 네트워크(corporate network) 상에 있는 경우에는 스크린 공유가 가능하다. 클라이언트들 간의 가상 직접 접속이 유용한 다른 예로는, ET 클라이언트의 간이 전송 기능(easy transfer feature)이 있다. 간이 전송 기능에 의하면, 사용자는 통화 중에 파일을 전송할 수 있으며, 또한 통화 중에 사용자가 선택한 누구와도 파일의 복수의 복사본을 공유할 수 있다.
도 3에 도시된 제4 ET 서버(340)는 제4 ET 서버(340)와 통신하는 데이터베이스에 포함된 다양한 정보 소스들을 관리하여, ET 클라이언트 사용자가 이 정보 소스들을 사용하는 것을 용이하게 한다. 이러한 소스들은 퍼스널 데이터베이스, 엔터프라이즈 데이터베이스, 및 퍼블릭 데이터베이스를 포함한다. 퍼스널 데이터베이스는 애플리케이션 전용 데이터베이스(예컨대, 이메일 데이터베이스, 아웃룩(Outlook) 데이터베이스, 인스턴트 메신저 데이터베이스, 달력 데이터베이스 등)를 포함하고, 엔터프라이즈 데이터베이스는 기업 이력, 기업 주소, 달력 데이터베이스, 및 화상 데이터베이스를 포함하며, 퍼블릭 데이터베이스는 공용 인터넷 사이트 및 온라인 전화번호부를 포함한다. 이러한 컨텐츠의 특성에 기초하여, 데이터베이스는 ET 서버와 ET 클라이언트 중 하나에 설치되거나, 이 둘 모두에 설치될 수 있다. 예를 들어, (퍼블릭 데이터베이스로부터의) 개인 주소록과 달력 정보는 ET 클라이언트(예컨대, 사용자의 퍼스널 컴퓨터 등)에 보유되어 있을 수 있는 한편, (엔터프라이즈 데이터베이스로부터의) 기업 이력은 ET 서버에 보유되어 있을 수 있다.
도 3에서, 퍼스널 데이터베이스들은 제3 클라이언트(360)와 교환 서버(370)에 설치된 것으로 도시되어 있다. 기업 데이터베이스는 엔터프라이즈 디렉토리 서버(375)에 설치된 것으로 도시되어 있다. 엔터프라이즈 디렉토리 서버(375)는 제4 ET 서버(340) 뿐만 아니라, 다른 ET 서버들(300, 330, 335) 각각과도 통신한다. 후술될 것이지만, 이는, ET 버전의 엔터프라이즈 디렉토리에 대한 주기적 갱신을 각 ET 서버에게 제공하게 한다. 또한, ET 서비스 서버(380)는 (다른 사용자들의 화상을 ET 클라이언트에게 제공하기 위한) 화상 데이터베이스를 포함한다. ET 서버들(300, 330, 335, 340), ET 클라이언트들(345, 355, 360), 교환 서버(370), 엔터프라이즈 서버(375), 및 ET 서비스 서버(380)는 모두 네트워크 통신 내에 있음을 유의하여야 한다.
ET 서버들 각각은 ET 클라이언트로부터의 높은 레벨의 텔레포니 데이터 및 커맨드(command)를 PBX 데이터 및 커맨드(또는 이벤트)로 번역(translating)한다. 마찬가지로, ET 서버들은 PBX로부터의 PBX 이벤트를 높은 레벨의 전화 이벤트(이것은 ET 클라이언트로 전송될 수 있음)로 번역함으로써 상기 프로세스를 역으로 수행한다. 이는 전형적으로, PBX로의 프로그래밍 액세스를 가능케 하는 PBX 전용 소프트웨어 개발 키트를 사용하면 달성된다. 상기 프로그래밍 액세스는 PBX의 다양한 브랜드와 모델들마다 상이할 수 있다. ET 시스템 및 방법의 실제예에서는, PBX가 Intecom사에서 제작한 것이고, Intecom사의 PBX에 접속하기 위한 Intecom사의 OAI(Open Application Interface) Toolkit를 사용하였다. 이 OAI Toolkit에 의하면, 전화/내선의 제어가 가능하며, 또한 PBX에 의해 서비스되는 전화/내선의 이벤트를 획득할 수 있다. 본 명세서에서 설명되는 고기능 컴퓨터 텔레포니 통합 시스템 및 방법은 PBX의 그 외 다른 브랜드 및 전화 시스템에서도 실시될 수 있음을 유의한다.
일반적으로 전화와 이에 관련된 전화 회선을 식별하는 데 내선이 사용될 수 있지만, 내선 그 자체만으로는 충분치 않을 수 있다. 흔히, 내선은 PBX 전용 정보 (예컨대, 포트 등)에 맵핑될 필요가 있다. ET 서버(200)에 의한 PBX 전용 정보로의 번역 및 PBX 전용 정보로부터의 번역을 용이하게 하기 위해서는, PBX 전용 정보를 이용하여 전화 내선을 식별하는 것이 필요하다. ET 서버(200)는 내선을 PBX 전용 정보에 맵핑하는 데이터베이스를 구축한다. 이 데이터베이스(스위치 데이터베이스(switch database)라고 지칭함)는 ET 서버(200)의 기동 시에 생성되고, 주기적으로 리프레쉬된다. 바람직한 실시예에서는, 이 스위치 데이터베이스가 하루에 한 번(예컨대, 매일 저녁) 갱신된다.
ET 서버(200)는 ET 클라이언트로부터의 데이터를 PBX용의 데이터로 번역하고, 그 역도 수행한다. 일반적으로, ET 클라이언트 데이터는 높은 레벨의 데이터이고, PBX 데이터는 낮은 레벨의 데이터이다. 낮은 레벨의 데이터는, PBX로부터의 수신 데이터 또는 PBX로의 송신 데이터이다. 낮은 레벨의 데이터는 PBX가 이해하는 포맷과 언어로 되어 있다. 높은 레벨의 데이터는 전화에 관하여 개념적으로 발생되는 것이다.
예를 들어, 사용자가 통화를 자신의 내선(x7374)으로부터 다른 내선(x9811)으로 돌리기를 원한다고 가정해본다(그러나, 이에 한정되지는 않는다). ET 서버(200)는 사용자의 ET 서버 클라이언트와 PBX 간의 정보의 교환 및 번역을 용이하게 한다. 이 경우, ET 클라이언트는 "통화를 자신의 내선(x7374)으로부터 다른 내선(x9811)으로 돌린다"는 높은 레벨의 커맨드를 보낸다. ET 서버(200)는 ET 클라이언트로부터의 높은 레벨의 요청을, 등가의 낮은 레벨의 커맨드 "스피커폰을 포트 001.2.12.5에서 토글링(toggling)하고, 라인 7384를 끊고, 라인 7384 포트 001.2.12.5 UGP 4의 통화를 전화 번호 9811로 돌린다"로 번역한다. 전화 이벤트(예컨대, 걸려오는 전화)가 PBX에서 수신되어 ET 클라이언트로 보내어지면, 상기와 동일한 프로세스가 역으로 수행된다.
PBX의 낮은 레벨의 데이터는 전형적으로 복잡한 데이터 구조 포맷으로 되어 있어서, ET 서버(200)는 전형적으로 낮은 레벨의 데이터 구조로부터 하나 이상의 파라미터를 추출할 필요가 있다. 그러면, 이러한 파라미터들은 높은 레벨의 이벤트에 맵핑된다. 이 파라미터들은 전형적으로 PBX 전용 데이터이다. 즉, 특정 PBX에서 필요로 하면서 입출력으로 사용되는 파라미터는 PBX의 형식과 브랜드에 따른다. ET 서버(200)는, 특정 PBX가 필요로 하는 PBX 전용 데이터를 알게 되면, 높은 레벨의 데이터로부터 낮은 레벨의 데이터로의 번역 또는 변환과 그 역으로의 번역 또는 변환에 필요한 파라미터를 획득하기 위해, 그 지식을 사용한다.
번역 수행이 완료되면, 서버는 번역된 데이터 및 커맨드를 의도한 목적지에 제공한다. 상술한 예에서는, ET 서버(200)는 낮은 레벨의 커맨드를 번역한 후, ET 클라이언트가 이해하는 높은 레벨의 커맨드 포맷의 이벤트를 ET 클라이언트에게 통지한다. 다른 한편으로는, ET 서버(200)는 높은 레벨의 커맨트를 번역한 후, PBX가 이해하는 낮은 레벨의 커맨드 포맷의 이벤트를 PBX에게 통지한다. 복수의 낮은 레벨의 커맨드가 단일의 높은 레벨의 커맨드로 결합될 수 있음을 유의한다. 마찬가지로, 단일의 낮은 레벨의 커맨드가 2 이상의 높은 레벨의 커맨드로 발생될 수 있다.
도 4a는 ET 서버(200)가 PBX 데이터(400)를 ET 클라이언트(210)가 이해할 수 있는 높은 레벨의 데이터(410)로 번역하는 것을 예시하는 블럭도이다. 상세히 설명하자면, PBX(200)는 이벤트(예컨대, 걸려오는 전화)를 수신하고, 이 이벤트를 의도했던 전화 및 ET 서버(200) 둘 다에게 전송한다. PBX 이벤트는 ET 서버(200)에서 낮은 레벨의 PBX 데이터(400)로서 수신된다. ET 서버(200)는 번역 모듈(420)을 포함한다. 번역 모듈은 낮은 레벨의 PBX 데이터를 ET 클라이언트용의 높은 레벨의 데이터로 번역하고, 또한 그 역으로도 번역한다. ET 서버(200)는 또한, 스위치 데이터베이스(430)도 포함한다. 스위치 데이터베이스는 번역 모듈(420)의 번역 처리를 용이하게 한다. 번역 모듈(420)의 출력은 ET 클라이언트(210)가 이해할 수 있는 높은 레벨의 데이터(410)이다.
도 4b는 ET 서버(200)가 ET 클라이언트가 이해할 수 있는 높은 레벨의 데이터(410)를 PBX가 이해할 수 있는 낮은 레벨의 PBX 데이터(400)로 번역하는 것을 예시하는 블럭도이다. 도 4a와 마찬가지로, ET 클라이언트(210)로부터의 높은 레벨의 데이터(410)는 스위치 데이터베이스(430)를 이용하는 번역 모듈(420)에 의해 번역된다. 번역 결과는 PBX(220)가 이해할 수 있는 낮은 레벨의 PBX 데이터(400)이다. ET 서버(200)에 의한 이러한 번역 프로세스에 의하면, ET 서버(200)가 PBX(220)와 ET 클라이언트(210) 둘 사이에서 정보를 전달해 줌으로써 PBX(220)와 ET 클라이언트(210)는 서로 통신할 수 있다.
도 5는 스위치 데이터베이스에 포함될 수 있는 PBX 전용 정보의 특정 구현예이다. 스위치 데이터베이스(500)에 저장되는 데이터는 낮은 레벨의 PBX 데이터(400)로서 PBX로부터 획득된다. 상세히 말하자면, Intecom사의 PBX에 특정된 데이 터 구현예인 도 5에 도시된 바와 같이, 각 전화마다의 스위치 데이터베이스는 다음과 같은 데이터를 포함한다. 즉, 제1 컬럼에는, PBX가 서비스하는 전화 내선이 목록화된다. 도 5에 도시된 예에서는, 내선이 5 자리 수이다. 각 내선에 대해서, 제2 컬럼에는 포트가 목록화된다. 본 예에서, 포트는 전화와 PBX 간의 물리적 접속을 나타내는 4개의 번호를 포함한다. 이는, 예컨대, PBX의 캐비닛, 선반, 카드, 및 회로를 포함한다. 제3 컬럼에는, 사용자 그룹(user group : USP)이 목록화된다. 사용자 그룹들은 동일한 동작을 행하는 전화 집합체이다. 전형적으로, 사용자 그룹들은 숫자를 사용하여 명명되는데, 예를 들면, 사용자 그룹들은 사용자 그룹 "4", 사용자 그룹 "52", 및 사용자 그룹 "96"으로 명명될 수 있다. 사용자 그룹은 전화들의 그룹 및 그 기능 차이를 기술한다. 예를 들면, 한 사용자 그룹은 로비 전화들의 집합인 한편, 다른 사용자 그룹은 개인용 전화들의 집합일 수 있다. 개인용 전화들의 사용자 그룹은 장거리 통화가 무제한으로 허용되는 한편, 로비 전화들의 사용자 그룹에서는 금지될 수 있다. PBX에서는 각 전화에 대한 그 외 다른 정보가 이용 가능하지만, 이 정보는 PBX의 종류와 브랜드에 기초하며, 전형적으로는 ET 클라이언트와 PBX 간의 번역기로서 서비스할 수 있도록 ET 서버가 요청한 내용을 포함한다.
Ⅳ. ET 방법 및 특징
ET 서버(200)의 주 기능은 ET 클라이언트 컴퓨터가 요청하는 전화 내선(20)을 제어하고, 내선에서의 전화 이벤트를 ET 클라이언트에게 통지하는 것이다. 본 명세서에서 설명되는 바와 같이, "전화 내선(telephone extension)"은 PBX에 접속 된 내선과 내선에 접속된 전화 둘 다를 의미할 수 있다. 도 6은 ET 방법의 일반적인 개요를 도시하는 개략적인 흐름도이다. 먼저, ET 서버는 온라인 상태로 되어, PBX에 부가연결(attach)한다(단계 600). PBX에의 부가연결은 PBX 스위치 데이터베이스로부터 적절한 모든 데이터를 다운로드함으로써 수행된다. 이렇게 하면, ET 서버들 각각은, 자신이 서비스하는 PBX로부터 스위치 데이터베이스 정보를 획득할 수 있다. ET 서버는 온라인 상태로 되어 있어서, PBX로부터의 갱신된 스위치 데이터베이스 정보를 주기적으로 수신받을 수 있음을 유의한다. 다음으로, ET 클라이언트 소프트웨어가 ET 클라이언트 컴퓨터에 설치된다(단계 610). 이 ET 클라이언트 소프트웨어는 ET 사용자 인터페이스를 포함하는데, 이 인터페이스는 컴퓨터 특성과 전화 특성을 통합하여, ET 클라이언트가 ET 서버와 통신할 수 있게 해 준다. ET 클라이언트와 사용자 인터페이스는, 2003년 5월 20일자로 출원되었으며 발명의 명칭이 "Enhanced Telephony Computer User Interface Allowing User Interaction and Control of a Telephone Using a Personal Computer"이고 발명자가 Cadiz 등인 계류 중의 미국특허출원 제10/445,395호에 개시되어 있다.
다음으로, ET 클라이언트는 서비스 발견(service discovery) 단계를 수행한다. 전형적으로 엔터프라이즈용의 ET 시스템에는 복수의 ET 서버가 있기 때문에, 이 서비스 발견은 ET 클라이언트에 대한 내선을 서비스하는 ET 서버인지를 ET 서버들 각각에 문의하는 것이다. 보다 상세히 설명하자면, 서비스 발견 단계는 PBX가 서버 서비스에 소정의 내선을 접속시킬 것인지의 여부를 체크할 것을 각 서버에게 문의하는 것이다. 시키지 않을 것이라는 경우라면, ET 클라이언트는, 정확한 PBX 및 이에 연관된 ET 서버가 발견될 때까지, 후속 ET 서버에게 문의한다. 다음으로, PBX와 ET 서버가 정확한 ET 클라이언트를 해당 전화 내선에 연관시킬 수 있도록, ET 클라이언트는 ET 서버에 등록된다(이에 대해서는 후술됨)(단계 630). 특정 내선에 대한 ET 클라이언트는 여러 개일 수 있음을 유의하여야 한다. 일단 ET 클라이언트가 등록되면, ET 서버는 ET 클라이언트에서 요청하는 바와 같이 해당 내선을 제어할 수 있다(단계 640). 또한, ET 서버는 그 내선에서의, 걸려오는 전화와 같은 전화 이벤트를 ET 클라이언트(또는 클라이언트들)에게 통지할 수 있다(단계 650).
전화 내선에 대한 ET 서버 제어
ET 서버의 주요 기능들 중 하나는, ET 클라이언트 컴퓨터가 요청한 때에 전화 내선을 제어한다는 것이다. 이하의 동작들은 ET 서버를 이용하여 소정의 전화 내선에서 수행될 수 있다 :
·전화를 받음 (회선 연결, 스피커폰으로 교환)
·전화를 끊음 (회선 단절, 스피커폰으로의 교환 중단)
·통화를 돌림, 필요한 경우에는 전화를 받음
·현 통화를 보류함
·현 통화의 보류를 중단함
·진행 중인 동작(예컨대, 전환)을 취소
·전화 회의 통화를 개시
·기존의 회의 통화에 새 통화자를 합류시킴
·DTMF(dual tone multi-frequence)를 전송. DTMF는 전화가 PBX와 통신할 수 있다는 신호음임.
·전화 온/오프에 대한 DND(do not disturb) 모드를 전환. DND 모드란, 모든 걸려오는 통화를, 타겟 전화의 벨을 울리지 않게 하고 곧바로 음성 메일로 가게 하는 것을 말함.
·전화 온/오프에 대한 통화 자동 연결 모드를 전환
·전화 화면 상에 텍스트를 디스플레이
·호출에 응답하기 전(수신 무시 전환(blind transfer))/후(일반 전환)에 현재 통화 또는 걸려오는 통화를 전환함. 수신 무시 전환은 전화벨이 울릴 때에 일어나는 것인 반면, 일반 전환은 전화에 응답한 이후에 일어나는 것임.
도 7은 전화 내선 제어 프로세스에 대한 일반적인 개료를 도시하는 개략적인 흐름도이다. 이 전화 내선 제어 프로세스는 ET 서버에서 PBX에 대해 전화 동작을 실행할 수 있게 하는 것이다. 이 프로세스는 수행될 전화 동작에 대한 ET 클라이언트로부터의 요청을 수신함으로써 개시한다(단계 700). 다음으로, 보안 트랜잭션을 보장하기 위한 보안 방법이 실행된다. 이러한 보안 방법은 도 7에 개시되어 있다. 일반적으로, 보안 방법은 적어도 두 가지 이유로 중요하다. 첫번째, 보안 방법은, 사용자가, 제어할 수 있도록 인증받은 전화들을 제어할 수 있을 뿐이라는 것을 보장한다. 두번째, 보안 방법은 사용자가 실제로 승인을 구한 바로 그 사람이라는 것을 보장한다. 이는, 사용자가 다른 어떤 사람으로 사칭하여 그 사용자의 전화를 제어하는 것을 방지한다. 이러한 보안 방법들은 이후에 보다 상세히 논의 될 것이다. 보안 방법들을 사용하지 않는 몇몇 실시예들이 있을 수 있다는 것을 유의한다.
보안 방법은 다음과 같은 프로세스를 포함한다. 먼저, ET 클라이언트가 인증된다(단계 710). 이는, ET 클라이언트가 ET 서버에 접속할 때 ET 서버에 인증 자격 증명(authentication credential)을 제공한다는 것을 의미한다. 이러한 자격 증명이 제공되지 않는다면, ET 서버는 ET 클라이언트의 어떤 요청도 거부한다. 다음으로, 이러한 인증에 기초하여, ET 클라이언트에 관한 내선이 ET 엔터프라이즈 디렉토리에서 탐색된다(단계 720). ET 엔터프라이즈 디렉토리는 이후에 상세히 논의될 것이다. 이 디렉토리로부터, ET 서버는 ET 클라이언트가 소정의 내선으로 연결되도록 인가(authorizing)할지 또는 외부의 전화 번호로 연결되도록 인가할지를 판정할 수 있다. 그리고 나서, ET 서버는 해당 요청을 인가한다(단계 730). 다음으로, ET 서버는 ET 클라이언트가 등록된 것인지를 보장하기 위해 검사한다(단계 740). 이러한 보안 방법은, 타인에 의한 불인가된 사용을 방지하는 것을 돕는다.
이러한 보안 방법 이후에, ET 서버는 ET 클라이언트에 연관된 내선에서의 전화가 적절한 상태에 있도록 보장한다(단계 750). 예를 들어, 해당 내선에서 통화 중이면, 새 전화가 걸려올 수 없다. 다음으로, ET 서버는 희망하는 전화 동작을 PBX에서 이해될 수 있는 낮은 레벨의 PBX 데이터로 번역한다(단계 760). 다음으로, PBX는 ET 클라이언트가 요청한 희망하는 전화 동작을 실행한다(단계 770).
전화 이벤트에 대한 ET 서버의 통지
ET 서버는 해당 내선에 속하는 전화 이벤트를 해당 내선에 등록된 ET 클라이 언트들에게 통지할 수도 있다. 이러한 ET 클라이언트 통지 프로세스는 사용자 인터페이스를 통해서 ET 클라이언트가 사용자와 상호 작용할 수 있게 해 준다. 예를 들어, 걸려오는 전화가 착신되면, ET 클라이언트의 사용자 인터페이스는 사용자가에 걸려오는 전화 통지를 제공한다.
ET 서버로부터 소정의 내선에 대해 등록된 ET 클라이언트들로 전송되는 전화 관련 이벤트들의 리스트는 다음과 같다 :
·전화를 받음
·전화를 끊음
·전화로 개시한 통화를 발신함
·전화가 걸려오고, 전화벨이 울림
·전화가 걸려오는 것이 중단되고, 전화벨도 더이상 울리지 않음
·걸려오는 전화를 응답하여 받음
·현재 통화를 보류함
·현재 통화 보류를 중지함
·회의 통화를 개시함
·회의에 새로운 통화자를 합류시킴
·통화자가 회의에서 빠짐
·전화가 DND 모드에 있음
·전화가 DND 모드로부터 해제되어 있음
·전화가 통화 자동 연결 모드에 있음
·전화가 통화 자동 연결 모드로부터 해제되어 있음
상술한 이벤트들 중 몇몇은 추가의 정보를 포함한다. 예를 들어, 전화가 걸려오는 이벤트는 발신자에 대한 정보(예컨대, 발신자 ID(identification) 및 발신자 명)를 포함한다. 이벤트들이 전화에 직접적인 동작에 의해 발생된 것(예컨대, 사용자가 수화기를 들어 전화기의 다이얼 패드를 통해 다이얼링하는 것 등)인지 또는 ET 클라이언트의 사용자 인터페이스를 통해 개시된 것(예컨대, ET 클라이언트가 ET 서버에게 통화를 돌릴 것을 알리는 것)인지에 관계없이, 이벤트들은 ET 클라이언트로 전송됨을 유의한다.
도 8은 ET 클라이언트 통지 프로세스의 일반적인 개요를 도시하는 개략적인 흐름도이다. 이 클라이언트 통지 프로세스는, ET 서버가, 소정의 내선에 속하는 전화 이벤트들에게 등록 ET 클라이언트를 알림으로써 수행된다. 이 프로세스는 ET 서버가 PBX로부터 전화 이벤트를 수신함으로써 개시된다(단계 800). 이 통지는 낮은 레벨의 PBX 데이터로서 ET 서버에서 수신된다. 전화 이벤트의 파라미터들(예컨대, 소정의 내선 및 이벤트의 타입 등)을 결정하는 데에는 스위치 데이터가 사용된다(단계 810). 다음으로, 내선의 전화 상태가 전화 이벤트에 기초하여 갱신된다(단계 820). 해당 내선에 대해 ET 클라이언트가 등록되어 있는지의 여부를 판정하기 위한 검사가 수행된다(단계 830). ET 엔터프라이즈 디렉토리를 사용하여, 걸려오는 통화의 발신자에 대한 신원을 판정하기 위한 전화 번호 역 탐색(reverse telephone number lookup)이 수행된다(단계 840). 다음으로, 주어진 내선에 대해 등록된 ET 클라이언트 각각에게 ET 서버가 전화 이벤트를 통지한다(단계 850).
ET 클라이언트 등록
상술한 ET 클라이언트 메커니즘의 작용에 있어서, ET 서버는 실행 중인 ET 클라이언트에 관하여 알아야 하며, 어떻게 ET 클라이언트에 접촉(reach)할지를 알아야 한다. 그러므로, ET 클라이언트는 전화 이벤트를 수신하려면 ET 서버에 자신을 등록해 둘 필요가 있다. 따라서, ET 클라이언트는 시동 시에 ET 서버에 접속하여, 정보 즉, (a) 어느 ET 클라이언트와의 전화 내선이 사용되는지와, (b) 어디에 통지를 전송할지에 대한 ET 클라이언트의 콜백(callback) URL(즉, 리모팅 엔드포인트(remoting endpoint) 및 IP 주소)과, (c) ET 클라이언트를 실행시키는 사용자 명 및 머신 명과, (d) 버전 정보를 자신에게 등록해 둔다. 등록 후, ET 서버는 소정의 내선에 대한 전화 이벤트에 대하여 상기 내선에 대해 등록된 모든 클라이언트를 통지하게 된다.
ET 서버는 ET 서버가 서비스하는 모든 내선에 대한 모든 ET 클라이언트의 자취를 추적한다. 또한, ET 클라이언트는 자신을 등록시키지 않게 할 수도 있다. 또한, 사용하지 않는 클라이언트를 회피할 수 있도록, ET 서버는 여러 가지 환경 하에서 ET 클라이언트를 등록하지 않을 수 있다. 예로는, ET 클라이언트가 더 이상 접속될 수 없거나, ET 클라이언트가 소정의 기간 후에도 자신의 등록을 갱신하지 않은 경우를 들 수 있다. 그러면, ET 클라이언트는 ET 서버에 의해 등록되지 않게 된다.
ET 엔터프라이즈 디렉터
전형적으로, 엔터프라이즈에는 종업원들 및 이들의 내선에 관한 정보 뿐만 아니라 사무실 위치와 대표 업무 등의 그 밖의 다른 종류의 정보를 포함하는 데이터베이스가 구비된다. 그러나, 요청을 발호한 ET 클라이언트에게 신속한 서비스를 제공하기 위한 엔터프라이즈 데이터베이스의 검색 속도가 통상적으로는 충분히 빠르지 못하다. 이러한 문제를 해결하기 위해, ET 시스템 및 방법은 ET 엔터프라이즈 디렉토리를 포함한다. ET 엔터프라이즈 디렉토리는 엔터프라이즈 데이터베이스와 동일하게 많은 량의 정보를 포함한다. 그러나, ET 엔터프라이즈 디렉토리는 정규화되어 있으며, 인덱스화되어 있어서, 정보가 신속히 액세스될 수 있고, 따라서 ET 클라이언트에게 신속히 제공될 수 있다. 이로써, 사용자는 ET 사용자 인터페이스를 통해서 희망하는 정보를 신속하게 획득할 수 있다.
ET 엔터프라이즈 디렉토리는 엔터프라이즈 데이터베이스로부터 정보를 획득한다. ET 엔터프라이즈 디렉토리는 인가된 엔터프라이즈 데이터베이스로부터의 전송에 의해 주기적으로(예컨대, 주 단위로) 갱신된다. ET 엔터프라이즈 디렉토리는 적어도 3가지 목적 즉, (1) 전화 번호 역 탐색(예컨대, 발신자 ID)과 (2) ET 클라이언트로부터의 검색과 (3) 전화 내선을 제어/모니터링하기 위한 인가를 위해 사용된다. 개인 및 실체(예컨대, 회의실 등) 각각에 대한 이하의 정보가 포함될 수 있으며, 이하의 정보는 ET 엔터프라이즈 디렉토리에 보유되어 있다 :
·성
·명
·별칭(alias/nickname)
·전화 번호
·제목
·관리자
·부서
·사무실 위치
전화 번호 역 탐색
전형적으로는 엔터프라이즈 데이터베이스가 이용 가능하지만, 이 데이터베이스는 ET 시스템 및 방법의 요건들을 완전히 만족시키지는 않는다. 특히, ET 서버는 엔터프라이즈 데이터베이스에 대하여 전화 번호 역 탐색을 수행할 수 있는 방법을 필요로 한다. 예컨대, 이는, 걸려오는 전화 통화가 착신되어 발신자 ID 정보를 엔터프라이즈 데이터베이스에 있는 종업원 또는 소정의 항목으로부터 취득하려 할 때 필요하다.
전화 번호에 기초한 질의를 수행할 수 있기 위해, ET 엔터프라이즈 서버가 생성된다. ET 서버는 ET 엔터프라이즈 디렉토리의 모든 전화 번호를 파싱하고, 정규화하여, 그것을 자신의 정규화된 형식으로 인덱스화한 상태로 보유한다. ET 서버의 메모리에 ET 엔터프라이즈 디렉토리를 호스팅하는 것은, 발신자 ID(통상적으로는, 전화 번호)가 추가적인 서버 라운드 트립(round trip)없이 PBX로부터 수신되는 것처럼 신속하게 변환될 수 있기 때문에, 유리하다.
ET 클라이언트 검색 요청
또한, ET 엔터프라이즈 디렉토리는 ET 클라이언트로부터의 검색을 핸들링한다. 고속 검색을 가능케 하기 위해, ET 클라이언트 액세스 패턴들은, ET 엔터프라 이즈 디렉토리의 인텍스와 인메모리(in-memory) 데이터 구조가 미세조정(tweak)되어 최상의 성능을 나타낼 수 있도록 분석된다. 특히, ET 엔터프라이즈 디렉토리는, 사용자 명의 일부만이 알려지는 경우나, 사무실 위치, 제목 등의 기타 데이터만이 알려진 경우에, 사용자 탐색에 대해 최적화될 수 있다. 이 디렉토리는 사용자에게 정확한 사람을 찾아낼 보다 양호한 기회를 제공하기 위해서 모든 가능한 매칭 정보를 반환한다.
내선 인가
ET 엔터프라이즈 디렉토리에 대한 제3의 사용은 인가이다. ET 클라이언트가 소정의 내선을 모니터링하기 위해 ET 서버에 등록하려고 시도할 때, 또는 ET 클라이언트가 소정의 내선을 제어하려고 시도할 때, 그 요청이 인증되는 것을 보장하는 데에는 ET 엔터프라이즈 디렉토리가 참조된다. 특히, 요청을 발호한 사용자의 전화 번호는 상기 사용자의 신원이 인증을 통해 검증된 후에 탐색된다. ET 서버는 ET 엔터프라이즈 디렉토리에 리스트되어 있는 전화 번호(내선)가 요청에서 지정된 내선과 일치하는 경우에만 상기 내선에 대한 요청을 인가한다.
보안 기능
인가되지 않은 액세스 및 사용이 항상 중요하다. 이 문제를 해소하기 위해서, ET 서버는 다음과 같은 보안 및 기밀 문제를 다룬다. 첫번째로, 사용자들이 자신의 전화를 제어 및 모니터링만하도록 보장하기 위해, 인증 및 인가가 사용된다. 이는, 예컨대 종원원 X가 자신의 관리자의 전화를 모니터링하거나 제어할 수 있는 시나리오를 불가능하게 하는 것이다. 두번째로, ET 클라이언트와 ET 서버 사 이에는 보안 접속이 사용된다. 이는, 네트워크에의 액세스를 가질 수 있는 제3자가 임의의 ET 클라이언트와 ET 서버 사이에서 송수신되는 데이터를 검열 및 파악하는 것이 불가능하도록 보장하는 것이다.
이는, 네트워크에서, 소정의 내선을 호출하는 사람이나, 소정의 내선으로부터 호출된 사람이나, 소정의 사용자가 ET 서버에 호스팅된 ET 엔터프라이즈 디렉토리에서 검색하는 사람을 찾아내는 것을 알아낼 수 있는 시나리오를 불가능하게 한다. 마지막으로, Dos(Denial of Service attacks)을 검출하기 위해, 각 ET 서버는 초 당 요청 수, 접속된 클라이언트의 수, 및 기타 데이터를 나타내는 성능 카운터를 구비한다. 이러한 카운터는 알맞은 범위 내에 있는 것을 보장하기 위해 모니터링된다. 보안 침입이 발생할 수 있는 그 외의 다른 장애나 이벤트를 검출하기 위해, ET 서버는 자신의 모든 활동에 대한 로그 출력을 생성하고, 에러 및 경고 메시지를 시스템의 이벤트 로그에 기입한다.
사용자 데이터 전송
상술한 바와 같이, ET 클라이언트의 스크린 공유 기능 및 간이 전송 기능에는 가상 직접 접속이 유용하다. ET 서버의 사용자 데이터 전송 기능은 가상 직접 전송이 하나 이상의 ET 클라이언트들 사이에 확립될 수 있게 한다. 이는, ET 클라이언트들 간의 동등 계층 관계를 확립하게 한다. ET 서버는 이러한 통신 및 전달 기능을 용이하게 한다. 한 ET 클라이언트는 다른 ET 클라이언트에게 데이터 전송을 요청할 수 있고, 다른 ET 클라이언트는 자신의 내선에 의해 식별된다. 요청을 송신한 클라이언트는 소정의 내선을 서비스하는 ET 서버를 찾을 때까지 ET 서버들 을 하나씩 차례로 접속해나간다. 그러면, 해당 ET 서버는 목적으로 하는 내선에 대해 등록되어 있는 클라이언트(들)에게 해당 데이터를 전송한다. 하나 이상의 ET 클라이언트가 소정의 내선에 등록되어 있는 경우에는, 그 모든 클라이언트에게 통지된다. 이는 여러 네트워크 라운드 트립을 포함하므로, 이상적으로는 이러한 메커니즘은, 제1 클라이언트가 자신의 URL이나 리모팅 엔드포인트를 서버를 통해서 다른 클라이언트(들)에게 전송한 후에 동등 계층 통신 모델로 전환하는 서비스 발견에 사용되어야만 할 뿐이다.
사용자 데이터 전송 기능은, 예컨대 ET 이용 시 다른 사람과 전화하는 중에 스크린 공유 세션을 개시할 경우에 유용하다. 이러한 경우, 통신자 A는 자신의 ET 클라이언트의 UI에 있는 스크린 공유 옵션을 선택한다. 이 클라이언트는 이제 통신자 B의 ET 클라이언트와의 접속을 확립할 필요가 있다. 특히, 클라이언트 A는 자신의 URL 또는 리모팅 엔드포인트를 포함한 사용자 데이터를 클라이언트 B에게 전송하려는 시도를 할 필요가 있다. 그러나, 클라이언트 A가 클라이언트 B에 대해 아는 것은 클라이언트 B가 핸들링하는 내선(예컨대, 통신자 B의 내선)일 뿐이고, 머신 명이나 주소는 알지 못한다. 클라이언트 B의 컴퓨터에 접촉하려면, 클라이언트 A는 통신자 B의 내선을 핸들링하는 서버를 찾을 때까지 각 ET 서버를 하나씩 차례로 접속해 본다. 일단 찾으면, ET 서버는 사용자 데이터를 클라이언트 B로 보낸다. ET 사용자 인터페이스에도 불구하고, 클라이언트 B는 통신자 A가 스크린 공유 세션을 요청했음을 나타내는 확인 대화 상자를 사용자에게 디스플레이해 보일 수 있다. 통신자 A가 승인하면, 이제 클라이언트 B는 서버는 통하지 않고 직접 클라 이언트 A에게 접속하고, 스크린 공유를 조정하기 위해 동등 계층 방식으로 통신이 지속된다.
전화 상태
ET 서버는 이 서버가 서비스하는 내선들 각각의 상태를 관리한다. ET 서버는 각 내선의 전화 상태 즉, (a) 전화가 온 후크(on hook) 상태인지 또는 오프 후크(off hook) 상태인지와, (b) 내선이 통화 중인지의 여부와, (c) 내선이 전화를 걸고 있는 중인지의 여부와, (d) 통화가 보류 중인지의 여부와, (e) 내선이 회의 통화 중인지의 여부를 인식한다.
예를 들어, 내선이 온 후크 상태이거나 혹은 오프 후크 상태인 경우, 또는 내선이 통화 중인 상태라고 하자. 이러한 전화 상태는 소정의 내선에 대해 적절한 명령이 실행되는 것을 보장하는 데 사용된다. 예를 들면, 사용자가 수화기를 들어 ET 클라이언트의 사용자 인터페이스를 통해 전화를 걸면, 그 회선은 더 이상 ET 서버에 의해 대리 응답될 필요가 없고, 스피커폰(전화가 스피커폰이라고 가정하였음)도 더 이상 토클링될 필요가 없다. 마찬가지로, 전화 벨소리가 울리면, 전화가 오프 후크인 상태에 대비하여, 회선 대리 응답 기능은 해당 전화를 응답한다. 이와 같이, 전화 내선에 대해 정확한 상태를 보유하고, 전화 및 PBX에 대한 명령을 조정하는 것은 원활한 동작을 보장하는 데 필수적이다.
전화 내선의 상태는 ET 클라이언트나 다른 클라이언트 컴퓨터에게도 공개될 수 있다. 예를 들어, ET 클라이언트는 전화의 현재 상태가 알려지지 않는 경우에 시동 시에 이를 이용하면 유리하다. 이러한 상태 정보는, 사용자가 다른 사용자에 게 보다 효율적으로 전화하는 것을 도울 수 있는 다른 시스템에도 공개될 수 있다. 예를 들면, 이러한 시스템은 다른 사용자가 전화 중인 것을 검출한 경우에, 사용자에게 나중에 통화를 재시도하라거나, 사용자의 유용한 캘린던 정보를 점검하라는 등의 소정의 권고(recommendation)를 제공할 수가 있다.
ET 클라이언트 관련 기능
또한, ET 시스템 및 방법은 ET 클라이언트가 ET 서버와 상호 작용할 수 있게 하는 기능을 포함한다. 지금부터 이러한 기능을 설명한다.
서비스 발견
개략적으로 상술한 바와 같이, ET 클라이언트는 시동되면 사용자를 위한 내선을 판정하여, 정확한 ET 서버에 접속해야 한다. 모든 ET 서버들의 리스트는 클라이언트(의 레지스트리)에 저장되어 있고, ET 클라이언트 애플리케이션과 함께 설치되어 있다. 제1 단계는 사용자의 내선을 판정하기 위해 ET 엔터프라이즈 디렉토리에 접속하려고 시도하는 것이다. 모든 ET 서버들의 디렉토리는 동일하다. 가능하다면, ET 클라이언트는 (알고 있는 경우) 이전에 사용자 내선을 서비스했던 ET 서버에 접속하려고 시도할 것이다. 그렇지 않으면, 클라이언트는 임의적으로 서버를 선택한다. 다음으로, ET 클라이언트는 디렉토리로부터의 사용자 내선을 요청한다. 그리고, ET 클라이언트는 사용자 내선을 서비스하는 서버를 찾아내어 접속하려고 시도한다. ET 클라이언트는 해당 클라이언트의 등록을 승인하는 사용자 내선을 서비스하는 서버를 찾을 때까지 리스트 상에 있는 각 ET 서버에 접속을 시도한다. 일단 등록되면, 클라이언트는 차후의 시동 시간을 단축시키기 위해서 접속했 던 서버를 기억해 둔다. 이러한 단계들 이후에, 클라이언트는 ET 서버에 성공적으로 등록되어 있게 되며, 서비스 발견 프로세스는 완료된다.
네트워크 변경 검출
ET 클라이언트는 네트워크에서의 변경, 특히 IP 어드레스 리스트에의 변경을 감시한다. 네트워크 변경에 대한 감시는, ET 클라이언트의 상태가 클라이언트 접속성에 따라 서비스 중 또는 서비스 중지로 신속히 전환될 수 있기 때문에 사용자 경험을 보다 양호하게 만든다. 변경이 발생할 때마다, 클라이언트는 서버에 대해 자신의 등록 내용을 점검하려고 시도한다. 이는, 접속이 상실 또는 확립되는 2개의 전형적인 시나리오에서 유용하다. 예로서, 이러한 2개의 전형적인 시나리오를 설명한다.
제1 시나리오에서는, ET 클라이언트를 실행하는 노트북 컴퓨터가 무선 네트워크 범위 밖에 있다. 이는 예를 들면, 사용자가 빌딩을 나오는 것과 같은 경우에 발생할 수 있다. 이러한 경우, 클라이언트는 더 이상 서버에 접속될 수가 없고, 서비스 불능이 사용자에게 보고된다. 결과적으로, 서버에 의해 클라이언트의 등록이 더 이상 검사되거나 갱신되지 않으므로, 서버는 이러한 클라이언트를 등록 해제한다.
제2 시나리오에서는, ET 클라이언트를 실행하는 컴퓨터가 ET 서버들에의 액세스를 갖는 무선 네트워크 범위 내에 있다. 대안으로는, 다른 경우로서, ET 클라이언트를 실행하는 컴퓨터가 VPN(virtual private network)을 사용하여 기업 네트워크에 접속하는 등의 네트워크에 접속한다. 이러한 경우에, 클라이언트는 이러한 네트워크 변경을 검출하고, ET 서버에 등록하여, 재저장된 서비스를 사용자에게 보고한다.
핑 간격
네트워크 변경을 검출하는 것이 ET 클라이언트와 ET 서버 간의 네트워크 조속에서의 단절을 판정하는 데 항상 충분하지는 않을 수 있다. 이러한 갭을 만족시키기 위해서 핑 간격이 규정된다. 핑 간격은 핑들 간의 시간적 간격(또는 ET 서버에 의한 반환 검사 기간)을 말한다. 핑 간격은 클라이언트가 얼마나 자주 서버에의 등록을 검사 및 갱신해야 하는지를 지시해준다. 핑 간격을 등록 프로세스 시에 서버로부터 획득된다. 이러한 검사 및 갱신은 ET 서버에게 ET 클라이언트가 여전히 활동 중임이라는 표시 정보를 제공한다. 또한, 이는 클라이언트가 서버가 어떤 이유로 다운되었는지를 검출할 수 있게 해 준다. 예를 들어, 클라이언트 컴퓨터는 서버에 등록 해제할 기회 없이 작동 중단될 수 있다. 또는, 서버가 보수나 네트워크 문제 등의 이유로 이용 가능하지 않게 될 수 있다. 이러한 네트워크 변경을 클라이언트 측에서만 검출하는 것은 상술한 바와 같은 경우들을 잡아내지 못할 수 있다. 핑 간격 길이 설정은 (클라이언트 요청이 서버에 오버로딩(overloading)되는 것을 회피할 수 있도록) 통상적으로 ET 서버에 접속된 ET 클라이언트의 수에 기초할 수 있다. 바람직할 실시예에서는, 핑 간격은 약 수 분 정도이다.
본 발명의 특징들을 이하에 기술한다 :
전화 내선을 제어하는 고기능의 텔레포니 서버를 사용하기 위한 컴퓨터 구현의 프로세스는, 전화 내선들에 연관된 클라이언트로부터 전화 동작에 대한 요청을 수신하는 단계 - 상기 클라이언트는 서버와 네트워크 통신함 -; 상기 전화 동작을, 상기 전화 내선을 서비스하는 사설 구내 교환기가 이해할 수 있는 낮은 레벨의 데이터로 번역하는 단계; 및 상기 요청에 따라 상기 사설 구내 교환기에서 상기 전화 동작을 실행하는 단계를 포함한다.
상술한 컴퓨터 구현의 프로세스는, 상기 클라이언트가 상기 서버에 자격 증명을 제공함으로써, 상기 요청을 발호한 클라이언트를 인증하는 단계를 더 포함한다.
상술한 컴퓨터 구현의 프로세스는, 상기 클라이언트에 대한 허가된 내선들과 엔터프라이즈 직원들에 대한 성명과 정보를 포함하는 고기능 텔레포니 엔터프라이즈 디렉토리를 생성하는 단계를 더 포함한다.
상술한 컴퓨터 구현의 프로세스는, 상기 클라이언트가 허가된 내선을 요청했는지의 여부를 판정하기 위해 상기 고기능 텔레포니 엔터프라이즈 디렉토리에서 탐색을 수행하는 단계를 더 포함한다.
상술한 컴퓨터 구현의 프로세스는, 상기 전화 내선이 상기 클라이언트에 연관되었다는 것을 상기 클라이언트가 상기 서버에 등록하였음을 보장하는 단계를 더 포함한다.
클라이언트와 네트워크 통신하는 고기능 텔레포니 서버를 사용하여 상기 클라이언트에게 상기 클라이언트와 연관된 내선에서의 전화 이벤트를 통지하는 방법은, 상기 전화 내선을 서비스하는 사설 구내 교환기로부터 상기 전화 이벤트를 수신하는 단계; 스위치 데이터베이스를 사용하여 전화 이벤트 파라미터를 결정하는 단계; 상기 전화 이벤트 파라미터를 사용하여 전화 번호 역 탐색을 수행하는 단계; 및 상기 전화 번호 역 탐색을 이용하여, 상기 전화 내선에 대해 등록된 각 클라이언트에게 통지하는 단계를 포함한다.
상술한 방법에서, 상기 스위치 데이터베이스는 사설 구내 교환기에 의해 서비스되는 각 전화 내선에 대한 사설 구내 교환 정보를 포함한다.
상술한 방법에서, 전화 번호 역 탐색 수행 단계는, 엔터프라이즈 직원의 성명 및 연락 정보를 포함하는 고기능 텔레포니 엔터프라이즈 디렉토리를 생성하는 단계; 및 상기 고기능 텔레포니 엔터프라이즈 디렉토리를 사용하여 걸려오는 발신자의 신원을 판정하는 단계를 포함한다.
상술한 방법에서, 상기 전화 이벤트 파라미터는 상기 전화 내선 및 상기 전화 이벤트의 타입을 포함한다.
지금까지의 본 발명에 대한 기재는 예시와 설명을 위해서 제공된 것이었다. 본 발명을 개시된 특정한 양상들에 국한하거나 한정하도록 의도된 것이 아니다. 상술된 원리의 관점에서 많은 변형 및 변경이 가능하다. 본 발명의 범위는 본 발명에 대해 상기의 상세한 설명에 의해 규정되는 것이 아니라, 이하의 특허청구범위에 의해서 규정되도록 의도되었다.
본 발명에 따른 ET 시스템 및 방법은 전화와 퍼스널 컴퓨터 기능부의 심리스 통합을 용이하게 하여, 풍부한 사용자 제어의 컴퓨터 전화 간 통합을 사용자에게 제공한다.

Claims (27)

  1. 고기능 컴퓨터 텔레포니 통합 시스템(enhanced computer telephony integration system)에 있어서,
    제1 전화 내선(telephone extension)을 갖는 제1 전화;
    제2 전화 내선을 갖는 제2 전화;
    컴퓨터 네트워크에 접속되고 상기 제1 전화를 서비스하는 제1 고기능 텔레포니 서버(enhanced telephony server);
    상기 컴퓨터 네트워크에 접속되고 상기 제2 전화를 서비스하는 제2 고기능 텔레포니 서버;
    상기 컴퓨터 네트워크를 통해서 상기 제1 및 제2 서버와 통신하는 제1 고기능 텔레포니 클라이언트(enhanced telephony client) - 상기 제1 클라이언트는 상기 제1 전화 내선과 관련되고 상기 제1 전화 내선으로부터의 외부 전화를 시작함(initiating) -;
    상기 컴퓨터 네트워크를 통해서 상기 제1 및 제2 서버와 통신하는 제2 고기능 텔레포니 클라이언트 - 상기 제2 클라이언트는 상기 제2 전화 내선과 관련되고 상기 제1 전화 내선으로부터의 외부 전화를 시작함 -;
    상기 제1 서버 및 제2 서버 그리고 상기 제1 및 제2 전화와 통신하는 사설 구내 교환기(private branch exchange : PBX)
    를 포함하고,
    상기 제1 클라이언트가 시작하는 경우,
    상기 제1 클라이언트에 의해, 어떤 서버가 상기 제1 전화를 서비스하는지 결정하도록 상기 제1 서버 및 제2 서버에게 질의하고;
    상기 제1 서버가, 상기 제1 서버가 상기 제1 전화를 서비스한다고 표시하는 경우, 상기 제1 클라이언트에 의해 상기 제1 서버에 상기 제1 클라이언트를 등록하며;
    상기 사설 구내 교환기가 상기 제1 전화 내선에서 상기 제1 전화를 위한 걸려오는 콜(incoming call)를 수신한 경우,
    콜이 상기 제1 전화에 대하여 걸려온다는 것을 표시하는 제1 이벤트를 상기 사설 구내 교환기로부터 상기 제1 전화로 전송하고;
    콜이 상기 제1 전화 내선을 갖는 상기 제1 전화에 대하여 걸려온다는 것을 표시하는 제2 이벤트를 상기 사설 구내 교환기로부터 상기 제1 서버로 전송하며;
    상기 제1 서버가 상기 제2 이벤트를 수신하는 경우,
    상기 제1 서버에 의해, 지정 전화 내선과 연관되는 상기 제1 서버에 등록된 상기 제1 클라이언트를 식별하고;
    상기 제1 서버에 의해, 상기 제2 이벤트의 표시를 상기 제1 클라이언트로 중계하며;
    상기 제1 클라이언트가 상기 제2 이벤트의 표시를 수신하는 경우,
    상기 제1 클라이언트에 의해, 상기 제1 전화로 걸려오는 상기 콜과 관련된 정보를 사용자에게 제공하고;
    상기 제1 클라이언트에 의해, 동작(action)을 수행함으로써 상기 제1 전화를 제어하기 위한 표시를 상기 사용자로부터 수신하며;
    상기 제1 클라이언트에 의해, 상기 제1 전화를 제어하기 위해 수행되는 상기 동작의 표시를 상기 제1 서버로 전달하고;
    상기 제1 서버가 상기 동작의 표시를 수신하는 경우,
    상기 제1 서버에 의해, 상기 동작을 상기 사설 구내 교환기의 하나 이상의 명령어로 번역(translate)하고;
    상기 제1 클라이언트에서 상기 사용자에 의해 표시되는 상기 제1 전화의 제어를 실행하기 위해서, 상기 제1 서버에 의해, 상기 번역된 하나 이상의 명령어를 상기 사설 구내 교환기로 전송하며;
    상기 제1 전화 내선을 갖는 상기 제1 전화를 통해 나가는 콜을 신청하기(place) 위한 요청을 상기 사용자로부터 상기 제1 클라이언트가 수신하는 경우,
    상기 제1 클라이언트에 의해, 상기 제1 전화 내선을 갖는 상기 제1 전화로부터 나가는 콜을 시작하는 이벤트를 상기 제1 서버로 전송하고;
    상기 제1 서버가 상기 이벤트를 수신하는 경우, 상기 사설 구내 교환기가 상기 제1 전화 내선을 갖는 상기 제1 전화로부터의 상기 나가는 콜을 신청하도록, 상기 제1 서버에 의해 상기 이벤트를 상기 사설 구내 교환기로 중계하는,
    고기능 컴퓨터 텔레포니 통합 시스템.
  2. 제1항에 있어서,
    상기 사설 구내 교환기(PBX)가 처리가능한 포맷의 데이터를 상기 제1 클라이언트가 처리가능한 포맷의 데이터로 번역하며, 상기 제1 서버 상에 상주하는 번역 모듈(translation module)
    을 더 포함하는 고기능 컴퓨터 텔레포니 통합 시스템.
  3. 제2항에 있어서,
    상기 번역 모듈에 의한 번역을 용이하게 하는 스위치 데이터베이스(switch database)
    를 더 포함하는 고기능 컴퓨터 텔레포니 통합 시스템.
  4. 제3항에 있어서,
    상기 스위치 데이터베이스는 상기 PBX가 서비스하는 전화 내선의 리스트를 포함하는 고기능 컴퓨터 텔레포니 통합 시스템.
  5. 제3항에 있어서,
    상기 스위치 데이터베이스는 상기 PBX가 서비스하는 내선의 물리적 접속에 관한 정보를 포함하는 고기능 컴퓨터 텔레포니 통합 시스템.
  6. 제3항에 있어서,
    상기 스위치 데이터베이스의 상기 정보는 상기 번역을 수행하기 위해 상기 번역 모듈이 사용하는 PBX 전용 파라미터를 포함하는 고기능 컴퓨터 텔레포니 통합 시스템.
  7. 제6항에 있어서,
    상기 번역 모듈은 상기 PBX가 처리가능한 포맷의 데이터로부터 상기 PBX 전용 파라미터를 추출하여, 상기 PBX가 처리가능한 포맷의 데이터를 상기 제1 클라이언트가 처리가능한 포맷의 데이터로 번역하는 고기능 컴퓨터 텔레포니 통합 시스템.
  8. 제5항에 있어서,
    상기 정보는
    (a) 포트 번호,
    (b) 캐비닛 번호,
    (c) 선반 번호(shelf number),
    (d) 카드 식별자(identification), 및
    (e) 회로 식별자
    중 적어도 하나를 포함하는 고기능 컴퓨터 텔레포니 통합 시스템.
  9. 제3항에 있어서,
    상기 스위치 데이터베이스는 상기 PBX가 서비스하는 각 내선에 대한 사용자 그룹을 포함하는 고기능 컴퓨터 텔레포니 통합 시스템.
  10. 사용자에 의해 클라이언트로 제출된 동작에 기초하여 사설 구내 교환기(PBX)에 연결된 전화를 제어하기 위해서, 서비스 서버(servicing server)에 의해 수행되는 방법으로서, 상기 클라이언트와 상기 PBX는 상기 서비스 서버를 포함하는 복수의 서버에 연결되고, 상기 클라이언트, 상기 서버 및 상기 PBX는 컴퓨팅 장치이며, 상기 방법은,
    상기 서비스 서버가 상기 전화를 서비스한다는 표시를 상기 서비스 서버에 제공하는 단계;
    상기 서비스 서버에 의해, 상기 클라이언트가 어떤 서버가 상기 전화를 서비스하는지를 결정하도록 상기 클라이언트로부터 각각의 서버에게 전송된 질의를 수신하는 단계;
    상기 질의의 수신에 응답하여, 상기 서비스 서버에 의해, 상기 제공된 표시에 의해 표시되는 바에 따라 상기 서비스 서버가 상기 전화를 서비스한다는 표시를 상기 클라이언트에게 전송하는 단계;
    상기 서비스 서버에 의해, 상기 클라이언트를 상기 서비스 서버에 등록하기 위해 상기 클라이언트로부터 전송된 요청을 수신하는 단계;
    상기 요청을 수신하는 것에 응답하여, 상기 클라이언트를 상기 전화에 연관되도록 등록하는 단계;
    상기 서비스 서버에 의해, 상기 PBX로부터 상기 전화에 대해 걸려오는 콜의 통지를 수신하는 단계 - 상기 통지는 상기 PBX에 의해 상기 전화 및 상기 서비스 서버 모두에게 전송됨 -;
    상기 서비스 서버에 의해, 상기 등록에 의해 표시되는 바에 따라 상기 전화와 연관된 상기 클라이언트를 결정하는 단계;
    상기 전화와 연관된 상기 클라이언트를 결정한 후에, 상기 전화에 대해 콜이 걸려온다는 통지를 상기 서비스 서버로부터 상기 클라이언트로 전송하는 단계;
    상기 서비스 서버에 의해, 상기 클라이언트로부터 전송된 동작의 표시를 수신하는 단계 - 사용자에게 걸려오는 콜의 통지를 제공하는 것에 응답하여 상기 클라이언트는 상기 사용자로부터 동작의 표시를 수신함 -; 및
    상기 서비스 서버가 상기 클라이언트로부터 전송된 상기 동작의 상기 표시를 수신하면,
    상기 서비스 서버에 의해, 상기 동작을 상기 PBX의 하나 이상의 명령어로 번역하는 단계; 및
    상기 서비스 서버에 의해, 상기 클라이언트에서 상기 사용자에 의해 표시되는 바에 따라 상기 전화의 제어를 실행하기 위해서, 상기 번역된 하나 이상의 명령어를 상기 PBX로 전송하는 단계
    를 포함하는 서비스 서버를 이용한 전화 제어 방법.
  11. 제10항에 있어서,
    상기 PBX가 처리가능한 포맷의 데이터를 상기 클라이언트가 처리가능한 포맷의 데이터로 번역하는 단계
    를 더 포함하는 서비스 서버를 이용한 전화 제어 방법.
  12. 제11항에 있어서,
    상기 PBX가 처리가능한 포맷의 데이터의 상기 클라이언트가 처리가능한 포맷의 데이터로의 번역을 용이하게 하는 스위치 데이터베이스를 제공하는 단계
    를 더 포함하는 서비스 서버를 이용한 전화 제어 방법.
  13. 제12항에 있어서,
    상기 스위치 데이터베이스는 상기 PBX가 서비스하는 전화 내선의 리스트를 포함하는 서비스 서버를 이용한 전화 제어 방법.
  14. 제12항에 있어서,
    상기 스위치 데이터베이스는 상기 PBX가 서비스하는 내선의 물리적 접속에 관한 정보를 포함하는 서비스 서버를 이용한 전화 제어 방법.
  15. 제12항에 있어서,
    상기 스위치 데이터베이스 내의 정보는 상기 번역을 수행하기 위해 상기 번역 모듈이 사용하는 PBX 전용 파라미터를 포함하는 서비스 서버를 이용한 전화 제어 방법.
  16. 사용자에 의해 클라이언트로 제출된 동작에 기초하여 PBX에 연결된 전화를 제어하기 위한 서비스 서버로서 - 상기 클라이언트 및 상기 PBX는 상기 서비스 서버를 포함하는 복수의 서버에 연결되고, 상기 클라이언트, 상기 서버 및 상기 PBX는 컴퓨팅 장치임 -,
    상기 서비스 서버가 상기 전화를 서비스한다는 표시;
    상기 클라이언트로부터 각각의 서버에게 전송된 질의 - 상기 질의는 상기 클라언트가 어떤 서버가 상기 전화를 서비스하는지를 결정하도록 전송됨 - 를 수신하고,
    상기 질의의 수신에 응답하여, 상기 표시에 의해 표시되는 바에 따라 상기 서비스 서버가 상기 전화를 서비스한다는 표시를 상기 클라이언트에게 전송하며,
    상기 클라이언트를 상기 서비스 서버에 등록하기 위해 상기 클라이언트로부터 전송된 요청을 수신하고,
    상기 요청을 수신하는 것에 응답하여, 상기 클라이언트를 상기 전화에 연관되도록 등록하는 컴포넌트;
    상기 PBX로부터 상기 전화에 대해 걸려오는 콜의 통지 - 상기 통지는 상기 PBX에 의해 상기 전화 및 상기 서비스 서버 모두에게 전송됨 - 를 수신하는 컴포넌트;
    상기 등록에 의해 표시되는 바에 따라 상기 전화와 연관된 상기 클라이언트를 결정하는 컴포넌트;
    상기 클라이언트가 상기 전화와 연관된다는 것을 결정한 후에, 상기 전화에 대해 콜이 걸려온다는 통지를 상기 서비스 서버로부터 상기 클라이언트로 전송하는 컴포넌트;
    상기 클라이언트로부터 전송된 동작의 표시를 수신하는 컴포넌트 - 사용자에게 걸려오는 콜의 통지를 제공하는 것에 응답하여 상기 클라이언트는 상기 사용자로부터 동작의 표시를 수신함 -; 및
    상기 클라이언트로부터 전송된 상기 동작의 상기 표시를 수신하면,
    상기 동작을 상기 PBX의 하나 이상의 명령어로 번역하고,
    상기 클라이언트에서 상기 사용자에 의해 표시되는 바에 따라 상기 전화의 제어를 실행하기 위해서, 상기 번역된 하나 이상의 명령어를 상기 PBX로 전송하는 컴포넌트를 포함하고,
    상기 컴포넌트들은 상기 서비스 서버의 프로세서에 의한 실행을 위해 메모리에 저장된 명령으로서 구현되는 서비스 서버.
  17. 제16항에 있어서,
    상기 PBX가 처리가능한 포맷의 데이터를 상기 클라이언트가 처리가능한 포맷의 데이터로 번역하는 컴포넌트
    를 더 포함하는 서비스 서버.
  18. 제17항에 있어서,
    상기 PBX가 처리가능한 포맷의 데이터의 상기 클라이언트가 처리가능한 포맷의 데이터로의 번역을 용이하게 하는 스위치 데이터베이스
    를 더 포함하는 서비스 서버.
  19. 제18항에 있어서,
    상기 스위치 데이터베이스는 상기 PBX가 서비스하는 전화 내선의 리스트를 포함하는 서비스 서버.
  20. 제18항에 있어서,
    상기 스위치 데이터베이스는 상기 PBX가 서비스하는 내선의 물리적 접속에 관한 정보를 포함하는 서비스 서버.
  21. 제20항에 있어서,
    상기 스위치 데이터베이스의 상기 정보는 상기 번역을 수행하기 위해 상기 번역 모듈이 사용하는 PBX 전용 파라미터를 포함하는 서비스 서버.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
KR1020040068470A 2003-08-29 2004-08-30 고기능 컴퓨터 텔레포니 통합 및 상호 작용 시스템과 그방법 KR101159313B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/651,468 US7697506B2 (en) 2003-08-29 2003-08-29 System and method for enhanced computer telephony integration and interaction
US10/651,468 2003-08-29

Publications (2)

Publication Number Publication Date
KR20050021966A KR20050021966A (ko) 2005-03-07
KR101159313B1 true KR101159313B1 (ko) 2012-06-22

Family

ID=34104734

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040068470A KR101159313B1 (ko) 2003-08-29 2004-08-30 고기능 컴퓨터 텔레포니 통합 및 상호 작용 시스템과 그방법

Country Status (5)

Country Link
US (1) US7697506B2 (ko)
EP (1) EP1511284B1 (ko)
JP (1) JP4444763B2 (ko)
KR (1) KR101159313B1 (ko)
CN (1) CN1595952A (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040235520A1 (en) 2003-05-20 2004-11-25 Cadiz Jonathan Jay Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer
US7216221B2 (en) * 2003-09-30 2007-05-08 Microsoft Corporation Method and system for unified audio control on a personal computer
US8139738B1 (en) 2004-06-12 2012-03-20 Rockstar Bidco, LP Telephone to computational device association
GB0428538D0 (en) 2004-12-31 2005-02-09 British Telecomm Computer telephony integration
US20060209810A1 (en) * 2005-03-08 2006-09-21 Openpeak Inc. Network-extensible and controllable telephone
US7881455B2 (en) * 2006-01-12 2011-02-01 At&T Intellectual Property I, L.P. Apparatus and method for finding a called party over a telecommunication network
US7831034B2 (en) * 2006-07-20 2010-11-09 Microsoft Corporation Management of telephone call routing using a directory services schema
US8116783B2 (en) 2006-09-22 2012-02-14 Rockstar Bidco Lp Method and apparatus for determining the location of a wireless client device on a wireless network
JP4410236B2 (ja) * 2006-11-28 2010-02-03 株式会社東芝 電話システムとその呼制御方法
US20080181197A1 (en) * 2007-01-29 2008-07-31 International Business Machines Corporation Delivering Unified User Experience By Automatically Teaming Up Information Appliances With General Purpose PC Through Internet
US10242328B2 (en) * 2007-02-26 2019-03-26 Service Bureau Intel S.A. Tracking telecommunication expenses
CN101803353B (zh) * 2007-09-20 2013-12-25 西门子企业通讯有限责任两合公司 用于运行通信连接的方法和通信装置
US9407451B1 (en) * 2008-05-16 2016-08-02 Genband Us Llc Integrating telephony applications and television broadcasts on a multimedia device
US8264990B2 (en) * 2010-02-01 2012-09-11 Microsoft Corporation Using consultation call to transfer call across endpoints
TW201232280A (en) * 2011-01-20 2012-08-01 Hon Hai Prec Ind Co Ltd System and method for sharing desktop information
US9401997B2 (en) * 2011-12-06 2016-07-26 Vonage Business Inc. Dynamic application integration associated with hosted VoIP PBX using client-side integration proxy
US8924547B1 (en) * 2012-06-22 2014-12-30 Adtran, Inc. Systems and methods for managing network devices based on server capacity
US20150066633A1 (en) 2013-08-30 2015-03-05 Google Inc. Dynamic telephone number assignment
US9406076B1 (en) 2013-11-22 2016-08-02 Google Inc. Automatic virtual phone number pool management
CN105744091A (zh) * 2014-12-11 2016-07-06 北京万朝科技有限公司 一种智能通信系统
US9785312B1 (en) * 2016-02-16 2017-10-10 James S. Farrin, P.C. Database searching based on user-definable parameters
US10656794B1 (en) 2016-02-16 2020-05-19 Growpath, Inc. Database searching based on user-definable parameters and automated notifications in response to scores
US10775965B1 (en) * 2016-02-16 2020-09-15 Growpath, Inc. Media buy loader, graphical user interface, and method of correlating media buys to customer intakes
US10826908B1 (en) 2017-11-30 2020-11-03 Growpath, Inc. Systems and methods for email attachment routing in a client management system
US10339192B1 (en) 2017-11-30 2019-07-02 Growpath, Inc. Systems and methods for matching buzzwords in a client management system
JP6898004B2 (ja) * 2019-12-12 2021-07-07 Necプラットフォームズ株式会社 電話交換装置、電話端末、電話交換システム、制御方法及び制御プログラム
TWI801096B (zh) * 2022-01-14 2023-05-01 陳立新 延伸電話交換機通訊功能及連線的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0112095A1 (en) * 1982-12-07 1984-06-27 Simon-Hartley Limited Aqueous liquid treatment process and apparatus
US20020110113A1 (en) * 2000-08-10 2002-08-15 Michael Wengrovitz Switch with emulation client

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6387898A (ja) 1986-09-30 1988-04-19 Nec Corp ボタン電話装置
JP2582369B2 (ja) 1987-05-13 1997-02-19 日本電気株式会社 ロ−ミング登録・解除方式
JPH01190062A (ja) 1988-01-25 1989-07-31 Nec Corp 自動呼出方式
JPH0595392A (ja) 1991-06-26 1993-04-16 Mitsubishi Electric Corp 電話機
JPH07182372A (ja) 1993-12-22 1995-07-21 Casio Comput Co Ltd データバンク装置
US5754636A (en) 1994-11-01 1998-05-19 Answersoft, Inc. Computer telephone system
DE69635434T2 (de) 1995-02-28 2006-07-27 Koninklijke Philips Electronics N.V. Telekommunikationssystem
JP3713746B2 (ja) 1995-05-18 2005-11-09 松下電器産業株式会社 網制御装置
JP3692582B2 (ja) 1995-11-30 2005-09-07 日本ビクター株式会社 音声消去装置
JPH09289526A (ja) 1996-04-23 1997-11-04 Fujitsu Ltd ゲートウェイ装置
US5864616A (en) * 1996-06-28 1999-01-26 Intel Corporation System and method for providing call statistics in real time
US6477374B1 (en) 1997-01-03 2002-11-05 Siemens Information And Communication Networks, Inc. Apparatus and method for calendar based call routing
JPH10240656A (ja) 1997-02-25 1998-09-11 Fujitsu Ltd 着信制御方式
US6563914B2 (en) 1997-02-26 2003-05-13 Call Sciences Limited Personal web-based teleconferencing method and system
US6445694B1 (en) 1997-03-07 2002-09-03 Robert Swartz Internet controlled telephone system
US6046762A (en) 1997-04-01 2000-04-04 Cosmocom, Inc. Multimedia telecommunication automatic call distribution system
JP3311972B2 (ja) 1997-09-19 2002-08-05 富士通株式会社 電話接続装置、電話接続方法及び、その方法をコンピュータに実行させるためのプログラムを記録した記録媒体
JPH11161706A (ja) 1997-11-27 1999-06-18 Nec Corp スケジュール表統合管理運用方式
US6259449B1 (en) 1997-12-10 2001-07-10 Sony Corporation Integrated communication center
JPH11331895A (ja) 1998-05-19 1999-11-30 Hitachi Telecom Technol Ltd 多機能電話制御方式
US6298127B1 (en) * 1998-07-13 2001-10-02 Nortel Networks Limited Call transfer and conference with separate billing records per leg
WO2000049794A1 (en) 1999-02-17 2000-08-24 Eci Telecom Ltd. A call-center with agents that are distributed over the internet
JP2000244568A (ja) * 1999-02-23 2000-09-08 Hitachi Ltd マルチメディア呼分配システム
JP2000261554A (ja) 1999-03-05 2000-09-22 Toshiba Corp 統合情報伝達システム、同システムの制御方法、及びアプリケーションが記憶される記憶媒体
JP4519962B2 (ja) 1999-05-27 2010-08-04 Jfeシステムズ株式会社 通信制御システム
US6549621B1 (en) * 1999-07-26 2003-04-15 Nortel Networks Limited Method and system for integrating a computer and a telephone
JP3862453B2 (ja) 1999-09-10 2006-12-27 Ntn株式会社 車輪軸受装置
US6459782B1 (en) 1999-11-10 2002-10-01 Goldstar Information Technologies, Llc System and method of developing mapping and directions from caller ID
JP2001160959A (ja) 1999-12-02 2001-06-12 Canon Inc 仮想システムの制御装置及び方法並びに記憶媒体
JP2001169319A (ja) 1999-12-07 2001-06-22 Nippon Telegraph & Telephone West Corp コンピュータ・テレフォニ制御装置および制御方法
AU2453701A (en) 1999-12-22 2001-07-03 Wabash Technology Corporation Vehicle axle end wheel speed sensor
US6621800B1 (en) * 2000-01-24 2003-09-16 Avaya Technology Corp. Message monitor application concept and implementation
JP2001320748A (ja) 2000-05-11 2001-11-16 Toshiba Corp 交換システム
US7145899B1 (en) * 2000-05-25 2006-12-05 Cisco Technology, Inc. System and method for providing shared line appearances in a distributed call routing network
JP2001339527A (ja) 2000-05-30 2001-12-07 Murata Mach Ltd 転送機能付き通信端末装置
JP2002033800A (ja) 2000-07-19 2002-01-31 Audio Technica Corp 無線電話機の着信報知方法
US20020015003A1 (en) 2000-08-07 2002-02-07 Masami Kato Virtual space system structured by plural user terminals and server device
RU2003106394A (ru) * 2000-08-11 2004-08-20 Дзе Трастиз Оф Коламбия Юниверсити Ин Дзе Сити (Us) Система и способ унифицированного обмена сообщениями в интер/интранет-телефонии
JP2002064639A (ja) 2000-08-17 2002-02-28 Hardis System Design Co Ltd 電話応対業務用通話録音システム及びそのシステムで用いる音声録音ボード
JP2002101183A (ja) 2000-09-21 2002-04-05 Sony Corp 携帯電話用遠隔制御装置及びその検索方法
AU2001296932A1 (en) 2000-09-28 2002-04-08 Accessline Communications Corporation User configurable system for handling incoming calls to users having multiple destinations adresses
JP3727013B2 (ja) 2001-01-23 2005-12-14 日本電信電話株式会社 通信管理装置と通信管理情報の設定方法およびその処理プログラム
JP3801447B2 (ja) 2001-01-30 2006-07-26 Jfeシステムズ株式会社 コールセンタ運営統計収集システム
US6950402B2 (en) 2001-02-15 2005-09-27 Persona Software, Inc. Web-enabled call management method and apparatus
US7142646B2 (en) 2001-02-27 2006-11-28 Verizon Data Services Inc. Voice mail integration with instant messenger
GB0107721D0 (en) * 2001-03-28 2001-05-16 Group 3 Technology Ltd Communications module for controlling the operation of a private branch exchange
JP2002191070A (ja) 2001-05-11 2002-07-05 Cyberware:Kk 移動体端末所持者の現在状況確認システム,情報管理サーバ,移動体端末,情報利用者クライアント,プログラム,記憶媒体及び移動体端末所持者の現在状況確認方法
FR2824980B1 (fr) 2001-05-15 2004-08-06 C3T Procede et dispositif de gestion de communication multimedia
JP2002354518A (ja) 2001-05-25 2002-12-06 Nec Software Kyushu Ltd 携帯端末を利用した位置確認システム
JP2002374354A (ja) 2001-06-18 2002-12-26 Ricoh Co Ltd 在席状況確認システム、プログラム、及び記録媒体
US6782086B2 (en) * 2001-08-02 2004-08-24 Intel Corporation Caller ID lookup
JP2003188978A (ja) 2001-12-20 2003-07-04 Casio Comput Co Ltd 通信端末およびプログラム
JP3757169B2 (ja) 2002-01-17 2006-03-22 Necインフロンティア株式会社 交換システム及び交換方法
JP2003219469A (ja) 2002-01-21 2003-07-31 Nec Commun Syst Ltd 携帯型通信端末及び着信転送方法
US7092385B2 (en) * 2002-03-12 2006-08-15 Mci, Llc Policy control and billing support for call transfer in a session initiation protocol (SIP) network
JP2003283693A (ja) 2002-03-26 2003-10-03 Nec Commun Syst Ltd 携帯通信端末のリモート制御方法及びシステム
JP2003296522A (ja) 2002-04-04 2003-10-17 Nec Soft Ltd 行動予定管理サーバ及びシステム並びにプログラム
JP2003324543A (ja) 2002-05-07 2003-11-14 Fujitsu Ltd 情報処理装置の操作による移動電話機の制御
US20040235520A1 (en) 2003-05-20 2004-11-25 Cadiz Jonathan Jay Enhanced telephony computer user interface allowing user interaction and control of a telephone using a personal computer

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0112095A1 (en) * 1982-12-07 1984-06-27 Simon-Hartley Limited Aqueous liquid treatment process and apparatus
US20020110113A1 (en) * 2000-08-10 2002-08-15 Michael Wengrovitz Switch with emulation client

Also Published As

Publication number Publication date
CN1595952A (zh) 2005-03-16
KR20050021966A (ko) 2005-03-07
US7697506B2 (en) 2010-04-13
JP2005080298A (ja) 2005-03-24
JP4444763B2 (ja) 2010-03-31
US20050047395A1 (en) 2005-03-03
EP1511284A1 (en) 2005-03-02
EP1511284B1 (en) 2014-04-16

Similar Documents

Publication Publication Date Title
KR101159313B1 (ko) 고기능 컴퓨터 텔레포니 통합 및 상호 작용 시스템과 그방법
KR101130398B1 (ko) 제3자 호 및 장치 제어를 용이하게 하기 위한 시스템 및방법
US7675903B2 (en) Dynamic contact list management system and method
US7472162B2 (en) Communication system architecture for voice first collaboration
US7362698B2 (en) Method, system and service for achieving synchronous communication responsive to dynamic status
US6549937B1 (en) System and method for multi-protocol communication in a computer network
JP5010924B2 (ja) プレゼンス・アウェア・ネットワークでのメッセージング・アドバイス
US7283829B2 (en) Management of call requests in multi-modal communication environments
KR100274739B1 (ko) 전산망에서클라이언트와서버간의통신을관리하기위한방법및장치
JP4379801B2 (ja) Pbx局との間のインスタント・メッセージング
US20070123224A1 (en) Information processing method and system for preventing leakage of information from mobile phone
US8238539B2 (en) Communication system
JP2013502650A (ja) 電話で見いだされるマッシュアップとプレゼンス
US7319746B2 (en) Method of establishing communications between selected user terminals, using dedicated communication equipments
US20070254637A1 (en) Device, Method and Computer Program Product Readable Medium for Establishing a Communication Session
US20070153773A1 (en) Communication control unit
KR100422706B1 (ko) 발신자 정보 제공 장치 및 방법
JP5715897B2 (ja) 着信時情報提供装置
US7596217B2 (en) Systems and methods for phone call management
US20220321696A1 (en) Presence based presentation of call identification information
US7154878B1 (en) Integrated network
JP2003250011A (ja) コンピュータ及び内線通話接続サービス提供方法
KR100570816B1 (ko) 컴퓨터전화통합 프로그램을 이용한 호처리 장치 및 방법
JP3957720B2 (ja) メッセンジャーサービスシステムおよび外線発信方法
KR20180061721A (ko) 메시지를 이용한 통합커뮤니케이션 기능 제어 방법 및 장치

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: 20150515

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 8