KR101421144B1 - Urc 환경에서의 음성 통화 방법 및 시스템 - Google Patents

Urc 환경에서의 음성 통화 방법 및 시스템 Download PDF

Info

Publication number
KR101421144B1
KR101421144B1 KR1020070113935A KR20070113935A KR101421144B1 KR 101421144 B1 KR101421144 B1 KR 101421144B1 KR 1020070113935 A KR1020070113935 A KR 1020070113935A KR 20070113935 A KR20070113935 A KR 20070113935A KR 101421144 B1 KR101421144 B1 KR 101421144B1
Authority
KR
South Korea
Prior art keywords
terminal
robot
call
remote terminal
server
Prior art date
Application number
KR1020070113935A
Other languages
English (en)
Other versions
KR20090047865A (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 KR1020070113935A priority Critical patent/KR101421144B1/ko
Priority to US12/266,720 priority patent/US8457111B2/en
Publication of KR20090047865A publication Critical patent/KR20090047865A/ko
Application granted granted Critical
Publication of KR101421144B1 publication Critical patent/KR101421144B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M11/00Telephonic communication systems specially adapted for combination with other electrical systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 URC 환경에서의 음성 통화 시스템 및 방법에 관한 것이다. 상세하게는 URC 환경에서 사설 아이피 또는 공인 아이피(사설 아이피 대 사설 아이피, 공인 아이피 대 공인 공인 아이피, 사설 아이피 대 공인 아이피 등의 환경에서 통화 가능)를 가지는 단말기 사이에서 음성 통화를 가능하게 해주는 시스템 및 방법에 관한 것이다. 특히, 본 발명은 URC 환경에서 통화를 하는 단말기 중 적어도 하나의 단말기가 사설 아이피를 가지는 경우에 음성 통화를 위해서 스턴서버의 기능과 음성 통화의 세션을 관리하는 콜 서버를 포함하는 것을 특징으로 한다.
Figure R1020070113935
URC, STUN, 음성통화, NAT, Hole Punching, 홀 펀칭

Description

URC 환경에서의 음성 통화 방법 및 시스템{METHOD AND SYSTEM FOR VOICE CALL IN URC ENVIROMENT}
본 발명은 URC(Ubiquitous Robotic Companion) 환경에서의 음성 통화 방법 및 시스템에 관한 것으로서 특히, URC 환경에 있는 단말기 간의 음성 통화 채널을 형성하는데 있어서 사용자 데이터그램 프로토콜(User Datagram Protocol: 이하 UDP)을 사용하며, 네트웍 주소 변환기(Network Address Translation: 이하 NAT)를 통해 사설 아이피(Private IP)를 공인 아이피(Public IP)로 변환하는 환경에서의 음성 통화 방법 및 시스템에 관한 것이다.
URC 환경은 언제 어디서나, 나와 함께하며, 나에게 필요한 서비스를 이음새 없이 제공하는 지능형 로봇 서비스를 말한다. 이 때 로봇 기능의 대부분을 지능형 로봇 서비스 서버(Ubiquitous Robotic Companion 서버 : 이하 URC 서버)에 분산시켜 로봇 단말기를 일반 사용자가 구입하는데 부담이 없도록 저가화 하고 로봇 서비스를 다양화 하여 현재 휴대폰과 같이 1가구 1인 1로봇 단말기 시대를 앞당기기 위한 상용화 기술 개발을 목표로 하고 있다.
음성 통화 시스템이란 인터넷 망을 이용하여 음성 통화를 가능하게 해주는 시스템을 말한다. 음성 통화는 실시간을 보장하기 위해 사용자 데이터그램 프로토콜(User Datagram Protocol : 이하 UDP) 통신 방식을 사용한다. 하지만 UDP를 사용하여 통신 채널을 형성하기 위해서는 송/수신 단이 모두 Public 환경(단말기들이 공인 아이피를 사용하는 환경)에 있어야 한다. 다시 말해 수신 단이 Private 환경(사설 아이피를 사용하는 환경)에 있다고 가정하면 송신 단은 수신 단의 네트웍 주소 변환기(Network Address Translation : 이하 NAT)의 공인 아이피만을 알고 수신단의 사설 아이피를 알 수 없어 송신 단과 수신 단의 통신 채널 형성이 불가능하다.
종래에는 이러한 문제를 해결하기 위해 라우터(Router)장비의 각 포트에 하나의 사설 아이피를 강제 할당하는 포트 포워딩(Port Forwarding) 방법을 사용하였다. 상기 포트 포워딩 방법은 라우터에서 사설 아이피에 포트를 자율적으로 할당하는 것을 막게 되어 공인 아이피와 해당 단말기에 할당된 포트 번호만 알면 사설 아이피를 사용하는 단말기 간에도 통신 채널을 형성 할 수 있게 해준다.
하지만 포트 포워딩 방식은 포트를 사용하지 않는 동안에도 포트를 점유하게 되어 공유기나 엑세스 포인터(Access Point:이하 AP) 등의 라우터 운용상 비효율적이다. 또한 포트 포워딩 방식을 사용하려면 사설 아이피를 사용하는 단말기의 아이피가 고정되어 있어야 한다. 유동 아이피를 사용하게 되면 아이피가 바뀔 때 마다 단말기와 포트를 매핑한 리스트를 갱신하여야 한다. 따라서 사설 아이피를 가지는 단말기간의 음성 통화 채널을 형성하는데 있어서 포트 포워딩 방법을 사용하지 않고도 자유롭게 통신 채널을 형성할 수 있는 시스템과 방법에 대한 요구가 있다.
상술한 바에 같이 URC 환경에서의 음성 통화 시스템에서 포트 포워딩 방법을 사용하는 것은 포트의 강제 할당에 따른 비효율성, 단말기의 아이피를 고정해야하는 비합리성 등 제한적인 요소가 많이 존재 하였다.
따라서 본 발명은 상기 문제점들을 해결하기 위해 창안된 것으로서, 본 발명의 목적은 URC 환경에서 Public 환경 또는 Private 환경 등 모든 망에서 단말기 간에 음성 통화를 가능하게 하는 URC 환경에서의 음성 통화 방법 및 시스템을 제공하는데 있다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 시스템은 제1엑세스 포인트; 상기 제1엑세스 포인트를 통해 인터넷 망에 연결되는 로봇 단말기; 상기 인터넷 망에 연결되고, 상기 로봇 단말기와 통신 채널을 형성하여 음성 통화를 하는 원격 단말기;상기 로봇 단말기 및 원격 단말기와 인터넷 망을 통해 연결되며, 로봇 단말기와 원격 단말기의 음성 통화 세션 관리하는 콜 서버; 및 상기 로봇 단말기 및 원격 단말기와 인터넷 망을 통해 연결되며, 로봇 단말기와 원격 단말기의 음성 통화 시작과 종료를 관리하는 지능형 로봇 서비스 서버를 포함하되 상기 로봇 단말기 또는 원격 단말기 중 어느 하나는 네트웍 주소 변환기를 통하여 아이피를 할당 받고, 상기 콜 서버는 네트웍 주소 변환기를 사용하는 단말기의 네트웍 주소 변환기의 종류와 포트 매핑 정보를 수집하는 것을 특 징으로 한다.
상기와 같은 목적들을 달성하기 위한 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 방법은 로봇 단말기 및 원격 단말기가 지능형 로봇 서비스 서버에 등록하는 과정; 로봇 단말기 및 원격 단말기가 콜 서버에 등록하는 과정; 상기 원격 단말기가 상기 로봇 단말기에 통화 가능 여부를 묻는 과정; 통화 가능 시 상기 원격 단말기는 상기 콜 서버에 정보 공유를 요청하는 과정; 상기 정보 공유 요청을 받은 상기 콜 서버는 상기 원격 단말기에는 상기 로봇 단말기의 정보를 전송하고, 상기 로봇 단말기에는 상기 원격 단말기의 정보를 전송하는 과정; 및 상기 정보를 전송 받은 로봇 단말기와 원격 단말기 간에 음성 통화 채널을 형성하는 과정을 포함하는 것을 특징으로 한다.
상술한 바와 같이 본 발명에서 제안하는 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 방법 및 시스템은 사설 아이피를 사용하는 단말기에 포트를 강제 할당 함으로서 오는 비효율성과 단말기의 아이피를 고정해야하는 비합리성을 개선할 수 있다.
또한, 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 방법 및 시스템은 단말기가 유동 아이피를 사용하여 아이피가 변경되는 경우 단말기의 아이피에 강제 할당된 포트의 매핑 정보를 바꿔야 하는 불편함을 해결할 수 있다.
이하, 본 발명에 따른 바람직한 실시 예에 대한 동작 원리를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명의 실시 예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
본 발명의 상세한 설명에 앞서, 이하에서는 설명의 편의를 위해 본 발명의 실시 예에 따른 원격 단말기는 사용자에게 편의를 제공하기 위한 단말기로서, 바람직하게는 데스크 탑 PC(Personal Computer), 노트북, 통신 기능이 내장된 이동통신 단말기, 이동 전화기, 개인 정보 단말기(PDA, Personal Digital Assistant), 스마트 폰(Smart Phone), 휴대 인터넷 단말기, HSDPA(High Speed Downlink Packet Access) 단말기, IMT-2000(International Mobile Telecommunication 2000) 단말기, WCDMA(Wideband Code Division Multiple Access), UMTS(Universal Mobile Telecommunication Service) 단말기 및 디지털 방송(Digital Broadcasting) 단말기 등과 같은 모든 정보통신기기 및 멀티미디어 기기와, 그에 대한 응용에도 적용될 수 있음은 자명할 것이다.
이하의 설명에서는 본 발명의 실시 예로 로봇 단말기와 원격 단말기의 음성통화 연결에 대하여 설명하기로 하지만 본 발명이 이에 한정되는 것은 아니다. 다시 말해 URC(Ubiquitous Robotic Companion) 환경에 있는 통신기능을 가지는 모든 단말기들은 본 발명이 제공하는 음성 통화 시스템을 이용하여 상호 간 음성 통화가 가능할 것임은 자명하다 할 것이다.
이하의 설명에서 스턴(STUN)은 네트웍 주소 변환기(Network Address Translation: 이하 NAT)를 사용하는 경우 현재 사용하고 있는 NAT의 종류와 사설 아이피 주소에 할당된 포트 번호 등을 알 수 있게 해주는 알고리즘을 말한다.
도 1은 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 시스템을 개략적으로 나타낸 도면이다.
상기 도 1을 참조 하면, URC 환경에서의 음성 통화 시스템은 지능형 로봇 서비스 서버(Ubiquitous Robotic Companion: 이하 URC 서버,110), 콜 서버(120), 원격 단말기(130), 로봇 단말기(100), 제1AP(Access Point,101) 및 제2AP(102)를 포함한다. 이를 좀 더 상세히 설명하면, 상기 로봇 단말기(100)는 무선 랜 카드를 내장하며 제1AP(101)를 통해 인터넷 망에 접속하여 URC 서버(110) 또는 콜 서버(120)와 통신이 가능하다. 상기 URC 서버(110)와 콜 서버(120)는 제2AP(102)를 통해 원격 단말기(130)와 통신이 가능하다. 상기 원격 단말기(130)와 로봇 단말기(100)는 음성 통화를 위한 채널을 형성하고 상기 채널을 이용하여 통신을 할 수 있다. 이 때, 로봇 단말기와 원격 단말기는 URC 서버와 통신을 위해서 SAM(Service Agent Manager)이 탑재되어야 하며, 콜 서버(Call Server)와 통신을 위해서 콜 클라이언트(Call Client)가 탑재될 수 있다. 상기 로봇 단말기와 원격 단말기에서 SAM은 PLANET이라는 URC 표준 프로토콜을 사용해 URC 서버와 통신이 가능하도록 한다. 반면에 원격 단말기와 로봇 단말기 사이의 음성 통화는 인터넷 망을 이용하여 콜 클라이언트 사이에 UDP 채널을 형성하여 이루어질 수 있다.
상기 원격 단말기(130)는 상술한 바와 같이 PDA, PC 등의 통신기능을 구비한 장치로서 상기 URC 서버(110)에 접속하여 상기 로봇 단말기(100)에 명령을 내리는 것이 가능하다. 상기 원격 단말기(130)는 공인 아이피 또는 사설 아이피를 가질 수있다. 사설 아이피를 사용하는 환경에서는 사설 아이피를 공인 아이피로 변환하는 NAT 장비가 필요하다. 다시 말해서 UDP 통신 채널을 형성하기 위해서는 상대방의 아이피, 포트 정보 및 NAT 종류 등을 알아야 한다.
상기 제1AP(101)는 상기 로봇 단말기(100)가 인터넷 망에 연결 가능하도록 하는 모뎀으로서 Private 환경에 있다면 NAT 기능을 포함 할 수 있다.
상기 제2AP(102)는 상기 원격 단말기(130)가 인터넷 망에 연결 가능하도록 하는 모뎀으로서 Private 환경에 있다면 NAT 기능을 포함 할 수 있다. 상기 원격 단말기가 인터넷에 접속할 수 있는 휴대 인터넷 단말기 또는 이동 통신 단말기라면 제2AP는 생략될 수 있다.
상기 URC서버(110)는 URC 환경에서 모든 서비스에 대한 시작과 종료, 단말기 상태 체크 등의 모든 관리 및 제어를 담당한다. 특히, 본 발명의 실시 예에서는 음성 통화 시스템의 전반적인 동작의 흐름을 제어한다. 상세하게는 로봇 단말기(100) 와 원격 단말기(130)는 부팅이 되면, 상기 URC 서버에 자신의 정보 등록을 요청한다. 이 때 URC 서버(110)는 등록을 요청한 단말기들의 아이디(Identification: 이하 ID), 타입(TYPE), 아이피 주소(이하 IP), 포트(이하 PORT) 등의 정보를 바탕으로 제1리스트를 작성하여 단말기들의 정보를 저장한다. 상기 제1리스트의 예는 하기 <표1>과 같이 나타낼 수 있다.
Figure 112007080344842-pat00001
상기 <표1>에 나타낸 바와 같이 상기 제1리스트는 각 단말기의 ID, TYPE, IP, PORT 정보가 저장되어 있다. 상기 URC 서버(110)는 원격 단말기(130)로부터 통화를 원하는 로봇 단말기(100)의 ID와 TYPE를 받으면 상기 제1리스트에 저장된 해당 로봇 단말기(100)의 정보를 확인하여 통화 가능 여부를 요청하는 메세지를 전송할 수 있다.
상기 <표1>은 본 발명의 실시 예에 따른 설명 및 이해의 편의를 위해 나타낸 하나의 실시 예로, 본 발명의 제1리스트 형식이 <표1>의 형태로 한정되지는 않는다. 따라서 이러한 제1리스트는 다양한 형태로 조합 가능하다.
상기 콜 서버(120)는 NAT를 사용하는 환경에서 단말기의 공인 아이피, NAT의 종류, 단말기에 할당된 포트 정보 등을 제공하는 기능과 음성 통화 세션을 연결 관리하는 역할을 수행한다. 상세하게는 상기 URC 서버(110)와 마찬가지로 원격 단말기(130)와 로봇 단말기(100)는 음성 통화 연결을 위해 콜 서버(120)에 자신들의 ID, TYPE, IP, PORT 정보를 등록해야한다. 이 때 콜 서버(120)는 NAT 장비의 사용 여부를 확인 할 수 있다. 좀 더 상세하게는 설명하면 상기 콜 서버(120)는 패킷이 전송된 곳의 아이피 주소와 전송된 패킷에 있는 포함되어 있는 아이피 주소를 비교하여 NAT 장비의 사용 여부를 알 수 있다. 패킷이 전송된 곳의 아이피 주소와 전송된 패킷에 있는 포함되어 있는 아이피 주소가 동일하다면 단말기는 공인 IP를 사용하는 것이고, 서로 다르다면 단말기는 사설 IP를 사용하는 것으로 판단할 수 있다. 사설 IP를 사용할 경우, 상기 콜 서버(120)는 상기 로봇 단말기(100)에 연결된 제1AP와 원격 단말기(130)에 연결된 제2AP에 STUN 메세지를 전송하여 NAT의 종류와 IP, PORT 정보들을 얻을 수 있다. 이 때 상기 콜 서버(120)는 획득한 각 단말기들의 정보를 토대로 제2리스트를 작성한다. 상기 제2리스트의 예는 하기 <표2>와 같다.
Figure 112007080344842-pat00002
상기 <표2>에 나타낸 바와 같이 상기 제2리스트는 각 단말기의 ID, TYPE, IP, PORT, NAT 종류 등의 정보가 저장될 수 있다. 상기 정보는 원격 단말기(100)에서 통화 요청 시 상대방과 UDP 통신 채널을 획득하기 위해 사용된다. 이 때 UDP 통신 채널을 획득하는 방법은 NAT의 종류에 따라 달라진다. 본 발명의 실시 예는 홀 펀칭(Hole Punching) 기법을 사용하는 것을 대표하여 설명한다.
상기 로봇 단말기(100)는 URC 서버(110)의 제어에 따라 서비스를 제공하는 지능형 로봇이다. 특히, 본 발명의 실시 예에서는 상기 원격 단말기(130)와 음성 통화 채널이 형성되어 통화가 가능한 음성 통화 서비스를 제공한다.
이상에서는 본 발명의 실시 예에 따른 음성 통화 서비스 시스템 장치에 대하여 살펴 보았다. 이하에서는 로봇 단말기(100)와 원격 단말기(130) 사이에 음성 통화를 위한 통신 채널이 형성되는 과정에 대하여 상세히 살펴보기로 한다.
이하에서는 본 발명의 실시 예에서는 원격 단말기(130)에서 로봇 단말기(100)로 통화 요청을 하는 방법을 대표로 설명하기로 한다. 하지만 본 발명이 이에 한정 되지는 않는다는 것은 당업자에 있어 명백할 것이다. 예를 들어 URC 서버를 이용하는 PDA와 PDA 사이에서도 응용될 수 있을 것이다.
도 2는 URC 환경에서의 음성 통화 시스템에서 상기 원격 단말기(130)와 로봇 단말기(100)가 URC 서버(110) 및 콜 서버(120)에 등록하는 과정을 나타내는 순서 흐름도이다.
상기 도 2를 참조하면, 로봇 단말기(100)와 원격 단말기(130)는 전원이 켜지면 S201 단계에서 URC 서버(110)에 등록을 요청한다. 이 때 원격 단말기(130)와 로봇 단말기(100)의 등록 요청 패킷에는 단말기의 ID, TYPE, IP, PORT 정보 등이 포함될 수 있다. URC서버는 단말기들의 등록 요청 메세지를 받으면 S203 단계에서 등록 요청 패킷에 포함된 정보를 바탕으로 제1리스트를 작성하여 등록한다. 제1리스트의 작성이 완료되면 S205 단계에서 등록 성공 메세지를 로봇 단말기(100)와 원격 단말기(130)에 각각 전송한다. 이로써 원격 단말기(130)와 로봇 단말기(100)는 URC 서버(110)에 등록이 완료된다.
상기 URC 서버(110)에 등록이 완료되면 상기 로봇 단말기(100)와 원격 단말기(130)는 S207 단계에서 콜 서버(120)에 자신들의 ID, TYPE, IP, PORT 정보 등을 등록 요청한다. 등록 요청을 받은 상기 콜 서버(120)는 S209 단계에서 로봇 단말기(100)와 원격 단말기(130) 각각에 대하여 NAT 사용 여부를 확인한다. 이 때 NAT의 사용여부를 확인하는 방법은 콜 서버가 등록 요청을 하면서 송신한 패킷에 포함된 IP와 패킷을 전송한 곳의 IP를 비교하여 일치하면 NAT를 사용하지 않았다고 판단하고, 등록 요청 패킷에 포함된 IP와 패킷을 전송한 곳의 IP가 서로 다르다면 NAT를 사용하는 것으로 판단한다.
상기 S209단계에서 NAT를 사용하지 않는다고 판단하면 S215 단계로 진행하여 제2리스트를 작성한다. 상기 S209 단계에서 NAT를 사용하는 것으로 판단되면 상기 콜 서버(120)는 S211 단계에서 로봇단말기(100) 또는 원격 단말기(130) 중 NAT를 사용하는 단말기에 대하여 각각 NAT의 종류를 판별하기 위해 STUN 시작 메세지를 전송한다. 이 때 스턴 시작 메세지는 로봇 단말기(100)에 연결된 제1AP(101) 또는 원격 단말기(130)에 연결된 제2AP(102)에 보내져 AP들의 IP 주소와 NAT의 종류(Full Cone NAT, Restricted Cone NAT, Port Restricted Cone NAT, Symmetric Cone NAT), PORT 정보 등을 요청한다. 다시 말해, S211 단계에서 상기 로봇 단말기(100)와 원격 단말기(130)의 NAT 장비에 스턴 시작 메세지를 전송한다. 스턴 시작 메세지를 전송 받은 로봇 단말기(100) 또는 원격 단말기(130)의 NAT 장비는 S213 단계에서 NAT 종류, IP, PORT 정보 등을 상기 콜 서버(120)에 전송한다.
이로서 상기 콜 서버는 사설 아이피를 가지는 단말기들이 UDP를 이용하여 음성 통화를 하기 위한 모든 정보를 가지게 된다.
S213 단계가 완료되면 상기 콜 서버는 S215 단계로 진행하여 로봇 단말기(100)와 원격 단말기(130)의 IP, PORT, ID, TYPE, NAT 종류 등의 정보를 포함하는 제2리스트를 작성한다. 상기 제2리스트 작성이 완료되면, 등록 성공 메세지는 S217 단계에서 상기 로봇 단말기(100)와 원격 단말기(130)에 각각 전송된다. 이로서 상기 로봇 단말기(100)와 원격 단말기(130)의 콜 서버(120) 등록이 완료된다.
상술한 본 발명의 실시 예에 따른 로봇 단말기(100)와 원격 단말기(130)의 등록 절차는 URC 서버(110)에 등록하고 콜 서버에 등록하는 순서로 설명하였지만 본 발명이 이에 한정되지는 않는다. 즉, 콜 서버(120)에 등록을 하고 URC 서버(110)에 등록하는 것이 가능하고, 동시에 등록하는 것도 가능 할 것이다.
이상에서는 본 발명의 실시 예에 따른 각 단말기들의 URC 서버(110) 및 콜 서버(120)에 등록하는 절차에 대해 살펴 보았다. 이하에서는 본 발명이 실시 예에 따른 음성 통화 연결 절차에 대해서 살펴 보겠다.
도 3은 URC 환경에서의 음성 통화 시스템에서 상기 원격 단말기(130)가 로봇 단말기(100)로 음성 통화를 위한 통화 채널을 형성하는 과정을 나타내는 순서 흐름도이다.
상기 도 3을 참조하면, 상기 원격 단말기(130)는 S301 단계에서 상기 로봇 단말기(100)와 통화를 위해서 상기 URC 서버(110)에 통화 요청 메세지를 전송한다. 이 때 통화 요청 메세지는 통화를 원하는 로봇 단말기(100)의 ID, Type 등이 포함 된다. 통화 요청을 받은 URC 서버(110)는 S302 단계에서 기 작성된 제1리스트를 확인하여 상기 로봇 단말기(100)의 IP와 PORT 정보를 확인한다. 로봇 단말기(100)의 IP와 PORT 정보를 확인하면 S303 단계에서 통화 요청 메세지를 상기 로봇 단말기(100)에 전송한다. 통화 요청을 받은 로봇 단말기(100)는 S305 단계에서 상기 URC 서버(110)에 통화 가능 여부의 응답 메세지를 전송한다. 상기 URC 서버는 S307 단계에서 응답 메세지의 결과에 따라 상기 원격 단말기에 통화 불가 메세지 또는 통화 가능 메세지를 전송한다. URC 서버는 S307 단계에서 통화 불가하다면 S308 단계에서 통화 불가 메세지를 전송한다. 통화 불가능 메세지는 통화 중 음 또는 다른 작업 중임을 알리는 멘트 등이 사용 될 수 있다. 상기 통화 불가능 메세지를 수신하면 원격 단말기는 S309 단계에서 통화 연결 요청을 종료한다.
상기 URC 서버는 S307 단계에서 상기 로봇 단말기(100)로부터 통화 가능 메세지를 수신하면 S309 단계에서 원격 단말기(130)에는 통화가 가능하다는 메세지를 전송하고, 로봇 단말기(100)에는 통화 준비 메세지를 전송한다. 상기 URC 서버로부터 통화 가능 메세지를 받은 원격 단말기(130)는 S311 단계에서 상기 콜 서버(120)에 통화 요청 메세지와 통화를 하고자하는 로봇의 ID와 TYPE을 전송한다.
상기 로봇의 ID와 TYPE 정보를 전송 받은 상기 콜 서버(120)는 S313 단계에서 상기 제2리스트를 확인하여 음성 통화 채널 형성에 필요한 로봇 단말기의 IP, PORT, NAT종류 등을 확인한다. 상기 제2리스트에서 정보를 확인한 콜 서버는 S315 단계에서 원격 단말기(130)에는 로봇 단말기(100)의 정보를 전송하고, 로봇 단말기(100)에는 원격 단말기(130)의 정보를 전송한다. 상대방의 IP와 PORT정보를 전송받은 원격 단말기와 로봇 단말기는 S317 단계에서 음성 통화 채널을 형성한다. 이 때 NAT를 사용하지 않는 Public 환경이라면 음성 통화가 가능할 것이다. 하지만 NAT를 사용하는 Private 환경이라면 상기 S315 단계에서 전송받은 상대 단말기의 정보를 이용하여 UDP 통신 채널을 형성할 수 있다. UDP 통신 채널을 형성하는 기법으로는 홀 펀칭(Hole Punching) 방식이 사용 될 수 있다.
도 1은 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 시스템을 개략적으로 나타내 도면,
도 2는 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 시스템에서 등록 절차를 나타낸 순서 흐름도,
도 3은 본 발명의 실시 예에 따른 URC 환경에서의 음성 통화 시스템에서 통화 절차를 나타낸 순서 흐름도.

Claims (12)

  1. 제1엑세스 포인트;
    상기 제1엑세스 포인트를 통해 인터넷 망에 연결되는 로봇 단말기;
    상기 인터넷 망에 연결되고, 상기 로봇 단말기와 통신 채널을 형성하여 음성 통화를 하는 원격 단말기;
    상기 로봇 단말기 및 원격 단말기와 인터넷 망을 통해 연결되며, 로봇 단말기와 원격 단말기의 음성 통화 세션 관리하는 콜 서버; 및
    상기 로봇 단말기 및 원격 단말기와 인터넷 망을 통해 연결되며, 로봇 단말기와 원격 단말기의 음성 통화 시작과 종료를 관리하는 지능형 로봇 서비스 서버를 포함하되
    상기 로봇 단말기 또는 원격 단말기 중 어느 하나는 네트웍 주소 변환기를 통하여 아이피를 할당 받고, 상기 콜 서버는 네트웍 주소 변환기를 사용하는 단말기의 네트웍 주소 변환기의 종류와 포트 매핑 정보를 수집하는 것을 특징으로 하는 URC 환경에서의 음성 통화 시스템.
  2. 제 1항에 있어서
    상기 지능형 로봇 서비스 서버는
    상기 로봇 단말기 또는 원격 단말기 중 적어도 하나의 아이디, 아이피 주소, 타입, 포트 번호 정보를 포함하는 제1리스트를 포함하는 것을 특징으로 하는 URC 환경에서의 음성 통화 시스템.
  3. 제 1항에 있어서
    상기 콜 서버는
    상기 로봇 단말기 또는 원격 단말기 중 네트웍 주소 변환기를 사용하지 않는 단말기의 아이디, 아이피 주소, 타입, 포트 번호 정보를 포함하는 제2리스트를 포함하는 것을 특징으로 하는 URC 환경에서의 음성 통화 시스템.
  4. 제 1항에 있어서
    상기 콜 서버는
    상기 로봇 단말기 또는 원격 단말기 중 네트웍 주소 변환기를 사용하는 단말기의 아이디, 아이피 주소, 타입, 포트 매핑 정보, 네트웍 주소 변환기의 종류를 포함하는 제2리스트를 포함하는 것을 특징으로 하는 URC 환경에서의 음성 통화 시스템.
  5. 제 1항에 있어서
    상기 로봇 단말기와 원격 단말기의 음성 통화 채널은 홀 펀칭 기법을 이용하여 사용자 데이터그램 프로토콜 기반으로 형성되는 것을 특징으로 하는 URC 환경에서의 음성 통화 시스템.
  6. 로봇 단말기 및 원격 단말기가 지능형 로봇 서비스 서버에 등록하는 과정;
    로봇 단말기 및 원격 단말기가 콜 서버에 등록하는 과정;
    상기 원격 단말기가 상기 로봇 단말기에 통화 가능 여부를 묻는 과정;
    통화 가능 시 상기 원격 단말기는 상기 콜 서버에 정보 공유를 요청하는 과정;
    상기 정보 공유 요청을 받은 상기 콜 서버는 상기 원격 단말기에는 상기 로봇 단말기의 정보를 전송하고, 상기 로봇 단말기에는 상기 원격 단말기의 정보를 전송하는 과정; 및
    상기 정보를 전송 받은 로봇 단말기와 원격 단말기 간에 음성 통화 채널을 형성하는 과정을 포함하는 것을 특징으로 하는 URC 환경에서의 음성 통화 방법.
  7. 제 6항에 있어서
    상기 지능형 로봇 서비스 서버에 등록하는 과정은
    상기 로봇 단말기 또는 원격 단말기의 아이디, 아이피 주소, 타입, 포트 번호 정보를 포함하는 제1리스트를 작성하는 과정을 포함하는 것을 특징으로 하는 URC환경에서 음성 통화 방법.
  8. 제 6항에 있어서
    상기 콜 서버에 등록하는 과정은
    상기 로봇 단말기 및 원격 단말기 중 적어도 어느 하나가 네트웍 주소 변환 기를 사용하는지 여부를 확인하는 과정을 포함하는 것을 특징으로 하는 URC 환경에서의 음성 통화 방법.
  9. 제 8항에 있어서
    상기 콜 서버에 등록하는 과정은
    상기 로봇 단말기 또는 원격 단말기 중 네트웍 주소 변환기를 사용하는 단말기의 네트웍 주소 변환기의 종류와 포트 매핑 정보를 확인하는 과정을 포함하는 것을 특징으로 하는 URC 환경에서의 음성 통화 방법.
  10. 제 8항에 있어서
    상기 콜 서버에 등록하는 과정은
    상기 로봇 단말기 또는 원격 단말기 중 네트웍 주소 변환기를 사용하지 않는 단말기의 아이디, 아이피 주소, 타입, 포트 번호 정보를 포함하는 제2리스트를 작성하는 과정을 포함하는 것을 특징으로 하는 URC 환경에서 음성 통화 방법.
  11. 제 8항에 있어서
    상기 콜 서버에 등록하는 과정은
    상기 로봇 단말기 또는 원격 단말기 중 네트웍 주소 변환기를 사용하는 단말기의 아이디, 아이피 주소, 타입, 포트 매핑 정보, 네트웍 주소 변환기의 종류를 포함하는 제2리스트를 작성하는 과정을 포함하는 것을 특징으로 하는 URC 환경에서 음성 통화 방법.
  12. 제 6항에 있어서
    상기 음성 통화 채널 형성 과정은
    상기 로봇 단말기와 원격 단말기 간 홀 펀칭 기법을 이용하여 사용자 데이터그램 기반으로 형성되는 것을 특징으로 하는 URC 환경에서의 음성 통화 방법.
KR1020070113935A 2007-11-08 2007-11-08 Urc 환경에서의 음성 통화 방법 및 시스템 KR101421144B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020070113935A KR101421144B1 (ko) 2007-11-08 2007-11-08 Urc 환경에서의 음성 통화 방법 및 시스템
US12/266,720 US8457111B2 (en) 2007-11-08 2008-11-07 Voice communication method and system in ubiquitous robotic companion environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070113935A KR101421144B1 (ko) 2007-11-08 2007-11-08 Urc 환경에서의 음성 통화 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20090047865A KR20090047865A (ko) 2009-05-13
KR101421144B1 true KR101421144B1 (ko) 2014-07-18

Family

ID=40623652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070113935A KR101421144B1 (ko) 2007-11-08 2007-11-08 Urc 환경에서의 음성 통화 방법 및 시스템

Country Status (2)

Country Link
US (1) US8457111B2 (ko)
KR (1) KR101421144B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662602B1 (ko) 2015-05-19 2016-10-14 (주)유미테크 소사업자용 마이크로 서버 관리 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011109678A1 (de) * 2011-08-08 2013-02-14 Rwe Effizienz Gmbh Kommunikationssystem
CN102332999B (zh) * 2011-10-31 2013-12-25 迈普通信技术股份有限公司 一种基于共享nat的网络管理交互系统及交互方法
CN102769679B (zh) * 2012-08-01 2015-06-03 深信服网络科技(深圳)有限公司 Nat后的ip地址溯源方法及装置
CN107135144A (zh) * 2017-04-06 2017-09-05 厦门快商通科技股份有限公司 家庭服务机器人的消息提醒系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011024A (ko) * 2002-07-26 2004-02-05 모스트아이텍 주식회사 다기능 홈 로봇
KR20060063573A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 분산구조를 가지는 네트워크 로봇의 제어 장치
KR20070055456A (ko) * 2007-05-03 2007-05-30 주식회사 화인티앤에스 서비스 로봇을 단말기로 한 원격 화상통신시스템 및 그방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006071062A1 (en) * 2004-12-30 2006-07-06 Samsung Electronics Co., Ltd. A terminal data format and a communication control system and method using the terminal data format
US7222000B2 (en) * 2005-01-18 2007-05-22 Intouch Technologies, Inc. Mobile videoconferencing platform with automatic shut-off features
ATE524784T1 (de) * 2005-09-30 2011-09-15 Irobot Corp Begleitroboter für persönliche interaktion
US7835821B2 (en) * 2005-11-17 2010-11-16 Electronics And Telecommunications Research Institute Robot server for controlling robot, system having the same for providing content, and method thereof
US8265793B2 (en) * 2007-03-20 2012-09-11 Irobot Corporation Mobile robot for telecommunication

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040011024A (ko) * 2002-07-26 2004-02-05 모스트아이텍 주식회사 다기능 홈 로봇
KR20060063573A (ko) * 2004-12-07 2006-06-12 한국전자통신연구원 분산구조를 가지는 네트워크 로봇의 제어 장치
KR20070055456A (ko) * 2007-05-03 2007-05-30 주식회사 화인티앤에스 서비스 로봇을 단말기로 한 원격 화상통신시스템 및 그방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101662602B1 (ko) 2015-05-19 2016-10-14 (주)유미테크 소사업자용 마이크로 서버 관리 시스템

Also Published As

Publication number Publication date
US8457111B2 (en) 2013-06-04
US20090122790A1 (en) 2009-05-14
KR20090047865A (ko) 2009-05-13

Similar Documents

Publication Publication Date Title
JP3576906B2 (ja) インターネット網に接続可能な電話通信装置と主電話制御装置とipアドレスを管理する方法
JP4252771B2 (ja) 無線端末、無線端末管理装置及び位置登録補助装置
US8374187B2 (en) Method and system for localising users for services based on SIP or H.323 protocols with dynamic IP address allocation
US7711094B1 (en) E911 location server
US20050185672A1 (en) IPv6/IPv4 translator
KR101421144B1 (ko) Urc 환경에서의 음성 통화 방법 및 시스템
EP1465381A2 (en) Program, method and apparatus providing mobility of voice over IP terminals
WO2001076154A2 (en) Ad-hoc network and gateway
CN105637913B (zh) 在通信系统中提供推送服务的方法和装置
WO2004019520A1 (ja) 位置管理サーバおよび移動通信システム
US7023847B2 (en) Network address translation based mobility management
EP4175221A1 (en) Method for accessing network, media gateway, electronic device, and storage medium
KR101907933B1 (ko) 사용자 맞춤형 가상 네트워크 및 그것의 구축 방법
KR101547552B1 (ko) 이동단말과 인터넷전화기 간의 데이터 동기화 방법 및 시스템
KR20030081825A (ko) 모바일 네트워크에서 nat를 이용한 모바일 ip 처리방법 및 그 장치
US9705794B2 (en) Discovery of network address allocations and translations in wireless communication systems
KR100914036B1 (ko) Ip주소가 할당되지 않은 호스트에 착신서비스가가능하도록 하는 ip주소 동적할당 장치 및 방법
KR20020040102A (ko) 사설망 호스트에 서비스 서버 기능을 부여하는 장치 및 방법
JP2002009846A (ja) マルチメディアプロキシサーバを用いた通信システム
KR20050042581A (ko) 사설 ip를 사용하는 통신 단말장치의 udp패킷 통신방법 및 시스템
JP2007068034A (ja) 通信端末装置、通信中継装置及びパケット通信方法
KR20170084626A (ko) 멀티스크린 제공을 위한 스크린 장치와 네트워크 주소 변환기 및 네트워크 주소변환 방법
JP2004228736A (ja) データ通信システム
JP2002208940A (ja) Ip通信システム、ip通信方法及び携帯端末
JP2003324487A (ja) ネットワーク電話伝送パケット処理のシステム及びその方法

Legal Events

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

Payment date: 20170629

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190627

Year of fee payment: 6