KR100701125B1 - 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스제공을 위한 음성 데이터 제공 방법 및 그 장치 - Google Patents

컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스제공을 위한 음성 데이터 제공 방법 및 그 장치 Download PDF

Info

Publication number
KR100701125B1
KR100701125B1 KR1020050069078A KR20050069078A KR100701125B1 KR 100701125 B1 KR100701125 B1 KR 100701125B1 KR 1020050069078 A KR1020050069078 A KR 1020050069078A KR 20050069078 A KR20050069078 A KR 20050069078A KR 100701125 B1 KR100701125 B1 KR 100701125B1
Authority
KR
South Korea
Prior art keywords
conference
participant
voice data
terminal
voice
Prior art date
Application number
KR1020050069078A
Other languages
English (en)
Other versions
KR20070033057A (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 한국전자통신연구원
Priority to KR1020050069078A priority Critical patent/KR100701125B1/ko
Publication of KR20070033057A publication Critical patent/KR20070033057A/ko
Application granted granted Critical
Publication of KR100701125B1 publication Critical patent/KR100701125B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • 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]

Landscapes

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

Abstract

본 발명은 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 방법 및 그 장치를 개시한다.
본 발명에 의하면, 특별한 기능을 부가하지 않은 일반의 일반 SIP 단말에 사용하여 컨퍼런스 서비스를 제공할 수 있으며, 또한 일반 SIP 단말에게 회의 개설 및 제어에 대한 권한을 주며, 모든 참여자가 동등한 권리를 갖게되므로 개설자가 통화를 종료하더라도 회의 세션은 유효하게 유지되게 하며, 그리고 기 기정되지 않은 신규참여자도 간편하게 참여할 수 있는 방법을 제공하며, 예정된 참여자와의 통화 설정이 이루어지지 않더라도 재시도가 가능하게 하였으며, 기본적인 SIP 시그널 메시지를 통해 회의 속성에 대한 정보를 확인할 수 있는 방법을 제공하는 등 추가적인 비용투자없이 사용자에게 쾌적하며 간편하게 다자간 통화나 회의와 같은 컨퍼런스 서비스를 제공할 수 있다.

Description

컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 방법 및 그 장치 {Method and apparatus for providing conference service and method and apparatus for providing of sound data for conference service}
도 1은 본 발명에 따른 컨퍼런스 서비스 제공 방법의 흐름을 도시한 것이다.
도 2는 본 발명에 따른 컨퍼런스 서비스 제공 장치의 구성과 사용 환경의 예를 도시한 것이다.
도 3은 개설자의 SIP 단말을 통해 컨퍼런스 개설 이전에 참가자를 지정하는 방식을 도시한 것이다.
도 4는 개설자가 참가자를 지정할 때의 메시지에 포함된 내용과 그에 대한 응답 및 응답 메시지에 포함된 내용의 예를 도시한 것이다.
도 5는 개설자가 컨퍼런스 세션을 시작하기 위해 요청하고, 그에 대한 응답을 하는 흐름을 도시한 것이다.
도 6와 도 7은 미디어 제어부인 CSS로부터의 통화 요청을 받은 참가자들이 컨퍼런스에 참여하여 음성 채널이 생성되는 과정을 도시한 것이다.
도 8은 참여 예정으로 되어 있던 특정 사용자가 전화를 받지 않는 경우 미리 설정된 조건에 따라 통화 요청을 일시 중단하는 과정을 도시한 것이다.
도 9는 개설된 컨퍼런스에 추가되는 단말이 참여하는 과정을 도시한 것이다.
도 10은 참여를 위한 비밀번호가 설정된 컨퍼런스에 새로운 참가자가 참여하는 과정을 도시한 것이다.
도 11은 본 발명에 따라 개설된 컨퍼런스 진행 중에 통화를 종료하려는 참가자를 종료하게 하는 과정을 도시한 것이다.
도 12는 본 발명에 따른 미디어 제어부인 CMS에서 컨퍼런스 서비스 제공을 위해 음성 데이터를 제공하는 방법의 흐름을 도시한 것이다.
도 13은 본 발명에 따른 미디어 제어부인 CMS의 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 장치의 구성을 도시한 것이다.
본 발명은 통신망을 통해 다자간 의사전달을 할 수 있는 분야에 관한 것으로서, SIP 기반의 다자간 회의 서비스를 제공할 수 있는 방법 및 그 장치에 관한 것이다.
SIP(Session Initiation Protocol)은 인터넷상에서 통신하고자 하는 지능형 단말들이 서로를 식별하여 그 위치를 찾고, 그들 상호간에 멀티미디어 통신 세션을 생성하거나 삭제, 변경하기 위한 절차를 명시한 응용 수준의 시그널링(signaling) 프로토콜이다.
SIP은 HTTP(Hyper Text Transfer Protocol)처럼, 클라이언트(client)가 서비 스 요청메시지를 서버(server)에게 전송하면 서버가 그에 대한 처리를 완료한 후, 응답 메시지를 클라이언트에게 보내 오는 트랜잭션(transaction) 처리 방식으로 동작하며, SIP을 이용하여 통신하는 사용자들은 전자우편 주소와 유사한 형식의 URI(Uniform Resource Identifier)를 각각의 식별자로 사용한다.
SIP를 이용하여 다자간 통화인 컨퍼런스(conference)를 제공할 때에, SIP 컨퍼런스 서버는 시그널링을 담당하며, 미디어 서버는 모든 단말로부터의 음성 데이터를 믹싱하여 모든 단말들에게 전달해주는 역할을 한다.
SIP 컨퍼런스 서버는 컨퍼런스에 참가하고자 하는 단말들로부터 REGISTER 메지시를 통해 참가의사를 확인한다. 그중 한 단말에서 INVITE 메시지를 사용하여 컨퍼런스 서비스를 하고자 할 때 서버는 현재 해당 회의(conference)의 상태가 아직 시작되지 않은 상태임을 인지하여 등록된 타 단말들에게 INVITE를 송신하여 등록된 모든 단말과 호를 연결하고자 시도한다. 이때 처음 회의를 시작한 단말에게는 RTP(Real-time Transport Protocol)를 통해 현재 시도중임을 의미하는 링백톤(ringback tone)을 발생시켜주거나 안내 멘트를 송신시킨다. 타 단말들로부터 호가 연결되게 되면, 즉시 링백톤을 중단시키고 각 단말들로부터의 미디어를 믹싱하여 상호 전달한다. 회의 도중에 다른 단말이 새로운 참가를 원하는 경우 그 단말로부터의 INVITE 메시지가 컨퍼런스 서버에게 전달하면, 서버는 이를 받아들여 회의에 참가할 수 있도록 한다.
SIP이 VoIP의 주요 시그널링 프로토콜로 제안 및 채택된 이후 많은 SIP 단말들이 시장에 출시되어 사용되고 있다. 현재 기본적으로 지원되는 인터넷 텔레포니 서비스는 피어 투 피어(peer to peer) 개념의 서비스 형태를 가지고 있다.
그러나 이러한 단말들을 활용하여 컨퍼런스(다자간 통화) 서비스를 제공하기에는 한계가 있다. IETF(Internet Engineering Task Force) 등에서 추가 확장 기능의 삽입을 통한 SIP기반 컨퍼런스 서비스를 제공하고자 하는 시도가 이어지고 있다. 그러나 이미 시장에 배치되어 있는 종래의 단말들은 그러한 확장기능들을 제공하고 있지 않으므로 별도의 업그레이드 또는 제품의 교체를 통해서만 서비스가 가능하다는 문제가 있다.
본 발명이 이루고자 하는 기술적인 과제는, 상기의 문제점들을 해결하기 위해, 일반적인 SIP 단말에 추가적인 하드웨어적인 기능 확장이나 변경없이 컨퍼런스 서비스를 제공할 수 있는 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 방법 및 그 장치를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한, 컨퍼런스 서비스 제공 방법은, (a) 컨퍼런스 개설자로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급하는 단계; (b) 상기 컨퍼런스 개설자로부터 상기 아이디가 발급된 컨퍼런스에 참석할 참가자를 지정받는 단계; (c) 상기 컨퍼런스 개설자로부터의 지정된 참가자들에게 참가할 것을 요청받으면 상기 지정된 참가자들에게 컨퍼런스 참석을 요청하고, 그에 대한 응답을 받아서 양방향 음성 채널을 생성하는 단계; 및 (d) 참가할 것을 응답한 참가자들로부터의 음성 데이터를 입력된 시각에 따 라 합치며, 합친 음성 데이터에서 음성 데이터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달하는 단계;를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 컨퍼런스 서비스 제공 장치는, 컨퍼런스 개설자로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급하는 컨퍼런스 아이디 발급부; 상기 컨퍼런스 개설자로부터 상기 아이디가 발급된 컨퍼런스에 참석할 참가자를 지정받아 상기 지정된 참가자들에게 컨퍼런스 참석을 요청하며, 그에 대한 응답을 받아서 양방향 음성 채널을 생성을 요청하는 시그날링 관리부; 및 상기 관리부의 요청에 따라 상기 참가자들과의 음성 채널을 입력된 시각별로 생성하며, 참가할 것을 응답한 참가자들로부터의 음성 데이터를 합치고, 합친 음성 데이터에서 음성 데이터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달하는 미디어 제어부;를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 방법은, (a) 컨퍼런스를 개설한 개설자의 단말 및 상기 컨퍼런스에 참석할 참가자의 단말들에 접속하는 정보를 입력받아 상기 개설자의 단말 및 상기 참가자의 단말인 사용자 단말들과 양방향 음성 채널을 생성하는 단계; (b) 상기 사용자 단말들로부터 입력되는 음성 데이터를 수신하여 각 단말별로 음성 데이터를 디코딩하는 단계; (c) 상기 디코딩한 음성 데이터를 수신한 시각별로 합치는 단계; (d) 상기 합쳐진 음성 데이터를 각 사용자 단말별로 분기시키 는 단계; (e) 상기 각 사용자 단말별로 분기된 음성 데이터에서 대응되는 사용자 단말에서 수신한 음성 데이터에 대응하는 음성 데이터를 제거하는 단계; (f) 상기 (e) 단계에서 제거되어 남은 음성 데이터를 인코딩하는 단계; 및 (g) 상기 인코딩된 음성 데이터를 각 사용자 단말별로 전송하는 단계;를 포함하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한, 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 장치는, 컨퍼런스를 개설한 개설자의 단말 및 상기 컨퍼런스에 참석할 참가자의 단말들에 접속하는 정보를 입력받는 단말정보입력부; 상기 입력받은 개설자의 단말 및 상기 참가자의 단말인 사용자 단말들과 양방향 음성 채널을 생성하는 채널 생성부; 상기 사용자 단말들로부터 입력되는 음성 데이터를 각 사용자 단말별로 입력받는 수신버퍼; 상기 각 수신버퍼로 입력된 음성 데이터를 디코딩하는 디코딩부; 상기 디코딩된 데이터를 각 사용자 단말별로 저장하는 음성 수신 버퍼; 상기 음성 수신 버퍼에 저장된 음성 데이터를 수신한 시각별로 합치는 믹싱부; 각 사용자 단말 개수에 대응하여 상기 합쳐진 음성 데이터를 분기시키는 데이터 분기부; 상기 분기된 각 음성 데이터에서 상기 음성 데이터 버퍼에 저장된 각 사용자 단말별 음성 데이터에 대응하는 송신자 음성 데이터를 제거하는 송신자음성제거부; 상기 송신자 음성이 제거된 합쳐진 음성 데이터를 인코딩하는 인코딩부; 및 상기 인코딩된 데이터를 저장하여 소정의 절차에 따라 대응되는 사용자 단말들로 전송하는 송신 버퍼;를 포함하는 것을 특징으로 하는 한다.
이하에서 첨부된 도면을 참조하여 본 발명의 바람직한 일 실시예를 상세히 설명한다.
도 1은 본 발명에 따른 컨퍼런스 서비스 제공 방법의 흐름을 도시한 것이다.
컨퍼런스 개설자로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급하고(100 단계), 컨퍼런스 개설자로부터 상기 아이디가 발급된 컨퍼런스에 참석할 참가자를 지정받고(110 단계), 컨퍼런스 개설자로부터의 지정된 참가자들에게 참가할 것을 요청받으면 상기 지정된 참가자들에게 컨퍼런스 참석을 요청하고, 그에 대한 응답을 받아서 양방향 음성 채널을 생성한다(120 단계). 그리고 참가할 것을 응답한 참가자들로부터의 음성 데이터를 입력된 시각에 따라 합치며, 합친 음성 데이터에서 음성 데이터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달한다(130 단계).
도 2는 본 발명에 따른 컨퍼런스 서비스 제공 장치의 구성과 사용 환경의 예를 도시한 것이다.
이 장치는 컨퍼런스 개설자 단말(230)로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급하는 컨퍼런스 아이디 발급부(200), 컨퍼런스 개설자(230)로부터 상기 아이디가 발급된 컨퍼런스에 참석할 참가자(240)를 지정받아 상기 지정된 참가자들에게 컨퍼런스 참석을 요청하며, 그에 대한 응답을 받아서 양방향 음성 채널을 생성을 요청하는 시그날링 관리부(210) 및 관리부(210)의 요청에 따라 참가자들(240)과의 음성 채널을 입력된 시각별로 생성하며, 참가할 것을 응답한 참가자들로부터의 음성 데이터를 합치고, 합친 음성 데이터에서 음성 데이 터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달하는 미디어 제어부(220)를 포함한다.
구현예에 따라 컨퍼런스 ID 발급부(200)는 시그널링 관리부(210) 내부에 포함되어 구현될 수 있다.
상기의 개설자 및 참가자들의 단말(230, 240)들은 일반적인 SIP 단말로, RFC3261 표준에 지정된 SIP 시그날의 INVITE, ACK, BYE, REGISTER, OPTION, CANCEL의 6개의 메소드 혹은 메시지만을 지원한다. 본 발명은 이와 같이 기본적인 메소드 혹은 메시지만을 지원하는 단말에서도 다양한 기능의 컨퍼런스 서비스를 제공할 수 있으며, 이하에서 자세하게 설명된다. 그리고 본 발명에 대한 설명도 SIP를 이용하여 컨퍼런스 서비스를 제공하는 것을 예를 들어 진행될 것이다.
다만 SIP 및 RFC3261 표준에 관한 것은 이미 공개되어 본 발명이 속한 기술 분야의 통상의 지식을 가진 자는 용이하게 이용할 수 있는 것이므로 그에 대한 별도의 설명을 하지는 않을 것이다.
그리고 시그널링 관리부(210)는 컨퍼런스 시그널링 서버( Conference Signaling Server, 이하 CSS)의 형태로 구현될 수 있으며, 미디어 제어부(220)는 컨퍼런스 미디어 서버(Conference Media Server Family, 이하 CMS)의 형태로 구현될 수 있다. 이하에서는 시그널링 관리부와 미디어 제어부를 각각 CSS와 CMS로 지칭하여 설명을 진행한다.
컨퍼런스 개설을 위해 다자간 통화의 사전 준비를 한다. 이를 위해 컨퍼런스 개설자로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급 한다(100 단계).
SIP에서는 모든 상대 주소를 SIP URL를 사용하여 지칭을 하게 되므로 컨퍼런스를 위한 별도의 URI를 발급 받아야 한다. 즉, 컨퍼런스를 위한 아이디가 URI이다. 이 URI는 컨퍼런스 세션을 지칭하는 유일한 주소로 사용된다.
컨퍼런스 참가자는 URI에 대해서만 요청을 하게 되며, 최종 컨퍼런스용 SIP URI는 sip:confenreceID@conference.server.domainname 의 형태를 유지한다.
URI를 발급할 때에 비공개 컨퍼런스를 위한 비밀번호, 특정 사용자에게 참여 요청을 하였으나 그 요청을 수신하고 통화가 성립하지 않는 경우 참여 요청 시도를 계속하는 시간인 컨퍼런스 참여 1회 요청 시도 시간, 참여 요청 재시도 횟수 및 참여 요청 재시도 간의 간격을 같이 설정하는 것이 바람직하다.
공개된 세션으로 사용하고자 할 경우에는 별도의 비밀번호를 설정하지 아니하며, 폐쇄된 비공개 컨퍼런스를 위해서는 비밀번호를 설정하도록 한다.
컨퍼런스 참여 1회 요청 시도 시간은 특히 특정 사용자에게 참여요청을 하였으나 링에 대한 응답(ringing response)만 수신하고 통화가 설립이 되지 않은 경우에 사용될 수 있다.
그리고 참여 요청 재시도의 경우에는 특정 참여자가 전화를 받지 않거나 해당 장비가 동작중이지 않으면 일정시간 이후 재시도를 하게 할 때에 사용된다.
CSS(210)는 상기 컨퍼런스 개설자로부터 상기 아이디가 발급된 컨퍼런스에 참석할 참가자를 지정받는다(110 단계). 이는 컨퍼런스를 위한 아이디가 발급된 이후 해당 컨퍼런스 세션이 개설되기 위한 과정으로 미리 참가자를 지정하는 방법을 통해 일시에 개설이 이루어지도록 하는 것이다.
이를 위해 URI에 접촉 가능한 주소를 등록하는 SIP 시그날의 REGISTER 메시지를 이용하여 컨퍼런스 참가자에 대한 사전 등록을 하는 것이 바람직하며, 이때의 REGISTER 메시지는 상기 개설자가 생성한 컨퍼런스 SIP URL, 컨퍼런스 URI를 발급받은 사용자, 참여시키고자 하는 사용자의 SIP URL들, 해당 컨퍼런스 URI의 유효시간 및 인증정보를 포함하는 것이 바람직하다.
도 3은 개설자의 SIP 단말을 통해 컨퍼런스 개설 이전에 참가자를 지정하는 방식을 도시한 것이다.
SIP 단말(300)을 통해 CSS(310)에 상기와 같은 내용을 포함하는 레지스터 메시지를 전송하면 이를 수신한 CSS(310)는 200 OK 메시지를 전송하여 등록 요청한 것을 받았다는 것을 알린다.
도 4는 개설자가 참가자를 지정하고, 그때의 메시지에 포함된 내용과 그에 대한 응답 및 응답 메시지에 포함된 내용의 예를 도시한 것이다.
REGISTER 메시지(420)에는 다음과 같은 필드들이 포함된다.
To 헤더: 사용자가 생성한 컨퍼런스 SIP URL
From 헤더: 컨퍼런스 URI를 발급받은 사용자
Contact 헤더: 참여시키고자 하는 사용자의 SIP URL들
Expires 헤더: 해당 컨퍼런스 URI의 유효시간
Authorization 헤더: 인증정보 포함
200 OK 응답 메시지(430)에 포함된 것은 그에 대한 응답을 나타낸다.
상기의 방법 외에도 웹 인터페이스를 통한 참가자 선정이나 관리자에 의한 참가자 선정이 가능하다.
컨퍼런스가 개설되었다는 것을 알리는 것은 이메일이나 웹 공지와 같은 방법을 사용할 수 있다.
컨퍼런스 즉, 다자간 통화를 통한 회의를 위해 다자간 통화가 가능하도록 설정한다. 이 과정이 120 단계로 CSS(210)가 컨퍼런스 개설자로부터의 지정된 참가자들에게 참가할 것을 요청받으면 상기 지정된 참가자들에게 컨퍼런스 참석을 요청하고, 그에 대한 응답을 받아서 CMS(220)에 양방향 음성 채널을 생성하게 한다.
CMS(220)가 각 단말들과 CMS(220) 사이에 생성하는 양방향 음성 채널은 CMS(220)와 각 단말간에는 1:1의 피어 투 피어(peer to peer) 관계이다. 즉, 각 단말과 CMS(220) 혹은 CSS(210)와의 변동 관계는 다른 단말들에게 영향을 주지 않는다.
이때에 120 단계는 상기 컨퍼런스 개설자로부터 컨퍼런스 참가자에 대한 통화 설정을 요청하는 SIP 시그날의 INVITE 메시지를 수신하고, 상기 컨퍼런스 개설자의 단말을 위한 음성 채널을 확보하여 양방향 음성통화 세션을 시작하며, 상기 INVITE 메시지에 대한 응답을 하고, 상기 컨퍼런스 개설자를 제외한 참여자에게 대화 참여를 요청하는 것이 바람직하다. 그리고 컨퍼런스 개설자와의 음성 채널을 확보한 후에 컨퍼런스 개설자와의 음성 채널을 통해 참여자와의 음성 세션이 시작되기 이전의 안내 멘트 또는 링백톤(ring-back tone)을 전달하는 것이 바람직하다.
도 5는 상기의 설명과 같이 개설자가 컨퍼런스 세션을 시작하기 위해 요청하 고, 그에 대한 응답을 하는 흐름을 도시한 것이다.
개설자(230)가 CSS(210)에게 INVITE 메시지를 송신하면(1), CSS(210)는 CMS(220)에게 음성 채널 확보를 명령하고, 확보된 채널에 대한 정보를 넘겨받아 200 OK 응답을 생성하여 전달한다(2). 이 과정에서 개설자(230)와 CMS(22)간의 음성 채널이 설정되고 양방향 음성통화 세션이 시작된다. 이를 ACK 메시지를 통해 개설자(230)에게 알릴 수도 있고(3), 혹은 개설자와 CMS간의 음성 채널을 통해 참여자와의 음성 세션이 시작되기 이전의 안내 멘트 또는 ring-back tone을 전달할 수도 있다.
그리고 CSS(210)는 개설자(230)를 제외한 참여자(240, A, B, C)에게 INVITE 메지시를 송신하여 대화참여를 요청한다(4).
CSS(210)는 참여자인 A, B, C들로부터의 응답에 대해 다음과 같은 표에 따라 동작할 수 있다.
응답클래스 CSS의 동작
1xx 최초의 180 응답만을 상위인 개설자로 전송한다. 이후의 1xx계열 응답은 개설자로 전달하지 않는다.
2xx 2xx 응답에 대한 ACK를 생성하여 응답 송신자인 참가자에게 보낸다. CMS와 2xx응답을 보낸 참여자와 음성 채널을 생성한다. 아직 음성 채널이 생성되지 않은 경우, 2xx 응답을 개설자에게 생성하여 보낸후 ACK를 수신하고 CMS와 개설자간의 음성채널을 생성하게 한다. 이미 음성채널이 생성되어 있는 경우에는 별도 동작 없음.
3xx ACK를 보낸이후 3xx 응답의 Contact 헤더에 명시된 주소로 재시도한다.
4xx ACK를 보낸이후, 해당 참여자에 대해서는 재시도 하지 않는다. 즉, 세션에서 제외시킨다.
5xx
6xx
도 6와 도 7은 CSS로부터의 통화 요청을 받은 참가자들이 컨퍼런스에 참여하여 음성 채널이 생성되는 과정을 도시한 것이다.
도 6에서 CSS(210)가 참가자 C의 SIP 단말(240)로 INVITE 메시지를 전송하여 그에 대한 응답 메시지 200 OK를 수신하면(1), CMS(220)에게 참가자 C의 단말에 접속할 수 있는 정보를 전달하여 음성 채널을 확보하게 하고(2), 참가자 C에게는 ACK 메시지를 전송하여 컨퍼런스 참여 준비가 된 것을 알린다(3).
CMS(220)는 참가지 C의 단말과 CMS 간의 음성 채널을 생성하여 양방향 통신이 가능하도록 한다(4).
도 7은 참가자 C에 대한 음성 채널이 생성된 후 참가자 B에 대해 음성 채널을 생성하는 것으로, 참가자만이 다를 뿐 다른 것은 동일하다.
도 8은 참여 예정으로 되어 있던 특정 사용자가 전화를 받지 않는 경우 미리 설정된 조건에 따라 통화 요청을 일시 중단하는 과정을 도시한 것이다.
이를 위해 120 단계에서 대화 참여 요청을 한 후 소정의 대기 시간이 지날 때까지 해당 참가자의 단말로부터의 수락이 없는 경우에는 그 단말로 SIP 시그날의 CANCEL 메시지를 전송하고, 소정의 재시도 시간이 지난 후에 미리 정해진 횟수에 따라 대화 참여 요청을 재시도하는 것이 바람직하다.
참가자 단말(240)의 하나인 A 단말에 INVITE 메시지를 전송한 후, A 단말로부터 ringing 응답은 받았으나 설정 시간을 초과할 때까지 해당 참여자가 수락(accept)을 하지 않은 경우에는 해당 단말에게 CANCEL 메시지를 전송(1)하여, 상대 전화기의 무한 ringing 상태를 방지토록 한다. 이에 대해 A 단말은 200 OK를 전송하여 메시지를 수신한 것을 알리며, 100 단계에서 설정된 내용에 따라 미리 정해진 재시도 간격 시간이 경과한 이후 재시도를 한다. 그리고 이와 같은 재시도를 미리 정해진 횟수만큼 반복하게 된다.
만일 A 단말에서 487 Cancelled 메시지를 전송하면 표 1에서 정의된 것과 같이 ACK 메시지를 단말로 전송하고(4), 더 이상은 A 단말기에 대해 재시도하지 않고 컨퍼런스 세션에서 제외시킨다.
참가자 단말(240)로 INVITE 메시지를 전송한 후, 그 단말로부터 ringing 응답도 없는 경우에는 100 단계에서 설정된 내용에 따라 재시도한다. 설정된 내용에 따라 재시도를 반복한 후에는 마찬가지로 그 단말은 컨퍼런스 세션에서 제외시킨다.
상기와 같은 과정을 통해 컨퍼런스에 참가할 단말로부터 응답을 받으면, CMS(22)는 참가할 것을 응답한 참가자들로부터의 음성 데이터를 입력된 시각에 따라 합치며, 합친 음성 데이터에서 음성 데이터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달한다(130 단계). 즉, 개설자를 포함한 각 참가자는 자신의 음성을 제외하고 다른 참가자들의 음성이 믹싱된 음성 데이터를 자신의 단말을 통해 전달받게 된다. 이에 대해서는 이하에서 상세하게 다시 설명한다.
위와 같은 컨퍼런스가 개설되어 진행 중에 다른 새로운 참가자가 그 컨퍼런스에 참여할 것을 원할 수 있다. 이를 지원하기 위해, 새로운 참가자로부터 상기 개설된 컨퍼런스의 컨퍼런스를 위한 아이디로 SIP 시그날의 INVITE 메시지를 수신하고, 새로운 참가자를 위한 음성채널을 확보하고 새로운 참가자의 단말로 응답 메시지를 전송하며, 응답을 받은 것을 확인하는 메시지를 수신하면 확보된 음성채널을 통해 합쳐진 음성을 새로운 참가자의 단말로 전달하며, 새로운 참가자의 단말로부터의 음성데이터를 합쳐서 기존의 참가자들에게 전달한다.
도 9는 상기와 같이 개설된 컨퍼런스에 추가되는 단말이 참여하는 과정을 도시한 것이다. 새로운 참가자 D가 이미 개설되어 있는 컨퍼런스 세션에 참여하기 위해 CSS(210)에게 참여하고자 하는 컨퍼런스 세션의 URI로 자신에 대한 정보를 포함하여 INVITE 메시지를 송신하고(1), CSS(210)는 D 단말(250)에 대한 정보를 CMS(220)에게 전달하여 음성채널을 확보하게 하고(2), 이를 토대로 200 OK 응답을 생성하여 D 단말(250)로 송신한다(2). D 단말(250)은 ACK 메시지로 응답한다(3). CMS(220)는 기존의 단말들(230, 240)과의 사이에 생성된 음성 채널에 덧붙여 D 단말(250)과의 음성 채널을 생성한다(4).
컨퍼런스가 진행되면 CMS(220)는 D 단말(250)와 CMS(220)간에 열린 음성채널을 통해 합쳐진 즉, 믹싱(mixing)이 이루어진 음성이 D 단말(250)에게 전달하며, D 단말(250)로부터의 음성데이터는 믹싱하여 타 참가자들의 단말(240)에게 전달한다.
만일 상기의 개설된 컨퍼런스가 폐쇄된 컨퍼런스로 참여를 위한 비밀번호가 설정된 경우에는, 새로운 참가자로부터 상기 개설된 컨퍼런스의 컨퍼런스를 위한 아이디로 인증정보를 포함한 SIP 시그날의 INVITE 메시지를 수신하고, 새로운 참가자를 위한 음성채널을 확보하고 새로운 참가자의 단말로 응답 메시지를 전송하며, 응답을 받은 것을 확인하는 메시지를 수신하면 확보된 음성채널을 통해 합쳐진 음성을 새로운 참가자의 단말로 전달하며, 상기 새로운 참가자의 단말로부터의 음성데이터를 합쳐서 기존의 참가자들에게 전달하는 것이 바람직하다.
그리고 만일 새로운 참가자로부터 인증 정보를 포함하지 않은 INVITE 메시지를 수신한 경우에는 상기 새로운 참가자의 단말로 인증정보가 포함되지 않았음을 나타내는 응답을 전송하여 인증정보를 포함하여 참여 요청을 할 것을 알리는 것이 바람직하다.
도 10은 참여를 위한 비밀번호가 설정된 컨퍼런스에 새로운 참가자가 참여하는 과정을 도시한 것이다.
새로운 참가자의 D 단말(250)로부터 CSS(210)에게 참여하고자 하는 컨퍼런스 세션의 URI로 인증정보가 포함되지 않은 INVITE가 전송된다(1). CSS(210)는 필요한 인증정보가 포함되지 않았음을 의미하는 401 응답을 보낸다(2). D 단말(250)은 ACK 메시지를 전송한 후(3), 인증정보 즉 비밀번호를 포함한 INVITE 메시지를 송신한다. 이를 확인한 CSS(210)는 CMS(220)로부터 음성채널을 확보하고 이 정보를 토대로 200 OK 응답을 생성하여 송신한다(5). 이에 대해 D 단말(250)는 ACK 메시지로 응답한다(6). CMS(220)는 CSS(210)으로부터 받은 D 단말(250)에 대한 정보를 바탕으로 음성 채널을 생성하며(4), 단말 D(250)와 CMS(220)간에 열린 음성채널을 통해 mixing이 이루어진 음성이 단말 D에게 전달이 되며, 단말 D로부터의 음성데이터는 믹싱되어 타 참여자들에게 전달된다.
도 11은 본 발명에 따라 개설된 컨퍼런스 진행 중에 통화를 종료하려는 참가자를 종료하게 하는 과정을 도시한 것이다.
이를 위해 CSS(210)는 컨퍼런스에 참가하여 컨퍼런스 세션 진행 중에 통화를 종료하려는 참가자들로부터 통화 종료를 요청받으면 통화 종료된 것을 상기 종료하려는 참가자에게 알리며, CMS(220)에게 이를 알려 상기 참가자와 연결되어 있던 음성 채널을 종료하게 하는 것이 바람직하다.
종료하고자 하는 참여자 D(250)는 CSS(210)에게 BYE 메시지를 송신하여 통화 종료 요청한다(1). CSS(210)는 200 OK를 보내 통화가 종료되었음을 알리고, CMS(220)에게 D 단말(250)와 연결되어 있는 음성 채널을 종료하도록 명령한다.
상기에서도 설명되어 있지만 모든 참가자의 단말과 CSS/CMS간에는 1:1 피어(peer) 관계이기 때문에 특정 사용자가 통화를 종료하더라도 기존 컨퍼런스 세션의 다른 단말(210, 240)에는 변화를 미치지 않는다.
컨퍼런스에 참가한 모든 참가자가 통화를 종료하면 CSS는 관련 컨퍼런스 세션 정보를 정리하고 초기상태로 돌아간다.
현재 개설되어 진행되고 있는 컨퍼런스의 상태를 알기 위해 OPTIONS 메소드를 사용할 수 있다.
CSS가 개설된 컨퍼런스에 대한 정보를 확인하기 위한 SIP 시그날의 OPTION 메시지를 수신하면, 그에 대한 응답 메시지인 200 OK 메시지의 본문(body) 부분에 에 대한 응답 메시지에 현재 참가자가 있는 컨퍼런스 아이디 목록, 컨퍼런스 세션 시작 시각, 개설자 아이디, 인증여부, 음성 데이터를 디코딩 또는 인코딩하는 코덱의 종류, 해당 컨퍼런스 세션에 대한 추가적인 정보를 담고 있는 HTTP 컨퍼런스 아이디를 포함하는 정보를 실어서 전달하는 것이 바람직하다.
상기와 같은 과정을 거쳐서 본 발명은 일반 SIP 단말에 컨퍼런스 참가자 선정, 컨퍼런스 세션 개설, 컨퍼런스 세션 참가, 컨퍼런스 세션 탈퇴, 컨퍼런스 세션 종료, 컨퍼런스 세션 상태 확인과 같은 컨퍼런스 서비스를 제공하는 것이다.
이하에서는 미디어 제어부인 CMS의 기능에 대해 설명한다.
도 12는 본 발명에 따른 미디어 제어부인 CMS에서 컨퍼런스 서비스 제공을 위해 음성 데이터를 제공하는 방법의 흐름을 도시한 것이다. 이 방법은 사용자들로부터의 음성 데이터를 합쳐서 각 사용자들에게 음성 데이터를 제공하는 것이다.
컨퍼런스를 개설한 개설자의 단말 및 컨퍼런스에 참석할 참가자의 단말들에 접속하는 정보를 입력받아 개설자의 단말 및 참가자의 단말인 사용자 단말들과 양방향 음성 채널을 생성하고(1200 단계), 사용자 단말들로부터 입력되는 음성 데이터를 수신하여 각 단말별로 음성 데이터를 디코딩하며(1210 단계), 디코딩한 음성 데이터를 수신한 시각별로 합친다(1220 단계).
상기 합쳐진 음성 데이터를 각 사용자 단말별로 분기시키고(1230 단계), 각 사용자 단말별로 분기된 음성 데이터에서 대응되는 사용자 단말을 통해 수신한 음성 데이터에 대응하는 음성 데이터를 제거한다(1240 단계). 그리고 남은 음성 데이터를 인코딩하여(1250 단계), 인코딩된 음성 데이터를 각 사용자 단말별로 전송하여(1260 단계) 컨퍼런스 진행에 필요한 음성 데이터를 각 사용자 단말간에 주고 받게 한다.
도 13은 본 발명에 따른 미디어 제어부인 CMS의 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 장치의 구성을 도시한 것이다.
이 장치는 컨퍼런스를 개설한 개설자의 단말 및 컨퍼런스에 참석할 참가자의 단말들에 접속하는 정보를 입력받는 단말정보입력부(1300), 상기 입력받은 개설자의 단말 및 상기 참가자의 단말인 사용자 단말들과 양방향 음성 채널을 생성하는 채널 생성부(1310), 상기 사용자 단말들(A, B, C)로부터 입력되는 음성 데이터를 각 사용자 단말별로 입력받는 수신버퍼(1320-1 내지 1320-3), 각 수신버퍼(1320-1 내지 1320-3)로 입력된 음성 데이터를 디코딩하는 디코딩부(1330), 상기 디코딩된 데이터를 각 사용자 단말별로 저장하는 음성 수신 버퍼(1340-1 내지 1340-3), 상기 음성 수신 버퍼(1340-1 내지 1340-3)에 저장된 음성 데이터를 수신한 시각별로 합치는 믹싱부(1350), 각 사용자 단말 개수에 대응하여 상기 합쳐진 음성 데이터를 분기시키는 데이터 분기부(1360), 상기 분기된 각 음성 데이터에서 상기 음성 데이터 버퍼에 저장된 각 사용자 단말별 음성 데이터에 대응하는 송신자 음성 데이터를 제거하는 송신자음성제거부(1370-1 내지 1370-3), 상기 송신자 음성이 제거된 합쳐진 음성 데이터를 인코딩하는 인코딩부(1380) 및 상기 인코딩된 데이터를 저장하여 소정의 절차에 따라 대응되는 사용자 단말들로 전송하는 송신 버퍼(1390-1 내지 1390-3)를 포함한다.
송신자음성제거부(1370-1 내지 1370-3)에서 상기 송신자 음성이 제거된 합쳐진 음성 데이터는 일시적으로 음성 송신 버퍼(1375-1 내지 1375-3)에 저장되었다가 각 버퍼에 입력된 차례대로 인코딩될 수 있다.
CSS는 컨퍼런스를 개설한 개설자의 단말 및 컨퍼런스에 참석할 참가자의 단말들에 접속하는 정보를 CMS에게 전달한다. CMS는 단말정보 입력부(1300)를 통해 각사용자 단말에 대한 정보를 입력받으며, 채널 생성부(110)는 개설자의 단말 및 참가자의 단말인 사용자 단말들과 양방향 음성 채널을 생성한다(1200 단계).
이때에 채널 생성부(110)가 생성하는 양방향 음성 채널은 각 사용자 단말(A, B, C)과 CMS 간의 피어 투 피어의 채널인 것이 바람직하다.
사용자 단말들로부터 입력되는 음성 데이터는 수신 버퍼(1320-1 내지 1320-3)로 수신되어 저장된다. 이때에 사용자 단말들로부터 입력되는 음성 데이터의 수신은 RTP(Real-time Transport Protocol)에 따른 것임이 바람직하다.
수신 버퍼(1320-1 내지 1320-3)는 선입선출(First-In First-Out) 구조의 버퍼를 사용할 수 있다. 시간적으로 먼저 입력된 음성 데이터에 대한 처리를 먼저 하고, 나중에 입력되는 음성 데이터를 나중에 처리하는 것이 필요하며, 이와 같은 처리 순서를 용이하게 하기 위해서는 선입선출 구조의 버퍼를 사용하는 것이 편리하다.
디코딩부(1330)는 각 수신 버퍼(1320-1 내지 1320-3)에 저장된 음성 데이터를 버퍼별로 디코딩하여(1210 단계) 각 수신 버퍼(1320-1 내지 1320-3)에 대응되는 음성 수신 버퍼(1340-1 내지 1340-3)에 저장한다. 이 음성 수신 버퍼들도 선입선출 구조의 버퍼를 사용할 수 있다.
믹싱부(1350)는 디코딩된 음성 데이터를 수신한 시각별로 합친다(1220 단계).
디코딩부(1330)는 수신 버퍼(1320-1 내지 1320-3)에 입력된 음성 데이터를 소정의 클럭 신호에 연동하여 출력받아 디코딩할 수 있고, 믹싱부(1350) 역시 클럭 신호에 연동하여 음성 수신 버퍼(1340-1 내지 1340-3)로부터 출력할 수 있다. 즉, 수신 버퍼(1320-1 내지 1320-3)에 동시에 수신된 음성 데이터는 동시에 믹싱부(1350)에 의해 합쳐진다.
디코딩된 음성 데이터가 PCM 데이터인 경우 1초에 8000번 정도 샘플링된다. 이 경우 믹싱부(1350)는 한번 샘플링된 음성 데이터를 1/8000초마다 음성 수신 버퍼(1340-1 내지 1340-3)에서 출력받아서 합칠 수 있다.
분기부(1360)는 믹싱부(1350)에서 합쳐진 음성 데이터를 각 사용자 단말별로 분기시킨다(1230 단계). 도 13의 경우 사용자 단말이 A, B, C의 3개이므로 합쳐진 음성 데이터를 3개로 복사한다. 이 3개로 복사된 음성 데이터는 A, B, C의 각 단말을 통해 3명의 사용자가 말한 내용이 전부 포함되어 있다. 그런데 각 사용자에게 전달될 음성 데이터에는 자신이 말한 음성 데이터가 포함될 필요는 없다.
송신자 음성 제거부(1370-1 내지 1370-3)는 분기부(1360)에서 각 사용자 단말수에 대응되도록 분기된 음성 데이터에서 대응되는 사용자 단말에서 수신한 음성 데이터에 대응하는 음성 데이터를 제거한다(1240 단계). 다시 말해서 1370-1의 송신자 음성 제거부는 분기부(1360)에서 분기되어 출력되는 합쳐진 음성 데이터 중에서 A 단말로부터 입력되어 1340-1의 음성 수신 버퍼에 저장되어 있던 송신자의 음성 데이터를 제거하여 송신자의 음성만이 제거된 합쳐진 음성 데이터를 생성한다. 그러므로 이와 같은 기능을 위해 음성 수신 버퍼를 선입선출 구조의 버퍼를 사용하여 구현하는 경우에도 음성 데이터가 합쳐진 후에 분기되어 돌아올 때까지 송신자의 음성 데이터를 보관해야 한다.
이와 같이 처리된 음성 데이터는 음성 송신 버퍼(1375-1 내지 1375-3)에 저장되었다가 인코딩부(1380)에 의해 인코딩되어 송신 버퍼(1390-1 내지 1390-3)에 저장된다.
인코딩 시에도 음성 데이터가 PCM 데이터인 경우 1초에 8000번 정도 샘플링되므로 인코딩부(1380)는 음성 송신 버퍼(1375-1 내지 1375-3)에 저장된 한번 샘플링되어 얻어진 크기만큼 읽어서 인코딩할 수 있다.
상기와 같이 합쳐지고 인코딩된 음성 데이터는 각 사용자 단말별로 전송된다. 이때에 음성 데이터 수신 전송은 RTP에 따른 것임이 바람직하다.
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 본 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 상기의 설명에 포함된 예들은 본 발명에 대한 이해를 위해 도입된 것이며, 이 예들은 본 발명의 사상과 범위를 한정하지 않는다. 상기의 예들 외에도 본 발명에 따른 다양한 실시 태양이 가능하다는 것은, 본 발명이 속한 기술 분야에 통상의 지식을 가진 사람에게는 자명할 것이다. 본 발명의 범위는 전술한 설명이 아니라 청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
또한 본 발명에 따른 상기의 각 단계는 일반적인 프로그래밍 기법을 이용하여 소프트웨어적으로 또는 하드웨어적으로 다양하게 구현할 수 있다는 것은 이 분야에 통상의 기술을 가진 자라면 용이하게 알 수 있는 것이다.
그리고 본 발명의 일부 단계들은, 또한, 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다.
본 발명에 의하면, 컨퍼런스 개설자로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급하고, 컨퍼런스 개설자로부터 아이디가 발급된 컨퍼런스에 참석할 참가자를 지정받고, 컨퍼런스 개설자로부터의 지정된 참가자들에게 참가할 것을 요청받으면 지정된 참가자들에게 컨퍼런스 참석을 요청하고, 그에 대한 응답을 받아서 양방향 음성 채널을 생성하며, 참가할 것을 응답한 참가자들로부터의 음성 데이터를 입력된 시각에 따라 합쳐서, 합친 음성 데이터에서 음성 데이터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달하여, 특별한 기능을 부가하지 않은 일반의 일반 SIP 단말에 사용하여 컨퍼런스 서비스를 제공할수 있다. 또한 일반 SIP 단말에게 회의 개설 및 제어에 대한 권한을 주며, 모든 참여자가 동등한 권리를 갖게되므로 개설자가 통화를 종료하더라도 회의 세션은 유효하게 유지되게 하며, 그리고 기 기정되지 않은 신규참여자도 간편하게 참여할 수 있는 방법을 제공하며, 예정된 참여자와의 통화 설정이 이루어지지 않더라도 재시도가 가능하게 하였으며, 기본적인 SIP 시그널 메시지를 통해 회의 속성에 대한 정보를 확인할 수 있는 방법을 제공하는 등 추가적인 비용투자없이 사용자에게 쾌적하며 간편하게 다자간 통화나 회의와 같은 컨퍼런스 서비스를 제공할 수 있다.

Claims (19)

  1. (a) 컨퍼런스 개설자로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급하는 단계;
    (b) 상기 컨퍼런스 개설자로부터 상기 아이디가 발급된 컨퍼런스에 참석할 참가자를 지정받는 단계;
    (c) 상기 컨퍼런스 개설자로부터의 지정된 참가자들에게 참가할 것을 요청받으면 상기 지정된 참가자들에게 컨퍼런스 참석을 요청하고, 그에 대한 응답을 받아서 양방향 음성 채널을 생성하는 단계; 및
    (d) 참가할 것을 응답한 참가자들로부터의 음성 데이터를 입력된 시각에 따라 합치며, 합친 음성 데이터에서 음성 데이터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달하는 단계;를 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 (a) 단계에서 컨퍼런스를 위한 아이디를 발급할 때에 비공개 컨퍼런스를 위한 비밀번호, 특정 사용자에게 참여 요청을 하였으나 그 요청을 수신하고 통화가 성립하지 않는 경우 참여 요청 시도를 계속하는 시간, 참여 요청 재시도 횟수 및 참여 요청 재시도 간의 간격을 같이 설정하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  3. 제1항에 있어서,
    상기 (b) 단계에서 상기 컨퍼런스를 위한 아이디에 대한 접촉 가능한 주소를 등록하는 SIP 시그날의 REGISTER 메시지를 이용하여 컨퍼런스 참가자에 대한 사전 등록을 하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  4. 제3항에 있어서, 상기 REGISTER 메시지는 상기 개설자가 생성한 컨퍼런스 SIP URL, 컨퍼런스 URI를 발급받은 사용자, 참여시키고자 하는 사용자의 SIP URL들, 해당 컨퍼런스 URI의 유효시간 및 인증정보를 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  5. 제1항에 있어서,
    상기 (c) 단계는,
    (c1) 상기 컨퍼런스 개설자로부터 컨퍼런스 참가자에 대한 통화 설정을 요청하는 SIP 시그날의 INVITE 메시지를 수신하는 단계;
    (c2) 상기 컨퍼런스 개설자의 단말을 위한 음성 채널을 확보하여 양방향 음성통화 세션을 시작하며, 상기 INVITE 메시지에 대한 응답을 하는 단계; 및
    (c3) 상기 컨퍼런스 개설자를 제외한 참여자에게 대화 참여를 요청하는 단계;를 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  6. 제5항에 있어서,
    상기 (c2) 단계 후에 상기 컨퍼런스 개설자와의 음성 채널을 통해 참여자와의 음성 세션이 시작되기 이전의 안내 멘트 또는 링백톤(ring-back tone)을 전달하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  7. 제1항에 있어서,
    상기 (c) 단계에서 대화 참여 요청을 한 후 소정의 대기 시간이 지날 때까지 해당 참가자의 단말로부터의 수락이 없는 경우에는 그 단말로 SIP 시그날의 CANCEL 메시지를 전송하고, 소정의 재시도 시간이 지난 후에 미리 정해진 횟수에 따라 대화 참여 요청을 재시도하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  8. 제1항에 있어서,
    상기 (c) 단계에서 대화 참여 요청을 한 후 소정의 대기 시간이 지날 때까지 해당 참가자의 단말로부터의 응답이 없는 경우에는 소정의 재시도 시간이 지난 후에 미리 정해진 횟수에 따라 대화 참여 요청을 재시도하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  9. 제1항에 있어서,
    상기 (d) 단계까지 진행하여 개설된 컨퍼런스에 새로운 참가자가 참가할 것을 요청할 때에는,
    (e) 상기 새로운 참가자로부터 상기 개설된 컨퍼런스의 컨퍼런스를 위한 아이디로 SIP 시그날의 INVITE 메시지를 수신하는 단계;
    (f) 상기 새로운 참가자를 위한 음성채널을 확보하고 새로운 참가자의 단말로 응답 메시지를 전송하는 단계;
    (g) 상기 응답을 받은 것을 확인하는 메시지를 수신하면 상기 확보된 음성채널을 통해 합쳐진 음성을 상기 새로운 참가자의 단말로 전달하며, 상기 새로운 참가자의 단말로부터의 음성데이터를 합쳐서 기존의 참가자들에게 전달하는 단계;를 더 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  10. 제1항에 있어서,
    상기 (d) 단계까지 진행하여 개설된 컨퍼런스에 새로운 참가자가 참가할 것을 요청하였으며, 상기 개설된 컨퍼런스에는 해당 컨퍼런스를 위한 비밀번호가 설정되어 있는 경우에는,
    (e) 상기 새로운 참가자로부터 상기 개설된 컨퍼런스의 컨퍼런스를 위한 아이디로 인증정보를 포함한 SIP 시그날의 INVITE 메시지를 수신하는 단계;
    (f) 상기 새로운 참가자를 위한 음성채널을 확보하고 새로운 참가자의 단말로 응답 메시지를 전송하는 단계;
    (g) 상기 응답을 받은 것을 확인하는 메시지를 수신하면 상기 확보된 음성채널을 통해 합쳐진 음성을 상기 새로운 참가자의 단말로 전달하며, 상기 새로운 참가자의 단말로부터의 음성데이터를 합쳐서 기존의 참가자들에게 전달하는 단계;를 더 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  11. 제10항에 있어서,
    상기 (e) 단계에서 상기 새로운 참가자로부터 인증 정보를 포함하지 않은 INVITE 메시지를 수신한 경우에는 상기 새로운 참가자의 단말로 인증정보가 포함되지 않았음을 나타내는 응답을 전송하여 인증정보를 포함하여 참여 요청을 할 것을 알리는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  12. 제1항, 제9항 또는 제10항 중의 한 항에 있어서,
    상기 컨퍼런스에 참가하여 컨퍼런스 세션 진행 중에 통화를 종료하려는 참가자들로부터 통화 종료를 요청받으면 통화 종료된 것을 상기 종료하려는 참가자에게 알리며, 상기 참가자와 연결되어 있던 음성 채널을 종료하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  13. 제1항에 있어서,
    상기 개설된 컨퍼런스에 대한 정보를 확인하기 위한 SIP 시그날의 OPTION 메시지가 수신되면 그 메시지에 대한 응답 메시지에 현재 참가자가 있는 컨퍼런스 아이디 목록, 컨퍼런스 세션 시작 시각, 개설자 아이디, 인증여부, 음성 데이터를 디코딩 또는 인코딩하는 코덱의 종류, 해당 컨퍼런스 세션에 대한 추가적인 정보를 담고 있는 HTTP 컨퍼런스 아이디를 포함하는 정보를 실어서 전달하는 것을 특징으 로 하는 컨퍼런스 서비스 제공 방법.
  14. 제1항에 있어서,
    상기 (d) 단계는,
    (d1) 상기 참가할 것을 응답한 각 참가자로부터의 음성 데이터를 수신하여 참가자별로 수신한 순서대로 디코딩하는 단계;
    (d2) 상기 디코딩한 음성 데이터를 합치는 단계;
    (d3) 상기 합친 음성 데이터를 상기 각 참가자 모두에게 전송하기 위해 각 참가자의 수만큼 분기하는 단계;
    (d4) 상기 각 분기된 합쳐진 음성 데이터에서 상기 (d1) 단계에서 각 참가자별로 수신하여 디코딩된 음성 데이터는 제거하는 단계;
    (d5) 상기 (d4)에서 삭제되어 남은 음성 데이터를 인코딩하여 각 참가자별로 전송하는 단계;를 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  15. 제14항에 있어서,
    상기 (d1) 및 (d5) 단계에서의 음성 데이터 수신 및 전송은 RTP(Real-time Transport Protocol)에 따른 것임을 특징으로 하는 컨퍼런스 서비스 제공 방법.
  16. 컨퍼런스 개설자로부터 컨퍼런스용 아이디 발급 신청을 받아 컨퍼런스를 위한 아이디를 발급하는 컨퍼런스 아이디 발급부;
    상기 컨퍼런스 개설자로부터 상기 아이디가 발급된 컨퍼런스에 참석할 참가자를 지정받아 상기 지정된 참가자들에게 컨퍼런스 참석을 요청하며, 그에 대한 응답을 받아서 양방향 음성 채널을 생성을 요청하는 시그날링 관리부; 및
    상기 관리부의 요청에 따라 상기 참가자들과의 음성 채널을 입력된 시각별로 생성하며, 참가할 것을 응답한 참가자들로부터의 음성 데이터를 합치고, 합친 음성 데이터에서 음성 데이터를 송신한 각 참가자에 대응하는 음성 데이터를 제거하여 각 참가자들의 단말로 전달하는 미디어 제어부;를 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공 장치.
  17. (a) 컨퍼런스를 개설한 개설자의 단말 및 상기 컨퍼런스에 참석할 참가자의 단말들에 접속하는 정보를 입력받아 상기 개설자의 단말 및 상기 참가자의 단말인 사용자 단말들과 양방향 음성 채널을 생성하는 단계;
    (b) 상기 사용자 단말들로부터 입력되는 음성 데이터를 수신하여 각 단말별로 음성 데이터를 디코딩하는 단계;
    (c) 상기 디코딩한 음성 데이터를 수신한 시각별로 합치는 단계;
    (d) 상기 합쳐진 음성 데이터를 각 사용자 단말별로 분기시키는 단계;
    (e) 상기 각 사용자 단말별로 분기된 음성 데이터에서 대응되는 사용자 단말에서 수신한 음성 데이터에 대응하는 음성 데이터를 제거하는 단계;
    (f) 상기 (e) 단계에서 제거되어 남은 음성 데이터를 인코딩하는 단계; 및
    (g) 상기 인코딩된 음성 데이터를 각 사용자 단말별로 전송하는 단계;를 포 함하는 것을 특징으로 하는 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 방법.
  18. 컨퍼런스를 개설한 개설자의 단말 및 상기 컨퍼런스에 참석할 참가자의 단말들에 접속하는 정보를 입력받는 단말정보입력부;
    상기 입력받은 개설자의 단말 및 상기 참가자의 단말인 사용자 단말들과 양방향 음성 채널을 생성하는 채널 생성부;
    상기 사용자 단말들로부터 입력되는 음성 데이터를 각 사용자 단말별로 입력받는 수신버퍼;
    상기 각 수신버퍼로 입력된 음성 데이터를 디코딩하는 디코딩부;
    상기 디코딩된 데이터를 각 사용자 단말별로 저장하는 음성 수신 버퍼;
    상기 음성 수신 버퍼에 저장된 음성 데이터를 수신한 시각별로 합치는 믹싱부;
    각 사용자 단말 개수에 대응하여 상기 합쳐진 음성 데이터를 분기시키는 데이터 분기부;
    상기 분기된 각 음성 데이터에서 상기 음성 데이터 버퍼에 저장된 각 사용자 단말별 음성 데이터에 대응하는 송신자 음성 데이터를 제거하는 송신자음성제거부;
    상기 송신자 음성이 제거된 합쳐진 음성 데이터를 인코딩하는 인코딩부; 및
    상기 인코딩된 데이터를 저장하여 소정의 절차에 따라 대응되는 사용자 단말들로 전송하는 송신 버퍼;를 포함하는 것을 특징으로 하는 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 장치.
  19. 제18항에 있어서,
    상기 채널 생성부가 생성하는 양방향 음성 채널은 각 사용자 단말과 상기 장치간의 피어 투 피어의 채널임을 특징으로 하는 컨퍼런스 서비스 제공을 위한 음성 데이터 제공 장치.
