KR102475020B1 - 실시간 통신의 미디어 경로 설정 - Google Patents
실시간 통신의 미디어 경로 설정 Download PDFInfo
- Publication number
- KR102475020B1 KR102475020B1 KR1020177033730A KR20177033730A KR102475020B1 KR 102475020 B1 KR102475020 B1 KR 102475020B1 KR 1020177033730 A KR1020177033730 A KR 1020177033730A KR 20177033730 A KR20177033730 A KR 20177033730A KR 102475020 B1 KR102475020 B1 KR 102475020B1
- Authority
- KR
- South Korea
- Prior art keywords
- media
- server
- rtc
- endpoint
- rtc device
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/1046—Call controllers; Call servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0066—Details of access arrangements to the networks
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은 중간자 공격들에 대해 보호되는 지문을 이용하는 서비스에서 미디어 트래픽의 인터셉션 및 해독을 위해 그리고 게이트웨이들과 통합되는 서버들에 의해 상호연결되는 상이한 네트워크 세그먼트들에서 엔드포인트들 사이에 직접 미디어 경로를 설정하기 위해, 네트워크의 서버가 네트워크의 액세스 포인트들로부터 클라이언트에 의해 어드레싱될 수 있는 통신 네트워크에서 콜들의 핸드오버를 위한 미디어 스트림들을 설정 또는 재설정하는 것에 관한 것이다.
Description
관련 출원들에 대한 교차 참조
본 출원은 2015 년 5 월 5 일에 출원된 미국 가출원 일련 번호 제 62/157,359 호를 기반으로 하고 이에 대한 우선권의 이익을 주장하며, 그 개시는 그 전체가 본원에 참조로 통합된다.
1. 기술분야
본 방법, 원격통신 장치, 시스템 또는 소프트웨어 모듈은 일반적으로 원격통신의 분야에 관한 것이다.
2. 관련 기술의 설명
현재 글로벌 전화 네트워크, 즉 PSTN(Public Switched Telephone Network)은 제한된 대역폭(오직 3.5 kHz)의 음성 통신을 위해 구축된다. 광대역 네트워크들, 예를 들어 인터넷은 또한 실시간 개인 대 개인 통신, 예를 들어 종종 VoIP(Voice over Internet Protocol)로 칭하여지는 음성 통신을 위해 사용될 수 있다. 인터넷은 데이터 콘텐츠 또는 응용에 관계없이, 엔드포인트들(endpoints) 사이에 데이터를 전송하고 따라서 전송 네트워크로 칭하여진다.
VoIP, 또는 더 일반적으로 실시간 통신(Real Time Communication(RTC))은 또한 일반 구형 전화 서비스(Plain Old Telephony Service(POTS))를 넘어서는 멀티미디어 통신, 예를 들어 비디오, 프리젠스 및 인스턴트 메시징을 위해 사용된다. 종종 인터넷 엔지니어링 태스크 포스(Internet Engineering Task Force(IETF))에 의해 정의되는, RTC 에 대한 표준들 및 규범들이 있다.
세션 개시 프로토콜(Session Initiation Protocol(SIP), RFC 3261)은 RTC 에 대해 널리 사용되는 프로토콜이다. RFC 들(Request For Comments)은 IETF 에 의해 정의되는 인터넷 표준들이다. 웹 실시간 통신(Web Real-Time Communication(WebRTC))은 IETF 및 월드 와이드 웹 컨소시엄(World Wide Web Consortium(W3C))에 의한 개발 및 표준화 하에 웹브라우저들 안에 내장된 RTC 이다
RTC 프로토콜들은 엔드포인트 장치들 사이에서, 음성 및 비디오와 같은 미디어 스트림들을 설정하기 위해 사용되며, 종종 전화와 같은(telephony-like) 기능들 및 서비스들을 제공한다. 그들은 종종 콜 설정 절차를 정의하며, 이는 콜이 개시되고, 수행되고, 완료되는 방법이다.
데이터 통신 네트워크는 전형적으로 데이터의 패킷들을 패킷들의 어드레스에 의해 지정되는 목적지들로 전송하는, 인터넷과 같은 패킷 스위치 네트워크이다. 패킷들은 전형적으로 그것이 송신된 소스 어드레스를 또한 포함한다. 데이터 패킷들은 요청들, 응답들을 포함하는 메시지들이거나, 문서들, 파일들을 나타내는 데이터이거나 영화들 및 음성과 같은 미디어일 수 있고 엔드포인트들 사이에서 교환된다.
데이터 통신 네트워크는 또한 네트워크 어드레스 변환기(Network Address Translator(NAT)) 또는 방화벽을 통해 글로벌 네트워크와 통신하는 사설 세그먼트들, 인트라넷들, 또는 근거리 통신망들(Local Area Networks(LANs))을 포함할 수 있으며, 이는 종종 결합되고 NAT 또는 방화벽 또는 때때로 액세스 라우터로 단지 칭하여진다.
패킷 교환 네트워크에서, 트래픽은 송신되고 수신되는 데이터 패킷들이다.
실시간 트래픽은 음성 또는 비디오와 같은 다른 미디어의 스트림들이다. 이와 같은 미디어 스트림들은 네트워크를 통한 전화와 같은 서비스들 또는 콜들에 의해 사용된다.
미디어 경로는 네트워크를 통해 이와 같은 미디어 스트림을 전송하며, 이는 상이한 유형들의 수개의 네트워크 세그먼트들로 구성될 수 있다.
다양한 장치들, 클라이언트들 및 서버들과 같은 엔드포인트들은 이더넷, WiFi 또는 LTE 무선 인터페이스들과 같은 하나 또는 수개의 네트워크 인터페이스들을 가지며, 이러한 네트워크 인터페이스(들)을 이용하여 엔트포인트들은 네트워크 액세스 포인트들에 연결된다.
네트워크의 어드레스는 (IPv4 또는 IPv6 어드레스와 같은) 번호 또는 정규화된 도메인 네임(Fully Qualified Domain Name(FQDN))과 같은 기호 어드레스일 수 있으며, 네트워크의 어드레스는, 예를 들어, 도메인 네임 시스템(Domain Name System(DNS)) 서비스에 의해, 번호 어드레스로 변환된다.
이와 같은 어드레스들은 또한 위에서 예시된 어드레스 유형들(예를 들어 지정된 포트 132.64.75.1:1234 를 갖는 IPv4 어드레스)에 대한 확장으로 사용되거나 단순히 사용된 프로토콜을 나타내기 위해, 포트 번호들에 의해 더 지정될 수 있으며, 이는 이러한 맥락에서 일반적으로 네트워크 어드레스의 하나의 형태일 수 있다.
다양한 장치들, 클라이언트들 및 서버들과 같은 엔드포인트들은 네트워크에서 하나 또는 수개의 어드레스들을 가지며, 여기서 엔트포인트들은 트래픽을 송신하거나 수신할 수 있다. 전형적으로, 엔드포인트에 대한 어드레스는 엔드포인트의 네트워크 인터페이스 및 네트워크의 액세스 포인트에 의존한다.
서버는 클라이언트들에 의해 액세스되는 네트워크 장치이다. 클라이언트는 컴퓨터 상의 프로그램이거나 네트워크에 연결되는 장치일 수 있다.
응용 서버는 서비스 또는 기능을 사용자들에게 제공하는 서버이다.
네트워크 액세스 포인트들은 상이한 위치들을 갖고 이더넷, ADSL 모뎀들, 케이블 모뎀들, 파이버와 같은 상이한 고정 액세스 기술들 및 WiFi, 3G, 4G, LTE 및 그 이상과 같은 다양한 무선 및 이동 기술들을 사용할 수 있다.
공용 인터넷 및 사설 인트라넷들 또는 LAN 들과 같은 일반적인 네트워크 세그먼트들에 더하여, 일반적인 데이터 트래픽이 아닌, 음성용 및 혹은 비디오용 시그널링 및 미디어를 반송하는 응용 특정 네트워크 세그먼트들, 예를 들어 전화 유형의 네트워크들이 있다. VoIP(Voice over IP)는 인터넷과 같은 일반적인 데이터 네트워크 또는 모바일 세상에서 칭하여지는 바와 같은 OTT(Over The Top)을 통하거나, IP 네트워크들을 사용하는 VoLTE(Voice over LTE)와 같은 응용 특정 네트워크 세그먼트를 통할 수 있다.
시그널링은 전형적으로 네트워크 세그먼트들을 통한 엔드포인트들, 프록시들 및 서버들 사이의 시그널링 채널들 내의 메시지들이다. 시그널링 채널을 통한 시그널링은 예를 들어, 무선 커버리지를 잃거나, 장치의 인터페이스를 변경하거나 네트워크 세그먼트의 액세스 포인트를 변경하는 경우 중단될 수 있지만, 그 이후에 시그널링 연결을 재설정하기 위해 복구될 수 있다.
방화벽들 및 NAT 들은 전형적으로 실시간 통신을 차단하며, 이는 사설 네트워크의 엣지에서 SBC 들(Session Border Controllers)에 의해 또는 예를 들어 STUN(Session Traversal Utilities for NAT, RFC 5389), TURN(Traversal Using Relays around NAT, RFC 5766) 및 ICE(Interactive Connectivity Establishment, RFC 5245)와 같은 방법들 또는 프로토콜들에 의해 해결되는 이슈이다.
TURN 서버는 2 개의 네트워크 어드레스들 사이에서 트래픽을 중계하고 중계 서버의 일 예이다. TURN 서버는 RTC 엔드포인트에 의해 검색될 수 있고, 그리고 봉인된 네트워크 세그먼트의 경우 봉인된 네트워크 세그먼트 외부에서 RTC 미디어 트래픽용으로 사용되어야 한다.
SBC 들은 또한 VoIP 및 RTC 에 대한 보안 및 상호운용성 기능들을 구현하고 종종 인터넷 전화 서비스 공급자(Internet Telephony Service Provider's(ITSP's))의 VoIP 서비스들을 또한 SIP 트렁킹으로 칭하여지는 IP-PBX 들에 연결하기 위해 사용된다.
IP-PBX 는 인터넷 프로토콜(Internet Protocol(IP)) 구내 교환기(Private Branch eXchange(PBX))이다.
콜센터들(Call centers)은 가장 종종 ITSP 의 SIP 트렁크를 통해 콜들을 수신하는 IP-PBXs 또는 통합 통신들(Unified Communications(UC)) 솔루션들을 기반으로 한다. 이들 콜들은 전형적으로 전화 네트워크로부터 수신자 부담 번호들(toll free numbers)(미국 내의 800 번 무료 전화)을 통해 개시된다.
PBX 또는 UC 기능은 대화식 음성 응답(Interactive Voice Response(IVR)), 큐들(Queues), 음성 및 비디오 메일 일 수 있다.
인스턴트 메시징(Instant Messaging(IM)), 프리젠스(presence), 스크린 공유 및 그룹 콜들은 다른 RTC 기능들이다.
프로토콜은 통신의 방법들 및 언어를 정의하는 일련의 규칙들이다.
일 예는 사용할 미디어 및 코덱들이 어느 것이고 미디어가 송신되어야만 하는 장소를 설명하는 세션 기술 프로토콜(Session Description Protocol(SDP), RFC 4566)이다. 이와 같은 실시간 통신은 엔드포인트들 사이에 미디어 통신 세션을 설정하기 위한 엔드포인트의 가용성 및 미디어 수용 능력들로 응답할 수 있는 다른 엔드포인트에 대한 하나의 엔드포인트에 의해 제안된다. 이는 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))이다.
O/A 프로토콜은 전형적으로 미디어 유형들, 예를 들어 사용할 코덱이 어느 것인지를 지정하는 음성 및 비디오를 결정한다.
이와 같은 O/A 프로토콜은 또한 예를 들어 NAT 통과를 위해 ICE 프로토콜에 의해 정의된 바와 같이, 엔드포인트들 사이에 미디어 경로를 설정하는 방법들 및 후보들을 제안할 수 있다.
미디어 경로는 전형적으로 실시간 통신을 위해 설정되는 반면에, 더 넓은 용어인 통신 경로는 미디어를 나타낼 수도 그렇지 않을 수도 있는 데이터를 전송하기 위한 직접 또는 간접 채널을 지칭한다.
미디어 엔드포인트는 네트워크를 통한 미디어 경로가 전형적으로 음성 또는 비디오를 나타내는 실시간 트래픽을 포함하는, 미디어 스트림들이 흐르는 것을 허용하기 위해 결합되는 엔드포인트이다.
다시 설정되는 미디어 엔트포인트들 사이의 설정된 미디어 경로는 재설정된 것으로 칭하여진다.
미디어 엔드포인트는 그것이 서버, 예를 들어 TURN 서버를 통과하거나 통과하지 않고 다른 미디어 엔드포인트에 직접 미디어 경로를 설정할 수 있으면 피어 투 피어 미디어 수용 능력을 갖는다. 상호 피어 투 피어 미디어 수용 능력은 2 개의 엔드포인트들이 호환 가능하고 서로 간에 직접 미디어 경로를 설정할 수 있는 것을 의미한다.
세션 개시 프로토콜(Session Initiation Protocol(SIP))은 사용자들을 발견하고 SIP 클라이언트들, 즉 그들의 실시간 통신 장치들, 예를 들어 하드웨어 SIP 폰들 또는 컴퓨터상의 소프트웨어 응용인 소프트웨어 SIP 폰들 사이에 콜들을 설정하기 위해 사용된다. SIP 는 사용자들을 발견하기 위해 레지스트라(registrar) 및 프록시 서버들을 사용하는 시그널링 프로토콜이고 SIP 클라이언트 엔드포인트들 사이에 미디어 채널을 설정하기 위해 SDP O/A 프로토콜을 더 사용한다. SIP 클라이언트는 전형적으로 사용자들을 SIP 프록시에 인터페이싱하는, SIP 사용자 에이전트를 포함한다.
웹 실시간 통신(Web Real Time Communication(WebRTC))은 그들 사이에 실시간 통신을 허용하기 위해 웹 브라우저들을 확장하기 위한 표준화 하의 일련의 권고안들 및 프로토콜들이다. WebRTC 는 사용자들을 발견하기 위한 시그널링을 지정하지 않지만, SDP O/A 프로토콜을 사용하여, 동일한 웹 서버에 연결되는 웹 브라우저들이 웹 브라우저들 사이에 실시간 통신을 위한 미디어 채널을 설정하는 것을 허용한다. WebRTC 는 WebRTC 미디어 엔드포인트들 사이에 미디어 경로를 설정하기 위해, STUN 및 TURN 을 포함하는 ICE 프로토콜을 사용한다.
따라서, 미디어 엔드포인트들을 포함하는 RTC 장치들은 웹 서버들로부터(HTML 및 Java Script) 프로그램 코드를 검색하는 WebRTC 브라우저들에서 구현될 수 있다.
WebRTC 와 함께, 미디어 스트림들은 DTLS-SRTP 프로토콜을 사용하여 암호화되고 "중간자(man in the middle)" 공격들에 대해 보호된다. 보호는 암호화 키들을 생성하기 위해 사용되는 이외의 다른 채널 또는 경로를 통해 당사자들 사이의 지문들(암호화 키 생성을 위해 사용되는 인증서들의 디지털 서명들)의 교환을 수반한다. 이것은 미디어 트래픽이 미디어 경로 또는 시그널링 경로를 단지 인터셉트함으로써 해독되지 않는다는 것을 의미한다.
웹 브라우저는 월드 와이드 웹(더 웹), 인터넷상의 서비스 또는 웹 서버상에서 구현되는 인트라넷을 액세스하기 위해 컴퓨터들 또는 스마트폰들 상에서 실행되는 프로그램이다.
소프트웨어 응용들은 컴퓨터들 또는 스마트폰들 상에서 실행되는 다른 프로그램들이다.
웹 서버는 전형적으로 자바 스크립트(Java Script)인 프로그램 코드의 실행을 위해 웹브라우저에 전송할 수 있으며, 이는 WebRTC 와 함께 사용되는 기술이다.
하이퍼텍스트 전송 프로토콜(HyperText Transfer Protocol(HTTP)) URL(또는 간단히 "링크")은 웹 리소스를 식별하고 실행 시에 동작(acting)을 지정한다. 예를 들어, URL 은 도메인 네임이 /wiki/Main_Page 앞의 example.org 일 수 있는 서버로부터 관련된 프로그램 코드가 HTTP 를 통해 획득할 수 있는 웹 리소스 /wiki/Main_Page 를 지칭할 수 있다.
WebRTC 브라우저에서 HTTP URL 을 실행하는 것은 어드레싱되는 웹 서버로부터 호출될 콜을 개시할 수 있으며, 이는 최근 생겨난 WebRTC 기술의 유용한 특징이다. 이와 같은 URL 은 전화 번호 및 설정할 콜의 다른 정보, 예를 들어 URL 이 호출을 위해 사용될 수 있는 시간 제한을 포함할 수 있다.
WebRTC HTTP URL 들은 길고 모호할 수 있고 Bitly 가 저장하였던 긴 HTTP URL 을 나타내는 고유한 문자열을 따르는 짧은 도메인 네임 bit.ly 를 사용하여, Bitly 와 같은 링크들을 단축시키는 서비스들이 있으므로, URL 이 웹 브라우저에서 실행되는 경우, URL 은 URL 을 전체 긴 웹 링크로 리디렉션하는 Bitly 로 간다.
이와 같은 WebRTC 클릭 투 콜(click-to-call) 링크는 브라우저에서 클릭되는 경우 호출될 WebRTC 서버에 의해 생성되고 이에 저장될 수 있다. 예를 들어, 고유한 문자열 다음에 이어지는 서버의 도메인 네임으로 구성되는 단축 링크는 WebRTC 브라우저에서 단축 링크를 실행하기 위해 의도되는 사용자에게 전달될 것이다. 시간 제한은 마지막 유효 시간을 암호화하거나 단순히 그것이 유효한 동안에 WebRTC 서버에 링크 변환만을 저장함으로써 구현될 수 있다.
클릭 투 콜 링크들, 또는 이와 같은 링크들을 실행하는 버튼들은 또한 웹 사이트들 상에서 사용될 수 있고 이때 종종 문맥 인식적(context-sensitive)이다. 즉 클릭 투 콜 링크들 또는 이와 같은 링크들을 실행하는 버튼들은 링크를 클릭한 사람, 이루어질 수 있었던 선택들, 그것이 클릭된 시간 및 그것이 클릭된 장소의 정보를 반송할 수 있다.
일부 브라우저들은 WebRTC 를 지원하고, 일부는 그렇지 않으며, 일부는 다른 것들보다 더 잘 지원한다. 따라서, 달리 이용 가능하지 않을 수 있는 WebRTC 기능을 호출하기 위해 WebRTC HTTP URL 링크에서 특정 도메인 네임 확장자, 예를 들어 wrtc in wrtc.company.com 을 정의하고 식별하는 것이 유리할 수 있다.
게이트웨이들은 서비스가 더 많은 사용자들 사이에서 기능하는 것을 허용하기 위해 상이한 네트워크 세그먼트들 또는 프로토콜들 사이에서 변환하도록 사용된다.
클라이언트들은 필요한 경우 클라이언트들의 서버들을 액세스하지만, RTC 클라이언트들, 예를 들어 SIP 또는 WebRTC 클라이언트들은 또한 착신 시그널링을 위해, 착신 콜을 위해 또는 진행중인 콜에 대한 미디어 경로를 재설정하기 위해 RTC 클라이언트들의 서버에 연결을 유지할 필요가 있다.
미디어 엔드포인트는 전형적으로 미디어 트래픽(미디어 스트림)을 반송하는 미디어 경로가 어떤 어드레스들 사이에 설정되어 있는지를 알고 이것에 의해 그것이 특정 어드레스 변경에 의존하는지를 판단할 수 있다.
모바일 장치들인 스마트폰들은 잔여 배터리 시간을 절약하기 위해 사용하지 않을 때 수면 상태로 갈 수 있지만, 종종 중앙 집중식 푸시 알림 서버로부터의 소위 푸시 알림들에 의해, 예를 들어, 메시지를 수신하거나 착신 VoIP 콜을 대해 준비하기 위해 깨워질 수 있다.
VoIP, 소프트클라이언트들, 스마트폰들 및 RTC 와의 확장된 통신 가능성들 및 기능은 RTC 클라이언트들의 그래픽 사용자 인터페이스(Graphical User Interface(GUI))를 중요하게 만들고 있다. GUI 를 향상시키는 하나의 방법은 콜 상태(예를 들어. 유휴, 활성, 그룹 콜, 보류 중, 큐 n, 전송 중, 착신 미응답 콜들 등)에 기초하여 개별 리스트들로 연락처들(contacts)(사람들 또는 사용자들)을 조직하는 것이며, 여기서 각각의 연락처들(리스트 내, 또는 단일)은 현재 이용 가능한 선택들(예를 들어 콜, 행-업, 전달, 보류, 회의 연결, 뮤트/언-뮤트 비디오, 뮤트/언-뮤트 음성, 메시지 송신, 프리젠스 변경 및 또한 가능한 관리 작업들)을 열거하는 확장 가능한 작업 메뉴를 갖는다. 이와 같은 메뉴는 연락처의 라인에서, 스마트폰들에 의해 통상적으로 사용되는 작은 심볼, 예를 들어 3 개의 수직 도트 심볼 또는 메뉴 라인 심볼을 통해 확장될 수 있다.
실시간 미디어 채널에서, 듀얼 톤 멀티 프리퀀시(Dual Tone Multi frequency(DTMF)) 디지트들은 데이터 패킷들에서 오디오 또는 대역외로 인코딩되어 전송될 수 있다. DTMF 정의된 심볼들은 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, #, *, A, B, C 및 D 이다.
요약
현대의 네트워크들 및 원격통신 장치들, 서버들 및 게이트웨이들이 메모리에 결합되는 프로세서들을 가짐에 따라, 전화는 실시간 통신, 즉 RTC 로 발전하고 있고, 콜은 네트워크를 통한 시그널링 채널을 통해 설정되며 그 다음에 음성 또는 비디오와 같은 RTC 미디어 트래픽이 미디어 엔드포인트들 사이에 흐를 수 있는 네트워크를 통한 미디어 경로들의 설정이 이어진다.
일 측면에서, 콜들의 핸드오버는 스마트폰 또는 랩톱 컴퓨터과 같은 RTC 장치가 WiFi, LTE 무선 또는 유선 이더넷과 같은 수개의 네트워크 인터페이스들을 가질 수 있고, RTC 장치가 RTC 장치의 서버에 연결되는 경우 연결 아이덴티티를 생성하고, 그 다음에 시그널링 채널 및 미디어 경로 둘 다를 감시 및 테스트하고, 네트워크에 대한 액세스가 변경되는 경우, 시그널링 채널의 연결을 복구하고 필요한 경우 미디어 경로들을 설정 또는 재설정함으로써 인터넷, 인트라넷들 또는 전화 유형들의 네트워크 세그먼트들과 같은 상이한 네트워크 세그먼트들에서 상이한 액세스 포인트들로부터 네트워크에 액세스할 수 있는 환경에서 구현된다.
다른 측면에서, 미디어 경로들을 재설정하기 위한 필요성은 시그널링 채널 및 미디어 경로를 위해 사용되는 어드레스들의 다양한 변경들에 의해 결정된다.
다른 측면에서, 시그널링 채널을 감시하기 위한 메시지들을 송신하는 빈도는 프로세서 용량 및 전력 소비를 줄이기 위해, 콜이 진행 중인지, 또는 활성으로 유지될 필요가 있는 NAT 또는 방화벽 개방이 있는지 여부에 조정된다.
다른 측면에서, 게이트웨이들은 시그널링 또는 미디어에 관하여 호환되지 않는 엔드포인트들 사이에 콜들을 연결하거나, 시그널링 또는 미디어에 관련하여 호환되지 않는 네트워크 세그먼트들을 통해 콜을 연결하기 위해 형성된다.
다른 측면에서, 미디어 경로들은 감시, 분석 및 기록 목적들을 위해, 프록시 및 미디어 서버를 포함함으로써 인터셉팅 게이트웨이들을 통해 설정되거나 재설정된다.
다른 측면에서, 미디어 경로들은 감시, 분석 및 기록 목적들을 위해, TURN 서버를 포함함으로써 인터셉팅 게이트웨이들을 통해 설정되거나 재설정된다.
다른 측면에서, 상이한 유형들의 네트워크 세그먼트들을 통한 미디어 경로들은 더 풍부한 미디어, 향상된 미디어 품질, 더 낮은 네트워크 부하 또는 더 낮은 비용의 콜들을 위한 직접 미디어 경로(direct media path)를 설정하거나 재설정함으로써 회피된다.
다른 측면에서, 상이한 유형들의 네트워크 세그먼트들을 갖는 네트워크를 통한 통신용 시스템은 2 개 이상의 RTC 장치들을 사용한다.
다른 측면에서, 사용자 에이전트들이 RTC 장치들에 결합되는 네트워크를 통한 통신용 시스템은 서버 또는 상호연결 서버들에서 구현된다.
다른 측면에서, 상호연결 서버들은 SIP 프로토콜을 사용하고 RTC 장치들에 결합되는 SIP 사용자 에이전트들은 RTC 장치들 대신에 서버에서 구현되며, 이는 RTC 장치 자체가 SIP 클라이언트인 경우일 것이다.
다른 측면에서, 게이트웨이를 오프로드하기 위해, 게이트웨이 대신에 게이트웨이의 정의된 프로토콜로부터 벗어남으로써 RTC 장치에서, 엔드포인트들 또는 네트워크 세그먼트들과 호환성을 구현하는 것이다.
일 측면에서, 상이한 유형들의 네트워크 세그먼트들에서 네트워크 액세스 포인트들에 연결되는 상이한 유형들의 하나 이상의 네트워크 인터페이스를 갖는 엔드포인드를 사이에 미디어 경로를 설정하거나 재설정하기 위한 방법은, 콜들의 핸드오버를 구현하기 위해, 제 1 미디어 엔드포인트, 제 2 미디어 엔드포인트 및 서버를 포함하는 실시간 통신 장치(Real Time Communication device)를 제공하는 단계, 서버를 RTC 장치 및 제 2 미디어 엔드포인트가 사용될 네트워크 세그먼트들의 액세스 포인트들로부터 액세스 포인트들에 도달 가능하게 하는 단계, RTC 장치와 서버 사이에서 메시지들을 송신 및 수신하기 위해 일부 네트워크 액세스 포인트에 연결되는 RTC 장치의 적어도 하나의 네트워크 인터페이스를 배열하는 단계, RTC 장치와 제 2 미디어 엔드포인트 사이에 미디어 경로를 설정 및 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))을 사용함으로써 RTC 장치 및 제 2 미디어 엔드포인트가 피어 투 피어 미디어 수용 능력을 갖도록 구성하는 단계, 그 다음, RTC 장치와 서버 사이에 연결을 설정하는 단계 후에, 무응답 연결(non responding connection)이 식별되고 복구되는 것을 허용하기 위해 RTC 장치와 서버 사이에서 공유되는 고유 연결 아이덴티티를 생성하는 단계, 및 서버에 연결하기 위해 RTC 장치에 의해 사용되는 네트워크 액세스 포인트 또는 네트워크 인터페이스가 변경될 수 있거나 미디어 경로를 위해 사용되는 액세스 포인트 또는 네트워크 인터페이스가 콜이 이루어지는 동안에 변경될 수 있는 경우, RTC 장치에 의해, 네트워크 세그먼트들에서 액세스 포인트들로부터 서버에 대한 어드레스를 수집하는 단계에 의해 수행되며, RTC 장치, 제 2 미디어 엔드포인트 및 서버 각각은 메모리 및 메모리에 결합되는 프로세서를 구비한다.
다른 측면에서, RTC 장치는 콜 설정 절차로부터 서버에 대한 하나 이상의 어드레스들을 검색하는 단계, 서버로부터의 메시지의 소스 어드레스로서 서버에 대한 하나 이상의 어드레스들을 검색하는 단계, DNS 또는 서버에 대한 어드레스들의 다른 데이터베이스 룩업을 사용하여, 하나 이상의 어드레스들을 서버에 전달하는 서버로부터의 메시지를 수신하고, 서버에 대한 미리 결정된 어드레스들의 리스트를 저장하는 단계, RTC 장치에 의해, 서버의 어드레스에 메시지들을 반복적으로 송신하고, 응답을 수신하지 않으면, 그 다음, 응답을 수신하고 상기 응답이 수신된 어드레스에 메시지들을 송신하는 것을 지속함으로써 시그널링 연결을 복구할 때까지 상기 서버를 어드레싱하기 위한 다른 수집된 어드레스들을 시도하는 단계, RTC 장치와 서버 사이에 시그널링을 복구하는 단계 이후에, RTC 장치에 의해, RTC 장치와 제 2 미디어 엔드포인트 사이에 미디어 경로를 설정하거나 재설정하기 위해 콜들을 수신하거나 O/A 프로토콜을 사용할 수 있도록 특정 연결을 복구하기 위해 연결 아이덴티티를 서버에 제공하는 단계, RTC 장치에 의해, 미디어 경로가 재설정될 필요가 있는지를 감지하거나 이를 통지받음으로써 미디어 경로 재설정에 대한 필요를 결정하는 단계, 미디어 경로가 설정될 필요가 있으면, RTC 장치에 의해, 서버를 통해 O/A 프로토콜을 사용함으로써, RTC 장치와 제 2 미디어 엔드포인트 사이에 미디어 경로의 재설정을 개시하는 단계 중 하나 이상에 의해 네트워크 세그먼트들에서 액세스 포인트들로부터 서버에 대한 어드레스들을 수집할 수 있다.
다른 측면에서, 상이한 유형들의 네트워크 세그먼트들에서 네트워크 액세스 포인트들에 연결되는 상이한 유형들의 하나 이상의 네트워크 인터페이스를 갖는 엔드포인드를 사이에 미디어 경로를 설정하거나 재설정하기 위한 방법은 RTC 장치에 의해, 서버에 연결하기 위해 사용되는 그것의 어드레스가 변경되었고 미디어 경로가 그러한 변경된 어드레스에 의존한다는 메시지를 검출하거나 이를 서버로부터 통지받는 RTC 장치, 메시지의 목적지 어드레스가 이전 메시지와 비교하여 변경되었고 미디어 경로가 변경된 어드레스에 의존한다는 메시지를 서버로부터 수신하는 RTC 장치, 미디어 경로에 대한 그것의 어드레스가 변경되었다는 것을 검출하는 RTC 장치, 제 2 미디어 엔드포인트에 의해 미디어 경로에 대해 사용되는 어드레스가 변경되었다는 메시지를 서버를 통해 제 2 미디어 엔드포인트로부터 통지받는 RTC 장치, 및 RTC 장치와 제 2 미디어 엔드포인트 사이의 미디어 경로 중 어느 한 방향에서의 트래픽이 중단되었거나 열화되었다는 점을 검출하거나 통지받는 RTC 장치 중 하나 이상에 의한 변경된 어드레스들 또는 미디어 경로 조건들의 이벤트의 발생에 의해 미디어 경로 재설정을 위한 필요를 결정하는 단계를 포함한다.
다른 측면에서, 상이한 유형들의 네트워크 세그먼트들에서 네트워크 액세스 포인트들에 연결되는 상이한 유형들의 하나 이상의 네트워크 인터페이스를 갖는 엔드포인드를 사이에 미디어 경로를 설정하거나 재설정하기 위한 방법은 RTC 장치에 의해, 콜이 진행 중에 있는지, 또는 활성으로 유지될 필요가 있는 NAT 또는 방화벽 개방들이 있는지에 따라 반복적으로 메시지들을 송신하는 빈도를 조정하는 단계를 포함한다.
다른 측면에서, 상이한 유형들의 네트워크 세그먼트들에서 네트워크 액세스 포인트들에 연결되는 상이한 유형들의 하나 이상의 네트워크 인터페이스를 갖는 엔드포인드를 사이에 미디어 경로를 설정하거나 재설정하기 위한 방법은 RTC 장치에 의해 사용되는 프로토콜이 미디어 암호화를 필요로 하고 암호화 키들이 미디어 엔드포인트들에 의해 미디어 경로를 통해 협상되고 시그널링 채널을 통해 서버에서만 이용 가능한 지문을 검사함으로써 중간자 공격들에 대한 보호를 갖는 경우, 시그널링 또는 미디어와 관련하여 RTC 장치와 호환되지 않는 엔드포인트들에 콜들을 연결하거나, 시그널링 또는 미디어와 관련하여 호환되지 않는 네트워크 세그먼트들을 통해 콜들을 연결하기 위한 게이트웨이를 형성하는 서버와 제 2 미디어 엔드포인트를 통합하는 단계를 포함한다.
다른 측면에서, 미디어 트래픽이 감시, 분석 및 기록 목적들을 위해 지문을 사용하여 중간자 공격들에 대해 보호되는, 통신 프로토콜을 사용하여 RTC 장치와 RTC 서비스 사이의 실시간 통신 미디어 트래픽을 인터셉트하고 해독하기 위한 엔드포인트들 사이에 미디어 경로를 설정하는 방법은 제 1 미디어 엔드포인트, 제 2 미디어 엔드포인트, RTC 서버, 인터셉팅 게이트웨이를 포함하는 실시간 통신 장치(Real Time Communication device)를 제공하는 단계, RTC 서비스 및 미디어 서버에 의해 사용되는 통신 프로토콜을 위한 프록시를 인터셉팅 게이트웨이와 통합하는 단계, 메시지들을 재기록하는 프록시에 의해, RTC 장치와 미디어 서버 사이 및 미디어 서버와 제 2 미디어 엔드포인트 사이에 RTC 미디어 경로를 설정하는 단계, 메시지들을 재기록하는 프록시에 의해, 미디어 서버에 의한 RTC 미디어 트래픽의 인터셉션, 해독 및 전송을 위한 지문을 배열하는 단계, 및 RTC 서비스에 의해 사용되는 통신 프로토콜에 대한 상기 프록시를 사용하도록 RTC 장치를 구성하는 단계에 의해 수행되며, RTC 장치, 제 2 미디어 엔드포인트, RTC 서버 및 인터셉팅 게이트웨이 각각은 메모리 및 메모리에 결합되는 프로세서를 구비하고, 프록시 및 미디어 서버 각각은 메모리 및 메모리에 결합되는 프로세서를 구비한다.
다른 측면에서, 미디어 트래픽이 감시, 분석 및 기록 목적들을 위해 지문을 사용하여 중간자 공격들에 대해 보호되는, TURN 프로토콜을 사용하여 RTC 장치와 RTC 서비스 사이의 실시간 통신 미디어 트래픽을 인터셉트하고 해독하기 위한 엔드포인트들 사이에 미디어 경로를 설정하는 방법은 제 1 미디어 엔드포인트, 제2 미디어 엔드포인트, RTC 서버, 인터셉팅 게이트웨이를 포함하는 실시간 통신 장치(Real Time Communication device)를 제공하는 단계, 메모리 및 메모리에 결합되는 프로세서를 갖는 TURN 서버를 인터셉팅 게이트웨이와 통합하는 단계, TURN 서버를 사용하도록 RTC 장치 또는 RTC 서비스를 구성함으로써, 또는 봉인된 네트워크 세그먼트에서 TURN 서버를 검색하는 미디어 엔드포인트들 중 하나에 의해, RTC 장치와 TURN 서버 사이 및 TURN 서버와 제 2 미디어 엔드포인트 사이에 RTC 미디어 경로를 설정하는 단계, 및 인터셉팅 게이트웨이를 통과하는 RTC 미디어 트래픽을 해독하기 위해, 제 1 미디어 엔드포인트에 의해 또는 제 2 미디어 엔드포인트에 의해, RTC 미디어 트래픽에 대한 해독 키를 인터셉팅 게이트웨이에 전달하는 단계에 의해 수행되며, RTC 장치, 제 2 미디어 엔드포인트, RTC 서버 및 인터셉팅 게이트웨이 각각은 메모리 및 메모리에 결합되는 프로세서를 구비한다.
다른 측면에서, 더욱 풍부한 미디어, 향상된 미디어 품질, 더 낮은 네트워크 부하 또는 더 낮은 비용의 콜들을 위한 직접 미디어 경로를 달성하기 위해, 상이한 유형들의 네트워크 세그먼트들 사이에 게이트웨이들을 갖는 네트워크를 통해 연결되는, 피어 투 피어 미디어 수용 능력을 갖는 엔트포인트들 사이에 미디어 경로를 설정하거나 재설정하기 위한 방법은 제 1 미디어 엔드포인트, 제 2 미디어 엔드포인트 및 상호연결 서버들을 포함하는 실시간 통신 장치(Real Time Communication device)를 제공하는 단계, 상이한 유형들의 미디어 트래픽에 대한 미디어 경로를 설정 및 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))을 사용함으로써 피어 투 피어 미디어 수용 능력을 갖도록 RTC 장치 및 제 2 미디어 엔드포인트를 구성하는 단계, RTC 장치 및 제 2 미디어 엔트포인트가 상호 피어 투 피어 미디어 호환성을 갖는지 또는 상호연결 서버들이 RTC 장치와 제 2 미디어 엔드포인트 사이에 직접 미디어 경로를 설정하기 위해 RTC 장치와 제 2 미디어 엔드포인트 사이에 O/A 프로토콜을 전달하는지를 알지 못하며, RTC 장치와 제 2 미디어 엔드포인트 사이에 콜을 설정하기 위해 시도하는 단계, RTC 장치에 의해, 제 2 미디어 엔드포인트가 연결되는 상호연결 서버에 제 1 시그널링 채널을 설정하는 단계, 및 RTC 장치에 의해, 상호 피어 투 피어 미디어 호환성의 표시를 수신하는 단계, 그 다음에, 직접 미디어 경로 설정 또는 재설정을 위한 프로세스를 호출하는 단계에 의해 수행되며, RTC 장치, 제 2 미디어 엔드포인트 및 상호연결 서버들은 메모리 및 메모리에 결합되는 프로세서를 구비한다.
다른 측면에서, 직접 미디어 경로 설정 또는 재설정을 위한 프로세스는 RTC 장치에 의해, RTC 장치와 제 2 미디어 엔드포인트 사이의 엔드 투 엔드 시그널링 채널을 통해, 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로의 설정을 요청하는 단계, RTC 장치에 의해, RTC 장치와 제 2 미디어 엔드포인트 사이에 설정된 제 1 미디어 경로를 통해, 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로의 설정을 요청하는 단계, 및 RTC 장치에 의해, O/A 프로토콜을 사용하여 콜에 대한 직접 미디어 경로의 설정을 위해, 설정된 제 1 미디어 경로를 통해 또는 엔드 투 엔드 시그널링 채널을 통해, 단축되거나, 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는, HTTP URL 의 형태일 수 있는, RTC 장치가 연결되는 상호연결 서버의 네트워크 어드레스 및 콜 설정에 대한 정보를 송신하고, 제 2 미디어 엔드포인트에 의해, 상호 피어 투 피어 미디어 호환성의 표시를 수신하고, 그 다음, 직접 미디어 경로 설정 또는 재설정을 위한 프로세스를 호출하는 단계 중 하나 이상에 의해 호출된다.
다른 측면에서, 직접 미디어 경로 설정 또는 재설정을 위한 프로세스는 제 2 미디어 엔드포인트에 의해, RTC 장치와 제 2 미디어 엔드포인트 사이의 엔드 투 엔드 시그널링 채널을 통해 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로의 설정을 요청하는 단계, 제 2 미디어 엔드포인트에 의해, RTC 장치와 제 2 미디어 엔드포인트 사이의 설정된 제 1 미디어 경로를 통해 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로의 설정을 요청하는 단계, 및 제 2 미디어 엔드포인트에 의해, O/A 프로토콜을 사용하여 콜에 대한 직접 미디어 경로의 설정을 위해, 설정된 제 1 미디어경로를 통해 또는 엔드 투 엔드 시그널링 채널을 통해, 단축되거나, 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는 HTTP URL 의 형태일 수 있는, 제 2 미디어 엔드포인트가 연결되는 상호연결 서버의 네트워크 어드레스 및 콜 설정에 대한 정보를 송신하는 단계 중 하나 이상에 의해 호출된다.
다른 측면에서, 제 2 엔드포인트는 다른 RTC 장치 또는 게이트웨이이다.
다른 측면에서, 네트워크를 통한 통신용 시스템은 2 개 이상의 RTC 엔드포인트들을 포함한다.
다른 측면에서, 시스템의 클라이언트 측은 원격통신 장치에 의해 구현된다.
다른 측면에서, 세션 보더 컨트롤러(Session Border Controller)의 일부일 수 있는, 시스템의 서버 측은 원격통신 장치에 의해 구현된다.
다른 측면에서, 원격통신용 장치는 프로그램을 통합하고 이를 클라이언트에 송신할 수 있다.
다른 측면에서, 원격통신용 장치는 웹 서버이다.
다른 측면에서, 시스템의 클라이언트 또는 서버 측은 웹 브라우저의 소프트웨어 모듈에 의해 또는 스마트폰들, 태블릿들, 랩톱 또는 퍼스널 컴퓨터들 또는 컴퓨터 서버들에 대한 응용으로서, 또는 프로그램을 실행하는 프로세서를 포함하는 원격통신 장치에서 구현된다.
다른 측면에서, 소프트웨어 모듈은 미디어 경로(146)를 통해 단축되거나, 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는 메시지들(164)을 엔드포인트들에 송신하는 기능, 미디어 경로(146)를 통해 단축되거나 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는 메시지들(164)을 엔드포인트로부터 수신하는 기능, 미디어 트래픽에 대한 대체 미디어 경로를 사용하기 전에, 품질 또는 다른 메트릭이 평가되는 추가적 대체 미디어 경로를 설정하는 기능, 세션 개시 프로토콜(Session Initiation Protocol(SIP))을 사용하여 실시간 통신하는 기능, 웹 실시간 통신(Web Real Time Communication(WebRTC)) 프로토콜을 사용하여 실시간 통신하는 기능, 대화식 연결 설정(Interactive Connection Establishment(ICE))을 사용하여 엔드포인트들 사이에 미디어 경로들을 설정하는 기능, STUN(Session Traversal Utilities for NAT) 프로토콜을 사용하여 미디어 경로들을 설정하는 기능, TURN(Traversal Using Relays around NAT) 프로토콜을 사용하여 미디어 경로들을 설정하는 기능, 엔드포인트들 또는 네트워크 세그먼트들이 상호 피어 투 피어 미디어 호환성을 갖는지 여부에 대한 지식을 자기 학습 프로세스로부터 저장하는 기능, 시간 제한적일 수 있고 WebRTC 서버에 저장될 수 있고 WebRTC 브라우저 사용자에게 단축된 형태로 송신될 수 있는 WebRTC HTTP URL 클릭 투 콜 링크를 생성하는 기능, 시간 제한적일 수 있고, WebRTC 서버에 저장되고 WebRTC 브라우저 사용자로부터 단축된 형태로 수신되는 WebRTC HTTP URL 링크를 실행하는 기능, 달리 이용 가능하지 않을 수 있는 WebRTC 기능을 호출하기 위해 WebRTC HTTP URL 링크에서 특정 도메인 네임 확장자, 예를 들어 wrtc in wrtc.company.com 을 식별하는 기능, RTC 클라이언트들을 위한 그래픽 사용자 인터페이스에서, 콜 상태에 기초하여 리스트들로 연락처들(contacts)을 조직하는 기능, 모바일 응용들에서 사용되는 메뉴 라인 심볼 또는 작은 3 개의 수직 도트 심불에 의해, RTC 클라이언트들을 위한 그래픽 사용자 인터페이스에 단일 연락처에 대한 확장 가능한 작업 메뉴를 나타내는 기능, 푸시 알림들에 의한 착신 콜들을 수신하기 위해 스마트폰들 또는 다른 모바일 장치들을 깨우는 기능, 구내 교환기(Private Branch eXchanges(PBX)) 기능을 통합하는 기능, 세션 보더 컨트롤러(Session Border Controller(SBC)) 기능을 통합하는 기능, 통합 통신(Unified Communication(UC)) 솔루션 기능을 통합하는 기능, WebRTC 를 SIP 게이트웨이 기능에 통합하는 기능, 콜 센터 또는 연락처 센터 기능을 통합하는 기능, 문맥 인식(context sensitive) 클릭 투 콜 링크들을 생성하는 기능, 문맥 인식 클릭 투 콜 링크들을 실행하는 기능, 클라이언트들로서 WebRTC 브라우저들을 사용하여 콜 에이전트들을 연결하는 기능, 및 인스턴트 메시징(Instant Messaging(IM)), 프리젠스, 스크린 공유 및 그룹 콜 기능들을 제공하는 기능과 같은, 기능을 수행하는 프로그램을 포함한다.
다른 측면에서, 시스템의 RTC 장치들에 결합되는 사용자 에이전트들은 서버들 또는 RTC 서버를 상호 연결하는 서버에 구현된다.
다른 측면에서, 상호연결 서버들은 서로들 사이에서 SIP 프로토콜을 사용하고 RTC 장치들에 결합되는 SIP 사용자 에이전트들은 상호연결 서버들에 구현된다.
다른 측면에서, 서버 또는 상호연결 서버는 게이트웨이 또는 인터셉팅 게이트웨이와 결합된다.
다른 측면에서, 미디어 엔드포인트들에 대해 정의된 O/A 프로토콜이 엔드포인트 또는 네트워크 세그먼트들과 호환되지 않는 경우, 통신이 가능하도록 게이트웨이를 오프로드하기 위해 정의된 O/A 프로토콜로부터 벗어남으로써, 통신할 엔드포인트들 및 네트워크 세그먼트와 호환 가능한 O/A 프로토콜을 미디어 엔드포인트들 내에서 구현하고, 미디어 엔드포인트들에 대해 정의된 미디어 경로 수용 능력들이 엔드포인트 또는 네트워크 세그먼트들과 호환되지 않는 경우, 통신이 가능하도록 게이트웨이를 오프로드하기 위해 정의된 미디어 경로 수용 능력들로부터 벗어남으로써, 통신할 엔드포인트들 및 네트워크 세그먼트와 호환 가능한 미디어 경로 수용 능력들을 미디어 엔드포인트들 내에서 구현하는 것이다.
본원에 통합되고 명세서의 일부를 형성하는 첨부 도면들은 명세서와 함께, 본 발명의 다양한 실시예들을 예시하고 추가로 본 발명의 원리들을 설명하고 당업자가 본 발명을 구성 및 이용하는 것을 가능하도록 하는 역할을 한다. 도면들에서, 유사한 참조 번호들은 동일한 또는 기능적으로 유사한 요소들을 나타낸다. 본 발명의 더 완벽한 이해 및 그것의 수반되는 많은 이점들은 동일한 것이 첨부 도면들과 관련되어 고려될 때 이하의 상세한 설명에 대한 참조에 의해 더 잘 이해되는 바와 같이 용이하게 획득될 것이다.
도 1 은 관련 기술에 따른 메모리에 연결되는 프로세서를 포함하는 장치, 엔드포인트들, 서버들, 프록시 및 게이트웨이들을 도시한다.
도 2 는 관련 기술에 따른 하나의 서버를 사용하는 2 개의 RTC 장치들 사이의 실시간 통신을 위한 시스템을 도시한다.
도 3 은 관련 기술에 따른 상이한 네트워크 세그먼트들에서 엔드포인트들 사이의 실시간 통신을 위한 시스템을 도시한다.
도 4 는 관련 기술에 따른 게이트웨이에 의해 분리되는 상이한 네트워크 세그먼트들 상에서 엔드포인트들 사이의 실시간 통신을 위한 시스템을 도시한다.
도 5 는 본 발명의 일 실시예에 따른 엔드포인트들 사이에서 콜들의 핸드오버를 위한 방법을 사용하는 시스템을 도시한다.
도 6 은 본 발명의 일 실시예에 따른 게이트웨이를 포함하는 콜들의 핸드오버를 위한 방법을 사용하는 시스템을 도시한다.
도 7 은 본 발명의 일 실시예에 따른 프록시 및 미디어 서버를 사용하여 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 방법을 사용하는 시스템을 도시한다.
도 8 은 발명의 일 실시예에 따른 TURN 서버를 사용하여 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 방법을 사용하는 시스템을 도시한다.
도 9 는 본 발명의 일 실시예에 따른 상이한 유형들의 네트워크 세그먼트들에 걸쳐 엔드포인트들 사이에 직접 미디어 경로를 달성하기 위한 방법을 사용하는 시스템을 도시한다.
도 10a 및 도 10b 는 일 실시예에 따른 콜들의 핸드오버를 위한 엔드포인트들 사이에 미디어 경로를 설정하거나 재설정하는 프로세스를 도시한다.
도 11 은 프록시를 사용하는 일 실시예에 따른 엔드포인트들 사이에 RTC 트래픽을 인터셉트하기 위한 미디어 경로를 설정하는 프로세스를 도시한다.
도 12 는 TURN 서버를 사용하는 일 실시예에 따른 엔드포인트들 사이에 RTC 트래픽을 인터셉트하기 위한 미디어 경로를 설정하는 프로세스를 도시한다.
도 13 은 일 실시예에 따른 엔드포인트들 사이에 직접 미디어 경로를 설정하거나 재설정하는 프로세스를 도시한다.
도 1 은 관련 기술에 따른 메모리에 연결되는 프로세서를 포함하는 장치, 엔드포인트들, 서버들, 프록시 및 게이트웨이들을 도시한다.
도 2 는 관련 기술에 따른 하나의 서버를 사용하는 2 개의 RTC 장치들 사이의 실시간 통신을 위한 시스템을 도시한다.
도 3 은 관련 기술에 따른 상이한 네트워크 세그먼트들에서 엔드포인트들 사이의 실시간 통신을 위한 시스템을 도시한다.
도 4 는 관련 기술에 따른 게이트웨이에 의해 분리되는 상이한 네트워크 세그먼트들 상에서 엔드포인트들 사이의 실시간 통신을 위한 시스템을 도시한다.
도 5 는 본 발명의 일 실시예에 따른 엔드포인트들 사이에서 콜들의 핸드오버를 위한 방법을 사용하는 시스템을 도시한다.
도 6 은 본 발명의 일 실시예에 따른 게이트웨이를 포함하는 콜들의 핸드오버를 위한 방법을 사용하는 시스템을 도시한다.
도 7 은 본 발명의 일 실시예에 따른 프록시 및 미디어 서버를 사용하여 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 방법을 사용하는 시스템을 도시한다.
도 8 은 발명의 일 실시예에 따른 TURN 서버를 사용하여 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 방법을 사용하는 시스템을 도시한다.
도 9 는 본 발명의 일 실시예에 따른 상이한 유형들의 네트워크 세그먼트들에 걸쳐 엔드포인트들 사이에 직접 미디어 경로를 달성하기 위한 방법을 사용하는 시스템을 도시한다.
도 10a 및 도 10b 는 일 실시예에 따른 콜들의 핸드오버를 위한 엔드포인트들 사이에 미디어 경로를 설정하거나 재설정하는 프로세스를 도시한다.
도 11 은 프록시를 사용하는 일 실시예에 따른 엔드포인트들 사이에 RTC 트래픽을 인터셉트하기 위한 미디어 경로를 설정하는 프로세스를 도시한다.
도 12 는 TURN 서버를 사용하는 일 실시예에 따른 엔드포인트들 사이에 RTC 트래픽을 인터셉트하기 위한 미디어 경로를 설정하는 프로세스를 도시한다.
도 13 은 일 실시예에 따른 엔드포인트들 사이에 직접 미디어 경로를 설정하거나 재설정하는 프로세스를 도시한다.
바람직한 실시예들의 상세 설명
일 실시예에 따른 엔드포인트들 사이에 미디어 경로를 설정하거나 재설정하는 방법이 도 5 에 도시되며, 여기서, 엔드포인트들은 콜들의 핸드오버를 구현하기 위해, 상이한 유형들의 하나 이상의 네트워크 인터페이스들(194)을 갖고 상이한 유형들의 네트워크 세그먼트들(104, 106, 108)에서 네트워크 액세스 포인트들(140)에 연결된다.
모바일 폰들은 전형적으로 상이한 셀 타워들을 통해 전화 네트워크에 액세스하는 경우 콜이 유지되고 지속되는 것을 허용한다. 유사하게, 미디어 스트림들을 설정 및 재설정하는 이 실시예는 실시간 통신 장치들(Real Time Communication devices(RTC devices))(200)(예를 들어 스마트폰들 상의 소프트웨어 클라이언트들 또는 응용들)이 네트워크 액세스 포인트들이 변경되는 경우, 상이한 네트워크 인터페이스들(예를 들어 고정 이더넷, Wi-Fi, 모바일 3G 데이터 및 LTE)을 사용하는 경우 및 다양한 네트워크 액세스 서비스 공급자들을 통해 진행중인 콜을 유지하는 것을 허용한다.
콜들을 핸드오버하는 이러한 수용 능력을 달성하기 위해, 미디어 엔드포인트(202) 및 통신하기 위한 다른 미디어 엔드포인트(203)를 포함하는 실시간 통신 장치(Real Time Communication device(RTC device))(200)는 그들 사이에 미디어 경로(146)를 설정 및 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))(160)을 사용함으로써 피어 투 피어 미디어 수용 능력을 갖는다. 이와 같은 미디어 경로는 도 3 에 도시된 방화벽 또는 NAT 들 및 도 1 에 도시된 TURN 서버를 통과할 수 있다.
엔드포인트들 둘 다는 엔드포인트들이 사용될 네트워크 세그먼트들(104, 106 및 108)에서 액세스 포인트들(140)로부터의 일부 어드레스(120)에 도달 가능한 서버(210)에 연결될 수 있으며;
RTC 장치(200)는 메시지들(164)을 송신 및 수신함으로써 서버(210)에 또는 이를 통해 시그널링 채널을 설정하는 일부 네트워크 액세스 포인트(140)에 적어도 하나의 네트워크 인터페이스(194)를 통해 연결된다.
RTC 장치(200)는 서버(210)의 숫자 어드레스가 다른 네트워크 세그먼트(104, 106, 108)를 통한 액세스로 인하여 변경되었을 수 있어도 DNS 에서 룩업된 FQDN 을 통해 서버(210)에 도달할 수 있다. 서버(210)는 각각의 세그먼트 상에서 개별 어드레스(120)를 갖는 수개의 네트워크 세그먼트들에 연결될 수 있다. 이때, 다른 네트워크 세그먼트(104, 106, 108)로의 액세스를 변경하는 RTC 장치(200)는 액세스 포인트(140)의 변경 전에 서버(210)로부터 그것이 연결된 다양한 네트워크 세그먼트들(104, 106, 108) 상의 서버(210)의 어드레스들(120)을 수신할 수 있고 그 다음 새로운 네트워크 세그먼트를 통해 재연결할 수 있다.
RTC 장치(200)와 서버(210) 사이에 연결을 설정한 후에, 고유한 연결 아이덴티티는 무응답 연결(non responding connection)이 식별되고 복구되는 것을 허용하기 위해 RTC 장치(200)와 서버(210) 사이에 생성 및 공유된다.
서버(210)에 연결하기 위해 RTC 장치(200)에 의해 사용되는 네트워크 액세스 포인트(140) 또는 네트워크 인터페이스(194)가 변경될 수 있거나 미디어 경로(146)에 대해 사용되는 액세스 포인트(140) 또는 네트워크 인터페이스(194)가 콜이 이루어지는 동안에 변경될 수 있는 경우, 다음 단계들은 미디어 경로(146)를 설정 및 재설정할 수 있다:
- RTC 장치(200)는 콜 설정 절차로부터 서버(210)에 대한 하나 이상의 어드레스들(120)을 검색하거나, 서버(210)로부터 메시지(164)의 소스 어드레스로서 서버(210)에 대한 하나 이상의 어드레스들(120)을 검색하거나, 하나 이상의 어드레스들(120)을 서버(210)에 전달하는 메시지(164)를 서버(210)로부터 수신하거나, 서버(210)에 대한 어드레스들(120)의 다른 데이터베이스 룩업 또는 DNS 를 사용하거나, 서버(210)에 대한 미리 결정된 어드레스들(120)의 리스트를 저장함으로써 네트워크 세그먼트들(104, 106 및 108)에서 액세스 포인트들(140)로부터 서버(210)에 대한 어드레스들(120)을 수집한다.
- RTC 장치(200)는 메시지들(164)을 서버(210)의 어드레스(120)에 반복적으로 송신하고, 응답을 수신하지 못하면, 그 다음, 응답을 수신하고 상기 응답이 수신된 어드레스(120)에 메시지들(164)을 송신하는 것을 지속함으로써 시그널링 연결을 복구할 때까지 상기 서버(210)를 어드레싱하기 위한 다른 수집된 어드레스들(120)을 시도하는 단계.
- RTC 장치(200)와 서버(210) 사이의 시그널링이 복구되면, 연결 아이덴티티는 RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이에 미디어 경로를 설정 및 재설정하기 위해 콜들을 수신하거나 O/A 프로토콜(160)을 사용할 수 있는, 특정 연결을 복구하기 위해 RTC 장치(200)에 의해 서버(210)에 제공된다.
- RTC 장치(210)는 미디어 경로(146)가 재설정될 필요가 있는지를 감시하거나 통지받음으로써 미디어 경로 재설정에 대한 필요성을 결정한다.
- 미디어 경로가 재설정될 필요성이 있으면, RTC 장치(200)는 서버(210)를 통해 O/A 프로토콜(160)을 사용함으로써 미디어 경로(146)의 재설정을 개시한다.
미디어 채널은 전형적으로 개별적으로 감시되고 중단되었거나 나쁜 품질을 보여주는 경우에만 재설정되도록 시도된다.
콜들의 핸드오버를 수행하는 추가 실시예에서, 도 5 를 또한 참조하면, RTC 장치(200)는 다음의 변경된 어드레스들 또는 미디어 경로 조건들 중 하나의 발생에 의해 미디어 경로 재설정에 대한 필요성을 검출할 수 있다:
- 서버(210)에 연결하기 위해 사용되는 그것의 어드레스가 변경되었고 미디어 경로(146)가 그러한 변경된 어드레스에 의존한다는 메시지(164)를 검출하거나 서버(210)로부터 통지받는 RTC 장치(200)
- 메시지(164)의 목적지 어드레스가 이전 메시지와 비교하여 변경되었고 미디어 경로(146)가 변경된 어드레스에 의존한다는 메시지(164)를 서버(210)로부터 수신하는 RTC 장치(200)
- 미디어 경로(146)용 RTC 장치(200)의 어드레스가 변경되었다는 점을 검출하는 RTC 장치(200)
- 제 2 미디어 엔드포인트에 의해 미디어 경로(146)용으로 사용되는 어드레스가 변경되었다는 메시지(164)를 서버를 통해 제 2 미디어 엔드포인트(203)로부터 통지받는 RTC 장치(200)
- RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이의 미디어 경로(146) 중 어느 한 방향에서의 트래픽이 중단되었거나 열화되었다는 것을 검출하거나 통지받는 RTC 장치(200).
미디어 채널은 전형적으로 개별적으로 감시되고 중단되었거나 나쁜 품질을 나타내는 경우에만 재설정되도록 시도된다.
콜들의 핸드오버를 행하는 추가 실시예에서, 도 5 를 또한 참조하면, RTC 장치(200)는 콜이 진행 중에 있는지, 또는 활성으로 유지될 필요가 있는 NAT 또는 방화벽 개방들이 있는지에 의존하여 서버(210)에 반복적으로 메시지를 송신하는 빈도를 조정하고 있다.
추가 실시예는 도 6 에 도시되며, 여기서 게이트웨이(222)는 RTC 장치(200)에 의해 사용되는 프로토콜이 미디어 암호화를 필요로 하고 암호화 키들이 미디어 엔드포인트들(202, 203)에 의해 미디어 경로(146)를 통해 협상되고 시그널링 채널을 통해 서버(210)에서만 이용 가능한 지문을 검사함으로써 중간자 공격들에 대해 보호를 갖는 경우, 시그널링 또는 미디어에 관련하여 RTC 장치(200)와 호환되지 않는 엔드포인트들에 콜들을 연결하거나, 시그널링 또는 미디어와 관련하여 호환되지 않는 네트워크 세그먼트들(104, 106, 108)을 통해 콜들을 연결하기 위해 제 2 미디어 엔드포인트(203)를 서버(210)와 통합한다.
일 실시예에 따른 미디어 트래픽이 감시, 분석 및 기록 목적들을 위해 지문을 사용하여 중간자 공격들에 대해 보호되는, 통신 프로토콜을 사용하여 RTC 장치(200)와 RTC 서비스(228) 사이에서 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 엔드포인트들 사이에 미디어 경로를 설정 또는 재설정하기 위한 방법이 도 7 에 도시된다.
최신 프로토콜들, 예를 들어 WebRTC 는 암호화된 미디어 트래픽을 허용할 뿐만 아니라, 심지어 엔드포인트들 사이의 암호화된 미디어 트래픽을 요구하고 중간자 공격에 대한 보호를 포함하므로, 콜 센터들 및 다른 것들이 RTC 통신을 감시하고, 분석하고 기록하는 것을 어렵게 만든다. 이러한 실시예에서, 프록시(211)는 시그널링에 대한 제어를 얻기 위해 사용되고 미디어 서버(214)는 미디어 트래픽을 인터셉트하고, 해독하고 중계한다.
실시간 통신 장치(Real Time Communication device(RTC device))(200)는 제 1 미디어 엔드포인트(202), 제 2 미디어 엔드포인트(203), RTC 서버(218) 및 인터셉팅 게이트웨이(224)를 포함하며, RTC 장치(200), 제 2 미디어 엔드포인트(203), RTC 서버(218) 및 인터셉팅 게이트웨이(224) 각각은 메모리(192) 및 메모리(192)에 결합되는 프로세서(190)를 갖는다.
인터셉팅 게이트웨이(224)는 RTC 서비스(228)에 의해 사용되는 통신 프로토콜을 위한 프록시(211) 및 미디어 서버(214)를 통합하며, 프록시(211) 및 미디어 서버(214) 각각은 메모리(192) 및 메모리(192)에 결합되는 프로세서(190)를 갖는다.
RTC 미디어 경로는 메시지들(164, 164b)을 재기록하는 프록시(211)에 의해, RTC 장치(200)와 미디어 서버(214) 사이 및 미디어 서버(214)와 제 2 미디어 엔드포인트(203) 사이에 설정된다.
지문은 미디어 서버(214)에 의한 RTC 미디어 트래픽의 인터셉션, 해독 및 전송을 위해 메시지들(164, 164b)을 재기록하는 프록시(211)에 의해 배열된다.
RTC 장치(200)는 RTC 서비스(228)에 의해 사용되는 통신 프로토콜을 위해 상기 프록시(211)를 사용하도록 구성된다.
다른 실시예에 따른 미디어 트래픽이 감시, 분석 및 기록 목적들을 위해 지문을 사용하여 중간자 공격들에 대해 보호되는, TURN 프로토콜을 사용하여 RTC 장치(200)와 RTC 서비스(228) 사이의 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 엔드포인트들 사이의 미디어 경로를 설정 또는 재설정하기 위한 방법이 도 8 에 도시된다.
최신 프로토콜들, 예를 들어 WebRTC 는 암호화된 미디어 트래픽을 허용할 뿐만 아니라, 심지어 엔드포인트들 사이에서 암호화된 미디어 트래픽을 요구하고 중간자 공격에 대한 보호를 포함하므로, 콜 센터들 및 다른 것들이 RTC 통신을 감시하고, 분석하고 기록하는 것을 어렵게 만든다. 이러한 실시예에서, TURN 서버(216)는 미디어 트래픽을 중계한다.
미디어 스트림들은 그것이 IETF draft-schwartz-rtcweb-return-06 에서 약술된 바와 같이 "봉인된" 것으로 간주되거나, TURN 서버가 소프트웨어 응용에 의해 자동 검색 또는 할당되고 그리고 사용되도록 강제되는 경우 TURN 서버를 통해 흐를 것이다.
인터셉팅 게이트웨이는 또한 미디어 엔드포인트들 사이의 IP 디폴트 게이트웨이 또는 방화벽/NAT 에 내장될 수 있다.
인터셉팅 서버의 다른 위치는 RTC 가 사설 도메인 상에 있고 외부 트래픽이 감시되는 사용 경우들을 처리하기 위해, 로컬 또는 사설 네트워크와 글로벌 전송 네트워크 사이의 실시간 트래픽을 처리하는 장치에 있을 수 있다. 사설 도메인의 미디어를 상기 인터셉팅 서버에 송신하는, 사설 도메인에 대한 원격 사용자는 또한 제안된 방법을 사용하여 분석될 수 있다.
또한, 클라이언트, 예를 들어 그렇게 하도록 구성되는 WebRTC 브라우저는 ICE 절차를 수정함으로써 또는 다른 수단에 의해 인터셉팅 서버를 통해 미디어를 설정할 수 있다.
인터셉팅 서버, 예를 들어 현재 브라우저들을 통해 키들을 전달하거나 미디어를 설정하도록 구현하지 않은 클라이언트들에 대해, 이와 같은 것들은 브라우저에 대한 플러그 인 또는 확장(extension)을 통해 추가될 수 있다.
실시간 통신 장치(Real Time Communication device(RTC device))(200)는 제 1 미디어 엔드포인트(202), 제 2 미디어 엔드포인트(203), RTC 서버(218) 및 인터셉팅 게이트웨이(224)를 포함하며, RTC 장치(200), 제 2 미디어 엔드포인트(203), RTC 서버(218) 및 인터셉팅 게이트웨이(224) 각각은 메모리(192) 및 메모리(192)에 결합되는 프로세서(190)를 갖는다.
인터셉팅 게이트웨이(224)는 메모리(192) 및 메모리(192)에 결합되는 프로세서(190)를 갖는 TURN 서버(216)를 인터셉팅 게이트웨이(224)와 통합한다.
RTC 미디어 경로는 TURN 서버(216)를 사용하도록 RTC 장치(200) 또는 RTC 서비스(228)를 구성함으로써, 또는 봉인된 네트워크 세그먼트에서 TURN 서버(216)를 검색하는 미디어 엔드포인트들(202 또는 203) 중 하나에 의해 RTC 장치(200)와 TURN 서버(216) 사이 및 TURN 서버(216)와 제 2 미디어 엔드포인트(203) 사이에 설정된다.
RTC 미디어 트래픽에 대한 해독 키는 인터셉팅 게이트웨이(224)를 통과하는 RTC 미디어 트래픽을 해독하기 위해, 제 1 미디어 엔드포인트(202)에 의해 또는 제 2 미디어 엔드포인트(203)에 의해, 인터셉팅 게이트웨이(224)에 전달된다.
인터셉팅 서버는 또한 전형적으로 NAT 및 방화벽들을 통과하는 미디어 흐름들을 처리하는 SBC(Session Border Controller)에 내장될 수 있다.
일 실시예에 따른 더욱 풍부한 미디어, 향상된 미디어 품질, 더 낮은 네트워크 부하 또는 더 낮은 비용의 콜들을 위한 직접 미디어 경로를 달성하기 위해, 상이한 유형들의 네트워크 세그먼트들(104, 106, 108) 사이의 게이트웨이들(222)과 네트워크를 통해 연결되는, 피어 투 피어 미디어 수용 능력을 갖는 엔드포인트들(202, 203) 사이의 미디어 경로를 설정 또는 재설정하는 방법이 도 9 에 도시된다.
VoIP 서비스들은, 콜이 LAN(인트라넷 유형의 네트워크 세그먼트) 또는 인터넷상의 컴퓨터 클라이언트 또는 IP폰으로부터 시작하는 경우에도, 거의 언제나 게이트웨이 기능을 전화 유형의 네트워크 세그먼트에 포함하고 다른 엔드포인트들이 호환 가능한 VoIP 폰인 경우에도, 미디어 트래픽은, 미디어 트래픽이 전화 유형의 네트워크 세그먼트를 수반하므로, 제한되거나 비용이 든다. 최신 프로토콜들, 예를 들어 WebRTC 및 SIP 또는 그 조합이 또한 비디오가 가능한 경우, 전화 유형의 네트워크 세그먼트를 통해 미디어 경로를 설정하는 대신에, 호환 가능한 엔드포인트들 사이에 직접 미디어 경로를 설정하는 것이 유리할 것이다.
오늘날 또한 대부분의 전화 콜들인 실시간 교신 콜들(communion calls)은 시그널링 채널을 통한 메시지들로 2 단계 프로세스로 엔드포인트들을 연결하며, 이는 수개의 네트워크 세그먼트들 및 상호연결 서버들(210, 212) 다음에 이어지는 미디어 채널 설정을 통한 것일 수 있으며, 이는 또한 수개의 네트워크 세그먼트들 및 서버들을 통한 것일 수 있다. 이들 연결들 중 임의의 연결은 엔드포인트들 사이에서 적어도 제한된 양들의 데이터를 송신 및 수신하기 위해 사용될 수 있고 종래 음성 전화를 위한 미디어 경로는 예를 들어 DTMF 디지트들의 형태로, 데이터 컨텐츠를 여전히 전송할 수 있다는 점이 주목되어야 한다.
2 개의 엔드포인트들이 엔드포인트들 사이의 직접 미디어 경로가 아닌 서로 간의 시그널링 채널 또는 미디어 경로를 설정하였을 경우, 엔드포인트들 사이의 직접 미디어 경로, 소위 피어 투 피어 미디어 경로를 설정 또는 재설정하기 위해 설정 프로세스를 계속하는 것이 유리할 수 있으며, 그렇지 않으면 중간에 게이트웨이들을 갖는 수개의 네트워크 세그먼트들을 통한 미디어 경로일 수 있다. 엔드포인트들 중 어느 하나는 그것이 피어 투 피어 미디어 경로 수용 능력을 갖는다는 것을 다른 엔드포인트에게 나타낼 수 있고 엔드포인트들 중 어느 하나는 이와 같은 설정 또는 재설정을 개시할 수 있다. 이와 같은 직접 미디어 경로는 이러한 맥락에서 TURN 서버들을 포함하고 여전히 직접 미디어 연결로 간주될 수 있다.
미디어 경로의 설정 또는 재설정을 개시하는 것은 O/A 프로토콜을 사용함으로써, 시그널링 채널 또는 미디어 경로를 통해 시그널링될 수 있다. 그러나, 미디어 경로가 음성만을 위한 것이면, O/A 프로토콜은 예를 들어 DTMF 디지트들로 인코딩하고 그러한 음성 채널을 통해 전송하기에는 너무 길 수 있다. 이와 같은 경우들에서, O/A 프로토콜의 압축된 버전이 사용될 수 있다. 대안적으로(그리고 종종 더 양호하게), 하나의 엔드포인트는 그것이 스스로 연결되는 동일한 서버에 다른 엔드포인트가 연결하는 것을 요청할 수 있으며, 이를 통해 O/A 프로토콜은 실행될 수 있고 엔드포인트들 사이의 직접 미디어 연결이 설정될 수 있다.
이러한 메커니즘은 시그널링이 전송되는 서버(웹 서버)와 접속되는 WebRTC 브라우저에서 구현될 수 있다. 그 다음, 요청은 시그널링 채널 또는 미디어 경로를 통해 다른 엔드포인트에 대한 HTTP URL 의 전송으로 구현될 수 있을 것이며, 이후에, 여기서 전체 O/A 프로토콜은 이때 공통 서버(210)를 통해 시그널링될 수 있을 것이다.
실시간 통신 장치(Real Time Communication device(RTC device))(200)는 제 1 미디어 엔드포인트(202), 제 2 미디어 엔드포인트(203) 및 상호연결 서버들(212, 212b)을 포함하며, RTC 장치(200), 제 2 미디어 엔드포인트(203) 및 상호연결 서버들(212, 212b) 각각은 메모리(192) 및 메모리(192)에 결합되는 프로세서(190)를 갖는다.
RTC 장치(200) 및 제 2 미디어 엔드포인트(203)는 상이한 유형들의 미디어 트래픽을 위한 미디어 경로를 설정 및 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))을 사용함으로써 피어 투 피어 미디어 수용 능력을 갖도록 구성된다.
RTC 장치(200)와 제 2 미디어 엔트포인트(203)가 상호 피어 투 피어 미디어 호환성을 갖는지 또는 상호연결 서버들(212, 212b)이 RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이에 직접 미디어 경로(148)를 설정하기 위해 RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이에 O/A 프로토콜을 전달하는지를 알지 못하며, RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이에 콜을 설정하기 위해 시도하는 경우, 다음의 단계들은 직접 미디어 경로(148)를 설정할 수 있다:
- RTC 장치(200)는 제 2 미디어 엔드포인트(203)가 연결되는 상호연결 서버(212b)에 제 1 시그널링 채널(150)을 설정한다.
- RTC 장치(200)는 상호 피어 투 피어 미디어 호환성의 표시를 수신하고 그 다음, 직접 미디어 경로 설정 또는 재설정을 위한 다음 프로세스들 중 하나를 호출한다:
RTC 장치(200)는 RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이의 엔드 투 엔드 시그널링 채널(152)을 통해, 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로(148)의 설정을 요청하거나,
RTC 장치(200)는 RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이의 설정된 제 1 미디어 경로(146)를 통해, 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로(148)의 설정을 요청하거나,
RTC 장치(200)는 이는 O/A 프로토콜을 사용하여 콜에 대한 직접 미디어 경로(148)의 설정을 위해, 설정된 제 1 미디어 경로(146)를 통해 또는 엔드 투 엔드 시그널링 채널(152)을 통해 단축되거나, 압축되거나, 시간 제한되거나, DTMF 인코딩될 수 있는, HTTP URL의 형태일 수 있는, RTC 장치(200)가 연결되는 상호연결 서버(212)의 네트워크 어드레스 및 콜 설정에 대한 정보를 송신한다.
- 또는, 제 2 미디어 엔드포인트(203)는 상호 피어 투 피어 미디어 호환성의 표시를 수신하고 그 다음, 직접 미디어 경로 설정 또는 재설정을 위한 다음 프로세스들 중 하나를 호출한다:
제 2 미디어 엔드포인트(203)는 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로(148)의 설정을 RTC 장치(200)와 제 2 미디어 엔드포인트(203) 사이의 엔드 투 엔드 시그널링 채널(152)을 통해 요청하거나, 또는
제 2 미디어 엔드포인트(203)는 압축될 수 있는 O/A 프로토콜을 사용하여, 콜에 대한 직접 미디어 경로(148)의 설정을 RTC 장치(200) 및 제 2 미디어 엔드포인트(203) 사이의 설정된 제 1 미디어 경로(146)를 통해 요청하거나, 또는
제 2 미디어 엔드포인트(203)는 O/A 프로토콜을 사용하여 콜에 대한 직접 미디어 경로(148)의 설정을 위해, 설정된 제 1 미디어 경로(146)를 통해 또는 엔드 투 엔드 시그널링 채널(152)을 통해 단축되거나, 압축되거나, 시간 제한되거나, DTMF 인코딩될 수 있는, HTTP URL 의 형태일 수 있는, 제 2 미디어 엔드포인트(203)가 연결되는 상호연결 서버(212b)의 네트워크 어드레스 및 콜 설정에 대한 정보를 송신한다.
도 5, 도 7, 도 8 및 도 9 를 참조하는 다른 실시예에서, 제 2 엔드포인트(203)는 다른 RTC 장치(200) 또는 게이트웨이(222, 224)일 수 있다.
추가 실시예는 미디어 경로를 설정 또는 재설정하는 방법을 사용하는 네트워크를 통한 통신을 위한 시스템일 수 있으며, 2 개 이상의 엔드포인트들(202, 203, 203b)을 더 포함한다.
추가 실시예에서, RTC 장치들(200)에 결합되는 사용자 에이전트들은 서버(210) 또는 상호연결 서버들(212, 212b)에서 구현된다.
도 9 를 참조하는 추가 실시예는 상호연결 서버들(212, 212b)이 서로들 사이에서 SIP 프로토콜을 사용하고 RTC 장치들(200)에 결합되는 SIP 사용자 에이전트들이 상호연결 서버들(212, 212b)에 구현되는 시스템이다.
도 6 을 참조하는 다른 실시예는, (ⅰ) 미디어 엔드포인트들(202, 203, 203b)에 대해 정의된 O/A 프로토콜이 엔드포인트(208 또는 206) 또는 네트워크 세그먼트들(104, 106 또는 108)과 호환되지 않는 경우, 통신이 가능하도록 게이트웨이(222)를 오프로드하기 위해 정의된 O/A 프로토콜로부터 벗어남으로써, 통신할 엔드포인트들 및 네트워크 세그먼트와 호환 가능한 O/A 프로토콜을 미디어 엔트포인트들(202, 203, 203b) 내에서 구현하고, (ⅱ) 미디어 엔드포인트들(202, 203, 203b)에 대해 정의된 미디어 경로 수용 능력들이 엔드포인트(208 또는 206) 또는 네트워크 세그먼트들(104, 106, 또는 108)과 호환되지 않는 경우, 통신이 가능하도록 게이트웨이(222)를 오프로드하기 위해 정의된 미디어 경로 수용 능력들로부터 벗어남으로써, 통신할 엔드포인트들 및 네트워크 세그먼트와 호환 가능한 미디어 경로 수용 능력들을 미디어 엔드포인트(202, 203, 203b)들 내에서 구현하는 것이다.
다른 실시예에서, 네트워크를 통한 통신을 위한 시스템은 2 개 이상의 RTC 엔드포인트들을 포함한다.
다른 실시예에서, 시스템의 클라이언트 측은 원격통신 장치에 의해 구현된다.
다른 실시예에서, 세션 보더 컨트롤러(Session Border Controller)의 일부일 수 있는 시스템의 서버 측은 원격통신 장치에 의해 구현된다.
다른 실시예에서, 원격통신을 위한 장치는 프로그램을 통합하고 이를 클라이언트에 송신할 수 있다.
다른 실시예에서, 원격통신을 위한 장치는 웹 서버이다.
다른 실시예에서, 시스템의 클라이언트 또는 서버 측은 웹 브라우저 내의 소프트웨어 모듈에 의해 또는 스마트폰들, 태블릿들, 랩톱 또는 퍼스널 컴퓨터들 또는 컴퓨터 서버들을 위한 응용으로 또는 프로그램을 실행하기 위한 프로세서를 포함하는 원격통신 장치에서 구현된다.
다른 실시예에서, 시스템의 RTC 장치들에 결합되는 사용자 에이전트들은 서버들 또는 RTC 서버를 상호연결하는 서버에서 구현된다.
다른 실시예에서, 상호연결 서버들은 서로 사이에서 SIP 프로토콜을 사용하고 RTC 장치들에 결합되는 SIP 사용자 에이전트들은 상호연결 서버들에서 구현된다.
다른 실시예에서, 서버 또는 상호연결 서버는 게이트웨이 또는 인터셉팅 게이트웨이와 결합된다.
일 실시예에 따른 콜들의 핸드오버를 위해 엔드포인트들 사이에 미디어 경로를 설정 또는 재설정하는 프로세스가 도 10a 및 도 10b 에 도시된다. 도 10a 에 도시된 제 1 동작(1002)에서, 제 1 미디어 엔드포인트, 제 2 미디어 엔드포인트 및 서버를 포함하는 실시간 통신 장치(Real Time Communication device(RTC device))가 제공된다. 제 2 동작(1004)에서, 서버는 네트워크 세그먼트들에서 액세스 포인트들로부터 어드레스들에 도달 가능하게 이루어진다. 제 3 동작(1006)에서, 일부 네트워크 액세스 포인트에 연결되는 RTC 장치의 적어도 하나의 네트워크 인터페이스는 RTC 장치와 서버 사이에서 메시지를 송신 및 수신하도록 배열된다. 제 4 동작(1008)에서, RTC 장치 및 제 2 미디어 엔드포인트는 RTC 장치와 제 2 미디어 엔드포인트 사이에 미디어 경로를 설정 및 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))을 사용함으로써 피어 투 피어 미디어 수용 능력을 갖도록 구성된다. 제 5 동작(1010)에서, 무응답 연결(non responding connection)이 식별되고 복구되는 것을 허용하기 위해 RTC 장치와 서버 사이에서 공유되는 고유 연결 아이덴티티가 생성된다. 제 6 동작(1012)에서, 네트워크 세그먼트들에서 액세스 포인트들로부터 서버에 대한 어드레스들은 RTC 장치에 의해 수집된다. 도 10b 에 도시된 제 7 동작(1014)에서, 메시지들은 서버의 어드레스에 RTC 장치에 의해 반복적으로 송신되고, 응답이 수신되지 않으면, 응답이 수신될 때까지 서버로 수집된 다른 어드레스들을 시도하고 응답이 수신된 어드레스에 메시지들을 송신하는 것을 지속함으로써 시그널링 연결이 복구된다. 제 8 동작(1016)에서, 연결 아이덴티티는 RTC 장치와 제 2 미디어 엔드포인트 사이에 미디어 경로를 설정 또는 재설정하기 위해 콜들을 수신하거나 O/A 프로토콜을 사용할 수 있는, 특정 연결을 복구하기 위해 서버에 RTC 장치에 의해 제공된다. 제 9 동작(1018)에서, 미디어 경로를 재설정하기 위한 필요성이 RTC 장치에 의해 결정되고, 미디어 경로가 재설정될 필요가 있으면, 미디어 경로의 재설정이 개시된다.
프록시를 사용하는 일 실시예에 따른 엔드포인트들 사이에 RTC 트래픽을 인터셉트하기 위한 미디어 경로를 설정하는 프로세스가 도 11 에 도시된다. 제 1 동작(1102)에서, 제 1 미디어 엔드포인트, 제 2 미디어 엔드포인트, RTC 서버, 및 인터셉팅 게이트웨이를 포함하는 실시간 통신(Real Time Communication(RTC)) 장치가 제공된다. 제 2 동작(1104)에서, RTC 서비스 및 미디어 서버에 의해 사용되는 통신 프로토콜을 위한 프록시는 인터셉팅 게이트웨이와 통합된다. 제 3 동작(1106)에서, RTC 미디어 경로는 RTC 장치와 미디어 서버 사이 및 미디어 서버와 제 2 미디어 엔드포인트 사이에 설정된다. 제 4 동작(1108)에서, 인터셉션을 위한 지문은 미디어 서버에 의한 RTC 미디어 트래픽의 해독 및 전송을 위해, 메시지들을 재기록하는 프록시에 의해 배열된다. 제 5 동작(1110)에서, RTC 장치는 RTC 서비스에 의해 사용되는 통신 프로토콜을 위해 프록시를 사용하도록 구성된다.
TURN 서버를 이용한 일 실시예에 따른 엔드포인트들 사이에 RTC 트래픽을 인터셉트하기 위해 미디어 경로를 설정하기 위한 프로세스가 도 12 에 도시된다. 제 1 동작(1202)에서, 제 1 미디어 엔드포인트, 제 2 미디어 엔드포인트, RTC 서버 및 인터셉팅 게이트웨이를 포함하는 실시간 통신 장치(Real Time Communication device(RTC device))가 제공된다. 제 2 동작(1204)에서, TURN 서버는 인터셉팅 게이트웨이와 통합된다. 제 3 동작(1206)에서, RTC 미디어 경로는 RTC 장치와 TURN 서버 사이 및 TURN 서버와 제 2 미디어 엔드포인트 사이에 설정된다. 제 4 동작(1208)에서, RTC 미디어 트래픽을 위한 해독 키는 제 1 미디어 엔드포인트(202)에 의해 또는 제 2 미디어 엔드포인트에 의해, 인터셉팅 게이트웨이(224)에 전달된다.
일 실시예에 따른 엔드포인트들 사이에 직접 미디어 경로를 설정 또는 재설정하기 위한 프로세스가 도 13 에 도시된다. 동작(1302)에서, 제 1 미디어 엔드포인트, 제 2 미디어 엔드포인트 및 상호연결 서버들을 포함하는 실시간 통신 장치(Real Time Communication device(RTC device))가 제공되며, RTC 장치, 제 2 미디어 엔드포인트 및 상호연결 서버들 각각은 메모리 및 메모리에 연결되는 프로세스를 갖는다. 동작(1304)에서, RTC 장치 및 제 2 미디어 엔드포인트는 상이한 유형들의 미디어 트래픽에 대한 미디어 경로를 설정 및 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))을 사용함으로써 피어 투 피어 미디어 수용 능력을 갖도록 구성된다. 동작(1306)에서, 그들이 상호 피어 투 피어 미디어 호환성을 갖는지 또는 상호연결 서버들이 RTC 장치와 제 2 미디어 엔드포인트 사이에 직접 미디어 경로를 설정하기 위해 RTC 장치와 제 2 미디어 엔드포인트 사이에 O/A 프로토콜을 전달하는지를 알지 못하며, RTC 장치와 제 2 미디어 엔드포인트 사이에 콜을 설정하기 위한 시도들이 이루어진다. 동작(1310)에서, RTC 장치는 상호 피어 투 피어 미디어 호환성의 표시를 수신하며, 그 다음, 직접 미디어 경로 설정 또는 재설정을 위한 프로세스를 호출한다. 동작(1312)에서, 제 2 미디어 엔드포인트는 상호 피어 투 피어 미디어 호환성의 표시를 수신하고, 그 다음, 직접 미디어 경로 설정 또는 재설정을 위한 프로세스를 호출한다.
실시예들은 데이터를 저장하고/하거나, 검색하고/하거나, 처리하고/하거나 출력하고 및/또는 다른 컴퓨터들과 통신할 수 있는 (비제한 예의) 임의의 컴퓨터와 같은, 컴퓨팅 하드웨어(컴퓨팅 장치) 및/또는 소프트웨어로 구현될 수 있다. 실시예들을 구현하는 프로그램/소프트웨어는 컴퓨터-판독가능 기록 미디어를 포함하는 컴퓨터-판독가능 미디어 상에 기록될 수 있다. 실시예들을 구현하는 프로그램/소프트웨어는 또한 전송 통신 미디어를 통해 전송될 수 있다. 컴퓨터-판독가능 기록 미디어의 예들은 자기 기록 장치, 광 디스크, 광자기 디스크, 및/또는 반도체 메모리(예를 들어, RAM, ROM, FLASH 등)를 포함한다. 자기 기록 장치의 예들은 하드 디스크 장치(hard disk device(HDD)), 플렉시블 디스크(flexible disk(FD)), 및 자기 테이프(magnetic tape(MT))를 포함한다. 광 디스크의 예들은 DVD(Digital Versatile Disc), DVD-RAM, CD-ROM(Compact Disc - Read Only Memory), 및 CD-R(Recordable)/RW 를 포함한다. 통신 미디어의 예는 반송파 신호를 포함한다.
또한, 실시예들의 일 측면에 따르면, 설명된 특징들, 기능들 및/또는 동작들의 임의의 조합들이 제공될 수 있다.
본 실시예들의 많은 특징들 및 장점들은 상세한 설명으로부터 명백할 것이고, 따라서, 그 진정한 사상 및 범위 내에 있는 실시예들의 모든 이와 같은 특징들 및 장점들을 커버하도록 첨부된 청구항들에 의해 의도된다. 또한, 수많은 수정들 및 변경들이 당업자들에게 용이하게 떠오를 수 있으므로, 발명적 실시예들을 예시되고 설명된 정확한 구성 및 동작에 제한하는 것은 바람직하지 않고, 따라서, 모든 적절한 변경들 및 등가물들은 그 범위 내에 있도록 취해질 수 있다.
WebRTC 가 칭하여지는 경우, 그것은 또한 다른 실시간 통신 프로토콜들 또는 일반적으로 통신하는 방법을 의미(또는 적용)할 수 있다.
Claims (19)
- 콜들의 핸드오버를 구현하기 위해, 상이한 유형들의 네트워크 세그먼트들(104, 106, 108)에서 네트워크 액세스 포인트들(140)에 연결되는 상이한 유형들의 하나 이상의 네트워크 인터페이스들(194)를 갖는 엔드포인트들 사이에 미디어 경로(146)를 설정 또는 재설정하기 위한 방법으로서,
제 1 미디어 엔드포인트(202), 제 2 미디어 엔드포인트(203) 및 서버(210)를 포함하는 실시간 통신 장치(Real Time Communication device)인 RTC 장치(200)를 제공하는 단계;
서버(210)를 상기 RTC 장치(200) 및 상기 제 2 미디어 엔드포인트(203)가 사용될 네트워크 세그먼트들(104, 106 및 108)에서 액세스 포인트들(140)로부터 어드레스들(120)에 도달 가능하게 하는 단계;
상기 RTC 장치(200)와 상기 서버(210) 사이에서 메시지들(164)을 송신 및 수신하기 위해 일부 네트워크 액세스 포인트(140)에 연결되는 상기 RTC 장치(200)의 적어도 하나의 네트워크 인터페이스(194)를 배열하는 단계;
상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이에 상기 미디어 경로(146)를 설정 및 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))(160)을 사용함으로써 피어 투 피어 미디어 수용 능력을 갖도록 상기 RTC 장치(200) 및 상기 제 2 미디어 엔드포인트(203)를 구성하는 단계;
상기 RTC 장치(200)와 상기 서버(210) 사이에 연결을 설정한 후에, 무응답(non-responding) 연결이 식별되고 복구되는 것을 허용하기 위해 상기 RTC 장치(200)와 상기 서버(210) 사이에 공유되는 고유한 연결 아이덴티티를 생성하는 단계를 포함하고,
상기 서버(210)에 연결하기 위해 상기 RTC 장치(200)에 의해 사용되는 상기 네트워크 액세스 포인트(140) 또는 상기 네트워크 인터페이스(194)가 변경될 수 있거나 상기 미디어 경로(146)를 위해 사용되는 상기 액세스 포인트(140) 또는 상기 네트워크 인터페이스(194)가 콜이 이루어지는 동안에 변경될 수 있는 경우:
상기 RTC 장치(200)에 의해, 하기 단계들로 이루어진 그룹으로부터 선택되는 하나 이상의 프로세스들에 의해, 상기 네트워크 세그먼트들(104, 106 및 108)에서 상기 액세스 포인트들(140)로부터 상기 서버(210)에 대한 어드레스들(120)을 수집하는 단계 -여기서 상기 하기 단계들로 이루어진 그룹은:
콜 설정 절차로부터 상기 서버(210)에 대한 하나 이상의 어드레스들(120)을 검색하는 단계,
상기 서버(210)로부터 메시지(164)의 소스 어드레스로서 상기 서버(210)에 대한 하나 이상의 어드레스들(120)을 검색하는 단계,
상기 서버(210)에 대한 하나 이상의 어드레스들(120)을 상기 서버(210)로 전달하는 상기 서버(210)로부터의 메시지(164)를 수신하는 단계,
상기 서버(210)에 대한 어드레스들의 DNS 또는 다른 데이터베이스 룩업을 사용하는 단계, 및 상기 서버(210)에 대한 미리 결정된 어드레스들(120)의 리스트를 저장하는 단계로 구성되는 단계를 포함함-;
상기 RTC 장치(200)에 의해, 상기 서버(210)의 어드레스로 메시지들을 반복적으로 송신하고, 응답을 수신하지 못하면, 그 다음, 응답을 수신하고 상기 응답이 수신된 어드레스(120)에 메시지들(164)을 송신하는 것을 지속함으로써 시그널링 연결을 복구할 때까지 상기 서버(210)에 대한 다른 수집된 어드레스들(120)을 시도하는 단계;
상기 RTC 장치(200)와 상기 서버(210) 사이에 시그널링을 복구한 후에, 상기 RTC 장치(200)에 의해, 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이에 상기 미디어 경로(146)를 설정 또는 재설정하기 위해 콜들을 수신하거나 상기 O/A 프로토콜(160)을 사용할 수 있는, 특정 연결을 복구하기 위해 상기 연결 아이덴티티를 상기 서버(210)에 제공하는 단계;
상기 RTC 장치(200)에 의해, 상기 미디어 경로(146)가 재설정될 필요가 있는지를 감시하거나 통지받음으로써 상기 미디어 경로(146) 재설정을 위한 필요를 결정하는 단계; 및
상기 미디어 경로(146)가 재설정될 필요가 있으면, 상기 RTC 장치(200)에 의해, 상기 서버(210)를 통한 상기 O/A 프로토콜(160)을 사용함으로써 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이에 상기 미디어 경로(146)의 재설정을 개시하는 단계를 더 포함하며,
상기 RTC 장치(200), 상기 제 2 미디어 엔드포인트(203) 및 상기 서버(210) 각각은 메모리(192) 및 상기 메모리(192)에 결합되는 프로세서(190)를 구비하는 방법. - 제 1 항에 있어서, 상기 RTC 장치(200)에 의해, 상기 그룹으로부터 선택되는 변경된 어드레스들 또는 미디어 경로 조건들의 이벤트의 발생에 의해 상기 미디어 경로(146)의 재설정을 위한 필요를 결정하는 단계를 더 포함하며, 상기 그룹은:
상기 서버(210)에 연결하기 위해 사용되는 상기 서버의 어드레스가 변경되었고 상기 미디어 경로(146)가 그러한 변경된 어드레스에 의존한다는 상기 서버(210)로부터의 메시지(164)를 검출하거나 통지받는 상기 RTC 장치(200),
상기 메시지(164)의 목적지 어드레스가 이전 메시지와 비교하여 변경되었고 상기 미디어 경로(146)로 상기 변경된 어드레스에 의존한다는 메시지를 상기 서버(210)로부터 수신하는 상기 RTC 장치(200),
상기 미디어 경로(146)에 대한 상기 목적지 어드레스가 변경되었다는 것을 검출하는 상기 RTC 장치(200),
상기 제 2 미디어 엔드포인트에 의해 상기 미디어 경로(146)를 위해 사용되는 상기 어드레스가 변경되었다는 메시지(164)를 상기 서버를 통해 상기 제 2 미디어 엔드포인트(203)로부터 통지받는 상기 RTC 장치(200), 및
RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이의 상기 미디어 경로(146) 중 어느 한 방향에서의 트래픽이 중단되었거나 열화되었다는 것을 검출하거나 통지받는 상기 RTC 장치(200)로 구성되는 방법. - 제 1 항에 있어서, 상기 RTC 장치(200)에 의해, 콜이 진행 중에 있는지, 또는 활성으로 유지될 필요가 있는 NAT 또는 방화벽 개방들이 있는지에 따라 상기 서버에 반복적으로 메시지들을 송신하는 빈도를 조정하는 단계를 더 포함하는 방법.
- 제 1 항에 있어서, 상기 RTC 장치(200)에 의해 사용되는 프로토콜이 미디어 암호화를 필요로 하고 암호화 키들이 상기 미디어 엔드포인트들(202, 203)에 의해 상기 미디어 경로(146)를 통해 협상되고 시그널링 채널을 통해 상기 서버(210)에서만 사용 가능한 지문을 검사함으로써 중간자 공격들에 대한 보호를 갖는 경우, 시그널링 또는 미디어와 관련하여 상기 RTC 장치(200)와 호환되지 않는 엔드포인트들에 콜들을 연결하기 위한, 또는 시그널링 또는 미디어와 관련하여 호환되지 않는 네트워크 세그먼트들(104, 106, 108)을 통해 콜들을 연결하기 위한 게이트웨이(222)를 형성하기 위해 상기 제 2 미디어 엔드포인트(203)를 상기 서버(210)와 통합하는 단계를 더 포함하는 방법.
- 미디어 트래픽이 감시, 분석 및 기록 목적들을 위한 지문을 사용하여 중간자 공격들에 대해 보호되는, 통신 프로토콜을 사용하는 RTC 장치(200)와 RTC 서비스(228) 사이에서 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 엔드포인트들 사이의 미디어 경로를 설정하기 위한 방법으로서,
제 1 미디어 엔드포인트(202), 제 2 미디어 엔드포인트(203), RTC 서버(218) 및 인터셉팅 게이트웨이(224)를 포함하는 실시간 통신 장치(Real Time Communication device(RTC device))(200)를 제공하는 단계;
상기 RTC 서비스(228)와 미디어 서버(214)에 의해 사용되는 통신 프로토콜을 위한 프록시(211)를 상기 인터셉팅 게이트웨이(224)와 통합하는 단계;
메시지들(164, 164b)을 재기록하는 프록시(211)에 의해, 상기 RTC 장치(200)와 상기 미디어 서버(214) 사이 및 상기 미디어 서버(214)와 상기 제 2 미디어 엔드포인트(203) 사이에 RTC 미디어 경로를 설정하는 단계;
상기 메시지들(164, 164b)을 재기록하는 상기 프록시(211)에 의해, 상기 미디어 서버(214)를 통해 상기 RTC 미디어 트래픽의 인터셉션, 해독 및 전송을 위한 지문을 배열하는 단계; 및 상기 RTC 서비스(228)에 의해 사용되는 상기 통신 프로토콜에 대해 상기 프록시(211)를 사용하도록 상기 RTC 장치(200)를 구성하는 단계를 더 포함하고,
상기 RTC 장치(200), 상기 제 2 미디어 엔드포인트(203), 상기 RTC 서버(218) 및 상기 인터셉팅 게이트웨이(224) 각각은 메모리(192) 및 상기 메모리(192)에 결합되는 프로세서(190)를 구비하며,
상기 프록시(211) 및 상기 미디어 서버(214) 각각은 상기 메모리(192) 및 상기 메모리(192)에 결합되는 프로세서(190)를 구비하는 방법. - 미디어 트래픽이 감시, 분석 및 기록 목적들을 위해 지문을 사용하여 중간자 공격들에 대해 보호되는, TURN 프로토콜을 사용하는 RTC 장치(200)와 RTC 서비스(228) 사이에서 실시간 통신(Real Time Communication(RTC)) 미디어 트래픽을 인터셉트하고 해독하기 위한 엔드포인트들 사이의 미디어 경로를 설정하기 위한 방법으로서,
제 1 미디어 엔드포인트(202), 제 2 미디어 엔드포인트(203), RTC 서버(218) 및 인터셉팅 게이트웨이(224)를 포함하는 RTC 장치(200)를 제공하는 단계;
메모리(192) 및 상기 메모리(192)에 결합되는 프로세서(190)를 갖는 TURN 서버(216)와 상기 인터셉팅 게이트웨이(224)를 통합하는 단계;
상기 RTC 장치(200) 또는 상기 RTC 서비스(228)가 상기 TURN 서버(216)를 사용하도록 구성하거나, 봉인된 네트워크 세그먼트에서 상기 TURN 서버(216)를 검색하는 상기 미디어 엔드포인트들(202 또는 203) 중 하나에 의해, 상기 RTC 장치(200)와 상기 TURN 서버(216) 사이 및 상기 TURN 서버(216)와 상기 제 2 미디어 엔드포인트(203) 사이에 RTC 미디어 경로를 설정하는 단계; 및
상기 인터셉팅 게이트웨이(224)를 통과하는 상기 RTC 미디어 트래픽의 해독을 위해, 상기 제 1 미디어 엔드포인트(202)에 의해 또는 상기 제 2 미디어 엔드포인트(203)에 의해, 상기 RTC 미디어 트래픽에 대한 해독 키를 상기 인터셉팅 게이트웨이(224)로 전달하는 단계를 더 포함하고,
상기 RTC 장치(200), 상기 제 2 미디어 엔드포인트(203), 상기 RTC 서버(218) 및 상기 인터셉팅 게이트웨이(224) 각각은 메모리(192) 및 상기 메모리(192)에 결합되는 프로세서(190)를 구비하는 방법. - 더욱 풍부한 미디어, 향상된 미디어 품질, 더 낮은 네트워크 부하 또는 더 낮은 비용의 콜들 위한 직접 미디어 경로를 달성하기 위해, 상이한 유형들(104, 106, 108)의 네트워크 세그먼트들 사이의 적어도 2개의 게이트웨이들(222)과 네트워크를 통해 연결되는, 피어 투 피어 미디어 수용 능력을 갖는 엔드포인트들(202, 203) 사이의 미디어 경로를 설정 또는 재설정하기 위한 방법으로서,
제 1 미디어 엔드포인트(202), 제 2 미디어 엔드포인트(203) 및 상호연결 서버들(212, 212b)을 포함하는 실시간 통신 장치(Real Time Communication device(RTC device))(200)-여기서 상기 RTC 장치(200), 상기 제 2 미디어 엔드포인트(203) 및 상기 상호연결 서버들(212, 212b) 각각은 메모리(192) 및 상기 메모리(192)에 결합되는 프로세서(190)를 구비함-를 제공하는 단계;
상이한 유형들의 미디어 트래픽에 대한 미디어 경로를 설정 또는 재설정하기 위해 제안 및 응답 프로토콜(Offer and Answer protocol(O/A protocol))을 사용함으로써 피어 투 피어 미디어 수용 능력을 갖도록 상기 RTC 장치(200) 및 상기 제 2 미디어 엔드포인트(203)를 구성하는 단계;
상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203)가 피어 투 피어 미디어 호환성을 갖는지 여부 또는 상기 상호연결 서버들(212, 212b)이 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이에 직접 미디어 경로(148)를 설정하기 위해 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이에 상기 O/A 프로토콜을 전달하는지를 알지 못하는, 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이에 콜을 설정하도록 시도하는 단계-여기서 상기 콜을 설정하도록 시도하는 단계는:
상기 RTC 장치(200)에 의해, 제 1 시그널링 채널(150)을 상기 제 2 미디어 엔드포인트(203)가 연결되는 상기 상호연결 서버(212b)에 설정하는 단계; 및
상기 RTC 장치(200)에 의해, 상호 피어 투 피어 미디어 호환성의 표시를 수신하고, 그 다음, 그룹으로부터 선택되는 직접 미디어 경로 설정 또는 재설정을 위한 프로세스를 호출하는 단계를 포함하되, 상기 그룹은:
상기 RTC 장치(200)에 의해, 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이의 엔드 투 엔드 시그널링 채널(152)을 통해, 압축될 수 있는 상기 O/A 프로토콜을 사용하여 상기 콜에 대한 직접 미디어 경로(148)의 설정을 요청하는 단계,
상기 RTC 장치(200)에 의해, 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이의 설정된 제 1 미디어 경로(146)를 통해, 압축될 수 있는 O/A 프로토콜을 사용하여, 상기 콜에 대한 직접 미디어 경로(148)의 설정을 요청하는 단계, 및
상기 RTC 장치(200)에 의해, 상기 O/A 프로토콜을 사용하여 상기 콜에 대한 직접 미디어 경로(148)의 설정을 위해, 설정된 제 1 미디어 경로(146)를 통해 또는 엔드 투 엔드 시그널링 채널(152)을 통해 단축되거나, 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는, HTTP URL 의 형태일 수 있는, 상기 RTC 장치(200)가 연결되는 상기 상호연결 서버(212)의 네트워크 어드레스 및 콜 설정에 대한 정보를 송신하는, 단계를 포함함-; 및
상기 제 2 미디어 엔드포인트(203)에 의해, 상호 피어 투 피어 미디어 호환성의 표시를 수신하며, 그 다음, 하기 단계들로 이루어진 그룹으로부터 선택되는 직접 미디어 경로 설정 또는 재설정을 위한 프로세스를 호출하는 단계,-여기서 상기 하기 단계들로 이루어진 그룹은:
상기 제 2 미디어 엔드포인트(203)에 의해, 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이의 엔드 투 엔드 시그널링 채널(152)을 통해, 압축될 수 있는 상기 O/A 프로토콜을 사용하여, 상기 콜에 대한 직접 미디어 경로(148)의 설정을 요청하는 단계,
상기 제 2 미디어 엔드포인트(203)에 의해, 상기 RTC 장치(200)와 상기 제 2 미디어 엔드포인트(203) 사이에서, 설정된 제 1 미디어 경로(146)를 통해, 압축될 수 있는 O/A 프로토콜을 사용하여, 상기 콜에 대한 직접 미디어 경로(148)의 설정을 요청하는 단계, 및
상기 제 2 미디어 엔드포인트(203)에 의해, 상기 O/A 프로토콜을 사용하여 상기 콜에 대한 직접 미디어 경로(148)의 설정을 위해, 설정된 제 1 미디어 경로(146)를 통해 또는 엔드 투 엔드 시그널링 채널(152)을 통해, 단축되거나, 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는, HTTP URL 의 형태일 수 있는, 상기 제 2 미디어 엔드포인트(203)가 연결되는 상기 상호연결 서버(212b)의 상기 콜 설정 및 네트워크 어드레스에 대한 정보를 송신하는 단계를 포함함-를 포함하는 방법. - 제 1 항, 제 5 항, 제 6 항 또는 제 7 항에 있어서, 상기 제 2 미디어 엔드포인트(203)는 또 다른 RTC 장치(200b, 201) 또는 게이트웨이(222) 또는 인터셉팅 게이트웨이(224)인 방법.
- 제 1 항, 제 5 항, 제 6 항 또는 제 7 항에 따른 방법을 사용하는 네트워크를 통한 통신 시스템에 있어서,
상기 네트워크를 통한 통신 시스템은 상기 제 1 미디어 엔드포인트(202), 상기 제 2 미디어 엔드포인트(203) 또는 제 3 미디어 엔드포인트(203b) 중 적어도 2개를 더 포함하는, 네트워크를 통한 통신 시스템. - 제 9 항의 네트워크를 통한 통신 시스템의 클라이언트 측을 구현하는 원격통신 장치.
- 세션 보더 컨트롤러(Session Border Controller(SBC))의 일부일 수 있는, 제 9 항의 네트워크를 통한 통신 시스템의 서버 측을 구현하는 원격통신 장치.
- 제 10 항에 있어서, 상기 원격통신 장치는 프로그램을 통합하고 클라이언트에 송신할 수 있는 원격통신 장치.
- 제 11 항에 있어서, 상기 원격통신 장치는 웹 서버인 원격통신 장치.
- 웹 브라우저에서 또는 스마트폰들, 태블릿들, 랩톱 또는 퍼스널 컴퓨터들 또는 컴퓨터 서버들에 대한 응용으로서, 또는 프로그램을 실행하기 위해 프로세서를 포함하는 원격통신 장치에서 제 9 항의 상기 네트워크를 통한 통신 시스템의 클라이언트 또는 서버 측을 구현하는 소프트웨어 모듈.
- 제 14 항에 있어서,
미디어 경로(146)를 통해 단축되거나, 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는 메시지들(164)을 엔드포인트들에 송신하는 기능,
미디어 경로(146)를 통해 단축되거나, 압축되거나, 시간 제한되거나 DTMF 인코딩될 수 있는 메시지들(164)을 엔드포인트로부터 수신하는 기능,
상기 미디어 트래픽에 대한 대체 미디어 경로를 사용하기 전에, 품질 또는 다른 메트릭이 평가되는 추가적인 대체 미디어 경로를 설정하는 기능,
세션 개시 프로토콜(Session Initiation Protocol(SIP)을 사용하여 실시간 통신하는 기능,
웹 실시간 통신(Web Real Time Communication(WebRTC) 프로토콜을 사용하여 실시간 통신하는 기능,
대화식 연결 설정(Interactive Connection Establishment(ICE))을 사용하여 엔드포인트들 사이에 미디어 경로들을 설정하는 기능,
STUN(Session Traversal Utilities for NAT) 프로토콜을 사용하여 미디어 경로들을 설정하는 기능,
엔드포인트들 또는 네트워크 세그먼트들이 시간 제한될 수 있고 WebRTC 서버에 저장되고 WebRTC 브라우저 사용자에게 단축된 형태로 송신될 수 있는 WebRTC HTTP URL 클릭 투 콜 링크를 생성하는 상호 피어 투 피어 미디어 호환성을 갖는지에 대한 지식을 자기 학습 프로세스로부터 저장하는 TURN(Traversal Using Relays around NAT) 프로토콜을 사용하여 미디어 경로를 설정하는 기능,
시간 제한될 수 있으며, WebRTC 서버에 저장되고 WebRTC 브라우저 사용자로부터 단축된 형태로 수신되는 WebRTC HTTP URL 링크를 실행하는 기능,
달리 이용 가능하지 않을 수 있는 WebRTC 기능을 호출하기 위해 WebRTC HTTP URL 링크에서 특정 도메인 네임 확장자를 식별하는 기능,
RTC 클라이언트들에 대한 그래픽 사용자 인터페이스에서, 콜 상태에 기초한 리스트들로 연락처들(contacts)을 조직하는 기능,
모바일 응용들에서 사용되는 작은 3 개의 수직 도트 심볼 또는 메뉴 라인 심볼에 의해, RTC 클라이언트들에 대한 그래픽 사용자 인터페이스에서 단일 연락처에 대한 확장 가능한 작업 메뉴를 나타내는 기능,
푸시 알림들에 의해 착신 콜들을 수신하기 위해 스마트폰들 또는 다른 모바일 장치들을 웨이크 업(waking up)하는 기능,
구내 교환기(Private Branch eXchanges(PBX)) 기능을 통합하는 기능,
세션 보더 컨트롤러(Session Border Controller(SBC)) 기능을 통합하는 기능,
통합 통신(Unified Communications(UC)) 솔루션 기능을 통합하는 기능,
WebRTC 를 SIP 게이트웨이 기능에 통합하는 기능,
콜 센터 또는 연락처 센터 기능을 통합하는 기능,
문맥 인식 클릭 투 콜 링크들을 생성하는 기능,
문맥 인식 클릭 투 콜 링크들을 실행하는 기능,
클라이언트들로서 WebRTC 브라우저들 사용하여 콜 에이전트들을 연결하는 기능,
인스턴트 메시징(Instant Messaging(IM)), 프리젠스, 스크린 공유 및 그룹 콜 기능들을 제공하는 기능으로 구성되는 그룹으로부터 선택되는 기능을 수행하는 프로그램을 포함하는 소프트웨어 모듈. - 제 9 항에 있어서, 상기 RTC 장치(200)에 결합되는 사용자 에이전트들은 상기 서버(210), 상호연결 서버들(212, 212b) 또는 RTC 서버(218)에서 구현되는 네트워크를 통한 통신 시스템.
- 제 16 항에 있어서, 상기 상호연결 서버들(212, 212b)은 서로들 사이에서 세션 개시 프로토콜(SIP)을 사용하고 상기 RTC 장치(200)에 결합되는 SIP 사용자 에이전트들은 상기 상호연결 서버들(212, 212b)에서 구현되는 네트워크를 통한 통신시스템.
- 제 1 항 또는 제 7 항에 있어서, 서버(210) 또는 인터셉팅 서버(212)는 게이트웨이(222) 또는 인터셉팅 게이트웨이(224)에 결합되는 방법.
- 제 4 항에 있어서,
상기 미디어 엔드포인트들(202, 203)에 대해 정의된 O/A 프로토콜이 엔드포인트(208 또는 206) 또는 네트워크 세그먼트들(104, 106 또는 108)과 호환되지 않는 경우, 통신이 가능하도록 상기 게이트웨이(222)를 오프로드하기 위해 정의된 O/A 프로토콜로부터 벗어남으로써, 통신할 엔드포인트들 및 네트워크 세그먼트와 호환 가능한 O/A 프로토콜을 상기 미디어 엔드포인트들(202, 203) 내에서 구현하는 단계; 및
상기 미디어 엔드포인트들(202, 203)에 대해 정의된 미디어 경로 수용 능력들이 상기 엔드포인트(208 또는 206) 또는 상기 네트워크 세그먼트들(104, 106 또는 108)과 호환되지 않는 경우, 통신이 가능하도록 상기 게이트웨이(222)를 오프로드하기 위해 정의된 미디어 경로 수용 능력들로부터 벗어남으로써, 통신할 엔드포인트들 및 네트워크 세그먼트와 호환 가능한 미디어 경로 수용 능력들을 상기 미디어 엔드포인트들(202, 203) 내에서 구현하는 단계를 포함하는 방법.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562157359P | 2015-05-05 | 2015-05-05 | |
US62/157,359 | 2015-05-05 | ||
PCT/IB2016/000713 WO2016178090A2 (en) | 2015-05-05 | 2016-05-05 | Establishing media paths in real time communications |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180015627A KR20180015627A (ko) | 2018-02-13 |
KR102475020B1 true KR102475020B1 (ko) | 2022-12-07 |
Family
ID=56550248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177033730A KR102475020B1 (ko) | 2015-05-05 | 2016-05-05 | 실시간 통신의 미디어 경로 설정 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10298628B2 (ko) |
EP (3) | EP4243371A3 (ko) |
JP (2) | JP6899328B2 (ko) |
KR (1) | KR102475020B1 (ko) |
CN (3) | CN107567703B (ko) |
WO (1) | WO2016178090A2 (ko) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR3022093A1 (fr) * | 2014-06-10 | 2015-12-11 | Orange | Procede d'etablissement d'une session webrtc |
US10819755B1 (en) * | 2016-09-16 | 2020-10-27 | Ribbon Communications Operating Company, Inc. | Communications apparatus, systems, and methods for preventing and/or minimizing session data clipping |
US11374999B2 (en) * | 2016-09-28 | 2022-06-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods and arrangements for binding a device application to a web service |
US9942322B1 (en) * | 2017-04-07 | 2018-04-10 | T-Mobile Usa, Inc. | Call log update across mobile device and WebRTC client device |
KR102327489B1 (ko) * | 2017-05-25 | 2021-11-18 | (주)마켓디자이너스 | Rtc 스위칭을 이용한 모바일 과외 플랫폼 서버 및 모바일 과외 서비스 제공 방법 |
JP6469266B1 (ja) * | 2018-01-22 | 2019-02-13 | エヌ・ティ・ティ・アドバンステクノロジ株式会社 | 通信システム |
US10904325B2 (en) * | 2018-05-04 | 2021-01-26 | Citrix Systems, Inc. | WebRTC API redirection with screen sharing |
FI20185419A1 (en) | 2018-05-08 | 2019-11-09 | Telia Co Ab | communication Management |
US10986219B2 (en) | 2018-06-19 | 2021-04-20 | At&T Intellectual Property I, L.P. | LTE fault-tolerant signaling approach |
US10904210B2 (en) * | 2018-11-21 | 2021-01-26 | Microsoft Technology Licensing, Llc | Dynamic bookmarking of web addresses accessed via short URL |
FI129164B (en) * | 2018-12-20 | 2021-08-13 | Telia Co Ab | Communication solution |
KR102240904B1 (ko) * | 2019-01-24 | 2021-04-15 | 주식회사 브리지텍 | WebRTC 기반 콜센터 서비스 방법 및 그 장치 |
CN110460878B (zh) * | 2019-07-19 | 2022-01-11 | 视联动力信息技术股份有限公司 | 一种视频通信链路的切换方法和装置 |
KR102339553B1 (ko) * | 2019-12-19 | 2021-12-16 | ㈜오버플로우 | 화면을 확대하여 표시하며 실시간으로 중계하는 장치 및 이의 동작 방법 |
CN111541648B (zh) * | 2020-03-25 | 2022-09-20 | 杭州数梦工场科技有限公司 | 网络连接检测方法、装置、电子设备和存储介质 |
JP6973871B2 (ja) * | 2020-05-20 | 2021-12-01 | Necプラットフォームズ株式会社 | 中継装置、通信システム、中継方法及びプログラム |
US11350314B2 (en) * | 2020-07-13 | 2022-05-31 | Agora Lab, Inc. | System and method for classifying network data packets with provided classifier identifiers |
CN112653661B (zh) * | 2020-09-08 | 2023-04-07 | 厦门亿联网络技术股份有限公司 | 一种VoIP网络限制下的媒体恢复方法和系统 |
CN112218388A (zh) * | 2020-09-15 | 2021-01-12 | 贵阳朗玛信息技术股份有限公司 | 一种断网重连的方法及装置 |
CN112217690B (zh) * | 2020-09-18 | 2022-06-14 | 苏州浪潮智能科技有限公司 | 一种计算节点之间局域网可用的并发测试方法及系统 |
CN112202882B (zh) * | 2020-09-29 | 2022-03-25 | 联想(北京)有限公司 | 一种传输方法、客户端及传输系统 |
US11838375B2 (en) * | 2020-11-12 | 2023-12-05 | Harman International Industries, Incorporated | Universal software communication bus |
CN112953925B (zh) * | 2021-02-05 | 2022-08-16 | 广州启智信息科技有限公司 | 基于sip协议和rtc网络实时音视频通信系统及方法 |
CN113132376B (zh) * | 2021-04-14 | 2022-11-22 | 腾讯科技(深圳)有限公司 | 媒体数据处理方法及装置、系统、电子设备和存储介质 |
CN113726895B (zh) * | 2021-08-31 | 2023-08-25 | 广州艾美网络科技有限公司 | 文件传输方法、装置及网络ktv系统 |
EP4170994B1 (en) * | 2021-10-19 | 2024-01-17 | Tata Consultancy Services Limited | A multi-master hybrid telerobotics system with federated avatar control |
KR102556286B1 (ko) * | 2021-11-24 | 2023-07-17 | 주식회사 디오티스 | 인터넷 환경에서의 WebRTC 기반 통화 연결 방법 및 그 장치 |
JP2023081226A (ja) | 2021-11-30 | 2023-06-09 | 株式会社リコー | 通信管理装置、通信システム、通信管理方法、及びプログラム |
US11864077B2 (en) * | 2022-03-16 | 2024-01-02 | Cisco Technology, Inc. | Media stream handover using wireless connected devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040122976A1 (en) | 2002-10-24 | 2004-06-24 | Ashutosh Dutta | Integrated mobility management |
US20140095724A1 (en) | 2012-09-28 | 2014-04-03 | Avaya Inc. | Distributed application of enterprise policies to web real-time communications (webrtc) interactive sessions, and related methods, systems, and computer-readable media |
US20150006611A1 (en) * | 2013-06-30 | 2015-01-01 | Avaya Inc. | Back-to-back virtual web real-time communications (webrtc) agents, and related methods, systems, and computer-readable media |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2805107B1 (fr) * | 2000-02-10 | 2002-04-05 | Bull Cp8 | Procede de gestion de transmissions de donnees multimedias via un reseau de type internet, notamment de donnees telephoniques, et carte a puce pour la mise en oeuvre du procede |
JP4564739B2 (ja) * | 2003-11-07 | 2010-10-20 | シャープ株式会社 | サーバ装置および通信システム |
JP2007142786A (ja) * | 2005-11-18 | 2007-06-07 | Hitachi Ltd | ハンドオーバサーバ及びそれと通信可能な移動通信端末 |
CN100454921C (zh) * | 2006-03-29 | 2009-01-21 | 华为技术有限公司 | 一种数字版权保护方法及系统 |
JP4683655B2 (ja) * | 2006-09-07 | 2011-05-18 | 株式会社三菱東京Ufj銀行 | アクセス中継装置、アクセス中継システム、及びアクセス中継方法 |
JP2008252456A (ja) * | 2007-03-30 | 2008-10-16 | Toshiba Corp | 通信装置、及び通信方法 |
CN100566340C (zh) * | 2007-07-25 | 2009-12-02 | 中国科学院沈阳计算技术研究所有限公司 | 支持p2p媒体传输的sip软交换系统及其实现方法 |
JP5157668B2 (ja) * | 2008-06-19 | 2013-03-06 | 富士通株式会社 | 通信装置および通信方法 |
US8542805B2 (en) * | 2009-05-14 | 2013-09-24 | Voxeo Corporation | System and method for encrypted media service in an interactive voice response service |
CN101834874A (zh) * | 2010-05-21 | 2010-09-15 | 四川长虹电器股份有限公司 | 一种能穿透防火墙的多媒体网络通信方法 |
JP5247769B2 (ja) * | 2010-07-21 | 2013-07-24 | 株式会社トヨタIt開発センター | ソフトウェア無線機およびソフトウェア更新方法 |
US8638356B2 (en) * | 2011-07-08 | 2014-01-28 | Skype | Communication system |
KR102035480B1 (ko) * | 2012-01-17 | 2019-10-23 | 아이피얼라이브 아베 | 전역 실시간 통신을 위한 장치, 소프트웨어 모듈, 시스템 또는 영업 방법 |
CN103580986B (zh) * | 2012-07-30 | 2016-12-21 | 华为终端有限公司 | 一种实时通信方法、终端设备、实时通信服务器及系统 |
WO2014026316A1 (zh) * | 2012-08-13 | 2014-02-20 | 华为技术有限公司 | 媒体数据传输方法及设备 |
US8972829B2 (en) * | 2012-10-30 | 2015-03-03 | Broadcom Corporation | Method and apparatus for umbrella coding |
US8750250B2 (en) * | 2012-12-04 | 2014-06-10 | Bandwidth.Com, Inc. | Personalized user session information for call handoff |
US9473581B2 (en) * | 2013-02-04 | 2016-10-18 | Oracle International Corporation | Integrated web-enabled session border controller |
ES2555653T3 (es) * | 2013-02-22 | 2016-01-07 | Telefónica Digital España, S.L.U. | Método y sistema para conferencia de telecomunicación basada en una red entre pares (P2P) y en servidor de retransmisión central combinado que usa un protocolo de telefonía y conferencia |
US9112840B2 (en) * | 2013-07-17 | 2015-08-18 | Avaya Inc. | Verifying privacy of web real-time communications (WebRTC) media channels via corresponding WebRTC data channels, and related methods, systems, and computer-readable media |
US9531678B1 (en) * | 2013-10-15 | 2016-12-27 | Progress Software Corporation | On-premises data access and firewall tunneling |
CN103702062A (zh) * | 2013-12-27 | 2014-04-02 | Tcl集团股份有限公司 | 一种音视频通讯方法、装置及系统 |
US9986014B2 (en) * | 2015-03-27 | 2018-05-29 | Intel Corporation | Systems and techniques for web communication |
-
2016
- 2016-05-05 US US15/147,810 patent/US10298628B2/en active Active
- 2016-05-05 KR KR1020177033730A patent/KR102475020B1/ko active IP Right Grant
- 2016-05-05 EP EP23182438.4A patent/EP4243371A3/en active Pending
- 2016-05-05 WO PCT/IB2016/000713 patent/WO2016178090A2/en active Application Filing
- 2016-05-05 CN CN201680023929.3A patent/CN107567703B/zh active Active
- 2016-05-05 EP EP16742382.1A patent/EP3292675B1/en active Active
- 2016-05-05 CN CN202010566479.0A patent/CN111740990B/zh active Active
- 2016-05-05 JP JP2017549804A patent/JP6899328B2/ja active Active
- 2016-05-05 CN CN202011447139.2A patent/CN112600832B/zh active Active
- 2016-05-05 EP EP23183043.1A patent/EP4243372B1/en active Active
-
2018
- 2018-03-16 US US15/923,644 patent/US10298629B2/en active Active
-
2020
- 2020-07-15 JP JP2020121602A patent/JP7100786B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040122976A1 (en) | 2002-10-24 | 2004-06-24 | Ashutosh Dutta | Integrated mobility management |
US20140095724A1 (en) | 2012-09-28 | 2014-04-03 | Avaya Inc. | Distributed application of enterprise policies to web real-time communications (webrtc) interactive sessions, and related methods, systems, and computer-readable media |
US20150006611A1 (en) * | 2013-06-30 | 2015-01-01 | Avaya Inc. | Back-to-back virtual web real-time communications (webrtc) agents, and related methods, systems, and computer-readable media |
Also Published As
Publication number | Publication date |
---|---|
JP2018515959A (ja) | 2018-06-14 |
EP4243371A2 (en) | 2023-09-13 |
US10298628B2 (en) | 2019-05-21 |
CN112600832B (zh) | 2023-05-19 |
EP3292675C0 (en) | 2023-07-12 |
JP7100786B2 (ja) | 2022-07-14 |
EP4243372B1 (en) | 2024-09-25 |
US20180205769A1 (en) | 2018-07-19 |
US20160330252A1 (en) | 2016-11-10 |
CN107567703A (zh) | 2018-01-09 |
EP3292675A2 (en) | 2018-03-14 |
CN111740990B (zh) | 2023-02-28 |
CN111740990A (zh) | 2020-10-02 |
CN107567703B (zh) | 2022-03-08 |
US10298629B2 (en) | 2019-05-21 |
WO2016178090A3 (en) | 2017-01-05 |
EP4243372A3 (en) | 2023-09-27 |
CN112600832A (zh) | 2021-04-02 |
EP4243372A2 (en) | 2023-09-13 |
EP4243371A3 (en) | 2023-09-27 |
KR20180015627A (ko) | 2018-02-13 |
WO2016178090A2 (en) | 2016-11-10 |
JP6899328B2 (ja) | 2021-07-07 |
EP3292675B1 (en) | 2023-07-12 |
JP2020174396A (ja) | 2020-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102475020B1 (ko) | 실시간 통신의 미디어 경로 설정 | |
US10135806B2 (en) | Method and system for creating a virtual SIP user agent by use of a WEBRTC enabled web browser | |
US9497127B2 (en) | System and method for a reverse invitation in a hybrid peer-to-peer environment | |
US9515995B2 (en) | Method and apparatus for network address translation and firewall traversal | |
CA2792634C (en) | System and method for providing a virtual peer-to-peer environment | |
US9781258B2 (en) | System and method for peer-to-peer media routing using a third party instant messaging system for signaling | |
Wang | Skype VoIP service-architecture and comparison | |
US9100729B2 (en) | Method for handling a telecommunications connection, telecommunications arrangement, switching device and network coupling device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right |