KR20100136906A - 플러그가능 콘택트 결정 - Google Patents

플러그가능 콘택트 결정 Download PDF

Info

Publication number
KR20100136906A
KR20100136906A KR1020100029447A KR20100029447A KR20100136906A KR 20100136906 A KR20100136906 A KR 20100136906A KR 1020100029447 A KR1020100029447 A KR 1020100029447A KR 20100029447 A KR20100029447 A KR 20100029447A KR 20100136906 A KR20100136906 A KR 20100136906A
Authority
KR
South Korea
Prior art keywords
user
server
extension module
contact
sip
Prior art date
Application number
KR1020100029447A
Other languages
English (en)
Other versions
KR101352647B1 (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 KR20100136906A publication Critical patent/KR20100136906A/ko
Application granted granted Critical
Publication of KR101352647B1 publication Critical patent/KR101352647B1/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/46Arrangements for calling a number of substations in a predetermined sequence until an answer is obtained
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4547Network directories; Name-to-address mapping for personal communications, i.e. using a personal identifier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

플러그가능 확장을 행하고 그것을 유일한 사용자 인기도 세트에 적용하여 사용자의 바람직하고 사용자 중심적 경고 관계를 다루는 방법, 디바이스 및 시스템이 제공된다. 보다 구체적으로, 플러그가능 확장은 사용자가 그들의 개인화된 콘택트결정 알고리즘을 그들에 의해 개시된 호에 또는 직접적으로 적용되는 호에 서버에 의해 적용되게 하거나 직접 향하게 한다. 콘택트 결정 알고리즘은 임의의 서버에 플러그가능하며, 서버 자체에 구축될 필요는 없다. 더욱이, 다수의 사용자는 동일한 플러그가능 콘택트 결정 알고리즘을 참조하고 사용할 수 있다.

Description

플러그가능 콘택트 결정{PLUGGABLE CONTACT RESOLUTION}
본 발명은 전반적으로 통신에 관한 것으로서, 보다 구체적으로는 휴대용 사용자 중심 콘택트 결정 메커니즘(portable user-centric contact resolution mechanisms)에 관한 것이다.
세션 설정 프로토콜(Session Initiation Protocol: SIP)은 수많은 종류의 실시간 통신 세션을 설립하는 개방 시그널링 프로토콜이다. SIP를 사용하여 설립될 수 있는 종류의 통신 세션의 실례는 음성, 비디오, 및/또는 인스턴트 메시징을 포함한다. 이들 통신 세션은 개인용 컴퓨터, 랩톱 컴퓨터, PDA, 셀룰러 폰, 스마트 폰, 전화, 아날로그 폰, DCP 폰, 또는 이들의 조합 등과 같은 임의의 타입의 통신 디바이스에서 실행될 수 있다. SIP의 한 가지 주요 특징은 최종 사용자의 AOR(Address of Record)을 모든 통신에 대해 하나의 통일된 공개 어드레스로 사용하는 능력이다. 따라서, SIP 개선 통신의 세계에서, 사용자의 AOR은 사용자를 사용자와 연계된 모든 통신 디바이스에 링크시키는 단일 어드레스가 된다. 이 AOR을 사용하여, 발신자는, 각각의 유일한 디바이스 어드레스 또는 전화번호를 알 필요없이, 사용자 에이전트(User Agent: UA)라고도 지칭되는 사용자 통신 디바이스 중 임의의 것에 도달할 수 있다.
SIP 세션의 설립 동안에 수행되는 여러 단계들 중 하나는, 주어진 사용자에게 등록된 어떤 디바이스가 임의의 주어진 호(call)에 대해 경고(alert)할 것인지를 판정할 콘택트 결정이다. 일반적인 시스템에서는, 사용자를 위한 콘택트 결정(contact resolution policy) 정책(어떤 디바이스에 전화할 것인지, 어떻게 그것에 전화할 것인지 등에 관해 이루어지는 결정)이 PBX 내에 구축되었고, 준비된 전화 세트에 대해서만 작동하였다. 따라서, 콘택트 결정 정책에 대한 사용자의 선택은 PBX 릴리스 및 전화 디바이스 특성이었다. 이것은 기초적인 IP 네트워크가 사용자에 의해 등록된 꽤 많은 수의 SIP 통신 디바이스에 대한 범용 부착 메커니즘이 되기 때문에 SIP에서는 그다지 바람직하지 못하다. 그것은 어떤 SIP 사용자 디바이스가 등록되고, 부착되며, 인에이블링되는지 또한 그러한 디바이스 각각이 어떤 목적으로 사용될 것인지를 결정하는 SIP 사용자이다. SIP에서, 콘택트 결정은 통상적으로, 로케이션 서버에서 이루어지지만, PBX와 같이 새로운 콘택트 결정 작용을 제공할 수 있도록 로케이션 서버를 다시 배치하는 것은 흔히 바람직하지 않다. 따라서, 사용자가, 일반적으로 네트워크의 특정 PBX 또는 통신 기능 서버 또는 로케이션 서버의 수정을 필요로 하지 않고, 시스템/네트워크 관리자에 의해 그들을 대신하여 용이하게 제공될 수 있는 콘택트 결정 정책으로의 액세스를 갖는 것이 바람직하다.
본 발명의 실시예는, 사용자 및 특히 SIP 사용자를 위한 콘택트 결정 정책 또는 알고리즘을 인에이블링하는 메커니즘을 제공한다. 많은 기업들은 SIP 사용자가 로케이션 서버에서 각각의 디바이스 또는 네트워크 엘리먼트마다 그들의 선호도를 단순한 q-값으로서 등록하게 한다. SIP에서, 로케이션 서버의 역할은 사용자 정책에 따라 각각의 등록된 콘택트에 SIP 요청을 보내는 것을 중재하는 것이다. 이것은 통상적으로 사용자 정책을 구현하는 정적 알고리즘 내에서 q-값을 평가함으로써 이루어진다. 여러 가지 공통적으로 사용되는 정책은 순차적 분기(sequential forking)(각각의 디바이스를 접촉함), 병렬 분기(parallel forking)(모든 디바이스를 동시에 접촉시키고, 먼저 응답하는 디바이스가 콘택트를 얻게 함), 및 로드 밸런싱을 포함한다. 본 발명의 실시예는 네트워크 관리자가 네트워크의 사용자에게 새로운 알고리즘 선택안을 "빠르게 배치(Hot Deploy)"하게 하며, 사용자가 기업 네트워크에서 사용가능한 임의의 배치된 콘택트 결정 정책을 선택하고 선택적으로 개인화하게 한다. 보다 구체적으로, 본 발명의 실시예는 사용자가 네트워크에서 적절히 배치되었던 플러그가능 콘택트 결정 알고리즘(직렬 분기, 병렬 분기, 스마트 로드 밸런싱, 발신자 식별에 따른 다양한 변화 등)을 찾고 활용하게 하는 메커니즘을 제공한다. 흔히, 플러그가능 콘택트 결정 알고리즘은 관리자에 의해 또는 관리자 허가를 얻은 몇몇 다른 사용자에 의해 배치된다. 그러나, 본 발명의 실시예는 그렇게 제한되지 않으며, 비행정적 사용자도 개인적 용도 및/또는 다른 사용자에 의한 사용을 위해 플러그가능 콘택트 결정 알고리즘을 전개하고 배치하도록 될 수 있다. 플러그가능 콘택트 결정 알고리즘을 채용하도록 선택하는 임의의 사용자는 채택될 때 그러한 콘택트 결정 알고리즘을 정련하고(refine) 커스터마이즈하도록 될 수 있다.
콘택트 결정 알고리즘을 포함하는 확장 모듈은 인바운드 콘택트가 그 사용자를 위해 수신될 때 테이블 엔트리와 관련하여 그 사용자를 위해 어떤 콘택트 결정 알고리즘(Contact Resolution Algorithm: CRA)을 사용할 것인지(어떤 확장 모듈이 참조되어야 하는지)를 도시하는 데 사용된다.
확장 모듈은 개별적으로 배치될 수 있고 배치되지 않을 수 있는 독립적 jar 파일(self-contained jar file)이다. SIP 서블릿은 SIP 기능을 지원하도록 로딩되는 인터페이스를 강화시킨다는 면에서 다른 유형의 서블렛과 매우 유사하다. 다른 유형의 서블릿의 일례는 웹 서버 또는 애플리케이션 서버에서 구동하며 서버측 프로세싱을 제공하여, 전형적으로 데이터베이스를 액세스하거나 전자상거래 프로세싱을 수행하는 자바 애플리케이션인 http 서블릿이다. 그것은 C 및 C++로 쓰여진 소유 플러그-인(proprietary plug-ins), ASP(Active Server Pages) 및 CGI 스크립트에 대한 자바 기반 대체물이다. 서블릿은 CGI 개념과 유사하지만, 별도의 프로세싱을 사용하는 대신에 메시지가 서버 내부의 가상 머신 내에서 구동하는 클래스로 전달된다.
많은 서블렛이 특정 프로그래밍 언어(예를 들어, 자바)로 기록되어, 그들이 서버와 운영체제 사이에서 이동 가능하게 한다. 자바는 서블렛이나 확장 모듈을 생성하는 데 사용될 수 있는 프로그래밍 언어의 일부이지만, 당업자라면 본 발명의 실시예가 그렇게 제한되는 것은 아니라는 것을 이해할 것이다. 보다 구체적으로, 본 발명의 실시예는 확장 모듈이 서버와/또는 운영체제 사이에서 이동 가능하게 하는 임의의 유형의 프로그래밍 언어로 확장 모듈의 생성을 고려한다. 본 발명의 실시예는 서버(예를 들어, 기업 서버 및 특히 SIP 서버) 상의 가상 머신 내부에서 구동할 수 있는 확장 모듈도 고려한다.
그러나, SIP 서블렛과 달리, 확장 모듈은 빠른 배치가 가능하다(hot deployable). 그들은 어떠한 서비스 손실도 없는 실행시간 업그레이드를 허용한다. 본 발명의 적어도 몇몇 실시예에 따르면, 확장 모듈은 인입 콘택트가 수신될 때 특정 사용자가 획득하는 콘택트 결정의 형태를 수정하도록 SIP 다이얼로그 어댑테이션(dialog adaptation)에 사용될 수 있다. 보다 구체적으로, 개별적인 다이얼로그 어댑테이션 로직은 각각의 어댑터에 대한 서블릿이라기보다는 확장 모듈로서 구현될 수 있다. 확장 모듈의 핫 스왑 이용가능성(hot swap availability) 이외에도, 확장 모듈의 사용은 보다 용이한 관리 및 공통 다이얼로그 어댑테이션 로직이 공유되게 한다. 확장 모듈과 전통적인 SIP 서블릿 사이의 다른 차이점은 SIP 서블릿 인터페이스만을 가정하는 SIP 서블릿과 달리 확장 모듈은 그것의 서비스를 노출시키는 많은 인터페이스를 정의할 수 있다는 것이다.
또한, 본 발명의 적어도 몇몇 실시예에 따르면, 확장 모듈은 서블릿, 애플리케이션 라우터, 및/또는 다른 SIP 애플리케이션에 의해 액세스될 수 있는 서비스를 노출시키는 데 사용된다. 몇몇 실시예에서, 확장 모듈은 (통상, 시스템 운영자에 의해 정의되는) 배치 동안에 정의된 고유의 짧은 SIP ID로 속박된다. 확장 모듈은 또한 그것의 서비스를 노출시키는 인터페이스를 정의할 수 있다. 확장 API는 필요하다면 그것의 짧은 ID를 통해 확장 모듈의 검색을 용이하게 할 수 있다. 확장 모듈이 배치가능한 독립적 jar이므로, 확장 모듈에 대한 구성 정보는 확장 모듈을 구현하는 클래스 파일과 함께 jar 파일에 포함된다. 구성 정보는 서블렛과 동일한 방법으로 배치 XML 파일 내에 정의될 수 있다.
동작 시, 각각의 원격부는 서비스 호스트 확장 모듈로서 구현되는 인바운드 및 아웃바운드 다이얼로그 어댑테이션 로직과 연계된다. (콘택트 결정과 같은) 다이얼로그 어댑테이션을 요구하는 임의의 서비스는 그것의 확장 모듈 식별자(즉, 확장 모듈에 할당된 고유의 짧은 ID)를 통해 어댑테이션 모듈을 불러 올 것이다.
이 확장 모듈은 콘택트 결정 요청이 수신될 때 어떤 CRA를 사용할 것인지를 나타내는 테이블 엔트리 외에도 사용된다. 본 발명의 적어도 몇몇 실시예에 따르면, 테이블은 사용자 관련 준비 및 다이내믹 데이터를 포함한다. 테이블 내에서, 사용자는 콘택트가 그들을 위해 수신될 때마다 그들이 적용했기를 원하는 배치된 CRA와의 개인적 연계를 정의하도록 허용될 수 있다. 보다 구체적으로, 특정 사용자에 대한 테이블은 특정 CRA를 적용할 확장 모듈의 식별자를 포함할 것이다. 사용자 옵션을 설정하는 별도의 웹 인터페이스를 통해 희망하는 바와 같이, 사용자에 의해 구성되고 재구성될 수 있는 이 확장부에 연계된 사용자 중심 데이터가 존재할 수 있다. 보다 구체적으로, 일단 사용자 데이터 구성 또는 재구성이 테이블에서 발생했다면, 액티브 CRA의 유효 체크는 식견이 있는 엔트포인트에 의해 등록 또는 재등록 동안에 발생할 수 있다.
콘택트 결정에 대한 요청이 수신될 때, 확장 모듈이 불려온다. 따라서, 콘택트 결정은 플러그가능하며, SIP 로케이션 서버 자체 내에 구축될 필요가 없다. 더욱이, 다수의 사용자는 동일한 확장 모듈을 참조할 수 있고, 그들 자신의 개인 사용자 설정과 동일하거나 유사한 CRA를 적용할 수 있다.
본 발명의 적어도 몇몇 실시예에 따르면, 일반적으로, 제 1 서버에서, 제 1 사용자를 위한 콘택트 결정 요청을 수신하는 단계와, 상기 제 1 사용자에 대한 콘택트 결정 선호도를 식별하는 단계와, 상기 제 1 사용자에 대한 상기 콘택트 결정 선호도가 콘택트 결정의 일부로서 확장 모듈을 활용하는지를 판정하는 단계와, 상기 제 1 서버에 의해, 상기 요청에 대해 상기 확장 모듈에 대한 사용자선호도 옵션을 적용하는 상기 확장 모듈을 불러오는 단계를 포함하는 통신 방법이 제공되다.
본 명세서에서 사용된 용어 "컴퓨터 판독가능 매체"는 실행을 위해 프로세서에 인스트럭션을 제공하는 데에 관여하는 임의의 실체적인 저장 및/또는 전송 매체를 지칭한다. 이러한 매체는 비휘발성 매체, 휘발성 매체 및 전송 매체를 포함하는 다수의 형태를 취할 수 있지만, 이것으로 한정되지 않는다. 비휘발성 매체는 예컨대, NVRAM, 또는 자기 또는 광학 디스크를 포함한다. 휘발성 매체는 동적 메모리, 예컨대, 주 메모리를 포함한다. 컴퓨터 판독가능 매체의 일반적인 형태는 예컨대, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, 자기 광학 매체, CD-ROM, 임의의 다른 광학 매체, 펀치 카드, 종이 테이프, 홀의 패턴을 가진 임의의 다른 물리적 매체, RAM, PROM 및 EPROM, 플래시-EPROM, 메모리 카드와 같은 고체 상태 매체, 임의의 다른 메모리 칩 또는 카트리지, 후술되는 반송파, 또는 컴퓨터가 판독할 수 있는 임의의 다른 매체를 포함한다. 이메일 또는 다른 자급식 정보 아카이브(archive) 또는 아카이브 세트에 대한 디지털 파일 첨부물은 실체적인 저장 매체에 대응하는 배포 매체인 것으로 간주된다. 컴퓨터 판독가능 매체가 데이터베이스로서 구성되면, 그 데이터베이스는 임의의 유형, 예컨대, 관계형, 계층형, 객체 지향형 등의 데이터베이스일 수 있음을 알아야 한다. 따라서, 본 발명은 실체적인 저장 매체 또는 배포 매체, 종래 기술에서 인지된 균등물 및 후속 매체, 예컨대, 본 발명의 소프트웨어 구현이 저장되는 컴퓨터 판독가능 매체를 포함하는 것으로 간주된다.
본 명세서에서 사용된 용어 "결정하다", "계산하다" 및 "연산하다" 및 이의 어미 변화는 상호교환적으로 사용되고, 임의의 유형의 방법, 프로세스, 수학적 연산 또는 기술을 포함한다.
본 명세서에서 사용된 용어 "모듈"은 임의의 알려져 있거나 나중에 개발된 하드웨어, 소프트웨어, 펌웨어, 인공 지능, 퍼지 로직, 또는 그 요소와 관련된 기능을 수행할 수 있는 하드웨어와 소프트웨어의 조합을 지칭한다. 또한, 본 발명은 예시적인 실시예의 측면에서 설명되지만, 본 발명의 개개의 측면이 개별적으로 청구될 수 있음을 알아야 한다.
전술한 내용은 본 발명의 몇몇 측면의 이해를 제공하는 본 발명의 간략한 요약이다. 이 요약은 광범위하지도 철저하지도 않은 본 발명의 개요이다. 이 요약은 본 발명의 중요한 요소를 식별하지도 본 발명의 범위를 기술하지도 않도록 의도되지만, 후술되는 보다 상세한 설명에 대한 도입부로서 본 발명의 선택된 개념을 간략한 형태로 나타내도록 의도된다. 알게 되는 바와 같이, 본 발명의 다른 실시예는 전술되거나 상세히 후술되는 하나 이상의 특징을 단독으로 또는 공동으로 이용할 수 있다.
도 1은 본 발명의 적어도 몇몇 실시예에 따른 통신 시스템을 도시한 블록도,
도 2는 본 발명의 적어도 몇몇 실시예에 따른 콘택트 결정 시스템의 엘리먼트를 도시한 블록도,
도 3은 본 발명의 적어도 몇몇 실시예에 따라 사용자가 사용자 소유의 콘택트 결정 알고리즘(들)을 정의하게 하는 방법을 도시한 흐름도,
도 4는 본 발명의 적어도 몇몇 실시예에 따른 콘택트 결정 방법을 도시한 흐름도이다.
본 발명은 예시적 통신 시스템과 관련하여 아래에서 설명될 것이다. 예컨대, 서버(들) 및/또는 데이터베이스(들)를 사용하는 시스템과 사용하는 데 매우 적합하다 하더라도, 본 발명은 임의의 특정 유형의 통신 시스템 또는 시스템 엘리먼트의 구성과 사용하는 것으로 제한되는 것은 아니다. 당업자라면, 개시된 기술이 사용자로 하여 특히 SIP 환경에서 그들의 콘택트 결정 알고리즘을 개인화시키게 하는 것이 바람직한 임의의 통신 애플리케이션에서 사용될 수 있음을 인지할 것이다.
본 발명의 예시적 시스템 및 방법은 소프트웨어, 모듈 및 연계된 분석 하드웨어와 관련하여 설명될 것이다. 그러나, 본 발명을 불필요하게 모호하게 만들지 않기 위해, 다음의 설명은 블록도 형태로 도시되거나, 잘 알려져 있거나, 그와 달리 요약되는 잘 알려진 구조, 콤포넌트 및 디바이스를 생략한다.
설명을 목적으로, 수많은 세부사항이 본 발명의 철저한 이해를 제공하기 위해 설명된다. 그러나, 본 발명은 본 명세서에서 설명된 특정 세부사항 하에서 다양한 방법으로 구현될 수 있음이 이해될 것이다.
먼저, 도 1을 참조하면, 예시적 통신 시스템(100)이 본 발명의 적어도 몇몇 실시예에 따라 설명될 것이다. 보다 구체적으로, 통신 시스템(100)은 하나 이상의 통신 디바이스(108)를 사용자 등록 서버(112)와 상호접속시키도록 적응되는 통신 네트워크(104)를 포함한다.
통신 네트워크(104)는 임의의 유형의 알려진 통신 매체 또는 통신 매체의 수집물일 수 있으며, 임의의 타입의 프로토콜을 사용하여 엔드포인트들 사이에 메시지를 전달할 수 있다. 통신 네트워크(104)는 유선 및/또는 무선 통신 기술을 포함할 수 있다. 인터넷은 수많은 전화 시스템 및 그 밖의 수단을 통해 접속되는 전세계의 수많은 컴퓨터 및 기타 통신 디바이스를 구성하는 통신 네트워크(104) 및 그러한 수많은 컴퓨터 및 기타 통신 디바이스로 구성되는 IP 네트워크의 실례이다. 통신 네트워크(104)의 다른 실례는, 표준 POTS(Plain Old Telephone System), ISDN(Integrated Services Digital Network), PSTN(Public Switched Telephone Network), LAN, WAN, SIP 네트워크, 임의의 유형의 기업 네트워크, 및 본 분야에 알려져 있는 임의의 유형이 패킷 교환형 또는 회로 교환형 네트워크를 포함하지만, 이러 제한사항을 갖는 것은 아니다. 또한, 통신 네트워크(104)는 임의의 한 가지 네트워크 유형을 제한될 필요가 없고, 그 대신에 다수의 상이한 네트워크 및/또는 네트워크 유형으로 구성될 수 있음이 이해될 것이다.
통신 디바이스(108)는 개인용 컴퓨터, 랩톱 컴퓨터, PDA, 셀룰러 폰, 스마트 폰, 전화, 아날로그 폰, DCP 폰, 또는 이들의 조합과 같은 임의의 유형의 알려진 통신 또는 프로세싱 디바이스일 수 있다. 단일 통신 디바이스(108)는 단일 사용자에 의해 제거되거나 그와 연계될 수 있으며, 또는 많은 사용자(예를 들어, 임의의 기업 사용자가 유효한 사용자명 및 비밀번호의 제시 시에 통신 디바이스를 활용하게 하는 기업 통신 디바이스)에 의한 사용에 적응될 수 있다.
각각의 통신 디바이스(108)는 동일한 사용자와 연계될 수 있다. 다시 말해, 통신 디바이스(108)는 단일 사용자에게 소속될 수도 있고, 상이한 유형의 통신 디바이스에 대응할 수도 있다. 한 가지 실례로서, 사용자는 각각이 단일 사용자의 개인용 전화, 업무용 전화, 개인 컴퓨터, 및 이메일 검색 디바이스에 대응하는 4개의 통신 디바이스(108)를 가질 수 있다. 대안으로, 각각의 통신 디바이스(108)는 상이한 사용자에 의해 소유되고 조작될 수 있다(예컨대, 상이한 사용자와 연계될 수 있다).
일반적으로, 통신 디바이스(108)는 다른 통신 디바이스(108)와의 비디오, 오디오, 텍스트, 및/또는 데이터 통신을 지원하도록 적응될 수 있다. 통신 디바이스(108)에 의해 다른 통신 디바이스(108)와 통신하는 데 사용되는 매체의 유형은 통신 디바이스(108) 상에서 사용가능한 통신 애플리케이션에 의존할 수 있다.
사용자 등록 서버(112)는 하나 이상의 통신 디바이스(108)를 조작하는 다수의 사용자에 대한 사용자 선호도를 수신하고 저작하도록 적응된다. 보다 구체적으로, 사용자는 사용자 등록 서버(112)에 로그인하고, 사용자가 종사하는 임의의 통신 세션에 그들이 적용했기를 원하는 소정 선호도(즉, 사용자 선호도)를 정의할 수 있다. 이러한 사용자 선호도는 세계적으로 사용자에 대해 정의될 수 있다(예를 들어, 사용자 선호도의 단일 세트는 임의의 네트워크에서 그 사용자와 연계된 임의의 통신 디바이스에 꾸준히 적용될 수 있다). 대안으로, 사용자는 상이한 네트워크에 대해 또는 사용별로 상이한 사용자 선호도를 정의하도록 될 수 있다(예를 들어, 사용자는 상이한 홈 선호도 및 작업 선호도를 가질 수 있다). 사용자는 또한 그들의 통신 디바이스(108) 각각에 대해 상이한 사용자 선호도를 정의하도록 허용된다. 실례로서, 사용자는 그들의 이동 통신 디바이스(108)에 대한 제 1 콘택트 결정 선호도 세트(예를 들어, 제 1 CRA), 그들의 작업 통신 디바이스에 대한 제 2의 상이한 콘택트 결정 선호도 세트(예를 들어, 제 2 CRA), 및 그들의 홈 통신 디바이스에 대한 제 3의 상이한 콘택트 결정 선호도(예를 들어, 제 3 CRA)를 정의할 수 있다. 이들 상이한 사용자 선호도 모두는 사용자 등록 서버(112) 상에 단일 사용자 선호도 세트(116)와 관련하여 저장될 수 있다. 예를 들어, 사용자에 대한 디바이스의 몇몇 서브세트가 병렬 분기를 사용하여 다루어지고 다른 것은 순차적 분기를 사용하여 다루어지는 CRA의 유사한 계층을 연쇄시키거나 형성하는 데 유용할 수 있다. 이러한 실시예에서는, CRA들 사이의 연쇄화를 다루는 몇몇 보다 상위 레벨의 코디네이터가 존재할 수 있다. 또한, 디바이스 단위로, 알고리즘은 디바이스에 대해 특정한 콘택트 결정 작용을 변경하도록 시각(time of day), 요일(day of week), 디바이스 상태 등과 같은 것에 대해 민감할 수 있다.
대안으로, 단일 콘택트 결정 선호도 세트(즉, 단일 CRA)는 그 사용자와 연계된 모든 통신 디바이스들(108) 사이에 그 사용자에 대한 콘택트를 결정하는 데 사용될 수 있다. 다시 말해, 단일 CRA는 특정 통신 디바이스(108)가 경고 받을 것인지의 여부, 특정 통신 디바이스(108)가 경고 받을 시각, 특정 통신 디바이스(108)가 경고 받을 방법을 판정하도록 채용될 수 있다. 본 발명의 적어도 몇몇 실시예에 따라 채용될 수 있는 그러한 CRA의 실례는 전체 내용이 참조로서 본 명세서에 수록되어 있는 Brunson 등의 미국 특허 출원 제12/241,368호에 보다 상세히 설명되어 있다.
본 발명의 적어도 몇몇 실시예에 따르면, 사용자는 그들의 통신 디바이스(108)를 통해 사용자 등록 서버(112)에서 그들의 사용자 선호도(116)를 업데이트 및/또는 변경하도록 허용될 수 있다. 다시 말해, 사용자는 주로 몇몇 종류의 웹 사용자 옵션 인터페이스를 통해 사용자 등록 서버(112)와 접속하여 그들의 사용자 선호도(116)를 제공할 수 있다. 본 발명의 적어도 몇몇 실시예에 따르면, 플러그가능 CRA는 사용자가 그들의 사용자 선호도(116)를 설정하는 웹 옵션 인터페이스를 지원하도록 적응될 수 있다. 이들 사용자 옵션은 기업 데이터베이스와 같은 로컬 데이터 저장 설비 및/또는 사용자 등록 서버(112)에 사용자 선호도(116)로서 저장될 수 있다. 이러한 선호도(116)는 호 프로세싱의 콘택트 결정 단계 동안 사용자의 선호도(116)를 불러오는 하나 이상의 네트워크 디바이스에 배포될 수 있다.
본 발명의 적어도 몇몇 실시예에 따르면, 사용자 선호도(116)는 (하나 이상의 통신 디바이스(108)에 대해) 바람직한 CRA를 정의하는 파라미터를 포함한다. 사용자가 그들의 사용자 선호도(116)를 업데이트할 때, 사용자 선호도의 변경은 네트워크 전반에 걸쳐 그러한 선호도를 적용할 임의의 디바이스에 배포될 수 있다. 일반적으로는, 실질적으로 사용자의 CRA 선택을 알 필요가 있는 네트워크 내의 꽤 적은 수(예를 들어, 2개 또는 3개)의 디바이스가 있다. 그러나, 본 발명의 실시예는 그렇게 제한되지 않으며, 사용자 선호도(116)의 변경은 꽤 많은 수의 네트워크 디바이스에 배포될 수 있다. 이러한 선호도는 본 명세서에서 보다 더 상세히 논의될 것이겠지만 사용자 준비 테이블에 저장될 수 있다.
본 발명의 실시예는 네트워크가 네트워크의 운영에 악영향을 미치지 않으면서 구동하고 있는 동안에 새로운 CRA가 네트워크에 배치될 수 있는 상황을 고려한다(즉, 관리자는 확장 모듈의 형태로 핫 플러그가능 CRA를 네트워크에 추가할 수 있다). 다시 말해, 네트워크 관리자는 새로운 CRA를 네트워크에 추가하거나 그 디바이스에 의해 적용될 수 있는 단일 네트워크 디바이스를 후속으로 수신된 콘택트에 추가하게 된다. 본 발명의 적어도 몇몇 실시예에 따르면, 그러한 CRA가 네트워크에 추가될 때, 네트워크 내의 하나 이상의 사용자는 업데이트를 통지받을 수 있다. 이러한 통신에 대한 응답으로, 사용자는 (통지에 직접 응답함으로써 또는 사용자 등록 서버(112)에 개별적으로 간접적으로 액세스함으로써) 그들의 사용자 선호도(116)를 경고하여 새로이 추가된 CRA를 적용한다. 또한, 사용자는 임의의 유형의 알려진 또는 아직 개발될 웹 옵션 인터페이스를 통해 그들의 사용자 선호도(116)를 액세스하고 업데이트하도록 될 수 있다. 이러한 프로세스의 세부사항은 이하에서 보다 더 상세히 논의될 것이다.
대안으로서, 또는 추가로, 사용자가 그들의 사용자 선호도(116)를 업데이트하게 하도록 하기 위해, 네트워크 관리자는 사용자 선호도(116)를 업데이트하도록 될 수 있다. 이에 따라, 새로이 추가된 CRA를 불러오도록 하는 사용자 선호도(116)의 변경은 사용자 및/또는 네트워크 관리자에 의해 실행될 수 있다.
또한, 사용자 선호도(116)는 비밀번호 또는 유사한 유형의 인증 증명서로 기록 보증(write-secure)될 수 있다. 따라서, 실례로서, 사용자명으로서 적절한 비밀번호를 제공하는 일 없이, 사용자 또는 관리자는 사용자 선호도(116)를 변경하지 못할 수도 있다. 사용자 선호도(116)를 업데이트할 사용자 및/또는 관리자의 능력을 제한하는 다른 대안도 역시 구상된 것으로, 네트워크 보안 요건에 따라 변할 수 있다.
이제, 도 2를 참조하면, 본 발명의 적어도 몇몇 실시예에 따라 예시적 SIP 통신 시스템(200)이 설명될 것이다. 시스템(2000은 (사용자의 통신 디바이스(108)에 대응할 수도 있고 또는 대응하지 않을 수도 있는) 하나 이상의 발신 디바이스(208)를 호 라우팅 메커니즘(212)에 접속시키는 통신 네트워크(204)를 포함할 수 있다.
통신 네트워크(204)는 통신 네트워크(104)와 동일한 것일 수도 있고, 또는 상이할 수도 있다. 예를 들어, 양측의 네트워크(104, 204)가 기업 네트워크에 대응할 수도 있다. 대안으로, 통신 네트워크(104)는 인터넷에 대응할 수 있고, 그 반면에 통신 네트워크(204)는 기업 네트워크 또는 SIP-인에이블링 네트워크에 대응한다.
통신 네트워크(204)의 구성과는 상관없이, 발신측은 발신 디바이스를 통한 착신측으로의 콘택트를 개시하도록 허용된다. 본 발명의 실시예 중 적어도 몇몇에 따르면, 착신측은 그와 연계되는 다수의 SIP 디바이스(232a-N)를 갖는 SIP 사용자에 대응할 수 있다. 당업자라면 이해할 수 있는 바와 같이, SIP 디바이스(232a-N) 중 하나 이상은 도 1에 도시된 사용자 통신 디바이스(108) 중 하나에 대응할 수 있다.
발신측이 착신측을 향해 지정되는 콘택트를 개시할 때, 콘택트 결정 요청은 착신측의 콘택트 결정 선호도에 기초하여 콘택트 결정을 수행하도록 채택된 로케이션 서버와 같은 호 라우팅 메커니즘(212)으로 보내진다. 발신측의 선호도는 사용자 준비 테이블(216)에 정의될 수 있으며, 발신측의 사용자 선호도(116)와 동일한 것일 수도 있고 또는 그렇지 않은 것일 수도 있다. 이에 따라, 호 라우팅 메커니즘(212)은 사용자 등록 서버(112)와 동일한 것일 수도 있다. 대안으로, 사용자 등록 서버(112)에서, 사용자 선호도(116)에 대한 업데이트는 그들이 사용자 준비 테이블(216)에 포함되는 호 라우팅 메커니즘(212)으로 포워드될 수 있다. 본 발명의 적어도 몇몇 실시예에 따르면, 사용자 준비 테이블(216)은 각 사용자의 콘택트 결정 선호도에 매핑되는 사용자 AOR의 리스트를 포함한다. 이러한 선호도는 그 사용자에게 어드레싱되는 인입 콘택트에 적용될 특정 CRA를 식별하는 포인터를 포함할 수 있다.
이에 따라, 사용자 준비 테이블(216)을 포함하는 것 이외에도, 호 라우팅 메커니즘(212)은 다이내믹 테이블(220), 하나 이상의 구 CRA(224), 및 하나 이상의 확장 모듈(228)(또는 새로운 CRA)을 더 포함할 수 있다. 구 CRA(224)는 호 라우팅 메커니즘(212)의 업그레이드 이전(즉, 호 라우팅 메커니즘(212) 상으로의 확장 모듈(228)의 배치 이전)에 호 라우팅 메커니즘(212) 상에 상주하였던 임의의 유형의 CRA를 포함한다.
확장 모듈(228)은 사용자가 확장 모듈을 지적하고 불러오도록 사용자 준비 테이블(216)을 업데이트한다면 임의의 사용자에 의해 배치될 수 있는 새로운 CRA를 포함할 수 있다. 보다 구체적으로, 확장 모듈(228)이 배치될 때, 그것은 고유 ID를 할당받을 수 있다. 사용자가 확장 모듈(228)과 연계된 CRA를 채용하도록 희망한다면, 사용자는 확장 모듈의 고유 ID를 포함하도록 사용자 준비 테이블(216) 내에 그들의 정보를 업데이트한다. 따라서, 사용자에게 어드레싱되는 콘택트에 대한 콘택트 결정 요청이 호 라우팅 메커니즘(212)에서 수신될 때, 호 라우팅 메커니즘(212)은 사용자 준비 테이블(216)을 참조할 수 있고, 사용자가 구 CRA(224)보다는 확장 모듈(228)의 CRA를 불러오고 싶어하는지를 판정할 수 있으며, 확장 모듈(228)을 사용하여 수신된 콘택트 결정 요청을 처리할 수 있다.
프로세싱 동안, 확장 모듈(228)의 CRA는 어떤 SIP 디바이스(232)가 그 콘택트를 라우팅되게 하는 데 적격인지를 판정할 필요가 있을 수 있다. 이러한 판정은 사용자가 호 라우팅 메커니즘(212)에 특정 SIP 디바이스(232)를 등록했는지 아닌지에 기초할 수 있다. 다시 말해, 몇몇 콘택트 라우팅 결정은 SIP 디바이스(232)가 온 상태이고 호 라우팅 메커니즘(212)에 등록되었는지 아닌지에 기초할 수 있다. SIP 디바이스(232)의 활동도와 관련된 이 다이내믹 등록 정보는 다이내믹 테이블(220)에 저장될 수 있다. 따라서, 프로세싱 동안, 확장 모듈(228)의 CRA는 다이내믹 테이블(220)을 참조하여 콘택트가 어디에 라우팅되어야 하는지를 판정하도록 채택될 수 있다.
다이내믹 테이블(220) 내의 정보는, SIP 디바이스(232)가 부분적으로 그러한 문제에 기초할 수 있다 하더라도, 언제나 SIP 디바이스(232)가 호 라우팅 메커니즘(212)에 등록되었는지에 기초하는 것은 아니다. 오히려, 다이내믹 테이블(220) 내의 정보는 특정 사용자, 일시, 주일, 호 프로세싱 로드, 및 임의의 CRA(즉, 구 CRA(224) 또는 새로운 CRA)에 의해 고려될 수 있는 다른 다이내믹 파라미터의 검출된 현재 활동도에 기초하여 변경될 수 있다. 본 발명의 적어도 몇몇 실시예에 따르면, 다이내믹 테이블(220) 내의 정보는 SIP 디바이스(232)(예를 들어, SIP 디바이스(232)가 현재 SIP 세션에 수반되는지의 여부, SIP 디바이스에 의해 현재 사용되고 있는 유형의 통신 매체 등)의 상태 변경에 응답할 수 있다. 이러한 변경은 임의의 유형의 알려진 시그널링 또는 SIP 메시지를 통해 SIP 디바이스(232)에 의해 호 라우팅 메커니즘(212)으로 레포트될 수 있다. 일 실례로서, SIP 디바이스(232)는 NOTIFY 또는 PUBLISH 메시지를 호 라우팅 메커니즘(212)에 보냄으로써 호 라우팅 메커니즘(212)으로 그들의 상태 정보를 업데이트할 수 있다.
추가로, 다이내믹 테이블9220)은 다른 사용자 또는 다른 사용자 디바이스의 현재 상태와 같은 다른 파라미터에 응답할 수 있다. 따라서, 특정 사용자에 대한 CRA 알고리즘은 특정 사용자를 위한 INVITE 요청에 대해 다른 사용자의 디바이스가 타겟으로서 CRA 알고리즘에 참여하는 디바이스 세트 내에 포함되게 하는 로직을 포함할 수 있다. 다시 말해, CRA 알고리즘은 제 1 상이한 사용자에게 도달하도록 시도할 때 제 2 사용자의 디바이스에 경고하도록 결정할 수 있다. 일 실례로서, 제 1 사용자는 특정 일자의 특정 시간에 제 2 사용자의 디바이스에 경고하도록 (예를 들어, 두 번째와 세 번째 금요일 사이에 제 2 사용자의 작업용 전화에 경고하도록) 그들의 CRA 알고리즘을 정의할 수 있다. 이것은 그들이 특정 시간에 제 2 사용자와 만날 것이라는 것을 제 1 사용자가 알고 있다면 이루어질 수 있다. 도한, 이러한 정보는 캘린더 애플리케이션 등에 저장된 사용자의 전자 스케줄로부터 자동으로 검색될 수 있다.
이제, 도 3을 참조하면, 본 발명의 적어도 몇몇 실시예에 따라 사용자 콘택트 결정 선호도를 업데이트하는 예시적 방법이 설명될 것이다. 이 방법은 새로운 확장 모듈(228)이 호 라우팅 메커니즘(212)과 같은 네트워크 디바이스 상에 배치될 때 개시된다(단계 304). 본 발명의 적어도 몇몇 실시예에 따르면, 확장 모듈(228)은 빠른 배치가 가능하며(hot deployable), 이는 네트워크 디바이스가 구동 중인 동안 및 네트워크 디바이스가 다른 네트워크 디바이스에 접속되어 있는 동안에 확장 모듈(228)의 코드가 네트워크 디바이스에 추가될 수 있다는 것을 의미한다. 이에 따라, 어떤 디바이스 다운타임(downtime)도 네트워크 디바이스 상에서 확장 모듈(228)을 배치하는 데 요구되지 않는다. 이것은 새로운 CRA의 배치가 네트워크 다운타임을 요구했다면 전체 네트워크 운영이 하나의 네트워크 디바이스의 다운타임에 의해 악영향을 받을 수 있거나 모든 네트워크 디바이스를 업데이트하는 데 너무 오랜 시간이 걸려서 네트워크 다운타임의 양을 연장하거나 생산성 손실을 증가시켜야하기 때문에 매우 큰 네트워크에서 특히 유용하다. 본 발명의 실시예는 그러한 악영향을 회피시킨다. 당업자라면 이해할 수 있는 바와 같이, 새로운 CRA의 배치는 주로 네트워크 관리자에 의해 실행되지만, 비관리적 사용자에 의해 실행될 수도 있다.
그 방법은 새로이 배치된 확장 모듈(228)의 하나 이상의 사용자를 통지하는 것에 의해 계속된다(단계 308). 이러한 통지는 새로운 확장 모듈(228)이 배치되었다는 사실로 인해 자동으로 발생할 수 있다. 대안으로, 통지는 새로운 확장 모듈(228)이 배치된 후에 네트워크 관리자에 의해 개시될 수 있다. 또한, 사용자 통지의 범위(즉, 업데이트가 통지된 사용자의 수)는 사용자가 그러한 통지를 수신하도록 가입했는지 등의 네트워크 보안 관심에 따라 변할 수 있다. 또한, 통지는 전자 포맷으로(예를 들어, 이메일, SMS 메시지, 인스턴트 메시지(IM) 등을 통해) 도달할 수도 있고 또는 종이 포맷으로 도달할 수도 있다.
새로운 확장 모듈(228)이 배치되었다는 통지를 수신하자마자, 사용자는 새로운 배치된 확장 모듈(228)의 활용도 및 특히 새로운 확장 모듈(228)의 CRA를 포함하도록 그들의 선호도(116)를 업데이트할 수 있다(단계 312). 이 업데이트는 통지에 직접 응답함으로써 개시될 수도 있고, 또는 사용자가 웹 선택 인터페이스를 통해 사용자 등록 서버(112)와 개별적으로 통신함으로써 그들의 선호도(116)를 업데이트할 수도 있다.
사용자 선호도(116)를 업데이트하는 것은 호 라우팅 메커니즘(212) 내의 사용자 준비 테이블(216)로 하여금 업데이트되게 한다(단계 316). 보다 구체적으로, 사용자가 그들의 콘택트 결정 선호도를 업데이트할 때, 그 특정 사용자에 대한 사용자 준비 테이블(216) 내의 엔트리는 새로운 선호도를 반영하도록 업데이트된다. 보다 더 구체적으로, 사용자 준비 테이블 내의 엔트리는 새로운 추가된 확장 모듈(228)의 식별자를 포함할 수 있다. 이 식별자는 사용자가 통지에 직접 대응했다거나 사용자가 그들의 사용자 선호도(116)를 업데이트할 때 테이블(216) 내에 자동으로 입력될 수 있고, 또는 사용자는 수동으로 식별자를 입력하는데 요구될 수도 있다. 일단 사용자 준비 테이블(216)이 업데이트되었다면, 그 사용자에게 어드레싱된 임의의 순차적으로 수신된 콘택트는 새로이 추가된 확장 모듈(228)을 불러올 것이다.
당업자라면 이해할 수 있는 바와 같이, 단계 312 및 316은, 특히 사용자가 중간 사용자 등록 서버(112)를 통하지 않고 사용자 준비 테이블(216)을 직접 업데이트한다면 하나의 단계로 결합될 수 있다. 그러나, 많은 호 라우팅 메커니즘(212)을 갖는 보다 큰 네트워크에서, 사용자에 대한 단일 업데이트 지점으로서 단일 등록 서버(112)를 갖는 것이 바람직할 수도 있다. 이러한 구성에서, 단일 등록 서버(112)는 그들의 선호도에 관한 사용자와의 인터페이스로서 작동하고, 등록 서버(112)는 사용자의 선호도의 임의의 변경에 망에서 다른 호 라우팅 메커니즘(212)을 통지할 수 있다.
이제, 도 4를 참조하면, 본 발명의 적어도 몇몇 실시예에 따라 인입 콘택트 결정 요청을 처리하는 예시적 방법이 설명될 것이다. 이 방법은 호 라우팅 메커니즘(212)에서 콘택트 결정 요청이 수신될 때 시작된다(단계 404). 콘택트 결정 요청은 착신측의 식별자를 포함할 수 있다. 이 정보는 콘택트 결정 요청의 하나 이상의 헤더 내에 포함될 수 있다. 특히, 콘택트 결정 요청이 SIP INVITE 메시지와 연계되는 경우, 메시지 및 콘택트 결정 요청은 SIP 헤더 내의 AOR를 통해 발신측의 식별을 포함할 수 있다. 그러나, 이해될 수 있는 바와 같이, 인입 콘택트 결정 요청은 반드시 SIP 메시지의 형태로 있을 필요는 없다. 오히려, 인입 콘택트 결정 요청은 아날로그 전화 또는 사용자의 AOR에 의해 배치되는 정규 인바운드 호에 대응할 수 있다. 대안으로, 호 라우팅 메커니즘(212)은 인바운드 콘택트 결정 요청이 사용자의 통신 디바이스들 중 하나가 콘택트에 의해 식별되고 그 식별 정보가 콘택트 결정 요청에 포함되었다는 사실로 인해 특정 사용자를 위한 것이라고 판정할 수 있다.
착신측을 식별하면, 방법은 사용자 준비 테이블(216)을 참조하여 사용자에 대한 콘택트 결정 선호도를 식별하는 호 라우팅 메커니즘(212)을 계속한다(단계 408). 보다 구체적으로, 호 라우팅 메커니즘(212)은 테이블(216)에서 사용자의 AOR을 식별하고 어떤 CRA가 그 사용자에 대해 불려올 것인지를 판정하도록 적응된다. CRA는 그 CRA와 연계되는 고유 ID에 의해 식별될 수 있다. 본 발명의 적어도 몇몇 실시예에 다르면, 식별된 CRA는 확장 모듈(228)을 통해 호 라우팅 메커니즘(212)에 새로이 추가되는 CRA에 대응할 수 있다.
CRA의 식별자(또는 보다 구체적으로 확장 모듈(228)의 고유 ID)를 획득하면, 호 라우팅 메커니즘(212)은 식별된 CRA를 불러오고, 콘택트를 그 CRA에 전달한다(단계 416). 일단 CRA가 그 콘택트를 수신하면, CRA는 (필요하다면) 다이내믹 테이블(220)을 참조하여 어떤 SIP 디바이스(들)(232)가 콘택트를 라우팅시키는 데 적합하지 또한 콘택트의 그러한 디바이스(들)에 어떻게 경고할 것인지를 판정할 것이다. SIP 디바이스(232)의 적격성은 불려진 CRA에 정의된 규칙 및 SIP 디바이스(232)가 호 라우팅 메커니즘(212)에 등록되는지의 여부에 의존할 수 있다. CRA의 규칙은 하나의 SIP 디바이스(232)가 초기에 경고를 받는다는 것과, 사용자가 그 SIP 디바이스(232)에서 콘택트를 응답하지 않는다면 다른 SIP 디바이스(232)는 경고를 받을 수 있다(직렬 분기)고 정의할 수 있다. 대안으로, CRA의 규칙은 SIP 디바이스(232) 중 2개 이상이 동시에 경고를 받아야 하고, 먼저 경고에 응답하는 디바이스는 콘택트를 얻을 수 있다(병렬 분기)고 정의할 수 있다. 다른 유형의 CRA는 확장 모듈(228)에 포함될 수 있고, 본 발명의 실시예는 반드시 본 명세서에서 논의된 CRA 실례로 제한될 필요는 없다.
전술한 흐름도가 특정 이벤트 시퀀스와 관련하여 논의되고 있지만, 이 시퀀스에 대한 변경은 본 발명의 동작을 실질적으로 실행하지 않고 발생할 수 있다는 것이 이해될 것이다. 또한, 예시적 실시예 설명되는 바와 같이 정확한 이벤트 시퀀스가 발생할 필요는 없다. 본 명세서에 예시된 예시적 기술은 특정하게 예시된 실시예로 제한되는 것은 아니지만, 다른 예시적 실시예와 함께 사용될 수 있고 제각각 설명되는 특징점을 개별적으로 독특하게 주장할 수 있다.
본 발명의 시스템, 방법 및 프로토콜은 설명된 통신 장비, 프로그래밍된 마이크로프로세서 또는 마이크로제어기, 및 주변 집적회로 엘리먼트(들), ASIC 또는 다른 집적 회로, 디지털 신호 프로세서, 하드와이어 전자, 또는 이산 엘리먼트 회로와 같은 로직 회로, PLD, PLA, FPGA, PAL과 같은 프로그래밍가능 로직 디바이스, 서버, 개인용 컴퓨터, 임의의 비교가능 수단과 같은 통신 디바이스 등 이외에도, 또는 그를 대신하여 특수 목적 컴퓨터 상에 구현될 수 있다. 일반적으로, 본 명세서에서 예시된 방법을 구현할 수 있는 상태 머신을 구현할 수 있는 임의의 디바이스는 본 발명에 따른 다양한 통신 방법, 프로토콜 및 기술을 구현하는 데 사용될 수 있다.
또한, 개시된 방법은 다양한 컴퓨터 또는 워크스테이션 플랫폼 상에서 사용될 수 있는 휴대용 소스 코드를 제공하는 객체 또는 객체 지향 소프트웨어 개발 환경을 이용하여 소프트웨어와 결합하여 용이하게 구현될 수 있다. 대안적으로, 개시된 시스템은 표준 논리 회로 또는 VLSI 설계를 이용하여 하드웨어로 부분적으로 또는 전적으로 구현될 수 있다. 소프트웨어 및 하드웨어가 본 발명에 따른 시스템을 구현하도록 사용되는지 여부는 시스템의 속도 및/또는 효율 요건, 특정의 기능, 및 특정의 소프트웨어 또는 하드웨어 시스템 또는 이용되는 마이크로프로세서 또는 마이크로제어기에 의존한다. 본 명세서에 예시된 분석 시스템, 방법 및 프로토콜은 본 명세서에 제공된 기능적 설명으로부터 또한 통신 및 컴퓨터 분야의 일반적인 기본 지식으로 당업자에 의해 임의의 알려지거나 추후에 개발될 시스템 또는 구조, 디바이스 및/또는 소프트웨어를 사용하여 하드웨어 및/또는 소프트웨어로 용이하게 구현될 수 있다.
더욱이, 개시된 방법은 제어기 및 메모리, 특수용 컴퓨터, 마이크로프로세서 등과 협력하여 프로그래밍된 범용 컴퓨터 상에 실행된 컴퓨터 판독 가능한 저장 매체 상에 저장될 수 있는 소프트웨어로 부분적으로 구현될 수 있다. 이들 사례에서, 본 발명의 시스템 및 방법은 애플릿, JAVA® 또는 CGI 스크립트와 같은 퍼스널 컴퓨터 상에 내장된 프로그램으로서, 서버 또는 컴퓨터 워크스테이션 상에 상주하는 리소스로서, 전용 측정 시스템, 시스템 구성요소 등으로 내장된 루틴으로서 구현될 수 있다. 시스템은 소프트웨어 및/또는 하드웨어 시스템으로 시스템 및/또는 방법을 물리적으로 통합함으로써 또한 구현될 수 있다.
따라서, 본 발명의 실시예에 따라, 플러그가능 콘택트 결정 알고리즘을 생성하고 사용하는 시스템, 장치 및 방법이 제공된다는 것이 명백하다. 본 발명의 다수의 실시예와 관련하여 설명되고 있지만, 당업자에게는 수많은 대안, 수정 및 변경이 있을 것이라는 것이 자명하다. 이에 따라 본 발명의 사상 및 범주 내에 있는 모든 그러한 대안, 수정, 등가 및 변화를 포괄하도록 의도된다.

Claims (10)

  1. 제 1 서버에서, 제 1 사용자를 위한 콘택트 결정 요청을 수신하는 단계와,
    상기 제 1 사용자에 대한 콘택트 결정 선호도를 식별하는 단계와,
    상기 제 1 사용자에 대한 상기 콘택트 결정 선호도가 콘택트 결정의 일부로서 확장 모듈을 활용하는지를 판정하는 단계와,
    상기 제 1 서버에 의해, 상기 요청에 대해 상기 확장 모듈에 대한 사용자 선호도 옵션을 적용하는 상기 확장 모듈을 불러오는 단계를 포함하는
    발명.
  2. 사용자 콘택트 결정 선호도를 포함하는 테이블과,
    확장 모듈을 포함하는 서버로서,
    상기 서버는,
    제 1 사용자에게 어드레싱되는 콘택트와 접속하여 콘택트 결정 요청을 수신하고,
    상기 제 1 사용자의 콘택트 결정 선호도에 대해 상기 테이블을 참조하며,
    상기 제 1 사용자의 콘택트 결정 선호도에 기초하여, 상기 제 1 사용자의 상기 콘택트 결정 선호도를 상기 콘택트 결정 요청에 적용하도록 상기 확장 모듈을 불러오는
    서버.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 사용자에 대한 상기 콘택트 결정 선호도는 상기 제 1 서버 상에 저장된 사용자 준비 테이블에서 식별되는
    발명.
  4. 제 3 항에 있어서,
    상기 콘택트 결정 테이블은 사용자 옵션 인터페이스를 통해 상기 사용자에 의해 구성되고 재구성될 수 있는 사용자 중심인 데이터를 포함하는
    발명.
  5. 제 3 항에 있어서,
    제 1 SIP 디바이스를 상기 제 1 서버에 등록하되, 상기 제 1 SIP 디바이스가 상기 제 1 사용자와 연계되게 하는 단계와,
    상기 제 1 SIP 디바이스가 상기 제 1 서버에 등록되었음을 나타내도록 다이내믹 테이블을 업데이트하는 단계와,
    제 2 SIP 디바이스를 상기 제 1 서버에 등록하되, 상기 제 2 SIP 디바이스가 상기 제 1 사용자와도 연계되게 하는 단계와,
    상기 제 2 SIP 디바이스가 상기 제 1 서버에 등록되었음을 나타내도록 상기 다이내믹 테이블을 업데이트하되, 상기 확장 모듈이 상기 콘택트 결정 요청의 프로세싱 동안에 상기 다이내믹 테이블을 참조하여, 콘택트 결정 동안에 상기 제 1 및 제 2 SIP 디바이스 중 하나 이상을 경고할 것인지에 대해 판정하게 하는 단계를 더 포함하는
    발명.
  6. 제 3 항에 있어서,
    상기 사용자 준비 테이블은 상기 제 1 사용자에 대한 AOR과 상기 제 1 사용자의 콘택트 결정 선호도 사이를 매핑하는 것을 포함하는
    발명.
  7. 제 1 항 또는 제 2 항에 있어서,
    상기 확장 모듈을 불러오는 단계는,
    상기 확장 모듈과 연계된 식별자를 판정하는 단계와,
    상기 판정된 식별자를 갖는 상기 확장 모듈을 참조하는 단계를 포함하는
    발명.
  8. 제 1 항 또는 제 2 항에 있어서,
    상기 제 1 서버가 구동하고 있고 통신 네트워크에 접속되어 있는 동안, 적용 이전에는 상기 확장 모듈은 빠른 적용이 가능하고(hot deployable),
    상기 확장 모듈은 상기 제 1 서버 상에서 적용되며,
    상기 제 1 서버는 적용 이전에 상기 확장 모듈을 갖지 않으며, 상기 제 1 사용자는 상기 확장 모듈의 적용을 통지받는
    발명.
  9. 제 1 항 또는 제 2 항에 있어서,
    상기 확장 모듈은,
    (1) 상기 제 1 사용자의 SIP 디바이스를 호출할지의 여부,
    (2) 상기 제 1 사용자의 SIP 디바이스를 호출할 시각,
    (3) 상기 제 1 사용자에게 SIP 디바이스를 호출할 방법,
    (4) 제 2 사용자의 SIP 디바이스를 호출할지의 여부,
    (5) 상기 제 2 사용자의 SIP를 호출할 시각,
    (6) 상기 제 2 사용자에게 SIP 디바이스를 호출할 방법
    중 하나 이상을 결정하는
    발명.
  10. 실행 시, 청구항 1의 방법을 수행하도록 동작할 수 있는 프로세서 실행가능 인스트럭션으로 인코딩된 컴퓨터 판독가능 매체.
KR1020100029447A 2009-06-19 2010-03-31 플러그가능 콘택트 결정 KR101352647B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/488,277 US8032624B2 (en) 2009-06-19 2009-06-19 Pluggable contact resolution
US12/488,277 2009-06-19

Publications (2)

Publication Number Publication Date
KR20100136906A true KR20100136906A (ko) 2010-12-29
KR101352647B1 KR101352647B1 (ko) 2014-02-12

Family

ID=42153782

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100029447A KR101352647B1 (ko) 2009-06-19 2010-03-31 플러그가능 콘택트 결정

Country Status (5)

Country Link
US (1) US8032624B2 (ko)
EP (1) EP2264971B1 (ko)
JP (1) JP5676128B2 (ko)
KR (1) KR101352647B1 (ko)
CN (1) CN101931619B (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825836B1 (en) * 2010-01-18 2014-09-02 Symantec Corporation Systems and methods for managing notification messages generated by one or more applications
US8886789B2 (en) 2010-05-19 2014-11-11 Avaya Inc. SIP monitoring and control anchor points
US9450989B2 (en) 2010-05-19 2016-09-20 Avaya Inc. SIP anchor points to populate common communication logs
US20120166652A1 (en) * 2010-12-23 2012-06-28 Bouthemy Jean-Luc R Advanced simultaneous and sequential sip forking
US9578602B1 (en) * 2011-03-15 2017-02-21 Google Inc. Device aware social graphs
US9876912B2 (en) * 2012-05-14 2018-01-23 Avaya Inc. Parallel forking with AoR chaining
JP6021487B2 (ja) * 2012-07-18 2016-11-09 キヤノン株式会社 情報処理システム、制御方法、サーバ、情報処理装置およびコンピュータプログラム
US9372963B2 (en) * 2012-08-30 2016-06-21 Verizon Patent And Licensing Inc. User device selection
CN103036956B (zh) * 2012-11-30 2016-03-30 航天恒星科技有限公司 一种分布式组态化海量数据归档系统及实现方法
JP5973087B2 (ja) * 2013-11-19 2016-08-23 日立マクセル株式会社 投射型映像表示装置
WO2016191629A1 (en) * 2015-05-27 2016-12-01 Speaktoit, Inc. Online marketplace of plugins for enhancing dialog systems
US10200339B2 (en) * 2015-08-03 2019-02-05 Verizon Patent And Licensing Inc. Providing a service to a user device based on a capability of the user device when the user device shares an identifier
US10320971B2 (en) * 2015-12-15 2019-06-11 Avaya Inc. Call log management for multiple communication devices using the same address of record

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US753915A (en) 1903-11-03 1904-03-08 George H Corbett Wrench.
DE69942735D1 (de) * 1998-12-10 2010-10-21 Lucent Technologies Inc PABX-Verwaltung
US20020178227A1 (en) * 2001-05-25 2002-11-28 International Business Machines Corporation Routing instant messages using configurable, pluggable delivery managers
US7535915B2 (en) * 2001-12-31 2009-05-19 Samsung Electronics Co., Ltd. System and method for scalable and redundant SIP message routing in an IP multimedia subsystem
KR100472952B1 (ko) * 2002-10-30 2005-03-10 한국전자통신연구원 세션 초기화 프로토콜(sip)기반의 부하 분산장치 및방법
US20050044127A1 (en) * 2003-08-18 2005-02-24 Vivek Jaiswal Dynamic load distribution within a session initiation protocol network
CA2640927C (en) * 2004-01-30 2012-01-17 Research In Motion Limited Contact query data system and method
US7721277B1 (en) * 2004-06-08 2010-05-18 Oracle America, Inc. Hot deployment of shared modules in an application server
GB0412888D0 (en) 2004-06-10 2004-07-14 Nortel Networks Ltd Method of operating a contact center
CN1769672B (zh) * 2004-11-05 2010-07-14 泰州乐金电子冷机有限公司 密闭式压缩机
US7676577B2 (en) 2004-12-21 2010-03-09 Alcatel Lucent Scalable presence distribution system and method
FI20050494A0 (fi) * 2005-05-10 2005-05-10 Nokia Corp Palvelun tarjoaminen tietoliikennejärjestelmässä
CN100583843C (zh) * 2005-08-08 2010-01-20 华为技术有限公司 一种会话路由路径控制方法和系统
US20070201459A1 (en) * 2006-02-27 2007-08-30 Cisco Technology, Inc. System and method for providing status notification for conventional telephony devices in a session initiation protocol environment
US8064342B2 (en) * 2006-10-27 2011-11-22 Verizon Patent And Licensing Inc. Load balancing session initiation protocol (SIP) servers
US20090013062A1 (en) * 2007-07-06 2009-01-08 Mitel Networks Corporation Configuration of ip telephony and other systems
WO2009018418A2 (en) 2007-07-31 2009-02-05 Tekelec Systems, methods, and computer program products for distributing application or higher layer communications network signaling entity operational status information among session initiation protocol (sip) entities
EP2026550A1 (en) 2007-08-17 2009-02-18 Voxbone SA Incoming call routing system and method for a VoIP network
US7957373B2 (en) * 2007-12-12 2011-06-07 At&T Intellectual Property I, L.P. Method and system to provide contact services in a communication network
US20100287131A1 (en) * 2009-05-11 2010-11-11 Hartford Fire Insurance Company System and method for dynamic multi-platform handler assignment

Also Published As

Publication number Publication date
EP2264971A1 (en) 2010-12-22
JP5676128B2 (ja) 2015-02-25
US20100325249A1 (en) 2010-12-23
US8032624B2 (en) 2011-10-04
EP2264971B1 (en) 2018-05-09
CN101931619B (zh) 2015-01-28
JP2011004386A (ja) 2011-01-06
KR101352647B1 (ko) 2014-02-12
CN101931619A (zh) 2010-12-29

Similar Documents

Publication Publication Date Title
KR101352647B1 (ko) 플러그가능 콘택트 결정
EP3228069B1 (en) Stack fusion architecture including distributed software clusters to enable software communication services
CA2436061C (en) System and method for facilitating communication using presence and communication system
JP4444518B2 (ja) 様々なネットワークを介して匿名ユーザ間でのインテリジェントなセッションを確立する分散システム
JP4822713B2 (ja) プロキシを含むオープンapiネットワークを操作する方法および装置
US8738748B2 (en) Metadata driven automatic deployment of distributed server systems
US20140029478A1 (en) Voip service with streamlined call transfer options
US9654518B2 (en) Stack fusion software communication service
US20130219070A1 (en) Resolving device specific identifiers to a user identifier to initiate a dialog establishment with devices of a user
US8416766B2 (en) Method for implementing distributed voice functions into software applications
JP5649840B2 (ja) Sipサーブレットアプリケーションコホスティング
US9503485B1 (en) Connecting communicating devices in a multi-server communication system
US9660885B2 (en) Method and system for obtaining availability status for multiple SIP users
US8488590B2 (en) Method and device using data objects and their replications for carrying out communications in a distributed system
US20130111042A1 (en) Route lookup resolution
KR100913976B1 (ko) 다중 구성들을 구비한 장치에서 구성들의 사용
KR20160023760A (ko) 동적 파라미터에 기초하여 시퀀스된 애플리케이션들의 호출
US10158681B2 (en) Method of, a system and device for initializing a communication session in a communications network
US9037702B2 (en) Facilitating message services using multi-role systems
CA2768251A1 (en) Resolving device specific identifiers to a user identifier to initiate a dialog establishment with devices of a user

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 7