KR1020050069078A 2005-07-28 2005-07-28 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스제공을 위한 음성 데이터 제공 방법 및 그 장치 KR100701125B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050069078A KR100701125B1 (ko) 2005-07-28 2005-07-28 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스제공을 위한 음성 데이터 제공 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050069078A KR100701125B1 (ko) 2005-07-28 2005-07-28 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스제공을 위한 음성 데이터 제공 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20070033057A KR20070033057A (ko) 2007-03-26
KR100701125B1 true KR100701125B1 (ko) 2007-03-28

Family

ID=41560635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050069078A KR100701125B1 (ko) 2005-07-28 2005-07-28 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스제공을 위한 음성 데이터 제공 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100701125B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8184790B2 (en) * 2008-09-09 2012-05-22 Avaya Inc. Notification of dropped audio in a teleconference call
KR101484725B1 (ko) * 2008-10-27 2015-01-20 삼성전자주식회사 이동통신시스템에서 다자간 통화 서비스를 제공하기 위한 장치 및 방법
KR101010187B1 (ko) * 2009-02-04 2011-01-21 유승선 아이피 사설교환기에서 온라인회의를 제공하는 방법, 그를 위한 아이피 사설교환기, 그를 적용한 온라인회의 분산처리방법 및 그 시스템
KR101110055B1 (ko) * 2009-03-23 2012-02-24 콜투게더 주식회사 회의 참여를 위한 인증 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990016458A (ko) * 1997-08-14 1999-03-05 구자홍 컴퓨터-전화 통합 시스템 및 그를 이용한 중계방법
US20020126626A1 (en) 2001-02-28 2002-09-12 The Trustees Of Columbia University In The City Of New York System and method for conferencing in inter/intranet telephony
KR20030021222A (ko) * 2003-02-19 2003-03-12 주식회사 시스캠퍼스 에스아이피를 이용한 화상회의 제어 시스템
JP2004312738A (ja) 2003-04-01 2004-11-04 Lucent Technol Inc ネットワーク・リソースの最適化による、エンド・ユーザの要求に応じた会議運営のための迅速なネットワークsip/sdp手順

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990016458A (ko) * 1997-08-14 1999-03-05 구자홍 컴퓨터-전화 통합 시스템 및 그를 이용한 중계방법
US20020126626A1 (en) 2001-02-28 2002-09-12 The Trustees Of Columbia University In The City Of New York System and method for conferencing in inter/intranet telephony
KR20030021222A (ko) * 2003-02-19 2003-03-12 주식회사 시스캠퍼스 에스아이피를 이용한 화상회의 제어 시스템
JP2004312738A (ja) 2003-04-01 2004-11-04 Lucent Technol Inc ネットワーク・リソースの最適化による、エンド・ユーザの要求に応じた会議運営のための迅速なネットワークsip/sdp手順

Also Published As

Publication number Publication date
KR20070033057A (ko) 2007-03-26

Similar Documents

Publication Publication Date Title
US7127487B1 (en) System and method for sidebar functionality in a regular conference system
TWI239172B (en) Method and system for group communications
US9654642B2 (en) Conferencing system
US9106716B2 (en) Method, apparatus, and system for cross-platform conference convergence
US20030014488A1 (en) System and method for enabling multimedia conferencing services on a real-time communications platform
CN101360091B (zh) 一种实现会话初始协议终端入会的装置、系统和方法
Mahy et al. A Call Control and Multi-party usage framework for the Session Initiation Protocol (SIP)
US8379544B2 (en) Communications
CN1985489A (zh) 在多媒体通信系统中提供不同服务的方法和装置
KR20090001698A (ko) Sip 기반의 컨퍼런스 서비스 제공 시스템 및 방법
WO2011109972A1 (zh) 一种多媒体会议的实现方法和系统
WO2011017889A1 (zh) 一种多媒体会议的实现方法及系统
WO2010102588A1 (zh) 一种多媒体会议控制方法和系统
Van Dyke et al. Media server control markup language (MSCML) and protocol
KR100701125B1 (ko) 컨퍼런스 서비스 제공 방법과 그 장치, 컨퍼런스 서비스제공을 위한 음성 데이터 제공 방법 및 그 장치
KR100682374B1 (ko) 화상 통화 중 대체 멀티미디어 콘텐츠 제공 방법 및 그시스템
KR20120082870A (ko) 자동화된 세션 허가
JP2011517175A (ja) 通信フロー混合ポリシーによる会議の確立
US20070165814A1 (en) Method and a system for providing ringback information
Van Dyke et al. RFC 4722: Media Server Control Markup Language (MSCML) and Protocol
Taha Architecture for a SIP-based conferencing server
Van Dyke et al. RFC 5022: Media Server Control Markup Language (MSCML) and Protocol
Spitzer Network Working Group J. Van Dyke Request for Comments: 5022 Cantata Technology, Inc. Obsoletes: 4722 E. Burger, Ed. Category: Informational BEA Systems, Inc.
Rosenberg et al. Internet Engineering Task Force (IETF) R. Mahy Request for Comments: 5850 Unaffiliated Category: Informational R. Sparks
Chand NIST VoIP Server on SIP Platform

Legal Events

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

Payment date: 20091228

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee