KR20020064889A - Distributed communication network including one or more telephony communication devices having programmable functionality - Google Patents

Distributed communication network including one or more telephony communication devices having programmable functionality Download PDF

Info

Publication number
KR20020064889A
KR20020064889A KR1020027005397A KR20027005397A KR20020064889A KR 20020064889 A KR20020064889 A KR 20020064889A KR 1020027005397 A KR1020027005397 A KR 1020027005397A KR 20027005397 A KR20027005397 A KR 20027005397A KR 20020064889 A KR20020064889 A KR 20020064889A
Authority
KR
South Korea
Prior art keywords
telephony
communication device
call
user
application
Prior art date
Application number
KR1020027005397A
Other languages
Korean (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 KR20020064889A publication Critical patent/KR20020064889A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0233Object-oriented techniques, for representation of network management data, e.g. common object request broker architecture [CORBA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • 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/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1043Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1106Call signalling protocols; H.323 and related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/247Telephone sets including user guidance or feature selection means facilitating their use
    • H04M1/2478Telephone terminals specially adapted for non-voice services, e.g. email, internet access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/253Telephone sets using digital voice transmission
    • H04M1/2535Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54508Configuration, initialisation
    • H04Q3/54533Configuration data, translation, passwords, databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/57Arrangements for indicating or recording the number of the calling subscriber at the called subscriber's set
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2203/00Aspects of automatic or semi-automatic exchanges
    • H04M2203/20Aspects of automatic or semi-automatic exchanges related to features of supplementary services
    • H04M2203/2044Group features, e.g. closed user group
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42034Calling party identification service
    • H04M3/42059Making use of the calling party identifier
    • H04M3/42068Making use of the calling party identifier where the identifier is used to access a profile
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42085Called party identification service
    • H04M3/42102Making use of the called party identifier
    • H04M3/4211Making use of the called party identifier where the identifier is used to access a profile

Abstract

개방된 텔레포니 시스템 아키텍처를 갖는 컴퓨터 프로그램 프로덕트로, 상기 컴퓨터 프로그램 프로덕트 상에 정의된 1 이상의 텔레포니 애플리케이션은 1 이상의 텔레포니 애플리케이션의 개발을 제한한 벤더와는 무관하게 현장(예를 들면 고객을 전제로)에서의 초기 개발 후, 수정될 수 있다. 또한, 컴퓨터 프로그램 제품에 텔레포니 애플리케이션을 부가하는 것에 의해 텔레폰 기능이 정의된 확장 가능한 텔레포니 시스템 아키텍처를 갖는 컴퓨터 프로그램 프로덕트를 확장할 수 있다. 또한, 컴퓨터 프로그램 제품은 텔레폰 콜 동안 SIP, H.323, MGCP, Megaco/H.248 및 Skinny Station 프로토콜을 포함하는 어떤 복수의 프로토콜을 이용하여 접속을 제어할 수 있다. 다중 접속 예를 들면 컨퍼런스 콜을 포함하는 텔레폰 콜을 위하여, 컴퓨터 프로그램 제품은 각 연결상에서 커뮤니케이션을 제어하고 각 접속을 위해 다른 제어 프로토콜을 사용할 수 있다. 1 이상의 컴퓨터 프로그램 제품을 포함하는 커뮤니케이션 네트워크는 다음과 같은 특성을 1 이상 갖는다. 그 특성으로는 개방된 텔레포니 시스템 아키텍처, 확장 가능한 텔레포니 시스템 아키텍처, 어떤 복수의 콜 제어 프로토콜을 사용하여 텔레폰 콜을 제어하는 것을 들 수 있다.A computer program product with an open telephony system architecture, wherein one or more telephony applications defined on the computer program product are in the field (eg, on the customer's behalf) regardless of the vendor that restricted the development of one or more telephony applications. After the initial development of the can be modified. In addition, by adding telephony applications to computer program products, it is possible to extend computer program products with an extensible telephony system architecture in which telephony functions are defined. In addition, the computer program product can control the connection using any of a number of protocols, including SIP, H.323, MGCP, Megaco / H.248 and Skinny Station protocols during telephone calls. For multiple connections, for example for telephone calls including conference calls, the computer program product can control communication on each connection and use different control protocols for each connection. A communication network comprising one or more computer program products has one or more of the following characteristics. Its features include an open telephony system architecture, an extensible telephony system architecture, and the control of telephony calls using any number of call control protocols.

Description

프로그래머블 기능을 가지는 1 이상의 텔레포니 통신 장치를 포함하는 분산형 통신 네트워크{DISTRIBUTED COMMUNICATION NETWORK INCLUDING ONE OR MORE TELEPHONY COMMUNICATION DEVICES HAVING PROGRAMMABLE FUNCTIONALITY}DISTRIBUTED COMMUNICATION NETWORK INCLUDING ONE OR MORE TELEPHONY COMMUNICATION DEVICES HAVING PROGRAMMABLE FUNCTIONALITY}

관련된 출원Related applications

본 출원은 1999년 10월 26일에 출원되고 "지능 텔레폰을 사용하는 통신 네트워크(Communication Network Using Intelligent Telephone)"라는 제목의 일반 소유이면서 계류중인 미국 임시 특허 출원(출원 번호 60/161,144)에 대해, 35 U.S.C. §119(e)에 의거하여 우선권을 주장한다. 또한 2000년 3월 20일에 출원되고 "통신 시스템의 구성 정보의 조직을 위한 방법 및 장치(Method and Apparatus for Organizing Configuration Information for a Communication System)"라는 제목의 출원(출원 번호 60/190,613)에 대해서도 우선권을 주장한다. 이 양 출원의 내용이 여기에 참조 문헌으로 포함되어 있다.This application is filed on October 26, 1999 and is directed to a pending, pending US provisional patent application (Application No. 60 / 161,144) entitled "Communication Network Using Intelligent Telephone." 35 USC To claim priority under § 119 (e). Also filed on March 20, 2000 and entitled "Method and Apparatus for Organizing Configuration Information for a Communication System" (Application No. 60 / 190,613). Insist on priority. The contents of both applications are incorporated herein by reference.

무선 및 유선계 네트워크를 포함하는 종래의 텔레포니 통신 네트워크에서, 그러한 네트워크의 종점은 텔레폰 또는 텔레포니-이네이블드 컴퓨터(telephony-enabled computer)이다.In conventional telephony communication networks, including wireless and wireline networks, the end point of such a network is a telephone or a telephony-enabled computer.

여기서 사용되는 텔레포니 통신 장치는 적어도 아래의 전통적인 텔레포니 태스크를 수행할 수 있는 디바이스이다: 즉, 이 텔레포니 태스크는 통신 네트워크의 통신 매체상으로 신호를 보냄으로써 텔레폰 콜의 셋-업을 초기화하고, 텔레폰 콜이 들어오는 것을 탐지하며 표시하고(예를 들어, 종을 울리거나 삑 소리가 나게 하거나 빛을 깜박이게 함), 사용자가 폰 콜에 응답하는 것(예를 들어, 오프-후크 탐지, 키패드 입력, 키보드 입력 또는 마우스 클릭)을 결정하고, 사용자가 통신 매체로 응답하는 것을 표시하는 신호를 보내고, 사용자로부터(예를 들어, 회전 다이얼, 푸시 버튼, 음성 활성화, 키보드 또는 마우스) 다어얼링 명령을 수신하고, 통신 매체로 다이얼 명령을 표시하는 신호를 보내고, 사용자로 그리고 사용자로부터 각각 음향 오디오 신호를 송신하며 수신하고, 네트워크의 통신 매체상에 매체(예를 들어, 오디오 데이터)를 송신하며 수신하는 것을 말한다.The telephony communication device used herein is a device capable of performing at least the following traditional telephony tasks: that is, the telephony task initiates the set-up of the telephone call by sending a signal on the communication medium of the communication network, and the telephone call. Detect and display incoming (e.g., ringing, beeping, or flashing lights), and responding to phone calls by the user (e.g., off-hook detection, keypad input, keyboard) Determine the input or mouse click), send a signal indicating that the user responds to the communication medium, receive a dialing command from the user (e.g., rotate dial, push button, voice activation, keyboard or mouse), Sends signals indicating dial commands to communication media, and sends audio and audio signals to and from the user, respectively It receives and transmits a medium (e.g., audio data) on the communication medium of the network, and means for receiving.

여기서 사용된 것으로써, "텔레포니 기능"은 텔레폰 콜과 관련되어 수행되는 기능이다. "텔레포니 애플리케이션"은 1 이상의 텔레포니 기능을 수행하는 애플리케이션이다. 텔레포니 기능은 두 개의 카테고리로 나눌 수 있다: 코어(core) 텔레포니 기능 및 특징 텔레포니 기능. 코어 텔레포니 기능은 3 개의 카테고리로 나눌 수 있다: 폰 세트 관리, 콜 제어 및 매체 처리.As used herein, a "telephony function" is a function performed in connection with a telephone call. A "telephony application" is an application that performs one or more telephony functions. Telephony functions can be divided into two categories: core telephony functions and features telephony functions. Core telephony functions can be divided into three categories: phone set management, call control and media handling.

여기서 사용된 것으로써, "폰 세트 관리"는 예를 들어, 버튼 프레스, 후크스위치 동작 및 램프 또는 발광 다이오드(light emitting diode, LED) 동작과 같은 텔레포니 통신 장치 상의 저 레벨 디바이스의 제어를 나타낸다.As used herein, “phone set management” refers to the control of low level devices on a telephony communication device, such as, for example, button presses, hookswitch operation, and lamp or light emitting diode (LED) operation.

여기서 사용된 것으로써, "매체 처리"는 텔레포니 통신 장치의 사용자 및 텔레포니 통신 장치가 거주하는 네트워크의 통신 매체 사이에서 매체의 송신 및 수신을 나타낸다.As used herein, "media processing" refers to the transmission and reception of media between a user of a telephony communication device and a communication medium of a network in which the telephony communication device resides.

여기서 사용된 것으로써, "콜 제어"는 텔레폰 콜의 셋-업, 유지 및 해체에 대한 제어를 나타낸다. 전통적인 텔레포니 통신 장치에서, 텔레폰 콜의 제어는 대개 예를 들어, Sessions Initiation Protocol(SIP) 또는 H.323 프로토콜과 같은 피어-투-피어-형 프로토콜(peer-to-peer-type protocol), 예를 들어, Media Gateway Control Protocol(MGCP), Megaco/H.248 프로토콜과 같은 매스터/슬레이브-형 프로토콜 또는 Cisco Systems Inc.에 의해 보급된 Skinny Station 프로토콜을 포함하는 단일 콜 제어 프로토콜 사용을 포함한다.As used herein, "call control" refers to the control of set-up, maintenance and teardown of a telephone call. In traditional telephony communication devices, the control of the telephone call is usually a peer-to-peer-type protocol such as, for example, Sessions Initiation Protocol (SIP) or H.323 protocol, for example. Examples include the use of a single call control protocol, including a Master / Slave-type protocol such as Media Gateway Control Protocol (MGCP), Megaco / H.248 protocol, or the Skinny Station protocol advertised by Cisco Systems Inc.

SIP 프로토콜은 RFC 2543, SIP에서 정의된다: 1999년 10월 26일 현재로 Internet Engineering Task Force(IETF)에 의한 Session Initiation Protocol. H.322 프로토콜은 ITU-TN Recommendation에서 International Telecommunications Union에 의해 기술된다: H. 323 Packet-Based Multi-Media Communications System, Geneva, Switzerland, 1998년 2월. Megaco/H.248 프로토콜은 IETF RFC 2885 및 ITU H.248에 의해 정의된다. MGCP 프로토콜은 1999년 10월 현재 RFC 2705에서 기술된다.The SIP protocol is defined in RFC 2543, SIP: Session Initiation Protocol by the Internet Engineering Task Force (IETF) as of October 26, 1999. The H.322 protocol is described by the International Telecommunications Union in the ITU-TN Recommendation: H. 323 Packet-Based Multi-Media Communications System, Geneva, Switzerland, February 1998. Megaco / H.248 protocol is defined by IETF RFC 2885 and ITU H.248. The MGCP protocol is described in RFC 2705 as of October 1999.

여기서 사용된 것으로써, "특징 텔레포니 기능"은 폰 세트 관리, 매체 처리및 콜 제어에 의해 제공되는 코어 텔레포니 기능 이상으로 또는 코어 텔레포니 기능을 증대하여, 텔레폰 콜과 관련되어 수행되는 기능이다. 예를 들어, 전통적인 텔레포니 특징 기능은 대기 중 콜 확인, 콜 전송, 보이스 메일 기능, 콜 대기, 컨퍼런스 콜 등을 포함한다. 여기서 나타내는 것으로써, "특징 텔레포니 애플리케이션"은 1 이상의 특징 텔레포니 기능을 수행하는 애플리케이션이다.As used herein, a "feature telephony function" is a function performed in connection with a telephone call beyond the core telephony function provided by the phone set management, media processing and call control or by augmenting the core telephony function. For example, traditional telephony feature functions include call waiting, call transfer, voice mail function, call waiting, conference call, and the like. As shown herein, a "feature telephony application" is an application that performs one or more feature telephony functions.

코어 텔레포니 기능 및 특징 텔레포니 애플리케이션의 수행은 처리 자원을 요구한다. 예를 들어, Public Switched Telephone Networks(PSTN), Private Branch Exchanges(PBX) 또는 Central Office Exchange Services(Centrex)와 같은 전통적인 텔레포니 통신 네트워크에서, 텔레포니 통신 장치는 텔레폰 콜과 관련된 텔레포니 기능의 벌크를 제어하고 수행하는 처리 자원으로써 서버, 스위치 또는 기타 다른 집중된 처리 본체에 의존한다. 따라서, 전통적인 텔레포니 통신 네트워크는 대개 집중된 처리 자원을 갖는다.Core telephony functions and features Performing telephony applications requires processing resources. For example, in traditional telephony communication networks such as Public Switched Telephone Networks (PSTN), Private Branch Exchanges (PBX), or Central Office Exchange Services (Centrex), telephony communication devices control and perform the bulk of the telephony functions associated with telephone calls. As a processing resource, it relies on a server, switch, or other centralized processing body. Thus, traditional telephony communication networks usually have concentrated processing resources.

대개 전통적인 통신 네트워크에서, 텔레포니 기능 수행을 위하여, 텔레포니 통신 장치는 서버 또는 중앙 스위치와 같은 1 이상의 네트워크 자원으로부터 명령을 수신하고 이러한 명령에 근거하여 동작한다. 대개, 네트워크 자원은 텔레포니 기능과 관련된 상태 정보를 유지하고 이 기능과 관련된 이벤트에 어떻게 응답할 것인가를 결정한다.Usually in traditional communication networks, to perform telephony functions, telephony communication devices receive commands from and operate on one or more network resources, such as servers or central switches. Usually, network resources maintain state information related to telephony functions and determine how to respond to events related to these functions.

전통적인 통신 네트워크는 아날로그 데이터 송신용 아날로그 라인, 디지털 데이터 송신용 디지털 라인 또는 아날로그와 디지털 양 라인의 결합을 포함한다. 또한, 이러한 네트워크의 일부는 고속 백본 세그먼트(backbone segment), 예를 들어, 섬유 광학 케이블를 포함하는 백본 세그먼트를 포함할 수 있다.Traditional communication networks include analog lines for analog data transmission, digital lines for digital data transmission, or a combination of both analog and digital lines. In addition, some of these networks may include high speed backbone segments, for example backbone segments including fiber optic cables.

또한, 전통적인 통신 네트워크는 텔레포니 기능 수행을 위한 아날로그 로직, 텔레포니 기능 수행을 위한 디지털 로직 또는 아날로그와 디지털 로직의 결합을 포함하는 다양한 텔레폰 중 어떤 하나를 포함할 수 있다.In addition, the traditional communication network may include any one of a variety of telephones, including analog logic for performing telephony functions, digital logic for performing telephony functions, or a combination of analog and digital logic.

디지털 라인에 접속된 텔레폰에서, 텔레폰은 음향 오디오 신호를 디지털 오디오 데이터로 변환하기 위한 로직을 포함해야만 한다. 여기서 사용된 것으로써, "디지털 텔레포니 통신 장치"는, 위에서 기술한 텔레포니 태스크에 첨가하여, 음향 오디오 신호를 디지털 오디오 데이터로 변환하고 디지털 오디오 데이터를 포함하는 디지털 데이터를 데이터 라인상으로 송신하는 텔레포니 통신 장치이다.In a telephone connected to a digital line, the telephone must include logic for converting the acoustic audio signal into digital audio data. As used herein, a "digital telephony communication device" is a telephony communication that, in addition to the telephony task described above, converts an acoustic audio signal into digital audio data and transmits digital data including digital audio data onto a data line. Device.

더 최근에, 통신 네트워크는 보이스 데이터(예를 들어, 보이스-오버-IP 데이터) 및 콜러와 1 이상의 수령인 사이의 기타 다른 데이터를 전송하기 위한 데이터 네트워크를 사용하여 시작한다. 이러한 데이터 네트워크는 Local Area Networks(LANs), Metropolitan Area Networks 및 Internet과 같은 Wide Area Networks(WANs)를 포함한다. 대개, 이러한 데이터 네트워크는 Internet Protocol(IP)와 관련된 데이터를 송신하도록 설계된다.More recently, communication networks begin with data networks for transmitting voice data (eg, voice-over-IP data) and other data between the caller and one or more recipients. Such data networks include Wide Area Networks (WANs) such as Local Area Networks (LANs), Metropolitan Area Networks, and the Internet. Usually, such data networks are designed to transmit data related to the Internet Protocol (IP).

1 이상의 데이터 네트워크에 걸친 텔레폰 콜 중에, 데이터 네트워크 상의 디지털 텔레포니 통신 장치로부터의 디지털 오디오 데이터는 데이터 네트워크 상의 또 다른 디지털 통신 텔레포니 디바이스 네트워크로, 또한 데이터 네트워크와 기타 다른 통신 네트워크 사이의 게이트웨이로 전송될 수 있다.During a telephone call over one or more data networks, digital audio data from a digital telephony communication device on the data network may be sent to another digital communication telephony device network on the data network and to a gateway between the data network and other communication networks. have.

데이터 네트워크는 대개, 중앙 스위치에 반대되는 처리 목적의 1 이상의 서버 또한, 기타 다른 네트워크 자원에 따라, 전통적인 텔레포니 통신 네트워크보다 더 분산되어 있다(즉, 덜 집중되어 있다).Data networks are usually more distributed (ie less concentrated) than traditional telephony communication networks, depending on one or more servers for processing purposes as opposed to the central switch, as well as other network resources.

데이터 네트워크에서, 1 이상의 텔레포니 기능 및/또는 애플리케이션은 하드웨어를 통해, 가끔씩은 소프트웨어 및/또는 펌웨어(firmware)와 결합하여, 디지털 텔레포니 통신 장치 상에서 사용 가능하게 될 수 있다. 대개, 이 분야에서의 통신 디바이스의 초기 전개(즉, 설치) 후에, 예를 들어, 고객 전제로 사용 가능한 텔레포니 기능은 사실상 본질적으로 고정되어 있다.In a data network, one or more telephony functions and / or applications may be made available on a digital telephony communication device via hardware, sometimes in combination with software and / or firmware. Usually, after the initial deployment (ie installation) of a communication device in this field, the telephony functionality available, for example on a customer premise, is essentially fixed in nature.

때때로, 1 이상의 텔레포니 기능은 사용자에게 값들을 정의하도록 하는 1 이상의 사용자가 정의 가능한 파라미터를 포함하고 따라서, 텔레포니 통신 장치를 프로그램 하는데 제한된 역할을 갖는다. 예를 들어, 사용자가 정의 가능한 파라미터는 링의 파이프 또는 볼륨, 사용자 패스워드, 단일 버튼 프레스시에 자동으로 다이얼 되는 숫자 등을 포함할 수 있다. 그러나, 텔레포니 기능 그 자체로는 텔레포니 기능의 정의가 사용자 또는 제3자 벤더에 의해 변경될 수 없도록 텔레포니 통신 장치 및 제3자 벤더의 사용자에 대해 폐쇄되어 있다(즉, 접근이 불가능하다).Sometimes one or more telephony functions include one or more user definable parameters that allow the user to define values and thus have a limited role in programming the telephony communication device. For example, user definable parameters may include pipe or volume of the ring, user password, numbers to be automatically dialed upon single button press, and the like. However, the telephony function itself is closed (ie, inaccessible) to the user of the telephony communication device and the third party vendor such that the definition of the telephony function cannot be changed by the user or the third party vendor.

대개, 설치된 디지털 텔레포니 통신 장치 상의 텔레포니 기능을 수정하기 위하여, 텔레포니 기능 개발을 제어하는 벤더는 새로운 하드웨어 또는 소프트웨어를 제공하고, 또한 기존의 하드웨어 또는 소프트웨어를 개량하여야 한다. 또한, 부가적인 텔레포니 애플리케이션은, 텔레포니 통신 장치가 이 분야레서 설치된 후에, 텔레포니 통신 장치에 부가될 수 있다.Usually, in order to modify the telephony function on an installed digital telephony communication device, the vendor controlling the development of the telephony function must provide new hardware or software, and also improve existing hardware or software. In addition, additional telephony applications may be added to the telephony communication device after the telephony communication device is installed in this field.

통상적인 텔레포니 통신 장치의 텔레포니 성능은 몇 가지 방법으로 제한된다. 첫 번째로, 많은 텔레포니 통신 장치는 오늘날 그 것들이 참여하고 있는 텔레폰 콜을 제어할 수 없으며, 텔레폰 콜(예를 들어, 어떤 디지털 폰)을 제어할 수 있는 이 디바이스는 단일 콜 제어 프로토콜, 예를 들어, SIP 또는 H.323만을 사용하여 텔레폰 콜을 제어할 수 있다.Telephony performance of conventional telephony communication devices is limited in several ways. Firstly, many telephony communication devices are unable to control the telephone calls with which they are involved today, and those devices that can control telephone calls (e.g. some digital phones) are a single call control protocol, e.g. You can use only SIP or H.323 to control your telephone calls.

두 번째로, 많은 텔레포니 통신 장치는 텔레포니 애플리케이션이 실행되는 외부 통신 네트워크 자원으로부터 수신된 명령에 응답하여 텔레포니 동작을 수행한다. 또한, 텔레포니 애플리케이션이 정의되고 수행될 수 있는 이러한 텔레포니 통신 장치에서, 이러한 텔레포니 통신 장치가 이 분야에서 초기에 전개된 후에, 그 이상의 부가적인 어떤 텔레포니 애플리케이션도 텔레포니 통신 장치에 부가될 수 없다.Secondly, many telephony communication devices perform telephony operations in response to commands received from external communication network resources on which telephony applications are executed. In addition, in such a telephony communication device in which a telephony application can be defined and performed, after such a telephony communication device is initially deployed in this field, no further telephony application can be added to the telephony communication device.

또한, 그러한 텔레포니 통신 장치에서, 이러한 텔레포니 통신 장치가 이 분야에서 초기에 전개된 후에, 텔레포니 애플리케이션이 사실상 본질적으로 고정되도록(즉, 사용자 및 제3자 벤더에 의해 변경될 수 없도록), 사용자 및 제3자 벤더에 대해 폐쇄된다.In addition, in such telephony communication devices, after such telephony communication devices are initially deployed in this field, the telephony application is essentially fixed (i.e., can not be changed by the user and third party vendors), and so on. It is closed to third party vendors.

또한, 대개의 통신 네트워크의 텔레포니 성능은, 부분적으로 이 통신 네트워크에 거주하는 텔레포니 통신 장치의 한계로 인하여, 몇 가지 방법으로 제한된다.In addition, the telephony performance of most communication networks is limited in several ways, in part due to the limitations of telephony communication devices residing in this communication network.

첫 번째로, 많은 통신 네트워크의 처리 자원은 상대적으로 많지 않은 네트워크 자원이 전 통신 네트워크의 텔레포니 기능을 제공하도록 고도로 집중된다. 두 번째로, 심지어 그 위에서 정의되는 텔레포니 애플리케이션 및 그러한 텔레포니 애플리케이션을 실행하는 성능을 가지는 1 이상의 텔레포니 통신 장치를 포함하고 더많이 분산된 이러한 통신 네트워크에 있어서도, 텔레포니 통신 장치가 이 분야에서 초기에 전개된 후에, 그 텔레포니 애플리케이션은 사용자 또는 제3자 벤더에 의해 변경 가능하지 않으며 부가적인 텔레포니 애플리케이션은 텔레포니 통신 장치에 부가될 수 없다.First, the processing resources of many communication networks are highly concentrated such that relatively few network resources provide the telephony functionality of the entire communication network. Second, even in these more distributed communication networks, including telephony applications defined thereon and one or more telephony communication devices having the capability to run such telephony applications, telephony communication devices were initially deployed in this field. Later, the telephony application is not changeable by the user or a third party vendor and no additional telephony application can be added to the telephony communication device.

결과적으로, 전통적인 통신 네트워크의 텔레포니 기능은 집중된 네트워크 자원에 의해 제공되는 텔레포니 기능 또는 네트워크의 텔레포니 통신 장치 상에서 사용 가능한 고정된 텔레포니 기능에 의해 제한된다. 이러한 제한은 네트워크 사용자의 융통성을 확장하지 못하게 하며 또한, 사용자의 텔레포니 통신 장치의 텔레포니 기능을 변경한다. 그것에 의해, 통신 네트워크의 스케일성 및 융통성이 제한된다.As a result, the telephony functionality of a traditional communications network is limited by the telephony functionality provided by the concentrated network resources or the fixed telephony functionality available on the telephony communications devices of the network. This limitation prevents extending the flexibility of the network user and also changes the telephony function of the user's telephony communication device. This limits the scalability and flexibility of the communication network.

발명의 요약Summary of the Invention

따라서, 여기서 제공된 것은, 1 이상의 텔레포니(telephony) 애플리케이션 개발을 제어하는 벤더(vendor)와 관계없이, 이 분야(예를 들어, 고객을 전제로)에서 초기 전개 후에, 텔레포니 통신 디바이스 상에서 정의된 1 이상의 텔레포니 애플리케이션이 수정될 수 있도록, 개방된 텔레포니 시스템 아키텍처를 가지는 텔레포니 통신 장치에 관한 것이다.Thus, provided herein is one or more defined on a telephony communication device after initial deployment in this field (eg, on the assumption of a customer), regardless of the vendor controlling one or more telephony application developments. A telephony communication device having an open telephony system architecture, such that telephony applications can be modified.

또한, 여기서 제공된 것은, 그 위에서 정의되는 텔레포니 기능이 텔레포니 통신 장치에 텔레포니 애플리케이션을 첨가함으로써 확장될 수 있도록, 확장 가능한 텔레포니 시스템 아키텍처를 가지는 텔레포니 통신 장치에 관한 것이다.Also provided herein is a telephony communication device having an extensible telephony system architecture such that the telephony functions defined above can be extended by adding telephony applications to the telephony communication device.

또한, 여기서 제공된 것은, SIP, H.323, MGCP, Megaco/H.248 및 스키니 스테이션(Skinny Station) 프로토콜을 포함하는, 복수의 콜 제어 프로토콜의 어느 하나를 사용하여 텔레폰 콜 중에 접속을 제어할 수 있는 텔레포니 통신 장치에 관한 것이다. 더군다나, 복수의 접속이 있는 텔레폰 콜, 예를 들어, 컨퍼런스 콜에 있어서, 텔레포니 통신 장치는 각 접속상의 통신을 동시에 제어할 수 있으며 각 접속에서 서로 다른 콜 제어 프로토콜을 사용할 수 있다.In addition, provided herein can control the connection during a telephone call using any of a plurality of call control protocols, including SIP, H.323, MGCP, Megaco / H.248, and Skinny Station protocols. To a telephony communication device. Furthermore, in telephone calls with multiple connections, for example conference calls, the telephony communication device can simultaneously control communication on each connection and use different call control protocols on each connection.

또한, 여기서 제공되는 것은, 아래의 성질 중의 1 이상을 가지는 1 이상의 텔레포니 통신 장치를 포함하는 통신 네트워크에 관한 것이다: 개방된 텔레포니 시스템 아키텍처, 확장 가능한 텔레포니 시스템 아키텍처; 다수의 콜 제어 프로토콜 중의 어떤 하나를 사용하여 텔레폰 콜을 제어하는 능력. 그러한 통신 네트워크는 기존의 통신 네트워크보다 더 융통성이 있고 스케일이 가능한 텔레포니 기능을 갖는다.Also provided herein is a communication network comprising one or more telephony communication devices having one or more of the following properties: an open telephony system architecture, an extensible telephony system architecture; Ability to control telephone calls using any one of a number of call control protocols. Such communication networks have telephony capabilities that are more flexible and scalable than conventional communication networks.

제1 실시예에서, 제공된 것은 통신 매체를 포함하는 통신 네트워크의 부분인 제1 텔레포니 통신 장치에 관한 것이다. 제1 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함한다. 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를 송신하는 1 이상의 입력 및 통신 매체로의 제2 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 텔레포니 애플리케이션은, 제1 텔레포니 통신 장치가 텔레포니 소프트웨어 구성 요소의 생성과 무관하게 개발되어 변경된 통신 네트워크 상에 전개된 후에 변경할 수 있다.In a first embodiment, provided is directed to a first telephony communication device that is part of a communication network comprising a communication medium. The first telephony communication device includes a telephony hardware component and a telephony software component. The telephony hardware component includes one or more inputs for receiving audio input from a first user and first data from a communication medium, and one or more inputs for transmitting the medium to a first user and second data to the communication medium. do. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. The telephony application may change after the first telephony communication device is developed and deployed on the modified communication network regardless of the generation of the telephony software components.

또 다른 실시예에서, 텔레포니 통신 장치의 기능을 정의하는 방법이 제공되며, 여기서 텔레포니 통신 장치는 통신 매체를 포함하는 통신 디바이스의 부분이다. 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함한다. 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를 송신하는 1 이상의 출력 및 통신 매체로의 제2 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에, 텔레포니 애플리케이션은 텔레포니 통신 장치 상에서 액세스되고, 텔레포니 소프트웨어 구성 요소의 생성과 무관하게 개발되어 변경된다.In yet another embodiment, a method is provided for defining the functionality of a telephony communication device, wherein the telephony communication device is part of a communication device that includes a communication medium. The telephony communication device includes a telephony hardware component and a telephony software component. The telephony hardware component includes one or more inputs for receiving audio input from a first user and first data from a communication medium, and one or more outputs for transmitting the medium to the first user and second data to the communication medium. do. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. After the telephony communication device is deployed on the communication network, the telephony application is accessed on the telephony communication device and developed and changed regardless of the generation of the telephony software component.

본 실시예는 컴퓨터 판독 가능 매체 및 명령을 정의하는 컴퓨터 판독 가능 매체상에 저장되는 컴퓨터 판독 가능 신호를 포함하는 컴퓨터 프로그램 결과물로써 구현될 수 있다. 컴퓨터에 의한 실행 결과로써, 이러한 명령은 컴퓨터에게 본 실시예 위에서 기술된 작동을 수행하도록 한다.This embodiment may be embodied as a computer program output comprising a computer readable medium and computer readable signals stored on a computer readable medium defining instructions. As a result of execution by the computer, such instructions cause the computer to perform the operations described above in this embodiment.

또 다른 실시예에서, 제공된 것은, 통신 매체를 포함하는 통신 네트워크의 부분인 텔레포니 통신 장치의 기능을 정의하는 시스템에 관한 것이다. 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함한다. 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를 송신하는 1 이상의 출력 및 통신 매체로의 제2 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 이 시스템은 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에, 텔레포니 통신 장치 상에 텔레포니 애플리케이션을 액세스하는 수단 및 텔레포니 소프트웨어 구성 요소의 생성과 무관하게 개발되어 변경된 텔레포니 애플리케이션을 변경하는 수단을 포함한다.In yet another embodiment, provided is directed to a system that defines the functionality of a telephony communication device that is part of a communication network that includes a communication medium. The telephony communication device includes a telephony hardware component and a telephony software component. The telephony hardware component includes one or more inputs for receiving audio input from a first user and first data from a communication medium, and one or more outputs for transmitting the medium to the first user and second data to the communication medium. do. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. The system includes a means for accessing a telephony application on the telephony communication device after the telephony communication device is deployed on the communication network, and a means for modifying the changed telephony application regardless of the generation of the telephony software component.

또 다른 실시예에서, 통신 매체 및 1 이상의 텔레포니 통신 장치를 포함하고, 여기서 각 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함하는 통신 네트워크가 제공된다. 각 텔레포니 통신 장치에서, 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를 송신하는 1 이상의 출력 및 통신 매체로의 제2 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 텔레포니 애플리케이션은, 텔레포니 통신 장치가 텔레포니 소프트웨어 구성 요소의 생성과 무관하게 개발되어 변경된 통신 네트워크 상에 전개된 후에 변경할 수 있다.In another embodiment, a communication network is provided that includes a communication medium and one or more telephony communication devices, wherein each telephony communication device includes a telephony hardware component and a telephony software component. In each telephony communication device, the telephony hardware component includes one or more inputs for receiving audio input from a first user and first data from the communication medium, and for one or more outputs and communication media for transmitting the medium to the first user. The second data of. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. The telephony application can change after the telephony communication device is developed and deployed on the changed communication network regardless of the generation of the telephony software components.

또 다른 실시예에서, 제공된 것은 통신 매체를 포함하는 통신 네트워크의 부분인 제1 텔레포니 통신 장치에 관한 것이다. 여기서, 제1 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함한다. 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를 송신하는 1 이상의 입력 및 통신 매체로의 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 적어도 부가적인 텔레포니 애플리케이션 부분은 제1 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에 텔레포니 소프트웨어 구성 요소에 부가될 수 있다.In yet another embodiment, provided is directed to a first telephony communication device that is part of a communication network comprising a communication medium. Here, the first telephony communication device includes a telephony hardware component and a telephony software component. The telephony hardware component includes one or more inputs receiving audio input from a first user and first data from a communication medium, and one or more inputs and data to the communication medium transmitting a medium to the first user. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. At least an additional telephony application portion may be added to the telephony software component after the first telephony communication device is deployed on the communication network.

또 다른 실시예에서, 통신 매체를 포함하는 통신 네트워크의 부분인 텔레포니 통신 장치의 기능이 정의되며 여기서, 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함한다. 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를 송신하는 1 이상의 출력 및 통신 매체로의 제2 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에, 텔레포니 소프트웨어 구성 요소가 텔레포니 통신 장치 상에 액세스되고, 적어도 부가적인 텔레포니 애플리케이션 부분은 텔레포니 소프트웨어 구성 요소에 부가될 수 있다.In yet another embodiment, the functionality of a telephony communication device that is part of a communication network that includes a communication medium is defined where the telephony communication device includes a telephony hardware component and a telephony software component. The telephony hardware component includes one or more inputs for receiving audio input from a first user and first data from a communication medium, and one or more outputs for transmitting the medium to the first user and second data to the communication medium. do. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. After the telephony communication device is deployed on the communication network, the telephony software component is accessed on the telephony communication device, and at least additional telephony application portions can be added to the telephony software component.

본 실시예는 컴퓨터 판독 가능 매체 및 명령을 정의하는 컴퓨터 판독 가능 매체상에 저장되는 컴퓨터 판독 가능 신호를 포함하는 컴퓨터 프로그램 결과물로써 구현될 수 있다. 컴퓨터에 의한 실행 결과로써, 이러한 명령은 컴퓨터에게 본 실시예 위에서 기술된 작동을 수행하도록 한다.This embodiment may be embodied as a computer program output comprising a computer readable medium and computer readable signals stored on a computer readable medium defining instructions. As a result of execution by the computer, such instructions cause the computer to perform the operations described above in this embodiment.

또 다른 실시예에서, 제공된 것은, 통신 매체를 포함하는 통신 네트워크의 부분인 텔레포니 통신 장치의 기능을 정의하는 시스템에 관한 것으로 여기서, 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함한다. 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를 송신하는 1 이상의 출력 및 통신 매체로의 제2 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 이 시스템은 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에, 텔레포니 소프트웨어 구성 요소를 액세스하는 수단 및 적어도 부가적인 텔레포니 애플리케이션 부분을 텔레포니 소프트웨어 구성 요소에 부가하는 수단을 포함한다.In yet another embodiment, provided is a system that defines a function of a telephony communication device that is part of a communication network including a communication medium, wherein the telephony communication device includes a telephony hardware component and a telephony software component. The telephony hardware component includes one or more inputs for receiving audio input from a first user and first data from a communication medium, and one or more outputs for transmitting the medium to the first user and second data to the communication medium. do. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. The system includes means for accessing a telephony software component and means for adding at least additional telephony application portions to the telephony software component after the telephony communication device is deployed on the communication network.

또 다른 실시예에서, 통신 매체 및 1 이상의 텔레포니 통신 장치를 포함하는 통신 네트워크가 제공되며, 여기서 각 텔레포니 통신 장치는 텔레포니 하드웨어 구성 요소와 텔레포니 소프트웨어 구성 요소를 포함한다. 각 텔레포니 통신 장치에서, 텔레포니 하드웨어 구성 요소는 제1 사용자로부터 오디오 입력을 수신하는 1 이상의 입력 및 통신 매체로부터의 제1 데이터를 포함하고, 제1 사용자에 매체를송신하는 1 이상의 출력 및 통신 매체로의 제2 데이터를 포함한다. 텔레포니 소프트웨어 구성 요소는 하드웨어 구성 요소의 동작을 제어하고 적어도 텔레폰 콜과 관련되어 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션 부분을 포함한다. 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에, 적어도 부가적인 텔레포니 애플리케이션 부분은 텔레포니 소프트웨어 구성 요소에 부가될 수 있다.In another embodiment, a communication network is provided that includes a communication medium and one or more telephony communication devices, where each telephony communication device includes a telephony hardware component and a telephony software component. In each telephony communication device, the telephony hardware component includes one or more inputs for receiving audio input from a first user and first data from a communication medium, and for one or more outputs and communication media for transmitting the medium to the first user. The second data of. Telephony software components include telephony application portions that control the operation of hardware components and define at least telephony functions that are performed in connection with telephone calls. After the telephony communication device is deployed on the communication network, at least additional telephony application portions may be added to the telephony software component.

또 다른 실시예에서, 제공된 것은 통신 매체를 포함하는 통신 네트워크 부분인 제1 텔레포니 통신 장치에 관한 것으로 여기서, 텔레포니 통신 장치는 콜 처리 모듈을 포함한다. 콜 처리 모듈은 적어도 기타 다른 사용자에 대한 1 이상의 접속을 포함하는 제1 텔레폰 콜을 표현 및 제어한다. 적어도 제1의 1 이상의 접속에서, 제1 콜을 사용하여 제1 접속에 대응하는 텔레포니 디바이스상의 통신을 제어하도록 동작하는 콜 처리 모듈은 제1 텔레포니 통신 장치에서 사용 가능한 복수의 콜 제어 프로토콜로부터 선택 가능한 프로토콜을 제어한다.In yet another embodiment, provided is a first telephony communication device that is part of a communication network that includes a communication medium, wherein the telephony communication device includes a call processing module. The call processing module represents and controls the first telephone call comprising at least one connection to at least some other user. In at least a first one or more connections, the call processing module operative to control communication on the telephony device corresponding to the first connection using the first call is selectable from a plurality of call control protocols available in the first telephony communication device. Control the protocol.

또 다른 실시예에서, 제1 텔레폰 콜은 통신 네트워크에 접속되는 제1 텔레포니 통신 장치 상에서 제어된다. 텔레폰 콜은 기타 다른 사용자에 1 이상의 접속을 포함하며 여기서, 각 사용자는 통신 네트워크 상의 또 다른 텔레포니 통신 장치에 대응한다. 적어도 제1의 하나의 또는 그 이상의 통신에서, 제1 콜 제어 프로토콜은 제1 텔레포니 통신 장치 상에서 사용 가능한 복수의 콜 제어 프로토콜로부터 선택되고, 제1 접속에 대응하는 텔레포니 통신 장치 상의 접속은 제1 콜 제어 프로토콜을 사용하여 제어된다.In another embodiment, the first telephone call is controlled on the first telephony communication device connected to the communication network. A telephone call includes one or more connections to other users, where each user corresponds to another telephony communication device on the communication network. In at least one one or more communications, the first call control protocol is selected from a plurality of call control protocols available on the first telephony communication device, and the connection on the telephony communication device corresponding to the first connection is the first call. Controlled using a control protocol.

본 실시예는 컴퓨터 판독 가능 매체 및 명령을 정의하는 컴퓨터 판독 가능매체상에 저장되는 컴퓨터 판독 가능 신호를 포함하는 컴퓨터 프로그램 결과물로써 구현될 수 있다. 컴퓨터에 의한 실행 결과로써, 이러한 명령은 컴퓨터에게 본 실시예 위에서 기술된 작동을 수행하도록 한다.This embodiment may be embodied as a computer program output comprising computer readable media and computer readable signals stored on a computer readable medium defining instructions. As a result of execution by the computer, such instructions cause the computer to perform the operations described above in this embodiment.

또 다른 실시예에서, 제공된 것은 통신 네트워크에 접속되는 제1 텔레포니 통신 장치 상의 제1 텔레폰 콜 제어를 위한 시스템에 관한 것이다. 텔레폰 콜은 기타 다른 사용자에 1 이상의 접속을 포함하며 여기서, 각 사용자는 통신 네트워크 상의 또 다른 텔레포니 통신 장치에 대응한다. 적어도 제1의 하나의 또는 그 이상의 접속에서, 이 시스템은 제1 텔레포니 통신 장치 상에서 사용 가능한 복수의 콜 제어 프로토콜로부터의 제1 콜 제어 프로토콜을 선택하는 수단을 포함하고, 제1 콜 제어 프로토콜을 사용하여 텔레포니 통신 장치 상의 제1 접속에 대응하는 통신을 제어하는 수단을 포함한다.In yet another embodiment, provided is directed to a system for first telephone call control on a first telephony communication device connected to a communication network. A telephone call includes one or more connections to other users, where each user corresponds to another telephony communication device on the communication network. In at least a first one or more connections, the system includes means for selecting a first call control protocol from a plurality of call control protocols available on the first telephony communication device and using the first call control protocol. Means for controlling a communication corresponding to the first connection on the telephony communication device.

또 다른 실시예에서, 통신 매체 및 1 이상의 텔레포니 통신 장치를 포함하는 통신 네트워크가 제공되며 여기서, 각 텔레포니 통신 장치는 콜 처리 모듈을 포함한다. 각 텔레포니 통신 장치에서, 콜 처리 모듈은 적어도 기타 다른 사용자에 대한 1 이상의 접속을 포함하는 제1 텔레폰 콜을 표현 및 제어한다. 적어도 제1의 1 이상의 접속에서, 콜 처리 모듈은 제1 텔레포니 통신 장치에서 사용 가능한 복수의 콜 제어 프로토콜로부터 선택 가능한 제1 콜 제어 프로토콜을 사용하여 텔레포니 통신 장치 상의 제1 접속에 대응하는 통신을 제어하도록 동작한다.In another embodiment, a communication network is provided that includes a communication medium and one or more telephony communication devices, where each telephony communication device includes a call processing module. In each telephony communication device, the call processing module represents and controls a first telephone call including at least one connection to at least some other user. In at least one first or more connections, the call processing module controls the communication corresponding to the first connection on the telephony communication device using a first call control protocol selectable from a plurality of call control protocols available in the first telephony communication device. To work.

또 다른 실시예에서, 컴퓨터에 의한 실행 결과로써, 컴퓨터 판독 가능 매체 및 명령을 정의하는 컴퓨터 판독 가능 매체상에 저장되는 컴퓨터 판독 가능 신호를포함하는 컴퓨터 프로그램 결과물이 제공되고, 이는 텔레포니 통신 장치에 텔레포니 애플리케이션을 수행하도록 명령한다. 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에, 적어도 텔레포니 애플리케이션 부분이 텔레포니 통신 장치에 부가될 수 있다.In yet another embodiment, as a result of execution by a computer, a computer program output is provided that includes a computer readable medium and computer readable signals stored on the computer readable medium defining instructions, the telephony being sent to a telephony communication device. Instruct the application to run. After the telephony communication device is deployed on the communication network, at least a telephony application portion may be added to the telephony communication device.

또 다른 실시예에서, 컴퓨터에 의한 실행 결과로써, 컴퓨터 판독 가능 매체 및 명령을 정의하는 컴퓨터 판독 가능 매체상에 저장되는 컴퓨터 판독 가능 신호를 포함하는 컴퓨터 프로그램 결과물이 제공되고, 이는 텔레포니 통신 장치에 텔레포니 애플리케이션을 수행하도록 명령한다. 텔레포니 통신 장치가 텔레포니 애플리케이션의 생성과 무관하게 개발되어 수정된 통신 네트워크 상에 전개된 후에, 적어도 텔레포니 애플리케이션 부분이 텔레포니 통신 장치 상에서 수정될 수 있다.In yet another embodiment, as a result of execution by a computer, a computer program output is provided that includes a computer readable medium and computer readable signals stored on the computer readable medium defining instructions, the telephony being sent to a telephony communication device. Instruct the application to run. After the telephony communication device is developed and deployed on a modified communication network regardless of the generation of the telephony application, at least the telephony application portion can be modified on the telephony communication device.

위에서 기술된 본원의 특징과 장점 및 본원의 기타 다른 특징과 장점은 첨부된 도면과 같이 이해되어져야 하는 아래의 상세한 기술로부터 더 쉽게 이해되고 인식될 것이다.Features and advantages of the present application described above and other features and advantages of the present application will be more readily understood and appreciated from the following detailed description, which should be understood as the accompanying drawings.

본 출원은 텔레폰 콜(telephone call)을 확인하는 지능 종점(intelligent end points)을 가지는 통신 네트워크에 관한 것이다. 특히, 본 출원은 1 이상의 텔레포니 애플리케이션(telephony application)을 제공하고 제어하는 1 이상의 텔레포니 통신 장치를 포함하는 데이터 네트워크에 관한 것이다.The present application relates to a communication network having intelligent end points that identify a telephone call. In particular, the present application relates to a data network comprising one or more telephony communication devices for providing and controlling one or more telephony applications.

도 1은 텔레포니 통신 장치의 개방되고 확장 가능한 텔레포니 시스템 아키텍처의 예시적인 실시예를 설명하는 블록도;1 is a block diagram illustrating an exemplary embodiment of an open and extensible telephony system architecture of a telephony communication device.

도 2는 도 1의 개방적이고 확장 가능한 텔레포니 시스템 아키텍처의 코어 텔레포니 기능 층의 예시적인 실시예를 설명하는 블록도;2 is a block diagram illustrating an exemplary embodiment of a core telephony functional layer of the open and extensible telephony system architecture of FIG.

도 3은 도 2의 매체 처리 모듈에 대응하는 매체 처리 구성 요소의 예시적인 실시예를 설명하는 데이터 흐름도;3 is a data flow diagram illustrating an exemplary embodiment of a media processing component corresponding to the media processing module of FIG.

도 4는 도 2의 콜 처리 모듈 및 도 2의 매체 처리 모듈의 예시적인 실시예를 설명하는 블록도;4 is a block diagram illustrating an exemplary embodiment of the call processing module of FIG. 2 and the media processing module of FIG.

도 5는 텔레포니 통신 장치의 예시적인 실시예의 설명도;5 is an explanatory diagram of an exemplary embodiment of a telephony communication device;

도 6은 텔레포니 통신 장치에 의해 제공되는 그래픽 디스플레이의 예시적인 실시예의 설명도;6 is an explanatory diagram of an exemplary embodiment of a graphical display provided by a telephony communication device;

도 7은 변경 가능하고 확장 가능한 기능을 가지는 1 이상의 텔레포니 통신 장치를 포함하는 통신 네트워크의 예시적인 실시예의 설명도;7 is an illustration of an exemplary embodiment of a communication network including one or more telephony communication devices having changeable and extensible functionality;

도 8은 텔레포니 통신 장치의 제2 사용자에 들어오는 콜을 나타내는 방법의 예시적인 실시예를 설명하는 순서도;8 is a flow chart describing an exemplary embodiment of a method for indicating an incoming call to a second user of a telephony communication device;

도 9는 텔레폰 콜 동안에 매체를 선택적으로 전송하는 방법의 예시적인 실시예를 설명하는 순서도;9 is a flow chart illustrating an exemplary embodiment of a method for selectively transmitting a medium during a telephone call.

도 10은 텔레폰 콜 동안에 매체를 선택적으로 전송하는 방법의 또 다른 예시적인 실시예를 설명하는 순서도;10 is a flow chart describing another exemplary embodiment of a method for selectively transmitting a medium during a telephone call;

도 11은 텔레폰 콜을 계획하고 수행하는 방법의 예시적인 실시예를 설명하는 순서도;11 is a flow chart illustrating an exemplary embodiment of a method of planning and performing a telephone call.

도 12는 텔레폰 콜과 관련된 디스플레이 텍스트의 예시적인 방법을 설명하는 순서도;12 is a flow chart illustrating an exemplary method of display text associated with a telephone call.

도 13은 텔레포니 통신 장치의 상태에 따른 정보의 통신 방법의 예시적인 실시예를 설명하는 순서도;13 is a flow chart illustrating an exemplary embodiment of a method of communicating information in accordance with a state of a telephony communication device.

도 14는 텔레포니 통신 장치의 상태에 따른 정보의 통신 방법의 예시적인 실시예를 설명하는 순서도;14 is a flow chart illustrating an exemplary embodiment of a method of communicating information in accordance with a state of a telephony communication device.

도 15는 텔레폰 콜 동안에 들리는 표현을 통신하는 방법의 예시적인 실시예를 설명하는 순서도;15 is a flowchart illustrating an example embodiment of a method of communicating a representation heard during a telephone call.

도 16은 콜과 관련된 정보에 근거한 텔레폰 콜을 스크린 하는 방법의 예시적인 실시예를 설명하는 순서도;16 is a flow chart illustrating an exemplary embodiment of a method for screening a telephone call based on information associated with the call.

도 17은 텔레포니 통신 장치 상의 오디오로써 전자 메일 메시지의 텍스트를 플레이하는 방법의 예시적인 실시예를 설명하는 순서도;17 is a flow chart illustrating an exemplary embodiment of a method of playing text in an e-mail message as audio on a telephony communication device.

도 18은 사용자가 텔레포니 통신 장치에 그래픽 메시지를 전송하는 방법의 예시적인 실시예를 설명하는 순서도;18 is a flow chart illustrating an example embodiment of a method for a user to send a graphical message to a telephony communication device.

도 19는 텔레포니 통신 장치의 사용자에게 그래픽 메시지를 통신하는 방법의 예시적인 실시예를 설명하는 순서도;19 is a flow chart illustrating an exemplary embodiment of a method of communicating a graphical message to a user of a telephony communication device.

도 20은 텔레폰 콜 동안에 1 이상의 대기 중인 접속을 확인하는 방법의 예시적인 실시예를 설명하는 순서도; 및20 is a flow chart illustrating an example embodiment of a method of confirming one or more pending connections during a telephone call. And

도 21은 텔레포니 통신 장치를 동적으로 구성하는 방법의 예시적인 실시예를 설명하는 순서도;21 is a flow chart illustrating an example embodiment of a method for dynamically configuring a telephony communication device.

1. 텔레포니 시스템 아키텍처1. Telephony System Architecture

텔레포니 시스템 아키텍처는 텔레포니 통신 장치(Telephony Communication Device; TCD)에서 사용 가능한 텔레포니 애플리케이션을 함께 정의하는 1 이상의 내부적으로 관련된 시스템 구성 요소를 포함하는 시스템 아키텍처이다. 개방된 텔레포니 시스템 아키텍처는, 텔레포니 시스템 아키텍처에 의해 정의되는 1 이상의 텔레포니 애플리케이션의 개발을 제어하는 벤더에 추가하여, 이러한 텔레포니 애플리케이션이 TCD 상의 분야에 전개된 후에, 사용자 및 제3자 벤더가 1 이상의 텔레포니 애플리케이션의 텔레포니 기능을 변경하도록 액세스 가능하다. 확장 가능한 텔레포니 시스템 아키텍처는 텔레포니 애플리케이션이 이 분야에 이미 전개된 TCD에 부가되도록 할 수 있는 시스템 아키텍처이다.The telephony system architecture is a system architecture that includes one or more internally related system components that together define the telephony applications available on the Telephony Communication Device (TCD). The open telephony system architecture is in addition to the vendor that controls the development of one or more telephony applications defined by the telephony system architecture. After such telephony applications have been deployed in the field on the TCD, users and third party vendors have more than one telephony. It is accessible to change the telephony function of the application. Scalable telephony system architecture is a system architecture that allows telephony applications to be added to TCDs already deployed in this field.

도 1은 TCD의 개방되고 확장 가능한 텔레포니 시스템 아키텍처(1)의 예시적인 실시예를 설명하는 블록도이다. 확장 가능한 텔레포니 시스템 아키텍처는, 소정의 층의 각 측면에 있는 층들이 서로 무관하도록 인접한 추상화(abstraction) 층이 서로 통신하는 층화 아키텍처(layered architecture, 1)로 고려될 수 있다. 다시 말하자면, 기능은, 인접하지 않는 더 낮은 층의 세부 항목의 인식이나 특정없이, 더 높은 추상화 층이 인접하지 않는 더 낮은 추상화 레벨상에서 수행되도록 정의될 수 있다.1 is a block diagram illustrating an exemplary embodiment of an open and scalable telephony system architecture 1 of a TCD. An extensible telephony system architecture may be considered a layered architecture 1 in which adjacent abstraction layers communicate with each other such that the layers on each side of a given layer are independent of each other. In other words, a function may be defined such that a higher abstraction layer is performed on a lower non-contiguous level of abstraction without the recognition or specification of non-contiguous lower layer details.

설명 목적으로, 텔레포니 시스템 아키텍처(1)가 거주하는 TCD는 여기서 제1 TCD로써 나타낸다. 이 제1 TCD는 도 7과 관련하여 아래에서 더 자세하게 기술되는 통신 네트워크에 접속될 수 있다.For illustrative purposes, the TCD in which the telephony system architecture 1 resides is referred to herein as the first TCD. This first TCD may be connected to a communication network described in more detail below with respect to FIG. 7.

개방되고 확장 가능한 텔레포니 시스템 아키텍처(1)는 애플리케이션 층(3), 개방된 애플리케이션 프로그래밍 인터페이스 층(5), 코어 텔레포니 기능 층(9), 동작하는 시스템 층(11), 소프트웨어/하드웨어 인터페이스 층(13) 및 텔레포니 하드웨어 층(15)을 포함할 수 있다.An open and scalable telephony system architecture (1) includes an application layer (3), an open application programming interface layer (5), a core telephony functional layer (9), an operating system layer (11), a software / hardware interface layer (13). ) And telephony hardware layer 15.

1.1 텔레포니 하드웨어 층1.1 Telephony Hardware Layer

텔레포니 하드웨어 층 또는 텔레포니 하드웨어 구성 요소(15)는 텔레폰 콜과 관련된 텔레포니 동작을 수행하는 몇 개의 하드웨어 소자를 포함한다. 텔레포니 하드웨어 구성 요소(15)는 텔레포니 동작에 대응하는 처리 명령의 처리를 포함한다. 그러한 처리기는, 텔레폰 콜에 참여하는 사용자가 특히 오디오 데이터의 송신에서, 텔레폰 콜과 관련된 텔레포니 기능의 어떠한 지연도 경험하지 않으면서 처리기가 실시간 속도로 텔레폰 콜을 처리할 수 있도록 선택될 수 있다. 예를 들어, 처리기는 206MHz에서 작동하는 StrongArm 1110일 수 있다.The telephony hardware layer or telephony hardware component 15 includes several hardware elements that perform telephony operations related to telephony calls. The telephony hardware component 15 includes the processing of processing instructions corresponding to telephony operations. Such a processor may be selected such that the user participating in the telephone call can handle the telephone call at real time without experiencing any delay in the telephony function associated with the telephone call, especially in the transmission of audio data. For example, the processor may be StrongArm 1110 operating at 206 MHz.

또한, 텔레포니 하드웨어 구성 요소(15)는 정보 저장을 위한 메모리를 포함할 수 있다. 예를 들어, 메모리는 텔레포니 애플리케이션 및 데이터를 영구 저장을 위한 플래시 판독 전용 메모리(Flash ROM)와 같은 비휘발성 메모리를 포함할 수 있으며 또한, 텔레포니 애플리케이션 및 데이터의 일시 저장 및 텔레포니 애플리케이션 및 데이터로의 더 빠른 액세스를 위한 동기 동적 임의 접근 메모리(SDRAM)와 같은 휘발성 메모리를 포함할 수 있다.In addition, the telephony hardware component 15 may include a memory for storing information. For example, the memory may include non-volatile memory, such as flash read-only memory (Flash ROM) for permanent storage of telephony applications and data, and may also be used for temporary storage of telephony applications and data and further into telephony applications and data. It may include volatile memory, such as synchronous dynamic random access memory (SDRAM) for quick access.

휘발성 메모리 및 비휘발성 메모리의 성능은 통신 네트워크 내의 제1 TCD의 구성 및 저장 요구에 따라 선택되고 변화될 수 있다. 예를 들어, 제1 TCD는, 초기화되는 부분으로써, 네트워크 상의 1 이상의 저장 자원으로부터 텔레포니 애플리케이션 및/또는 비-텔레포니 애플리케이션(non-telephony application)을 다운로드하도록 구성될 수 있다. 그러한 구성에서, 제1 TCD는, 상대적으로 더 적은 양의 비휘발성 메모리가 애플리케이션 저장을 위해 요구되기 때문에, 보다 빠른 처리를 위하여 상대적으로 더 많은 양의 휘발성 메모리를 가질 수 있다.The performance of volatile and nonvolatile memory can be selected and varied depending on the configuration and storage needs of the first TCD in the communication network. For example, the first TCD may be configured to download a telephony application and / or non-telephony application from one or more storage resources on the network as part of being initialized. In such a configuration, the first TCD may have a relatively larger amount of volatile memory for faster processing because a relatively smaller amount of nonvolatile memory is required for application storage.

대조하여 보면, 제1 TCD는 예를 들어, 오디오 파일과 같은 많은 양의 데이터를 저장하고 또한, 1 이상의 많은 애플리케이션 또는 많은 수의 애플리케이션을 저장하도록 구성될 수 있다. 그러한 구성에서, 제1 TCD는 데이터 및 애플리케이션을 저장하기 위해 상대적으로 더 많은 양의 비휘발성 메모리를 가질 수 있으며, 이는 더 적은 휘발성 메모리를 가지는 결과를 초래한다. 분명하게, 또한, 휘발성 및 비휘발성 메모리의 성능은 제1 TCD 내에서 사용 가능한 물리적인 공간에 의해 영향을 받는다.In contrast, the first TCD can be configured to store large amounts of data, such as, for example, audio files, and also to store one or more large applications or a large number of applications. In such a configuration, the first TCD may have a relatively larger amount of nonvolatile memory to store data and applications, which results in less volatile memory. Clearly, the performance of volatile and nonvolatile memory is also affected by the physical space available within the first TCD.

또한, 텔레포니 하드웨어 구성 요소(15)는 텔레폰 콜 동안에 전송되는 오디오 정보의 처리를 위한 오디오 처리 회로를 포함할 수 있다. 오디오 처리 회로는 각각 통신 네트워크로 전송되고 통신 네트워크로부터 수신되는 오디오 데이터의 압축 및 압축 해제(decompression)를 포함하는 전형적인 오디오 처리 기능을 수행하기 위한 코덱(codec)을 포함할 수 있다. 오디오 처리 모듈은 다양한 크기의 오디오 데이터를 샘플하고 다양한 샘플 속도의 어느 하나에서 오디오 데이터를 처리하도록 설계될 수 있다. 예를 들어, 오디오 처리 모듈은 Philips Semiconductors로부터의 UDA 1341TS 스테레오 코덱을 포함할 수 있고, 16비트 크기 및 32KHz의 샘플 속도에서 오디오 데이터를 샘플할 수 있다. 예를 들어, 44.1KHz 및 48KHZ와 같은 기타 다른 샘플 속도가 사용될 수 있다.In addition, the telephony hardware component 15 may include audio processing circuitry for the processing of audio information transmitted during the telephone call. The audio processing circuitry may each include a codec for performing typical audio processing functions including compression and decompression of audio data transmitted to and received from the communication network. The audio processing module may be designed to sample audio data of various sizes and to process the audio data at any one of various sample rates. For example, the audio processing module can include a UDA 1341TS stereo codec from Philips Semiconductors and can sample audio data at a 16-bit size and a sample rate of 32 KHz. For example, other sample rates such as 44.1 KHz and 48 KHZ may be used.

또한, 텔레포니 구성 요소(15)는 알려진 기술을 사용하여 비디오를 처리하기 위해, 1 이상의 비디오 코덱을 포함하는 비디오 처리 회로를 포함할 수 있다. 도5와 관련하여 아래에서 더 자세하게 논의될 것으로써, 텔레포니 하드웨어 구성 요소(15)는 또한 디스플레이 스크린 및 관련된 그래픽 로직을 포함할 수 있다. 실시예에서, 디스플레이 스크린은 160 ×160 픽셀 그래픽 디스플레이이다. 디스플레이 스크린은 칼라, 모노크롬 또는 그레이-스케일 픽셀을 디스플레이 할 수 있다. 예를 들어, 실시예에서, 디스플레이 스크린은 15 칼라 그레이-스케일을 사용하여 픽셀을 표시하도록 설계되었다.In addition, telephony component 15 may include video processing circuitry that includes one or more video codecs to process video using known techniques. As will be discussed in more detail below with respect to FIG. 5, the telephony hardware component 15 may also include a display screen and associated graphics logic. In an embodiment, the display screen is a 160 × 160 pixel graphic display. The display screen can display color, monochrome or grey-scale pixels. For example, in an embodiment, the display screen is designed to display pixels using 15 color gray-scale.

또한, 텔레포니 하드웨어 구성 요소(15)는 제1 TCD와 통신 네트워크의 통신 매체 사이에서 데이터 통신을 위한 네트워크 인터페이스를 포함할 수 있다. 실시예에서, 통신 네트워크는 Ethernet 프로토콜을 고수하며, 네트워크 인터페이스는 예를 들어, Cirrus Logic의 CS 8900A-CQ3 10BaseT Ethernet 제어기와 같은 Ethernet 인터페이스이다.In addition, the telephony hardware component 15 may include a network interface for data communication between the first TCD and the communication medium of the communication network. In an embodiment, the communication network adheres to the Ethernet protocol, and the network interface is, for example, an Ethernet interface such as Cirrus Logic's CS 8900A-CQ3 10BaseT Ethernet controller.

또한, 텔레포니 하드웨어 구성 요소(15)는 제1 TCD에 전력을 주기 위한 전력 회로를 포함한다. 실시예에서, 제1 텔레포니 하드웨어 구성 요소(15)는 Category 5(Cat5) 케이블에 의해 공급되는 전력을 수신하는 회로를 포함한다. 전력 공급 회로는 Cisco Systems, Inc.에 의해 개발된 Cat5/Ethernet LANs를 위한 Cisco Inline-Power 기술과 양립되는 파우어링 접근법(powering approaches)을 사용할 수 있다.The telephony hardware component 15 also includes a power circuit for powering the first TCD. In an embodiment, the first telephony hardware component 15 includes circuitry for receiving power supplied by Category 5 (Cat5) cable. The power supply circuit can use a powering approach compatible with Cisco Inline-Power technology for Cat5 / Ethernet LANs developed by Cisco Systems, Inc.

1.2 소프트웨어/하드웨어 인터페이스 층1.2 Software / Hardware Interface Layer

소프트웨어/하드웨어 인터페이스 층(13)은 텔레포니 하드웨어 층(15)의 하드웨어 소자를 동작하기 위한 복수의 드라이버를 정의할 수 있다. 드라이버는 복수의 프로그래밍 언어 중의 어떤 하나, 예를 들어 C로 프로그램될 수 있다.The software / hardware interface layer 13 may define a plurality of drivers for operating the hardware elements of the telephony hardware layer 15. The driver can be programmed in any one of a plurality of programming languages, for example C.

1.3 운영 체제 층(Operating System Layer)1.3 Operating System Layer

운영 체제 층(11)은 복수의 운영 체제의 어떤 하나를 포함할 수 있다. 도 2와 관련하여 아래에서 더 자세하게 논의될 것으로써, 코어 텔레포니 기능 층은, 추상화 층(1. 3 및 5)이 운영 체제 층(11)의 운영 체제와 무관하게 프로그램될 수 있도록 구성된다.Operating system layer 11 may include any one of a plurality of operating systems. As will be discussed in more detail below in connection with FIG. 2, the core telephony functional layer is configured such that the abstraction layers 1.3 and 5 can be programmed independently of the operating system of the operating system layer 11.

운영 체제 층(11)의 운영 체제는 실시간 운영 체제(real-time operating system, RTOS) 또는 예를 들어, 일반 목적의 컴퓨터와 더 일반적으로 관련된 WindowsNT, MacOS, UNIX또는 LINUX와 같은 또 다른 운영 체제가 될 수 있다.The operating system of the operating system layer 11 is a real-time operating system (RTOS) or, for example, Windows that is more commonly associated with general purpose computers. NT, Mac OS, UNIX Or LINUX It can be another operating system, such as

RTOS를 사용하는 운영 체제 층(11)의 실시예에서, RTOS는 Wind River Systems, Inc.의 VxWorks가 될 수 있으며 또한, 운영 체제 층(11)은 아래의 것을 포함하는 Wind River에 의해 공급되는 기타 다른 구성 요소를 포함할 수 있다: Personal JWorks(Personal Java, JDK 1.1.6); True FFS Flash 파일 시스템 관리자; Simple Network Management Protocol(SNMP)v1/v2c; 및 Rogue Wave tools.h++ Library.In an embodiment of the operating system layer 11 using the RTOS, the RTOS is VxWorks of Wind River Systems, Inc. In addition, operating system layer 11 may include other components supplied by Wind River, including: Personal JWorks Personal Java, JDK 1.1.6; True FFS Flash File System Manager; Simple Network Management Protocol (SNMP) v1 / v2c; And Rogue Wave tools.h ++ Library.

1.4 코어 텔레포니 기능 층1.4 core telephony functional layer

코어 텔레포니 기능 층(9)은 텔레폰 콜과 관련된 코어 텔레포니 기능을 정의한다. 도 2는 OS 추상화 층(33), 코어 텔레포니 기능 모듈(25), 텔레포니 애플리케이션 객체 모듈(23) 및 코어 텔레포니 기능 API 모듈(21)을 포함하는 코어 텔레포니 기능 층(9)의 예시적인 실시예를 설명하는 블록도이다.The core telephony function layer 9 defines the core telephony function associated with the telephone call. 2 illustrates an exemplary embodiment of a core telephony functional layer 9 comprising an OS abstraction layer 33, a core telephony functional module 25, a telephony application object module 23 and a core telephony functional API module 21. It is a block diagram explaining.

1.4.1 OS 추상화 층1.4.1 OS Abstraction Layer

OS 추상화 층(33)은, 모듈(21, 23 및 25) 및 층(3 및 5)을 포함하는 잔존하는 모듈 및 텔레포니 시스템 아키텍처의 층으로 운영 체제 층(11)의 본래의 운영 체제를 인터페이스 한다. OS 추상화 층(33)은, 본래의 운영 체제(예를 들어, VxWorks 또는 Windows NT)에 인터페이스를 제공함으로써, 잔존하는 모듈 및 층에 의한 본래의 운영 체제에 의존하는 것을 막는다. OS 추상화 층(33)은 날짜와 시간 정보를 유지하고, 이벤트를 등록하고, 메시지 큐(queues)를 관리하고, 소켓 기반 통신(socket-based communication)을 관리하고, TCD상의 텔레포니 동작을 동기화하고, 태스크를 관리하고 타이머를 제공하기 위한 추상화를 포함할 수 있다.The OS abstraction layer 33 interfaces with the original operating system of the operating system layer 11 with a layer of the remaining module and telephony system architecture comprising modules 21, 23 and 25 and layers 3 and 5. . The OS abstraction layer 33 provides an interface to the original operating system (eg, VxWorks or Windows NT), thereby avoiding relying on the original operating system by the remaining modules and layers. OS abstraction layer 33 maintains date and time information, registers events, manages message queues, manages socket-based communication, synchronizes telephony operations on TCD, It can include abstractions for managing tasks and providing timers.

1.4.2 코어 텔레포니 기능 모듈1.4.2 Core Telephony Function Module

코어 텔레포니 기능 모듈(25)은 폰 세트 관리 모듈(27), 매체 처리 모듈(29) 및 콜 처리 모듈(31)을 포함한다. 폰 세트 관리 모듈(27)은 버튼 프레스, 후크 스위치 동작 및 램프(LED) 제어 같은 저레벨 디바이스 동작을 다루기 위해 정의되는 추상화를 포함한다.The core telephony function module 25 includes a phone set management module 27, a media processing module 29, and a call processing module 31. Phone set management module 27 includes abstractions that are defined to handle low level device operations such as button press, hook switch operation and lamp (LED) control.

1.4.2.1 매체 처리 모듈1.4.2.1 Media Handling Module

매체 처리 모듈(29)은 제1 TCD가 1 이상의 텔레폰 콜을 위한 실시간 오디오 처리를 수행하도록 프레임워크(framework)를 제공한다. 매체 처리 모듈(29)은 매체 데이터가 최소 대기시간(latency)을 가지면서 흐르도록 구성될 수 있다. 오디오 데이터는 청크(chunk)에서 처리될 수 있는데, 각 청크는 특별한 일시적인 간격으로부터의 오디오 데이터가 된다. 예를 들어, 매체 처리 모듈(29)은 10ms 청크 동안 오디오 데이터를 처리할 수 있다. 예를 들어, 도 3와 관련하여 아래에서 더 자세하게 기술될 것으로써, 매체 처리 구성 요소(30)의 각 처리 소자는 10ms 청크 동안에 매체를 처리할 수 있다.The media processing module 29 provides a framework for the first TCD to perform real time audio processing for one or more telephone calls. The media processing module 29 may be configured to flow the media data with a minimum latency. Audio data can be processed in chunks, where each chunk becomes audio data from a particular temporary interval. For example, the media processing module 29 may process audio data for 10 ms chunks. For example, as will be described in more detail below with respect to FIG. 3, each processing element of the media processing component 30 may process media for 10 ms chunks.

매체 처리 모듈(29)은 1 이상의 매체 처리 구성 요소, 특별한 텔레폰 콜에 대응하는 각 매체 처리 구성 요소를 포함할 수 있다. 하드웨어 실시예에서, 매체 처리 모듈(29)은, 매체 처리 모듈이 동시에 처리할 수 있는 텔레폰 콜의 수가 물리적인 매체 처리 구성 요소의 수에 의해 제한되도록, 물리적으로 분리된 매체 처리 구성 요소를 포함할 수 있다. 그러한 하드웨어 실시예에서, 적어도 매체 처리 모듈(29)의 부분이 전용 디지털 신호 처리기(digital signal processor, DSP)를 사용하여 구현될 수 있다.The media processing module 29 may include one or more media processing components, each media processing component corresponding to a particular telephone call. In a hardware embodiment, the media processing module 29 may include physically separated media processing components such that the number of telephone calls that the media processing module can handle simultaneously is limited by the number of physical media processing components. Can be. In such hardware embodiments, at least part of the media processing module 29 may be implemented using a dedicated digital signal processor (DSP).

객체 지향형 프로그래밍 언어, 예를 들어, C++ 또는 Java가 사용되는 소프트웨어 실시예에서, 1 이상의 추상화(예를 들어, 클래스 또는 스트럭트)는, 도 4와 관련하여 아래에서 더 자세하게 기술될 것으로써, 매체 처리 모듈(29) 및 1 이상의 매체 처리 구성 요소를 표시하도록 사용될 수 있다.In a software embodiment in which an object oriented programming language, for example C ++ or Java, is used, one or more abstractions (eg, classes or constructs) will be described in more detail below in connection with FIG. It can be used to display the media processing module 29 and one or more media processing components.

1.4.2.1.1 매체 처리 구성 요소1.4.2.1.1 Media Handling Components

도 3는 매체 처리 구성 요소(30)의 예시적인 실시예를 설명하는 데이터 흐름도이다. 전통적으로, 오직 오디오만이 텔레폰 콜과 관련되어 있다. 그러나, 더 최근에, 비디오가 텔레폰 콜의 부분이 되고 있다. 아래에서 더 자세히 기술된 것으로써, 제1 TCD는 오디오, 비디오 및 기타 다른 관련된 데이터를 포함하는 텔레폰콜을 지원할 수 있다. 따라서, 아래에서 기술되는 대부분의 매체 데이터 및 매체 처리 소자가 오디오와 관련되어 있다고 해도, 매체 처리 구성 요소(30)는 또한 처리 구성 요소(30)의 오디오 처리 소자와 동등하게 비디오 데이터를 처리하는 비디오 처리 소자를 포함할 수 있다.3 is a data flow diagram illustrating an exemplary embodiment of a media processing component 30. Traditionally, only audio has been associated with telephone calls. However, more recently, video has become part of the telephone call. As described in more detail below, the first TCD may support telephony calls including audio, video and other related data. Thus, although most of the media data and media processing elements described below are associated with audio, the media processing component 30 also processes video data that is equivalent to the audio processing component of the processing component 30. It may include a processing element.

매체 처리 구성 요소(30)는 1 이상의 접속 매체 입력 인터페이스(41), 사용자 매체 입력 인터페이스(59), 로컬 콜 브릿지(51), 1 이상의 접속 매체 출력 인터페이스(87) 및 사용자 매체 출력 인터페이스(82)를 포함할 수 있다.The media processing component 30 includes one or more connected media input interfaces 41, a user media input interface 59, a local call bridge 51, one or more connected media output interfaces 87, and a user media output interface 82. It may include.

제1 TCD의 1 이상의 제1 사용자와 1 이상의 제2 TCD에서의 1 이상의 제2 사용자 사이의 텔레폰 콜에서, 각 제2 TCD에서는 콜 처리 모듈(31)(도 4와 관련하여 아래에서 더 자세하게 기술됨)은 제2 TCD에 대응 접속을 유지한다. 텔레폰 콜의 매체 처리는 매체 처리 구성 요소(30)에 의해 표시된다. 각각의 접속 매체 인터페이스(41) 및 대응하는 접속 매체 출력 인터페이스(87)는 제1 TCD 와 제2 TCD들 중 하나 사이의 접속을 나타낸다.In a telephone call between one or more first users of the first TCD and one or more second users in the one or more second TCDs, each second TCD has a call processing module 31 (described in more detail below in connection with FIG. 4). Maintains the corresponding connection to the second TCD. Media processing of the telephone call is indicated by the media processing component 30. Each connection medium interface 41 and corresponding connection medium output interface 87 represent a connection between the first TCD and one of the second TCDs.

각 네트워크 접속 매체 입력 인터페이스(41)는 입력 버퍼(42), 디지터(dejitter) 버퍼(44) 및 디코더(47)를 포함한다.Each network connection medium input interface 41 includes an input buffer 42, a detector buffer 44, and a decoder 47.

입력 버퍼(42)는 접속 입력 매체(40)를 수신하여 접속 매체(43)를 생성한다. 접속 입력 매체(40)는, 그 외의 텔레폰 콜 참여자로부터 네트워크 접속을 통하여 네트워크 통신 매체로부터 수신된 매체 데이터이고, 예를 들어 실시간 전송 프로토콜(Real-Time Transport Protocol, RTP) 및 실시간 전송 제어 프로토콜(Real-Time Transport Control Protocol, RTCP)과 같은 1 이상의 매체 전송 프로토콜에 합치되는 데이터 패킷의 형태로 수신될 수도 있다. 입력 버퍼(42)는 매체 전송 정보를 접속 입력 매체(40)의 오디오 데이터 패킷으로부터 제거하여 접속 매체(43)를 생성함으로써, 접속 입력 매체(40)를 디패키지(depackage) 할 수 있다.The input buffer 42 receives the connection input medium 40 to generate the connection medium 43. The connection input medium 40 is media data received from a network communication medium through a network connection from another telephone call participant, for example, a real-time transport protocol (RTP) and a real time transmission control protocol (Real). It may be received in the form of a data packet that conforms to one or more media transport protocols, such as -Time Transport Control Protocol (RTCP). The input buffer 42 can depackage the connection input medium 40 by removing the medium transmission information from the audio data packet of the connection input medium 40 to generate the connection medium 43.

접속 입력 매체(40)는, 매체 처리 구성 요소(30)가 처리하도록 되어 있는 예를 들어, 10ms의 시간 간격보다 더 큰 시간 간격으로부터의 청크 데이터일 수 있다. 따라서, 입력 버퍼(42)는 접속 입력 매체(40)를 버퍼링하고, 입력 접속 매체(40)를 지정된 시간 간격에 대응하는 청크로 처리하며, 접속 매체(43)를 지정된 시간 간격에 대응하는 청크로 처리하도록 구성될 수 있다. 도 3에는 도시되어 있지 않지만, 그 외의 입력, 마이크로폰 오디오 데이터(55), 톤 지시기(tone indicator, 57) 및 저장된 오디오 데이터(58)가 입력 버퍼에 의하여 수신되고 버퍼링되어, 에코 억제기/제거기(echo suppressor/canceller, 61), 톤 생성기(69) 및 제1 혼합기(mixer, 74)가 지정된 시간 간격에 대응하는 데이터 청크가 될 수 있다.The connection input medium 40 may be chunk data from a time interval that is greater than, for example, a 10 ms time interval that the media processing component 30 is intended to process. Thus, the input buffer 42 buffers the connection input medium 40, treats the input connection medium 40 into chunks corresponding to the designated time interval, and makes the connection medium 43 into chunks corresponding to the designated time interval. Can be configured to process. Although not shown in FIG. 3, other inputs, microphone audio data 55, tone indicator 57, and stored audio data 58 are received and buffered by the input buffer to provide an echo suppressor / canceller ( The echo suppressor / canceller 61, the tone generator 69, and the first mixer 74 may be data chunks corresponding to a specified time interval.

디지터 버퍼(44)는 접속 매체(43)를 수신하고 지터(jitter)가 제거된 매체(43)를 생성한다. 디지터 버퍼(44)는 제1 TCD의 사용자에 진행 중인 결과 매체로부터 지터를 제거하기 위하여 접속 매체(43)로부터 정보를 제거하는 공지된 기술을 채택한다. 통신 네트워크의 네트워크 매체를 통한 전송 도중, 접속 입력 매체(40)의 데이터 패킷은 전송되고 복사될 수 있으므로, 접속 입력 매체(40)는 재배열된 패킷 및/또는 복수의 동일한 패킷을 포함할 수 있다. 예를 들어, 배열된 패킷 1, 2, 3이 제2 TCD로부터 제1 TCD로 보내지는 경우, 패킷 1은 복사되고 패킷들은 재배열되어, 패킷 1, 3, 1 및 2가 제1 TCD에 도달한다. TCD의 디지터 버퍼(44)는 재배열되고 복사된 패킷을 인식하여 제거하는 논리를 포함하므로, 지터가 제거된 매체(45)는 적절히 배열되고 복사본이 없는 원래 전송된 매체 패킷 1, 2, 3을 포함한다.Digit buffer 44 receives connection medium 43 and generates medium 43 with jitter removed. Digit buffer 44 employs a known technique that removes information from access medium 43 to remove jitter from the resulting medium in progress for a user of the first TCD. During transmission through the network medium of the communication network, the data packets of the connection input medium 40 may be transmitted and copied, so that the connection input medium 40 may include rearranged packets and / or a plurality of identical packets. . For example, if the arranged packets 1, 2, 3 are sent from the second TCD to the first TCD, packet 1 is copied and the packets are rearranged so that packets 1, 3, 1 and 2 reach the first TCD. do. Since the digital buffer of the TCD includes logic to recognize and remove rearranged and copied packets, the jitter-free media 45 is properly arranged and no copies of the original transmitted media packets 1, 2, 3 It includes.

접속 입력 매체는 제1 TCD에 전송되기 전에, 공지된 기술을 사용하여 제2 TCD에 의하여 인코딩될 수 있다. 디코더(47)는 지터가 제거된 매체(45)를 수신하여, 공지된 기술을 사용하여 지터가 제거된 매체(45)를 디코딩하여 디코딩된 접속 매체(49)를 생성한다. 그 다음에, 디코딩된 접속 매체는 로컬 콜 브릿지(local call bridge, 51)에 보내진다.The connection input medium may be encoded by the second TCD using known techniques before being transmitted to the first TCD. The decoder 47 receives the jitter depleted medium 45 and decodes the jitter depleted medium 45 using a known technique to generate a decoded access medium 49. The decoded access medium is then sent to a local call bridge 51.

사용자 매체 입력 인터페이스(59)는 에코 억제기/제거기(61), 톤 생성기(69), 제1 혼합기(74), 제2 혼합기(65) 및 분배기(73)를 포함한다.The user media input interface 59 includes an echo suppressor / canceller 61, a tone generator 69, a first mixer 74, a second mixer 65 and a distributor 73.

에코 억제기/제거기(61)는 마이크로폰 오디오 데이터(55)를 수신하여 에코가 제거된 오디오 데이터(63)를 생성한다. 마이크로폰 오디오 데이터(55)는 마이크로폰을 통하여 TCD 사용자로부터 수신된 오디오 데이터이다. 예를 들어, 마이크로폰 오디오 데이터(55)는 텔레폰 송수화기의 마이크로폰, 스피커 폰의 부분으로서 텔레폰 베이스에 포함된 마이크로폰, 또는 컴퓨터에 입력하는 용도로 사용되는 마이크로폰으로부터 수신될 수 있다.Echo suppressor / rejector 61 receives microphone audio data 55 to produce audio data 63 from which echo is removed. Microphone audio data 55 is audio data received from a TCD user via a microphone. For example, microphone audio data 55 may be received from a microphone of a telephone handset, a microphone included in a telephone base as part of a speaker phone, or a microphone used for input to a computer.

에코 억제기/제거기는 마이크로폰 오디오 데이터(55)에서의 에코 억제를 제어하는 에코 억제 논리를 포함할 수 있다. 예를 들어, TCD가 텔레폰 콜의 오디오 데이터를 재생하기 위한 베이스 스피커를 포함하는 스피커폰 결합체를 포함하는 경우, 에코 억제기/제거기(61)는, 마이크로폰 오디오 데이터(55)가 목소리 데이터를포함하는 때를 감지하여, 이러한 감지의 결과로서 베이스 스피커를 끄는 에코 억제 논리를 포함한다. 따라서, 사용자가 텔레폰 콜 중 사용하는 마이크로폰은, 마이크로폰 오디오 데이터(55)에 포함된 텔레폰 콜의 1 이상의 목소리의 에코를 발생시키는 베이스 스피커로부터의 소리를 수신하지 않는다.The echo suppressor / cancellor may include echo suppression logic that controls echo suppression in the microphone audio data 55. For example, if the TCD includes a speakerphone combination comprising a bass speaker for playing audio data of a telephone call, the echo suppressor / rejector 61 is adapted when the microphone audio data 55 contains voice data. And echo suppression logic to turn off the bass speaker as a result of this sensing. Thus, the microphone that the user uses during the telephone call does not receive sound from the bass speaker that generates an echo of one or more voices of the telephone call contained in the microphone audio data 55.

에코 억제기/제거기(61)는 또한, 에코의 지연되고 더 낮은 강도를 갖는 오디오 신호를 인식하여 이러한 신호를 마이크로폰 오디오 데이터(55)로부터 공제하여 에코가 제거된 오디오 데이터(63)를 생성하는 에코 제거 기술을 채택한 에코 제거 논리를 포함할 수 있다.The echo suppressor / rejector 61 also recognizes an audio signal having a delayed lower intensity of the echo and subtracts this signal from the microphone audio data 55 to produce an echo canceled audio data 63. It may include echo cancellation logic employing the cancellation technique.

톤 생성기(69)는 톤 지시기(57)를 수신하여 지시된 톤(71)을 생성한다. 지시된 톤(71)은 톤 지시기(57)에 의하여 지시된 톤이다. 예를 들어, 톤 지시기(57)는 표준 전화 터치 톤 다이얼링 키패드, 컴퓨터 키보드 또는 마우스로부터 사용자가 입력한 전화 번호의 숫자를 나타낼 수 있다. 이러한 예에 있어, 톤 생성기(69)에 의하여 생성된 지시된 톤(71)은 이중 톤 다중-주파수(Dual Tone Multi-Frequency, DTMF) 표준에 따른 숫자와 관련된 톤일 수 있다.The tone generator 69 receives the tone indicator 57 and generates the indicated tone 71. The indicated tone 71 is the tone indicated by the tone indicator 57. For example, tone indicator 57 may represent a number of telephone numbers entered by a user from a standard telephone touch tone dialing keypad, computer keyboard or mouse. In this example, the indicated tone 71 generated by the tone generator 69 may be a tone associated with a number according to the Dual Tone Multi-Frequency (DTMF) standard.

또한, 톤 지시기(57)는 텔레폰 콜과 관련하여 그 외의 다른 톤을 나타낼 수도 있다. 예를 들어, 사용자가 스위치 후크로부터 송수화기를 들거나 텔레폰 베이스 상의 버튼을 누르는 것에 응답하여, 톤 지시기(57)는 톤 생성기(69)에 의하여 생성되는 다이얼 톤을 나타낼 수 있다. 통화중(busy)인 그 외의 TCD를 가진 텔레폰 콜을 시도하는 것에 응답하여, 톤 지시기(57)는 통화중 신호를 나타낼 수 있으며, 톤 생성기(69)는 지시된 톤(71)으로서 대응하는 통화중 신호를 생성할 수 있다. 또한, 다른 TCD로부터의 콜 설정 메시지에 응답하여, 톤 지시기(57)는 들어오는 텔레폰 콜 지시기, 예를 들어 벨 소리를 나타낼 수도 있다. 텔레폰 콜과 관련한 다른 톤들은 톤 생성기(69)에 의하여 생성될 수 있다.In addition, the tone indicator 57 may represent other tones in connection with a telephone call. For example, in response to a user picking up the handset from the switch hook or pressing a button on the telephone base, the tone indicator 57 may represent the dial tone generated by the tone generator 69. In response to attempting a telephone call with another TCD that is busy, tone indicator 57 may indicate a busy signal, and tone generator 69 corresponds to the indicated tone 71 as the corresponding call. Can generate a heavy signal. In addition, in response to a call setup message from another TCD, tone indicator 57 may indicate an incoming telephone call indicator, for example a ring tone. Other tones associated with the telephone call can be generated by the tone generator 69.

제1 혼합기(74)는 지시된 톤(71) 및 저장된 오디오 데이터(58)를 수신할 수 있다. 저장된 오디오 데이터(58)는 오디오 파일의 일 부분이거나 오디오 저장 매체(60)에 저장된 다른 형태의 오디오 데이터일 수 있다. 예를 들어, 오디오 데이터(58)는 음성 메일 메시지 또는 미리 녹음된 소리의 일 부분인 스트리밍 오디오일 수 있다. 음성 저장 매체(60)는 TCD상의 비휘발성 메모리 또는 TCD가 상주하는 통신 네트워크 상의 그 외의 저장 자원(resource)일 수 있다. 저장된 음성 데이터(58)는 텔레포니 애플리케이션에 따라 제1 혼합기(74)에 보내질 수 있다.The first mixer 74 can receive the indicated tones 71 and the stored audio data 58. The stored audio data 58 may be part of an audio file or other form of audio data stored in the audio storage medium 60. For example, the audio data 58 may be streaming audio that is part of a voice mail message or pre-recorded sound. Voice storage medium 60 may be a nonvolatile memory on the TCD or other storage resource on the communication network in which the TCD resides. The stored voice data 58 may be sent to the first mixer 74 according to the telephony application.

제1 혼합기(74)는 복수의 혼합 파라미터(76) 중 1 이상을 가지도록 구성될 수 있다. 예를 들어, 1 이상의 혼합 파라미터(76)는 지시된 톤(71) 및 저장된 오디오 데이터(58)와 관련한 가중치를 나타낼 수 있다. 이러한 가중치는 지시된 톤(71) 및 저장된 오디오 데이터(58)의 크기에 가중치를 부과하여, 혼합된 오디오(75)를 생성한다. 따라서, 혼합 파라미터(76)는 실질적으로 지시된 톤(71) 또는 저장된 오디오 데이터(58)의 혼합을 불가능하게 하거나, 혼합된 오디오(75)를 생성하는 데에 있어 입력에 더 많은 효과를 줄 수도 있거나, 가중치가 부과되어, 저장된 오디오 데이터(58) 내의 지시된 톤(71)이 균일하게 혼합되게 할 수 있다.The first mixer 74 can be configured to have one or more of the plurality of mixing parameters 76. For example, one or more mixing parameters 76 may represent weights associated with the indicated tone 71 and the stored audio data 58. These weights weight the magnitudes of the indicated tones 71 and the stored audio data 58 to produce the mixed audio 75. Thus, the mixing parameter 76 may substantially disable mixing of the indicated tone 71 or stored audio data 58 or may have more effect on the input in producing the mixed audio 75. Or weighted to cause the indicated tones 71 in the stored audio data 58 to be uniformly mixed.

분배기(73)는 혼합된 오디오(75)를 수신하여 제2 혼합기(65) 및 제3 혼합기(83)에 혼합된 오디오(75)를 보낸다.The distributor 73 receives the mixed audio 75 and sends the mixed audio 75 to the second mixer 65 and the third mixer 83.

제2 혼합기(65)는 혼합된 오디오(75) 및 에코가 제거된 오디오 데이터를 수신하여 2개의 입력을 혼합하여 혼합된 사용자 오디오(67)를 생성한다. 이러한 혼합된 사용자 오디오(67)는 로컬 콜 브릿지(51)에 보내지며, 로컬 콜 브릿지는 텔레폰 콜의 참여자 각각에게 보내지는 매체를 결정한다. 따라서, 제2 혼합기(65)는 복수의 혼합 파라미터(76) 중 1 이상을 갖도록 구성될 수 있는데, 이러한 혼합 파라미터는 혼합된 오디오(75) 및 에코가 제거된 오디오 데이터(63)의 크기에 가중치를 부과하여 혼합된 사용자 오디오(67) 상의 이러한 입력 각각의 효과를 정의한다.The second mixer 65 receives the mixed audio 75 and the audio with the echo canceled out and mixes the two inputs to produce the mixed user audio 67. This mixed user audio 67 is sent to the local call bridge 51, which determines the medium to be sent to each participant of the telephone call. Thus, the second mixer 65 may be configured to have one or more of the plurality of mixing parameters 76, which are weighted to the size of the mixed audio 75 and the echo canceled audio data 63. Define the effect of each of these inputs on the mixed user audio 67 by imposing.

로컬 콜 브릿지(51)는 혼합된 사용자 오디오(67) 및 접속에 대응하는 1 이상의 디코딩된 접속 매체(49)를 수신하고, 1 이상의 접속 혼합된 매체(53) 및 사용자 정의의 혼합된 매체(81)를 생성한다. 로컬 콜 브릿지(51)는, 디코딩된 접속 매체(49) 및 혼합된 사용자 오디오(67) 중의 어느 것을 혼합하여 사용자 정의의 혼합된 매체(81) 및 1 이상의 접속 혼합된 매체(53) 각각을 생성하는지 결정한다. 더욱이, 로컬 콜 브릿지(51)는 그와 같은 혼합을 위하여 로컬 콜 브릿지(51)를 구성하는 브릿지 파라미터(52)를 수신할 수 있다.Local call bridge 51 receives mixed user audio 67 and one or more decoded connection media 49 corresponding to the connection, and one or more connection mixed media 53 and user-defined mixed media 81. ) The local call bridge 51 mixes any of the decoded connection medium 49 and the mixed user audio 67 to produce each of the user-defined mixed medium 81 and the one or more connection mixed medium 53. Determine. Moreover, the local call bridge 51 may receive the bridge parameters 52 that make up the local call bridge 51 for such mixing.

예를 들어, 로컬 콜 브릿지(51)는, 사용자 정의의 혼합된 매체(81)가 혼합된 사용자 오디오(67)의 일부 또는 전부를 포함하지 않도록 구성될 수 있다. 그와 같은 구성은 TCD의 사용자가 자신이 말하는 마이크로폰 오디오 데이터(55)를 듣는 것을 방지한다. 이러한 방지는 사용자가 그 자신의 음성을 들을 필요가 없기 때문에 필요할 뿐만 아니라, 혼합된 오디오 출력(85)의 부분으로서 약간의 지연을 가진 자신의 음성을 듣는 것이 사용자를 혼란하게 하거나, 최소한 혼합된 오디오 출력을이해하기 더 어렵게 만들기 때문에 필요하다.For example, the local call bridge 51 may be configured such that the user defined mixed media 81 does not include some or all of the mixed user audio 67. Such a configuration prevents the user of the TCD from listening to the microphone audio data 55 she speaks. This prevention is not only necessary because the user does not need to hear his own voice, but listening to his voice with some delay as part of the mixed audio output 85 may confuse the user, or at least mixed audio. This is necessary because it makes the output harder to understand.

그와 유사하게, 로컬 콜 브릿지(51)는, 제1 접속에 대응하는 각각의 접속 혼합된 매체(53)가 제1 네트워크 접속에 대응하는 접속 입력 매체(43)의 매체를 포함하는 것을 방지하도록 구성될 수 있다. 예를 들어, 제1 TCD에 대응하는 참여자 U1, 제2 TCD에 대응하는 제2 사용자 U2 및 제3 TCD에 대응하는 제3 사용자 U3을 포함하는 회의 콜을 고려해 본다. 로컬 브릿지(51)는, 제1 사용자에 대응하는 혼합된 사용자 오디오(67) M1과, 제1 사용자 U1 및 제2 사용자 U2에 각각 대응하는 2개의 디코딩된 접속 매체(59) M2, M3을 수신한다. 로컬 브릿지(51)는 매체 M1과 매체 M3을 혼합하여, 제2 사용자 U2에 전송되는 접속 혼합된 매체(53) C1을 생성하도록 구성될 수 있다. 그와 유사하게, 로컬 콜 브릿지(51)는 매체 M1과 M2를 혼합하여, 제3 사용자 U3에 전송하는 접속 혼합된 매체(53) C2를 생성하도록 구성될 수 있다.Similarly, the local call bridge 51 is configured to prevent each connection mixed medium 53 corresponding to the first connection from including the medium of the connection input medium 43 corresponding to the first network connection. Can be configured. For example, consider a conference call comprising a participant U1 corresponding to a first TCD, a second user U2 corresponding to a second TCD, and a third user U3 corresponding to a third TCD. The local bridge 51 receives the mixed user audio 67 M1 corresponding to the first user and two decoded connection mediums 59 M2 and M3 respectively corresponding to the first user U1 and the second user U2. do. The local bridge 51 may be configured to mix the medium M1 and the medium M3 to generate the connection mixed medium 53 C1 transmitted to the second user U2. Similarly, the local call bridge 51 may be configured to mix mediums M1 and M2 to produce a connection mixed medium 53 C2 that transmits to the third user U3.

몇 가지 혼합 구성이 위에 서술되었지만, 로컬 콜 브릿지(51)는, 브릿지 파라미터(52)가 다양한 방법 중 임의의 방법으로 혼합하도록 콜 브릿지(51)를 구성하도록 설계될 수 있다. 예를 들어, 주요 텔레포니 애플리케이션과 관련하여 아래에 서술할 바와 같이, 애플리케이션은 특정한 혼합을 정의할 수 있거나, 사용자는 애플리케이션을 통하여 1 이상의 브릿지 파라미터(52)에 값을 부여할 수도 있다. 이러한 브릿지 파라미터(52)는 혼합된 사용자 오디오(67) 및 1 이상의 디코딩된 네트워크 매체(49)의 특정한 조합이 혼합되고, 사용자 정의의 혼합된 매체(81) 및/또는 1 이상의 접속 혼합된 매체(53)를 생성하는 데에 있어 혼합되는 것을 방지하도록특정한 혼합을 정의할 수 있다.Although several mixing configurations have been described above, the local call bridge 51 may be designed to configure the call bridge 51 such that the bridge parameters 52 mix in any of a variety of ways. For example, as described below in connection with the main telephony application, the application may define a particular mix, or the user may assign a value to one or more bridge parameters 52 through the application. This bridge parameter 52 is a combination of a specific combination of mixed user audio 67 and one or more decoded network media 49, and user defined mixed media 81 and / or one or more connected mixed media ( 53 Specific blends can be defined to prevent them from being mixed in creating.

각 접속 매체 출력 인터페이스(87)는 접속 혼합된 매체(53)를 수신하고 공지의 기술을 사용하여 이러한 매체를 인코딩하여 인코딩된 매체(91)를 생성하는 인코더(89)를 포함할 수 있다. 출력 버퍼(97)는 인코딩된 매체(91)를 수신하고, 예를 들어 전송 프로토콜 데이터(예를 들어, RTP 및 RTCP)를 부가하여 접속 출력 매체(99)를 생성함에 의하여 인코딩된 매체(91)를 구성한다. 접속 출력 매체(99)는 접속 출력 매체(99)에 대응하는 접속에 의하여 접속되는 TCD에 전송된다.Each connection medium output interface 87 may include an encoder 89 that receives a connection mixed medium 53 and encodes such a medium using known techniques to produce an encoded medium 91. The output buffer 97 receives the encoded medium 91 and encodes the encoded medium 91 by, for example, adding connection protocol data (eg, RTP and RTCP) to generate the connection output medium 99. Configure The connection output medium 99 is transmitted to a TCD connected by a connection corresponding to the connection output medium 99.

제3 혼합기(83)는 사용자 정의의 혼합된 매체(81) 및 혼합된 오디오(67)를 수신하고, 이러한 입력을 혼합하여 혼합된 오디오 출력(85)을 생성한다. 혼합된 오디오 출력(85)은 예를 들어, 제1 TCD의 텔레폰 송수화기의 스피커 또는 제1 TCD의 베이스 상의 베이스 스피커와 같은 각종 오디오 출력 디바이스 중 임의의 것에 보내질 수 있다.The third mixer 83 receives user defined mixed media 81 and mixed audio 67 and mixes these inputs to produce a mixed audio output 85. The mixed audio output 85 may be sent to any of a variety of audio output devices such as, for example, a speaker of a telephone handset of the first TCD or a bass speaker on the base of the first TCD.

녹음 버퍼(recording buffer, 93)는 혼합된 오디오 출력(85)을 수신하고, 혼합된 오디오 출력을 예를 들어, 비휘발성 저장 매체 또는 제1 TCD의 외부에 있는 그 외의 저장 자원과 같은 통신 네트워크 상에 위치한 오디오 저장 매체(62)에 저장할 수 있다. 오디오 저장 매체(62) 및 오디오 저장 매체(60)는 동일한 저장 매체일 수도 있거나, 동일 저장 매체의 각 부분일 수도 있다.Recording buffer 93 receives the mixed audio output 85 and records the mixed audio output on a communication network such as, for example, a nonvolatile storage medium or other storage resource external to the first TCD. The data may be stored in an audio storage medium 62 located at. The audio storage medium 62 and the audio storage medium 60 may be the same storage medium or may be parts of the same storage medium.

제3 혼합기(83)는 사용자 정의의 혼합된 매체(81) 및 혼합된 오디오(75)의 크기에 가중치를 부과하여 이러한 각각의 입력이 혼합된 오디오 출력(85)에 미치는 영향을 정의하는 1 이상의 혼합 파라미터(76)를 사용하도록 구성될 수 있다.The third mixer 83 weights the sizes of the user-defined mixed media 81 and the mixed audio 75 to define one or more effects of each of these inputs on the mixed audio output 85. It may be configured to use the mixing parameter 76.

매체 처리 모듈(29)의 처리 소자 각각(41, 42, 44, 47, 51, 59, 61, 65, 69, 73, 74, 82, 83, 89, 93, 및 97을 포함함) 및 그들과 관련된 데이터 소자(40, 43, 45, 49, 52, 53, 55, 57, 58, 63, 67, 71, 75, 76, 81, 85, 91, 및 99를 포함함)는 소프트웨어, 펌웨어, 하드웨어 또는 임의의 그들의 조합을 사용하여 나타내어질 수 있다.Processing elements of the media processing module 29 (including 41, 42, 44, 47, 51, 59, 61, 65, 69, 73, 74, 82, 83, 89, 93, and 97) and Associated data elements (including 40, 43, 45, 49, 52, 53, 55, 57, 58, 63, 67, 71, 75, 76, 81, 85, 91, and 99) include software, firmware, hardware Or any combination thereof.

예시적인 소프트웨어 실시예에 있어, 각각의 처리 소자 및 관련된 데이터 소자는 예를 들어 C++ 또는 자바와 같은 범용의 객체 지향 프로그래밍 언어를 사용하여 나타내어질 수 있다.In an exemplary software embodiment, each processing element and associated data element may be represented using a general purpose object oriented programming language such as C ++ or Java, for example.

도4는 매체 처리 모듈(29)의 예시적인 소프트웨어 실시예에 관하여, 도2의 콜 처리 모듈(31)의 예시적인 실시예를 도시하는 블록도이다. 이러한 매체 처리 모듈(29)의 예시적인 소프트웨어 실시예에 있어, 매체 처리 구성 요소(30)는 C++ 또는 자바와 같은 객체 지향 프로그래밍 언어를 사용하여 나타내어질 수 있다.4 is a block diagram illustrating an exemplary embodiment of the call processing module 31 of FIG. 2 with respect to an exemplary software embodiment of the media processing module 29. As shown in FIG. In an exemplary software embodiment of such media processing module 29, media processing component 30 may be represented using an object oriented programming language such as C ++ or Java.

매체 처리 모듈(29)은 복수의 매체 처리 제어기(115) 및 복수의 매체 처리 구성 요소(30)를 포함할 수 있는데, 여기서 각 제어기(115) 및 구성 요소(30)는 특정한 텔레폰 콜에 대응된다.The media processing module 29 may include a plurality of media processing controllers 115 and a plurality of media processing components 30, where each controller 115 and component 30 correspond to a particular telephone call. .

매체 처리 구성 요소(30)는 복수의 매체 처리 추상화(media processing abstraction, 117)를 포함하는데, 여기서 각각의 매체 처리 추상화(117)는 도3의 처리 소자 및 처리 소자에 관련된 입력 및 출력 데이터 소자를 나타낸다. 각 매체 처리 추상화(117)는 주 매체 처리 추상화로부터 인계받은 상이한 형태일 수도 있다.The media processing component 30 includes a plurality of media processing abstractions 117, where each media processing abstraction 117 includes input and output data elements associated with the processing elements and processing elements of FIG. 3. Indicates. Each media processing abstraction 117 may be of a different form, taking over from the main media processing abstraction.

각 매체 처리 추상(117)은 그 스스로가 속하는 매체 처리 구성 요소(30)를 식별하는 속성(attribute)을 포함할 수 있고, 매체 처리 추상화(117) 상에 실행할 수 있는 복수의 방법을 포함할 수 있다. 1 이상의 매체 처리 추상화(117)에 관하여 정의된 방법은 다음과 같은 것을 하는 방법을 포함할 수 있다 : 매체 처리 추상화(117)를 작동 가능한 상태로 하거나 작동 불가능한 상태로 하는 것, 수신된 매체의 청크의 매체 처리 추상화에 의한 처리를 초기화하는 것, 매체 처리 추상화(117)의 1 이상의 상태를 결정하는 것, 매체 처리 추상화(117)가 속하는 매체 처리 구성 요소(30)를 결정하는 것, 매체 처리 추상화의 데이터 입력 및 출력에 관한 정보를 결정하는 것, 매체 처리 추상화(117)에 대한 입력 및 출력의 최소 및 최대 개수를 결정하는 것, 매체 처리 추상화에 대하여 정의된 입력 및 출력의 현재 개수를 결정하는 것, 입력 또는 출력이 현재 매체 처리 추상화(117)에 대하여 접속되어 있는지 여부를 결정하는 것 등등.Each media processing abstraction 117 may include an attribute that identifies the media processing component 30 to which it belongs, and may include a plurality of methods executable on the media processing abstraction 117. have. Methods defined with respect to one or more media processing abstractions 117 may include a method of doing the following: making the media processing abstraction 117 operational or inoperable, chunks of the received media. Initializing processing by the media processing abstraction of the media, determining one or more states of the media processing abstraction 117, determining the media processing component 30 to which the media processing abstraction 117 belongs, media processing abstraction Determining information regarding the data input and output of the processor, determining the minimum and maximum number of inputs and outputs for the media processing abstraction 117, and determining the current number of inputs and outputs defined for the media processing abstraction. Determining whether something, input or output is currently connected with respect to the media processing abstraction 117.

1.4.2.1.2 매체 처리 제어기1.4.2.1.2 Media Processing Controller

매체 처리 제어기(115)는 매체 처리 구성 요소(30)의 생성, 동작 및 소멸을 제어한다. 보다 구체적으로, 매체 처리 제어기(115)는 매체 처리 추상화(117)를 생성하고, 매체 처리 추상화(117) 사이의 관계를 정의하며, 매체 처리 추상화(117)를 동작시키고, 매체 처리 추상화(117)를 소멸시키는 것을 제어한다.Media processing controller 115 controls the creation, operation, and destruction of media processing component 30. More specifically, media processing controller 115 generates media processing abstraction 117, defines the relationship between media processing abstraction 117, operates media processing abstraction 117, and media processing abstraction 117. Controls extinction

예를 들어, 매체 처리 제어기(115)는 매체 처리 추상화(117)를 생성 및 소멸시키는 방법을 포함한다. 또한, 매체 처리 제어기(115)는 2개의 매체 처리 추상화를 연결시켜 제1 매체 처리 추상화의 출력이 제2 매체 처리 추상화의 입력이 되도록 정의하는 방법을 포함할 수 있다. 또한, 매체 처리 제어기(114)는 그와 같은 연결을 소멸시켜, 2개의 매체 처리 추상화 사이의 관련을 소멸하는 방법을 포함할 수 있다. 추상화 및 연결의 부가와 소멸은 각각, 텔레폰 콜을 설정하고 텔레폰 콜을 해제하는 부분으로서 매체 처리 구성 요소(30)를 구축하고 제거하는 것으로 생각할 수 있다.For example, media processing controller 115 includes a method of generating and destroying media processing abstraction 117. In addition, the media processing controller 115 may include a method of connecting two media processing abstractions to define an output of the first media processing abstraction to be an input of a second media processing abstraction. In addition, media processing controller 114 may include a method of destroying such a connection, thereby destroying the association between the two media processing abstractions. Addition and destruction of abstraction and connection can be thought of as constructing and removing the media processing component 30 as part of establishing a telephone call and releasing the telephone call, respectively.

애플리케이션 층(3)의 텔레포니 애플리케이션 및 다른 고레벨 추상화는 매체 처리 제어기(115)를 사용하여 매체 처리 구성 요소(30)를 동적으로 생성하고 매체 처리 소자를 텔레폰 콜 동안 연결시킨다. 또한, 텔레포니 애플리케이션은, 텔레포니 애플리케이션이 제공하는 특정한 특색에 대한 매체 처리 추상화를 생성하는 유일한 방식으로 매체 처리 소자를 구성하도록 정의될 수 있다.Telephony applications and other high-level abstractions of application layer 3 use media processing controller 115 to dynamically generate media processing components 30 and connect media processing elements during telephony calls. In addition, a telephony application can be defined to configure the media processing element in a unique manner that creates a media processing abstraction for a particular feature provided by the telephony application.

매체 처리 제어기(115)는 매체 처리 구성 요소(30)를 작동 가능한 상태로 하거나 작동 불가능한 상태로 하기 위한 방법을 포함한다. 현재 다중 텔레폰 콜을 나타내는 다중 매체 처리 구성 요소(30)가 존재하면, 매체 처리 구성 요소가 나타내는 텔레폰 콜이 활성화 상태가 아니어서(예를 들어 대기 상태인 경우) 매체 처리 자원이 보존되는 때에는, 특정한 매체 처리 구성 요소(30)를 작동 불가능한 상태로 할 필요가 있다. 역으로, 텔레폰 콜이 활성화되면, 작동 가능한 상태로 하기 위한 방법이 사용되어 대응하는 처리 구성 요소(30)를 작동 가능한 상태로 할 수 있다.The media processing controller 115 includes a method for putting the media processing component 30 in an operable state or in an inoperative state. If there is a multi-media processing component 30 representing the current multi-telephone call, when the media processing resource is conserved because the telephone call represented by the media processing component is not active (for example, in a standby state), It is necessary to make the media processing component 30 inoperable. Conversely, once the telephone call is activated, a method for bringing into operation can be used to bring the corresponding processing component 30 into an operable state.

매체 처리 제어기(115)는 매체 제어 구성 요소(30)가 매체를 처리할 준비가 되는 때를 표시하는 방법 및 매체 처리 구성 요소(30)가 더 이상 필요하지 않아 소멸될 수 있음을 표시하는 방법을 포함할 수 있다.The media processing controller 115 indicates how to indicate when the media control component 30 is ready to process the media and how to indicate that the media processing component 30 is no longer needed and can be destroyed. It may include.

매체 처리 제어기(115)는 매체 처리 구성 요소(30)에 의하여 다음 순서의 데이터 청크의 처리를 초기화하고, 매체 처리 추상화(117)를 위치시키고, 매체 처리 구성 요소(30)의 매체 처리 추상화(117)의 개수를 결정하며, 매체 처리 구성 요소(30) 및 연결의 개수를 결정하는 수단을 포함할 수 있다.The media processing controller 115 initiates the processing of the next chunk of data by the media processing component 30, locates the media processing abstraction 117, and media processing abstraction 117 of the media processing component 30. Means for determining the number of media processing components 30 and connections.

도 3과 관련하여 전술한 바와 같이, 매체 처리 구성 요소(30)는 1 이상의 접속을 나타내는 것을 포함할 수 있다. 따라서, 매체 처리 제어기(115)는 매체 처리 구성 요소(30)에 의하여 표현되는 각 접속에 대응하는 속성을 포함할 수 있다. 또한, 매체 처리 구성 요소(30)는 접속에 대한 포인터(pointer)를 검색하기 위한 방법을 포함할 수 있다.As discussed above in connection with FIG. 3, the media processing component 30 may include representing one or more connections. Thus, media processing controller 115 may include attributes corresponding to each connection represented by media processing component 30. Media processing component 30 may also include a method for retrieving a pointer to a connection.

도 3의 접속 매체 입력 인터페이스(41) 및 접속 매체 출력 인터페이스(87)와 관련하여 전술한 바와 같이, 매체는 1 이상의 매체 전송 프로토콜에 합치되는 데이터 패킷의 형태로 수신되거나 전송될 수 있다. 따라서, 매체 처리 모듈(29)은, 매체 전송 프로토콜 중 하나의 세션, 예를 들어 RTP 세션을 나타내기 위한 추상화를 포함할 수 있고, 매체 처리 제어기(115)는 그와 같은 속성을 지시하는 속성을 포함할 수 있다. 또한, 텔레폰 콜의 접속을 나타내는 각 매체 처리 추상화(117)에 대하여, 예를 들어 RTCP와 같은 매체 전송 프로토콜은 접속에 관련된 통계적 정보를 유지할 수 있다. 1 이상의 접속에 대한 통계적 정보는 각 접속 상의 매체 전송을 모니터링하기 위하여 추상화에 의하여 집합되고 표현될 수 있다. 예를 들어, 이러한 추상화는 RTCP 세션일 수 있다. 매체 처리 제어기(115)는 이러한 RTCP 세션을 지시하는 속성을 포함할 수 있고, RTCP 세션에 대한 포인터를 검색하기 위한 방법을 포함할 수 있다.As described above in connection with the access medium input interface 41 and the access medium output interface 87 of FIG. 3, the medium may be received or transmitted in the form of a data packet conforming to one or more medium transport protocols. Thus, the media processing module 29 may include an abstraction for representing one session of the media transport protocol, for example an RTP session, and the media processing controller 115 may have an attribute indicating such an attribute. It may include. In addition, for each media processing abstraction 117 that represents a connection of a telephone call, a media transport protocol, such as, for example, RTCP, may maintain statistical information related to the connection. Statistical information for one or more connections may be aggregated and represented by abstractions to monitor media transmissions on each connection. For example, this abstraction may be an RTCP session. The media processing controller 115 may include an attribute indicating this RTCP session and may include a method for retrieving a pointer to the RTCP session.

제1 TCD와 그 외의 TCD 사이에 콜을 설정하기 위하여, 매체 처리 제어기(115)는 각 TCD에 의하여 지원되는 1 이상의 오디오 처리 인코딩 알고리즘을 결정하는 방법을 포함할 수 있다. 이러한 결정의 결과로서, 매체 처리 제어기(115)는 각각 매체 처리 구성 요소(30)의 디코더(47) 및 인코더(89)에 의하여 사용되는 디코딩 및 인코딩 알고리즘을 제어할 수 있다.To establish a call between the first TCD and the other TCDs, the media processing controller 115 may include a method of determining one or more audio processing encoding algorithms supported by each TCD. As a result of this determination, media processing controller 115 may control the decoding and encoding algorithms used by decoder 47 and encoder 89 of media processing component 30, respectively.

또한, 매체 처리 제어기(115)는, 예를 들어 접속 매체 입력 인터페이스(41) 및 접속 매체 출력 인터페이스(87)와 같은 접속 매체 처리 추상화(117)를 생성하는 방법을 포함할 수 있다.In addition, the media processing controller 115 may include a method of generating a connection media processing abstraction 117, such as, for example, a connection medium input interface 41 and a connection medium output interface 87.

또한, 매체 처리 제어기(115)는 매체 처리 구성 요소(29)로의 매체 입력을 개시하고 중지하는 것을 제어하기 위한 방법을 포함할 수 있다. 예를 들어, 매체 처리 모듈(29)은 아래의 동작 중 1 이상을 수행하기 위한 방법을 포함할 수 있다 : 지시된 톤(71)의 생성을 개시 또는 중지하기 위하여 톤 생성기(69)를 제어하는 것; 접속 매체(43)의 생성을 개시 및 중지하기 위하여 특히 입력 버퍼(42)에서 접속 입력 매체 인터페이스(41)를 제어하는 것; 마이크로폰 오디오 데이터(55)의 수신을 개시 및 중지하기 위하여 에코 억제기/제거기를 제어하는 것; 혼합된 오디오(75)를 생성하기 위한 저장된 오디오 데이터(58)의 수신을 개시 또는 중지하기 위하여 제1 혼합기(74)를 제어하는 것.Media processing controller 115 may also include a method for controlling initiating and stopping media input to media processing component 29. For example, the media processing module 29 may include a method for performing one or more of the following operations: controlling the tone generator 69 to start or stop generation of the indicated tone 71. that; Controlling the connection input medium interface 41 in the input buffer 42 in particular to start and stop creation of the connection medium 43; Controlling the echo suppressor / canceller to start and stop reception of microphone audio data 55; Controlling the first mixer 74 to start or stop the reception of the stored audio data 58 to produce the mixed audio 75.

또한, 매체 처리 제어기(115)는 매체 처리 구성 요소(30)로부터의 매체 출력을 제어하는 방법을 포함할 수 있다. 예를 들어, 매체 처리 구성 요소는 다음과같은 동작을 수행하기 위한 방법을 포함할 수 있다 : 혼합된 오디오 출력(85)을 오디오 출력 하드웨어에 전송하는 것을 개시 및 중지하기 위하여 그리고, 혼합된 오디오 출력(85)을 오디오 저장 매체(62)에 저장하는 것을 개시 및 중지하기 위하여 사용자 매체 출력 인터페이스를 제거하는 것; 접속 출력 매체(99)를 통신 네트워크에 출력하는 것을 개시 및 중지하기 위하여 특히 출력 버퍼(97)에서 접속 매체 출력 인터페이스(87)를 제어하는 것.Media processing controller 115 may also include a method of controlling media output from media processing component 30. For example, the media processing component may include a method for performing the following operations: to start and stop sending the mixed audio output 85 to the audio output hardware, and the mixed audio output. Removing the user media output interface to start and stop storing 85 on audio storage medium 62; Controlling the connection medium output interface 87 in particular in the output buffer 97 to start and stop outputting the connection output medium 99 to the communication network.

제1 TCD는 현재 다중 텔레폰 콜에 포함될 수 있지만, 제1 TCD의 사용자는 한번에 하나의 텔레폰 콜에 능동적으로 참여할 수 있을 뿐이다. 예를 들어, 사용자는 2개의 텔레폰 콜을 대기 상태로 만들 수 있으며, 제3 텔레폰 콜에 능동적으로 참여할 수 있다. 사용자는 한번에 하나의 텔레폰 콜에 참여할 수 있으므로, 임의의 주어진 시간에 있어서, 단지 1개의 매체 처리 구성 요소(30)가 제1 텔레폰 통신 디바이스의 1 이상의 마이크로폰 및 1 이상의 스피커를 이용할 필요가 있다. 따라서, 매체 처리 제어기(115)는 마이크로폰 및 스피커를 매체 처리 구성 요소(30)에 할당하거나 할당 해제하는 방법을 포함할 수 있다.The first TCD can now be included in multiple telephone calls, but the user of the first TCD can only actively participate in one telephone call at a time. For example, a user may put two telephone calls on hold and actively participate in a third telephone call. Since a user can participate in one telephone call at a time, at any given time, only one media processing component 30 needs to use one or more microphones and one or more speakers of the first telephone communication device. Accordingly, media processing controller 115 may include a method of assigning or deallocating microphones and speakers to media processing component 30.

매체 처리 제어기(115) 및 매체 처리 구성 요소(30)와 관련하여 기술된 모든 동작은 애플리케이션 층(3)의 텔레포니 애플리케이션과 같은 보다 높은 층의 추상화에 의하여 정의되는 동작에 응답하여 실행될 수 있다. 특히, 이러한 텔레포니 애플리케이션은 1 이상의 텔레폰 콜과 관련된 콜 처리를 제어하기 위하여 콜 처리 모듈(31)과 통신하며, 콜 처리 모듈(31)은 매체 처리 모듈(29)을 제어하여 1 이상의 텔레폰 콜에 따라 매체를 처리한다.All operations described with respect to media processing controller 115 and media processing component 30 may be performed in response to operations defined by higher layer abstractions, such as telephony applications in application layer 3. In particular, such a telephony application communicates with the call processing module 31 to control call processing associated with one or more telephone calls, and the call processing module 31 controls the media processing module 29 in accordance with one or more telephone calls. Process the media.

예를 들어 콜 처리 모듈(31) 및 매체 처리(29)를 갖도록, 매체 처리 및 콜 처리를 독립적으로 보여주는 것은 콜 처리 모듈(31)을 설계하는 데에 있어 유연성을 제공한다. 예를 들어, 매체 처리 모듈은 DSP의 부분 또는 1 이상의 소프트웨어 추상화로서 구현될 수 있다. 결과적으로, 콜 처리 모듈(31)의 추상화는 2 이상의 매체 처리 모듈(29)을 구현하는 데에 있어 일반적이 됨으로써, 매체 처리 모듈(29)의 특별한 구현에 콜 처리 모듈(31)을 채택하기 위한 프로그래밍이 덜 필요하도록 구성될 수 있다.Independently showing the media processing and the call processing, for example to have the call processing module 31 and the media processing 29, provides flexibility in designing the call processing module 31. For example, the media processing module may be implemented as part of a DSP or as one or more software abstractions. As a result, the abstraction of the call processing module 31 becomes common in implementing two or more media processing modules 29, thereby adopting the call processing module 31 in a particular implementation of the media processing module 29. It can be configured to require less programming.

1.4.2.2 콜 처리 모듈1.4.2.2 Call Handling Module

도 4는 도 2의 콜 처리 모듈(31)을 더 자세히 도시한다. 콜 처리 모듈(31)은 1 이상의 텔레폰 콜의 상태 변화를 모델링할 수 있다. 따라서, 제1 TCD 상에서 수행되는 애플리케이션, 예를 들어 애플리케이션 층(3)에서 정의된 애플리케이션은 콜 처리 모듈(31)의 추상화를 질문하여 텔레폰 콜 상태 및 그 접속 상태를 결정할 수 있다. 또한, 애플리케이션은 텔레폰 콜의 접속 상태를 포함하여 텔레폰 콜의 상태가 변화하는지 또는 그 외의 텔레폰 이벤트가 발생하는지가 자동으로 통지되도록 등록될 수 있다.4 illustrates the call processing module 31 of FIG. 2 in more detail. The call processing module 31 may model a state change of one or more telephone calls. Thus, an application running on the first TCD, for example an application defined in the application layer 3, may query the abstraction of the call processing module 31 to determine the telephone call state and its connection state. In addition, the application may be registered to automatically notify whether the state of the telephone call changes or other telephone events occur, including the connection state of the telephone call.

콜 처리 모듈(31)은 다음의 추상화를 포함할 수 있다 : 콜 관리자(105), 1 이상의 콜(109), 1 이상의 콜 처리 매체 인터페이스(113), 1 이상의 콜 제어 네트워크 입력 인터페이스(101) 및 1 이상의 콜 제어 네트워크 출력 인터페이스(103).The call processing module 31 may include the following abstractions: call manager 105, one or more calls 109, one or more call processing media interfaces 113, one or more call control network input interfaces 101, and One or more call control network output interfaces (103).

콜 처리 모듈(31)에 의하여 수행되는 처리에는 1 이상의 콜 제어 프로토콜(예를 들어, 시그널링 프로토콜)에 따라 1 이상의 콜을 제어하는 것 및 각 콜에 관련된 매체 처리와 콜에 포함된 1 이상의 접속을 제어하는 것을 포함할 수 있다.The processing performed by the call processing module 31 includes controlling one or more calls according to one or more call control protocols (e.g., signaling protocols), media processing associated with each call, and one or more connections included in the call. May include controlling.

1.4.2.2.1 콜 관리자1.4.2.2.1 Call Manager

콜 관리자(105)는 콜 처리 모듈(31)의 핵심으로 볼 수 있으며, 콜 처리 모듈과 보다 높은 층의 추상화 사이의 인터페이스로서 작용한다. 콜 관리자(105)는 제1 TCD가 현재 참여하고 있는 텔레폰 콜을 나타내는 1 이상의 콜(109)을 제어한다. 콜 매니저(105)는 적합한 콜(109)에 텔레폰 이벤트를 전달한다. 이와 같은 이벤트는 콜 제어 이벤트, 예를 들어 콜 제어 메시지를 포함하고, 애플리케이션 레벨 이벤트, 예를 들어 새로운 콜(109)또는 접속을 생성하거나 접속 또는 콜을 종결시키는 것을 나타내는 이벤트를 포함할 수 있다. 예를 들어, 텔레폰 콜동안, 또는 텔레폰 콜을 설정하거나 해제하는 동안, 보다 높은 레벨의 텔레포니 애플리케이션이 콜 관리자(105)에 의하여 정의되는 방법들을 실행하는데, 이러한 콜 관리자는 이어서 적합한 콜(109)의 대응하는 방법을 실행할 수 있다.The call manager 105 can be seen as the heart of the call processing module 31 and acts as an interface between the call processing module and the higher layer abstraction. The call manager 105 controls one or more calls 109 indicating the telephone call to which the first TCD is currently participating. Call manager 105 delivers the telephone event to the appropriate call 109. Such an event may include a call control event, eg, a call control message, and may include an application level event, eg, an event indicating creating a new call 109 or connection or terminating a connection or call. For example, during a telephone call, or while setting up or releasing a telephone call, a higher level telephony application executes the methods defined by the call manager 105, which then calls the appropriate call 109. The corresponding method can be executed.

각 콜(109)은 몇 가지 방법을 포함할 수 있는데, 방법의 다수는 콜 매니저(109)의 방법에 대응하고, 텔레폰 콜의 수행에 따라 수행된다. 콜(109)은 상대적으로 한 순간(예를 들어, 텔레폰 콜동안)에는 유효하고 다음 순간(예를 들어, 텔레폰을 끊은 후)에는 유효하지 않게 되므로, 보다 높은 레벨의 애플리케이션이 콜 관리자(105)와 통신한다. 따라서, 콜 관리자(105)는 제1 TCD가 현재 임의의 텔레폰 콜에 참여하고 있는지에 상관없이 유용한 덜 순간적인(즉, 더 지속적인) 추상화를 제공한다.Each call 109 may include several methods, many of which correspond to the methods of call manager 109 and are performed in accordance with the performance of the telephone call. The call 109 is valid at one moment (e.g., during a telephone call) and invalid at the next moment (e.g. after hanging up), so that higher level applications can Communicate with Thus, call manager 105 provides a useful less instantaneous (ie, more persistent) abstraction whether or not the first TCD is currently participating in any telephone call.

콜 관리자(105) 및 관리자가 관리하는 각각의 콜(109)은 몇 가지 유사한 방법을 포함하므로, 예시적인 목적으로, 몇몇 방법들이 콜 매니저(105) 또는 콜(109)과 관련하여 아래에 기술되지만, 그와 같은 방법들은 추상화가 어떻게 구성되느냐에 따라 두 형태의 추상화에 모두 적용될 수 있음을 이해해야 한다.Since the call manager 105 and each call 109 managed by the manager includes several similar methods, for purposes of illustration, some methods are described below in connection with the call manager 105 or call 109. However, it should be understood that such methods can be applied to both types of abstraction, depending on how the abstraction is constructed.

콜 관리자(105)는 텔레폰 콜의 설정, 유지, 해제 및 매체 처리를 제어하기 위한 몇 가지 동작을 포함한다.Call manager 105 includes several operations for controlling the setup, maintenance, release, and media processing of telephone calls.

콜 관리자(105)는 콜 처리 모듈(31)이 현재 나타내는 모든 콜(109)의 목록을 유지하는 속성을 포함할 수 있으며, 콜을 생성하고 콜을 끊기 위한 방법을 포함할 수 있다. 예를 들어, 콜 관리자는 번호를 다이얼링하거나 URL을 기입하는 사용자에 응답하거나 또는 송수화기를 들거나 버튼을 눌러 콜에 대답하는 사용자에 응답하여 콜을 생성할 수 있다.The call manager 105 may include an attribute that maintains a list of all calls 109 that the call processing module 31 currently represents, and may include a method for creating a call and dropping the call. For example, the call manager may create a call in response to a user dialing a number or entering a URL, or in response to a user answering the call by picking up the handset or pressing a button.

콜 관리자(105)는 송수화기를 드는 제1 TCD의 사용자에 응답하거나 또는 디바이스의 사용자가 텔레폰 콜을 종결하였음을 나타내는 그 외의 TCD로부터 수신된 신호에 응답하여 콜을 끊는다.The call manager 105 hangs up in response to the user of the first TCD lifting the handset or in response to a signal received from another TCD indicating that the user of the device has terminated the telephone call.

콜 관리자(105)는 현재 콜 처리 모듈(31)이 나타내는 콜(109)의 개수를 결정하기 위한 방법 및 이러한 콜(109) 각각의 콜 상태를 결정하기 위한 방법을 포함할 수 있다. 콜 관리자(105) 및 콜(109)은, 자바 텔레포니 애플리케이션 프로그래밍 인터페이스(JTAPI)가 텔레폰 콜을 모델링하는 방법과 유사하게 텔레폰 콜을 모델링하는 상태를 정의한다. 따라서, 텔레폰 콜에 대하여 정의된 상태들은 다음을 포함할 수 있다 : 예를 들어 휴지(idle), 활성화 또는 무효 등과 같은 콜 상태; 제1 TCD의 상태를 나타내는 단말 상태; 제1 TCD의 어드레스(즉, 텔레폰 번호 또는 URL)를 나타내는 어드레스 상태; 제1 TCD의 어드레스를 텔레폰 콜에 연관시키는 콜 접속 상태; 및 제1 TCD를 접속과 연관시키는 단말 접속 상태.The call manager 105 may include a method for determining the number of calls 109 represented by the current call processing module 31 and a method for determining the call status of each of these calls 109. Call manager 105 and call 109 define a state for modeling a telephone call, similar to how Java Telephony Application Programming Interface (JTAPI) models telephone calls. Thus, states defined for a telephone call may include: call states such as, for example, idle, activated or invalid; A terminal state indicating a state of a first TCD; An address state indicating an address (ie, a telephone number or a URL) of the first TCD; A call connection state that associates an address of a first TCD with a telephone call; And a terminal connection state associating the first TCD with the connection.

1 이상의 TCD가 동일한 어드레스에 연관될 수 있으므로, 단말 접속은 특정한 단말 접속의 상태를 정의할 필요가 있을 수 있다. 예를 들어, 집은 동일한 텔레폰 번호를 갖는 복수의 텔레폰을 가질 수 있다.Since more than one TCD may be associated with the same address, the terminal connection may need to define the state of a particular terminal connection. For example, a home may have multiple telephones with the same telephone number.

콜 관리자(105)는, 텔레폰 콜에 접속을 부가하는 방법, 텔레폰 콜을 끊는 방법, 및 텔레폰 콜을 다른 TCD으로 옮기는 방법을 포함하는 방법으로서 텔레폰 콜과 공통적으로 연관되어 있는 다양한 방법을 포함할 수 있다. 그 외의 방법들이, 다른 TCD로부터 콜 설정 메시지의 수신에 응답하여 다른 TCD와의 접속을 허용하는 동작을 정의할 수 있다. 콜을 허용하는 것은 텔레폰이 울리도록 제어하는 매체 처리 인터페이스(113) 상에서 동작을 실행하는 것을 포함할 수 있다. 게다가, 다른 방법들은, 콜 설정 메시지의 수신에 응답하여, 매체 처리 제어기(115)가 통화중 신호를 생성하여 호출하는 TCD에게 보내도록 제어하는 방법을 실행하는 것을 포함하여 접속을 거절하거나, 또는 호출하는 TCD를 그 외의 TCD로 방향 전환하는 동작을 정의할 수도 있다.The call manager 105 may include a variety of methods commonly associated with a telephone call as a method including adding a connection to a telephone call, ending a telephone call, and moving a telephone call to another TCD. have. Other methods may define an operation that allows connection with another TCD in response to receiving a call establishment message from another TCD. Allowing the call may include executing an operation on the media processing interface 113 that controls the telephone to ring. In addition, other methods may include, in response to receiving the call setup message, reject the connection, or invoke the method, including controlling the media processing controller 115 to generate and send a busy signal to the calling TCD. The operation of redirecting a TCD to another TCD may be defined.

또한, 콜 관리자(105)는, 예를 들어 제1 TCD의 사용자로부터의 입력에 응답하거나 다른 TCD의 사용자가 전화를 끊었다는 것을 나타내는 신호를 수신하는 것에 응답하여, 텔레폰 콜의 접속을 끊기 위한 방법을 포함할 수도 있다.In addition, the call manager 105 may, for example, respond to an input from the user of the first TCD or in response to receiving a signal indicating that the user of another TCD has hung up the method. It may also include.

또한, 콜 관리자(105)는 콜(109)의 부분으로서 호출된 어드레스를 결정하는 방법 및 콜(109)의 부분으로서 제1 TCD를 호출한 TCD의 어드레스를 결정하는 방법을 포함할 수 있다.The call manager 105 may also include a method of determining the address called as part of the call 109 and a method of determining the address of the TCD calling the first TCD as part of the call 109.

또한, 콜 관리자(105)는, 예를 들어 콜 제어 설정 메시지에 대한 응답을 보내거나, 통화를 하자는 초대를 TCD가 받았다는 통지를 다른 TCD에게 보냄으로써 제1 TCD 및 제2 TCD 사이의 접속의 설정을 완료하는 방법을 포함할 수도 있다. 그와 같은 방법은 아래에 더 자세히 서술될 콜 제어 전송 제어기(107)와 통신할 수도 있다.In addition, the call manager 105 may establish a connection between the first TCD and the second TCD, for example, by sending a response to a call control setup message or by notifying the other TCD that the TCD has received an invitation to make a call. It may also include a method of completing. Such a method may be in communication with a call control transfer controller 107, which will be described in more detail below.

1.4.2.2.2 매체 처리 인터페이스1.4.2.2.2 Media Handling Interface

각 콜(109)에 대하여, 매체 처리 인터페이스(113)는 콜(109)과 매체 처리 제어기(115) 및 콜(190)에 대응하는 매체 처리 구성 요소(30) 사이의 인터페이스를 제공한다. 매체 인터페이스(113)를 통하여, 콜(109)은 다른 콜(109)의 매체 처리와는 독립적으로 그 자신의 매체 처리를 제어할 수 있다.For each call 109, the media processing interface 113 provides an interface between the call 109 and the media processing component 30 corresponding to the media processing controller 115 and the call 190. Through the media interface 113, the call 109 can control its own media processing independently of the media processing of other calls 109.

매체 처리 인터페이스(113)는 매체 처리 제어기(115)의 방법에 대응하는 몇 가지 방법을 포함할 수 있다. 또한, 매체 처리 인터페이스(113)는 특정 텔레폰 이벤트에 따라 매체를 처리하도록 매체 처리 모듈(29)을 제어하는 방법을 포함할 수 있다. 도 4와 관련하여 위에서 서술한 바와 같이, 매체 처리 제어기(115)는 지시된 톤(71)의 생성을 개시 및 중지하도록 톤 생성기(69)를 제어하는 동작을 포함할 수 있다. 매체 처리 인터페이스(113)는 텔레폰 이벤트에 대응하여 특정 톤을 생성하는 것을 제어하도록 매체 처리 제어기(115)를 제어하는 동작을 포함할 수 있다. 예를 들어, 매체 처리 인터페이스(113)는 DTMF 톤, 다이얼 톤, 다른 TCD가 통화중을 표시하는 톤(예를 들어, 통화중 신호), 및 텔레폰 콜이 들어옴을 표시하는 톤(예를 들어, 벨 소리) 등과 같은 특정 톤을 재생하는 것을 개시 및 중지하기 위한 동작을 포함할 수 있다.The media processing interface 113 may include several methods corresponding to the methods of the media processing controller 115. In addition, the media processing interface 113 may include a method of controlling the media processing module 29 to process the media according to a specific telephone event. As described above with respect to FIG. 4, the media processing controller 115 may include controlling the tone generator 69 to start and stop the generation of the indicated tone 71. The media processing interface 113 may include controlling the media processing controller 115 to control generating a specific tone in response to a telephone event. For example, the media processing interface 113 may include DTMF tones, dial tones, tones that indicate that another TCD is busy (eg, busy signal), and tones that indicate that a telephone call is coming (eg, And to start playing a particular tone, such as a ring tone).

매체 처리 인터페이스(113)는 다음의 예에서 기술되는 바와 같이 동작할 수 있다. 콜 관리자(105)는 사용자가 텔레폰 키패드 상의 키를 눌렀음의 표시를, 예를 들어 폰 셋 관리 모듈(25)로부터 수신할 수 있다. 콜 관리자(105)는 눌려진 키와 관련된 콜(109)을 결정하고, 키와 연관된 DTMF 톤을 재현하는 방법을 콜(109) 상에서 실행한다. 결과적으로, 콜(109)은 DTMF 톤의 재생을 개시하기 위하여 매체 처리 인터페이스(113) 상에서 적절한 방법을 실행하고, 이러한 방법은 DTMF톤을 표시하는 톤 지시기(57)를 수신하여 지시된 톤(71)으로서 DTMF톤을 발생시키도록 톤 생성기(69)를 제어하기 위하여, 매체 처리 제어기(115)의 적합한 방법을 실행시킨다.The media processing interface 113 can operate as described in the following example. Call manager 105 may receive, for example, from phone set management module 25 that the user has pressed a key on the telephone keypad. The call manager 105 determines the call 109 associated with the pressed key and executes on the call 109 a method of reproducing the DTMF tone associated with the key. As a result, the call 109 executes an appropriate method on the media processing interface 113 to initiate playback of the DTMF tones, which receive the indicated tone 71 by receiving the tone indicator 57 indicating the DTMF tones. In order to control the tone generator 69 to generate DTMF tones, a suitable method of the media processing controller 115 is executed.

또한, 매체 처리 인터페이스(113)는 매체 처리 모듈(29)에게 질문하는 1 이상의 방법을 포함할 수 있다. 예를 들어, 매체 처리 인터페이스(113)는 매체 처리 모듈이 접속 입력 매체(40)를 수신하고 있고 접속 출력 매체(99)를 전송하고 있음을 결정하기 위한 방법을 포함할 수 있다.In addition, the media processing interface 113 may include one or more methods of asking the media processing module 29. For example, the media processing interface 113 may include a method for determining that the media processing module is receiving the connection input medium 40 and transmitting the connection output medium 99.

또한, 매체 처리 인터페이스(113)는 후크 스위치와 같은 낮은 레벨 디바이스의 상태에 관하여 폰 셋 관리 모듈(25)에게 질문하기 위한 방법을 포함할 수 있다. 예를 들어, 매체 처리 인터페이스(113)는 송수화기가 후크에서 떨어진 상태인지를 결정하기 위하여 폰 셋 관리 모듈(25)의 1 이상의 추상화에 대하여 질문을 하기 위한 1 이상의 방법을 포함할 수 있다.In addition, the media processing interface 113 may include a method for querying the phone set management module 25 about the status of a low level device such as a hook switch. For example, the media processing interface 113 may include one or more methods for querying one or more abstractions of the phone set management module 25 to determine if the handset is off the hook.

또한, 매체 처리 인터페이스(113)는 TCD에 의하여 지원되는 코덱 알고리즘을 결정하는 방법, 혼합된 오디오 출력(85)을 보내도록 오디오 출력 디바이스를 전개하는 방법, 및 예를 들어 폰 셋 관리 모듈(25)에게 질문함으로써 오디오 출력 디바이스가 현재 작동 가능한 상태인지를 결정하는 방법을 포함할 수 있다.In addition, the media processing interface 113 may determine how to determine the codec algorithms supported by the TCD, deploy the audio output device to send the mixed audio output 85, and for example the phone set management module 25. Question may include how to determine if the audio output device is currently operational.

매체 처리 인터페이스(113)는 다양한 형태의 매체 처리 인터페이스(113) 중 임의의 것이 될 수 있다. 예를 들어, 제1 TCD에 상주하는 텔레폰 시스템 아키텍쳐 1의 부분으로서, 매체 처리 인터페이스(113)는 TCD에 대하여 구체적으로 정의된 형태를 갖는다. 다른 예에 있어, 콜 처리 모듈(31)은 2개의 네트워크 사이에서의 매체 게이트웨이 상에서 또는 상이한 시그널링 프로토콜 사이에서의 시그널링 게이트웨이 상에서 수행되는 콜 처리를 모델링할 수 있다. 이러한 경우, 매체 처리 인터페이스(113)는 특정한 게이트웨이에 대하여 필요한 처리의 형태에 대하여 특히 정의된 형태를 가질 수 있다.The media processing interface 113 can be any of various forms of media processing interface 113. For example, as part of telephone system architecture 1 residing on the first TCD, the media processing interface 113 has a form specifically defined for the TCD. In another example, call processing module 31 may model call processing performed on a media gateway between two networks or on a signaling gateway between different signaling protocols. In this case, the media processing interface 113 may have a form specifically defined for the type of processing required for a particular gateway.

매체 처리 인터페이스(113)는 매체를 처리하는 것을 주로 다룬다. 콜 처리 모듈(31)의 다른 형태는, 콜 제어(예를 들어, 시그널링) 프로토콜의 사용을 포함한 텔레폰 콜을 제어하는 것이다. 콜 처리 모듈(31)의 이러한 형태는 더 자세히 설명할 것이다.The media processing interface 113 mainly deals with processing media. Another form of call processing module 31 is to control telephone calls, including the use of call control (eg, signaling) protocols. This form of call processing module 31 will be described in more detail.

1.4.2.2.3 콜 제어 프로토콜1.4.2.2.3 Call Control Protocol

콜(109)은 특별한 종류의 콜, 예를 들어 피어-투-피어(peer-to-peer) (피어 콜) 또는 마스터/슬레이브 콜(슬레이브 콜)일 수 있다. 피어 콜(109)은 피어-투-피어 프로토콜, 예를 들어 SIP 또는 H.323를 따르는 1 이상의 접속을 포함할 수 있고, 마스터/슬레이브 프로토콜, 예를 들어 MGCP, Megaco/H.248 또는 스키니 스테이션(Skinny Station)을 따르는 1 이상의 접속을 포함할 수 있다. 슬레이브 콜(109)은 마스터/슬레이브 프로토콜을 따르는 1 이상의 접속을 포함하는 콜을 나타낸다. 각 종류의 콜(109)은 콜에 포함된 접속 형태에 대응하여 데이터를 정의하기 위한 추상화 및 프로토콜의 종류에 따라 텔레폰 콜을 제어하기 위한 방법을 정의하기 위한 추상화를 포함한다.The call 109 may be a special kind of call, for example a peer-to-peer (peer call) or a master / slave call (slave call). Peer call 109 may include one or more connections conforming to a peer-to-peer protocol, eg SIP or H.323, and a master / slave protocol such as MGCP, Megaco / H.248 or skinny station It may include one or more connections along the Skinny Station. Slave call 109 represents a call that includes one or more connections that follow the master / slave protocol. Each kind of call 109 includes an abstraction for defining data corresponding to a connection type included in the call and an abstraction for defining a method for controlling the telephone call according to the type of protocol.

슬레이브 콜(109)은 제1 TCD의 외부에 있는 네트워크 자원에 의하여 제어되는 콜이다. 슬레이브 콜(109)은 MGCP콜, Megaco/H.248 콜, 또는 스키니 스테이션 콜을 포함하는 복수의 마스터/슬레이브 콜 형태 중 하나일 수 있다. MGCP콜(109), Megaco/H.248 콜(109) 및 스키니 스테이션 콜(109)은 각각 MGCP, Megaco/H.248 및 스키니 스테이션 프로토콜을 따르는 콜이다. 이러한 형태의 슬레이브 콜 각각은 일반적인 슬레이브 콜(109)의 추상화로부터 인계한 추상화로 정의될 수 있으며, 슬레이브 콜의 형태와 관련한 기능을 정의할 수도 있다.Slave call 109 is a call controlled by a network resource external to the first TCD. The slave call 109 may be one of a plurality of master / slave call forms including an MGCP call, a Megaco / H.248 call, or a skinny station call. MGCP call 109, Megaco / H.248 call 109 and skinny station call 109 are calls following the MGCP, Megaco / H.248 and Skinny station protocols, respectively. Each of these types of slave calls may be defined as an abstraction taken from the abstract of the general slave call 109, and may define a function related to the type of slave call.

콜 처리 모듈(31)은 1 이상의 콜 제어 접속(111)을 포함한다. 각 콜 처리 접속(111)은 (아래에 자세히 기술될 고스트(ghost) 콜 접속을 제외하고는) 매체 처리 모듈(29)의 매체처리 추상화(117)로 표현되듯이 대응하는 매체 제어 콜 접속을 갖는다. 매체 처리 구성 요소(30)와 관련하여 전술한 바와 같이, 그와 같은 매체 처리 추상화는 접속의 매체 흐름을 나타낸다. 이와는 다르게, 콜(109)의 콜 제어 접속(111)은 특정한 콜 제어 프로토콜에 따라 콜(109)과 관련되는 제1 TCD 상에서 시그널링 통신(signaling communication)을 정의하고 제어한다.The call processing module 31 includes one or more call control connections 111. Each call processing connection 111 has a corresponding media control call connection as represented by the media processing abstraction 117 of the media processing module 29 (except for the ghost call connection described in detail below). . As discussed above in connection with the media processing component 30, such media processing abstraction represents the media flow of the connection. Alternatively, the call control connection 111 of the call 109 defines and controls signaling communication on the first TCD associated with the call 109 in accordance with a particular call control protocol.

슬레이브 콜(109)은, 슬레이브 콜 제어 접속(111)이 나타내는 마스터/슬레이브 콜 제어 프로토콜의 형태에 따라 제1 TCD 상에서 콜에 대한 콜 시그널링 통신을 제어하는 복수의 슬레이브 콜 제어 접속(111)을 포함할 수 있다.The slave call 109 includes a plurality of slave call control connections 111 that control call signaling communication for the call on the first TCD according to the type of the master / slave call control protocol indicated by the slave call control connection 111. can do.

피어 콜(109)에 대하여, 각 콜 제어 접속(111)은 H.323 콜 제어 접속, SIP 콜 제어 접속, 고스트 콜 제어 접속 및 슬레이브 프록시(proxy) 콜 제어 접속을 포함하는 몇몇의 형태 중 하나일 수 있다.For peer call 109, each call control connection 111 may be in one of several forms, including an H.323 call control connection, a SIP call control connection, a ghost call control connection, and a slave proxy call control connection. Can be.

H.323 콜 제어 접속 및 SIP 콜 제어 접속은 각각 H.323 프로토콜 및 SIP 프로토콜에 따라 제1 TCD 상에서 접속의 시그널링 통신을 제어한다.The H.323 call control connection and the SIP call control connection control signaling communication of the connection on the first TCD according to the H.323 protocol and the SIP protocol, respectively.

고스트 콜 제어 접속은 2개의 상이한 TCD 사이의 접속을 나타낸다. 예를 들어, 제1 TCD가 다른 TCD에 콜을 전달하고 어떤 이유로 인하여 전달된 접속의 진행을 추적할 필요가 있는 경우, 고스트 콜 제어 접속은 2개의 상이한 TCD 사이의 접속 상태를 모니터링하는 데에 사용될 수 있다. 전달된 접속의 상태를 모니터링하기 위하여, 고스트 콜 제어 접속은 2개의 상이한 TCD 중 하나로부터 정보를 수신할 수 있다. 접속은 2개의 상이한 TCD 사이에 존재하므로, 고스트 콜 제어 접속은 대응 매체 처리 접속을 갖지 않는다.The ghost call control connection represents a connection between two different TCDs. For example, if the first TCD needs to forward a call to another TCD and for some reason need to track the progress of the forwarded connection, the ghost call control connection can be used to monitor the connection status between two different TCDs. Can be. In order to monitor the status of the forwarded connection, the ghost call control connection may receive information from one of two different TCDs. Since the connection is between two different TCDs, the ghost call control connection does not have a corresponding media processing connection.

피어 콜(109)이 슬레이브 접속부를 포함한다면, 슬레이브 콜 제어 접속(111)을 대용하는 슬레이브 프록시 콜 제어 접속(111)은 슬레이브 접속(111)을 나타내는 데에 사용될 수 있다.If the peer call 109 includes a slave connection, the slave proxy call control connection 111 in place of the slave call control connection 111 can be used to represent the slave connection 111.

콜(109)이 나타내는 텔레폰 콜은 콜 제어 접속(111)에 의하여 각각 표현되는 몇몇의 접속을 포함할 수 있다. 상술한 바와 같이, 텔레폰 콜에 포함되는 각 접속은 복수의 콜 제어 프로토콜 중 어느 하나를 따를 수도 있다. 따라서, 콜(109)은 1 이상의 콜 제어 접속(111)을 제어할 수 있는데, 여기서 각 콜 제어 접속(111)은 상이한 형태, 예를 들어 H.323 콜 제어 접속 또는 SIP 콜 제어 접속의 형태를 가질 수 있다.The telephone call represented by call 109 may include several connections, each represented by call control connection 111. As described above, each connection included in the telephone call may follow any one of a plurality of call control protocols. Thus, the call 109 can control one or more call control connections 111, where each call control connection 111 can take a different form, for example, H.323 call control connection or SIP call control connection. Can have.

독립적인 콜 제어 접속(111)을 가지는 텔레폰 콜의 각 접속을 나타내는 것과, 텔레폰 콜의 매체 처리 및 콜 처리를 독립적으로 나타내는 것은, 다중 접속(111)을 포함하는 콜(109)이 각 접속을 동시에 나타내고 제어하는 것을 가능하게 하는데, 여기서 각 접속은 복수의 콜 제어 프로토콜 중 어느 하나를 따를 수 있다.Representing each connection of a telephone call having an independent call control connection 111, and independently representing the media processing and the call processing of the telephone call, the call 109 including the multiple connection 111 is connected to each connection at the same time It is possible to display and control, where each connection can follow any one of a plurality of call control protocols.

예를 들어, 제1 TCD, 제2 TCD 및 제3 TCD 사이의 텔레폰 콜동안에, 제1 접속은 제1 및 제2 TCD 사이에 존재할 수 있고, 제2 접속은 제1 및 제3 TCD 사이에 존재할 수 있다. 제1 접속은 SIP 콜 제어 접속(111)에 의하여 표현될 수 있고, 제2 접속은 H.323 콜 제어 접속(111)에 의하여 표현될 수 있다. 더욱이, 제1 및 제2 접속은 접속의 매체 처리를 나타내는 독립적인 매체 처리 추상화(117)에 의하여 표현될 수 있다.For example, during a telephone call between a first TCD, a second TCD, and a third TCD, a first connection may exist between the first and second TCDs, and a second connection may exist between the first and third TCDs. Can be. The first connection may be represented by the SIP call control connection 111 and the second connection may be represented by the H.323 call control connection 111. Moreover, the first and second connections may be represented by independent media processing abstraction 117 representing media processing of the connection.

그와 같은 텔레폰 콜을 나타내는 콜(109)은 SIP 및 H.323 콜 제어 접속(111) 및 대응 매체 처리 추상화(117)를 제어할 수 있다. 텔레폰 콜동안에는, 각 접속(111)에 대하여, 접속이 나타내는 콜 제어 프로토콜, SIP 또는 H.323에 따라, 콜(109)은 매체 처리 인터페이스(113)의 방법을 실행할 수 있다. 여기서, 대응 매체 처리 추상화(117)를 통하여 적합한 접속 상에 매체의 처리를 제어하기 위하여매체 처리 제어기의 방법이 실행된다.A call 109 representing such a telephone call can control the SIP and H.323 call control connection 111 and the corresponding media processing abstraction 117. During the telephone call, for each connection 111, the call 109 can execute the method of the media processing interface 113 in accordance with the call control protocol, SIP or H.323 indicated by the connection. Here, the method of the media processing controller is executed to control the processing of the media on the appropriate connection via the corresponding media processing abstraction 117.

콜 제어 접속(111)은 상대적으로 높은 레벨로 제1 TCD 상에서 접속의 시그널링 통신을 제어한다. 또한, 콜 처리 모듈(31)은, 전송을 제어하고 콜 처리 모듈(31)로부터 전송되어 수신되는 시그널링 메시지의 신뢰성을 보장하는 낮은 레벨로 제1 TCD 상에서 접속의 시그널링 통신을 제어하는 콜 제어 전송 제어기(107)를 포함한다.The call control connection 111 controls the signaling communication of the connection on the first TCD at a relatively high level. In addition, the call processing module 31 controls the transmission and the call control transmission controller which controls the signaling communication of the connection on the first TCD at a low level which ensures the reliability of the signaling message transmitted and received from the call processing module 31. 107.

또한, 콜 처리 모듈(31)은, 콜 제어 프로토콜에 대응하는 콜 제어 메시지를 수신하기 위하여 콜 제어 네트워크 입력 인터페이스(101)와, 콜 제어 전송 제어기(107)로부터의 콜 제어 메시지를 통신 네트워크에 송신하는 콜 제어 네트워크 출력 인터페이스(107)를 포함한다.In addition, the call processing module 31 transmits a call control message from the call control network input interface 101 and the call control transmission controller 107 to the communication network in order to receive a call control message corresponding to the call control protocol. A call control network output interface 107.

콜 제어 메시지, 예를 들어 SIP 메시지를 보내기 위하여, 콜 제어 접속(111)은 메시지를 콜 제어 전송 제어기(107)에 보내고, 그 다음에 콜 제어 전송 제어기는 콜 제어 메시지를 콜 제어 네트워크 출력 인터페이스(103)에 보내며, 그 다음에 콜 제어 네트워크 출력 인터페이스는 통신 네트워크 상으로 콜 제어 메시지를 보낸다.To send a call control message, for example a SIP message, the call control connection 111 sends a message to the call control transmission controller 107, and then the call control transmission controller sends the call control message to the call control network output interface ( 103), and then the call control network output interface sends a call control message over the communication network.

들어오는 콜 제어 메시지에 대하여, 콜 제어 네트워크 입력 인터페이스(101)는 콜 제어 메시지를 수신하고, 들어오는 콜 제어 메시지를 콜 관리자(105)에 전달하는 콜 제어 전송 제어기(107)에 메시지를 보낸다. 그 다음에, 콜 관리자(105)는, 콜 제어 메시지가 수신되는 네트워크 접속을 나타내는 접속(111)을 포함하는 적절한 콜(109)에 콜 제어 메시지를 급송한다.For an incoming call control message, the call control network input interface 101 receives the call control message and sends a message to the call control transmission controller 107 which forwards the incoming call control message to the call manager 105. The call manager 105 then dispatches the call control message to the appropriate call 109 including the connection 111 indicating the network connection from which the call control message is received.

또한, 콜 제어 전송 제어기(107)는, 통신 네트워크 상으로 보내지거나 여러 가지 이유로 인하여 목적지에 도달하지 못한 송신된 콜 제어 메시지를 콜 관리자(105)에게 알려준다. 또한, 그와 같이 도달하지 못한 것에 응답하여, 콜 제어 전송 제어기(107)는 콜 제어 네트워크 출력 인터페이스(103)를 통하여 통신 네트워크 상으로 콜 제어 메시지를 재송신할 수 있다.The call control transmission controller 107 also informs the call manager 105 of the transmitted call control message sent over the communication network or not reaching its destination for various reasons. In addition, in response to such failure, the call control transmission controller 107 can resend the call control message over the communication network via the call control network output interface 103.

상술한 각종의 추상화를 사용하여, 콜 처리 모듈(31)은 복수의 콜 제어 프로토콜 중 임의의 것이라도 지원하도록 구성될 수 있다. 게다가, 콜 처리 모듈(31) 또는 콜 처리 모듈(31)을 사용하는 애플리케이션은 특정 접속에 대하여 복수의 콜 제어 프로토콜 중 임의의 것을 선택하도록 구성될 수 있다. 이러한 선택은, 접속에 의하여 제1 TCD에 접속된 TCD의 가용 네트워트 자원 및 용량을 포함한 다수의 인자 중 어느 것에도 의존할 수 있다.Using the various abstractions described above, the call processing module 31 may be configured to support any of a plurality of call control protocols. In addition, the call processing module 31 or the application using the call processing module 31 may be configured to select any of a plurality of call control protocols for a particular connection. This choice may depend on any of a number of factors, including the available network resources and capacity of the TCD connected to the first TCD by connection.

제1 TCD로부터의 송출 콜에 대하여, 콜 처리 모듈 또는 그 외의 텔레포니 애플리케이션은, 사용자에 의한 URL 기입 또는 숫자의 연속에 기초하여 그 외의 TCD와 콜을 설정하기 위하여 콜 제어 프로토콜을 선택하도록 구성될 수 있다. 예를 들어, 애플리케이션은, 사용자가 숫자 3개의 확장을 입력한 경우 H.323 프로토콜을 사용하여 텔레폰 콜을 제어하도록 지시하는 규칙을 정의할 수 있다. 또한, 애플리케이션은, 사용자가 숫자 10개의 PSTN 텔레폰 번호를 입력한 경우 SIP를 사용하여 텔레폰 콜을 제어하도록 지시하는 규칙을 정의할 수 있다.For outgoing calls from the first TCD, the call processing module or other telephony application may be configured to select a call control protocol to set up the call with the other TCD based on a URL entry or continuation of a number by the user. have. For example, an application could define a rule that instructs the user to control a telephone call using the H.323 protocol when the user enters an extension of three numbers. In addition, the application may define a rule that instructs the user to control a telephone call using SIP when the user enters a ten-digit PSTN telephone number.

다른 예에 있어, 애플리케이션은, 사용자가 문자열(character string) "SIP"를 포함하는 URL을 입력한 경우 SIP 프로토콜을 사용하여 텔레폰 콜을 제어하고,사용자가 문자열 "H.323"을 포함하는 URL을 입력한 경우 H.323 프로토콜을 사용하도록 지시하는 규칙을 정의할 수 있다.In another example, the application controls the telephone call using the SIP protocol when the user enters a URL that includes the character string "SIP", and the user enters a URL that includes the string "H.323". If entered, you can define rules that direct the use of the H.323 protocol.

다양한 콜 제어 프로토콜에 관련된 세부 사항들이 콜 처리 모듈(31)에 의하여 다루어지기 때문에, 자세히 후술할 핵심 텔레폰 API 층(21) 및 개방된 API 층(5)은 모든 콜 제어 프로토콜에 대하여 일반적인 애플리케이션을 개발하는 데에 사용될 수 있고, 이는 콜 처리 모듈(31)이 콜 제어 세부사항을 다룰 수 있도록 한다. 그러므로, 콜 처리 모듈(31)은 핵심 텔레폰 API 층(21) 및 개방된 API 층(5)의 API로 하여금 콜 제어 프로토콜 독립적(call-control-protocol-independent)이 되도록 할 수 있다.Since details relating to various call control protocols are handled by the call processing module 31, the core telephone API layer 21 and the open API layer 5, which will be described in detail below, develop a general application for all call control protocols. Can be used to allow call handling module 31 to handle call control details. Therefore, the call processing module 31 can cause the APIs of the core telephone API layer 21 and the open API layer 5 to be call-control-protocol-independent.

제1 TCD가 임의의 개수의 콜 제어 프로토콜을 지원하고 접속을 위하여 특정 콜 제어 프로토콜을 선택하도록 구성될 수 있기는 하지만, 콜 처리 모듈(31), 핵심 텔레폰 기능 층(9)의 그 외의 모듈, 또는 애플리케이션 층(3)의 1 이상의 텔레포니 애플리케이션은 제1 TCD가 어떤 콜 제어 프로토콜만을 지원하도록 구성할 수 있다. 예시적인 목적으로서, 제1 TCD가 특정 콜 제어 프로토콜을 지원하도록 구성하는데 사용될 수 있는 각종 기술들이 콜 처리 모듈(31)을 참조하여 기술될 것이다. 다만, 그 외의 모듈 또는 층이 동일한 기술을 채택하는 애플리케이션을 정의할 수도 있다.Although the first TCD may be configured to support any number of call control protocols and to select a particular call control protocol for connection, the call processing module 31, other modules of the core telephone function layer 9, Alternatively, one or more telephony applications of the application layer 3 may be configured such that the first TCD only supports certain call control protocols. For illustrative purposes, various techniques that may be used to configure the first TCD to support a particular call control protocol will be described with reference to the call processing module 31. However, other modules or layers may define applications that employ the same technology.

콜 처리 모듈(31)은 제1 TCD가 상주하는 통신 네트워크에 의하여 지원되는 콜 제어 프로토콜을 결정하도록 구성될 수 있다. 예를 들어, 고객의 점포에서 최초로 초기화되는 경우, 콜 처리 모듈(31)은 고객의 통신 네트워크 상으로 정보를보냄으로써, 어떤 콜 제어 프로토콜이 지원되는지를 결정하고, 콜 제어 프로토콜을 구현하기 위하여 제1 TCD가 통신해야 할 임의의 네트워크 자원을 결정하며, 콜 제어 프로토콜을 지원하기 위하여 필요한 임의의 소프트웨어를 로딩(loading)할 수 있다. 또한, 콜 처리 모듈(31)은 들어오고 송출되는 텔레폰 콜을 위하여 통신 네트워크가 어떤 콜 제어 프로토콜을 지원하는지 결정하도록 구성될 수 있다.The call processing module 31 may be configured to determine a call control protocol supported by the communication network in which the first TCD resides. For example, when initially initialized at a customer's store, the call processing module 31 sends information over the customer's communication network to determine which call control protocol is supported and to implement the call control protocol. 1 The TCD decides which network resources it should communicate with, and can load any software needed to support the call control protocol. In addition, the call processing module 31 may be configured to determine which call control protocol the communication network supports for incoming and outgoing telephone calls.

콜 처리 모듈(31)은, 필드에서, 주기적으로, 사용자에 의한 요청에 따라 초기화되는 결과로서 또는 그들의 조합의 결과로서, 많은 방법 중 임의의 것에 의하여 발견 처리(discovery process)를 수행하도록 구성될 수 있다. 또한, 이러한 발견 처리는 그 외의 네트워크 자원, 예를 들어 도 7과 관련하여 자세히 서술될 TCD 전개 서버(deployment server)에 의하여 제1 TCD에 대하여 수행될 수 있다.The call processing module 31 may be configured to perform a discovery process in any of many ways, in the field, periodically, as a result of being initialized upon request by the user or as a result of a combination thereof. have. This discovery process may also be performed for the first TCD by other network resources, for example a TCD deployment server, which will be described in detail in connection with FIG.

일 실시예에 있어, 콜 처리 모듈(31)은 1 이상의 콜 제어 프로토콜을 구현하기 위하여 사용될 수 있는 1 이상의 네트워크 자원의 위치를 알 수 있도록 프로그램된다.In one embodiment, the call processing module 31 is programmed to know the location of one or more network resources that can be used to implement one or more call control protocols.

제1 TCD가 상주하는 통신 네트워크는 동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol, DHCP)을 포함할 수 있다. DHCP 서버는 통신 네트워크에 의하여 지원되는 콜 제어 프로토콜에 대한 정보를 저장하도록 구성될 수 있고, 1 이상의 콜 제어 프로토콜을 구현하는 것을 돕는데 사용될 수 있는 1 이상의 서버를 지시할 수도 있다. 그와 같은 DHCP 서버가 존재하면, 콜 처리 모듈(31)은 상기한 콜 제어 정보를 검색하기 위하여 DHCP 서버를 액세스할 수 있다. 콜 제어 서버를 발견하기 위하여 DHCP 서버를 사용하는 것은, 2000년 4월 6일에 URL:http://www.jetf.org /internet-drafts/ draft-ietf-dhcp-01.txt 에 위치한 "DHCP Options for Call Control Servers"로 명명된 IETF에 의한 인터넷 작성 서류에 기술되어 있다.The communication network in which the first TCD resides may include a Dynamic Host Configuration Protocol (DHCP). The DHCP server may be configured to store information about call control protocols supported by the communication network and may direct one or more servers that may be used to help implement one or more call control protocols. If such a DHCP server exists, the call processing module 31 can access the DHCP server to retrieve the above call control information. Using a DHCP server to discover the call control server is available on April 6, 2000 at "DHCP" located at URL: http: //www.jetf.org / internet-drafts / draft-ietf-dhcp-01.txt Options for Call Control Servers are documented in the Internet Preparation Document by the IETF.

통신 네트워크가 DHCP 서버를 포함하지 않거나, 어떤 이유에서 DHCP가 필요한 콜 제어 프로토콜 정보를 반환하지 않으면, 콜 처리 모듈(31)은, 통신 네트워크에 의하여 지원되는 관련 서버 및 콜 제어 프로토콜을 결정하기 위하여 1 이상의 다른 네트워크 자원과 통신을 하도록 구성될 수 있다.If the communication network does not include a DHCP server, or for some reason DHCP does not return the necessary call control protocol information, the call processing module 31 may determine 1 to determine the relevant server and call control protocol supported by the communication network. It may be configured to communicate with other network resources.

예를 들어, 통신 네트워크가 H.323 프로토콜을 지원하는지 결정하고 네트워크 상에서 H.323/SIP 시그널링 게이트웨이의 위치를 결정하기 위하여, 게이트키퍼 발견 기술(gatekeeper discovery technique)을 사용할 수 있다. 예를 들어, 국제 원격 통신 연합(International Telecommunications Union)에 의한 ITU-T Recommendation : H.323 패킷 기반 멀티매체 통신 시스템(Packet-Based Multi-Media Communication Systems)(스위스의 제네바, 1998년 2월)에 기술된 게이트키퍼 발견 기술을 사용할 수 있다.For example, a gatekeeper discovery technique can be used to determine if the communication network supports the H.323 protocol and to locate the H.323 / SIP signaling gateway on the network. For example, the ITU-T Recommendation by the International Telecommunications Union: H.323 Packet-Based Multi-Media Communication Systems (Geneva, Switzerland, February 1998). The gatekeeper discovery technique described can be used.

통신 네트워크가 SIP 프로토콜을 지원하는지 결정하고, 통신 네트워크 상에 SIP 서버의 위치를 결정하기 위하여, 콜 처리 모듈(31)은, 1999년 10월 26일의 RFC2543, SIP : Session Initiation Protocol by IETF 의 첨부 D에 약술된 바와 같은 SRV DNS 기록을 사용하여 1 이상의 SIP 서버의 위치를 정하도록 구성될 수 있다. 만약 이러한 SIP 발견 기술이 소용없으면, 콜 처리 모듈(31)은, UDP 및/또는 TCP를 사용하여 디폴트 포트(5060)에서 SIP 프록시 서버를 sip<local domain> 에접속하는 것을 시도하도록 구성될 수 있다.In order to determine if the communication network supports the SIP protocol and to determine the location of the SIP server on the communication network, the call processing module 31 is attached to RFC2543, SIP: Session Initiation Protocol by IETF, October 26, 1999. It may be configured to locate one or more SIP servers using SRV DNS records as outlined in D. If this SIP discovery technique is not useful, call processing module 31 may be configured to attempt to connect a SIP proxy server to sip <local domain> on default port 5060 using UDP and / or TCP. .

통신 네트워크가 MGCP 프로토콜을 지원하는지 결정하고, MGCP 콜 에이전트의 위치를 결정하기 위하여, 콜 처리 모듈(31)은 (RFC2543에서의 SIP에 대한 상기 기술과 유사한) SRV DNS 기록을 사용하도록 구성될 수 있다. MGCP 콜 에이전트는 MGCP 프로토콜을 사용하여 통신 네트워크의 텔레폰 콜을 제어하는 책임을 전적으로 진다. MGCP 콜 에이젼트의 위치를 정하는 시도가 실패할 경우, MGCP에 대한 디폴트 포트, 포트 2427에 UDP를 사용하여 mgcp<local domain>에서 MGCP 콜 에이전트를 접속하는 시도가 이루어지도록, 콜 처리 모듈(31)은 구성될 수 있다.To determine if the communication network supports the MGCP protocol and to determine the location of the MGCP call agent, the call processing module 31 may be configured to use SRV DNS recording (similar to the above description for SIP in RFC2543). . The MGCP call agent is solely responsible for controlling the telephony calls of the communication network using the MGCP protocol. If the attempt to locate the MGCP call agent fails, the call processing module 31 attempts to contact the MGCP call agent at mgcp <local domain> using UDP on port 2427, the default port for MGCP. Can be configured.

통신 네트워크가 Megato/H.248 프로토콜을 지원하는지 결정하기 위하여, 콜 처리 모듈(31)은 MGCP 프로토콜에 대하여 상술한 것과 유사한 기술을 사용하도로 구성될 수 있다. Megato/H.248 프로토콜 표준은 IEFT RFC 2885 및 ITU H.248에 정의되어 있다.To determine if a communication network supports the Megato / H.248 protocol, the call processing module 31 may be configured to use a technique similar to that described above for the MGCP protocol. Megato / H.248 protocol standards are defined in IEFT RFC 2885 and ITU H.248.

콜 처리 모듈(31)은, 통신 네트워크가 특정 콜 제어 프로토콜을 지원하지 않는 경우 특정 콜 제어 프로토콜에 대하여 콜 제어 접속(111)으로서 공간-절약 스터브(space-saving stub)를 설치할 수 있다.The call processing module 31 may install a space-saving stub as the call control connection 111 for the specific call control protocol when the communication network does not support the specific call control protocol.

콜 처리 모듈(31)은, 송출되는 콜에 대한 콜 제어 프로토콜로서 특정 콘 제어 프로토콜, 예를 들어 SIP와 같은 프로토콜을 사용하도록 구성될 수 있다. 하지만, 통신 네트워크가 단일의 콜 제어 프로토콜만을 지원하는 것으로 콜 처리 모듈(31)이 결정하면, 콜 처리 모듈(31)은 이 콜 제어 프로토콜을 모든 송출 콜에 사용되는 프로토콜로서 배정할 수 있다.The call processing module 31 may be configured to use a specific cone control protocol, for example, a protocol such as SIP, as a call control protocol for outgoing calls. However, if the call processing module 31 determines that the communication network supports only a single call control protocol, the call processing module 31 may assign this call control protocol as the protocol used for all outgoing calls.

또한, 통신 네트워크가 송출되는 콜에 대하여 다중 콜 제어 프로토콜을 지원하고 내부 콜에 대하여 단일 콜 제어 프로토콜을 지원하기로 콜 처리 모듈(31)이 결정하면, 콜 처리 모듈(31)은 이 단일 콜 제어 프로토콜을 모든 송출 콜에 사용되는 콜 제어 프로토콜로 배정할 수 있다.In addition, if the call processing module 31 decides to support multiple call control protocols for the outgoing call and to support a single call control protocol for the internal call, the call processing module 31 controls this single call control. The protocol can be assigned to the call control protocol used for all outgoing calls.

또한, 모든 들어오는 콜에 대한 콜 제어 프로토콜로서 특정 콜 제어 프로토콜을 사용하도록 구성될 수 있다. 하지만, 통신 네트워크가 단일 콜 제어 프로토콜만을 지원하기로 콜 처리 모듈(31)이 결정하면, 콜 처리 모듈(31)은 이러한 콜 제어 프로토콜을 모든 들어오는 콜에 대하여 사용되는 프로토콜로서 배정할 수 있다.It may also be configured to use a particular call control protocol as the call control protocol for all incoming calls. However, if the call processing module 31 determines that the communication network supports only a single call control protocol, the call processing module 31 may assign this call control protocol as the protocol used for all incoming calls.

또한, 통신 네트워크가 들어오는 콜에 대하여 다중 콜 제어 프로토콜을 지원하고 외부 콜에 대하여 단일 콜 제어 프로토콜만을 지원하기로 콜 처리 모듈(31)이 결정하면, 콜 처리 모듈(31)은 이 단일 콜 제어 프로토콜을 모든 들어오는 콜에 대한 콜 제어 프로토콜로서 배정할 수 있다.In addition, if the call processing module 31 determines that the communication network supports multiple call control protocols for incoming calls and only a single call control protocol for external calls, then the call processing module 31 determines this single call control protocol. Can be assigned as the call control protocol for all incoming calls.

추상화(101-113)를 사용함으로써, 콜 처리 모듈(31)은 콜 제어 프로토콜, 예를 들어 SIP에 따라 몇 가지 특징을 제공하도록 구성될 수 있다. 이와 같은 콜 제어 특징은 다음을 포함할 수 있다 : 다양한 전송 층 프로토콜, 예를 들면 전송 제어 프로토콜(TCP) 및 사용자 데이터 프로토콜(UDP)에 따라 콜 제어 메시지를 송신 및 수신하는 것; 콜 설정 메시지를 보내고 콜 설정 메시지에 응답하는 것과 같은 기본적인 콜 설정 동작; 방화벽(firewall) 지원.By using the abstractions 101-113, the call processing module 31 can be configured to provide some features in accordance with a call control protocol, for example SIP. Such call control features may include: sending and receiving call control messages in accordance with various transport layer protocols, such as Transmission Control Protocol (TCP) and User Data Protocol (UDP); Basic call setup operations, such as sending a call setup message and responding to the call setup message; Firewall support.

콜 처리 모듈(31)은, 예를 들어 SIP 서버 상의 레지스트리 또는 디렉토리에서 제1 TCD를 등록하는 것을 지원할 수 있다. 그와 같은 디렉토리는 제1 TCD 또는 다른 네트워크 자원, 예를 들어 네트워크 서버 또는 제1 TCD의 컴페니언(companion) 컴퓨터에 상주할 수 있다. 도 7과 관련하여 아래에서 자세히 설명할 바와 같이, 이와 같은 서버의 각 엔트리는 사용자의 명칭 또는 URL을 제1 TCD의 네트워크 어드레스에 맵핑할 수 있다.The call processing module 31 may support registering the first TCD, for example, in a registry or directory on the SIP server. Such a directory may reside on a first TCD or other network resource, such as a network server or a companion computer of the first TCD. As will be described in detail below with respect to FIG. 7, each entry of such a server may map a user's name or URL to the network address of the first TCD.

또한, 콜 처리 모듈(31)은, 제1 TCD에 따라 레지스트리 엔트리가 소정의 시간 경과 후에 만기되도록 지원할 수 있다. 또한, TCD가 활성화 중(즉, 전원 온 상태)인 동안 사용자의 엔트리가 만기되는 것을 피하기 위하여, 그와 같은 엔트리가 주기적으로 재생(refresh)되도록 모듈(31)을 구성할 수 있다.In addition, the call processing module 31 may support the registry entry to expire after a predetermined time according to the first TCD. In addition, the module 31 can be configured such that such entries are periodically refreshed to avoid expiration of the user's entries while the TCD is active (ie, powered on).

또한, 콜 처리 모듈(31)은 텔레폰 콜을 대기 상태로 두는 초기화를 하도록 구성될 수 있다. 예를 들어, 제1 TCD로부터 제1 TCD가 대역폭을 소모하는 것을 중지하도록 지시하는 다른 TCD로 신호를 보낼 수 있다. 그와 유사하게, 콜 처리 모듈(31)은 다른 TCD가 대역폭을 소모하는 것을 중지하도록(즉, 텔레폰 콜을 대기 상태로 두도록) 지시하는 또다른 TCD로부터 메시지를 수신하도록 구성될 수 있다.In addition, the call processing module 31 may be configured to initialize to put the telephone call on standby. For example, a signal can be sent from the first TCD to another TCD that instructs the first TCD to stop consuming bandwidth. Similarly, call processing module 31 may be configured to receive a message from another TCD that instructs the other TCD to stop consuming bandwidth (ie, put the telephone call on hold).

콜 처리 모듈(31)은 여러 가지 방식으로 폰 콜을 재송신하도록 구성될 수 있다. 예를 들어, 제1 TCD의 사용자가 이미 다른 폰 콜에 참여하고 있으면, 들어오는 텔레폰 콜은 통신 네트워크 상에서 다른 디바이스로 재송신되도록 콜 처리 모듈(31)을 구성할 수 있다. 예를 들어, 다른 디바이스는 사용자 음성 메일을 재생하는 음성 메일 서버이거나 그 외의 TCD일 수 있다. 또한, 예를 들어 사용자 인터페이스 상의 버튼을 통한 사용자 입력은 사용자가 텔레폰 콜에 참여하고 있는지여부에 상관없이 방해 받고 싶지 않다는 것을 나타낼 수도 있다. 따라서, 들어오는 콜은 자동으로 재송신될 것이다. 이와는 달리, 들어오는 콜이 소정의 벨 소리 후에 또는 소정의 시간 경과 후에 응답되지 않으면, 들어오는 콜은 재송신될 수 있다. 결국, 들어오는 콜은 사용자 입력을 수신하는 것에 응답하여 수요에 따라 재송신될 수 있다.The call processing module 31 may be configured to resend the phone call in various ways. For example, if a user of the first TCD is already participating in another phone call, the call processing module 31 can be configured such that the incoming telephone call is retransmitted to another device on the communication network. For example, the other device may be a voice mail server that plays user voice mail or another TCD. Further, for example, user input via a button on the user interface may indicate that the user does not want to be disturbed whether or not the user is participating in a telephone call. Thus, incoming calls will be automatically resent. Alternatively, if an incoming call is not answered after a predetermined ring tone or after a predetermined time elapses, the incoming call may be resent. Eventually, the incoming call can be resent on demand in response to receiving user input.

콜 처리 모듈(31)은 텔레폰 콜의 불감 전송(blind transfer) 및 자문 전송(consultative transfer)을 지원하도록 구성될 수 있다. 불감 전송을 수행하기 위하여, 콜 처리 모듈(31)은, 제1 TCD의 제1 사용자와 제2 TCD의 제2 사용자 사이의 텔레폰 콜에 대하여, TCD의 제3 사용자와 콜을 설정하도록 제2 TCD에게 지시하도록 구성될 수 있다. 제2 TCD에게 지시한 후에, 제1 TCD는 제3 TCD의 사용자에게 먼저 자문을 구하지 않고 제1 TCD 및 제2 TCD 사이의 접속을 종결한다.The call processing module 31 may be configured to support blind transfer and consultative transfer of the telephone call. In order to perform the dead transmission, the call processing module 31 sets up a call with the third user of the TCD for the telephone call between the first user of the first TCD and the second user of the second TCD. Can be configured to instruct. After instructing the second TCD, the first TCD terminates the connection between the first TCD and the second TCD without first consulting the user of the third TCD.

자문 전송에 대하여, 제1 TCD는 제3 TCD와 접속을 설정한다. 그 다음으로, 제1 사용자는 제3 TCD의 사용자에게 자문을 구할 수(즉, 말할 수) 있고, 그 이후에 제1 TCD는 제3 TCD와의 콜을 설정할 것을 제2 TCD에게 지시할 수도 있고, 또는 제3 TCD에게 제2 TCD와 접속을 설정할 것을 지시할 수도 있다.For the advisory transmission, the first TCD establishes a connection with the third TCD. The first user may then consult (i.e. speak) with the user of the third TCD, after which the first TCD may instruct the second TCD to set up a call with the third TCD, Alternatively, the third TCD may be instructed to establish a connection with the second TCD.

불감 전송 또는 자문 전송 중 하나에 있어서, 애플리케이션은 고스트 콜 제어 접속(111)을 포함하는 콜(109)를 사용하여 새로운 접속을 설정하는 진행 과정을 모니터링할 수 있다. 제1 TCD로부터 새로운 접속을 포함하는 새로운 텔레폰 콜을 설정하라는 지시를 받은 다른 TCD는 제1 TCD에게 1 이상의 콜 제어 메시지를 전송하여 제1 TCD에게 새로운 접속의 상태에 대하여 알린다. 만약 어떤 이유로 인하여새로운 접속의 상태를 모니터링 및/또는 기록할 필요가 있는 경우, 고스트 콜 제어 접속(111)은 이러한 상태 정보를 유지할 수 있다.In either dead transmission or advisory transmission, the application can monitor the progress of establishing a new connection using the call 109 including the ghost call control connection 111. Another TCD that is instructed to establish a new telephone call containing a new connection from the first TCD sends one or more call control messages to the first TCD to inform the first TCD of the status of the new connection. If for some reason it is necessary to monitor and / or record the status of a new connection, the ghost call control connection 111 may maintain this status information.

또한, 콜 처리 모듈(31)은 텔레폰 콜과 관련된 1 이상의 접속에 관한 전달 과정 정보를 기록하도록 구성될 수 있다. 그와 같은 전달 과정 정보는 텔레폰 콜의 부분으로서 접속의 지속기간을 포함할 수 있고, 이러한 전달 과정 정보는 비용청구를 포함한 몇 가지 목적으로 사용될 수 있다.In addition, the call processing module 31 may be configured to record delivery process information regarding one or more connections associated with the telephone call. Such delivery process information may include the duration of the connection as part of the telephone call, and this delivery process information may be used for several purposes, including billing.

또한, 콜 처리 모듈(31)은, 접속의 콜 제어 프로토콜에 따라, 콜 제어 프로토콜 메시지에 비접속 제어 프로토콜 정보, 예를 들어 오디오 파일, 텍스트 파일, 애플리케이션, 데이터 파일, 및 데이터 파일 또는 애플리케이션에 대한 포인트 등을 부가하는 것을 지원하도록 구성될 수 있다.In addition, the call processing module 31 may be configured to access connection control protocol information, for example, an audio file, a text file, an application, a data file, and a data file or an application, according to the call control protocol of the connection. It may be configured to support adding points and the like.

예컨대, 콜 처리 모듈(31)은 다중-부분 MIME(Multi-purpose Internet Mail Extensions)이 SIP 메시지에 부가될 수 있도록 구성될 수 있다.For example, the call processing module 31 may be configured such that multi-part Multi-purpose Internet Mail Extensions (MIME) can be added to the SIP message.

콜 처리 모듈(31)은, 접속의 콜 제어 프로토콜에 따라서, 제1 TCD에 의해 지원되는 능력 및/또는 추가적인 특징 및 기능을 또 다른 TCD에 알리도록 구성될 수 있다. 예컨대, 콜 처리 모듈(31)은 SIP 메시지 필드를 사용해서 제1 TCD의 능력 및 추가적인 특징을 다른 TCD에 알리도록 구성될 수 있으며, 공통 능력이 두 TCD 사이에 사용되도록 할 수 있다.The call processing module 31 may be configured to inform another TCD of the capabilities and / or additional features and functions supported by the first TCD, depending on the call control protocol of the connection. For example, the call processing module 31 may be configured to inform the other TCD of the capabilities and additional features of the first TCD using the SIP message field, and allow the common capability to be used between the two TCDs.

콜 처리 모듈(31)은 제1 TCD와 또 다른 TCD 사이의 접속기간을 저장하도록 구성될 수 있다. 또한, 콜 처리 모듈(31)은 소정의 간격을 두고 또 다른 TCD로/로부터 메시지를 송신 및/또는 수신하여 메시지의 송신자가 여전히 텔레폰 콜에 참여하고 있음을 나타내도록 구성될 수 있다. 이러한 메시지를 소정의 간격을 두고 송신하는 것은, 텔레폰 콜을 끊는 콜 제어 메시지가 결코 수신되지 않는, 텔레폰 콜 기간을 결정하는데 있어서의 에러를 방지한다.The call processing module 31 may be configured to store the connection period between the first TCD and another TCD. In addition, the call processing module 31 may be configured to send and / or receive messages to / from another TCD at predetermined intervals to indicate that the sender of the message is still participating in the telephone call. Sending such a message at predetermined intervals prevents an error in determining the telephone call duration, in which a call control message that terminates the telephone call is never received.

콜 처리 모듈(31)은, 기본 및 요약 인증방법을 포함하는, 다수의 상이한 공지된 인증방법을 지원하도록 구성될 수 있다. 또한, 콜 처리 모듈(31)은 또 다른 네트워크 자원에 대해 인증이 수행되는 프록시 인증 및 또 다른 TCD와의 대칭 인증을 포함하는 제1 TCD 상에서 상이한 공지된 인증을 제공하도록 구성될 수 있다.The call processing module 31 may be configured to support a number of different known authentication methods, including basic and summary authentication methods. In addition, the call processing module 31 may be configured to provide different known authentication on the first TCD, including proxy authentication where authentication is performed on another network resource and symmetric authentication with another TCD.

또한, 콜 처리 모듈(31)은 콜 참가자를 텔레폰 콜에 재초대하도록 구성될 수 있다. 재초대는 사용 가능한 네트워크 대역폭에서의 변화에 응답하여 또는 컨퍼런스 콜(conference call)에 포함된 접속의 수에서의 변화에 응답하여 접속에 사용되는 인코딩 알고리즘을 변화시키는 것이 바람직할 수 있다.In addition, the call processing module 31 may be configured to re-invite the call participant to the telephone call. It may be desirable for the reinvitation to change the encoding algorithm used for the connection in response to a change in the available network bandwidth or in response to a change in the number of connections included in the conference call.

콜 처리 모듈(31)은 2개의 텔레폰 콜을 하나의 텔레폰 콜로 결합하도록 구성될 수 있다. 예컨대, 콜 관리자(call manager)(105)는 제1 SIP 콜 제어 접속(111) 및 제1 H.323 콜 접속(111)을 포함하는 제1 텔레폰 콜(109) 및 제2 SIP 접속(111)을 포함하는 제2 텔레폰 콜(109)을 관리할 수 있으며, 여기서 각 콜 제어 접속(111) 또한 해당 매체 처리 접속(117)을 가진다. 2개의 텔레폰 콜을 결합하기 위해, 콜 관리자(105)는 제2 SIP 접속(111)을 나타내는 제1 콜(109) 상에 제 3 접속을 생성하고, 해당 매체 처리 접속(117)을 생성하도록 구성될 수 있다. 제2 콜(109) 및 제2 SIP 접속(111)에 관한 모든 정보를 전송한 후, 콜 관리자(105)는 제2 콜(109)을 끊을 수 있다. 그 결과로서, 제1 콜(109)은 2개의 SIP 콜 제어 접속(111), H.323 콜 접속(111) 및 3개의 매체 처리 접속(117)을 포함하여 그대로 유지된다.The call processing module 31 may be configured to combine two telephone calls into one telephone call. For example, the call manager 105 may include a first telephone call 109 and a second SIP connection 111 including a first SIP call control connection 111 and a first H.323 call connection 111. A second telephone call 109 can be managed, wherein each call control connection 111 also has a corresponding media processing connection 117. In order to combine the two telephone calls, the call manager 105 is configured to create a third connection on the first call 109 representing the second SIP connection 111 and to create a corresponding media processing connection 117. Can be. After sending all the information about the second call 109 and the second SIP connection 111, the call manager 105 may hang up the second call 109. As a result, the first call 109 remains intact, including two SIP call control connections 111, H.323 call connections 111, and three media processing connections 117.

도 2로 돌아가 보면, 폰 설정 관리 모듈(phone set management module)(27), 매체 처리 모듈(29) 및 콜 처리 모듈(31)은 상대적으로 저레벨 모듈로서, 텔레폰 이벤트를 포착해서 이 이벤트를 다른 추상화(abstraction)에 통지하는 추상화를 포함한다. 통지된 추상화는 핵심 텔레폰 기능 모듈(25) 내의 다른 모듈(27, 29 또는 31) 중 하나에 의해 정의된 추상화일 수 있으며, 텔레포니 애플리케이션 객체(telephony application object; TAO) 모듈(23)로부터의 추상화일 수 있다.2, the phone set management module 27, the media processing module 29, and the call processing module 31 are relatively low-level modules that capture telephone events and abstract these events into another abstraction. Contains an abstraction to notify (abstraction). The notified abstraction may be an abstraction defined by one of the other modules 27, 29 or 31 in the core telephony function module 25 and may be an abstraction from a telephony application object (TAO) module 23. Can be.

1.4.3 텔레포니 애플리케이션 객체 모듈1.4.3 Telephony Application Object Module

TAO 모듈(23)은 복수의 예컨대, 고객 추상화, 서버 추상화, 메시지 추상화, 애플리케이션 층(3)에서 정의된 텔레포니 애플리케이션과 핵심 텔레폰 기능 모듈(25)에 의해 정의되는 핵심 텔레폰 기능 사이의 국지 및 원거리 통신을 가능하게 하는 수송 추상화 및 JTAPI에 의해 정의된 텔레폰 추상화에 대응하는 추상화와 같은 텔레포니 애플리케이션 추상화를 포함할 수 있다.The TAO module 23 provides for local and telecommunications between a plurality of, for example, customer abstraction, server abstraction, message abstraction, telephony applications defined at the application layer 3 and core telephony functions defined by the core telephony function module 25. Telephony application abstractions, such as transport abstractions that enable the implementation and abstractions that correspond to telephony abstractions defined by the JTAPI.

TAO 모듈(23)은 요구-응답 명령 및 이벤트 통지를 처리하기 위한 동기식 및 비동기식 통신을 가능하게 하는 로직 및 핵심 텔레폰 기능 층(21)의 추상화 상에 원거리 기능 콜을 가능하게 하는 핵심 텔레폰 기능 API 층(21)에 대한 인터페이스를 정의하는 추상화를 포함할 수 있다.The TAO module 23 is a core telephone function API layer that enables remote function calls on the abstraction of the logic and core telephone function layer 21 to enable synchronous and asynchronous communication for handling request-response commands and event notifications. It may include an abstraction defining an interface to 21.

그러므로, TAO 층(23)은 층(15, 13, 11, 33 및 25)이 잔여 층(21, 5 및 3)으로부터 논리적으로 및 물질적으로 독립성이 유지될 수 있도록 한다. 따라서,층(21, 5 및 3)은 제1 TCD 내에서 완전하게 구현될 수 있고, 제1 TCD 외부의 네트워크 자원 상에 완전하게 구현되고 핵심 텔레폰 기능 층(21)의 추상화 상에 원거리 기능 콜을 발생시켜 텔레포니 애플리케이션을 발달시키고 수행할 수 있으며, TCD 내에 부분적으로, 제1 TCD 외부에 부분적으로 구현될 수 있다.Therefore, the TAO layer 23 allows the layers 15, 13, 11, 33 and 25 to remain logically and materially independent from the remaining layers 21, 5 and 3. Thus, layers 21, 5, and 3 can be fully implemented within the first TCD, fully implemented on network resources outside the first TCD, and remote function calls on the abstraction of the core telephone function layer 21. Can be developed and executed, and can be implemented partially within the TCD and partially outside the first TCD.

TAO 층(23)은 C++ 또는 JAVA와 같은 객체지향 프로그래밍 언어로 프로그램될 수 있으며, JTAPI에 의해 정의된 추상화에 대응하는 추상화를 포함할 수 있다.The TAO layer 23 can be programmed in an object-oriented programming language such as C ++ or JAVA, and can include abstractions corresponding to the abstractions defined by the JTAPI.

1.4.4 핵심 텔레폰 기능 API1.4.4 Core Phone Function API

핵심 텔레폰 기능 API(21)은 제1 TCD의 핵심 텔레폰 기능에 대한 프로그래밍 인터페이스를 제공한다. 핵심 텔레폰 기능 API(21)은 JTAPI에 의해 제공되는 추상화에 대응하는 다수의 추상화를 포함할 수 있다. 예컨대, 핵심 텔레폰 기능 API(21)은 JTAPI의 JAVA 추상화로부터 후에 패턴화되는 C++로 기술된 다수의 추상화를 포함할 수 있다. 핵심 텔레폰 기능 API(21)은 매사추세츠 Woburn의 Pingtel 코퍼레이션으로부터 사용 가능한 Pingtel 텔레폰 API(PTAPI)를 사용하여 구현될 수 있다.The core telephone function API 21 provides a programming interface for the core telephone function of the first TCD. The core telephone function API 21 may include a number of abstractions corresponding to the abstractions provided by the JTAPI. For example, the core telephone function API 21 may include a number of abstractions described in C ++ that are later patterned from the JAVA abstraction of the JTAPI. The core telephony function API 21 can be implemented using the Pingtel Telephony API (PTAPI) available from Pingtel Corporation of Woburn, Massachusetts.

전술한 바와 같이, 핵심 텔레폰 기능 API(21)의 각 추상화는 잘 정의된 상태 및 상태 천이의 결과로서 트리거되는 한 세트의 이벤트를 가질 수 있다. JTAPI에 유사하게, 핵심 텔레폰 기능 API(21)의 핵심 추상화는 제공자, 터미널 콜, 접속, 터미널 접속, 터미널 및 수화자에 대한 추상화를 포함할 수 있다. 핵심 텔레폰 기능 API(21)는 단지 특권 판매자만이 제1 TCD의 핵심 텔레폰 기능에 접근하여 조작할 수 있도록 구성될 수 있다.As mentioned above, each abstraction of the core telephone function API 21 may have a set of events that are triggered as a result of well-defined states and state transitions. Similar to the JTAPI, the core abstraction of the core telephone function API 21 may include abstractions for providers, terminal calls, connections, terminal connections, terminals, and receivers. The core telephone function API 21 may be configured such that only a privileged seller can access and operate the core telephone function of the first TCD.

텔레포니 시스템 아키텍처 층(9-15)은 제1 TCD에 핵심 텔레폰 기능 및 특권 판매자가 핵심 텔레폰 기능을 조작하고 거기에 추가적인 기능을 추가할 수 있도록 하는 프로그래밍 인터페이스를 제공한다. 그러므로, 만약 제1 TCD가 단지 층(9-15)을 가지고 필드에서 배포된다면, 제1 TCD의 텔레폰 기능은 단지 특권 액세스를 가지는 판매자에 의해서만 확장되거나 수정될 수 있다.The telephony system architecture layers 9-15 provide the first TCD with a programming interface that allows the core telephony functions and privileged sellers to manipulate the core telephony functions and add additional functions to them. Therefore, if the first TCD is distributed in the field with only layers 9-15, the telephone functionality of the first TCD can only be extended or modified by the seller with privileged access.

일정한 핵심 텔레폰 기능에 대한 일반 액세스를 거부하는 것은 제1 TCD가 정확히 동작하는데 바람직할 수 있다. 예컨대, 콜 셋-업 메시지를 특정 콜 제어 프로토콜, 예컨대 SIP에 따르도록 구성하는 것을 제어하는 핵심 텔레폰 층 내에서 정의된 추상화에 대한 액세스를 제한하는 것은 바람직할 수 있다. 그러한 액세스 제한에 실패하면 제3 판매자 또는 사용자가 제1 TCD가 SIP 프로토콜에 따르는 통신 네트워크 상으로 메시지를 전송할 수 없는 그러한 추상화 오류를 일으키게 할 수 있다.Denying general access to certain core telephony functions may be desirable for the first TCD to operate correctly. For example, it may be desirable to restrict access to abstractions defined within the core telephone layer that control configuring the call set-up message to conform to a particular call control protocol, such as SIP. Failure to restrict such access may cause a third vendor or user to cause such an abstraction error in which the first TCD cannot send a message over a communication network that conforms to the SIP protocol.

한편, 사용자나 제3 판매자가 제1 TCD 상에서 또는 제1 TCD와 함께 실행되는 애플리케이션을 개발할 수 있도록 하는 것은 바람직할 수 있다. 그러므로, 보다 개방적이고 확장 가능한 텔레포니 시스템 아키텍처를 가지는 것은 바람직할 수 있다.On the other hand, it may be desirable to allow a user or a third seller to develop an application that runs on or in conjunction with the first TCD. Therefore, it may be desirable to have a more open and scalable telephony system architecture.

1.5 개방된 API 층(Open API Layer)1.5 Open API Layer

따라서, 텔레포니 시스템 아키텍처(1)는 제1 TCD의 텔레폰 기능이 필드에 배포된 후에 확장되거나 수정되는 것이 가능하게 하는 층(1-5)을 포함할 수 있다.Thus, the telephony system architecture 1 may comprise layers 1-5 which enable the telephony function of the first TCD to be expanded or modified after being distributed in the field.

개방된 API 층(5)은 API 층(5)에 의해 애플리케이션 층(3)에 대해 개발된 애플리케이션에 대한 빌딩 블록인 추상화를 포함할 수 있다. 예컨대, 애플리케이션 개방된 API 층(5)은 텔레폰 JAVA 프로그래밍 언어로 기술된 프레임워크 클래스(framework class)를 포함할 수 있으며, Sun Microsystem, Inc의 JAVA 가상 머신(JVM)을 포함할 수 있다.The open API layer 5 may comprise an abstraction which is a building block for the application developed for the application layer 3 by the API layer 5. For example, the application open API layer 5 may include a framework class described in the Telephony JAVA programming language, which is a JAVA virtual machine (JVM from Sun Microsystem, Inc.). ) May be included.

개방된 API 층(5)은 소프트웨어 개발자가 애플리케이션 층(3)에 대한, 텔레포니 애플리케이션 및 비-텔레포니 애플리케이션을 포함하는, 애플리케이션을 개발하기 위한 개방 API를 제공한다. 개방된 API 층(5)을 소프트웨어 개발자에게 개방하기 위해서, 개방된 API 층의 API, 예컨대 API(6, 7, 8 및 10)는 인터넷 상에서 배포되거나 공개적으로 사용 가능하도록 만들 수 있다. 예컨대, 하나 이상의 API는 Pingtel 코퍼레이션으로부터http://www.pingtal.com에서 얻을 수 있는 xpressa Development Kit™에 의해 제공될 수 있다.The open API layer 5 provides an open API for software developers to develop applications, including telephony applications and non-telephony applications, to the application layer 3. In order to open the open API layer 5 to software developers, the APIs of the open API layer, such as APIs 6, 7, 8 and 10, can be distributed or made publicly available on the Internet. For example, one or more APIs may be provided by the xpressa Development Kit ™ available from http://www.pingtal.com from Pingtel Corporation.

개방된 API 층(5)은 하나 이상의 사용자 인터페이스 API(6), 하나 이상의 시스템 API(7), 하나 이상의 텔레폰 API(8) 및 하나 이상의 매체 API(10)을 포함할 수 있다.The open API layer 5 may include one or more user interface APIs 6, one or more system APIs 7, one or more telephone APIs 8, and one or more media APIs 10.

1.5.1 사용자 인터페이스 API1.5.1 User Interface API

사용자 인터페이스 API(6)은 제1 TCD에 대한 그래픽 사용자 인터페이스(graphical user interface; GUI)를 개발하는데 있어서 개발자를 지원한다. 사용자 인터페이스 API(6)는 GUI를 설계하기 위한 복수의 제어 및 형태를 제공할 수 있다. 예컨대, 사용자 인터페이스 API는 JAVA abstract window tool kit(AWT) 또는 Java AWR의 확장형으로서 Pingtel 코퍼레이션으로부터http://www.pingtal.com에서 얻을 수 있는 xpressa Window Toolkit™(xWT)일 수 있다.The user interface API 6 assists the developer in developing a graphical user interface (GUI) for the first TCD. The user interface API 6 may provide a plurality of controls and forms for designing a GUI. For example, the user interface API may be the JAVA abstract window tool kit (AWT) or the xpressa Window Toolkit ™ (xWT) available from http://www.pingtal.com from Pingtel Corporation as an extension of Java AWR.

1.5.2 텔레폰 API1.5.2 Telephony API

텔레폰 API(8)은 기능을 추가하고 제1 TCD의 기능을 조작하기 위한 복수의 추상화를 제공한다. 텔레폰 API(8)는 Sun Microsystems, Inc.의 JTAPI이거나 그 구현일 수 있다. JTAPI 사양은 http://java.sun.com/products/jtapi/에서 얻을 수 있다. 따라서, 텔레폰 API(8)는 제1 TCD의 어드레스, 제1 TCD가 참여하는 텔레폰 콜, 이러한 텔레폰 콜에 포함되는 접속, 제1 TCD에 대응하는 텔레폰 서비스를 제공하는 하나 이상의 제공자, 제1 TCD에 대응하는 터미널 등을 포함하는 JTAPI에 대응하는 복수의 추상화를 포함할 수 있다. 다른 추상화는 관찰자, 수화자, 예외사항, 이벤트, 상태, 그와 관련된 방법 또는 JTAPI에 의해 제공되는 또 다른 추상화를 포함할 수 있다.The telephone API 8 provides a plurality of abstractions for adding functionality and manipulating the functionality of the first TCD. The telephony API 8 may be or an implementation of JTAPI from Sun Microsystems, Inc. The JTAPI specification can be obtained from http://java.sun.com/products/jtapi/. Accordingly, the telephony API 8 may include at least one provider providing an address of the first TCD, a telephone call to which the first TCD participates, a connection included in the telephone call, a telephone service corresponding to the first TCD, and a first TCD. It may include a plurality of abstractions corresponding to a JTAPI including a corresponding terminal or the like. Other abstractions may include observers, listeners, exceptions, events, states, methods associated with them, or another abstraction provided by the JTAPI.

다른 텔레폰 API(8)는 보다 능률적이고 사용하기 쉬운 단순화된 버전의 JTAPI를 포함할 수 있다. 예컨대, 텔레폰 API(8)는 Pingtel 코퍼레이션으로부터http://www.pingtal.com에서 얻을 수 있는 단순 텔레폰 API(STAPI)를 포함할 수 있다.Other phone APIs 8 may include a simplified version of the JTAPI that is more efficient and easier to use. For example, the telephony API 8 may include a Simple Telephony API (STAPI), available from http://www.pingtal.com from Pingtel Corporation.

이벤트 및 수화자 인터페이스 추상화에 더해, 텔레폰 API는 애플리케이션 개발자가 제1 TCD의 일정한 시간적으로 중대한(time-critical) 행동에 영향을 줄 수 있도록 하는 후크(hook)를 포함할 수 있다. 후크는 예컨대, JAVA 방법과 같이 만약 특정 타입의 이벤트가 일어나면 추상화에 의해 발생되는 방법이다. 예컨대, 각텔레폰 API(8)는 개발자가 호출자-ID 정보의 처리, 폰 콜의 재방향화와 필터링 및 제1 TCD가 사용자에게 콜이 입력되고 있음을 알리는 방법을 결정하는데 영향을 줄 수 있도록 하는 후크를 제공할 수 있다. 예컨대, 제1 TCD는 콜이 입력되고 있음을 시각적으로, 예컨대 불빛을 깜박거림으로써, 청각적으로, 예컨대 삑 소리를 냄으로써, 또는 그들의 조합에 의해 알릴 수 있다.In addition to the event and receiver interface abstraction, the telephony API may include hooks that allow application developers to influence certain time-critical behavior of the first TCD. A hook is a method of abstraction that occurs when a certain type of event occurs, such as the JAVA method. For example, each telephony API 8 may have a hook that allows a developer to influence the handling of caller-ID information, redirecting and filtering phone calls, and determining how the first TCD notifies the user that a call is being entered. Can be provided. For example, the first TCD can be notified visually that a call is being entered, for example by blinking a light, audibly, for example by beeping, or by a combination thereof.

개방된 API 층(5)은 또한 개방된 API 층(5)에 의해 정의되는 추상화를 핵심 텔레폰 기능 층(9)에 의해 정의되는 추상화, 특히 TAO 모듈(23)에 의해 정의되는 추상화와 인터페이스하는 언어 인터페이스를 포함할 수 있다. 예컨대, 만약 개방된 API 층(5)의 하나 이상의 API가 Java에서 정의되고, TAO 객체 모듈이 C++에서 정의되면, 언어 인터페이스는 Java Native Interface(JNI)일 수 있다.The open API layer 5 is also a language that interfaces the abstraction defined by the open API layer 5 with the abstraction defined by the core telephone function layer 9, in particular the abstraction defined by the TAO module 23. It may include an interface. For example, if one or more APIs of the open API layer 5 are defined in Java and the TAO object module is defined in C ++, the language interface may be a Java Native Interface (JNI).

1.5.3 시스템 API1.5.3 System API

시스템 API(7)은 텔레포니 시스템 아키텍처(1)에 대한 시스템 전 범위에 걸친 툴을 제공한다. 예컨대, 시스템 API는 애플리케이션 층(3)에서 동작하는 애플리케이션을 시작시키고, 멈추게 하고, 로딩하고, 언로딩하며, 모니터링하기 위한 애플리케이션 관리자를 포함할 수 있다. 또한, 시스템 API는 애플리케이션을 조절하고, 애플리케이션들간의 충돌을 방지하며, 애플리케이션들간의 충돌을 해소하는 애플리케이션 중계자를 포함할 수 있다. 시스템 API는 xpressa Development Kit™의 일부로서 제공될 수 있다.System API 7 provides a system wide range of tools for telephony system architecture 1. For example, the system API may include an application manager for starting, stopping, loading, unloading, and monitoring an application running in the application layer 3. In addition, the system API may include an application relay that handles applications, prevents conflicts between applications, and resolves conflicts between applications. The system API may be provided as part of the xpressa Development Kit ™.

1.5.3.1 애플리케이션 관리자1.5.3.1 Application Manager

애플리케이션 관리자는 제1 TCD상에 존재하면서 제1 TCD로 애플리케이션을로딩하거나 언로딩하는 것을 가능하게 하는 웹 서버로 구성될 수 있다. 따라서, 사용자는 웹 브라우저를 사용하여 웹 서버에 액세스할 수 있다. 이러한 웹 브라우저는 제1 TCD자체 상에나 컴퓨터와 같은 다른 네트워크 자원 상에 존재할 수 있다. 예컨대, 도 7과 관련하여 후술될 바와 같이, 만약 제1 TCD가 텔레폰으로서 구현되면, 웹 브라우저 및 다른 툴을 컴퓨터 상에 인스톨하여 애플리케이션 개발자나 다른 사람들에게 애플리케이션을 개발하고 업로딩하기 위한 컴퓨터의 보다 광대한 자원(예컨대, 메모리, 비디오 모니터, 키보드 및 마우스)에 대한 액세스를 제공하는 것이 바람직할 것이다.The application manager may be configured as a web server that resides on the first TCD and enables loading or unloading of applications with the first TCD. Thus, a user can access a web server using a web browser. Such a web browser may reside on the first TCD itself or on another network resource such as a computer. For example, as described below with respect to FIG. 7, if the first TCD is implemented as a telephone, a more extensive computer may be used to install web browsers and other tools on the computer to develop and upload applications to application developers or others. It would be desirable to provide access to one resource (eg, memory, video monitor, keyboard, and mouse).

애플리케이션 관리자 웹 서버를 통해 애플리케이션을 애플리케이션 층(3)에 추가하기 위해, 사용자는 위치 및 파일 이름을 지정할 수 있다. 예컨대, 웹 브라우저를 통해, 사용자는 실행 파일, 예컨대 JAVA 아카이브(.JAR) 파일이 위치하고 있는 URL을 지정할 수 있다.To add an application to the application layer 3 via the application manager web server, the user can specify a location and file name. For example, via a web browser, a user can specify a URL where an executable file, such as a JAVA archive (.JAR) file, is located.

제1 TCD의 구성에 따라, 애플리케이션 관리자 웹 서버는 지정된 파일을 제1 TCD 자체 상에 저장하거나, 지정된 파일을 다른 네트워크 자원 상에 저장해 그 위치에 대한 포인터를 유지하거나, 또는 사용자에 의해 지정된 URL에 대한 포인터를 저장할 수 있다.Depending on the configuration of the first TCD, the application manager web server stores the specified file on the first TCD itself, stores the specified file on another network resource to maintain a pointer to its location, or to a URL specified by the user. Can store a pointer to

애플리케이션을 언인스톨하기 위해, 사용자는 웹 브라우저를 통해 단지 애플리케이션 이름을 입력하면 되며, 애플리케이션 관리자 웹 서버는 지정된 애플리케이션을 언인스톨할 것이다.To uninstall an application, the user only needs to enter the application name via a web browser, and the Application Manager web server will uninstall the specified application.

애플리케이션 관리자는 웹기반 고객/서버 애플리케이션 외에도 다른 타입의애플리케이션을 사용하여 구현될 수 있다.Application managers can be implemented using other types of applications in addition to web-based customer / server applications.

1.5.3.2 애플리케이션 중계자1.5.3.2 Application Repeater

애플리케이션 중계자는 2개의 일반 기능, 안전 및 충돌 해소를 제공하도록 구성될 수 있다.The application relay can be configured to provide two general functions, safety and conflict resolution.

애플리케이션 중계자는 애플리케이션들의 추가, 수정 및 실행을 조절함으로써 제1 TCD에 대한 안전을 제공할 수 있다. 예컨대, 애플리케이션 중계자는 제1 TCD 상에 인스톨되고 있거나 수정 및 재인스톨되고 있는 애플리케이션에게 일정한 기준을 만족하도록 요구할 수 있다. 예컨대, 애플리케이션은 제1 TCD 자원, 예컨대 애플리케이션이 실행시 사용하는 추상화의 리스트를 등록해야 할 수 있다. 애플리케이션 중계자는 만약 애플리케이션이 그러한 리스트를 포함하지 않을 경우 그 애플리케이션을 거절하도록 구성될 수 있다.The application relay can provide security for the first TCD by adjusting the addition, modification and execution of the applications. For example, the application relay may request an application being installed on the first TCD or being modified and reinstalled to satisfy certain criteria. For example, an application may need to register a first TCD resource, such as a list of abstractions that the application uses when executing. The application relay may be configured to reject the application if the application does not include such a list.

만약 애플리케이션이 리스트를 포함한다면, 리스트를 조사한 후에, 애플리케이션 중계자는 애플리케이션에게 수정되거나 일정한 자원을 사용하지 않도록 요구하면서 애플리케이션을 거절할 수 있다. 이에 대해, 애플리케이션 중계자는 애플리케이션을 받아들이고 그 애플리케이션에 승인의 표시를 붙여 애플리케이션이 제1 TCD 상에 인스톨되거나 실행되게 할 수 있다.If the application contains a list, after examining the list, the application relayer can reject the application, asking the application not to modify or use certain resources. In response, the application relay may accept the application and mark the application with an approval to cause the application to be installed or run on the first TCD.

애플리케이션 중계자는 애플리케이션을 자동적으로 받아들이거나 거절하도록 구성되거나, 사용자 인터페이스를 제공하여 사용자, 예컨대 시스템 관리자가 각 애플리케이션에 대한 자원의 리스트를 검토하여 수동으로 애플리케이션을 받아들이거나 거절할 수 있도록 할 수 있다.The application relay may be configured to automatically accept or reject the application, or provide a user interface to allow a user, such as a system administrator, to review the list of resources for each application to manually accept or reject the application.

애플리케이션 중계자는 또한 실행 중에 애플리케이션을 모니터링하도록 구성될 수도 있다. 만약 애플리케이션이 애플리케이션 중계자를 가지고 등록하지 않았던 자원을 사용한다면, 애플리케이션 중계자는 애플리케이션이 더 이상 실행되지 못하도록 할 수 있다.The application relay may also be configured to monitor the application while running. If the application uses a resource that has not been registered with the application relay, the application relay can prevent the application from running anymore.

애플리케이션 중계자에 의해 제공되는 다른 일반 기능은 충돌 해소이다. 일반적인 통신 네트워크 상에, 충돌은 통신 네트워크 상에서 동작하는 텔레폰 기능간에 발생될 수 있다. 역사적으로, PBX기반 텔레폰 네트워크는 가능한 충돌에 대해 테스트하고 충돌이 일어날 경우 적당한 조치를 제공할 수 있도록 노력해왔다. 그러나, 수정가능하고 확장 가능한 기능을 가지는 하나 이상의 TCD를 구비한 통신 네트워크 상에서, 각 TCD는 그 위에서 정의된 고유의 애플리케이션 집합을 가질 수 있으며, 따라서 충돌이 덜 빈번하게 발생하게 될 수 있다. 그러므로, 이러한 잠재적인 충돌을 어드레싱하기 위한 보다 혁신적인 기법을 적용하는 것이 바람직할 수 있으며, 이러한 기법은 애플리케이션간의 충돌을 방지하기 위한 기법과 충돌이 발생할 경우 충돌을 식별하고 해소할 기법을 포함한다.Another common feature provided by the application relay is conflict resolution. On a typical communication network, conflicts can arise between telephony functions operating on a communication network. Historically, PBX-based telephony networks have tried to test for possible collisions and provide appropriate action in the event of a collision. However, on a communication network with one or more TCDs with modifiable and extensible functionality, each TCD may have its own set of applications defined thereon, thus causing collisions to occur less frequently. Therefore, it may be desirable to apply more innovative techniques for addressing these potential conflicts, which include techniques for preventing conflicts between applications and techniques for identifying and resolving conflicts in the event of a conflict.

따라서, 애플리케이션 중계자는 TCD 상에 존재하거나 실행되는 2개 이상의 애플리케이션간의 충돌을 해소하도록 구성될 수 있다.Thus, the application relay can be configured to resolve conflicts between two or more applications present or running on the TCD.

전술한 바와 같이, 애플리케이션은 텔레폰 이벤트를 모니터링하는 핵심 텔레폰 기능 층(9)의 추상화와 통신할 수 있다. 구체적으로, 애플리케이션은 이벤트 발생의 결과로서 통지되도록 등록할 수 있다. 첫째로, 2개 이상의 애플리케이션이 통지하도록 등록된 이벤트에 대한 애플리케이션간의 충돌을 처리하기 위해, 애플리케이션 중계자는 애플리케이션이 통지되어야 할 순서를 정의하도록 구성될 수 있다. 둘째로, 애플리케이션 중계자는 애플리케이션이 a)텔레폰 이벤트를 조정하고 중계할지 b)텔레폰 이벤트를 소비하고 중계하지 않을지 정의하도록 구성될 수 있다.As mentioned above, the application can communicate with the abstraction of the core telephony functional layer 9 that monitors telephony events. Specifically, an application can register to be notified as a result of an event occurrence. First, in order to handle conflicts between applications for events registered for notification by two or more applications, the application relay may be configured to define the order in which the applications should be notified. Secondly, the application relay may be configured to define whether the application will a) coordinate and relay telephony events or b) consume and not telephony events.

만약 애플리케이션이 이벤트를 조정한다면, 애플리케이션이 이벤트의 발생에 따라 기능을 실행한 후에, 애플리케이션은 다음으로 등록된 애플리케이션에게 이벤트의 발생을 통지한다. 만약 애플리케이션이 이벤트를 소비하도록 정의된다면, 애플리케이션이 이벤트의 발생에 따라 기능을 실행한 후에, 애플리케이션은 추가의 등록된 애플리케이션에게 이벤트의 발생을 통지하지 않는다.If the application coordinates the event, after the application executes the function according to the occurrence of the event, the application then notifies the registered application of the occurrence of the event. If an application is defined to consume an event, after the application executes the function according to the occurrence of the event, the application does not notify the additional registered application of the occurrence of the event.

예컨대, 콜 대기 애플리케이션(call waiting application)은 콜 처리 모듈(31)에 의해 정의된 현재의 콜 이벤트를 상태변화에 대해 모니터링하도록 구성될 수 있으며, 새로운 콜이 입력되고 있는지를 결정하기 위해 네트워크로부터 입력 콜 이벤트를 모니터링할 수 있다. 만약 현재의 콜 상태가 변하지 않았다면(즉, 텔레폰 콜이 여전히 진행중이라면), 그 후, 만약 입력 콜 이벤트가 발생한다면, 콜 대기 애플리케이션은 (a)콜 대기를 트리거하는 이벤트를 조정하고 또한 새로운 입력 콜에 대한 정보를 그러한 통지에 대해 등록했던 임의의 다른 애플리케이션으로 보내거나, (b)콜 대기를 트리거하는 이벤트를 소비하고 비록 애플리케이션이 자동 통지에 대해 등록되어 있더라도 새로운 콜에 대한 어떠한 정보도 그 다른 애플리케이션으로 보내지 않거나 중에 하나를 할 수 있다. 예컨대, 비록 콜 전달 애플리케이션(call forwarding application)이 입력 콜이 발생할 때 통지하도록 등록될 수있을 지라도, 만약 콜 전달 애플리케이션이 콜 대기 애플리케이션 후에 오고 콜 대기 애플리케이션이 입력 콜 이벤트를 소비하도록 정의된다면, 콜 전달 애플리케이션에게 입력 콜은 통지되지 않을 것이며, 입력 콜에 대한 어떠한 정보도 수신하지 못할 것이다. 콜 전달 애플리케이션이 입력 콜에 대해 통지하는 것을 방지함으로써, 콜 대기 애플리케이션과 콜 전달 애플리케이션간의 충돌은 회피될 수 있었다.For example, a call waiting application can be configured to monitor for current state of a current call event defined by the call handling module 31 and input from the network to determine if a new call is being entered. You can monitor call events. If the current call state has not changed (i.e., the telephone call is still in progress), then, if an input call event occurs, the call waiting application coordinates (a) the event that triggers the call waiting and also a new input call. Send information about any other application that has registered for such a notification, or (b) consume an event that triggers a call waiting, and no information about the new call is sent to that other application, even if the application is registered for automatic notification. You can either do not send it or do it either. For example, although a call forwarding application may be registered to notify when an incoming call occurs, if the call forwarding application comes after the call waiting application and the call waiting application is defined to consume the input call event, call forwarding application. The application will not be notified of the input call and will not receive any information about the input call. By preventing the call forwarding application from notifying about an incoming call, a collision between the call waiting application and the call forwarding application could be avoided.

1.5.4 매체 API1.5.4 Media API

비록 텔레폰 API(8)가 개발자가 잘 정의된 상대적으로 고레벨 빌딩 블록, 예컨대 JTAPI에 의해 제공되는 추상화를 사용하여 텔레포니 애플리케이션을 개발하는 것을 가능하게 할 지라도, 저레벨 매체 처리 빌딩 블록을 사용하여 보다 전용의 매체 처리 애플리케이션을 개발하는 것이 바람직할 것이다.Although the Telephony API 8 enables developers to develop telephony applications using well-defined relatively high-level building blocks, such as the abstraction provided by JTAPI, more dedicated use of low-level media processing building blocks. It would be desirable to develop a media processing application.

따라서, 매체 API(10)는 개발자가 도 3 및 4와 관련해 보다 상세하게 전술된 매체 처리 모듈(29)의 매체 추상화에 직접 액세스하고 처리하는 것을 가능하게 하는 툴을 제공할 수 있다. 개발자는 매체 처리 제어기(115)가 매체 처리 소자를 연결하고, 생성하며, 파괴시키도록 방법을 발생시킴으로써 가입자 매체 기능(custom media function)을 정의하는 매체 API(10)를 사용하여 제1 TCD 상에서 동작하는 전용 매체 처리 애플리케이션을 개발할 수 있다.Accordingly, the media API 10 may provide a tool that enables a developer to directly access and process the media abstraction of the media processing module 29 described above in more detail with respect to FIGS. 3 and 4. The developer operates on the first TCD using a media API 10 that defines a custom media function by generating a method for the media processing controller 115 to connect, create, and destroy the media processing elements. Dedicated media processing applications can be developed.

예컨대, 매체 API(10)는 회의 콜 내의 2명 이상의 참가자가 회의 콜 중에 사이드 회의(side conference)를 수행하는 것을 가능하게 하는 애플리케이션, 특정 프로토콜, 예컨대 MP3예 따르는 스트리밍 오디오가 텔레폰 콜에 혼합되는 것을 가능하게 하는 애플리케이션, 또는 제1 TCD 상에 주문형 음성메일 시스템을 구현하는애플리케이션을 개발하기 위한 매체 처리 모듈(29)의 다수의 매체 처리 소자를 생성하고 결합하는데 사용될 수 있다.For example, the media API 10 may allow an application to enable two or more participants in a conference call to conduct a side conference during a conference call, such that streaming audio following a particular protocol, such as MP3, is mixed into the telephone call. It may be used to create and combine a number of media processing elements of the media processing module 29 for developing an application that enables, or an application that implements an on-demand voicemail system on the first TCD.

애플리케이션 층(3)의 텔레포니 애플리케이션 및 다른 고레벨 추상화는 매체 처리 제어기(115)를 사용하여 텔레폰 콜 중에 매체 처리 구성요소(30)를 동적으로 생성하고 매체 처리 소자를 연결할 수 있다. 또한, 텔레포니 애플리케이션은 매체 처리 소자를 고유한 방식으로 구성하여 텔레포니 애플리케이션에 의해 제공되는 특별한 특징에 대한 가입자 매체 처리 추상화를 생성하도록 정의될 수 있다.Telephony applications and other high level abstractions of the application layer 3 may use the media processing controller 115 to dynamically generate the media processing component 30 and connect the media processing elements during the telephone call. In addition, telephony applications can be defined to construct media processing elements in a unique manner to create subscriber media processing abstractions for particular features provided by telephony applications.

2. 텔레폰 통신 장치의 텔레폰 구현2. Telephone implementation of the telephone communication device

도 5는 텔레폰(200)으로서의 제1 TCD의 일 실시예를 보여주는 도면이다. 텔레폰(200)은 통신 네트워크의 네트워크 매체에 접속되는 탁상 텔레폰일 수 있다. 예컨대, 텔레폰(200)은 매사추세츠 Woburn의 Pingtel 코퍼레이션의 Pingtel xpressa™와 같은 탁상 LAN접속 텔레폰일 수 있으며, 2000년 3월 20일에 출원된 James A. Batson, Jr. 등의 "텔레폰 본체(Telephone Base)"라는 명칭의 미국 의장 번호 제29/120,479호에서 보여지는 바와 같은 장식적인 설계를 가질 수 있다.5 shows an embodiment of a first TCD as the telephone 200. The telephone 200 may be a desk telephone that is connected to a network medium of a communication network. For example, the telephone 200 may be a desktop LAN-connected telephone such as Pingtel xpressa ™ from Pingtel Corporation of Woburn, Massachusetts, and may be used by James A. Batson, Jr., filed March 20, 2000. It may have a decorative design as shown in U. S. Patent No. 29 / 120,479 entitled " Telephone Base "

이에 대해, 제1 TCD는 보다 간결한 형태로, 예컨대 아날로그 이동 텔레폰, 개인 휴대 통신(Personal Communications Service; PCS) 무선 텔레폰 또는 제3 세대(3G) 무선 텔레폰과 같은 배터리구동 무선 텔레폰의 형태로 구현될 수 있다.In this regard, the first TCD may be implemented in a more concise form, for example in the form of a battery powered wireless telephone such as an analog mobile telephone, a Personal Communications Service (PCS) wireless telephone or a third generation (3G) wireless telephone. have.

도 5에 보여지는 바와 같이, 텔레폰(200)은 텔레폰 본체(202) 및 송수화기(handset)(204)를 포함하는 사용자 인터페이스를 제공한다. 텔레폰 본체(202)는 디스플레이 스크린(206); 스크롤 휠(208); 내용-특정형 버튼(210); 추가 버튼(212); 다이얼 버튼(214); 볼륨 버튼(216); 텔레폰 기능 버튼(218); 본체 스피커/마이크로폰(222)에 대응하는 스피커 폰 버튼(220); 및 시각 표시기(224)를 포함할 수 있다.As shown in FIG. 5, the telephone 200 provides a user interface that includes a telephone body 202 and a handset 204. The telephone body 202 includes a display screen 206; Scroll wheel 208; Content-specific button 210; Add button 212; Dial button 214; Volume button 216; Telephone function button 218; A speaker phone button 220 corresponding to the main speaker / microphone 222; And a visual indicator 224.

다이얼 버튼(24)은 텔레폰 번호를 다이얼 하는데 사용될 수 있다. 이에 대해, 텔레폰 본체(202)는 텔레폰 번호를 입력하기 위한 다른 인터페이스 제어, 예컨대 회전식 다이얼을 포함할 수 있다.Dial button 24 may be used to dial a telephone number. In this regard, the telephone body 202 may include other interface controls, such as a rotary dial, for entering the telephone number.

텔레폰 기능 버튼(218) 각각은 특정 텔레폰 기능, 예컨대 송수화기를 활동시키거나 비활동시키기, 콜 전송하기, 마이크로폰 본체를 묵음시키기, 회의 콜, 및 콜을 대기 상태로 두기를 수행하는데 사용될 수 있다. 또한, 각각의 버튼(218)은 버튼이 활성화되는 동한 빛나는 관련 시각 표시기를 가질 수 있다. 예컨대, 대기 버튼(218)에 대해, 콜이 대기중이라면 그 버튼(218)과 관련된 표시기가 빛날 수 있다.Each of the telephone function buttons 218 may be used to perform certain telephone functions, such as to activate or deactivate the handset, to send a call, to silence the microphone body, to make a conference call, and to place a call on hold. In addition, each button 218 may have a light associated visual indicator while the button is activated. For example, for wait button 218, an indicator associated with that button 218 may glow if the call is on hold.

시각 표시기(224)는 하나 이상의 텔레폰 이벤트, 예컨대 텔레폰(200)의 사용자가 음성메시지를 가지고 있다거나 콜이 입력되고 있다는 것을 표시하기 위해 사용될 수 있다. 다른 시각 표시기는 텔레폰(200) 상에 유도될 수 있다.The visual indicator 224 may be used to indicate one or more telephony events, such as that the user of the telephony 200 has a voice message or that a call is being input. Another visual indicator may be guided on the telephone 200.

디스플레이 스크린(206)은 LCD(liquid crystal display)일 수 있으며, 애플리케이션에 의해 제공되는 데이터 및 다른 정보를 표시할 수 있다. 또한, 디스플레이 스크린(206)은 선택이나 엔트리가 접촉에 의해 디스플레이 스크린(206) 상에 입력될 수 있는 접촉식 로직으로 설계될 수 있다. 사용자 인터페이스 제어(208, 210 및 212)는 표시된 데이터 및 정보에 액세스하기 위해 사용될 수 있다.The display screen 206 may be a liquid crystal display (LCD) and may display data and other information provided by the application. In addition, the display screen 206 may be designed with contact logic in which a selection or entry may be entered on the display screen 206 by contact. User interface controls 208, 210, and 212 can be used to access displayed data and information.

스크롤 휠(208)은 그래픽 사용자 인터페이스를 가지고 집적되어, 디스플레이 스크린(206) 상의 정보의 위치를 조절하거나 디스플레이 스크린(206) 상에 표시된 아이템을 선택하기 위해 사용될 수 있다. 스크롤 휠(208)은 사용자가 디스플레이 스크린(206)상에 표시된 내용의 페이지와 대화하는 것을 가능하게 한다. 사용자는 스크롤 휠을 사용하여 데이터를 끌어내리거나 스크롤함으로써 디스플레이 스크린(206) 상에 표시된 정보를 변화시킬 수 있으며, 특정 아이템을 선택할 수 있다.The scroll wheel 208 can be integrated with a graphical user interface and used to adjust the location of information on the display screen 206 or to select an item displayed on the display screen 206. Scroll wheel 208 enables a user to interact with a page of content displayed on display screen 206. The user can change the information displayed on the display screen 206 by dragging or scrolling data using the scroll wheel and selecting a particular item.

하나 이상의 애플리케이션은 스크롤 휠이 애플리케이션-의존적이 되도록 구성할 수 있다. 그러한 애플리케이션은 스크롤링 및 활동을 선택하는 양자 모두에 대해 다양한 옵션을 제공하여, 애플리케이션이 이들 활동의 바람직한 결합으로 구성될 수 있도록 한다.One or more applications may configure the scroll wheel to be application-dependent. Such applications provide various options for both scrolling and selecting activities, allowing the application to be configured with the desired combination of these activities.

스크롤 휠(208)이 움직이는 방향은 디스플레이 스크린(206) 상에 표시된 내용을 통한 순방향 또는 역방향 진행을 결정할 수 있다. 예컨대, 시계방향은 내용에 대한 순방향 진행을 야기할 수 있고, 반시계방향은 내용에 대한 역방향 진행을 야기할 수 있으며, 이는 반대로 될 수도 있다.The direction in which the scroll wheel 208 moves may determine forward or reverse progress through the content displayed on the display screen 206. For example, clockwise may cause forward progression to content, and counterclockwise may result in reverse progression to content, which may be reversed.

멈춤쇠(detent)는 움직임을 체크하는 장치이다. 스크롤 휠(208)은 멈춤쇠를 사용하여 사용자에게 피드백을 제공할 수 있다. 스크롤 휠이 턴되는 동안 발생되는 각 움직임 멈춤은 새로운 위치에 도달하였음을 표시한다. 선택적으로, 스크롤 휠(208)은 한 방향으로 연속적으로 턴되고, 각 멈춤쇠는 단순한 순방향 또는 역방향 움직임을 표시하며, 스크롤링 비율이 멈춤쇠에서 멈춤쇠까지 일정하도록 구성될수 있다.Detents are devices that check movement. The scroll wheel 208 can use the detent to provide feedback to the user. Each stop motion that occurs while the scroll wheel is turning indicates that a new position has been reached. Optionally, the scroll wheel 208 is continuously turned in one direction, each detent represents a simple forward or reverse movement, and the scrolling ratio may be configured such that the scrolling rate is constant from detent to detent.

이에 대해, 스크롤 휠(208)은 스크롤 휠(208)이 턴될 수 있는 정도가 특정한 수, 예컨대 3으로 제한되고, 각 방향에서 멈춤쇠 위치 및 휠이 턴되면서 증가하는 저항이 제공되도록 구성될 수 있다. 또한, 사용자가 스크롤 휠(208)을 놓는 결과로서, 자동적으로 방향성 멈춤쇠의 집합들간의 휴지 위치(rest position)를 나타내는 멈춤쇠로 돌아갈 수 있다.In this regard, the scroll wheel 208 may be configured such that the extent to which the scroll wheel 208 can be turned is limited to a certain number, such as three, to provide a detent position in each direction and increasing resistance as the wheel turns. . Also, as a result of the user releasing the scroll wheel 208, the user can automatically return to a detent indicating a rest position between sets of directional detents.

스크롤 휠(208)은 사용자가 멈춤쇠들을 사용하여 특정 스크롤 비율을 선택할 수 있도록 구성될 수 있다. 이에 대해, 스크롤 비율은 고정되거나 고정과 가변의 조합으로 될 수 있다. 아래 표 1은 이를 가지고 스크롤 휠(208)이 구성될 수 있는 소정의 스크롤 휠 위치에 대한 다양한 비율을 보여준다.Scroll wheel 208 may be configured to allow a user to select a particular scroll ratio using pawls. In this regard, the scroll ratio can be fixed or a combination of fixed and variable. Table 1 below shows the various ratios for any scroll wheel position with which the scroll wheel 208 can be configured.

스크롤 휠 위치Scroll wheel position 고정 비율 옵션Fixed ratio option 고정 및 가변 비율 옵션Fixed and variable ratio options 휴지 - 제1 멈춤쇠Pause-First Detent 고정, 느린 비율Fixed, slow rate 고정, 느린 비율Fixed, slow rate 제1 - 제2 멈춤쇠1st-2nd detent 고정, 중간 비율Fixed, medium ratio 고정, 중간 비율Fixed, medium ratio 제2 - 제3 멈춤쇠Second-third detent 고정, 빠른 비율Fixed, fast ratio 가속, 빠른 비율Acceleration, fast ratio

표 1Table 1

조합된 고정 및 가변 비율 옵션에 대해, A-D 컨버터는 스크롤 휠 위치를 감지하기 위해 사용될 수 있다.For combined fixed and variable ratio options, the A-D converter can be used to detect scroll wheel position.

텔레폰(200)은 다수의 GUI 방법으로 구성되어, 디스플레이 스크린(206)으로부터 아이템을 선택하도록 할 수 있다. 예컨대, 추가 버튼(212)은 메뉴, 도움말 및 다른 애플리케이션과 같은 향상된 기능에 액세스하도록 구성될 수 있다. 예컨대, 추가 버튼(212)은, 만약 그 버튼이 눌러지면 디스플레이 스크린(206)이, 제1 TCD 상에 인스톨되어 있는 애플리케이션을 리스팅하고 기동시키며, 내용-특정형 도움말(context-specific help)을 얻고, 애플리케이션에 의해 제공되는 기능들을 리스팅하는 탭을 제공하도록 구성될 수 있다.The telephony 200 may be configured in a number of GUI methods to allow selection of items from the display screen 206. For example, the add button 212 can be configured to access enhanced features such as menus, help, and other applications. For example, the add button 212 may cause the display screen 206 to list and launch an application installed on the first TCD if the button is pressed, to obtain context-specific help. It may be configured to provide a tab that lists the functions provided by the application.

사용자가 스크롤함에 따라 디스플레이 스크린(206)에 제공되는 내용의 매 페이지마다, 하나의 아이템이 강조된다. 이러한 아이템은 시각적 신호, 예컨대 반전 영상(reverse video) 또는 다른 시각 강조, 또는 화살표나 아이콘과 같은 그 아이템 다음에 위치하는 표시기에 의해 강조될 수 있다.As the user scrolls, for every page of content provided on the display screen 206, one item is highlighted. Such an item may be highlighted by a visual signal, such as reverse video or other visual highlight, or by an indicator next to the item, such as an arrow or icon.

내용-특정형 버튼(210)도 또한 제공될 수 있다. 만약 애플리케이션이 이러한 버튼(210)을 사용하도록 구성된다면, 애플리케이션에 따라, 사용자가 스크롤함에 따라 디스플레이 스크린(206)에 표시되는 내용의 매 페이지마다 하나 이상의 아이템이 내용-특정형 버튼(210)과 함께 정렬되도록 리스팅될 수 있다. 어떤 아이템에 대응하는 내용-특정형 버튼(210)을 누르는 것은 해당 아이템을 선택해서 애플리케이션이 시작하는 것을 가능하게 한다. 선택적으로, 눌려진 내용-특정형 버튼(210)에 대응하는 아이템은 비록 또 다른 아이템이 반전 영상과 같은 시각적 신호에 의해 현재 강조되고 있을 지라도 부가적인 애플리케이션 처리를 위해 선택된다.Content-specific buttons 210 may also be provided. If the application is configured to use these buttons 210, depending on the application, one or more items, along with the content-specific button 210, may be present on every page of content displayed on the display screen 206 as the user scrolls. Can be listed to be sorted. Pressing the content-specific button 210 corresponding to an item enables the application to start by selecting that item. Optionally, the item corresponding to the pressed content-specific button 210 is selected for additional application processing, although another item is currently highlighted by a visual signal such as a reverse image.

그러므로, 각 버튼(210)의 기능은 디스플레이 스크린(206)에 표시되고 있는 내용에 의존한다. 특히, 각 버튼(210)은 디스플레이 스크린(206)의 특정 위치에 표시되고 있는 내용의 아이템에 해당한다.Therefore, the function of each button 210 depends on the content being displayed on the display screen 206. In particular, each button 210 corresponds to an item of content being displayed at a particular location on the display screen 206.

예컨대, 도 6을 참조하면, 디스플레이 스크린(206)은 애플리케이션의 리스트를 표시하고 있다. 디스플레이 스크린(206)의 좌우 측을 따라 배치된 버튼(210)은각각 특정 애플리케이션 아이템에 해당한다. 만약 사용자가 이러한 아이템 중 하나를 누르면, 그 버튼에 대응하는 애플리케이션이 실행될 것이며, 이것은 디스플레이 스크린(206)이 그 애플리케이션에 지정된 새로운 내용을 현재 표시하고 있는 결과를 낳는다.For example, referring to FIG. 6, display screen 206 is displaying a list of applications. Buttons 210 disposed along the left and right sides of the display screen 206 correspond to specific application items, respectively. If the user presses one of these items, the application corresponding to that button will be launched, resulting in the display screen 206 currently displaying new content assigned to that application.

디스플레이 스크린(206)의 바닥을 따라 배치된 내용-특정형 버튼(210)은 디스플레이 스크린(206)에 표시되어야 할 내용의 본체를 결정할 수 있다. 예컨대, 도 6에서 각 버튼(210)은 디스플레이 스크린(206)의 바닥에 있는 탭에 해당하며, 여기서 각 탭은 표시되어야 할 내용의 상이한 본체에 해당한다.Content-specific buttons 210 disposed along the bottom of display screen 206 may determine the body of content to be displayed on display screen 206. For example, in FIG. 6, each button 210 corresponds to a tab at the bottom of the display screen 206, where each tab corresponds to a different body of content to be displayed.

제1 애플리케이션은, 만약 제2 애플리케이션에 의해 표시되어야 할 내용, 예컨대 리스트가 디스플레이 스크린(206)에 맞지 않으면 슬라이더가 제2 애플리케이션에 의해 표시되어야 할 전체 내용에 대한 디스플레이 스크린(206) 상에 표시되고 있는 내용의 위치를 표시하도록 디스플레이 스크린(206)을 구성할 수 있다.The first application is displayed on the display screen 206 for the entire content to be displayed by the second application if the content to be displayed by the second application, for example the list, does not fit the display screen 206. The display screen 206 can be configured to indicate the location of the content.

도 5 및 6은 TCD 구현을 위한 텔레폰 및 사용자 인터페이스의 실시예들을 보여준다. 이러한 실시예는 예시적인 목적이며, 여기서 설명된 것만큼의, 다양한 구성 중의 하나를 가지는 텔레폰의 다수의 다른 실시예들이 TCD를 구현하기 위해 사용될 수 있다.5 and 6 show embodiments of a telephone and user interface for a TCD implementation. This embodiment is for illustrative purposes, and many other embodiments of a telephone having one of a variety of configurations, as described herein, may be used to implement the TCD.

3. 통신 네트워크3. Communication network

제1 TCD가 위치하는 통신 네트워크는 다양한 구성 중의 하나를 가질 수 있다. 예컨대, 통신 네트워크는 단지 하나의 네트워크 매체와 2 이상의 TCD만을 포함할 수 있다. 비록 통신 네트워크가 네트워크 통신 매체와 같은 와이어(즉, 케이블)를 가지는 와이어기반 네트워크로서 주로 여기서 설명된다할 지라도, 통신 네트워크는 다양한 무선 프로토콜, 예컨대 PCS 네트워크에 대한 프로토콜, 3G 네트워크를 위한 프로토콜 또는 IEEE 802.11에 의해 정의된 무선 이더넷 프로토콜 중의 하나에 따르고, 반송파 및 광섬유 케이블과 같은 다양한 네트워크 통신 매체 중의 하나를 가지는 다양한 형태의 네트워크 중의 하나일 수 있다. 또한, 도 7과 관련하여 후술될 바와 같이, 통신 네트워크는 복수의 서브-네트워크 또는 세그먼트를 포함할 수 있으며, 여기서 각 서브-네트워크는 복수의 통신 매체 중의 하나를 포함할 수 있다.The communication network in which the first TCD is located may have one of a variety of configurations. For example, a communication network may include only one network medium and two or more TCDs. Although the communication network is mainly described herein as a wire-based network having the same wire (ie, cable) as the network communication medium, the communication network has various wireless protocols, such as protocols for PCS networks, protocols for 3G networks, or IEEE 802.11. According to one of the wireless Ethernet protocols defined by and may be one of various types of networks having one of various network communication media such as carrier waves and fiber optic cables. In addition, as will be described below with respect to FIG. 7, a communication network may include a plurality of sub-networks or segments, where each sub-network may include one of a plurality of communication media.

도 7은 통신 네트워크(300)의 일 실시예를 보여주는 도면이다. 통신 네트워크(300)는 도면 부호 332의 네트워크 통신 매체 및 도면 부호 302 및 306을 포함하는 복수의 TCD를 포함할 수 있다. 통신 네트워크(300)는, 2 이상의 TCD 간의 텔레폰 콜을 수행하기 위해 어떤 다른 네트워크 자원도 필요하지 않도록 구성될 수 있다. 예컨대, 각 TCD는, TCD 상에서 실행되어야 할 모든 텔레포니 애플리케이션이 그 TCD 상에서 완전히 존재하도록 구성될 수 있다. 또한, 각 TCD는, 텔레폰 콜 참가자 각각의 네트워크 어드레스 및 임의의 애플리케이션을 실행하기 위해 필요한 임의의 데이터를 포함하는, 텔레폰 콜을 설정하기 위해 필요한 모든 데이터도 또한 TCD 상에 완전히 저장되도록 구성될 수 있다.7 illustrates one embodiment of a communications network 300. The communication network 300 may include a network communication medium at 332 and a plurality of TCDs including 302 and 306. The communication network 300 may be configured such that no other network resources are needed to conduct a telephone call between two or more TCDs. For example, each TCD may be configured such that all telephony applications that are to be run on the TCD are fully present on that TCD. In addition, each TCD may also be configured such that all data necessary to set up a telephone call is also stored completely on the TCD, including the network address of each telephone call participant and any data needed to run any application. .

이에 대해, 통신 네트워크(300)는, 데이터 애플리케이션 및 애플리케이션의 일부를 저장하고 하나 이상의 텔레포니 애플리케이션을 수행하는데 지원하기 위한, 하나 이상의 다른 네트워크 자원을 포함하여, 더 분배될 수 있다.In this regard, communication network 300 may be further distributed, including one or more other network resources, to store data applications and portions of applications and to assist in performing one or more telephony applications.

따라서, 통신 네트워크(300)는 하나 이상의 컴페니언 장치(companion device), 예컨대 컴페니언 장치(304 및 310), 디렉토리 데이터베이스(308 및 320)를 포함하는 하나 이상의 디렉토리 데이터베이스, 하나의 TCD 배치 서버(314), 하나 이상의 애플리케이션 서버(318), 하나 이상의 콜 제어 서버(322), 하나 이상의 네트워크 인터페이스, 예컨대 IP/PSTN 게이트웨이(326) 및 하나 이상의 관리자 데이터베이스, 예컨대 관리자 데이터베이스(316)를 포함할 수 있다.Accordingly, communication network 300 may include one or more companion devices, such as companion devices 304 and 310, one or more directory databases including directory databases 308 and 320, one TCD deployment server. 314, one or more application servers 318, one or more call control servers 322, one or more network interfaces, such as IP / PSTN gateway 326, and one or more administrator databases, such as administrator database 316. have.

통신 네트워크(300)는 복수의 서브-네트워크 또는 세그먼트로 나누어질 수 있다. 예컨대, 네트워크 소자(302, 304, 308 및 310)는 네트워크 통신 매체(332)로부터 하나 이상의 네트워크 인터페이스 소자(312)에 의해 격리된 네트워크 통신 매체(334) 상에 위치할 수 있다. 하나 이상의 네트워크 인터페이스 소자(312)는 라우터, 브릿지, 스위치, 매체 게이트웨이, 마이크로파 송신기/수신기, 셀룰러 PCS 네트워크 소자, 또는 이들의 임의의 조합일 수 있으며, 이들은 네트워크 통신 매체(334 및 332)간의 데이터의 전송을 제어한다.Communication network 300 may be divided into a plurality of sub-networks or segments. For example, network elements 302, 304, 308, and 310 may be located on network communication medium 334 isolated by one or more network interface elements 312 from network communication medium 332. One or more network interface elements 312 may be a router, a bridge, a switch, a media gateway, a microwave transmitter / receiver, a cellular PCS network element, or any combination thereof, which may be used to determine the data between the network communication media 334 and 332. Control the transmission.

예컨대, 네트워크 소자(302, 304, 306, 308, 310 및 334)는 가입자 네트워크(340)의 일부일 수 있으며, 네트워크 소자(314, 318, 322, 326, 316, 320, 323 및 332)는 서비스 제공자 네트워크(324)의 일부일 수 있다.For example, network elements 302, 304, 306, 308, 310, and 334 may be part of subscriber network 340, and network elements 314, 318, 322, 326, 316, 320, 323, and 332 may be service providers. It may be part of network 324.

통신 네트워크(300)는, 통신 네트워크(300) 상의 TCD, 예컨대 TCD(302) 및 PSTN 상의 TCD, 예컨대 TCD(334)간의 폰 콜을 조정하기 위한 IP/PSTN 게이트웨이(326)를 포함할 수 있다. 통신 네트워크(300)의 구성에 따라, 상이한 타입의 게이트웨이가 PSTN 상의 TCD(334)와 통신하기 위해 사용될 수 있다.The communication network 300 may include an IP / PSTN gateway 326 for coordinating phone calls between a TCD on the communication network 300, such as the TCD 302 and a TCD on the PSTN, such as the TCD 334. Depending on the configuration of the communication network 300, different types of gateways may be used to communicate with the TCD 334 on the PSTN.

IP/PSTN 게이트웨이(326)는, 통신 네트워크(300)로부터 수신되고 하나 이상의 IP 프로토콜에 따르는 매체 및 콜 제어 메시지를 PSTN 프로토콜에 따르는 PSTN으로 송신되어야 할 매체 및 콜 제어 메시지로 변환한다. 역으로, IP/PSTN 게이트웨이는, PSTN으로부터의 PSTN 매체 및 콜 제어 메시지를 통신 네트워크(300)로 전송되어야 할 IP 매체 및 콜 제어 메시지로 변환하도록 구성될 수 있다.The IP / PSTN gateway 326 converts the medium and call control messages received from the communication network 300 and in accordance with one or more IP protocols to media and call control messages that should be sent to the PSTN in accordance with the PSTN protocol. Conversely, the IP / PSTN gateway may be configured to convert the PSTN media and call control messages from the PSTN into IP media and call control messages that should be sent to the communication network 300.

전술한 바와 같이, TCD(302)는, 텔레폰, 예컨대 도 5의 텔레폰(200) 또는 컴퓨터를 포함하는 복수의 장치 중 어떤 것일 수 있다. 만약 제1 TCD가 텔레폰이라면, 컴페니언 장치를 제공하여 부가적인 텔레폰 기능, 데이터 저장장치 및 텔레포니 애플리케이션을 개발하기 위한 환경을 포함하는 텔레폰을 위한 부가적인 자원을 제공하는 것이 바람직할 것이다.As mentioned above, the TCD 302 may be any of a plurality of devices including a telephone, such as the telephone 200 of FIG. 5 or a computer. If the first TCD is a telephone, it would be desirable to provide a companion device to provide additional resources for the telephone including an environment for developing additional telephone functionality, data storage and telephony applications.

예컨대, 사용자의 집 또는 사무실에서, 사용자는 텔레폰 콜에 참여하기 위한 텔레폰으로서 구현된 TCD를 가질 수 있으며, 다양한 다른 작업을 위한 범용의 컴퓨터를 가질 수 있다. 비록 사용자의 텔레폰이 텔레폰 콜에 참가하기 위한 보다 바람직한 인간 환경 공학적인 특징을 가지고 있다 할지라도, 범용 컴퓨터는 애플리케이션을 개발하고 데이터를 저장하고 검색하고 조작하기 위해 더 바람직한 복수의 특징을 가질 수 있다. 예컨대, 범용 컴퓨터는, TCD의 텔레폰 구현을 가지지 못하는 비디오 모니터, 키보드 및 마우스와 같은 주변장치를 포함할 수 있다. 또한 범용의 컴퓨터는 데이터 및 애플리케이션을 저장하고 애플리케이션을 동작시키기 위한 보다 확장형의 메모리를 가질 수 있다.For example, in a user's home or office, a user may have a TCD implemented as a telephone for participating in a telephone call and may have a general purpose computer for various other tasks. Although a user's telephone has more desirable ergonomic features for participating in a telephone call, a general purpose computer may have a plurality of more desirable features for developing applications, storing, retrieving and manipulating data. For example, a general purpose computer may include peripherals such as video monitors, keyboards and mice that do not have a telephony implementation of a TCD. A general purpose computer may also have more expandable memory for storing data and applications and for operating applications.

TCD를 위한 애플리케이션을 개발하기 위해, 컴페니언 장치는 개방된 API층(5) 및 핵심 텔레폰 기능 API 층(21)과 관련하여 전술된 API를 포함하는 복수의 API를 포함할 수 있다. 이러한 애플리케이션을 TCD 상으로 로딩하고, 애플리케이션을 TCD로부터 언로딩하기 위해, 컴페니언 장치는 시스템 API(7)와 관련하여 전술한 것과 같은 애플리케이션 관리자를 포함할 수 있다.To develop an application for the TCD, the companion device may include a plurality of APIs, including the APIs described above in connection with the open API layer 5 and the core telephone function API layer 21. In order to load such an application onto the TCD and to unload the application from the TCD, the companion device may include an application manager as described above with respect to the system API 7.

컴페니언 장치는 또한 통신 네트워크(300)의 다양한 양상을 관리하기 위한 관리 소프트웨어를 가지고 로딩될 수도 있다. 다른 네트워크 자원, 특히 TCD를 가지고 데이터를 저장하고 통신하기 위해, 컴페니언 장치는 Simple Network Management Protocol(SNMP), Hypertext Transport Protocol(HTTP), Remote Method Invocation(RMI), Hypertext Mark-up Language(HTML) 및 File Transfer Protocol(FTP)를 포함하는 다수의 프로토콜을 사용하여 통신하도록 구성될 수 있다.The companion device may also be loaded with management software for managing various aspects of the communication network 300. To store and communicate data with other network resources, especially TCDs, companion devices use the Simple Network Management Protocol (SNMP), Hypertext Transport Protocol (HTTP), Remote Method Invocation (RMI), and Hypertext Mark-up Language (HTML). And File Transfer Protocol (FTP) can be configured to communicate using a number of protocols.

디렉토리 데이터베이스(308)는 다른 사용자, TCD, 다른 네트워크 자원 또는 통신 네트워크(300) 자체에 대한 다양한 정보를 저장할 수 있다. 그러므로, 사용자는 이러한 정보에 액세스하여 텔레폰 콜을 조정하기 위해 다른 사용자에게 도달하는 방법을 결정할 수 있다. 예컨대, 디렉토리 데이터베이스(308)는, Microsoft 코퍼레이션의 Microsoft Outlook또는 Lotus Development 코퍼레이션의 Lotus Notes과 같은 상업용 디렉토리 또는 전화 번호부를 위한 데이터를 저장할 수 있다. 이러한 상업용 소프트웨어 제품은 TCD 자체 상에 또는 TCD에 대한 컴페니언 장치 상에 존재할 수 있으며, 정보에 대한 디렉토리 데이터베이스(308)에 액세스하도록 구성될 수 있다.Directory database 308 may store various information about other users, TCDs, other network resources, or communication network 300 itself. Therefore, the user can determine how to access this information and reach other users to coordinate the telephone call. For example, the directory database 308 may be a Microsoft Outlook of Microsoft Corporation. Notes in Lotus or Lotus Development Corporation It can store data for commercial directories or phone books such as: Such commercial software products may reside on the TCD itself or on a companion device to the TCD and may be configured to access the directory database 308 for information.

보다 자세히 후술할 바와 같이, 디렉토리 데이터베이스(320)와 같은 다른 디렉토리 데이터베이스는 하나 이상의 디렉토리 서버(323)에 대한 데이터를 저장할 수 있다.As will be discussed in more detail below, other directory databases, such as directory database 320, may store data for one or more directory servers 323.

도 1과 관련하여 전술한 바와 같이, 하나 이상의 텔레포니 애플리케이션이 TCD 상에서 완전히 저장되어 실행될 수 있고, 하나 이상의 애플리케이션이 애플리케이션의 적어도 일부가 또 다른 네트워크 자원에 저장되도록 분배될 수 있으며, 하나 이상의 추가 애플리케이션이 또 다른 네트워크 자원에 TCD로부터 떨어져 저장될 수 있는데, 여기서 TCD는 원격 애플리케이션에 대한 포인터를 유지한다. 하나 이상의 애플리케이션 서버(318)는, 하나 이상의 애플리케이션 및 적어도 하나 이상의 애플리케이션의 일부를 저장하는 네트워크 자원으로서의 역할을 할 수 있다.As described above with respect to FIG. 1, one or more telephony applications may be fully stored and executed on the TCD, one or more applications may be distributed such that at least some of the applications are stored in another network resource, and one or more additional applications may be Another network resource can be stored away from the TCD, where the TCD maintains a pointer to the remote application. One or more application servers 318 may serve as network resources for storing one or more applications and portions of at least one or more applications.

예컨대, 애플리케이션 서버(318)는 음성메일 애플리케이션 또는 가입자/서버 애플리케이션의 서버측을 포함할 수 있으며, 여기서 가입자측은 하나 이상의 다른 TCD 상에 존재한다. 또한, 비록 TCD가 도 3 및 4와 관련하여 전술한 바와 같이 회의 브릿징(conference bridging)을 지원할 수 있을 지라도, 만약 회의 콜에 포함되는 접속의 수가 너무 많아지면 추가 자원 또는 회의 브릿징에 보다 전용적인 자원을 가지는 애플리케이션 서버(318) 상에 존재하는 회의 브릿징 애플리케이션을 가지고 회의 브릿징을 수행하는 것이 더 효율적일 것이다.For example, application server 318 may include a server side of a voicemail application or subscriber / server application, where the subscriber side is on one or more other TCDs. Also, although the TCD may support conference bridging as described above with respect to FIGS. 3 and 4, if the number of connections included in the conference call is too large, it may be more dedicated to additional resources or conference bridging. It would be more efficient to perform conference bridging with a conference bridging application residing on an application server 318 having more resources.

통신 네트워크(300)는 TCD간의 콜을 지시하기 위한 하나 이상의 디렉토리 서버(323)를 포함할 수 있다. 각 디렉토리 서버(323)는, 텔레폰 번호, 지역명 또는 확장명과 같은 사용자 식별자(user identifier)를 네트워크 어드레스, 예컨대 IP어드레스에 대응시키는 복수의 디렉토리 또는 인덱스를 포함할 수 있다. 이러한 네트워크 어드레스는 사용자에게 할당된 TCD의 네트워크 어드레스일 수 있고, 또한 사용자에게 할당된 TCD의 네트워크 어드레스를 저장할 수 있는 또 다른 디렉토리 서버의 어드레스일 수 있으며, IP/PSTN 게이트웨이, 예컨대 IP/PSTN 게이트웨이(326)의 네트워크 어드레스일 수 있다. 하나 이상의 이러한 디렉토리는 디렉토리 서버(323)에 의해 액세스될 수 있는 디렉토리 데이터베이스(320)에 저장될 수 있다.The communication network 300 may include one or more directory servers 323 for directing calls between TCDs. Each directory server 323 may include a plurality of directories or indexes that map a user identifier, such as a telephone number, region name, or extension, to a network address, such as an IP address. This network address may be the network address of the TCD assigned to the user and may also be the address of another directory server that may store the network address of the TCD assigned to the user, and may be an IP / PSTN gateway such as an IP / PSTN gateway ( 326 may be a network address. One or more such directories may be stored in directory database 320, which may be accessed by directory server 323.

예컨대, 제1 네트워크 어드레스 디렉토리는 복수의 엔트리를 포함할 수 있으며, 각 엔트리는 텔레폰 번호, 예컨대 123-456-7890에 해당한다. 각 엔트리는 텔레폰 번호에 대응하는 네트워크 어드레스, 예컨대 10.20.30.40을 저장할 수 있다.For example, the first network address directory may include a plurality of entries, each entry corresponding to a telephone number, such as 123-456-7890. Each entry may store a network address corresponding to the telephone number, for example 10.20.30.40.

텔레폰 번호를 수신하고 있는 제1 네트워크 어드레스 디렉토리의 결과로서, 제1 네트워크 어드레스 디렉토리는 텔레폰 번호에 대응하는 디렉토리 서버에서 엔트리를 찾아서 액세스하며, 그 안에 포함된 IP 어드레스를 검색한다. 제1 네트워크 어드레스 디렉토리뿐만 아니라 후술하는 제2 및 제3 네트워크 어드레스 디렉토리는 이 검색된 IP 어드레스를 보다 자세하게 후술하는 바와 같이 다양한 방식 중 어떠한 방식으로 사용하도록 구성될 수 있다.As a result of the first network address directory receiving the telephone number, the first network address directory finds and accesses an entry in the directory server corresponding to the telephone number, and searches for an IP address contained therein. The second and third network address directories described below, as well as the first network address directory, may be configured to use this retrieved IP address in any of a variety of ways, as described in more detail below.

디렉토리 서버(323) 또는 디렉토리 데이터베이스(320)는 또한 제2 네트워크 어드레스 디렉토리를 포함할 수도 있으며, 여기서 제2 네트워크 어드레스 디렉토리의 각 엔트리는 통신 네트워크(300)의 사용자의 논리명(logical name), 예컨대 jsmith@acme.com에 해당한다. 각 엔트리는 논리명에 연관된 IP 어드레스를 저장할수 있다. 논리명을 수신하면, 디렉토리 서버(323)는 논리명에 대응하는 엔트리를 찾아서 액세스하고, 그 안에 저장된 IP 어드레스를 검색한다.Directory server 323 or directory database 320 may also include a second network address directory, where each entry in the second network address directory is a logical name of a user of communication network 300, such as Corresponds to jsmith@acme.com. Each entry can store an IP address associated with a logical name. Upon receiving the logical name, directory server 323 finds and accesses the entry corresponding to the logical name and retrieves the IP address stored therein.

디렉토리 서버(323) 또는 디렉토리 데이터베이스(320)는 또한 제3 네트워크 어드레스 디렉토리를 포함할 수도 있으며, 여기서 각 엔트리는 확장형(extension), 예컨대 x1234@acme.com에 해당한다. 각 엔트리는 확장형에 연관된 IP 어드레스를 포함할 수 있다. 확장형을 수신하면, 디렉토리 서버(323)는 확장형에 대응하는 엔트리를 찾아서 액세스하고, 그 안에 저장된 IP 어드레스를 검색한다.Directory server 323 or directory database 320 may also include a third network address directory, where each entry corresponds to an extension, such as x1234@acme.com. Each entry may include an IP address associated with the extension. Upon receiving the extended form, directory server 323 finds and accesses the entry corresponding to the extended form and searches for an IP address stored therein.

비록 네트워크 어드레스 디렉토리가 개별적인 엔트리로서 전술되었지만, 이러한 네트워크 어드레스 디렉토리가 임의로 조합되어 하나 이상의 디렉토리를 형성할 수 있다.Although the network address directories have been described above as individual entries, these network address directories can be arbitrarily combined to form one or more directories.

전술한 바와 같이, TCD는 각각 하나 이상의 TCD에 대응하는 하나 이상의 네트워크 어드레스를 저장하거나 직접 액세스할 수 있다. 만약 제1 TCD가 제2 TCD의 네트워크 어드레스를 저장하거나 직접 액세스하면, 제1 TCD는 SIP 또는 H.323과 같은 피어-투-피어(peer-to-peer) 프로토콜을 사용하여 제2 TCD와의 콜을 직접 조정할 수 있다.As noted above, TCDs may store or directly access one or more network addresses, each corresponding to one or more TCDs. If the first TCD stores or directly accesses the network address of the second TCD, the first TCD uses a peer-to-peer protocol such as SIP or H.323 to call the second TCD. Can be adjusted directly.

예컨대, TCD(302)는 SIP 조정 메시지를 TCD(306)에 전송함으로써 TCD(306)에 직접 접촉할 수 있으며, TCD(306)는 직접 TCD(302)에 응답하여 TCD(302)에 텔레폰 콜에 참여하려고 함을 알릴 수 있다. 마지막으로, TCD(302)는 확인 메시지를 TCD(306)에 전송해 TCD(306)로부터 응답 메시지를 수신했음을 확인시킬 수 있다. 유사한 방식은, IP/PSTN 게이트웨이(326)가 통신 네트워크(300)와 PSTN간의 네트워크 인터페이스로서의 역할을 할 것이라는 것을 제외하고는 TCD(302)와 TCD(334)간의 텔레폰 콜을 수행하는데도 적용될 수 있다.For example, the TCD 302 may directly contact the TCD 306 by sending a SIP coordination message to the TCD 306, which may directly make a telephone call to the TCD 302 in response to the TCD 302. You can tell them you want to participate. Finally, the TCD 302 may send a confirmation message to the TCD 306 to confirm that a response message has been received from the TCD 306. A similar scheme may be applied to conduct a telephone call between TCD 302 and TCD 334 except that IP / PSTN gateway 326 will serve as a network interface between communication network 300 and PSTN.

이에 대해, TCD(302)는 TCD(306)의 네트워크 어드레스를 저장할 수 없거나 직접 액세스할 수 없을 수 있다. 그러나, TCD(302)는 TCD(306)의 다른 사용자 식별자, 예컨대 TCD(306)의 텔레폰 번호, 논리명 또는 확장명을 저장하거나 직접 액세스할 수 있다. 따라서, TCD(302)는 디렉토리 서버(323)와 통신하여 전술한 바와 같이 하나 또는 이러한 표시기에 대응하는 IP 어드레스를 결정할 수 있다.In this regard, the TCD 302 may not be able to store or directly access the network address of the TCD 306. However, the TCD 302 may store or directly access other user identifiers of the TCD 306, such as the telephone number, logical name or extension of the TCD 306. Thus, the TCD 302 may communicate with the directory server 323 to determine an IP address corresponding to one or such indicators as described above.

만약 TCD(302)가 사용자 식별자를 디렉토리 서버(323)에 송신하면, 디렉토리 서버(323)는 TCD(306)에 대응하는 네트워크 어드레스를 검색하며, 디렉토리 서버(323) 및 TCD(302)의 구성에 따라 디렉토리 서버(323)는 어떤 다른 복수의 행위를 취할 수도 있다. 예컨대, 만약 디렉토리 서버(323)가 SIP 프록시 서버와 유사하게 구성되면, 디렉토리 서버(323)는 콜 조정 메시지를 TCD(306)로 전달할 것이고, TCD(306)은 디렉토리 서버(323)에 응답하며 디렉토리 서버(323)는 TCD(302)로 응답 메시지를 전달할 것이다.If the TCD 302 sends a user identifier to the directory server 323, the directory server 323 retrieves the network address corresponding to the TCD 306, and the configuration of the directory server 323 and the TCD 302. Accordingly, directory server 323 may take some other plurality of actions. For example, if the directory server 323 is configured similarly to a SIP proxy server, the directory server 323 will forward the call coordination message to the TCD 306, which will respond to the directory server 323 and the directory. Server 323 will forward the response message to TCD 302.

이에 대해, 만약 디렉토리 서버(323)가 SIP 간접 서버와 유사하게 구성되면, 디렉토리 서버(323)는 소정의 네트워크 어드레스를 TCD(306)로 돌려보내고, TCD(306)은 콜 조정 메시지를 그 소정의 네트워크 어드레스로 전송할 것이다.In this regard, if directory server 323 is configured similar to a SIP indirect server, directory server 323 returns a predetermined network address to TCD 306, and TCD 306 sends a call coordination message to that predetermined message. Will be sent to the network address.

그러나, 전술한 바와 같이, 디렉토리 서버(323)의 각 엔트리는 또한 다른 네트워크 자원, 예컨대 또 다른 디렉토리 서버의 IP 어드레스를 포함할 수도 있다. 디렉토리 서버(323)는 수신된 식별자를 다른 네트워크 자원으로 전송하여 사용자의네트워크 어드레스를 결정하기 위한 부가적인 검색을 수행하도록 구성될 수 있다. 만약 검색된 네트워크 어드레스가 또 다른 디렉토리 서버의 네트워크 어드레스이고 디렉토리 서버(323)가 SIP 프록시 서버와 유사하게 구성된다면, 디렉토리 서버(323)는 콜 조정 메시지를 다른 디렉토리 서버로 전달할 것이며 검색 과정을 반복할 것이다. 디렉토리 서버간의 이러한 통신 및 거기서 수행되는 검색은 사용자의 네트워크 어드레스가 결정될 때까지 반복될 수 있다.However, as noted above, each entry of directory server 323 may also include other network resources, such as the IP address of another directory server. Directory server 323 may be configured to send the received identifier to another network resource to perform an additional search to determine the user's network address. If the retrieved network address is the network address of another directory server and the directory server 323 is configured similar to the SIP proxy server, the directory server 323 will forward the call coordination message to the other directory server and repeat the search process. . This communication between directory servers and the searches performed there may be repeated until the user's network address is determined.

만약 디렉토리 서버(323)에 의해 검색된 네트워크 어드레스가 또 다른 디렉토리 서버의 네트워크 어드레스이고 디렉토리 서버(323)가 SIP 간접 서버와 유사하게 구성된다면, 디렉토리 서버(323)는 검색된 네트워크 어드레스를 TCD(302)로 전달할 것이다. 그 후, TCD(302)는 그 다른 디렉토리 서버에 접속할 수 있으며, 검색 과정을 반복할 수 있다. 디렉토리 서버 및 TCD(302)간의 이러한 통신 및 해당 검색 과정은 사용자의 네트워크 어드레스가 결정될 때까지 반복될 수 있다.If the network address retrieved by directory server 323 is the network address of another directory server and directory server 323 is configured similarly to a SIP indirect server, directory server 323 sends the retrieved network address to TCD 302. Will deliver. The TCD 302 can then connect to that other directory server and repeat the search process. This communication between the directory server and the TCD 302 and the corresponding search process may be repeated until the user's network address is determined.

또한, 디렉토리 서버의 엔트리는 단일 식별자에 대응하는 다중 네트워크 어드레스를 포함할 수 있다. 예컨대, 가입자 서비스 텔레폰 번호에 대해, 가입자 서비스 텔레폰 번호는 복수의 네트워크 어드레스에 대응할 수 있다. 결과적으로, 디렉토리 서버(323)는 어떠한 네트워크 어드레스와 접촉해야 할지를 결정하고, 결정된 어드레스로 콜 조정 메시지를 전송하거나 TCD(302)로 결정된 어드레스를 전송하는 중에 하나를 수행하기 위한 로직을 포함할 수 있다.In addition, entries in the directory server may include multiple network addresses corresponding to a single identifier. For example, for a subscriber service telephone number, the subscriber service telephone number may correspond to a plurality of network addresses. As a result, directory server 323 may include logic to determine which network address to contact and to perform either sending a call coordination message to the determined address or transmitting the determined address to TCD 302. .

전술된 바와 같이, PSTN 상에 존재하는 TCD, 예컨대 TCD(334)에 대응하는 텔레폰 번호에 대해, 디렉토리 서버(323)는 IP/PSTN 게이트웨이, 예컨대 IP/PSTN 게이트웨이(326)의 IP 어드레스를 검색할 수 있다. 디렉토리 서버(323)에 의해 검색된 네트워크 어드레스는 지리적으로 TCD(334)에 가장 인접하게 위치하는 IP/PSTN 게이트웨이의 네트워크 어드레스, 예컨대 IP/PSTN 게이트웨이(326)의 네트워크 어드레스를 결정할 수 있다. 디렉토리 서버(323)의 구성에 따라, 디렉토리 서버(323)는 콜 조정 메시지를 그 메시지를 적당한 IP/PSTN 게이트웨이로 전달할 또 다른 네트워크 자원으로 전달하는 것 또는 네트워크 어드레스를 TCD(302)로 전달하여 TCD(302)가 그 자신의 적당한 IP/PSTN 게이트웨이(326)에 접촉할 수 있도록 하는 것 중의 하나를 수행할 수 있다.As described above, for a telephone number corresponding to a TCD, such as TCD 334, present on the PSTN, directory server 323 may retrieve the IP address of an IP / PSTN gateway, such as IP / PSTN gateway 326. Can be. The network address retrieved by the directory server 323 may determine the network address of the IP / PSTN gateway that is geographically closest to the TCD 334, such as the network address of the IP / PSTN gateway 326. Depending on the configuration of the directory server 323, the directory server 323 forwards the call coordination message to another network resource that will forward the message to the appropriate IP / PSTN gateway or forwards the network address to the TCD 302 to the TCD. One may do that to allow 302 to contact its own appropriate IP / PSTN gateway 326.

만약 TCD(302)가 마스터/슬레이브 콜 제어 프로토콜을 사용하여 텔레폰 콜을 조정하도록 구성된다면, 텔레폰 콜을 조정하기 위해 TCD(302)는 콜 조정 메시지를 마스터/슬레이브 제어기(322)로 전송할 것이다. 그 후, 마스터/슬레이브 제어기(322)는 피어-투-피어 프로토콜을 사용하도록 구성된 TCD(302)와 관련하여 전술된 기법과 유사한 기법을 사용하는 디렉토리 서버(323) 및 디렉토리 데이터베이스(320)를 사용하여 텔레폰 콜을 조정할 것이다.If the TCD 302 is configured to coordinate a telephone call using a master / slave call control protocol, the TCD 302 will send a call coordination message to the master / slave controller 322 to coordinate the telephone call. The master / slave controller 322 then uses directory server 323 and directory database 320 using techniques similar to those described above with respect to TCD 302 configured to use a peer-to-peer protocol. Will adjust your telephone call.

유사하게, 예컨대 IP/PSTN 게이트웨이(326)에 의하거나 또는 스위치, 라우터, 브릿지 또는 허브와 같은 네트워크 스위칭 소자에 의해 통신 네트워크(300)로 들어오는 텔레폰 콜에 대해, 디렉토리 서버(323)는 콜 참가자의 네트워크 어드레스를 결정하기 위해 접촉될 수 있다. 예컨대, 만약 TCD(334)가 TCD(302)와의 콜을 조정하기를 시도한다면, IP/PSTN 게이트웨이(326)는 그 조정 메시지를 통신 네트워크(300)에 의해 사용되고 있는 디폴트 콜 제어 프로토콜을 따르는 조정 메시지로변환할 것이다. 그 후, IP/PSTN 게이트웨이(326)는 사용자 식별자를 포함하는 콜 조정 메시지를 디렉토리 서버(323)로 전달하여 TCD(302)의 네트워크 어드레스를 결정할 수 있도록 할 것이다.Similarly, for a telephone call coming into the communication network 300 by, for example, the IP / PSTN gateway 326 or by a network switching element such as a switch, router, bridge, or hub, the directory server 323 is configured to call the call participant. Contact may be made to determine the network address. For example, if the TCD 334 attempts to coordinate a call with the TCD 302, the IP / PSTN gateway 326 sends the coordination message to a coordination message following the default call control protocol being used by the communication network 300. Will be converted to. IP / PSTN gateway 326 will then forward a call coordination message containing the user identifier to directory server 323 to determine the network address of TCD 302.

다수의 다른 기법들이 텔레폰 콜을 적당한 사용자 및 TCD로 배정하기 위해 사용될 수 있다.Many other techniques can be used to assign telephone calls to the appropriate user and TCD.

TCD(302)가 그와의 콜을 조정하기를 시도하는 TCD는 TCD(302)의 콜 제어 프로토콜과 상이한 콜 제어 프로토콜을 사용하여 콜을 조정하도록 구성될 수 있다. 예컨대, TCD(302)는 SIP 프로토콜을 사용하도록 구성될 수 있으며, TCD(306)은 H.323 프로토콜을 사용하도록 구성될 수 있다. 따라서, 디렉토리 서버(323)는 네트워크 어드레스가 지원하는 콜 제어 프로토콜을 결정하여 이 정보를 TCD(302)에 전송하도록 구성될 수 있으며, 또한 TCD(302)는 디렉토리 서버(323)에 의해 반환되는 네트워크 어드레스가 어떤 콜 제어 프로토콜에 대응하는지 결정하도록 구성될 수 있다.The TCD for which the TCD 302 attempts to coordinate a call with it may be configured to coordinate the call using a call control protocol that is different from the call control protocol of the TCD 302. For example, TCD 302 can be configured to use the SIP protocol, and TCD 306 can be configured to use the H.323 protocol. Thus, the directory server 323 may be configured to determine the call control protocol supported by the network address and send this information to the TCD 302, which may also be configured by the network returned by the directory server 323. It may be configured to determine which call control protocol the address corresponds to.

만약 TCD(302)가 H.323 프로토콜을 사용하여 통신할 수 있도록 구성된다면, TCD(302)는 H.323 프로토콜을 사용하여 TCD(306)과 통신할 수 있다. 그러나, 만약 TCD(302)가 H.323을 사용하여 텔레폰 콜을 조정하도록 구성되지 않는다면, TCD(302)는 SIP 메시지를 H.323/SIP 신호 게이트웨이로 전송할 것이다. H.323/SIP 신호 게이트웨이는 SIP 메시지를 H.323 메시지로 변환할 수 있다. 따라서, H.323/SIP 신호 게이트웨이는 생성된 H.323 메시지를 TCD(306)에 전송할 수 있고, TCD(306)가 H.323 메시지로 응답할 때 H.323/SIP 신호 게이트웨이는 이 H.323 메시지를 SIP 메시지로 변환하여 TCD(302)로 그 SIP 메시지를 전송할 수 있다.If the TCD 302 is configured to communicate using the H.323 protocol, the TCD 302 can communicate with the TCD 306 using the H.323 protocol. However, if the TCD 302 is not configured to coordinate telephone calls using H.323, then the TCD 302 will send a SIP message to the H.323 / SIP signaling gateway. The H.323 / SIP signaling gateway can convert SIP messages into H.323 messages. Thus, the H.323 / SIP signaling gateway can send the generated H.323 message to the TCD 306, which, when the TCD 306 responds with the H.323 message, will send this H.323 / SIP signaling gateway. The 323 message can be converted to a SIP message and sent to the TCD 302.

통신 네트워크(300)의 일 실시예에서, 네트워크(300)는 네트워크로 들어오는 각 콜에 대한 콜 에이전트(call agent)를 식별하도록 구성될 수 있다. 내향 콜(inbound call)에 대해, 관련 콜 에이전트는 SIP 프록시 서버, MGCP 콜 에이전트, H.323 게이트키퍼(gatekeeper) 또는 또 다른 콜 신호 프로토콜에 의해 사용되는 콜 에이전트일 수 있다.In one embodiment of the communication network 300, the network 300 may be configured to identify a call agent for each call entering the network. For inbound calls, the relevant call agent may be a call agent used by a SIP proxy server, MGCP call agent, H.323 gatekeeper or another call signaling protocol.

통신 네트워크(300)상의 TCD(302)의 수가 증가함에 따라, TCD 자신에 의해 다른 네트워크 자원, 예컨대 TCD 배치 서버(314)로 제공되는 텔레포니 애플리케이션을 델리게이트(delegate)하는 것은 바람직할 것이다. TCD 전개 서버(314)는 하나의 TCD 상에 구성될 수 있는 복수의 텔레포니 애플리케이션으로 구성될 수 있다. TCD 전개 서버(314)는 TCD를 구성시키고 관리하고, TCD에 상의 소프트웨어 업그레이드를 수행하며, 어떠한 애플리케이션이 어떤 TCD 상에 인스톨될지 결정하며, 복수의 TCD를 다중 층의 계층, 예컨대 지리적 영역, 수도권 영역, 상업 지역, 상업 부분, 건물, 층 및 사용자에까지 내려가는 그룹을 가질 수 있는 계층 그룹(hierarchical group) 내로 구성시키는 애플리케이션을 포함할 수 있다. TCD 전개 서버는 또한 TCD에 대한 다수의 다른 서비스를 제공할 수도 있다.As the number of TCDs 302 on the communication network 300 increases, it would be desirable to delegate telephony applications provided by the TCD itself to other network resources, such as the TCD deployment server 314. TCD deployment server 314 may be comprised of a plurality of telephony applications that may be configured on one TCD. TCD deployment server 314 configures and manages TCDs, performs software upgrades on TCDs, determines which applications are installed on which TCDs, and multiple TCDs in multiple layers, such as geographic areas, metropolitan areas. , Applications can be organized into hierarchical groups that can have groups descending to commercial areas, commercial parts, buildings, floors, and users. The TCD Deployment Server may also provide a number of other services for the TCD.

TCD 전개 서버(314)는 또한 통신 네트워크(300)의 사용자에 지정된 개인적인 TCD 구성 정보를 가지고 있다. 따라서, 네트워크 상의 어디에서 사용자가 TCD를 사용하는지에 관계없이, 사용자는 TCD 전개 서버(314)에 대한 고유의 식별자를 표시할 수 있으며, 그 TCD 전개 서버(314)는 사용자의 개인 구성 정보에 따라 사용자가 사용하고 있는 TCD를 구성할 수 있다.TCD deployment server 314 also has personal TCD configuration information assigned to the user of communication network 300. Thus, regardless of where on the network the user uses the TCD, the user can display a unique identifier for the TCD deployment server 314, which is in accordance with the user's personal configuration information. You can configure the TCD you are using.

TCD 전개 서버(314)는 관리 데이터베이스(316)에 전술된 애플리케이션 및 데이터를 저장할 수 있다. 관리 데이터베이스(316)는 객체-지향 데이터베이스(object-oriented database), 관계 데이터베이스(relational database) 또는 플랫 파일 데이터베이스(flat file database)를 포함하는 복수의 데이터 타입 중의 어느 것일 수 있다. 또한, TCD 전개 서버(314)는 Open DataBase Connectivity(ODBC) 기법 또는 Java DataBase Connectivity(JDBC) 기법을 포함하는 복수의 기법을 사용하여 관리 데이터베이스(316)에 액세스하도록 구성될 수 있다. 또한, 하나 이상의 TCD 및 컴페니언 장치를 포함하는 다른 네트워크 자원과 통신하기 위해, TCD 전개 서버(314)는 SNMP, HTTP, RMI, HTML 및 FTP를 포함하는 다수의 프로토콜을 사용하여 통신하도록 구성될 수 있다.TCD deployment server 314 may store the applications and data described above in management database 316. The management database 316 can be any of a plurality of data types, including an object-oriented database, a relational database, or a flat file database. In addition, the TCD deployment server 314 may be configured to access the management database 316 using a plurality of techniques, including Open DataBase Connectivity (ODBC) techniques or Java DataBase Connectivity (JDBC) techniques. In addition, to communicate with other network resources including one or more TCDs and companion devices, the TCD deployment server 314 may be configured to communicate using a number of protocols including SNMP, HTTP, RMI, HTML, and FTP. Can be.

통신 네트워크(300)는 다양한 방식 중 어떠한 것으로도 구성될 수 있으며, 도 7의 구성은 단지 예시적인 목적으로 제공된다. 다수의 다른 네트워크 구성이 사용될 수 있다.Communication network 300 may be configured in any of a variety of ways, and the configuration of FIG. 7 is provided for illustrative purposes only. Many other network configurations can be used.

4. 텔레포니 애플리케이션4. Telephony Applications

전술된 바와 같이, 개방적이고 확장 가능한 텔레포니 시스템 아키텍처(1)는 핵심 텔레폰 기능 층(9) 및 개방된 API 층(5)을 각각 사용하여 애플리케이션을 개발할 수 있는 능력을 제공한다. 따라서, 지금 설명되는 복수의 애플리케이션은 개방된 API 층(5), 핵심 텔레폰 기능 층(9) 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 또한, 이러한 애플리케이션은 하나 이상의 TCD 상에서, 하나 이상의 다른 네트워크 자원 상에서 또는 이들의 조합으로 동작될 수 있다.As described above, the open and extensible telephony system architecture 1 provides the ability to develop applications using the core telephony functional layer 9 and the open API layer 5 respectively. Thus, the plurality of applications described now can be implemented using the open API layer 5, the core telephone function layer 9, or any combination thereof. In addition, such applications may be operated on one or more TCDs, on one or more other network resources, or on a combination thereof.

후술하는 다수의 애플리케이션은 텔레폰 콜 동안 또는 텔레폰 콜을 조정하기 위해 매체, 즉 오디오 또는 비디오를 포함하는 정보, 문자 데이터, 지시(instruction) 또는 하나 이상의 TCD로의/부터의 다른 정보의 송신/수신을 정의한다. 송신/수신되는 정보는 제1 TCD 또는 다른 TCD의 상태에 의존할 수 있다.Many of the applications described below define the transmission / reception of information, text data, instructions, or other information to / from one or more TCDs, including media, i.e., audio or video, for or during telephony calls. do. The information sent / received may depend on the state of the first TCD or another TCD.

또한, 이러한 정보를 수신한 결과로서 TCD에 의해 취해진 조치는 수신한 TCD의 상태에 달려있을 수 있다.In addition, the action taken by the TCD as a result of receiving this information may depend on the state of the received TCD.

또한, 이하 정의된 각각의 애플리케이션은 상술한 바와 같이 제1 TCD가 예컨대 오픈된 API 층(5)의 하나 이상의 API를 사용함으로써, 통신 네트워크에 전개된 후에 상기 애플리케이션이 제1 TCD로 추가되거나 수정되도록 구성될 수 있다.In addition, each application defined below may be added or modified to the first TCD after the first TCD has been deployed to the communication network, such as by using one or more APIs of the open API layer 5, as described above. Can be configured.

게다가, 이하 정의된 각각의 애플리케이션은 예컨대 디스크, 플래시 메모리, 메모리 스틱, PC 카드 또는 테이프 등의 읽고 쓸 수 있는 비휘발성 기록 매체 즉, 다양한 컴퓨터로 읽을 수 있는 매체 중 하나에 컴퓨터 신호로서 구현될 수 있다. 상기 디스크, 예컨대 플로피 디스크 또는 읽고 쓸 수 있는 CD, 또는 하드 드라이브로서 알려진 영구적인 기록매체는 제거 가능한 것이 좋다.In addition, each application defined below may be embodied as a computer signal on one of a variety of computer readable media, i.e., a variety of computer readable media, such as disk, flash memory, memory stick, PC card or tape. have. Permanent recording media known as such discs, such as floppy discs or readable CDs, or hard drives, are preferably removable.

따라서, 이하 기술된 애플리케이션은 TCD의 상태 또는 TCD 상에서 텔레폰 콜을 결정하기 위해 하나 이상의 추상화된 코어 텔레포니 기능 층(core telephony functionality layer; 9)에 액세스할 수 있다. 또한, 본 애플리케이션에 따라 매체를 처리하기 위해 상술한 바와 같이 매체 처리 성분(30)의 하나 이상의 매체 처리 요소를 제어할 수 있다.Thus, the application described below can access one or more abstracted core telephony functionality layers 9 to determine the state of the TCD or the telephone call on the TCD. It is also possible to control one or more media processing elements of the media processing component 30 as described above for processing media in accordance with the present application.

제1 텔레포니 애플리케이션은 TCD로부터의 발신자가, 발신자로부터 들어오는 호출을 나타내기 위해 수신자의 TCD에서 재생되는 사운드를 제어하는 것을 가능하게 구성될 수 있다. 상기 사운드는 수신자에 의해 액세스 가능한 오디오 파일 예컨대 오디오 저장 매체(60)에 저장된 오디오 파일로부터 재생되고, 수신자의 TCD의 톤 발생기(69)에서 코딩될 수 있다. 또는 사운드 자체는 발신자의 TCD로부터 수신자의 TCD로 보내어질 수 있다. 사운드는 링, 음성 알림, 또는 호출되는 사람에게 의미있는 어느 소리도 될 수 있다. 사운드는 수신자에 의해 취소될 때까지 단속적으로 재생되고, 통신 네트워크 상의 다중 TCD 예컨대 다중 고객 서비스 TCD를 통하여 방송될 수 있다. 상기 애플리케이션은 또한 다른 TCD를 "무선호출(paging)"하기 위하여 발신자에 의해 사용될 수 있지만, 실제의 텔레폰 콜을 개시하지는 않는다.The first telephony application may be configured to enable the caller from the TCD to control the sound played on the recipient's TCD to indicate an incoming call from the caller. The sound can be reproduced from an audio file accessible by the receiver, such as an audio file stored in the audio storage medium 60, and coded in the tone generator 69 of the receiver's TCD. Or the sound itself may be sent from the sender's TCD to the receiver's TCD. The sound can be a ring, a voice alert, or any sound that is meaningful to the person being called. The sound is intermittently played until canceled by the receiver and can be broadcast via multiple TCDs, such as multiple customer service TCDs, on a communication network. The application can also be used by the caller to "paging" another TCD, but does not initiate the actual telephone call.

재생될 사운드는 예컨대 전화기의 마우스피스 또는 전화기 상의 직접적인 전기적 오디오 신호 캡처 잭을 통하여 사운드를 캡처함으로서 미리 녹음되고, 그 후, 액세스 가능한 네트워크 자원 상의 TCD에 사운드를 저장한다. 발신자 및 수신자 모두의 TCD는 예컨대 텔레포니 애플리케이션의 프로그래머에 의해 또는 텔레포니 애플리케이션에 의해 제공된 사용자 파라미터를 통하여 발신자나 수신자에 의해 사운드가 재생되는 방식을 제어하기 위해 구성될 수 있다.The sound to be reproduced is prerecorded, for example by capturing the sound through a telephone mouthpiece of the telephone or a direct electrical audio signal capture jack on the telephone, and then storing the sound on a TCD on an accessible network resource. The TCD of both the sender and the receiver can be configured to control the way the sound is played by the sender or the receiver, for example by the programmer of the telephony application or through the user parameters provided by the telephony application.

도 8은 적어도 제2 TCD의 제2 사용자에게 들어오는 통화를 나타내는 방법의 일 실시예를 나타내는 순서도이다. 상기 방법은 하나 이상의 텔레포니 애플리케이션에 의해 정의된다.8 is a flow diagram illustrating one embodiment of a method for indicating an incoming call to a second user of at least a second TCD. The method is defined by one or more telephony applications.

단계(452)에서, 제2 TCD의 네트워크 어드레스에 대응하는 통화 지시가 수신된다. 다음으로, 단계(454)에서, 제1 사용자는 통화 지시로부터 식별되고, 단계(456)에서, 재생될 사운드가 상기 식별에 기초하여 선택된다.In step 452, a call indication corresponding to the network address of the second TCD is received. Next, in step 454, the first user is identified from the call indication, and in step 456, the sound to be played is selected based on the identification.

다음의 단계(458)에서, 통화 개시 메시지가 네트워크 어드레스에서 제2 TCD로 보내진다. 통화 개시 메시지는 제2 TCD가 선택된 사운드를 발생하도록 하는 정보를 포함한다. 통화 개시 메시지에 포함된 정보는 선택된 사운드를 재생하기 위한 지시나 선택된 사운드를 나타내는 정보를 포함할 수 있다. 또한, 상기 정보는 선택된 사운드를 재생하기 위한 위치 예컨대 URL을 포함할 수 있다.In a next step 458, a call initiation message is sent from the network address to the second TCD. The call initiation message includes information that causes the second TCD to produce the selected sound. The information included in the call initiation message may include an instruction for playing the selected sound or information indicating the selected sound. The information may also include a location, for example a URL, for playing the selected sound.

또 다른 텔레포니 애플리케이션은 도 3의 로컬 콜 브릿지(51)에 관하여 상술한 바와 같이, TCD 사이에서 컨퍼런스 콜 중에 수신된 다중 오디오 입력이 선택적으로 혼합되거나, 소리가 약해질 수 있다. 따라서, 컨퍼런스 콜에 참석하고 있는 제1 TCD의 사용자는 다른 컨퍼런스 콜 참석자의 오디오 스트림을 가능하게 하거나 선택적으로 소리가 약해질 수 있다. 또한, 상기 애플리케이션은 제1 TCD에 제2 TCD로 발신되고/되거나 제2 TCD로부터 수신된 오디오를 선택적으로 혼합하도록 지시하면서, 컨퍼런스 콜을 제어하지 않고 있는 제2 TCD 상의 사용자가 제1 TCD로 커뮤니케이션을 보내도록 구성될 수 있다. 결과적으로, 참가자의 선택된 서브세트에 알려져서, 질문이 다른 서브세트에 인도되거나 특정 개인의 코멘트가 일시적으로 회의로부터 보여진다.Another telephony application may optionally mix or mute the multiple audio inputs received during a conference call between TCDs, as described above with respect to the local call bridge 51 of FIG. Thus, the user of the first TCD attending the conference call may enable or optionally mute the audio stream of another conference call participant. In addition, the application instructs the first TCD to selectively mix audio originating from and / or received from the second TCD, while the user on the second TCD that is not controlling the conference call communicates to the first TCD. It can be configured to send. As a result, known to the selected subset of participants, questions are directed to other subsets or comments of particular individuals are temporarily viewed from the meeting.

비록 선택적으로 혼합되고 소리가 약해진 오디오 신호가 주로 브릿지된 컨퍼런스 콜에 관하여 기술되었지만, 유사한 기술이 각각의 TCD가 컨퍼런스 콜에 포함된 모든 연결을 표시하는 완벽하게 맞춰진 컨퍼런스 콜(fully-meshed conference call)에 대한 오디오를 선택적으로 혼합하고 소리를 약하게 하는 데 사용될 수 있다. 비록 상기 완벽하게 맞춰진 회의 구성이 단일 TCD 상에 부담을 줄여주지만, 이러한 구성은 더 많은 네트워크 연결을 만들어내 네트워크 교통을 증가시키고 또한 현재의 다중 TCD가 포함되어서 더 복잡해진 컨퍼런스 콜을 제어하게 된다.Although optionally mixed and attenuated audio signals are mainly described for bridged conference calls, a similar technique is a fully-meshed conference call where each TCD represents all connections included in a conference call. Can be used to selectively mix audio for and mute the sound. Although the perfectly tailored conferencing configuration reduces the burden on a single TCD, this configuration creates more network connections, increasing network traffic, and also includes more current multiple TCDs to control more complex conference calls.

또한, 텔레폰 콜 중에 선택적으로 소리를 약하게 하고 혼합하기 위하여 하나 이상의 특정된 버전의 TCD가 제공될 수 있고, 각각의 TCD는 혼합하거나 소리를 약하게 하기 위한 여분의 신호 처리 전력을 포함할 수 있다.In addition, one or more specified versions of the TCD may be provided for selectively softening and mixing the sound during the telephone call, and each TCD may include extra signal processing power for mixing or softening the sound.

도 9는 제1 사용자로부터 매체를 수신하기 위한 제1 사용자 입력 및 제1 TCD와 2개 이상의 제2 TCD 사이에서 각각 2개 이상의 연결을 포함하는 컨퍼런스 콜 중에 매체를 선택적으로 전송하는 방법(460)의 일 실시예를 나타내는 순서도이다. 각각의 제2 TCD는 제2 사용자에 대응한다. 상기 방법은 하나 이상의 텔레포니 애플리케이션에 의해 정의될 수 있다.9 illustrates a method 460 for selectively transmitting media during a conference call comprising a first user input for receiving media from a first user and two or more connections each between the first TCD and the two or more second TCDs. Is a flow chart illustrating one embodiment. Each second TCD corresponds to a second user. The method may be defined by one or more telephony applications.

단계(462)에서, 하나 이상의 제4 사용자로부터 수신되는 매체에 포함되기 위해 하나 이상의 제3 사용자를 식별하는 사용자 선택이 수신된다. 각각의 제3 사용자 및 제4 사용자는 제1 사용자거나 또는 제2 사용자 중의 하나이다.In step 462, a user selection is identified that identifies one or more third users for inclusion in media received from one or more fourth users. Each third user and fourth user is either a first user or one of a second user.

다음으로 단계(464)에서, 컨퍼런스 콜 중에 하나 이상의 매체 입력이 하나 이상의 제4 사용자로부터 수신된다. 다음의 단계(466)에서, 컨퍼런스 콜 중에 하나 이상의 제3 사용자는 하나 이상의 매체 입력으로부터 발생된 매체를 수신하게 된다.Next, at step 464, one or more media inputs are received from one or more fourth users during the conference call. In a next step 466, one or more third users during the conference call will receive media originating from one or more media inputs.

도 10은 제1 사용자로부터 매체를 수신하기 위한 제1 사용자 및 제1 TCD와 2개 이상의 제2 TCD 사이에서 각각 2개 이상의 연결을 포함하는 컨퍼런스 콜 중에 선택적으로 매체를 전송하는 방법(470)의 다른 실시예를 나타내는 순서도이다. 각각의 제2 TCD는 제2 사용자에 대응한다. 상기 방법은 하나 이상의 텔레포니 애플리케이션에 의해 정의될 수 있다.10 illustrates a method 470 of selectively transmitting media during a conference call comprising two or more connections each between a first user and a first TCD and two or more second TCDs for receiving media from a first user. It is a flowchart showing another embodiment. Each second TCD corresponds to a second user. The method may be defined by one or more telephony applications.

단계(472)에서, 하나 이상의 제4 사용자로부터 수신되는 매체로부터 배제되기 위해 하나 이상의 제3 사용자를 식별하는 사용자 선택이 수신된다. 각각의 제3 및 제4 사용자는 제1 사용자거나 또는 제2 사용자 중의 하나이다.In step 472, a user selection is received that identifies one or more third users to be excluded from the medium received from the one or more fourth users. Each third and fourth user is either a first user or one of a second user.

다음으로 단계(474)에서, 컨퍼런스 콜 중에 하나 이상의 매체 입력이 하나 이상의 제4 사용자로부터 수신된다. 다음의 단계(476)에서, 컨퍼런스 콜 중에 하나 이상의 제3 사용자는 하나 이상의 매체 입력으로부터 발생된 어느 매체도 수신하지 못하게 된다.Next, at step 474, one or more media inputs are received from one or more fourth users during the conference call. In a next step 476, one or more third users during the conference call will not receive any medium originating from the one or more media inputs.

방법(460, 470)에서, 하나 이상의 매체 입력으로부터 발생된 매체는 상술한 다양한 방법 중의 하나에서 혼합된 매체일 수 있다. 또한, 방법(460, 470)에 대하여, 하나 이상의 제3 사용자는 상술한 바와 같이 도 3의 로컬 콜 브릿지(51)를 사용함으로써 각각 매체를 수신하거나 못하게 될 수 있다. 또한, 방법 (460, 470)에 대하여, 수신된 사용자 선택은 제1 TCD의 제1 사용자로부터 또는 제2 사용자 중 하나로부터 수신될 수 있다.In methods 460 and 470, the media resulting from one or more media inputs may be mixed media in one of the various methods described above. Further, for methods 460 and 470, one or more third users may be able to receive or not receive media respectively by using the local call bridge 51 of FIG. 3 as described above. In addition, for the methods 460, 470, the received user selection may be received from the first user of the first TCD or from one of the second users.

또 다른 텔레포니 애플리케이션은 텔레폰 콜로서, 제1 TCD의 제1 사용자의 텍스트 정보를 제1 연결부에 의해 제1 TCD로 연결된 제2 TCD의 제2 사용자에게 통신하는 방법을 정의할 수 있다. 특히, 텔레폰 콜 중에, 텍스트를 정의하는 텍스트 데이터는 제2 TCD로부터 제1 연결부 상에 수신된다. 그 후, 제1 TCD는 텍스트 데이터에 의해 정의된 텍스트를 예컨대, 상술한 도 5의 표시 스크린(206) 상에 표시한다. 상기 텍스트 데이터는 다양한 데이터 예컨대 제2 TCD의 사용자 또는 제2 TCD에 관한 정보 중의 하나일 수 있다.Another telephony application is a telephone call, which may define a method of communicating text information of a first user of a first TCD to a second user of a second TCD connected to the first TCD by a first connector. In particular, during a telephone call, text data defining text is received on the first connection from the second TCD. The first TCD then displays the text defined by the text data, for example on the display screen 206 of FIG. 5 described above. The text data may be one of various data, for example, a user of the second TCD or information about the second TCD.

스케줄링 애플리케이션은 사용자가 텔레폰 콜 예컨대 컨퍼런스 콜을 스케줄링하도록 정의될 수 있다. 도 5 및 도 6에 관하여 상술한 바와 같이 사용자 인터페이스 및 상술한 도 7의 컴페니언(companion) 장치 등의 다른 네트워크 자원을 사용하여, 사용자는 통화 시간 및 날짜와 텔레폰 콜 참가자 각각의 전화 번호를 입력함으로써 텔레폰 콜을 스케줄링할 수 있다. 또한, 만약 원격 회의 브릿지(즉, 로컬 콜 브릿지(51)가 아님)가 텔레폰 콜을 수행하는데 사용된다면, 사용자는 컨퍼런스 콜을 개시하기 위한 원격 회의 브릿지를 호출하는 스케줄링 애플리케이션을 구성할 수 있다.The scheduling application may be defined for the user to schedule a telephone call such as a conference call. Using the user interface and other network resources, such as the companion device of FIG. 7, described above with reference to FIGS. 5 and 6, the user can specify the talk time and date and the telephone number of each telephone call participant. By inputting a telephone call can be scheduled. Also, if a teleconferencing bridge (ie not the local call bridge 51) is used to make a telephone call, the user can configure a scheduling application that calls the teleconferencing bridge to initiate the conference call.

상기 스케줄링 애플리케이션은 마이크로소프트 아웃룩(Microsoft Outlook) 또는 로터스 노트(Lotus Notes) 등의 데이터베이스로부터의 데이터와 인터페이스하고 액세스할 수 있고, 제1 TCD와 다른 TCD 사이에서 통신하기 위한 인터넷 캘린더 및 스케줄링 프로토콜(ICalender) 또는 컨퍼런스 콜을 스케줄링하는데 포함된 네트워크 자원을 사용하기 위해 구성될 수 있다.The scheduling application is Microsoft Outlook (Microsoft Outlook). ) Or Lotus Notes Can be used to interface with and access data from a database, and to use network resources involved in scheduling Internet calendars and scheduling protocols (ICalenders) or conference calls for communicating between the first TCD and other TCDs. Can be.

상기 스케줄링 애플리케이션은 통화 시간 및 날짜와 참가자의 신원을 포함하는 모든 텔레폰 콜 정보가 들어가도록 구성되어, 상기 애플리케이션은 자동적으로스케줄링된 통화에 관하여 다른 참가자에게 통지한다. 상기 통지는 다른 참가자에게 통화 시간 및 날짜, 다른 통화 참가자에 관한 정보 및 신원을 포함하는 다양한 정보를 제공할 수 있다.The scheduling application is configured to contain all telephone call information including the time and date of the call and the identity of the participant, so that the application automatically notifies other participants about the scheduled call. The notification may provide other participants with a variety of information, including time and date of the call, information about the other call participant, and identity.

스케줄링 애플리케이션은 전자 메일(이메일) 메시지 예컨대, 단일 메일 전송 프로토콜(simple mail transfer protocol; SMTP)에 따른 이메일 메시지를 보냄으로써 텔레폰 콜 상의 다른 참가자에게 통지하도록 구성될 수 있다.The scheduling application may be configured to notify other participants on the telephone call by sending an e-mail (e-mail) message, such as an e-mail message in accordance with a simple mail transfer protocol (SMTP).

도 11은 제1 TCD의 제1 사용자와 제2 TCD의 하나 이상의 제2 사용자 사이에서 텔레폰 콜을 스케줄링하고 실행하는 방법(480)의 일 실시예를 나타내는 순서도이다. 단계(482)에서, 하나 이상의 사용자 식별자(identifier)는 각각의 사용자 식별자가 제2 사용자 중 하나를 인식하는 곳에서 수신된다. 상기 방법은 하나 이상의 텔레포니 애플리케이션에 의해 정의될 수 있다.11 is a flow diagram illustrating one embodiment of a method 480 of scheduling and executing a telephone call between a first user of a first TCD and one or more second users of a second TCD. In step 482, one or more user identifiers are received where each user identifier recognizes one of the second users. The method may be defined by one or more telephony applications.

다음으로 단계(484)에서, 통화를 수행할 미래의 날짜 및 시간을 특정하는 날짜 및 시간 정보가 수신되고, 단계(486)에서, 사용자 식별자와 날짜 및 시간 정보가 저장될 수 있다. 식별자와 날짜 및 시간 정보는 제1 TCD에 의해 액세스 가능한 원격 네트워크 자원 상 또는 제1 TCD 상에 국부적으로 저장될 수 있다.Next, in step 484, date and time information is specified that specifies a future date and time to make a call, and in step 486, a user identifier and date and time information may be stored. The identifier and date and time information may be stored locally on a remote network resource accessible by the first TCD or on the first TCD.

다음의 단계(488)에서, 날짜 및 시간 정보에 의해 특정된 날짜 및 시간에서 사용자 식별자를 액세스한다. 다음으로, 단계(490)에서, 텔레폰 콜은 제1 TCD와 하나 이상의 제2 TCD 사이에서 개시될 수 있다.In the next step 488, the user identifier is accessed at the date and time specified by the date and time information. Next, at step 490, the telephone call may be initiated between the first TCD and the one or more second TCDs.

방법(480)은 또한 회의 브릿지를 식별하는 회의 브릿지 식별자를 수신하는 단계를 포함할 수 있다. 컨퍼런스 콜을 개시하는 단계는 회의 브릿지를 호출하는것을 포함한다. 또한, 방법(480)은 제1 TCD로부터 하나 이상의 제2 TCD로의 통화에 관한 정보를 포함하는 메시지를 보냄으로써, 텔레폰 콜을 개시하기 전에 통화 주변의 하나 이상의 제2 사용자에게 통지하는 것을 포함할 수 있다.The method 480 may also include receiving a conference bridge identifier that identifies the conference bridge. Initiating the conference call includes invoking the conference bridge. In addition, the method 480 may include notifying one or more second users around the call prior to initiating a telephone call by sending a message containing information about the call from the first TCD to the one or more second TCDs. have.

웹 기반의 다이얼링 애플리케이션은 텔레폰 콜을 개시하기 위해 제1 TCD내에 구현된 웹 서버를 정의함으로써 웹 기반의 통화를 제공할 수 있다. 웹 기반의 다이얼링 애플리케이션은 사용자가 웹페이지를 텔레폰 콜에 포함되는 하나 이상의 참가자를 나타내는 URL로의 링크를 포함하는, 구현된 웹 서버에 생성하도록 구성될 수 있다. 링크는 각각의 참가자 및 회의 브릿지의 식별자에 대하여 식별자 예컨대 전화 번호를 포함하는 텔레폰 콜에 관한 다양한 정보를 포함할 수 있다.The web based dialing application may provide a web based call by defining a web server implemented in the first TCD to initiate a telephone call. The web-based dialing application may be configured to allow the user to create a web page on an implemented web server that includes a link to a URL that indicates one or more participants included in the telephone call. The link may include various information about the telephone call, including an identifier such as a telephone number, for the identifier of each participant and conference bridge.

PC나 다른 네트워크 자원 상에 웹 브라우저 애플리케이션을 사용하여, 사용자는 제1 TCD 상의 웹 페이지에 액세스할 수 있고 하나 이상의 URL 링크를 클릭하여 TCD가 선택된 번호로 전화를 걸게 할 수 있다. 웹 기반의 다이얼링 애플리케이션은 사용자가 PSTN 및/또는 데이터 네트워크 상에 전화를 포함하는 다른 형의 네트워크 상에 하나 이상의 TCD를 전화걸도록 구성될 수 있다. 또한, 웹 기반의 다이얼링 애플리케이션은 mailto:<목적지> HTML 태그에 유사하게 동작하는 통화 개시 HTML 태그 예컨대, "callto:<목적지>"를 정의할 수 있다. 따라서, 통화 개시 태그를 클릭하는 것은 목적지로의 텔레폰 콜의 생성을 야기한다.Using a web browser application on a PC or other network resource, a user can access a web page on the first TCD and click on one or more URL links to cause the TCD to dial the selected number. The web-based dialing application may be configured to allow the user to dial one or more TCDs on other types of networks including telephones on the PSTN and / or data networks. In addition, a web-based dialing application may define a call initiation HTML tag, such as "callto: <destination>", which operates similarly to the mailto: <destination> HTML tag. Thus, clicking on the call initiation tag results in the creation of a telephone call to the destination.

일례의 웹 기반의 다이얼링 애플리케이션은 제1 TCD의 제1 사용자와 제2 TCD의 하나 이상의 제2 사용자 사이에 텔레폰 콜을 개시하는 방법을 정의할 수 있다. 이러한 방법은 제1 사용자에 의해 선택된 하나 이상의 URL을 수신하는 것을 포함할수 있다. 각각의 URL 선택은 제2 TCD 중 하나에 대응한다. 다음으로, 제1 TCD와 하나 이상의 제2 TCD의 텔레폰 콜이 개시될 수 있다.An example web-based dialing application may define a method of initiating a telephone call between a first user of a first TCD and one or more second users of a second TCD. Such a method may include receiving one or more URLs selected by the first user. Each URL selection corresponds to one of the second TCDs. Next, a telephone call of the first TCD and one or more second TCDs can be initiated.

상기 웹 기반의 다이얼링 애플리케이션은 도 7에 관하여 상술한 바와 같이, 하나 이상의 네트워크 디렉토리를 사용하여, TCD 식별자 예컨대 URL, 전화 번호, 내선의 사용자를 맵핑하고, 텔레폰 콜을 개시하기 위한 네트워크 어드레스를 결정할 수 있다. 또한, 상기 웹 기반의 다이얼링 애플리케이션은 도 7에 관하여 상술한 바와 같이, 다른 네트워크 예컨대, PSTN 상에 위치한 TCD로 개시 메시지를 보내기 위해 다른 네트워크 자원 예컨대, IP/PSTN 게이트웨이를 사용할 수도 있다.The web-based dialing application may use one or more network directories to map TCD identifiers such as URLs, telephone numbers, extensions of users, and determine network addresses for initiating a telephone call, as described above with respect to FIG. 7. have. The web-based dialing application may also use other network resources, such as an IP / PSTN gateway, to send initiation messages to other networks, such as the TCD located on the PSTN, as described above with respect to FIG. 7.

또 다른 텔레포니 애플리케이션은 제1 TCD의 표시 스크린에 텍스트를 표시하기 위해 정의될 수 있다. 텍스트의 내용은 제1 TCD 상에 수신된 오디오 신호의 내용에 대응한다. 예컨대, 상기 텔레포니 애플리케이션은 쌍방향 음성 반응(interactive voice response; IVR) 시스템에 의해 재생되는 옵션에 대응하여 표시 스크린 예컨대, 표시 스크린(206) 상의 옵션을 표시하기 위해 구성될 수 있다. 예컨대, 상기 텔레포니 애플리케이션은 제2 TCD(예컨대, IVR 시스템의 일부인 TCD)를 나타내기 위해 구성되어 제1 TCD가 텍스트를 표시할 수 있다. 반응으로, 제2 TCD는 제1 TCD의 오디오 내용에 대응하는 텍스트 내용을 전송하는 다른 자원을 보내거나 제어할 수 있다.Another telephony application may be defined for displaying text on the display screen of the first TCD. The content of the text corresponds to the content of the audio signal received on the first TCD. For example, the telephony application may be configured to display options on a display screen, such as display screen 206, in response to the options played back by an interactive voice response (IVR) system. For example, the telephony application may be configured to represent a second TCD (eg, a TCD that is part of an IVR system) so that the first TCD can display text. In response, the second TCD may send or control another resource for transmitting textual content corresponding to the audio content of the first TCD.

제1 TCD는 그 후 IVR 메시지가 재생되듯이 텍스트 내용 예컨대, 선택 목록을 표시 스크린에 표시할 수 있다. 사용자는 그 후 제1 TCD 상에 재생되는 완벽한 IVR 메시지를 기다리지 않고, 표시 스크린 예컨대 도 5에 관하여 상술한 사용자 인터페이스에 대응하는 사용자 인터페이스를 사용하는 선택을 할 수 있다.The first TCD may then display textual content, such as a selection list, on the display screen as the IVR message is played. The user may then choose to use the user interface corresponding to the user interface described above with respect to the display screen, eg, FIG. 5, without waiting for a complete IVR message to be played on the first TCD.

만약 제2 TCD가 IVR 시스템의 일부 예컨대, 고객 서비스 네트워크라면, 중앙 서버는 IVR 시스템의 제2 TCD 및 다른 TCD에 대한 대용물로서 행동하고, 제1 TCD로 텍스트 신호를 전송하는 네트워크 자원일 수 있다.If the second TCD is part of an IVR system, such as a customer service network, the central server may be a network resource that acts as a substitute for the second TCD and other TCDs of the IVR system and transmits a text signal to the first TCD. .

도 12는 텔레폰 콜의 일부로서 제1 TCD와 제2 TCD 사이에서 제1 연결부에 수신되고 제1 TCD는 표시 스크린 예컨대, 도 5의 표시 스크린(206)을 포함하는 매체 예컨대 오디오 또는 비디오와 관련된 텍스트를 표시하는 일례의 방법(500)을 나타내는 순서도이다. 상기 방법은 하나 이상의 텔레포니 애플리케이션에 의해 정의될 것이다.12 is received as a part of a telephone call between a first TCD and a second TCD, wherein the first TCD comprises a display screen such as text related to a medium such as audio or video comprising a display screen 206 of FIG. 5. Is a flow chart illustrating an example method 500 for displaying. The method will be defined by one or more telephony applications.

단계(502)에서, 매체 신호는 매체 신호가 매체 내용을 나타내는 제2 TCD로부터 제1 연결부에서 수신될 수 있다.In step 502, a media signal may be received at a first connection from a second TCD in which the media signal represents media content.

단계(504)에서, 매체 신호를 수신하기 전 또는 동시에, 텍스트 신호는 제1 연결부에서 수신된다. 텍스트 신호는 매체 내용에 대응하는 텍스트 내용을 나타낸다.In step 504, prior to or simultaneously with receiving the media signal, the text signal is received at the first connection. The text signal indicates text content corresponding to the medium content.

다음으로, 단계(506)에서, 텍스트 내용은 표시 스크린 상에 표시된다. 다음의 단계(508)에서, 텍스트 내용을 표시한 후 또는 동시에, 매체 내용이 재생될 수 있다.Next, in step 506, the text content is displayed on the display screen. In the next step 508, after displaying the text content or at the same time, the media content can be played.

다른 애플리케이션은 통화 개시 메시지에 반응하여 텍스트 데이터를 보내기 위해 정의될 수 있다. 예컨대, 상기 애플리케이션은 다른 TCD로부터 통화 개시 메시지를 수신하자마자 제1 TCD가 제1 TCD의 상태에 의존하는 텍스트 메시지에 반응하도록 구성될 수 있다. 예컨대, 제1 TCD는 "사무실에 없음(not in office)" 상태를 갖도록 정의될 수 있다. 따라서, 상기 애플리케이션은 제1 TCD가 통화 개시 메시지를 수신할 때에, 제1 TCD는 다른 TCD 예컨대, 셀 전화 번호, 음성 메일 어드레스, 또는 다른 사용자의 전화 번호에 접속하는 다른 방법의 목록을 보내도록 구성될 수 있다.Another application may be defined for sending text data in response to a call initiation message. For example, the application may be configured to respond to the text message upon receipt of the call initiation message from the other TCD with the first TCD depending on the state of the first TCD. For example, the first TCD may be defined to have a "not in office" state. Thus, the application is configured such that when the first TCD receives a call initiation message, the first TCD sends a list of other TCDs, such as cell phone numbers, voice mail addresses, or other methods of accessing other users' phone numbers. Can be.

도 13은 제1 TCD의 상태에 따라 정보를 제2 TCD로 통신하는 방법(510)의 일 실시예를 나타내는 순서도이다.13 is a flow diagram illustrating one embodiment of a method 510 of communicating information to a second TCD in accordance with the state of the first TCD.

단계(512)에서, 통화 개시 메시지는 제2 TCD로 보내져서 텔레폰 콜을 개시한다. 다음으로, 단계(514)에서, 통화 개시 메시지에 반응하여 텍스트 신호가 제2 TCD로부터 수신된다. 텍스트 신호는 제2 TCD의 한 상태에 대응하는 텍스트 내용을 정의한다.In step 512, a call initiation message is sent to the second TCD to initiate the telephone call. Next, in step 514, a text signal is received from the second TCD in response to the call initiation message. The text signal defines the text content corresponding to one state of the second TCD.

다음의 단계(516)에서, 텍스트 내용은 제1 TCD의 표시 스크린 상에 표시된다.In the next step 516, the text content is displayed on the display screen of the first TCD.

텍스트 내용은 각각의 옵션이 제2 TCD의 한 상태에 반응하여 취해진 조치를 나타내는 제2 TCD의 한 상태에 대응하는 하나 이상의 옵션을 포함할 수 있다. 상기 하나 이상의 옵션은 제1 TCD의 사용자에게 표시될 수 있다. 따라서, 방법(510)은 또한 선택에 의해 지시된 조치를 취하기 위하여 제1 사용자로부터 옵션 중 하나의 선택을 수신하고, 제2 TCD에 선택을 나타내는 선택 신호를 전송하는 단계를 포함할 수 있다.The textual content may include one or more options corresponding to one state of the second TCD in which each option represents an action taken in response to one state of the second TCD. The one or more options may be displayed to the user of the first TCD. Thus, the method 510 may also include receiving a selection of one of the options from the first user to take an action indicated by the selection, and sending a selection signal indicative of the selection to the second TCD.

도 14는 제1 TCD의 상태에 따라 정보를 제2 TCD로 통신하는 방법(520)의 일실시예를 나타내는 순서도이다.14 is a flow diagram illustrating one embodiment of a method 520 of communicating information to a second TCD in accordance with the state of the first TCD.

단계(522)에서, 텔레폰 콜을 개시하기 위한 통화 개시 메시지는 제2 TCD로부터 제1 TCD에 수신된다. 다음으로, 단계(524)에서, 제1 TCD의 상태가 결정된다.In step 522, a call initiation message for initiating a telephone call is received at the first TCD from the second TCD. Next, in step 524, the state of the first TCD is determined.

다음의 단계(526)에서, 제1 TCD는 표시하기 위해 제2 TCD로의 결정된 상태를 나타내는 텍스트 신호를 전송한다.In a next step 526, the first TCD transmits a text signal indicating the determined state to the second TCD for display.

상술한 바와 같이, 텍스트 신호는 제2 TCD 상에 표시되기 위하여 제2 TCD의 사용자에 대한 하나 이상의 텍스트 표현을 포함할 수 있다. 각각의 옵션은 제1 TCD의 상태에 반응하여 취해진 조치를 지시할 수 있다. 따라서, 방법(520)은 선택 신호가 제2 TCD의 사용자에 의해 하나 이상의 옵션의 선택을 나타내는 제2 TCD로부터 선택 신호를 수신하는 단계와 선택에 의해 지시된 조치를 취하는 단계를 더 포함할 수 있다.As described above, the text signal may include one or more textual representations of the user of the second TCD for display on the second TCD. Each option may indicate the action taken in response to the state of the first TCD. Thus, the method 520 may further include receiving a selection signal from the second TCD in which the selection signal indicates selection of one or more options by the user of the second TCD and taking the action indicated by the selection. .

또 다른 애플리케이션은 텔레폰 콜 중 통신 네트워크 상에 사용자에게 의미있는 사운드인 가청 표현(audible expression)을 통신하는 방법을 정의할 수 있다. 상기 가청 표현은 텔레폰 콜 중 감정 상태를 표현하거나 강조할 수 있다. 예컨대, 가청 표현은 폭탄 터지는 소리, 인기있는 표현, 벨 울림 또는 사용자에게 의미있는 다른 소리일 수 있다. 이러한 사운드는 톤 발생기(69)의 일부로서 인코딩되거나, 제1 TCD 예컨대, 오디오, 저장 매체(60)에 의해 액세스 가능한 저장 매체 상에 저장될 수 있다. 상기 애플리케이션은 제1 TCD 상의 사용자의 음성 및 가청 표현을 혼합하도록 구성되어 텔레폰 콜 중의 다른 참가자가 음성 및 가청 표현을 포함하는 혼합된 가청 신호를 들을 것이다. 선택적으로, 가청 표현은 사용자의 음성과 혼합되어 단지 가청 표현만이 들릴 수 있다.Another application may define how to communicate an audible expression, which is a sound that is meaningful to the user, on a communication network during a telephone call. The audible expression may express or emphasize an emotional state during a telephone call. For example, the audible expression may be a bomb popping sound, a popular expression, a ringing bell or other sound that is meaningful to the user. Such sound may be encoded as part of tone generator 69 or may be stored on a storage medium accessible by first TCD such as audio, storage medium 60. The application is configured to mix the user's voice and audible representation on the first TCD so that other participants in the telephone call will hear the mixed audible signal including the voice and audible representation. Optionally, the audible expression is mixed with the user's voice so that only the audible expression can be heard.

비디오 또는 텍스트 표현은 또한 텔레폰 콜 중에 통신하기 위한 유사한 방법으로 사용될 수 있다.Video or textual representation can also be used in a similar way for communicating during a telephone call.

하나 이상의 애플리케이션은 게임의 일부로서 제1 TCD 상의 매체를 재생하고 정지시키기 위해 정의될 수 있다. 예컨대, "두더지(whack-a-mole)"형 게임은 매체 예컨대, 오디오나 비디오가 제1 TCD의 사용자가 특정 키 시퀀스를 선택하거나 제1 TCD의 사용자 인터페이스 상의 특정 버튼을 누를 때까지 제1 TCD 상에 재생되도록 정의될 수 있다. 만약 올바른 시퀀스가 사용자에 의해 일정 주기의 시간 내에 들어간다면, 사운드의 재생은 멈춰지고 게임의 제어는 게임을 계속하기 위하여 다른 TCD로 보내질 수 있다.One or more applications may be defined to play and stop the medium on the first TCD as part of the game. For example, a "whack-a-mole" type game is a medium such as a first TCD until an audio or video is selected by a user of the first TCD selecting a particular key sequence or pressing a particular button on the user interface of the first TCD. Can be defined to be played on the phase. If the correct sequence is entered by the user within a certain period of time, playback of the sound is stopped and control of the game can be sent to another TCD to continue the game.

또한, 애플리케이션은 오늘의 인용(quote-of-the-day) 또는 운수가 사용자나 네트워크 제공자에 의해 구성된 대로 특정 간격 예컨대, 매일, 매주, 매시간에 TCD 상으로 수신되도록 구성될 수 있다.In addition, the application may be configured to receive a quote-of-the-day or transportation on the TCD at certain intervals, such as daily, weekly or hourly, as configured by the user or network provider.

다른 텔레포니 애플리케이션은 제1 TCD의 표시 스크린 상에서 구동되는 스크린 세이버로서 또는 광고로서 텍스트, 매체 또는 다른 정보를 제1 TCD 상에 재생하도록 정의될 수 있다.Another telephony application may be defined to play text, media or other information on the first TCD as a screensaver or on an advertisement driven on the display screen of the first TCD.

도 15는 텔레폰 콜 동안 들리는 표현을 전달하는 방법(530)의 일 실시예를 보여주는 순서도이다.FIG. 15 is a flow diagram illustrating one embodiment of a method 530 of conveying an audible expression during a telephone call.

단계 532에서, 최초 TCD의 최초 사용자의 목소리를 의미하는 음성신호가 수신된다. 다음 단계 534에서는, 최초 사용자에 의해 들리는 표현의 선택을 의미하는 선택 신호가 수신된다.In step 532, a voice signal representing the voice of the first user of the first TCD is received. In a next step 534, a selection signal is received that means selection of the expression heard by the original user.

다음으로 단계 536에서, 선택 신호에 대응하는 들리는 표현 신호가 생성되고, 들리는 표현 신호는 들리는 표현을 의미한다. 단계 538에서, 혼합된 신호를 생성하기 위해 들리는 표현 신호와 음성 신호가 혼합된다.Next, in step 536, an audible representation signal corresponding to the selection signal is generated, and the audible representation signal means an audible representation. In step 538, the audible representation signal and the speech signal are mixed to produce a mixed signal.

단계 540에서, 혼합된 신호는 텔레폰 콜의 한 부분으로서 하나 이상의 두 번째 TCD에서 하나 이상의 두 번째 사용자에게 전송된다.In step 540, the mixed signal is sent to one or more second users in one or more second TCDs as part of a telephone call.

콜 스크리닝 애플리케이션(call screening application)은 걸려오는 콜과 관련있는 데이터, 예를 들면, 콜자 신분 증명(예를 들어, 콜러 ID), 하루의 시각 또는 다른 관련 데이터에 기초하여 제1 TCD에 대한 걸려오는 콜을 스크리닝하는 것으로 정의될 수 있다. 스크리닝 애플리케이션은 다른 표준에 기초한 콜 셋-업 메시지에 대한 응답 방법을 결정하기 위해 규칙을 정의하거나 사용자가 규칙을 정의하는 것에 의해 파라미터를 제공할 수 있다. 예를 들면, 매우 중요한 콜을 위해, 규칙은 제1 TCD가 최초 TCD의 사용자에 접촉하기 위해 연속하는 다른 텔레폰 번호에 시도하는 것으로 정의될 수 있다. 나아가, 스크리닝 애플리케이션은 덜 중요한 콜을 위해, 제1 TCD가 음성 메일 또는 다른 대안을 제공하도록 정의될 수 있다. 또한, 스크리닝 애플리케이션은 콜러가 콜이 적절히 걸러지기 전에 부가적인 정보를 제공하도록 문의되어 질 수 있다.A call screening application may be used for incoming calls to the first TCD based on data related to the incoming call, for example, caller ID (e.g., caller ID), time of day or other relevant data. Can be defined as screening calls. Screening applications can provide parameters by defining rules or by user defining rules to determine how to respond to call set-up messages based on other standards. For example, for a very important call, a rule may be defined that the first TCD attempts to another consecutive telephone number to contact the user of the original TCD. Furthermore, screening applications can be defined such that the first TCD provides voice mail or other alternatives for less important calls. In addition, the screening application can be queried for the caller to provide additional information before the call is properly filtered.

도 16은 콜과 관련있는 정보에 기초하여 텔레폰 콜 정보를 스크리닝하는 방법(550)의 일 실시예를 보여주는 순서도이다.16 is a flow diagram illustrating one embodiment of a method 550 of screening telephone call information based on information associated with a call.

단계 552에서, 제1 콜 셋-업 메시지는 두 번째 TCD로부터 제1 TCD에서 수신된다. 다음에 단계 554에서, 1 이상의 콜에 대답하는 규칙이 액세스되고, 각 콜에 대해 대답하는 규칙은 조건이 충족된다면 콜 셋-업 메시지에 대응하는 최초 TCD에 의해 취해지는 행동과 조건을 정의한다.In step 552, a first call set-up message is received at the first TCD from the second TCD. Next, in step 554, rules for answering one or more calls are accessed, and the rules for answering each call define the actions and conditions taken by the original TCD corresponding to the call set-up message if the conditions are met.

단계 556에서, 콜에 대답하는 하나 이상의 규칙은, 조건이 충족되는지 여부에 따라서 결정된다. 다음으로, 단계 558에서, 콜 셋-업 메시지는 하나 이상의 콜에 대답하는 규칙들을 위한 결정에 따라서 응답된다.At step 556, one or more rules for answering the call are determined depending on whether the condition is met. Next, at step 558, the call set-up message is answered according to a decision for rules to answer one or more calls.

상술한 바와 같이, 1 이상의 규칙의 제1 규칙은 1 이상의 시간 간격 동안 수신되는 콜 셋-업 메시지의 조건상에서 취해지는 행동을 정의할 수 있다. 따라서, 상기 방법(550)은 또한 콜 셋-업 메시지가 수신되는 제1 시각을 결정하는 단계와 제1 시각이 1 이상의 시간 간격 내에 존재하는지 여부를 결정하기 위해 제1 시각을 1 이상의 시간 간격과 비교하는 단계를 포함한다. 제1 시각이 1 이상의 시간 간격 내에 있다면, 콜 셋-업 메시지에 응답하는 단계는 제1 규칙에 의해 정의되는 행동에 따라서 콜 셋-업 메시지에 응답하는 것을 포함한다.As discussed above, the first rule of the one or more rules may define the action taken on the condition of the call set-up message received for one or more time intervals. Thus, the method 550 may also determine the first time at which the call set-up message is received and determine the first time with at least one time interval to determine whether the first time is within at least one time interval. Comparing. If the first time is within one or more time intervals, responding to the call set-up message includes responding to the call set-up message in accordance with the action defined by the first rule.

나아가, 상술한 바와 같이, 1 이상의 규칙의 제1 규칙은 특별 사용자로부터의 콜 셋-업 메시지의 조건상에서 취해지는 행동을 정의할 수 있다. 따라서, 상기 방법(550)의 수신하는 단계는 콜 셋-업 메시지에 대응하는 식별 신호의 수신을 포함하며, 식별 신호는 제2 통신 장치의 사용자를 식별한다. 또한, 결정하는 단계는 식별 신호로부터 사용자를 식별하는 것과, 사용자가 특별한 사용자 중 1명인지 결정하기 위해 사용자의 증명을 1 이상의 특별한 사용자의 증명과 비교하는 것을 포함한다. 사용자가 특별한 사용자 중 1명이면, 콜 셋-업 메시지에 대응하는 단계는제1 규칙에 의해 정의되는 행동에 따라서 콜 셋-업 메시지에 대응하는 것을 포함한다.Furthermore, as described above, the first rule of the one or more rules may define the action taken on the condition of the call set-up message from the special user. Thus, the receiving of the method 550 includes receiving an identification signal corresponding to a call set-up message, wherein the identification signal identifies a user of the second communication device. The determining step also includes identifying the user from the identification signal and comparing the user's credentials with the at least one special user's credentials to determine if the user is one of the special users. If the user is one of a particular user, the step of responding to the call set-up message includes corresponding to the call set-up message in accordance with the action defined by the first rule.

나아가, 1 이상의 콜에 대답하는 규칙들은 제1 조건이 충족된다면 콜 셋-업 메시지를 1 이상의 다른 TCD에 전달하는 것을 정의할 수 있다. 따라서, 응답하는 단계는 제1 조건이 충족되면 1 이상의 TCD에 콜 셋-업 메시지를 전달하는 것을 포함할 수 있다.Furthermore, rules for answering one or more calls may define passing a call set-up message to one or more other TCDs if the first condition is met. Thus, the responding may include forwarding the call set-up message to the one or more TCDs if the first condition is met.

또한, 스크리닝 애플리케이션은 콜에 대답하는 규칙들 중 하나가 제1 조건이 충족되면 사운드를 플레이하는 것을 정의하도록 구성될 수 있다. 따라서, 응답하는 단계는 제1 조건이 충족되면 그러한 사운드를 플레이하는 것을 포함할 수 있다.In addition, the screening application may be configured to define one of the rules for answering the call to play the sound if the first condition is met. Thus, the step of responding may include playing such a sound if the first condition is met.

스크리닝 애플리케이션은 또한 콜에 대답하는 규칙들 중 하나가 제1 조건이 충족된다면 더 많은 정보를 위해 TCD에 콜하도록 사용자를 재촉하는 것을 정의할 수 있다. 따라서, 응답하는 단계는 제1 조건이 충족되면 더 많은 정보를 위해 사용자를 충족하는 단계를 포함한다.The screening application may also define that one of the rules for answering the call prompts the user to call the TCD for more information if the first condition is met. Thus, responding includes satisfying the user for more information if the first condition is met.

다른 애플리케이션은 전자 우편을 텔레폰 콜과 통합되도록 구성될 수 있다. 도 17은 제1 TCD상에서 오디오와 같은 전자 우편 메시지의 내용을 플레이하는 방법(560)의 일 실시예를 보여주는 순서도이다.Another application may be configured to integrate e-mail with a telephone call. FIG. 17 is a flow diagram illustrating one embodiment of a method 560 of playing the contents of an e-mail message such as audio on a first TCD.

단계 562는, 전자 우편 메시지는 전자 우편 메시지의 텍스트 내용을 음성 신호로 전환하는 네트워크 자원(network resource)에 보내지도록 제어된다. 선택적으로, 제1 TCD는 제1 TCD가 네트워크 자원인 것과 같이 텍스트 - 스피치(text to speech) 애플리케이션을 포함한다.In step 562, the e-mail message is controlled to be sent to a network resource that converts the text content of the e-mail message into a voice signal. Optionally, the first TCD includes a text to speech application as if the first TCD is a network resource.

단계 564에 있어서, 콜은 네트워크 자원과 제1 TCD사이에서 셋-업된다. 단계 566에서는, 음성 신호는 텔레폰 콜의 부분으로서 제1 TCD에 전송되도록 제어된다. 이 전송은 제1 TCD에 의해 제어될 수 있다.In step 564, the call is set up between the network resource and the first TCD. In step 566, the voice signal is controlled to be transmitted to the first TCD as part of the telephone call. This transmission may be controlled by the first TCD.

다음으로, 단계 568에서, 음성 신호는 제1 TCD상에서 플레이된다.Next, in step 568, the audio signal is played on the first TCD.

다른 텔레포니 애플리케이션은 텔레폰 대화를 녹음하고 녹음된 대화를 1 이상의 오디오-플레이 장치, 예를 들면 1 이상의 TCD에 전송하도록 구성될 수 있다. 예를 들어, 그러한 텔레포니 애플리케이션은 제1 TCD의 제1 사용자와 1 이상의 제3 TCD의 1 이상의 제3 사용자 사이의 텔레폰 콜의 적어도 제1 부분인 1 이상의 TCD의 1 이상의 사용자와 통신하는 방법을 정의할 수 있다. 그러한 방법은 제1 사용자와 1 이상의 제3 사용자사이의 텔레폰 콜의 적어도 제1 부분을 오디오 파일로서 기록하는 것과 그 오디오 파일을 1 이상의 제2 TCD에 전송하는 단계를 포함한다. 그 오디오 파일은 그것을 전자 우편 메시지에 첨부하고 그 전자 우편 메시지를 1 이상의 제2 TCD에 보내거나, 오디오 파일을 콜 셋-업 메시지에 첨부하여 콜 셋-업 메시지를 1 이상의 제2 TCD에 전송하는 것에 의해 전송될 수 있다.Another telephony application may be configured to record a telephone conversation and send the recorded conversation to one or more audio-play devices, for example one or more TCDs. For example, such a telephony application defines a method of communicating with at least one user of at least one TCD that is at least a first portion of a telephone call between a first user of the first TCD and at least one third user of at least one third TCD. can do. Such a method includes recording at least a first portion of a telephone call between a first user and at least one third user as an audio file and transmitting the audio file to at least one second TCD. The audio file attaches it to an e-mail message and sends the e-mail message to one or more second TCDs, or attaches the audio file to a call set-up message and sends the call set-up message to one or more second TCDs. Can be sent by.

다른 텔레포니 애플리케이션은 TCD의 사용자에 대한 메시지로서 그래픽 파일을 전송하는 방법을 정의할 수 있다. 도 18은 제2 TCD의 제1 사용자에게 그래픽 메시지를 전송하는 방법(570)의 일 실시예를 보여주는 순서도이다.Other telephony applications can define how to send graphics files as messages to users of the TCD. 18 is a flow diagram illustrating one embodiment of a method 570 of transmitting a graphical message to a first user of a second TCD.

단계 572에서, 콜 셋-업 메시지는 제1 TCD로부터 제2 TCD로 보내진다. 다음에, 단계 574에서, 제1 사용자가 콜 셋-업 메시지에 대답하지 않는다는 지령 신호가 제2 TCD로부터 수신된다.In step 572, a call set-up message is sent from the first TCD to the second TCD. Next, at step 574, an instruction signal is received from the second TCD that the first user does not answer the call set-up message.

다음 단계 576에서, 그래픽 파일은 제1 사용자에 대한 메시지로서 저장하기 위해 제1 TCD로부터 제2 TCD로 보내진다. 제1 사용자는 제2 TCD상의 표시 화면에 메시지를 표시할 수 있다. 선택적으로, 제2 TCD는 특별한 사용자만이 제2 TCD상에 그래픽 메시지를 남길 수 있도록 구성되어질 수 있다.In a next step 576, the graphics file is sent from the first TCD to the second TCD for storage as a message for the first user. The first user may display a message on the display screen on the second TCD. Optionally, the second TCD may be configured such that only a particular user can leave a graphical message on the second TCD.

도 19는 표시 화면을 포함하는 제1 TCD의 사용자에게 그래픽 메시지를 전달하는 방법(580)의 다른 실시예를 보여주는 순서도이다.19 is a flow diagram illustrating another embodiment of a method 580 of delivering a graphical message to a user of a first TCD that includes a display screen.

단계 582에서, 콜 셋-업 메시지는 제2 TCD로부터 수신된다. 다음 단계 584에서, 제1 사용자가 콜 셋-업 메시지에 응답하지 않는다는 지시가 보내진다.In step 582, a call set-up message is received from the second TCD. In a next step 584, an indication is sent that the first user does not respond to the call set-up message.

다음으로 단계 586에서, 상기 지시의 전송에 대응하여, 그래픽 파일이 메시지로서 제2 TCD로부터 수신된다.Next, in step 586, in response to sending the indication, a graphics file is received from the second TCD as a message.

다음으로 단계 588에서, 그래픽 파일은 제1 사용자에게 메시지를 전달하기 위해 표시 화면 상에 표시된다.Next, in step 588, the graphic file is displayed on the display screen to deliver a message to the first user.

방법(580)은 또한 제1 TCD에 의해 액세스 가능한 저장 매체, 예를 들면, 제1 TCD상의 로컬 저장 매체 또는 다른 네트워크 자원 상에 위치하고 있는 다른 저장 매체에 그래픽 파일을 저장하는 단계를 포함할 수 있다.The method 580 may also include storing the graphics file on a storage medium accessible by the first TCD, for example, a local storage medium on the first TCD or another storage medium located on another network resource. .

다른 텔레포니 애플리케이션은 매체 소스, 예를 들어, 인터넷 상의 매체 소스에 접속을 부가하고, 매체 소스로부터 제1 TCD에 의해 대기중인 다른 TCD에 매체를 공급하도록 구성될 수 있다.Another telephony application may be configured to add a connection to a media source, eg, a media source on the Internet, and supply the media from the media source to another TCD that is waiting by the first TCD.

도 20은 텔레폰 콜 동안 대기중인 1 이상의 접속이 위치하는 방법(590)의 일 실시예를 보여주는 순서도이다.20 is a flow diagram illustrating one embodiment of a method 590 in which one or more pending connections are located during a telephone call.

단계 592에서, 텔레폰 콜을 대기중으로 위치시키라는 지령 신호가 수신되고, 단계 594에서 매체 파일의 위치의 지령 신호가 수신된다.In step 592, a command signal is received for placing the telephone call into the air, and in step 594, a command signal of the location of the media file is received.

단계 596에서, 매체 파일의 위치에 대한 접속이 생성되고, 단계 598에서 매체 파일로부터 매체 신호가 수신된다.In step 596, a connection to the location of the media file is created, and in step 598 a media signal is received from the media file.

단계 600에서, 매체 신호는 대기중인 1 이상의 접속에 보내진다.In step 600, the media signal is sent to one or more pending connections.

다른 텔레포니 애플리케이션은 제1 사용자에 대한 TCD를 구성하는 방법에 대한 구성 정보와 제1 사용자의 이용 습관에 대한 정보를 포함하는 제1 사용자에 대한 개인 정보를 정의할 수 있다.Another telephony application may define personal information about the first user, including configuration information about how to configure the TCD for the first user and information about the usage habits of the first user.

따라서, 제1 사용자가 커뮤니케이션 네트워크 상에서 어떤 복수의 TCD를 사용할 때, 제1 사용자는 제1 사용자 증명과 제1 사용자가 사용하는 TCD를 구성하기 위해 사용되고 액세스되는 제1 사용자의 개인 정보를 제공할 수 있다. 선택적으로, 이 개인 정보는 커뮤니케이션 네트워크 상에 어떤 복수의 TCD에 의해 액세스 가능한 네트워크 자원에 저장될 수 있다. 나아가, 네트워크 자원, 예를 들면, 도 7과 관련하여 상술한 TCD 배치 서버(314)는 커뮤니케이션 네트워크 상의 어떤 복수의 TCD에 대한 개인 정보를 검색하도록 구성될 수 있다.Thus, when the first user uses a plurality of TCDs on the communication network, the first user can provide the first user's credentials and the personal information of the first user that is used and accessed to construct the TCD used by the first user. have. Optionally, this personal information may be stored in a network resource accessible by any plurality of TCDs on the communication network. Further, the network resource, for example, the TCD deployment server 314 described above with respect to FIG. 7, may be configured to retrieve personal information for any plurality of TCDs on the communication network.

도 21은 제1 사용자에 대한 텔레폰 통신 장치를 동적으로 구성하는 방법(610)의 일 실시예를 보여주는 순서도이다.21 is a flow diagram illustrating one embodiment of a method 610 for dynamically configuring a telephone communication device for a first user.

단계 612에서, 제1 사용자를 식별하는 사용자 증명이 수신되고, 단계 614에서, 제1 사용자에게 특별한 구성 정보가 액세스 된다.In step 612, a user credential identifying the first user is received, and in step 614, configuration information specific to the first user is accessed.

단계 616에서, TCD는 구성 정보에 따라서 구성된다.In step 616, the TCD is configured according to the configuration information.

나아가, 이 개인 정보는 콜이 생성될 때마다, 호출자가 이용가능 하도록 생성되거나, 마이크로소프트 아웃룩(Microsoft Outlook) 또는 로터스 노트(Lotus Notes)와 같은 개인 정보 관리 애플리케이션으로부터 액세스되고 그 안에 저장된다.Furthermore, this personal information is made available to the caller each time a call is made, or accessed and stored in a personal information management application such as Microsoft Outlook or Lotus Notes.

또한, 선택 개인 정보는 IVR 프롬프팅(prompting)을 수신하는 텔레폰 콜에 이용할 수 있도록 생성될 수 있다. 따라서, 텔레포니 애플리케이션은 각 IVR 프롬프트에서 구성될 수 있고, 선택 개인 정보는 액세스될 수 있으며, IVR 프롬프트에 대한 응답은 자동적으로 보내지거나, 보안 기능이 가능하다면, 허락이 승인된 후에 보내진다.In addition, the selected personal information may be generated for use in a telephone call receiving IVR prompting. Thus, a telephony application can be configured at each IVR prompt, optional personal information can be accessed, and a response to the IVR prompt sent automatically or, if security is enabled, after permission is granted.

다른 텔레포니 애플리케이션은 신호를 커뮤니케이션 네트워크 상에 보내기 전에 매체 신호를 왜곡, 스크램블 또는 암호화할 수 있도록 구성될 수 있다.Another telephony application may be configured to distort, scramble, or encrypt the media signal before sending the signal on the communication network.

또 다른 텔레포니 애플리케이션은 미리 정의된 표준상에서 예를 들면 속도(rate)에 기초한 커뮤니케이션 네트워크 상에 특별한 서비스 제공자를 통해 텔레폰 콜의 전달을 제어하도록 구성될 수 있다. 예를 들어, 콜이 다른 네트워크로부터 TCD에 설정되면, 그러한 애플리케이션은 1 이상의 IP/PSTN 게이트웨이 또는 콜에 대한 속도 정보를 위한 IP 네트워크 - IP 네트워크 서비스 제공자에게 문의하도록 구성될 수 있다.Another telephony application may be configured to control the delivery of a telephone call through a special service provider on a communication network based on a rate, for example, on a predefined standard. For example, if a call is set up on the TCD from another network, such an application may be configured to contact an IP network-IP network service provider for one or more IP / PSTN gateways or rate information for the call.

다른 텔레포니 애플리케이션은 TCD상에서 핸즈프리 콜에 대한 대답을 제공하도록 구성될 수 있다. 그러한 애플리케이션은 콜 셋-업 메시지가 수신될 때, 들을 수 있는(예를 들면, 벨) 또는 시각적인 신호(예를 들면, 깜박거리는 빛)는 콜이 왔다는 것을 사용자에게 알려주고, 콜이 수용될 때(예를 들면 콜은 TCD상에 생성된다), 스피커 폰 또는 다른 스피커는 TCD의 사용자가 즉시 텔레폰 대화를 시작할 수 있도록 작동한다.Another telephony application may be configured to provide an answer to a handsfree call on the TCD. Such an application informs the user that when a call set-up message is received, an audible (e.g., bell) or visual signal (e.g., blinking light) indicates that the call has come, and when the call is accepted. (E.g., a call is made on a TCD), a speakerphone or other speaker operates so that the user of the TCD can immediately start a telephone conversation.

또 다른 텔레포니 애플리케이션은 텔레폰 콜에 대한 음성 액센트 분석에 적용되도록 구성될 수 있다. 그러한 애플리케이션은 알려진 기술과 관련있는 숫자의 액센트 레벨을 이용하여 말하는 사람의 정서적 상태를 체크할 수 있다. 숫자 액센트 레벨은 텔레폰 콜에 참여하는 제1 TCD의 사용자에게 표시 화면 상에 표시될 수 있다.Another telephony application may be configured to apply to voice accent analysis for telephony calls. Such an application can check the emotional state of the speaker using a number of accent levels associated with the known technology. The numeric accent level may be displayed on the display screen to the user of the first TCD participating in the telephone call.

다른 텔레포니 애플리케이션은 제1 TCD상에 음성에 기초한 다이얼링을 제공할 수 있다. 그러한 애플리케이션은 사용자의 네트워크 어드레스에 대응하는 음성 패턴의 데이터베이스를 검색하기 위한 음성 인식 로직 또는 제1 TCD의 사용자에 의해 이야기되는 이름과 매치되는 것을 검색하기 위한 다른 식별 수단을 포함할 수 있다. 그러한 데이터베이스는 로컬하게 제1 TCD상에 또는 다른 네트워크 자원에 원격으로 위치할 수 있다. 패턴 매치가 형성된 후에, 제1 TCD는 자동적으로 매치에 상응하는 TCD와 함께 자동으로 콜을 설정할 수 있다. 그러한 애플리케이션은 인터넷상에서 이용 가능한 어떤 텔레폰 번호에 액세스하는 제1 TCD의 사용자 또는 단지 제1 TCD에 이름을 말하는 것에 의해 제1 TCD에 의해 액세스 가능한 다른 텔레폰 디렉토리를 제공할 수 있다.Another telephony application may provide voice based dialing on the first TCD. Such an application may include voice recognition logic for searching a database of voice patterns corresponding to the user's network address or other identifying means for searching for a match with a name spoken by the user of the first TCD. Such a database may be located locally on the first TCD or remotely on another network resource. After the pattern match is formed, the first TCD can automatically set up the call with the TCD corresponding to the match. Such an application may provide a user of the first TCD that accesses any telephone number available on the Internet, or provide another telephone directory accessible by the first TCD by simply naming the first TCD.

상술한 바와 같이, 제1 TCD는 로컬하게 또는 원격으로 텔레폰 내선 또는 텔레폰 번호를 저장할 수 있다. 따라서, 텔레포니 애플리케이션은 사용자가 다른 사용자에게 콜 하기 위해 전화 번호에 들어갈 때, 이 번호들을 검색하고, 번호와 내선의 리스트를 제공하거나, 또는 내선과 텔레폰 번호에 대응하는 사용자의 이름을 사용자에 의해 입력되는 번호와 매치되는 제1 TCD의 표시 화면 상에 제공할 수 있다. 사용자는 제1 TCD 내에 전체 번호를 입력할 때와는 반대로, 텔레폰 번호 내선 또는 사용자 인터페이스를 이용하여 표시 화면으로부터 이름을 선택할 수 있다. 사용자에 의해 새로운 번호가 입력될 때, 매칭하는 텔레폰 번호의 수는 감소될 수 있고, 이 처리는 사용자가 완전히 입력된 내선 또는 텔레폰 번호의 리스트로부터 사용자가 선택을 할 때까지 반복될 수 있다.As mentioned above, the first TCD may store the telephone extension or telephone number locally or remotely. Thus, when a user enters a phone number to call another user, the telephony application retrieves these numbers, provides a list of numbers and extensions, or enters the user's name corresponding to the extension and telephone number. It can be provided on the display screen of the first TCD matching the number to be. The user can select a name from the display screen using the telephone number extension or the user interface, as opposed to entering the full number in the first TCD. When a new number is entered by the user, the number of matching telephone numbers can be reduced, and this process can be repeated until the user selects from a list of fully entered extensions or telephone numbers.

도 5 및 6을 참조하여 상술한 바와 같이, 다른 애플리케이션은 제1 TCD상에 온-디멘드 헬프 시스템(on-demand help system)을 제공할 수 있다. 그러한 헬프 시스템은 단계적으로 제1 TCD의 사용자에게 TCD의 사용법과 특별한 애플리케이션의 사용법에 대한 정보를 제공할 수 있다. 그러한 헬프 애플리케이션은 사용자를 돕기 위해 매체 파일을 사용하도록 구성될 수 있다. 예를 들어, 사용자가 국제 텔레폰 번호를 다이얼링하면, 헬프 시스템은 다이얼되는 국가의 이름에 대해 사용자가 프롬프트할 것이다. 프롬프트에 대한 사용자의 입력에 대응하여, 헬프 애플리케이션은 관련 국가 코드와 폰 번호의 전화 번호 길이를 공급할 수 있다. 다른 실시예에서, 그러한 헬프 애플리케이션은 쌍방향 텍스트 메시지와 새롭거나 또는 뜸하게 사용되던 태스크를 통해 사용자를 프롬프트하는 오디오 클립의 연속성을 제공할 수 있다.As described above with reference to FIGS. 5 and 6, another application may provide an on-demand help system on the first TCD. Such a help system can, step by step, provide the user of the first TCD with information about the use of the TCD and the use of a particular application. Such help applications can be configured to use media files to assist the user. For example, if the user dials an international telephone number, the help system will prompt the user for the name of the country to be dialed. In response to the user's input to the prompt, the help application can supply the relevant country code and phone number length of the phone number. In other embodiments, such help applications may provide continuity of audio clips that prompt the user through interactive text messages and new or deprecated tasks.

텔레폰 번호를 다이얼 하는데 있어서 일반적인 문제는 전화 번호를 부정확하게 입력하고, 끊으며, 완전한 번호를 재다이얼 하는 것이다. 따라서, 텔레포니 애플리케이션은 텔레폰 콜을 시작하기 위한 셋-업 메시지를 보내기 전에 로컬하게 사용자에 의해 입력된 모든 전화 번호를 저장하도록 구성될 수 있다. 나아가, 그러한 애플리케이션은 사용자가 다이얼할 때 전화 번호를 표시할 수 있다. 또한, 그러한 애플리케이션은 부정확한 전화 번호를 입력하는 사용자가 화면으로부터 단지 전화 번호를 깔끔하게 하고, 텔레폰 콜이 시작되기 전에 정확한 전화 번호를 다시 입력할 수 있도록 한다. 정확한 번호가 입력된 후에, 텔레폰 콜을 시작하기 위한 표시 화면 상에 위치를 터치하거나 버튼을 칠 수 있도록 한다.A common problem when dialing a telephone number is entering the telephone number incorrectly, hanging up, and redialing the complete number. Thus, the telephony application can be configured to store all telephone numbers entered by the user locally before sending a set-up message to initiate a telephone call. Furthermore, such an application may display a telephone number when the user dials. Such an application also allows a user who enters an incorrect phone number to clear the phone number only from the screen and re-enter the correct phone number before the telephone call begins. After the correct number has been entered, the position on the display screen for starting a telephone call can be touched or hit a button.

다른 텔레포니 애플리케이션은 사용자 또는 TCD에 대한 정보가 텔레폰 콜의 부분으로서 커뮤니케이션 메시지와 함께(예를 들면 부착되어) 보내지도록 할 수 있다. 따라서, 그러한 애플리케이션 또는 관련된 애플리케이션은 텔레폰 콜의 부분으로서 커뮤니케이션 메시지로부터 그러한 정보를 추출하도록 구성될 수 있다. 그러한 정보는 호출자의 위치에 로컬 타임을 포함하거나, 호출자의 위치를 시각적으로 보여주는 웹에 기초한 맵핑 애플리케이션에 대한 포인터와 같은 매우 복잡한 정보를 포함할 수 있다. 나아가, 맵 자체를 나타내는 데이터는 텔레폰 콜의 부분으로서 커뮤니케이션 메시지와 함께 전송될 수 있다.Other telephony applications may allow information about the user or the TCD to be sent with (eg attached) a communication message as part of a telephone call. Thus, such an application or related application may be configured to extract such information from a communication message as part of a telephone call. Such information can include local time at the caller's location or include very complex information such as a pointer to a web-based mapping application that visually shows the caller's location. Furthermore, data representing the map itself may be sent with the communication message as part of the telephone call.

다른 텔레포니 애플리케이션은 텔레폰 콜이 사람 음성에 의해 대답될 때까지 반복하여 콜 셋-업 메시지를 셋 간격으로 네트워크 어드레스에 보내도록 TCD를 제어할 수 있다. 그러한 애플리케이션은 텔레폰 콜이 너무 급해서 단지 음성 메시지를 남겨야 한다면 사용된다. 나아가, 그러한 애플리케이션은 네트워크 어드레스의수령인이 콜 셋-업 메시지에 대한 응답으로 텔레폰 콜을 전송하면, 제1 TCD가 텔레폰 콜을 종료하도록 구성할 수 있다.Another telephony application may control the TCD to repeatedly send call set-up messages to the network address at set intervals until the telephone call is answered by a human voice. Such an application is used if the telephone call is too urgent to leave only a voice message. Furthermore, such an application may configure the first TCD to terminate the telephone call if the recipient of the network address sends the telephone call in response to the call set-up message.

공간 절약 애플리케이션은 일정한 애플리케이션, 애플리케이션의 부분 및 커뮤니케이션 네트워크 상에서 초기에 배치되는 TCD에 대응하는 제1 TCD상의 데이터만을 로딩하기 위한 방법을 정의할 수 있다. 일정한 애플리케이션, 애플리케이션 및 데이터의 일부만을 동적으로 로딩하도록 제1 TCD를 구성하는 것에 의해, 그러한 공간 절약 애플리케이션이 제1 TCD상에서 애플리케이션에 의해 소모되는 메모리의 양을 제한함으로써 메모리 자원을 보존할 수 있다. 이러한 보존된 메모리는 다른 목적을 위해 사용될 수 있다.A space saving application may define a method for loading only data on a first application corresponding to a certain application, part of the application, and a TCD initially deployed on the communication network. By configuring the first TCD to dynamically load only a portion of certain applications, applications and data, such space saving applications can conserve memory resources by limiting the amount of memory consumed by the application on the first TCD. This reserved memory can be used for other purposes.

다른 애플리케이션은 제1 텔레폰 커뮤니케이션 장치 상의 복수의 애플리케이션 사이의 충돌을 해결하는 방법을 제공하기 위해 정의될 수 있다. 예를 들면, 둘 또는 그 이상의 애플리케이션은 같은 이벤트를 통지하기 위해 정의될 수 있다. 따라서, 이벤트가 일어나면, 어느 애플리케이션이 이벤트를 알려야 하는가에 대해 충돌이 일어난다.Another application may be defined to provide a method for resolving conflicts between a plurality of applications on the first telephone communication device. For example, two or more applications can be defined to notify the same event. Thus, when an event occurs, a conflict arises about which application should notify the event.

따라서, 그러한 애플리케이션은 제1 애플리케이션과 1 이상의 제2 애플리케이션이 제1 이벤트가 일어나면 제1 애플리케이션에 알리는 우선권을 할당하고, 제1 이벤트가 정말 일어난다면, 제1 애플리케이션이 이벤트를 알리고 1 이상의 제2 애플리케이션은 이벤트를 통지하지 않도록 정의되도록 지령 신호를 수신하도록 정의될 수 있다. 다시 말해서, 애플리케이션 중재자와 관련하여 상술한 바와 같이, 제1 애플리케이션은 1 이상의 제2 애플리케이션과의 충돌을 방지하기 위해 통지를소모한다.Thus, such an application assigns priority to the first application and the one or more second applications to notify the first application when the first event occurs, and if the first event really occurs, the first application notifies the event and the one or more second applications. May be defined to receive the command signal to be defined not to notify the event. In other words, as described above in connection with the application moderator, the first application consumes the notification to prevent conflict with one or more second applications.

이러한 충돌 해결 애플리케이션은 사용자가 선택을 하고 통지 우선권을 애플리케이션에 할당하는 것을 허락하는 사용자 인터페이스를 포함할 수 있다. 예를 들면, 사용자 인터페이스는 데스크 탑 컴퓨터 또는 도 5 및 6을 참조하여 설명된 텔레폰과 같은 텔레폰 상에서 실행 될 수 있다.Such conflict resolution applications may include a user interface that allows a user to make selections and assign notification priorities to the application. For example, the user interface may be executed on a desktop computer or on a telephone such as the telephone described with reference to FIGS. 5 and 6.

다른 애플리케이션, 제1 텔레폰 커뮤니케이션 장치의 제1 사용자와 다른 텔레폰 커뮤니케이션 장치의 복수의 제2 사용자, 복수의 제2 사용자의 1 이상의 제3 사용자의 음성을 제1 사용자에게 시각적으로 가리키는 방법, 다른 텔레폰 커뮤니케이션 장치의 복수의 제2 사용자와 제1 텔레폰 커뮤니케이션 장치의 제1 사용자를 포함하는 텔레폰 콜에 대해 정의될 수 있다.Another application, a method of visually pointing to a first user a voice of a plurality of second users of a first telephone communication device and a plurality of second users of another telephone communication device, of at least one third user of a plurality of second users, another telephone communication A telephone call can be defined that includes a plurality of second users of the device and a first user of the first telephone communication device.

상기 방법은 복수의 사용자 증명을 표시하는 것을 포함하고, 각 사용자 증명은 제2 사용자의 한 명을 나타낸다. 예를 들면, 이들 증명은 컴퓨터 화면 또는 텔레폰의 표시 화면에 리스트될 수 있다. 표시 화면(206)은 도 5 및 6을 참조하여 설명되었다.The method includes displaying a plurality of user credentials, each user credential representing one of a second user. For example, these proofs can be listed on a computer screen or a display screen of a telephone. The display screen 206 has been described with reference to FIGS. 5 and 6.

오디오 데이터는 각각 1 이상의 제2 사용자에 대응하는 접속상의 1 이상의 제2 사용자로부터 수신된다.The audio data is received from one or more second users on the connection respectively corresponding to one or more second users.

각각의 1 이상의 제3 사용자에 대하여, 음성 데이터는 알려진 DSP 기술을 사용하는 제3 사용자로부터 수신된 오디오 데이터속에서 검출될 수 있다. 그 애플리케이션은 음성이 접속상에서 수신된다면 검출하기 위해 알려진 DSP 기술을 수행하기 위한 매체 처리 모듈(29)과 관련하여 상술한 1 이상의 매체 처리 소자를 구성할수 있다.For each one or more third users, voice data may be detected in audio data received from a third user using known DSP technology. The application may configure one or more media processing elements described above in connection with a media processing module 29 for performing known DSP techniques to detect if voice is received on the connection.

다음으로, 제3 사용자의 음성 데이터는 혼합될 수 있으며, 예를 들어 도 3의 로컬 브릿지에 의해 혼합된 오디오 데이터를 생성할 수 있다. 다음 단계에서, 혼합된 오디오 데이터는 제1 텔레폰 커뮤니케이션 장치, 예를 들어 핸드셋 스피커, 헤드셋 스피커 또는 베이스 스피커에서 플레이 될 수 있다.Next, the voice data of the third user may be mixed, for example, to generate the mixed audio data by the local bridge of FIG. 3. In a next step, the mixed audio data can be played on a first telephone communication device, for example a handset speaker, a headset speaker or a bass speaker.

1 이상의 제3 사용자의 음성이 일반적으로 제1 사용자에 의해 들린다는 것을 제1 사용자에게 가리키기 위해, 1 이상의 제3 사용자의 각각에 대하여, 시각적인 지령 신호가 제3 사용자를 식별하는 식별 수단 옆에 표시될 수 있다. 예를 들어, 아이콘은 음성 데이터가 제2 사용자의 접속상에서 검출된 각 제2사용자의 이름 옆 표시 화면 상에 나타날 수 있다.For each of the one or more third users, a visual command signal is next to the identification means for identifying the third user, to indicate to the first user that the voice of the one or more third users is generally heard by the first user. May be displayed. For example, the icon may appear on a display screen next to the name of each second user for which voice data has been detected on the connection of the second user.

오디오 데이터의 수신, 음성 데이터의 검출 및 오디오 데이터의 혼합을 포함하는 DSP의 수행은 상술한 지시 명령을 표시하는 장치보다 다른 장치 상에서 수행될 수 있다. 예를 들면, 제1 TCD는 DSP를 수행하고, 컴페니언 장치는 지령 신호를 표시하거나, 또는 원격 서버는 DSP를 수행하고, 제1 TCD는 지령 신호를 표시할 수 있다.The performance of the DSP, including the reception of audio data, the detection of voice data, and the mixing of audio data, can be performed on a device other than the device displaying the above-mentioned instruction command. For example, the first TCD may perform a DSP, the companion device may display a command signal, or the remote server may perform a DSP, and the first TCD may display a command signal.

나아가, DSP를 수행하는 제1 장치는 음성 검출을, 예를 들면, RTCP 메시지의 부분으로서 지령 신호를 표시하는 제2 장치에 전달할 수 있다. 또한, 상기 DSP와 표시는 동일한 장치, 예를 들면 제1 TCD에서 발생할 수 있다.Further, the first device performing the DSP may deliver voice detection, for example, to a second device displaying the command signal as part of the RTCP message. The DSP and indication may also occur in the same device, for example the first TCD.

여러 도시된 실시예를 설명하였으나, 이것은 당해 발명이 속하는 분야에서 통상의 지식을 가진 자에게는 단지 예시하는 것에 지나지 않고 제한하지 않는다는것임이 명백하다. 본 발명의 범위 내에서 각종 변형 및 수정이 가능하다. 특히, 여기서 설명한 실시예가 방법의 단계 또는 장치 소자의 특별한 조합을 포함하고 있지만, 그러한 단계들과 소자들은 동일한 목적을 달성하기 위해 다른 방법으로 조합될 수 있음을 이해하여야 한다. 단지 하나의 실시예와 관련하여 설명한 소자와 특징이 다른 실시예에서는 유사한 역할을 하지 않는다고 의도하는 것은 아니다.While various illustrated embodiments have been described, it is obvious that these are merely illustrative and not limiting to those skilled in the art. Various modifications and variations are possible within the scope of the invention. In particular, although the embodiments described herein involve particular steps of the method or device elements, it should be understood that such steps and elements may be combined in different ways to achieve the same purpose. The elements and features described in connection with only one embodiment are not intended to play a similar role in other embodiments.

Claims (109)

통신 매체를 포함하는 통신 네트워크의 일부인 제1 텔레포니 통신 장치에 있어서,A first telephony communication device, which is part of a communication network comprising a communication medium, 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와,At least one input for receiving audio input from a first user and first data from the communication medium and at least one output for transmitting a medium for first user and second data to the communication medium. Wow, 텔레폰 콜(telephone call)과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함하며,Includes at least a portion of a telephony application that defines telephony functionality performed in connection with a telephone call, includes telephony software for controlling the operation of the hardware component, 텔레포니 소프트웨어 구성 요소의 제작과는 무관하게 개발된 수정물(modification)을 갖는 상기 통신 네트워크 상에 상기 제1 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 애플리케이션이 수정 가능한 것을 특징으로 하는 제1 텔레포니 통신 장치.A first telephony communication device, characterized in that the telephony application is modifiable after the first telephony communication device is deployed on the communication network having a modification developed irrespective of the manufacture of the telephony software component . 제1항에 있어서,The method of claim 1, 상기 텔레포니 소프트웨어 구성 요소는 상기 텔레포니 애플리케이션을 수정하기 위한 개방된 애플리케이션 프로그래밍 인터페이스(open application programming)를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.The telephony software component further comprises an open application programming interface for modifying the telephony application. 제1항에 있어서,The method of claim 1, 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 텔레폰 콜과 무관하게 수행되는 텔레포니 기능을 정의하는 비-텔레포니 애플리케이션의 적어도 일부를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.And at least a portion of a non-telephony application defining a telephony function performed independently of the telephone call. 제1항에 있어서,The method of claim 1, 상기 제1 텔레포니 통신 장치가 상기 통신 네트워크 상에 전개된 후에, 상기 텔레포니 소프트웨어 구성 요소에 부가적인 텔레포니 애플리케이션의 적어도 일부가 부가될 수 있는 것을 특징으로 하는 제1 텔레포니 통신 장치.And after the first telephony communication device is deployed on the communication network, at least a portion of additional telephony applications may be added to the telephony software component. 제4항에 있어서,The method of claim 4, wherein 상기 부가적인 텔레포니 애플리케이션은 벤더로부터 무관하게 개발된 것을 특징으로 하는 제1 텔레포니 통신 장치.Wherein said additional telephony application was developed independent of a vendor. 제1항에 있어서,The method of claim 1, 상기 텔레포니 애플리케이션은 범용 프로그래밍 언어로 기록된 것을 특징으로 하는 제1 텔레포니 통신 장치.And the telephony application is written in a general-purpose programming language. 제1항에 있어서,The method of claim 1, 상기 범용 프로그래밍 언어는 자바(Java)인 것을 특징으로 하는 제1 텔레포니 통신 장치.And the general-purpose programming language is Java. 제1항에 있어서,The method of claim 1, 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 운영 체제와,Operating system, 상기 텔레포니 소프트웨어 구성 요소의 상기 텔레포니 애플리케이션과 상기 운영 체제 사이의 통신을 인터페이스하기 위한 운영 체제 인터페이스 - 상기 텔레포니 애플리케이션은 상기 운영 체제와 무관함 - 를 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.An operating system interface for interfacing communication between said telephony application of said telephony software component and said operating system, said telephony application being independent of said operating system. 제1항에 있어서,The method of claim 1, 상기 텔레포니 인터페이스 구성 요소는The telephony interface component 1 이상의 텔레폰 콜을 동시에 표현 및 제어하기 위한 콜 처리 모듈 - 각각의 텔레폰 콜은 상기 통신 네트워크 상의 다른 텔레포니 통신 장치에 대응하는 다른 사용자에의 1 이상의 접속을 포함함 - 을 더 포함하고,A call processing module for simultaneously representing and controlling one or more telephone calls, each telephone call including one or more connections to other users corresponding to other telephony communication devices on the communications network; 각각의 텔레폰 콜에 대하여 상기 콜 처리 모듈은 각각의 접속을 표현 및 제어하는 것을 특징으로 하는 제1 텔레포니 통신 장치.And for each telephone call, said call processing module represents and controls each connection. 제9항에 있어서,The method of claim 9, 각각의 접속에 대하여, 상기 콜 처리 모듈은 상기 제1 텔레포니 통신 장치에서 이용 가능한 복수의 콜 제어 프로토콜로부터 선택 가능한 제1 콜 제어 프로토콜을 사용하여 상기 접속에 대응하는 텔레포니 장치 상에서의 통신을 제어하도록 동작하는 것을 특징으로 하는 제1 텔레포니 통신 장치.For each connection, the call processing module is operative to control communication on the telephony device corresponding to the connection using a first call control protocol selectable from a plurality of call control protocols available at the first telephony communication device. A first telephony communication device, characterized in that. 제1항에 있어서,The method of claim 1, 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 상기 제1 텔레포니 통신 장치에 대한 애플리케이션을 개발하기 위한 애플리케이션 프로그래밍 인터페이스 - 상기 인터페이스는 복수의 콜 제어 프로토콜에 속함 - 를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.And an application programming interface for developing an application for the first telephony communication device, the interface belonging to a plurality of call control protocols. 제9항에 있어서,The method of claim 9, 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 각각의 텔레폰 콜에 대하여 상기 텔레폰 콜의 매체 처리를 나타내기 위한 대응하는 매체 처리 구성 요소를 포함하는 매체 처리 모듈 - 상기 매체 처리 구성 요소는 각각의 상기 텔레폰 콜의 접속에 대해 대응하는 매체 처리 접속을 포함함 - 을 더 포함하고,A media processing module comprising a corresponding media processing component for indicating a media processing of the telephone call for each telephone call, wherein the media processing component establishes a corresponding media processing connection for each connection of the telephone call; Contains-more, 상기 콜 처리 모듈은 각각의 상기 텔레폰 콜에 대하여 상기 텔레폰 콜의 매체 처리를 제어하기 위하여 상기 텔레폰 콜에 대응하는 상기 매체 처리 구성 요소를 제어하고, 각각의 상기 텔레폰 콜의 접속에 대하여 상기 접속의 매체 처리를 제어하기 위하여 상기 대응하는 매체 처리 접속을 제어하는 것을 특징으로 하는 제1 텔레포니 통신 장치.The call processing module controls the media processing component corresponding to the telephone call to control the media processing of the telephone call for each telephone call, and for the connection of each telephone call, the medium of the connection. And controlling the corresponding media processing connection to control processing. 제9항에 있어서,The method of claim 9, 상기 콜 처리 모듈은 1 이상의 텔레폰 콜을 제어하기 위하여 상기 통신 네트워크 상에서 1 이상의 네트워크 자원과 통신하도록 조작되는 것을 특징으로 하는 제1 텔레포니 통신 장치.And the call processing module is operative to communicate with one or more network resources on the communication network to control one or more telephone calls. 제13항에 있어서,The method of claim 13, 제2 텔레포니 통신 장치는 Public Switched Telephone Network 및 IP/PSTN 게이트웨이를 통하여 상기 통신 네트워크에 접속되고,A second telephony communication device is connected to the communication network through a Public Switched Telephone Network and an IP / PSTN gateway; 상기 콜 처리 모듈은 상기 텔레폰 콜 중에 상기 제2 텔레포니 통신 장치의 제1 사용자 및 제2 사용자 사이의 통신을 제어하도록 IP/PSTN 게이트웨이와 통신하도록 조작되는 것을 특징으로 하는 제1 텔레포니 통신 장치.And the call processing module is operative to communicate with an IP / PSTN gateway to control communication between a first user and a second user of the second telephony communication device during the telephone call. 제1항에 있어서,The method of claim 1, 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 매체 처리 기능을 정의하기 위한 매체 처리 소자를 포함하는 매체 처리 모듈을 더 포함하고,A media processing module comprising a media processing element for defining a media processing function, 매체 처리 기능을 수행하기 위하여, 적어도 제1의 1 이상의 텔레포니 애플리케이션이 상기 제1 텔레포니 애플리케이션의 실행 중 1 이상의 상기 매체 처리 소자의 조합을 동적으로 구성하도록 조작되는 것을 특징으로 하는 제1 텔레포니 통신 장치.Wherein at least a first one or more telephony applications are manipulated to dynamically configure a combination of one or more of the media processing elements during execution of the first telephony application to perform a media processing function. 제1항에 있어서,The method of claim 1, 상기 텔레포니 소프트웨어 구성 요소는 상기 제1 텔레포니 통신 장치에 의해 원격으로 실행 가능한 애플리케이션의 상기 통신 네트워크 상의 위치에 포인터를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.The telephony software component further comprising a pointer to a location on the communication network of an application remotely executable by the first telephony communication device. 제1항에 있어서,The method of claim 1, 상기 텔레포니 애플리케이션은 상기 통신 네트워크 상의 또 다른 네트워크 자원용 원격 사용자 인터페이스를 정의하는 것을 특징으로 하는 제1 텔레포니 통신 장치.Wherein said telephony application defines a remote user interface for another network resource on said communications network. 제1항에 있어서,The method of claim 1, 상기 제1 텔레포니 통신 장치는 전화기인 것을 특징으로 하는 제1 텔레포니 통신 장치.And the first telephony communication device is a telephone. 통신 매체를 포함하는 통신 네트워크의 일부인 제1 텔레포니 통신 장치에 대한 기능을 정의하는 방법 - 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함함 - 으로서,A method of defining a function for a first telephony communication device that is part of a communication network comprising a communication medium, the method comprising: at least one input for receiving audio input from a first user and first data from the communication medium; A telephony hardware component comprising one or more outputs transmitting a medium for one user and second data, and at least a portion of a telephony application defining a telephony function performed in connection with a telephone call, wherein Includes telephony software for controlling the operation, 상기 통신 네트워크 상에 상기 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 통신 장치 상의 상기 텔레포니 애플리케이션에 액세스하는 단계와,After the telephony communication device is deployed on the communication network, accessing the telephony application on the telephony communication device; 상기 텔레포니 애플리케이션을 상기 텔레포니 소프트웨어 구성 요소의 제작과는 무관한 수정물로 수정하는 단계를 포함하는 것을 특징으로 하는 텔레포니 통신 장치에 대한 기능을 정의하는 방법.Modifying the telephony application with a modification that is independent of the production of the telephony software component. 통신 매체를 포함하는 통신 네트워크의 일부인 제1 텔레포니 통신 장치에 대한 기능을 정의하는 시스템 - 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함함 - 으로서,A system defining functionality for a first telephony communication device that is part of a communication network comprising a communication medium, the system comprising: at least one input for receiving audio input from a first user and first data from the communication medium; A telephony hardware component comprising one or more outputs transmitting a medium for one user and second data, and at least a portion of a telephony application defining a telephony function performed in connection with a telephone call, wherein Includes telephony software for controlling the operation, 상기 통신 네트워크 상에 상기 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 통신 장치 상의 상기 텔레포니 애플리케이션에 액세스하는 수단과,Means for accessing the telephony application on the telephony communication device after the telephony communication device is deployed on the communication network; 상기 텔레포니 애플리케이션을 상기 텔레포니 소프트웨어 구성 요소의 제작과는 무관한 수정물로 수정하는 수단을 포함하는 것을 특징으로 하는 텔레포니 통신 장치에 대한 기능을 정의하는 시스템.Means for modifying the telephony application with modifications independent of the production of the telephony software component. 컴퓨터 판독 가능한 매체와,Computer-readable media, 상기 컴퓨터 판독 가능한 매체 상에 저장되고, 컴퓨터에 의한 실행 결과 컴퓨터로 하여금 통신 매체를 포함하는 통신 네트워크의 일부인 제1 텔레포니 통신 장치에 대한 기능을 정의하는 방법 - 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함함 - 을 수행하도록 지시하는 명령을 정의하는 컴퓨터 판독 가능한 신호를 포함하는 컴퓨터 프로그램 프로덕트로서,A method for defining a function for a first telephony communication device stored on the computer readable medium, the result of execution by the computer being a part of a communication network comprising a communication medium-a first user and a first from the communication medium A telephony hardware component comprising at least one input for receiving audio input from data, at least one output for transmitting a medium for first user and second data to the communication medium, and telephony performed in connection with a telephone call. A computer program product comprising computer readable signals defining instructions to perform at least a portion of a telephony application defining a function and comprising telephony software to control the operation of the hardware component. 상기 제1 텔레포니 통신 장치에 대한 기능을 정의하는 방법은A method for defining a function for the first telephony communication device is 상기 통신 네트워크 상에 상기 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 통신 장치 상의 상기 텔레포니 애플리케이션에 액세스하는 단계와,After the telephony communication device is deployed on the communication network, accessing the telephony application on the telephony communication device; 상기 텔레포니 애플리케이션을 상기 텔레포니 소프트웨어 구성 요소의 제작과는 무관한 수정물로 수정하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Modifying the telephony application with a modification that is independent of the production of the telephony software component. 통신 매체와,Communication media, 1 이상의 텔레포니 통신 장치를 포함하는 통신 네트워크에 있어서,A communication network comprising at least one telephony communication device, 상기 각각의 텔레포니 통신 장치는Each telephony communication device 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와,At least one input for receiving audio input from a first user and first data from the communication medium and at least one output for transmitting a medium for first user and second data to the communication medium. Wow, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함하며,Includes at least a portion of a telephony application that defines telephony functionality performed in connection with a telephone call, includes telephony software for controlling the operation of the hardware component, 텔레포니 소프트웨어 구성 요소의 제작과는 무관하게 개발된 수정물을 갖는 상기 통신 네트워크 상에 상기 제1 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 애플리케이션이 수정 가능한 것을 특징으로 하는 통신 네트워크.And wherein the telephony application is modifiable after the first telephony communication device is deployed on the communication network with modifications developed irrespective of the manufacture of the telephony software components. 통신 매체를 포함하는 통신 네트워크의 일부인 제1 텔레포니 통신 장치에 있어서,A first telephony communication device, which is part of a communication network comprising a communication medium, 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와,At least one input for receiving audio input from a first user and first data from the communication medium and at least one output for transmitting a medium for first user and second data to the communication medium. Wow, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함하며,Includes at least a portion of a telephony application that defines telephony functionality performed in connection with a telephone call, includes telephony software for controlling the operation of the hardware component, 상기 제1 텔레포니 통신 장치가 상기 통신 네트워크 상에 전개된 후에, 상기 텔레포니 소프트웨어 구성 요소에 부가적인 텔레포니 애플리케이션의 적어도 일부가 부가될 수 있는 것을 특징으로 하는 제1 텔레포니 통신 장치.And after the first telephony communication device is deployed on the communication network, at least a portion of additional telephony applications may be added to the telephony software component. 제23항에 있어서,The method of claim 23, wherein 상기 부가적인 텔레포니 애플리케이션은 상기 소프트웨어 구성 요소의 제작과는 무관하게 개발된 것을 특징으로 하는 제1 텔레포니 통신 장치.And wherein said additional telephony application was developed independent of the production of said software component. 상기 텔레포니 소프트웨어 구성 요소는 상기 부가적인 텔레포니 애플리케이션의 적어도 일부를 부가하기 위하여 개방된 애플리케이션 프로그래밍 인터페이스를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.The telephony software component further comprising an application programming interface open to add at least a portion of the additional telephony application. 제23항에 있어서,The method of claim 23, wherein 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 텔레폰 콜과 무관하게 수행되는 비-텔레포니 기능을 정의하는 비-텔레포니 애플리케이션의 적어도 일부를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.And at least a portion of a non-telephony application defining a non-telephony function performed independently of the telephone call. 제23항에 있어서,The method of claim 23, wherein 텔레포니 소프트웨어 구성 요소의 제작과는 무관하게 개발된 수정물을 갖는 상기 통신 네트워크 상에 상기 제1 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 애플리케이션이 수정 가능한 것을 특징으로 하는 제1 텔레포니 통신 장치.Wherein the telephony application is modifiable after the first telephony communication device is deployed on the communication network with modifications developed irrespective of the manufacture of the telephony software components. 제23항에 있어서,The method of claim 23, wherein 상기 텔레포니 애플리케이션은 범용 프로그래밍 언어로 기록된 것을 특징으로 하는 제1 텔레포니 통신 장치.And the telephony application is written in a general-purpose programming language. 제23항에 있어서,The method of claim 23, wherein 상기 범용 프로그래밍 언어는 자바인 것을 특징으로 하는 제1 텔레포니 통신 장치.And the general-purpose programming language is Java. 제23항에 있어서,The method of claim 23, wherein 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 운영 체제와,Operating system, 상기 텔레포니 소프트웨어 구성 요소의 상기 텔레포니 애플리케이션과 상기 운영 체제 사이의 통신을 인터페이스하기 위한 운영 체제 인터페이스 - 상기 텔레포니 애플리케이션은 상기 운영 체제와 무관함 - 를 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.An operating system interface for interfacing communication between said telephony application of said telephony software component and said operating system, said telephony application being independent of said operating system. 제23항에 있어서,The method of claim 23, wherein 상기 텔레포니 인터페이스 구성 요소는The telephony interface component 1 이상의 텔레폰 콜을 동시에 표현 및 제어하기 위한 콜 처리 모듈 - 각각의 텔레폰 콜은 상기 통신 네트워크 상의 다른 텔레포니 통신 장치에 대응하는 다른 사용자에의 1 이상의 접속을 포함함 - 을 더 포함하고,A call processing module for simultaneously representing and controlling one or more telephone calls, each telephone call including one or more connections to other users corresponding to other telephony communication devices on the communications network; 각각의 텔레폰 콜에 대하여 상기 콜 처리 모듈은 각각의 접속을 표현 및 제어하는 것을 특징으로 하는 제1 텔레포니 통신 장치.And for each telephone call, said call processing module represents and controls each connection. 제31항에 있어서,The method of claim 31, wherein 각각의 접속에 대하여, 상기 콜 처리 모듈은 상기 제1 텔레포니 통신 장치에서 이용 가능한 복수의 콜 제어 프로토콜로부터 선택 가능한 제1 콜 제어 프로토콜을 사용하여 상기 접속에 대응하는 텔레포니 장치 상에서의 통신을 제어하도록 동작하는 것을 특징으로 하는 제1 텔레포니 통신 장치.For each connection, the call processing module is operative to control communication on the telephony device corresponding to the connection using a first call control protocol selectable from a plurality of call control protocols available at the first telephony communication device. A first telephony communication device, characterized in that. 제32항에 있어서,33. The method of claim 32, 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 상기 제1 텔레포니 통신 장치에 대한 애플리케이션을 개발하기 위한 애플리케이션 프로그래밍 인터페이스 - 상기 인터페이스는 복수의 콜 제어 프로토콜에 속함 - 를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.And an application programming interface for developing an application for the first telephony communication device, the interface belonging to a plurality of call control protocols. 제31항에 있어서,The method of claim 31, wherein 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 각각의 텔레폰 콜에 대하여 상기 텔레폰 콜의 매체 처리를 나타내기 위한 대응하는 매체 처리 구성 요소를 포함하는 매체 처리 모듈 - 상기 매체 처리 구성 요소는 각각의 상기 텔레폰 콜의 접속에 대해 대응하는 매체 처리 접속을 포함함 - 을 더 포함하고,A media processing module comprising a corresponding media processing component for indicating a media processing of the telephone call for each telephone call, wherein the media processing component establishes a corresponding media processing connection for each connection of the telephone call; Contains-more, 상기 콜 처리 모듈은 각각의 상기 텔레폰 콜에 대하여 상기 텔레폰 콜의 매체 처리를 제어하기 위하여 상기 텔레폰 콜에 대응하는 상기 매체 처리 구성 요소를 제어하고, 각각의 상기 텔레폰 콜의 접속에 대하여 상기 접속의 매체 처리를 제어하기 위하여 상기 대응하는 매체 처리 접속을 제어하는 것을 특징으로 하는 제1 텔레포니 통신 장치.The call processing module controls the media processing component corresponding to the telephone call to control the media processing of the telephone call for each telephone call, and for the connection of each telephone call, the medium of the connection. And controlling the corresponding media processing connection to control processing. 제31항에 있어서,The method of claim 31, wherein 상기 콜 처리 모듈은 1 이상의 텔레폰 콜을 제어하기 위하여 상기 통신 네트워크 상에서 1 이상의 네트워크 자원과 통신하도록 조작되는 것을 특징으로 하는 제1 텔레포니 통신 장치.And the call processing module is operative to communicate with one or more network resources on the communication network to control one or more telephone calls. 제35항에 있어서,36. The method of claim 35 wherein 제2 텔레포니 통신 장치는 Public Switched Telephone Network 및 IP/PSTN게이트웨이를 통하여 상기 통신 네트워크에 접속되고,A second telephony communication device is connected to the communication network through a Public Switched Telephone Network and an IP / PSTN gateway; 상기 콜 처리 모듈은 상기 텔레폰 콜 중에 상기 제2 텔레포니 통신 장치의 제1 사용자 및 제2 사용자 사이의 통신을 제어하도록 IP/PSTN 게이트웨이와 통신하도록 조작되는 것을 특징으로 하는 제1 텔레포니 통신 장치.And the call processing module is operative to communicate with an IP / PSTN gateway to control communication between a first user and a second user of the second telephony communication device during the telephone call. 제23항에 있어서,The method of claim 23, wherein 상기 텔레포니 소프트웨어 구성 요소는The telephony software component is 매체 처리 기능을 정의하기 위한 매체 처리 소자를 포함하는 매체 처리 모듈을 더 포함하고,A media processing module comprising a media processing element for defining a media processing function, 매체 처리 기능을 수행하기 위하여, 상기 텔레포니 애플리케이션이 상기 텔레포니 애플리케이션의 실행 중 1 이상의 상기 매체 처리 소자의 조합을 동적으로 구성하도록 조작되는 것을 특징으로 하는 제1 텔레포니 통신 장치.Wherein the telephony application is manipulated to dynamically configure a combination of one or more of the media processing elements during execution of the telephony application to perform a media processing function. 제23항에 있어서,The method of claim 23, wherein 상기 텔레포니 소프트웨어 구성 요소는 상기 제1 텔레포니 통신 장치에 의해 원격으로 실행 가능한 애플리케이션의 상기 통신 네트워크 상의 위치에 포인터를 더 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.The telephony software component further comprising a pointer to a location on the communication network of an application remotely executable by the first telephony communication device. 제23항에 있어서,The method of claim 23, wherein 상기 텔레포니 애플리케이션은 상기 통신 네트워크 상의 또 다른 네트워크자원용 원격 사용자 인터페이스를 정의하는 것을 특징으로 하는 제1 텔레포니 통신 장치.Wherein said telephony application defines a remote user interface for another network resource on said communications network. 제23항에 있어서,The method of claim 23, wherein 상기 제1 텔레포니 통신 장치는 전화기인 것을 특징으로 하는 제1 텔레포니 통신 장치.And the first telephony communication device is a telephone. 통신 매체를 포함하는 통신 네트워크의 일부인 텔레포니 통신 장치에 대한 기능을 정의하는 방법 - 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함함 - 으로서,A method for defining functionality for a telephony communication device that is part of a communication network comprising a communication medium, the method comprising: at least one input for receiving audio input from a first user and first data from the communication medium, and a first user with the communication medium. And at least a portion of a telephony hardware component that includes one or more outputs transmitting a medium for second data and a telephony application that defines a telephony function performed in connection with a telephone call. Including telephony software to control- 상기 통신 네트워크 상에 상기 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 통신 장치 상의 상기 텔레포니 소프트웨어 구성 요소에 액세스하는 단계와,After the telephony communication device is deployed on the communication network, accessing the telephony software component on the telephony communication device; 상기 텔레포니 소프트웨어 구성 요소에 부가적인 텔레포니 애플리케이션의 적어도 일부를 부가하는 단계를 포함하는 것을 특징으로 하는 텔레포니 통신 장치에 대한 기능을 정의하는 방법.Adding at least a portion of an additional telephony application to the telephony software component. 통신 매체를 포함하는 통신 네트워크의 일부인 텔레포니 통신 장치에 대한 기능을 정의하는 시스템 - 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함함 - 으로서,A system defining functionality for a telephony communication device that is part of a communication network comprising a communication medium, the system comprising: at least one input for receiving audio input from a first user and first data from the communication medium and a first user with the communication medium And at least a portion of a telephony hardware component that includes one or more outputs transmitting a medium for second data and a telephony application that defines a telephony function performed in connection with a telephone call. Including telephony software to control- 상기 통신 네트워크 상에 상기 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 통신 장치 상의 상기 텔레포니 소프트웨어 구성 요소에 액세스하는 수단과,Means for accessing the telephony software component on the telephony communication device after the telephony communication device is deployed on the communication network; 상기 텔레포니 소프트웨어 구성 요소에 부가적인 텔레포니 애플리케이션의 적어도 일부를 부가하는 수단을 포함하는 것을 특징으로 하는 텔레포니 통신 장치에 대한 기능을 정의하는 시스템.Means for adding at least a portion of an additional telephony application to the telephony software component. 컴퓨터 판독 가능한 매체와,Computer-readable media, 상기 컴퓨터 판독 가능한 매체 상에 저장되고, 컴퓨터에 의한 실행 결과 컴퓨터로 하여금 통신 매체를 포함하는 통신 네트워크의 일부인 텔레포니 통신 장치에 대한 기능을 정의하는 방법 - 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함함 - 을 수행하도록 지시하는 명령을 정의하는 컴퓨터 판독 가능한 신호를 포함하는 컴퓨터 프로그램 프로덕트로서,A method for defining a function for a telephony communication device stored on the computer readable medium, the result of execution by the computer being a part of a communication network comprising a communication medium, from the first user and the first data; A telephony hardware component comprising at least one input for receiving an audio input of a telephony device, at least one output for transmitting a medium for a first user and second data to the communication medium, and a telephony function performed in connection with a telephone call. A computer program product comprising computer readable signals defining instructions instructing to perform at least a portion of a defining telephony application and comprising telephony software for controlling the operation of said hardware component. 상기 텔레포니 통신 장치에 대한 기능을 정의하는 방법은The method for defining a function for the telephony communication device is 상기 통신 네트워크 상에 상기 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 소프트웨어 구성 요소에 액세스하는 단계와,After the telephony communication device is deployed on the communication network, accessing the telephony software component; 상기 텔레포니 소프트웨어 구성 요소에 부가적인 텔레포니 애플리케이션의 적어도 일부를 부가하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Adding at least a portion of an additional telephony application to the telephony software component. 통신 매체와,Communication media, 1 이상의 텔레포니 통신 장치를 포함하는 통신 네트워크에 있어서,A communication network comprising at least one telephony communication device, 상기 각각의 텔레포니 통신 장치는Each telephony communication device 상기 통신 매체로부터 제1 사용자 및 제1 데이터로부터의 오디오 입력을 수신하는 1 이상의 입력과, 상기 통신 매체로 제1 사용자 및 제2 데이터에 대한 매체를 전송하는 1 이상의 출력을 포함하는 텔레포니 하드웨어 구성 요소와,At least one input for receiving audio input from a first user and first data from the communication medium and at least one output for transmitting a medium for first user and second data to the communication medium. Wow, 텔레폰 콜과 관련하여 수행되는 텔레포니 기능을 정의하는 텔레포니 애플리케이션의 적어도 일부를 포함하며, 상기 하드웨어 구성 요소의 동작을 제어하기 위한 텔레포니 소프트웨어를 포함하며,Includes at least a portion of a telephony application that defines telephony functionality performed in connection with a telephone call, includes telephony software for controlling the operation of the hardware component, 상기 통신 네트워크 상에 상기 텔레포니 통신 장치가 전개된 후에, 상기 텔레포니 소프트웨어 구성 요소에 부가적인 텔레포니 애플리케이션의 적어도 일부가 부가될 수 있는 것을 특징으로 하는 통신 네트워크.After the telephony communication device is deployed on the communication network, at least a portion of additional telephony applications may be added to the telephony software component. 통신 매체를 포함하는 통신 네트워크의 일부인 제1 텔레포니 통신 장치에 있어서,A first telephony communication device, which is part of a communication network comprising a communication medium, 다른 사용자에 대한 1 이상의 접속을 포함하는 적어도 제1 텔레폰 콜을 표현 및 제어하는 콜 처리 모듈 - 각각의 사용자는 상기 통신 네트워크 상의 또 다른 텔레포니 통신 장치에 대응함 - 을 포함하고,A call processing module for representing and controlling at least a first telephone call comprising at least one connection to another user, each user corresponding to another telephony communication device on the communication network; 적어도 제1의 1 이상의 접속에 대하여, 상기 콜 처리 모듈은 제1 텔레포니 통신 장치 상에서 이용 가능한 복수의 콜 제어 프로토콜로부터 선택 가능한 제1 콜 제어 프로토콜을 사용하여 상기 텔레포니 통신 장치 상의 제1 접속에 대응하는 통신을 제어하도록 조작되는 것을 특징으로 하는 텔레포니 통신 장치.For at least a first one or more connections, the call processing module corresponds to a first connection on the telephony communication device using a first call control protocol selectable from a plurality of call control protocols available on the first telephony communication device. A telephony communication device, characterized in that it is manipulated to control communication. 제45항에 있어서,The method of claim 45, 상기 제1 접속에 대응하는 통신을 동시에 제어하기 위하여, 상기 콜 처리 모듈이 제2의 복수의 콜 제어 프로토콜을 사용하여 제2의 1 이상의 접속에 대응하는 상기 텔레포니 장치 상의 통신을 제어하도록 조작되는 것을 특징으로 하는 텔레포니 통신 장치.In order to simultaneously control communication corresponding to the first connection, the call processing module is operated to control communication on the telephony device corresponding to the second one or more connections using a second plurality of call control protocols. A telephony communication device characterized by the above. 제45항에 있어서,The method of claim 45, 상기 콜 처리 모듈은 적어도 제2 접속을 나타내는 제2 텔레폰 콜을 표현 및 제어하며,The call processing module represents and controls a second telephone call representing at least a second connection, 상기 제1 접속에 대응하는 통신을 동시에 제어하기 위하여, 상기 콜 처리 모듈이 상기 제2의 복수의 콜 제어 프로토콜을 사용하여 상기 텔레포니 통신 장치 상의 제2 접속에 대응하는 통신을 제어하도록 조작되는 것을 특징으로 하는 텔레포니 통신 장치.To simultaneously control communication corresponding to the first connection, the call processing module is operated to control communication corresponding to a second connection on the telephony communication device using the second plurality of call control protocols. Telephony communication device. 제45항에 있어서,The method of claim 45, 상기 제1 콜 제어 프로토콜은 Session Initiation Protocol인 것을 특징으로 하는 텔레포니 통신 장치.The first call control protocol is a telephony communication device, characterized in that the Session Initiation Protocol. 제45항에 있어서,The method of claim 45, 상기 제1 콜 제어 프로토콜은 H.323 프로토콜을 사용하는 제1 텔레폰 콜인 것을 특징으로 하는 텔레포니 통신 장치.The first call control protocol is a telephony communication device, characterized in that the first telephone call using the H.323 protocol. 제45항에 있어서,The method of claim 45, 상기 제1 콜 제어 프로토콜은 Media Gateway Control 프로토콜인 것을 특징으로 하는 텔레포니 통신 장치.The first call control protocol is a telephony communication device, characterized in that the Media Gateway Control protocol. 제45항에 있어서,The method of claim 45, 상기 콜 처리 모듈은 Megaco/H.248 프로토콜을 사용하여 제1 텔레폰 콜의 1 이상의 접속을 제어하도록 조작되는 것을 특징으로 하는 텔레포니 통신 장치.And the call processing module is manipulated to control at least one connection of the first telephone call using the Megaco / H.248 protocol. 제45항에 있어서,The method of claim 45, 상기 콜 처리 모듈은 Skinny Station 프로토콜을 사용하여 제1 텔레폰 콜의 1 이상의 접속을 제어하도록 조작되는 것을 특징으로 하는 텔레포니 통신 장치.And the call processing module is manipulated to control one or more connections of the first telephone call using the Skinny Station protocol. 통신 네트워크에 접속된 제1 텔레포니 통신 장치 상의 1 이상의 텔레폰 콜을 제어하는 방법 - 제1 텔레폰 콜은 다른 사용자에의 1 이상의 접속을 포함하고, 각각의 사용자는 상기 통신 네트워크 상의 또 다른 텔레포니 통신 장치에 대응함 - 으로서, 적어도 제1의 1 이상의 접속에 대하여,A method of controlling one or more telephone calls on a first telephony communication device connected to a communication network, wherein the first telephone call includes one or more connections to another user, each user being connected to another telephony communication device on the communication network. Corresponding to, for at least the first one or more connections, 상기 제1 텔레포니 통신 장치 상에서 이용 가능한 복수의 콜 제어 프로토콜로부터 제1 콜 제어 프로토콜을 선택하는 단계와,Selecting a first call control protocol from a plurality of call control protocols available on the first telephony communication device; 상기 제1 콜 제어 프로토콜을 사용하여 상기 텔레포니 통신 장치 상의 상기 제1 접속에 대응하는 통신을 제어하는 단계를 포함하는 것을 특징으로 하는 통신 네트워크에 접속된 제1 텔레포니 통신 장치 상의 1 이상의 텔레폰 콜을 제어하는 방법.Controlling communication corresponding to the first connection on the telephony communication device using the first call control protocol; controlling one or more telephone calls on the first telephony communication device connected to the communication network. How to. 제53항에 있어서,The method of claim 53, 상기 제1 접속에 대응하는 통신을 제어하는 단계와 동시에, 제2의 복수의 콜제어 프로토콜을 사용하여 제2의 1 이상의 접속에 대응하는 상기 텔레포니 장치 상의 통신을 제어하는 단계를 더 포함하는 것을 특징으로 하는 통신 네트워크에 접속된 제1 텔레포니 통신 장치 상의 1 이상의 텔레폰 콜을 제어하는 방법.And simultaneously controlling the communication corresponding to the first connection, controlling communication on the telephony device corresponding to the second one or more connections using a second plurality of call control protocols. A method of controlling one or more telephone calls on a first telephony communication device connected to a communication network. 제53항에 있어서,The method of claim 53, 상기 제1 접속에 대응하는 통신을 제어하는 단계와 동시에, 제2의 복수의 콜 제어 프로토콜을 사용하여 상기 텔레포니 통신 장치 상의 제2 접속에 대응하는 통신을 제어하는 단계를 더 포함하는 것을 특징으로 하는 통신 네트워크에 접속된 제1 텔레포니 통신 장치 상의 1 이상의 텔레폰 콜을 제어하는 방법.And simultaneously controlling the communication corresponding to the first connection, controlling the communication corresponding to the second connection on the telephony communication device using a second plurality of call control protocols. A method of controlling one or more telephone calls on a first telephony communication device connected to a communication network. 통신 네트워크에 접속된 제1 텔레포니 통신 장치 상의 제1 텔레폰 콜을 제어하는 시스템 - 상기 텔레폰 콜은 다른 사용자에의 1 이상의 접속을 포함하고, 각각의 사용자는 상기 통신 네트워크 상의 또 다른 텔레포니 통신 장치에 대응함 - 으로서, 적어도 제1의 1 이상의 접속에 대하여,A system for controlling a first telephone call on a first telephony communication device connected to a communication network, wherein the telephone call includes one or more connections to another user, each user corresponding to another telephony communication device on the communication network. -For at least the first one or more connections, 상기 제1 텔레포니 통신 장치 상에서 이용 가능한 복수의 콜 제어 프로토콜로부터 제1 콜 제어 프로토콜을 선택하는 수단과,Means for selecting a first call control protocol from a plurality of call control protocols available on the first telephony communication device; 상기 제1 콜 제어 프로토콜을 사용하여 상기 텔레포니 통신 장치 상의 상기 제1 접속에 대응하는 통신을 제어하는 수단을 포함하는 것을 특징으로 하는 통신 네트워크에 접속된 제1 텔레포니 통신 장치 상의 제1 텔레폰 콜을 제어하는 시스템.Means for controlling a communication corresponding to said first connection on said telephony communication device using said first call control protocol; controlling a first telephone call on a first telephony communication device connected to a communication network System. 컴퓨터 판독 가능한 매체와,Computer-readable media, 상기 컴퓨터 판독 가능한 매체 상에 저장되고, 컴퓨터에 의한 실행 결과 컴퓨터로 하여금 통신 네트워크에 접속된 제1 텔레포니 통신 장치 상의 제1 텔레폰 콜을 제어하는 방법 - 상기 텔레폰 콜은 다른 사용자에의 1 이상의 접속을 포함하고, 각각의 사용자는 상기 통신 네트워크 상의 또 다른 텔레포니 통신 장치에 대응함 - 으로서, 적어도 제1의 1 이상의 접속에 대하여,A method of controlling a first telephone call on a first telephony communication device stored on the computer readable medium and executed by a computer that results in execution by a computer, wherein the telephone call establishes one or more connections to other users. Wherein each user corresponds to another telephony communication device on the communication network, for at least the first one or more connections, 상기 제1 텔레포니 통신 장치 상에서 이용 가능한 복수의 콜 제어 프로토콜로부터 제1 콜 제어 프로토콜을 선택하는 단계와,Selecting a first call control protocol from a plurality of call control protocols available on the first telephony communication device; 상기 제1 콜 제어 프로토콜을 사용하여 상기 텔레포니 통신 장치 상의 상기 제1 접속에 대응하는 통신을 제어하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Controlling the communication corresponding to the first connection on the telephony communication device using the first call control protocol. 통신 매체와,Communication media, 1 이상의 텔레포니 통신 장치를 포함하는 통신 네트워크에 있어서,A communication network comprising at least one telephony communication device, 상기 각각의 텔레포니 통신 장치는Each telephony communication device 다른 사용자에의 1 이상의 접속을 포함하는 적어도 제1 텔레폰 콜을 표현 및 제어하는 콜 처리 모듈 - 각각의 사용자는 상기 통신 네트워크 상의 또 다른 텔레포니 통신 장치에 대응함 - 을 포함하고,A call processing module for representing and controlling at least a first telephone call comprising at least one connection to another user, each user corresponding to another telephony communication device on the communication network; 적어도 제1의 1 이상의 접속에 대하여, 상기 콜 처리 모듈이 상기 제1 텔레포니 통신 장치 상에서 이용 가능한 복수의 콜 제어 프로토콜로부터 선택 가능한 제1 콜 제어 프로토콜을 사용하여 상기 텔레포니 통신 장치 상의 제1 접속에 대응하는 통신을 제어하도록 조작되는 것을 특징으로 하는 통신 네트워크.For at least a first one or more connections, the call processing module corresponds to a first connection on the telephony communication device using a first call control protocol selectable from a plurality of call control protocols available on the first telephony communication device A communication network operable to control communication. 컴퓨터 판독 가능한 매체와,Computer-readable media, 상기 컴퓨터 판독 가능한 매체 상에 저장되고, 제1 텔레포니 통신 장치에 의한 실행 결과 상기 제1 텔레포니 통신 장치로 하여금 텔레포니 애플리케이션을 수행하도록 하며,Stored on the computer readable medium, causing the first telephony communication device to perform a telephony application as a result of execution by the first telephony communication device, 상기 제1 텔레포니 통신 장치가 통신 네트워크 상에 전개된 후에, 상기 제1 텔레포니 통신 장치에 상기 텔레포니 애플리케이션의 적어도 일부가 부가될 수 있는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And after the first telephony communication device is deployed on a communication network, at least a portion of the telephony application can be added to the first telephony communication device. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션은 제2 텔레포니 통신 장치의 적어도 제1 사용자에게 들어오는 콜을 지시하는 방법을 정의하며,The telephony application defines a method for instructing an incoming call to at least a first user of a second telephony communication device, 상기 방법은The method is 제2 텔레포니 통신 장치의 네트워크 어드레스에 대응하는 다이얼 명령을 수신하는 단계와,Receiving a dial command corresponding to the network address of the second telephony communication device, 상기 다이얼 명령으로부터 제1 사용자를 식별하는 단계와,Identifying a first user from the dial command; 상기 식별에 기초하여 플레이할 사운드를 선택하는 단계와,Selecting a sound to play based on the identification; 상기 네트워크 어드레스에서 상기 제2 텔레포니 통신 장치에 콜 셋-업 메시지 - 상기 콜 셋-업 메시지는 상기 제2 텔레포니 통신 장치가 상기 선택된 사운드를 생성하도록 하는 정보를 포함함 - 를 전송하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Sending a call set-up message to the second telephony communication device at the network address, wherein the call set-up message includes information for causing the second telephony communication device to generate the selected sound. A computer program product, characterized in that. 제60항에 있어서,The method of claim 60, 상기 정보는 상기 선택된 사운드를 나타내는 신호를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Said information comprising a signal indicative of said selected sound. 제60항에 있어서,The method of claim 60, 상기 정보는 상기 선택된 사운드를 플레이할 명령을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the information includes instructions to play the selected sound. 제60항에 있어서,The method of claim 60, 상기 정보는 특별한 위치로부터 상기 선택된 사운드를 플레이할 명령을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Wherein said information includes instructions to play said selected sound from a particular location. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션은The telephony application is 상기 제1 텔레포니 통신 장치와 2 이상의 제2 텔레포니 통신 장치 사이의제1 사용자 및 2 이상의 접속으로부터 매체를 수신하기 위한 제1 사용자 입력을 포함하는 컨퍼런스 콜 중 매체를 선택적으로 전송하는 방법 - 제2 텔레포니 통신 장치는 제2 사용자에 대응함 - 을 정의하며,-A method for selectively transmitting a medium of a conference call comprising a first user input for receiving a medium from a first user and at least two connections between the first telephony communication device and at least two second telephony communication devices-a second telephony The communication device corresponding to the second user- 상기 방법은The method is 1 이상의 제4 사용자로부터의 매체 수신을 배제하기 위하여 1 이상의 제3 사용자를 식별하는 사용자 식별을 수신하는 단계 - 각각의 제3 및 제4 사용자는 상기 제1 사용자이거나 상기 제2 사용자 중 하나임 -와,Receiving a user identification identifying one or more third users to exclude media receipt from one or more fourth users, wherein each third and fourth user is either the first user or one of the second users; and , 컨퍼런스 콜 중, 이상의 제4 사용자로부터의 1 이상의 매체 입력을 수신하는 단계와,During a conference call, receiving at least one media input from at least a fourth user; 컨퍼런스 콜 중, 1 이상의 제3 사용자가 1 이상의 매체 입력으로부터 생성된 어떠한 매체도 수신하지 못하도록 방해하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.During a conference call, preventing one or more third users from receiving any media generated from the one or more media inputs. 제64항에 있어서,65. The method of claim 64, 상기 제1 텔레포니 통신 장치는 원격 콜 브릿지를 더 포함하고, 제1 애플리케이션은 원격 콜 브릿지의 사용을 방해하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the first telephony communication device further comprises a remote call bridge, wherein the first application interferes with the use of the remote call bridge. 제64항에 있어서,65. The method of claim 64, 상기 사용자 선택은 상기 제1 사용자로부터 수신되는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the user selection is received from the first user. 제64항에 있어서,65. The method of claim 64, 상기 사용자 선택은 상기 제2 사용자 중 하나로부터 수신되는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the user selection is received from one of the second users. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션은The telephony application is 상기 제1 텔레포니 통신 장치와 2 이상의 제2 텔레포니 통신 장치 사이의 제1 사용자 및 2 이상의 접속으로부터 매체를 수신하기 위한 제1 사용자 입력을 포함하는 컨퍼런스 콜 중 매체를 선택적으로 전송하는 방법 - 제2 텔레포니 통신 장치는 제2 사용자에 대응함 - 을 정의하며,-A method for selectively transmitting a medium during a conference call comprising a first user input for receiving a medium from a first user and at least two connections between the first telephony communication device and at least two second telephony communication devices-a second telephony The communication device corresponding to the second user- 상기 방법은The method is 1 이상의 제4 사용자로부터의 매체 수신을 배제하기 위하여 1 이상의 제3 사용자를 식별하는 사용자 식별을 수신하는 단계 - 각각의 제3 및 제4 사용자는 상기 제1 사용자이거나 상기 제2 사용자 중 하나임 -와,Receiving a user identification identifying one or more third users to exclude media receipt from one or more fourth users, wherein each third and fourth user is either the first user or one of the second users; and , 컨퍼런스 콜 중, 이상의 제4 사용자로부터의 1 이상의 매체 입력을 수신하는 단계와,During a conference call, receiving at least one media input from at least a fourth user; 컨퍼런스 콜 중, 1 이상의 제3 사용자가 1 이상의 매체 입력으로부터 생성된 어떠한 매체도 수신하지 못하도록 방해하는 단계를 포함하는 것을 특징으로 하는컴퓨터 프로그램 프로덕트.During a conference call, preventing one or more third users from receiving any media generated from one or more media inputs. 제68항에 있어서,The method of claim 68, 상기 제1 텔레포니 통신 장치는 원격 콜 브릿지를 더 포함하고, 제1 애플리케이션은 원격 콜 브릿지의 사용을 방해하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the first telephony communication device further comprises a remote call bridge, wherein the first application interferes with the use of the remote call bridge. 제68항에 있어서,The method of claim 68, 상기 사용자 선택은 상기 제1 사용자로부터 수신되는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the user selection is received from the first user. 제68항에 있어서,The method of claim 68, 상기 사용자 선택은 상기 제2 사용자 중 하나로부터 수신되는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the user selection is received from one of the second users. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션은 텔레폰 콜의 일부로서 제1 텔레포니 통신 장치의 제1 사용자로부터의 텍스트 정보를 제1 접속에 의해 상기 제1 텔레포니 통신 장치에 접속된 제2 텔레포니 통신 장치의 제2 사용자로 전송하는 방법 - 상기 제1 텔레포니 통신 장치는 디스플레이 스크린을 포함함 - 을 정의하고,The telephony application transmits text information from the first user of the first telephony communication device to the second user of the second telephony communication device connected to the first telephony communication device by the first connection as part of a telephone call. Define the first telephony communication device including a display screen, 상기 방법은The method is 상기 텔레폰 콜 중, 상기 제2 텔레포니 통신 장치로부터의 상기 제1 접속에서 텍스트를 정의하는 제1 텍스트 데이터를 수신하는 단계와,Receiving, during the telephone call, first text data defining text at the first connection from the second telephony communication device; 상기 텍스트 데이터에 의해 정의된 상기 텍스트를 상기 디스플레이 스크린 상에 표시하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Displaying the text defined by the text data on the display screen. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션은 상기 제1 텔레포니 통신 장치의 제1 사용자와 제2 텔레포니 통신 장치의 1 이상의 제2 사용자 사이의 텔레폰 콜을 수행하는 방법을 정의하며,The telephony application defines a method of making a telephone call between a first user of the first telephony communication device and one or more second users of a second telephony communication device, 상기 방법은The method is 1 이상의 사용자 식별자를 수신하는 단계 - 각각의 사용자 식별자는 상기 제2 사용자 중 하나를 식별함 - 와,Receiving at least one user identifier, each user identifier identifying one of the second users; and 콜을 행하기 위한 미결정 날짜 및 시간을 구체화하는 날짜 및 시간 정보를 수신하는 단계와,Receiving date and time information specifying an unspecified date and time for making a call; 상기 사용자 식별자와 상기 날짜 및 시간 정보를 저장하는 단계와,Storing the user identifier and the date and time information; 상기 제1 텔레포니 통신 장치와 상기 1 이상의 제2 텔레포니 통신 장치 사이의 텔레폰 콜을 초기화하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Initiating a telephone call between said first telephony communication device and said at least one second telephony communication device. 제73항에 있어서,The method of claim 73, 상기 수신하는 단계가 둘 또는 그 이상의 사용자 식별자(user identifier)를 수신하는 것을 포함하고,The receiving step comprises receiving two or more user identifiers, 상기 초기화하는 단계가 제1 텔레포니 통신 장치와 둘 또는 그 이상의 제2 텔레포니 통신 장치 사이의 컨퍼런스 콜(conference call)을 초기화하는 것을 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the initiating comprises initiating a conference call between the first telephony communication device and the two or more second telephony communication devices. 제74항에 있어서,The method of claim 74, wherein 상기 텔레폰 콜을 초기화하는 단계가 컨퍼런스 브릿지를 부르는 것을 포함하며,Initiating the telephone call comprises calling a conference bridge, 컨퍼런스 브릿지(conference bridge)를 식별하는 컨퍼런스 브릿지 식별자를 수신하는 단계를Receiving a conference bridge identifier identifying a conference bridge 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it further comprises. 제73항에 있어서,The method of claim 73, 상기 텔레폰 콜을 초기화하기 전에 제1 텔레포니 통신 장치로부터 상기 1 이상의 제2 텔레포니 통신 장치들로 텔레폰 콜에 대한 정보를 포함하는 메시지를 보냄으로써,Sending a message containing information about a telephone call from a first telephony communication device to the one or more second telephony communication devices before initiating the telephone call, 상기 1 이상의 제2 사용자에게 상기 텔레폰 콜에 대하여 알리는 것을Informing the one or more second users about the telephone call. 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it further comprises. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 제1 텔레포니 통신 장치의 제1 사용자와 제2 텔레포니 통신 장치의 1 이상의 제2 사용자 사이의 텔레폰 콜을 초기화하는 방법을 정의하며,Define how the telephony application initiates a telephone call between a first user of a first telephony communication device and one or more second users of a second telephony communication device, 상기 방법은,The method, 1 이상의 제1 사용자에 의하여 이루어진 URL(uniform resource locator) 선택 - 상기 각 URL 선택은 제2 텔레포니 통신 장치 중 하나에 대응된다 - 을 수신하고,Receive a uniform resource locator (URL) selection made by at least one first user, wherein each URL selection corresponds to one of the second telephony communication devices, 제1 텔레포니 통신 장치로부터, 제1 텔레포니 통신 장치와 상기 1 이상의 제2 텔레포니 통신 장치 사이의 텔레폰 콜을 초기화하는 단계를Initiating a telephone call between a first telephony communication device and the at least one second telephony communication device from a first telephony communication device; 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제77항에 있어서,78. The method of claim 77 wherein 상기 제1 애플리케이션이 상기 제1 텔레포니 통신 장치에 정의된 웹 페이지를 포함하며,The first application includes a web page defined in the first telephony communication device, 상기 방법이,This method, 1 이상의 사용자 태그 선택 - 상기 각 태그 선택은 웹 페이지로부터 웹 브라우저를 사용하여 선택된 태그를 나타낸다 - 을 수신하고,Receive one or more user tag selections, wherein each tag selection represents a selected tag using a web browser from a web page, 상기 1 이상의 선택된 태그로부터 1 이상의 URL을 결정하는 단계를Determining at least one URL from the at least one selected tag 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it further comprises. 제77항에 있어서,78. The method of claim 77 wherein 상기 제1 텔레포니 통신 장치가 내장된 웹 서버를 포함하며,A web server in which the first telephony communication device is embedded; 상기 방법이,This method, 상기 제1 텔레포니 통신 장치가 통신 네트 워크에 배치된 이후에 제1 사용자에게 웹 서버에의 액세스를 제공하고,Provide the first user with access to a web server after the first telephony communication device is deployed in a communication network, 상기 웹 서버를 통하여 들어간 상기 제1 사용자로부터 명령을 수신하고,Receive a command from the first user entered through the web server, 상기 명령으로부터 웹 페이지를 만드는 단계를Creating a web page from the command 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it further comprises. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 텔레폰 콜의 일부분으로서 제1 텔레포니 통신 장치와 제2 텔레포니 통신 장치 사이의 제1 연결에 수신된 매체와 관련된 텍스트를 표시하는 방법을 정의하고,Define how the telephony application displays text related to the received medium on a first connection between a first telephony communication device and a second telephony communication device as part of a telephone call; 상기 제1 텔레포니 통신 장치는 디스플레이 스크린을 더 포함하며,The first telephony communication device further includes a display screen, 상기 방법이,This method, 제1 연결에 제2 텔레포니 통신 장치로부터의 매체 신호 - 상기 매체 신호는 매체 내용을 반영한다 - 를 수신하는 단계와Receiving a media signal from a second telephony communication device on a first connection, the media signal reflecting the media content; 상기 매체 신호를 수신하기 전 또는 동시에, 제1 연결에 상기 매체 내용에대응하는 텍스트 내용을 반영하는 텍스트 신호를 수신하는 단계와Receiving a text signal reflecting text content corresponding to the media content on a first connection prior to or simultaneously with receiving the media signal; 상기 텍스트 내용을 상기 디스플레이 스크린에 표시하는 단계와Displaying the text content on the display screen; 상기 텍스트 내용을 표시하기 전 또는 동시에, 상기 매체 내용을 재생하는 단계를Before or simultaneously with displaying the text content, playing the media content. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제80항에 있어서,The method of claim 80, 상기 텍스트 신호가 제2 텔레포니 통신 장치에 제1 텔레포니 통신 장치가 텔레폰 콜에 대응하는 텍스트 데이터를 디스플레이 할 수 있다는 지시를 전송하는 것에 반응하여 수신되는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the text signal is received in response to sending an indication to the second telephony communication device that the first telephony communication device can display text data corresponding to the telephone call. 제80항에 있어서,The method of claim 80, 상기 매체 내용은 상호 작용 음성 반응 시스템에 의하여 생산된 음성을 포함하고,The media content includes speech produced by an interactive speech response system, 상기 음성은 1 이상의 옵션을 말하며,Said voice refers to one or more options, 상기 텍스트 내용이 상기 1 이상의 옵션을 텍스트로 반영하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the text content reflects the one or more options as text. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 제2 텔레포니 통신 장치의 상태에 따라 정보를 통신하는 방법을 정의하고,Define how the telephony application communicates information according to a state of a second telephony communication device, 상기 제1은 디스플레이 스크린을 더 포함하고,The first further includes a display screen, 상기 방법은,The method, 텔레폰 콜을 셋-업 하기 위하여 제2 텔레포니 통신 장치에 콜 셋-업 메시지를 전송하는 단계와Sending a call set-up message to a second telephony communication device for setting up the telephone call; 콜 셋-업 메시지에 반응하여 제2 텔레포니 통신 장치로부터 텍스트 신호 - 상기 텍스트 신호는 제2 텔레포니 통신 장치의 상태에 대응하는 텍스트 내용을 정의한다 - 를 수신하는 단계와Receiving a text signal from a second telephony communication device in response to a call set-up message, the text signal defining text content corresponding to a state of the second telephony communication device; 상기 텍스트 내용을 제1 텔레포니 통신 장치의 디스플레이 스크린에 표시하는 단계를Displaying the text content on a display screen of a first telephony communication device. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제83항에 있어서,84. The method of claim 83, 상기 텍스트 내용은 제2 텔레포니 통신 장치의 상태에 대응하는 1 이상의 옵션 - 상기 각 옵션은 제2 텔레포니 통신 장치의 상태에 반응하여 수행될 단계를 나타낸다 - 을 포함하고,The text content includes one or more options corresponding to a state of the second telephony communication device, each option indicating a step to be performed in response to the state of the second telephony communication device, 상기 텍스트 내용을 표시하는 것이 사용자에게 상기 1 이상의 옵션을 표시하는 것을 포함하며,Displaying the text content includes displaying the one or more options to a user, 상기 방법은,The method, 사용자로부터 1 이상의 옵션의 제1의 것의 선택을 수신하는 단계와Receiving a selection of at least one option first from a user; 상기 제2 통신 장치에 상기 선택을 반영하는 선택 신호를 보내어 선택에 의해 지시되는 단계를 수행하는 단계를Sending a selection signal reflecting the selection to the second communication device and performing the step indicated by the selection; 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it further comprises. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 제1 텔레포니 통신 장치의 상태에 따라 제2의 텔레포니 통신 장치에 정보를 통신하는 방법을 정의하고,Define how the telephony application communicates information to a second telephony communication device according to a state of the first telephony communication device, 상기 방법은,The method, 제2 텔레포니 통신 장치에서, 텔레폰 콜을 초기화 하기 위하여 제2 텔레포니 통신 장치로부터 콜 셋-업 메시지를 수신하는 단계와Receiving, at the second telephony communication device, a call set-up message from the second telephony communication device to initiate a telephone call; 제1 텔레포니 통신 장치의 상태를 결정하는 단계와Determining a state of the first telephony communication device; 상기 결정된 상태를 반영하는 텍스트 신호를 제1 텔레포니 통신 장치로부터 제2 텔레포니 통신 장치로 표시하기 위해 전송하는 단계를Transmitting a text signal reflecting the determined state from the first telephony communication device to the second telephony communication device for display; 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제85항에 있어서,86. The method of claim 85, 상기 텍스트 신호는 상기 제2 텔레포니 통신 장치에 표시될 제2 텔레포니 통신 장치의 사용자에 대한 1 이상의 옵션 - 상기 각 옵션은 제2 통신 장치의 상태에 반응하여 수행될 단계를 나타낸다 - 의 텍스트화 된 표현을 포함하며,The text signal is a textual representation of at least one option for a user of a second telephony communication device to be displayed on the second telephony communication device, wherein each option represents a step to be performed in response to a state of the second communication device. Including; 상기 방법은,The method, 제2 통신 장치로부터 선택 신호 - 상기 선택 신호는 제2 통신 장치에 사용자에 의한 옵션 중 하나의 선택을 나타낸다 - 를 수신하는 단계와Receiving a selection signal from a second communication device, wherein the selection signal indicates a selection of one of the options by the user to the second communication device; 상기 선택에 의해 지시되는 행위를 수행하는 단계를Performing the action indicated by the selection; 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it further comprises. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 텔레폰 콜 도중에 가청 표현을 통신하는 방법을 정의하며,Define how the telephony application communicates an audible representation during a telephone call, 상기 방법은,The method, 제1 텔레포니 통신 장치의 제1 사용자의 음성을 반영하는 음성 신호를 수신하는 단계와Receiving a voice signal reflecting a voice of a first user of the first telephony communication device; 상기 제1 사용자에 의한 가청 표현의 선택을 반영하는 선택 신호를 수신하는 단계와Receiving a selection signal reflecting the selection of the audible expression by the first user; 상기 선택 신호에 대응하는 가청 표현 신호 - 상기 가청 표현 신호는 가청 표현을 나타낸다 - 를 생성하는 단계와Generating an audible representation signal corresponding to the selection signal, the audible representation signal representing an audible representation; 상기 가청 표현 신호와 상기 음성 신호를 혼합하여 혼합 신호를 생산하는 단계와Mixing the audible representation signal and the speech signal to produce a mixed signal; 상기 혼합 신호를, 텔레폰 콜의 일 부분으로서, 하나 도는 그 이상의 제2 텔레포니 통신 장치에 있는 1 이상의 제2 사용자에게 전송하는 단계를Transmitting the mixed signal to one or more second users in one or more second telephony communication devices as part of a telephone call. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제87항에 있어서,88. The method of claim 87 wherein 제1 텔레포니 통신 장치가 디스플레이 스크린을 더 포함하며,The first telephony communication device further comprising a display screen, 상기 방법이,This method, 디스플레이 스크린에 1 이상의 아이콘 - 상기 각 아이콘은 가청 표현을 반영한다 - 을 표시하는 단계를 더 포함하고,Displaying at least one icon on the display screen, wherein each icon reflects an audible representation; 상기 선택 신호가 상기 디스플레이 스크린으로부터 아이콘을 선택하는 제1 사용자에 의해 생산되는 것을The selection signal being produced by a first user selecting an icon from the display screen 특징으로 하는 컴퓨터 프로그램 프로덕트.Features computer program product. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 텔레폰 콜에 관련된 정보에 기초하여 상기 텔레폰 콜을 스크리닝(screening) 하는 방법을 정의하며,Define how the telephony application screens the telephone call based on information related to the telephone call, 상기 방법은,The method, 제2 텔레포니 통신 장치로부터 제1 콜 셋-업 메시지를 제1 텔레포니 통신 장치에서 수신하는 단계와Receiving at the first telephony communication device a first call set-up message from the second telephony communication device; 1 이상의 콜 응답 규칙 - 상기 각 콜 응답 규칙은 조건이 만족된다면 콜 셋-업 메시지를 수신하는 것에 반응하여 상기 조건과 제1 텔레포니 통신 장치에 의해 수행되어야 할 단계를 정의한다 - 을 액세스하는 단계와Accessing one or more call answering rules, each call answering rule defining steps to be performed by the condition and the first telephony communication device in response to receiving a call set-up message if the condition is met; 1 이상의 상기 콜 응답규칙에 대하여 상기 조건이 충족되는지를 결정하는 단계와Determining whether the condition is met for at least one call answering rule; 상기 1 이상의 콜 응답규칙에 대한 결정에 따라 상기 콜 셋-업 메시지에 반응하는 단계를Responding to the call set-up message according to the determination of the one or more call answering rules. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제89항에 있어서,91. The method of claim 89 wherein 상기 1 이상의 규칙의 제1의 것이 1 이상의 시간 간격 동안에 콜 셋-업 메시지가 수신된다는 조건 하에 수행되어야 할 단계를 정의하고,Define a step to be performed under the condition that a first of said at least one rule is received a call set-up message for at least one time interval, 상기 결정하는 단계는,The determining step, 제1 콜 셋-업이 수신되는 제 1시간을 결정하는 것과Determining a first time at which a first call set-up is received; 상기 제1 시간과 상기 1 이상의 시간 간격을 비교하여 상기 제1 시간이 상기 1 이상의 시간 간격 안에 있는지를 결정하는 것을 포함하고,Comparing the first time with the one or more time intervals to determine whether the first time is within the one or more time intervals, 만약 상기 제1 시간이 상기 1 이상의 시간 간격 안에 있으면, 상기 콜 셋-업 메시지에 반응하는 단계가 제1 규칙에 의하여 정의된 단계에 따라 상기 콜 셋-업 메시지에 반응하는 것을If the first time is within the one or more time intervals, responding to the call set-up message responds to the call set-up message according to a step defined by a first rule. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제89항에 있어서,91. The method of claim 89 wherein 1 이상의 규칙의 제1의 것이, 1 이상의 개별 사용자로부터 상기 콜 셋-업 메시지가 존재한다는 조건 하에, 수행되어야 할 단계를 정의하며,The first of the one or more rules defines the steps to be performed, provided that the call set-up message exists from one or more individual users, 상기 수신하는 단계는 상기 콜 셋-업 메시지에 따라 식별 신호 - 상기 식별 신호는 제2 통신 장치의 제1 사용자를 식별한다 - 를 수신하는 단계를 포함하고,The receiving step comprises receiving an identification signal in accordance with the call set-up message, wherein the identification signal identifies a first user of a second communication device; 상기 결정하는 단계는The determining step 식별 신호로부터 제1 사용자를 식별하는 것과,Identifying the first user from the identification signal, 상기 제1 사용자의 식별자와 1 이상의 개별 사용자의 식별자를 비교하여 제1 사용자가 개별 사용자 중 하나인지를 결정하는 것을 포함하고,Comparing the identifier of the first user with an identifier of at least one individual user to determine whether the first user is one of the individual users, 만약, 제1 사용자가 개별 사용자 중 하나이면, 상기 콜 셋-업 메시지에 반응하는 단계는 상기 제1 규칙에 의해 정의된 단계에 따라 상기 콜 셋-업 메시지에 반응하는 것을If the first user is one of the individual users, the step of responding to the call set-up message is to respond to the call set-up message according to the step defined by the first rule. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제89항에 있어서,91. The method of claim 89 wherein 1 이상의 콜 응답 규칙 중 제1 규칙이 제1 조건이 충족된다면 상기 콜 셋-업 메시지를 또 다른 제1 텔레포니 통신 장치에 전송하는 것을 정의하며,A first rule of one or more call answering rules defines sending the call set-up message to another first telephony communication device if a first condition is met, 이에 반응하는 단계는 제1 조건이 충족된다면 상기 콜 셋-업 메시지를 다른 제1 텔레포니 통신 장치에 전송하는 것을Responding to this may include sending the call set-up message to another first telephony communication device if a first condition is met. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제89항에 있어서,91. The method of claim 89 wherein 제1 콜 응답 규칙은 제1 조건이 충족된다면 소리를 재생하는 것을 정의하며,The first call response rule defines to play a sound if the first condition is met, 이에 반응하는 단계는 제1 조건이 충족된다면 소리를 재생하는 것을Responding to this is to play the sound if the first condition is met. 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.A first telephony communication device comprising a. 제85항에 있어서,86. The method of claim 85, 제1 콜 응답 규칙은 제1 조건이 충족된다면 제2 텔레포니 통신 장치의 사용자에게 더 많은 정보를 재촉하는 것을 정의하며,The first call answering rule defines that prompting the user of the second telephony communication device for more information if the first condition is met, 이에 반응하는 단계는 제1 조건이 충족된다면 사용자에게 더 많은 정보를 재촉하는 것을Responding to this prompts the user to prompt more information if the first condition is met. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 제1 텔레포니 통신 장치에 전자메일 메시지의 텍스트화 된 내용을 오디오로 재생 시키는 방법을 정의하며,Define how the telephony application plays the textualized content of the e-mail message as audio to the first telephony communication device, 상기 방법은,The method, 상기 전자메일의 메시지 텍스트가 상기 전자메일 메시지의 텍스트화 된 내용을 음성 신호로 변환해주는 네트워크 자원에 보내어지도록 제어하는 단계와Controlling the message text of the e-mail is sent to a network resource that converts the textualized content of the e-mail message into a voice signal; 상기 네트 워크 자원과 제1 텔레포니 통신 장치 사이에 텔레폰 콜을 설정하는 단계와Establishing a telephone call between the network resource and a first telephony communication device; 상기 텔레폰 콜의 일부로서 제1 텔레포니 통신 장치로 상기 음성 신호를 전송하는 것을 제어하는 단계와Controlling the transmission of the voice signal to a first telephony communication device as part of the telephone call; 제1 텔레포니 통신 장치에 상기 음성 신호를 재생시키는 단계를Playing the voice signal on a first telephony communication device; 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 제1 텔레포니 통신 장치의 제1 사용자와 1 이상의 제3 제1 텔레포니 통신 장치의 1 이상의 제3 사용자 사이의 텔레폰 콜의 최소한 제1 부분의 제2 사용자와 통신하는 방법을 정의하며,Define how the telephony application communicates with a second user of at least a first portion of a telephone call between a first user of a first telephony communication device and at least one third user of at least one third first telephony communication device, 상기 방법은,The method, 상기 제1 사용자와 1 이상의 제3 사용자 사이의 텔레폰 콜의 최소한 제1 부분을 오디오 파일로서 녹음하는 단계와Recording at least a first portion of a telephone call between said first user and at least one third user as an audio file; 상기 오디오 파일을 제2 사용자에 대응하는 오디오 재생 디바이스에 전송하는 단계를Transmitting the audio file to an audio playback device corresponding to a second user; 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제96항에 있어서,97. The method of claim 96, 상기 전송하는 단계는 전자메일 메시지에 오디오 파일을 첨부하는 것과 전자메일 메시지를 상기 오디오 재생 디바이스에 전송하는 것을The sending may include attaching an audio file to an email message and sending the email message to the audio playback device. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제96항에 있어서,97. The method of claim 96, 상기 전송하는 단계는 콜 셋-업 메시지에 상기 오디오 파일을 첨부하는 것과 상기 콜 셋-업 메시지를 상기 1 이상의 제2 텔레포니 통신 장치에 전송하는 것을The transmitting may include attaching the audio file to a call set-up message and transmitting the call set-up message to the at least one second telephony communication device. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 그래픽 메시지를 제2 텔레포니 통신 장치의 제1 사용자에게 전송하는 방법을 정의하며,Define how the telephony application sends a graphical message to a first user of a second telephony communication device, 상기 방법은,The method, 상기 제1 텔레포니 통신 장치로부터 상기 제2 텔레포니 통신 장치로 콜 셋-업 메시지를 전송하는 단계와Transmitting a call set-up message from the first telephony communication device to the second telephony communication device; 상기 제1 사용자가 상기 콜 셋-업 메시지에 응답하지 않는다는 지시를 수신하는 단계와Receiving an indication that the first user does not respond to the call set-up message; 제1 사용자에게 메시지로서 저장하기 위하여 상기 제2 텔레포니 통신 장치에 그래픽 파일을 전송하는 단계를Sending a graphics file to the second telephony communication device for storage as a message to a first user. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 상기 제1 텔레포니 통신 장치의 제1 사용자에게 그래픽 메시지를 통신하는 방법을 정의하며,Define how the telephony application communicates a graphical message to a first user of the first telephony communication device, 상기 제1 텔레포니 통신 장치는 디스플레이 스크린을 포함하고,The first telephony communication device including a display screen, 상기 방법은,The method, 제2 텔레포니 통신으로부터 콜 셋-업 메시지를 수신하는 단계와Receiving a call set-up message from a second telephony communication; 상기 콜 셋-업 메시지를 응답하고 있지 않다는 지시를 전송하는 단계와Sending an indication that the call set-up message is not responding; 상기 지시를 전송하는 것에 대한 반응으로, 제2 텔레포니 통신 장치로부터 그래픽 파일을 메시지로서 수신하는 단계와In response to sending the indication, receiving a graphic file as a message from a second telephony communication device; 제1 사용자에게 메시지로서 저장하기 위하여 제1 사용자에게 메시지를 통신하기 위해 상기 그래픽 파일을 디스플레이 스크린에 표시하는 단계를Displaying the graphic file on a display screen to communicate a message to the first user for storage as a message to the first user. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제100항에 있어서,101. The method of claim 100, 상기 방법은,The method, 제1 텔레포니 통신 장치에 의하여 액세스 할 수 있는 저장 매체에 그래픽 파일을 저장하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And storing the graphics file in a storage medium accessible by the first telephony communication device. 제59항에 있어서,The method of claim 59, 텔레포니 애플리케이션이 텔레폰 콜 도중에 1 이상의 연결을 홀드에 놓는 방법을 정의하며,Define how the telephony application places one or more connections in hold during a telephone call. 상기 방법은,The method, 텔레폰 콜을 홀드로 놓기 위한 지시를 수신하는 단계와Receiving an instruction to place the telephone call on hold; and 매체 파일의 위치의 표시를 수신하는 단계와Receiving an indication of the location of the media file; and 매체 파일의 위치와의 연결을 만드는 단계와Creating a link to the location of the media file, 매체 파일로부터 매체 신호를 수신하는 단계와Receiving a media signal from the media file; and 상기 매체 신호를 홀드로 놓인 상기 1 이상의 연결에 전송하는 단계를Transmitting the media signal to the one or more connections that are held held; 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제102항에 있어서,103. The method of claim 102, 상기 매체 파일은 1 이상의 연결에서 재생될 오디오 데이터를 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.And the media file comprises audio data to be played on one or more links. 제102항에 있어서,103. The method of claim 102, 상기 매체 파일은 텍스트 데이터, 그래픽 데이터 또는 그 조합을 포함하고,The media file includes text data, graphic data, or a combination thereof; 재생하는 단계는 제1 텔레포니 통신 장치의 제어 아래 텍스트 데이터, 그래픽 데이터 또는 그 조합을 디스플레이 스크린에 표시하는 것을The playing step may include displaying text data, graphic data, or a combination thereof under the control of the first telephony communication device on the display screen. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제59항에 있어서,The method of claim 59, 상기 애플리케이션이 제1 사용자에게 제1 텔레포니 통신 장치를 동적으로 구성하는 방법을 정의하며,Define how the application dynamically configures a first telephony communication device to a first user, 상기 방법은,The method, 제1 사용자를 식별하는 사용자 식별자를 수신하는 단계와Receiving a user identifier identifying a first user; 제1 사용자에 대해 구체적인 구성 정보를 액세스 하는 단계와Accessing specific configuration information for the first user; and 상기 구성 정보에 따라 상기 제1 텔레포니 통신 장치를 구성하는 단계를Configuring the first telephony communication device according to the configuration information; 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 제1 텔레포니 통신 장치의 복수의 애플리케이션 사이의 충돌을 해결하는 방법을 정의하며,Define how the telephony application resolves a conflict between a plurality of applications of a first telephony communication device, 상기 방법은,The method, 제1 이벤트가 발생하면, 제1 애플리케이션과 1 이상의 제2 애플리케이션에 알려지도록 정의된 지시를 수신하는 단계와When the first event occurs, receiving an indication defined to be known to the first application and the one or more second applications; 제1 이벤트가 발생하면, 상기 제1 애플리케이션은 상기 이벤트에 대하여 통보 받고, 1 이상의 제2 애플리케이션은 상기 이벤트에 대하여 통보 받지 않도록 상기 제1 애플리케이션에 통지 순위를 할당 받는 단계를When a first event occurs, the first application is informed of the event, and the one or more second applications are assigned a notification rank to the first application so as not to be notified of the event. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제106항에 있어서,107. The method of claim 106, 상기 방법은,The method, 사용자로부터 명령을 수신하여 제1 애플리케이션에 통지 순위를 할당하고,Receive a command from a user, assign a notification rank to a first application, 상기 할당하는 단계는 상기 명령을 수신하는 것에 반응하여 수행되는 것을Said allocating being performed in response to receiving said command. 더 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it further comprises. 제 59항에 있어서,The method of claim 59, 상기 텔레포니 애플리케이션이 제1 텔레포니 통신 장치의 제1 사용자와 다른 텔레포니 통신 장치의 복수의 제2 사용자를 포함하는 텔레폰 콜에 대하여, 복수의 제2 사용자의 1 이상의 제3 사용자의 음성이 현재 제1 텔레포니 통신 장치에 재생도고 있음을 제1 사용자에게 시각적으로 나타내는 방법을 정의하며,For a telephone call where the telephony application includes a first user of a first telephony communication device and a plurality of second users of another telephony communication device, the voice of one or more third users of the plurality of second users is currently in the first telephony. Define how to visually indicate to the first user that the communication device is replaying, 상기 방법은,The method, 복수의 사용자 식별자 - 상기 각 사용자 식별자는 제2 사용자 중 하나를 나타낸다 - 를 표시하는 단계와Displaying a plurality of user identifiers, wherein each user identifier represents one of a second user; 1 이상의 제2 사용자로부터 오디오 데이터를 수신하는 단계와Receiving audio data from at least one second user; 1 이상의 제3 사용자에 대해서는, 상기 제3 사용자로부터 수신한 오디오 데이터 안의 음성 신호를 검출하는 단계와Detecting, for at least one third user, a voice signal in the audio data received from the third user; 상기 제3 사용자의 상기 오디오 데이터를 혼합하여 혼합 오디오 데이터를 생산하는 단계와Mixing the audio data of the third user to produce mixed audio data; 상기 오디오 데이터를 제1 텔레포니 통신 장치에 재생시키는 단계와Playing the audio data on a first telephony communication device; 상기 각 1 이상의 제3 사용자에 대해서는, 제3 사용자를 식별하는 식별자 옆에 시각적 표시기를 표시하여 상기 혼합 오디오 데이터 제3 사용자로부터 음성 데이터를 포함하는 것을 나타내는 단계를For each of the one or more third users, displaying a visual indicator next to an identifier identifying the third user to indicate that the mixed audio data includes voice data from the third user. 포함하는 것을 특징으로 하는 컴퓨터 프로그램 프로덕트.Computer program product, characterized in that it comprises a. 제1 텔레포니 통신 장치에 있어서,In the first telephony communication device, 컴퓨터로 판독 가능한 매체와Computer-readable media 제1 텔레포니 통신 장치에 의해 실행되는 결과, 제1 텔레포니 통신 장치를 명령하여 텔레포니 애플리케이션을 수행하는 명령을 정의하는 상기 컴퓨터로 판독 가능한 매체에 저장된 컴퓨터로 판독 가능한 신호를 포함하며,A computer readable signal stored in the computer readable medium, the result of being executed by a first telephony communication device, the command defining a command to perform a telephony application by instructing the first telephony communication device; 상기 텔레포니 애플리케이션의 최소한 일부분이 제1 텔레포니 통신 장치가 통신 네트 워크에 전개된 후에 텔레포니 애플리케이션의 창작으로부터 독립적으로 개발된 변경에 의해 수정될 수 있는 것을At least a portion of the telephony application may be modified by a change developed independently from the creation of the telephony application after the first telephony communication device has been deployed to the communication network. 포함하는 것을 특징으로 하는 제1 텔레포니 통신 장치.A first telephony communication device comprising a.
KR1020027005397A 1999-10-26 2000-10-06 Distributed communication network including one or more telephony communication devices having programmable functionality KR20020064889A (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US16144499P 1999-10-26 1999-10-26
US60/161,444 1999-10-26
US19061300P 2000-03-20 2000-03-20
US60/190,613 2000-03-20
PCT/US2000/029576 WO2001031900A2 (en) 1999-10-26 2000-10-26 Distributed communications network including one or more telephony communication devices having programmable functionality

Publications (1)

Publication Number Publication Date
KR20020064889A true KR20020064889A (en) 2002-08-10

Family

ID=26857834

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027005397A KR20020064889A (en) 1999-10-26 2000-10-06 Distributed communication network including one or more telephony communication devices having programmable functionality

Country Status (8)

Country Link
EP (1) EP1287667A2 (en)
JP (1) JP2003527786A (en)
KR (1) KR20020064889A (en)
CN (1) CN1399839A (en)
AU (1) AU777728B2 (en)
CA (1) CA2389089A1 (en)
SG (1) SG129290A1 (en)
WO (1) WO2001031900A2 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852828B2 (en) 2002-08-07 2010-12-14 Cisco Technology, Inc. Extended telephony functionality at end points
US7340046B2 (en) 2002-08-07 2008-03-04 Cisco Technology, Inc. Providing telephony services using intelligent end points
US7310413B2 (en) 2002-08-07 2007-12-18 Cisco Technology, Inc. Language for implementing telephony processing in end points
AU2003259084B9 (en) * 2002-08-07 2009-06-25 Cisco Technology, Inc. Providing telephony services using intelligent end points
US7065197B1 (en) * 2002-10-23 2006-06-20 Cisco Technology, Inc. Status messaging using associated phone tags
US7746848B2 (en) 2002-12-05 2010-06-29 Resource Consortium Limited Virtual PBX based on feature server modules
DE60327751D1 (en) * 2003-06-19 2009-07-09 Sony Ericsson Mobile Comm Ab Mixing media
US7907638B2 (en) 2003-06-19 2011-03-15 Sony Ericsson Mobile Communications, Ab Media stream mixing
EP1492313A1 (en) * 2003-06-27 2004-12-29 Alcatel Hybrid telecommunications terminal, that may function in functional or stimuli mode
GB0326160D0 (en) * 2003-11-08 2003-12-17 Marconi Comm Ltd Call set-up systems
JP4328266B2 (en) * 2004-06-28 2009-09-09 パナソニック株式会社 ENUM server, IP telephone apparatus and IP telephone system
US8218457B2 (en) * 2004-06-29 2012-07-10 Stmicroelectronics Asia Pacific Pte. Ltd. Apparatus and method for providing communication services using multiple signaling protocols
US7706401B2 (en) * 2004-08-13 2010-04-27 Verizon Business Global Llc Method and system for providing interdomain traversal in support of packetized voice transmissions
JP5212383B2 (en) * 2008-02-08 2013-06-19 富士通株式会社 IP phone, additional service control program
FR2929793B1 (en) 2008-04-04 2010-08-13 Alcatel Lucent APPLICATION SERVER FOR A CALL FOR A TERMINAL CONNECTED TO A RESIDENTIAL GATEWAY, TO BE EXTENDED TO ALL TERMINALS CONNECTED TO THIS REDISENTIAL GATEWAY
US8363796B2 (en) * 2009-10-15 2013-01-29 Avaya Inc. Selection and initiation of IVR scripts by contact center agents
MX337584B (en) * 2011-09-06 2016-03-10 Savant Systems Llc Integrated private branch exchange and device control system.
CN103729243B (en) * 2013-12-04 2018-04-06 上海斐讯数据通信技术有限公司 Speech sound access equipment common hardware abstraction interface implementation method and method of calling
EP2933066A1 (en) * 2014-04-17 2015-10-21 Aldebaran Robotics Activity monitoring of a robot
CN107682523A (en) * 2017-08-22 2018-02-09 努比亚技术有限公司 The dialing process method and mobile terminal of a kind of mobile terminal
CN111131643B (en) * 2020-02-26 2021-03-30 北京声智科技有限公司 Call control method and device

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
DE4436175B4 (en) * 1993-10-12 2005-02-24 Intel Corporation, Santa Clara Device for remote access to a computer from a telephone handset
US5642410A (en) * 1994-02-18 1997-06-24 Aurora Systems, Inc. Call processor for a computer telephone integration system
US5870549A (en) * 1995-04-28 1999-02-09 Bobo, Ii; Charles R. Systems and methods for storing, delivering, and managing messages
US5987528A (en) * 1994-09-09 1999-11-16 Compaq Computer Corporation Controlling the flow of electronic information through computer hardware
US5640446A (en) * 1995-05-01 1997-06-17 Mci Corporation System and method of validating special service calls having different signaling protocols
US5619555A (en) * 1995-07-28 1997-04-08 Latitude Communications Graphical computer interface for an audio conferencing system
US5911123A (en) * 1996-07-31 1999-06-08 Siemens Information And Communications Networks, Inc. System and method for providing wireless connections for single-premises digital telephones
US6006105A (en) * 1996-08-02 1999-12-21 Lsi Logic Corporation Multi-frequency multi-protocol wireless communication device
GB2318701A (en) * 1996-10-26 1998-04-29 Ibm Intelligent network protocol gateway
US5907604A (en) * 1997-03-25 1999-05-25 Sony Corporation Image icon associated with caller ID
US6041114A (en) * 1997-03-27 2000-03-21 Active Voice Corporation Telecommute server
US5999609A (en) * 1997-04-04 1999-12-07 Sun Microsystems, Inc. Computer-telephony (CT) system including an electronic call request
US6148068A (en) * 1997-10-20 2000-11-14 Nortel Networks Limited System for managing an audio conference
CA2219008C (en) * 1997-10-21 2002-11-19 Bell Canada A method and apparatus for improving the utility of speech recognition
EP0926908A1 (en) * 1997-12-24 1999-06-30 TELEFONAKTIEBOLAGET L M ERICSSON (publ) Timeout handler in a service control point
GB2351823A (en) * 1998-05-26 2001-01-10 British Telecomm Multiple service provision

Also Published As

Publication number Publication date
SG129290A1 (en) 2007-02-26
CN1399839A (en) 2003-02-26
AU777728B2 (en) 2004-10-28
CA2389089A1 (en) 2001-05-03
JP2003527786A (en) 2003-09-16
AU1575301A (en) 2001-05-08
WO2001031900A2 (en) 2001-05-03
WO2001031900A3 (en) 2002-12-27
EP1287667A2 (en) 2003-03-05

Similar Documents

Publication Publication Date Title
AU777728B2 (en) Distributed communications network including one or more telephony communication devices having programmable functionality
JP4548242B2 (en) Voice IP telephone method and apparatus.
CA2394008C (en) A client-server network for managing internet protocol voice packets
US7068641B1 (en) Telephony and data network services at a telephone
CA2273657C (en) Telephony and data network services at a telephone
JP4999244B2 (en) Network telephone apparatus and system for internet telephones
EP1751923B1 (en) Multimedia access device and system employing the same
KR101233029B1 (en) Network-extensible and controllable telephone
US8391456B2 (en) Dynamic configuration of call controls for communication peripherals
JP2004336756A (en) Computer telephony integration adapter
GB2357659A (en) Communication system architecture for voice first collaboration
EP1741218B1 (en) Enhanced extension mobility
US8842689B2 (en) Cross cluster extension mobility in internet-protocol telephony
JP4171593B2 (en) Data transmission / playback program
JP2018201200A (en) Computer telephony integration (cti) control of multiple devices with single address of record
CN101120558A (en) Network-extensible and controllable telephone
AU2004205302A1 (en) Distributed communications network including one or more telephony communication devices having programmable functionality
KR100406964B1 (en) internet-phone having an user state displaying function and controlling method therefore
JP2004363959A (en) Communication apparatus
CA2348114A1 (en) Multi-protocol ip phone
JP2004363958A (en) Communication management apparatus
FR2927755A1 (en) Real time communication server for personal computer of enterprise network, has database storing caller identifier and identifier of fixed telephone user associated with wireless fidelity telephone user, in directory of latter user

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid